fuli-context 0.12.0 → 0.12.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +14 -6
- package/README.zh-CN.md +9 -4
- package/dist/web/assets/{AboutPage-BAD0iPVX.js → AboutPage-Dized8Uz.js} +1 -1
- package/dist/web/assets/{AgentConversations-1iGTd4sz.js → AgentConversations-Ccy41mEA.js} +1 -1
- package/dist/web/assets/{AgentHand-D_RafKOM.js → AgentHand-UzVhbKUC.js} +1 -1
- package/dist/web/assets/{AgentName-B5LKQ09q.js → AgentName-DJpvkub2.js} +1 -1
- package/dist/web/assets/AgentProfilePage-CFViQ8kj.js +1 -0
- package/dist/web/assets/AgentsDirectoryPage-CBFTg_IE.js +1 -0
- package/dist/web/assets/AgentsDirectoryPage-Cv-vxw2C.css +1 -0
- package/dist/web/assets/{ConnectionsPage-Tr2rRVOZ.js → ConnectionsPage-uXcabab_.js} +1 -1
- package/dist/web/assets/EmployeeRecruitDialog-D8Hvhc-M.js +1 -0
- package/dist/web/assets/EmployeeWorkbenchPage-TBl_HNj6.js +3 -0
- package/dist/web/assets/KnowledgeEditDialog-HmiqLC-Y.js +1 -0
- package/dist/web/assets/KnowledgeInspector-Cj2yK4Qh.js +1 -0
- package/dist/web/assets/KnowledgeOrganizerPage-DT3BROZm.js +1 -0
- package/dist/web/assets/KnowledgePage-C4J4VueL.js +1 -0
- package/dist/web/assets/KnowledgeWorkspace-DA_dqVRG.js +4 -0
- package/dist/web/assets/{NotFoundPage-fetSnp0N.js → NotFoundPage-x_Yd59mm.js} +1 -1
- package/dist/web/assets/{OverviewPage-BD4yY2Xz.js → OverviewPage-3eZjQ26v.js} +1 -1
- package/dist/web/assets/OverviewPage-8LBN8Shi.css +1 -0
- package/dist/web/assets/PersonalProfilePage-CDQk096L.js +1 -0
- package/dist/web/assets/PersonalProjectsPage-CJxp4Wyz.js +1 -0
- package/dist/web/assets/{ProjectAgentFirstTask-BcxqmKXQ.js → ProjectAgentFirstTask-BkRJ0zwO.js} +1 -1
- package/dist/web/assets/{ProjectAgentsPage-BWDJBESb.js → ProjectAgentsPage-BuNNqSEy.js} +8 -8
- package/dist/web/assets/{ProjectScopePicker-yodM7lF_.js → ProjectScopePicker-CiDxM2Yx.js} +1 -1
- package/dist/web/assets/PublicProjectsPage-ByOT559r.js +1 -0
- package/dist/web/assets/{ReviewPage-Cy0Rt4CO.js → ReviewPage-C0Vdr9uq.js} +1 -1
- package/dist/web/assets/RoundtablesPage-Drou-B81.css +1 -0
- package/dist/web/assets/RoundtablesPage-L3ShEWS3.js +1 -0
- package/dist/web/assets/SettingsPage-BE8pWbI6.css +1 -0
- package/dist/web/assets/SettingsPage-McYuinGz.js +1 -0
- package/dist/web/assets/{SharedJefaReportPage-C56kPciB.js → SharedJefaReportPage-Bg6lIk3E.js} +1 -1
- package/dist/web/assets/UiButton-x8hiHNRM.js +1 -0
- package/dist/web/assets/UiDialog-mjletK0y.js +1 -0
- package/dist/web/assets/{UiDisclosure-D0iMTplF.js → UiDisclosure-_IxeiexW.js} +1 -1
- package/dist/web/assets/{UiSegmented-DIJW6wv3.js → UiSegmented-WFfz9Evl.js} +1 -1
- package/dist/web/assets/{UiSelect-CMR0QqF6.js → UiSelect-K29jnV-1.js} +1 -1
- package/dist/web/assets/{WritingTastePage-QgNzssfF.js → WritingTastePage-DCULB-d2.js} +1 -1
- package/dist/web/assets/agent-pins-DS4mNsNt.js +1 -0
- package/dist/web/assets/agent-profile-Bh3MJGvb.css +1 -0
- package/dist/web/assets/{attention-store-B1DI8wmd.js → attention-store-CA5y8j1R.js} +1 -1
- package/dist/web/assets/catalog-D0VEfOAV.js +1 -0
- package/dist/web/assets/{client-CR-W5Wzp.js → client-DnwnUBQV.js} +1 -1
- package/dist/web/assets/{console-D7GHOMEC.js → console-Cw7TzOSC.js} +1 -1
- package/dist/web/assets/conversation-launcher-settings-Yc13viwr.js +1 -0
- package/dist/web/assets/{i18n-CVFhT_k7.js → i18n-oJFlt8hW.js} +3 -3
- package/dist/web/assets/{identity-CM6Dmy00.js → identity-DSGS4CZc.js} +1 -1
- package/dist/web/assets/index-BfHCcUL2.css +1 -0
- package/dist/web/assets/index-CxNER7Oo.js +5 -0
- package/dist/web/assets/{judgment-types-CJBEyJs1.js → judgment-types-DR931cZ7.js} +1 -1
- package/dist/web/assets/{model-WFhQZ3v_.js → model-BJ-UF4cs.js} +1 -1
- package/dist/web/assets/{personal-profile-graph-BwCh2M9G.js → personal-profile-graph-SOK0BR0w.js} +1 -1
- package/dist/web/assets/project-team-api-C_0qJk_B.js +1 -0
- package/dist/web/assets/{shared-report-CeIvrL9a.js → shared-report-CiX64ZiD.js} +1 -1
- package/dist/web/assets/useAgentRoster-B84mzZIg.js +1 -0
- package/dist/web/assets/{useApi-CROJJdhE-BYhbjaZB.js → useApi-CROJJdhE-7gt0QyQ5.js} +1 -1
- package/dist/web/assets/{vue-router-DaxrQwX3.js → vue-router-CCvPGaLD.js} +1 -1
- package/dist/web/index.html +15 -14
- package/dist/web/licenses/ant-design-icons.txt +22 -0
- package/docs/agent-conversations-and-collaboration.md +3 -3
- package/docs/agent-roundtable.md +33 -0
- package/docs/client-connections.md +108 -0
- package/docs/employee-agents.md +3 -3
- package/docs/project-agent-memory.md +6 -6
- package/graph-provider/fuli_graph/default_project_lead.py +1 -1
- package/graph-provider/fuli_graph/project_agent_delegations.py +70 -2
- package/graph-provider/fuli_graph/project_agent_memory_routes.py +18 -1
- package/graph-provider/fuli_graph/project_agent_remote_origins.py +154 -0
- package/graph-provider/fuli_graph/project_agent_task_models.py +1 -1
- package/graph-provider/fuli_graph/runtime.py +7 -0
- package/graph-provider/fuli_graph/store_project_agent_context.py +3 -2
- package/graph-provider/fuli_graph/store_project_agent_coordination_policy.py +1 -1
- package/graph-provider/fuli_graph/store_project_agent_task_reads.py +1 -1
- package/graph-provider/fuli_graph/store_project_agent_task_recruitment.py +5 -5
- package/graph-provider/fuli_graph/store_project_agent_task_staffing.py +2 -2
- package/graph-provider/fuli_graph/store_project_agent_tasks.py +2 -2
- package/graph-provider/fuli_graph/store_project_agents.py +6 -6
- package/graph-provider/fuli_graph/system_agents.py +12 -2
- package/graph-provider/fuli_graph/system_hr_identity.py +2 -2
- package/graph-provider/pyproject.toml +2 -1
- package/npm-shrinkwrap.json +280 -5
- package/package.json +6 -2
- package/skills/operating-fuli/SKILL.md +3 -3
- package/src/agent-peer/coordinator-http.js +117 -0
- package/src/agent-peer/coordinator-service.js +258 -0
- package/src/agent-peer/coordinator-store.js +95 -0
- package/src/agent-peer/device-identity.js +70 -0
- package/src/agent-peer/http.js +47 -0
- package/src/agent-peer/node-store.js +127 -0
- package/src/agent-peer/origin-proof.js +56 -0
- package/src/agent-peer/peer-port.js +140 -0
- package/src/agent-peer/peer-runtime.js +298 -0
- package/src/agent-peer/peer-transport.js +78 -0
- package/src/agent-peer/protocol.js +161 -0
- package/src/agent-peer/runner.js +251 -0
- package/src/agent-roundtable/http.js +17 -3
- package/src/agent-roundtable/service.js +272 -43
- package/src/agent-roundtable/tools.js +15 -1
- package/src/agent-roundtable/wake.js +12 -3
- package/src/agent-tools/graph-definitions.js +14 -5
- package/src/agent-tools/graph-handlers.js +1 -0
- package/src/agent-tools/interface-catalog.js +10 -1
- package/src/agent-tools/project-agent-definitions.js +1 -1
- package/src/agents/identity-receipt.js +1 -1
- package/src/cli/command-registry.js +3 -0
- package/src/cli/connect-command.js +31 -0
- package/src/cli/mcp-command.js +101 -0
- package/src/cli/peer-command.js +100 -0
- package/src/cli/setup-agent-selection.js +2 -2
- package/src/cli/setup-command.js +12 -5
- package/src/cli.js +16 -0
- package/src/employees/catalog/bole.json +2 -2
- package/src/graphiti/federated-application.js +4 -1
- package/src/graphiti/project-agent-control-plane.js +7 -0
- package/src/graphiti/project-agent-task-entry.js +4 -4
- package/src/graphiti/project-agent-team-context.js +16 -18
- package/src/graphiti/project-team-view.js +82 -0
- package/src/graphiti/provider-client.js +9 -0
- package/src/graphiti/task-entry-preferences.js +1 -1
- package/src/http/api-router.js +10 -1
- package/src/http/graph-api-router.js +7 -0
- package/src/mcp/runtime.js +2 -1
- package/src/mcp/tool-annotations.js +4 -3
- package/src/mcp/tool-profiles.js +36 -0
- package/src/mcp-server.js +2 -100
- package/src/server.js +14 -2
- package/src/setup/agent-installation-status.js +5 -3
- package/src/setup/agents.js +23 -3
- package/src/setup/claude-desktop-config.js +60 -0
- package/src/setup/client-connection.js +25 -0
- package/src/setup/paths.js +3 -1
- package/src/setup/setup.js +1 -1
- package/src/setup/stable-package-root.js +29 -0
- package/src/system/system-service.js +5 -0
- package/dist/web/assets/AgentProfilePage-CioOdkBM.js +0 -1
- package/dist/web/assets/AgentsDirectoryPage--1A9nvNA.js +0 -1
- package/dist/web/assets/AgentsDirectoryPage-C7OUQH9v.css +0 -1
- package/dist/web/assets/EmployeeRecruitDialog-1QevD4Qv.js +0 -1
- package/dist/web/assets/EmployeeWorkbenchPage-B0vQIgwA.js +0 -3
- package/dist/web/assets/KnowledgeEditDialog-ClnrfPZi.js +0 -1
- package/dist/web/assets/KnowledgeInspector-Te1hJZbx.js +0 -1
- package/dist/web/assets/KnowledgeOrganizerPage-CCCrWl6Y.js +0 -1
- package/dist/web/assets/KnowledgePage-DGOcBwr8.js +0 -1
- package/dist/web/assets/KnowledgeWorkspace-cKn1NCRe.js +0 -4
- package/dist/web/assets/OverviewPage-By-fUzSG.css +0 -1
- package/dist/web/assets/PersonalProfilePage-DGJVP_VB.js +0 -1
- package/dist/web/assets/PersonalProjectsPage-D25HYMgD.js +0 -1
- package/dist/web/assets/PublicProjectsPage-CyNxVzW3.js +0 -1
- package/dist/web/assets/RoundtablesPage-BjVhvwMc.js +0 -1
- package/dist/web/assets/RoundtablesPage-Cb0R4GaM.css +0 -1
- package/dist/web/assets/SettingsPage-CCZqZtnH.js +0 -1
- package/dist/web/assets/SettingsPage-DYz5bTwa.css +0 -1
- package/dist/web/assets/UiDialog-CvDxg3B1.js +0 -1
- package/dist/web/assets/agent-pins-BcJ_qr8n.js +0 -1
- package/dist/web/assets/agent-profile-BZj3ezWe.css +0 -1
- package/dist/web/assets/catalog-DbXv0_bR.js +0 -1
- package/dist/web/assets/conversation-launcher-settings-Dj2GMzCI.js +0 -1
- package/dist/web/assets/index-CJ6Jmok9.css +0 -1
- package/dist/web/assets/index-CRa3GnYi.js +0 -5
- package/dist/web/assets/useAgentRoster-DCArHlxK.js +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.agents-directory,.agent-profile-page{min-width:0;color:var(--color-ink,#1d2129)}.agents-directory-heading{margin-bottom:var(--space-6,24px)}.agents-directory-count{color:var(--color-muted,#667085);margin:0;font-size:14px}.agent-directory-work-error{justify-content:space-between;align-items:center;gap:var(--space-3,12px);margin:calc(var(--space-6,24px) * -1) 0 var(--space-4,16px);color:var(--color-danger,#b93838);font-size:13px;display:flex}.agent-profile-actions{justify-content:flex-end;align-items:center;gap:var(--space-2,8px);flex-wrap:wrap;flex-shrink:0;display:flex}.agents-directory-filters{margin-bottom:var(--space-6,24px);align-items:stretch}.agents-directory-search{flex:280px;min-width:160px}.agents-directory-search input{box-sizing:border-box;width:100%}.agents-directory-select{flex:0 0 180px}.agents-directory-grid{gap:var(--space-4,16px);grid-template-columns:minmax(0,1fr);margin:0;padding:0;list-style:none;display:grid}.agents-directory-grid>li{min-width:0}.agent-card{box-sizing:border-box;height:100%;transition:border-color var(--motion-fast), box-shadow var(--motion-fast);flex-direction:column;gap:10px;padding:18px;display:flex}.agent-card:hover{border-color:var(--color-border-strong);box-shadow:0 6px 20px #1b1f1d0f}.agent-card-topline,.agent-card-meta,.agent-section-heading,.agent-resume-name-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.agent-card-topline{justify-content:flex-start}.agent-portrait{background:var(--color-accent-soft);width:72px;height:72px;color:var(--color-accent);border-radius:20px;flex:0 0 72px;place-items:center;font-size:34px;line-height:1;display:grid}.agent-portrait.small{border-radius:11px;flex-basis:40px;width:40px;height:40px;font-size:19px}.agent-directory-name{flex:1;align-items:center;gap:8px;min-width:0;font-size:16px;font-weight:650;display:flex}.agent-directory-name a{min-width:0;color:var(--color-ink);text-overflow:ellipsis;white-space:nowrap;text-decoration:none;overflow:hidden}.agent-directory-name a:hover{color:var(--color-accent)}.agent-card-role{font-size:11px;font-weight:600}.agent-card-responsibility{color:var(--color-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:2px 0 0;font-size:13px;line-height:1.55;display:-webkit-box;overflow:hidden}.agent-inline-skills,.agent-card-project-list{flex-wrap:wrap;gap:6px;display:flex}.agent-inline-skills>span{overflow-wrap:anywhere;max-width:100%;color:var(--color-muted);font-size:12px;line-height:1.4}.agent-inline-skills>span+span:before{content:"·";color:var(--color-faint);margin-right:6px}.agent-card-meta{border-top:1px solid var(--color-border);margin-top:auto;padding-top:12px}.agent-card-projects{min-width:0}.agent-card-project-list .ui-badge{text-overflow:ellipsis;white-space:nowrap;max-width:130px;overflow:hidden}.agent-card-project-count{color:var(--color-accent);background:var(--color-accent-soft)}.agent-card-no-project{color:var(--color-faint);font-size:12px}.agent-card-status{margin-left:auto}.agent-card-status.is-active,.agent-profile-membership.is-active{color:var(--color-success);background:var(--color-success-soft)}.agent-card-status.is-inactive,.agent-profile-membership.is-inactive{color:var(--color-warning);background:var(--color-warning-soft)}.agent-card-status.is-archived,.agent-profile-membership.is-archived{color:var(--color-muted);background:var(--color-surface-subtle)}.agent-card-work-status{max-width:140px;color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;flex:none;align-items:center;gap:6px;margin-left:auto;font-size:12px;display:inline-flex;overflow:hidden}.agent-card-work-status:before{content:"";background:var(--color-faint);border-radius:50%;flex:none;width:6px;height:6px}.agent-card-work-status.is-running{color:var(--color-accent)}.agent-card-work-status.is-running:before{background:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-soft)}.agent-card-work-status:is(.is-awaiting_review,.is-queued,.is-paused,.is-awaiting_recruitment){color:var(--color-warning)}.agent-card-work-status:is(.is-awaiting_review,.is-queued,.is-paused,.is-awaiting_recruitment):before{background:var(--color-warning)}.agent-card-work-status:is(.is-blocked,.is-unavailable){color:var(--color-danger)}.agent-card-work-status:is(.is-blocked,.is-unavailable):before{background:var(--color-danger)}.agent-directory-open{color:var(--color-muted);white-space:nowrap;flex:none;font-size:12px;font-weight:550;text-decoration:none}.agent-directory-open:hover{color:var(--color-accent)}.agent-profile-empty{box-sizing:border-box;min-height:140px}.agents-directory .sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.agent-profile-page{box-sizing:border-box;width:100%;max-width:1120px;margin:0 auto}.agent-profile-back{align-items:center;gap:var(--space-2,8px);margin-bottom:var(--space-5,20px);color:var(--color-muted,#667085);font-size:14px;text-decoration:none;display:inline-flex}.agent-profile-back:hover,.agent-profile-footer a,.agent-section-heading>a{color:var(--color-accent,#2563eb)}.agent-resume-header{align-items:start;gap:var(--space-5,20px);padding:var(--space-6,24px);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.agent-resume-intro{min-width:0}.agent-resume-intro h1{overflow-wrap:anywhere;letter-spacing:-.025em;min-width:0;margin:0;font-size:clamp(26px,3vw,36px);line-height:1.15}.agent-resume-name-row{flex-wrap:wrap;justify-content:flex-start;align-items:baseline}.agent-profile-membership{flex:none}.agent-resume-intro>p{max-width:650px;margin:var(--space-3,12px) 0;overflow-wrap:anywhere;color:var(--color-muted,#667085);line-height:1.65}.agent-resume-meta{gap:var(--space-3,12px);color:var(--color-muted,#667085);flex-wrap:wrap;font-size:12px;display:flex}.agent-profile-refresh-status,.agent-profile-partial{margin:var(--space-4,16px) 0 0;color:var(--color-muted,#667085);font-size:13px}.agent-profile-tabs{gap:var(--space-5,20px);margin-top:var(--space-6,24px);border-bottom:1px solid var(--color-border,#e2e5ea);display:flex;overflow-x:auto}.agent-profile-tab{min-height:44px;color:var(--color-muted,#667085);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;flex:none;padding:8px 2px;font-size:13px;position:relative}.agent-profile-tab:hover,.agent-profile-tab[aria-selected=true]{color:var(--color-accent,#2563eb)}.agent-profile-tab[aria-selected=true]{border-bottom-color:var(--color-accent,#2563eb);font-weight:650}.agent-profile-panel{min-width:0;margin-top:var(--space-4,16px)}.agent-profile-panel>.ui-card+.ui-card{margin-top:var(--space-4,16px)}.agent-profile-primary-grid{gap:var(--space-4,16px);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.agent-resume-section{box-sizing:border-box;min-width:0;padding:var(--space-6,24px)}.agent-resume-section h2{letter-spacing:-.01em;margin:0;font-size:18px}.agent-resume-section>h2{margin-bottom:var(--space-4,16px)}.agent-resume-section h3{margin:0 0 var(--space-2,8px);font-size:14px}.agent-resume-section p{margin:var(--space-2,8px) 0;overflow-wrap:anywhere;white-space:pre-line;line-height:1.7}.agent-section-heading{margin-bottom:var(--space-4,16px)}.agent-section-heading>span{color:var(--color-muted,#667085);font-size:12px}.agent-resume-list{margin:0;padding:0;list-style:none}.agent-resume-list li{padding:var(--space-3,12px) 0}.agent-resume-list li+li{border-top:1px solid var(--color-border,#e2e5ea)}.agent-project-link{color:var(--color-accent,#2563eb);text-decoration:none}.agent-project-link:hover{text-decoration:underline}.agent-project-overflow{margin-top:var(--space-3,12px)}.agent-project-overflow summary{color:var(--color-accent,#2563eb);cursor:pointer;font-size:13px}.agent-current-work-list{gap:var(--space-2,8px);margin:0;padding:0;list-style:none;display:grid}.agent-current-work-list li{justify-content:space-between;align-items:center;gap:var(--space-3,12px);min-width:0;padding:var(--space-3,12px);border:1px solid var(--color-border,#e2e5ea);border-radius:var(--radius-control,10px);display:flex}.agent-current-work-list .ui-badge,.agent-work-timeline .agent-section-heading>span{white-space:nowrap;flex:none}.agent-current-work-list a{overflow-wrap:anywhere;min-width:0;color:var(--color-accent,#2563eb);font-weight:600;text-decoration:none}.agent-muted,.agent-work-timeline small,.agent-collaborators span{color:var(--color-muted,#667085)}.agent-character{gap:var(--space-5,20px);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.agent-character p{font-size:14px}.agent-strengths{margin-top:var(--space-5,20px)}.agent-strengths h3{margin-bottom:var(--space-3,12px)}.agent-expectation{padding:var(--space-4,16px);border-radius:var(--radius-control,10px);color:var(--color-ink,#1d2129);background:var(--color-accent-soft,#edf3ff)}.agent-expectation strong{margin-bottom:var(--space-2,8px);font-size:13px;display:block}.agent-organization{padding:var(--space-4,16px) 0}.agent-org-lead,.agent-org-members{gap:var(--space-4,16px);padding:var(--space-2,8px) 0;display:flex}.agent-org-lead>span,.agent-org-members>span{min-width:70px;color:var(--color-muted,#667085);font-size:12px}.agent-org-members{margin-left:var(--space-3,12px);padding-left:var(--space-4,16px);border-left:2px solid var(--color-border,#e2e5ea)}.agent-org-members ul{gap:var(--space-3,12px);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.agent-work-timeline{margin:var(--space-5,20px) 0 0 var(--space-2,8px);padding:0 0 0 var(--space-6,24px);border-left:1px solid var(--color-border-strong,#c5cbd5);list-style:none}.agent-work-timeline>li{margin:0 0 var(--space-6,24px);position:relative}.agent-work-timeline>li:before{background:var(--color-accent,#2563eb);content:"";border-radius:50%;width:8px;height:8px;position:absolute;top:5px;left:-29px}.agent-work-timeline .agent-section-heading{margin-bottom:var(--space-2,8px)}.agent-work-timeline a{color:var(--color-accent,#2563eb);font-weight:600;text-decoration:none}.agent-work-timeline p{font-size:14px}.agent-work-timeline small{font-size:12px}.agent-collaborators{gap:var(--space-5,20px) var(--space-8,32px);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.agent-collaborators li{gap:var(--space-2,8px);flex-direction:column;min-width:120px;display:flex}.agent-profile-management-links{gap:var(--space-2,8px);margin-top:var(--space-5,20px);flex-wrap:wrap;display:flex}.agent-profile-footer{gap:var(--space-5,20px);margin-top:var(--space-5,20px);padding:var(--space-5,20px) 0;border-top:1px solid var(--color-border,#e2e5ea);flex-wrap:wrap;font-size:13px;display:flex}.agent-simple-settings{box-sizing:border-box;margin-top:var(--space-4,16px);padding:var(--space-6,24px);border:1px solid var(--color-border,#e2e5ea);border-radius:var(--radius-card,16px);background:var(--color-surface,#fff)}.agent-simple-settings h3{margin:0 0 var(--space-5,20px)}.agent-simple-settings label,.agent-simple-settings .agent-platform-field{gap:var(--space-2,8px);margin-bottom:var(--space-5,20px);color:var(--color-ink,#1d2129);flex-direction:column;font-size:14px;display:flex}.agent-simple-settings small{color:var(--color-muted,#667085);font-size:12px}.agent-simple-settings details{margin:var(--space-5,20px) 0}.agent-simple-settings summary{margin-bottom:var(--space-4,16px);color:var(--color-ink,#1d2129);cursor:pointer;font-size:13px}.agent-simple-settings textarea{min-height:70px}.agent-simple-settings button:disabled{cursor:wait}.agent-locked-platforms p{color:var(--color-ink,#1d2129)}@media (width>=640px){.agents-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=900px){.agents-directory-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=760px){.agents-directory-heading{align-items:flex-start}.agents-directory-heading .agent-profile-actions{gap:var(--space-2,8px)}.agents-directory-filters{align-items:stretch}.agents-directory-search{flex-basis:100%}.agents-directory-filters>select{flex:1;min-width:0}.agent-resume-header{grid-template-columns:auto minmax(0,1fr)}.agent-resume-header .agent-profile-actions{grid-column:1/-1;justify-content:flex-start}.agent-profile-primary-grid,.agent-character{grid-template-columns:1fr}.agent-profile-tabs{gap:var(--space-4,16px)}}@media (width<=480px){.agent-resume-header,.agent-resume-section,.agent-simple-settings{padding:var(--space-4,16px)}.agent-resume-header{grid-template-columns:1fr}.agent-resume-header .agent-profile-actions{grid-column:auto}.agent-portrait{border-radius:16px;flex-basis:56px;width:56px;height:56px;font-size:28px}.agent-current-work-list li{flex-direction:column;align-items:flex-start}}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Q as e,a as t}from"./i18n-CVFhT_k7.js";import{n}from"./client-CR-W5Wzp.js";function r(e){let t=/^employee\.([a-z][a-z0-9-]{0,63})$/.exec(e.agentId)?.[1];return t&&e.profile.capabilities.includes(`fuli.employee:${t}`)?t:null}var i=e([]),a=e(!1),o=e(``),s=``,c=null,l=0;async function u(e){if(!e)return[];let t=await n(`/api/employee-templates?${new URLSearchParams({personalSpaceId:e})}`);return Array.isArray(t.templates)?t.templates:[]}function d(e){if(e===s&&c)return c;let t=++l;return e!==s&&(i.value=[]),s=e,o.value=``,e?(a.value=!0,c=u(e).then(e=>{t===l&&(i.value=e)}).catch(e=>{t===l&&(i.value=[],o.value=f(e))}).finally(()=>{t===l&&(a.value=!1,c=null)}),c):(i.value=[],a.value=!1,Promise.resolve())}function f(e){let n=e instanceof Error?e.message:``;try{let e=JSON.parse(n);return e.code&&[`runtime_unavailable`,`assignment_required`,`project_not_found`,`identity_conflict`,`reactivation_required`,`assignment_scope_conflict`,`assignment_update_incomplete`].includes(e.code)?t(`employees.errors.${e.code}`):e.error||t(`employees.loadError`)}catch{return n||t(`employees.loadError`)}}export{i as a,r as i,a as n,u as o,f as r,d as s,o as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{Z as e,a as t,et as n}from"./i18n-CVFhT_k7.js";import{n as r}from"./client-CR-W5Wzp.js";var i=[`codex`,`claude`,`claude_code`,`cursor`,`gemini_cli`,`kiro`,`other`],a={codex:`Codex`,claude:`Claude`,claude_code:`Claude Code`,cursor:`Cursor`,gemini_cli:`Gemini CLI`,kiro:`Kiro`,other:`Other Agent`},o=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,s=/^[^\u0000-\u001f\u007f]{1,512}$/,c=new Set([`about`,`blob`,`data`,`file`,`javascript`]),l={codex:{enabled:!0,idFormat:`uuid`,appName:`Codex`,urlTemplate:`codex://threads/{id}`},claude:{enabled:!1,idFormat:`any`,appName:`Claude`,urlTemplate:``},claude_code:{enabled:!1,idFormat:`any`,appName:`Claude Code`,urlTemplate:``},cursor:{enabled:!1,idFormat:`any`,appName:`Cursor`,urlTemplate:``},gemini_cli:{enabled:!1,idFormat:`any`,appName:`Gemini CLI`,urlTemplate:``},kiro:{enabled:!1,idFormat:`any`,appName:`Kiro`,urlTemplate:``},other:{enabled:!1,idFormat:`any`,appName:`Other Agent`,urlTemplate:``}};function u(e={}){let t=e.source_application?.trim().toLocaleLowerCase().replaceAll(`-`,`_`).replaceAll(` `,`_`);if(t&&a[t])return t;let n=`${e.source_kind??``} ${e.source_description??``}`.toLocaleLowerCase();return n.includes(`claude`)?`claude_code`:n.includes(`cursor`)?`cursor`:n.includes(`gemini`)?`gemini_cli`:n.includes(`kiro`)?`kiro`:n.includes(`codex`)?`codex`:`other`}function d(e){let n=u(e);return n===`other`?t(`knowledge.domain.actors.otherAgent`):a[n]}function f(e){return a[e]}function p(e={},t=l){if(m(e,t)!==`available`)return null;let n=t[u(e)],r=e.session_id.trim();return n.urlTemplate.replace(`{id}`,encodeURIComponent(r))}function m(e={},t=l){let n=t[u(e)];return n?.enabled?_(e.session_id?.trim()??``,n.idFormat)?v(n.urlTemplate)?`available`:`invalid_template`:`invalid_id`:`disabled`}function h(e={},t=l){let n=t[u(e)];return n?.enabled&&n.appName.trim()?n.appName.trim():null}async function g(e={},t=globalThis.navigator?.clipboard){return!e.session_id||!t?.writeText?!1:(await t.writeText(e.session_id),!0)}function _(e,t){return s.test(e)?t===`any`||o.test(e):!1}function v(e){if(e.split(`{id}`).length!==2||/\s/.test(e))return!1;let t=/^([a-z][a-z0-9+.-]*):/i.exec(e)?.[1]?.toLocaleLowerCase();return!!t&&!c.has(t)}var y=n(w(l)),b=null;function x(){return C(),e(y)}function S(e){y.value=w(e)}function C({force:e=!1}={}){return!e&&b||(b=r(`/api/system/settings`).then(e=>{S(e.configured.conversationLaunchers)}).catch(()=>void 0)),b}function w(e){return Object.fromEntries(i.map(t=>[t,{...l[t],...e?.[t]??{}}]))}export{g as a,h as c,i,p as l,S as n,d as o,x as r,f as s,w as t};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
.brand-block[data-v-68727ec7]{isolation:isolate;width:100%;color:inherit;text-align:left;-webkit-tap-highlight-color:transparent;align-items:center;gap:11px;padding:0 8px 22px;display:flex;position:relative}.brand-block[data-v-68727ec7]:before{content:"";z-index:-1;opacity:0;pointer-events:none;background:radial-gradient(circle,#f4c97033,#f4c97000 68%);border-radius:50%;width:58px;height:58px;position:absolute;top:-8px;left:0}.brand-effect-button[data-v-68727ec7]{appearance:none;color:inherit;cursor:pointer;background:0 0;border:0;flex:none;padding:0;display:block}.brand-effect-button[data-v-68727ec7]:focus{outline:none}.brand-block.is-keyboard-focused .brand-mark-wrap[data-v-68727ec7]{box-shadow:0 0 0 2px var(--color-accent);border-radius:50%}.brand-mark-wrap[data-v-68727ec7]{flex:none;width:38px;height:38px;position:relative}.brand-mark[data-v-68727ec7]{object-fit:contain;width:38px;height:38px;display:block}.brand-orbit[data-v-68727ec7]{z-index:3;opacity:0;pointer-events:none;border-radius:50%;animation:.94s cubic-bezier(.2,.7,.22,1) both brand-orbit-travel-68727ec7;position:absolute;inset:-8px}.brand-orbit[data-v-68727ec7]:before{content:"";border-radius:inherit;background:conic-gradient(from 20deg, transparent 0 74%, #e6b14a00 79%, #e6b14a3d 87%, #fff4d3c7 96%, transparent 100%);-webkit-mask:radial-gradient(farthest-side, transparent calc(100% - 2px), var(--color-ink) calc(100% - 1.5px));-webkit-mask:radial-gradient(farthest-side, transparent calc(100% - 2px), var(--color-ink) calc(100% - 1.5px));mask:radial-gradient(farthest-side, transparent calc(100% - 2px), var(--color-ink) calc(100% - 1.5px));position:absolute;inset:0}.brand-orbit[data-v-68727ec7]:after{content:"";background:radial-gradient(circle at 34% 30%, var(--color-surface) 0 14%, var(--color-warning-soft) 30%, var(--color-warning) 58%, #e8b65300 74%);border-radius:50%;width:6px;height:6px;position:absolute;top:-2px;left:50%;transform:translate(-50%);box-shadow:0 0 6px #f4c668c7,0 0 14px #f4c66852}.brand-copy[data-v-68727ec7]{min-width:0;display:grid;position:relative}.brand-title-row[data-v-68727ec7]{align-items:baseline;gap:7px;display:flex}.brand-name[data-v-68727ec7]{letter-spacing:-.02em;font-size:18px;font-weight:700}.brand-version[data-v-68727ec7]{color:var(--color-muted);letter-spacing:.02em;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;font-weight:600}.brand-version-button[data-v-68727ec7]{appearance:none;cursor:pointer;background:0 0;border:0;border-radius:4px;align-items:center;gap:4px;margin:-2px -1px;padding:2px 1px;display:inline-flex}.brand-version-button:hover .brand-version[data-v-68727ec7]{color:var(--color-ink)}.brand-version-button[data-v-68727ec7]:focus-visible{box-shadow:0 0 0 2px var(--color-accent);outline:none}.brand-update-dot[data-v-68727ec7]{background:var(--color-danger);border-radius:50%;flex:none;width:5px;height:5px;box-shadow:0 1px 4px #bd1e1e47}.brand-subtitle[data-v-68727ec7]{color:var(--color-muted);margin-top:2px;font-size:12px}.brand-copy-reflection[data-v-68727ec7]{z-index:3;opacity:0;pointer-events:none;clip-path:polygon(-26% -20%,-8% -20%,-18% 120%,-36% 120%);will-change:clip-path, opacity;height:22px;animation:.62s cubic-bezier(.22,.66,.25,1) .62s both brand-copy-reflection-68727ec7;position:absolute;top:0;left:0;right:0}.brand-copy-reflection .brand-name[data-v-68727ec7],.brand-copy-reflection .brand-version[data-v-68727ec7]{color:var(--color-warning);text-shadow:0 0 6px #efbe5d47}.brand-update-popover[data-v-68727ec7]{z-index:20;color:var(--color-ink);background:var(--color-surface);border-radius:12px;padding:12px;position:absolute;top:45px;left:49px;right:8px;box-shadow:0 10px 28px #23302729}.brand-update-popover strong[data-v-68727ec7]{font-size:12px;line-height:1.45;display:block}.brand-update-popover p[data-v-68727ec7]{color:var(--color-muted);margin:5px 0 9px;font-size:12px;line-height:1.5}.brand-update-popover code[data-v-68727ec7]{border-radius:var(--radius-control);color:var(--color-ink);background:var(--color-surface-subtle);overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;padding:7px 8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;line-height:1.45;display:block}.brand-update-popover a[data-v-68727ec7]{color:var(--color-ink);text-underline-offset:2px;margin-top:9px;font-size:12px;font-weight:650;text-decoration-thickness:1px;display:inline-block}.brand-update-popover a[data-v-68727ec7]:hover{color:var(--color-ink)}.brand-update-popover a[data-v-68727ec7]:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px;border-radius:2px}.brand-block.is-sparkling[data-v-68727ec7]:before{animation:1.05s ease-out both brand-halo-68727ec7}@keyframes brand-orbit-travel-68727ec7{0%{opacity:0;transform:rotate(-132deg)scale(.94)}18%{opacity:0}32%{opacity:1}72%{opacity:.9}to{opacity:0;transform:rotate(80deg)scale(1.01)}}@keyframes brand-copy-reflection-68727ec7{0%{opacity:0;clip-path:polygon(-26% -20%,-8% -20%,-18% 120%,-36% 120%)}14%{opacity:.86}78%{opacity:.68}to{opacity:0;clip-path:polygon(132% -20%,150% -20%,140% 120%,122% 120%)}}@keyframes brand-halo-68727ec7{0%{opacity:0;transform:scale(.72)}34%{opacity:1}to{opacity:0;transform:scale(1.12)}}@media (prefers-reduced-motion:reduce){.brand-orbit[data-v-68727ec7]{display:none}.brand-block.is-sparkling[data-v-68727ec7]:before{animation:.28s ease-out both brand-reduced-halo-68727ec7}.brand-copy-reflection[data-v-68727ec7]{clip-path:inset(0);animation:.28s ease-out both brand-reduced-glint-68727ec7}@keyframes brand-reduced-halo-68727ec7{0%,to{opacity:0}45%{opacity:.72}}@keyframes brand-reduced-glint-68727ec7{0%,to{opacity:0}45%{opacity:.58}}}.navigation-recovery[data-v-d154c242]{background:var(--color-warning-soft);color:var(--color-warning);border-radius:10px;flex:none;align-items:center;gap:16px;margin:12px 24px;padding:16px;font-size:13px;display:flex}.navigation-recovery>div[data-v-d154c242]{flex:1;min-width:0}.navigation-recovery strong[data-v-d154c242]{font-weight:650}.navigation-recovery p[data-v-d154c242]{margin:4px 0 0;line-height:1.6}.navigation-recovery a[data-v-d154c242]{flex-shrink:0;text-decoration:none}.navigation-recovery-dismiss[data-v-d154c242]{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:8px}.navigation-recovery[data-v-d154c242] :is(a,button):focus-visible{outline:2px solid var(--color-warning);outline-offset:3px}@media (width<=640px){.navigation-recovery[data-v-d154c242]{flex-wrap:wrap;gap:10px;margin:10px 12px}.navigation-recovery>div[data-v-d154c242]{flex-basis:100%}}.attention-reply[data-v-6b64bc2c]{gap:20px;min-width:0;display:grid}.attention-question h3[data-v-6b64bc2c]{letter-spacing:-.025em;margin:0 0 12px;font-size:22px;line-height:1.4}.attention-question p[data-v-6b64bc2c],.attention-context[data-v-6b64bc2c]{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:14px;line-height:1.75}.attention-context[data-v-6b64bc2c]{color:var(--color-muted)}.attention-reply .ui-disclosure[data-v-6b64bc2c]{border-bottom:1px solid var(--color-border);padding-block:12px}.attention-choices[data-v-6b64bc2c]{border:0;gap:8px;min-width:0;margin:0;padding:0;display:grid}.attention-choices legend[data-v-6b64bc2c]{padding:0 0 10px;font-size:13px;font-weight:600}.attention-choice[data-v-6b64bc2c]{border:1px solid var(--color-border);border-radius:var(--radius-control);cursor:pointer;overflow-wrap:anywhere;align-items:flex-start;gap:10px;padding:12px 14px;font-size:14px;line-height:1.5;display:flex}.attention-choice[data-v-6b64bc2c]:hover{background:var(--color-surface-hover)}.attention-choice.is-selected[data-v-6b64bc2c]{border-color:var(--color-accent);background:var(--color-accent-soft)}.attention-choice input[data-v-6b64bc2c]{flex:none;width:16px;height:16px;margin:3px 0 0}.attention-input[data-v-6b64bc2c]{gap:8px;display:grid}.attention-input label[data-v-6b64bc2c]{color:var(--color-muted);font-size:13px}.attention-input textarea[data-v-6b64bc2c]{box-sizing:border-box;width:100%}.attention-submit[data-v-6b64bc2c]{border-top:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:16px;padding-top:16px;display:flex}.attention-submit p[data-v-6b64bc2c]{max-width:270px;color:var(--color-muted);margin:0;font-size:12px;line-height:1.6}.attention-submit button[data-v-6b64bc2c]{flex:none}.attention-response-error[data-v-6b64bc2c]{overflow-wrap:anywhere;margin:0;font-size:13px}@media (width<=640px){.attention-question h3[data-v-6b64bc2c]{font-size:19px}.attention-input textarea[data-v-6b64bc2c]{font-size:16px}.attention-submit[data-v-6b64bc2c]{flex-direction:column;align-items:stretch;gap:12px}.attention-submit p[data-v-6b64bc2c]{max-width:none}}.attention-nav-status{justify-self:end;align-items:center;gap:6px;display:inline-flex}.attention-dialog[open]:has(.attention-workspace){height:min(780px,100dvh - 40px)}.attention-dialog:not(:has(.attention-workspace)){width:min(560px,100vw - 32px)}.attention-dialog .ui-dialog__shell{height:100%}.attention-dialog .ui-dialog__header{border-bottom:1px solid var(--color-border);padding-bottom:16px}.attention-dialog .ui-dialog__body{flex:auto;gap:0;padding:0;overflow:hidden}.attention-workspace{flex:auto;grid-template-columns:280px minmax(0,1fr);min-height:0;display:grid;overflow:hidden}.attention-queue{background:var(--color-surface-subtle);border-right:1px solid var(--color-border);overscroll-behavior:contain;min-width:0;padding:12px;overflow-y:auto}.attention-queue-toolbar{color:var(--color-muted);justify-content:space-between;align-items:center;gap:8px;padding:0 4px 8px;font-size:12px;display:flex}.attention-queue-toolbar>span{overflow-wrap:anywhere;min-width:0}.attention-request-list{gap:6px;display:grid}.attention-request{text-align:left;border-radius:var(--radius-control);width:100%;min-width:0;color:var(--color-ink);cursor:pointer;background:0 0;border:1px solid #0000;gap:7px;padding:14px 12px;display:grid}.attention-request:hover{background:var(--color-surface-hover)}.attention-request.is-selected{border-color:var(--color-border);background:var(--color-surface);box-shadow:inset 3px 0 var(--color-accent)}.attention-request-meta{color:var(--color-muted);justify-content:space-between;align-items:center;gap:8px;font-size:11px;display:flex}.attention-request-meta>span{flex-shrink:0}.attention-request strong{overflow-wrap:anywhere;font-size:13px;font-weight:550;line-height:1.5}.attention-request-project{color:var(--color-muted);overflow-wrap:anywhere;font-size:11px}.attention-more{width:100%;margin-top:12px}.attention-detail{overscroll-behavior:contain;min-width:0;padding:24px 28px;overflow-y:auto}.attention-detail-meta{color:var(--color-muted);overflow-wrap:anywhere;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:20px;font-size:12px;display:flex}.attention-task-link{color:var(--color-accent);text-underline-offset:4px;margin-top:16px;font-size:13px;display:inline-block}.attention-queue .attention-mobile-picker{margin-bottom:8px;display:none}.attention-error{color:var(--color-danger);background:var(--color-danger-soft);flex:none;justify-content:space-between;align-items:center;gap:12px;padding:12px 24px;font-size:13px;display:flex}.attention-empty{text-align:center;color:var(--color-muted);flex:1;align-content:center;justify-items:center;gap:16px;padding:72px 24px;display:grid}.attention-empty>span{background:var(--color-success-soft);width:48px;height:48px;color:var(--color-success);border-radius:50%;place-items:center;font-size:24px;display:grid}.attention-empty p{margin:0;font-size:14px}@media (width<=640px){.attention-dialog[open]{width:calc(100vw - 16px)}.attention-dialog[open]:has(.attention-workspace){height:calc(100dvh - 16px)}.attention-workspace{flex-direction:column;flex:auto;height:auto;display:flex;overflow:hidden}.attention-queue{border-right:0;border-bottom:1px solid var(--color-border);flex:none;max-height:185px;padding:8px 16px 12px}.attention-queue-toolbar{padding:0}.attention-queue .attention-mobile-picker{display:grid}.attention-request-list{display:none}.attention-detail{padding:20px 16px}.attention-detail-meta{margin-bottom:16px}}.pinned-agents-nav[data-v-5c5d1058]{border-top:1px solid var(--color-border);gap:4px;margin:14px 0 6px;padding-top:10px;display:grid}.pinned-agents-heading[data-v-5c5d1058]{color:var(--color-faint);letter-spacing:.08em;text-transform:uppercase;margin:0 10px 2px;font-size:11px;font-weight:600}.pinned-agents-heading-row[data-v-5c5d1058]{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.pinned-agents-heading-row[data-v-5c5d1058] .growth-loading__label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.pinned-agents-list[data-v-5c5d1058]{gap:2px;margin:0;padding:0;list-style:none;display:grid}.pinned-agent-nav[data-v-5c5d1058]{border-radius:var(--radius-control);min-width:0;min-height:34px;color:var(--color-ink-soft);transition:background-color var(--motion-fast), color var(--motion-fast);align-items:center;gap:9px;padding:5px 10px;text-decoration:none;display:flex}.pinned-agent-nav[data-v-5c5d1058]:hover,.pinned-agent-nav.router-link-active[data-v-5c5d1058]{color:var(--color-ink);background:#1b1f1d0d}.pinned-agent-portrait[data-v-5c5d1058]{width:24px;height:24px;color:var(--color-accent);background:var(--color-accent-soft);border-radius:7px;flex:0 0 24px;place-items:center;font-size:12px;line-height:1;display:grid}.pinned-agent-name[data-v-5c5d1058]{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;overflow:hidden}.pinned-agents-empty[data-v-5c5d1058],.pinned-agents-error[data-v-5c5d1058]{color:var(--color-muted);margin:0 10px;font-size:12px}.pinned-agents-error[data-v-5c5d1058]{color:var(--color-danger);gap:6px;display:grid}.pinned-agents-error .quiet-button[data-v-5c5d1058]{min-height:var(--control-height-sm);justify-self:start;padding:4px 9px;font-size:12px}.pinned-agents-nav[data-v-5c5d1058] .growth-loading--compact{min-height:58px;padding:6px}.pinned-agents-nav[data-v-5c5d1058] .growth-loading__label{font-size:12px}.topbar--workbench[data-v-dd2ae8b1]{display:none}.workbench-host-label[data-v-dd2ae8b1]{color:var(--color-muted);font-size:12px;font-weight:600}.mobile-nav-close-icon[data-v-dd2ae8b1]{width:16px;height:16px;display:block;position:relative}.mobile-nav-close-icon[data-v-dd2ae8b1]:before,.mobile-nav-close-icon[data-v-dd2ae8b1]:after{content:"";border-top:1.5px solid;width:14px;position:absolute;top:7px;left:1px}.mobile-nav-close-icon[data-v-dd2ae8b1]:before{transform:rotate(45deg)}.mobile-nav-close-icon[data-v-dd2ae8b1]:after{transform:rotate(-45deg)}@media (width<=920px){.topbar--workbench[data-v-dd2ae8b1]{background:var(--color-surface);border:0;justify-content:flex-start;gap:12px;min-height:44px;padding:7px 16px;display:flex}}:root{--lightningcss-light:initial;--lightningcss-dark: ;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-bg:#f6f5f1;--color-surface:#fffefb;--color-surface-subtle:#f0eee8;--color-surface-hover:#f3f1ec;--color-sidebar:#f1efe9;--color-ink:#1b1f1d;--color-ink-soft:#3a403c;--color-muted:#66706a;--color-faint:#959c97;--color-border:#e5e2da;--color-border-strong:#d2cec4;--color-control-border:#c9c5ba;--color-accent:#0f6b55;--color-accent-hover:#0b5a47;--color-accent-soft:#e5f0eb;--color-accent-line:#9cc7b6;--color-success:#2f7a52;--color-success-soft:#e8f2ec;--color-warning:#8a5a12;--color-warning-soft:#f8f0e0;--color-danger:#a8392e;--color-danger-soft:#f8e9e6;--color-on-accent:#fff;--color-chart-blue:#2f5f8a;--color-chart-teal:#0f6b55;--color-chart-violet:#6b4f8f;--color-chart-amber:#a8691c;--color-chart-rose:#a3445f;--color-chart-cyan:#23707f;--color-chart-slate:#66706a;--color-overlay:#181c1a52;--radius-control:8px;--radius-card:12px;--radius-dialog:16px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--control-height:36px;--control-height-sm:30px;--shadow-popover:0 1px 2px #1b1f1d0f, 0 12px 32px #1b1f1d1a;--shadow-dialog:0 2px 6px #1b1f1d0f, 0 24px 64px #1b1f1d29;--motion-fast:.14s;--motion-ease:cubic-bezier(.2, .8, .2, 1);--font-ui:"PingFang SC", "Hiragino Sans GB", -apple-system, BlinkMacSystemFont, "Segoe UI", "Microsoft YaHei", sans-serif;--font-mono:ui-monospace, "SF Mono", "Cascadia Code", Menlo, Consolas, monospace;--text-title:22px;--text-section:15px;--text-body:14px;--text-meta:12px;font-family:var(--font-ui);color:var(--color-ink);background:var(--color-bg);font-synthesis:none;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:14px;line-height:1.55}*{box-sizing:border-box}[hidden]{display:none!important}html,body,#app{height:100%}html,body{overflow:hidden}body{min-width:320px;margin:0}button{cursor:pointer}h1,h2,h3,p{margin:0}h1{font-size:var(--text-title);letter-spacing:-.02em;font-weight:650;line-height:1.25}h2{letter-spacing:-.01em;font-size:17px;font-weight:620;line-height:1.35}h3{font-size:var(--text-section);font-weight:600;line-height:1.4}a{color:var(--color-accent)}.app-shell{grid-template-columns:216px minmax(0,1fr);height:100dvh;display:grid;overflow:hidden}.sidebar{background:var(--color-sidebar);border-right:1px solid var(--color-border);flex-direction:column;height:100dvh;min-height:0;padding:22px 12px 14px;display:flex;position:sticky;top:0;overflow:hidden}.sidebar>.brand-block,.sidebar-foot{flex:none}.primary-nav{overscroll-behavior:contain;flex:auto;align-content:start;gap:2px;min-height:0;padding:8px 0 20px;display:grid;overflow:hidden auto}.nav-section-label{color:var(--color-faint);letter-spacing:.08em;text-transform:uppercase;margin:22px 10px 6px;font-size:11px;font-weight:600}.primary-nav>.nav-section-label:first-child{margin-top:4px}.primary-nav>a,.primary-nav>button{border-radius:var(--radius-control);width:100%;min-height:36px;color:var(--color-ink-soft);text-align:left;transition:background-color var(--motion-fast), color var(--motion-fast);background:0 0;border:0;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:10px;padding:7px 10px;font-size:14px;line-height:1.4;text-decoration:none;display:grid;position:relative}.primary-nav>a .nav-icon,.primary-nav>button .nav-icon{color:var(--color-muted)}.primary-nav>a:hover,.primary-nav>button:hover{color:var(--color-ink);background:#1b1f1d0d}.primary-nav>a.is-active,.primary-nav>button[aria-pressed=true]{color:var(--color-ink);background:var(--color-surface);box-shadow:0 1px 2px #1b1f1d0f, inset 0 0 0 1px var(--color-border);font-weight:600}.primary-nav>a.is-active .nav-icon,.primary-nav>button[aria-pressed=true] .nav-icon{color:var(--color-accent)}.nav-icon{width:18px;height:18px;-webkit-mask:var(--icon) center / contain no-repeat;-webkit-mask:var(--icon) center / contain no-repeat;mask:var(--icon) center / contain no-repeat;background:currentColor;display:inline-block}.nav-icon-overview{--icon:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'%3e%3crect%20x='3.5'%20y='3.5'%20width='7'%20height='7'%20rx='1.8'/%3e%3crect%20x='13.5'%20y='3.5'%20width='7'%20height='7'%20rx='1.8'/%3e%3crect%20x='3.5'%20y='13.5'%20width='7'%20height='7'%20rx='1.8'/%3e%3crect%20x='13.5'%20y='13.5'%20width='7'%20height='7'%20rx='1.8'/%3e%3c/svg%3e")}.nav-icon-personal-profile{--icon:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'%3e%3cpath%20d='M12%203.5l1.9%205.1%205.1%201.9-5.1%201.9L12%2017.5l-1.9-5.1L5%2010.5l5.1-1.9z'/%3e%3cpath%20d='M18.5%2015.5l.8%202%202%20.8-2%20.8-.8%202-.8-2-2-.8%202-.8z'/%3e%3c/svg%3e")}.nav-icon-knowledge-organizer{--icon:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='1.6'%20stroke-linecap='round'%3e%3cpath%20d='M4%206h10M18%206h2M4%2012h4M12%2012h8M4%2018h12M20%2018h0'/%3e%3ccircle%20cx='16'%20cy='6'%20r='2'/%3e%3ccircle%20cx='10'%20cy='12'%20r='2'/%3e%3ccircle%20cx='18'%20cy='18'%20r='2'/%3e%3c/svg%3e")}.nav-icon-roundtable{--icon:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='1.6'%20stroke-linecap='round'%3e%3ccircle%20cx='12'%20cy='12'%20r='4.5'/%3e%3ccircle%20cx='12'%20cy='3.5'%20r='1.6'/%3e%3ccircle%20cx='12'%20cy='20.5'%20r='1.6'/%3e%3ccircle%20cx='3.5'%20cy='12'%20r='1.6'/%3e%3ccircle%20cx='20.5'%20cy='12'%20r='1.6'/%3e%3c/svg%3e")}.nav-icon-personal-project{--icon:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'%3e%3cpath%20d='M3.5%207.5a2%202%200%200%201%202-2h4l2%202.2h7a2%202%200%200%201%202%202v8.8a2%202%200%200%201-2%202h-13a2%202%200%200%201-2-2z'/%3e%3c/svg%3e")}.nav-icon-project-agent{--icon:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'%3e%3ccircle%20cx='9'%20cy='8'%20r='3.5'/%3e%3cpath%20d='M2.8%2020c.8-3.4%203.3-5.5%206.2-5.5s5.4%202.1%206.2%205.5'/%3e%3ccircle%20cx='17.5'%20cy='9'%20r='2.6'/%3e%3cpath%20d='M16.5%2014.6c2.4.1%204.2%201.9%204.8%204.6'/%3e%3c/svg%3e")}.nav-icon-public-project{--icon:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'%3e%3ccircle%20cx='12'%20cy='12'%20r='8.5'/%3e%3cpath%20d='M3.5%2012h17M12%203.5c2.4%202.3%203.6%205.1%203.6%208.5s-1.2%206.2-3.6%208.5c-2.4-2.3-3.6-5.1-3.6-8.5s1.2-6.2%203.6-8.5z'/%3e%3c/svg%3e")}.nav-icon-knowledge-graph{--icon:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'%3e%3ccircle%20cx='6'%20cy='7'%20r='2.5'/%3e%3ccircle%20cx='18'%20cy='6'%20r='2.5'/%3e%3ccircle%20cx='12'%20cy='17.5'%20r='2.5'/%3e%3cpath%20d='M8.4%207.6l7.2-1.2M7.3%209.2l3.5%206M16.9%208.3l-3.6%207'/%3e%3c/svg%3e")}.nav-icon-about{--icon:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'%3e%3ccircle%20cx='12'%20cy='12'%20r='8.5'/%3e%3cpath%20d='M12%2011v5.5M12%207.6v.1'/%3e%3c/svg%3e")}.nav-icon-settings{--icon:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'%3e%3ccircle%20cx='12'%20cy='12'%20r='3'/%3e%3cpath%20d='M19.2%2013.6l1.3%201-2%203.4-1.6-.6a7.4%207.4%200%200%201-2.4%201.4l-.3%201.7h-4l-.3-1.7a7.4%207.4%200%200%201-2.4-1.4l-1.6.6-2-3.4%201.3-1a7.6%207.6%200%200%201%200-2.8l-1.3-1%202-3.4%201.6.6a7.4%207.4%200%200%201%202.4-1.4l.3-1.7h4l.3%201.7a7.4%207.4%200%200%201%202.4%201.4l1.6-.6%202%203.4-1.3%201a7.6%207.6%200%200%201%200%202.8z'/%3e%3c/svg%3e")}.nav-icon-review{--icon:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'%3e%3ccircle%20cx='12'%20cy='12'%20r='8.5'/%3e%3cpath%20d='m8.3%2012.2%202.5%202.5%205-5.2'/%3e%3c/svg%3e")}.nav-icon-connections{--icon:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'%3e%3cpath%20d='M10%2014l4-4'/%3e%3cpath%20d='M8.5%2011.5l-2.3%202.3a3.5%203.5%200%200%200%205%205l2.3-2.3'/%3e%3cpath%20d='M15.5%2012.5l2.3-2.3a3.5%203.5%200%200%200-5-5l-2.3%202.3'/%3e%3c/svg%3e")}.sidebar-foot{border-top:1px solid var(--color-border);margin-top:auto;padding:16px 8px 0}.service-runtime-list{gap:12px;display:grid}.runtime-status{align-items:center;gap:8px;min-width:0;font-size:12px;display:flex}.runtime-status strong{font-size:12px;font-weight:500;display:block}.runtime-status small{color:var(--color-muted);margin-top:2px;font-size:12px;display:block}.service-details{margin-top:8px}.service-details>summary{color:var(--color-muted);cursor:pointer;align-items:center;gap:8px;font-size:12px;list-style:none;display:flex}.service-details>summary::-webkit-details-marker{display:none}.service-details[open] .runtime-status{margin-top:10px}.status-dot{background:var(--color-muted);border-radius:50%;flex:none;width:6px;height:6px}.status-dot.ready{background:var(--color-success)}.status-dot.error{background:var(--color-danger)}.status-dot.loading{background:var(--color-accent)}.workspace{flex-direction:column;min-width:0;height:100dvh;min-height:0;display:flex;overflow:hidden}.topbar{background:var(--color-bg);flex:none;justify-content:space-between;align-items:center;gap:24px;min-height:68px;padding:20px 32px 12px;display:flex}.topbar-heading{min-width:0}.topbar-heading h1{font-size:var(--text-title)}.topbar-actions{flex:none;align-items:center;gap:12px;display:flex}.feedback{border:1px solid var(--color-border);background:var(--color-danger-soft);color:var(--color-danger);border-radius:var(--radius-control);margin:8px 28px 0;padding:12px 16px;font-size:14px}.feedback.success{background:var(--color-success-soft);color:var(--color-success)}.view{flex:1;min-width:0;min-height:0;padding:12px 32px 40px;overflow:auto}.view[data-view-panel=personal-profile]{flex-direction:column;display:flex;overflow:hidden}.section-toolbar{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.section-toolbar p{color:var(--color-muted);font-size:14px;line-height:1.5}.section-title{margin-bottom:16px}@media (width>=1800px){.topbar,.view{padding-inline:48px}}.space-heading{grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:15px;padding:0 0 18px;display:grid}.space-heading-icon{background-color:var(--color-surface);width:42px;height:42px;color:var(--color-ink);border:1px solid var(--color-border);border-radius:10px;place-items:center;display:grid}.space-heading-icon .nav-icon{width:21px;height:21px}.public-space-heading .space-heading-icon{color:var(--color-muted);border-color:var(--color-border);background-color:var(--color-surface)}.space-heading p{color:var(--color-muted);font-size:13px;line-height:1.55}.public-space-stats{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);align-items:stretch;display:flex}.public-space-stats span{min-width:76px;color:var(--color-muted);text-align:center;padding:9px 12px;font-size:12px}.public-space-stats span+span{border-left:1px solid var(--color-border)}.public-space-stats strong{color:var(--color-ink);font-size:18px;line-height:1.15;display:block}.personal-profile-summary{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:18px;display:flex}.personal-profile-summary>button{border:1px solid var(--color-border);min-height:32px;color:var(--color-ink-soft);background:var(--color-surface);cursor:pointer;transition:background-color var(--motion-fast), border-color var(--motion-fast), color var(--motion-fast);border-radius:999px;align-items:baseline;gap:8px;padding:5px 12px;font-size:13px;display:inline-flex}.personal-profile-summary>button strong{color:var(--color-ink);font-variant-numeric:tabular-nums;font-size:14px;font-weight:650}.personal-profile-summary>button:hover{border-color:var(--color-border-strong)}.personal-profile-summary>button[aria-pressed=true]{border-color:var(--color-accent-line);color:var(--color-accent);background:var(--color-accent-soft)}.personal-profile-summary>button[aria-pressed=true] strong{color:var(--color-accent)}.personal-profile-summary>button.state-conflict:not([aria-pressed=true]) strong:not(:empty){color:var(--color-ink)}.personal-profile-toolbar{justify-content:space-between;align-items:center;gap:16px;min-height:46px;display:flex}.personal-profile-toolbar-actions{align-items:center;gap:10px;display:flex}.personal-profile-filter-groups{align-items:center;gap:10px;min-width:0;display:flex}.personal-profile-scope-filter{width:min(240px,28vw)}.personal-profile-layout{border:1px solid var(--color-border-strong);border-radius:var(--radius-control);background:var(--color-surface);isolation:isolate;flex:1;grid-template-columns:minmax(0,1fr) 340px;align-items:stretch;min-height:0;display:grid;overflow:hidden}.personal-profile-directory{min-width:0;min-height:0}.personal-profile-table-head,.personal-profile-row{grid-template-columns:88px minmax(240px,1.35fr) minmax(170px,.8fr) 130px;align-items:center;gap:13px;display:grid}.personal-profile-table-head{border-bottom:1px solid var(--color-border);color:var(--color-muted);background:var(--color-surface-subtle);padding:10px 15px;font-size:12px;font-weight:680}.personal-profile-row{border:0;border-bottom:1px solid var(--color-border);width:100%;height:100%;color:var(--color-ink);background:var(--color-surface);text-align:left;padding:12px 15px}.personal-profile-row:hover{background:var(--color-surface)}.personal-profile-row.selected{background:var(--color-surface-subtle);box-shadow:inset 0 0 0 1px var(--color-muted)}.profile-aspect-mark{border-radius:999px;width:fit-content;padding:4px 8px;font-size:12px;font-weight:680}.profile-aspect-mark.taste{color:var(--color-ink);background:var(--color-warning-soft)}.profile-aspect-mark.personality{color:var(--color-muted);background:var(--color-surface-subtle)}.profile-aspect-mark.judgment_preference{color:var(--color-ink);background:var(--color-surface-subtle)}.personal-profile-copy,.personal-profile-origin{gap:4px;min-width:0;display:grid}.personal-profile-copy strong,.personal-profile-origin strong{color:var(--color-ink);font-size:12px}.personal-profile-origin strong.has-conflict{color:var(--color-ink)}.personal-profile-copy small,.personal-profile-origin small,.personal-profile-row time{color:var(--color-muted);font-size:12px;line-height:1.45}.personal-profile-copy small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.personal-profile-inspector{align-self:stretch;min-width:0;position:static;overflow:auto}.project-section{margin-top:34px}.compact-toolbar{border-top:1px solid var(--color-border-strong);padding-top:14px}.project-grid{grid-template-columns:repeat(auto-fit,minmax(min(330px,100%),1fr));gap:14px;margin-top:18px;display:grid}.project-empty{border:1px dashed var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);grid-column:1/-1}.project-card{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);min-width:0;padding:18px}.project-card-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.project-card-heading-actions{align-items:flex-start;gap:8px;display:flex}.project-card h4{color:var(--color-ink);overflow-wrap:anywhere;margin:0;font-size:16px}.project-purpose{min-height:38px;color:var(--color-muted);margin-top:12px;font-size:12px;line-height:1.55}.completion-badge{border:1px solid var(--color-border-strong);border-radius:var(--radius-control);text-align:center;background:var(--color-surface);flex:none;min-width:54px;padding:7px 8px}.completion-badge strong{color:var(--color-ink);font-size:18px;line-height:1;display:block}.completion-badge span{color:var(--color-muted);font-size:12px}.evidence-row{flex-wrap:wrap;gap:5px;min-height:24px;margin-top:13px;display:flex}.status-chip{border:1px solid var(--color-border);width:fit-content;color:var(--color-ink);background:var(--color-surface);border-radius:999px;align-items:center;padding:3px 7px;font-size:12px;font-weight:650;display:inline-flex}.status-chip.owner{border-color:var(--color-border-strong);color:var(--color-ink);background:var(--color-surface-subtle)}.status-chip.private{border-color:var(--color-warning-soft);color:var(--color-muted);background:var(--color-warning-soft)}.project-access{border-top:1px solid var(--color-border);align-items:center;gap:7px;margin-top:14px;padding-top:12px;display:flex}.project-release-meta{border-left:1px solid var(--color-border);gap:1px;margin-left:auto;padding-left:11px;display:grid}.project-release-meta strong{color:var(--color-ink);font-size:12px}.project-release-meta span{color:var(--color-muted);font-size:12px}.project-card-footer{border-top:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:14px;margin-top:15px;padding-top:13px;display:flex}.project-card-footer>.secondary-action,.project-card-footer>.primary-action{min-width:92px}.subscription-action{min-height:30px;margin-left:4px;padding:5px 10px;font-size:12px}.project-relations{gap:6px;margin-top:11px;display:grid}.relation-section-toolbar{align-items:center}.relation-section-toolbar .primary-action{flex:none;padding:8px 12px;font-size:12px}.relation-section-toolbar .primary-action:disabled{cursor:not-allowed}.relation-composer{border:1px solid var(--color-border);background:var(--color-surface);border-radius:10px;margin-top:16px;box-shadow:0 10px 30px #2330280f}.relation-composer-form{padding:18px}.subscription-list{gap:8px;display:grid}.subscription-row{border-bottom:1px solid var(--color-border);grid-template-columns:10px 1fr auto;align-items:center;gap:9px;padding:10px 0;display:grid}.subscription-row:last-child{border-bottom:0}.subscription-row strong{font-size:12px;display:block}.subscription-row span{color:var(--color-muted);font-size:12px}.connections-view{padding-top:24px}.service-connection-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:20px;display:grid}.service-connection-card{border:1px solid var(--color-border-strong);border-radius:var(--radius-control);background:var(--color-surface);min-width:0;padding:18px}.service-connection-card[data-status=ready]{border-color:var(--color-border-strong)}.service-connection-card[data-status=error]{border-color:var(--color-danger-soft)}.service-connection-card>header{grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:11px;display:grid}.service-connection-card>header h3{color:var(--color-ink);font-size:15px}.service-connection-icon{border:1px solid var(--color-border-strong);border-radius:var(--radius-control);width:38px;height:38px;color:var(--color-ink);background:var(--color-surface-subtle);place-items:center;display:grid}.service-connection-icon.public{border-color:var(--color-border);color:var(--color-muted);background:var(--color-surface)}.service-state{color:var(--color-muted);align-items:center;gap:6px;font-size:12px;font-weight:650;display:inline-flex}.service-state:before{background:var(--color-muted);content:"";border-radius:50%;width:6px;height:6px}.service-connection-card[data-status=ready] .service-state{color:var(--color-success)}.service-connection-card[data-status=ready] .service-state:before{background:var(--color-success)}.service-connection-card[data-status=error] .service-state{color:var(--color-danger)}.service-connection-card[data-status=error] .service-state:before{background:var(--color-danger)}.service-connection-card>p{min-height:38px;color:var(--color-muted);margin-top:15px;font-size:12px;line-height:1.55}.service-connection-card dl{border-top:1px solid var(--color-border);margin:14px 0 0}.service-connection-card dl>div{border-bottom:1px solid var(--color-border);grid-template-columns:86px minmax(0,1fr);gap:12px;padding:9px 0;display:grid}.service-connection-card dl>div:last-child{border-bottom:0;padding-bottom:0}.service-connection-card dt{color:var(--color-muted);font-size:12px}.service-connection-card dd{color:var(--color-ink);overflow-wrap:anywhere;margin:0;font-size:12px}.connection-subscriptions{border-top:1px solid var(--color-border);margin-top:24px;padding-top:16px}.connection-subscriptions .section-title{margin-bottom:10px}.connection-subscriptions .section-title p{color:var(--color-muted);margin-top:4px;font-size:12px}.connection-title-row{align-items:center;gap:7px;display:flex}.feature-badge{letter-spacing:.07em;border-radius:999px;align-items:center;width:fit-content;padding:2px 6px;font-size:12px;font-weight:750;display:inline-flex}.feature-badge.beta{border:1px solid var(--color-warning);color:var(--color-warning);background:var(--color-warning-soft)}.external-knowledge-section,.conflict-policy-section{border-top:1px solid var(--color-border);margin-top:14px;padding-top:12px}.section-title-with-help{align-items:center;gap:7px;display:flex}.section-help-link{border:1px solid var(--color-border-strong);width:17px;height:17px;color:var(--color-muted);background:var(--color-surface);border-radius:50%;flex:none;place-items:center;font-size:12px;font-weight:750;line-height:1;text-decoration:none;display:inline-grid}.section-help-link:hover{border-color:var(--color-muted);color:var(--color-ink);background:var(--color-surface)}.section-help-link:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.external-binding-count{color:var(--color-muted);font-size:12px;font-weight:620}.external-binding-list{margin-top:10px;display:grid}.external-binding-row{border-bottom:1px solid var(--color-border);grid-template-columns:8px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:55px;display:grid}.external-binding-row>i{background:var(--color-muted);border-radius:50%;width:7px;height:7px}.external-binding-row[data-status=error]>i{background:var(--color-danger)}.external-binding-row strong{color:var(--color-ink);font-size:12px;display:block}.external-binding-row span,.external-binding-row small{color:var(--color-muted);margin-top:2px;font-size:12px;display:block}.external-binding-row small{color:var(--color-danger)}.external-binding-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.quiet-button.danger{color:var(--color-danger)}.compact-empty{color:var(--color-muted);padding:18px 0;font-size:12px}.external-binding-form{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);grid-template-columns:repeat(4,minmax(150px,1fr));align-items:end;gap:10px;margin-top:16px;padding:15px;display:grid}.external-binding-form label,.conflict-policy-controls label{min-width:0;color:var(--color-muted);gap:5px;font-size:12px;display:grid}.external-binding-form input,.external-binding-form textarea,.external-binding-form .ui-select,.conflict-policy-controls .ui-select,.external-binding-form input,.external-binding-form textarea{width:100%;min-width:0}.external-binding-form textarea{resize:vertical}.external-binding-form .wide-field{grid-column:span 3}.trusted-code-badge{border:1px solid var(--color-warning);width:fit-content;color:var(--color-warning);background:var(--color-warning-soft);border-radius:5px;padding:5px 7px;font-size:12px}.conflict-policy-controls{grid-template-columns:repeat(2,minmax(220px,1fr));gap:12px;max-width:700px;margin-top:10px;display:grid}@media (width<=1280px){.external-binding-form{grid-template-columns:repeat(2,minmax(180px,1fr))}.external-binding-form .wide-field{grid-column:span 2}}.graph-view{flex-direction:column;padding:18px 24px 20px;display:flex;overflow:hidden}.graph-view.graph-canvas-active{overflow:hidden}.knowledge-view-heading{border-bottom:1px solid var(--color-control-border);justify-content:space-between;align-items:center;min-height:42px;display:flex}.knowledge-mode-switch{align-self:stretch;gap:22px;display:flex}.knowledge-mode-switch button{color:var(--color-muted);background:0 0;border:0;padding:0 1px;font-size:12px;font-weight:620;position:relative}.knowledge-mode-switch button[aria-selected=true]{color:var(--color-accent)}.knowledge-mode-switch button[aria-selected=true]:after{background:var(--color-accent);content:"";border-radius:2px 2px 0 0;height:2px;position:absolute;bottom:-1px;left:0;right:0}.graph-toolbar{flex-wrap:wrap;align-items:center;gap:8px 10px;min-height:48px;padding:8px 0;display:flex}.picker-chevron{border-right:1.5px solid var(--color-muted);border-bottom:1.5px solid var(--color-muted);justify-self:end;width:7px;height:7px;transition:transform .14s;transform:translateY(-2px)rotate(45deg)}.ui-select[data-select-id=graph-space]{min-width:225px}.ui-select[data-select-id=knowledge-type-filter]{width:120px}.ui-select[data-select-id=knowledge-quadrant-filter]{width:110px}.ui-select[data-select-id=knowledge-profile-filter]{width:112px}.ui-select[data-select-id=knowledge-status-filter]{width:105px}.knowledge-editor-form .ui-select,.knowledge-project-fields .ui-select,.knowledge-project-relation .ui-select{width:100%}.personal-context-picker{position:relative}.personal-context-picker>summary{border:1px solid var(--color-border-strong);border-radius:var(--radius-control);min-height:32px;color:var(--color-ink);background:var(--color-surface);cursor:pointer;align-items:center;gap:8px;padding:6px 9px;font-size:12px;list-style:none;display:flex}.personal-context-picker>summary::-webkit-details-marker{display:none}.personal-context-picker>summary span{color:var(--color-muted)}.personal-context-picker>summary .picker-chevron{flex:none;margin-left:auto}.personal-context-picker[open]>summary .picker-chevron{transform:translateY(2px)rotate(225deg)}.personal-context-panel{z-index:8;border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);width:286px;padding:13px;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 12px 30px #2330281a}.personal-context-panel>strong{color:var(--color-ink);font-size:12px}.personal-context-panel>p{color:var(--color-muted);margin-top:4px;font-size:12px;line-height:1.45}.personal-context-list{gap:3px;max-height:220px;margin-top:10px;display:grid;overflow:auto}.personal-context-option{cursor:pointer;border-radius:6px;grid-template-columns:17px 1fr;align-items:center;gap:8px;padding:8px;display:grid}.personal-context-option:hover{background:var(--color-surface-subtle)}.personal-context-option input{margin:0}.personal-context-option span{gap:2px;display:grid}.personal-context-option strong{color:var(--color-ink);font-size:12px}.personal-context-option small{color:var(--color-muted);font-size:12px}.search-form{flex:0 300px;min-width:220px}.search-form input{width:100%}#knowledge-type-filter{max-width:160px}#knowledge-quadrant-filter{max-width:130px}#knowledge-profile-filter{max-width:135px}.graph-view-actions{border-left:1px solid var(--color-border);align-items:center;gap:3px;margin-left:auto;padding-left:4px;display:flex}.graph-controls{gap:3px;display:flex}.knowledge-layout{border:1px solid var(--color-border-strong);border-radius:var(--radius-card);background:var(--color-surface);isolation:isolate;flex:1;grid-template-columns:minmax(0,1fr) 340px;align-items:stretch;min-height:0;display:grid;overflow:hidden}.knowledge-directory-panel{background:var(--color-surface);flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden;container:knowledge-directory/inline-size}.directory-kind-tabs{z-index:4;border-bottom:1px solid var(--color-border);background:var(--color-surface-hover);align-items:stretch;gap:22px;min-height:44px;padding:0 16px;display:flex;position:sticky;top:0}.directory-kind-tab{min-width:0;color:var(--color-muted);background:0 0;border:0;align-items:center;gap:7px;padding:0 1px;font-size:12px;font-weight:620;display:inline-flex;position:relative}.directory-kind-tab:hover{color:var(--color-ink)}.directory-kind-tab:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.directory-kind-tab:after{content:"";background:0 0;height:2px;position:absolute;bottom:-1px;left:0;right:0}.directory-kind-tab[aria-selected=true]{color:var(--color-accent)}.directory-kind-tab[aria-selected=true]:after{background:var(--color-accent)}.directory-kind-tab small{min-width:20px;color:var(--color-muted);background:var(--color-surface-subtle);text-align:center;border-radius:999px;padding:1px 6px;font-size:12px;font-weight:650}.directory-kind-tab[aria-selected=true] small{color:var(--color-accent);background:var(--color-surface-subtle)}.directory-tab-panel{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.directory-section-heading{border-bottom:1px solid var(--color-border);background:var(--color-surface-subtle);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 14px;min-width:0;padding:12px 16px;display:flex}.directory-section-copy{flex:260px;align-items:baseline;gap:10px;min-width:0;display:flex}.directory-section-heading strong{color:var(--color-ink);font-size:12px;font-weight:680}.directory-section-copy span,.directory-section-count{color:var(--color-muted);font-size:12px;line-height:1.45}.directory-section-copy span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.directory-section-count{flex:none}.knowledge-status-filter{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface-subtle);flex:none;align-items:center;gap:2px;padding:2px;display:inline-flex}.knowledge-status-option{height:24px;color:var(--color-muted);white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:5px;align-items:center;gap:5px;padding:0 7px;font-size:12px;font-weight:640;display:inline-flex}.knowledge-status-option:hover{color:var(--color-ink);background:#ffffffb8}.knowledge-status-option:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.knowledge-status-option[aria-pressed=true]{border-color:var(--color-border-strong);color:var(--color-accent);background:var(--color-surface)}.knowledge-status-option[data-status=historical][aria-pressed=true]{border-color:var(--color-danger-soft);color:var(--color-danger);background:var(--color-surface-subtle)}.knowledge-status-option span{min-width:16px;color:inherit;background:var(--color-accent-soft);text-align:center;border-radius:999px;padding:0 4px;font-size:12px;line-height:16px}.knowledge-directory-virtual-list,.project-material-virtual-list{flex:1;min-width:0;min-height:0}.project-material-row{border:0;border-bottom:1px solid var(--color-border);width:100%;height:100%;color:var(--color-ink);background:var(--color-surface);text-align:left;grid-template-columns:minmax(0,1fr) minmax(94px,118px) auto;align-items:center;gap:16px;padding:10px 16px;display:grid}.project-material-row:hover{background:var(--color-surface)}.project-material-row.selected{background:var(--color-surface-subtle);box-shadow:inset 0 0 0 1px var(--color-accent)}.project-material-copy{gap:4px;min-width:0;display:grid}.project-material-copy strong{color:var(--color-ink);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:630;overflow:hidden}.project-material-copy small{color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:1.4;overflow:hidden}.project-material-type{color:var(--color-ink);font-size:12px;font-weight:620}.project-material-link{color:var(--color-muted);text-align:right;font-size:12px;font-weight:650}.graph-canvas-active .knowledge-layout{flex:1;align-items:stretch;min-height:0;overflow:hidden}.knowledge-table-head,.knowledge-row{grid-template-columns:minmax(220px,1.8fr) minmax(92px,.68fr) minmax(104px,.75fr) minmax(90px,.65fr) minmax(118px,.9fr) minmax(102px,.72fr) minmax(58px,.42fr);align-items:center;gap:12px;width:100%;min-width:0;display:grid}.knowledge-table-head{border-bottom:1px solid var(--color-border);color:var(--color-muted);background:var(--color-surface-subtle);letter-spacing:.05em;padding:10px 16px;font-size:12px;font-weight:680}.knowledge-row{border:0;border-bottom:1px solid var(--color-border);height:100%;color:var(--color-ink);background:var(--color-surface);text-align:left;padding:11px 16px;font-size:12px}.knowledge-table-head>span,.knowledge-row>span{min-width:0}.knowledge-row:hover{background:var(--color-surface)}.knowledge-row.selected{background:var(--color-surface-subtle);box-shadow:inset 0 0 0 1px var(--color-accent)}.knowledge-row-content{gap:4px;min-width:0;display:grid}.knowledge-row-title{align-items:center;gap:7px;min-width:0;display:flex}.knowledge-row-content strong{min-width:0;color:var(--color-ink);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:550;overflow:hidden}.human-change-badge{color:var(--color-warning);background:var(--color-warning-soft);white-space:nowrap;border-radius:999px;flex:none;padding:2px 6px;font-size:12px;font-style:normal;font-weight:700}.human-change-badge.state-viewed{color:var(--color-muted);background:var(--color-surface-subtle)}.knowledge-row-content small{color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:1.4;overflow:hidden}.knowledge-row-type,.knowledge-row-source,.knowledge-row-time{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.knowledge-row-type{color:var(--color-ink);font-weight:620}.knowledge-row-source,.knowledge-row-time{color:var(--color-muted)}.knowledge-row-quadrant{width:fit-content;color:var(--color-muted);background:var(--color-surface-subtle);white-space:nowrap;border-radius:999px;padding:3px 7px;font-size:12px;font-weight:650}.knowledge-row-quadrant.known_known{color:var(--color-ink);background:var(--color-surface-subtle)}.knowledge-row-quadrant.known_unknown{color:var(--color-warning);background:var(--color-warning-soft)}.knowledge-row-quadrant.unknown_known,.knowledge-row-quadrant.unknown_unknown,.knowledge-row-quadrant.unclassified{color:var(--color-muted);background:var(--color-surface-subtle)}.knowledge-review-state{width:fit-content;color:var(--color-muted);background:var(--color-surface-subtle);white-space:nowrap;border-radius:999px;padding:3px 7px;font-size:12px;font-weight:650}.knowledge-review-state.state-confirmed,.knowledge-review-state.state-agent_confirmed{color:var(--color-success);background:var(--color-success-soft)}.knowledge-review-state.state-pending,.knowledge-review-state.state-needs_review{color:var(--color-warning);background:var(--color-warning-soft)}.knowledge-review-state.state-exploratory,.knowledge-review-state.state-unclassified{color:var(--color-muted);background:var(--color-surface-subtle)}.knowledge-status{border-radius:999px;width:fit-content;padding:3px 7px;font-size:12px;font-weight:650}.knowledge-status.current{color:var(--color-ink);background:var(--color-surface-subtle)}.knowledge-status.historical{color:var(--color-danger);background:var(--color-surface-subtle)}@container knowledge-directory (width<=900px){.knowledge-table-head,.knowledge-row{grid-template-columns:minmax(220px,1.8fr) minmax(92px,.75fr) minmax(104px,.8fr) minmax(90px,.7fr) minmax(58px,.45fr)}.knowledge-column-source,.knowledge-column-time,.knowledge-row-source,.knowledge-row-time{display:none}}@container knowledge-directory (width<=660px){.knowledge-status-filter{order:3;margin-right:auto}.knowledge-table-head,.knowledge-row{grid-template-columns:minmax(180px,1fr) 90px 96px 58px}.knowledge-column-type,.knowledge-row-type{display:none}.project-material-row{grid-template-columns:minmax(0,1fr) auto}.project-material-type{display:none}}@container knowledge-directory (width<=500px){.knowledge-table-head{letter-spacing:0;grid-template-columns:minmax(0,1fr) 128px;gap:12px}.knowledge-row{grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr) 128px;gap:2px 12px}.knowledge-row-content{grid-area:1/1/3}.knowledge-review-state{grid-area:1/2;max-width:128px;font-weight:500}.knowledge-status{grid-area:2/2;padding-block:0;font-weight:400}.knowledge-column-quadrant,.knowledge-row-quadrant,.knowledge-column-validity{display:none}}.graph-inspector{background:var(--color-surface);border-left:1px solid var(--color-border);overscroll-behavior:contain;align-self:stretch;padding:18px;position:static;overflow:auto}.graph-canvas-active .graph-inspector{align-self:stretch;position:static;overflow:auto}.graph-inspector h3{overflow-wrap:anywhere;margin-bottom:8px;font-size:16px}.graph-inspector .muted{color:var(--color-muted);font-size:12px;line-height:1.55}.inspector-classification{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);gap:7px;margin-top:15px;padding:11px 12px;display:grid}.inspector-classification>div{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.inspector-classification span{color:var(--color-muted);font-size:12px;font-weight:650}.inspector-classification strong{color:var(--color-ink);font-size:12px}.inspector-classification p{color:var(--color-muted);font-size:12px;line-height:1.55}.inspector-classification.state-pending,.inspector-classification.state-needs_review{border-color:var(--color-warning-soft);background:var(--color-warning-soft)}.inspector-classification.state-pending strong,.inspector-classification.state-needs_review strong{color:var(--color-warning)}.inspector-classification.state-exploratory{border-color:var(--color-border-strong);background:var(--color-surface-subtle)}.inspector-classification.state-exploratory strong{color:var(--color-muted)}.inspector-classification.state-unclassified{border-color:var(--color-border);background:var(--color-surface-subtle)}.inspector-classification.state-unclassified strong{color:var(--color-muted)}.inspector-human-change{border:1px solid var(--color-warning-soft);border-radius:var(--radius-control);background:var(--color-warning-soft);gap:6px;margin-top:10px;padding:11px 12px;display:grid}.inspector-human-change>div{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.inspector-human-change span,.inspector-human-change small{color:var(--color-muted);font-size:12px;font-weight:650}.inspector-human-change strong{color:var(--color-warning);font-size:12px}.inspector-human-change p{color:var(--color-muted);font-size:12px;line-height:1.55}.inspector-human-change.state-viewed{border-color:var(--color-border);background:var(--color-surface)}.inspector-human-change.state-viewed strong{color:var(--color-muted)}.inspector-human-change.state-reviewed{border-color:var(--color-border);background:var(--color-surface)}.inspector-human-change.state-reviewed strong{color:var(--color-ink)}.inspector-replacement{border:1px solid var(--color-warning-soft);border-radius:var(--radius-control);background:var(--color-warning-soft);gap:8px;margin-top:10px;padding:11px 12px;display:grid}.inspector-replacement-heading{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.inspector-replacement-heading span{color:var(--color-muted);font-size:12px;font-weight:650}.inspector-replacement-heading strong{color:var(--color-warning);font-size:12px}.inspector-replacement>p{color:var(--color-muted);font-size:12px;line-height:1.55}.inspector-replacement-link{border:1px solid var(--color-border);width:100%;color:inherit;background:var(--color-surface);text-align:left;border-radius:6px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:9px 10px;display:grid}.inspector-replacement-link:hover{border-color:var(--color-muted);background:var(--color-surface)}.inspector-replacement-link>span{gap:3px;min-width:0;display:grid}.inspector-replacement-link strong,.inspector-replacement-link small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.inspector-replacement-link strong{color:var(--color-ink);font-size:12px}.inspector-replacement-link small{color:var(--color-muted);font-size:12px}.inspector-replacement-link b{color:var(--color-ink);white-space:nowrap;font-size:12px;font-weight:680}.inspector-project-material{border:1px solid var(--color-border-strong);border-radius:var(--radius-control);background:var(--color-surface-subtle);gap:7px;margin-top:15px;padding:11px 12px;display:grid}.inspector-project-material>div{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.inspector-project-material span{color:var(--color-muted);font-size:12px;font-weight:650}.inspector-project-material strong{color:var(--color-ink);font-size:12px}.inspector-project-material p{color:var(--color-muted);font-size:12px;line-height:1.55}.inspector-identity{background:var(--color-surface-subtle);border-radius:6px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:7px;margin:2px 0 13px;padding:7px 8px;display:grid}.inspector-identity>span{color:var(--color-muted);font-size:12px;font-weight:650}.inspector-identity code{min-width:0;color:var(--color-ink);overflow-wrap:anywhere;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;line-height:1.35}.inspector-meta{gap:8px;margin-top:18px;display:grid}.inspector-meta div{border-top:1px solid var(--color-border);padding-top:8px}.inspector-meta dt{color:var(--color-muted);text-transform:uppercase;letter-spacing:.08em;font-size:12px}.inspector-meta dd{overflow-wrap:anywhere;margin:3px 0 0;font-size:12px}.inspector-attributes{margin-top:0}.inspector-subtitle{color:var(--color-muted);margin:20px 0 7px;font-size:12px;font-weight:650}.inspector-reasoning{color:var(--color-muted);white-space:pre-wrap;font-size:12px;line-height:1.6}.inspector-relations{display:grid}.inspector-relation{border-top:1px solid var(--color-border);grid-template-columns:minmax(0,1fr);gap:3px;min-width:0;padding:10px 0;font-size:12px;display:grid}.relation-type{color:var(--color-muted);letter-spacing:.035em;overflow-wrap:anywhere;font-size:12px;font-weight:700;line-height:1.4}.relation-target{min-width:0;color:var(--color-muted);overflow-wrap:anywhere;margin:0;line-height:1.55}.inspector-evidence{gap:7px;display:grid}.evidence-card{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);padding:10px}.evidence-card strong{color:var(--color-ink);font-size:12px;display:block}.evidence-card p{color:var(--color-muted);margin-top:4px;font-size:12px;line-height:1.5}.evidence-card span{color:var(--color-muted);margin-top:6px;font-size:12px;display:block}.evidence-card .evidence-excerpt{color:var(--color-muted);background:var(--color-surface-subtle);white-space:pre-wrap;border-radius:5px;margin-top:8px;padding:8px}.evidence-source-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:8px;display:flex}.evidence-source-action{color:var(--color-ink);background:0 0;border:0;margin:0;padding:0;font-size:12px;font-weight:650;text-decoration:none;display:inline-flex}.evidence-source-action:hover{color:var(--color-ink);text-decoration:underline}.evidence-source-action:disabled{color:var(--color-muted);cursor:not-allowed;text-decoration:none}.inspector-actions{gap:7px;margin-top:16px;display:grid}.inspector-actions button{width:100%}.inspector-history{display:grid}.history-row{border-top:1px solid var(--color-border);padding:9px 0}.history-row strong{color:var(--color-ink);font-size:12px}.history-row p{color:var(--color-muted);margin-top:3px;font-size:12px;line-height:1.45}.history-row span,.history-row small{color:var(--color-muted);margin-top:4px;font-size:12px;display:block}.section-toolbar{border-bottom:1px solid var(--color-border);padding-bottom:18px}.section-toolbar h3{margin-bottom:5px;font-size:18px}.ui-select[data-select-id=review-project]{min-width:220px}.review-list{margin-top:10px;display:grid}.review-item{border-bottom:1px solid var(--color-border);grid-template-columns:minmax(0,1fr) auto;gap:24px;padding:18px 0;display:grid}.review-item h4{margin:0 0 5px;font-size:14px}.review-item p{color:var(--color-muted);font-size:12px;line-height:1.55}.review-stage{width:fit-content;color:var(--color-muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:7px;font-size:12px;font-weight:700}.review-meta{color:var(--color-muted);gap:12px;margin-top:9px;font-size:12px;display:flex}.review-actions{align-items:center;gap:7px;display:flex}.review-actions button{border-radius:var(--radius-control);padding:7px 11px;font-size:12px}.approve{border:1px solid var(--color-ink);background:var(--color-ink);color:var(--color-surface)}.reject{border:1px solid var(--color-danger-soft);background:var(--color-surface);color:var(--color-danger)}.stacked-actions{flex-wrap:wrap;justify-content:flex-end;align-items:flex-end;max-width:240px}.empty-state{text-align:center;color:var(--color-muted);padding:40px 0;font-size:13px}.subscription-form{border-top:1px solid var(--color-border);gap:7px;margin-top:18px;padding-top:14px;display:flex}.subscription-form .ui-select{flex:1}.muted{color:var(--color-muted);font-size:12px}.publish-dialog{width:min(500px,100vw - 32px);color:var(--color-ink);background:var(--color-surface);box-shadow:var(--shadow-dialog);border:0;border-radius:12px;padding:0}.publish-dialog::backdrop{background:var(--color-overlay)}.publish-dialog h3{margin:0;font-size:20px}.publish-impact{border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);margin-top:19px}.publish-impact>div{grid-template-columns:108px 1fr;gap:14px;padding:12px 0;display:grid}.publish-impact>div+div{border-top:1px solid var(--color-border)}.publish-impact strong{color:var(--color-ink);font-size:12px}.publish-impact span{color:var(--color-muted);font-size:12px;line-height:1.5}.project-latest-release{border-bottom:1px solid var(--color-border);padding:18px 0}.project-latest-release h4{color:var(--color-danger);margin:0;font-size:13px}.project-latest-release>div{margin-top:10px}.project-detail-columns{grid-template-columns:1fr 1fr;gap:24px;padding:20px 0;display:grid}.project-detail-columns>section+section{border-left:1px solid var(--color-border);padding-left:24px}.project-release-item{border-top:1px solid var(--color-border);grid-template-columns:72px minmax(0,1fr);gap:3px 10px;padding:11px 0;display:grid}.project-release-item strong{color:var(--color-ink);grid-row:1/span 2;font-size:12px}.project-release-item p{color:var(--color-muted);font-size:12px;line-height:1.45}.project-release-item small{color:var(--color-muted);font-size:12px}.project-detail-relation{border-top:1px solid var(--color-border);grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:11px 0;display:grid}.project-detail-relation>div:first-child{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:4px 8px;display:grid}.project-detail-relation strong{font-size:12px}.project-detail-relation small{color:var(--color-muted);grid-column:2;font-size:12px}.knowledge-edit-dialog{width:min(880px,100vw - 32px)}.knowledge-edit-columns{grid-template-columns:1.15fr .85fr;gap:28px;padding-top:22px;display:grid}.knowledge-edit-columns>section+section{border-left:1px solid var(--color-border);padding-left:28px}.knowledge-edit-columns h4{color:var(--color-ink);margin:0 0 6px;font-size:13px}.knowledge-edit-columns section>p{color:var(--color-muted);font-size:12px;line-height:1.5}.knowledge-editor-form{gap:13px;margin-top:16px;display:grid}.knowledge-editor-form label{color:var(--color-muted);gap:6px;font-size:12px;font-weight:600;display:grid}.knowledge-editor-actions{justify-content:flex-end;gap:7px;padding-top:4px;display:flex}.knowledge-editor-actions button{min-width:94px}.knowledge-project-dialog{width:min(780px,100vw - 32px)}.knowledge-project-source{border-bottom:1px solid var(--color-border);padding-bottom:16px}.knowledge-project-source span,.knowledge-project-preview span{color:var(--color-muted);letter-spacing:.08em;font-size:12px;font-weight:700;display:block}.knowledge-project-source strong{color:var(--color-ink);margin-top:5px;font-size:15px;display:block}.knowledge-project-source p{color:var(--color-muted);margin-top:4px;font-size:12px;line-height:1.5}.knowledge-project-mode{border:0;grid-template-columns:1fr 1fr;gap:9px;margin:0;padding:0;display:grid}.knowledge-project-mode legend,.knowledge-project-conflict-options legend{color:var(--color-muted);grid-column:1/-1;margin-bottom:4px;font-size:12px;font-weight:650}.knowledge-project-mode label{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);cursor:pointer;align-items:flex-start;gap:9px;padding:11px;display:flex}.knowledge-project-mode label:has(input:checked){border-color:var(--color-muted);background:var(--color-surface-subtle)}.knowledge-project-mode label.disabled{cursor:not-allowed;opacity:.48}.knowledge-project-mode label span{gap:3px;display:grid}.knowledge-project-mode strong{color:var(--color-ink);font-size:12px}.knowledge-project-mode small,.knowledge-project-fields small{color:var(--color-muted);font-size:12px;line-height:1.4}.knowledge-project-fields{grid-template-columns:1fr 1fr;gap:12px;display:grid}.knowledge-project-fields label{color:var(--color-muted);gap:6px;font-size:12px;font-weight:600;display:grid}.knowledge-project-relation{border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);grid-template-columns:minmax(0,1fr) 210px;align-items:end;gap:18px;padding:13px 0;display:grid}.knowledge-project-preview{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);padding:14px}.knowledge-project-preview>div:first-child>strong{color:var(--color-ink);margin-top:4px;font-size:12px;display:block}.knowledge-project-preview>div:first-child>p{color:var(--color-muted);margin-top:4px;font-size:12px;line-height:1.5}.knowledge-project-compare{border:1px solid var(--color-border);background:var(--color-surface-subtle);grid-template-columns:1fr 1fr;gap:1px;margin-top:13px;display:grid}.knowledge-project-compare article{background:var(--color-surface);min-width:0;padding:11px}.knowledge-project-compare strong{color:var(--color-ink);margin-top:4px;font-size:12px;display:block}.knowledge-project-compare p{color:var(--color-muted);white-space:pre-wrap;margin-top:4px;font-size:12px;line-height:1.5}.knowledge-project-conflict-options{border:0;border-top:1px solid var(--color-border);gap:7px;margin:14px 0 0;padding:12px 0 0;display:grid}.knowledge-project-conflict-options label{color:var(--color-ink);font-size:12px}.project-profile-dialog{width:min(820px,100vw - 32px);max-height:calc(100vh - 48px);color:var(--color-ink);background:var(--color-surface);box-shadow:var(--shadow-dialog);border:0;border-radius:12px;padding:0;overflow:hidden}.project-profile-dialog::backdrop{background:var(--color-overlay)}.project-profile-fields{grid-template-columns:minmax(0,1fr) 180px;gap:13px;padding:20px 0;display:grid}.project-profile-fields label,.project-source-row label{color:var(--color-muted);align-content:start;gap:6px;font-size:12px;font-weight:600;display:grid}.project-profile-fields small{color:var(--color-muted);font-size:12px;font-weight:500}.project-profile-wide-field{grid-column:1/-1}.project-source-editor{border-top:1px solid var(--color-border);padding:18px 0}.project-source-editor-heading{outline:none;justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.project-source-editor-heading h4{color:var(--color-ink);margin:0;font-size:13px}.project-source-editor-heading p{color:var(--color-muted);margin-top:4px;font-size:12px;line-height:1.5}.project-source-list{gap:9px;margin-top:14px;display:grid}.project-source-row{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);grid-template-columns:minmax(180px,1fr) 150px auto;align-items:end;gap:10px;padding:12px;display:grid}.project-source-wide-field{grid-column:1/span 2}.project-source-remove{min-height:32px;color:var(--color-danger);background:0 0;border:0;padding:6px 9px;font-size:12px}.project-source-remove:hover{color:var(--color-danger);text-decoration:underline}@media (width<=1180px){.app-shell{grid-template-columns:210px 1fr}.personal-profile-layout{grid-template-columns:minmax(0,1fr) 300px}.personal-profile-table-head,.personal-profile-row{grid-template-columns:78px minmax(190px,1fr) minmax(135px,.75fr) 105px}}.quiet-button.mobile-nav-toggle,.quiet-button.mobile-nav-close{display:none}@media (width<=720px){.service-connection-grid{grid-template-columns:minmax(0,1fr)}.service-connection-card dl>div{grid-template-columns:minmax(64px,.3fr) minmax(0,1fr)}.view.vue-personal-profile{padding:16px}.personal-profile-summary{flex:none;grid-template-columns:repeat(4,minmax(0,1fr));padding:8px;display:grid}.personal-profile-summary>button{min-width:0;padding:6px}.personal-profile-summary>p{grid-column:1/-1;margin:8px 6px 0}.personal-profile-toolbar,.personal-profile-filter-groups{flex-wrap:wrap;gap:8px}.personal-profile-filter-groups,.personal-profile-toolbar-actions{width:100%;min-width:0}.personal-profile-filters{max-width:100%;overflow-x:auto}.personal-profile-filters button{white-space:nowrap;flex:none}.personal-profile-scope-filter{width:100%}.personal-profile-table-head,.personal-profile-row{grid-template-columns:64px minmax(0,1fr) 72px;gap:8px;padding-inline:10px}.personal-profile-table-head>:last-child,.personal-profile-row>time{display:none}.personal-profile-origin{min-width:0;overflow:hidden}.external-binding-form,.conflict-policy-controls{grid-template-columns:minmax(0,1fr)}.external-binding-form .wide-field{grid-column:auto}}.mobile-nav-backdrop{display:none}@media (width<=920px){.personal-profile-layout:not(.has-selection),.knowledge-layout:not(.has-selection){grid-template-rows:minmax(0,1fr)}.personal-profile-layout:not(.has-selection) .personal-profile-inspector,.knowledge-layout:not(.has-selection) .graph-inspector{display:none}.personal-profile-layout,.knowledge-layout{grid-template-rows:minmax(160px,1fr) minmax(160px,.8fr);grid-template-columns:minmax(0,1fr)}.personal-profile-inspector,.graph-inspector{border-left:0;border-top:1px solid var(--color-border);min-width:0;min-height:0}body{min-width:0}.app-shell{flex-direction:column;width:100%;height:100dvh;display:flex}.sidebar{z-index:40;border-right:1px solid var(--color-border);width:min(320px,100vw - 48px);height:100dvh;padding:12px 14px 16px;display:none;position:fixed;inset:0 auto 0 0;overflow:hidden}.mobile-nav-backdrop{z-index:30;background:var(--color-overlay);border:0;width:100%;height:100%;padding:0;display:block;position:fixed;inset:0}.sidebar.is-mobile-open{display:flex}.quiet-button.mobile-nav-close{flex:none;align-self:flex-end;margin-bottom:8px;display:inline-flex}.workspace{flex:auto;min-width:0;height:auto}.topbar{flex-wrap:wrap;gap:8px 10px;min-height:auto;padding:10px 12px}.quiet-button.mobile-nav-toggle{flex:none;align-items:center;gap:7px;width:38px;padding-inline:10px;display:inline-flex}.mobile-nav-icon{border-top:1.5px solid;border-bottom:1.5px solid;width:15px;height:10px;position:relative}.mobile-nav-icon:after{content:"";border-top:1.5px solid;position:absolute;inset:3px 0 auto}.topbar-heading{flex:100px}.topbar-heading h1{font-size:22px}.view{padding:16px 20px 24px}.topbar-actions{justify-content:flex-end;gap:8px;margin-left:auto}.feedback{margin:12px 16px 0}}.external-binding-copy{min-width:0;padding:10px 0}.external-binding-row strong{overflow-wrap:anywhere;font-size:14px}.external-binding-targets{flex-wrap:wrap;align-items:center;gap:5px;margin-top:7px;display:flex}.external-binding-row .external-binding-targets b{color:var(--color-muted);font-size:12px;font-weight:650}.external-binding-row .external-binding-target-chip{border:1px solid var(--color-border);width:fit-content;color:var(--color-ink);background:var(--color-surface-subtle);border-radius:999px;align-items:center;margin:0;padding:3px 7px;font-size:12px;font-weight:620;display:inline-flex}.external-binding-row .external-binding-target-chip[data-status=error]{border-color:var(--color-danger-soft);color:var(--color-danger);background:var(--color-surface)}.external-binding-editor{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);grid-column:1/-1;grid-template-columns:repeat(4,minmax(150px,1fr));align-items:end;gap:10px;margin:8px 0 16px;padding:15px;display:grid}.external-binding-editor>label{min-width:0;color:var(--color-muted);grid-area:1/1/auto/4;gap:5px;font-size:12px;display:grid}.external-binding-editor .ui-select{width:100%;min-width:0}.external-target-mode-list{grid-area:2/1/auto/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 10px;display:grid}.external-target-mode-row{border:1px solid var(--color-border);background:var(--color-surface);border-radius:6px;grid-template-columns:minmax(120px,.62fr) minmax(170px,1fr);align-items:center;gap:12px;min-width:0;padding:8px 10px;display:grid}.external-binding-row .external-target-mode-row>span{min-width:0;color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:12px;font-weight:620;overflow:hidden}.external-binding-editor-actions{grid-area:1/4;justify-content:flex-end;gap:6px;display:flex}.external-binding-editor-actions button{min-height:36px}.external-create-action-icon{width:16px;height:16px;color:var(--color-surface);border:1px solid #ffffffb8;border-radius:50%;flex:0 0 16px;justify-content:center;align-items:center;display:inline-flex;position:relative}.external-create-action-icon:before,.external-create-action-icon:after{content:"";background:currentColor;border-radius:999px;width:7px;height:1.5px;display:block;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.external-create-action-icon:after{transform:translate(-50%,-50%)rotate(90deg)}@media (width<=1280px){.external-binding-editor{grid-template-columns:repeat(2,minmax(180px,1fr))}.external-binding-editor>label{grid-column:1/-1}.external-target-mode-list{grid-template-columns:1fr}.external-binding-editor-actions{grid-area:3/1/auto/-1}}@media (width<=720px){.external-binding-row{grid-template-columns:8px minmax(0,1fr);gap:6px 10px;padding:12px 0}.external-binding-actions{grid-column:2;justify-content:flex-start}.external-binding-copy{padding:0}.external-binding-editor{grid-template-columns:minmax(0,1fr);padding:12px}.external-target-mode-row{grid-template-columns:minmax(0,1fr);gap:6px}}.graph-stage{background:var(--color-surface);grid-template-columns:minmax(0,1fr);min-width:0;min-height:520px;display:grid;position:relative;overflow:hidden}.graph-stage.has-parent-projects{grid-template-columns:minmax(190px,220px) minmax(0,1fr)}.graph-canvas-active .graph-stage{min-height:0}.graph-canvas-panel{min-width:0;min-height:0;position:relative;overflow:hidden}#knowledge-graph{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}#knowledge-graph:active{cursor:grabbing}.project-hierarchy-aside{z-index:4;border-right:1px solid var(--color-border);background:var(--color-surface);min-width:0;padding:18px 16px;position:relative}.project-hierarchy-aside header{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:3px 8px;display:grid}.project-hierarchy-aside header>span{color:var(--color-muted);letter-spacing:.1em;grid-column:1/-1;font-size:12px;font-weight:720}.project-hierarchy-aside header>strong{color:var(--color-ink);font-size:15px;font-weight:680}.project-hierarchy-aside header>small{color:var(--color-muted);background:var(--color-surface-subtle);border-radius:999px;padding:2px 6px;font-size:12px;font-weight:680}.project-hierarchy-aside>p{color:var(--color-muted);margin-top:7px;font-size:12px;line-height:1.5}.project-hierarchy-aside nav{border-top:1px solid var(--color-border);margin-top:14px;display:grid}.project-parent-link{border-bottom:1px solid var(--color-border);min-width:0;color:inherit;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:9px;padding:12px 1px;text-decoration:none;display:grid}.project-parent-link:hover{background:var(--color-surface)}.project-parent-link:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.project-parent-icon{border-radius:var(--radius-control);width:32px;height:32px;color:var(--color-ink);background:var(--color-surface-subtle);place-items:center;display:grid}.project-parent-icon svg{width:17px;height:17px}.project-parent-icon path{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round}.project-parent-link>span:nth-child(2){gap:2px;min-width:0;display:grid}.project-parent-link small{color:var(--color-muted);font-size:12px}.project-parent-link strong{color:var(--color-ink);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:680;overflow:hidden}.project-parent-link em{color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-style:normal;overflow:hidden}.project-parent-link b{color:var(--color-muted);font-size:12px;font-weight:680}.graph-relation-legend{z-index:4;position:absolute;top:12px;left:12px}.graph-relation-legend>summary{border:1px solid var(--color-border);border-radius:var(--radius-control);min-height:30px;color:var(--color-ink);cursor:pointer;background:#fffffff2;grid-template-columns:15px auto auto 8px;align-items:center;gap:6px;padding:5px 8px;font-size:12px;font-weight:660;list-style:none;display:grid;box-shadow:0 3px 12px #26342b14}.graph-relation-legend>summary::-webkit-details-marker{display:none}.graph-relation-legend>summary svg{width:15px;height:15px}.graph-relation-legend>summary path{fill:none;stroke:var(--color-muted);stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round}.graph-relation-legend>summary small{min-width:17px;color:var(--color-muted);background:var(--color-surface-subtle);text-align:center;border-radius:999px;justify-self:end;width:fit-content;padding:1px 5px;font-size:12px}.graph-relation-legend>summary i{border-right:1.3px solid var(--color-muted);border-bottom:1.3px solid var(--color-muted);width:6px;height:6px;transform:translateY(-2px)rotate(45deg)}.graph-relation-legend[open]>summary i{transform:translateY(2px)rotate(225deg)}.graph-relation-legend-panel{border:1px solid var(--color-border);border-radius:var(--radius-control);width:250px;box-shadow:var(--shadow-popover);background:#fffffffa;margin-top:6px;padding:12px}.graph-relation-legend-panel header{gap:2px;padding-bottom:9px;display:grid}.graph-relation-legend-panel header strong{color:var(--color-ink);font-size:12px}.graph-relation-legend-panel header span{color:var(--color-muted);font-size:12px}.graph-relation-legend-panel ul{border-top:1px solid var(--color-border);max-height:300px;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.graph-relation-legend-panel li{border-bottom:1px solid var(--color-border);grid-template-columns:28px minmax(0,1fr);align-items:center;gap:8px;min-width:0;padding:8px 0;display:grid}.graph-relation-legend-panel li:last-child{border-bottom:0}.graph-relation-legend-panel li>svg{border-radius:var(--radius-control);width:28px;height:28px;color:var(--color-muted);background:var(--color-surface-subtle);padding:6px}.graph-relation-legend-panel li path{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round}.graph-relation-legend-panel li>span{gap:2px;min-width:0;display:grid}.graph-relation-legend-panel li strong{color:var(--color-ink);font-size:12px}.graph-relation-legend-panel li small{color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.graph-search-status{z-index:3;box-sizing:border-box;border:1px solid var(--color-border);border-radius:var(--radius-control);width:min(440px,100% - 36px);color:var(--color-ink);box-shadow:var(--shadow-popover);background:#fffffff7;padding:15px 16px;position:absolute;top:18px;left:50%;transform:translate(-50%)}.graph-search-status[hidden]{display:none}.graph-search-status-kicker{color:var(--color-warning);letter-spacing:.08em;margin-bottom:5px;font-size:12px;font-weight:720;display:block}.graph-search-status-title{font-size:14px;font-weight:680;display:block}.graph-search-status-copy{color:var(--color-muted);margin-top:5px;font-size:12px;line-height:1.55}.graph-search-suggestions{gap:5px;margin-top:11px;display:grid}.graph-search-suggestion{border:1px solid var(--color-border);color:inherit;background:var(--color-surface);border-radius:6px;justify-content:space-between;align-items:center;gap:18px;padding:8px 9px;text-decoration:none;display:flex}.graph-search-suggestion:hover{border-color:var(--color-border-strong);background:var(--color-surface-subtle)}.graph-search-suggestion>span{gap:2px;min-width:0;display:grid}.graph-search-suggestion strong{color:var(--color-ink);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.graph-search-suggestion small{color:var(--color-muted);font-size:12px}.graph-search-suggestion b{color:var(--color-ink);flex:none;font-size:12px;font-weight:680}.graph-empty{color:var(--color-muted);pointer-events:none;place-items:center;font-size:13px;display:grid;position:absolute;inset:0}.graph-hint{color:var(--color-muted);text-align:right;margin-top:8px;font-size:12px}.graph-edge{stroke:var(--color-border-strong);stroke-width:1.2px;opacity:.72;pointer-events:none;transition:opacity .12s,stroke .12s,stroke-width .12s}.graph-edge.historical{stroke-dasharray:5 4;opacity:.45}.graph-edge.human-change-pending{stroke:var(--color-warning);stroke-width:2.2px;stroke-dasharray:4 3;opacity:.9}.graph-edge.human-change-viewed{stroke:var(--color-muted)}.graph-edge-hit{stroke:#0000;stroke-width:15px;cursor:pointer}.graph-edge-label{opacity:.9;pointer-events:none;transition:opacity .12s}.graph-edge-label-bg{fill:#f9faf8f0;stroke:var(--color-border);stroke-width:.8px;transition:fill .12s,stroke .12s}.graph-edge-label-icon{fill:none;stroke:var(--color-muted);stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;transition:stroke .12s}.graph-edge-label-text{fill:var(--color-muted);pointer-events:none;font-size:8.5px;font-weight:650;transition:fill .12s}.graph-arrow{fill:var(--color-muted)}.graph-node{cursor:move;outline:none;transition:opacity .12s}.graph-node-human-marker{fill:var(--color-warning);stroke:var(--color-surface);stroke-width:1.5px;pointer-events:none}.graph-node.human-change-viewed .graph-node-human-marker{fill:var(--color-muted)}.graph-node-shape{stroke:var(--color-surface);stroke-width:2.5px;filter:drop-shadow(0 1px 2px #1c2a2126);transition:stroke .12s,stroke-width .12s,opacity .12s}.graph-project-ring{fill:var(--color-surface);stroke:var(--color-border-strong);stroke-width:1.5px;filter:drop-shadow(0 2px 4px #1f31271f);transition:fill .12s,stroke .12s,stroke-width .12s}.graph-node.project-node .graph-node-shape{fill:var(--color-ink);stroke:var(--color-surface);stroke-width:2.5px}.graph-project-icon{fill:none;stroke:var(--color-surface);stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.graph-node-label{fill:var(--color-ink);text-anchor:middle;pointer-events:none;paint-order:stroke;stroke:var(--color-surface);stroke-width:3px;stroke-linejoin:round;font-size:12px;font-weight:540;transition:opacity .12s}.graph-node-id{fill:var(--color-muted);letter-spacing:.02em;text-anchor:middle;pointer-events:none;opacity:0;paint-order:stroke;stroke:var(--color-surface);stroke-width:2.5px;stroke-linejoin:round;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:7px;font-weight:560;transition:opacity .12s}.graph-node.project-node .graph-node-id{opacity:.72}.graph-search-badge{pointer-events:none;display:none}.graph-search-badge rect{fill:var(--color-warning-soft);stroke:var(--color-warning);stroke-width:1px}.graph-search-badge text{fill:var(--color-warning);text-anchor:middle;paint-order:stroke;stroke:var(--color-warning-soft);stroke-width:1px;font-size:12px;font-weight:740}.graph-node.search-match .graph-search-badge{display:block}.graph-node:hover .graph-node-id,.graph-node:focus-visible .graph-node-id,.graph-node.selected .graph-node-id{opacity:1}.graph-node:not(.project-node):hover .graph-node-shape,.graph-node:not(.project-node):focus-visible .graph-node-shape,.graph-node:not(.project-node).selected .graph-node-shape{stroke:var(--color-accent);stroke-width:3.5px}.graph-node:not(.project-node).related .graph-node-shape{stroke:var(--color-muted);stroke-width:3px}.graph-node.project-node:hover .graph-project-ring,.graph-node.project-node:focus-visible .graph-project-ring,.graph-node.project-node.selected .graph-project-ring{fill:var(--color-surface-subtle);stroke:var(--color-accent);stroke-width:2.4px}.graph-node.project-node.related .graph-project-ring{stroke:var(--color-muted);stroke-width:2px}.graph-node:not(.project-node).search-match .graph-node-shape{stroke:var(--color-warning);stroke-width:5px;filter:drop-shadow(0 0 5px #bd74166b)}.graph-node.project-node.search-match .graph-project-ring{fill:var(--color-warning-soft);stroke:var(--color-warning);stroke-width:3px;filter:drop-shadow(0 0 5px #bd741652)}.graph-node.pinned .graph-node-shape{stroke:var(--color-muted);stroke-width:3px}.graph-node.dimmed,.graph-edge.dimmed,.graph-edge-label.dimmed{opacity:.08}.graph-node.dimmed .graph-node-id{opacity:.05}.graph-edge.related{stroke:var(--color-muted);stroke-width:2px;opacity:.9}.graph-edge.selected{stroke:var(--color-accent);stroke-width:2.8px;opacity:1}.graph-edge.search-match{stroke:var(--color-warning);stroke-width:2.8px;opacity:1}.graph-edge-label.search-match{opacity:1}.graph-edge-label.search-match .graph-edge-label-bg{fill:var(--color-warning-soft);stroke:var(--color-warning)}.graph-edge-label.search-match .graph-edge-label-icon{stroke:var(--color-warning)}.graph-edge-label.search-match .graph-edge-label-text{fill:var(--color-warning)}.graph-edge-label.related,.graph-edge-label.selected{opacity:1}.graph-edge-label.related .graph-edge-label-bg,.graph-edge-label.selected .graph-edge-label-bg{fill:var(--color-surface-subtle);stroke:var(--color-accent)}.graph-edge-label.related .graph-edge-label-icon,.graph-edge-label.selected .graph-edge-label-icon{stroke:var(--color-accent)}.graph-edge-label.related .graph-edge-label-text,.graph-edge-label.selected .graph-edge-label-text{fill:var(--color-accent);font-weight:700}.graph-viewport--compact-labels .graph-node-label,.graph-viewport--compact-labels .graph-node .graph-node-id,.graph-viewport--compact-labels .graph-edge-label{opacity:0}.graph-viewport--compact-labels .graph-node.project-node .graph-node-label,.graph-viewport--compact-labels .graph-node:is(:hover,:focus-visible,.selected,.search-match) .graph-node-label,.graph-viewport--compact-labels .graph-node:is(:hover,:focus-visible,.selected,.search-match) .graph-node-id,.graph-viewport--compact-labels .graph-edge-label:is(.hovered,.focused,.selected,.search-match){opacity:1}.knowledge-filter-disclosure{flex:none;padding-block:10px}.knowledge-filter-controls{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}@media (width<=720px){.knowledge-filter-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.graph-toolbar>.ui-select{width:100%}.graph-toolbar .search-form{flex:160px;min-width:0}.graph-view-actions{border-left:0;padding-left:0}.knowledge-mode-switch{gap:20px}}#app{height:100%}.feedback-message{align-items:center;gap:12px;display:flex}.feedback-message>span{overflow-wrap:anywhere;flex:1;min-width:0}.feedback-dismiss{min-width:44px;min-height:44px;color:inherit;background:0 0;border:0;flex:none}.status-dot.idle{background:var(--color-muted)}.view-loading{min-height:240px;color:var(--color-muted);place-items:center;font-size:12px;display:grid}.inline-error{color:var(--color-danger)}.inspector-meta>div{min-width:0}.inspector-meta dd{overflow-wrap:anywhere}.inspector-placeholder{color:var(--color-muted);font-size:12px;line-height:1.55}.feedback,.project-card,.knowledge-row,.personal-profile-row{transition:border-color .15s,background-color .15s}.vue-personal-profile{flex-direction:column;padding:18px 32px 20px;display:flex;overflow:hidden}.vue-knowledge-view{flex-direction:column;padding:18px 24px 20px;display:flex;overflow:hidden}.vue-knowledge-view .knowledge-layout{flex:1;min-height:0}.compact-relation-form{grid-template-columns:repeat(3,minmax(180px,1fr)) auto;align-items:end;gap:12px;padding:16px;display:grid}.compact-relation-form label{color:var(--color-muted);gap:5px;font-size:12px;display:grid}.compact-relation-form select{min-width:0}.compact-relation-form .ui-select{width:100%;min-width:0}.compact-relation-preview{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);grid-column:1/-1;gap:4px;padding:11px 12px;display:grid}.compact-relation-preview span{color:var(--color-muted);letter-spacing:.08em;font-size:12px;font-weight:700}.compact-relation-preview strong{color:var(--color-ink);font-size:12px}.compact-relation-preview p{color:var(--color-muted);font-size:12px;line-height:1.5}@media (width<=1180px){.compact-relation-form{grid-template-columns:repeat(2,minmax(180px,1fr))}}.locale-switcher{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface-subtle);align-items:center;gap:2px;padding:2px;display:inline-flex}.locale-switcher button{min-width:30px;min-height:26px;color:var(--color-muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:0 7px;font-size:12px;font-weight:700}.locale-switcher button:hover{color:var(--color-ink)}.locale-switcher button[aria-pressed=true]{background:var(--color-surface);color:var(--color-ink);box-shadow:0 1px 2px #20342a1f}:where(button,input,select,textarea){font:inherit;color:inherit}:where(button,a,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}:where(button):disabled{cursor:not-allowed;opacity:.45}:where(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),select,textarea){min-width:0;min-height:var(--control-height);border:1px solid var(--color-control-border);border-radius:var(--radius-control);color:var(--color-ink);background:var(--color-surface);transition:border-color var(--motion-fast), box-shadow var(--motion-fast);padding:7px 11px;font-size:14px;line-height:1.5}:where(input,textarea)::placeholder{color:var(--color-faint);opacity:1}:where(textarea){resize:vertical;line-height:1.6}:where(input:not([type=checkbox]):not([type=radio]),textarea,select):hover:not(:disabled){border-color:var(--color-border-strong)}:where(input:not([type=checkbox]):not([type=radio]),textarea,select):focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-soft);outline:none}:where(input,textarea,select):disabled{color:var(--color-muted);background:var(--color-surface-subtle);cursor:not-allowed}:where(select){appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%2366706a' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m3 4.5 3 3 3-3'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;padding-right:32px}:where(input[type=checkbox]:not([role=switch]),input[type=radio]){appearance:none;border:1.5px solid var(--color-control-border);background:var(--color-surface);cursor:pointer;width:16px;height:16px;transition:background-color var(--motion-fast), border-color var(--motion-fast);flex:none;place-content:center;margin:0;display:inline-grid}:where(input[type=checkbox]:not([role=switch])){border-radius:4px}:where(input[type=radio]){border-radius:50%}:where(input[type=checkbox]:not([role=switch]),input[type=radio]):checked{border-color:var(--color-accent);background:var(--color-accent)}:where(input[type=checkbox]:not([role=switch])):checked:after{content:"";border:solid var(--color-on-accent);border-width:0 0 2px 2px;width:9px;height:5px;margin-top:-2px;transform:rotate(-45deg)}:where(input[type=radio]):checked:after{content:"";background:var(--color-on-accent);border-radius:50%;width:6px;height:6px}:where(input[type=checkbox],input[type=radio]):disabled{opacity:.5;cursor:not-allowed}.ui-button,.quiet-button,.primary-button,.primary-action,.secondary-action,.management-action,.toolbar-action{min-height:var(--control-height);border:1px solid var(--color-border-strong);border-radius:var(--radius-control);color:var(--color-ink);background:var(--color-surface);letter-spacing:.01em;white-space:nowrap;cursor:pointer;transition:background-color var(--motion-fast), border-color var(--motion-fast), color var(--motion-fast);justify-content:center;align-items:center;gap:6px;padding:6px 14px;font-size:13px;font-weight:550;line-height:1.4;text-decoration:none;display:inline-flex}.ui-button:hover:not(:disabled),.quiet-button:hover:not(:disabled),.secondary-action:hover:not(:disabled),.management-action:hover:not(:disabled){background:var(--color-surface-hover);border-color:var(--color-control-border)}.ui-button--primary,.primary-button,.primary-action{color:var(--color-on-accent);background:var(--color-accent);border-color:var(--color-accent)}.ui-button--primary:hover:not(:disabled),.primary-button:hover:not(:disabled),.primary-action:hover:not(:disabled){background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.ui-button--ghost,.toolbar-action{color:var(--color-ink-soft);background:0 0;border-color:#0000}.ui-button--ghost:hover:not(:disabled),.toolbar-action:hover:not(:disabled){background:var(--color-surface-hover);color:var(--color-ink)}.ui-button--danger,.quiet-button.danger{color:var(--color-danger)}.ui-button--danger:hover:not(:disabled),.quiet-button.danger:hover:not(:disabled){background:var(--color-danger-soft);border-color:var(--color-danger-soft)}.ui-button--sm{min-height:var(--control-height-sm);padding:4px 10px;font-size:12px}.ui-button--icon{width:var(--control-height);flex:none;padding:0}.ui-button--icon.ui-button--sm{width:var(--control-height-sm)}.ui-card{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);min-width:0}.ui-badge{background:var(--color-surface-subtle);width:fit-content;color:var(--color-ink-soft);white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:2px 8px;font-size:12px;font-weight:500;line-height:1.5;display:inline-flex}.ui-badge--accent{color:var(--color-accent);background:var(--color-accent-soft)}.ui-badge--success{color:var(--color-success);background:var(--color-success-soft)}.ui-badge--warning{color:var(--color-warning);background:var(--color-warning-soft)}.ui-badge--danger{color:var(--color-danger);background:var(--color-danger-soft)}.ui-muted{color:var(--color-muted)}.ui-meta{color:var(--color-muted);font-size:var(--text-meta)}.ui-num{font-variant-numeric:tabular-nums}.ui-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.ui-empty{color:var(--color-muted);text-align:center;padding:48px 24px;font-size:14px}.ui-field{min-width:0;color:var(--color-ink-soft);gap:6px;font-size:13px;font-weight:500;display:grid}.ui-field>:is(input,textarea,select,.ui-select){width:100%;font-weight:400}.ui-check{color:var(--color-ink);cursor:pointer;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:9px;font-size:13px;line-height:1.5;display:grid}.ui-field-hint{color:var(--color-muted);font-size:12px;font-weight:400}.ui-sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.ui-disclosure{border-top:1px solid var(--color-border);padding-block:14px}.ui-disclosure>summary{cursor:pointer;color:var(--color-ink);justify-content:space-between;align-items:center;gap:12px;font-size:14px;font-weight:600;list-style:none;display:flex}.ui-disclosure>summary::-webkit-details-marker{display:none}.ui-disclosure>summary:after{content:"";border:solid var(--color-muted);width:7px;height:7px;transition:transform var(--motion-fast);border-width:0 1.5px 1.5px 0;margin:0 4px 4px;transform:rotate(45deg)}.ui-disclosure[open]>summary:after{margin-top:5px;transform:rotate(225deg)}.ui-disclosure[open]>summary{margin-bottom:14px}dialog{color:var(--color-ink)}dialog::backdrop{background:var(--color-overlay);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.ui-dialog{border:1px solid var(--color-border);border-radius:var(--radius-dialog);background:var(--color-surface);width:min(560px,100vw - 32px);max-height:calc(100dvh - 48px);box-shadow:var(--shadow-dialog);padding:0;overflow:hidden}.ui-dialog--sm{width:min(420px,100vw - 32px)}.ui-dialog--lg{width:min(760px,100vw - 32px)}.ui-dialog--xl{width:min(1040px,100vw - 32px)}.ui-dialog[open]{animation:ui-dialog-in .18s var(--motion-ease)}@keyframes ui-dialog-in{0%{opacity:0;transform:translateY(6px)scale(.99)}}.ui-dialog__shell{flex-direction:column;min-height:0;max-height:calc(100dvh - 50px);display:flex}.ui-dialog__header{justify-content:space-between;align-items:flex-start;gap:16px;padding:20px 24px 0;display:flex}.ui-dialog__header h2{letter-spacing:-.01em;margin:0;font-size:17px;font-weight:600}.ui-dialog__header p{color:var(--color-muted);margin-top:4px;font-size:13px}.ui-dialog__body{overscroll-behavior:contain;flex-direction:column;gap:16px;min-height:0;padding:18px 24px;display:flex;overflow-y:auto}.ui-dialog__footer{border-top:1px solid var(--color-border);background:var(--color-bg);justify-content:flex-end;align-items:center;gap:8px;padding:14px 24px;display:flex}.ui-dialog__error{border-radius:var(--radius-control);color:var(--color-danger);background:var(--color-danger-soft);justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;font-size:13px;display:flex}.ui-dialog__error p{margin:0}.ui-dialog__body textarea{resize:vertical}.ui-dialog fieldset{border:0;min-width:0;margin:0;padding:0}.ui-segmented{background:var(--color-surface-subtle);border-radius:10px;gap:2px;padding:3px;display:inline-flex}.ui-segmented>button{min-height:28px;color:var(--color-muted);cursor:pointer;transition:background-color var(--motion-fast), color var(--motion-fast);background:0 0;border:0;border-radius:7px;padding:3px 12px;font-size:13px;font-weight:500}.ui-segmented>button:hover{color:var(--color-ink)}.ui-segmented>button[aria-pressed=true],.ui-segmented>button[aria-selected=true],.ui-segmented>button[aria-checked=true]{color:var(--color-ink);background:var(--color-surface);box-shadow:0 1px 2px #1b1f1d1a}.ui-segmented small{color:var(--color-faint);font-variant-numeric:tabular-nums;margin-left:4px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:0s!important;animation-duration:0s!important}}
|
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/SharedJefaReportPage-C56kPciB.js","assets/i18n-CVFhT_k7.js","assets/client-CR-W5Wzp.js","assets/_plugin-vue_export-helper-BDNMzG2s.js","assets/client-CIuQ1icy.css","assets/useApi-CROJJdhE-BYhbjaZB.js","assets/shared-report-CeIvrL9a.js","assets/ProjectScopePicker-yodM7lF_.js","assets/ProjectScopePicker-DYA7L1Ex.css","assets/shared-report-CGlCpmNd.css","assets/SharedJefaReportPage-D92FSPru.css","assets/RoundtablesPage-BjVhvwMc.js","assets/vue-router-DaxrQwX3.js","assets/RoundtablesPage-Cb0R4GaM.css","assets/OverviewPage-BD4yY2Xz.js","assets/console-D7GHOMEC.js","assets/attention-store-B1DI8wmd.js","assets/profile-model-BQO4zNs9.js","assets/useAgentRoster-DCArHlxK.js","assets/task-evidence-DTiPCs7r.js","assets/paths-CDREouhi.js","assets/agent-work-summary-C-yW7x7A.js","assets/OverviewPage-By-fUzSG.css","assets/PersonalProfilePage-DGJVP_VB.js","assets/UiDialog-CvDxg3B1.js","assets/UiSelect-CMR0QqF6.js","assets/UiSelect-Bv6R0yr1.css","assets/UiSegmented-DIJW6wv3.js","assets/KnowledgeInspector-Te1hJZbx.js","assets/model-WFhQZ3v_.js","assets/conversation-launcher-settings-Dj2GMzCI.js","assets/KnowledgeInspector-pgDELOEf.css","assets/KnowledgeEditDialog-ClnrfPZi.js","assets/identity-CM6Dmy00.js","assets/KnowledgeEditDialog-hT9znkoe.css","assets/personal-profile-graph-BwCh2M9G.js","assets/PersonalProfilePage-DrMDAAdy.css","assets/WritingTastePage-QgNzssfF.js","assets/UiDisclosure-D0iMTplF.js","assets/WritingTastePage-B_zYD1df.css","assets/PersonalProjectsPage-D25HYMgD.js","assets/KnowledgeWorkspace-cKn1NCRe.js","assets/KnowledgeWorkspace-D4a7FcAb.css","assets/KnowledgeOrganizerPage-CCCrWl6Y.js","assets/KnowledgeOrganizerPage-ccgscrPd.css","assets/AgentsDirectoryPage--1A9nvNA.js","assets/AgentHand-D_RafKOM.js","assets/AgentHand-Y83Oo36U.css","assets/agent-pins-BcJ_qr8n.js","assets/catalog-DbXv0_bR.js","assets/ProjectAgentFirstTask-BcxqmKXQ.js","assets/ProjectAgentFirstTask-Bi1ZsTC1.css","assets/EmployeeRecruitDialog-1QevD4Qv.js","assets/EmployeeRecruitDialog-CVbqCzHb.css","assets/AgentsDirectoryPage-C7OUQH9v.css","assets/agent-profile-BZj3ezWe.css","assets/AgentProfilePage-CioOdkBM.js","assets/AgentName-B5LKQ09q.js","assets/AgentName-BQTFCWn0.css","assets/AgentConversations-1iGTd4sz.js","assets/AgentConversations-XqNEBY_2.css","assets/ProjectAgentsPage-BWDJBESb.js","assets/ProjectAgentsPage-DWGkgIsr.css","assets/EmployeeWorkbenchPage-B0vQIgwA.js","assets/judgment-types-CJBEyJs1.js","assets/EmployeeWorkbenchPage-BQes4L1f.css","assets/PublicProjectsPage-CyNxVzW3.js","assets/PublicProjectsPage-DKamXDV9.css","assets/KnowledgePage-DGOcBwr8.js","assets/ReviewPage-Cy0Rt4CO.js","assets/ConnectionsPage-Tr2rRVOZ.js","assets/ConnectionsPage-CM9C-zEI.css","assets/SettingsPage-CCZqZtnH.js","assets/SettingsPage-DYz5bTwa.css","assets/AboutPage-BAD0iPVX.js","assets/fuli-logo-Bu9WBuQe.js","assets/AboutPage-c4dQpUiP.css","assets/NotFoundPage-fetSnp0N.js"])))=>i.map(i=>d[i]);
|
|
2
|
-
import{B as e,E as t,F as n,H as r,I as i,M as a,N as o,P as s,Q as c,R as l,S as u,T as d,V as f,_ as p,a as m,b as h,c as g,et as _,g as v,h as y,i as b,it as x,j as S,m as C,n as w,ot as T,r as E,rt as D,t as O,v as k,w as A,x as j,y as M}from"./i18n-CVFhT_k7.js";import{n as N,t as P}from"./console-D7GHOMEC.js";import{n as F,o as I}from"./client-CR-W5Wzp.js";import{t as L}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{n as R,t as z}from"./UiDialog-CvDxg3B1.js";import{m as B}from"./useApi-CROJJdhE-BYhbjaZB.js";import{i as V,n as H,r as U,t as W}from"./vue-router-DaxrQwX3.js";import{t as ee}from"./fuli-logo-Bu9WBuQe.js";import{t as te}from"./UiSelect-CMR0QqF6.js";import{n as ne,t as G}from"./attention-store-B1DI8wmd.js";import{t as re}from"./AgentHand-D_RafKOM.js";import{t as ie}from"./UiDisclosure-D0iMTplF.js";import{n as ae,t as K}from"./profile-model-BQO4zNs9.js";import{t as oe}from"./useAgentRoster-DCArHlxK.js";import{i as se,n as ce,r as q,t as le}from"./agent-pins-BcJ_qr8n.js";import{n as ue,t as de}from"./paths-CDREouhi.js";(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var J={name:`fuli-context`,version:`0.12.0`,description:`Local-first collaboration relationship graph for AI agents.`,type:`module`,files:[`README.zh-CN.md`,`npm-shrinkwrap.json`,`src/`,`dist/web/`,`docs/external-knowledge-architecture.md`,`docs/public-personal-architecture.md`,`docs/project-agent-memory.md`,`docs/agent-conversations-and-collaboration.md`,`docs/employee-agents.md`,`docs/agent-interface-architecture.md`,`docs/agent-roundtable.md`,`examples/external-knowledge/markdown-folder.mjs`,`graph-provider/Dockerfile`,`graph-provider/pyproject.toml`,`graph-provider/fuli_graph/*.py`,`graph-provider/fuli_graph/**/*.py`,`skills/`,`compose.graphiti.yml`,`docs/judgment-and-autonomy.md`],bin:{fl:`src/cli.js`,fuli:`src/cli.js`},keywords:[`ai-agent`,`mcp`,`context`,`knowledge-graph`,`local-first`,`codex`,`claude-code`],scripts:{mcp:`node src/mcp-server.js`,dev:`run-p dev:server dev:web`,"dev:server":`node src/server.js`,"dev:web":`vite`,build:`run-s typecheck:web build:web`,"build:web":`vite build`,"typecheck:web":`vue-tsc --noEmit -p tsconfig.app.json`,"test:node":`node --test`,"test:web":`vitest run --config vitest.config.ts`,"test:package":`node scripts/package-smoke.js`,"test:knowledge:live":`node acceptance/knowledge-live.js`,"test:external-knowledge:live":`node scripts/validate-external-knowledge-live.js`,start:`node src/server.js`,"graph:setup":`node src/graphiti/setup.js`,"graph:up":`docker compose -f compose.graphiti.yml up -d --build`,"graph:down":`docker compose -f compose.graphiti.yml down`,"test:structure":`node --test test/source-structure.test.js`,pretest:`npm run build:web`,test:`run-s typecheck:web test:node test:web`,prepack:`npm run build`,prepublishOnly:`npm test`},engines:{node:`>=24.12`},repository:{type:`git`,url:`git+https://github.com/JevonsCode/fuli.git`},homepage:`https://jevonscode.github.io/fuli/`,bugs:{url:`https://github.com/JevonsCode/fuli/issues`},publishConfig:{access:`public`},license:`Apache-2.0`,dependencies:{"@a2a-js/sdk":`1.3.0`,"@hono/node-server":`2.0.12`,"@modelcontextprotocol/sdk":`^1.31.0`,zod:`^4.4.3`},devDependencies:{"@types/d3":`^7.4.3`,"@types/node":`^24.13.3`,"@vitejs/plugin-vue":`^6.0.8`,"@vue/test-utils":`^2.4.11`,"brace-expansion":`5.0.12`,d3:`^7.9.0`,jsdom:`^29.1.1`,linkedom:`^0.18.12`,"npm-run-all2":`^9.0.2`,pinia:`^4.0.2`,typescript:`~6.0.0`,vite:`^8.1.5`,vitest:`^4.1.10`,vue:`^3.5.42`,"vue-i18n":`^11.4.8`,"vue-router":`^5.2.0`,"vue-tsc":`^3.3.8`},overrides:{"@modelcontextprotocol/sdk":{"@hono/node-server":`2.0.12`},"brace-expansion":`$brace-expansion`,"fast-uri":`3.1.8`,qs:`6.16.0`}}.version,fe=[`aria-label`],Y={class:`brand-mark-wrap`},pe=[`src`],me={class:`brand-copy`},he={class:`brand-title-row`},ge={class:`brand-name`},_e=[`aria-label`,`aria-expanded`],ve={class:`brand-version`},ye={key:1,class:`brand-version`},be={class:`brand-title-row`},xe={class:`brand-name`},Se={class:`brand-version`},Ce=[`aria-label`],we=[`href`],Te=L(t({__name:`BrandEasterEgg`,setup(e){let t=c(null),n=c(null),r=c(0),i=c(!1),l=c(!1),d=c(!1),f=c(null),p=k(()=>f.value?.status===`ready`&&f.value.updateAvailable&&!!f.value.latestVersion),h=k(()=>f.value?.latestVersion??``),g=k(()=>f.value?.packageUrl??`https://www.npmjs.com/package/fuli-context`),_=new AbortController,v=!1;function b(){r.value+=1,i.value=!0}function C(){i.value=!1}function w(){p.value&&(d.value=!d.value)}function E(e){v=!1,l.value=!1,d.value&&!t.value?.contains(e.target)&&(d.value=!1)}function O(e){e.key===`Tab`&&(v=!0),e.key===`Escape`&&d.value&&(e.preventDefault(),d.value=!1,S(()=>n.value?.focus()))}function A(){l.value=v}function N(){l.value=!1}return o(()=>{window.addEventListener(`pointerdown`,E,!0),window.addEventListener(`keydown`,O,!0),F(`/api/system/version`,{signal:_.signal}).then(e=>{f.value=e}).catch(()=>{})}),a(()=>{_.abort(),window.removeEventListener(`pointerdown`,E,!0),window.removeEventListener(`keydown`,O,!0)}),(e,a)=>(s(),u(`div`,{ref_key:`root`,ref:t,class:x([`brand-block`,{"is-sparkling":i.value,"is-keyboard-focused":l.value}])},[M(`button`,{class:`brand-effect-button`,type:`button`,"aria-label":D(m)(`console.brandEffect.aria`),onClick:b,onFocus:A,onBlur:N},[M(`span`,Y,[M(`img`,{class:`brand-mark`,src:D(ee),alt:``,"aria-hidden":`true`},null,8,pe),i.value?(s(),u(`span`,{key:`orbit-${r.value}`,class:`brand-orbit`,"aria-hidden":`true`})):j(``,!0)])],40,fe),M(`span`,me,[M(`span`,he,[M(`span`,ge,T(D(m)(`common.brand`)),1),p.value?(s(),u(`button`,{key:0,ref_key:`versionButton`,ref:n,class:`brand-version-button`,type:`button`,"aria-label":D(m)(`console.update.aria`,{version:h.value}),"aria-expanded":d.value,"aria-controls":`brand-update-details`,onClick:w},[M(`span`,ve,`v`+T(D(J)),1),a[0]||=M(`span`,{class:`brand-update-dot`,"aria-hidden":`true`},null,-1)],8,_e)):(s(),u(`span`,ye,`v`+T(D(J)),1))]),a[1]||=M(`span`,{class:`brand-subtitle`},`Context Graph`,-1),i.value?(s(),u(`span`,{key:`copy-reflection-${r.value}`,class:`brand-copy-reflection`,"aria-hidden":`true`,onAnimationend:y(C,[`self`])},[M(`span`,be,[M(`span`,xe,T(D(m)(`common.brand`)),1),M(`span`,Se,`v`+T(D(J)),1)])],32)):j(``,!0)]),d.value?(s(),u(`div`,{key:0,id:`brand-update-details`,class:`brand-update-popover`,role:`dialog`,"aria-label":D(m)(`console.update.title`,{version:h.value})},[M(`strong`,null,T(D(m)(`console.update.title`,{version:h.value})),1),M(`p`,null,T(D(m)(`console.update.copy`)),1),a[2]||=M(`code`,null,`fuli update --yes`,-1),M(`a`,{href:g.value,target:`_blank`,rel:`noopener noreferrer`},T(D(m)(`console.update.npmLink`)),9,we)],8,Ce)):j(``,!0)],2))}}),[[`__scopeId`,`data-v-68727ec7`]]),Ee=[`aria-label`],De=[`lang`,`aria-label`,`aria-pressed`,`onClick`],Oe=t({__name:`LocaleSwitcher`,setup(e){let t=k(()=>w()),n={"zh-CN":`中`,"en-US":`EN`};function r(e){e!==t.value&&b(e)}return(e,a)=>(s(),u(`div`,{class:`locale-switcher`,role:`group`,"aria-label":D(m)(`common.language.label`)},[(s(!0),u(v,null,i(D(O),e=>(s(),u(`button`,{key:e,type:`button`,lang:e,"aria-label":D(m)(e===`zh-CN`?`common.language.chinese`:`common.language.english`),"aria-pressed":t.value===e,onClick:t=>r(e)},T(n[e]),9,De))),128))],8,Ee))}}),X=_(null);function ke(e){let t=e.onError((t,n)=>{let r=e.resolve(n).href;!r.startsWith(`/`)||r.startsWith(`//`)||(X.value={href:r,resourceFailure:/dynamically imported module|module script|loading chunk|preload css|importing a module/i.test(String(t))})}),n=e.afterEach((e,t,n)=>{n||(X.value=null)});return()=>{t(),n()}}var Ae={key:0,class:`navigation-recovery`,role:`alert`},je=[`href`],Me=L(t({__name:`NavigationRecovery`,setup(e){return(e,t)=>D(X)?(s(),u(`div`,Ae,[M(`div`,null,[M(`strong`,null,T(D(m)(`routes.loadFailure.title`)),1),M(`p`,null,T(D(m)(D(X).resourceFailure?`routes.loadFailure.resources`:`routes.loadFailure.message`)),1)]),M(`a`,{href:D(X).href,class:`quiet-button`},T(D(m)(`routes.loadFailure.reload`)),9,je),M(`button`,{type:`button`,class:`navigation-recovery-dismiss`,onClick:t[0]||=e=>X.value=null},T(D(m)(`routes.loadFailure.dismiss`)),1)])):j(``,!0)}}),[[`__scopeId`,`data-v-d154c242`]]);function Ne(e){let t=e.requestedAction.split(`
|
|
3
|
-
`).map(e=>e.trim()).filter(e=>/^[A-F][.、))::]\s*\S/.test(e));return/(?:选择|选项|choose|select|options?|pick)/iu.test(e.requestedAction)&&t.length>=2&&t.every((e,t)=>e[0]===String.fromCharCode(65+t))?t.map((e,t)=>({id:`option-${t}`,label:e,value:e})):({approval:[`agree`,`decline`],review:[`accept`,`revise`],permission:[`agree`,`decline`],blocked:[`resolved`,`clarify`],question:[`clarify`]}[e.kind]??[`clarify`]).map(e=>({id:e,label:m(`attention.replies.${e}`),value:m(`attention.replies.${e}`)}))}function Pe(e,t,n){if(e===`other`)return t.trim();let r=n.find(t=>t.id===e);return r?[r.value,t.trim()].filter(Boolean).join(`
|
|
4
|
-
|
|
5
|
-
`):``}var Fe={class:`attention-question`},Ie={class:`attention-context`},Le=[`disabled`],Re=[`name`,`value`,`checked`,`onChange`],ze=[`name`,`checked`],Be={class:`attention-input`},Ve=[`for`],He=[`id`,`value`,`required`,`disabled`,`placeholder`],Ue={key:0,role:`alert`,class:`inline-error attention-response-error`},We={key:1,role:`alert`,class:`inline-error`},Ge={class:`attention-submit`},Ke=[`disabled`],qe={key:1},Je=L(t({__name:`AttentionReply`,props:{item:{},modelValue:{},busy:{type:Boolean},refreshing:{type:Boolean},error:{}},emits:[`update:modelValue`,`submit`],setup(e,{emit:t}){let n=e,a=t,o=k(()=>Ne(n.item)),c=k(()=>Pe(n.modelValue.choice,n.modelValue.text,o.value));function l(e){a(`update:modelValue`,{...n.modelValue,...e})}function d(){!n.busy&&!n.refreshing&&c.value&&c.value.length<=4096&&a(`submit`,c.value)}return(t,n)=>(s(),u(`form`,{class:`attention-reply`,onSubmit:y(d,[`prevent`])},[M(`div`,Fe,[M(`h3`,null,T(e.item.title),1),M(`p`,null,T(e.item.requestedAction),1)]),(s(),h(ie,{key:e.item.requestId,title:D(m)(`attention.context`)},{default:r(()=>[M(`p`,Ie,T(e.item.detail),1)]),_:1},8,[`title`])),M(`fieldset`,{disabled:e.busy||e.refreshing,class:`attention-choices`},[M(`legend`,null,T(D(m)(`attention.chooseReply`)),1),(s(!0),u(v,null,i(o.value,t=>(s(),u(`label`,{key:t.id,class:x([`attention-choice`,{"is-selected":e.modelValue.choice===t.id}])},[M(`input`,{type:`radio`,name:`reply-${e.item.requestId}`,value:t.id,checked:e.modelValue.choice===t.id,onChange:e=>l({choice:t.id})},null,40,Re),M(`span`,null,T(t.label),1)],2))),128)),M(`label`,{class:x([`attention-choice`,{"is-selected":e.modelValue.choice===`other`}])},[M(`input`,{type:`radio`,name:`reply-${e.item.requestId}`,value:`other`,checked:e.modelValue.choice===`other`,onChange:n[0]||=e=>l({choice:`other`})},null,40,ze),M(`span`,null,T(D(m)(`attention.other`)),1)],2)],8,Le),M(`div`,Be,[M(`label`,{for:`attention-${e.item.requestId}`},T(e.modelValue.choice===`other`?D(m)(`attention.response`):D(m)(`attention.note`)),9,Ve),M(`textarea`,{id:`attention-${e.item.requestId}`,value:e.modelValue.text,rows:`3`,maxlength:`4096`,required:e.modelValue.choice===`other`,disabled:e.busy||e.refreshing,placeholder:D(m)(`attention.placeholder`),onInput:n[1]||=t=>l({text:t.target.value,choice:e.modelValue.choice||`other`})},null,40,He)]),e.error?(s(),u(`p`,Ue,T(e.error),1)):j(``,!0),c.value.length>4096?(s(),u(`p`,We,T(D(m)(`attention.tooLong`)),1)):j(``,!0),M(`div`,Ge,[M(`p`,null,T(D(m)(`attention.replyHint`)),1),M(`button`,{type:`submit`,class:`primary-action`,disabled:e.busy||e.refreshing||!c.value||c.value.length>4096},[e.busy?(s(),h(I,{key:0,variant:`inline`,label:D(m)(`attention.sending`)},null,8,[`label`])):(s(),u(`span`,qe,T(D(m)(`attention.send`)),1))],8,Ke)])],32))}}),[[`__scopeId`,`data-v-6b64bc2c`]]),Ye=[`aria-label`],Xe={class:`attention-nav-status`},Ze=[`title`],Qe={key:0,role:`alert`,class:`attention-error`},$e={key:2,class:`attention-empty`},et=[`aria-busy`],tt=[`aria-label`],nt={class:`attention-queue-toolbar`},rt={class:`attention-request-list`},it=[`aria-current`,`disabled`,`onClick`],at={class:`attention-request-meta`},ot={class:`attention-request-project`},st={class:`attention-detail-meta`},ct={class:`ui-badge`},lt=[`href`],ut=t({__name:`AgentAttentionCenter`,props:{personalSpaceId:{},projects:{}},setup(t){let n=t,l=ne(),f=c({}),g=c({}),_=c(``),y=c(``),b=0,S=c({}),C=k(()=>S.value[_.value]??``),w=k(()=>l.items.find(e=>e.requestId===_.value)),E=k({get:()=>g.value[_.value]??{choice:``,text:``},set:e=>{w.value&&(g.value[_.value]={...e,revision:w.value.revision})}}),O=k(()=>new Map(n.projects.map(e=>[e.project_id,e.profile.name]))),N=k(()=>l.agentId?l.counts[l.agentId]??l.filteredTotal:l.total),P=k(()=>l.items.map(e=>({value:e.requestId,label:e.title,meta:`${f.value[e.agentId]||m(`attention.agentFallback`)} · ${O.value.get(e.personalProjectId)||m(`attention.projectFallback`)}`})));e(()=>n.personalSpaceId,e=>{b++,y.value=``,f.value={},g.value={},_.value=``,S.value={},l.setSpace(e===`current`?``:e)},{immediate:!0}),e(()=>l.open,async e=>{if(!e)return;let t=l.spaceId;try{let e=await F(`/api/project-agents?${new URLSearchParams({personalSpaceId:t})}`);t===l.spaceId&&(f.value=Object.fromEntries(e.map(e=>[e.agentId,e.profile.displayName||e.profile.name])))}catch{}}),e(()=>l.items,e=>{e.some(e=>e.requestId===_.value)||(_.value=e[0]?.requestId??``);for(let t of e){let e=g.value[t.requestId];e&&e.revision!==t.revision&&(g.value[t.requestId]={choice:``,text:e.text,revision:t.revision},S.value[t.requestId]=m(`attention.updated`))}});let L;function B(){document.visibilityState===`visible`&&!l.loading&&!l.open&&l.refresh()}o(()=>{L=setInterval(B,3e4),document.addEventListener(`visibilitychange`,B)}),a(()=>{clearInterval(L),document.removeEventListener(`visibilitychange`,B),l.setSpace(``)});async function V(e,t){if(y.value||!t.trim()||t.length>4096)return;let n=l.spaceId,r=++b;y.value=e.requestId,delete S.value[e.requestId];try{await l.respond(e,t),r===b&&n===l.spaceId&&delete g.value[e.requestId]}catch(t){r===b&&n===l.spaceId&&(S.value[e.requestId]=t instanceof Error?t.message:String(t),await l.refresh())}finally{r===b&&(y.value=``)}}return(e,t)=>(s(),u(v,null,[M(`button`,{class:`space-nav-button attention-nav`,"aria-label":D(l).total?`${D(m)(`attention.title`)} · ${D(m)(`attention.count`,{count:D(l).total})}`:D(m)(`attention.title`),type:`button`,onClick:t[0]||=e=>D(l).show()},[t[9]||=M(`span`,{class:`nav-icon nav-icon-review`,"aria-hidden":`true`},null,-1),M(`span`,null,T(D(m)(`attention.title`)),1),M(`span`,Xe,[d(re,{passive:``,"count-only":``}),D(l).error?(s(),u(`span`,{key:0,title:D(m)(`attention.loadError`)},`!`,8,Ze)):j(``,!0)])],8,Ye),(s(),h(p,{to:`body`},[d(z,{open:D(l).open,class:`attention-dialog`,size:`xl`,busy:!!y.value,title:D(m)(`attention.title`),description:N.value?D(m)(`attention.count`,{count:N.value}):void 0,onClose:t[8]||=e=>D(l).open=!1},{default:r(()=>[D(l).error?(s(),u(`div`,Qe,[M(`span`,null,T(D(m)(`attention.loadError`)),1),d(R,{size:`sm`,disabled:D(l).loading,onClick:t[1]||=e=>D(l).refresh()},{default:r(()=>[A(T(D(m)(`attention.refresh`)),1)]),_:1},8,[`disabled`])])):j(``,!0),D(l).loading&&!D(l).items.length?(s(),h(I,{key:1,variant:`page`,label:D(m)(`attention.loading`)},null,8,[`label`])):!D(l).items.length&&!D(l).error?(s(),u(`div`,$e,[t[10]||=M(`span`,{"aria-hidden":`true`},`✓`,-1),M(`p`,null,T(D(m)(`attention.empty`)),1)])):D(l).items.length?(s(),u(`div`,{key:3,class:`attention-workspace`,"aria-busy":D(l).loading},[M(`aside`,{class:`attention-queue`,"aria-label":D(m)(`attention.queue`)},[M(`div`,nt,[M(`span`,null,T(D(l).agentId?f.value[D(l).agentId]||D(m)(`attention.agentFallback`):D(m)(`attention.all`)),1),D(l).agentId||!D(l).error?(s(),h(R,{key:0,size:`sm`,variant:`ghost`,disabled:D(l).loading||!!y.value,onClick:t[2]||=e=>D(l).agentId?D(l).show():D(l).refresh()},{default:r(()=>[A(T(D(l).agentId?D(m)(`attention.all`):D(m)(`attention.refresh`)),1)]),_:1},8,[`disabled`])):j(``,!0)]),d(te,{modelValue:_.value,"onUpdate:modelValue":t[3]||=e=>_.value=e,class:`attention-mobile-picker`,field:``,label:D(m)(`attention.selectRequest`),options:P.value,disabled:!!y.value},null,8,[`modelValue`,`label`,`options`,`disabled`]),M(`div`,rt,[(s(!0),u(v,null,i(D(l).items,e=>(s(),u(`button`,{key:e.requestId,type:`button`,class:x([`attention-request`,{"is-selected":_.value===e.requestId}]),"aria-current":_.value===e.requestId?`true`:void 0,disabled:!!y.value,onClick:t=>_.value=e.requestId},[M(`span`,at,[A(T(f.value[e.agentId]||D(m)(`attention.agentFallback`)),1),M(`span`,null,T(D(m)(`attention.kinds.${e.kind}`)),1)]),M(`strong`,null,T(e.title),1),M(`span`,ot,T(O.value.get(e.personalProjectId)||D(m)(`attention.projectFallback`)),1)],10,it))),128))]),D(l).items.length<D(l).filteredTotal?(s(),h(R,{key:0,class:`attention-more`,disabled:D(l).loading||!!y.value,onClick:t[4]||=e=>D(l).more()},{default:r(()=>[A(T(D(m)(`attention.more`)),1)]),_:1},8,[`disabled`])):j(``,!0)],8,tt),w.value?(s(),u(`section`,{key:w.value.requestId,class:`attention-detail`},[M(`div`,st,[M(`span`,null,T(f.value[w.value.agentId]||D(m)(`attention.agentFallback`))+` · `+T(O.value.get(w.value.personalProjectId)||D(m)(`attention.projectFallback`)),1),M(`span`,ct,T(D(m)(`attention.kinds.${w.value.kind}`)),1)]),d(Je,{modelValue:E.value,"onUpdate:modelValue":t[5]||=e=>E.value=e,item:w.value,busy:y.value===w.value.requestId,refreshing:D(l).loading,error:C.value,onSubmit:t[6]||=e=>V(w.value,e)},null,8,[`modelValue`,`item`,`busy`,`refreshing`,`error`]),w.value.taskId&&!y.value?(s(),u(`a`,{key:0,class:`attention-task-link`,href:D(G)(w.value),onClick:t[7]||=e=>D(l).open=!1},T(D(m)(`attention.task`))+` ↗`,9,lt)):j(``,!0)])):j(``,!0)],8,et)):j(``,!0)]),_:1},8,[`open`,`busy`,`title`,`description`])]))],64))}}),dt={key:0,class:`pinned-agents-nav`,"aria-labelledby":`pinned-agents-heading`},ft={class:`pinned-agents-heading-row`},pt={id:`pinned-agents-heading`,class:`pinned-agents-heading`},mt={key:1,class:`pinned-agents-error`,role:`alert`},ht={key:2,class:`pinned-agents-list`},gt={class:`pinned-agent-portrait`,"aria-hidden":`true`},_t={class:`pinned-agent-name`},vt={key:3,class:`pinned-agents-empty`},yt=L(t({__name:`PinnedAgentsNav`,props:{spaceId:{},agents:{},pinnedAgentIds:{},loading:{type:Boolean},rosterLoading:{type:Boolean},error:{}},emits:[`retry`],setup(e,{emit:t}){let n=e,a=t,o=k(()=>n.pinnedAgentIds.map(e=>n.agents.find(t=>t.agentId===e)).filter(e=>!!e));function c(e,t){return q(e,t)}let l=k(()=>c(`navigation.title`,`Pinned Agents`)),f=k(()=>c(`navigation.empty`,`No pinned Agents`)),p=k(()=>c(`loading`,`Reading pinned Agents…`)),g=k(()=>m(`agentProfiles.loading`)),_=k(()=>c(`retry`,`Retry`)),y=k(()=>n.loading||!!n.rosterLoading);return(t,c)=>e.spaceId?(s(),u(`section`,dt,[M(`div`,ft,[M(`h2`,pt,T(l.value),1),y.value&&o.value.length?(s(),h(I,{key:0,variant:`inline`,label:n.rosterLoading&&!n.loading?g.value:p.value},null,8,[`label`])):j(``,!0)]),y.value&&!o.value.length?(s(),h(I,{key:0,variant:`compact`,label:n.rosterLoading&&!n.loading?g.value:p.value},null,8,[`label`])):e.error?(s(),u(`div`,mt,[M(`span`,null,T(e.error),1),M(`button`,{class:`quiet-button`,type:`button`,onClick:c[0]||=e=>a(`retry`)},T(_.value),1)])):o.value.length?(s(),u(`ul`,ht,[(s(!0),u(v,null,i(o.value,t=>(s(),u(`li`,{key:t.agentId},[d(D(W),{class:`pinned-agent-nav`,to:D(ae)(e.spaceId,t.agentId),"aria-label":`${D(K)(t)} · ${D(m)(`agentProfiles.profile`)}`},{default:r(()=>[M(`span`,gt,T(t.profile.occupationEmoji||D(K)(t).slice(0,1)),1),M(`span`,_t,T(D(K)(t)),1)]),_:2},1032,[`to`,`aria-label`])]))),128))])):(s(),u(`p`,vt,T(f.value),1))])):j(``,!0)}}),[[`__scopeId`,`data-v-5c5d1058`]]),bt=[`routes.`,`common.`,`employees.`,`agentProfiles.`];function xt(e,t=``){let n=typeof e==`string`&&e?e:t;return bt.some(e=>n.startsWith(e))?m(n):n}function St(e){if(typeof document>`u`)return;let t=xt(e,`routes.overview.title`);document.title=`${t} · ${m(`common.brand`)}`}var Ct={class:`app-shell`},wt=[`onKeydown`],Tt=[`aria-label`,`title`],Et=[`aria-label`],Dt={class:`nav-label`},Ot={class:`nav-label`},kt={class:`nav-label`},At={class:`nav-label`},jt={class:`nav-label`},Mt={class:`nav-label`},Nt={class:`nav-section-label`},Pt={class:`nav-label`},Ft={class:`nav-label`},It={class:`nav-label`},Lt={class:`nav-label`},Rt={class:`nav-label`},zt={class:`nav-label`},Bt={class:`sidebar-foot`},Vt=[`aria-label`],Ht={class:`runtime-status`},Ut={class:`service-details`},Wt={class:`runtime-status`},Gt=[`aria-label`],Kt=[`inert`],qt=[`aria-expanded`,`aria-label`],Jt={key:0,class:`workbench-host-label`},Yt={key:1,class:`topbar-heading`},Xt={key:2,class:`topbar-actions`},Zt=[`aria-label`],Qt=L(t({__name:`ConsoleLayout`,setup(t){let i=P(),p=B(),g=c(!1),_=c(null),v=c(null),b=k(()=>i.activePersonalSpace?.id??``),w=k(()=>b.value||`current`),E=k(()=>ue(w.value,`graph`)),O=k(()=>de(`personal`,w.value,`directory`)),N=oe(b),F=se(b),I=N.agents,L=N.loading,z=N.error,V=F.agentIds,U=F.loading,ee=F.error,te=k(()=>ee.value||z.value);n(ce,N),n(le,F);let ne=k(()=>xt(p.meta.title,`routes.overview.title`)),G=k(()=>p.meta.dedicatedWorkspace===!0),re=k(()=>i.publicRuntimeStatus===`ready`?m(`console.services.publicReady`):i.publicRuntimeStatus===`error`?m(`console.services.publicError`):m(`console.services.publicOffline`)),ie=k(()=>{if(i.publicRuntimeStatus===`ready`){let e=i.state?.capabilities;return e?.browsePublicProjects&&e?.subscribeProject&&!e?.publishProject&&!e?.submitKnowledge&&!e?.reviewProposals?m(`console.services.publicBrowseSubscribe`):m(`console.services.publicAvailable`)}return i.publicRuntimeStatus===`error`?m(`console.services.localUnaffected`):m(`console.services.localOnly`)}),ae=k(()=>i.state?.capabilities?.browsePublicProjects!==!1),K=k(()=>{let e=i.state?.capabilities;return e?.submitKnowledge!==!1||e?.reviewProposals===!0});o(()=>{i.runtimeStatus===`idle`&&i.refresh(),window.addEventListener(`resize`,q)}),a(()=>window.removeEventListener(`resize`,q));function q(){window.innerWidth>920&&(g.value=!1)}function J(e){if(!g.value||e.key!==`Tab`)return;let t=[...e.currentTarget.querySelectorAll(`button:not(:disabled), a[href], input:not(:disabled), [tabindex="0"]`)].filter(e=>e.getClientRects().length>0),n=t[0],r=t.at(-1);e.shiftKey&&document.activeElement===n?(e.preventDefault(),r?.focus()):!e.shiftKey&&document.activeElement===r&&(e.preventDefault(),n?.focus())}f(()=>{St(p.meta.title)}),e(()=>p.fullPath,()=>{g.value=!1});async function fe(){g.value=!0,await S(),v.value?.focus({preventScroll:!0})}async function Y(){g.value=!1,await S(),_.value?.focus({preventScroll:!0})}function pe(){Promise.all([N.load(),F.load({force:!0})])}return(e,t)=>(s(),u(`div`,Ct,[M(`aside`,{id:`console-primary-sidebar`,class:x([`sidebar`,{"is-mobile-open":g.value}]),onKeydown:[C(y(Y,[`stop`]),[`esc`]),J]},[M(`button`,{ref_key:`mobileNavCloseRef`,ref:v,class:`mobile-nav-close quiet-button`,type:`button`,"aria-label":D(m)(`console.navigation.closeMenu`),title:D(m)(`console.navigation.closeMenu`),onClick:Y},[...t[1]||=[M(`span`,{class:`mobile-nav-close-icon`,"aria-hidden":`true`},null,-1)]],8,Tt),d(Te),M(`nav`,{class:`primary-nav`,"aria-label":D(m)(`console.navigation.aria`)},[d(D(W),{to:`/`,"exact-active-class":`is-active`},{default:r(()=>[t[2]||=M(`span`,{class:`nav-icon nav-icon-overview`,"aria-hidden":`true`},null,-1),M(`span`,Dt,T(D(m)(`console.navigation.overview`)),1)]),_:1}),d(D(W),{to:`/project-agents`,"active-class":`is-active`},{default:r(()=>[t[3]||=M(`span`,{class:`nav-icon nav-icon-project-agent`,"aria-hidden":`true`},null,-1),M(`span`,Ot,T(D(m)(`console.navigation.projectAgents`)),1)]),_:1}),d(yt,{"space-id":b.value,agents:D(I),"pinned-agent-ids":D(V),loading:D(U),"roster-loading":D(L),error:te.value,onRetry:pe},null,8,[`space-id`,`agents`,`pinned-agent-ids`,`loading`,`roster-loading`,`error`]),d(ut,{"personal-space-id":w.value,projects:D(i).state?.personalProjects??[]},null,8,[`personal-space-id`,`projects`]),d(D(W),{to:`/roundtables`,"active-class":`is-active`},{default:r(()=>[t[4]||=M(`span`,{class:`nav-icon nav-icon-roundtable`,"aria-hidden":`true`},null,-1),M(`span`,kt,T(D(m)(`console.navigation.roundtables`)),1)]),_:1}),d(D(W),{to:E.value,"active-class":`is-active`},{default:r(()=>[t[5]||=M(`span`,{class:`nav-icon nav-icon-personal-project`,"aria-hidden":`true`},null,-1),M(`span`,At,T(D(m)(`console.navigation.personalProjects`)),1)]),_:1},8,[`to`]),d(D(W),{to:`/preferences`,"active-class":`is-active`},{default:r(()=>[t[6]||=M(`span`,{class:`nav-icon nav-icon-personal-profile`,"aria-hidden":`true`},null,-1),M(`span`,jt,T(D(m)(`console.navigation.preferences`)),1)]),_:1}),d(D(W),{to:O.value,"active-class":`is-active`},{default:r(()=>[t[7]||=M(`span`,{class:`nav-icon nav-icon-knowledge-graph`,"aria-hidden":`true`},null,-1),M(`span`,Mt,T(D(m)(`console.navigation.knowledge`)),1)]),_:1},8,[`to`]),M(`p`,Nt,T(D(m)(`console.navigation.more`)),1),d(D(W),{to:`/organize`,"active-class":`is-active`},{default:r(()=>[t[8]||=M(`span`,{class:`nav-icon nav-icon-knowledge-organizer`,"aria-hidden":`true`},null,-1),M(`span`,Pt,T(D(m)(`console.navigation.organizer`)),1)]),_:1}),K.value?(s(),h(D(W),{key:0,to:`/review`,"active-class":`is-active`},{default:r(()=>[t[9]||=M(`span`,{class:`nav-icon nav-icon-review`,"aria-hidden":`true`},null,-1),M(`span`,Ft,T(D(m)(`console.navigation.review`)),1)]),_:1})):j(``,!0),ae.value?(s(),h(D(W),{key:1,to:`/public-projects`,"active-class":`is-active`},{default:r(()=>[t[10]||=M(`span`,{class:`nav-icon nav-icon-public-project`,"aria-hidden":`true`},null,-1),M(`span`,It,T(D(m)(`console.navigation.publicProjects`)),1)]),_:1})):j(``,!0),d(D(W),{to:`/connections`,"active-class":`is-active`},{default:r(()=>[t[11]||=M(`span`,{class:`nav-icon nav-icon-connections`,"aria-hidden":`true`},null,-1),M(`span`,Lt,T(D(m)(`console.navigation.connections`)),1)]),_:1}),d(D(W),{to:`/settings`,"active-class":`is-active`},{default:r(()=>[t[12]||=M(`span`,{class:`nav-icon nav-icon-settings`,"aria-hidden":`true`},null,-1),M(`span`,Rt,T(D(m)(`console.navigation.settings`)),1)]),_:1}),d(D(W),{to:`/about`,"active-class":`is-active`},{default:r(()=>[t[13]||=M(`span`,{class:`nav-icon nav-icon-about`,"aria-hidden":`true`},null,-1),M(`span`,zt,T(D(m)(`console.navigation.about`)),1)]),_:1})],8,Et),M(`div`,Bt,[M(`div`,{class:`service-runtime-list`,"aria-label":D(m)(`console.services.aria`)},[M(`div`,Ht,[M(`span`,{class:x([`status-dot`,D(i).runtimeStatus])},null,2),M(`div`,null,[M(`strong`,null,T(D(i).runtimeStatus===`ready`?D(m)(`console.services.localReady`):D(i).runtimeStatus===`error`?D(m)(`console.services.localError`):D(m)(`console.services.localConnecting`)),1)])]),M(`details`,Ut,[M(`summary`,null,[M(`span`,{class:x([`status-dot`,D(i).publicRuntimeStatus])},null,2),A(T(re.value),1)]),M(`div`,Wt,[M(`div`,null,[M(`small`,null,T(ie.value),1),d(D(W),{to:`/connections`},{default:r(()=>[A(T(D(m)(`console.navigation.connections`)),1)]),_:1})])])])],8,Vt)])],42,wt),g.value?(s(),u(`button`,{key:0,class:`mobile-nav-backdrop`,type:`button`,tabindex:`-1`,"aria-label":D(m)(`console.navigation.closeMenu`),onClick:Y},null,8,Gt)):j(``,!0),M(`main`,{class:`workspace`,inert:g.value||void 0},[M(`header`,{class:x([`topbar`,{"topbar--workbench":G.value}])},[M(`button`,{ref_key:`mobileNavToggleRef`,ref:_,class:`mobile-nav-toggle quiet-button`,type:`button`,"aria-controls":`console-primary-sidebar`,"aria-expanded":g.value,"aria-label":D(m)(`console.navigation.openMenu`),onClick:fe},[...t[14]||=[M(`span`,{class:`mobile-nav-icon`,"aria-hidden":`true`},null,-1)]],8,qt),G.value?(s(),u(`span`,Jt,`FULI`)):(s(),u(`div`,Yt,[M(`h1`,null,T(ne.value),1)])),G.value?j(``,!0):(s(),u(`div`,Xt,[D(p).name===`settings`?(s(),h(R,{key:0,variant:`primary`,disabled:D(i).settingsSaving,form:`settings-form`,type:`submit`},{default:r(()=>[A(T(D(m)(`settings.save`)),1)]),_:1},8,[`disabled`])):j(``,!0),d(Oe),d(R,{variant:`ghost`,icon:``,disabled:D(i).runtimeStatus===`loading`,"aria-label":D(m)(`common.actions.refresh`),title:D(m)(`common.actions.refresh`),onClick:D(i).refresh},{default:r(()=>[...t[15]||=[M(`svg`,{viewBox:`0 0 20 20`,width:`18`,height:`18`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.5`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"aria-hidden":`true`},[M(`path`,{d:`M16 7a6.5 6.5 0 1 0 .5 5M16 3v4h-4`})],-1)]]),_:1},8,[`disabled`,`aria-label`,`title`,`onClick`])]))],2),d(Me),D(i).feedback?(s(),u(`div`,{key:0,class:x([`feedback feedback-message`,{success:D(i).feedback.tone===`success`}]),role:`status`,"aria-live":`polite`},[M(`span`,null,T(D(i).feedback.message),1),M(`button`,{class:`feedback-dismiss`,type:`button`,"aria-label":D(m)(`common.actions.close`),onClick:t[0]||=(...e)=>D(i).clearFeedback&&D(i).clearFeedback(...e)},`×`,8,Zt)],2)):j(``,!0),d(D(H),null,{default:r(({Component:e})=>[(s(),h(l(e)))]),_:1})],8,Kt)]))}}),[[`__scopeId`,`data-v-dd2ae8b1`]]),$t=t({__name:`App`,setup(e){let t=B();return(e,n)=>D(t).meta.publicReport?(s(),h(D(H),{key:0})):(s(),h(Qt,{key:1}))}}),en=`modulepreload`,tn=function(e){return`/`+e},nn={},Z=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}function s(e){return import.meta.resolve?import.meta.resolve(e):new URL(e,import.meta.url).href}r=o(t.map(t=>{if(t=tn(t,n),t=s(t),t in nn)return;nn[t]=!0;let r=t.endsWith(`.css`);for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}let i=document.createElement(`link`);if(i.rel=r?`stylesheet`:en,r||(i.as=`script`),i.crossOrigin=``,i.href=t,a&&i.setAttribute(`nonce`,a),document.head.appendChild(i),r)return new Promise((e,n)=>{i.addEventListener(`load`,e),i.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})};function rn(e){let t=e.match(/^#\/knowledge\/([^/?#]+)\/([^/?#]+)\/(entity|relationship)\/([^/?#]+)(?:\?([^#]*))?$/);if(!t)return null;let[,n,r,i,a,o]=t;return`/knowledge/${n}/${r}/directory/${i}/${a}${o?`?${o}`:``}`}var Q=U({history:V(`/`),routes:[{path:`/reports/jefa`,name:`shared-jefa-report`,component:()=>Z(()=>import(`./SharedJefaReportPage-C56kPciB.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10])),meta:{publicReport:!0,title:`employees.share.title`}},{path:`/roundtables/:threadId?`,name:`roundtables`,component:()=>Z(()=>import(`./RoundtablesPage-BjVhvwMc.js`),__vite__mapDeps([11,1,2,3,4,5,12,13])),meta:{title:`routes.roundtable.title`}},{path:`/`,name:`overview`,component:()=>Z(()=>import(`./OverviewPage-BD4yY2Xz.js`),__vite__mapDeps([14,1,15,2,3,4,12,5,16,17,18,19,20,21,22])),meta:{eyebrow:``,title:`routes.overview.title`}},{path:`/preferences`,name:`personal-profile`,component:()=>Z(()=>import(`./PersonalProfilePage-DGJVP_VB.js`),__vite__mapDeps([23,1,15,2,3,4,24,12,5,25,26,27,28,29,30,31,32,33,34,35,36])),meta:{eyebrow:`PERSONAL LENS`,title:`routes.preferences.title`,description:`routes.preferences.description`}},{path:`/preferences/writing`,name:`writing-taste`,component:()=>Z(()=>import(`./WritingTastePage-QgNzssfF.js`),__vite__mapDeps([37,1,15,2,3,4,12,5,38,32,24,25,26,33,29,34,35,39])),meta:{eyebrow:``,title:`routes.writingTaste.title`}},{path:`/personal/:spaceId/projects/:projectId/:mode/:itemKind/:itemId`,name:`personal-project-item`,component:()=>Z(()=>import(`./PersonalProjectsPage-D25HYMgD.js`),__vite__mapDeps([40,1,41,15,2,3,4,24,5,12,25,26,38,20,33,28,29,30,31,32,34,42])),meta:{eyebrow:`PERSONAL PROJECT`,title:`routes.personalProjects.title`}},{path:`/personal/:spaceId/projects/:mode/:itemKind/:itemId`,name:`personal-projects-item`,component:()=>Z(()=>import(`./PersonalProjectsPage-D25HYMgD.js`),__vite__mapDeps([40,1,41,15,2,3,4,24,5,12,25,26,38,20,33,28,29,30,31,32,34,42])),meta:{eyebrow:`PERSONAL PROJECTS`,title:`routes.personalProjects.title`,description:`routes.personalProjects.description`}},{path:`/personal/:spaceId/projects/:mode`,name:`personal-projects`,component:()=>Z(()=>import(`./PersonalProjectsPage-D25HYMgD.js`),__vite__mapDeps([40,1,41,15,2,3,4,24,5,12,25,26,38,20,33,28,29,30,31,32,34,42])),meta:{eyebrow:`PERSONAL PROJECTS`,title:`routes.personalProjects.title`,description:`routes.personalProjects.description`}},{path:`/personal/:spaceId/projects/:projectId/:mode`,name:`personal-project`,component:()=>Z(()=>import(`./PersonalProjectsPage-D25HYMgD.js`),__vite__mapDeps([40,1,41,15,2,3,4,24,5,12,25,26,38,20,33,28,29,30,31,32,34,42])),meta:{eyebrow:`PERSONAL PROJECT`,title:`routes.personalProjects.title`}},{path:`/organize`,name:`knowledge-organizer`,component:()=>Z(()=>import(`./KnowledgeOrganizerPage-CCCrWl6Y.js`),__vite__mapDeps([43,1,15,2,3,4,24,25,26,33,28,29,30,31,32,34,44])),meta:{eyebrow:`KNOWLEDGE CLASSIFICATION`,title:`routes.organizer.title`}},{path:`/project-agents`,name:`project-agents`,component:()=>Z(()=>import(`./AgentsDirectoryPage--1A9nvNA.js`),__vite__mapDeps([45,1,15,2,3,4,5,12,25,26,46,16,47,17,48,18,19,21,49,50,51,52,24,20,7,8,53,54,55])),meta:{eyebrow:``,title:`routes.projectAgents.title`}},{path:`/agents/:spaceId/:agentId`,name:`agent-profile`,component:()=>Z(()=>import(`./AgentProfilePage-CioOdkBM.js`),__vite__mapDeps([56,1,15,2,3,4,5,12,25,26,38,17,19,18,20,57,58,59,60,21,49,55])),meta:{eyebrow:``,title:`agentProfiles.profile`}},{path:`/project-agents/manage`,name:`agent-management`,component:()=>Z(()=>import(`./ProjectAgentsPage-BWDJBESb.js`),__vite__mapDeps([61,1,15,2,3,4,24,5,12,25,26,46,16,47,19,59,60,21,49,50,51,7,8,52,20,53,62])),meta:{eyebrow:``,title:`agentProfiles.advanced`}},{path:`/employees/:templateId`,name:`employee-workbench`,component:()=>Z(()=>import(`./EmployeeWorkbenchPage-B0vQIgwA.js`),__vite__mapDeps([63,1,15,2,3,4,24,5,12,25,26,46,16,47,17,57,58,49,7,8,52,20,53,6,9,27,64,65])),meta:{eyebrow:``,title:`routes.employeeWorkbench.title`,dedicatedWorkspace:!0}},{path:`/public-projects`,name:`public-projects`,component:()=>Z(()=>import(`./PublicProjectsPage-CyNxVzW3.js`),__vite__mapDeps([66,1,15,2,3,4,24,5,25,26,20,33,67])),meta:{eyebrow:`PUBLIC PROJECTS`,title:`routes.publicProjects.title`,description:`routes.publicProjects.description`}},{path:`/knowledge`,name:`knowledge-default`,component:()=>Z(()=>import(`./KnowledgePage-DGOcBwr8.js`),__vite__mapDeps([68,1,41,15,2,3,4,24,5,12,25,26,38,20,33,28,29,30,31,32,34,42])),meta:{eyebrow:`KNOWLEDGE BASE`,title:`routes.knowledge.title`}},{path:`/knowledge/:scope/:spaceId/:projectId/:mode/:itemKind/:itemId`,name:`project-knowledge-item`,component:()=>Z(()=>import(`./KnowledgePage-DGOcBwr8.js`),__vite__mapDeps([68,1,41,15,2,3,4,24,5,12,25,26,38,20,33,28,29,30,31,32,34,42])),meta:{eyebrow:`KNOWLEDGE BASE`,title:`routes.knowledge.title`}},{path:`/knowledge/:scope/:spaceId/:mode/:itemKind/:itemId`,name:`knowledge-item`,component:()=>Z(()=>import(`./KnowledgePage-DGOcBwr8.js`),__vite__mapDeps([68,1,41,15,2,3,4,24,5,12,25,26,38,20,33,28,29,30,31,32,34,42])),meta:{eyebrow:`KNOWLEDGE BASE`,title:`routes.knowledge.title`}},{path:`/knowledge/:scope/:spaceId/:projectId/:mode`,name:`project-knowledge`,component:()=>Z(()=>import(`./KnowledgePage-DGOcBwr8.js`),__vite__mapDeps([68,1,41,15,2,3,4,24,5,12,25,26,38,20,33,28,29,30,31,32,34,42])),meta:{eyebrow:`KNOWLEDGE BASE`,title:`routes.knowledge.title`}},{path:`/knowledge/:scope/:spaceId/:mode`,name:`knowledge`,component:()=>Z(()=>import(`./KnowledgePage-DGOcBwr8.js`),__vite__mapDeps([68,1,41,15,2,3,4,24,5,12,25,26,38,20,33,28,29,30,31,32,34,42])),meta:{eyebrow:`KNOWLEDGE BASE`,title:`routes.knowledge.title`}},{path:`/review`,name:`review`,component:()=>Z(()=>import(`./ReviewPage-Cy0Rt4CO.js`),__vite__mapDeps([69,1,15,2,3,4,25,26,33,29])),meta:{eyebrow:`REVIEW WORKSPACE`,title:`routes.review.title`,description:`routes.review.description`}},{path:`/connections`,name:`connections`,component:()=>Z(()=>import(`./ConnectionsPage-Tr2rRVOZ.js`),__vite__mapDeps([70,1,15,2,3,4,25,26,38,33,71])),meta:{eyebrow:`SERVICE CONNECTIONS`,title:`routes.connections.title`,description:`routes.connections.description`}},{path:`/settings`,name:`settings`,component:()=>Z(()=>import(`./SettingsPage-CCZqZtnH.js`),__vite__mapDeps([72,1,15,2,3,4,25,26,38,64,30,73])),meta:{eyebrow:``,title:`routes.settings.title`}},{path:`/about`,name:`about`,component:()=>Z(()=>import(`./AboutPage-BAD0iPVX.js`),__vite__mapDeps([74,1,3,75,76])),meta:{eyebrow:`FULI`,title:`routes.about.title`}},{path:`/:pathMatch(.*)*`,name:`not-found`,component:()=>Z(()=>import(`./NotFoundPage-fetSnp0N.js`),__vite__mapDeps([77,1,12,5])),meta:{title:`common.errors.pageNotFound`}}],scrollBehavior:(e,t,n)=>n??(e.path!==t.path&&{top:0})});ke(Q),Q.beforeEach(e=>e.path!==`/`||typeof window>`u`?!0:rn(window.location.hash)??!0),Q.afterEach(e=>{St(e.meta.title)});var $=g($t);$.use(N()),$.use(E),$.use(Q),await Q.isReady().catch(()=>void 0),$.mount(`#app`);
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
import{B as e,Q as t,a as n}from"./i18n-CVFhT_k7.js";import{n as r}from"./client-CR-W5Wzp.js";import{t as i}from"./task-evidence-DTiPCs7r.js";function a(a){let o=t([]),s=t(!1),c=t(``),l=new Map,u=0;async function d(){let e=++u,t=a.value;if(c.value=``,!a.value){o.value=[],s.value=!1;return}let d=l.get(t);d?o.value=d:o.value.some(e=>e.personalSpaceId!==t)&&(o.value=[]),s.value=!0;try{let n=await r(`/api/project-agents?${new URLSearchParams({personalSpaceId:t})}`);if(e!==u||a.value!==t)return;let s=i(n).filter(e=>!!(e&&typeof e==`object`&&`agentId`in e&&`profile`in e&&`personalSpaceId`in e&&e.personalSpaceId===t));l.set(t,s),o.value=s}catch(r){e===u&&a.value===t&&(c.value=r instanceof Error?r.message:n(`agentProfiles.loadError`))}finally{e===u&&a.value===t&&(s.value=!1)}}return e(a,d,{immediate:!0}),{agents:o,loading:s,error:c,load:d}}export{a as t};
|