fuli-context 0.7.10-beta.7 → 0.8.1

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.
Files changed (149) hide show
  1. package/README.md +4 -0
  2. package/README.zh-CN.md +4 -1
  3. package/dist/web/assets/{AboutPage-EtWPOSpz.js → AboutPage-fBq5VFoQ.js} +1 -1
  4. package/dist/web/assets/AgentHand-CMZk5GjY.js +1 -0
  5. package/dist/web/assets/AgentHand-D9sQu2vc.css +1 -0
  6. package/dist/web/assets/AgentName-Cydd0UI4.css +1 -0
  7. package/dist/web/assets/AgentName-DRZHAIB2.js +1 -0
  8. package/dist/web/assets/AgentProfilePage-BPQEfMhB.js +1 -0
  9. package/dist/web/assets/AgentsDirectoryPage-CKZfrcuD.js +1 -0
  10. package/dist/web/assets/{ConnectionsPage-DXkvMuyK.js → ConnectionsPage-COb56qnk.js} +1 -1
  11. package/dist/web/assets/EmployeeRecruitDialog-BLTpjCcK.js +1 -0
  12. package/dist/web/assets/EmployeeWorkbenchPage-CQwZnTA0.css +1 -0
  13. package/dist/web/assets/EmployeeWorkbenchPage-HUd-gne2.js +3 -0
  14. package/dist/web/assets/{GrowthLoading-CCYPgE2f.js → GrowthLoading-Bu_kH-I8.js} +1 -1
  15. package/dist/web/assets/{KnowledgeEditDialog-BUqMfa0a.js → KnowledgeEditDialog-BTwXXRCD.js} +1 -1
  16. package/dist/web/assets/{KnowledgeInspector-DlVPDGP3.js → KnowledgeInspector-Ct5hl2--.js} +1 -1
  17. package/dist/web/assets/{KnowledgeOrganizerPage-DhthZGKZ.js → KnowledgeOrganizerPage-DMC8Hh43.js} +1 -1
  18. package/dist/web/assets/KnowledgePage-uXW1Eovz.js +1 -0
  19. package/dist/web/assets/{KnowledgeWorkspace-mVFHQcxr.js → KnowledgeWorkspace-DmHIc0jb.js} +1 -1
  20. package/dist/web/assets/{NotFoundPage-CCeEdBy9.js → NotFoundPage-C0yOR9T9.js} +1 -1
  21. package/dist/web/assets/{OverviewPage-CnYWoZ3r.js → OverviewPage-BreX_kb4.js} +1 -1
  22. package/dist/web/assets/PersonalProfilePage-CX1a6_E3.js +1 -0
  23. package/dist/web/assets/{PersonalProfilePage-yQRCBude.css → PersonalProfilePage-L8T5xMEC.css} +1 -1
  24. package/dist/web/assets/PersonalProjectsPage-Br1S8ETM.js +1 -0
  25. package/dist/web/assets/ProjectAgentsPage-CA04h1Uf.js +13 -0
  26. package/dist/web/assets/ProjectAgentsPage-CZWWV4Kw.css +1 -0
  27. package/dist/web/assets/{ProjectScopePicker-BcPtIcv8.js → ProjectScopePicker-DVHfXX1f.js} +1 -1
  28. package/dist/web/assets/{PublicProjectsPage-BmBHfnud.js → PublicProjectsPage-CtctKml1.js} +1 -1
  29. package/dist/web/assets/{ReviewPage-tvt2eqhw.js → ReviewPage-DUqaK-do.js} +1 -1
  30. package/dist/web/assets/{SearchableSelect-BjBDBVuZ.js → SearchableSelect-BZtyYmZN.js} +1 -1
  31. package/dist/web/assets/{SettingsPage-D9mNzBg-.js → SettingsPage-CB4ymLr8.js} +1 -1
  32. package/dist/web/assets/{SharedJefaReportPage-Dn_HBgaa.js → SharedJefaReportPage-CbFtrDCY.js} +1 -1
  33. package/dist/web/assets/WritingTastePage-B7lSzs2z.js +1 -0
  34. package/dist/web/assets/WritingTastePage-Bzg6AvnB.css +1 -0
  35. package/dist/web/assets/agent-profile-CdKOh5xw.css +1 -0
  36. package/dist/web/assets/agent-profile.css_vue_type_style_index_0_src_true_lang-C22UdfU0.js +1 -0
  37. package/dist/web/assets/catalog-DU4Kfd-N.js +1 -0
  38. package/dist/web/assets/{client-v8XKgQji.js → client-CEHkJJ-5.js} +1 -1
  39. package/dist/web/assets/{console-C9HS-zbd.js → console--CZxc3PW.js} +1 -1
  40. package/dist/web/assets/{conversation-launcher-settings-DMDCpf_N.js → conversation-launcher-settings-Co1RlTFH.js} +1 -1
  41. package/dist/web/assets/{i18n-BkJjUsz_.js → i18n-BtOOoyJd.js} +3 -3
  42. package/dist/web/assets/{identity-74yGiMzO.js → identity-CsowvtIm.js} +1 -1
  43. package/dist/web/assets/index-CWMqDq8g.css +1 -0
  44. package/dist/web/assets/index-MKmHNBtc.js +2 -0
  45. package/dist/web/assets/{model-86tZgY0r.js → model-CGpllrds.js} +1 -1
  46. package/dist/web/assets/personal-profile-graph-BNTG4PSY.js +1 -0
  47. package/dist/web/assets/profile-model-BQO4zNs9.js +1 -0
  48. package/dist/web/assets/{shared-report-CLg82y4D.js → shared-report-BFUJqqQe.js} +1 -1
  49. package/dist/web/assets/task-evidence-BUu7yYIn.js +1 -0
  50. package/dist/web/assets/{useApi-CROJJdhE-BBUO_YEu.js → useApi-CROJJdhE-raNlHRDl.js} +1 -1
  51. package/dist/web/assets/{useModalDialog-DrLhqtjR.js → useModalDialog-CroGk2Cs.js} +1 -1
  52. package/dist/web/assets/{vue-router-Cw4QZxM1.js → vue-router-JFYBLXB1.js} +1 -1
  53. package/dist/web/index.html +13 -11
  54. package/docs/agent-conversations-and-collaboration.md +115 -0
  55. package/docs/project-agent-memory.md +91 -443
  56. package/graph-provider/fuli_graph/agent_conversation_models.py +72 -0
  57. package/graph-provider/fuli_graph/agent_conversation_routes.py +47 -0
  58. package/graph-provider/fuli_graph/agent_loan_models.py +28 -0
  59. package/graph-provider/fuli_graph/agent_quality_policy.py +151 -0
  60. package/graph-provider/fuli_graph/agent_verification_models.py +22 -0
  61. package/graph-provider/fuli_graph/app.py +2 -0
  62. package/graph-provider/fuli_graph/conversation_context.py +30 -0
  63. package/graph-provider/fuli_graph/preference_conflicts.py +4 -1
  64. package/graph-provider/fuli_graph/project_agent_coordination_models.py +23 -1
  65. package/graph-provider/fuli_graph/project_agent_executor_models.py +3 -0
  66. package/graph-provider/fuli_graph/project_agent_memory_models.py +11 -0
  67. package/graph-provider/fuli_graph/project_agent_memory_routes.py +2 -0
  68. package/graph-provider/fuli_graph/project_agent_models.py +10 -0
  69. package/graph-provider/fuli_graph/project_agent_task_models.py +4 -0
  70. package/graph-provider/fuli_graph/project_agent_team_growth.py +56 -0
  71. package/graph-provider/fuli_graph/project_agent_work_log.py +34 -0
  72. package/graph-provider/fuli_graph/runtime.py +14 -0
  73. package/graph-provider/fuli_graph/store.py +6 -0
  74. package/graph-provider/fuli_graph/store_agent_conversations.py +206 -0
  75. package/graph-provider/fuli_graph/store_agent_loans.py +146 -0
  76. package/graph-provider/fuli_graph/store_agent_verification.py +111 -0
  77. package/graph-provider/fuli_graph/store_project_agent_coordination_policy.py +56 -2
  78. package/graph-provider/fuli_graph/store_project_agent_executors.py +2 -0
  79. package/graph-provider/fuli_graph/store_project_agent_memory.py +3 -0
  80. package/graph-provider/fuli_graph/store_project_agent_task_activity.py +7 -1
  81. package/graph-provider/fuli_graph/store_project_agent_task_recruitment.py +2 -0
  82. package/graph-provider/fuli_graph/store_project_agent_task_staffing.py +17 -2
  83. package/graph-provider/fuli_graph/store_project_agent_tasks.py +21 -8
  84. package/graph-provider/fuli_graph/store_task_contexts.py +20 -1
  85. package/graph-provider/fuli_graph/task_context_adoption.py +65 -0
  86. package/graph-provider/fuli_graph/task_context_models.py +23 -1
  87. package/graph-provider/fuli_graph/task_context_routes.py +12 -1
  88. package/graph-provider/pyproject.toml +1 -1
  89. package/npm-shrinkwrap.json +2 -2
  90. package/package.json +2 -1
  91. package/skills/operating-fuli/SKILL.md +4 -0
  92. package/src/agent-tools/agent-collaboration-definitions.js +30 -0
  93. package/src/agent-tools/agent-conversation-definitions.js +21 -0
  94. package/src/agent-tools/graph-definitions.js +30 -37
  95. package/src/agent-tools/graph-handlers.js +17 -1
  96. package/src/agent-tools/interface-catalog.js +2 -0
  97. package/src/agent-tools/project-agent-definitions.js +22 -0
  98. package/src/agent-tools/project-relation-definitions.js +36 -0
  99. package/src/agents/claude-code/conversation-transcript.js +20 -0
  100. package/src/agents/claude-code/lifecycle-hook.js +154 -0
  101. package/src/agents/claude-code/lifecycle-hooks.js +20 -0
  102. package/src/agents/codex/conversation-transcript.js +22 -0
  103. package/src/agents/codex/lifecycle-hook.js +48 -8
  104. package/src/agents/codex/lifecycle-hooks.js +6 -6
  105. package/src/agents/cursor/lifecycle-hook.js +5 -4
  106. package/src/app/agent-request-context.js +6 -1
  107. package/src/app/test-tools.js +26 -0
  108. package/src/cli/setup-command.js +1 -1
  109. package/src/conversations/sync-transcript.js +144 -0
  110. package/src/conversations/task-context-view.js +28 -0
  111. package/src/conversations/transcript-guard.js +54 -0
  112. package/src/conversations/transcript-reader.js +113 -0
  113. package/src/graphiti/agent-collaboration.js +62 -0
  114. package/src/graphiti/agent-conversations.js +75 -0
  115. package/src/graphiti/agent-knowledge-workflows.js +20 -5
  116. package/src/graphiti/project-agent-control-plane.js +31 -2
  117. package/src/graphiti/project-agent-mapping.js +31 -2
  118. package/src/graphiti/project-agent-memory.js +10 -2
  119. package/src/graphiti/project-agent-task-entry.js +15 -2
  120. package/src/graphiti/project-agent-team-context.js +21 -0
  121. package/src/graphiti/project-agent-workflows.js +19 -0
  122. package/src/graphiti/provider-client.js +24 -1
  123. package/src/graphiti/verification-preference.js +24 -0
  124. package/src/graphiti/writing-taste-profile-workflow.js +62 -9
  125. package/src/graphiti/writing-taste-profile.js +43 -16
  126. package/src/http/graph-api-router.js +26 -0
  127. package/src/mcp/create-mcp-server.js +19 -8
  128. package/src/mcp/instructions.js +3 -3
  129. package/src/mcp/provider-task-context-registry.js +11 -1
  130. package/src/mcp/session-id.js +4 -0
  131. package/src/mcp/task-context-registry.js +2 -1
  132. package/src/mcp/tool-annotations.js +8 -1
  133. package/src/mcp/tool-result.js +7 -3
  134. package/src/setup/agent-installation-status.js +1 -0
  135. package/src/setup/claude-code-config.js +13 -19
  136. package/dist/web/assets/AgentHand-D5pOgVjJ.js +0 -1
  137. package/dist/web/assets/AgentHand-DvdNtJ3_.css +0 -1
  138. package/dist/web/assets/EmployeeRecruitDialog-DONxXnd2.js +0 -1
  139. package/dist/web/assets/EmployeeWorkbenchPage-Cd4hd4bf.js +0 -3
  140. package/dist/web/assets/EmployeeWorkbenchPage-Cz7y-IFD.css +0 -1
  141. package/dist/web/assets/KnowledgePage-B6RDVxq-.js +0 -1
  142. package/dist/web/assets/PersonalProfilePage-Bz4zpTPC.js +0 -1
  143. package/dist/web/assets/PersonalProjectsPage-2u1o6dvA.js +0 -1
  144. package/dist/web/assets/ProjectAgentsPage-8tci631q.js +0 -11
  145. package/dist/web/assets/ProjectAgentsPage-BN4k3ubu.css +0 -1
  146. package/dist/web/assets/WritingTastePage-BCwimXC-.js +0 -1
  147. package/dist/web/assets/WritingTastePage-tb_pgude.css +0 -1
  148. package/dist/web/assets/index-CwjxeHGk.css +0 -1
  149. package/dist/web/assets/index-Dioqmmvf.js +0 -2
@@ -1 +1 @@
1
- import{a as e}from"./i18n-BkJjUsz_.js";var t=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function n(n,r=18){let i=String(n??``).trim();if(!i)return e(`common.status.notRecorded`);if(i.length<=r)return i;if(t.test(i))return i.slice(0,8);let a=Math.max(7,Math.ceil((r-1)*.58)),o=Math.max(4,r-a-1);return`${i.slice(0,a)}…${i.slice(-o)}`}function r(e){let t=String(e??``).trim();return`${t} ${n(t)}`}function i(e){let t=e?.attributes?.projectId;return n(t||e?.id,t?26:18)}export{i as n,r,n as t};
1
+ import{a as e}from"./i18n-BtOOoyJd.js";var t=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function n(n,r=18){let i=String(n??``).trim();if(!i)return e(`common.status.notRecorded`);if(i.length<=r)return i;if(t.test(i))return i.slice(0,8);let a=Math.max(7,Math.ceil((r-1)*.58)),o=Math.max(4,r-a-1);return`${i.slice(0,a)}…${i.slice(-o)}`}function r(e){let t=String(e??``).trim();return`${t} ${n(t)}`}function i(e){let t=e?.attributes?.projectId;return n(t||e?.id,t?26:18)}export{i as n,r,n as t};
@@ -0,0 +1 @@
1
+ .brand-block[data-v-3ccab825]{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-3ccab825]: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-3ccab825]{appearance:none;color:inherit;cursor:pointer;background:0 0;border:0;flex:none;padding:0;display:block}.brand-effect-button[data-v-3ccab825]:focus{outline:none}.brand-block.is-keyboard-focused .brand-mark-wrap[data-v-3ccab825]{border-radius:50%;box-shadow:0 0 0 2px #789084}.brand-mark-wrap[data-v-3ccab825]{flex:none;width:38px;height:38px;position:relative}.brand-mark[data-v-3ccab825]{object-fit:contain;width:38px;height:38px;display:block}.brand-orbit[data-v-3ccab825]{z-index:3;opacity:0;pointer-events:none;border-radius:50%;animation:.94s cubic-bezier(.2,.7,.22,1) both brand-orbit-travel-3ccab825;position:absolute;inset:-8px}.brand-orbit[data-v-3ccab825]:before{content:"";border-radius:inherit;background:conic-gradient(from 20deg, transparent 0 74%, #e6b14a00 79%, #e6b14a3d 87%, #fff4d3c7 96%, transparent 100%);position:absolute;inset:0;-webkit-mask:radial-gradient(farthest-side,#0000 calc(100% - 2px),#000 calc(100% - 1.5px));mask:radial-gradient(farthest-side,#0000 calc(100% - 2px),#000 calc(100% - 1.5px))}.brand-orbit[data-v-3ccab825]:after{content:"";background:radial-gradient(circle at 34% 30%,#fff 0 14%,#fff1c7 30%,#e8b653 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-3ccab825]{min-width:0;display:grid;position:relative}.brand-title-row[data-v-3ccab825]{align-items:baseline;gap:7px;display:flex}.brand-name[data-v-3ccab825]{letter-spacing:-.02em;font-size:18px;font-weight:700}.brand-version[data-v-3ccab825]{color:#8a928c;letter-spacing:.02em;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px;font-weight:600}.brand-version-button[data-v-3ccab825]{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-3ccab825]{color:#555e57}.brand-version-button[data-v-3ccab825]:focus-visible{outline:none;box-shadow:0 0 0 2px #789084}.brand-update-dot[data-v-3ccab825]{background:#d53d3d;border-radius:50%;flex:none;width:5px;height:5px;box-shadow:0 1px 4px #bd1e1e47}.brand-subtitle[data-v-3ccab825]{color:#747d76;margin-top:2px;font-size:10px}.brand-copy-reflection[data-v-3ccab825]{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-3ccab825;position:absolute;top:0;left:0;right:0}.brand-copy-reflection .brand-name[data-v-3ccab825],.brand-copy-reflection .brand-version[data-v-3ccab825]{color:#c89536;text-shadow:0 0 6px #efbe5d47}.brand-update-popover[data-v-3ccab825]{z-index:20;color:#263129;background:#fff;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-3ccab825]{font-size:11px;line-height:1.45;display:block}.brand-update-popover p[data-v-3ccab825]{color:#5a665e;margin:5px 0 9px;font-size:10px;line-height:1.5}.brand-update-popover code[data-v-3ccab825]{color:#27342b;overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;background:#f1f4f1;border-radius:7px;padding:7px 8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:9px;line-height:1.45;display:block}.brand-update-popover a[data-v-3ccab825]{color:#356c55;text-underline-offset:2px;margin-top:9px;font-size:10px;font-weight:650;text-decoration-thickness:1px;display:inline-block}.brand-update-popover a[data-v-3ccab825]:hover{color:#234d3b}.brand-update-popover a[data-v-3ccab825]:focus-visible{outline-offset:3px;border-radius:2px;outline:2px solid #789084}.brand-block.is-sparkling[data-v-3ccab825]:before{animation:1.05s ease-out both brand-halo-3ccab825}@keyframes brand-orbit-travel-3ccab825{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-3ccab825{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-3ccab825{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-3ccab825]{display:none}.brand-block.is-sparkling[data-v-3ccab825]:before{animation:.28s ease-out both brand-reduced-halo-3ccab825}.brand-copy-reflection[data-v-3ccab825]{clip-path:inset(0);animation:.28s ease-out both brand-reduced-glint-3ccab825}@keyframes brand-reduced-halo-3ccab825{0%,to{opacity:0}45%{opacity:.72}}@keyframes brand-reduced-glint-3ccab825{0%,to{opacity:0}45%{opacity:.58}}}.navigation-recovery[data-v-83dee1c5]{color:#6d481e;background:#faf1e5;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-83dee1c5]{flex:1;min-width:0}.navigation-recovery strong[data-v-83dee1c5]{font-weight:650}.navigation-recovery p[data-v-83dee1c5]{margin:4px 0 0;line-height:1.6}.navigation-recovery a[data-v-83dee1c5]{flex-shrink:0;text-decoration:none}.navigation-recovery-dismiss[data-v-83dee1c5]{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:8px}.navigation-recovery[data-v-83dee1c5] :is(a,button):focus-visible{outline-offset:3px;outline:2px solid #805623}@media (width<=640px){.navigation-recovery[data-v-83dee1c5]{flex-wrap:wrap;gap:10px;margin:10px 12px}.navigation-recovery>div[data-v-83dee1c5]{flex-basis:100%}}.employee-workbench-link[data-v-8788995d]{color:inherit;padding:8px}.employee-nav-row[data-v-8788995d]{align-items:center;gap:4px;min-width:0;display:flex}.employee-nav-row>.employee-nav[data-v-8788995d]{flex:1;min-width:0}.employee-nav-row>.agent-hand[data-v-8788995d]{width:auto;margin-inline-end:4px}.employee-nav-mark[data-v-8788995d]{color:#315c43;background:#e3ece6;border-radius:7px;flex:0 0 26px;place-items:center;height:26px;font-size:15px;font-weight:650;display:grid;overflow:hidden}.employee-nav-mark img[data-v-8788995d]{object-fit:cover;width:100%;height:100%}.attention-nav[data-v-521df451]{justify-content:space-between;align-items:center;gap:8px;display:flex}.attention-dialog[data-v-521df451]{width:min(700px,100vw - 32px)}.attention-toolbar[data-v-521df451]{justify-content:flex-end;gap:8px;display:flex}.attention-item[data-v-521df451]{overflow-wrap:anywhere;border-bottom:1px solid #e0e7e2;padding-block:6px 24px}.attention-item[data-v-521df451]:last-child{border-bottom:0;padding-bottom:0}.attention-item h3[data-v-521df451]{margin:8px 0;font-size:17px}.attention-item .attention-meta[data-v-521df451]{color:#526659;font-size:12px}.attention-item .attention-action[data-v-521df451]{margin-block:12px;font-weight:650}.attention-item form[data-v-521df451]{gap:8px;margin-top:16px;display:grid}.attention-item form button[data-v-521df451]{justify-self:end}.attention-item form label[data-v-521df451]{font-size:13px}.attention-item a[data-v-521df451]{color:#315c43}@media (width<=640px){.attention-item textarea[data-v-521df451]{font-size:16px}}.topbar--workbench[data-v-9fe7a62f]{display:none}.workbench-host-label[data-v-9fe7a62f]{color:#58675d;font-size:12px;font-weight:600}@media (width<=920px){.topbar--workbench[data-v-9fe7a62f]{background:#fff;border:0;justify-content:flex-start;gap:12px;min-height:44px;padding:7px 16px;display:flex}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;color:#202522;font-synthesis:none;background:#f4f5f3;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box;scrollbar-color:#b8c2bb transparent;scrollbar-width:thin}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-corner{background:0 0}::-webkit-scrollbar-thumb{background:#b8c2bb padding-box padding-box;border:1px solid #0000;border-radius:999px}::-webkit-scrollbar-thumb:hover{background-color:#98a69d}[hidden]{display:none!important}html,body{height:100%;overflow:hidden}body{min-width:1060px;margin:0}button,input,select,textarea{font:inherit}button{cursor:pointer}h1,h2,h3,p{margin:0}h1{letter-spacing:-.02em;font-size:18px}h2{letter-spacing:-.025em;font-size:25px}h3{font-size:15px}.app-shell{grid-template-columns:240px minmax(0,1fr);height:100dvh;display:grid;overflow:hidden}.sidebar{background:#eef0ed;border-right:1px solid #dce0db;flex-direction:column;height:100dvh;min-height:0;padding:20px 14px 16px;display:flex;position:sticky;top:0;overflow:hidden}.sidebar>.brand-block,.sidebar-foot{flex:none}.primary-nav{overscroll-behavior:contain;scrollbar-gutter:stable;flex:auto;align-content:start;gap:3px;min-height:0;padding:2px 2px 12px;display:grid;overflow:hidden auto}.nav-section-label{color:#939a94;letter-spacing:.12em;text-transform:uppercase;margin:0 10px 5px;font-size:9px;font-weight:700}.nav-space-label,.nav-tool-label,.nav-about-label{margin-top:16px}.primary-nav button{color:#505852;text-align:left;background:0 0;border:0;border-radius:7px;grid-template-columns:24px 1fr auto;align-items:center;width:100%;padding:9px 10px;font-size:13px;display:grid;position:relative}.primary-nav button:hover{background:#e4e7e3}.primary-nav button:focus-visible{outline-offset:1px;outline:2px solid #91a398}.primary-nav button[aria-pressed=true]{color:#243b31;background:#dde4df;font-weight:650}.primary-nav .space-nav-button{min-height:52px;padding-block:8px}.primary-nav .personal-space-button[aria-pressed=true]{color:#254234;background:#dde7e1}.primary-nav .public-space-button[aria-pressed=true]{color:#2c414d;background:#e0e6e9}.nav-copy{gap:2px;display:grid}.nav-copy strong{font-size:13px;font-weight:650}.nav-copy small{color:#858d87;font-size:9px;font-weight:500}.primary-nav #review-count{color:#fff;text-align:center;background:#b94e45;border-radius:9px;min-width:20px;padding:1px 6px;font-size:10px}.nav-icon{width:17px;height:17px;-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%201024%201024'%3e%3cpath%20d='M512%2085.333333c235.648%200%20426.666667%20191.018667%20426.666667%20426.666667s-191.018667%20426.666667-426.666667%20426.666667S85.333333%20747.648%2085.333333%20512%20276.352%2085.333333%20512%2085.333333z%20m0%2085.333334a341.333333%20341.333333%200%201%200%200%20682.666666%20341.333333%20341.333333%200%200%200%200-682.666666z%20m0%2042.666666c43.434667%200%2084.693333%209.258667%20121.941333%2025.941334L567.253333%20305.92a213.333333%20213.333333%200%200%200-206.08%20356.949333L300.8%20723.2l-6.656-6.869333A298.666667%20298.666667%200%200%201%20512%20213.333333z%20m272.725333%20176.768c16.64%2037.205333%2025.941333%2078.506667%2025.941334%20121.898667a297.728%20297.728%200%200%201-87.466667%20211.2l-60.330667-60.330667a213.674667%20213.674667%200%200%200%2055.253334-206.08l66.602666-66.688z%20m-91.733333-119.466666l60.373333%2060.330666-158.933333%20158.976A85.461333%2085.461333%200%200%201%20512%20597.333333a85.333333%2085.333333%200%201%201%2022.058667-167.765333l158.976-158.933333z'/%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%201024%201024'%3e%3cpath%20d='M853.333333%200H170.666667C75.093333%200%200%2075.093333%200%20170.666667v682.666666c0%2095.573333%2075.093333%20170.666667%20170.666667%20170.666667h682.666666c95.573333%200%20170.666667-75.093333%20170.666667-170.666667V170.666667c0-95.573333-75.093333-170.666667-170.666667-170.666667z%20m102.4%20853.333333c0%2054.613333-47.786667%20102.4-102.4%20102.4H170.666667c-54.613333%200-102.4-47.786667-102.4-102.4V170.666667c0-54.613333%2047.786667-102.4%20102.4-102.4h682.666666c54.613333%200%20102.4%2047.786667%20102.4%20102.4v682.666666z%20m-238.933333-477.866666c0-116.053333-88.746667-204.8-204.8-204.8s-204.8%2088.746667-204.8%20204.8c0%2061.44%2027.306667%20116.053333%2068.266667%20157.013333-122.88%2040.96-204.8%20157.013333-204.8%20286.72%200%2020.48%2013.653333%2034.133333%2034.133333%2034.133333s34.133333-13.653333%2034.133333-34.133333c0-129.706667%20109.226667-238.933333%20238.933334-238.933333h34.133333c116.053333%200%20204.8-88.746667%20204.8-204.8z%20m-204.8%20136.533333c-75.093333%200-136.533333-61.44-136.533333-136.533333s61.44-136.533333%20136.533333-136.533334%20136.533333%2061.44%20136.533333%20136.533334-61.44%20136.533333-136.533333%20136.533333z%20m273.066667%20102.4h-204.8c-20.48%200-34.133333%2013.653333-34.133334%2034.133333s13.653333%2034.133333%2034.133334%2034.133334h204.8c20.48%200%2034.133333-13.653333%2034.133333-34.133334s-13.653333-34.133333-34.133333-34.133333z%20m0%20136.533333h-204.8c-20.48%200-34.133333%2013.653333-34.133334%2034.133334s13.653333%2034.133334%2034.133334%2034.133334h204.8c20.48%200%2034.133333-13.653333%2034.133333-34.133333s-13.653333-34.133333-34.133333-34.133334z'/%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%201024%201024'%3e%3cpath%20d='M870%20719.5c-23.6%200-46%205.5-65.9%2015.3L689.6%20620.3c19.3-31.7%2030.4-69%2030.4-108.8s-11.1-77-30.4-108.8l113.8-113.8c20.1%2010%2042.7%2015.6%2066.6%2015.6%2082.7%200%20150-67.3%20150-150s-67.3-150-150-150-150%2067.3-150%20150c0%2022.4%204.9%2043.6%2013.7%2062.7L618.9%20332c-31.8-19.3-69.1-30.5-108.9-30.5-39.8%200-77%2011.1-108.8%2030.4L289.1%20219.7c9.6-19.7%2014.9-41.9%2014.9-65.2%200-82.7-67.3-150-150-150S4%2071.8%204%20154.5s67.3%20150%20150%20150c22.9%200%2044.6-5.2%2064-14.4l112.5%20112.5c-19.3%2031.8-30.5%2069.1-30.5%20108.9%200%2039.8%2011.2%2077.1%2030.5%20108.9L217.3%20733.5c-19.3-9-40.7-14-63.3-14-82.7%200-150%2067.3-150%20150s67.3%20150%20150%20150%20150-67.3%20150-150c0-23.6-5.5-46-15.3-65.9l112.5-112.5c31.7%2019.3%2069%2030.4%20108.8%2030.4s77.1-11.2%20108.9-30.5L734%20806.2c-9%2019.3-14%2040.7-14%2063.3%200%2082.7%2067.3%20150%20150%20150s150-67.3%20150-150-67.3-150-150-150zm0-615c27.6%200%2050%2022.4%2050%2050s-22.4%2050-50%2050-50-22.4-50-50%2022.4-50%2050-50zm-766%2050c0-27.6%2022.4-50%2050-50s50%2022.4%2050%2050-22.4%2050-50%2050-50-22.4-50-50zm50%20765c-27.6%200-50-22.4-50-50s22.4-50%2050-50%2050%2022.4%2050%2050-22.4%2050-50%2050zm246-408c0-60.7%2049.3-110%20110-110s110%2049.3%20110%20110-49.3%20110-110%20110-110-49.3-110-110zm470%20408c-27.6%200-50-22.4-50-50s22.4-50%2050-50%2050%2022.4%2050%2050-22.4%2050-50%2050z'/%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%201024%201024'%3e%3cpath%20d='M800.2%20299.5H683.7l-7.8-32.1c-7.8-31.9-30.6-66.8-62.6-95.6-15.3-13.8-55.2-46-94.4-46h-293c-46.3%200-84%2042-84%2093.7v140.3h.2v456.4c0%2045.2%2036.7%2081.9%2081.9%2081.9h576.2c45.2%200%2081.9-36.7%2081.9-81.9V381.4c0-45.1-36.7-81.9-81.9-81.9zM211.9%20219.5c0-14.2%208.4-23.7%2014-23.7h293c5.4%200%2024.1%206.8%2047.5%2027.9%2021.2%2019.1%2037.1%2042.2%2041.5%2060.3l1.4%205.8H211.9v-70.3zm600.2%20596.8c0%206.4-5.4%2011.9-11.9%2011.9H224c-6.4%200-11.9-5.4-11.9-11.9V369.5h588.1c6.4%200%2011.9%205.4%2011.9%2011.9v434.9z'/%3e%3cpath%20d='M282.4%20486.3h70v70h-70zM282.4%20644.4h70v70h-70zM731.6%20486.3H442.1c-19.3%200-35%2015.7-35%2035s15.7%2035%2035%2035h289.5c19.3%200%2035-15.7%2035-35s-15.7-35-35-35zM731.6%20644.4H442.1c-19.3%200-35%2015.7-35%2035s15.7%2035%2035%2035h289.5c19.3%200%2035-15.7%2035-35s-15.7-35-35-35z'/%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%201024%201024'%3e%3cpath%20d='M512%2072c121.5%200%20220%2098.5%20220%20220%200%2066.5-29.5%20126-76.1%20166.4C752.7%20499.7%20820%20595.6%20820%20707v89c0%2025.4-20.6%2046-46%2046H250c-25.4%200-46-20.6-46-46v-89c0-111.4%2067.3-207.3%20164.1-248.6A219.5%20219.5%200%200%201%20292%20292C292%20170.5%20390.5%2072%20512%2072Zm0%2076c-79.5%200-144%2064.5-144%20144s64.5%20144%20144%20144%20144-64.5%20144-144-64.5-144-144-144Zm0%20364c-128.1%200-232%2087.3-232%20195v59h464v-59c0-107.7-103.9-195-232-195Z'/%3e%3cpath%20d='M788%20184h96v-96h68v96h96v68h-96v96h-68v-96h-96z'%20transform='translate(-72%2024)'/%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%201024%201024'%3e%3cpath%20d='M494.677333%20114.368a42.666667%2042.666667%200%200%201%2034.645334%200l329.173333%20146.304a21.333333%2021.333333%200%200%201%202.304%2037.76l-61.333333%2036.821333a42.666667%2042.666667%200%200%201-21.952%206.08H246.485333a42.666667%2042.666667%200%200%201-21.952-6.08L163.2%20298.453333a21.333333%2021.333333%200%200%201%202.304-37.781333l329.173333-146.304zM320%20384a21.333333%2021.333333%200%200%201%2021.333333%2021.333333v234.666667h42.666667V405.333333a21.333333%2021.333333%200%200%201%2021.333333-21.333333h64a21.333333%2021.333333%200%200%201%2021.333334%2021.333333v234.666667h42.666666V405.333333a21.333333%2021.333333%200%200%201%2021.333334-21.333333h64a21.333333%2021.333333%200%200%201%2021.333333%2021.333333v234.666667h42.666667V405.333333a21.333333%2021.333333%200%200%201%2021.333333-21.333333h64a21.333333%2021.333333%200%200%201%2021.333333%2021.333333v234.666667l38.4%2051.2A21.333333%2021.333333%200%200%201%20810.666667%20725.333333H213.333333a21.333333%2021.333333%200%200%201-17.066666-34.133333L234.666667%20640V405.333333a21.333333%2021.333333%200%200%201%2021.333333-21.333333h64zM149.333333%20789.333333a21.333333%2021.333333%200%200%201%2021.333334-21.333333h682.666666a21.333333%2021.333333%200%200%201%2021.333334%2021.333333v64a21.333333%2021.333333%200%200%201-21.333334%2021.333334H170.666667a21.333333%2021.333333%200%200%201-21.333334-21.333334v-64z'/%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%201024%201024'%3e%3cpath%20d='M870%20719.5c-23.6%200-46%205.5-65.9%2015.3L689.6%20620.3c19.3-31.7%2030.4-69%2030.4-108.8s-11.1-77-30.4-108.8l113.8-113.8c20.1%2010%2042.7%2015.6%2066.6%2015.6%2082.7%200%20150-67.3%20150-150s-67.3-150-150-150-150%2067.3-150%20150c0%2022.4%204.9%2043.6%2013.7%2062.7L618.9%20332c-31.8-19.3-69.1-30.5-108.9-30.5-39.8%200-77%2011.1-108.8%2030.4L289.1%20219.7c9.6-19.7%2014.9-41.9%2014.9-65.2%200-82.7-67.3-150-150-150S4%2071.8%204%20154.5s67.3%20150%20150%20150c22.9%200%2044.6-5.2%2064-14.4l112.5%20112.5c-19.3%2031.8-30.5%2069.1-30.5%20108.9%200%2039.8%2011.2%2077.1%2030.5%20108.9L217.3%20733.5c-19.3-9-40.7-14-63.3-14-82.7%200-150%2067.3-150%20150s67.3%20150%20150%20150%20150-67.3%20150-150c0-23.6-5.5-46-15.3-65.9l112.5-112.5c31.7%2019.3%2069%2030.4%20108.8%2030.4s77.1-11.2%20108.9-30.5L734%20806.2c-9%2019.3-14%2040.7-14%2063.3%200%2082.7%2067.3%20150%20150%20150s150-67.3%20150-150-67.3-150-150-150zm0-615c27.6%200%2050%2022.4%2050%2050s-22.4%2050-50%2050-50-22.4-50-50%2022.4-50%2050-50zm-766%2050c0-27.6%2022.4-50%2050-50s50%2022.4%2050%2050-22.4%2050-50%2050-50-22.4-50-50zm50%20765c-27.6%200-50-22.4-50-50s22.4-50%2050-50%2050%2022.4%2050%2050-22.4%2050-50%2050zm246-408c0-60.7%2049.3-110%20110-110s110%2049.3%20110%20110-49.3%20110-110%20110-110-49.3-110-110zm470%20408c-27.6%200-50-22.4-50-50s22.4-50%2050-50%2050%2022.4%2050%2050-22.4%2050-50%2050z'/%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'%3e%3cpath%20d='M5%204.5a2.5%202.5%200%201%200%200%205%202.5%202.5%200%200%200%200-5Zm0%2010a2.5%202.5%200%201%200%200%205%202.5%202.5%200%200%200%200-5ZM11%206h9v2h-9V6Zm0%2010h9v2h-9v-2Z'/%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='currentColor'%20stroke-width='1.8'%20stroke-linecap='round'%20stroke-linejoin='round'%3e%3ccircle%20cx='12'%20cy='12'%20r='3'/%3e%3cpath%20d='M19.4%2015a1.7%201.7%200%200%200%20.34%201.88l.06.06-2.83%202.83-.06-.06a1.7%201.7%200%200%200-1.88-.34%201.7%201.7%200%200%200-1.03%201.56V21h-4v-.08A1.7%201.7%200%200%200%209%2019.37a1.7%201.7%200%200%200-1.88.34l-.06.06-2.83-2.83.06-.06A1.7%201.7%200%200%200%204.63%2015%201.7%201.7%200%200%200%203.08%2014H3v-4h.08A1.7%201.7%200%200%200%204.63%209a1.7%201.7%200%200%200-.34-1.88l-.06-.06%202.83-2.83.06.06A1.7%201.7%200%200%200%209%204.63%201.7%201.7%200%200%200%2010%203.08V3h4v.08A1.7%201.7%200%200%200%2015%204.63a1.7%201.7%200%200%200%201.88-.34l.06-.06%202.83%202.83-.06.06A1.7%201.7%200%200%200%2019.37%209%201.7%201.7%200%200%200%2020.92%2010H21v4h-.08A1.7%201.7%200%200%200%2019.4%2015Z'/%3e%3c/svg%3e")}.nav-icon-review{--icon:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%201024%201024'%3e%3cpath%20d='M768%20992H256c-89.6%200-160-70.4-160-160V320L377.6%2032H768c89.6%200%20160%2070.4%20160%20160v640c0%2089.6-70.4%20160-160%20160zM160%20345.6V832c0%2051.2%2044.8%2096%2096%2096h512c51.2%200%2096-44.8%2096-96V192c0-51.2-44.8-96-96-96H403.2L160%20345.6z'/%3e%3cpath%20d='M300.8%20352H147.2v-64h153.6c32%200%2051.2-25.6%2051.2-51.2V64h64v172.8c0%2064-51.2%20115.2-115.2%20115.2zm134.4%20358.4c-6.4%200-19.2%200-25.6-6.4l-128-140.8c-12.8-12.8-12.8-32%200-44.8%2012.8-12.8%2032-12.8%2044.8%200l134.4%20134.4c12.8%2012.8%2012.8%2032%200%2044.8-6.4%206.4-12.8%2012.8-25.6%2012.8z'/%3e%3cpath%20d='M435.2%20710.4c-6.4%200-19.2%200-25.6-6.4-12.8-12.8-12.8-32%200-44.8L684.8%20384c12.8-12.8%2032-12.8%2044.8%200s12.8%2032%200%2044.8L460.8%20697.6c-6.4%206.4-12.8%2012.8-25.6%2012.8z'/%3e%3c/svg%3e")}.nav-icon-connections{--icon:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%201024%201024'%3e%3cpath%20d='M582.239997%20663.142968c-56.713997%200-113.426994-21.589999-156.609992-64.772997-11.728999-11.726999-11.728999-30.792998%200-42.520998%2011.728999-11.726999%2030.791998-11.726999%2042.520998%200%2062.910997%2062.909997%20165.212992%2062.909997%20228.121989%200L914.94998%20337.169984c62.910997-62.909997%2062.910997-165.211992%200-228.121989-62.907997-62.909997-165.210992-62.909997-228.119989%200L502.313%20293.565986c-11.728999%2011.727999-30.792998%2011.727999-42.521998%200-11.726999-11.727999-11.726999-30.792998%200-42.520998L644.308994%2066.527997c86.364996-86.364996%20226.858989-86.364996%20313.163985%200%2086.304996%2086.363996%2086.363996%20226.857989%200%20313.163985L738.794989%20598.368971c-43.183998%2043.183998-99.898995%2064.772997-156.612992%2064.772997zM221.386014%201023.99995c-56.714997%200-113.429994-21.591999-156.611992-64.772997-86.363996-86.364996-86.363996-226.856989%200-313.163985l218.678989-218.678989c86.364996-86.364996%20226.858989-86.364996%20313.162985%200%2011.727999%2011.727999%2011.727999%2030.791998%200%2042.520998-11.727999%2011.726999-30.792998%2011.726999-42.518998%200-62.910997-62.909997-165.213992-62.909997-228.122989%200L107.29402%20688.583966c-62.909997%2062.907997-62.909997%20165.212992%200%20228.120989%2062.908997%2062.907997%20165.211992%2062.907997%20228.121989%200l184.516991-184.517991c11.728999-11.728999%2030.793998-11.728999%2042.520998%200%2011.728999%2011.726999%2011.728999%2030.790998%200%2042.520998L377.938007%20959.226953C334.755009%201002.407951%20278.040011%201023.99995%20221.325014%201023.99995z'/%3e%3c/svg%3e")}.sidebar-foot{border-top:1px solid #d7dbd6;gap:11px;margin-top:auto;padding:12px 2px 2px;display:grid}.sidebar-foot small{color:#747d76;margin-top:2px;font-size:10px}.sidebar-foot strong{font-size:12px;display:block}.service-runtime-list{gap:8px;display:grid}.runtime-status{align-items:center;gap:8px;min-width:0;display:flex}.runtime-status>div{min-width:0}.capture-setting{color:#626b65;cursor:pointer;border-top:1px solid #dde1dc;justify-content:space-between;align-items:center;gap:8px;padding-top:9px;font-size:10px;display:flex}.capture-setting>span{min-width:0}.capture-setting>span strong{color:#46534b}.capture-setting>span small{margin-top:2px;display:block}.agent-access-setting{padding-top:10px}.agent-access-setting[data-enabled=false]>span strong{color:#8b4f49}.capture-setting input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.capture-setting i{background:#c8cdc9;border:1px solid #b9c0bb;border-radius:999px;flex:none;width:31px;height:18px;transition:background-color .16s,border-color .16s;position:relative}.capture-setting i:after{content:"";background:#fff;border-radius:50%;width:12px;height:12px;transition:transform .16s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #222b2538}.capture-setting input:checked+i{background:#5f816d;border-color:#537461}.capture-setting input:checked+i:after{transform:translate(13px)}.capture-setting input:focus-visible+i{outline-offset:2px;outline:2px solid #91a398}.capture-setting input:disabled+i{opacity:.55}.status-dot{background:#c4a34a;border-radius:50%;width:8px;height:8px}.status-dot.ready{background:#3f8b64}.status-dot.error{background:#b94e45}.status-dot.disconnected{background:#aeb5af}.workspace{flex-direction:column;min-width:0;height:100dvh;min-height:0;display:flex;overflow:hidden}.topbar{background:#fafbf9eb;border-bottom:1px solid #e1e4df;flex:none;justify-content:space-between;align-items:center;gap:28px;min-height:72px;padding:16px 32px;display:flex}.topbar-heading{align-content:center;gap:2px;min-width:0;display:grid}.topbar-heading .eyebrow{margin:0 0 2px}.topbar-heading h2{line-height:1.12}.topbar-description{color:#7b847e;text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:min(58vw,820px);font-size:10px;line-height:1.45;overflow:hidden}.topbar-actions{flex:none;align-items:center;gap:14px;display:flex}.eyebrow{color:#879088;letter-spacing:.14em;margin-bottom:5px;font-size:10px;font-weight:700}.quiet-button,.subscription-form button{color:#3f4741;background:#fff;border:1px solid #cfd5cf;border-radius:7px;padding:7px 12px;font-size:12px}.quiet-button:hover,.subscription-form button:hover{border-color:#8e9b92}.settings-save-button{color:#fff;background:#344c3d;border:0;border-radius:7px;padding:8px 13px;font-size:12px;font-weight:700}.settings-save-button:hover{background:#2b4234}.settings-save-button:focus-visible{outline-offset:2px;outline:2px solid #91a398}.feedback{color:#8b3f38;background:#fbf3f2;border:1px solid #d8b3ae;border-radius:7px;margin:18px 32px 0;padding:10px 12px;font-size:13px}.feedback.success{color:#356046;background:#f1f7f3;border-color:#bfd3c5}.view{flex:1;min-height:0;padding:30px 32px 44px;overflow:auto}.view[data-view-panel=personal-profile]{flex-direction:column;padding:18px 32px 20px;display:flex;overflow:hidden}.section-toolbar{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.section-toolbar p{color:#68716a;font-size:13px;line-height:1.55}.mode-chip{color:#426352;background:#f5f8f6;border:1px solid #c8d3cb;border-radius:999px;padding:5px 9px;font-size:11px}.overview-summary{background:#fff;border:1px solid #dce1dc;border-radius:9px;grid-template-columns:minmax(220px,1.15fr) minmax(170px,.8fr) minmax(220px,1fr);margin:0 0 34px;display:grid;overflow:hidden}.overview-summary-card{min-width:0;min-height:166px;color:inherit;border-right:1px solid #e5e8e5;flex-direction:column;padding:21px 23px 18px;text-decoration:none;transition:background-color .15s,box-shadow .15s;display:flex;position:relative}.overview-summary-card:last-child{border-right:0}.overview-summary-card:hover{background:#f7f9f7}.overview-summary-card:focus-visible{z-index:1;outline-offset:-3px;outline:2px solid #7f9b8a}.overview-space-card{background:#fbfcfb}.overview-summary-label{color:#737c76;font-size:11px;font-weight:650}.overview-summary-name,.overview-summary-value{color:#26372e;letter-spacing:-.025em;text-overflow:ellipsis;white-space:nowrap;margin-top:10px;font-size:28px;font-weight:620;line-height:1.15;display:block;overflow:hidden}.overview-summary-name{font-size:25px}.overview-shared-value{font-size:24px}.overview-summary-meta{color:#78817a;align-items:center;gap:7px;min-height:18px;margin-top:7px;font-size:11px;line-height:1.45;display:flex}.overview-status-dot{background:#aeb5af;border-radius:50%;flex:none;width:7px;height:7px}.overview-status-dot.ready{background:#3f8b64}.overview-status-dot.error{background:#b94e45}.overview-summary-action{color:#315b46;justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding-top:18px;font-size:11px;font-weight:680;display:flex}.overview-summary-action>span{color:#789083;font-size:15px;transition:transform .15s}.overview-summary-card:hover .overview-summary-action>span{transform:translate(2px)}.overview-shared-projects-card.is-disconnected .overview-summary-value{color:#67716a}.overview-shared-projects-card.is-error .overview-summary-value{color:#8b4b43}.two-column{grid-template-columns:1.15fr .85fr;gap:24px;display:grid}.section-block{border-top:1px solid #cfd5cf;padding-top:14px}.section-title{margin-bottom:14px}.flow-list{gap:17px;margin:0;padding:0;list-style:none;display:grid}.flow-list li{grid-template-columns:28px 1fr;align-items:start;gap:11px;display:grid}.flow-list li>span{color:#3f5d4e;background:#e3e9e5;border-radius:50%;place-items:center;width:24px;height:24px;font-size:11px;font-weight:700;display:grid}.flow-list strong{font-size:13px}.flow-list p{color:#79817b;margin-top:3px;font-size:12px}.space-heading{grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:15px;padding:0 0 18px;display:grid}.space-heading-icon{color:#3f6652;background-color:#fff;border:1px solid #d7ded9;border-radius:10px;place-items:center;width:42px;height:42px;display:grid}.space-heading-icon .nav-icon{width:21px;height:21px}.public-space-heading .space-heading-icon{color:#496272;background-color:#f8fafb;border-color:#d5dde2}.space-heading p{color:#68716a;font-size:13px;line-height:1.55}.space-heading-status{text-align:right;border-left:1px solid #dfe3df;min-width:94px;padding-left:20px}.space-heading-status strong{color:#31523f;font-size:24px;font-weight:620;display:block}.space-heading-status span,.space-heading-status small{color:#747d76;font-size:10px;display:block}.space-heading-status small{color:#9aa19b;margin-top:2px}.public-space-stats{background:#f9fbfc;border:1px solid #d8dfe3;border-radius:8px;align-items:stretch;display:flex}.public-space-stats span{color:#79838a;text-align:center;min-width:76px;padding:9px 12px;font-size:9px}.public-space-stats span+span{border-left:1px solid #dde3e6}.public-space-stats strong{color:#385363;font-size:18px;line-height:1.15;display:block}.personal-profile-summary{background:#f0f3f0;border-radius:8px;align-items:center;gap:0;min-height:50px;padding:0 16px;display:flex}.personal-profile-summary strong{color:#314a3d;font-size:18px;display:block}.personal-profile-summary>button{color:#7a837d;text-align:left;background:0 0;border:0;min-width:102px;padding:10px 18px;font-size:10px;transition:color .15s,background-color .15s,box-shadow .15s}.personal-profile-summary>button+button{border-left:1px solid #dce2dd}.personal-profile-summary>button small{color:#879089;margin-top:2px;font-size:8px;font-weight:650;display:block}.personal-profile-summary>button:hover{color:#415249;background:#e9eeea}.personal-profile-summary>button:focus{outline:none}.personal-profile-summary>button:focus-visible{outline-offset:-2px;outline:2px solid #91a398}.personal-profile-summary>button[aria-pressed=true]{color:#2f4d3d;background:#e3ebe6;box-shadow:inset 0 -2px #71877a}.personal-profile-summary>button[aria-pressed=true] small{color:currentColor}.personal-profile-summary p{color:#7c857f;margin-left:auto;font-size:10px}.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-filters{gap:4px;display:flex}.personal-profile-filters button{color:#69726c;background:0 0;border:1px solid #0000;border-radius:6px;min-width:64px;padding:6px 9px;font-size:10px}.personal-profile-filters button:hover{background:#eef2ef}.personal-profile-filters button[aria-pressed=true]{color:#31523f;background:#edf3ef;border-color:#aebfb4;font-weight:650}.personal-profile-scope-filter{width:min(240px,28vw)}.personal-profile-scope-filter .searchable-select-trigger{background:#fff;border-radius:6px;min-height:30px}.personal-profile-layout{isolation:isolate;background:#fff;border:1px solid #cfd7d1;border-radius:8px;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{color:#8b938d;background:#f7f8f6;border-bottom:1px solid #e0e4e0;padding:10px 15px;font-size:9px;font-weight:680}.personal-profile-row{color:#4f5952;text-align:left;background:#fff;border:0;border-bottom:1px solid #e8ebe8;width:100%;height:100%;padding:12px 15px}.personal-profile-row:hover{background:#f8faf8}.personal-profile-row.selected{background:#f1f6f3;box-shadow:inset 0 0 0 1px #d2dfd7}.profile-aspect-mark{border-radius:999px;width:fit-content;padding:4px 8px;font-size:9px;font-weight:680}.profile-aspect-mark.taste{color:#5f5640;background:#f5f0e5}.profile-aspect-mark.personality{color:#4f5f78;background:#edf1f6}.profile-aspect-mark.judgment_preference{color:#405e50;background:#eaf3ee}.personal-profile-copy,.personal-profile-origin{gap:4px;min-width:0;display:grid}.personal-profile-copy strong,.personal-profile-origin strong{color:#303b35;font-size:11px}.personal-profile-origin strong.has-conflict{color:#53615a}.personal-profile-copy small,.personal-profile-origin small,.personal-profile-row time{color:#7b847e;font-size:9px;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 #cfd5cf;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{background:#fafbfa;border:1px dashed #d8ddd8;border-radius:8px;grid-column:1/-1}.project-card{background:#fff;border:1px solid #dfe3de;border-radius:9px;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:#28352e;overflow-wrap:anywhere;margin:0;font-size:16px}.project-purpose{color:#626c65;min-height:38px;margin-top:12px;font-size:12px;line-height:1.55}.completion-badge{text-align:center;background:#f8faf8;border:1px solid #d4dbd5;border-radius:8px;flex:none;min-width:54px;padding:7px 8px}.completion-badge strong{color:#345241;font-size:18px;line-height:1;display:block}.completion-badge span{color:#7c857e;font-size:9px}.evidence-row{flex-wrap:wrap;gap:5px;min-height:24px;margin-top:13px;display:flex}.status-chip{color:#4d6558;background:#f7faf8;border:1px solid #d5ddd7;border-radius:999px;align-items:center;width:fit-content;padding:3px 7px;font-size:9px;font-weight:650;display:inline-flex}.status-chip.owner{color:#2f5943;background:#eef6f1;border-color:#b8cdbf}.status-chip.private{color:#746448;background:#fbf8f1;border-color:#ddd5c5}.completion-note{color:#879088;margin-top:14px;font-size:10px}.completion-details{border-top:1px solid #e7eae7;margin-top:13px;padding-top:10px}.completion-details summary,.episode-details summary{color:#53645a;cursor:pointer;font-size:10px}.completion-columns{grid-template-columns:repeat(2,1fr);gap:8px;margin-top:11px;display:grid}.assessment-block{background:#f7f8f7;border-radius:6px;min-width:0;padding:8px}.assessment-block>strong{color:#59645d;font-size:9px}.assessment-block ul{color:#6f7872;margin:5px 0 0;padding-left:14px;font-size:9px;line-height:1.45}.assessment-block.inferred{background:#faf8f2}.project-access,.project-actions{align-items:center;gap:7px;margin-top:14px;display:flex}.project-access{border-top:1px solid #e8ebe8;padding-top:12px}.project-actions{flex-wrap:wrap}.primary-action,.secondary-action,.management-action,.danger-action,.relation-actions button{border-radius:7px;min-height:32px;padding:7px 11px;font-size:10px;font-weight:600}.primary-action{color:#fff;background:#426f58;border:1px solid #3e6b54}.secondary-action{color:#53615a;background:#fff;border:1px solid #cdd5cf}.management-action{color:#59665f;background:#f8faf8;border:1px solid #d6dcd7}.danger-action{color:#fff;background:#ad4d44;border:1px solid #a64940}.primary-action:hover{background:#365f4a}.secondary-action:hover,.management-action:hover{background:#fafcfb;border-color:#9eaca2}.danger-action:hover{background:#983f37}.primary-action:disabled,.secondary-action:disabled,.management-action:disabled,.danger-action:disabled{cursor:wait;opacity:.58}.project-release-meta{border-left:1px solid #e2e6e2;gap:1px;margin-left:auto;padding-left:11px;display:grid}.project-release-meta strong{color:#3e5c4c;font-size:10px}.project-release-meta span{color:#89918b;font-size:9px}.project-card-footer{border-top:1px solid #e7eae7;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}.project-footer-label{color:#7f8982;font-size:9px;font-weight:650}.project-subscription-state{color:#53625a;align-items:center;gap:7px;font-size:10px;display:flex}.subscription-indicator{align-items:center;gap:6px;display:inline-flex}.subscription-indicator i{background:#3f8b64;border-radius:50%;width:7px;height:7px}.subscription-action{min-height:30px;margin-left:4px;padding:5px 10px;font-size:11px}.project-publication-bar{background:#f8faf8;border:1px solid #dfe5e0;border-radius:8px;justify-content:space-between;align-items:center;gap:16px;margin-top:12px;padding:12px;display:flex}.project-publication-bar strong{color:#3d4f45;font-size:10px;display:block}.project-publication-bar span{color:#7e8881;margin-top:2px;font-size:9px;display:block}.project-relations{gap:6px;margin-top:11px;display:grid}.relation-loading{padding:9px 0 2px}.project-relation-row{background:#f7f8f7;border-radius:7px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px;display:grid}.project-relation-row strong{font-size:10px;display:block}.project-relation-row span{display:block}.relation-actions{gap:5px;display:flex}.relation-section-toolbar{align-items:center}.relation-section-toolbar .primary-action{flex:none;padding:8px 12px;font-size:11px}.relation-section-toolbar .primary-action:disabled{cursor:not-allowed}.relation-composer{background:#fff;border:1px solid #d9ded9;border-radius:10px;margin-top:16px;box-shadow:0 10px 30px #2330280f}.relation-composer-form{padding:18px}.relation-preview{background:#f8faf8;border:1px solid #e0e5e1;border-radius:9px;grid-template-columns:minmax(180px,1fr) minmax(150px,.65fr) minmax(180px,1fr);align-items:center;gap:16px;padding:18px;display:grid}.relation-preview-node{background:#fff;border:1px solid #ced8d1;border-radius:9px;align-content:center;gap:4px;min-width:0;min-height:98px;padding:15px;display:grid}.relation-preview-node span{color:#849087;letter-spacing:.09em;font-size:9px;font-weight:700}.relation-preview-node strong{color:#2e4137;overflow-wrap:anywhere;font-size:15px}.relation-preview-node small{color:#818a84;font-size:9px}.relation-preview-target{border-color:#ccd8de}.relation-preview-connector{text-align:center;grid-template-rows:auto 1px;align-items:center;gap:8px;display:grid}.relation-preview-connector span{color:#3f6250;overflow-wrap:anywhere;background:#fff;border:1px solid #c6d3cb;border-radius:999px;width:fit-content;max-width:100%;margin:0 auto;padding:4px 9px;font-size:10px;font-weight:650}.relation-preview-connector i{border-top:1px solid #91a399;width:100%}.relation-builder{border-top:1px solid #e3e7e3;border-bottom:1px solid #e3e7e3;grid-template-columns:minmax(170px,.75fr) minmax(360px,1.6fr) minmax(220px,1fr);gap:0;margin-top:18px;display:grid}.relation-builder-step{border:0;min-width:0;margin:0;padding:17px 18px 18px 0}.relation-builder-step+.relation-builder-step{border-left:1px solid #e4e8e4;padding-left:18px}.relation-builder-step>label,.relation-builder-step legend{color:#36443c;margin:3px 0 9px;padding:0;font-size:11px;font-weight:650;display:block}.relation-builder-step>select,.relation-builder-step>input{width:100%}.relation-builder-step>small{color:#8a928c;margin-top:8px;font-size:9px;line-height:1.45;display:block}.relation-step-number{color:#8b958e;letter-spacing:.11em;font-size:9px;font-weight:700}.relation-builder-step legend .relation-step-number{margin-bottom:7px;display:block}.relation-type-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.relation-type-options label,.relation-target-option{cursor:pointer;background:#fff;border:1px solid #dce2dd;border-radius:7px;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:8px;display:grid}.relation-type-options label{min-height:55px;padding:9px}.relation-type-options label:hover,.relation-target-option:hover{background:#fafcfb;border-color:#aebbb2}.relation-type-options label:has(input:checked){background:#f1f6f3;border-color:#6d8b7b;box-shadow:0 0 0 1px #4d6f5c14}.relation-target-option:has(input:checked){background:#f1f6f3;border-color:#6d8b7b;box-shadow:0 0 0 1px #4d6f5c14}.relation-type-options input,.relation-target-option input{accent-color:#426f58;margin:2px 0 0}.relation-type-options span,.relation-target-option span{min-width:0}.relation-type-options strong,.relation-target-option strong{color:#3b4941;font-size:10px;display:block}.relation-type-options small,.relation-target-option small{color:#7f8882;overflow-wrap:anywhere;margin-top:3px;font-size:9px;line-height:1.35;display:block}.relation-target-list{gap:6px;max-height:152px;margin-top:8px;display:grid;overflow:auto}.relation-target-option{padding:9px}.relation-target-empty{color:#8b938d;text-align:center;padding:18px 8px;font-size:10px}.relation-composer-footer{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:7px 20px;padding-top:15px;display:grid}.relation-rule{color:#69736c;font-size:10px;line-height:1.45}.relation-validation{color:#98483f;grid-column:1;font-size:10px}.relation-composer-actions{grid-area:1/2/span 2;gap:7px;display:flex}.relation-composer-actions button{min-width:92px;padding:7px 11px}.provider-list,.subscription-list{gap:8px;display:grid}.provider-row,.subscription-row{border-bottom:1px solid #e3e6e2;grid-template-columns:10px 1fr auto;align-items:center;gap:9px;padding:10px 0;display:grid}.provider-row:last-child,.subscription-row:last-child{border-bottom:0}.provider-row i{background:#3f8b64;border-radius:50%;width:7px;height:7px}.provider-row i.disconnected{background:#aeb5af}.provider-row strong,.subscription-row strong{font-size:12px;display:block}.provider-row span,.subscription-row span{color:#7a837c;font-size:11px}.provider-row .provider-state{color:#6d7770;font-size:10px;font-weight:620}.connections-view{padding-top:24px}.connection-intro{max-width:760px}.connection-intro h3{font-size:18px}.connection-intro p{color:#6d7770;margin-top:6px;font-size:12px;line-height:1.55}.service-connection-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:20px;display:grid}.service-connection-card{background:#fff;border:1px solid #cfd7d1;border-radius:8px;min-width:0;padding:18px}.service-connection-card[data-status=ready]{border-color:#b8cbbf}.service-connection-card[data-status=error]{border-color:#dcc3bf}.service-connection-card>header{grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:11px;display:grid}.service-connection-card>header .eyebrow{margin-bottom:2px;font-size:8px}.service-connection-card>header h3{color:#2f3c35;font-size:15px}.service-connection-icon{color:#426652;background:#f5f8f6;border:1px solid #d4ddd7;border-radius:9px;place-items:center;width:38px;height:38px;display:grid}.service-connection-icon.public{color:#4f6875;background:#f6f8f9;border-color:#d6dde1}.service-state{color:#66716a;align-items:center;gap:6px;font-size:10px;font-weight:650;display:inline-flex}.service-state:before{content:"";background:#aeb5af;border-radius:50%;width:6px;height:6px}.service-connection-card[data-status=ready] .service-state{color:#3c654f}.service-connection-card[data-status=ready] .service-state:before{background:#3f8b64}.service-connection-card[data-status=error] .service-state{color:#8b4b44}.service-connection-card[data-status=error] .service-state:before{background:#b94e45}.service-connection-card>p{color:#69736c;min-height:38px;margin-top:15px;font-size:11px;line-height:1.55}.service-connection-card dl{border-top:1px solid #e4e8e4;margin:14px 0 0}.service-connection-card dl>div{border-bottom:1px solid #edf0ed;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:#8a928c;font-size:9px}.service-connection-card dd{color:#4d5851;overflow-wrap:anywhere;margin:0;font-size:10px}.connection-subscriptions{border-top:1px solid #d9dfda;margin-top:24px;padding-top:16px}.connection-subscriptions .section-title{margin-bottom:10px}.connection-subscriptions .section-title p{color:#7b847e;margin-top:4px;font-size:10px}.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:8px;font-weight:750;display:inline-flex}.feature-badge.beta{color:#8a5b15;background:#fff8e8;border:1px solid #dfbd82}.external-knowledge-section,.conflict-policy-section{border-top:1px solid #d9dfda;margin-top:14px;padding-top:12px}.section-title-with-help{align-items:center;gap:7px;display:flex}.section-help-link{color:#627168;background:#fff;border:1px solid #cbd4ce;border-radius:50%;flex:none;place-items:center;width:17px;height:17px;font-size:10px;font-weight:750;line-height:1;text-decoration:none;display:inline-grid}.section-help-link:hover{color:#365744;background:#f6f9f7;border-color:#81958a}.section-help-link:focus-visible{outline-offset:2px;outline:2px solid #91a398}.external-binding-count{color:#8a928c;font-size:9px;font-weight:620}.external-binding-list{margin-top:10px;display:grid}.external-binding-row{border-bottom:1px solid #e3e6e2;grid-template-columns:8px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:55px;display:grid}.external-binding-row>i{background:#3f8b64;border-radius:50%;width:7px;height:7px}.external-binding-row[data-status=error]>i{background:#b94e45}.external-binding-row strong{color:#354139;font-size:12px;display:block}.external-binding-row span,.external-binding-row small{color:#7a837c;margin-top:2px;font-size:9px;display:block}.external-binding-row small{color:#985149}.external-binding-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.quiet-button.danger{color:#914b44}.compact-empty{color:#858d87;padding:18px 0;font-size:11px}.external-binding-form{background:#fafbfa;border:1px solid #dce2dd;border-radius:8px;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{color:#68726b;gap:5px;min-width:0;font-size:9px;display:grid}.external-binding-form input,.external-binding-form textarea,.external-binding-form .searchable-select,.conflict-policy-controls .searchable-select{width:100%;min-width:0}.external-binding-form input,.external-binding-form textarea,.external-binding-form .searchable-select-trigger,.conflict-policy-controls .searchable-select-trigger{color:#354139;background:#fff;border:1px solid #cfd7d1;border-radius:6px;width:100%;min-width:0;padding:7px 8px;font-size:11px}.external-binding-form textarea{resize:vertical}.external-binding-form .wide-field{grid-column:span 3}.trusted-code-badge{color:#765718;background:#fff9ea;border:1px solid #dbc58f;border-radius:5px;width:fit-content;padding:5px 7px;font-size:9px}.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 #dce1dc;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:#7a837d;background:0 0;border:0;padding:0 1px;font-size:12px;font-weight:620;position:relative}.knowledge-mode-switch button[aria-selected=true]{color:#2f4d3d}.knowledge-mode-switch button[aria-selected=true]:after{content:"";background:#3f6b55;border-radius:2px 2px 0 0;height:2px;position:absolute;bottom:-1px;left:0;right:0}#graph-count.search-active{color:#8a5b16;font-weight:650}.graph-toolbar{flex-wrap:wrap;align-items:center;gap:8px 10px;min-height:48px;padding:8px 0;display:flex}select,input,textarea{color:#303632;background:#fff;border:1px solid #cfd5cf;border-radius:7px;outline:none;padding:7px 9px;font-size:12px}textarea{resize:vertical;line-height:1.5}select:focus,input:focus,textarea:focus{border-color:#6f8577;box-shadow:0 0 0 2px #54715f1a}.searchable-select{color:#303632;vertical-align:middle;min-width:128px;font-size:11px;display:inline-block;position:relative}.searchable-select-native{display:none!important}.searchable-select-trigger{color:#39433d;text-align:left;background:#fff;border:1px solid #cfd5cf;border-radius:7px;grid-template-columns:minmax(0,1fr) 12px;align-items:center;gap:8px;width:100%;min-height:32px;padding:6px 9px;display:grid}.searchable-select-trigger:hover{background:#fcfdfc;border-color:#a9b4ac}.searchable-select-trigger:focus-visible{border-color:#6f8577;outline:0;box-shadow:0 0 0 2px #54715f1f}.searchable-select-current{align-items:baseline;gap:7px;min-width:0;display:flex}.searchable-select-current-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:560;overflow:hidden}.searchable-select-current-meta{color:#8a938d;text-overflow:ellipsis;white-space:nowrap;flex:0 auto;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:8px;font-weight:520;overflow:hidden}.searchable-select-arrow{border-bottom:1.5px solid #7d8881;border-right:1.5px solid #7d8881;justify-self:end;width:7px;height:7px;transition:transform .14s;transform:translateY(-2px)rotate(45deg)}.searchable-select.open .searchable-select-arrow{transform:translateY(2px)rotate(225deg)}.searchable-select.disabled{opacity:.52}.searchable-select.disabled .searchable-select-trigger{cursor:not-allowed}.searchable-select-panel{z-index:45;background:#fff;border:1px solid #d4dad5;border-radius:9px;width:max(100%,268px);padding:7px;position:absolute;top:calc(100% + 5px);left:0;box-shadow:0 14px 36px #23302824}.searchable-select.open-up .searchable-select-panel{top:auto;bottom:calc(100% + 5px)}.searchable-select-search{padding:2px 2px 7px}.searchable-select-search input{background:#f7f9f7;border-color:#dbe0dc;width:100%;height:31px;padding:6px 8px;font-size:10px}.searchable-select-options{overscroll-behavior:contain;gap:2px;max-height:228px;display:grid;overflow:auto}.searchable-select-option{color:#455149;text-align:left;background:0 0;border:0;border-radius:6px;grid-template-columns:minmax(0,1fr) 14px;align-items:center;gap:8px;width:100%;min-height:36px;padding:7px 8px;display:grid}.searchable-select-option:hover,.searchable-select-option:focus-visible{background:#f2f6f3;outline:0}.searchable-select-option[aria-selected=true]{color:#2f5541;background:#edf4ef}.searchable-select-option:disabled{cursor:not-allowed;opacity:.4}.searchable-select-option-copy{gap:2px;min-width:0;display:grid}.searchable-select-option-copy strong{text-overflow:ellipsis;white-space:nowrap;font-size:10px;font-weight:620;overflow:hidden}.searchable-select-option-copy small{color:#8a938d;text-overflow:ellipsis;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:8px;overflow:hidden}.searchable-select-check{border-bottom:1.5px solid #0000;border-left:1.5px solid #0000;width:8px;height:4px;transform:rotate(-45deg)}.searchable-select-option[aria-selected=true] .searchable-select-check{border-color:#47705a}.searchable-select-empty{color:#8a938d;text-align:center;padding:20px 8px;font-size:10px}.searchable-select[data-select-id=graph-space]{min-width:225px}.searchable-select[data-select-id=knowledge-type-filter]{width:120px}.searchable-select[data-select-id=knowledge-quadrant-filter]{width:110px}.searchable-select[data-select-id=knowledge-profile-filter]{width:112px}.searchable-select[data-select-id=knowledge-status-filter]{width:105px}.relation-builder-step>.searchable-select,.knowledge-editor-form .searchable-select,.knowledge-project-fields .searchable-select,.knowledge-project-relation .searchable-select{width:100%}.personal-context-picker{position:relative}.personal-context-picker>summary{color:#4e5d54;cursor:pointer;background:#fff;border:1px solid #cfd5cf;border-radius:7px;align-items:center;gap:8px;min-height:32px;padding:6px 9px;font-size:10px;list-style:none;display:flex}.personal-context-picker>summary::-webkit-details-marker{display:none}.personal-context-picker>summary span{color:#7e8982}.personal-context-picker>summary .searchable-select-arrow{flex:none;margin-left:auto}.personal-context-picker[open]>summary .searchable-select-arrow{transform:translateY(2px)rotate(225deg)}.personal-context-panel{z-index:8;background:#fff;border:1px solid #d7ddd8;border-radius:8px;width:286px;padding:13px;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 12px 30px #2330281a}.personal-context-panel>strong{color:#34483d;font-size:11px}.personal-context-panel>p{color:#7b847e;margin-top:4px;font-size:9px;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:#f3f6f4}.personal-context-option input{margin:0}.personal-context-option span{gap:2px;display:grid}.personal-context-option strong{color:#3f4d45;font-size:10px}.personal-context-option small{color:#879088;font-size:9px}.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 #dfe3de;align-items:center;gap:3px;margin-left:auto;padding-left:4px;display:flex}.graph-controls{gap:3px;display:flex}.toolbar-action{color:#566059;background:0 0;border:1px solid #0000;border-radius:6px;min-width:31px;height:31px;padding:0 8px;font-size:12px}.toolbar-action:hover{color:#253d32;background:#fff;border-color:#d2d8d2}.toolbar-action:focus-visible{outline-offset:1px;outline:2px solid #3f6b5547}.knowledge-layout{isolation:isolate;background:#fbfcfa;border:1px solid #cfd7d1;border-radius:8px;flex:1;grid-template-columns:minmax(0,1fr) 340px;align-items:stretch;min-height:0;display:grid;overflow:hidden}.knowledge-directory-panel{background:#fff;flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden;container:knowledge-directory/inline-size}.directory-kind-tabs{z-index:4;background:#fafbf9f7;border-bottom:1px solid #dfe4df;align-items:stretch;gap:22px;min-height:44px;padding:0 16px;display:flex;position:sticky;top:0}.directory-kind-tab{color:#737d76;background:0 0;border:0;align-items:center;gap:7px;min-width:0;padding:0 1px;font-size:11px;font-weight:620;display:inline-flex;position:relative}.directory-kind-tab:hover{color:#365543}.directory-kind-tab:focus-visible{outline-offset:-2px;outline:2px solid #3f6b5547}.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:#294838}.directory-kind-tab[aria-selected=true]:after{background:#52725f}.directory-kind-tab small{color:#78827b;text-align:center;background:#edf0ed;border-radius:999px;min-width:20px;padding:1px 6px;font-size:9px;font-weight:650}.directory-kind-tab[aria-selected=true] small{color:#3b604b;background:#e5eee8}.directory-tab-panel{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.directory-section-heading{background:#f7f8f6;border-bottom:1px solid #e0e4e0;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:#34453b;font-size:11px;font-weight:680}.directory-section-copy span,.directory-section-count{color:#838c85;font-size:9px;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{background:#eef1ee;border:1px solid #dce2dd;border-radius:7px;flex:none;align-items:center;gap:2px;padding:2px;display:inline-flex}.knowledge-status-option{color:#707a73;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:5px;align-items:center;gap:5px;height:24px;padding:0 7px;font-size:9px;font-weight:640;display:inline-flex}.knowledge-status-option:hover{color:#395545;background:#ffffffb8}.knowledge-status-option:focus-visible{outline-offset:1px;outline:2px solid #3f6b5547}.knowledge-status-option[aria-pressed=true]{color:#355844;background:#fff;border-color:#cbd7cf}.knowledge-status-option[data-status=historical][aria-pressed=true]{color:#78594f;background:#fbf5f3;border-color:#e1cec8}.knowledge-status-option span{min-width:16px;color:inherit;text-align:center;background:#4f695914;border-radius:999px;padding:0 4px;font-size:8px;line-height:16px}.knowledge-directory-virtual-list,.project-material-virtual-list{flex:1;min-width:0;min-height:0}.project-material-row{color:#4f5952;text-align:left;background:#fff;border:0;border-bottom:1px solid #e8ebe8;grid-template-columns:minmax(0,1fr) minmax(94px,118px) auto;align-items:center;gap:16px;width:100%;height:100%;padding:10px 16px;display:grid}.project-material-row:hover{background:#f8faf8}.project-material-row.selected{background:#f1f6f3;box-shadow:inset 0 0 0 1px #9fb5a8}.project-material-copy{gap:4px;min-width:0;display:grid}.project-material-copy strong{color:#2f3933;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:630;overflow:hidden}.project-material-copy small{color:#79827c;text-overflow:ellipsis;white-space:nowrap;font-size:10px;line-height:1.4;overflow:hidden}.project-material-type{color:#4b6858;font-size:10px;font-weight:620}.project-material-link{color:#52705f;text-align:right;font-size:9px;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{color:#8b938d;letter-spacing:.05em;background:#f7f8f6;border-bottom:1px solid #e0e4e0;padding:10px 16px;font-size:9px;font-weight:680}.knowledge-row{color:#4f5952;text-align:left;background:#fff;border:0;border-bottom:1px solid #e8ebe8;height:100%;padding:11px 16px;font-size:10px}.knowledge-table-head>span,.knowledge-row>span{min-width:0}.knowledge-row:hover{background:#f8faf8}.knowledge-row.selected{background:#f1f6f3;box-shadow:inset 0 0 0 1px #9fb5a8}.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{color:#2f3933;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12px;font-weight:630;overflow:hidden}.human-change-badge{color:#765126;white-space:nowrap;background:#fff1d9;border-radius:999px;flex:none;padding:2px 6px;font-size:8px;font-style:normal;font-weight:700}.human-change-badge.state-viewed{color:#4f6076;background:#eaf0f7}.knowledge-row-content small{color:#79827c;text-overflow:ellipsis;white-space:nowrap;font-size:10px;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:#4b6858;font-weight:620}.knowledge-row-source,.knowledge-row-time{color:#7d867f}.knowledge-row-quadrant{color:#59655e;white-space:nowrap;background:#f0f2ef;border-radius:999px;width:fit-content;padding:3px 7px;font-size:9px;font-weight:650}.knowledge-row-quadrant.known_known{color:#356047;background:#edf6f0}.knowledge-row-quadrant.known_unknown{color:#77602f;background:#f7f2e5}.knowledge-row-quadrant.unknown_known{color:#4d5f78;background:#eef2f7}.knowledge-row-quadrant.unknown_unknown{color:#725d70;background:#f5eff4}.knowledge-row-quadrant.unclassified{color:#666e68;background:#eff1ef}.knowledge-review-state{color:#59655e;white-space:nowrap;background:#f0f2ef;border-radius:999px;width:fit-content;padding:3px 7px;font-size:9px;font-weight:650}.knowledge-review-state.state-confirmed{color:#356047;background:#edf6f0}.knowledge-review-state.state-agent_confirmed{color:#4d5f78;background:#eef2f7}.knowledge-review-state.state-pending,.knowledge-review-state.state-needs_review{color:#77602f;background:#f7f2e5}.knowledge-review-state.state-exploratory{color:#725d70;background:#f5eff4}.knowledge-review-state.state-unclassified{color:#666e68;background:#eff1ef}.knowledge-status{border-radius:999px;width:fit-content;padding:3px 7px;font-size:9px;font-weight:650}.knowledge-status.current{color:#356047;background:#edf6f0}.knowledge-status.historical{color:#80645d;background:#f7efed}@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,.knowledge-row{grid-template-columns:minmax(160px,1fr) 92px 58px}.knowledge-column-quadrant,.knowledge-row-quadrant{display:none}}.graph-inspector{overscroll-behavior:contain;background:#fff;border-left:1px solid #d7ddd8;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:#737c75;font-size:12px;line-height:1.55}.inspector-classification{background:#f7f9f7;border:1px solid #dbe1dc;border-radius:7px;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:#7f8982;font-size:9px;font-weight:650}.inspector-classification strong{color:#40574a;font-size:11px}.inspector-classification p{color:#68726b;font-size:10px;line-height:1.55}.inspector-classification.state-pending,.inspector-classification.state-needs_review{background:#faf8f1;border-color:#e2d7bd}.inspector-classification.state-pending strong,.inspector-classification.state-needs_review strong{color:#755d2e}.inspector-classification.state-exploratory{background:#f8f5f8;border-color:#ddd3dc}.inspector-classification.state-exploratory strong{color:#6f596c}.inspector-classification.state-unclassified{background:#f5f6f5;border-color:#d9ddda}.inspector-classification.state-unclassified strong{color:#626b65}.inspector-human-change{background:#fff9ee;border:1px solid #e2d3b8;border-radius:7px;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:#8b7a61;font-size:9px;font-weight:650}.inspector-human-change strong{color:#765126;font-size:11px}.inspector-human-change p{color:#766b5b;font-size:10px;line-height:1.55}.inspector-human-change.state-viewed{background:#f5f8fb;border-color:#d3dce7}.inspector-human-change.state-viewed strong{color:#4f6076}.inspector-human-change.state-reviewed{background:#f6f9f7;border-color:#d8e2db}.inspector-human-change.state-reviewed strong{color:#456451}.inspector-replacement{background:#fbf9f3;border:1px solid #dfd7c5;border-radius:7px;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:#8a806b;font-size:9px;font-weight:650}.inspector-replacement-heading strong{color:#695934;font-size:11px}.inspector-replacement>p{color:#766f60;font-size:10px;line-height:1.55}.inspector-replacement-link{width:100%;color:inherit;text-align:left;background:#fff;border:1px solid #d7ded8;border-radius:6px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:9px 10px;display:grid}.inspector-replacement-link:hover{background:#f6f9f7;border-color:#9fb2a5}.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:#3d4d44;font-size:10px}.inspector-replacement-link small{color:#7d8780;font-size:9px}.inspector-replacement-link b{color:#446b57;white-space:nowrap;font-size:9px;font-weight:680}.inspector-project-material{background:#f4f8f5;border:1px solid #cfdcd4;border-radius:7px;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:#7b8980;font-size:9px;font-weight:650}.inspector-project-material strong{color:#3f5e4d;font-size:11px}.inspector-project-material p{color:#657269;font-size:10px;line-height:1.55}.inspector-identity{background:#f3f6f3;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:#7f8982;font-size:8px;font-weight:650}.inspector-identity code{color:#4e5c54;overflow-wrap:anywhere;min-width:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:8px;line-height:1.35}.inspector-identity-copy{color:#4a6b59;background:0 0;border:0;padding:2px 4px;font-size:8px}.inspector-identity-copy:hover{color:#274a38;text-decoration:underline}.inspector-identity-copy:focus-visible{outline-offset:2px;outline:1px solid #799284}.inspector-meta{gap:8px;margin-top:18px;display:grid}.inspector-meta div{border-top:1px solid #e6e8e5;padding-top:8px}.inspector-meta dt{color:#8a928c;text-transform:uppercase;letter-spacing:.08em;font-size:10px}.inspector-meta dd{overflow-wrap:anywhere;margin:3px 0 0;font-size:12px}.inspector-attributes{margin-top:0}.inspector-subtitle{color:#5d665f;margin:20px 0 7px;font-size:11px;font-weight:650}.inspector-reasoning{color:#626c65;white-space:pre-wrap;font-size:11px;line-height:1.6}.inspector-relations{display:grid}.inspector-relation{border-top:1px solid #edf0ec;grid-template-columns:minmax(0,1fr);gap:3px;min-width:0;padding:10px 0;font-size:10px;display:grid}.relation-type{color:#4f6d5d;letter-spacing:.035em;overflow-wrap:anywhere;font-size:9px;font-weight:700;line-height:1.4}.relation-target{color:#737c75;overflow-wrap:anywhere;min-width:0;margin:0;line-height:1.55}.inspector-evidence{gap:7px;display:grid}.evidence-card{background:#fafbf9;border:1px solid #e0e5e1;border-radius:7px;padding:10px}.evidence-card strong{color:#3c4b43;font-size:11px;display:block}.evidence-card p{color:#68726b;margin-top:4px;font-size:10px;line-height:1.5}.evidence-card span{color:#909791;margin-top:6px;font-size:9px;display:block}.evidence-card .evidence-excerpt{color:#59635d;white-space:pre-wrap;background:#f1f4f1;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:#446755;background:0 0;border:0;margin:0;padding:0;font-size:10px;font-weight:650;text-decoration:none;display:inline-flex}.evidence-source-action:hover{color:#294c3a;text-decoration:underline}.evidence-source-action:disabled{color:#a3aaa5;cursor:not-allowed;text-decoration:none}.conflict-title{color:#806338}.suspected-conflicts .history-row strong{color:#775b31}.inspector-edit-button{width:100%;margin-top:16px}.inspector-actions{gap:7px;margin-top:16px;display:grid}.inspector-actions button{width:100%}.inspector-history{display:grid}.history-row{border-top:1px solid #e8ebe8;padding:9px 0}.history-row strong{color:#435149;font-size:10px}.history-row p{color:#68726b;margin-top:3px;font-size:10px;line-height:1.45}.history-row span{color:#929993;margin-top:4px;font-size:9px;display:block}.history-row small{color:#77827a;margin-top:4px;font-size:9px;display:block}.section-toolbar{border-bottom:1px solid #dfe3de;padding-bottom:18px}.section-toolbar h3{margin-bottom:5px;font-size:18px}.searchable-select[data-select-id=review-project]{min-width:220px}.review-list{margin-top:10px;display:grid}.review-item{border-bottom:1px solid #e0e3df;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:#677069;font-size:12px;line-height:1.55}.review-stage{color:#607068;letter-spacing:.08em;text-transform:uppercase;width:fit-content;margin-bottom:7px;font-size:9px;font-weight:700}.review-meta{color:#89908b;gap:12px;margin-top:9px;font-size:10px;display:flex}.review-actions{align-items:center;gap:7px;display:flex}.review-actions button{border-radius:7px;padding:7px 11px;font-size:12px}.approve{color:#fff;background:#3f6b55;border:1px solid #335e49}.reject{color:#666e68;background:#fff;border:1px solid #d0d5d0}.stacked-actions{flex-wrap:wrap;justify-content:flex-end;align-items:flex-end;max-width:240px}.episode-details{margin-top:13px}.episode-body{background:#fafbfa;border:1px solid #e2e6e2;border-radius:7px;gap:12px;margin-top:10px;padding:12px;display:grid}.episode-meta{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 12px;margin:0;display:grid}.episode-meta div{min-width:0}.episode-meta dt{color:#89918b;font-size:9px}.episode-meta dd{color:#555f58;overflow-wrap:anywhere;margin:2px 0 0;font-size:10px}.episode-section{gap:5px;display:grid}.episode-section>strong{color:#5b655e;font-size:10px}.episode-record{border-top:1px solid #e7eae7;grid-template-columns:auto minmax(100px,.6fr) minmax(0,1fr);align-items:start;gap:7px;padding:6px 0;font-size:10px;display:grid}.episode-record small{color:#7a837c;overflow-wrap:anywhere;line-height:1.45}.empty-state{text-align:center;color:#858d87;padding:40px 0;font-size:13px}.connections-grid{align-items:start}.subscription-form{border-top:1px solid #dfe3de;gap:7px;margin-top:18px;padding-top:14px;display:flex}.subscription-form .searchable-select{flex:1}.muted{color:#7a837c;font-size:12px}.publish-dialog{color:#27312b;background:#fff;border:0;border-radius:12px;width:min(500px,100vw - 32px);padding:0;box-shadow:0 24px 70px #18221c3d}.publish-dialog::backdrop{background:#1c221e6b}.publish-dialog-shell{padding:24px}.publish-dialog h3{margin:0;font-size:20px}.publish-dialog-intro{color:#69736c;gap:4px;margin-top:13px;font-size:12px;line-height:1.55;display:grid}.publish-dialog-intro strong{color:#334039;font-size:14px}.publish-release-fields{gap:12px;margin-top:18px;display:grid}.publish-release-fields label{gap:6px;display:grid}.publish-release-fields label>span{color:#46534c;font-size:11px;font-weight:650}.publish-release-fields small{color:#89918b;font-size:9px}.publish-impact{border-top:1px solid #e2e6e2;border-bottom:1px solid #e2e6e2;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 #eceeec}.publish-impact strong{color:#34453c;font-size:11px}.publish-impact span{color:#6f7872;font-size:11px;line-height:1.5}.publish-dialog-error{color:#99483f;margin-top:12px;font-size:11px}.publish-dialog-actions{justify-content:flex-end;gap:8px;margin-top:20px;display:flex}.publish-dialog-actions button{min-width:88px;padding:8px 13px;font-size:12px}.project-dialog{color:#27312b;background:#fff;border:0;border-radius:12px;width:min(900px,100vw - 32px);max-height:calc(100vh - 48px);padding:0;overflow:hidden;box-shadow:0 24px 70px #18221c3d}.project-dialog::backdrop{background:#1c221e6b}.project-dialog-shell{box-sizing:border-box;max-height:calc(100vh - 48px);padding:24px;overflow:auto}.project-dialog-header{border-bottom:1px solid #e1e5e2;justify-content:space-between;align-items:flex-start;gap:24px;padding-bottom:18px;display:flex}.project-dialog-header h3{font-size:20px}.project-dialog-header p:last-child{color:#737d76;margin-top:5px;font-size:11px;line-height:1.5}.project-dialog-header>button{flex:none}.project-latest-release{border-bottom:1px solid #e3e6e3;padding:18px 0}.project-latest-release h4,.project-detail-section-heading h4,.danger-zone h4{color:#344239;margin:0;font-size:13px}.project-latest-release>div{margin-top:10px}.release-copy{grid-template-columns:90px minmax(0,1fr) auto;align-items:start;gap:16px;display:grid}.release-copy strong{color:#345a46;font-size:14px}.release-copy p{color:#59645d;font-size:11px;line-height:1.5}.release-copy small{color:#858e87;font-size:9px}.project-detail-columns{grid-template-columns:1fr 1fr;gap:24px;padding:20px 0;display:grid}.project-detail-columns>section+section{border-left:1px solid #e3e6e3;padding-left:24px}.project-detail-section-heading{justify-content:space-between;align-items:end;margin-bottom:10px;display:flex}.project-release-list,.project-details-relations{max-height:250px;display:grid;overflow:auto}.project-release-item{border-top:1px solid #e8ebe8;grid-template-columns:72px minmax(0,1fr);gap:3px 10px;padding:11px 0;display:grid}.project-release-item strong{color:#3e5c4c;grid-row:1/span 2;font-size:10px}.project-release-item p{color:#59635c;font-size:10px;line-height:1.45}.project-release-item small{color:#89918b;font-size:9px}.project-detail-relation{border-top:1px solid #e8ebe8;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:10px}.project-detail-relation small{color:#879088;grid-column:2;font-size:9px}.project-detail-relation-actions{align-items:center;gap:5px;display:flex}.project-detail-relation-actions button{min-height:28px;padding:5px 8px}.project-dialog-actions{border-top:1px solid #e2e6e2;justify-content:space-between;align-items:center;gap:20px;padding-top:16px;display:flex}.project-dialog-actions span{color:#89918b;font-size:9px}.management-summary{border-bottom:1px solid #e2e6e2;grid-template-columns:repeat(3,1fr);display:grid}.management-summary div{padding:18px 16px}.management-summary div+div{border-left:1px solid #e4e7e4}.management-summary span,.management-summary strong{display:block}.management-summary span{color:#89918b;font-size:9px}.management-summary strong{color:#3c4a42;margin-top:4px;font-size:12px}.danger-zone{background:#fcf8f7;border:1px solid #e5cfcc;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:20px;margin-top:22px;padding:18px;display:grid}.danger-zone p{color:#7d6966;margin-top:5px;font-size:10px;line-height:1.5}.delete-confirmation{border-top:1px solid #ead8d5;grid-column:1/-1;padding-top:16px}.delete-confirmation label{color:#6f5c59;gap:6px;font-size:10px;display:grid}.delete-confirmation>p{color:#99483f}.delete-confirmation>div{justify-content:flex-end;gap:7px;margin-top:12px;display:flex}.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 #e1e5e2;padding-left:28px}.knowledge-edit-columns h4{color:#344239;margin:0 0 6px;font-size:13px}.knowledge-edit-columns section>p{color:#78817b;font-size:10px;line-height:1.5}.knowledge-editor-form{gap:13px;margin-top:16px;display:grid}.knowledge-taxonomy-fields{grid-template-columns:repeat(3,1fr);gap:9px;display:grid}.knowledge-editor-form label{color:#5f6962;gap:6px;font-size:10px;font-weight:600;display:grid}.knowledge-editor-form .knowledge-classification-warning{color:#755f35;background:#faf8f1;border:1px solid #e3d8bf;border-radius:7px;padding:9px 10px;font-size:10px;line-height:1.5}.knowledge-confirmation-fields{background:#f9faf9;border:1px solid #dfe4e0;border-radius:8px;gap:11px;margin:0;padding:13px;display:grid}.knowledge-confirmation-fields legend{color:#45534a;padding:0 5px;font-size:10px;font-weight:680}.knowledge-confirmation-fields .knowledge-taxonomy-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.knowledge-confirmation-fields>p{color:#7c857f;font-size:9px;line-height:1.5}.knowledge-replacement-fields{background:#fbfaf6;border:1px solid #e3dccb;border-radius:8px;gap:10px;margin:0;padding:13px;display:grid}.knowledge-replacement-fields legend{color:#5e553f;padding:0 5px;font-size:10px;font-weight:680}.knowledge-replacement-fields>p{color:#837b69;font-size:9px;line-height:1.5}.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-form{gap:18px;padding-top:20px;display:grid}.knowledge-project-source{border-bottom:1px solid #e3e6e3;padding-bottom:16px}.knowledge-project-source span,.knowledge-project-preview span{color:#89918b;letter-spacing:.08em;font-size:9px;font-weight:700;display:block}.knowledge-project-source strong{color:#34443b;margin-top:5px;font-size:15px;display:block}.knowledge-project-source p{color:#6e7871;margin-top:4px;font-size:11px;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:#5c665f;grid-column:1/-1;margin-bottom:4px;font-size:10px;font-weight:650}.knowledge-project-mode label{cursor:pointer;background:#fff;border:1px solid #d7ddd8;border-radius:8px;align-items:flex-start;gap:9px;padding:11px;display:flex}.knowledge-project-mode label:has(input:checked){background:#f5f8f6;border-color:#789487}.knowledge-project-mode label.disabled{cursor:not-allowed;opacity:.48}.knowledge-project-mode label span,.toggle-row span{gap:3px;display:grid}.knowledge-project-mode strong,.toggle-row strong{color:#3c4942;font-size:11px}.knowledge-project-mode small,.toggle-row small,.knowledge-project-fields small{color:#858e87;font-size:9px;line-height:1.4}.knowledge-project-fields{grid-template-columns:1fr 1fr;gap:12px;display:grid}.knowledge-project-fields label,.knowledge-project-relation>label:not(.toggle-row),.knowledge-project-reason{color:#5f6962;gap:6px;font-size:10px;font-weight:600;display:grid}.knowledge-project-fields .full-width{grid-column:1/-1}.knowledge-project-relation{border-top:1px solid #e5e8e5;border-bottom:1px solid #e5e8e5;grid-template-columns:minmax(0,1fr) 210px;align-items:end;gap:18px;padding:13px 0;display:grid}.toggle-row{cursor:pointer;align-items:flex-start;gap:9px;display:flex}.knowledge-project-preview{background:#fafbfa;border:1px solid #dce2dd;border-radius:8px;padding:14px}.knowledge-project-preview>div:first-child>strong{color:#34463c;margin-top:4px;font-size:12px;display:block}.knowledge-project-preview>div:first-child>p{color:#6d7770;margin-top:4px;font-size:10px;line-height:1.5}.knowledge-project-compare{background:#e1e5e2;border:1px solid #e1e5e2;grid-template-columns:1fr 1fr;gap:1px;margin-top:13px;display:grid}.knowledge-project-compare article{background:#fff;min-width:0;padding:11px}.knowledge-project-compare strong{color:#3f4b44;margin-top:4px;font-size:10px;display:block}.knowledge-project-compare p{color:#6e7771;white-space:pre-wrap;margin-top:4px;font-size:9px;line-height:1.5}.knowledge-project-conflict-options{border:0;border-top:1px solid #e5ddd4;gap:7px;margin:14px 0 0;padding:12px 0 0;display:grid}.knowledge-project-conflict-options label{color:#625b50;font-size:10px}.knowledge-project-actions{justify-content:flex-end;gap:8px;padding-top:4px;display:flex}.knowledge-project-actions button{min-width:96px}.project-profile-dialog{color:#27312b;background:#fff;border:0;border-radius:12px;width:min(820px,100vw - 32px);max-height:calc(100vh - 48px);padding:0;overflow:hidden;box-shadow:0 24px 70px #18221c3d}.project-profile-dialog::backdrop{background:#1c221e6b}.project-profile-dialog-shell{box-sizing:border-box;max-height:calc(100vh - 48px);padding:24px;overflow:auto}.project-profile-dialog-header{border-bottom:1px solid #e1e5e2;justify-content:space-between;align-items:flex-start;gap:24px;padding-bottom:18px;display:flex}.project-profile-dialog-header h3{font-size:20px}.project-profile-dialog-header p:last-child{color:#737d76;margin-top:5px;font-size:11px;line-height:1.5}.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:#5f6962;align-content:start;gap:6px;font-size:10px;font-weight:600;display:grid}.project-profile-fields small{color:#858e87;font-size:9px;font-weight:500}.project-profile-wide-field{grid-column:1/-1}.project-source-editor{border-top:1px solid #e2e6e2;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:#344239;margin:0;font-size:13px}.project-source-editor-heading p{color:#78817b;margin-top:4px;font-size:10px;line-height:1.5}.project-source-list{gap:9px;margin-top:14px;display:grid}.project-source-row{background:#fafbfa;border:1px solid #dfe4e0;border-radius:8px;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{color:#8b554e;background:0 0;border:0;min-height:32px;padding:6px 9px;font-size:10px}.project-source-remove:hover{color:#713b35;text-decoration:underline}.project-source-empty{color:#858e87;margin-top:13px;font-size:10px}.project-profile-state-note{color:#68736b;background:#f7f9f7;border:1px solid #dce2dd;border-radius:7px;padding:11px 12px;font-size:10px;line-height:1.55}.project-profile-error{color:#99483f;margin-top:11px;font-size:11px}.project-profile-dialog-actions{border-top:1px solid #e2e6e2;justify-content:flex-end;gap:8px;margin-top:18px;padding-top:16px;display:flex}.project-profile-dialog-actions button{min-width:100px}@media (width<=1180px){body{min-width:920px}.app-shell{grid-template-columns:210px 1fr}.two-column{grid-template-columns:1fr}.overview-summary-card{padding-inline:18px}.relation-builder{grid-template-columns:1fr 1.6fr}.relation-target-step{border-top:1px solid #e4e8e4;border-left:0;grid-column:1/-1;padding-left:0}.relation-preview{grid-template-columns:minmax(150px,1fr) minmax(110px,.6fr) minmax(150px,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}}.mobile-nav-toggle,.mobile-nav-close{display:none}@media (width<=720px){.overview-summary{grid-template-columns:minmax(0,1fr)}.overview-summary-card{border-bottom:1px solid #e5e8e5;border-right:0;min-height:140px}.overview-summary-card:last-child{border-bottom:0}.overview-summary-name{white-space:normal;overflow-wrap:anywhere}.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}.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-top:1px solid #dce4df;border-left:0;min-width:0;min-height:0}.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){body{min-width:0}.app-shell{flex-direction:column;width:100%;height:100dvh;display:flex}.sidebar{z-index:40;border-right:1px solid #dce0db;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:#1b261f47;border:0;width:100%;height:100%;padding:0;display:block;position:fixed;inset:0}.sidebar.is-mobile-open{display:flex}.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}.mobile-nav-toggle{flex:none;align-items:center;gap:7px;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:180px}.topbar-description{text-overflow:clip;white-space:normal;max-width:none;overflow:visible}.topbar-actions{justify-content:flex-end;gap:8px;width:100%}.feedback{margin:12px 16px 0}.vue-dialog[open]{width:min(980px,100vw - 24px);max-height:calc(100dvh - 24px)}}.external-binding-copy{min-width:0;padding:10px 0}.external-binding-targets{flex-wrap:wrap;align-items:center;gap:5px;margin-top:7px;display:flex}.external-binding-row .external-binding-targets b{color:#6d7871;font-size:9px;font-weight:650}.external-binding-row .external-binding-target-chip{color:#486151;background:#f5f8f6;border:1px solid #d8e1da;border-radius:999px;align-items:center;width:fit-content;margin:0;padding:3px 7px;font-size:8px;font-weight:620;display:inline-flex}.external-binding-row .external-binding-target-chip[data-status=error]{color:#8f4c46;background:#fbf6f5;border-color:#e1ccca}.external-binding-editor{background:#fafbfa;border:1px solid #dce2dd;border-radius:8px;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{color:#68726b;grid-area:1/1/auto/4;gap:5px;min-width:0;font-size:9px;display:grid}.external-binding-editor .searchable-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{background:#fff;border:1px solid #e1e6e2;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{color:#56635b;text-overflow:ellipsis;white-space:nowrap;min-width:0;margin:0;font-size:10px;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{appearance:none;color:#fff;letter-spacing:.01em;background:#426f58;border:1px solid #3e6b54;border-radius:7px;justify-content:center;align-items:center;gap:7px;min-width:112px;min-height:36px;padding:8px 14px;font-size:11px;font-weight:720;transition:background-color .16s;display:inline-flex}.external-create-action-icon{color:#fff;border:1px solid #ffffffb8;border-radius:50%;flex:0 0 16px;justify-content:center;align-items:center;width:16px;height:16px;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)}.external-create-action:hover{background:#365f4a}.external-create-action:active{background:#2f533f}.external-create-action:focus-visible{outline-offset:2px;outline:2px solid #91a398}.external-create-action:disabled{cursor:wait;opacity:.58}@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-editor{grid-template-columns:minmax(0,1fr);padding:12px}.external-target-mode-row{grid-template-columns:minmax(0,1fr);gap:6px}}.graph-stage{background:#f9faf8;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;background:#fff;border-right:1px solid #dbe1dc;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:#7e8881;letter-spacing:.1em;grid-column:1/-1;font-size:8px;font-weight:720}.project-hierarchy-aside header>strong{color:#30483a;font-size:15px;font-weight:680}.project-hierarchy-aside header>small{color:#60756a;background:#edf2ee;border-radius:999px;padding:2px 6px;font-size:8px;font-weight:680}.project-hierarchy-aside>p{color:#79837c;margin-top:7px;font-size:9px;line-height:1.5}.project-hierarchy-aside nav{border-top:1px solid #e4e8e5;margin-top:14px;display:grid}.project-parent-link{min-width:0;color:inherit;border-bottom:1px solid #e8ece9;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:#f7f9f7}.project-parent-link:focus-visible{outline-offset:2px;outline:2px solid #3f6b5547}.project-parent-icon{color:#466c58;background:#edf3ef;border-radius:7px;place-items:center;width:32px;height:32px;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:#7e8982;font-size:8px}.project-parent-link strong{color:#34483d;text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:680;overflow:hidden}.project-parent-link em{color:#6f7a73;text-overflow:ellipsis;white-space:nowrap;font-size:8px;font-style:normal;overflow:hidden}.project-parent-link b{color:#54705f;font-size:11px;font-weight:680}.graph-relation-legend{z-index:4;position:absolute;top:12px;left:12px}.graph-relation-legend>summary{color:#536159;cursor:pointer;background:#fffffff2;border:1px solid #d8ded9;border-radius:7px;grid-template-columns:15px auto auto 8px;align-items:center;gap:6px;min-height:30px;padding:5px 8px;font-size:9px;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:#557161;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round}.graph-relation-legend>summary small{color:#68776e;text-align:center;background:#edf1ee;border-radius:999px;justify-self:end;width:fit-content;min-width:17px;padding:1px 5px;font-size:8px}.graph-relation-legend>summary i{border-bottom:1.3px solid #7d8881;border-right:1.3px solid #7d8881;width:6px;height:6px;transform:translateY(-2px)rotate(45deg)}.graph-relation-legend[open]>summary i{transform:translateY(2px)rotate(225deg)}.graph-relation-legend-panel{background:#fffffffa;border:1px solid #d8ded9;border-radius:8px;width:250px;margin-top:6px;padding:12px;box-shadow:0 12px 30px #23302821}.graph-relation-legend-panel header{gap:2px;padding-bottom:9px;display:grid}.graph-relation-legend-panel header strong{color:#34473c;font-size:11px}.graph-relation-legend-panel header span{color:#818b84;font-size:8px}.graph-relation-legend-panel ul{border-top:1px solid #e5e9e6;max-height:300px;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.graph-relation-legend-panel li{border-bottom:1px solid #edf0ed;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{color:#54705f;background:#f0f4f1;border-radius:7px;width:28px;height:28px;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:#3d4c43;font-size:10px}.graph-relation-legend-panel li small{color:#7b857e;text-overflow:ellipsis;white-space:nowrap;font-size:8px;overflow:hidden}.graph-search-legend{z-index:2;color:#765019;pointer-events:none;background:#fffcf4f0;border:1px solid #e1c997;border-radius:6px;align-items:center;gap:7px;padding:7px 9px;font-size:10px;font-weight:680;display:flex;position:absolute;top:12px;left:12px;box-shadow:0 4px 14px #49351717}.graph-search-legend[hidden]{display:none}.graph-search-legend i{background:#bd7416;border-radius:50%;width:8px;height:8px}.graph-search-status{z-index:3;box-sizing:border-box;color:#354139;background:#fffffff7;border:1px solid #d8ded9;border-radius:9px;width:min(440px,100% - 36px);padding:15px 16px;position:absolute;top:18px;left:50%;transform:translate(-50%);box-shadow:0 10px 30px #2b383021}.graph-search-status[hidden]{display:none}.graph-search-status-kicker{color:#875b1c;letter-spacing:.08em;margin-bottom:5px;font-size:9px;font-weight:720;display:block}.graph-search-status-title{font-size:14px;font-weight:680;display:block}.graph-search-status-copy{color:#6b756e;margin-top:5px;font-size:10px;line-height:1.55}.graph-search-suggestions{gap:5px;margin-top:11px;display:grid}.graph-search-suggestion{color:inherit;background:#f8faf8;border:1px solid #e0e5e1;border-radius:6px;justify-content:space-between;align-items:center;gap:18px;padding:8px 9px;text-decoration:none;display:flex}.graph-search-suggestion:hover{background:#f3f7f4;border-color:#a8b9ae}.graph-search-suggestion>span{gap:2px;min-width:0;display:grid}.graph-search-suggestion strong{color:#3b4941;text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.graph-search-suggestion small{color:#859088;font-size:9px}.graph-search-suggestion b{color:#446b57;flex:none;font-size:10px;font-weight:680}.graph-empty{color:#858d87;pointer-events:none;place-items:center;font-size:13px;display:grid;position:absolute;inset:0}.graph-hint{color:#88908a;text-align:right;margin-top:8px;font-size:10px}.graph-edge{stroke:#b5beb7;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:#c48738;stroke-width:2.2px;stroke-dasharray:4 3;opacity:.9}.graph-edge.human-change-viewed{stroke:#6f8299}.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:#dce2dd;stroke-width:.8px;transition:fill .12s,stroke .12s}.graph-edge-label-icon{fill:none;stroke:#6e7d74;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;transition:stroke .12s}.graph-edge-label-text{fill:#66736b;pointer-events:none;font-size:8.5px;font-weight:650;transition:fill .12s}.graph-arrow{fill:#aeb8b0}.graph-node{cursor:move;outline:none;transition:opacity .12s}.graph-node-human-marker{fill:#d18a30;stroke:#fff;stroke-width:1.5px;pointer-events:none}.graph-node.human-change-viewed .graph-node-human-marker{fill:#70849b}.graph-node-shape{stroke:#fff;stroke-width:2.5px;filter:drop-shadow(0 1px 2px #1c2a2126);transition:stroke .12s,stroke-width .12s,opacity .12s}.graph-project-ring{fill:#f7faf8;stroke:#b9cbbf;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:#466c58;stroke:#fff;stroke-width:2.5px}.graph-project-icon{fill:none;stroke:#fff;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.graph-node-label{fill:#3b443e;text-anchor:middle;pointer-events:none;paint-order:stroke;stroke:#f9faf8;stroke-width:3px;stroke-linejoin:round;font-size:10px;font-weight:540}.graph-node-id{fill:#7f8982;letter-spacing:.02em;text-anchor:middle;pointer-events:none;opacity:0;paint-order:stroke;stroke:#f9faf8;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:#fff8e8;stroke:#bd7416;stroke-width:1px}.graph-search-badge text{fill:#855916;text-anchor:middle;paint-order:stroke;stroke:#fff8e8;stroke-width:1px;font-size:8px;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:#334d42;stroke-width:3.5px}.graph-node:not(.project-node).related .graph-node-shape{stroke:#789282;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:#edf4ef;stroke:#315541;stroke-width:2.4px}.graph-node.project-node.related .graph-project-ring{stroke:#789282;stroke-width:2px}.graph-node:not(.project-node).search-match .graph-node-shape{stroke:#bd7416;stroke-width:5px;filter:drop-shadow(0 0 5px #bd74166b)}.graph-node.project-node.search-match .graph-project-ring{fill:#fff8e8;stroke:#bd7416;stroke-width:3px;filter:drop-shadow(0 0 5px #bd741652)}.graph-node.pinned .graph-node-shape{stroke:#658271;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:#6c8a79;stroke-width:2px;opacity:.9}.graph-edge.selected{stroke:#334d42;stroke-width:2.8px;opacity:1}.graph-edge.search-match{stroke:#bd7416;stroke-width:2.8px;opacity:1}.graph-edge-label.search-match{opacity:1}.graph-edge-label.search-match .graph-edge-label-bg{fill:#fff8e8;stroke:#d39a4e}.graph-edge-label.search-match .graph-edge-label-icon{stroke:#855916}.graph-edge-label.search-match .graph-edge-label-text{fill:#855916}.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:#f2f7f4;stroke:#9fb5a8}.graph-edge-label.related .graph-edge-label-icon,.graph-edge-label.selected .graph-edge-label-icon{stroke:#405f4f}.graph-edge-label.related .graph-edge-label-text,.graph-edge-label.selected .graph-edge-label-text{fill:#405f4f;font-weight:700}#app{height:100%}.primary-nav a{color:#505852;text-align:left;background:0 0;border:0;border-radius:7px;grid-template-columns:24px 1fr auto;align-items:center;width:100%;padding:9px 10px;font-size:13px;text-decoration:none;display:grid;position:relative}.primary-nav a:hover{background:#e4e7e3}.primary-nav a:focus-visible{outline-offset:1px;outline:2px solid #91a398}.primary-nav a.is-active{color:#243b31;background:#dde4df;font-weight:650}.primary-nav a.space-nav-button{min-height:52px;padding-block:8px}.primary-nav a.personal-space-button.is-active{color:#254234;background:#dde7e1}.primary-nav a.public-space-button.is-active{color:#2c414d;background:#e0e6e9}.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,.provider-row i.disconnected{background:#aeb5af}.provider-row i.error{background:#b94e45}.provider-row i.ready{background:#3f8b64}.view-loading{color:#778079;place-items:center;min-height:240px;font-size:12px;display:grid}.inline-error{color:#8b3f38}.inspector-meta>div{min-width:0}.inspector-meta dd{overflow-wrap:anywhere}.inspector-placeholder{color:#7b847e;font-size:11px;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:#67716a;gap:5px;font-size:10px;display:grid}.compact-relation-form select{min-width:0}.compact-relation-form .searchable-select{width:100%;min-width:0}.compact-relation-preview{background:#f8faf8;border:1px solid #dfe5e0;border-radius:8px;grid-column:1/-1;gap:4px;padding:11px 12px;display:grid}.compact-relation-preview span{color:#7f8982;letter-spacing:.08em;font-size:9px;font-weight:700}.compact-relation-preview strong{color:#35483e;font-size:11px}.compact-relation-preview p{color:#717b74;font-size:10px;line-height:1.5}.project-delete-confirmation{color:#6f5c59;gap:7px;padding:18px 0;font-size:10px;display:grid}.project-delete-confirmation strong{color:#493c3a}.vue-dialog[open]{z-index:20;width:min(980px,100vw - 64px);max-height:calc(100vh - 64px);margin:auto;display:grid;position:fixed;inset:0}.knowledge-edit-dialog.vue-dialog{width:min(1080px,100vw - 64px)}.vue-dialog::backdrop{background:#171f1b59}@media (width<=1180px){.compact-relation-form{grid-template-columns:repeat(2,minmax(180px,1fr))}}.locale-switcher{background:#f5f7f5;border:1px solid #d8ded9;border-radius:8px;align-items:center;gap:2px;padding:2px;display:inline-flex}.locale-switcher button{color:#6a746d;min-width:30px;min-height:26px;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:0 7px;font-size:11px;font-weight:700}.locale-switcher button:hover{color:#2f5d49}.locale-switcher button[aria-pressed=true]{color:#2f5d49;background:#fff;box-shadow:0 1px 2px #20342a1f}
@@ -0,0 +1,2 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/SharedJefaReportPage-CbFtrDCY.js","assets/i18n-BtOOoyJd.js","assets/GrowthLoading-Bu_kH-I8.js","assets/_plugin-vue_export-helper-BDNMzG2s.js","assets/GrowthLoading-B_Hh0CRS.css","assets/useApi-CROJJdhE-raNlHRDl.js","assets/shared-report-BFUJqqQe.js","assets/client-CEHkJJ-5.js","assets/ProjectScopePicker-DVHfXX1f.js","assets/ProjectScopePicker-BvaGTMFx.css","assets/shared-report-ezeb8dW4.css","assets/SharedJefaReportPage-DXbj_JhO.css","assets/OverviewPage-BreX_kb4.js","assets/console--CZxc3PW.js","assets/vue-router-JFYBLXB1.js","assets/paths-CDREouhi.js","assets/PersonalProfilePage-CX1a6_E3.js","assets/useModalDialog-CroGk2Cs.js","assets/SearchableSelect-BZtyYmZN.js","assets/KnowledgeInspector-Ct5hl2--.js","assets/model-CGpllrds.js","assets/conversation-launcher-settings-Co1RlTFH.js","assets/KnowledgeInspector--1NujtXW.css","assets/KnowledgeEditDialog-BTwXXRCD.js","assets/identity-CsowvtIm.js","assets/KnowledgeEditDialog-D9NuRHvp.css","assets/personal-profile-graph-BNTG4PSY.js","assets/PersonalProfilePage-L8T5xMEC.css","assets/WritingTastePage-B7lSzs2z.js","assets/WritingTastePage-Bzg6AvnB.css","assets/PersonalProjectsPage-Br1S8ETM.js","assets/KnowledgeWorkspace-DmHIc0jb.js","assets/KnowledgeWorkspace-sb8OJ97I.css","assets/KnowledgeOrganizerPage-DMC8Hh43.js","assets/KnowledgeOrganizerPage-h2iKvQpO.css","assets/AgentsDirectoryPage-CKZfrcuD.js","assets/AgentHand-CMZk5GjY.js","assets/AgentHand-D9sQu2vc.css","assets/profile-model-BQO4zNs9.js","assets/AgentName-DRZHAIB2.js","assets/AgentName-Cydd0UI4.css","assets/agent-profile.css_vue_type_style_index_0_src_true_lang-C22UdfU0.js","assets/task-evidence-BUu7yYIn.js","assets/agent-profile-CdKOh5xw.css","assets/EmployeeRecruitDialog-BLTpjCcK.js","assets/catalog-DU4Kfd-N.js","assets/EmployeeRecruitDialog-B59X3rOi.css","assets/AgentProfilePage-BPQEfMhB.js","assets/ProjectAgentsPage-CA04h1Uf.js","assets/ProjectAgentsPage-CZWWV4Kw.css","assets/EmployeeWorkbenchPage-HUd-gne2.js","assets/EmployeeWorkbenchPage-CQwZnTA0.css","assets/employee-dialog-Bh5ccIbK.css","assets/PublicProjectsPage-CtctKml1.js","assets/KnowledgePage-uXW1Eovz.js","assets/ReviewPage-DUqaK-do.js","assets/ConnectionsPage-COb56qnk.js","assets/ConnectionsPage-CBHAdZXT.css","assets/SettingsPage-CB4ymLr8.js","assets/SettingsPage-Brl-SL33.css","assets/AboutPage-fBq5VFoQ.js","assets/fuli-logo-Bu9WBuQe.js","assets/AboutPage-vYIBifKw.css","assets/NotFoundPage-C0yOR9T9.js"])))=>i.map(i=>d[i]);
2
+ import{$ as e,A as t,B as n,C as r,F as i,H as a,L as o,M as s,N as c,T as l,V as u,Z as d,_ as f,a as p,at as m,b as h,d as g,g as _,h as v,i as y,j as b,m as x,n as S,nt as C,p as w,r as T,rt as E,s as D,t as O,v as k,w as A,x as j,y as M,z as N}from"./i18n-BtOOoyJd.js";import{n as P,t as F}from"./console--CZxc3PW.js";import{t as I}from"./GrowthLoading-Bu_kH-I8.js";import{t as L}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{m as R}from"./useApi-CROJJdhE-raNlHRDl.js";import{i as z,n as B,r as V,t as H}from"./vue-router-JFYBLXB1.js";import{t as U}from"./fuli-logo-Bu9WBuQe.js";import{n as W}from"./client-CEHkJJ-5.js";import{a as G,s as K}from"./catalog-DU4Kfd-N.js";import{i as q,n as ee,r as te,t as J}from"./AgentHand-CMZk5GjY.js";import{n as ne}from"./profile-model-BQO4zNs9.js";import{t as re}from"./useModalDialog-CroGk2Cs.js";/* empty css */import{n as ie,t as ae}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 Y={name:`fuli-context`,version:`0.8.1`,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`,`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`],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://github.com/JevonsCode/fuli#readme`,bugs:{url:`https://github.com/JevonsCode/fuli/issues`},publishConfig:{access:`public`},license:`Apache-2.0`,dependencies:{"@hono/node-server":`2.0.12`,"@modelcontextprotocol/sdk":`^1.29.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.9`,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.40`,"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.7`,qs:`6.16.0`}}.version,oe=[`aria-label`],se={class:`brand-mark-wrap`},ce=[`src`],le={class:`brand-copy`},ue={class:`brand-title-row`},de={class:`brand-name`},fe=[`aria-label`,`aria-expanded`],pe={class:`brand-version`},me={key:1,class:`brand-version`},he={class:`brand-title-row`},ge={class:`brand-name`},_e={class:`brand-version`},ve=[`aria-label`],ye=[`href`],be=L(l({__name:`BrandEasterEgg`,setup(e){let n=d(null),r=d(null),i=d(0),a=d(!1),o=d(!1),l=d(!1),u=d(null),g=f(()=>u.value?.status===`ready`&&u.value.updateAvailable&&!!u.value.latestVersion),_=f(()=>u.value?.latestVersion??``),v=f(()=>u.value?.packageUrl??`https://www.npmjs.com/package/fuli-context`),y=new AbortController,S=!1;function w(){i.value+=1,a.value=!0}function T(){a.value=!1}function D(){g.value&&(l.value=!l.value)}function O(e){S=!1,o.value=!1,l.value&&!n.value?.contains(e.target)&&(l.value=!1)}function A(e){e.key===`Tab`&&(S=!0),e.key===`Escape`&&l.value&&(e.preventDefault(),l.value=!1,t(()=>r.value?.focus()))}function M(){o.value=S}function N(){o.value=!1}return s(()=>{window.addEventListener(`pointerdown`,O,!0),window.addEventListener(`keydown`,A,!0),W(`/api/system/version`,{signal:y.signal}).then(e=>{u.value=e}).catch(()=>{})}),b(()=>{y.abort(),window.removeEventListener(`pointerdown`,O,!0),window.removeEventListener(`keydown`,A,!0)}),(e,t)=>(c(),j(`div`,{ref_key:`root`,ref:n,class:E([`brand-block`,{"is-sparkling":a.value,"is-keyboard-focused":o.value}])},[k(`button`,{class:`brand-effect-button`,type:`button`,"aria-label":C(p)(`console.brandEffect.aria`),onClick:w,onFocus:M,onBlur:N},[k(`span`,se,[k(`img`,{class:`brand-mark`,src:C(U),alt:``,"aria-hidden":`true`},null,8,ce),a.value?(c(),j(`span`,{key:`orbit-${i.value}`,class:`brand-orbit`,"aria-hidden":`true`})):h(``,!0)])],40,oe),k(`span`,le,[k(`span`,ue,[k(`span`,de,m(C(p)(`common.brand`)),1),g.value?(c(),j(`button`,{key:0,ref_key:`versionButton`,ref:r,class:`brand-version-button`,type:`button`,"aria-label":C(p)(`console.update.aria`,{version:_.value}),"aria-expanded":l.value,"aria-controls":`brand-update-details`,onClick:D},[k(`span`,pe,`v`+m(C(Y)),1),t[0]||=k(`span`,{class:`brand-update-dot`,"aria-hidden":`true`},null,-1)],8,fe)):(c(),j(`span`,me,`v`+m(C(Y)),1))]),t[1]||=k(`span`,{class:`brand-subtitle`},`Context Graph`,-1),a.value?(c(),j(`span`,{key:`copy-reflection-${i.value}`,class:`brand-copy-reflection`,"aria-hidden":`true`,onAnimationend:x(T,[`self`])},[k(`span`,he,[k(`span`,ge,m(C(p)(`common.brand`)),1),k(`span`,_e,`v`+m(C(Y)),1)])],32)):h(``,!0)]),l.value?(c(),j(`div`,{key:0,id:`brand-update-details`,class:`brand-update-popover`,role:`dialog`,"aria-label":C(p)(`console.update.title`,{version:_.value})},[k(`strong`,null,m(C(p)(`console.update.title`,{version:_.value})),1),k(`p`,null,m(C(p)(`console.update.copy`)),1),t[2]||=k(`code`,null,`fuli update --yes`,-1),k(`a`,{href:v.value,target:`_blank`,rel:`noopener noreferrer`},m(C(p)(`console.update.npmLink`)),9,ye)],8,ve)):h(``,!0)],2))}}),[[`__scopeId`,`data-v-3ccab825`]]),xe=[`aria-label`],Se=[`lang`,`aria-label`,`aria-pressed`,`onClick`],Ce=l({__name:`LocaleSwitcher`,setup(e){let t=f(()=>S()),n={"zh-CN":`中`,"en-US":`EN`};function r(e){e!==t.value&&y(e)}return(e,a)=>(c(),j(`div`,{class:`locale-switcher`,role:`group`,"aria-label":C(p)(`common.language.label`)},[(c(!0),j(v,null,i(C(O),e=>(c(),j(`button`,{key:e,type:`button`,lang:e,"aria-label":C(p)(e===`zh-CN`?`common.language.chinese`:`common.language.english`),"aria-pressed":t.value===e,onClick:t=>r(e)},m(n[e]),9,Se))),128))],8,xe))}}),X=e(null);function we(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 Te={key:0,class:`navigation-recovery`,role:`alert`},Ee=[`href`],De=L(l({__name:`NavigationRecovery`,setup(e){return(e,t)=>C(X)?(c(),j(`div`,Te,[k(`div`,null,[k(`strong`,null,m(C(p)(`routes.loadFailure.title`)),1),k(`p`,null,m(C(p)(C(X).resourceFailure?`routes.loadFailure.resources`:`routes.loadFailure.message`)),1)]),k(`a`,{href:C(X).href,class:`quiet-button`},m(C(p)(`routes.loadFailure.reload`)),9,Ee),k(`button`,{type:`button`,class:`navigation-recovery-dismiss`,onClick:t[0]||=e=>X.value=null},m(C(p)(`routes.loadFailure.dismiss`)),1)])):h(``,!0)}}),[[`__scopeId`,`data-v-83dee1c5`]]),Oe={class:`nav-section-label`},ke={class:`employee-nav-mark`,"aria-hidden":`true`},Ae=[`src`],je={class:`nav-copy`},Me=L(l({__name:`EmployeeNavigation`,props:{personalSpaceId:{}},setup(e){let t=e;N(()=>t.personalSpaceId,e=>{K(e===`current`?``:e)},{immediate:!0});let n=f(()=>G.value.filter(e=>e.agentId&&e.agentStatus===`active`&&(e.runtime||e.workbench?.kind===`native`)));return(t,a)=>n.value.length?(c(),j(v,{key:0},[k(`p`,Oe,m(C(p)(`employees.directory`)),1),(c(!0),j(v,null,i(n.value,t=>(c(),j(`div`,{key:t.id,class:`employee-nav-row`},[A(C(H),{to:C(ne)(e.personalSpaceId,t.agentId),class:`space-nav-button employee-nav`,"active-class":`is-active`},{default:u(()=>[k(`span`,ke,[C(q)(t.id)?(c(),j(`img`,{key:0,src:C(q)(t.id),alt:``},null,8,Ae)):(c(),j(v,{key:1},[r(m(t.name.slice(0,1)),1)],64))]),k(`span`,je,[k(`strong`,null,m(t.name),1),k(`small`,null,m(t.role),1)])]),_:2},1032,[`to`]),A(C(H),{class:`employee-workbench-link`,to:`/employees/${encodeURIComponent(t.id)}`,"aria-label":`${t.name} · ${C(p)(`agentProfiles.workbench`)}`,title:C(p)(`agentProfiles.workbench`)},{default:u(()=>[...a[0]||=[k(`svg`,{viewBox:`0 0 20 20`,width:`16`,height:`16`,"aria-hidden":`true`},[k(`path`,{d:`M3 4h14v12H3zM3 8h14M8 8v8`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.4`})],-1)]]),_:1},8,[`to`,`aria-label`,`title`]),A(J,{"agent-id":t.agentId},null,8,[`agent-id`])]))),128))],64)):h(``,!0)}}),[[`__scopeId`,`data-v-8788995d`]]),Ne=[`title`],Pe={class:`employee-dialog-shell`},Fe={id:`attention-title`},Ie=[`disabled`,`aria-label`],Le={class:`employee-dialog-body`},Re={class:`attention-toolbar`},ze=[`disabled`],Be={key:0,role:`alert`,class:`employee-dialog-error`},Ve={key:1,role:`alert`,class:`employee-dialog-error`},He={key:4},Ue={class:`attention-meta`},We={class:`attention-action`},Ge=[`href`],Ke=[`onSubmit`],qe=[`for`],Je=[`id`,`onUpdate:modelValue`,`disabled`],Ye=[`disabled`],Xe={key:1},Ze=[`disabled`],Qe=L(l({__name:`AgentAttentionCenter`,props:{personalSpaceId:{},projects:{}},setup(e){let t=e,n=te(),r=d({}),o=d(!1),l=d({}),u=d(``),y=d(``),S=f(()=>new Map(t.projects.map(e=>[e.project_id,e.profile.name]))),{dialogRef:w,initialFocusRef:T,onCancel:E,onKeydown:D}=re(()=>n.open,()=>{u.value||(n.open=!1)});N(()=>t.personalSpaceId,e=>{r.value={},o.value=!1,l.value={},n.setSpace(e===`current`?``:e)},{immediate:!0}),N(()=>n.open,async e=>{if(!e)return;y.value=``;let t=n.spaceId;o.value=!0;try{let e=await W(`/api/project-agents?${new URLSearchParams({personalSpaceId:t})}`);t===n.spaceId&&(r.value=Object.fromEntries(e.map(e=>[e.agentId,e.profile.displayName||e.profile.name])))}catch{}finally{t===n.spaceId&&(o.value=!1)}});let O;function P(){document.visibilityState===`visible`&&!n.loading&&!n.open&&n.refresh()}s(()=>{O=setInterval(P,3e4),document.addEventListener(`visibilitychange`,P)}),b(()=>{clearInterval(O),document.removeEventListener(`visibilitychange`,P),n.setSpace(``)});async function F(e){if(!(u.value||!l.value[e.requestId]?.trim())){u.value=e.requestId,y.value=``;try{await n.respond(e,l.value[e.requestId].trim()),delete l.value[e.requestId]}catch(e){y.value=e instanceof Error?e.message:String(e),await n.refresh()}finally{u.value=``}}}return(e,t)=>(c(),j(v,null,[k(`button`,{class:`space-nav-button attention-nav`,type:`button`,onClick:t[0]||=e=>C(n).show()},[k(`span`,null,m(C(p)(`attention.title`)),1),A(J,{passive:``}),C(n).error?(c(),j(`span`,{key:0,title:C(p)(`attention.loadError`)},`!`,8,Ne)):h(``,!0)]),(c(),M(_,{to:`body`},[C(n).open?(c(),j(`dialog`,{key:0,ref_key:`dialogRef`,ref:w,class:`employee-dialog attention-dialog`,"aria-labelledby":`attention-title`,onCancel:t[6]||=(...e)=>C(E)&&C(E)(...e),onKeydown:t[7]||=(...e)=>C(D)&&C(D)(...e)},[k(`div`,Pe,[k(`header`,null,[k(`h2`,Fe,m(C(n).agentId&&r.value[C(n).agentId]||C(p)(`attention.title`)),1),k(`button`,{ref_key:`initialFocusRef`,ref:T,type:`button`,disabled:!!u.value,"aria-label":C(p)(`attention.close`),onClick:t[1]||=e=>C(n).open=!1},`×`,8,Ie)]),k(`div`,Le,[k(`div`,Re,[C(n).agentId?(c(),j(`button`,{key:0,type:`button`,onClick:t[2]||=e=>C(n).show()},m(C(p)(`attention.all`)),1)):h(``,!0),k(`button`,{type:`button`,disabled:C(n).loading||!!u.value,onClick:t[3]||=e=>C(n).refresh()},m(C(p)(`attention.refresh`)),9,ze)]),C(n).error?(c(),j(`p`,Be,m(C(p)(`attention.loadError`))+` · `+m(C(n).error),1)):h(``,!0),y.value?(c(),j(`p`,Ve,m(y.value),1)):h(``,!0),o.value?(c(),M(I,{key:2,variant:`inline`,label:C(p)(`attention.loadingAgents`)},null,8,[`label`])):h(``,!0),C(n).loading?(c(),M(I,{key:3,variant:`compact`,label:C(p)(`attention.loading`)},null,8,[`label`])):!C(n).items.length&&!C(n).error?(c(),j(`p`,He,m(C(p)(`attention.empty`)),1)):h(``,!0),(c(!0),j(v,null,i(C(n).items,e=>(c(),j(`article`,{key:e.requestId,class:`attention-item`},[k(`p`,Ue,m(r.value[e.agentId]||e.agentId)+` · `+m(S.value.get(e.personalProjectId)||e.personalProjectId)+` · `+m(C(p)(`attention.kinds.${e.kind}`)),1),k(`h3`,null,m(e.title),1),k(`p`,null,m(e.detail),1),k(`p`,We,m(e.requestedAction),1),e.taskId?(c(),j(`a`,{key:0,href:C(ee)(e),onClick:t[4]||=e=>C(n).open=!1},m(C(p)(`attention.task`)),9,Ge)):h(``,!0),k(`form`,{onSubmit:x(t=>F(e),[`prevent`])},[k(`label`,{for:`attention-${e.requestId}`},m(C(p)(`attention.response`)),9,qe),a(k(`textarea`,{id:`attention-${e.requestId}`,"onUpdate:modelValue":t=>l.value[e.requestId]=t,rows:`2`,maxlength:`4096`,required:``,disabled:!!u.value},null,8,Je),[[g,l.value[e.requestId]]]),k(`button`,{type:`submit`,class:`primary`,disabled:!!u.value||!l.value[e.requestId]?.trim()},[u.value===e.requestId?(c(),M(I,{key:0,variant:`inline`,label:C(p)(`attention.sending`)},null,8,[`label`])):(c(),j(`span`,Xe,m(C(p)(`attention.send`)),1))],8,Ye)],40,Ke)]))),128)),C(n).items.length<C(n).filteredTotal?(c(),j(`button`,{key:5,type:`button`,disabled:C(n).loading,onClick:t[5]||=e=>C(n).more()},m(C(p)(`attention.more`)),9,Ze)):h(``,!0)])])],544)):h(``,!0)]))],64))}}),[[`__scopeId`,`data-v-521df451`]]),$e=[`routes.`,`common.`,`employees.`,`agentProfiles.`];function et(e,t=``){let n=typeof e==`string`&&e?e:t;return $e.some(e=>n.startsWith(e))?p(n):n}function tt(e){if(typeof document>`u`)return;let t=et(e,`routes.overview.title`);document.title=`${t} · ${p(`common.brand`)}`}var nt={class:`app-shell`},rt=[`onKeydown`],it=[`aria-label`],at={class:`nav-section-label`},ot={class:`nav-label`},st={class:`nav-section-label nav-space-label`},ct={class:`nav-copy`},lt={class:`nav-copy`},ut={class:`nav-copy`},dt={class:`nav-copy`},ft={class:`nav-section-label nav-public-label`},pt={class:`nav-copy`},mt={class:`nav-section-label nav-tool-label`},ht={class:`nav-label`},gt={class:`nav-label`},_t={class:`nav-label`},vt={class:`nav-section-label nav-about-label`},yt={class:`nav-label`},bt={class:`nav-label`},xt={class:`sidebar-foot`},St=[`aria-label`],Ct={class:`runtime-status`},wt={class:`runtime-status`},Tt=[`aria-label`],Et=[`inert`],Dt=[`aria-expanded`],Ot={key:0,class:`workbench-host-label`},kt={key:1,class:`topbar-heading`},At={key:2,class:`topbar-actions`},jt={key:0,class:`mode-chip`},Mt=[`disabled`],Nt=[`disabled`],Pt={key:1},Ft=[`aria-label`],It=L(l({__name:`ConsoleLayout`,setup(e){let i=F(),a=R(),l=d(!1),g=d(null),_=d(null),y=f(()=>i.activePersonalSpace?.id??`current`),S=f(()=>ie(y.value,`graph`)),T=f(()=>ae(`personal`,y.value,`directory`)),D=f(()=>et(a.meta.title,`routes.overview.title`)),O=f(()=>a.meta.dedicatedWorkspace===!0),P=f(()=>i.publicRuntimeStatus===`ready`),L=f(()=>i.publicRuntimeStatus===`ready`?p(`console.services.publicReady`):i.publicRuntimeStatus===`error`?p(`console.services.publicError`):p(`console.services.publicOffline`)),z=f(()=>{if(i.publicRuntimeStatus===`ready`){let e=i.state?.capabilities;return e?.browsePublicProjects&&e?.subscribeProject&&!e?.publishProject&&!e?.submitKnowledge&&!e?.reviewProposals?p(`console.services.publicBrowseSubscribe`):p(`console.services.publicAvailable`)}return i.publicRuntimeStatus===`error`?p(`console.services.localUnaffected`):p(`console.services.localOnly`)}),V=f(()=>i.state?.capabilities?.browsePublicProjects!==!1),U=f(()=>{let e=i.state?.capabilities;return e?.submitKnowledge!==!1||e?.reviewProposals===!0});s(()=>{i.runtimeStatus===`idle`&&i.refresh(),window.addEventListener(`resize`,W)}),b(()=>window.removeEventListener(`resize`,W));function W(){window.innerWidth>920&&(l.value=!1)}function G(e){if(!l.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())}n(()=>{tt(a.meta.title)}),N(()=>a.fullPath,()=>{l.value=!1});async function K(){l.value=!0,await t(),_.value?.focus({preventScroll:!0})}async function q(){l.value=!1,await t(),g.value?.focus({preventScroll:!0})}return(e,t)=>(c(),j(`div`,nt,[k(`aside`,{id:`console-primary-sidebar`,class:E([`sidebar`,{"is-mobile-open":l.value}]),onKeydown:[w(x(q,[`stop`]),[`esc`]),G]},[k(`button`,{ref_key:`mobileNavCloseRef`,ref:_,class:`mobile-nav-close quiet-button`,type:`button`,onClick:q},m(C(p)(`console.navigation.closeMenu`)),513),A(be),k(`nav`,{class:`primary-nav`,"aria-label":C(p)(`console.navigation.aria`)},[k(`p`,at,m(C(p)(`console.navigation.workspace`)),1),A(C(H),{to:`/`,"exact-active-class":`is-active`},{default:u(()=>[t[2]||=k(`span`,{class:`nav-icon nav-icon-overview`,"aria-hidden":`true`},null,-1),k(`span`,ot,m(C(p)(`console.navigation.overview`)),1)]),_:1}),k(`p`,st,m(C(p)(`console.navigation.personalSpace`)),1),A(C(H),{class:`space-nav-button personal-profile-button`,to:`/preferences`,"active-class":`is-active`},{default:u(()=>[t[3]||=k(`span`,{class:`nav-icon nav-icon-personal-profile`,"aria-hidden":`true`},null,-1),k(`span`,ct,[k(`strong`,null,m(C(p)(`console.navigation.preferences`)),1),k(`small`,null,m(C(p)(`console.navigation.preferencesMeta`)),1)])]),_:1}),A(C(H),{class:`space-nav-button knowledge-organizer-button`,to:`/organize`,"active-class":`is-active`},{default:u(()=>[t[4]||=k(`span`,{class:`nav-icon nav-icon-knowledge-organizer`,"aria-hidden":`true`},null,-1),k(`span`,lt,[k(`strong`,null,m(C(p)(`console.navigation.organizer`)),1),k(`small`,null,m(C(p)(`console.navigation.organizerMeta`)),1)])]),_:1}),A(C(H),{class:`space-nav-button personal-space-button`,to:S.value,"active-class":`is-active`},{default:u(()=>[t[5]||=k(`span`,{class:`nav-icon nav-icon-personal-project`,"aria-hidden":`true`},null,-1),k(`span`,ut,[k(`strong`,null,m(C(p)(`console.navigation.personalProjects`)),1),k(`small`,null,m(C(p)(`console.navigation.personalProjectsMeta`)),1)])]),_:1},8,[`to`]),A(C(H),{class:`space-nav-button project-agents-button`,to:`/project-agents`,"active-class":`is-active`},{default:u(()=>[t[6]||=k(`span`,{class:`nav-icon nav-icon-project-agent`,"aria-hidden":`true`},null,-1),k(`span`,dt,[k(`strong`,null,m(C(p)(`console.navigation.projectAgents`)),1),k(`small`,null,m(C(p)(`console.navigation.projectAgentsMeta`)),1)])]),_:1}),V.value?(c(),j(v,{key:0},[k(`p`,ft,m(C(p)(`console.navigation.publicSpace`)),1),A(C(H),{class:`space-nav-button public-space-button`,to:`/public-projects`,"active-class":`is-active`},{default:u(()=>[t[7]||=k(`span`,{class:`nav-icon nav-icon-public-project`,"aria-hidden":`true`},null,-1),k(`span`,pt,[k(`strong`,null,m(C(p)(`console.navigation.publicProjects`)),1),k(`small`,null,m(C(p)(`console.navigation.publicProjectsMeta`)),1)])]),_:1})],64)):h(``,!0),A(Me,{"personal-space-id":y.value},null,8,[`personal-space-id`]),A(Qe,{"personal-space-id":y.value,projects:C(i).state?.personalProjects??[]},null,8,[`personal-space-id`,`projects`]),k(`p`,mt,m(C(p)(`console.navigation.governance`)),1),A(C(H),{to:T.value,"active-class":`is-active`},{default:u(()=>[t[8]||=k(`span`,{class:`nav-icon nav-icon-knowledge-graph`,"aria-hidden":`true`},null,-1),k(`span`,ht,m(C(p)(`console.navigation.knowledge`)),1)]),_:1},8,[`to`]),U.value?(c(),M(C(H),{key:1,to:`/review`,"active-class":`is-active`},{default:u(()=>[t[9]||=k(`span`,{class:`nav-icon nav-icon-review`,"aria-hidden":`true`},null,-1),k(`span`,gt,m(C(p)(`console.navigation.review`)),1)]),_:1})):h(``,!0),A(C(H),{to:`/connections`,"active-class":`is-active`},{default:u(()=>[t[10]||=k(`span`,{class:`nav-icon nav-icon-connections`,"aria-hidden":`true`},null,-1),k(`span`,_t,m(C(p)(`console.navigation.connections`)),1)]),_:1}),k(`p`,vt,m(C(p)(`console.navigation.aboutSection`)),1),A(C(H),{to:`/settings`,"active-class":`is-active`},{default:u(()=>[t[11]||=k(`span`,{class:`nav-icon nav-icon-settings`,"aria-hidden":`true`},null,-1),k(`span`,yt,m(C(p)(`console.navigation.settings`)),1)]),_:1}),A(C(H),{to:`/about`,"active-class":`is-active`},{default:u(()=>[t[12]||=k(`span`,{class:`nav-icon nav-icon-about`,"aria-hidden":`true`},null,-1),k(`span`,bt,m(C(p)(`console.navigation.about`)),1)]),_:1})],8,it),k(`div`,xt,[k(`div`,{class:`service-runtime-list`,"aria-label":C(p)(`console.services.aria`)},[k(`div`,Ct,[k(`span`,{class:E([`status-dot`,C(i).runtimeStatus])},null,2),k(`div`,null,[k(`strong`,null,m(C(i).runtimeStatus===`ready`?C(p)(`console.services.localReady`):C(i).runtimeStatus===`error`?C(p)(`console.services.localError`):C(p)(`console.services.localConnecting`)),1),t[13]||=k(`small`,null,`Graphiti / Neo4j`,-1)])]),k(`div`,wt,[k(`span`,{class:E([`status-dot`,C(i).publicRuntimeStatus])},null,2),k(`div`,null,[k(`strong`,null,m(L.value),1),k(`small`,null,m(z.value),1)])])],8,St)])],42,rt),l.value?(c(),j(`button`,{key:0,class:`mobile-nav-backdrop`,type:`button`,tabindex:`-1`,"aria-label":C(p)(`console.navigation.closeMenu`),onClick:q},null,8,Tt)):h(``,!0),k(`main`,{class:`workspace`,inert:l.value||void 0},[k(`header`,{class:E([`topbar`,{"topbar--workbench":O.value}])},[k(`button`,{ref_key:`mobileNavToggleRef`,ref:g,class:`mobile-nav-toggle quiet-button`,type:`button`,"aria-controls":`console-primary-sidebar`,"aria-expanded":l.value,onClick:K},[t[14]||=k(`span`,{class:`mobile-nav-icon`,"aria-hidden":`true`},null,-1),r(` `+m(C(p)(`console.navigation.openMenu`)),1)],8,Dt),O.value?(c(),j(`span`,Ot,`FULI`)):(c(),j(`div`,kt,[k(`h2`,null,m(D.value),1)])),O.value?h(``,!0):(c(),j(`div`,At,[P.value?(c(),j(`span`,jt,m(C(p)(`console.publicReady`)),1)):h(``,!0),C(a).name===`settings`?(c(),j(`button`,{key:1,class:`settings-save-button`,disabled:C(i).settingsSaving,form:`settings-form`,type:`submit`},m(C(p)(`settings.save`)),9,Mt)):h(``,!0),A(Ce),k(`button`,{class:`quiet-button`,type:`button`,disabled:C(i).runtimeStatus===`loading`,onClick:t[0]||=(...e)=>C(i).refresh&&C(i).refresh(...e)},[C(i).runtimeStatus===`loading`?(c(),M(I,{key:0,variant:`inline`,label:C(p)(`common.status.loadingConsole`)},null,8,[`label`])):(c(),j(`span`,Pt,m(C(p)(`common.actions.refresh`)),1))],8,Nt)]))],2),A(De),C(i).feedback?(c(),j(`div`,{key:0,class:E([`feedback feedback-message`,{success:C(i).feedback.tone===`success`}]),role:`status`,"aria-live":`polite`},[k(`span`,null,m(C(i).feedback.message),1),k(`button`,{class:`feedback-dismiss`,type:`button`,"aria-label":C(p)(`common.actions.close`),onClick:t[1]||=(...e)=>C(i).clearFeedback&&C(i).clearFeedback(...e)},`×`,8,Ft)],2)):h(``,!0),A(C(B),null,{default:u(({Component:e})=>[(c(),M(o(e)))]),_:1})],8,Et)]))}}),[[`__scopeId`,`data-v-9fe7a62f`]]),Lt=l({__name:`App`,setup(e){let t=R();return(e,n)=>C(t).meta.publicReport?(c(),M(C(B),{key:0})):(c(),M(It,{key:1}))}}),Rt=`modulepreload`,zt=function(e){return`/`+e},Bt={},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=zt(t,n),t=s(t),t in Bt)return;Bt[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`:Rt,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 Vt(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=V({history:z(`/`),routes:[{path:`/reports/jefa`,name:`shared-jefa-report`,component:()=>Z(()=>import(`./SharedJefaReportPage-CbFtrDCY.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11])),meta:{publicReport:!0,title:`employees.share.title`}},{path:`/`,name:`overview`,component:()=>Z(()=>import(`./OverviewPage-BreX_kb4.js`),__vite__mapDeps([12,1,13,7,14,5,15])),meta:{eyebrow:``,title:`routes.overview.title`}},{path:`/preferences`,name:`personal-profile`,component:()=>Z(()=>import(`./PersonalProfilePage-CX1a6_E3.js`),__vite__mapDeps([16,1,13,7,2,3,4,14,5,17,18,19,20,21,22,23,24,25,26,27])),meta:{eyebrow:`PERSONAL LENS`,title:`routes.preferences.title`,description:`routes.preferences.description`}},{path:`/preferences/writing`,name:`writing-taste`,component:()=>Z(()=>import(`./WritingTastePage-B7lSzs2z.js`),__vite__mapDeps([28,1,13,7,2,3,4,14,5,23,17,18,24,20,25,26,29])),meta:{eyebrow:``,title:`routes.writingTaste.title`}},{path:`/personal/:spaceId/projects/:projectId/:mode/:itemKind/:itemId`,name:`personal-project-item`,component:()=>Z(()=>import(`./PersonalProjectsPage-Br1S8ETM.js`),__vite__mapDeps([30,1,31,13,7,2,3,4,5,14,17,15,18,24,19,20,21,22,23,25,32])),meta:{eyebrow:`PERSONAL PROJECT`,title:`routes.personalProjects.title`}},{path:`/personal/:spaceId/projects/:mode/:itemKind/:itemId`,name:`personal-projects-item`,component:()=>Z(()=>import(`./PersonalProjectsPage-Br1S8ETM.js`),__vite__mapDeps([30,1,31,13,7,2,3,4,5,14,17,15,18,24,19,20,21,22,23,25,32])),meta:{eyebrow:`PERSONAL PROJECTS`,title:`routes.personalProjects.title`,description:`routes.personalProjects.description`}},{path:`/personal/:spaceId/projects/:mode`,name:`personal-projects`,component:()=>Z(()=>import(`./PersonalProjectsPage-Br1S8ETM.js`),__vite__mapDeps([30,1,31,13,7,2,3,4,5,14,17,15,18,24,19,20,21,22,23,25,32])),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-Br1S8ETM.js`),__vite__mapDeps([30,1,31,13,7,2,3,4,5,14,17,15,18,24,19,20,21,22,23,25,32])),meta:{eyebrow:`PERSONAL PROJECT`,title:`routes.personalProjects.title`}},{path:`/organize`,name:`knowledge-organizer`,component:()=>Z(()=>import(`./KnowledgeOrganizerPage-DMC8Hh43.js`),__vite__mapDeps([33,1,13,7,2,3,4,17,18,24,19,20,21,22,23,25,34])),meta:{eyebrow:`KNOWLEDGE CLASSIFICATION`,title:`routes.organizer.title`}},{path:`/project-agents`,name:`project-agents`,component:()=>Z(()=>import(`./AgentsDirectoryPage-CKZfrcuD.js`),__vite__mapDeps([35,1,13,7,2,3,4,5,14,36,37,38,39,40,41,42,43,8,9,44,45,17,15,18,46])),meta:{eyebrow:``,title:`routes.projectAgents.title`}},{path:`/agents/:spaceId/:agentId`,name:`agent-profile`,component:()=>Z(()=>import(`./AgentProfilePage-BPQEfMhB.js`),__vite__mapDeps([47,1,13,7,2,3,4,5,14,45,38,39,40,42,41,43])),meta:{eyebrow:``,title:`agentProfiles.profile`}},{path:`/project-agents/manage`,name:`agent-management`,component:()=>Z(()=>import(`./ProjectAgentsPage-CA04h1Uf.js`),__vite__mapDeps([48,1,13,7,2,3,4,5,14,45,36,37,17,42,8,9,18,44,15,46,49])),meta:{eyebrow:``,title:`agentProfiles.advanced`}},{path:`/employees/:templateId`,name:`employee-workbench`,component:()=>Z(()=>import(`./EmployeeWorkbenchPage-HUd-gne2.js`),__vite__mapDeps([50,1,13,7,2,3,4,5,14,45,36,37,38,17,39,40,8,9,44,15,18,46,6,10,51,52])),meta:{eyebrow:``,title:`routes.employeeWorkbench.title`,dedicatedWorkspace:!0}},{path:`/public-projects`,name:`public-projects`,component:()=>Z(()=>import(`./PublicProjectsPage-CtctKml1.js`),__vite__mapDeps([53,1,13,7,2,3,4,5,17,15,18,24])),meta:{eyebrow:`PUBLIC PROJECTS`,title:`routes.publicProjects.title`,description:`routes.publicProjects.description`}},{path:`/knowledge`,name:`knowledge-default`,component:()=>Z(()=>import(`./KnowledgePage-uXW1Eovz.js`),__vite__mapDeps([54,1,31,13,7,2,3,4,5,14,17,15,18,24,19,20,21,22,23,25,32])),meta:{eyebrow:`KNOWLEDGE BASE`,title:`routes.knowledge.title`}},{path:`/knowledge/:scope/:spaceId/:projectId/:mode/:itemKind/:itemId`,name:`project-knowledge-item`,component:()=>Z(()=>import(`./KnowledgePage-uXW1Eovz.js`),__vite__mapDeps([54,1,31,13,7,2,3,4,5,14,17,15,18,24,19,20,21,22,23,25,32])),meta:{eyebrow:`KNOWLEDGE BASE`,title:`routes.knowledge.title`}},{path:`/knowledge/:scope/:spaceId/:mode/:itemKind/:itemId`,name:`knowledge-item`,component:()=>Z(()=>import(`./KnowledgePage-uXW1Eovz.js`),__vite__mapDeps([54,1,31,13,7,2,3,4,5,14,17,15,18,24,19,20,21,22,23,25,32])),meta:{eyebrow:`KNOWLEDGE BASE`,title:`routes.knowledge.title`}},{path:`/knowledge/:scope/:spaceId/:projectId/:mode`,name:`project-knowledge`,component:()=>Z(()=>import(`./KnowledgePage-uXW1Eovz.js`),__vite__mapDeps([54,1,31,13,7,2,3,4,5,14,17,15,18,24,19,20,21,22,23,25,32])),meta:{eyebrow:`KNOWLEDGE BASE`,title:`routes.knowledge.title`}},{path:`/knowledge/:scope/:spaceId/:mode`,name:`knowledge`,component:()=>Z(()=>import(`./KnowledgePage-uXW1Eovz.js`),__vite__mapDeps([54,1,31,13,7,2,3,4,5,14,17,15,18,24,19,20,21,22,23,25,32])),meta:{eyebrow:`KNOWLEDGE BASE`,title:`routes.knowledge.title`}},{path:`/review`,name:`review`,component:()=>Z(()=>import(`./ReviewPage-DUqaK-do.js`),__vite__mapDeps([55,1,13,7,2,3,4,18,24,20])),meta:{eyebrow:`REVIEW WORKSPACE`,title:`routes.review.title`,description:`routes.review.description`}},{path:`/connections`,name:`connections`,component:()=>Z(()=>import(`./ConnectionsPage-COb56qnk.js`),__vite__mapDeps([56,1,13,7,2,3,4,18,24,57])),meta:{eyebrow:`SERVICE CONNECTIONS`,title:`routes.connections.title`,description:`routes.connections.description`}},{path:`/settings`,name:`settings`,component:()=>Z(()=>import(`./SettingsPage-CB4ymLr8.js`),__vite__mapDeps([58,1,13,7,2,3,4,18,21,59])),meta:{eyebrow:``,title:`routes.settings.title`}},{path:`/about`,name:`about`,component:()=>Z(()=>import(`./AboutPage-fBq5VFoQ.js`),__vite__mapDeps([60,1,3,61,62])),meta:{eyebrow:`FULI`,title:`routes.about.title`}},{path:`/:pathMatch(.*)*`,name:`not-found`,component:()=>Z(()=>import(`./NotFoundPage-C0yOR9T9.js`),__vite__mapDeps([63,1,14,5])),meta:{title:`common.errors.pageNotFound`}}],scrollBehavior:(e,t,n)=>n??(e.path!==t.path&&{top:0})});we(Q),Q.beforeEach(e=>e.path!==`/`||typeof window>`u`?!0:Vt(window.location.hash)??!0),Q.afterEach(e=>{tt(e.meta.title)});var $=D(Lt);$.use(P()),$.use(T),$.use(Q),await Q.isReady().catch(()=>void 0),$.mount(`#app`);
@@ -1 +1 @@
1
- import{a as e,n as t}from"./i18n-BkJjUsz_.js";var n=new Set([`ProjectSpace`,`PersonalSpace`,`PersonalProject`,`ProjectPurpose`,`ProjectScope`,`ProjectSource`,`ProjectBoundary`,`ProjectAssessment`,`AssessmentDimension`,`RelatedPersonalProject`,`ExternalKnowledgeSource`]),r=new Set([`ProjectSpace`,`PersonalSpace`,`PersonalProject`,`ProjectPurpose`,`ProjectScope`,`TechnicalSummary`,`ProjectSource`,`ProjectBoundary`,`ProjectAssessment`,`AssessmentDimension`,`RelatedPersonalProject`,`ExternalKnowledgeSource`]),i=new Set([`known_known`,`known_unknown`,`unknown_known`,`unknown_unknown`,`unclassified`]),a=new Set([`taste`,`personality`,`judgment_preference`]),o=new Set([`confirm`,`update`,`invalidate`,`link_replacement`,`restore`,`scope_change`,`batch_confirm`]),s=new Set([`human_change`,`agent_view`,`agent_review`,`knowledge_used`]),c=new Set([`user`,`agent`,`authoritative_source`,`import`]);function l(t){let n=t??`unclassified`;return i.has(n)?e(`knowledge.domain.quadrants.${n}`):n}function u(t){let n=t??`unclassified`;return i.has(n)?e(`knowledge.domain.quadrants.descriptions.${n}`):e(`knowledge.domain.quadrants.customDescription`)}function d(t){let n=t??``;return a.has(n)?e(`knowledge.domain.profiles.${n}`):n}function f(t){let n=t??``;return o.has(n)?e(`knowledge.domain.revisions.${n}`):n||e(`knowledge.domain.revisions.fallback`)}function p(t){return e(`knowledge.domain.humanChanges.${t??`none`}`)}function m(t){let n=t??``;return s.has(n)?e(`knowledge.domain.auditActions.${n}`):n||e(`knowledge.domain.auditActions.fallback`)}function h(t){return t?t.label||(c.has(t.kind)?e(`knowledge.domain.actors.${t.kind}`):t.kind):e(`knowledge.domain.actors.notRecorded`)}function g(e){return typeof e==`object`&&e?e.id:e}function _(e){let t=e.nodes.filter(e=>!e.invalid_at),n=new Set(t.map(({id:e})=>e)),r=e.edges.filter(e=>!e.invalid_at&&n.has(g(e.source))&&n.has(g(e.target)));return{...e,nodes:t,edges:r}}function v(e){if(!e)return[];let t=new Map(e.nodes.map(e=>[e.id,e.name])),n=e.nodes.filter(e=>!T(e)).map(e=>b(e)),r=e.edges.filter(e=>!E(e)).map(e=>x(e,t));return[...n,...r].sort((e,t)=>q(t)-q(e))}function y(e){if(!e)return[];let t=new Map(e.nodes.map(e=>[e.id,e.name])),n=e.nodes.filter(T).map(e=>b(e)),r=e.edges.filter(E).map(e=>x(e,t));return[...n,...r]}function b(t){return{id:t.id,itemKind:`entity`,title:t.name,body:t.summary||e(`common.status.noDescription`),type:t.type,...W(t),raw:t}}function x(t,n){let r=n.get(g(t.source))??t.source_name,i=n.get(g(t.target))??t.target_name;return{id:t.id,itemKind:`relationship`,title:`${r??e(`knowledge.domain.items.unknownEntity`)} → ${i??e(`knowledge.domain.items.unknownEntity`)}`,body:t.fact||e(`knowledge.domain.items.noRelationDescription`),type:e(`knowledge.domain.items.relationshipType`,{type:t.type}),...W(t),raw:t}}function S(e){return e?n.has(e.type)||D(e.id):!1}function C(t){return t.itemKind===`relationship`?e(`knowledge.domain.materialTypes.relationship`):r.has(t.type)?e(`knowledge.domain.materialTypes.${t.type}`):t.type}function w(e){if(!e||e.itemKind!==`entity`)return null;let t=e.raw.attributes?.projectId;return typeof t==`string`&&t?t:null}function T(e){return n.has(e.type)||D(e.id)}function E(e){return D(e.id)}function D(e){return String(e).startsWith(`project-profile:`)||String(e).startsWith(`project-profile-edge:`)||String(e).startsWith(`space-edge:`)||String(e).startsWith(`personal-project-relation:`)||String(e).startsWith(`external-knowledge-binding:`)}function O(e,t){let n=t.query?.trim().toLocaleLowerCase()??``;return e.filter(e=>t.type&&t.type!==`all`&&e.type!==t.type||t.quadrant&&t.quadrant!==`all`&&e.originQuadrant!==t.quadrant||t.profile===`profile`&&!e.profileAspect||t.profile===`regular`&&e.profileAspect||t.status===`current`&&e.invalidAt||t.status===`historical`&&!e.invalidAt||t.humanChange===`human_changed`&&!e.humanEdited||t.humanChange&&![`all`,`human_changed`].includes(t.humanChange)&&e.humanChangeStatus!==t.humanChange?!1:!n||K(e).toLocaleLowerCase().includes(n))}function k(e){let t=v(e).filter(({profileAspect:e})=>e),n=new Set(t.filter(({itemKind:e})=>e===`relationship`).flatMap(({raw:e})=>{let t=e;return[g(t.source),g(t.target)]}));return t.filter(({id:e,itemKind:t})=>t===`relationship`||!n.has(e))}function A(e){let t=e.filter(e=>!!e);return{...t[0]??{space_id:null},nodes:J(t.flatMap(e=>e.nodes)),edges:J(t.flatMap(e=>e.edges)),truncated:t.some(({truncated:e})=>e)}}function j(e,t){let n=A([e,t]);return{...n,space_id:t.space_id??n.space_id,truncated:t.truncated,next_offset:t.next_offset??null}}function M(e){return e.revisions.at(0)?.created_at??e.createdAt??e.evidence.at(0)?.created_at??e.evidence.at(0)?.reference_time??null}function N(n){if(!n)return e(`knowledge.domain.items.notRecorded`);let r=new Date(n);return Number.isNaN(r.getTime())?n:r.toLocaleString(t())}function P(e){let t=e.confirmationBasis;return!e.confirmationExplicit||!t?.confirmed_by||!t.confirmed_at?`pending`:e.confirmationStatus===`confirmed`&&[`user`,`authoritative_source`].includes(t.confirmed_by.kind)?`confirmed`:e.confirmationStatus===`agent_confirmed`&&t.confirmed_by.kind===`agent`&&t.agent_policy_version?`agent_confirmed`:`pending`}function F(t){return e(`knowledge.domain.reviewStates.${P(t)}`)}function I(n){let r=new Map,i=n.filter(e=>!e.invalidAt&&e.classificationExplicit&&P(e)!==`confirmed`);for(let t of i)for(let n of t.evidence)n.id&&R(r,{kind:`source`,value:n.id,label:z(n),description:n.source_description||n.summary||e(`knowledge.domain.confirmation.sameSource`)},t),n.session_id&&R(r,{kind:`session`,value:n.session_id,label:B(n),description:n.source_description||n.summary||e(`knowledge.domain.confirmation.sameSession`)},t);return[...r.values()].filter(({items:e})=>e.length>=2).sort((e,n)=>n.items.length-e.items.length||e.label.localeCompare(n.label,t()))}function L(t,n){let r=t.evidence.find(e=>n.kind===`source`?e.id===n.value:e.session_id===n.value),i=t.confirmationBasis;return{existenceReason:i?.existence_reason||r?.source_description||r?.summary||e(`knowledge.domain.confirmation.sourceSupports`,{label:n.label}),quadrantReason:i?.quadrant_reason||t.reasoningSummary||e(`knowledge.domain.confirmation.quadrantReason`,{quadrant:l(t.originQuadrant),description:u(t.originQuadrant)}),proposedBy:i?.proposed_by||V(r)}}function R(e,t,n){let r=`${t.kind}:${t.value}`,i=e.get(r)??{key:r,...t,items:[]},a=`${n.itemKind}:${n.id}`;i.items.some(e=>`${e.itemKind}:${e.id}`===a)||i.items.push(n),e.set(r,i)}function z(t){return t.name||t.source_description||t.summary||e(`knowledge.domain.confirmation.sourceRecord`)}function B(t){let n={codex:`Codex`,claude:`Claude`,claude_code:`Claude Code`,cursor:`Cursor`,kiro:`Kiro`,other:e(`knowledge.domain.confirmation.otherSource`)}[t.source_application??``];return n?`${n} · ${t.name||t.source_kind||e(`knowledge.domain.confirmation.session`)}`:t.name||t.source_kind||e(`knowledge.domain.confirmation.sourceSession`)}function V(t){let n={codex:`Codex`,claude:`Claude`,claude_code:`Claude Code`,cursor:`Cursor`,kiro:`Kiro`,other:e(`knowledge.domain.actors.otherAgent`)}[t?.source_application??``];return n?{kind:`agent`,label:n}:{kind:`import`,label:e(`knowledge.domain.actors.historicalRecord`)}}function H(t){if(!t.classificationExplicit)return e(`knowledge.domain.confirmation.legacyUnclassified`);let n=t.confirmationBasis;return P(t)===`confirmed`&&n?e(`knowledge.domain.confirmation.confirmed`,{actor:h(n.confirmed_by),time:N(n.confirmed_at)}):P(t)===`agent_confirmed`&&n?e(`knowledge.domain.confirmation.agentConfirmed`,{time:N(n.confirmed_at)}):n?e(`knowledge.domain.confirmation.pending`,{actor:h(n.proposed_by)}):e(`knowledge.domain.confirmation.legacyPending`)}function U(t){let n=t.confirmationBasis;return n?P(t)===`confirmed`?`${h(n.confirmed_by)} · ${N(n.confirmed_at)}`:P(t)===`agent_confirmed`?e(`knowledge.domain.confirmation.agentPolicy`,{time:N(n.confirmed_at)}):e(`knowledge.domain.confirmation.proposed`,{actor:h(n.proposed_by),reason:n.existence_reason}):e(`knowledge.domain.confirmation.legacyBasisMissing`)}function W(e){let t=e.epistemic_state_explicit===!0,n=e.confirmation_state_explicit===!0;return{originQuadrant:t?e.origin_quadrant??`known_known`:`unclassified`,currentQuadrant:t?e.current_quadrant??`known_known`:`unclassified`,epistemicStatus:t?e.epistemic_status??`confirmed`:`unreviewed`,classificationExplicit:t,confirmationStatus:G(e.confirmation_status),confirmationExplicit:n,confirmationBasis:e.confirmation_basis??null,reasoningSummary:e.reasoning_summary??``,profileAspect:e.profile_aspect??null,preferenceScope:e.preference_scope??(e.profile_aspect?`global`:null),preferenceProjectId:e.preference_project_id??null,inheritanceMode:e.inheritance_mode??`local_only`,inheritedProjectIds:e.inherited_project_ids??[],humanEdited:e.human_edited===!0,humanChangeStatus:e.human_change_status??`none`,humanChangeVersion:e.human_change_version??0,lastHumanChangedAt:e.last_human_changed_at??null,lastAgentViewedAt:e.last_agent_viewed_at??null,lastAgentReviewedAt:e.last_agent_reviewed_at??null,utilityScore:e.utility_score??0,confidenceScore:e.confidence_score??.5,qualifiedUseCount:e.qualified_use_count??0,distinctTaskCount:e.distinct_task_count??0,lastUsedAt:e.last_used_at??null,usageGeneration:e.usage_generation??1,invalidAt:e.invalid_at,replacedByItemId:e.replaced_by_item_id??null,replacedByItemKind:e.replaced_by_item_kind??null,createdAt:e.created_at,evidence:e.evidence??[],revisions:e.revisions??[],assignments:e.assignments??[],projectReferences:e.project_references??[],conflicts:e.conflicts??[],auditEvents:e.audit_events??[]}}function G(e){return e===`confirmed`||e===`agent_confirmed`?e:`pending`}function K(e){return[e.id,e.title,e.body,e.type,l(e.originQuadrant),d(e.profileAspect),e.reasoningSummary,e.confirmationBasis?.existence_reason,e.confirmationBasis?.quadrant_reason,h(e.confirmationBasis?.proposed_by),h(e.confirmationBasis?.confirmed_by),p(e.humanChangeStatus),...e.auditEvents.flatMap(e=>[m(e.action),e.reason,e.tool_name,e.conflict_check,e.classification_check,e.outcome]),...e.evidence.flatMap(e=>[e.name,e.summary,e.source_description,e.session_id,e.source_excerpt])].filter(Boolean).join(` `)}function q(e){let t=M(e),n=t?new Date(t).getTime():0;return Number.isNaN(n)?0:n}function J(e){let t=new Map;for(let n of e){let e=t.get(n.id);t.set(n.id,e?Y(e,n):n)}return[...t.values()]}function Y(e,t){let n={...e,...t};for(let r of[`evidence`,`revisions`,`assignments`,`project_references`,`conflicts`,`audit_events`,`episodes`]){let i=e[r],a=t[r];!i&&!a||(n[r]=X([...i??[],...a??[]]))}return n}function X(e){let t=new Set;return e.filter(e=>{let n=typeof e==`object`&&e?e.id??JSON.stringify(e):e;return t.has(n)?!1:(t.add(n),!0)})}export{d as C,F as D,l as E,f as O,w as S,u as T,P as _,h as a,A as b,g as c,p as d,S as f,v as g,b as h,H as i,O as l,x as m,L as n,U as o,m as p,I as r,_ as s,j as t,N as u,M as v,C as w,k as x,y};
1
+ import{a as e,n as t}from"./i18n-BtOOoyJd.js";var n=new Set([`ProjectSpace`,`PersonalSpace`,`PersonalProject`,`ProjectPurpose`,`ProjectScope`,`ProjectSource`,`ProjectBoundary`,`ProjectAssessment`,`AssessmentDimension`,`RelatedPersonalProject`,`ExternalKnowledgeSource`]),r=new Set([`ProjectSpace`,`PersonalSpace`,`PersonalProject`,`ProjectPurpose`,`ProjectScope`,`TechnicalSummary`,`ProjectSource`,`ProjectBoundary`,`ProjectAssessment`,`AssessmentDimension`,`RelatedPersonalProject`,`ExternalKnowledgeSource`]),i=new Set([`known_known`,`known_unknown`,`unknown_known`,`unknown_unknown`,`unclassified`]),a=new Set([`taste`,`personality`,`judgment_preference`]),o=new Set([`confirm`,`update`,`invalidate`,`link_replacement`,`restore`,`scope_change`,`batch_confirm`]),s=new Set([`human_change`,`agent_view`,`agent_review`,`knowledge_used`]),c=new Set([`user`,`agent`,`authoritative_source`,`import`]);function l(t){let n=t??`unclassified`;return i.has(n)?e(`knowledge.domain.quadrants.${n}`):n}function u(t){let n=t??`unclassified`;return i.has(n)?e(`knowledge.domain.quadrants.descriptions.${n}`):e(`knowledge.domain.quadrants.customDescription`)}function d(t){let n=t??``;return a.has(n)?e(`knowledge.domain.profiles.${n}`):n}function f(t){let n=t??``;return o.has(n)?e(`knowledge.domain.revisions.${n}`):n||e(`knowledge.domain.revisions.fallback`)}function p(t){return e(`knowledge.domain.humanChanges.${t??`none`}`)}function m(t){let n=t??``;return s.has(n)?e(`knowledge.domain.auditActions.${n}`):n||e(`knowledge.domain.auditActions.fallback`)}function h(t){return t?t.label||(c.has(t.kind)?e(`knowledge.domain.actors.${t.kind}`):t.kind):e(`knowledge.domain.actors.notRecorded`)}function g(e){return typeof e==`object`&&e?e.id:e}function _(e){let t=e.nodes.filter(e=>!e.invalid_at),n=new Set(t.map(({id:e})=>e)),r=e.edges.filter(e=>!e.invalid_at&&n.has(g(e.source))&&n.has(g(e.target)));return{...e,nodes:t,edges:r}}function v(e){if(!e)return[];let t=new Map(e.nodes.map(e=>[e.id,e.name])),n=e.nodes.filter(e=>!T(e)).map(e=>b(e)),r=e.edges.filter(e=>!E(e)).map(e=>x(e,t));return[...n,...r].sort((e,t)=>q(t)-q(e))}function y(e){if(!e)return[];let t=new Map(e.nodes.map(e=>[e.id,e.name])),n=e.nodes.filter(T).map(e=>b(e)),r=e.edges.filter(E).map(e=>x(e,t));return[...n,...r]}function b(t){return{id:t.id,itemKind:`entity`,title:t.name,body:t.summary||e(`common.status.noDescription`),type:t.type,...W(t),raw:t}}function x(t,n){let r=n.get(g(t.source))??t.source_name,i=n.get(g(t.target))??t.target_name;return{id:t.id,itemKind:`relationship`,title:`${r??e(`knowledge.domain.items.unknownEntity`)} → ${i??e(`knowledge.domain.items.unknownEntity`)}`,body:t.fact||e(`knowledge.domain.items.noRelationDescription`),type:e(`knowledge.domain.items.relationshipType`,{type:t.type}),...W(t),raw:t}}function S(e){return e?n.has(e.type)||D(e.id):!1}function C(t){return t.itemKind===`relationship`?e(`knowledge.domain.materialTypes.relationship`):r.has(t.type)?e(`knowledge.domain.materialTypes.${t.type}`):t.type}function w(e){if(!e||e.itemKind!==`entity`)return null;let t=e.raw.attributes?.projectId;return typeof t==`string`&&t?t:null}function T(e){return n.has(e.type)||D(e.id)}function E(e){return D(e.id)}function D(e){return String(e).startsWith(`project-profile:`)||String(e).startsWith(`project-profile-edge:`)||String(e).startsWith(`space-edge:`)||String(e).startsWith(`personal-project-relation:`)||String(e).startsWith(`external-knowledge-binding:`)}function O(e,t){let n=t.query?.trim().toLocaleLowerCase()??``;return e.filter(e=>t.type&&t.type!==`all`&&e.type!==t.type||t.quadrant&&t.quadrant!==`all`&&e.originQuadrant!==t.quadrant||t.profile===`profile`&&!e.profileAspect||t.profile===`regular`&&e.profileAspect||t.status===`current`&&e.invalidAt||t.status===`historical`&&!e.invalidAt||t.humanChange===`human_changed`&&!e.humanEdited||t.humanChange&&![`all`,`human_changed`].includes(t.humanChange)&&e.humanChangeStatus!==t.humanChange?!1:!n||K(e).toLocaleLowerCase().includes(n))}function k(e){let t=v(e).filter(({profileAspect:e})=>e),n=new Set(t.filter(({itemKind:e})=>e===`relationship`).flatMap(({raw:e})=>{let t=e;return[g(t.source),g(t.target)]}));return t.filter(({id:e,itemKind:t})=>t===`relationship`||!n.has(e))}function A(e){let t=e.filter(e=>!!e);return{...t[0]??{space_id:null},nodes:J(t.flatMap(e=>e.nodes)),edges:J(t.flatMap(e=>e.edges)),truncated:t.some(({truncated:e})=>e)}}function j(e,t){let n=A([e,t]);return{...n,space_id:t.space_id??n.space_id,truncated:t.truncated,next_offset:t.next_offset??null}}function M(e){return e.revisions.at(0)?.created_at??e.createdAt??e.evidence.at(0)?.created_at??e.evidence.at(0)?.reference_time??null}function N(n){if(!n)return e(`knowledge.domain.items.notRecorded`);let r=new Date(n);return Number.isNaN(r.getTime())?n:r.toLocaleString(t())}function P(e){let t=e.confirmationBasis;return!e.confirmationExplicit||!t?.confirmed_by||!t.confirmed_at?`pending`:e.confirmationStatus===`confirmed`&&[`user`,`authoritative_source`].includes(t.confirmed_by.kind)?`confirmed`:e.confirmationStatus===`agent_confirmed`&&t.confirmed_by.kind===`agent`&&t.agent_policy_version?`agent_confirmed`:`pending`}function F(t){return e(`knowledge.domain.reviewStates.${P(t)}`)}function I(n){let r=new Map,i=n.filter(e=>!e.invalidAt&&e.classificationExplicit&&P(e)!==`confirmed`);for(let t of i)for(let n of t.evidence)n.id&&R(r,{kind:`source`,value:n.id,label:z(n),description:n.source_description||n.summary||e(`knowledge.domain.confirmation.sameSource`)},t),n.session_id&&R(r,{kind:`session`,value:n.session_id,label:B(n),description:n.source_description||n.summary||e(`knowledge.domain.confirmation.sameSession`)},t);return[...r.values()].filter(({items:e})=>e.length>=2).sort((e,n)=>n.items.length-e.items.length||e.label.localeCompare(n.label,t()))}function L(t,n){let r=t.evidence.find(e=>n.kind===`source`?e.id===n.value:e.session_id===n.value),i=t.confirmationBasis;return{existenceReason:i?.existence_reason||r?.source_description||r?.summary||e(`knowledge.domain.confirmation.sourceSupports`,{label:n.label}),quadrantReason:i?.quadrant_reason||t.reasoningSummary||e(`knowledge.domain.confirmation.quadrantReason`,{quadrant:l(t.originQuadrant),description:u(t.originQuadrant)}),proposedBy:i?.proposed_by||V(r)}}function R(e,t,n){let r=`${t.kind}:${t.value}`,i=e.get(r)??{key:r,...t,items:[]},a=`${n.itemKind}:${n.id}`;i.items.some(e=>`${e.itemKind}:${e.id}`===a)||i.items.push(n),e.set(r,i)}function z(t){return t.name||t.source_description||t.summary||e(`knowledge.domain.confirmation.sourceRecord`)}function B(t){let n={codex:`Codex`,claude:`Claude`,claude_code:`Claude Code`,cursor:`Cursor`,kiro:`Kiro`,other:e(`knowledge.domain.confirmation.otherSource`)}[t.source_application??``];return n?`${n} · ${t.name||t.source_kind||e(`knowledge.domain.confirmation.session`)}`:t.name||t.source_kind||e(`knowledge.domain.confirmation.sourceSession`)}function V(t){let n={codex:`Codex`,claude:`Claude`,claude_code:`Claude Code`,cursor:`Cursor`,kiro:`Kiro`,other:e(`knowledge.domain.actors.otherAgent`)}[t?.source_application??``];return n?{kind:`agent`,label:n}:{kind:`import`,label:e(`knowledge.domain.actors.historicalRecord`)}}function H(t){if(!t.classificationExplicit)return e(`knowledge.domain.confirmation.legacyUnclassified`);let n=t.confirmationBasis;return P(t)===`confirmed`&&n?e(`knowledge.domain.confirmation.confirmed`,{actor:h(n.confirmed_by),time:N(n.confirmed_at)}):P(t)===`agent_confirmed`&&n?e(`knowledge.domain.confirmation.agentConfirmed`,{time:N(n.confirmed_at)}):n?e(`knowledge.domain.confirmation.pending`,{actor:h(n.proposed_by)}):e(`knowledge.domain.confirmation.legacyPending`)}function U(t){let n=t.confirmationBasis;return n?P(t)===`confirmed`?`${h(n.confirmed_by)} · ${N(n.confirmed_at)}`:P(t)===`agent_confirmed`?e(`knowledge.domain.confirmation.agentPolicy`,{time:N(n.confirmed_at)}):e(`knowledge.domain.confirmation.proposed`,{actor:h(n.proposed_by),reason:n.existence_reason}):e(`knowledge.domain.confirmation.legacyBasisMissing`)}function W(e){let t=e.epistemic_state_explicit===!0,n=e.confirmation_state_explicit===!0;return{originQuadrant:t?e.origin_quadrant??`known_known`:`unclassified`,currentQuadrant:t?e.current_quadrant??`known_known`:`unclassified`,epistemicStatus:t?e.epistemic_status??`confirmed`:`unreviewed`,classificationExplicit:t,confirmationStatus:G(e.confirmation_status),confirmationExplicit:n,confirmationBasis:e.confirmation_basis??null,reasoningSummary:e.reasoning_summary??``,profileAspect:e.profile_aspect??null,preferenceScope:e.preference_scope??(e.profile_aspect?`global`:null),preferenceProjectId:e.preference_project_id??null,inheritanceMode:e.inheritance_mode??`local_only`,inheritedProjectIds:e.inherited_project_ids??[],humanEdited:e.human_edited===!0,humanChangeStatus:e.human_change_status??`none`,humanChangeVersion:e.human_change_version??0,lastHumanChangedAt:e.last_human_changed_at??null,lastAgentViewedAt:e.last_agent_viewed_at??null,lastAgentReviewedAt:e.last_agent_reviewed_at??null,utilityScore:e.utility_score??0,confidenceScore:e.confidence_score??.5,qualifiedUseCount:e.qualified_use_count??0,distinctTaskCount:e.distinct_task_count??0,lastUsedAt:e.last_used_at??null,usageGeneration:e.usage_generation??1,invalidAt:e.invalid_at,replacedByItemId:e.replaced_by_item_id??null,replacedByItemKind:e.replaced_by_item_kind??null,createdAt:e.created_at,evidence:e.evidence??[],revisions:e.revisions??[],assignments:e.assignments??[],projectReferences:e.project_references??[],conflicts:e.conflicts??[],auditEvents:e.audit_events??[]}}function G(e){return e===`confirmed`||e===`agent_confirmed`?e:`pending`}function K(e){return[e.id,e.title,e.body,e.type,l(e.originQuadrant),d(e.profileAspect),e.reasoningSummary,e.confirmationBasis?.existence_reason,e.confirmationBasis?.quadrant_reason,h(e.confirmationBasis?.proposed_by),h(e.confirmationBasis?.confirmed_by),p(e.humanChangeStatus),...e.auditEvents.flatMap(e=>[m(e.action),e.reason,e.tool_name,e.conflict_check,e.classification_check,e.outcome]),...e.evidence.flatMap(e=>[e.name,e.summary,e.source_description,e.session_id,e.source_excerpt])].filter(Boolean).join(` `)}function q(e){let t=M(e),n=t?new Date(t).getTime():0;return Number.isNaN(n)?0:n}function J(e){let t=new Map;for(let n of e){let e=t.get(n.id);t.set(n.id,e?Y(e,n):n)}return[...t.values()]}function Y(e,t){let n={...e,...t};for(let r of[`evidence`,`revisions`,`assignments`,`project_references`,`conflicts`,`audit_events`,`episodes`]){let i=e[r],a=t[r];!i&&!a||(n[r]=X([...i??[],...a??[]]))}return n}function X(e){let t=new Set;return e.filter(e=>{let n=typeof e==`object`&&e?e.id??JSON.stringify(e):e;return t.has(n)?!1:(t.add(n),!0)})}export{d as C,F as D,l as E,f as O,w as S,u as T,P as _,h as a,A as b,g as c,p as d,S as f,v as g,b as h,H as i,O as l,x as m,L as n,U as o,m as p,I as r,_ as s,j as t,N as u,M as v,C as w,k as x,y};
@@ -0,0 +1 @@
1
+ import{n as e}from"./client-CEHkJJ-5.js";import{t}from"./model-CGpllrds.js";async function n(n,r){let i=new URLSearchParams({spaceId:n,limit:`500`,offset:`0`}),a=null,o=new Set([0]);for(let n=0;n<20;n++){let n=await e(`/api/graph?${i}`,{signal:r});if(!Array.isArray(n?.nodes)||!Array.isArray(n?.edges))throw Error(`Invalid personal profile history`);if(a=t(a,n),!n.truncated)return a;let s=n.next_offset;if(!Number.isInteger(s)||s==null||s<0||o.has(s))break;o.add(s),i.set(`offset`,String(s))}throw Error(`Personal profile history is incomplete. Reload before reviewing preferences.`)}export{n as t};
@@ -0,0 +1 @@
1
+ var e=(e,t)=>`/agents/${encodeURIComponent(e)}/${encodeURIComponent(t)}`,t=e=>e.profile.displayName||e.profile.name,n=e=>(e.assignments??[]).filter(e=>e.status===`active`),r=e=>[...new Set([...n(e).map(e=>e.personalProjectId),...!e.assignments&&e.personalProjectId?[e.personalProjectId]:[]])],i=e=>e.normalize(`NFKD`).replace(/\p{M}/gu,``).toLocaleLowerCase();function a(e,t){let n=i(e),r=n.match(/[a-z0-9]+/g)??[];return i(t).slice(0,160).trim().split(/\s+/).filter(Boolean).slice(0,8).every(e=>n.includes(e)||/^[a-z]{4,32}$/.test(e)&&r.some(t=>o(e,t)))}function o(e,t){if(Math.abs(e.length-t.length)>1)return!1;let n=0;for(;n<Math.min(e.length,t.length)&&e[n]===t[n];)n++;return n===Math.min(e.length,t.length)?!0:e.length===t.length?e.slice(n+1)===t.slice(n+1)||e[n]===t[n+1]&&e[n+1]===t[n]&&e.slice(n+2)===t.slice(n+2):e.length>t.length?e.slice(n+1)===t.slice(n):e.slice(n)===t.slice(n+1)}function s(e,t){let n=new Map,r=new Set([`running`,`awaiting_review`,`completed`,`failed`]);for(let i of t)if(!(!r.has(i.status)||!i.participants.some(t=>t.agentId===e&&r.has(t.status))))for(let t of i.participants){if(t.agentId===e||!r.has(t.status))continue;let a=n.get(t.agentId)??new Set;a.add(i.taskId),n.set(t.agentId,a)}return[...n].map(([e,t])=>({agentId:e,count:t.size})).sort((e,t)=>t.count-e.count||e.agentId.localeCompare(t.agentId))}export{r as a,a as i,e as n,s as r,t};
@@ -1 +1 @@
1
- import{A as e,F as t,H as n,N as r,T as i,V as a,Z as o,_ as s,a as c,at as l,b as u,d as ee,g as te,h as d,it as ne,j as re,m as ie,nt as f,o as ae,rt as p,v as m,w as h,x as g,y as _}from"./i18n-BkJjUsz_.js";import{t as oe}from"./GrowthLoading-CCYPgE2f.js";import{t as v}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{n as y}from"./client-v8XKgQji.js";import{t as se}from"./ProjectScopePicker-BcPtIcv8.js";var ce={class:`employee-all-projects`,"aria-labelledby":`employee-all-projects-title`},le={class:`employee-all-projects-header`},ue={class:`employee-all-projects-heading`},de={id:`employee-all-projects-title`},fe={class:`employee-all-projects-controls`},b={class:`employee-all-projects-search`},pe=[`placeholder`],me={key:0,class:`employee-all-projects-notice`,role:`status`},he={key:1,class:`employee-all-projects-notice`,role:`status`},ge={key:2,class:`employee-all-projects-notice`,role:`status`},_e={key:3,class:`employee-all-projects-notice is-error`,role:`alert`},ve={key:4,class:`employee-all-projects-empty`},ye={key:5,class:`employee-all-projects-empty`},be={key:6,class:`employee-all-projects-empty`},xe={key:7,class:`employee-all-projects-board-shell`},Se={key:0,id:`employee-drag-instructions`,class:`visually-hidden`},Ce={class:`visually-hidden`,"aria-live":`assertive`,"aria-atomic":`true`},we=[`aria-label`],Te=[`aria-label`],Ee=[`data-drag-placeholder`,`aria-hidden`],De=[`disabled`,`aria-label`,`onClick`],Oe={class:`employee-all-projects-project`},ke={key:0,class:`employee-all-projects-summary`},x={key:1,class:`employee-all-projects-tags`,"aria-hidden":`true`},S=[`disabled`,`aria-label`,`title`,`onPointerdown`,`onKeydown`],C={class:`employee-all-projects-project`},w={key:0,class:`employee-all-projects-summary`},T=v(i({__name:`EmployeeTaskBoard`,props:{boards:{},projects:{},visibleProjectIds:{},failedProjects:{},movingItemKeys:{},actionError:{},canMoveTasks:{type:Boolean},readOnly:{type:Boolean},resettableFilter:{type:Boolean},filterStorageUnavailable:{type:Boolean}},emits:[`select-task`,`create-task`,`update:visible-project-ids`,`move-task`,`retry`,`reset-project-filter`],setup(i,{emit:v}){let y=i,T=v,E=o(``),D=o(null),O=0,k={x:0,y:0},A=o(``),j=o(null),M=null,N=0,P=[{value:`planned`,labelKey:`employees.allProjects.status.planned`},{value:`active`,labelKey:`employees.allProjects.status.active`},{value:`blocked`,labelKey:`employees.allProjects.status.blocked`},{value:`review`,labelKey:`employees.allProjects.status.review`},{value:`done`,labelKey:`employees.allProjects.status.done`}],F=s(()=>new Map(y.boards.map(({project:e})=>[e.id,e.name]))),I=s(()=>y.boards.flatMap(({items:e})=>e)),L=s(()=>{let e=E.value.trim().toLocaleLowerCase();return e?I.value.filter(t=>[t.title,t.summary,F.value.get(t.projectId),...t.tags??[]].filter(Boolean).join(` `).toLocaleLowerCase().includes(e)):I.value}),R=s(()=>P.map(e=>({...e,items:L.value.filter(({status:t})=>t===e.value)}))),z=s(()=>y.boards.filter(({truncated:e})=>e).length),Ae=s(()=>y.visibleProjectIds.length>0),je=s(()=>I.value.length>0),Me=s(()=>L.value.length>0);function B(e){return F.value.get(e)??e}function Ne(){T(`update:visible-project-ids`,y.projects.map(e=>e.id))}function V(e){return`${e.projectId}:${e.id}`}function H(e){return y.movingItemKeys?.includes(V(e))??!1}function U(e){let t=R.value.find(t=>t.value===e)?.items??[],n=j.value;if(!n||n.keyboard)return t;let r=t.filter(e=>V(e)!==V(n.item));if(n.targetStatus!==e)return r;let i=[...r];return i.splice(Math.min(n.targetIndex,i.length),0,n.item),i}function W(e){return j.value!==null&&V(j.value.item)===V(e)}function G(e){let t=P.find(t=>t.value===e);return t?c(t.labelKey):e}function Pe(e,t,n){if(e.button!==0||H(t))return;let r=e.currentTarget.closest(`.employee-all-projects-task`);if(!r)return;let i=r.getBoundingClientRect();M={item:t,sourceIndex:n,pointerId:e.pointerId,startX:e.clientX,startY:e.clientY,offsetX:e.clientX-i.left,offsetY:e.clientY-i.top,rect:i},document.addEventListener(`pointermove`,K),document.addEventListener(`pointerup`,Y),document.addEventListener(`pointercancel`,X)}function Fe(e,t){j.value={item:t.item,sourceStatus:t.item.status,sourceIndex:t.sourceIndex,targetStatus:t.item.status,targetIndex:t.sourceIndex,left:e.clientX-t.offsetX,top:e.clientY-t.offsetY,width:t.rect.width,height:t.rect.height,offsetX:t.offsetX,offsetY:t.offsetY,phase:`dragging`,duration:0,keyboard:!1},A.value=c(`employees.allProjects.dragLifted`,{task:t.item.title,status:G(t.item.status)}),document.body.classList.add(`employee-task-is-dragging`)}function K(e){let t=M;if(!(!t||e.pointerId!==t.pointerId)){if(!j.value){if(Math.hypot(e.clientX-t.startX,e.clientY-t.startY)<5)return;Fe(e,t)}!j.value||j.value.phase!==`dragging`||(e.preventDefault(),j.value.left=e.clientX-j.value.offsetX,j.value.top=e.clientY-j.value.offsetY,k={x:e.clientX,y:e.clientY},O||=requestAnimationFrame(q),J(e.clientX,e.clientY))}}function q(){if(O=0,!j.value||j.value.phase!==`dragging`||j.value.keyboard)return;let e=D.value;if(!e)return;let t=e.getBoundingClientRect(),n=(e,t,n)=>e<t+48?-Math.min(16,(t+48-e)/3):e>n-48?Math.min(16,(e-n+48)/3):0;k.y>=t.top&&k.y<=t.bottom&&(e.scrollLeft+=n(k.x,t.left,t.right));let r=document.elementsFromPoint(k.x,k.y).map(e=>e.closest(`.employee-all-projects-list`)).find(t=>t&&e.contains(t));if(r){let e=r.getBoundingClientRect();r.scrollTop+=n(k.y,e.top,e.bottom)}J(k.x,k.y),O=requestAnimationFrame(q)}function J(e,t){let n=j.value;if(!n)return;let r=document.elementsFromPoint(e,t).map(e=>e.closest(`.employee-all-projects-list`)).find(Boolean);if(!r)return;let i=r.dataset.status;if(!i||!P.some(e=>e.value===i))return;let a=[...r.querySelectorAll(`.employee-all-projects-task:not(.is-placeholder)`)],o=a.findIndex(e=>t<e.getBoundingClientRect().top+e.getBoundingClientRect().height/2);n.targetStatus=i,n.targetIndex=o<0?a.length:o}function Y(e){!M||e.pointerId!==M.pointerId||(M=null,Z(),j.value&&Q(!0))}function X(){M=null,Z(),$()}function Z(){O&&cancelAnimationFrame(O),O=0,document.removeEventListener(`pointermove`,K),document.removeEventListener(`pointerup`,Y),document.removeEventListener(`pointercancel`,X)}function Ie(e,t,n){if(H(e))return;let r=n.closest(`.employee-all-projects-task`);if(!r)return;let i=r.getBoundingClientRect();j.value={item:e,sourceStatus:e.status,sourceIndex:t,targetStatus:e.status,targetIndex:t,left:i.left,top:i.top,width:i.width,height:i.height,offsetX:0,offsetY:0,phase:`dragging`,duration:0,keyboard:!0},A.value=c(`employees.allProjects.dragLifted`,{task:e.title,status:G(e.status)})}function Le(e,t,n){let r=j.value;if(!r){if(e.key!==` `&&e.key!==`Enter`)return;e.preventDefault(),Ie(t,n,e.currentTarget);return}if(!r.keyboard||V(r.item)!==V(t))return;if(e.key===`Escape`){e.preventDefault(),$(),A.value=c(`employees.allProjects.dragCancelled`);return}if(e.key===` `||e.key===`Enter`){e.preventDefault(),Q(!1);return}let i=P.findIndex(e=>e.value===r.targetStatus);if(e.key===`ArrowLeft`||e.key===`ArrowRight`){e.preventDefault();let t=e.key===`ArrowLeft`?-1:1,n=P[Math.max(0,Math.min(P.length-1,i+t))];n&&(r.targetStatus=n.value,r.targetIndex=U(n.value).length)}else if(e.key===`ArrowUp`||e.key===`ArrowDown`)e.preventDefault(),r.targetIndex=Math.max(0,r.targetIndex+(e.key===`ArrowUp`?-1:1));else return;A.value=c(`employees.allProjects.dragMoved`,{status:G(r.targetStatus)})}async function Q(t){let n=j.value;if(!n)return;if(n.targetStatus===n.sourceStatus){$(),A.value=c(`employees.allProjects.dragCancelled`);return}if(t){await e();let t=[...document.querySelectorAll(`[data-drag-placeholder="true"]`)][0]?.getBoundingClientRect();if(t){let e=Math.hypot(t.left-n.left,t.top-n.top);n.duration=Math.round(Math.min(360,Math.max(180,180+e*.16))),n.phase=`dropping`,n.left=t.left,n.top=t.top,await new Promise(e=>{N=window.setTimeout(e,n.duration)})}}let r=n.item,i=n.targetStatus;A.value=c(`employees.allProjects.dragDropped`,{task:r.title,status:G(i)}),T(`move-task`,r,i),j.value=null,document.body.classList.remove(`employee-task-is-dragging`)}function $(){N&&window.clearTimeout(N),N=0,j.value=null,document.body.classList.remove(`employee-task-is-dragging`)}return re(()=>{Z(),$()}),(e,o)=>(r(),g(`section`,ce,[m(`header`,le,[m(`div`,ue,[m(`h2`,de,l(f(c)(`employees.allProjects.title`)),1)]),m(`div`,fe,[i.canMoveTasks?(r(),g(`button`,{key:0,class:`employee-board-create`,type:`button`,onClick:o[0]||=e=>T(`create-task`)},`+ `+l(f(c)(`employees.task.create`)),1)):u(``,!0),h(se,{class:`employee-all-projects-filter`,"model-value":i.visibleProjectIds,projects:i.projects,compact:``,"show-count":``,resettable:i.resettableFilter,label:f(c)(`employees.allProjects.projectFilter`),hint:f(c)(`employees.allProjects.projectFilterHint`),"empty-label":f(c)(`employees.allProjects.noProjectsVisible`),"onUpdate:modelValue":o[1]||=e=>T(`update:visible-project-ids`,e),onReset:o[2]||=e=>T(`reset-project-filter`)},null,8,[`model-value`,`projects`,`resettable`,`label`,`hint`,`empty-label`]),m(`label`,b,[m(`span`,null,l(f(c)(`employees.allProjects.search`)),1),n(m(`input`,{"onUpdate:modelValue":o[3]||=e=>E.value=e,type:`search`,placeholder:f(c)(`employees.allProjects.searchPlaceholder`)},null,8,pe),[[ee,E.value]])])])]),i.filterStorageUnavailable?(r(),g(`div`,me,l(f(c)(`employees.scope.storageUnavailable`)),1)):u(``,!0),i.failedProjects?(r(),g(`div`,he,[m(`span`,null,l(f(c)(`employees.allProjects.partial`,{loaded:i.boards.length,total:i.visibleProjectIds.length,failed:i.failedProjects})),1),m(`button`,{type:`button`,onClick:o[4]||=e=>T(`retry`)},l(f(c)(`employees.retry`)),1)])):u(``,!0),z.value?(r(),g(`div`,ge,l(f(c)(`employees.allProjects.truncated`,{count:z.value})),1)):u(``,!0),i.actionError?(r(),g(`div`,_e,l(i.actionError),1)):u(``,!0),Ae.value?je.value?Me.value?(r(),g(`div`,xe,[i.canMoveTasks?(r(),g(`p`,Se,l(f(c)(`employees.allProjects.dragHint`)),1)):u(``,!0),m(`p`,Ce,l(A.value),1),m(`div`,{ref_key:`boardElement`,ref:D,class:p([`employee-all-projects-board`,{"is-dragging":j.value}]),"aria-label":f(c)(`employees.allProjects.boardLabel`)},[(r(!0),g(d,null,t(R.value,e=>(r(),g(`section`,{key:e.value,class:p([`employee-all-projects-column`,{"is-drop-target":j.value?.targetStatus===e.value}])},[m(`header`,null,[m(`h3`,null,l(f(c)(e.labelKey)),1),m(`span`,{"aria-label":f(c)(`employees.allProjects.taskCount`,{count:U(e.value).length})},l(U(e.value).length),9,Te)]),h(ae,{name:`employee-task-shift`,tag:`div`,class:`employee-all-projects-list`,"data-status":e.value},{default:a(()=>[(r(!0),g(d,null,t(U(e.value),(e,n)=>(r(),g(`article`,{key:V(e),class:p([`employee-all-projects-task`,{"is-placeholder":W(e),"is-saving":H(e)}]),"data-drag-placeholder":W(e)?`true`:void 0,"aria-hidden":W(e)?`true`:void 0},[m(`button`,{type:`button`,class:`employee-all-projects-task-open`,disabled:H(e)||i.readOnly,"aria-label":f(c)(`employees.allProjects.openTask`,{project:B(e.projectId),task:e.title}),onClick:t=>T(`select-task`,e)},[m(`span`,Oe,l(B(e.projectId)),1),m(`strong`,null,l(e.title),1),e.summary&&e.summary!==e.title?(r(),g(`span`,ke,l(e.summary),1)):u(``,!0),e.tags?.length?(r(),g(`span`,x,[(r(!0),g(d,null,t(e.tags.slice(0,3),e=>(r(),g(`span`,{key:e},l(e),1))),128))])):u(``,!0)],8,De),i.canMoveTasks?(r(),g(`button`,{key:0,type:`button`,class:`employee-all-projects-drag-handle`,disabled:H(e),"aria-label":f(c)(`employees.allProjects.dragTask`,{task:e.title}),title:f(c)(`employees.allProjects.dragTask`,{task:e.title}),"aria-describedby":`employee-drag-instructions`,onPointerdown:ie(t=>Pe(t,e,n),[`stop`,`prevent`]),onKeydown:t=>Le(t,e,n)},[...o[5]||=[m(`svg`,{width:`16`,height:`16`,viewBox:`0 0 16 16`,fill:`currentColor`,"aria-hidden":`true`},[m(`circle`,{cx:`5`,cy:`4`,r:`1`}),m(`circle`,{cx:`11`,cy:`4`,r:`1`}),m(`circle`,{cx:`5`,cy:`8`,r:`1`}),m(`circle`,{cx:`11`,cy:`8`,r:`1`}),m(`circle`,{cx:`5`,cy:`12`,r:`1`}),m(`circle`,{cx:`11`,cy:`12`,r:`1`})],-1)]],40,S)):u(``,!0),H(e)?(r(),_(oe,{key:1,class:`employee-all-projects-saving`,variant:`inline`,label:f(c)(`employees.allProjects.saving`)},null,8,[`label`])):u(``,!0)],10,Ee))),128)),U(e.value).length?u(``,!0):(r(),g(`p`,{key:`${e.value}-empty`,class:`employee-all-projects-column-empty`},l(f(c)(`employees.allProjects.columnEmpty`)),1))]),_:2},1032,[`data-status`])],2))),128))],10,we)])):(r(),g(`div`,be,[m(`h3`,null,l(f(c)(`employees.allProjects.noMatch`)),1),m(`p`,null,l(f(c)(`employees.allProjects.noMatchHint`)),1)])):(r(),g(`div`,ye,[m(`h3`,null,l(f(c)(`employees.allProjects.empty`)),1),m(`p`,null,l(f(c)(`employees.allProjects.emptyHint`)),1)])):(r(),g(`div`,ve,[m(`h3`,null,l(f(c)(`employees.allProjects.noProjectsVisible`)),1),m(`p`,null,l(f(c)(`employees.allProjects.noProjectsVisibleHint`)),1),m(`button`,{type:`button`,onClick:Ne},l(f(c)(`employees.allProjects.showAllProjects`)),1)])),(r(),_(te,{to:`body`},[j.value&&!j.value.keyboard?(r(),g(`article`,{key:0,class:p([`employee-all-projects-task employee-all-projects-drag-preview`,{"is-dropping":j.value.phase===`dropping`}]),style:ne({width:`${j.value.width}px`,height:`${j.value.height}px`,"--employee-drag-x":`${j.value.left}px`,"--employee-drag-y":`${j.value.top}px`,"--employee-drop-duration":`${j.value.duration}ms`}),"aria-hidden":`true`},[m(`span`,C,l(B(j.value.item.projectId)),1),m(`strong`,null,l(j.value.item.title),1),j.value.item.summary&&j.value.item.summary!==j.value.item.title?(r(),g(`span`,w,l(j.value.item.summary),1)):u(``,!0)],6)):u(``,!0)]))]))}}),[[`__scopeId`,`data-v-f884e0f4`]]);async function E(e){let t=await y(`/employee-workspaces/jefa/${encodeURIComponent(e.id)}/api/public/${encodeURIComponent(e.slug)}`);if(t?.project?.id!==e.id||typeof t.project.name!=`string`||!Array.isArray(t.items))throw Error(`Invalid public projection`);let n=t.items.filter(e=>e&&typeof e.id==`string`&&typeof e.title==`string`&&[`planned`,`active`,`blocked`,`review`,`done`].includes(e.status)).map(t=>({id:t.id,projectId:e.id,title:t.title,status:t.status,priority:t.priority}));return{project:{id:t.project.id,name:t.project.name},items:n,total:n.length,truncated:!1}}function D(e,t){let n=new URL(`/reports/jefa`,t);return n.hash=new URLSearchParams(e.map(e=>[`p`,JSON.stringify([e.id,e.slug])])).toString(),n.href}function O(e){let t=new URLSearchParams(e.replace(/^#/,``)).getAll(`p`);if(!t.length||t.length>100)throw Error(`Invalid report scope`);let n=new Set;return t.map(e=>{let t=JSON.parse(e);if(!Array.isArray(t)||t.length!==2||typeof t[0]!=`string`||!t[0]||t[0].length>160||typeof t[1]!=`string`||!/^share-[a-zA-Z0-9-]{16,100}$/.test(t[1])||n.has(t[0]))throw Error(`Invalid report scope`);return n.add(t[0]),{id:t[0],slug:t[1]}})}export{T as i,O as n,D as r,E as t};
1
+ import{A as e,F as t,H as n,N as r,T as i,V as a,Z as o,_ as s,a as c,at as l,b as u,d as ee,g as te,h as d,it as ne,j as re,m as ie,nt as f,o as ae,rt as p,v as m,w as h,x as g,y as _}from"./i18n-BtOOoyJd.js";import{t as oe}from"./GrowthLoading-Bu_kH-I8.js";import{t as v}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{n as y}from"./client-CEHkJJ-5.js";import{t as se}from"./ProjectScopePicker-DVHfXX1f.js";var ce={class:`employee-all-projects`,"aria-labelledby":`employee-all-projects-title`},le={class:`employee-all-projects-header`},ue={class:`employee-all-projects-heading`},de={id:`employee-all-projects-title`},fe={class:`employee-all-projects-controls`},b={class:`employee-all-projects-search`},pe=[`placeholder`],me={key:0,class:`employee-all-projects-notice`,role:`status`},he={key:1,class:`employee-all-projects-notice`,role:`status`},ge={key:2,class:`employee-all-projects-notice`,role:`status`},_e={key:3,class:`employee-all-projects-notice is-error`,role:`alert`},ve={key:4,class:`employee-all-projects-empty`},ye={key:5,class:`employee-all-projects-empty`},be={key:6,class:`employee-all-projects-empty`},xe={key:7,class:`employee-all-projects-board-shell`},Se={key:0,id:`employee-drag-instructions`,class:`visually-hidden`},Ce={class:`visually-hidden`,"aria-live":`assertive`,"aria-atomic":`true`},we=[`aria-label`],Te=[`aria-label`],Ee=[`data-drag-placeholder`,`aria-hidden`],De=[`disabled`,`aria-label`,`onClick`],Oe={class:`employee-all-projects-project`},ke={key:0,class:`employee-all-projects-summary`},x={key:1,class:`employee-all-projects-tags`,"aria-hidden":`true`},S=[`disabled`,`aria-label`,`title`,`onPointerdown`,`onKeydown`],C={class:`employee-all-projects-project`},w={key:0,class:`employee-all-projects-summary`},T=v(i({__name:`EmployeeTaskBoard`,props:{boards:{},projects:{},visibleProjectIds:{},failedProjects:{},movingItemKeys:{},actionError:{},canMoveTasks:{type:Boolean},readOnly:{type:Boolean},resettableFilter:{type:Boolean},filterStorageUnavailable:{type:Boolean}},emits:[`select-task`,`create-task`,`update:visible-project-ids`,`move-task`,`retry`,`reset-project-filter`],setup(i,{emit:v}){let y=i,T=v,E=o(``),D=o(null),O=0,k={x:0,y:0},A=o(``),j=o(null),M=null,N=0,P=[{value:`planned`,labelKey:`employees.allProjects.status.planned`},{value:`active`,labelKey:`employees.allProjects.status.active`},{value:`blocked`,labelKey:`employees.allProjects.status.blocked`},{value:`review`,labelKey:`employees.allProjects.status.review`},{value:`done`,labelKey:`employees.allProjects.status.done`}],F=s(()=>new Map(y.boards.map(({project:e})=>[e.id,e.name]))),I=s(()=>y.boards.flatMap(({items:e})=>e)),L=s(()=>{let e=E.value.trim().toLocaleLowerCase();return e?I.value.filter(t=>[t.title,t.summary,F.value.get(t.projectId),...t.tags??[]].filter(Boolean).join(` `).toLocaleLowerCase().includes(e)):I.value}),R=s(()=>P.map(e=>({...e,items:L.value.filter(({status:t})=>t===e.value)}))),z=s(()=>y.boards.filter(({truncated:e})=>e).length),Ae=s(()=>y.visibleProjectIds.length>0),je=s(()=>I.value.length>0),Me=s(()=>L.value.length>0);function B(e){return F.value.get(e)??e}function Ne(){T(`update:visible-project-ids`,y.projects.map(e=>e.id))}function V(e){return`${e.projectId}:${e.id}`}function H(e){return y.movingItemKeys?.includes(V(e))??!1}function U(e){let t=R.value.find(t=>t.value===e)?.items??[],n=j.value;if(!n||n.keyboard)return t;let r=t.filter(e=>V(e)!==V(n.item));if(n.targetStatus!==e)return r;let i=[...r];return i.splice(Math.min(n.targetIndex,i.length),0,n.item),i}function W(e){return j.value!==null&&V(j.value.item)===V(e)}function G(e){let t=P.find(t=>t.value===e);return t?c(t.labelKey):e}function Pe(e,t,n){if(e.button!==0||H(t))return;let r=e.currentTarget.closest(`.employee-all-projects-task`);if(!r)return;let i=r.getBoundingClientRect();M={item:t,sourceIndex:n,pointerId:e.pointerId,startX:e.clientX,startY:e.clientY,offsetX:e.clientX-i.left,offsetY:e.clientY-i.top,rect:i},document.addEventListener(`pointermove`,K),document.addEventListener(`pointerup`,Y),document.addEventListener(`pointercancel`,X)}function Fe(e,t){j.value={item:t.item,sourceStatus:t.item.status,sourceIndex:t.sourceIndex,targetStatus:t.item.status,targetIndex:t.sourceIndex,left:e.clientX-t.offsetX,top:e.clientY-t.offsetY,width:t.rect.width,height:t.rect.height,offsetX:t.offsetX,offsetY:t.offsetY,phase:`dragging`,duration:0,keyboard:!1},A.value=c(`employees.allProjects.dragLifted`,{task:t.item.title,status:G(t.item.status)}),document.body.classList.add(`employee-task-is-dragging`)}function K(e){let t=M;if(!(!t||e.pointerId!==t.pointerId)){if(!j.value){if(Math.hypot(e.clientX-t.startX,e.clientY-t.startY)<5)return;Fe(e,t)}!j.value||j.value.phase!==`dragging`||(e.preventDefault(),j.value.left=e.clientX-j.value.offsetX,j.value.top=e.clientY-j.value.offsetY,k={x:e.clientX,y:e.clientY},O||=requestAnimationFrame(q),J(e.clientX,e.clientY))}}function q(){if(O=0,!j.value||j.value.phase!==`dragging`||j.value.keyboard)return;let e=D.value;if(!e)return;let t=e.getBoundingClientRect(),n=(e,t,n)=>e<t+48?-Math.min(16,(t+48-e)/3):e>n-48?Math.min(16,(e-n+48)/3):0;k.y>=t.top&&k.y<=t.bottom&&(e.scrollLeft+=n(k.x,t.left,t.right));let r=document.elementsFromPoint(k.x,k.y).map(e=>e.closest(`.employee-all-projects-list`)).find(t=>t&&e.contains(t));if(r){let e=r.getBoundingClientRect();r.scrollTop+=n(k.y,e.top,e.bottom)}J(k.x,k.y),O=requestAnimationFrame(q)}function J(e,t){let n=j.value;if(!n)return;let r=document.elementsFromPoint(e,t).map(e=>e.closest(`.employee-all-projects-list`)).find(Boolean);if(!r)return;let i=r.dataset.status;if(!i||!P.some(e=>e.value===i))return;let a=[...r.querySelectorAll(`.employee-all-projects-task:not(.is-placeholder)`)],o=a.findIndex(e=>t<e.getBoundingClientRect().top+e.getBoundingClientRect().height/2);n.targetStatus=i,n.targetIndex=o<0?a.length:o}function Y(e){!M||e.pointerId!==M.pointerId||(M=null,Z(),j.value&&Q(!0))}function X(){M=null,Z(),$()}function Z(){O&&cancelAnimationFrame(O),O=0,document.removeEventListener(`pointermove`,K),document.removeEventListener(`pointerup`,Y),document.removeEventListener(`pointercancel`,X)}function Ie(e,t,n){if(H(e))return;let r=n.closest(`.employee-all-projects-task`);if(!r)return;let i=r.getBoundingClientRect();j.value={item:e,sourceStatus:e.status,sourceIndex:t,targetStatus:e.status,targetIndex:t,left:i.left,top:i.top,width:i.width,height:i.height,offsetX:0,offsetY:0,phase:`dragging`,duration:0,keyboard:!0},A.value=c(`employees.allProjects.dragLifted`,{task:e.title,status:G(e.status)})}function Le(e,t,n){let r=j.value;if(!r){if(e.key!==` `&&e.key!==`Enter`)return;e.preventDefault(),Ie(t,n,e.currentTarget);return}if(!r.keyboard||V(r.item)!==V(t))return;if(e.key===`Escape`){e.preventDefault(),$(),A.value=c(`employees.allProjects.dragCancelled`);return}if(e.key===` `||e.key===`Enter`){e.preventDefault(),Q(!1);return}let i=P.findIndex(e=>e.value===r.targetStatus);if(e.key===`ArrowLeft`||e.key===`ArrowRight`){e.preventDefault();let t=e.key===`ArrowLeft`?-1:1,n=P[Math.max(0,Math.min(P.length-1,i+t))];n&&(r.targetStatus=n.value,r.targetIndex=U(n.value).length)}else if(e.key===`ArrowUp`||e.key===`ArrowDown`)e.preventDefault(),r.targetIndex=Math.max(0,r.targetIndex+(e.key===`ArrowUp`?-1:1));else return;A.value=c(`employees.allProjects.dragMoved`,{status:G(r.targetStatus)})}async function Q(t){let n=j.value;if(!n)return;if(n.targetStatus===n.sourceStatus){$(),A.value=c(`employees.allProjects.dragCancelled`);return}if(t){await e();let t=[...document.querySelectorAll(`[data-drag-placeholder="true"]`)][0]?.getBoundingClientRect();if(t){let e=Math.hypot(t.left-n.left,t.top-n.top);n.duration=Math.round(Math.min(360,Math.max(180,180+e*.16))),n.phase=`dropping`,n.left=t.left,n.top=t.top,await new Promise(e=>{N=window.setTimeout(e,n.duration)})}}let r=n.item,i=n.targetStatus;A.value=c(`employees.allProjects.dragDropped`,{task:r.title,status:G(i)}),T(`move-task`,r,i),j.value=null,document.body.classList.remove(`employee-task-is-dragging`)}function $(){N&&window.clearTimeout(N),N=0,j.value=null,document.body.classList.remove(`employee-task-is-dragging`)}return re(()=>{Z(),$()}),(e,o)=>(r(),g(`section`,ce,[m(`header`,le,[m(`div`,ue,[m(`h2`,de,l(f(c)(`employees.allProjects.title`)),1)]),m(`div`,fe,[i.canMoveTasks?(r(),g(`button`,{key:0,class:`employee-board-create`,type:`button`,onClick:o[0]||=e=>T(`create-task`)},`+ `+l(f(c)(`employees.task.create`)),1)):u(``,!0),h(se,{class:`employee-all-projects-filter`,"model-value":i.visibleProjectIds,projects:i.projects,compact:``,"show-count":``,resettable:i.resettableFilter,label:f(c)(`employees.allProjects.projectFilter`),hint:f(c)(`employees.allProjects.projectFilterHint`),"empty-label":f(c)(`employees.allProjects.noProjectsVisible`),"onUpdate:modelValue":o[1]||=e=>T(`update:visible-project-ids`,e),onReset:o[2]||=e=>T(`reset-project-filter`)},null,8,[`model-value`,`projects`,`resettable`,`label`,`hint`,`empty-label`]),m(`label`,b,[m(`span`,null,l(f(c)(`employees.allProjects.search`)),1),n(m(`input`,{"onUpdate:modelValue":o[3]||=e=>E.value=e,type:`search`,placeholder:f(c)(`employees.allProjects.searchPlaceholder`)},null,8,pe),[[ee,E.value]])])])]),i.filterStorageUnavailable?(r(),g(`div`,me,l(f(c)(`employees.scope.storageUnavailable`)),1)):u(``,!0),i.failedProjects?(r(),g(`div`,he,[m(`span`,null,l(f(c)(`employees.allProjects.partial`,{loaded:i.boards.length,total:i.visibleProjectIds.length,failed:i.failedProjects})),1),m(`button`,{type:`button`,onClick:o[4]||=e=>T(`retry`)},l(f(c)(`employees.retry`)),1)])):u(``,!0),z.value?(r(),g(`div`,ge,l(f(c)(`employees.allProjects.truncated`,{count:z.value})),1)):u(``,!0),i.actionError?(r(),g(`div`,_e,l(i.actionError),1)):u(``,!0),Ae.value?je.value?Me.value?(r(),g(`div`,xe,[i.canMoveTasks?(r(),g(`p`,Se,l(f(c)(`employees.allProjects.dragHint`)),1)):u(``,!0),m(`p`,Ce,l(A.value),1),m(`div`,{ref_key:`boardElement`,ref:D,class:p([`employee-all-projects-board`,{"is-dragging":j.value}]),"aria-label":f(c)(`employees.allProjects.boardLabel`)},[(r(!0),g(d,null,t(R.value,e=>(r(),g(`section`,{key:e.value,class:p([`employee-all-projects-column`,{"is-drop-target":j.value?.targetStatus===e.value}])},[m(`header`,null,[m(`h3`,null,l(f(c)(e.labelKey)),1),m(`span`,{"aria-label":f(c)(`employees.allProjects.taskCount`,{count:U(e.value).length})},l(U(e.value).length),9,Te)]),h(ae,{name:`employee-task-shift`,tag:`div`,class:`employee-all-projects-list`,"data-status":e.value},{default:a(()=>[(r(!0),g(d,null,t(U(e.value),(e,n)=>(r(),g(`article`,{key:V(e),class:p([`employee-all-projects-task`,{"is-placeholder":W(e),"is-saving":H(e)}]),"data-drag-placeholder":W(e)?`true`:void 0,"aria-hidden":W(e)?`true`:void 0},[m(`button`,{type:`button`,class:`employee-all-projects-task-open`,disabled:H(e)||i.readOnly,"aria-label":f(c)(`employees.allProjects.openTask`,{project:B(e.projectId),task:e.title}),onClick:t=>T(`select-task`,e)},[m(`span`,Oe,l(B(e.projectId)),1),m(`strong`,null,l(e.title),1),e.summary&&e.summary!==e.title?(r(),g(`span`,ke,l(e.summary),1)):u(``,!0),e.tags?.length?(r(),g(`span`,x,[(r(!0),g(d,null,t(e.tags.slice(0,3),e=>(r(),g(`span`,{key:e},l(e),1))),128))])):u(``,!0)],8,De),i.canMoveTasks?(r(),g(`button`,{key:0,type:`button`,class:`employee-all-projects-drag-handle`,disabled:H(e),"aria-label":f(c)(`employees.allProjects.dragTask`,{task:e.title}),title:f(c)(`employees.allProjects.dragTask`,{task:e.title}),"aria-describedby":`employee-drag-instructions`,onPointerdown:ie(t=>Pe(t,e,n),[`stop`,`prevent`]),onKeydown:t=>Le(t,e,n)},[...o[5]||=[m(`svg`,{width:`16`,height:`16`,viewBox:`0 0 16 16`,fill:`currentColor`,"aria-hidden":`true`},[m(`circle`,{cx:`5`,cy:`4`,r:`1`}),m(`circle`,{cx:`11`,cy:`4`,r:`1`}),m(`circle`,{cx:`5`,cy:`8`,r:`1`}),m(`circle`,{cx:`11`,cy:`8`,r:`1`}),m(`circle`,{cx:`5`,cy:`12`,r:`1`}),m(`circle`,{cx:`11`,cy:`12`,r:`1`})],-1)]],40,S)):u(``,!0),H(e)?(r(),_(oe,{key:1,class:`employee-all-projects-saving`,variant:`inline`,label:f(c)(`employees.allProjects.saving`)},null,8,[`label`])):u(``,!0)],10,Ee))),128)),U(e.value).length?u(``,!0):(r(),g(`p`,{key:`${e.value}-empty`,class:`employee-all-projects-column-empty`},l(f(c)(`employees.allProjects.columnEmpty`)),1))]),_:2},1032,[`data-status`])],2))),128))],10,we)])):(r(),g(`div`,be,[m(`h3`,null,l(f(c)(`employees.allProjects.noMatch`)),1),m(`p`,null,l(f(c)(`employees.allProjects.noMatchHint`)),1)])):(r(),g(`div`,ye,[m(`h3`,null,l(f(c)(`employees.allProjects.empty`)),1),m(`p`,null,l(f(c)(`employees.allProjects.emptyHint`)),1)])):(r(),g(`div`,ve,[m(`h3`,null,l(f(c)(`employees.allProjects.noProjectsVisible`)),1),m(`p`,null,l(f(c)(`employees.allProjects.noProjectsVisibleHint`)),1),m(`button`,{type:`button`,onClick:Ne},l(f(c)(`employees.allProjects.showAllProjects`)),1)])),(r(),_(te,{to:`body`},[j.value&&!j.value.keyboard?(r(),g(`article`,{key:0,class:p([`employee-all-projects-task employee-all-projects-drag-preview`,{"is-dropping":j.value.phase===`dropping`}]),style:ne({width:`${j.value.width}px`,height:`${j.value.height}px`,"--employee-drag-x":`${j.value.left}px`,"--employee-drag-y":`${j.value.top}px`,"--employee-drop-duration":`${j.value.duration}ms`}),"aria-hidden":`true`},[m(`span`,C,l(B(j.value.item.projectId)),1),m(`strong`,null,l(j.value.item.title),1),j.value.item.summary&&j.value.item.summary!==j.value.item.title?(r(),g(`span`,w,l(j.value.item.summary),1)):u(``,!0)],6)):u(``,!0)]))]))}}),[[`__scopeId`,`data-v-f884e0f4`]]);async function E(e){let t=await y(`/employee-workspaces/jefa/${encodeURIComponent(e.id)}/api/public/${encodeURIComponent(e.slug)}`);if(t?.project?.id!==e.id||typeof t.project.name!=`string`||!Array.isArray(t.items))throw Error(`Invalid public projection`);let n=t.items.filter(e=>e&&typeof e.id==`string`&&typeof e.title==`string`&&[`planned`,`active`,`blocked`,`review`,`done`].includes(e.status)).map(t=>({id:t.id,projectId:e.id,title:t.title,status:t.status,priority:t.priority}));return{project:{id:t.project.id,name:t.project.name},items:n,total:n.length,truncated:!1}}function D(e,t){let n=new URL(`/reports/jefa`,t);return n.hash=new URLSearchParams(e.map(e=>[`p`,JSON.stringify([e.id,e.slug])])).toString(),n.href}function O(e){let t=new URLSearchParams(e.replace(/^#/,``)).getAll(`p`);if(!t.length||t.length>100)throw Error(`Invalid report scope`);let n=new Set;return t.map(e=>{let t=JSON.parse(e);if(!Array.isArray(t)||t.length!==2||typeof t[0]!=`string`||!t[0]||t[0].length>160||typeof t[1]!=`string`||!/^share-[a-zA-Z0-9-]{16,100}$/.test(t[1])||n.has(t[0]))throw Error(`Invalid report scope`);return n.add(t[0]),{id:t[0],slug:t[1]}})}export{T as i,O as n,D as r,E as t};
@@ -0,0 +1 @@
1
+ function e(e){return e&&typeof e==`object`?e:{}}function t(e,t,n){return e[t]??e[n]}function n(e,n,r){let i=t(e,n,r);return typeof i==`string`?i:null}function r(e,n,r){let i=t(e,n,r);return Array.isArray(i)&&i.every(e=>typeof e==`string`)?i:null}function i(e,n,r){let i=t(e,n,r);return typeof i==`number`&&Number.isInteger(i)&&i>=0?i:null}function a(t){if(!t||typeof t!=`object`)return null;let r=e(t),a=n(r,`source`,`source`),o=i(r,`totalTokens`,`total_tokens`);return![`executor`,`host`,`dingdong`].includes(a??``)||o===null?null:{source:a,totalTokens:o,inputTokens:i(r,`inputTokens`,`input_tokens`),outputTokens:i(r,`outputTokens`,`output_tokens`),cachedInputTokens:i(r,`cachedInputTokens`,`cached_input_tokens`),cacheWriteInputTokens:i(r,`cacheWriteInputTokens`,`cache_write_input_tokens`),reasoningOutputTokens:i(r,`reasoningOutputTokens`,`reasoning_output_tokens`)}}function o(t){if(!t||typeof t!=`object`)return null;let r=e(t),i=n(r,`application`,`application`);return[`codex`,`claude`,`claude_code`,`cursor`,`kiro`,`other`].includes(i??``)?{application:i,sessionId:n(r,`sessionId`,`session_id`),sessionUrl:n(r,`sessionUrl`,`session_url`)}:null}function s(e){return Array.isArray(e)?e:[]}function c(t){let n=e(t);return Array.isArray(t)?t:s(n.agents??n.items)}function l(r){if(!r||typeof r!=`object`)return null;let i=e(r);return{mode:n(i,`mode`,`mode`)??null,reasoningEffort:n(i,`reasoningEffort`,`reasoning_effort`)??null,capabilityHints:s(t(i,`capabilityHints`,`capability_hints`)).filter(e=>typeof e==`string`)}}function u(r){if(!r||typeof r!=`object`)return null;let i=e(r);return{enabled:typeof i.enabled==`boolean`?i.enabled:null,independentVerification:typeof t(i,`independentVerification`,`independent_verification`)==`boolean`?t(i,`independentVerification`,`independent_verification`):null,conflictFreeScopes:typeof t(i,`conflictFreeScopes`,`conflict_free_scopes`)==`boolean`?t(i,`conflictFreeScopes`,`conflict_free_scopes`):null,reason:n(i,`reason`,`reason`),workstreamBoundaries:s(t(i,`workstreamBoundaries`,`workstream_boundaries`)).filter(e=>typeof e==`string`)}}function d(r){if(!r||typeof r!=`object`)return null;let i=e(r),a=s(t(i,`allowList`,`allow_list`)).map(t=>{if(typeof t==`string`)return{executorId:t};let r=e(t);return{executorId:n(r,`executorId`,`executor_id`)??``,label:n(r,`label`,`label`),provider:n(r,`provider`,`provider`),model:n(r,`model`,`model`),client:n(r,`client`,`client`)}}).filter(({executorId:e})=>e),o=s(t(i,`lockedExecutorIds`,`locked_executor_ids`)).filter(e=>typeof e==`string`),c=s(t(i,`preferredExecutorIds`,`preferred_executor_ids`)).filter(e=>typeof e==`string`);return{mode:n(i,`mode`,`mode`)??`flexible`,allowList:a,lockedExecutorIds:o,preferredExecutorIds:c}}function f(t){if(!t||typeof t!=`object`)return null;let r=e(t),i={executor:n(r,`executor`,`executor`),provider:n(r,`provider`,`provider`)??n(r,`actualModelProvider`,`actual_model_provider`),model:n(r,`model`,`model`)??n(r,`actualModel`,`actual_model`),client:n(r,`client`,`client`)??n(r,`sourceApplication`,`source_application`),rule:n(r,`rule`,`rule`),fallback:n(r,`fallback`,`fallback`),reportedAt:n(r,`reportedAt`,`reported_at`)};return[i.executor,i.provider,i.model,i.rule,i.fallback].some(Boolean)?i:null}function p(r,i){let a=e(r),o=n(a,`personalProjectId`,`personal_project_id`),c=n(a,`assignmentId`,`assignment_id`);return!o||!c?null:{assignmentId:c,personalSpaceId:n(a,`personalSpaceId`,`personal_space_id`)??i.personalSpaceId,personalProjectId:o,agentId:n(a,`agentId`,`agent_id`)??i.agentId,responsibility:n(a,`responsibility`,`responsibility`)??i.profile.responsibility,scope:n(a,`scope`,`scope`),workKinds:s(t(a,`workKinds`,`work_kinds`)).filter(e=>typeof e==`string`),capabilities:s(a.capabilities).filter(e=>typeof e==`string`),modelStrategyOverride:l(t(a,`modelStrategyOverride`,`model_strategy_override`)),executorPolicyOverride:d(t(a,`executorPolicyOverride`,`executor_policy_override`)),reason:n(a,`reason`,`reason`),status:n(a,`status`,`status`)??`active`,revision:typeof a.revision==`number`?a.revision:void 0,sourceApplication:n(a,`sourceApplication`,`source_application`),sourceSessionId:n(a,`sourceSessionId`,`source_session_id`),assignedAt:n(a,`assignedAt`,`assigned_at`)??i.createdAt,updatedAt:n(a,`updatedAt`,`updated_at`)??i.updatedAt,endedAt:n(a,`endedAt`,`ended_at`),endReason:n(a,`endReason`,`end_reason`),replacedByAssignmentId:n(a,`replacedByAssignmentId`,`replaced_by_assignment_id`)}}function m(t){let r=e(t);return{agentId:n(r,`agentId`,`agent_id`)??``,assignmentId:n(r,`assignmentId`,`assignment_id`),role:n(r,`role`,`role`)??`collaborator`,status:n(r,`status`,`status`),assignmentSummary:n(r,`assignmentSummary`,`assignment_summary`),joinedAt:n(r,`joinedAt`,`joined_at`),updatedAt:n(r,`updatedAt`,`updated_at`),endedAt:n(r,`endedAt`,`ended_at`)}}function h(i){if(Array.isArray(i))return i.map(i=>{let s=e(i);return{agentId:n(s,`agentId`,`agent_id`),agentName:n(s,`agentName`,`agent_name`),occupationEmoji:n(s,`occupationEmoji`,`occupation_emoji`),workerId:n(s,`workerId`,`worker_id`),workerLabel:n(s,`workerLabel`,`worker_label`),workerOccupationEmoji:n(s,`workerOccupationEmoji`,`worker_occupation_emoji`),participantRole:n(s,`participantRole`,`participant_role`),executor:n(s,`executor`,`executor`),executorId:n(s,`executorId`,`executor_id`),sourceApplication:n(s,`sourceApplication`,`source_application`),sourceSessionId:n(s,`sourceSessionId`,`source_session_id`),sourceSessionUrl:n(s,`sourceSessionUrl`,`source_session_url`),workerRuntime:o(t(s,`workerRuntime`,`worker_runtime`)),toolsUsed:r(s,`toolsUsed`,`tools_used`),actualModelProvider:n(s,`actualModelProvider`,`actual_model_provider`),actualModel:n(s,`actualModel`,`actual_model`),tokenUsage:a(t(s,`tokenUsage`,`token_usage`)),workSummary:n(s,`workSummary`,`work_summary`),status:n(s,`status`,`status`)}})}function g(i){let s=e(i),c=n(s,`eventId`,`event_id`),l=n(s,`taskId`,`task_id`);if(!c||!l)return null;let u=f(t(s,`actualExecution`,`actual_execution`))??f({executor:n(s,`actualExecutor`,`actual_executor`),provider:n(s,`actualModelProvider`,`actual_model_provider`),model:n(s,`actualModel`,`actual_model`),client:n(s,`sourceApplication`,`source_application`),rule:n(s,`routingRuleId`,`routing_rule_id`)??n(s,`matchedExecutorRuleId`,`matched_executor_rule_id`),fallback:n(s,`fallbackReason`,`fallback_reason`)??n(s,`executorFallbackReason`,`executor_fallback_reason`),reportedAt:n(s,`createdAt`,`created_at`)});return{eventId:c,taskId:l,agentId:n(s,`agentId`,`agent_id`),status:n(s,`status`,`status`),actorKind:n(s,`actorKind`,`actor_kind`)??void 0,summary:n(s,`summary`,`summary`)??``,sourceApplication:n(s,`sourceApplication`,`source_application`),sourceSessionId:n(s,`sourceSessionId`,`source_session_id`),sourceSessionUrl:n(s,`sourceSessionUrl`,`source_session_url`),workerRuntime:o(t(s,`workerRuntime`,`worker_runtime`)),toolsUsed:r(s,`toolsUsed`,`tools_used`),tokenUsage:a(t(s,`tokenUsage`,`token_usage`)),actualExecution:u,actualModelProvider:n(s,`actualModelProvider`,`actual_model_provider`),actualModel:n(s,`actualModel`,`actual_model`),workerId:n(s,`workerId`,`worker_id`),workerLabel:n(s,`workerLabel`,`worker_label`),workerOccupationEmoji:n(s,`workerOccupationEmoji`,`worker_occupation_emoji`),workerStatus:n(s,`workerStatus`,`worker_status`),createdAt:n(s,`createdAt`,`created_at`)??``}}function _(r){if(!r||typeof r!=`object`)return null;let i=e(r);return{decisionId:n(i,`decisionId`,`decision_id`)??void 0,taskId:n(i,`taskId`,`task_id`)??void 0,coordinatorAgentId:n(i,`coordinatorAgentId`,`coordinator_agent_id`),complexity:(()=>{let e=t(i,`complexity`,`complexity`);return typeof e==`string`||typeof e==`number`?e:null})(),complexityBasis:s(t(i,`complexityBasis`,`complexity_basis`)).filter(e=>typeof e==`string`),outcome:n(i,`outcome`,`outcome`)??n(i,`routingOutcome`,`routing_outcome`),reason:n(i,`reason`,`reason`)??n(i,`routingReason`,`routing_reason`),matchBasis:s(t(i,`matchBasis`,`match_basis`)).filter(e=>typeof e==`string`),candidateAgentIds:s(t(i,`candidateAgentIds`,`candidate_agent_ids`)).filter(e=>typeof e==`string`),optimizationPriority:s(t(i,`optimizationPriority`,`optimization_priority`)).filter(e=>typeof e==`string`),parallelPlan:u(t(i,`parallelPlan`,`parallel_plan`)),selectedModelStrategy:l(t(i,`selectedModelStrategy`,`selected_model_strategy`)),modelStrategySource:n(i,`modelStrategySource`,`model_strategy_source`)??void 0,ruleId:n(i,`ruleId`,`rule_id`)??n(i,`matchedExecutorRuleId`,`matched_executor_rule_id`)??n(i,`executorRuleId`,`executor_rule_id`),fallback:n(i,`fallback`,`fallback`)??n(i,`fallbackReason`,`fallback_reason`)??n(i,`executorFallbackReason`,`executor_fallback_reason`)}}function v(e){return e!=null&&(typeof e!=`string`||e.length>0)&&(!Array.isArray(e)||e.length>0)}function y(e){return[`staffingIntent`,`staffing_intent`,`routingOutcome`,`routing_outcome`,`routingReason`,`routing_reason`,`routingExplanation`,`routing_explanation`,`coordinatorAgentId`,`coordinator_agent_id`,`complexity`,`complexityBasis`,`complexity_basis`,`matchBasis`,`match_basis`,`candidateAgentIds`,`candidate_agent_ids`].some(t=>v(e[t]))?_({outcome:t(e,`routingOutcome`,`routing_outcome`),reason:t(e,`routingReason`,`routing_reason`),matchBasis:t(e,`matchBasis`,`match_basis`),coordinatorAgentId:t(e,`coordinatorAgentId`,`coordinator_agent_id`),complexity:t(e,`complexity`,`complexity`),complexityBasis:t(e,`complexityBasis`,`complexity_basis`),candidateAgentIds:t(e,`candidateAgentIds`,`candidate_agent_ids`)}):null}function b(r){let i=e(r),a=n(i,`taskId`,`task_id`);if(!a)return null;let o=f(t(i,`actualExecution`,`actual_execution`))??f({executor:n(i,`actualExecutor`,`actual_executor`),provider:n(i,`actualModelProvider`,`actual_model_provider`),model:n(i,`actualModel`,`actual_model`),client:n(i,`sourceApplication`,`source_application`),rule:n(i,`routingRuleId`,`routing_rule_id`)??n(i,`matchedExecutorRuleId`,`matched_executor_rule_id`),fallback:n(i,`fallbackReason`,`fallback_reason`)??n(i,`executorFallbackReason`,`executor_fallback_reason`)}),c=_(t(i,`routingDecision`,`routing_decision`))??y(i);return{taskId:a,personalSpaceId:n(i,`personalSpaceId`,`personal_space_id`)??void 0,personalProjectId:n(i,`personalProjectId`,`personal_project_id`),title:n(i,`title`,`title`)??a,objective:n(i,`objective`,`objective`),workKind:n(i,`workKind`,`work_kind`),status:n(i,`status`,`status`),runId:n(i,`runId`,`run_id`),executionId:n(i,`executionId`,`execution_id`),ownerAgentId:n(i,`ownerAgentId`,`owner_agent_id`),leadAgentId:n(i,`leadAgentId`,`lead_agent_id`),coordinatorAgentId:n(i,`coordinatorAgentId`,`coordinator_agent_id`),hrAgentId:n(i,`hrAgentId`,`hr_agent_id`),recruitmentId:n(i,`recruitmentId`,`recruitment_id`),participants:s(i.participants).map(m),sourceApplication:n(i,`sourceApplication`,`source_application`),sourceSessionId:n(i,`sourceSessionId`,`source_session_id`),resultSummary:n(i,`resultSummary`,`result_summary`),failureReason:n(i,`failureReason`,`failure_reason`),createdAt:n(i,`createdAt`,`created_at`),updatedAt:n(i,`updatedAt`,`updated_at`),completedAt:n(i,`completedAt`,`completed_at`),effectiveModelStrategy:l(t(i,`effectiveModelStrategy`,`effective_model_strategy`)),effectiveExecutorPolicy:d(t(i,`effectiveExecutorPolicy`,`effective_executor_policy`)??t(i,`executorPolicy`,`executor_policy`)),staffingIntent:n(i,`staffingIntent`,`staffing_intent`),requiredCapabilities:s(t(i,`requiredCapabilities`,`required_capabilities`)).filter(e=>typeof e==`string`),executorCapabilityHints:s(t(i,`executorCapabilityHints`,`executor_capability_hints`)).filter(e=>typeof e==`string`),routingOutcome:n(i,`routingOutcome`,`routing_outcome`),routingReason:n(i,`routingReason`,`routing_reason`),routingExplanation:n(i,`routingExplanation`,`routing_explanation`),matchBasis:s(t(i,`matchBasis`,`match_basis`)).filter(e=>typeof e==`string`),complexity:(()=>{let e=t(i,`complexity`,`complexity`);return typeof e==`string`||typeof e==`number`?e:null})(),complexityBasis:s(t(i,`complexityBasis`,`complexity_basis`)).filter(e=>typeof e==`string`),modelStrategySource:n(i,`modelStrategySource`,`model_strategy_source`)??void 0,actualExecution:o,executionSummary:h(t(i,`executionSummary`,`execution_summary`)),routingDecision:c,events:s(i.events).map(g).filter(Boolean)}}function x(e){return e.executionSummary===void 0?(e.events??[]).filter(e=>!!(e.workerId||e.workerLabel||e.workerOccupationEmoji||e.workerStatus)):[]}function S(e){return!!(e&&(e.enabled||e.independentVerification||e.conflictFreeScopes||e.reason||e.workstreamBoundaries?.length))}function C(e){return e.actualExecution??{provider:e.actualModelProvider??null,model:e.actualModel??null,client:e.sourceApplication??null,reportedAt:e.createdAt}}export{x as _,p as a,l as c,o as d,S as f,t as g,e as h,f as i,b as l,n as m,s as n,m as o,r as p,C as r,d as s,c as t,a as u};
@@ -1 +1 @@
1
- import{O as e}from"./i18n-BkJjUsz_.js";function t(e){return typeof e==`object`||`displayName`in e||`props`in e||`__vccOpts`in e}function n(e){return e.__esModule||e[Symbol.toStringTag]===`Module`||e.default&&t(e.default)}var r=Object.assign;function i(e,t){let n={};for(let r in t){let i=t[r];n[r]=o(i)?i.map(e):e(i)}return n}var a=()=>{},o=Array.isArray;function s(e,t){let n={};for(let r in e)n[r]=r in t?t[r]:e[r];return n}var c=Symbol(``);function l(e,t){return r(Error(),{type:e,[c]:!0},t)}function u(e,t){return e instanceof Error&&c in e&&(t==null||!!(e.type&t))}var d=Symbol(``),f=Symbol(``),p=Symbol(``),m=Symbol(``),h=Symbol(``);function g(){return e(p)}function _(t){return e(m)}export{n as a,d as c,m as d,p as f,f as g,g as h,o as i,s as l,_ as m,r as n,u as o,h as p,l as r,t as s,i as t,a as u};
1
+ import{O as e}from"./i18n-BtOOoyJd.js";function t(e){return typeof e==`object`||`displayName`in e||`props`in e||`__vccOpts`in e}function n(e){return e.__esModule||e[Symbol.toStringTag]===`Module`||e.default&&t(e.default)}var r=Object.assign;function i(e,t){let n={};for(let r in t){let i=t[r];n[r]=o(i)?i.map(e):e(i)}return n}var a=()=>{},o=Array.isArray;function s(e,t){let n={};for(let r in e)n[r]=r in t?t[r]:e[r];return n}var c=Symbol(``);function l(e,t){return r(Error(),{type:e,[c]:!0},t)}function u(e,t){return e instanceof Error&&c in e&&(t==null||!!(e.type&t))}var d=Symbol(``),f=Symbol(``),p=Symbol(``),m=Symbol(``),h=Symbol(``);function g(){return e(p)}function _(t){return e(m)}export{n as a,d as c,m as d,p as f,f as g,g as h,o as i,s as l,_ as m,r as n,u as o,h as p,l as r,t as s,i as t,a as u};
@@ -1 +1 @@
1
- import{A as e,Z as t,j as n,z as r}from"./i18n-BkJjUsz_.js";var i=[`button:not([disabled])`,`input:not([disabled]):not([type="hidden"])`,`select:not([disabled])`,`textarea:not([disabled])`,`a[href]`,`[contenteditable="true"]`,`[tabindex]:not([tabindex="-1"])`].join(`,`);function a(i,a){let s=t(null),c=t(null),l=null,u=0;r(i,t=>{let n=++u;if(t){l=document.activeElement instanceof HTMLElement?document.activeElement:null,e().then(()=>{if(n!==u||!i())return;let e=s.value;e&&(e.open||e.showModal(),(c.value??o(e)[0])?.focus({preventScroll:!0}))});return}let r=s.value;r?.open&&r.close(),d(n)},{immediate:!0}),n(()=>{u+=1;let e=s.value;e?.open&&e.close();let t=l;l=null,t?.isConnected&&t.focus({preventScroll:!0})});function d(t){let n=l;l=null,e().then(()=>{t!==u||!n?.isConnected||n.focus({preventScroll:!0})})}function f(e){e.preventDefault(),a()}function p(e){if(e.key!==`Tab`)return;let t=s.value;if(!t)return;let n=o(t);if(!n.length){e.preventDefault(),t.focus({preventScroll:!0});return}let r=n[0],i=n.at(-1)??r,a=document.activeElement;e.shiftKey&&(a===r||!t.contains(a))?(e.preventDefault(),i.focus({preventScroll:!0})):!e.shiftKey&&(a===i||!t.contains(a))&&(e.preventDefault(),r.focus({preventScroll:!0}))}return{dialogRef:s,initialFocusRef:c,onCancel:f,onKeydown:p}}function o(e){return[...e.querySelectorAll(i)].filter(e=>!e.hidden&&e.getAttribute(`aria-hidden`)!==`true`)}export{a as t};
1
+ import{A as e,Z as t,j as n,z as r}from"./i18n-BtOOoyJd.js";var i=[`button:not([disabled])`,`input:not([disabled]):not([type="hidden"])`,`select:not([disabled])`,`textarea:not([disabled])`,`a[href]`,`[contenteditable="true"]`,`[tabindex]:not([tabindex="-1"])`].join(`,`);function a(i,a){let s=t(null),c=t(null),l=null,u=0;r(i,t=>{let n=++u;if(t){l=document.activeElement instanceof HTMLElement?document.activeElement:null,e().then(()=>{if(n!==u||!i())return;let e=s.value;e&&(e.open||e.showModal(),(c.value??o(e)[0])?.focus({preventScroll:!0}))});return}let r=s.value;r?.open&&r.close(),d(n)},{immediate:!0}),n(()=>{u+=1;let e=s.value;e?.open&&e.close();let t=l;l=null,t?.isConnected&&t.focus({preventScroll:!0})});function d(t){let n=l;l=null,e().then(()=>{t!==u||!n?.isConnected||n.focus({preventScroll:!0})})}function f(e){e.preventDefault(),a()}function p(e){if(e.key!==`Tab`)return;let t=s.value;if(!t)return;let n=o(t);if(!n.length){e.preventDefault(),t.focus({preventScroll:!0});return}let r=n[0],i=n.at(-1)??r,a=document.activeElement;e.shiftKey&&(a===r||!t.contains(a))?(e.preventDefault(),i.focus({preventScroll:!0})):!e.shiftKey&&(a===i||!t.contains(a))&&(e.preventDefault(),r.focus({preventScroll:!0}))}return{dialogRef:s,initialFocusRef:c,onCancel:f,onKeydown:p}}function o(e){return[...e.querySelectorAll(i)].filter(e=>!e.hidden&&e.getAttribute(`aria-hidden`)!==`true`)}export{a as t};