fuli-context 0.12.3 → 0.20.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (186) hide show
  1. package/README.zh-CN.md +1 -1
  2. package/dist/web/assets/{AboutPage-Dized8Uz.js → AboutPage-swHMgm8d.js} +1 -1
  3. package/dist/web/assets/{AgentHand-UzVhbKUC.js → AgentHand-aotYXirj.js} +1 -1
  4. package/dist/web/assets/{AgentName-DJpvkub2.js → AgentName-DaiSmFuk.js} +1 -1
  5. package/dist/web/assets/AgentProfilePage-C90Vo343.js +1 -0
  6. package/dist/web/assets/AgentsDirectoryPage-BiV0zVs4.js +1 -0
  7. package/dist/web/assets/{AgentsDirectoryPage-Cv-vxw2C.css → AgentsDirectoryPage-kc3EgeGO.css} +1 -1
  8. package/dist/web/assets/{ConnectionsPage-uXcabab_.js → ConnectionsPage-5HCXLXp3.js} +1 -1
  9. package/dist/web/assets/EmployeeRecruitDialog-C7u31qkP.js +1 -0
  10. package/dist/web/assets/EmployeeWorkbenchPage-BHBWnrcC.js +3 -0
  11. package/dist/web/assets/{KnowledgeEditDialog-HmiqLC-Y.js → KnowledgeEditDialog-D-znf44H.js} +1 -1
  12. package/dist/web/assets/{KnowledgeInspector-Cj2yK4Qh.js → KnowledgeInspector-CcU3PYaV.js} +1 -1
  13. package/dist/web/assets/{KnowledgeOrganizerPage-DT3BROZm.js → KnowledgeOrganizerPage-C9hkFZ01.js} +1 -1
  14. package/dist/web/assets/KnowledgePage-ihfSfdh0.js +1 -0
  15. package/dist/web/assets/{KnowledgeWorkspace-DA_dqVRG.js → KnowledgeWorkspace-WdcWXNSv.js} +1 -1
  16. package/dist/web/assets/{NotFoundPage-x_Yd59mm.js → NotFoundPage-CLtEdbfR.js} +1 -1
  17. package/dist/web/assets/{OverviewPage-3eZjQ26v.js → OverviewPage-CLKzau9g.js} +1 -1
  18. package/dist/web/assets/{PersonalProfilePage-CDQk096L.js → PersonalProfilePage-A02a3zQ1.js} +1 -1
  19. package/dist/web/assets/PersonalProfilePage-B0_zIINs.css +1 -0
  20. package/dist/web/assets/PersonalProjectsPage-5SDjPygh.js +1 -0
  21. package/dist/web/assets/{ProjectAgentFirstTask-BkRJ0zwO.js → ProjectAgentFirstTask-KLVInwaa.js} +1 -1
  22. package/dist/web/assets/ProjectAgentsPage-BQj_XMd1.js +12 -0
  23. package/dist/web/assets/{ProjectAgentsPage-DWGkgIsr.css → ProjectAgentsPage-VYiEOpFJ.css} +1 -1
  24. package/dist/web/assets/{ProjectScopePicker-CiDxM2Yx.js → ProjectScopePicker-Bx4uycn7.js} +1 -1
  25. package/dist/web/assets/{PublicProjectsPage-ByOT559r.js → PublicProjectsPage-C7ci4IvJ.js} +1 -1
  26. package/dist/web/assets/{ReviewPage-C0Vdr9uq.js → ReviewPage-CMAsStkm.js} +1 -1
  27. package/dist/web/assets/{RoundtablesPage-L3ShEWS3.js → RoundtablesPage-Q2wAZxkX.js} +1 -1
  28. package/dist/web/assets/SettingsPage-6FZ7_3-X.css +1 -0
  29. package/dist/web/assets/SettingsPage-CuQCjhJW.js +1 -0
  30. package/dist/web/assets/{SharedJefaReportPage-Bg6lIk3E.js → SharedJefaReportPage-DzNN_nGd.js} +1 -1
  31. package/dist/web/assets/TaskExecutionPlan-Bni76fd1.js +2 -0
  32. package/dist/web/assets/TaskExecutionPlan-CWRRp6u7.css +1 -0
  33. package/dist/web/assets/{UiButton-x8hiHNRM.js → UiButton-Dr16-h9x.js} +1 -1
  34. package/dist/web/assets/{UiDialog-mjletK0y.js → UiDialog-DBK46TV0.js} +1 -1
  35. package/dist/web/assets/{UiDisclosure-_IxeiexW.js → UiDisclosure-DwG6hxCs.js} +1 -1
  36. package/dist/web/assets/{UiSegmented-WFfz9Evl.js → UiSegmented-DiQL22Tm.js} +1 -1
  37. package/dist/web/assets/{UiSelect-K29jnV-1.js → UiSelect-Dvbk5_6n.js} +1 -1
  38. package/dist/web/assets/{WritingTastePage-DCULB-d2.js → WritingTastePage-e8gY61zu.js} +1 -1
  39. package/dist/web/assets/{agent-pins-DS4mNsNt.js → agent-pins-CU7VfdIk.js} +1 -1
  40. package/dist/web/assets/agent-profile-DTn-2VAG.css +1 -0
  41. package/dist/web/assets/{agent-work-summary-C-yW7x7A.js → agent-work-summary-DRJy9v48.js} +1 -1
  42. package/dist/web/assets/{attention-store-CA5y8j1R.js → attention-store-NDSr2coj.js} +1 -1
  43. package/dist/web/assets/avatars-z6ANYG_r.js +1 -0
  44. package/dist/web/assets/{catalog-D0VEfOAV.js → catalog-C5DYqPHn.js} +1 -1
  45. package/dist/web/assets/{client-DnwnUBQV.js → client-B9ebMaql.js} +1 -1
  46. package/dist/web/assets/{console-Cw7TzOSC.js → console-C-3WEMad.js} +1 -1
  47. package/dist/web/assets/{conversation-launcher-settings-Yc13viwr.js → conversation-launcher-settings-jiI7_YEv.js} +1 -1
  48. package/dist/web/assets/{i18n-oJFlt8hW.js → i18n-x1XkVwhW.js} +3 -3
  49. package/dist/web/assets/{identity-DSGS4CZc.js → identity-BrCgVI35.js} +1 -1
  50. package/dist/web/assets/index-DljXSFj8.js +5 -0
  51. package/dist/web/assets/index-DsExj49_.css +1 -0
  52. package/dist/web/assets/{judgment-types-DR931cZ7.js → judgment-types-DNdBT0an.js} +1 -1
  53. package/dist/web/assets/{model-BJ-UF4cs.js → model-BTpIEeuF.js} +1 -1
  54. package/dist/web/assets/{personal-profile-graph-SOK0BR0w.js → personal-profile-graph-D1xokPXQ.js} +1 -1
  55. package/dist/web/assets/project-team-api-C6rXFu15.js +1 -0
  56. package/dist/web/assets/{shared-report-CiX64ZiD.js → shared-report-00E2vwUk.js} +1 -1
  57. package/dist/web/assets/task-evidence-i9SDhd3E.js +1 -0
  58. package/dist/web/assets/tonborg-avatar-DyxAdTD6.webp +0 -0
  59. package/dist/web/assets/{useAgentRoster-B84mzZIg.js → useAgentRoster-BCx1Vft9.js} +1 -1
  60. package/dist/web/assets/{useApi-CROJJdhE-7gt0QyQ5.js → useApi-CROJJdhE-C53-85Eu.js} +1 -1
  61. package/dist/web/assets/{vue-router-CCvPGaLD.js → vue-router-DqHNZ3fU.js} +1 -1
  62. package/dist/web/index.html +17 -16
  63. package/docs/agent-conversations-and-collaboration.md +69 -1
  64. package/docs/agent-interface-architecture.md +11 -0
  65. package/docs/client-connections.md +42 -6
  66. package/docs/project-agent-memory.md +116 -1
  67. package/graph-provider/fuli_graph/agent_conversation_models.py +1 -1
  68. package/graph-provider/fuli_graph/app.py +6 -0
  69. package/graph-provider/fuli_graph/collaboration_context.py +38 -7
  70. package/graph-provider/fuli_graph/conversation_context.py +285 -25
  71. package/graph-provider/fuli_graph/default_project_lead.py +3 -2
  72. package/graph-provider/fuli_graph/models.py +3 -0
  73. package/graph-provider/fuli_graph/project_agent_access.py +6 -4
  74. package/graph-provider/fuli_graph/project_agent_context_models.py +4 -0
  75. package/graph-provider/fuli_graph/project_agent_memory_models.py +4 -4
  76. package/graph-provider/fuli_graph/project_agent_memory_routes.py +1 -1
  77. package/graph-provider/fuli_graph/project_agent_routes.py +6 -1
  78. package/graph-provider/fuli_graph/project_agent_task_models.py +41 -1
  79. package/graph-provider/fuli_graph/project_agent_work_log.py +3 -1
  80. package/graph-provider/fuli_graph/store_agent_conversations.py +26 -9
  81. package/graph-provider/fuli_graph/store_knowledge.py +6 -0
  82. package/graph-provider/fuli_graph/store_project_agent_context.py +28 -2
  83. package/graph-provider/fuli_graph/store_project_agent_memory.py +17 -7
  84. package/graph-provider/fuli_graph/store_project_agent_task_activity.py +2 -0
  85. package/graph-provider/fuli_graph/store_project_agent_task_reads.py +3 -0
  86. package/graph-provider/fuli_graph/store_project_agent_task_staffing.py +115 -31
  87. package/graph-provider/fuli_graph/store_project_agent_tasks.py +34 -8
  88. package/graph-provider/fuli_graph/store_task_contexts.py +3 -3
  89. package/graph-provider/fuli_graph/system_agents.py +27 -3
  90. package/graph-provider/fuli_graph/task_context_models.py +0 -6
  91. package/graph-provider/fuli_graph/task_notifications.py +54 -0
  92. package/graph-provider/pyproject.toml +1 -1
  93. package/npm-shrinkwrap.json +15 -2
  94. package/package.json +2 -1
  95. package/skills/capturing-session-knowledge/SKILL.md +8 -0
  96. package/src/agent-tools/agent-collaboration-definitions.js +8 -2
  97. package/src/agent-tools/agent-conversation-definitions.js +5 -5
  98. package/src/agent-tools/graph-definitions.js +4 -2
  99. package/src/agent-tools/graph-handlers.js +1 -0
  100. package/src/agent-tools/interface-catalog.js +1 -0
  101. package/src/agent-tools/interface-definitions.js +2 -2
  102. package/src/agent-tools/project-agent-definitions.js +13 -0
  103. package/src/agent-tools/project-agent-memory-definitions.js +13 -5
  104. package/src/agents/claude-code/host-notification.js +55 -0
  105. package/src/agents/claude-code/lifecycle-hook.js +31 -22
  106. package/src/agents/claude-code/session-anchors.js +128 -0
  107. package/src/agents/codex/conversation-transcript.js +2 -0
  108. package/src/agents/codex/lifecycle-hook.js +7 -9
  109. package/src/agents/codex/lifecycle-hooks.js +12 -9
  110. package/src/agents/cursor/lifecycle-hook.js +2 -3
  111. package/src/agents/directory-snapshots.js +303 -0
  112. package/src/agents/identity-receipt.js +7 -3
  113. package/src/cli/mcp-command.js +1 -2
  114. package/src/cli.js +3 -10
  115. package/src/conversations/current-task-lookup.js +2 -1
  116. package/src/conversations/guidance-file-store.js +63 -0
  117. package/src/conversations/hook-task-context.js +61 -0
  118. package/src/conversations/preference-file.js +50 -0
  119. package/src/conversations/session-delivery.js +70 -0
  120. package/src/conversations/task-context-guidance.js +57 -0
  121. package/src/conversations/task-context-view.js +70 -15
  122. package/src/conversations/task-entry-trim.js +85 -0
  123. package/src/conversations/transcript-reader.js +9 -1
  124. package/src/employees/catalog/tonborg.json +1 -1
  125. package/src/graphiti/agent-collaboration.js +125 -22
  126. package/src/graphiti/agent-conversations.js +7 -5
  127. package/src/graphiti/agent-knowledge-workflows.js +16 -3
  128. package/src/graphiti/collaboration-preference-projection.js +1 -0
  129. package/src/graphiti/collaboration-preference-workflow.js +15 -4
  130. package/src/graphiti/federated-application.js +14 -6
  131. package/src/graphiti/knowledge-item-view.js +61 -0
  132. package/src/graphiti/preference-task-scope.js +26 -0
  133. package/src/graphiti/project-agent-control-plane.js +21 -3
  134. package/src/graphiti/project-agent-mapping.js +2 -0
  135. package/src/graphiti/project-agent-memory.js +127 -7
  136. package/src/graphiti/project-agent-mention.js +2 -2
  137. package/src/graphiti/project-agent-task-entry.js +55 -19
  138. package/src/graphiti/project-agent-workflows.js +1 -0
  139. package/src/graphiti/provider-client.js +22 -7
  140. package/src/graphiti/setup.js +2 -2
  141. package/src/graphiti/task-entry-preferences.js +21 -2
  142. package/src/graphiti/task-entry-project-scope.js +10 -1
  143. package/src/graphiti/task-knowledge-recall.js +15 -2
  144. package/src/http/api-router.js +34 -1
  145. package/src/http/graph-api-router.js +11 -0
  146. package/src/http/static-handler.js +1 -1
  147. package/src/http/task-events-api-router.js +34 -0
  148. package/src/judgment/routing.js +1 -1
  149. package/src/local-runtime/lifecycle.js +1 -0
  150. package/src/mcp/agent-tool-catalog.js +14 -0
  151. package/src/mcp/create-mcp-server.js +43 -8
  152. package/src/mcp/knowledge-result-view.js +37 -0
  153. package/src/mcp/runtime.js +2 -1
  154. package/src/mcp/session-id.js +2 -0
  155. package/src/mcp/tool-annotations.js +1 -0
  156. package/src/mcp/tool-profiles.js +1 -0
  157. package/src/mcp/tool-result.js +4 -0
  158. package/src/server.js +4 -1
  159. package/src/setup/agent-installation-status.js +3 -0
  160. package/src/setup/claude-code-config.js +5 -1
  161. package/src/setup/client-connection.js +1 -1
  162. package/src/setup/graph-runtime.js +1 -1
  163. package/src/setup/installed-tool-profile.js +11 -0
  164. package/src/setup/paths.js +1 -0
  165. package/src/system/client-connection-status.js +163 -0
  166. package/src/system/main-module.js +16 -0
  167. package/src/system/settings-apply-worker.js +6 -0
  168. package/src/system/settings-apply.js +116 -0
  169. package/src/system/system-service.js +44 -5
  170. package/dist/web/assets/AgentConversations-Ccy41mEA.js +0 -2
  171. package/dist/web/assets/AgentConversations-XqNEBY_2.css +0 -1
  172. package/dist/web/assets/AgentProfilePage-CFViQ8kj.js +0 -1
  173. package/dist/web/assets/AgentsDirectoryPage-CBFTg_IE.js +0 -1
  174. package/dist/web/assets/EmployeeRecruitDialog-D8Hvhc-M.js +0 -1
  175. package/dist/web/assets/EmployeeWorkbenchPage-TBl_HNj6.js +0 -3
  176. package/dist/web/assets/KnowledgePage-C4J4VueL.js +0 -1
  177. package/dist/web/assets/PersonalProfilePage-DrMDAAdy.css +0 -1
  178. package/dist/web/assets/PersonalProjectsPage-CJxp4Wyz.js +0 -1
  179. package/dist/web/assets/ProjectAgentsPage-BuNNqSEy.js +0 -12
  180. package/dist/web/assets/SettingsPage-BE8pWbI6.css +0 -1
  181. package/dist/web/assets/SettingsPage-McYuinGz.js +0 -1
  182. package/dist/web/assets/agent-profile-Bh3MJGvb.css +0 -1
  183. package/dist/web/assets/index-BfHCcUL2.css +0 -1
  184. package/dist/web/assets/index-DuxXKFrR.js +0 -5
  185. package/dist/web/assets/project-team-api-C_0qJk_B.js +0 -1
  186. package/dist/web/assets/task-evidence-DTiPCs7r.js +0 -1
@@ -1 +1 @@
1
- import{a as e}from"./i18n-oJFlt8hW.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-x1XkVwhW.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,5 @@
1
+ const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/SharedJefaReportPage-DzNN_nGd.js","assets/i18n-x1XkVwhW.js","assets/client-B9ebMaql.js","assets/_plugin-vue_export-helper-BDNMzG2s.js","assets/client-CIuQ1icy.css","assets/useApi-CROJJdhE-C53-85Eu.js","assets/shared-report-00E2vwUk.js","assets/ProjectScopePicker-Bx4uycn7.js","assets/ProjectScopePicker-DYA7L1Ex.css","assets/shared-report-CGlCpmNd.css","assets/SharedJefaReportPage-D92FSPru.css","assets/RoundtablesPage-Q2wAZxkX.js","assets/vue-router-DqHNZ3fU.js","assets/RoundtablesPage-Drou-B81.css","assets/OverviewPage-CLKzau9g.js","assets/console-C-3WEMad.js","assets/attention-store-NDSr2coj.js","assets/profile-model-BQO4zNs9.js","assets/useAgentRoster-BCx1Vft9.js","assets/task-evidence-i9SDhd3E.js","assets/paths-CDREouhi.js","assets/agent-work-summary-DRJy9v48.js","assets/OverviewPage-8LBN8Shi.css","assets/PersonalProfilePage-A02a3zQ1.js","assets/UiButton-Dr16-h9x.js","assets/UiDialog-DBK46TV0.js","assets/UiSelect-Dvbk5_6n.js","assets/UiSelect-Bv6R0yr1.css","assets/UiSegmented-DiQL22Tm.js","assets/KnowledgeInspector-CcU3PYaV.js","assets/UiDisclosure-DwG6hxCs.js","assets/model-BTpIEeuF.js","assets/conversation-launcher-settings-jiI7_YEv.js","assets/KnowledgeInspector-pgDELOEf.css","assets/KnowledgeEditDialog-D-znf44H.js","assets/identity-BrCgVI35.js","assets/KnowledgeEditDialog-hT9znkoe.css","assets/personal-profile-graph-D1xokPXQ.js","assets/PersonalProfilePage-B0_zIINs.css","assets/WritingTastePage-e8gY61zu.js","assets/WritingTastePage-B_zYD1df.css","assets/PersonalProjectsPage-5SDjPygh.js","assets/KnowledgeWorkspace-WdcWXNSv.js","assets/AgentName-DaiSmFuk.js","assets/AgentName-BQTFCWn0.css","assets/project-team-api-C6rXFu15.js","assets/KnowledgeWorkspace-D4a7FcAb.css","assets/KnowledgeOrganizerPage-C9hkFZ01.js","assets/KnowledgeOrganizerPage-ccgscrPd.css","assets/AgentsDirectoryPage-BiV0zVs4.js","assets/AgentHand-aotYXirj.js","assets/AgentHand-Y83Oo36U.css","assets/avatars-z6ANYG_r.js","assets/agent-pins-CU7VfdIk.js","assets/catalog-C5DYqPHn.js","assets/ProjectAgentFirstTask-KLVInwaa.js","assets/ProjectAgentFirstTask-Bi1ZsTC1.css","assets/EmployeeRecruitDialog-C7u31qkP.js","assets/EmployeeRecruitDialog-CVbqCzHb.css","assets/AgentsDirectoryPage-kc3EgeGO.css","assets/agent-profile-DTn-2VAG.css","assets/AgentProfilePage-C90Vo343.js","assets/TaskExecutionPlan-Bni76fd1.js","assets/TaskExecutionPlan-CWRRp6u7.css","assets/ProjectAgentsPage-BQj_XMd1.js","assets/ProjectAgentsPage-VYiEOpFJ.css","assets/EmployeeWorkbenchPage-BHBWnrcC.js","assets/judgment-types-DNdBT0an.js","assets/EmployeeWorkbenchPage-BQes4L1f.css","assets/PublicProjectsPage-C7ci4IvJ.js","assets/PublicProjectsPage-DKamXDV9.css","assets/KnowledgePage-ihfSfdh0.js","assets/ReviewPage-CMAsStkm.js","assets/ConnectionsPage-5HCXLXp3.js","assets/ConnectionsPage-CM9C-zEI.css","assets/SettingsPage-CuQCjhJW.js","assets/SettingsPage-6FZ7_3-X.css","assets/AboutPage-swHMgm8d.js","assets/fuli-logo-Bu9WBuQe.js","assets/AboutPage-c4dQpUiP.css","assets/NotFoundPage-CLtEdbfR.js"])))=>i.map(i=>d[i]);
2
+ import{B as e,E as t,F as n,H as r,I as i,M as a,N as o,P as s,Q as c,R as l,S as u,T as d,V as f,_ as p,a as m,b as h,c as g,et as _,g as v,h as y,i as b,it as x,j as S,m as C,n as w,ot as T,r as E,rt as D,t as O,v as k,w as A,x as j,y as M}from"./i18n-x1XkVwhW.js";import{n as N,t as ee}from"./console-C-3WEMad.js";import{r as P,s as F}from"./client-B9ebMaql.js";import{t as I}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as L}from"./UiButton-Dr16-h9x.js";import{m as R}from"./useApi-CROJJdhE-C53-85Eu.js";import{i as z,n as te,r as ne,t as B}from"./vue-router-DqHNZ3fU.js";import{t as V}from"./fuli-logo-Bu9WBuQe.js";import{t as H}from"./UiDialog-DBK46TV0.js";import{t as re}from"./UiSelect-Dvbk5_6n.js";import{n as ie,t as ae}from"./attention-store-NDSr2coj.js";import{t as U}from"./AgentHand-aotYXirj.js";import{t as W}from"./UiDisclosure-DwG6hxCs.js";import{t as G}from"./avatars-z6ANYG_r.js";import{n as oe,t as K}from"./profile-model-BQO4zNs9.js";import{t as se}from"./useAgentRoster-BCx1Vft9.js";import{i as ce,n as le,r as q,t as ue}from"./agent-pins-CU7VfdIk.js";import{n as de,t as fe}from"./paths-CDREouhi.js";(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var J={name:`fuli-context`,version:`0.20.0-beta.0`,description:`Local-first collaboration relationship graph for AI agents.`,type:`module`,files:[`README.zh-CN.md`,`npm-shrinkwrap.json`,`src/`,`dist/web/`,`docs/external-knowledge-architecture.md`,`docs/public-personal-architecture.md`,`docs/project-agent-memory.md`,`docs/agent-conversations-and-collaboration.md`,`docs/employee-agents.md`,`docs/agent-interface-architecture.md`,`docs/agent-roundtable.md`,`examples/external-knowledge/markdown-folder.mjs`,`graph-provider/Dockerfile`,`graph-provider/pyproject.toml`,`graph-provider/fuli_graph/*.py`,`graph-provider/fuli_graph/**/*.py`,`skills/`,`compose.graphiti.yml`,`docs/judgment-and-autonomy.md`,`docs/client-connections.md`],bin:{fl:`src/cli.js`,fuli:`src/cli.js`},keywords:[`ai-agent`,`mcp`,`context`,`knowledge-graph`,`local-first`,`codex`,`claude-code`],scripts:{mcp:`node src/mcp-server.js`,dev:`run-p dev:server dev:web`,"dev:server":`node src/server.js`,"dev:web":`vite`,build:`run-s typecheck:web build:web`,"build:web":`vite build`,"build:site":`node scripts/build-site.js`,"typecheck:web":`vue-tsc --noEmit -p tsconfig.app.json`,"test:node":`node --test`,"test:web":`vitest run --config vitest.config.ts`,"test:package":`node scripts/package-smoke.js`,"test:knowledge:live":`node acceptance/knowledge-live.js`,"test:external-knowledge:live":`node scripts/validate-external-knowledge-live.js`,start:`node src/server.js`,"graph:setup":`node src/graphiti/setup.js`,"graph:up":`docker compose -f compose.graphiti.yml up -d --build`,"graph:down":`docker compose -f compose.graphiti.yml down`,"test:structure":`node --test test/source-structure.test.js`,pretest:`npm run build:web`,test:`run-s typecheck:web test:node test:web`,prepack:`npm run build`,prepublishOnly:`npm test`},engines:{node:`>=24.12`},repository:{type:`git`,url:`git+https://github.com/JevonsCode/fuli.git`},homepage:`https://jevonscode.github.io/fuli/`,bugs:{url:`https://github.com/JevonsCode/fuli/issues`},publishConfig:{access:`public`},license:`Apache-2.0`,dependencies:{"@a2a-js/sdk":`1.3.0`,"@hono/node-server":`2.0.12`,"@modelcontextprotocol/sdk":`^1.31.0`,"@peculiar/x509":`2.1.0`,"reflect-metadata":`0.2.2`,"smol-toml":`1.9.1`,zod:`^4.4.3`},devDependencies:{"@types/d3":`^7.4.3`,"@types/node":`^24.13.3`,"@vitejs/plugin-vue":`^6.0.8`,"@vue/test-utils":`^2.4.11`,"brace-expansion":`5.0.12`,d3:`^7.9.0`,jsdom:`^29.1.1`,linkedom:`^0.18.12`,"npm-run-all2":`^9.0.2`,pinia:`^4.0.2`,typescript:`~6.0.0`,vite:`^8.1.5`,vitest:`^4.1.10`,vue:`^3.5.42`,"vue-i18n":`^11.4.8`,"vue-router":`^5.2.0`,"vue-tsc":`^3.3.8`},overrides:{"@modelcontextprotocol/sdk":{"@hono/node-server":`2.0.12`},"brace-expansion":`$brace-expansion`,"fast-uri":`3.1.8`,qs:`6.16.0`}}.version,pe=[`aria-label`],Y={class:`brand-mark-wrap`},me=[`src`],he={class:`brand-copy`},ge={class:`brand-title-row`},_e={class:`brand-name`},ve=[`aria-label`,`aria-expanded`],ye={class:`brand-version`},be={key:1,class:`brand-version`},xe={class:`brand-title-row`},Se={class:`brand-name`},Ce={class:`brand-version`},we=[`aria-label`],Te=[`href`],Ee=I(t({__name:`BrandEasterEgg`,setup(e){let t=c(null),n=c(null),r=c(0),i=c(!1),l=c(!1),d=c(!1),f=c(null),p=k(()=>f.value?.status===`ready`&&f.value.updateAvailable&&!!f.value.latestVersion),h=k(()=>f.value?.latestVersion??``),g=k(()=>f.value?.packageUrl??`https://www.npmjs.com/package/fuli-context`),_=new AbortController,v=!1;function b(){r.value+=1,i.value=!0}function C(){i.value=!1}function w(){p.value&&(d.value=!d.value)}function E(e){v=!1,l.value=!1,d.value&&!t.value?.contains(e.target)&&(d.value=!1)}function O(e){e.key===`Tab`&&(v=!0),e.key===`Escape`&&d.value&&(e.preventDefault(),d.value=!1,S(()=>n.value?.focus()))}function A(){l.value=v}function N(){l.value=!1}return o(()=>{window.addEventListener(`pointerdown`,E,!0),window.addEventListener(`keydown`,O,!0),P(`/api/system/version`,{signal:_.signal}).then(e=>{f.value=e}).catch(()=>{})}),a(()=>{_.abort(),window.removeEventListener(`pointerdown`,E,!0),window.removeEventListener(`keydown`,O,!0)}),(e,a)=>(s(),u(`div`,{ref_key:`root`,ref:t,class:x([`brand-block`,{"is-sparkling":i.value,"is-keyboard-focused":l.value}])},[M(`button`,{class:`brand-effect-button`,type:`button`,"aria-label":D(m)(`console.brandEffect.aria`),onClick:b,onFocus:A,onBlur:N},[M(`span`,Y,[M(`img`,{class:`brand-mark`,src:D(V),alt:``,"aria-hidden":`true`},null,8,me),i.value?(s(),u(`span`,{key:`orbit-${r.value}`,class:`brand-orbit`,"aria-hidden":`true`})):j(``,!0)])],40,pe),M(`span`,he,[M(`span`,ge,[M(`span`,_e,T(D(m)(`common.brand`)),1),p.value?(s(),u(`button`,{key:0,ref_key:`versionButton`,ref:n,class:`brand-version-button`,type:`button`,"aria-label":D(m)(`console.update.aria`,{version:h.value}),"aria-expanded":d.value,"aria-controls":`brand-update-details`,onClick:w},[M(`span`,ye,`v`+T(D(J)),1),a[0]||=M(`span`,{class:`brand-update-dot`,"aria-hidden":`true`},null,-1)],8,ve)):(s(),u(`span`,be,`v`+T(D(J)),1))]),a[1]||=M(`span`,{class:`brand-subtitle`},`Context Graph`,-1),i.value?(s(),u(`span`,{key:`copy-reflection-${r.value}`,class:`brand-copy-reflection`,"aria-hidden":`true`,onAnimationend:y(C,[`self`])},[M(`span`,xe,[M(`span`,Se,T(D(m)(`common.brand`)),1),M(`span`,Ce,`v`+T(D(J)),1)])],32)):j(``,!0)]),d.value?(s(),u(`div`,{key:0,id:`brand-update-details`,class:`brand-update-popover`,role:`dialog`,"aria-label":D(m)(`console.update.title`,{version:h.value})},[M(`strong`,null,T(D(m)(`console.update.title`,{version:h.value})),1),M(`p`,null,T(D(m)(`console.update.copy`)),1),a[2]||=M(`code`,null,`fuli update --yes`,-1),M(`a`,{href:g.value,target:`_blank`,rel:`noopener noreferrer`},T(D(m)(`console.update.npmLink`)),9,Te)],8,we)):j(``,!0)],2))}}),[[`__scopeId`,`data-v-68727ec7`]]),De=[`aria-label`],Oe=[`lang`,`aria-label`,`aria-pressed`,`onClick`],ke=t({__name:`LocaleSwitcher`,setup(e){let t=k(()=>w()),n={"zh-CN":`中`,"en-US":`EN`};function r(e){e!==t.value&&b(e)}return(e,a)=>(s(),u(`div`,{class:`locale-switcher`,role:`group`,"aria-label":D(m)(`common.language.label`)},[(s(!0),u(v,null,i(D(O),e=>(s(),u(`button`,{key:e,type:`button`,lang:e,"aria-label":D(m)(e===`zh-CN`?`common.language.chinese`:`common.language.english`),"aria-pressed":t.value===e,onClick:t=>r(e)},T(n[e]),9,Oe))),128))],8,De))}}),X=_(null);function Ae(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 je={key:0,class:`navigation-recovery`,role:`alert`},Me=[`href`],Ne=I(t({__name:`NavigationRecovery`,setup(e){return(e,t)=>D(X)?(s(),u(`div`,je,[M(`div`,null,[M(`strong`,null,T(D(m)(`routes.loadFailure.title`)),1),M(`p`,null,T(D(m)(D(X).resourceFailure?`routes.loadFailure.resources`:`routes.loadFailure.message`)),1)]),M(`a`,{href:D(X).href,class:`quiet-button`},T(D(m)(`routes.loadFailure.reload`)),9,Me),M(`button`,{type:`button`,class:`navigation-recovery-dismiss`,onClick:t[0]||=e=>X.value=null},T(D(m)(`routes.loadFailure.dismiss`)),1)])):j(``,!0)}}),[[`__scopeId`,`data-v-d154c242`]]);function Pe(e){let t=e.requestedAction.split(`
3
+ `).map(e=>e.trim()).filter(e=>/^[A-F][.、))::]\s*\S/.test(e));return/(?:选择|选项|choose|select|options?|pick)/iu.test(e.requestedAction)&&t.length>=2&&t.every((e,t)=>e[0]===String.fromCharCode(65+t))?t.map((e,t)=>({id:`option-${t}`,label:e,value:e})):({approval:[`agree`,`decline`],review:[`accept`,`revise`],permission:[`agree`,`decline`],blocked:[`resolved`,`clarify`],question:[`clarify`]}[e.kind]??[`clarify`]).map(e=>({id:e,label:m(`attention.replies.${e}`),value:m(`attention.replies.${e}`)}))}function Fe(e,t,n){if(e===`other`)return t.trim();let r=n.find(t=>t.id===e);return r?[r.value,t.trim()].filter(Boolean).join(`
4
+
5
+ `):``}var Ie={class:`attention-question`},Le={class:`attention-context`},Re=[`disabled`],ze=[`name`,`value`,`checked`,`onChange`],Be=[`name`,`checked`],Ve={class:`attention-input`},He=[`for`],Ue=[`id`,`value`,`required`,`disabled`,`placeholder`],We={key:0,role:`alert`,class:`inline-error attention-response-error`},Ge={key:1,role:`alert`,class:`inline-error`},Ke={class:`attention-submit`},qe=[`disabled`],Je={key:1},Ye=I(t({__name:`AttentionReply`,props:{item:{},modelValue:{},busy:{type:Boolean},refreshing:{type:Boolean},error:{}},emits:[`update:modelValue`,`submit`],setup(e,{emit:t}){let n=e,a=t,o=k(()=>Pe(n.item)),c=k(()=>Fe(n.modelValue.choice,n.modelValue.text,o.value));function l(e){a(`update:modelValue`,{...n.modelValue,...e})}function d(){!n.busy&&!n.refreshing&&c.value&&c.value.length<=4096&&a(`submit`,c.value)}return(t,n)=>(s(),u(`form`,{class:`attention-reply`,onSubmit:y(d,[`prevent`])},[M(`div`,Ie,[M(`h3`,null,T(e.item.title),1),M(`p`,null,T(e.item.requestedAction),1)]),(s(),h(W,{key:e.item.requestId,title:D(m)(`attention.context`)},{default:r(()=>[M(`p`,Le,T(e.item.detail),1)]),_:1},8,[`title`])),M(`fieldset`,{disabled:e.busy||e.refreshing,class:`attention-choices`},[M(`legend`,null,T(D(m)(`attention.chooseReply`)),1),(s(!0),u(v,null,i(o.value,t=>(s(),u(`label`,{key:t.id,class:x([`attention-choice`,{"is-selected":e.modelValue.choice===t.id}])},[M(`input`,{type:`radio`,name:`reply-${e.item.requestId}`,value:t.id,checked:e.modelValue.choice===t.id,onChange:e=>l({choice:t.id})},null,40,ze),M(`span`,null,T(t.label),1)],2))),128)),M(`label`,{class:x([`attention-choice`,{"is-selected":e.modelValue.choice===`other`}])},[M(`input`,{type:`radio`,name:`reply-${e.item.requestId}`,value:`other`,checked:e.modelValue.choice===`other`,onChange:n[0]||=e=>l({choice:`other`})},null,40,Be),M(`span`,null,T(D(m)(`attention.other`)),1)],2)],8,Re),M(`div`,Ve,[M(`label`,{for:`attention-${e.item.requestId}`},T(e.modelValue.choice===`other`?D(m)(`attention.response`):D(m)(`attention.note`)),9,He),M(`textarea`,{id:`attention-${e.item.requestId}`,value:e.modelValue.text,rows:`3`,maxlength:`4096`,required:e.modelValue.choice===`other`,disabled:e.busy||e.refreshing,placeholder:D(m)(`attention.placeholder`),onInput:n[1]||=t=>l({text:t.target.value,choice:e.modelValue.choice||`other`})},null,40,Ue)]),e.error?(s(),u(`p`,We,T(e.error),1)):j(``,!0),c.value.length>4096?(s(),u(`p`,Ge,T(D(m)(`attention.tooLong`)),1)):j(``,!0),M(`div`,Ke,[M(`p`,null,T(D(m)(`attention.replyHint`)),1),M(`button`,{type:`submit`,class:`primary-action`,disabled:e.busy||e.refreshing||!c.value||c.value.length>4096},[e.busy?(s(),h(F,{key:0,variant:`inline`,label:D(m)(`attention.sending`)},null,8,[`label`])):(s(),u(`span`,Je,T(D(m)(`attention.send`)),1))],8,qe)])],32))}}),[[`__scopeId`,`data-v-6b64bc2c`]]),Xe=[`aria-label`],Ze={class:`attention-nav-status`},Qe=[`title`],$e={key:0,role:`alert`,class:`attention-error`},et={key:2,class:`attention-empty`},tt=[`aria-busy`],nt=[`aria-label`],rt={class:`attention-queue-toolbar`},it={class:`attention-request-list`},at=[`aria-current`,`disabled`,`onClick`],ot={class:`attention-request-meta`},st={class:`attention-request-project`},ct={class:`attention-detail-meta`},lt={class:`ui-badge`},ut=[`href`],dt=t({__name:`AgentAttentionCenter`,props:{personalSpaceId:{},projects:{}},setup(t){let n=t,l=ie(),f=c({}),g=c({}),_=c(``),y=c(``),b=0,S=c({}),C=k(()=>S.value[_.value]??``),w=k(()=>l.items.find(e=>e.requestId===_.value)),E=k({get:()=>g.value[_.value]??{choice:``,text:``},set:e=>{w.value&&(g.value[_.value]={...e,revision:w.value.revision})}}),O=k(()=>new Map(n.projects.map(e=>[e.project_id,e.profile.name]))),N=k(()=>l.agentId?l.counts[l.agentId]??l.filteredTotal:l.total),ee=k(()=>l.items.map(e=>({value:e.requestId,label:e.title,meta:`${f.value[e.agentId]||m(`attention.agentFallback`)} · ${O.value.get(e.personalProjectId)||m(`attention.projectFallback`)}`})));e(()=>n.personalSpaceId,e=>{b++,y.value=``,f.value={},g.value={},_.value=``,S.value={},l.setSpace(e===`current`?``:e)},{immediate:!0}),e(()=>l.open,async e=>{if(!e)return;let t=l.spaceId;try{let e=await P(`/api/project-agents?${new URLSearchParams({personalSpaceId:t})}`);t===l.spaceId&&(f.value=Object.fromEntries(e.map(e=>[e.agentId,e.profile.displayName||e.profile.name])))}catch{}}),e(()=>l.items,e=>{e.some(e=>e.requestId===_.value)||(_.value=e[0]?.requestId??``);for(let t of e){let e=g.value[t.requestId];e&&e.revision!==t.revision&&(g.value[t.requestId]={choice:``,text:e.text,revision:t.revision},S.value[t.requestId]=m(`attention.updated`))}});let I;function R(){document.visibilityState===`visible`&&!l.loading&&!l.open&&l.refresh()}o(()=>{I=setInterval(R,3e4),document.addEventListener(`visibilitychange`,R)}),a(()=>{clearInterval(I),document.removeEventListener(`visibilitychange`,R),l.setSpace(``)});async function z(e,t){if(y.value||!t.trim()||t.length>4096)return;let n=l.spaceId,r=++b;y.value=e.requestId,delete S.value[e.requestId];try{await l.respond(e,t),r===b&&n===l.spaceId&&delete g.value[e.requestId]}catch(t){r===b&&n===l.spaceId&&(S.value[e.requestId]=t instanceof Error?t.message:String(t),await l.refresh())}finally{r===b&&(y.value=``)}}return(e,t)=>(s(),u(v,null,[M(`button`,{class:`space-nav-button attention-nav`,"aria-label":D(l).total?`${D(m)(`attention.title`)} · ${D(m)(`attention.count`,{count:D(l).total})}`:D(m)(`attention.title`),type:`button`,onClick:t[0]||=e=>D(l).show()},[t[9]||=M(`span`,{class:`nav-icon nav-icon-review`,"aria-hidden":`true`},null,-1),M(`span`,null,T(D(m)(`attention.title`)),1),M(`span`,Ze,[d(U,{passive:``,"count-only":``}),D(l).error?(s(),u(`span`,{key:0,title:D(m)(`attention.loadError`)},`!`,8,Qe)):j(``,!0)])],8,Xe),(s(),h(p,{to:`body`},[d(H,{open:D(l).open,class:`attention-dialog`,size:`xl`,busy:!!y.value,title:D(m)(`attention.title`),description:N.value?D(m)(`attention.count`,{count:N.value}):void 0,onClose:t[8]||=e=>D(l).open=!1},{default:r(()=>[D(l).error?(s(),u(`div`,$e,[M(`span`,null,T(D(m)(`attention.loadError`)),1),d(L,{size:`sm`,disabled:D(l).loading,onClick:t[1]||=e=>D(l).refresh()},{default:r(()=>[A(T(D(m)(`attention.refresh`)),1)]),_:1},8,[`disabled`])])):j(``,!0),D(l).loading&&!D(l).items.length?(s(),h(F,{key:1,variant:`page`,label:D(m)(`attention.loading`)},null,8,[`label`])):!D(l).items.length&&!D(l).error?(s(),u(`div`,et,[t[10]||=M(`span`,{"aria-hidden":`true`},`✓`,-1),M(`p`,null,T(D(m)(`attention.empty`)),1)])):D(l).items.length?(s(),u(`div`,{key:3,class:`attention-workspace`,"aria-busy":D(l).loading},[M(`aside`,{class:`attention-queue`,"aria-label":D(m)(`attention.queue`)},[M(`div`,rt,[M(`span`,null,T(D(l).agentId?f.value[D(l).agentId]||D(m)(`attention.agentFallback`):D(m)(`attention.all`)),1),D(l).agentId||!D(l).error?(s(),h(L,{key:0,size:`sm`,variant:`ghost`,disabled:D(l).loading||!!y.value,onClick:t[2]||=e=>D(l).agentId?D(l).show():D(l).refresh()},{default:r(()=>[A(T(D(l).agentId?D(m)(`attention.all`):D(m)(`attention.refresh`)),1)]),_:1},8,[`disabled`])):j(``,!0)]),d(re,{modelValue:_.value,"onUpdate:modelValue":t[3]||=e=>_.value=e,class:`attention-mobile-picker`,field:``,label:D(m)(`attention.selectRequest`),options:ee.value,disabled:!!y.value},null,8,[`modelValue`,`label`,`options`,`disabled`]),M(`div`,it,[(s(!0),u(v,null,i(D(l).items,e=>(s(),u(`button`,{key:e.requestId,type:`button`,class:x([`attention-request`,{"is-selected":_.value===e.requestId}]),"aria-current":_.value===e.requestId?`true`:void 0,disabled:!!y.value,onClick:t=>_.value=e.requestId},[M(`span`,ot,[A(T(f.value[e.agentId]||D(m)(`attention.agentFallback`)),1),M(`span`,null,T(D(m)(`attention.kinds.${e.kind}`)),1)]),M(`strong`,null,T(e.title),1),M(`span`,st,T(O.value.get(e.personalProjectId)||D(m)(`attention.projectFallback`)),1)],10,at))),128))]),D(l).items.length<D(l).filteredTotal?(s(),h(L,{key:0,class:`attention-more`,disabled:D(l).loading||!!y.value,onClick:t[4]||=e=>D(l).more()},{default:r(()=>[A(T(D(m)(`attention.more`)),1)]),_:1},8,[`disabled`])):j(``,!0)],8,nt),w.value?(s(),u(`section`,{key:w.value.requestId,class:`attention-detail`},[M(`div`,ct,[M(`span`,null,T(f.value[w.value.agentId]||D(m)(`attention.agentFallback`))+` · `+T(O.value.get(w.value.personalProjectId)||D(m)(`attention.projectFallback`)),1),M(`span`,lt,T(D(m)(`attention.kinds.${w.value.kind}`)),1)]),d(Ye,{modelValue:E.value,"onUpdate:modelValue":t[5]||=e=>E.value=e,item:w.value,busy:y.value===w.value.requestId,refreshing:D(l).loading,error:C.value,onSubmit:t[6]||=e=>z(w.value,e)},null,8,[`modelValue`,`item`,`busy`,`refreshing`,`error`]),w.value.taskId&&!y.value?(s(),u(`a`,{key:0,class:`attention-task-link`,href:D(ae)(w.value),onClick:t[7]||=e=>D(l).open=!1},T(D(m)(`attention.task`))+` ↗`,9,ut)):j(``,!0)])):j(``,!0)],8,tt)):j(``,!0)]),_:1},8,[`open`,`busy`,`title`,`description`])]))],64))}}),ft={key:0,class:`pinned-agents-nav`,"aria-labelledby":`pinned-agents-heading`},pt={class:`pinned-agents-heading-row`},mt={id:`pinned-agents-heading`,class:`pinned-agents-heading`},ht={class:`pinned-agents-list`},gt={class:`pinned-agent-portrait`,"aria-hidden":`true`},_t=[`src`],vt={class:`pinned-agent-name`},yt={key:1,class:`pinned-agents-error`,role:`alert`},bt=I(t({__name:`PinnedAgentsNav`,props:{spaceId:{},agents:{},pinnedAgentIds:{},loading:{type:Boolean},rosterLoading:{type:Boolean},error:{}},emits:[`retry`],setup(e,{emit:t}){let n=e,a=t,o=k(()=>n.pinnedAgentIds.map(e=>n.agents.find(t=>t.agentId===e)).filter(e=>!!e));function c(e,t){return q(e,t)}let l=k(()=>c(`navigation.title`,`pin`)),f=k(()=>c(`loading`,`Reading pinned Agents…`)),p=k(()=>m(`agentProfiles.loading`)),g=k(()=>c(`retry`,`Retry`)),_=k(()=>n.loading||!!n.rosterLoading);return(t,c)=>(s(),u(v,null,[e.spaceId&&o.value.length?(s(),u(`section`,ft,[M(`div`,pt,[M(`h2`,mt,T(l.value),1),_.value&&o.value.length?(s(),h(F,{key:0,variant:`inline`,label:n.rosterLoading&&!n.loading?p.value:f.value},null,8,[`label`])):j(``,!0)]),M(`ul`,ht,[(s(!0),u(v,null,i(o.value,t=>(s(),u(`li`,{key:t.agentId},[d(D(B),{class:`pinned-agent-nav`,to:D(oe)(e.spaceId,t.agentId),"aria-label":`${D(K)(t)} · ${D(m)(`agentProfiles.profile`)}`},{default:r(()=>[M(`span`,gt,[D(G)(t.agentId)?(s(),u(`img`,{key:0,src:D(G)(t.agentId),alt:``},null,8,_t)):(s(),u(v,{key:1},[A(T(t.profile.occupationEmoji||D(K)(t).slice(0,1)),1)],64))]),M(`span`,vt,T(D(K)(t)),1)]),_:2},1032,[`to`,`aria-label`])]))),128))])])):j(``,!0),e.spaceId&&e.error?(s(),u(`div`,yt,[M(`span`,null,T(e.error),1),M(`button`,{class:`quiet-button`,type:`button`,onClick:c[0]||=e=>a(`retry`)},T(g.value),1)])):j(``,!0)],64))}}),[[`__scopeId`,`data-v-11f0099d`]]),xt=[`routes.`,`common.`,`employees.`,`agentProfiles.`];function St(e,t=``){let n=typeof e==`string`&&e?e:t;return xt.some(e=>n.startsWith(e))?m(n):n}function Ct(e){if(typeof document>`u`)return;let t=St(e,`routes.overview.title`);document.title=`${t} · ${m(`common.brand`)}`}var wt={class:`app-shell`},Tt=[`onKeydown`],Et=[`aria-label`,`title`],Dt=[`aria-label`],Ot={class:`nav-label`},kt={class:`nav-label`},At={class:`nav-label`},jt={class:`nav-label`},Mt={class:`nav-label`},Nt={class:`nav-label`},Pt={class:`nav-section-label`},Ft={class:`nav-label`},It={class:`nav-label`},Lt={class:`nav-label`},Rt={class:`nav-label`},zt={class:`nav-label`},Bt={class:`nav-label`},Vt={class:`sidebar-foot`},Ht=[`aria-label`],Ut={class:`runtime-status`},Wt={class:`service-details`},Gt={class:`runtime-status`},Kt=[`aria-label`],qt=[`inert`],Jt=[`aria-expanded`,`aria-label`],Yt={key:0,class:`workbench-host-label`},Xt={key:1,class:`topbar-heading`},Zt=[`role`,`aria-live`],Qt=[`aria-label`],$t=I(t({__name:`ConsoleLayout`,setup(t){let i=ee(),p=R(),g=c(!1),_=c(null),v=c(null),b=k(()=>i.activePersonalSpace?.id??``),w=k(()=>b.value||`current`),E=k(()=>de(w.value,`graph`)),O=k(()=>fe(`personal`,w.value,`directory`)),N=se(b),P=ce(b),I=N.agents,z=N.loading,ne=N.error,V=P.agentIds,H=P.loading,re=P.error,ie=k(()=>re.value||ne.value);n(le,N),n(ue,P);let ae=k(()=>St(p.meta.title,`routes.overview.title`)),U=k(()=>p.meta.dedicatedWorkspace===!0),W=k(()=>i.publicRuntimeStatus===`ready`?m(`console.services.publicReady`):i.publicRuntimeStatus===`error`?m(`console.services.publicError`):m(`console.services.publicOffline`)),G=k(()=>{if(i.publicRuntimeStatus===`ready`){let e=i.state?.capabilities;return e?.browsePublicProjects&&e?.subscribeProject&&!e?.publishProject&&!e?.submitKnowledge&&!e?.reviewProposals?m(`console.services.publicBrowseSubscribe`):m(`console.services.publicAvailable`)}return i.publicRuntimeStatus===`error`?m(`console.services.localUnaffected`):m(`console.services.localOnly`)}),oe=k(()=>i.state?.capabilities?.browsePublicProjects!==!1),K=k(()=>{let e=i.state?.capabilities;return e?.submitKnowledge!==!1||e?.reviewProposals===!0});o(()=>{i.runtimeStatus===`idle`&&i.refresh(),window.addEventListener(`resize`,q)}),a(()=>window.removeEventListener(`resize`,q));function q(){window.innerWidth>920&&(g.value=!1)}function J(e){if(!g.value||e.key!==`Tab`)return;let t=[...e.currentTarget.querySelectorAll(`button:not(:disabled), a[href], input:not(:disabled), [tabindex="0"]`)].filter(e=>e.getClientRects().length>0),n=t[0],r=t.at(-1);e.shiftKey&&document.activeElement===n?(e.preventDefault(),r?.focus()):!e.shiftKey&&document.activeElement===r&&(e.preventDefault(),n?.focus())}f(()=>{Ct(p.meta.title)}),e(()=>p.fullPath,()=>{g.value=!1});async function pe(){g.value=!0,await S(),v.value?.focus({preventScroll:!0})}async function Y(){g.value=!1,await S(),_.value?.focus({preventScroll:!0})}function me(){Promise.all([N.load(),P.load({force:!0})])}return(e,t)=>(s(),u(`div`,wt,[M(`aside`,{id:`console-primary-sidebar`,class:x([`sidebar`,{"is-mobile-open":g.value}]),onKeydown:[C(y(Y,[`stop`]),[`esc`]),J]},[M(`button`,{ref_key:`mobileNavCloseRef`,ref:v,class:`mobile-nav-close quiet-button`,type:`button`,"aria-label":D(m)(`console.navigation.closeMenu`),title:D(m)(`console.navigation.closeMenu`),onClick:Y},[...t[1]||=[M(`span`,{class:`mobile-nav-close-icon`,"aria-hidden":`true`},null,-1)]],8,Et),d(Ee),M(`nav`,{class:`primary-nav`,"aria-label":D(m)(`console.navigation.aria`)},[d(D(B),{to:`/`,"exact-active-class":`is-active`},{default:r(()=>[t[2]||=M(`span`,{class:`nav-icon nav-icon-overview`,"aria-hidden":`true`},null,-1),M(`span`,Ot,T(D(m)(`console.navigation.overview`)),1)]),_:1}),d(D(B),{to:`/project-agents`,"active-class":`is-active`},{default:r(()=>[t[3]||=M(`span`,{class:`nav-icon nav-icon-project-agent`,"aria-hidden":`true`},null,-1),M(`span`,kt,T(D(m)(`console.navigation.projectAgents`)),1)]),_:1}),d(dt,{"personal-space-id":w.value,projects:D(i).state?.personalProjects??[]},null,8,[`personal-space-id`,`projects`]),d(D(B),{to:`/roundtables`,"active-class":`is-active`},{default:r(()=>[t[4]||=M(`span`,{class:`nav-icon nav-icon-roundtable`,"aria-hidden":`true`},null,-1),M(`span`,At,T(D(m)(`console.navigation.roundtables`)),1)]),_:1}),d(D(B),{to:E.value,"active-class":`is-active`},{default:r(()=>[t[5]||=M(`span`,{class:`nav-icon nav-icon-personal-project`,"aria-hidden":`true`},null,-1),M(`span`,jt,T(D(m)(`console.navigation.personalProjects`)),1)]),_:1},8,[`to`]),d(D(B),{to:`/preferences`,"active-class":`is-active`},{default:r(()=>[t[6]||=M(`span`,{class:`nav-icon nav-icon-personal-profile`,"aria-hidden":`true`},null,-1),M(`span`,Mt,T(D(m)(`console.navigation.preferences`)),1)]),_:1}),d(D(B),{to:O.value,"active-class":`is-active`},{default:r(()=>[t[7]||=M(`span`,{class:`nav-icon nav-icon-knowledge-graph`,"aria-hidden":`true`},null,-1),M(`span`,Nt,T(D(m)(`console.navigation.knowledge`)),1)]),_:1},8,[`to`]),d(bt,{"space-id":b.value,agents:D(I),"pinned-agent-ids":D(V),loading:D(H),"roster-loading":D(z),error:ie.value,onRetry:me},null,8,[`space-id`,`agents`,`pinned-agent-ids`,`loading`,`roster-loading`,`error`]),M(`p`,Pt,T(D(m)(`console.navigation.more`)),1),d(D(B),{to:`/organize`,"active-class":`is-active`},{default:r(()=>[t[8]||=M(`span`,{class:`nav-icon nav-icon-knowledge-organizer`,"aria-hidden":`true`},null,-1),M(`span`,Ft,T(D(m)(`console.navigation.organizer`)),1)]),_:1}),K.value?(s(),h(D(B),{key:0,to:`/review`,"active-class":`is-active`},{default:r(()=>[t[9]||=M(`span`,{class:`nav-icon nav-icon-review`,"aria-hidden":`true`},null,-1),M(`span`,It,T(D(m)(`console.navigation.review`)),1)]),_:1})):j(``,!0),oe.value?(s(),h(D(B),{key:1,to:`/public-projects`,"active-class":`is-active`},{default:r(()=>[t[10]||=M(`span`,{class:`nav-icon nav-icon-public-project`,"aria-hidden":`true`},null,-1),M(`span`,Lt,T(D(m)(`console.navigation.publicProjects`)),1)]),_:1})):j(``,!0),d(D(B),{to:`/connections`,"active-class":`is-active`},{default:r(()=>[t[11]||=M(`span`,{class:`nav-icon nav-icon-connections`,"aria-hidden":`true`},null,-1),M(`span`,Rt,T(D(m)(`console.navigation.connections`)),1)]),_:1}),d(D(B),{to:`/settings`,"active-class":`is-active`},{default:r(()=>[t[12]||=M(`span`,{class:`nav-icon nav-icon-settings`,"aria-hidden":`true`},null,-1),M(`span`,zt,T(D(m)(`console.navigation.settings`)),1)]),_:1}),d(D(B),{to:`/about`,"active-class":`is-active`},{default:r(()=>[t[13]||=M(`span`,{class:`nav-icon nav-icon-about`,"aria-hidden":`true`},null,-1),M(`span`,Bt,T(D(m)(`console.navigation.about`)),1)]),_:1})],8,Dt),M(`div`,Vt,[M(`div`,{class:`service-runtime-list`,"aria-label":D(m)(`console.services.aria`)},[M(`div`,Ut,[M(`span`,{class:x([`status-dot`,D(i).runtimeStatus])},null,2),M(`div`,null,[M(`strong`,null,T(D(i).runtimeStatus===`ready`?D(m)(`console.services.localReady`):D(i).runtimeStatus===`error`?D(m)(`console.services.localError`):D(m)(`console.services.localConnecting`)),1)])]),M(`details`,Wt,[M(`summary`,null,[M(`span`,{class:x([`status-dot`,D(i).publicRuntimeStatus])},null,2),A(T(W.value),1)]),M(`div`,Gt,[M(`div`,null,[M(`small`,null,T(G.value),1),d(D(B),{to:`/connections`},{default:r(()=>[A(T(D(m)(`console.navigation.connections`)),1)]),_:1})])])])],8,Ht)])],42,Tt),g.value?(s(),u(`button`,{key:0,class:`mobile-nav-backdrop`,type:`button`,tabindex:`-1`,"aria-label":D(m)(`console.navigation.closeMenu`),onClick:Y},null,8,Kt)):j(``,!0),M(`main`,{class:`workspace`,inert:g.value||void 0},[M(`header`,{class:x([`topbar`,{"topbar--workbench":U.value}])},[M(`button`,{ref_key:`mobileNavToggleRef`,ref:_,class:`mobile-nav-toggle quiet-button`,type:`button`,"aria-controls":`console-primary-sidebar`,"aria-expanded":g.value,"aria-label":D(m)(`console.navigation.openMenu`),onClick:pe},[...t[14]||=[M(`span`,{class:`mobile-nav-icon`,"aria-hidden":`true`},null,-1)]],8,Jt),U.value?(s(),u(`span`,Yt,`FULI`)):(s(),u(`div`,Xt,[M(`h1`,null,T(ae.value),1)])),U.value?j(``,!0):(s(),u(`div`,{key:2,class:x([`topbar-actions`,{"settings-actions":D(p).name===`settings`}])},[D(p).name===`settings`&&D(i).settingsSaving?(s(),h(F,{key:0,class:`settings-save-progress`,variant:`inline`,label:D(m)(D(i).settingsSaveState===`applying`?`settings.applying`:`settings.saving`)},null,8,[`label`])):j(``,!0),D(p).name===`settings`?(s(),h(L,{key:1,variant:`primary`,disabled:D(i).settingsSaving,form:`settings-form`,type:`submit`},{default:r(()=>[A(T(D(m)(D(i).settingsSaveState===`saved`?`settings.savedShort`:`settings.save`)),1)]),_:1},8,[`disabled`])):j(``,!0),d(ke),d(L,{variant:`ghost`,icon:``,disabled:D(i).runtimeStatus===`loading`,"aria-label":D(m)(`common.actions.refresh`),title:D(m)(`common.actions.refresh`),onClick:D(i).refresh},{default:r(()=>[...t[15]||=[M(`svg`,{viewBox:`0 0 20 20`,width:`18`,height:`18`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.5`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"aria-hidden":`true`},[M(`path`,{d:`M16 7a6.5 6.5 0 1 0 .5 5M16 3v4h-4`})],-1)]]),_:1},8,[`disabled`,`aria-label`,`title`,`onClick`])],2))],2),d(Ne),D(i).feedback?(s(),u(`div`,{key:0,class:x([`feedback feedback-message`,{success:D(i).feedback.tone===`success`}]),role:D(i).feedback.tone===`error`?`alert`:`status`,"aria-live":D(i).feedback.tone===`error`?`assertive`:`polite`},[M(`span`,null,T(D(i).feedback.message),1),M(`button`,{class:`feedback-dismiss`,type:`button`,"aria-label":D(m)(`common.actions.close`),onClick:t[0]||=(...e)=>D(i).clearFeedback&&D(i).clearFeedback(...e)},`×`,8,Qt)],10,Zt)):j(``,!0),d(D(te),null,{default:r(({Component:e})=>[(s(),h(l(e)))]),_:1})],8,qt)]))}}),[[`__scopeId`,`data-v-81c00869`]]),en=t({__name:`App`,setup(e){let t=R();return(e,n)=>D(t).meta.publicReport?(s(),h(D(te),{key:0})):(s(),h($t,{key:1}))}}),tn=`modulepreload`,nn=function(e){return`/`+e},rn={},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=nn(t,n),t=s(t),t in rn)return;rn[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`:tn,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 an(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=ne({history:z(`/`),routes:[{path:`/reports/jefa`,name:`shared-jefa-report`,component:()=>Z(()=>import(`./SharedJefaReportPage-DzNN_nGd.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10])),meta:{publicReport:!0,title:`employees.share.title`}},{path:`/roundtables/:threadId?`,name:`roundtables`,component:()=>Z(()=>import(`./RoundtablesPage-Q2wAZxkX.js`),__vite__mapDeps([11,1,2,3,4,5,12,13])),meta:{title:`routes.roundtable.title`}},{path:`/`,name:`overview`,component:()=>Z(()=>import(`./OverviewPage-CLKzau9g.js`),__vite__mapDeps([14,1,15,2,3,4,12,5,16,17,18,19,20,21,22])),meta:{eyebrow:``,title:`routes.overview.title`}},{path:`/preferences`,name:`personal-profile`,component:()=>Z(()=>import(`./PersonalProfilePage-A02a3zQ1.js`),__vite__mapDeps([23,1,15,2,3,4,24,12,5,25,26,27,28,29,30,31,32,33,34,35,36,37,38])),meta:{eyebrow:`PERSONAL LENS`,title:`routes.preferences.title`,description:`routes.preferences.description`}},{path:`/preferences/writing`,name:`writing-taste`,component:()=>Z(()=>import(`./WritingTastePage-e8gY61zu.js`),__vite__mapDeps([39,1,15,2,3,4,12,5,30,34,24,25,26,27,35,31,36,37,40])),meta:{eyebrow:``,title:`routes.writingTaste.title`}},{path:`/personal/:spaceId/projects/:projectId/:mode/:itemKind/:itemId`,name:`personal-project-item`,component:()=>Z(()=>import(`./PersonalProjectsPage-5SDjPygh.js`),__vite__mapDeps([41,1,42,15,2,3,4,24,5,12,25,26,27,30,20,43,17,44,45,35,29,31,32,33,34,36,46])),meta:{eyebrow:`PERSONAL PROJECT`,title:`routes.personalProjects.title`}},{path:`/personal/:spaceId/projects/:mode/:itemKind/:itemId`,name:`personal-projects-item`,component:()=>Z(()=>import(`./PersonalProjectsPage-5SDjPygh.js`),__vite__mapDeps([41,1,42,15,2,3,4,24,5,12,25,26,27,30,20,43,17,44,45,35,29,31,32,33,34,36,46])),meta:{eyebrow:`PERSONAL PROJECTS`,title:`routes.personalProjects.title`,description:`routes.personalProjects.description`}},{path:`/personal/:spaceId/projects/:mode`,name:`personal-projects`,component:()=>Z(()=>import(`./PersonalProjectsPage-5SDjPygh.js`),__vite__mapDeps([41,1,42,15,2,3,4,24,5,12,25,26,27,30,20,43,17,44,45,35,29,31,32,33,34,36,46])),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-5SDjPygh.js`),__vite__mapDeps([41,1,42,15,2,3,4,24,5,12,25,26,27,30,20,43,17,44,45,35,29,31,32,33,34,36,46])),meta:{eyebrow:`PERSONAL PROJECT`,title:`routes.personalProjects.title`}},{path:`/organize`,name:`knowledge-organizer`,component:()=>Z(()=>import(`./KnowledgeOrganizerPage-C9hkFZ01.js`),__vite__mapDeps([47,1,15,2,3,4,24,25,26,27,35,29,30,31,32,33,34,36,48])),meta:{eyebrow:`KNOWLEDGE CLASSIFICATION`,title:`routes.organizer.title`}},{path:`/project-agents`,name:`project-agents`,component:()=>Z(()=>import(`./AgentsDirectoryPage-BiV0zVs4.js`),__vite__mapDeps([49,1,15,2,3,4,5,12,26,27,50,16,51,52,17,53,18,19,21,54,55,56,57,24,25,20,7,8,58,59,60])),meta:{eyebrow:``,title:`routes.projectAgents.title`}},{path:`/agents/:spaceId/:agentId`,name:`agent-profile`,component:()=>Z(()=>import(`./AgentProfilePage-C90Vo343.js`),__vite__mapDeps([61,1,15,2,3,4,5,12,26,27,30,52,17,19,18,20,43,44,62,63,21,54,45,60])),meta:{eyebrow:``,title:`agentProfiles.profile`}},{path:`/a/:agentId`,name:`agent-profile-short`,component:()=>Z(()=>import(`./AgentProfilePage-C90Vo343.js`),__vite__mapDeps([61,1,15,2,3,4,5,12,26,27,30,52,17,19,18,20,43,44,62,63,21,54,45,60])),meta:{eyebrow:``,title:`agentProfiles.profile`}},{path:`/project-agents/manage`,name:`agent-management`,component:()=>Z(()=>import(`./ProjectAgentsPage-BQj_XMd1.js`),__vite__mapDeps([64,1,15,2,3,4,24,5,12,25,26,27,50,16,51,19,62,63,21,54,55,56,7,8,57,52,20,58,65])),meta:{eyebrow:``,title:`agentProfiles.advanced`}},{path:`/employees/:templateId`,name:`employee-workbench`,component:()=>Z(()=>import(`./EmployeeWorkbenchPage-BHBWnrcC.js`),__vite__mapDeps([66,1,15,2,3,4,24,5,12,25,26,27,50,16,51,52,17,43,44,54,7,8,57,20,58,6,9,28,67,68])),meta:{eyebrow:``,title:`routes.employeeWorkbench.title`,dedicatedWorkspace:!0}},{path:`/public-projects`,name:`public-projects`,component:()=>Z(()=>import(`./PublicProjectsPage-C7ci4IvJ.js`),__vite__mapDeps([69,1,15,2,3,4,24,5,25,26,27,20,35,70])),meta:{eyebrow:`PUBLIC PROJECTS`,title:`routes.publicProjects.title`,description:`routes.publicProjects.description`}},{path:`/knowledge`,name:`knowledge-default`,component:()=>Z(()=>import(`./KnowledgePage-ihfSfdh0.js`),__vite__mapDeps([71,1,42,15,2,3,4,24,5,12,25,26,27,30,20,43,17,44,45,35,29,31,32,33,34,36,46])),meta:{eyebrow:`KNOWLEDGE BASE`,title:`routes.knowledge.title`}},{path:`/knowledge/:scope/:spaceId/:projectId/:mode/:itemKind/:itemId`,name:`project-knowledge-item`,component:()=>Z(()=>import(`./KnowledgePage-ihfSfdh0.js`),__vite__mapDeps([71,1,42,15,2,3,4,24,5,12,25,26,27,30,20,43,17,44,45,35,29,31,32,33,34,36,46])),meta:{eyebrow:`KNOWLEDGE BASE`,title:`routes.knowledge.title`}},{path:`/knowledge/:scope/:spaceId/:mode/:itemKind/:itemId`,name:`knowledge-item`,component:()=>Z(()=>import(`./KnowledgePage-ihfSfdh0.js`),__vite__mapDeps([71,1,42,15,2,3,4,24,5,12,25,26,27,30,20,43,17,44,45,35,29,31,32,33,34,36,46])),meta:{eyebrow:`KNOWLEDGE BASE`,title:`routes.knowledge.title`}},{path:`/knowledge/:scope/:spaceId/:projectId/:mode`,name:`project-knowledge`,component:()=>Z(()=>import(`./KnowledgePage-ihfSfdh0.js`),__vite__mapDeps([71,1,42,15,2,3,4,24,5,12,25,26,27,30,20,43,17,44,45,35,29,31,32,33,34,36,46])),meta:{eyebrow:`KNOWLEDGE BASE`,title:`routes.knowledge.title`}},{path:`/knowledge/:scope/:spaceId/:mode`,name:`knowledge`,component:()=>Z(()=>import(`./KnowledgePage-ihfSfdh0.js`),__vite__mapDeps([71,1,42,15,2,3,4,24,5,12,25,26,27,30,20,43,17,44,45,35,29,31,32,33,34,36,46])),meta:{eyebrow:`KNOWLEDGE BASE`,title:`routes.knowledge.title`}},{path:`/review`,name:`review`,component:()=>Z(()=>import(`./ReviewPage-CMAsStkm.js`),__vite__mapDeps([72,1,15,2,3,4,26,27,35,31])),meta:{eyebrow:`REVIEW WORKSPACE`,title:`routes.review.title`,description:`routes.review.description`}},{path:`/connections`,name:`connections`,component:()=>Z(()=>import(`./ConnectionsPage-5HCXLXp3.js`),__vite__mapDeps([73,1,15,2,3,4,26,27,30,35,74])),meta:{eyebrow:`SERVICE CONNECTIONS`,title:`routes.connections.title`,description:`routes.connections.description`}},{path:`/settings`,name:`settings`,component:()=>Z(()=>import(`./SettingsPage-CuQCjhJW.js`),__vite__mapDeps([75,1,15,2,3,4,24,26,27,30,67,32,76])),meta:{eyebrow:``,title:`routes.settings.title`}},{path:`/about`,name:`about`,component:()=>Z(()=>import(`./AboutPage-swHMgm8d.js`),__vite__mapDeps([77,1,3,78,79])),meta:{eyebrow:`FULI`,title:`routes.about.title`}},{path:`/:pathMatch(.*)*`,name:`not-found`,component:()=>Z(()=>import(`./NotFoundPage-CLtEdbfR.js`),__vite__mapDeps([80,1,12,5])),meta:{title:`common.errors.pageNotFound`}}],scrollBehavior:(e,t,n)=>n??(e.path!==t.path&&{top:0})});Ae(Q),Q.beforeEach(e=>e.path!==`/`||typeof window>`u`?!0:an(window.location.hash)??!0),Q.afterEach(e=>{Ct(e.meta.title)});var $=g(en);$.use(N()),$.use(E),$.use(Q),await Q.isReady().catch(()=>void 0),$.mount(`#app`);
@@ -0,0 +1 @@
1
+ .brand-block[data-v-68727ec7]{isolation:isolate;width:100%;color:inherit;text-align:left;-webkit-tap-highlight-color:transparent;align-items:center;gap:11px;padding:0 8px 22px;display:flex;position:relative}.brand-block[data-v-68727ec7]:before{content:"";z-index:-1;opacity:0;pointer-events:none;background:radial-gradient(circle,#f4c97033,#f4c97000 68%);border-radius:50%;width:58px;height:58px;position:absolute;top:-8px;left:0}.brand-effect-button[data-v-68727ec7]{appearance:none;color:inherit;cursor:pointer;background:0 0;border:0;flex:none;padding:0;display:block}.brand-effect-button[data-v-68727ec7]:focus{outline:none}.brand-block.is-keyboard-focused .brand-mark-wrap[data-v-68727ec7]{box-shadow:0 0 0 2px var(--color-accent);border-radius:50%}.brand-mark-wrap[data-v-68727ec7]{flex:none;width:38px;height:38px;position:relative}.brand-mark[data-v-68727ec7]{object-fit:contain;width:38px;height:38px;display:block}.brand-orbit[data-v-68727ec7]{z-index:3;opacity:0;pointer-events:none;border-radius:50%;animation:.94s cubic-bezier(.2,.7,.22,1) both brand-orbit-travel-68727ec7;position:absolute;inset:-8px}.brand-orbit[data-v-68727ec7]:before{content:"";border-radius:inherit;background:conic-gradient(from 20deg, transparent 0 74%, #e6b14a00 79%, #e6b14a3d 87%, #fff4d3c7 96%, transparent 100%);-webkit-mask:radial-gradient(farthest-side, transparent calc(100% - 2px), var(--color-ink) calc(100% - 1.5px));-webkit-mask:radial-gradient(farthest-side, transparent calc(100% - 2px), var(--color-ink) calc(100% - 1.5px));mask:radial-gradient(farthest-side, transparent calc(100% - 2px), var(--color-ink) calc(100% - 1.5px));position:absolute;inset:0}.brand-orbit[data-v-68727ec7]:after{content:"";background:radial-gradient(circle at 34% 30%, var(--color-surface) 0 14%, var(--color-warning-soft) 30%, var(--color-warning) 58%, #e8b65300 74%);border-radius:50%;width:6px;height:6px;position:absolute;top:-2px;left:50%;transform:translate(-50%);box-shadow:0 0 6px #f4c668c7,0 0 14px #f4c66852}.brand-copy[data-v-68727ec7]{min-width:0;display:grid;position:relative}.brand-title-row[data-v-68727ec7]{align-items:baseline;gap:7px;display:flex}.brand-name[data-v-68727ec7]{letter-spacing:-.02em;font-size:18px;font-weight:700}.brand-version[data-v-68727ec7]{color:var(--color-muted);letter-spacing:.02em;white-space:nowrap;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;font-weight:600}.brand-version-button[data-v-68727ec7]{appearance:none;cursor:pointer;background:0 0;border:0;border-radius:4px;align-items:center;gap:4px;margin:-2px -1px;padding:2px 1px;display:inline-flex}.brand-version-button:hover .brand-version[data-v-68727ec7]{color:var(--color-ink)}.brand-version-button[data-v-68727ec7]:focus-visible{box-shadow:0 0 0 2px var(--color-accent);outline:none}.brand-update-dot[data-v-68727ec7]{background:var(--color-danger);border-radius:50%;flex:none;width:5px;height:5px;box-shadow:0 1px 4px #bd1e1e47}.brand-subtitle[data-v-68727ec7]{color:var(--color-muted);margin-top:2px;font-size:12px}.brand-copy-reflection[data-v-68727ec7]{z-index:3;opacity:0;pointer-events:none;clip-path:polygon(-26% -20%,-8% -20%,-18% 120%,-36% 120%);will-change:clip-path, opacity;height:22px;animation:.62s cubic-bezier(.22,.66,.25,1) .62s both brand-copy-reflection-68727ec7;position:absolute;top:0;left:0;right:0}.brand-copy-reflection .brand-name[data-v-68727ec7],.brand-copy-reflection .brand-version[data-v-68727ec7]{color:var(--color-warning);text-shadow:0 0 6px #efbe5d47}.brand-update-popover[data-v-68727ec7]{z-index:20;color:var(--color-ink);background:var(--color-surface);border-radius:12px;padding:12px;position:absolute;top:45px;left:49px;right:8px;box-shadow:0 10px 28px #23302729}.brand-update-popover strong[data-v-68727ec7]{font-size:12px;line-height:1.45;display:block}.brand-update-popover p[data-v-68727ec7]{color:var(--color-muted);margin:5px 0 9px;font-size:12px;line-height:1.5}.brand-update-popover code[data-v-68727ec7]{border-radius:var(--radius-control);color:var(--color-ink);background:var(--color-surface-subtle);overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;padding:7px 8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px;line-height:1.45;display:block}.brand-update-popover a[data-v-68727ec7]{color:var(--color-ink);text-underline-offset:2px;margin-top:9px;font-size:12px;font-weight:650;text-decoration-thickness:1px;display:inline-block}.brand-update-popover a[data-v-68727ec7]:hover{color:var(--color-ink)}.brand-update-popover a[data-v-68727ec7]:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px;border-radius:2px}.brand-block.is-sparkling[data-v-68727ec7]:before{animation:1.05s ease-out both brand-halo-68727ec7}@keyframes brand-orbit-travel-68727ec7{0%{opacity:0;transform:rotate(-132deg)scale(.94)}18%{opacity:0}32%{opacity:1}72%{opacity:.9}to{opacity:0;transform:rotate(80deg)scale(1.01)}}@keyframes brand-copy-reflection-68727ec7{0%{opacity:0;clip-path:polygon(-26% -20%,-8% -20%,-18% 120%,-36% 120%)}14%{opacity:.86}78%{opacity:.68}to{opacity:0;clip-path:polygon(132% -20%,150% -20%,140% 120%,122% 120%)}}@keyframes brand-halo-68727ec7{0%{opacity:0;transform:scale(.72)}34%{opacity:1}to{opacity:0;transform:scale(1.12)}}@media (prefers-reduced-motion:reduce){.brand-orbit[data-v-68727ec7]{display:none}.brand-block.is-sparkling[data-v-68727ec7]:before{animation:.28s ease-out both brand-reduced-halo-68727ec7}.brand-copy-reflection[data-v-68727ec7]{clip-path:inset(0);animation:.28s ease-out both brand-reduced-glint-68727ec7}@keyframes brand-reduced-halo-68727ec7{0%,to{opacity:0}45%{opacity:.72}}@keyframes brand-reduced-glint-68727ec7{0%,to{opacity:0}45%{opacity:.58}}}.navigation-recovery[data-v-d154c242]{background:var(--color-warning-soft);color:var(--color-warning);border-radius:10px;flex:none;align-items:center;gap:16px;margin:12px 24px;padding:16px;font-size:13px;display:flex}.navigation-recovery>div[data-v-d154c242]{flex:1;min-width:0}.navigation-recovery strong[data-v-d154c242]{font-weight:650}.navigation-recovery p[data-v-d154c242]{margin:4px 0 0;line-height:1.6}.navigation-recovery a[data-v-d154c242]{flex-shrink:0;text-decoration:none}.navigation-recovery-dismiss[data-v-d154c242]{color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:8px}.navigation-recovery[data-v-d154c242] :is(a,button):focus-visible{outline:2px solid var(--color-warning);outline-offset:3px}@media (width<=640px){.navigation-recovery[data-v-d154c242]{flex-wrap:wrap;gap:10px;margin:10px 12px}.navigation-recovery>div[data-v-d154c242]{flex-basis:100%}}.attention-reply[data-v-6b64bc2c]{gap:20px;min-width:0;display:grid}.attention-question h3[data-v-6b64bc2c]{letter-spacing:-.025em;margin:0 0 12px;font-size:22px;line-height:1.4}.attention-question p[data-v-6b64bc2c],.attention-context[data-v-6b64bc2c]{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:14px;line-height:1.75}.attention-context[data-v-6b64bc2c]{color:var(--color-muted)}.attention-reply .ui-disclosure[data-v-6b64bc2c]{border-bottom:1px solid var(--color-border);padding-block:12px}.attention-choices[data-v-6b64bc2c]{border:0;gap:8px;min-width:0;margin:0;padding:0;display:grid}.attention-choices legend[data-v-6b64bc2c]{padding:0 0 10px;font-size:13px;font-weight:600}.attention-choice[data-v-6b64bc2c]{border:1px solid var(--color-border);border-radius:var(--radius-control);cursor:pointer;overflow-wrap:anywhere;align-items:flex-start;gap:10px;padding:12px 14px;font-size:14px;line-height:1.5;display:flex}.attention-choice[data-v-6b64bc2c]:hover{background:var(--color-surface-hover)}.attention-choice.is-selected[data-v-6b64bc2c]{border-color:var(--color-accent);background:var(--color-accent-soft)}.attention-choice input[data-v-6b64bc2c]{flex:none;width:16px;height:16px;margin:3px 0 0}.attention-input[data-v-6b64bc2c]{gap:8px;display:grid}.attention-input label[data-v-6b64bc2c]{color:var(--color-muted);font-size:13px}.attention-input textarea[data-v-6b64bc2c]{box-sizing:border-box;width:100%}.attention-submit[data-v-6b64bc2c]{border-top:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:16px;padding-top:16px;display:flex}.attention-submit p[data-v-6b64bc2c]{max-width:270px;color:var(--color-muted);margin:0;font-size:12px;line-height:1.6}.attention-submit button[data-v-6b64bc2c]{flex:none}.attention-response-error[data-v-6b64bc2c]{overflow-wrap:anywhere;margin:0;font-size:13px}@media (width<=640px){.attention-question h3[data-v-6b64bc2c]{font-size:19px}.attention-input textarea[data-v-6b64bc2c]{font-size:16px}.attention-submit[data-v-6b64bc2c]{flex-direction:column;align-items:stretch;gap:12px}.attention-submit p[data-v-6b64bc2c]{max-width:none}}.attention-nav-status{justify-self:end;align-items:center;gap:6px;display:inline-flex}.attention-dialog[open]:has(.attention-workspace){height:min(780px,100dvh - 40px)}.attention-dialog:not(:has(.attention-workspace)){width:min(560px,100vw - 32px)}.attention-dialog .ui-dialog__shell{height:100%}.attention-dialog .ui-dialog__header{border-bottom:1px solid var(--color-border);padding-bottom:16px}.attention-dialog .ui-dialog__body{flex:auto;gap:0;padding:0;overflow:hidden}.attention-workspace{flex:auto;grid-template-columns:280px minmax(0,1fr);min-height:0;display:grid;overflow:hidden}.attention-queue{background:var(--color-surface-subtle);border-right:1px solid var(--color-border);overscroll-behavior:contain;min-width:0;padding:12px;overflow-y:auto}.attention-queue-toolbar{color:var(--color-muted);justify-content:space-between;align-items:center;gap:8px;padding:0 4px 8px;font-size:12px;display:flex}.attention-queue-toolbar>span{overflow-wrap:anywhere;min-width:0}.attention-request-list{gap:6px;display:grid}.attention-request{text-align:left;border-radius:var(--radius-control);width:100%;min-width:0;color:var(--color-ink);cursor:pointer;background:0 0;border:1px solid #0000;gap:7px;padding:14px 12px;display:grid}.attention-request:hover{background:var(--color-surface-hover)}.attention-request.is-selected{border-color:var(--color-border);background:var(--color-surface);box-shadow:inset 3px 0 var(--color-accent)}.attention-request-meta{color:var(--color-muted);justify-content:space-between;align-items:center;gap:8px;font-size:11px;display:flex}.attention-request-meta>span{flex-shrink:0}.attention-request strong{overflow-wrap:anywhere;font-size:13px;font-weight:550;line-height:1.5}.attention-request-project{color:var(--color-muted);overflow-wrap:anywhere;font-size:11px}.attention-more{width:100%;margin-top:12px}.attention-detail{overscroll-behavior:contain;min-width:0;padding:24px 28px;overflow-y:auto}.attention-detail-meta{color:var(--color-muted);overflow-wrap:anywhere;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-bottom:20px;font-size:12px;display:flex}.attention-task-link{color:var(--color-accent);text-underline-offset:4px;margin-top:16px;font-size:13px;display:inline-block}.attention-queue .attention-mobile-picker{margin-bottom:8px;display:none}.attention-error{color:var(--color-danger);background:var(--color-danger-soft);flex:none;justify-content:space-between;align-items:center;gap:12px;padding:12px 24px;font-size:13px;display:flex}.attention-empty{text-align:center;color:var(--color-muted);flex:1;align-content:center;justify-items:center;gap:16px;padding:72px 24px;display:grid}.attention-empty>span{background:var(--color-success-soft);width:48px;height:48px;color:var(--color-success);border-radius:50%;place-items:center;font-size:24px;display:grid}.attention-empty p{margin:0;font-size:14px}@media (width<=640px){.attention-dialog[open]{width:calc(100vw - 16px)}.attention-dialog[open]:has(.attention-workspace){height:calc(100dvh - 16px)}.attention-workspace{flex-direction:column;flex:auto;height:auto;display:flex;overflow:hidden}.attention-queue{border-right:0;border-bottom:1px solid var(--color-border);flex:none;max-height:185px;padding:8px 16px 12px}.attention-queue-toolbar{padding:0}.attention-queue .attention-mobile-picker{display:grid}.attention-request-list{display:none}.attention-detail{padding:20px 16px}.attention-detail-meta{margin-bottom:16px}}.pinned-agents-nav[data-v-11f0099d]{border-top:1px solid var(--color-border);gap:4px;margin:14px 0 6px;padding-top:10px;display:grid}.pinned-agents-heading[data-v-11f0099d]{color:var(--color-faint);letter-spacing:.02em;margin:0 10px 2px;font-size:11px;font-weight:600}.pinned-agents-heading-row[data-v-11f0099d]{justify-content:space-between;align-items:center;gap:8px;min-width:0;display:flex}.pinned-agents-heading-row[data-v-11f0099d] .growth-loading__label{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.pinned-agents-list[data-v-11f0099d]{gap:2px;margin:0;padding:0;list-style:none;display:grid}.pinned-agent-nav[data-v-11f0099d]{border-radius:var(--radius-control);min-width:0;min-height:34px;color:var(--color-ink-soft);transition:background-color var(--motion-fast), color var(--motion-fast);align-items:center;gap:9px;padding:5px 10px;text-decoration:none;display:flex}.pinned-agent-nav[data-v-11f0099d]:hover,.pinned-agent-nav.router-link-active[data-v-11f0099d]{color:var(--color-ink);background:#1b1f1d0d}.pinned-agent-portrait[data-v-11f0099d]{width:24px;height:24px;color:var(--color-accent);background:var(--color-accent-soft);border-radius:7px;flex:0 0 24px;place-items:center;font-size:12px;line-height:1;display:grid}.pinned-agent-portrait img[data-v-11f0099d]{object-fit:cover;border-radius:inherit;width:100%;height:100%}.pinned-agent-name[data-v-11f0099d]{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;overflow:hidden}.pinned-agents-error[data-v-11f0099d]{color:var(--color-danger);gap:6px;margin:0 10px;font-size:12px;display:grid}.pinned-agents-error .quiet-button[data-v-11f0099d]{min-height:var(--control-height-sm);justify-self:start;padding:4px 9px;font-size:12px}.pinned-agents-nav[data-v-11f0099d] .growth-loading__label{font-size:12px}.settings-actions[data-v-81c00869]{flex-wrap:wrap;flex-shrink:1;justify-content:flex-end;min-width:0;max-width:100%}@media (width<=680px){.settings-save-progress[data-v-81c00869]{flex-basis:100%;justify-content:flex-end}}.topbar--workbench[data-v-81c00869]{display:none}.workbench-host-label[data-v-81c00869]{color:var(--color-muted);font-size:12px;font-weight:600}.mobile-nav-close-icon[data-v-81c00869]{width:16px;height:16px;display:block;position:relative}.mobile-nav-close-icon[data-v-81c00869]:before,.mobile-nav-close-icon[data-v-81c00869]:after{content:"";border-top:1.5px solid;width:14px;position:absolute;top:7px;left:1px}.mobile-nav-close-icon[data-v-81c00869]:before{transform:rotate(45deg)}.mobile-nav-close-icon[data-v-81c00869]:after{transform:rotate(-45deg)}@media (width<=920px){.topbar--workbench[data-v-81c00869]{background:var(--color-surface);border:0;justify-content:flex-start;gap:12px;min-height:44px;padding:7px 16px;display:flex}}:root{--lightningcss-light:initial;--lightningcss-dark: ;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-bg:#f6f5f1;--color-surface:#fffefb;--color-surface-subtle:#f0eee8;--color-surface-hover:#f3f1ec;--color-sidebar:#f1efe9;--color-ink:#1b1f1d;--color-ink-soft:#3a403c;--color-muted:#66706a;--color-faint:#959c97;--color-border:#e5e2da;--color-border-strong:#d2cec4;--color-control-border:#c9c5ba;--color-accent:#0f6b55;--color-accent-hover:#0b5a47;--color-accent-soft:#e5f0eb;--color-accent-line:#9cc7b6;--color-success:#2f7a52;--color-success-soft:#e8f2ec;--color-warning:#8a5a12;--color-warning-soft:#f8f0e0;--color-danger:#a8392e;--color-danger-soft:#f8e9e6;--color-on-accent:#fff;--color-chart-blue:#2f5f8a;--color-chart-teal:#0f6b55;--color-chart-violet:#6b4f8f;--color-chart-amber:#a8691c;--color-chart-rose:#a3445f;--color-chart-cyan:#23707f;--color-chart-slate:#66706a;--color-overlay:#181c1a52;--radius-control:8px;--radius-card:12px;--radius-dialog:16px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--control-height:36px;--control-height-sm:30px;--shadow-popover:0 1px 2px #1b1f1d0f, 0 12px 32px #1b1f1d1a;--shadow-dialog:0 2px 6px #1b1f1d0f, 0 24px 64px #1b1f1d29;--motion-fast:.14s;--motion-ease:cubic-bezier(.2, .8, .2, 1);--font-ui:"PingFang SC", "Hiragino Sans GB", -apple-system, BlinkMacSystemFont, "Segoe UI", "Microsoft YaHei", sans-serif;--font-mono:ui-monospace, "SF Mono", "Cascadia Code", Menlo, Consolas, monospace;--text-title:22px;--text-section:15px;--text-body:14px;--text-meta:12px;--page-max:1680px;--measure:72ch;--page-gutter:clamp(20px, 2.4vw, 56px);--inspector-width:clamp(320px, 24vw, 460px);font-family:var(--font-ui);color:var(--color-ink);background:var(--color-bg);font-synthesis:none;-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;font-size:14px;line-height:1.55}*{box-sizing:border-box}[hidden]{display:none!important}html,body,#app{height:100%}html,body{overflow:hidden}body{min-width:320px;margin:0}button{cursor:pointer}h1,h2,h3,p{margin:0}h1{font-size:var(--text-title);letter-spacing:-.02em;font-weight:650;line-height:1.25}h2{letter-spacing:-.01em;font-size:17px;font-weight:620;line-height:1.35}h3{font-size:var(--text-section);font-weight:600;line-height:1.4}a{color:var(--color-accent)}.app-shell{grid-template-columns:216px minmax(0,1fr);height:100dvh;display:grid;overflow:hidden}.sidebar{background:var(--color-sidebar);border-right:1px solid var(--color-border);flex-direction:column;height:100dvh;min-height:0;padding:22px 12px 14px;display:flex;position:sticky;top:0;overflow:hidden}.sidebar>.brand-block,.sidebar-foot{flex:none}.primary-nav{overscroll-behavior:contain;flex:auto;align-content:start;gap:2px;min-height:0;padding:8px 0 20px;display:grid;overflow:hidden auto}.nav-section-label{color:var(--color-faint);letter-spacing:.08em;text-transform:uppercase;margin:22px 10px 6px;font-size:11px;font-weight:600}.primary-nav>.nav-section-label:first-child{margin-top:4px}.primary-nav>a,.primary-nav>button{border-radius:var(--radius-control);width:100%;min-height:36px;color:var(--color-ink-soft);text-align:left;transition:background-color var(--motion-fast), color var(--motion-fast);background:0 0;border:0;grid-template-columns:20px minmax(0,1fr) auto;align-items:center;gap:10px;padding:7px 10px;font-size:14px;line-height:1.4;text-decoration:none;display:grid;position:relative}.primary-nav>a .nav-icon,.primary-nav>button .nav-icon{color:var(--color-muted)}.primary-nav>a:hover,.primary-nav>button:hover{color:var(--color-ink);background:#1b1f1d0d}.primary-nav>a.is-active,.primary-nav>button[aria-pressed=true]{color:var(--color-ink);background:var(--color-surface);box-shadow:0 1px 2px #1b1f1d0f, inset 0 0 0 1px var(--color-border);font-weight:600}.primary-nav>a.is-active .nav-icon,.primary-nav>button[aria-pressed=true] .nav-icon{color:var(--color-accent)}.nav-icon{width:18px;height:18px;-webkit-mask:var(--icon) center / contain no-repeat;-webkit-mask:var(--icon) center / contain no-repeat;mask:var(--icon) center / contain no-repeat;background:currentColor;display:inline-block}.nav-icon-overview{--icon:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'%3e%3crect%20x='3.5'%20y='3.5'%20width='7'%20height='7'%20rx='1.8'/%3e%3crect%20x='13.5'%20y='3.5'%20width='7'%20height='7'%20rx='1.8'/%3e%3crect%20x='3.5'%20y='13.5'%20width='7'%20height='7'%20rx='1.8'/%3e%3crect%20x='13.5'%20y='13.5'%20width='7'%20height='7'%20rx='1.8'/%3e%3c/svg%3e")}.nav-icon-personal-profile{--icon:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'%3e%3cpath%20d='M12%203.5l1.9%205.1%205.1%201.9-5.1%201.9L12%2017.5l-1.9-5.1L5%2010.5l5.1-1.9z'/%3e%3cpath%20d='M18.5%2015.5l.8%202%202%20.8-2%20.8-.8%202-.8-2-2-.8%202-.8z'/%3e%3c/svg%3e")}.nav-icon-knowledge-organizer{--icon:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='1.6'%20stroke-linecap='round'%3e%3cpath%20d='M4%206h10M18%206h2M4%2012h4M12%2012h8M4%2018h12M20%2018h0'/%3e%3ccircle%20cx='16'%20cy='6'%20r='2'/%3e%3ccircle%20cx='10'%20cy='12'%20r='2'/%3e%3ccircle%20cx='18'%20cy='18'%20r='2'/%3e%3c/svg%3e")}.nav-icon-roundtable{--icon:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='1.6'%20stroke-linecap='round'%3e%3ccircle%20cx='12'%20cy='12'%20r='4.5'/%3e%3ccircle%20cx='12'%20cy='3.5'%20r='1.6'/%3e%3ccircle%20cx='12'%20cy='20.5'%20r='1.6'/%3e%3ccircle%20cx='3.5'%20cy='12'%20r='1.6'/%3e%3ccircle%20cx='20.5'%20cy='12'%20r='1.6'/%3e%3c/svg%3e")}.nav-icon-personal-project{--icon:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'%3e%3cpath%20d='M3.5%207.5a2%202%200%200%201%202-2h4l2%202.2h7a2%202%200%200%201%202%202v8.8a2%202%200%200%201-2%202h-13a2%202%200%200%201-2-2z'/%3e%3c/svg%3e")}.nav-icon-project-agent{--icon:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'%3e%3ccircle%20cx='9'%20cy='8'%20r='3.5'/%3e%3cpath%20d='M2.8%2020c.8-3.4%203.3-5.5%206.2-5.5s5.4%202.1%206.2%205.5'/%3e%3ccircle%20cx='17.5'%20cy='9'%20r='2.6'/%3e%3cpath%20d='M16.5%2014.6c2.4.1%204.2%201.9%204.8%204.6'/%3e%3c/svg%3e")}.nav-icon-public-project{--icon:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'%3e%3ccircle%20cx='12'%20cy='12'%20r='8.5'/%3e%3cpath%20d='M3.5%2012h17M12%203.5c2.4%202.3%203.6%205.1%203.6%208.5s-1.2%206.2-3.6%208.5c-2.4-2.3-3.6-5.1-3.6-8.5s1.2-6.2%203.6-8.5z'/%3e%3c/svg%3e")}.nav-icon-knowledge-graph{--icon:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'%3e%3ccircle%20cx='6'%20cy='7'%20r='2.5'/%3e%3ccircle%20cx='18'%20cy='6'%20r='2.5'/%3e%3ccircle%20cx='12'%20cy='17.5'%20r='2.5'/%3e%3cpath%20d='M8.4%207.6l7.2-1.2M7.3%209.2l3.5%206M16.9%208.3l-3.6%207'/%3e%3c/svg%3e")}.nav-icon-about{--icon:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'%3e%3ccircle%20cx='12'%20cy='12'%20r='8.5'/%3e%3cpath%20d='M12%2011v5.5M12%207.6v.1'/%3e%3c/svg%3e")}.nav-icon-settings{--icon:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'%3e%3ccircle%20cx='12'%20cy='12'%20r='3'/%3e%3cpath%20d='M19.2%2013.6l1.3%201-2%203.4-1.6-.6a7.4%207.4%200%200%201-2.4%201.4l-.3%201.7h-4l-.3-1.7a7.4%207.4%200%200%201-2.4-1.4l-1.6.6-2-3.4%201.3-1a7.6%207.6%200%200%201%200-2.8l-1.3-1%202-3.4%201.6.6a7.4%207.4%200%200%201%202.4-1.4l.3-1.7h4l.3%201.7a7.4%207.4%200%200%201%202.4%201.4l1.6-.6%202%203.4-1.3%201a7.6%207.6%200%200%201%200%202.8z'/%3e%3c/svg%3e")}.nav-icon-review{--icon:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'%3e%3ccircle%20cx='12'%20cy='12'%20r='8.5'/%3e%3cpath%20d='m8.3%2012.2%202.5%202.5%205-5.2'/%3e%3c/svg%3e")}.nav-icon-connections{--icon:url("data:image/svg+xml,%3csvg%20xmlns='http://www.w3.org/2000/svg'%20viewBox='0%200%2024%2024'%20fill='none'%20stroke='%23000'%20stroke-width='1.6'%20stroke-linecap='round'%20stroke-linejoin='round'%3e%3cpath%20d='M10%2014l4-4'/%3e%3cpath%20d='M8.5%2011.5l-2.3%202.3a3.5%203.5%200%200%200%205%205l2.3-2.3'/%3e%3cpath%20d='M15.5%2012.5l2.3-2.3a3.5%203.5%200%200%200-5-5l-2.3%202.3'/%3e%3c/svg%3e")}.sidebar-foot{border-top:1px solid var(--color-border);margin-top:auto;padding:16px 8px 0}.service-runtime-list{gap:12px;display:grid}.runtime-status{align-items:center;gap:8px;min-width:0;font-size:12px;display:flex}.runtime-status strong{font-size:12px;font-weight:500;display:block}.runtime-status small{color:var(--color-muted);margin-top:2px;font-size:12px;display:block}.service-details{margin-top:8px}.service-details>summary{color:var(--color-muted);cursor:pointer;align-items:center;gap:8px;font-size:12px;list-style:none;display:flex}.service-details>summary::-webkit-details-marker{display:none}.service-details[open] .runtime-status{margin-top:10px}.status-dot{background:var(--color-muted);border-radius:50%;flex:none;width:6px;height:6px}.status-dot.ready{background:var(--color-success)}.status-dot.error{background:var(--color-danger)}.status-dot.loading{background:var(--color-accent)}.workspace{flex-direction:column;min-width:0;height:100dvh;min-height:0;display:flex;overflow:hidden}.topbar{min-height:68px;padding:20px var(--page-gutter) 12px;background:var(--color-bg);flex:none;justify-content:space-between;align-items:center;gap:24px;display:flex}.topbar-heading{min-width:0}.topbar-heading h1{font-size:var(--text-title)}.topbar-actions{flex:none;align-items:center;gap:12px;display:flex}.feedback{border:1px solid var(--color-border);background:var(--color-danger-soft);color:var(--color-danger);border-radius:var(--radius-control);margin:8px 28px 0;padding:12px 16px;font-size:14px}.feedback.success{background:var(--color-success-soft);color:var(--color-success)}.view{min-width:0;min-height:0;padding:12px var(--page-gutter) 40px;flex:1;overflow:auto}.view[data-view-panel=personal-profile]{flex-direction:column;display:flex;overflow:hidden}.section-toolbar{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.section-toolbar p{color:var(--color-muted);font-size:14px;line-height:1.5}.section-title{margin-bottom:16px}.space-heading{grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:15px;padding:0 0 18px;display:grid}.space-heading-icon{background-color:var(--color-surface);width:42px;height:42px;color:var(--color-ink);border:1px solid var(--color-border);border-radius:10px;place-items:center;display:grid}.space-heading-icon .nav-icon{width:21px;height:21px}.public-space-heading .space-heading-icon{color:var(--color-muted);border-color:var(--color-border);background-color:var(--color-surface)}.space-heading p{color:var(--color-muted);font-size:13px;line-height:1.55}.public-space-stats{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);align-items:stretch;display:flex}.public-space-stats span{min-width:76px;color:var(--color-muted);text-align:center;padding:9px 12px;font-size:12px}.public-space-stats span+span{border-left:1px solid var(--color-border)}.public-space-stats strong{color:var(--color-ink);font-size:18px;line-height:1.15;display:block}.personal-profile-summary{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:18px;display:flex}.personal-profile-summary>button{border:1px solid var(--color-border);min-height:32px;color:var(--color-ink-soft);background:var(--color-surface);cursor:pointer;transition:background-color var(--motion-fast), border-color var(--motion-fast), color var(--motion-fast);border-radius:999px;align-items:baseline;gap:8px;padding:5px 12px;font-size:13px;display:inline-flex}.personal-profile-summary>button strong{color:var(--color-ink);font-variant-numeric:tabular-nums;font-size:14px;font-weight:650}.personal-profile-summary>button:hover{border-color:var(--color-border-strong)}.personal-profile-summary>button[aria-pressed=true]{border-color:var(--color-accent-line);color:var(--color-accent);background:var(--color-accent-soft)}.personal-profile-summary>button[aria-pressed=true] strong{color:var(--color-accent)}.personal-profile-summary>button.state-conflict:not([aria-pressed=true]) strong:not(:empty){color:var(--color-ink)}.personal-profile-toolbar{justify-content:space-between;align-items:center;gap:16px;min-height:46px;display:flex}.personal-profile-toolbar-actions{align-items:center;gap:10px;display:flex}.personal-profile-filter-groups{align-items:center;gap:10px;min-width:0;display:flex}.personal-profile-scope-filter{width:min(240px,28vw)}.personal-profile-layout{border:1px solid var(--color-border-strong);border-radius:var(--radius-control);background:var(--color-surface);isolation:isolate;flex:1;grid-template-columns:minmax(0,1fr) 340px;align-items:stretch;min-height:0;display:grid;overflow:hidden}.personal-profile-directory{min-width:0;min-height:0}.personal-profile-table-head,.personal-profile-row{grid-template-columns:88px minmax(240px,1.35fr) minmax(170px,.8fr) 130px;align-items:center;gap:13px;display:grid}.personal-profile-table-head{border-bottom:1px solid var(--color-border);color:var(--color-muted);background:var(--color-surface-subtle);padding:10px 15px;font-size:12px;font-weight:680}.personal-profile-row{border:0;border-bottom:1px solid var(--color-border);width:100%;height:100%;color:var(--color-ink);background:var(--color-surface);text-align:left;padding:12px 15px}.personal-profile-row:hover{background:var(--color-surface)}.personal-profile-row.selected{background:var(--color-surface-subtle);box-shadow:inset 0 0 0 1px var(--color-muted)}.profile-aspect-mark{border-radius:999px;width:fit-content;padding:4px 8px;font-size:12px;font-weight:680}.profile-aspect-mark.taste{color:var(--color-ink);background:var(--color-warning-soft)}.profile-aspect-mark.personality{color:var(--color-muted);background:var(--color-surface-subtle)}.profile-aspect-mark.judgment_preference{color:var(--color-ink);background:var(--color-surface-subtle)}.personal-profile-copy,.personal-profile-origin{gap:4px;min-width:0;display:grid}.personal-profile-copy strong,.personal-profile-origin strong{color:var(--color-ink);font-size:12px}.personal-profile-origin strong.has-conflict{color:var(--color-ink)}.personal-profile-copy small,.personal-profile-origin small,.personal-profile-row time{color:var(--color-muted);font-size:12px;line-height:1.45}.personal-profile-copy small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.personal-profile-inspector{align-self:stretch;min-width:0;position:static;overflow:auto}.project-section{margin-top:34px}.compact-toolbar{border-top:1px solid var(--color-border-strong);padding-top:14px}.project-grid{grid-template-columns:repeat(auto-fit,minmax(min(330px,100%),1fr));gap:14px;margin-top:18px;display:grid}.project-empty{border:1px dashed var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);grid-column:1/-1}.project-card{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);min-width:0;padding:18px}.project-card-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.project-card-heading-actions{align-items:flex-start;gap:8px;display:flex}.project-card h4{color:var(--color-ink);overflow-wrap:anywhere;margin:0;font-size:16px}.project-purpose{min-height:38px;color:var(--color-muted);margin-top:12px;font-size:12px;line-height:1.55}.completion-badge{border:1px solid var(--color-border-strong);border-radius:var(--radius-control);text-align:center;background:var(--color-surface);flex:none;min-width:54px;padding:7px 8px}.completion-badge strong{color:var(--color-ink);font-size:18px;line-height:1;display:block}.completion-badge span{color:var(--color-muted);font-size:12px}.evidence-row{flex-wrap:wrap;gap:5px;min-height:24px;margin-top:13px;display:flex}.status-chip{border:1px solid var(--color-border);width:fit-content;color:var(--color-ink);background:var(--color-surface);border-radius:999px;align-items:center;padding:3px 7px;font-size:12px;font-weight:650;display:inline-flex}.status-chip.owner{border-color:var(--color-border-strong);color:var(--color-ink);background:var(--color-surface-subtle)}.status-chip.private{border-color:var(--color-warning-soft);color:var(--color-muted);background:var(--color-warning-soft)}.project-access{border-top:1px solid var(--color-border);align-items:center;gap:7px;margin-top:14px;padding-top:12px;display:flex}.project-release-meta{border-left:1px solid var(--color-border);gap:1px;margin-left:auto;padding-left:11px;display:grid}.project-release-meta strong{color:var(--color-ink);font-size:12px}.project-release-meta span{color:var(--color-muted);font-size:12px}.project-card-footer{border-top:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:14px;margin-top:15px;padding-top:13px;display:flex}.project-card-footer>.secondary-action,.project-card-footer>.primary-action{min-width:92px}.subscription-action{min-height:30px;margin-left:4px;padding:5px 10px;font-size:12px}.project-relations{gap:6px;margin-top:11px;display:grid}.relation-section-toolbar{align-items:center}.relation-section-toolbar .primary-action{flex:none;padding:8px 12px;font-size:12px}.relation-section-toolbar .primary-action:disabled{cursor:not-allowed}.relation-composer{border:1px solid var(--color-border);background:var(--color-surface);border-radius:10px;margin-top:16px;box-shadow:0 10px 30px #2330280f}.relation-composer-form{padding:18px}.subscription-list{gap:8px;display:grid}.subscription-row{border-bottom:1px solid var(--color-border);grid-template-columns:10px 1fr auto;align-items:center;gap:9px;padding:10px 0;display:grid}.subscription-row:last-child{border-bottom:0}.subscription-row strong{font-size:12px;display:block}.subscription-row span{color:var(--color-muted);font-size:12px}.connections-view{padding-top:24px}.service-connection-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:20px;display:grid}.service-connection-card{border:1px solid var(--color-border-strong);border-radius:var(--radius-control);background:var(--color-surface);min-width:0;padding:18px}.service-connection-card[data-status=ready]{border-color:var(--color-border-strong)}.service-connection-card[data-status=error]{border-color:var(--color-danger-soft)}.service-connection-card>header{grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:11px;display:grid}.service-connection-card>header h3{color:var(--color-ink);font-size:15px}.service-connection-icon{border:1px solid var(--color-border-strong);border-radius:var(--radius-control);width:38px;height:38px;color:var(--color-ink);background:var(--color-surface-subtle);place-items:center;display:grid}.service-connection-icon.public{border-color:var(--color-border);color:var(--color-muted);background:var(--color-surface)}.service-state{color:var(--color-muted);align-items:center;gap:6px;font-size:12px;font-weight:650;display:inline-flex}.service-state:before{background:var(--color-muted);content:"";border-radius:50%;width:6px;height:6px}.service-connection-card[data-status=ready] .service-state{color:var(--color-success)}.service-connection-card[data-status=ready] .service-state:before{background:var(--color-success)}.service-connection-card[data-status=error] .service-state{color:var(--color-danger)}.service-connection-card[data-status=error] .service-state:before{background:var(--color-danger)}.service-connection-card>p{min-height:38px;color:var(--color-muted);margin-top:15px;font-size:12px;line-height:1.55}.service-connection-card dl{border-top:1px solid var(--color-border);margin:14px 0 0}.service-connection-card dl>div{border-bottom:1px solid var(--color-border);grid-template-columns:86px minmax(0,1fr);gap:12px;padding:9px 0;display:grid}.service-connection-card dl>div:last-child{border-bottom:0;padding-bottom:0}.service-connection-card dt{color:var(--color-muted);font-size:12px}.service-connection-card dd{color:var(--color-ink);overflow-wrap:anywhere;margin:0;font-size:12px}.connection-subscriptions{border-top:1px solid var(--color-border);margin-top:24px;padding-top:16px}.connection-subscriptions .section-title{margin-bottom:10px}.connection-subscriptions .section-title p{color:var(--color-muted);margin-top:4px;font-size:12px}.connection-title-row{align-items:center;gap:7px;display:flex}.feature-badge{letter-spacing:.07em;border-radius:999px;align-items:center;width:fit-content;padding:2px 6px;font-size:12px;font-weight:750;display:inline-flex}.feature-badge.beta{border:1px solid var(--color-warning);color:var(--color-warning);background:var(--color-warning-soft)}.external-knowledge-section,.conflict-policy-section{border-top:1px solid var(--color-border);margin-top:14px;padding-top:12px}.section-title-with-help{align-items:center;gap:7px;display:flex}.section-help-link{border:1px solid var(--color-border-strong);width:17px;height:17px;color:var(--color-muted);background:var(--color-surface);border-radius:50%;flex:none;place-items:center;font-size:12px;font-weight:750;line-height:1;text-decoration:none;display:inline-grid}.section-help-link:hover{border-color:var(--color-muted);color:var(--color-ink);background:var(--color-surface)}.section-help-link:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.external-binding-count{color:var(--color-muted);font-size:12px;font-weight:620}.external-binding-list{margin-top:10px;display:grid}.external-binding-row{border-bottom:1px solid var(--color-border);grid-template-columns:8px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:55px;display:grid}.external-binding-row>i{background:var(--color-muted);border-radius:50%;width:7px;height:7px}.external-binding-row[data-status=error]>i{background:var(--color-danger)}.external-binding-row strong{color:var(--color-ink);font-size:12px;display:block}.external-binding-row span,.external-binding-row small{color:var(--color-muted);margin-top:2px;font-size:12px;display:block}.external-binding-row small{color:var(--color-danger)}.external-binding-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.quiet-button.danger{color:var(--color-danger)}.compact-empty{color:var(--color-muted);padding:18px 0;font-size:12px}.external-binding-form{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);grid-template-columns:repeat(4,minmax(150px,1fr));align-items:end;gap:10px;margin-top:16px;padding:15px;display:grid}.external-binding-form label,.conflict-policy-controls label{min-width:0;color:var(--color-muted);gap:5px;font-size:12px;display:grid}.external-binding-form input,.external-binding-form textarea,.external-binding-form .ui-select,.conflict-policy-controls .ui-select,.external-binding-form input,.external-binding-form textarea{width:100%;min-width:0}.external-binding-form textarea{resize:vertical}.external-binding-form .wide-field{grid-column:span 3}.trusted-code-badge{border:1px solid var(--color-warning);width:fit-content;color:var(--color-warning);background:var(--color-warning-soft);border-radius:5px;padding:5px 7px;font-size:12px}.conflict-policy-controls{grid-template-columns:repeat(2,minmax(220px,1fr));gap:12px;max-width:700px;margin-top:10px;display:grid}@media (width<=1280px){.external-binding-form{grid-template-columns:repeat(2,minmax(180px,1fr))}.external-binding-form .wide-field{grid-column:span 2}}.graph-view{flex-direction:column;padding:18px 24px 20px;display:flex;overflow:hidden}.graph-view.graph-canvas-active{overflow:hidden}.knowledge-view-heading{border-bottom:1px solid var(--color-control-border);justify-content:space-between;align-items:center;min-height:42px;display:flex}.knowledge-mode-switch{align-self:stretch;gap:22px;display:flex}.knowledge-mode-switch button{color:var(--color-muted);background:0 0;border:0;padding:0 1px;font-size:12px;font-weight:620;position:relative}.knowledge-mode-switch button[aria-selected=true]{color:var(--color-accent)}.knowledge-mode-switch button[aria-selected=true]:after{background:var(--color-accent);content:"";border-radius:2px 2px 0 0;height:2px;position:absolute;bottom:-1px;left:0;right:0}.graph-toolbar{flex-wrap:wrap;align-items:center;gap:8px 10px;min-height:48px;padding:8px 0;display:flex}.picker-chevron{border-right:1.5px solid var(--color-muted);border-bottom:1.5px solid var(--color-muted);justify-self:end;width:7px;height:7px;transition:transform .14s;transform:translateY(-2px)rotate(45deg)}.ui-select[data-select-id=graph-space]{min-width:225px}.ui-select[data-select-id=knowledge-type-filter]{width:120px}.ui-select[data-select-id=knowledge-quadrant-filter]{width:110px}.ui-select[data-select-id=knowledge-profile-filter]{width:112px}.ui-select[data-select-id=knowledge-status-filter]{width:105px}.knowledge-editor-form .ui-select,.knowledge-project-fields .ui-select,.knowledge-project-relation .ui-select{width:100%}.personal-context-picker{position:relative}.personal-context-picker>summary{border:1px solid var(--color-border-strong);border-radius:var(--radius-control);min-height:32px;color:var(--color-ink);background:var(--color-surface);cursor:pointer;align-items:center;gap:8px;padding:6px 9px;font-size:12px;list-style:none;display:flex}.personal-context-picker>summary::-webkit-details-marker{display:none}.personal-context-picker>summary span{color:var(--color-muted)}.personal-context-picker>summary .picker-chevron{flex:none;margin-left:auto}.personal-context-picker[open]>summary .picker-chevron{transform:translateY(2px)rotate(225deg)}.personal-context-panel{z-index:8;border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);width:286px;padding:13px;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 12px 30px #2330281a}.personal-context-panel>strong{color:var(--color-ink);font-size:12px}.personal-context-panel>p{color:var(--color-muted);margin-top:4px;font-size:12px;line-height:1.45}.personal-context-list{gap:3px;max-height:220px;margin-top:10px;display:grid;overflow:auto}.personal-context-option{cursor:pointer;border-radius:6px;grid-template-columns:17px 1fr;align-items:center;gap:8px;padding:8px;display:grid}.personal-context-option:hover{background:var(--color-surface-subtle)}.personal-context-option input{margin:0}.personal-context-option span{gap:2px;display:grid}.personal-context-option strong{color:var(--color-ink);font-size:12px}.personal-context-option small{color:var(--color-muted);font-size:12px}.search-form{flex:0 300px;min-width:220px}.search-form input{width:100%}#knowledge-type-filter{max-width:160px}#knowledge-quadrant-filter{max-width:130px}#knowledge-profile-filter{max-width:135px}.graph-view-actions{border-left:1px solid var(--color-border);align-items:center;gap:3px;margin-left:auto;padding-left:4px;display:flex}.graph-controls{gap:3px;display:flex}.knowledge-layout{grid-template-columns:minmax(0, 1fr) var(--inspector-width);border:1px solid var(--color-border-strong);border-radius:var(--radius-card);background:var(--color-surface);isolation:isolate;flex:1;align-items:stretch;min-height:0;display:grid;overflow:hidden}.graph-view:not(.graph-canvas-active) .knowledge-layout:not(.has-selection){grid-template-columns:minmax(0,1fr)}.graph-view:not(.graph-canvas-active) .knowledge-layout:not(.has-selection) .graph-inspector{display:none}.knowledge-directory-panel{background:var(--color-surface);flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden;container:knowledge-directory/inline-size}.directory-kind-tabs{z-index:4;border-bottom:1px solid var(--color-border);background:var(--color-surface-hover);align-items:stretch;gap:22px;min-height:44px;padding:0 16px;display:flex;position:sticky;top:0}.directory-kind-tab{min-width:0;color:var(--color-muted);background:0 0;border:0;align-items:center;gap:7px;padding:0 1px;font-size:12px;font-weight:620;display:inline-flex;position:relative}.directory-kind-tab:hover{color:var(--color-ink)}.directory-kind-tab:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.directory-kind-tab:after{content:"";background:0 0;height:2px;position:absolute;bottom:-1px;left:0;right:0}.directory-kind-tab[aria-selected=true]{color:var(--color-accent)}.directory-kind-tab[aria-selected=true]:after{background:var(--color-accent)}.directory-kind-tab small{min-width:20px;color:var(--color-muted);background:var(--color-surface-subtle);text-align:center;border-radius:999px;padding:1px 6px;font-size:12px;font-weight:650}.directory-kind-tab[aria-selected=true] small{color:var(--color-accent);background:var(--color-surface-subtle)}.directory-tab-panel{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex}.directory-section-heading{border-bottom:1px solid var(--color-border);background:var(--color-surface-subtle);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 14px;min-width:0;padding:12px 16px;display:flex}.directory-section-copy{flex:260px;align-items:baseline;gap:10px;min-width:0;display:flex}.directory-section-heading strong{color:var(--color-ink);font-size:12px;font-weight:680}.directory-section-copy span,.directory-section-count{color:var(--color-muted);font-size:12px;line-height:1.45}.directory-section-copy span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.directory-section-count{flex:none}.knowledge-status-filter{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface-subtle);flex:none;align-items:center;gap:2px;padding:2px;display:inline-flex}.knowledge-status-option{height:24px;color:var(--color-muted);white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:5px;align-items:center;gap:5px;padding:0 7px;font-size:12px;font-weight:640;display:inline-flex}.knowledge-status-option:hover{color:var(--color-ink);background:#ffffffb8}.knowledge-status-option:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.knowledge-status-option[aria-pressed=true]{border-color:var(--color-border-strong);color:var(--color-accent);background:var(--color-surface)}.knowledge-status-option[data-status=historical][aria-pressed=true]{border-color:var(--color-danger-soft);color:var(--color-danger);background:var(--color-surface-subtle)}.knowledge-status-option span{min-width:16px;color:inherit;background:var(--color-accent-soft);text-align:center;border-radius:999px;padding:0 4px;font-size:12px;line-height:16px}.knowledge-directory-virtual-list,.project-material-virtual-list{flex:1;min-width:0;min-height:0}.project-material-row{border:0;border-bottom:1px solid var(--color-border);width:100%;height:100%;color:var(--color-ink);background:var(--color-surface);text-align:left;grid-template-columns:minmax(0,1fr) minmax(94px,118px) auto;align-items:center;gap:16px;padding:10px 16px;display:grid}.project-material-row:hover{background:var(--color-surface)}.project-material-row.selected{background:var(--color-surface-subtle);box-shadow:inset 0 0 0 1px var(--color-accent)}.project-material-copy{gap:4px;min-width:0;display:grid}.project-material-copy strong{color:var(--color-ink);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:630;overflow:hidden}.project-material-copy small{color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:1.4;overflow:hidden}.project-material-type{color:var(--color-ink);font-size:12px;font-weight:620}.project-material-link{color:var(--color-muted);text-align:right;font-size:12px;font-weight:650}.graph-canvas-active .knowledge-layout{flex:1;align-items:stretch;min-height:0;overflow:hidden}.knowledge-table-head,.knowledge-row{grid-template-columns:minmax(220px,1.8fr) minmax(92px,.68fr) minmax(104px,.75fr) minmax(90px,.65fr) minmax(118px,.9fr) minmax(102px,.72fr) minmax(58px,.42fr);align-items:center;gap:12px;width:100%;min-width:0;display:grid}.knowledge-table-head{border-bottom:1px solid var(--color-border);color:var(--color-muted);background:var(--color-surface-subtle);letter-spacing:.05em;padding:10px 16px;font-size:12px;font-weight:680}.knowledge-row{border:0;border-bottom:1px solid var(--color-border);height:100%;color:var(--color-ink);background:var(--color-surface);text-align:left;padding:11px 16px;font-size:12px}.knowledge-table-head>span,.knowledge-row>span{min-width:0}.knowledge-row:hover{background:var(--color-surface)}.knowledge-row.selected{background:var(--color-surface-subtle);box-shadow:inset 0 0 0 1px var(--color-accent)}.knowledge-row-content{gap:4px;min-width:0;display:grid}.knowledge-row-title{align-items:center;gap:7px;min-width:0;display:flex}.knowledge-row-content strong{min-width:0;color:var(--color-ink);text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:550;overflow:hidden}.human-change-badge{color:var(--color-warning);background:var(--color-warning-soft);white-space:nowrap;border-radius:999px;flex:none;padding:2px 6px;font-size:12px;font-style:normal;font-weight:700}.human-change-badge.state-viewed{color:var(--color-muted);background:var(--color-surface-subtle)}.knowledge-row-content small{color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:1.4;overflow:hidden}.knowledge-row-type,.knowledge-row-source,.knowledge-row-time{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.knowledge-row-type{color:var(--color-ink);font-weight:620}.knowledge-row-source,.knowledge-row-time{color:var(--color-muted)}.knowledge-row-quadrant{width:fit-content;color:var(--color-muted);background:var(--color-surface-subtle);white-space:nowrap;border-radius:999px;padding:3px 7px;font-size:12px;font-weight:650}.knowledge-row-quadrant.known_known{color:var(--color-ink);background:var(--color-surface-subtle)}.knowledge-row-quadrant.known_unknown{color:var(--color-warning);background:var(--color-warning-soft)}.knowledge-row-quadrant.unknown_known,.knowledge-row-quadrant.unknown_unknown,.knowledge-row-quadrant.unclassified{color:var(--color-muted);background:var(--color-surface-subtle)}.knowledge-review-state{width:fit-content;color:var(--color-muted);background:var(--color-surface-subtle);white-space:nowrap;border-radius:999px;padding:3px 7px;font-size:12px;font-weight:650}.knowledge-review-state.state-confirmed,.knowledge-review-state.state-agent_confirmed{color:var(--color-success);background:var(--color-success-soft)}.knowledge-review-state.state-pending,.knowledge-review-state.state-needs_review{color:var(--color-warning);background:var(--color-warning-soft)}.knowledge-review-state.state-exploratory,.knowledge-review-state.state-unclassified{color:var(--color-muted);background:var(--color-surface-subtle)}.knowledge-status{border-radius:999px;width:fit-content;padding:3px 7px;font-size:12px;font-weight:650}.knowledge-status.current{color:var(--color-ink);background:var(--color-surface-subtle)}.knowledge-status.historical{color:var(--color-danger);background:var(--color-surface-subtle)}@container knowledge-directory (width<=900px){.knowledge-table-head,.knowledge-row{grid-template-columns:minmax(220px,1.8fr) minmax(92px,.75fr) minmax(104px,.8fr) minmax(90px,.7fr) minmax(58px,.45fr)}.knowledge-column-source,.knowledge-column-time,.knowledge-row-source,.knowledge-row-time{display:none}}@container knowledge-directory (width<=660px){.knowledge-status-filter{order:3;margin-right:auto}.knowledge-table-head,.knowledge-row{grid-template-columns:minmax(180px,1fr) 90px 96px 58px}.knowledge-column-type,.knowledge-row-type{display:none}.project-material-row{grid-template-columns:minmax(0,1fr) auto}.project-material-type{display:none}}@container knowledge-directory (width<=500px){.knowledge-table-head{letter-spacing:0;grid-template-columns:minmax(0,1fr) 128px;gap:12px}.knowledge-row{grid-template-rows:auto auto;grid-template-columns:minmax(0,1fr) 128px;gap:2px 12px}.knowledge-row-content{grid-area:1/1/3}.knowledge-review-state{grid-area:1/2;max-width:128px;font-weight:500}.knowledge-status{grid-area:2/2;padding-block:0;font-weight:400}.knowledge-column-quadrant,.knowledge-row-quadrant,.knowledge-column-validity{display:none}}.graph-inspector{background:var(--color-surface);border-left:1px solid var(--color-border);overscroll-behavior:contain;align-self:stretch;padding:18px;position:static;overflow:auto}.graph-canvas-active .graph-inspector{align-self:stretch;position:static;overflow:auto}.graph-inspector h3{overflow-wrap:anywhere;margin-bottom:8px;font-size:16px}.graph-inspector .muted{color:var(--color-muted);font-size:12px;line-height:1.55}.inspector-classification{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);gap:7px;margin-top:15px;padding:11px 12px;display:grid}.inspector-classification>div{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.inspector-classification span{color:var(--color-muted);font-size:12px;font-weight:650}.inspector-classification strong{color:var(--color-ink);font-size:12px}.inspector-classification p{color:var(--color-muted);font-size:12px;line-height:1.55}.inspector-classification.state-pending,.inspector-classification.state-needs_review{border-color:var(--color-warning-soft);background:var(--color-warning-soft)}.inspector-classification.state-pending strong,.inspector-classification.state-needs_review strong{color:var(--color-warning)}.inspector-classification.state-exploratory{border-color:var(--color-border-strong);background:var(--color-surface-subtle)}.inspector-classification.state-exploratory strong{color:var(--color-muted)}.inspector-classification.state-unclassified{border-color:var(--color-border);background:var(--color-surface-subtle)}.inspector-classification.state-unclassified strong{color:var(--color-muted)}.inspector-human-change{border:1px solid var(--color-warning-soft);border-radius:var(--radius-control);background:var(--color-warning-soft);gap:6px;margin-top:10px;padding:11px 12px;display:grid}.inspector-human-change>div{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.inspector-human-change span,.inspector-human-change small{color:var(--color-muted);font-size:12px;font-weight:650}.inspector-human-change strong{color:var(--color-warning);font-size:12px}.inspector-human-change p{color:var(--color-muted);font-size:12px;line-height:1.55}.inspector-human-change.state-viewed{border-color:var(--color-border);background:var(--color-surface)}.inspector-human-change.state-viewed strong{color:var(--color-muted)}.inspector-human-change.state-reviewed{border-color:var(--color-border);background:var(--color-surface)}.inspector-human-change.state-reviewed strong{color:var(--color-ink)}.inspector-replacement{border:1px solid var(--color-warning-soft);border-radius:var(--radius-control);background:var(--color-warning-soft);gap:8px;margin-top:10px;padding:11px 12px;display:grid}.inspector-replacement-heading{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.inspector-replacement-heading span{color:var(--color-muted);font-size:12px;font-weight:650}.inspector-replacement-heading strong{color:var(--color-warning);font-size:12px}.inspector-replacement>p{color:var(--color-muted);font-size:12px;line-height:1.55}.inspector-replacement-link{border:1px solid var(--color-border);width:100%;color:inherit;background:var(--color-surface);text-align:left;border-radius:6px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:9px 10px;display:grid}.inspector-replacement-link:hover{border-color:var(--color-muted);background:var(--color-surface)}.inspector-replacement-link>span{gap:3px;min-width:0;display:grid}.inspector-replacement-link strong,.inspector-replacement-link small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.inspector-replacement-link strong{color:var(--color-ink);font-size:12px}.inspector-replacement-link small{color:var(--color-muted);font-size:12px}.inspector-replacement-link b{color:var(--color-ink);white-space:nowrap;font-size:12px;font-weight:680}.inspector-project-material{border:1px solid var(--color-border-strong);border-radius:var(--radius-control);background:var(--color-surface-subtle);gap:7px;margin-top:15px;padding:11px 12px;display:grid}.inspector-project-material>div{justify-content:space-between;align-items:baseline;gap:12px;display:flex}.inspector-project-material span{color:var(--color-muted);font-size:12px;font-weight:650}.inspector-project-material strong{color:var(--color-ink);font-size:12px}.inspector-project-material p{color:var(--color-muted);font-size:12px;line-height:1.55}.inspector-technical{margin-top:18px}.inspector-technical .inspector-meta{margin-top:8px}.inspector-identity code{min-width:0;color:var(--color-ink);font-family:var(--font-mono);overflow-wrap:anywhere;font-size:12px;line-height:1.35}.inspector-meta{gap:8px;margin-top:18px;display:grid}.inspector-meta div{border-top:1px solid var(--color-border);padding-top:8px}.inspector-meta dt{color:var(--color-muted);text-transform:uppercase;letter-spacing:.08em;font-size:12px}.inspector-meta dd{overflow-wrap:anywhere;margin:3px 0 0;font-size:12px}.inspector-attributes{margin-top:0}.inspector-subtitle{color:var(--color-muted);margin:20px 0 7px;font-size:12px;font-weight:650}.inspector-reasoning{color:var(--color-muted);white-space:pre-wrap;font-size:12px;line-height:1.6}.inspector-relations{display:grid}.inspector-relation{border-top:1px solid var(--color-border);grid-template-columns:minmax(0,1fr);gap:3px;min-width:0;padding:10px 0;font-size:12px;display:grid}.relation-type{color:var(--color-muted);letter-spacing:.035em;overflow-wrap:anywhere;font-size:12px;font-weight:700;line-height:1.4}.relation-target{min-width:0;color:var(--color-muted);overflow-wrap:anywhere;margin:0;line-height:1.55}.inspector-evidence{gap:7px;display:grid}.evidence-card{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);padding:10px}.evidence-card strong{color:var(--color-ink);font-size:12px;display:block}.evidence-card p{color:var(--color-muted);margin-top:4px;font-size:12px;line-height:1.5}.evidence-card span{color:var(--color-muted);margin-top:6px;font-size:12px;display:block}.evidence-card .evidence-excerpt{color:var(--color-muted);background:var(--color-surface-subtle);white-space:pre-wrap;border-radius:5px;margin-top:8px;padding:8px}.evidence-source-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:8px;display:flex}.evidence-source-action{color:var(--color-ink);background:0 0;border:0;margin:0;padding:0;font-size:12px;font-weight:650;text-decoration:none;display:inline-flex}.evidence-source-action:hover{color:var(--color-ink);text-decoration:underline}.evidence-source-action:disabled{color:var(--color-muted);cursor:not-allowed;text-decoration:none}.inspector-actions{gap:7px;margin-top:16px;display:grid}.inspector-actions button{width:100%}.inspector-history{display:grid}.history-row{border-top:1px solid var(--color-border);padding:9px 0}.history-row strong{color:var(--color-ink);font-size:12px}.history-row p{color:var(--color-muted);margin-top:3px;font-size:12px;line-height:1.45}.history-row span,.history-row small{color:var(--color-muted);margin-top:4px;font-size:12px;display:block}.section-toolbar{border-bottom:1px solid var(--color-border);padding-bottom:18px}.section-toolbar h3{margin-bottom:5px;font-size:18px}.ui-select[data-select-id=review-project]{min-width:220px}.review-list{margin-top:10px;display:grid}.review-item{border-bottom:1px solid var(--color-border);grid-template-columns:minmax(0,1fr) auto;gap:24px;padding:18px 0;display:grid}.review-item h4{margin:0 0 5px;font-size:14px}.review-item p{color:var(--color-muted);font-size:12px;line-height:1.55}.review-stage{width:fit-content;color:var(--color-muted);letter-spacing:.08em;text-transform:uppercase;margin-bottom:7px;font-size:12px;font-weight:700}.review-meta{color:var(--color-muted);gap:12px;margin-top:9px;font-size:12px;display:flex}.review-actions{align-items:center;gap:7px;display:flex}.review-actions button{border-radius:var(--radius-control);padding:7px 11px;font-size:12px}.approve{border:1px solid var(--color-ink);background:var(--color-ink);color:var(--color-surface)}.reject{border:1px solid var(--color-danger-soft);background:var(--color-surface);color:var(--color-danger)}.stacked-actions{flex-wrap:wrap;justify-content:flex-end;align-items:flex-end;max-width:240px}.empty-state{text-align:center;color:var(--color-muted);padding:40px 0;font-size:13px}.subscription-form{border-top:1px solid var(--color-border);gap:7px;margin-top:18px;padding-top:14px;display:flex}.subscription-form .ui-select{flex:1}.muted{color:var(--color-muted);font-size:12px}.publish-dialog{width:min(500px,100vw - 32px);color:var(--color-ink);background:var(--color-surface);box-shadow:var(--shadow-dialog);border:0;border-radius:12px;padding:0}.publish-dialog::backdrop{background:var(--color-overlay)}.publish-dialog h3{margin:0;font-size:20px}.publish-impact{border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);margin-top:19px}.publish-impact>div{grid-template-columns:108px 1fr;gap:14px;padding:12px 0;display:grid}.publish-impact>div+div{border-top:1px solid var(--color-border)}.publish-impact strong{color:var(--color-ink);font-size:12px}.publish-impact span{color:var(--color-muted);font-size:12px;line-height:1.5}.project-latest-release{border-bottom:1px solid var(--color-border);padding:18px 0}.project-latest-release h4{color:var(--color-danger);margin:0;font-size:13px}.project-latest-release>div{margin-top:10px}.project-detail-columns{grid-template-columns:1fr 1fr;gap:24px;padding:20px 0;display:grid}.project-detail-columns>section+section{border-left:1px solid var(--color-border);padding-left:24px}.project-release-item{border-top:1px solid var(--color-border);grid-template-columns:72px minmax(0,1fr);gap:3px 10px;padding:11px 0;display:grid}.project-release-item strong{color:var(--color-ink);grid-row:1/span 2;font-size:12px}.project-release-item p{color:var(--color-muted);font-size:12px;line-height:1.45}.project-release-item small{color:var(--color-muted);font-size:12px}.project-detail-relation{border-top:1px solid var(--color-border);grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:11px 0;display:grid}.project-detail-relation>div:first-child{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:4px 8px;display:grid}.project-detail-relation strong{font-size:12px}.project-detail-relation small{color:var(--color-muted);grid-column:2;font-size:12px}.knowledge-edit-dialog{width:min(880px,100vw - 32px)}.knowledge-edit-columns{grid-template-columns:1.15fr .85fr;gap:28px;padding-top:22px;display:grid}.knowledge-edit-columns>section+section{border-left:1px solid var(--color-border);padding-left:28px}.knowledge-edit-columns h4{color:var(--color-ink);margin:0 0 6px;font-size:13px}.knowledge-edit-columns section>p{color:var(--color-muted);font-size:12px;line-height:1.5}.knowledge-editor-form{gap:13px;margin-top:16px;display:grid}.knowledge-editor-form label{color:var(--color-muted);gap:6px;font-size:12px;font-weight:600;display:grid}.knowledge-editor-actions{justify-content:flex-end;gap:7px;padding-top:4px;display:flex}.knowledge-editor-actions button{min-width:94px}.knowledge-project-dialog{width:min(780px,100vw - 32px)}.knowledge-project-source{border-bottom:1px solid var(--color-border);padding-bottom:16px}.knowledge-project-source span,.knowledge-project-preview span{color:var(--color-muted);letter-spacing:.08em;font-size:12px;font-weight:700;display:block}.knowledge-project-source strong{color:var(--color-ink);margin-top:5px;font-size:15px;display:block}.knowledge-project-source p{color:var(--color-muted);margin-top:4px;font-size:12px;line-height:1.5}.knowledge-project-mode{border:0;grid-template-columns:1fr 1fr;gap:9px;margin:0;padding:0;display:grid}.knowledge-project-mode legend,.knowledge-project-conflict-options legend{color:var(--color-muted);grid-column:1/-1;margin-bottom:4px;font-size:12px;font-weight:650}.knowledge-project-mode label{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);cursor:pointer;align-items:flex-start;gap:9px;padding:11px;display:flex}.knowledge-project-mode label:has(input:checked){border-color:var(--color-muted);background:var(--color-surface-subtle)}.knowledge-project-mode label.disabled{cursor:not-allowed;opacity:.48}.knowledge-project-mode label span{gap:3px;display:grid}.knowledge-project-mode strong{color:var(--color-ink);font-size:12px}.knowledge-project-mode small,.knowledge-project-fields small{color:var(--color-muted);font-size:12px;line-height:1.4}.knowledge-project-fields{grid-template-columns:1fr 1fr;gap:12px;display:grid}.knowledge-project-fields label{color:var(--color-muted);gap:6px;font-size:12px;font-weight:600;display:grid}.knowledge-project-relation{border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);grid-template-columns:minmax(0,1fr) 210px;align-items:end;gap:18px;padding:13px 0;display:grid}.knowledge-project-preview{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);padding:14px}.knowledge-project-preview>div:first-child>strong{color:var(--color-ink);margin-top:4px;font-size:12px;display:block}.knowledge-project-preview>div:first-child>p{color:var(--color-muted);margin-top:4px;font-size:12px;line-height:1.5}.knowledge-project-compare{border:1px solid var(--color-border);background:var(--color-surface-subtle);grid-template-columns:1fr 1fr;gap:1px;margin-top:13px;display:grid}.knowledge-project-compare article{background:var(--color-surface);min-width:0;padding:11px}.knowledge-project-compare strong{color:var(--color-ink);margin-top:4px;font-size:12px;display:block}.knowledge-project-compare p{color:var(--color-muted);white-space:pre-wrap;margin-top:4px;font-size:12px;line-height:1.5}.knowledge-project-conflict-options{border:0;border-top:1px solid var(--color-border);gap:7px;margin:14px 0 0;padding:12px 0 0;display:grid}.knowledge-project-conflict-options label{color:var(--color-ink);font-size:12px}.project-profile-dialog{width:min(820px,100vw - 32px);max-height:calc(100vh - 48px);color:var(--color-ink);background:var(--color-surface);box-shadow:var(--shadow-dialog);border:0;border-radius:12px;padding:0;overflow:hidden}.project-profile-dialog::backdrop{background:var(--color-overlay)}.project-profile-fields{grid-template-columns:minmax(0,1fr) 180px;gap:13px;padding:20px 0;display:grid}.project-profile-fields label,.project-source-row label{color:var(--color-muted);align-content:start;gap:6px;font-size:12px;font-weight:600;display:grid}.project-profile-fields small{color:var(--color-muted);font-size:12px;font-weight:500}.project-profile-wide-field{grid-column:1/-1}.project-source-editor{border-top:1px solid var(--color-border);padding:18px 0}.project-source-editor-heading{outline:none;justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.project-source-editor-heading h4{color:var(--color-ink);margin:0;font-size:13px}.project-source-editor-heading p{color:var(--color-muted);margin-top:4px;font-size:12px;line-height:1.5}.project-source-list{gap:9px;margin-top:14px;display:grid}.project-source-row{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);grid-template-columns:minmax(180px,1fr) 150px auto;align-items:end;gap:10px;padding:12px;display:grid}.project-source-wide-field{grid-column:1/span 2}.project-source-remove{min-height:32px;color:var(--color-danger);background:0 0;border:0;padding:6px 9px;font-size:12px}.project-source-remove:hover{color:var(--color-danger);text-decoration:underline}@media (width<=1180px){.app-shell{grid-template-columns:210px 1fr}.personal-profile-layout{grid-template-columns:minmax(0,1fr) 300px}.personal-profile-table-head,.personal-profile-row{grid-template-columns:78px minmax(190px,1fr) minmax(135px,.75fr) 105px}}.quiet-button.mobile-nav-toggle,.quiet-button.mobile-nav-close{display:none}@media (width<=720px){.service-connection-grid{grid-template-columns:minmax(0,1fr)}.service-connection-card dl>div{grid-template-columns:minmax(64px,.3fr) minmax(0,1fr)}.view.vue-personal-profile{padding:16px}.personal-profile-summary{flex:none;grid-template-columns:repeat(2,minmax(0,1fr));padding:8px;display:grid}.personal-profile-summary>button{overflow-wrap:anywhere;justify-content:space-between;min-width:0;padding:6px 10px}.personal-profile-summary>p{grid-column:1/-1;margin:8px 6px 0}.personal-profile-toolbar,.personal-profile-filter-groups{flex-wrap:wrap;gap:8px}.personal-profile-filter-groups,.personal-profile-toolbar-actions{width:100%;min-width:0}.personal-profile-filters{max-width:100%;overflow-x:auto}.personal-profile-filters button{white-space:nowrap;flex:none}.personal-profile-scope-filter{width:100%}.personal-profile-table-head,.personal-profile-row{grid-template-columns:64px minmax(0,1fr) 72px;gap:8px;padding-inline:10px}.personal-profile-table-head>:last-child,.personal-profile-row>time{display:none}.personal-profile-origin{min-width:0;overflow:hidden}.external-binding-form,.conflict-policy-controls{grid-template-columns:minmax(0,1fr)}.external-binding-form .wide-field{grid-column:auto}}.mobile-nav-backdrop{display:none}@media (width<=920px){.personal-profile-layout:not(.has-selection),.knowledge-layout:not(.has-selection){grid-template-rows:minmax(0,1fr)}.personal-profile-layout:not(.has-selection) .personal-profile-inspector,.knowledge-layout:not(.has-selection) .graph-inspector{display:none}.personal-profile-layout,.knowledge-layout{grid-template-rows:minmax(160px,1fr) minmax(160px,.8fr);grid-template-columns:minmax(0,1fr)}.personal-profile-inspector,.graph-inspector{border-left:0;border-top:1px solid var(--color-border);min-width:0;min-height:0}body{min-width:0}.app-shell{flex-direction:column;width:100%;height:100dvh;display:flex}.sidebar{z-index:40;border-right:1px solid var(--color-border);width:min(320px,100vw - 48px);height:100dvh;padding:12px 14px 16px;display:none;position:fixed;inset:0 auto 0 0;overflow:hidden}.mobile-nav-backdrop{z-index:30;background:var(--color-overlay);border:0;width:100%;height:100%;padding:0;display:block;position:fixed;inset:0}.sidebar.is-mobile-open{display:flex}.quiet-button.mobile-nav-close{flex:none;align-self:flex-end;margin-bottom:8px;display:inline-flex}.workspace{flex:auto;min-width:0;height:auto}.topbar{flex-wrap:wrap;gap:8px 10px;min-height:auto;padding:10px 12px}.quiet-button.mobile-nav-toggle{flex:none;align-items:center;gap:7px;width:38px;padding-inline:10px;display:inline-flex}.mobile-nav-icon{border-top:1.5px solid;border-bottom:1.5px solid;width:15px;height:10px;position:relative}.mobile-nav-icon:after{content:"";border-top:1.5px solid;position:absolute;inset:3px 0 auto}.topbar-heading{flex:100px}.topbar-heading h1{font-size:22px}.view{padding:16px 20px 24px}.topbar-actions{justify-content:flex-end;gap:8px;margin-left:auto}.feedback{margin:12px 16px 0}}.external-binding-copy{min-width:0;padding:10px 0}.external-binding-row strong{overflow-wrap:anywhere;font-size:14px}.external-binding-targets{flex-wrap:wrap;align-items:center;gap:5px;margin-top:7px;display:flex}.external-binding-row .external-binding-targets b{color:var(--color-muted);font-size:12px;font-weight:650}.external-binding-row .external-binding-target-chip{border:1px solid var(--color-border);width:fit-content;color:var(--color-ink);background:var(--color-surface-subtle);border-radius:999px;align-items:center;margin:0;padding:3px 7px;font-size:12px;font-weight:620;display:inline-flex}.external-binding-row .external-binding-target-chip[data-status=error]{border-color:var(--color-danger-soft);color:var(--color-danger);background:var(--color-surface)}.external-binding-editor{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);grid-column:1/-1;grid-template-columns:repeat(4,minmax(150px,1fr));align-items:end;gap:10px;margin:8px 0 16px;padding:15px;display:grid}.external-binding-editor>label{min-width:0;color:var(--color-muted);grid-area:1/1/auto/4;gap:5px;font-size:12px;display:grid}.external-binding-editor .ui-select{width:100%;min-width:0}.external-target-mode-list{grid-area:2/1/auto/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 10px;display:grid}.external-target-mode-row{border:1px solid var(--color-border);background:var(--color-surface);border-radius:6px;grid-template-columns:minmax(120px,.62fr) minmax(170px,1fr);align-items:center;gap:12px;min-width:0;padding:8px 10px;display:grid}.external-binding-row .external-target-mode-row>span{min-width:0;color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:12px;font-weight:620;overflow:hidden}.external-binding-editor-actions{grid-area:1/4;justify-content:flex-end;gap:6px;display:flex}.external-binding-editor-actions button{min-height:36px}.external-create-action-icon{width:16px;height:16px;color:var(--color-surface);border:1px solid #ffffffb8;border-radius:50%;flex:0 0 16px;justify-content:center;align-items:center;display:inline-flex;position:relative}.external-create-action-icon:before,.external-create-action-icon:after{content:"";background:currentColor;border-radius:999px;width:7px;height:1.5px;display:block;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.external-create-action-icon:after{transform:translate(-50%,-50%)rotate(90deg)}@media (width<=1280px){.external-binding-editor{grid-template-columns:repeat(2,minmax(180px,1fr))}.external-binding-editor>label{grid-column:1/-1}.external-target-mode-list{grid-template-columns:1fr}.external-binding-editor-actions{grid-area:3/1/auto/-1}}@media (width<=720px){.external-binding-row{grid-template-columns:8px minmax(0,1fr);gap:6px 10px;padding:12px 0}.external-binding-actions{grid-column:2;justify-content:flex-start}.external-binding-copy{padding:0}.external-binding-editor{grid-template-columns:minmax(0,1fr);padding:12px}.external-target-mode-row{grid-template-columns:minmax(0,1fr);gap:6px}}.graph-stage{background:var(--color-surface);grid-template-columns:minmax(0,1fr);min-width:0;min-height:520px;display:grid;position:relative;overflow:hidden}.graph-stage.has-parent-projects{grid-template-columns:minmax(190px,220px) minmax(0,1fr)}.graph-canvas-active .graph-stage{min-height:0}.graph-canvas-panel{min-width:0;min-height:0;position:relative;overflow:hidden}#knowledge-graph{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}#knowledge-graph:active{cursor:grabbing}.project-hierarchy-aside{z-index:4;border-right:1px solid var(--color-border);background:var(--color-surface);min-width:0;padding:18px 16px;position:relative}.project-hierarchy-aside header{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:3px 8px;display:grid}.project-hierarchy-aside header>span{color:var(--color-muted);letter-spacing:.1em;grid-column:1/-1;font-size:12px;font-weight:720}.project-hierarchy-aside header>strong{color:var(--color-ink);font-size:15px;font-weight:680}.project-hierarchy-aside header>small{color:var(--color-muted);background:var(--color-surface-subtle);border-radius:999px;padding:2px 6px;font-size:12px;font-weight:680}.project-hierarchy-aside>p{color:var(--color-muted);margin-top:7px;font-size:12px;line-height:1.5}.project-hierarchy-aside nav{border-top:1px solid var(--color-border);margin-top:14px;display:grid}.project-parent-link{border-bottom:1px solid var(--color-border);min-width:0;color:inherit;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:9px;padding:12px 1px;text-decoration:none;display:grid}.project-parent-link:hover{background:var(--color-surface)}.project-parent-link:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.project-parent-icon{border-radius:var(--radius-control);width:32px;height:32px;color:var(--color-ink);background:var(--color-surface-subtle);place-items:center;display:grid}.project-parent-icon svg{width:17px;height:17px}.project-parent-icon path{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round}.project-parent-link>span:nth-child(2){gap:2px;min-width:0;display:grid}.project-parent-link small{color:var(--color-muted);font-size:12px}.project-parent-link strong{color:var(--color-ink);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:680;overflow:hidden}.project-parent-link em{color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-style:normal;overflow:hidden}.project-parent-link b{color:var(--color-muted);font-size:12px;font-weight:680}.graph-relation-legend{z-index:4;position:absolute;top:12px;left:12px}.graph-relation-legend>summary{border:1px solid var(--color-border);border-radius:var(--radius-control);min-height:30px;color:var(--color-ink);cursor:pointer;background:#fffffff2;grid-template-columns:15px auto auto 8px;align-items:center;gap:6px;padding:5px 8px;font-size:12px;font-weight:660;list-style:none;display:grid;box-shadow:0 3px 12px #26342b14}.graph-relation-legend>summary::-webkit-details-marker{display:none}.graph-relation-legend>summary svg{width:15px;height:15px}.graph-relation-legend>summary path{fill:none;stroke:var(--color-muted);stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round}.graph-relation-legend>summary small{min-width:17px;color:var(--color-muted);background:var(--color-surface-subtle);text-align:center;border-radius:999px;justify-self:end;width:fit-content;padding:1px 5px;font-size:12px}.graph-relation-legend>summary i{border-right:1.3px solid var(--color-muted);border-bottom:1.3px solid var(--color-muted);width:6px;height:6px;transform:translateY(-2px)rotate(45deg)}.graph-relation-legend[open]>summary i{transform:translateY(2px)rotate(225deg)}.graph-relation-legend-panel{border:1px solid var(--color-border);border-radius:var(--radius-control);width:250px;box-shadow:var(--shadow-popover);background:#fffffffa;margin-top:6px;padding:12px}.graph-relation-legend-panel header{gap:2px;padding-bottom:9px;display:grid}.graph-relation-legend-panel header strong{color:var(--color-ink);font-size:12px}.graph-relation-legend-panel header span{color:var(--color-muted);font-size:12px}.graph-relation-legend-panel ul{border-top:1px solid var(--color-border);max-height:300px;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.graph-relation-legend-panel li{border-bottom:1px solid var(--color-border);grid-template-columns:28px minmax(0,1fr);align-items:center;gap:8px;min-width:0;padding:8px 0;display:grid}.graph-relation-legend-panel li:last-child{border-bottom:0}.graph-relation-legend-panel li>svg{border-radius:var(--radius-control);width:28px;height:28px;color:var(--color-muted);background:var(--color-surface-subtle);padding:6px}.graph-relation-legend-panel li path{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round}.graph-relation-legend-panel li>span{gap:2px;min-width:0;display:grid}.graph-relation-legend-panel li strong{color:var(--color-ink);font-size:12px}.graph-relation-legend-panel li small{color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.graph-search-status{z-index:3;box-sizing:border-box;border:1px solid var(--color-border);border-radius:var(--radius-control);width:min(440px,100% - 36px);color:var(--color-ink);box-shadow:var(--shadow-popover);background:#fffffff7;padding:15px 16px;position:absolute;top:18px;left:50%;transform:translate(-50%)}.graph-search-status[hidden]{display:none}.graph-search-status-kicker{color:var(--color-warning);letter-spacing:.08em;margin-bottom:5px;font-size:12px;font-weight:720;display:block}.graph-search-status-title{font-size:14px;font-weight:680;display:block}.graph-search-status-copy{color:var(--color-muted);margin-top:5px;font-size:12px;line-height:1.55}.graph-search-suggestions{gap:5px;margin-top:11px;display:grid}.graph-search-suggestion{border:1px solid var(--color-border);color:inherit;background:var(--color-surface);border-radius:6px;justify-content:space-between;align-items:center;gap:18px;padding:8px 9px;text-decoration:none;display:flex}.graph-search-suggestion:hover{border-color:var(--color-border-strong);background:var(--color-surface-subtle)}.graph-search-suggestion>span{gap:2px;min-width:0;display:grid}.graph-search-suggestion strong{color:var(--color-ink);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.graph-search-suggestion small{color:var(--color-muted);font-size:12px}.graph-search-suggestion b{color:var(--color-ink);flex:none;font-size:12px;font-weight:680}.graph-empty{color:var(--color-muted);pointer-events:none;place-items:center;font-size:13px;display:grid;position:absolute;inset:0}.graph-hint{color:var(--color-muted);text-align:right;margin-top:8px;font-size:12px}.graph-edge{stroke:var(--color-border-strong);stroke-width:1.2px;opacity:.72;pointer-events:none;transition:opacity .12s,stroke .12s,stroke-width .12s}.graph-edge.historical{stroke-dasharray:5 4;opacity:.45}.graph-edge.human-change-pending{stroke:var(--color-warning);stroke-width:2.2px;stroke-dasharray:4 3;opacity:.9}.graph-edge.human-change-viewed{stroke:var(--color-muted)}.graph-edge-hit{stroke:#0000;stroke-width:15px;cursor:pointer}.graph-edge-label{opacity:.9;pointer-events:none;transition:opacity .12s}.graph-edge-label-bg{fill:#f9faf8f0;stroke:var(--color-border);stroke-width:.8px;transition:fill .12s,stroke .12s}.graph-edge-label-icon{fill:none;stroke:var(--color-muted);stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;transition:stroke .12s}.graph-edge-label-text{fill:var(--color-muted);pointer-events:none;font-size:8.5px;font-weight:650;transition:fill .12s}.graph-arrow{fill:var(--color-muted)}.graph-node{cursor:move;outline:none;transition:opacity .12s}.graph-node-human-marker{fill:var(--color-warning);stroke:var(--color-surface);stroke-width:1.5px;pointer-events:none}.graph-node.human-change-viewed .graph-node-human-marker{fill:var(--color-muted)}.graph-node-shape{stroke:var(--color-surface);stroke-width:2.5px;filter:drop-shadow(0 1px 2px #1c2a2126);transition:stroke .12s,stroke-width .12s,opacity .12s}.graph-project-ring{fill:var(--color-surface);stroke:var(--color-border-strong);stroke-width:1.5px;filter:drop-shadow(0 2px 4px #1f31271f);transition:fill .12s,stroke .12s,stroke-width .12s}.graph-node.project-node .graph-node-shape{fill:var(--color-ink);stroke:var(--color-surface);stroke-width:2.5px}.graph-project-icon{fill:none;stroke:var(--color-surface);stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;pointer-events:none}.graph-node-label{fill:var(--color-ink);text-anchor:middle;pointer-events:none;paint-order:stroke;stroke:var(--color-surface);stroke-width:3px;stroke-linejoin:round;font-size:12px;font-weight:540;transition:opacity .12s}.graph-node-id{fill:var(--color-muted);letter-spacing:.02em;text-anchor:middle;pointer-events:none;opacity:0;paint-order:stroke;stroke:var(--color-surface);stroke-width:2.5px;stroke-linejoin:round;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:7px;font-weight:560;transition:opacity .12s}.graph-node.project-node .graph-node-id{opacity:.72}.graph-search-badge{pointer-events:none;display:none}.graph-search-badge rect{fill:var(--color-warning-soft);stroke:var(--color-warning);stroke-width:1px}.graph-search-badge text{fill:var(--color-warning);text-anchor:middle;paint-order:stroke;stroke:var(--color-warning-soft);stroke-width:1px;font-size:12px;font-weight:740}.graph-node.search-match .graph-search-badge{display:block}.graph-node:hover .graph-node-id,.graph-node:focus-visible .graph-node-id,.graph-node.selected .graph-node-id{opacity:1}.graph-node:not(.project-node):hover .graph-node-shape,.graph-node:not(.project-node):focus-visible .graph-node-shape,.graph-node:not(.project-node).selected .graph-node-shape{stroke:var(--color-accent);stroke-width:3.5px}.graph-node:not(.project-node).related .graph-node-shape{stroke:var(--color-muted);stroke-width:3px}.graph-node.project-node:hover .graph-project-ring,.graph-node.project-node:focus-visible .graph-project-ring,.graph-node.project-node.selected .graph-project-ring{fill:var(--color-surface-subtle);stroke:var(--color-accent);stroke-width:2.4px}.graph-node.project-node.related .graph-project-ring{stroke:var(--color-muted);stroke-width:2px}.graph-node:not(.project-node).search-match .graph-node-shape{stroke:var(--color-warning);stroke-width:5px;filter:drop-shadow(0 0 5px #bd74166b)}.graph-node.project-node.search-match .graph-project-ring{fill:var(--color-warning-soft);stroke:var(--color-warning);stroke-width:3px;filter:drop-shadow(0 0 5px #bd741652)}.graph-node.pinned .graph-node-shape{stroke:var(--color-muted);stroke-width:3px}.graph-node.dimmed,.graph-edge.dimmed,.graph-edge-label.dimmed{opacity:.08}.graph-node.dimmed .graph-node-id{opacity:.05}.graph-edge.related{stroke:var(--color-muted);stroke-width:2px;opacity:.9}.graph-edge.selected{stroke:var(--color-accent);stroke-width:2.8px;opacity:1}.graph-edge.search-match{stroke:var(--color-warning);stroke-width:2.8px;opacity:1}.graph-edge-label.search-match{opacity:1}.graph-edge-label.search-match .graph-edge-label-bg{fill:var(--color-warning-soft);stroke:var(--color-warning)}.graph-edge-label.search-match .graph-edge-label-icon{stroke:var(--color-warning)}.graph-edge-label.search-match .graph-edge-label-text{fill:var(--color-warning)}.graph-edge-label.related,.graph-edge-label.selected{opacity:1}.graph-edge-label.related .graph-edge-label-bg,.graph-edge-label.selected .graph-edge-label-bg{fill:var(--color-surface-subtle);stroke:var(--color-accent)}.graph-edge-label.related .graph-edge-label-icon,.graph-edge-label.selected .graph-edge-label-icon{stroke:var(--color-accent)}.graph-edge-label.related .graph-edge-label-text,.graph-edge-label.selected .graph-edge-label-text{fill:var(--color-accent);font-weight:700}.graph-viewport--compact-labels .graph-node-label,.graph-viewport--compact-labels .graph-node .graph-node-id,.graph-viewport--compact-labels .graph-edge-label{opacity:0}.graph-viewport--compact-labels .graph-node.project-node .graph-node-label,.graph-viewport--compact-labels .graph-node:is(:hover,:focus-visible,.selected,.search-match) .graph-node-label,.graph-viewport--compact-labels .graph-node:is(:hover,:focus-visible,.selected,.search-match) .graph-node-id,.graph-viewport--compact-labels .graph-edge-label:is(.hovered,.focused,.selected,.search-match){opacity:1}.knowledge-filter-disclosure{flex:none;padding-block:10px}.knowledge-filter-controls{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}@media (width<=720px){.knowledge-filter-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.graph-toolbar>.ui-select{width:100%}.graph-toolbar .search-form{flex:160px;min-width:0}.graph-view-actions{border-left:0;padding-left:0}.knowledge-mode-switch{gap:20px}}#app{height:100%}.feedback-message{align-items:center;gap:12px;display:flex}.feedback-message>span{overflow-wrap:anywhere;flex:1;min-width:0}.feedback-dismiss{min-width:44px;min-height:44px;color:inherit;background:0 0;border:0;flex:none}.status-dot.idle{background:var(--color-muted)}.view-loading{min-height:240px;color:var(--color-muted);place-items:center;font-size:12px;display:grid}.inline-error{color:var(--color-danger)}.inspector-meta>div{min-width:0}.inspector-meta dd{overflow-wrap:anywhere}.inspector-placeholder{color:var(--color-muted);font-size:12px;line-height:1.55}.feedback,.project-card,.knowledge-row,.personal-profile-row{transition:border-color .15s,background-color .15s}.vue-personal-profile{flex-direction:column;padding:18px 32px 20px;display:flex;overflow:hidden}.vue-knowledge-view{flex-direction:column;padding:18px 24px 20px;display:flex;overflow:hidden}.vue-knowledge-view .knowledge-layout{flex:1;min-height:0}.compact-relation-form{grid-template-columns:repeat(3,minmax(180px,1fr)) auto;align-items:end;gap:12px;padding:16px;display:grid}.compact-relation-form label{color:var(--color-muted);gap:5px;font-size:12px;display:grid}.compact-relation-form select{min-width:0}.compact-relation-form .ui-select{width:100%;min-width:0}.compact-relation-preview{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);grid-column:1/-1;gap:4px;padding:11px 12px;display:grid}.compact-relation-preview span{color:var(--color-muted);letter-spacing:.08em;font-size:12px;font-weight:700}.compact-relation-preview strong{color:var(--color-ink);font-size:12px}.compact-relation-preview p{color:var(--color-muted);font-size:12px;line-height:1.5}@media (width<=1180px){.compact-relation-form{grid-template-columns:repeat(2,minmax(180px,1fr))}}.locale-switcher{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface-subtle);align-items:center;gap:2px;padding:2px;display:inline-flex}.locale-switcher button{min-width:30px;min-height:26px;color:var(--color-muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:0 7px;font-size:12px;font-weight:700}.locale-switcher button:hover{color:var(--color-ink)}.locale-switcher button[aria-pressed=true]{background:var(--color-surface);color:var(--color-ink);box-shadow:0 1px 2px #20342a1f}.is-project-overview{overflow:auto}.is-project-overview>.knowledge-view-heading,.project-overview{width:100%;max-width:var(--page-max);margin-inline:auto}.project-overview{align-content:start;gap:var(--space-6);padding-block:var(--space-4) var(--space-8);flex:1 0 auto;display:grid}.project-overview-header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);display:flex}.project-overview-failed{align-items:center;gap:var(--space-3);padding-block:var(--space-6);display:flex}.project-overview-title{gap:var(--space-2);min-width:0;display:grid}.project-overview-title h2{font-size:var(--text-title);letter-spacing:-.02em;overflow-wrap:anywhere;font-weight:650;line-height:1.25}.project-overview-purpose{max-width:var(--measure);color:var(--color-ink-soft);line-height:1.6}.project-overview-actions{align-items:center;gap:var(--space-2);flex:none;display:flex}.project-team{gap:var(--space-3);padding:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);display:grid}.project-team-header{align-items:center;gap:var(--space-3);min-height:var(--control-height);display:flex}.project-team-header h3{font-size:var(--text-section);margin-right:auto;font-weight:650}.project-team-icon,.project-team-chevron{fill:none;stroke:currentColor;stroke-width:1.75px;stroke-linecap:round;stroke-linejoin:round;width:18px;height:18px}.project-team-stale{align-items:center;gap:var(--space-2);color:var(--color-warning);font-size:var(--text-meta);display:flex}.project-team-state{justify-content:space-between;align-items:center;gap:var(--space-3);padding-block:var(--space-2);flex-wrap:wrap;display:flex}.project-team-lead{align-items:center;gap:var(--space-4);width:100%;padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);color:inherit;font:inherit;text-align:left;cursor:pointer;transition:background-color var(--motion-fast) var(--motion-ease), border-color var(--motion-fast) var(--motion-ease);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.project-team-lead:hover{background:var(--color-surface-hover);border-color:var(--color-border-strong)}.project-team-lead:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.project-team-lead[aria-expanded=true] .project-team-chevron{transform:rotate(180deg)}.project-team-chevron{color:var(--color-muted);transition:transform var(--motion-fast) var(--motion-ease)}.project-team-lead-text{gap:2px;min-width:0;display:grid}.project-team-lead-name{align-items:baseline;gap:var(--space-2);flex-wrap:wrap;display:flex}.project-team-lead-name strong{font-size:16px;font-weight:650}.project-team-responsibility{color:var(--color-ink-soft);max-width:var(--measure);line-height:1.5}.project-team-preview{overflow-wrap:anywhere}.project-team-avatar{background:var(--color-accent-soft);width:40px;height:40px;color:var(--color-accent);border-radius:50%;flex:none;place-items:center;font-size:18px;font-weight:650;display:inline-grid}.project-team-avatar.is-small{width:28px;height:28px;font-size:13px}.project-team-organization{gap:var(--space-4);padding-inline:var(--space-1);display:grid}.project-team-group{gap:var(--space-2);display:grid}.project-team-group h4{color:var(--color-muted);font-size:var(--text-meta);font-weight:600}.project-team-group.is-members{padding-left:var(--space-5);border-left:1px solid var(--color-border-strong)}.project-team-list{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.project-team-list li{align-items:flex-start;gap:var(--space-3);min-width:0;display:flex}.project-team-person{gap:2px;min-width:0;display:grid}@media (width>=1440px){.project-team-organization{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));align-items:start}.project-team-organization>.project-team-list,.project-team-organization>p{grid-column:1/-1}}@media (width<=640px){.project-overview-header{gap:var(--space-3)}.project-overview-actions{flex-wrap:wrap;justify-content:flex-end}.project-team{padding:var(--space-4)}.project-team-lead{gap:var(--space-3);padding:var(--space-3)}}:where(button,input,select,textarea){font:inherit;color:inherit}:where(button,a,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}:where(button):disabled{cursor:not-allowed;opacity:.45}:where(input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]),select,textarea){min-width:0;min-height:var(--control-height);border:1px solid var(--color-control-border);border-radius:var(--radius-control);color:var(--color-ink);background:var(--color-surface);transition:border-color var(--motion-fast), box-shadow var(--motion-fast);padding:7px 11px;font-size:14px;line-height:1.5}:where(input,textarea)::placeholder{color:var(--color-faint);opacity:1}:where(textarea){resize:vertical;line-height:1.6}:where(input:not([type=checkbox]):not([type=radio]),textarea,select):hover:not(:disabled){border-color:var(--color-border-strong)}:where(input:not([type=checkbox]):not([type=radio]),textarea,select):focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-soft);outline:none}:where(input,textarea,select):disabled{color:var(--color-muted);background:var(--color-surface-subtle);cursor:not-allowed}:where(select){appearance:none;cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%2366706a' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m3 4.5 3 3 3-3'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;padding-right:32px}:where(input[type=checkbox]:not([role=switch]),input[type=radio]){appearance:none;border:1.5px solid var(--color-control-border);background:var(--color-surface);cursor:pointer;width:16px;height:16px;transition:background-color var(--motion-fast), border-color var(--motion-fast);flex:none;place-content:center;margin:0;display:inline-grid}:where(input[type=checkbox]:not([role=switch])){border-radius:4px}:where(input[type=radio]){border-radius:50%}:where(input[type=checkbox]:not([role=switch]),input[type=radio]):checked{border-color:var(--color-accent);background:var(--color-accent)}:where(input[type=checkbox]:not([role=switch])):checked:after{content:"";border:solid var(--color-on-accent);border-width:0 0 2px 2px;width:9px;height:5px;margin-top:-2px;transform:rotate(-45deg)}:where(input[type=radio]):checked:after{content:"";background:var(--color-on-accent);border-radius:50%;width:6px;height:6px}:where(input[type=checkbox],input[type=radio]):disabled{opacity:.5;cursor:not-allowed}.ui-button,.quiet-button,.primary-button,.primary-action,.secondary-action,.management-action,.toolbar-action{min-height:var(--control-height);border:1px solid var(--color-border-strong);border-radius:var(--radius-control);color:var(--color-ink);background:var(--color-surface);letter-spacing:.01em;white-space:nowrap;cursor:pointer;transition:background-color var(--motion-fast), border-color var(--motion-fast), color var(--motion-fast);justify-content:center;align-items:center;gap:6px;padding:6px 14px;font-size:13px;font-weight:550;line-height:1.4;text-decoration:none;display:inline-flex}.ui-button:hover:not(:disabled),.quiet-button:hover:not(:disabled),.secondary-action:hover:not(:disabled),.management-action:hover:not(:disabled){background:var(--color-surface-hover);border-color:var(--color-control-border)}.ui-button--primary,.primary-button,.primary-action{color:var(--color-on-accent);background:var(--color-accent);border-color:var(--color-accent)}.ui-button--primary:hover:not(:disabled),.primary-button:hover:not(:disabled),.primary-action:hover:not(:disabled){background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.ui-button--ghost,.toolbar-action{color:var(--color-ink-soft);background:0 0;border-color:#0000}.ui-button--ghost:hover:not(:disabled),.toolbar-action:hover:not(:disabled){background:var(--color-surface-hover);color:var(--color-ink)}.ui-button--danger,.quiet-button.danger{color:var(--color-danger)}.ui-button--danger:hover:not(:disabled),.quiet-button.danger:hover:not(:disabled){background:var(--color-danger-soft);border-color:var(--color-danger-soft)}.ui-button--sm{min-height:var(--control-height-sm);padding:4px 10px;font-size:12px}.ui-button--icon{width:var(--control-height);flex:none;padding:0}.ui-button--icon.ui-button--sm{width:var(--control-height-sm)}.ui-card{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);min-width:0}.ui-badge{background:var(--color-surface-subtle);width:fit-content;color:var(--color-ink-soft);white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:2px 8px;font-size:12px;font-weight:500;line-height:1.5;display:inline-flex}.ui-badge--accent{color:var(--color-accent);background:var(--color-accent-soft)}.ui-badge--success{color:var(--color-success);background:var(--color-success-soft)}.ui-badge--warning{color:var(--color-warning);background:var(--color-warning-soft)}.ui-badge--danger{color:var(--color-danger);background:var(--color-danger-soft)}.ui-muted{color:var(--color-muted)}.ui-meta{color:var(--color-muted);font-size:var(--text-meta)}.ui-num{font-variant-numeric:tabular-nums}.ui-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.ui-empty{color:var(--color-muted);text-align:center;padding:48px 24px;font-size:14px}.ui-field{min-width:0;color:var(--color-ink-soft);gap:6px;font-size:13px;font-weight:500;display:grid}.ui-field>:is(input,textarea,select,.ui-select){width:100%;font-weight:400}.ui-check{color:var(--color-ink);cursor:pointer;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:9px;font-size:13px;line-height:1.5;display:grid}.ui-field-hint{color:var(--color-muted);font-size:12px;font-weight:400}.ui-sr-only{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.ui-disclosure{border-top:1px solid var(--color-border);padding-block:14px}.ui-disclosure>summary{cursor:pointer;color:var(--color-ink);justify-content:space-between;align-items:center;gap:12px;font-size:14px;font-weight:600;list-style:none;display:flex}.ui-disclosure>summary::-webkit-details-marker{display:none}.ui-disclosure>summary:after{content:"";border:solid var(--color-muted);width:7px;height:7px;transition:transform var(--motion-fast);border-width:0 1.5px 1.5px 0;margin:0 4px 4px;transform:rotate(45deg)}.ui-disclosure[open]>summary:after{margin-top:5px;transform:rotate(225deg)}.ui-disclosure[open]>summary{margin-bottom:14px}dialog{color:var(--color-ink)}dialog::backdrop{background:var(--color-overlay);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.ui-dialog{border:1px solid var(--color-border);border-radius:var(--radius-dialog);background:var(--color-surface);width:min(560px,100vw - 32px);max-height:calc(100dvh - 48px);box-shadow:var(--shadow-dialog);padding:0;overflow:hidden}.ui-dialog--sm{width:min(420px,100vw - 32px)}.ui-dialog--lg{width:min(760px,100vw - 32px)}.ui-dialog--xl{width:min(1040px,100vw - 32px)}.ui-dialog[open]{animation:ui-dialog-in .18s var(--motion-ease)}@keyframes ui-dialog-in{0%{opacity:0;transform:translateY(6px)scale(.99)}}.ui-dialog__shell{flex-direction:column;min-height:0;max-height:calc(100dvh - 50px);display:flex}.ui-dialog__header{justify-content:space-between;align-items:flex-start;gap:16px;padding:20px 24px 0;display:flex}.ui-dialog__header h2{letter-spacing:-.01em;margin:0;font-size:17px;font-weight:600}.ui-dialog__header p{color:var(--color-muted);margin-top:4px;font-size:13px}.ui-dialog__body{overscroll-behavior:contain;flex-direction:column;gap:16px;min-height:0;padding:18px 24px;display:flex;overflow-y:auto}.ui-dialog__footer{border-top:1px solid var(--color-border);background:var(--color-bg);justify-content:flex-end;align-items:center;gap:8px;padding:14px 24px;display:flex}.ui-dialog__error{border-radius:var(--radius-control);color:var(--color-danger);background:var(--color-danger-soft);justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;font-size:13px;display:flex}.ui-dialog__error p{margin:0}.ui-dialog__body textarea{resize:vertical}.ui-dialog fieldset{border:0;min-width:0;margin:0;padding:0}.ui-segmented{background:var(--color-surface-subtle);border-radius:10px;gap:2px;padding:3px;display:inline-flex}.ui-segmented>button{min-height:28px;color:var(--color-muted);cursor:pointer;transition:background-color var(--motion-fast), color var(--motion-fast);background:0 0;border:0;border-radius:7px;padding:3px 12px;font-size:13px;font-weight:500}.ui-segmented>button:hover{color:var(--color-ink)}.ui-segmented>button[aria-pressed=true],.ui-segmented>button[aria-selected=true],.ui-segmented>button[aria-checked=true]{color:var(--color-ink);background:var(--color-surface);box-shadow:0 1px 2px #1b1f1d1a}.ui-segmented small{color:var(--color-faint);font-variant-numeric:tabular-nums;margin-left:4px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:0s!important;animation-duration:0s!important}}
@@ -1 +1 @@
1
- import{a as e,n as t,o as n,r}from"./i18n-oJFlt8hW.js";import{a as i,o as a,r as o}from"./client-DnwnUBQV.js";function s(e,t){return t.split(`.`).reduce((e,t)=>e&&typeof e==`object`?e[t]:void 0,e)}function c(i,a=``){let o=`judgment.${i}`;if(r.global.te(o))return e(o);let c=s(n[t()],i);return typeof c==`string`?c:a||o}function l(e,t){let n=new URLSearchParams({personalSpaceId:e});return t&&n.set(`personalProjectId`,t),n.toString()}function u(e,t){return o(`/api/judgment/policy?${l(e,t)}`)}function d(e,t,n,r){let i={personalSpaceId:e,policy:n,expectedRevision:r};return t&&(i.personalProjectId=t),a(`/api/judgment/policy`,i)}function f(e,t){return o(`/api/judgment/records?${l(e,t)}`)}function p(e,t,n=10){let r=globalThis.crypto?.randomUUID?.()??`${Date.now()}-${Math.random().toString(36).slice(2)}`;return i(`/api/judgment/review`,{personalSpaceId:e,...t?{personalProjectId:t}:{},requestId:r,limit:n})}function m(e,t,n,r,a){return i(`/api/judgment/feedback`,{personalSpaceId:e,decisionId:t,vote:n,reason:r,expectedRevision:a})}var h={mode:`manual`,quality:`quality`,client:`codex`};function g(e){return e===`manual`||e===`shared`||e===`autonomous`}function _(e){return e===`quality`||e===`balanced`||e===`economy`}function v(e){return e===`codex`||e===`claude_code`}function y(e,t={...h,revision:0,globalRevision:0,inherited:!1,personalProjectId:null}){if(!e||typeof e!=`object`)return t;let n=e;return{mode:g(n.mode)?n.mode:t.mode,quality:_(n.quality)?n.quality:t.quality,client:v(n.client)?n.client:t.client,revision:typeof n.revision==`number`?n.revision:t.revision,globalRevision:typeof n.globalRevision==`number`?n.globalRevision:t.globalRevision,inherited:n.inherited===!0,personalProjectId:typeof n.personalProjectId==`string`?n.personalProjectId:null}}function b(e){return{mode:e.mode,quality:e.quality,client:e.client}}function x(e){return e.outcome===`escalate`||e.outcome===`failed`||e.execution.status===`not_applied`&&e.policy?.mode===`manual`||e.execution.status===`stale`||e.execution.status===`failed`}export{u as a,d as c,b as i,m as l,x as n,f as o,y as r,p as s,h as t,c as u};
1
+ import{a as e,n as t,o as n,r}from"./i18n-x1XkVwhW.js";import{a as i,o as a,r as o}from"./client-B9ebMaql.js";function s(e,t){return t.split(`.`).reduce((e,t)=>e&&typeof e==`object`?e[t]:void 0,e)}function c(i,a=``){let o=`judgment.${i}`;if(r.global.te(o))return e(o);let c=s(n[t()],i);return typeof c==`string`?c:a||o}function l(e,t){let n=new URLSearchParams({personalSpaceId:e});return t&&n.set(`personalProjectId`,t),n.toString()}function u(e,t){return o(`/api/judgment/policy?${l(e,t)}`)}function d(e,t,n,r){let i={personalSpaceId:e,policy:n,expectedRevision:r};return t&&(i.personalProjectId=t),a(`/api/judgment/policy`,i)}function f(e,t){return o(`/api/judgment/records?${l(e,t)}`)}function p(e,t,n=10){let r=globalThis.crypto?.randomUUID?.()??`${Date.now()}-${Math.random().toString(36).slice(2)}`;return i(`/api/judgment/review`,{personalSpaceId:e,...t?{personalProjectId:t}:{},requestId:r,limit:n})}function m(e,t,n,r,a){return i(`/api/judgment/feedback`,{personalSpaceId:e,decisionId:t,vote:n,reason:r,expectedRevision:a})}var h={mode:`manual`,quality:`quality`,client:`codex`};function g(e){return e===`manual`||e===`shared`||e===`autonomous`}function _(e){return e===`quality`||e===`balanced`||e===`economy`}function v(e){return e===`codex`||e===`claude_code`}function y(e,t={...h,revision:0,globalRevision:0,inherited:!1,personalProjectId:null}){if(!e||typeof e!=`object`)return t;let n=e;return{mode:g(n.mode)?n.mode:t.mode,quality:_(n.quality)?n.quality:t.quality,client:v(n.client)?n.client:t.client,revision:typeof n.revision==`number`?n.revision:t.revision,globalRevision:typeof n.globalRevision==`number`?n.globalRevision:t.globalRevision,inherited:n.inherited===!0,personalProjectId:typeof n.personalProjectId==`string`?n.personalProjectId:null}}function b(e){return{mode:e.mode,quality:e.quality,client:e.client}}function x(e){return e.outcome===`escalate`||e.outcome===`failed`||e.execution.status===`not_applied`&&e.policy?.mode===`manual`||e.execution.status===`stale`||e.execution.status===`failed`}export{u as a,d as c,b as i,m as l,x as n,f as o,y as r,p as s,h as t,c as u};
@@ -1 +1 @@
1
- import{a as e,n as t}from"./i18n-oJFlt8hW.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&&e.confirmationStatus===`confirmed`&&[`user`,`authoritative_source`].includes(t.confirmed_by.kind)?`confirmed`:e.confirmationExplicit&&t?.confirmed_by&&t.confirmed_at&&e.confirmationStatus===`agent_confirmed`&&t.confirmed_by.kind===`agent`&&t.agent_policy_version?`agent_confirmed`:e.aiAssessment&&e.aiReviewEvidenceToken?`ai_reviewed`:`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)}):P(t)===`ai_reviewed`?e(`knowledge.domain.confirmation.aiReviewed`):n?e(`knowledge.domain.confirmation.pending`,{actor:h(n.proposed_by)}):e(`knowledge.domain.confirmation.legacyPending`)}function U(t){let n=t.confirmationBasis;return P(t)===`ai_reviewed`?e(`knowledge.domain.confirmation.aiReviewed`):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,aiReviewEvidenceToken:e.ai_review_evidence_token??null,aiAssessment:e.ai_assessment??null,aiReviewedAt:e.ai_reviewed_at??null,aiReviewId:e.ai_review_id??null,aiReviewDecisionId:e.ai_review_decision_id??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-x1XkVwhW.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&&e.confirmationStatus===`confirmed`&&[`user`,`authoritative_source`].includes(t.confirmed_by.kind)?`confirmed`:e.confirmationExplicit&&t?.confirmed_by&&t.confirmed_at&&e.confirmationStatus===`agent_confirmed`&&t.confirmed_by.kind===`agent`&&t.agent_policy_version?`agent_confirmed`:e.aiAssessment&&e.aiReviewEvidenceToken?`ai_reviewed`:`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)}):P(t)===`ai_reviewed`?e(`knowledge.domain.confirmation.aiReviewed`):n?e(`knowledge.domain.confirmation.pending`,{actor:h(n.proposed_by)}):e(`knowledge.domain.confirmation.legacyPending`)}function U(t){let n=t.confirmationBasis;return P(t)===`ai_reviewed`?e(`knowledge.domain.confirmation.aiReviewed`):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,aiReviewEvidenceToken:e.ai_review_evidence_token??null,aiAssessment:e.ai_assessment??null,aiReviewedAt:e.ai_reviewed_at??null,aiReviewId:e.ai_review_id??null,aiReviewDecisionId:e.ai_review_decision_id??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 +1 @@
1
- import{r as e}from"./client-DnwnUBQV.js";import{t}from"./model-BJ-UF4cs.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};
1
+ import{r as e}from"./client-B9ebMaql.js";import{t}from"./model-BTpIEeuF.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
+ import{r as e}from"./client-B9ebMaql.js";function t(t,n){return e(`/api/project-team?${new URLSearchParams({personalSpaceId:t,personalProjectId:n})}`)}export{t};
@@ -1 +1 @@
1
- import{E as e,H as t,I as n,M as r,P as i,Q as a,S as o,T as s,U as ee,_ as te,a as c,at as ne,b as l,f as re,g as u,h as ie,it as d,j as ae,ot as f,rt as p,s as oe,v as m,x as h,y as g}from"./i18n-oJFlt8hW.js";import{r as _,s as v}from"./client-DnwnUBQV.js";import{t as y}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as se}from"./ProjectScopePicker-CiDxM2Yx.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`},pe={class:`employee-all-projects-search`},me=[`placeholder`],he={key:0,class:`employee-all-projects-notice`,role:`status`},ge={key:1,class:`employee-all-projects-notice`,role:`status`},_e={key:2,class:`employee-all-projects-notice`,role:`status`},ve={key:3,class:`employee-all-projects-notice is-error`,role:`alert`},ye={key:4,class:`employee-all-projects-empty`},be={key:5,class:`employee-all-projects-empty`},xe={key:6,class:`employee-all-projects-empty`},Se={key:7,class:`employee-all-projects-board-shell`},Ce={key:0,id:`employee-drag-instructions`,class:`visually-hidden`},we={class:`visually-hidden`,"aria-live":`assertive`,"aria-atomic":`true`},Te=[`aria-label`],Ee=[`aria-label`],De=[`data-drag-placeholder`,`aria-hidden`],Oe=[`disabled`,`aria-label`,`onClick`],ke={class:`employee-all-projects-project`},b={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=y(e({__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(e,{emit:_}){let y=e,T=_,E=a(``),D=a(null),O=0,k={x:0,y:0},A=a(``),j=a(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=m(()=>new Map(y.boards.map(({project:e})=>[e.id,e.name]))),I=m(()=>y.boards.flatMap(({items:e})=>e)),L=m(()=>{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=m(()=>P.map(e=>({...e,items:L.value.filter(({status:t})=>t===e.value)}))),z=m(()=>y.boards.filter(({truncated:e})=>e).length),Ae=m(()=>y.visibleProjectIds.length>0),je=m(()=>I.value.length>0),Me=m(()=>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(e){let t=j.value;if(!t)return;if(t.targetStatus===t.sourceStatus){$(),A.value=c(`employees.allProjects.dragCancelled`);return}if(e){await ae();let e=[...document.querySelectorAll(`[data-drag-placeholder="true"]`)][0]?.getBoundingClientRect();if(e){let n=Math.hypot(e.left-t.left,e.top-t.top);t.duration=Math.round(Math.min(360,Math.max(180,180+n*.16))),t.phase=`dropping`,t.left=e.left,t.top=e.top,await new Promise(e=>{N=window.setTimeout(e,t.duration)})}}let n=t.item,r=t.targetStatus;A.value=c(`employees.allProjects.dragDropped`,{task:n.title,status:G(r)}),T(`move-task`,n,r),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 r(()=>{Z(),$()}),(r,a)=>(i(),o(`section`,ce,[g(`header`,le,[g(`div`,ue,[g(`h2`,de,f(p(c)(`employees.allProjects.title`)),1)]),g(`div`,fe,[e.canMoveTasks?(i(),o(`button`,{key:0,class:`employee-board-create`,type:`button`,onClick:a[0]||=e=>T(`create-task`)},`+ `+f(p(c)(`employees.task.create`)),1)):h(``,!0),s(se,{class:`employee-all-projects-filter`,"model-value":e.visibleProjectIds,projects:e.projects,compact:``,"show-count":``,resettable:e.resettableFilter,label:p(c)(`employees.allProjects.projectFilter`),hint:p(c)(`employees.allProjects.projectFilterHint`),"empty-label":p(c)(`employees.allProjects.noProjectsVisible`),"onUpdate:modelValue":a[1]||=e=>T(`update:visible-project-ids`,e),onReset:a[2]||=e=>T(`reset-project-filter`)},null,8,[`model-value`,`projects`,`resettable`,`label`,`hint`,`empty-label`]),g(`label`,pe,[g(`span`,null,f(p(c)(`employees.allProjects.search`)),1),ee(g(`input`,{"onUpdate:modelValue":a[3]||=e=>E.value=e,type:`search`,placeholder:p(c)(`employees.allProjects.searchPlaceholder`)},null,8,me),[[re,E.value]])])])]),e.filterStorageUnavailable?(i(),o(`div`,he,f(p(c)(`employees.scope.storageUnavailable`)),1)):h(``,!0),e.failedProjects?(i(),o(`div`,ge,[g(`span`,null,f(p(c)(`employees.allProjects.partial`,{loaded:e.boards.length,total:e.visibleProjectIds.length,failed:e.failedProjects})),1),g(`button`,{type:`button`,onClick:a[4]||=e=>T(`retry`)},f(p(c)(`employees.retry`)),1)])):h(``,!0),z.value?(i(),o(`div`,_e,f(p(c)(`employees.allProjects.truncated`,{count:z.value})),1)):h(``,!0),e.actionError?(i(),o(`div`,ve,f(e.actionError),1)):h(``,!0),Ae.value?je.value?Me.value?(i(),o(`div`,Se,[e.canMoveTasks?(i(),o(`p`,Ce,f(p(c)(`employees.allProjects.dragHint`)),1)):h(``,!0),g(`p`,we,f(A.value),1),g(`div`,{ref_key:`boardElement`,ref:D,class:d([`employee-all-projects-board`,{"is-dragging":j.value}]),"aria-label":p(c)(`employees.allProjects.boardLabel`)},[(i(!0),o(u,null,n(R.value,r=>(i(),o(`section`,{key:r.value,class:d([`employee-all-projects-column`,{"is-drop-target":j.value?.targetStatus===r.value}])},[g(`header`,null,[g(`h3`,null,f(p(c)(r.labelKey)),1),g(`span`,{"aria-label":p(c)(`employees.allProjects.taskCount`,{count:U(r.value).length})},f(U(r.value).length),9,Ee)]),s(oe,{name:`employee-task-shift`,tag:`div`,class:`employee-all-projects-list`,"data-status":r.value},{default:t(()=>[(i(!0),o(u,null,n(U(r.value),(t,r)=>(i(),o(`article`,{key:V(t),class:d([`employee-all-projects-task`,{"is-placeholder":W(t),"is-saving":H(t)}]),"data-drag-placeholder":W(t)?`true`:void 0,"aria-hidden":W(t)?`true`:void 0},[g(`button`,{type:`button`,class:`employee-all-projects-task-open`,disabled:H(t)||e.readOnly,"aria-label":p(c)(`employees.allProjects.openTask`,{project:B(t.projectId),task:t.title}),onClick:e=>T(`select-task`,t)},[g(`span`,ke,f(B(t.projectId)),1),g(`strong`,null,f(t.title),1),t.summary&&t.summary!==t.title?(i(),o(`span`,b,f(t.summary),1)):h(``,!0),t.tags?.length?(i(),o(`span`,x,[(i(!0),o(u,null,n(t.tags.slice(0,3),e=>(i(),o(`span`,{key:e},f(e),1))),128))])):h(``,!0)],8,Oe),e.canMoveTasks?(i(),o(`button`,{key:0,type:`button`,class:`employee-all-projects-drag-handle`,disabled:H(t),"aria-label":p(c)(`employees.allProjects.dragTask`,{task:t.title}),title:p(c)(`employees.allProjects.dragTask`,{task:t.title}),"aria-describedby":`employee-drag-instructions`,onPointerdown:ie(e=>Pe(e,t,r),[`stop`,`prevent`]),onKeydown:e=>Le(e,t,r)},[...a[5]||=[g(`svg`,{width:`16`,height:`16`,viewBox:`0 0 16 16`,fill:`currentColor`,"aria-hidden":`true`},[g(`circle`,{cx:`5`,cy:`4`,r:`1`}),g(`circle`,{cx:`11`,cy:`4`,r:`1`}),g(`circle`,{cx:`5`,cy:`8`,r:`1`}),g(`circle`,{cx:`11`,cy:`8`,r:`1`}),g(`circle`,{cx:`5`,cy:`12`,r:`1`}),g(`circle`,{cx:`11`,cy:`12`,r:`1`})],-1)]],40,S)):h(``,!0),H(t)?(i(),l(v,{key:1,class:`employee-all-projects-saving`,variant:`inline`,label:p(c)(`employees.allProjects.saving`)},null,8,[`label`])):h(``,!0)],10,De))),128)),U(r.value).length?h(``,!0):(i(),o(`p`,{key:`${r.value}-empty`,class:`employee-all-projects-column-empty`},f(p(c)(`employees.allProjects.columnEmpty`)),1))]),_:2},1032,[`data-status`])],2))),128))],10,Te)])):(i(),o(`div`,xe,[g(`h3`,null,f(p(c)(`employees.allProjects.noMatch`)),1),g(`p`,null,f(p(c)(`employees.allProjects.noMatchHint`)),1)])):(i(),o(`div`,be,[g(`h3`,null,f(p(c)(`employees.allProjects.empty`)),1),g(`p`,null,f(p(c)(`employees.allProjects.emptyHint`)),1)])):(i(),o(`div`,ye,[g(`h3`,null,f(p(c)(`employees.allProjects.noProjectsVisible`)),1),g(`p`,null,f(p(c)(`employees.allProjects.noProjectsVisibleHint`)),1),g(`button`,{type:`button`,onClick:Ne},f(p(c)(`employees.allProjects.showAllProjects`)),1)])),(i(),l(te,{to:`body`},[j.value&&!j.value.keyboard?(i(),o(`article`,{key:0,class:d([`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`},[g(`span`,C,f(B(j.value.item.projectId)),1),g(`strong`,null,f(j.value.item.title),1),j.value.item.summary&&j.value.item.summary!==j.value.item.title?(i(),o(`span`,w,f(j.value.item.summary),1)):h(``,!0)],6)):h(``,!0)]))]))}}),[[`__scopeId`,`data-v-39c02ffb`]]);async function E(e){let t=await _(`/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{E as e,H as t,I as n,M as r,P as i,Q as a,S as o,T as s,U as ee,_ as te,a as c,at as ne,b as l,f as re,g as u,h as ie,it as d,j as ae,ot as f,rt as p,s as oe,v as m,x as h,y as g}from"./i18n-x1XkVwhW.js";import{r as _,s as v}from"./client-B9ebMaql.js";import{t as y}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as se}from"./ProjectScopePicker-Bx4uycn7.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`},pe={class:`employee-all-projects-search`},me=[`placeholder`],he={key:0,class:`employee-all-projects-notice`,role:`status`},ge={key:1,class:`employee-all-projects-notice`,role:`status`},_e={key:2,class:`employee-all-projects-notice`,role:`status`},ve={key:3,class:`employee-all-projects-notice is-error`,role:`alert`},ye={key:4,class:`employee-all-projects-empty`},be={key:5,class:`employee-all-projects-empty`},xe={key:6,class:`employee-all-projects-empty`},Se={key:7,class:`employee-all-projects-board-shell`},Ce={key:0,id:`employee-drag-instructions`,class:`visually-hidden`},we={class:`visually-hidden`,"aria-live":`assertive`,"aria-atomic":`true`},Te=[`aria-label`],Ee=[`aria-label`],De=[`data-drag-placeholder`,`aria-hidden`],Oe=[`disabled`,`aria-label`,`onClick`],ke={class:`employee-all-projects-project`},b={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=y(e({__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(e,{emit:_}){let y=e,T=_,E=a(``),D=a(null),O=0,k={x:0,y:0},A=a(``),j=a(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=m(()=>new Map(y.boards.map(({project:e})=>[e.id,e.name]))),I=m(()=>y.boards.flatMap(({items:e})=>e)),L=m(()=>{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=m(()=>P.map(e=>({...e,items:L.value.filter(({status:t})=>t===e.value)}))),z=m(()=>y.boards.filter(({truncated:e})=>e).length),Ae=m(()=>y.visibleProjectIds.length>0),je=m(()=>I.value.length>0),Me=m(()=>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(e){let t=j.value;if(!t)return;if(t.targetStatus===t.sourceStatus){$(),A.value=c(`employees.allProjects.dragCancelled`);return}if(e){await ae();let e=[...document.querySelectorAll(`[data-drag-placeholder="true"]`)][0]?.getBoundingClientRect();if(e){let n=Math.hypot(e.left-t.left,e.top-t.top);t.duration=Math.round(Math.min(360,Math.max(180,180+n*.16))),t.phase=`dropping`,t.left=e.left,t.top=e.top,await new Promise(e=>{N=window.setTimeout(e,t.duration)})}}let n=t.item,r=t.targetStatus;A.value=c(`employees.allProjects.dragDropped`,{task:n.title,status:G(r)}),T(`move-task`,n,r),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 r(()=>{Z(),$()}),(r,a)=>(i(),o(`section`,ce,[g(`header`,le,[g(`div`,ue,[g(`h2`,de,f(p(c)(`employees.allProjects.title`)),1)]),g(`div`,fe,[e.canMoveTasks?(i(),o(`button`,{key:0,class:`employee-board-create`,type:`button`,onClick:a[0]||=e=>T(`create-task`)},`+ `+f(p(c)(`employees.task.create`)),1)):h(``,!0),s(se,{class:`employee-all-projects-filter`,"model-value":e.visibleProjectIds,projects:e.projects,compact:``,"show-count":``,resettable:e.resettableFilter,label:p(c)(`employees.allProjects.projectFilter`),hint:p(c)(`employees.allProjects.projectFilterHint`),"empty-label":p(c)(`employees.allProjects.noProjectsVisible`),"onUpdate:modelValue":a[1]||=e=>T(`update:visible-project-ids`,e),onReset:a[2]||=e=>T(`reset-project-filter`)},null,8,[`model-value`,`projects`,`resettable`,`label`,`hint`,`empty-label`]),g(`label`,pe,[g(`span`,null,f(p(c)(`employees.allProjects.search`)),1),ee(g(`input`,{"onUpdate:modelValue":a[3]||=e=>E.value=e,type:`search`,placeholder:p(c)(`employees.allProjects.searchPlaceholder`)},null,8,me),[[re,E.value]])])])]),e.filterStorageUnavailable?(i(),o(`div`,he,f(p(c)(`employees.scope.storageUnavailable`)),1)):h(``,!0),e.failedProjects?(i(),o(`div`,ge,[g(`span`,null,f(p(c)(`employees.allProjects.partial`,{loaded:e.boards.length,total:e.visibleProjectIds.length,failed:e.failedProjects})),1),g(`button`,{type:`button`,onClick:a[4]||=e=>T(`retry`)},f(p(c)(`employees.retry`)),1)])):h(``,!0),z.value?(i(),o(`div`,_e,f(p(c)(`employees.allProjects.truncated`,{count:z.value})),1)):h(``,!0),e.actionError?(i(),o(`div`,ve,f(e.actionError),1)):h(``,!0),Ae.value?je.value?Me.value?(i(),o(`div`,Se,[e.canMoveTasks?(i(),o(`p`,Ce,f(p(c)(`employees.allProjects.dragHint`)),1)):h(``,!0),g(`p`,we,f(A.value),1),g(`div`,{ref_key:`boardElement`,ref:D,class:d([`employee-all-projects-board`,{"is-dragging":j.value}]),"aria-label":p(c)(`employees.allProjects.boardLabel`)},[(i(!0),o(u,null,n(R.value,r=>(i(),o(`section`,{key:r.value,class:d([`employee-all-projects-column`,{"is-drop-target":j.value?.targetStatus===r.value}])},[g(`header`,null,[g(`h3`,null,f(p(c)(r.labelKey)),1),g(`span`,{"aria-label":p(c)(`employees.allProjects.taskCount`,{count:U(r.value).length})},f(U(r.value).length),9,Ee)]),s(oe,{name:`employee-task-shift`,tag:`div`,class:`employee-all-projects-list`,"data-status":r.value},{default:t(()=>[(i(!0),o(u,null,n(U(r.value),(t,r)=>(i(),o(`article`,{key:V(t),class:d([`employee-all-projects-task`,{"is-placeholder":W(t),"is-saving":H(t)}]),"data-drag-placeholder":W(t)?`true`:void 0,"aria-hidden":W(t)?`true`:void 0},[g(`button`,{type:`button`,class:`employee-all-projects-task-open`,disabled:H(t)||e.readOnly,"aria-label":p(c)(`employees.allProjects.openTask`,{project:B(t.projectId),task:t.title}),onClick:e=>T(`select-task`,t)},[g(`span`,ke,f(B(t.projectId)),1),g(`strong`,null,f(t.title),1),t.summary&&t.summary!==t.title?(i(),o(`span`,b,f(t.summary),1)):h(``,!0),t.tags?.length?(i(),o(`span`,x,[(i(!0),o(u,null,n(t.tags.slice(0,3),e=>(i(),o(`span`,{key:e},f(e),1))),128))])):h(``,!0)],8,Oe),e.canMoveTasks?(i(),o(`button`,{key:0,type:`button`,class:`employee-all-projects-drag-handle`,disabled:H(t),"aria-label":p(c)(`employees.allProjects.dragTask`,{task:t.title}),title:p(c)(`employees.allProjects.dragTask`,{task:t.title}),"aria-describedby":`employee-drag-instructions`,onPointerdown:ie(e=>Pe(e,t,r),[`stop`,`prevent`]),onKeydown:e=>Le(e,t,r)},[...a[5]||=[g(`svg`,{width:`16`,height:`16`,viewBox:`0 0 16 16`,fill:`currentColor`,"aria-hidden":`true`},[g(`circle`,{cx:`5`,cy:`4`,r:`1`}),g(`circle`,{cx:`11`,cy:`4`,r:`1`}),g(`circle`,{cx:`5`,cy:`8`,r:`1`}),g(`circle`,{cx:`11`,cy:`8`,r:`1`}),g(`circle`,{cx:`5`,cy:`12`,r:`1`}),g(`circle`,{cx:`11`,cy:`12`,r:`1`})],-1)]],40,S)):h(``,!0),H(t)?(i(),l(v,{key:1,class:`employee-all-projects-saving`,variant:`inline`,label:p(c)(`employees.allProjects.saving`)},null,8,[`label`])):h(``,!0)],10,De))),128)),U(r.value).length?h(``,!0):(i(),o(`p`,{key:`${r.value}-empty`,class:`employee-all-projects-column-empty`},f(p(c)(`employees.allProjects.columnEmpty`)),1))]),_:2},1032,[`data-status`])],2))),128))],10,Te)])):(i(),o(`div`,xe,[g(`h3`,null,f(p(c)(`employees.allProjects.noMatch`)),1),g(`p`,null,f(p(c)(`employees.allProjects.noMatchHint`)),1)])):(i(),o(`div`,be,[g(`h3`,null,f(p(c)(`employees.allProjects.empty`)),1),g(`p`,null,f(p(c)(`employees.allProjects.emptyHint`)),1)])):(i(),o(`div`,ye,[g(`h3`,null,f(p(c)(`employees.allProjects.noProjectsVisible`)),1),g(`p`,null,f(p(c)(`employees.allProjects.noProjectsVisibleHint`)),1),g(`button`,{type:`button`,onClick:Ne},f(p(c)(`employees.allProjects.showAllProjects`)),1)])),(i(),l(te,{to:`body`},[j.value&&!j.value.keyboard?(i(),o(`article`,{key:0,class:d([`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`},[g(`span`,C,f(B(j.value.item.projectId)),1),g(`strong`,null,f(j.value.item.title),1),j.value.item.summary&&j.value.item.summary!==j.value.item.title?(i(),o(`span`,w,f(j.value.item.summary),1)):h(``,!0)],6)):h(``,!0)]))]))}}),[[`__scopeId`,`data-v-39c02ffb`]]);async function E(e){let t=await _(`/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=t(s,`executionPlan`,`execution_plan`),d=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`)??``,executionPlan:Array.isArray(e(u).steps)?u:null,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:d,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=e(t(i,`projectScope`,`project_scope`)),c=o.type===`temporary`||o.type===`registered`?{type:o.type,lifetime:n(o,`lifetime`,`lifetime`),...typeof o.persisted==`boolean`?{persisted:o.persisted}:{}}:void 0,u=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`)}),p=_(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`),projectScope:c,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:u,executionSummary:h(t(i,`executionSummary`,`execution_summary`)),routingDecision:p,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{B as e,Q as t,a as n}from"./i18n-oJFlt8hW.js";import{r}from"./client-DnwnUBQV.js";import{t as i}from"./task-evidence-DTiPCs7r.js";function a(a){let o=t([]),s=t(!1),c=t(``),l=new Map,u=0;async function d(){let e=++u,t=a.value;if(c.value=``,!a.value){o.value=[],s.value=!1;return}let d=l.get(t);d?o.value=d:o.value.some(e=>e.personalSpaceId!==t)&&(o.value=[]),s.value=!0;try{let n=await r(`/api/project-agents?${new URLSearchParams({personalSpaceId:t})}`);if(e!==u||a.value!==t)return;let s=i(n).filter(e=>!!(e&&typeof e==`object`&&`agentId`in e&&`profile`in e&&`personalSpaceId`in e&&e.personalSpaceId===t));l.set(t,s),o.value=s}catch(r){e===u&&a.value===t&&(c.value=r instanceof Error?r.message:n(`agentProfiles.loadError`))}finally{e===u&&a.value===t&&(s.value=!1)}}return e(a,d,{immediate:!0}),{agents:o,loading:s,error:c,load:d}}export{a as t};
1
+ import{B as e,Q as t,a as n}from"./i18n-x1XkVwhW.js";import{r}from"./client-B9ebMaql.js";import{t as i}from"./task-evidence-i9SDhd3E.js";function a(a){let o=t([]),s=t(!1),c=t(``),l=new Map,u=0;async function d(){let e=++u,t=a.value;if(c.value=``,!a.value){o.value=[],s.value=!1;return}let d=l.get(t);d?o.value=d:o.value.some(e=>e.personalSpaceId!==t)&&(o.value=[]),s.value=!0;try{let n=await r(`/api/project-agents?${new URLSearchParams({personalSpaceId:t})}`);if(e!==u||a.value!==t)return;let s=i(n).filter(e=>!!(e&&typeof e==`object`&&`agentId`in e&&`profile`in e&&`personalSpaceId`in e&&e.personalSpaceId===t));l.set(t,s),o.value=s}catch(r){e===u&&a.value===t&&(c.value=r instanceof Error?r.message:n(`agentProfiles.loadError`))}finally{e===u&&a.value===t&&(s.value=!1)}}return e(a,d,{immediate:!0}),{agents:o,loading:s,error:c,load:d}}export{a as t};
@@ -1 +1 @@
1
- import{k as e}from"./i18n-oJFlt8hW.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{k as e}from"./i18n-x1XkVwhW.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};