fuli-context 0.9.0 → 0.11.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 (210) hide show
  1. package/README.md +29 -58
  2. package/README.zh-CN.md +24 -54
  3. package/dist/web/assets/AboutPage-CKq4IRHd.js +1 -0
  4. package/dist/web/assets/AgentConversations-DfXiFvBN.js +2 -0
  5. package/dist/web/assets/AgentConversations-XqNEBY_2.css +1 -0
  6. package/dist/web/assets/AgentHand-BBM-sKh2.js +1 -0
  7. package/dist/web/assets/AgentName-C_6R80nP.js +1 -0
  8. package/dist/web/assets/AgentProfilePage-Cz-i1fRD.js +1 -0
  9. package/dist/web/assets/AgentsDirectoryPage-BI0EFz6y.js +1 -0
  10. package/dist/web/assets/AgentsDirectoryPage-yRWktiin.css +1 -0
  11. package/dist/web/assets/ConnectionsPage-BoC6kXgs.js +1 -0
  12. package/dist/web/assets/ConnectionsPage-CM9C-zEI.css +1 -0
  13. package/dist/web/assets/EmployeeRecruitDialog-BVyclQAJ.js +1 -0
  14. package/dist/web/assets/EmployeeRecruitDialog-CVbqCzHb.css +1 -0
  15. package/dist/web/assets/EmployeeWorkbenchPage-D-c_Jm2z.css +1 -0
  16. package/dist/web/assets/EmployeeWorkbenchPage-D2GvYraI.js +3 -0
  17. package/dist/web/assets/KnowledgeEditDialog-a0AKWics.js +1 -0
  18. package/dist/web/assets/KnowledgeEditDialog-hT9znkoe.css +1 -0
  19. package/dist/web/assets/KnowledgeInspector-DMg9yJZ2.js +1 -0
  20. package/dist/web/assets/KnowledgeOrganizerPage-BgsHM3Qw.js +1 -0
  21. package/dist/web/assets/KnowledgeOrganizerPage-DeL7Jp34.css +1 -0
  22. package/dist/web/assets/KnowledgePage-kn8MqUCO.js +1 -0
  23. package/dist/web/assets/KnowledgeWorkspace-BtRq9fvC.js +4 -0
  24. package/dist/web/assets/KnowledgeWorkspace-D4a7FcAb.css +1 -0
  25. package/dist/web/assets/NotFoundPage-D-7jLz3o.js +1 -0
  26. package/dist/web/assets/OverviewPage-BHPc-XxY.js +1 -0
  27. package/dist/web/assets/OverviewPage-By-fUzSG.css +1 -0
  28. package/dist/web/assets/PersonalProfilePage-C00iV0Kx.js +1 -0
  29. package/dist/web/assets/PersonalProfilePage-DrMDAAdy.css +1 -0
  30. package/dist/web/assets/PersonalProjectsPage-CFNkdHSo.js +1 -0
  31. package/dist/web/assets/ProjectAgentFirstTask-Bi1ZsTC1.css +1 -0
  32. package/dist/web/assets/ProjectAgentFirstTask-CrCWEYgn.js +1 -0
  33. package/dist/web/assets/ProjectAgentsPage-BzztLMH-.js +12 -0
  34. package/dist/web/assets/ProjectAgentsPage-DNLNjYp-.css +1 -0
  35. package/dist/web/assets/ProjectScopePicker-CMxn3txv.js +1 -0
  36. package/dist/web/assets/PublicProjectsPage-DKamXDV9.css +1 -0
  37. package/dist/web/assets/PublicProjectsPage-DQVtvhOS.js +1 -0
  38. package/dist/web/assets/ReviewPage-BZhvyDWc.js +1 -0
  39. package/dist/web/assets/RoundtablesPage-CVebTXQa.js +1 -0
  40. package/dist/web/assets/RoundtablesPage-Cb0R4GaM.css +1 -0
  41. package/dist/web/assets/SettingsPage-1knvfOW6.js +1 -0
  42. package/dist/web/assets/SettingsPage-BmYkLul4.css +1 -0
  43. package/dist/web/assets/SharedJefaReportPage-BCVq8u0P.js +1 -0
  44. package/dist/web/assets/UiDialog-Da1P10f4.js +1 -0
  45. package/dist/web/assets/UiDisclosure-8wE8YuE4.js +1 -0
  46. package/dist/web/assets/UiSegmented-BKZXc8QF.js +1 -0
  47. package/dist/web/assets/UiSelect-Bv6R0yr1.css +1 -0
  48. package/dist/web/assets/UiSelect-D5Xj5Ec4.js +1 -0
  49. package/dist/web/assets/WritingTastePage-B8-etOBn.js +1 -0
  50. package/dist/web/assets/WritingTastePage-B_zYD1df.css +1 -0
  51. package/dist/web/assets/agent-profile-BZj3ezWe.css +1 -0
  52. package/dist/web/assets/{attention-store-Dk-_P4Oi.js → attention-store-BfxtL9EV.js} +1 -1
  53. package/dist/web/assets/{catalog-DN72452f.js → catalog-6SN9i3WR.js} +1 -1
  54. package/dist/web/assets/client-CUTkF3t4.js +1 -0
  55. package/dist/web/assets/{console-BtPqo79j.js → console-CG8tdtSs.js} +1 -1
  56. package/dist/web/assets/{conversation-launcher-settings-jkHRmWai.js → conversation-launcher-settings-CyZkLJg7.js} +1 -1
  57. package/dist/web/assets/{i18n-D2CJkEYK.js → i18n-CCMR4gDS.js} +3 -3
  58. package/dist/web/assets/{identity-B3zEw-1u.js → identity-C1eN-FSB.js} +1 -1
  59. package/dist/web/assets/index-kPB0Cf8Q.css +1 -0
  60. package/dist/web/assets/index-sLDKI6R-.js +5 -0
  61. package/dist/web/assets/{model-S7ehAjky.js → model-l-sAqtW_.js} +1 -1
  62. package/dist/web/assets/{personal-profile-graph--GG3Mizo.js → personal-profile-graph-BD1Y6TDS.js} +1 -1
  63. package/dist/web/assets/shared-report-B46dxlCR.js +1 -0
  64. package/dist/web/assets/{useAgentRoster-BAPKWZ9y.js → useAgentRoster-DdxoKDEE.js} +1 -1
  65. package/dist/web/assets/{useApi-CROJJdhE-BtFMXFjw.js → useApi-CROJJdhE-DlOiu8lP.js} +1 -1
  66. package/dist/web/assets/{vue-router-DkaTtPn0.js → vue-router-DjqEU4W2.js} +1 -1
  67. package/dist/web/index.html +14 -16
  68. package/docs/agent-conversations-and-collaboration.md +9 -9
  69. package/docs/agent-roundtable.md +61 -0
  70. package/docs/employee-agents.md +2 -2
  71. package/docs/project-agent-memory.md +1 -1
  72. package/graph-provider/fuli_graph/agent_conversation_models.py +11 -2
  73. package/graph-provider/fuli_graph/conversation_context.py +40 -9
  74. package/graph-provider/fuli_graph/default_project_lead.py +88 -0
  75. package/graph-provider/fuli_graph/project_agent_memory_routes.py +7 -0
  76. package/graph-provider/fuli_graph/project_agent_task_models.py +3 -0
  77. package/graph-provider/fuli_graph/runtime.py +3 -76
  78. package/graph-provider/fuli_graph/store.py +2 -0
  79. package/graph-provider/fuli_graph/store_agent_conversations.py +60 -8
  80. package/graph-provider/fuli_graph/store_project_agent_task_recruitment.py +3 -1
  81. package/graph-provider/fuli_graph/store_project_agent_tasks.py +12 -8
  82. package/graph-provider/fuli_graph/store_project_agents.py +25 -124
  83. package/graph-provider/fuli_graph/store_task_contexts.py +26 -0
  84. package/graph-provider/fuli_graph/system_agents.py +128 -0
  85. package/graph-provider/fuli_graph/system_hr_identity.py +1 -1
  86. package/graph-provider/fuli_graph/task_context_routes.py +10 -0
  87. package/graph-provider/pyproject.toml +1 -1
  88. package/npm-shrinkwrap.json +2 -2
  89. package/package.json +2 -4
  90. package/skills/capturing-session-knowledge/SKILL.md +1 -1
  91. package/src/agent-roundtable/http.js +14 -0
  92. package/src/agent-roundtable/service.js +218 -0
  93. package/src/agent-roundtable/store.js +86 -0
  94. package/src/agent-roundtable/tools.js +61 -0
  95. package/src/agent-roundtable/wake.js +99 -0
  96. package/src/agent-tools/agent-conversation-definitions.js +3 -3
  97. package/src/agent-tools/graph-definitions.js +3 -2
  98. package/src/agent-tools/interface-catalog.js +0 -5
  99. package/src/agent-tools.js +2 -2
  100. package/src/agents/claude-code/lifecycle-hook.js +6 -19
  101. package/src/agents/claude-code/wake.js +37 -0
  102. package/src/agents/codex/lifecycle-hook.js +51 -27
  103. package/src/agents/codex/token-usage.js +235 -0
  104. package/src/agents/codex/wake.js +47 -0
  105. package/src/agents/cursor/lifecycle-hook.js +3 -9
  106. package/src/agents/identity-receipt.js +16 -6
  107. package/src/agents/session-log.js +34 -0
  108. package/src/agents/token-usage-resolver.js +147 -0
  109. package/src/agents/wake-registry.js +14 -0
  110. package/src/cli/command-registry.js +0 -2
  111. package/src/cli/setup-command.js +2 -5
  112. package/src/cli/update-command.js +13 -2
  113. package/src/cli.js +0 -5
  114. package/src/employees/management-policy.js +4 -2
  115. package/src/employees/manifest.js +3 -0
  116. package/src/employees/recruitment.js +3 -2
  117. package/src/graphiti/agent-conversations.js +11 -9
  118. package/src/graphiti/agent-knowledge-workflows.js +34 -7
  119. package/src/graphiti/federated-application.js +18 -6
  120. package/src/graphiti/project-agent-mapping.js +1 -1
  121. package/src/graphiti/project-agent-task-entry.js +19 -7
  122. package/src/graphiti/project-agent-workflows.js +6 -1
  123. package/src/graphiti/project-path-context.js +7 -2
  124. package/src/graphiti/provider-client.js +8 -0
  125. package/src/graphiti/repository-project-registration.js +17 -0
  126. package/src/graphiti/task-entry-preferences.js +5 -0
  127. package/src/http/api-router.js +5 -3
  128. package/src/http/error-mapping.js +0 -2
  129. package/src/mcp/instructions.js +5 -5
  130. package/src/mcp/session-id.js +1 -1
  131. package/src/mcp/tool-annotations.js +3 -2
  132. package/src/setup/agents.js +1 -41
  133. package/src/setup/graph-runtime.js +15 -2
  134. package/src/setup/session-skill.js +22 -2
  135. package/dist/web/assets/AboutPage-D-GyJNv1.js +0 -1
  136. package/dist/web/assets/AgentConversations-DOuZgUeA.js +0 -2
  137. package/dist/web/assets/AgentConversations-DS8h3yKn.css +0 -1
  138. package/dist/web/assets/AgentHand-eGsXoGSq.js +0 -1
  139. package/dist/web/assets/AgentName-Dtmu9Ff5.js +0 -1
  140. package/dist/web/assets/AgentProfilePage-D8Tvayn7.js +0 -1
  141. package/dist/web/assets/AgentsDirectoryPage-BTEfKZjF.js +0 -1
  142. package/dist/web/assets/ConnectionsPage-C1w99yN3.css +0 -1
  143. package/dist/web/assets/ConnectionsPage-DwOIcvl9.js +0 -1
  144. package/dist/web/assets/EmployeeRecruitDialog-BrIMRblq.css +0 -1
  145. package/dist/web/assets/EmployeeRecruitDialog-D11blfwU.js +0 -1
  146. package/dist/web/assets/EmployeeWorkbenchPage-BcEzYt65.css +0 -1
  147. package/dist/web/assets/EmployeeWorkbenchPage-CK2BAoGt.js +0 -3
  148. package/dist/web/assets/GrowthLoading-KTjE2e50.js +0 -1
  149. package/dist/web/assets/KnowledgeEditDialog-B3x8vs3c.css +0 -1
  150. package/dist/web/assets/KnowledgeEditDialog-n9trHQ5d.js +0 -1
  151. package/dist/web/assets/KnowledgeInspector-BcNjgw9H.js +0 -1
  152. package/dist/web/assets/KnowledgeOrganizerPage-BzgxP-nG.css +0 -1
  153. package/dist/web/assets/KnowledgeOrganizerPage-DMBpGxLr.js +0 -1
  154. package/dist/web/assets/KnowledgePage-POkCMW8f.js +0 -1
  155. package/dist/web/assets/KnowledgeWorkspace-2FvQadhB.js +0 -4
  156. package/dist/web/assets/KnowledgeWorkspace-sb8OJ97I.css +0 -1
  157. package/dist/web/assets/NotFoundPage-BCMZbeB8.js +0 -1
  158. package/dist/web/assets/OverviewPage-0CFWCG9-.css +0 -1
  159. package/dist/web/assets/OverviewPage-0mYifpjp.js +0 -1
  160. package/dist/web/assets/PersonalProfilePage-Chv2a2pi.css +0 -1
  161. package/dist/web/assets/PersonalProfilePage-JW6Muix6.js +0 -1
  162. package/dist/web/assets/PersonalProjectsPage-CRbi64JP.js +0 -1
  163. package/dist/web/assets/ProjectAgentFirstTask-6afJ8HUe.css +0 -1
  164. package/dist/web/assets/ProjectAgentFirstTask-DJ0wTbh8.js +0 -1
  165. package/dist/web/assets/ProjectAgentsPage-BgQLIpxg.css +0 -1
  166. package/dist/web/assets/ProjectAgentsPage-CQemHFxy.js +0 -12
  167. package/dist/web/assets/ProjectScopePicker-BwB7gK-7.js +0 -1
  168. package/dist/web/assets/PublicProjectsPage-CB272Sq-.js +0 -1
  169. package/dist/web/assets/ReviewPage-CelTZU4C.js +0 -1
  170. package/dist/web/assets/RoundtablesPage-ByVeZlgC.js +0 -2
  171. package/dist/web/assets/RoundtablesPage-DCbIBnBq.css +0 -1
  172. package/dist/web/assets/SearchableSelect-f7EHbyDL.js +0 -1
  173. package/dist/web/assets/SettingsPage-5g7mRN2F.css +0 -1
  174. package/dist/web/assets/SettingsPage-nAijmm5f.js +0 -1
  175. package/dist/web/assets/SharedJefaReportPage-CjpJ9bkk.js +0 -1
  176. package/dist/web/assets/UiDisclosure-CWlC91Zt.js +0 -1
  177. package/dist/web/assets/WritingTastePage-DaHWY61P.js +0 -1
  178. package/dist/web/assets/WritingTastePage-SMGF39mf.css +0 -1
  179. package/dist/web/assets/agent-profile-CBvJHGjt.css +0 -1
  180. package/dist/web/assets/client-B2cRl-7c.js +0 -1
  181. package/dist/web/assets/copy-D2LqwtPZ.js +0 -1
  182. package/dist/web/assets/index-CNp0tRNp.css +0 -1
  183. package/dist/web/assets/index-UygXwZDZ.js +0 -5
  184. package/dist/web/assets/shared-report-DEK9wvhl.js +0 -1
  185. package/dist/web/assets/useModalDialog-D8tiJfbc.js +0 -1
  186. package/docs/roundtable-beta-testing.md +0 -102
  187. package/docs/roundtable-beta-validation.md +0 -133
  188. package/docs/roundtable-research.md +0 -142
  189. package/src/agents/a2a/roundtable-participant.js +0 -374
  190. package/src/agents/claude-code/roundtable-participant.js +0 -24
  191. package/src/agents/codex/roundtable-config.js +0 -32
  192. package/src/agents/codex/roundtable-participant.js +0 -34
  193. package/src/agents/grok/roundtable-participant.js +0 -185
  194. package/src/agents/pi/roundtable-participant.js +0 -193
  195. package/src/agents/pi/roundtable-result-format.js +0 -183
  196. package/src/cli/roundtable-command.js +0 -79
  197. package/src/roundtables/application.js +0 -69
  198. package/src/roundtables/domain.js +0 -181
  199. package/src/roundtables/http-router.js +0 -56
  200. package/src/roundtables/mcp-server.js +0 -48
  201. package/src/roundtables/participant-registry.js +0 -12
  202. package/src/roundtables/process.js +0 -70
  203. package/src/roundtables/result-contract.js +0 -47
  204. package/src/roundtables/server.js +0 -52
  205. package/src/roundtables/service.js +0 -396
  206. package/src/roundtables/store.js +0 -59
  207. package/src/roundtables/tool-contract.js +0 -41
  208. package/src/roundtables/turn-prompt.js +0 -24
  209. package/src/roundtables/worker.js +0 -85
  210. /package/dist/web/assets/{GrowthLoading-CIuQ1icy.css → client-CIuQ1icy.css} +0 -0
@@ -1 +0,0 @@
1
- .conflict-inputs[data-v-e1408193]{border:0;min-width:0;margin:0;padding:0;display:contents}.conflict-resolution-dialog.vue-dialog[data-v-e1408193]{width:min(1180px,100vw - 48px)}.conflict-resolution-shell[data-v-e1408193]{overflow:auto}.conflict-pair-context[data-v-e1408193]{flex-wrap:wrap;gap:8px;padding:14px 0;display:flex}.conflict-pair-context span[data-v-e1408193]{border:1px solid var(--color-border);color:var(--color-muted);border-radius:999px;padding:6px 9px;font-size:12px}.conflict-pair-context strong[data-v-e1408193]{color:var(--color-ink);margin-left:4px}.conflict-comparison[data-v-e1408193]{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.conflict-side[data-v-e1408193]{border:1px solid var(--color-border);background:var(--color-surface);border-radius:10px;align-content:start;gap:8px;min-width:0;padding:16px;display:grid}.conflict-side-left[data-v-e1408193]{border-color:var(--color-border-strong);background:var(--color-surface-subtle)}.conflict-side-right[data-v-e1408193]{border-color:var(--color-border);background:var(--color-surface)}.conflict-side-heading[data-v-e1408193]{color:var(--color-muted);justify-content:space-between;gap:12px;font-size:12px;display:flex}.conflict-side h4[data-v-e1408193],.conflict-side p[data-v-e1408193]{margin:0}.conflict-side h4[data-v-e1408193]{color:var(--color-ink);font-size:14px}.conflict-side p[data-v-e1408193]{min-height:48px;color:var(--color-ink);white-space:pre-wrap;font-size:12px;line-height:1.6}.conflict-side small[data-v-e1408193]{color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.text-action[data-v-e1408193]{color:var(--color-muted);background:0 0;border:0;justify-self:start;padding:0;font-size:12px}.conflict-difference[data-v-e1408193]{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px;padding:12px;display:grid}.conflict-difference>div[data-v-e1408193]{align-content:start;gap:7px;min-width:0;display:grid}.conflict-difference span[data-v-e1408193]{color:var(--color-muted);font-size:12px;font-weight:700}.conflict-difference p[data-v-e1408193]{flex-wrap:wrap;gap:5px;margin:0;display:flex}.conflict-difference b[data-v-e1408193]{color:var(--color-ink);background:var(--color-surface-subtle);border-radius:5px;padding:4px 7px;font-size:12px;font-weight:600}.conflict-difference .muted[data-v-e1408193]{color:var(--color-muted);font-size:12px;display:block}.conflict-resolution-options[data-v-e1408193]{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:14px;display:grid}.conflict-resolution-options>button[data-v-e1408193]{border:1px solid var(--color-border);border-radius:var(--radius-control);min-height:86px;color:var(--color-ink);background:var(--color-surface);text-align:left;align-content:start;gap:6px;padding:12px;display:grid;position:relative}.conflict-resolution-options>button[aria-pressed=true][data-v-e1408193]{border-color:var(--color-accent);color:var(--color-accent);background:var(--color-accent-soft);box-shadow:inset 0 0 0 1px var(--color-accent)}.conflict-resolution-options strong[data-v-e1408193]{font-size:12px}.conflict-resolution-options span[data-v-e1408193]{color:var(--color-muted);font-size:12px;line-height:1.45}.conflict-resolution-options em[data-v-e1408193]{color:var(--color-accent);background:var(--color-accent-soft);border-radius:999px;padding:2px 5px;font-size:12px;font-style:normal;position:absolute;top:8px;right:8px}.conflict-resolution-detail[data-v-e1408193],.conflict-impact-preview[data-v-e1408193]{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);gap:10px;margin-top:12px;padding:13px;display:grid}.conflict-resolution-detail label[data-v-e1408193],.conflict-resolution-reason[data-v-e1408193]{color:var(--color-muted);gap:6px;font-size:12px;font-weight:600;display:grid}.conflict-resolution-detail textarea[data-v-e1408193],.conflict-resolution-reason textarea[data-v-e1408193],.conflict-resolution-detail select[data-v-e1408193]{width:100%}.conflict-inline-options[data-v-e1408193]{align-items:center;gap:6px;display:flex}.conflict-inline-options span[data-v-e1408193]{color:var(--color-muted);margin-right:4px;font-size:12px}.conflict-inline-options button[data-v-e1408193]{border:1px solid var(--color-border);color:var(--color-muted);background:var(--color-surface);border-radius:6px;padding:5px 8px;font-size:12px}.conflict-inline-options button[aria-pressed=true][data-v-e1408193]{border-color:var(--color-accent);color:var(--color-accent);background:var(--color-accent-soft)}.conflict-impact-preview[data-v-e1408193]{border-color:var(--color-border-strong);background:var(--color-surface)}.conflict-impact-preview span[data-v-e1408193]{color:var(--color-warning);text-transform:uppercase;font-size:12px;font-weight:700}.conflict-impact-preview p[data-v-e1408193]{color:var(--color-ink);margin:0;font-size:12px;line-height:1.55}.conflict-resolution-reason[data-v-e1408193]{margin-top:12px}.conflict-resolution-actions>div[data-v-e1408193]{gap:8px;display:flex}@media (width<=900px){.conflict-comparison[data-v-e1408193],.conflict-difference[data-v-e1408193]{grid-template-columns:1fr}.conflict-resolution-options[data-v-e1408193]{grid-template-columns:repeat(2,minmax(0,1fr))}}.writing-taste-milestone[data-v-e66059e9]{border:1px solid var(--color-border);background:var(--color-surface);border-radius:11px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;margin-top:12px;padding:14px 15px;display:grid;box-shadow:0 7px 20px #3142380a}.writing-taste-milestone.status-preview_ready[data-v-e66059e9],.writing-taste-milestone.status-active[data-v-e66059e9]{border-color:var(--color-success-soft);background:var(--color-success-soft)}.writing-taste-milestone__mark[data-v-e66059e9]{background:var(--color-surface-subtle);border-radius:10px;justify-content:center;align-items:end;gap:3px;width:40px;height:40px;padding:8px;display:flex}.writing-taste-milestone__mark span[data-v-e66059e9]{background:var(--color-muted);border-radius:3px 3px 1px 1px;width:5px}.writing-taste-milestone__mark span[data-v-e66059e9]:first-child{height:9px}.writing-taste-milestone__mark span[data-v-e66059e9]:nth-child(2){height:16px}.writing-taste-milestone__mark span[data-v-e66059e9]:nth-child(3){height:23px}.writing-taste-milestone__copy[data-v-e66059e9]{gap:5px;min-width:0;display:grid}.writing-taste-milestone__heading[data-v-e66059e9]{align-items:center;gap:8px;display:flex}.writing-taste-milestone h2[data-v-e66059e9],.writing-taste-milestone p[data-v-e66059e9]{margin:0}.writing-taste-milestone h2[data-v-e66059e9]{color:var(--color-ink);font-size:14px}.writing-taste-milestone__heading>span[data-v-e66059e9]{background:var(--color-surface-subtle);color:var(--color-muted);border-radius:999px;padding:2px 7px;font-size:12px;font-weight:750}.writing-taste-milestone p[data-v-e66059e9]{color:var(--color-muted);font-size:12px;line-height:1.5}.writing-taste-milestone__progress[data-v-e66059e9]{background:var(--color-surface-subtle);border-radius:999px;width:min(300px,100%);height:3px;overflow:hidden}.writing-taste-milestone__progress i[data-v-e66059e9]{border-radius:inherit;background:var(--color-muted);transform-origin:0;width:100%;height:100%;transition:transform .18s;display:block}.writing-taste-milestone__metrics[data-v-e66059e9]{color:var(--color-muted);gap:12px;font-size:12px;display:flex}.writing-taste-milestone__action[data-v-e66059e9]{border:1px solid var(--color-border-strong);border-radius:var(--radius-control);color:var(--color-ink);background:var(--color-surface);align-items:center;gap:8px;padding:8px 11px;font-size:12px;font-weight:750;text-decoration:none;display:inline-flex}.writing-taste-milestone__action[data-v-e66059e9]:hover{border-color:var(--color-muted);background:var(--color-surface)}@media (width<=760px){.writing-taste-milestone[data-v-e66059e9]{grid-template-columns:auto minmax(0,1fr)}.writing-taste-milestone__action[data-v-e66059e9]{grid-column:2;justify-self:start}}.preference-conflict-alert[data-v-a4e17765]{border:1px solid var(--color-border);background:var(--color-surface);border-radius:11px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;margin-top:12px;padding:12px 14px;display:grid;box-shadow:0 7px 20px #3142380d}.preference-conflict-alert-icon[data-v-a4e17765]{background:var(--color-muted);width:30px;height:30px;color:var(--color-surface);border-radius:50%;place-items:center;font-size:16px;font-weight:800;display:grid}.preference-conflict-alert>div[data-v-a4e17765]:nth-child(2){gap:2px;display:grid}.preference-conflict-alert span[data-v-a4e17765]{color:var(--color-muted);letter-spacing:.08em;text-transform:uppercase;font-size:12px;font-weight:800}.preference-conflict-alert h2[data-v-a4e17765],.preference-conflict-alert p[data-v-a4e17765]{margin:0}.preference-conflict-alert h2[data-v-a4e17765]{color:var(--color-ink);font-size:14px}.preference-conflict-alert p[data-v-a4e17765]{color:var(--color-muted);font-size:12px;line-height:1.5}.preference-conflict-workbench[data-v-a4e17765]{flex:1;min-height:0;padding:18px 0 4px;overflow:auto}.preference-conflict-workbench>header[data-v-a4e17765]{justify-content:space-between;align-items:flex-end;gap:24px;padding:0 2px 14px;display:flex}.preference-conflict-workbench h2[data-v-a4e17765],.preference-conflict-workbench p[data-v-a4e17765]{margin:0}.preference-conflict-workbench h2[data-v-a4e17765]{color:var(--color-ink);font-size:17px}.preference-conflict-workbench>header>p[data-v-a4e17765]{max-width:520px;color:var(--color-muted);text-align:right;font-size:12px;line-height:1.55}.preference-conflict-list[data-v-a4e17765]{gap:12px;display:grid}.preference-conflict-card[data-v-a4e17765]{border:1px solid var(--color-border);background:var(--color-surface);border-radius:11px;gap:12px;padding:15px;display:grid;box-shadow:0 7px 20px #2d3d340a}.preference-conflict-card-heading[data-v-a4e17765],.preference-conflict-card footer[data-v-a4e17765]{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.preference-conflict-card-heading>div[data-v-a4e17765]{gap:3px;display:grid}.preference-conflict-card-heading>div[data-v-a4e17765]:last-child{justify-items:end}.preference-conflict-card-heading span[data-v-a4e17765],.preference-conflict-card footer span[data-v-a4e17765]{color:var(--color-muted);text-transform:uppercase;font-size:12px;font-weight:700}.preference-conflict-card-heading h3[data-v-a4e17765]{color:var(--color-ink);margin:0;font-size:14px}.preference-conflict-card-heading strong[data-v-a4e17765]{color:var(--color-muted);font-size:12px}.preference-conflict-pair[data-v-a4e17765]{grid-template-columns:minmax(0,1fr) 26px minmax(0,1fr);align-items:stretch;gap:8px;display:grid}.preference-conflict-pair>section[data-v-a4e17765]{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);align-content:start;gap:6px;min-width:0;padding:12px;display:grid}.preference-conflict-pair>section[data-v-a4e17765]:first-child,.preference-conflict-pair>section[data-v-a4e17765]:last-child{border-color:var(--color-border);background:var(--color-surface)}.preference-conflict-pair span[data-v-a4e17765],.preference-conflict-pair small[data-v-a4e17765]{color:var(--color-muted);font-size:12px}.preference-conflict-pair strong[data-v-a4e17765]{color:var(--color-ink);font-size:12px}.preference-conflict-pair p[data-v-a4e17765]{color:var(--color-ink);font-size:12px;line-height:1.55}.preference-conflict-pair>i[data-v-a4e17765]{color:var(--color-muted);text-align:center;align-self:center;font-size:14px;font-style:normal}.preference-conflict-card footer[data-v-a4e17765]{border-top:1px solid var(--color-border);padding-top:11px}.preference-conflict-card footer>div[data-v-a4e17765]{gap:4px;display:grid}.preference-conflict-card footer p[data-v-a4e17765],.preference-conflict-card footer small[data-v-a4e17765]{color:var(--color-muted);font-size:12px}.preference-conflict-card footer button[data-v-a4e17765]{flex:none}.preference-conflict-card footer .preference-conflict-actions[data-v-a4e17765]{justify-content:flex-end;align-items:center;gap:8px;display:flex}.preference-conflict-card footer .preference-conflict-actions .secondary-action[data-v-a4e17765]{color:var(--color-muted);background:var(--color-surface-subtle)}.personal-profile-row.ai-resolved-conflict[data-v-a4e17765]{border-color:var(--color-border-strong);background:var(--color-surface)}.personal-profile-row.ai-resolved-conflict .personal-profile-origin strong[data-v-a4e17765]{color:var(--color-ink)}.personal-profile-inspector[data-v-a4e17765] .inspector-classification.state-pending,.personal-profile-inspector[data-v-a4e17765] .inspector-classification.state-needs_review{border-color:var(--color-warning-soft);background:var(--color-warning-soft)}.personal-profile-inspector[data-v-a4e17765] .inspector-classification.state-pending strong,.personal-profile-inspector[data-v-a4e17765] .inspector-classification.state-needs_review strong{color:var(--color-warning)}@media (width<=860px){.preference-conflict-alert[data-v-a4e17765]{grid-template-columns:auto minmax(0,1fr)}.preference-conflict-alert>button[data-v-a4e17765]{grid-column:1/-1}.preference-conflict-workbench>header[data-v-a4e17765],.preference-conflict-card-heading[data-v-a4e17765],.preference-conflict-card footer[data-v-a4e17765]{flex-direction:column;align-items:stretch}.preference-conflict-workbench>header>p[data-v-a4e17765]{text-align:left}.preference-conflict-card-heading>div[data-v-a4e17765]:last-child{justify-items:start}.preference-conflict-pair[data-v-a4e17765]{grid-template-columns:1fr}.preference-conflict-card footer .preference-conflict-actions[data-v-a4e17765]{flex-wrap:wrap;justify-content:flex-start}}
@@ -1 +0,0 @@
1
- import{A as e,B as t,C as n,L as r,M as i,P as a,R as o,S as s,V as c,X as l,_ as u,a as d,b as f,d as p,h as m,it as h,n as g,nt as _,rt as v,tt as y,u as b,v as x,w as S,x as C,y as w}from"./i18n-D2CJkEYK.js";import{t as ee}from"./console-BtPqo79j.js";import{t as T}from"./GrowthLoading-KTjE2e50.js";import{t as E}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as D}from"./vue-router-DkaTtPn0.js";import{i as te,n as O,r as k}from"./client-B2cRl-7c.js";import{t as A}from"./useModalDialog-D8tiJfbc.js";import{t as j}from"./SearchableSelect-f7EHbyDL.js";import{n as ne,t as M}from"./KnowledgeInspector-BcNjgw9H.js";import{i as re,n as ie,t as ae}from"./KnowledgeEditDialog-n9trHQ5d.js";import{C as oe,D as N,E as P,_ as F,u as I,v as L,x as se}from"./model-S7ehAjky.js";import{t as R}from"./personal-profile-graph--GG3Mizo.js";function ce(e,t=[]){let n=[],r=e.filter(e=>!e.invalidAt);for(let e=0;e<r.length;e+=1)for(let i=e+1;i<r.length;i+=1){let a=r[e],o=r[i];if(!q(a,o)||!J(a,o)||Y(a,o))continue;let[s,c]=X(a,o),l=W(V(s),V(c)),u=K(l)?`complementary`:`review`,f=t.find(e=>e.status===`ai_pending`&&z(e,s,c))??null;n.push({id:de(s,c),preferenceKey:B(s),scopeKey:H(s),scopeLabel:U(s),left:s,right:c,difference:l,relation:u,recommendedAction:u===`complementary`?`merge`:null,reason:d(`preferences.shared.conflictReason`,{key:B(s)}),aiRecord:f})}return n.sort((e,t)=>{let n=g();return e.scopeKey.localeCompare(t.scopeKey,n)||e.preferenceKey.localeCompare(t.preferenceKey,n)})}function le(e){return[e.left_item_id,e.right_item_id]}function z(e,t,n){let r=new Set([`${e.left_item_kind}:${e.left_item_id}`,`${e.right_item_kind}:${e.right_item_id}`]);return r.has(`${t.itemKind}:${t.id}`)&&r.has(`${n.itemKind}:${n.id}`)}function B(e){let t=e.raw.attributes??{};return String(t.preferenceKey??t.preference_key??e.title).trim()}function V(e){return e.body.trim()}function H(e){return e.preferenceScope===`project`&&e.preferenceProjectId?`project:${e.preferenceProjectId}`:`global`}function U(e){return e.preferenceScope===`project`&&e.preferenceProjectId?d(`preferences.shared.projectScope`,{project:e.preferenceProjectId}):d(`preferences.shared.personalGlobal`)}function W(e,t){let n=Z(e),r=Z(t),i=new Set,a=[],o=[];for(let e of n){let t=r.findIndex((t,n)=>!i.has(n)&&fe(e,t));if(t<0){o.push(e);continue}i.add(t),a.push(pe(e,r[t]))}return{shared:a,leftOnly:o,rightOnly:r.filter((e,t)=>!i.has(t)),similarity:a.length/Math.max(n.length,r.length,1)}}function G(e,t){let n=[...Z(e)];for(let e of Z(t)){let t=n.findIndex(t=>fe(t,e));if(t<0){n.push(e);continue}n[t]=pe(n[t],e)}if(!n.length)return``;let r=n.some(e=>e.length>24)?`;`:`、`;return n.join(r)}function K(e){return e.shared.length>0&&(e.leftOnly.length===0||e.rightOnly.length===0)}function q(e,t){return H(e)===H(t)}function J(e,t){return Q(B(e))===Q(B(t))}function Y(e,t){return Q(V(e))===Q(V(t))}function X(e,t){let n=ue(e),r=ue(t);return n===r?e.id.localeCompare(t.id)<=0?[e,t]:[t,e]:n<=r?[e,t]:[t,e]}function ue(e){let t=L(e);if(!t)return 0;let n=new Date(t).getTime();return Number.isNaN(n)?0:n}function de(e,t){return[e.itemKind,e.id,t.itemKind,t.id].join(`:`)}function Z(e){return e.split(/[\n\r,,、;;。.!!??]+/u).map(e=>e.trim()).filter(Boolean)}function fe(e,t){let n=Q(e),r=Q(t);if(n===r)return!0;let i=n.length<=r.length?n:r,a=i===n?r:n;return i.length>=2&&a.includes(i)}function pe(e,t){return Q(e).length>=Q(t).length?e:t}function Q(e){return String(e??``).trim().toLocaleLowerCase().replace(/[“”‘’"'`]/gu,``).replace(/\s+/gu,` `)}var me=[`aria-labelledby`],he={class:`project-dialog-shell conflict-resolution-shell`},ge={class:`project-dialog-header`},_e=[`id`],ve=[`disabled`],$=[`aria-label`],ye=[`aria-label`],be={class:`conflict-side conflict-side-left`},xe={class:`conflict-side-heading`},Se={class:`conflict-side conflict-side-right`},Ce={class:`conflict-side-heading`},we=[`aria-label`],Te={key:0},Ee={key:1,class:`muted`},De={key:0},Oe={key:1,class:`muted`},ke={key:0},Ae={key:1,class:`muted`},je=[`disabled`],Me=[`aria-label`],Ne=[`aria-pressed`],Pe={key:0},Fe=[`aria-pressed`],Ie=[`aria-pressed`],Le=[`disabled`,`aria-pressed`],Re={key:0,class:`conflict-resolution-detail`},ze=[`aria-label`],Be=[`aria-pressed`],Ve=[`aria-pressed`],He={key:1,class:`conflict-resolution-detail`},Ue=[`aria-label`],We=[`aria-pressed`],Ge=[`aria-pressed`],Ke={value:``,disabled:``},qe=[`value`],Je={class:`conflict-impact-preview`},Ye={class:`conflict-resolution-reason`},Xe={key:0,class:`dialog-error`},Ze={class:`project-dialog-actions conflict-resolution-actions`},Qe=[`disabled`],$e=[`disabled`],et=E(S({__name:`PreferenceConflictDialog`,props:{conflict:{},personalSpaceId:{},projects:{}},emits:[`close`,`resolved`,`edit`],setup(e,{emit:t}){let n=e,g=t,_=ee(),v=l(null),S=l(`right`),E=l(`right`),D=l(``),O=l(``),j=l(``),ne=l(``),M=l(!1),re=r(),{dialogRef:ie,onCancel:ae,onKeydown:oe}=A(()=>!!n.conflict,()=>{M.value||g(`close`)}),N=l(``),P=u(()=>{let e=n.conflict;if(!e)return[];let t=E.value===`left`?e.left:e.right;return n.projects.filter(({project_id:e})=>t.preferenceScope!==`project`||e!==t.preferenceProjectId)}),F=u(()=>P.value.length>0),se=u(()=>{let e=n.conflict;if(!e||!v.value)return d(`preferences.dialog.impact.choose`);if(v.value===`merge`){let t=S.value===`left`?e.left:e.right,n=S.value===`left`?e.right:e.left;return d(`preferences.dialog.impact.merge`,{target:t.title,historical:n.title})}if(v.value===`keep_left`||v.value===`keep_right`){let t=v.value===`keep_left`?e.left:e.right,n=v.value===`keep_left`?e.right:e.left;return d(`preferences.dialog.impact.keep`,{kept:t.title,historical:n.title})}let t=E.value===`left`?e.left:e.right,r=P.value.find(({project_id:e})=>e===D.value);return r?d(`preferences.dialog.impact.split`,{item:t.title,project:r.profile.name}):d(`preferences.dialog.impact.chooseProject`)});o(()=>n.conflict,e=>{e&&(S.value=`right`,E.value=`right`,O.value=G(V(e.right),V(e.left)),v.value=e.recommendedAction,D.value=``,N.value=``,ce(e.recommendedAction))},{immediate:!0}),o([E,P],()=>{D.value&&P.value.some(({project_id:e})=>e===D.value)||(D.value=P.value[0]?.project_id??``)},{immediate:!0});function R(e){M.value||(v.value=e,(!j.value.trim()||j.value===ne.value)&&ce(e))}function ce(e){let t=n.conflict,r=t&&e?W(e,t):``;ne.value=r,j.value=r}async function le(){if(M.value)return;let e=n.conflict;if(!e||!v.value)return K(d(`preferences.dialog.errors.actionRequired`));if(!j.value.trim())return K(d(`preferences.dialog.errors.reasonRequired`));if(v.value===`merge`&&!O.value.trim())return K(d(`preferences.dialog.errors.mergedValueRequired`));if(v.value===`split_scope`&&!D.value)return K(d(`preferences.dialog.errors.projectRequired`));let t=v.value,r=j.value.trim(),i=n.personalSpaceId;M.value=!0,N.value=``;try{t===`merge`?await z(e):t===`split_scope`?await H(e):await B(e,t),e.aiRecord&&await te(`/api/preference-conflicts/${encodeURIComponent(e.aiRecord.id)}/complete`,{personalSpaceId:i,resolution:t,reason:r}),_.notify(d(`preferences.dialog.resolved`)),g(`resolved`),g(`close`)}catch(e){N.value=e instanceof Error?e.message:d(`preferences.dialog.errors.failed`),_.reportError(e)}finally{M.value=!1}}async function z(e){let t=j.value.trim(),r=n.personalSpaceId,i=S.value===`left`?e.left:e.right,a=S.value===`left`?e.right:e.left,o={personalSpaceId:r,personalProjectId:null,action:`update`,reason:t};i.itemKind===`entity`?(o.name=i.title,o.summary=O.value.trim()):o.fact=O.value.trim(),i.classificationExplicit&&i.originQuadrant!==`unclassified`&&(o.originQuadrant=i.originQuadrant,o.confirmationStatus=`confirmed`,o.confirmationBasis={existenceReason:d(`preferences.dialog.audit.mergedFromConflict`,{reason:e.reason}),quadrantReason:i.confirmationBasis?.quadrant_reason||i.reasoningSummary||d(`preferences.dialog.audit.keepQuadrant`),proposedBy:i.confirmationBasis?.proposed_by?U(i.confirmationBasis.proposed_by):{kind:`import`,label:d(`preferences.dialog.audit.historicalRecord`)},confirmedBy:{kind:`user`,label:d(`preferences.dialog.audit.user`)},confirmedAt:new Date().toISOString()}),await k(`/api/knowledge/${i.itemKind}/${encodeURIComponent(i.id)}`,o),await k(`/api/knowledge/${a.itemKind}/${encodeURIComponent(a.id)}`,{personalSpaceId:r,personalProjectId:null,action:`invalidate`,reason:t,replacementItemId:i.id,replacementItemKind:i.itemKind})}async function B(e,t){let r=t===`keep_left`?e.left:e.right,i=t===`keep_left`?e.right:e.left;await k(`/api/knowledge/${i.itemKind}/${encodeURIComponent(i.id)}`,{personalSpaceId:n.personalSpaceId,personalProjectId:null,action:`invalidate`,reason:j.value.trim(),replacementItemId:r.id,replacementItemKind:r.itemKind})}async function H(e){let t=E.value===`left`?e.left:e.right;await te(`/api/knowledge/${t.itemKind}/${encodeURIComponent(t.id)}/preference-scope`,{personalSpaceId:n.personalSpaceId,scope:`project`,projectId:D.value,reason:j.value.trim()})}function U(e){return{kind:e.kind,label:e.label??null}}function W(e,t){return e===`merge`?d(`preferences.dialog.defaultReason.merge`):e===`keep_left`?d(`preferences.dialog.defaultReason.keepLeft`,{title:t.left.title}):e===`keep_right`?d(`preferences.dialog.defaultReason.keepRight`,{title:t.right.title}):d(`preferences.dialog.defaultReason.split`)}function K(e){N.value=e}return(t,n)=>e.conflict?(i(),C(`dialog`,{key:0,ref_key:`dialogRef`,ref:ie,"aria-modal":`true`,"aria-labelledby":y(re),onCancel:n[15]||=(...e)=>y(ae)&&y(ae)(...e),onKeydown:n[16]||=(...e)=>y(oe)&&y(oe)(...e),class:`project-dialog conflict-resolution-dialog vue-dialog`},[x(`div`,he,[x(`header`,ge,[x(`div`,null,[x(`h3`,{id:y(re)},h(y(d)(`preferences.dialog.title`)),9,_e),x(`p`,null,h(y(d)(`preferences.dialog.intro`,{reason:e.conflict.reason})),1)]),x(`button`,{class:`secondary-action`,type:`button`,disabled:M.value,onClick:n[0]||=e=>g(`close`)},h(y(d)(`common.actions.close`)),9,ve)]),x(`section`,{class:`conflict-pair-context`,"aria-label":y(d)(`preferences.dialog.basisAria`)},[x(`span`,null,[s(h(y(d)(`preferences.dialog.preferenceKey`))+` `,1),x(`strong`,null,h(e.conflict.preferenceKey),1)]),x(`span`,null,[s(h(y(d)(`preferences.dialog.effectiveScope`))+` `,1),x(`strong`,null,h(e.conflict.scopeLabel),1)]),x(`span`,null,[s(h(y(d)(`preferences.dialog.suggestion`))+` `,1),x(`strong`,null,h(e.conflict.recommendedAction===`merge`?y(d)(`preferences.dialog.mergeSuggestion`):y(d)(`preferences.dialog.reviewSuggestion`)),1)])],8,$),x(`section`,{class:`conflict-comparison`,"aria-label":y(d)(`preferences.dialog.comparisonAria`)},[x(`article`,be,[x(`div`,xe,[x(`span`,null,h(y(d)(`preferences.dialog.older`)),1),x(`time`,null,h(y(I)(y(L)(e.conflict.left))),1)]),x(`h4`,null,h(e.conflict.left.title),1),x(`p`,null,h(y(V)(e.conflict.left)),1),x(`small`,null,h(y(d)(`preferences.dialog.sourceCount`,{count:e.conflict.left.evidence.length}))+` · `+h(e.conflict.left.id),1),x(`button`,{class:`text-action`,type:`button`,onClick:n[1]||=t=>g(`edit`,e.conflict.left)},h(y(d)(`preferences.dialog.editA`)),1)]),x(`article`,Se,[x(`div`,Ce,[x(`span`,null,h(y(d)(`preferences.dialog.newer`)),1),x(`time`,null,h(y(I)(y(L)(e.conflict.right))),1)]),x(`h4`,null,h(e.conflict.right.title),1),x(`p`,null,h(y(V)(e.conflict.right)),1),x(`small`,null,h(y(d)(`preferences.dialog.sourceCount`,{count:e.conflict.right.evidence.length}))+` · `+h(e.conflict.right.id),1),x(`button`,{class:`text-action`,type:`button`,onClick:n[2]||=t=>g(`edit`,e.conflict.right)},h(y(d)(`preferences.dialog.editB`)),1)])],8,ye),x(`section`,{class:`conflict-difference`,"aria-label":y(d)(`preferences.dialog.differenceAria`)},[x(`div`,null,[x(`span`,null,h(y(d)(`preferences.dialog.shared`)),1),e.conflict.difference.shared.length?(i(),C(`p`,Te,[(i(!0),C(m,null,a(e.conflict.difference.shared,e=>(i(),C(`b`,{key:e},h(e),1))),128))])):(i(),C(`p`,Ee,h(y(d)(`preferences.dialog.noShared`)),1))]),x(`div`,null,[x(`span`,null,h(y(d)(`preferences.dialog.onlyA`)),1),e.conflict.difference.leftOnly.length?(i(),C(`p`,De,[(i(!0),C(m,null,a(e.conflict.difference.leftOnly,e=>(i(),C(`b`,{key:e},h(e),1))),128))])):(i(),C(`p`,Oe,h(y(d)(`preferences.dialog.noUnique`)),1))]),x(`div`,null,[x(`span`,null,h(y(d)(`preferences.dialog.onlyB`)),1),e.conflict.difference.rightOnly.length?(i(),C(`p`,ke,[(i(!0),C(m,null,a(e.conflict.difference.rightOnly,e=>(i(),C(`b`,{key:e},h(e),1))),128))])):(i(),C(`p`,Ae,h(y(d)(`preferences.dialog.noUnique`)),1))])],8,we),x(`fieldset`,{class:`conflict-inputs`,disabled:M.value},[x(`section`,{class:`conflict-resolution-options`,"aria-label":y(d)(`preferences.dialog.actionsAria`)},[x(`button`,{type:`button`,"aria-pressed":v.value===`merge`,onClick:n[3]||=e=>R(`merge`)},[x(`strong`,null,h(y(d)(`preferences.dialog.actions.merge`)),1),x(`span`,null,h(y(d)(`preferences.dialog.actions.mergeCopy`)),1),e.conflict.recommendedAction===`merge`?(i(),C(`em`,Pe,h(y(d)(`preferences.dialog.actions.recommended`)),1)):f(``,!0)],8,Ne),x(`button`,{type:`button`,"aria-pressed":v.value===`keep_left`,onClick:n[4]||=e=>R(`keep_left`)},[x(`strong`,null,h(y(d)(`preferences.dialog.actions.keepA`)),1),x(`span`,null,h(y(d)(`preferences.dialog.actions.keepACopy`)),1)],8,Fe),x(`button`,{type:`button`,"aria-pressed":v.value===`keep_right`,onClick:n[5]||=e=>R(`keep_right`)},[x(`strong`,null,h(y(d)(`preferences.dialog.actions.keepB`)),1),x(`span`,null,h(y(d)(`preferences.dialog.actions.keepBCopy`)),1)],8,Ie),x(`button`,{type:`button`,disabled:!F.value,"aria-pressed":v.value===`split_scope`,onClick:n[6]||=e=>R(`split_scope`)},[x(`strong`,null,h(y(d)(`preferences.dialog.actions.split`)),1),x(`span`,null,h(F.value?y(d)(`preferences.dialog.actions.splitCopy`):y(d)(`preferences.dialog.actions.noProjects`)),1)],8,Le)],8,Me),v.value===`merge`?(i(),C(`section`,Re,[x(`div`,{class:`conflict-inline-options`,role:`group`,"aria-label":y(d)(`preferences.dialog.mergeIdentityAria`)},[x(`span`,null,h(y(d)(`preferences.dialog.canonicalIdentity`)),1),x(`button`,{type:`button`,"aria-pressed":S.value===`left`,onClick:n[7]||=e=>S.value=`left`},h(y(d)(`preferences.dialog.identityA`)),9,Be),x(`button`,{type:`button`,"aria-pressed":S.value===`right`,onClick:n[8]||=e=>S.value=`right`},h(y(d)(`preferences.dialog.identityB`)),9,Ve)],8,ze),x(`label`,null,[s(h(y(d)(`preferences.dialog.mergedContent`))+` `,1),c(x(`textarea`,{"onUpdate:modelValue":n[9]||=e=>O.value=e,rows:`4`,maxlength:`4096`},null,512),[[p,O.value]])])])):f(``,!0),v.value===`split_scope`?(i(),C(`section`,He,[x(`div`,{class:`conflict-inline-options`,role:`group`,"aria-label":y(d)(`preferences.dialog.splitRecordAria`)},[x(`span`,null,h(y(d)(`preferences.dialog.adjustRecord`)),1),x(`button`,{type:`button`,"aria-pressed":E.value===`left`,onClick:n[10]||=e=>E.value=`left`},` A `,8,We),x(`button`,{type:`button`,"aria-pressed":E.value===`right`,onClick:n[11]||=e=>E.value=`right`},` B `,8,Ge)],8,Ue),x(`label`,null,[s(h(y(d)(`preferences.dialog.projectOnly`))+` `,1),c(x(`select`,{"onUpdate:modelValue":n[12]||=e=>D.value=e},[x(`option`,Ke,h(y(d)(`preferences.dialog.chooseProject`)),1),(i(!0),C(m,null,a(P.value,e=>(i(),C(`option`,{key:e.project_id,value:e.project_id},h(e.profile.name),9,qe))),128))],512),[[b,D.value]])])])):f(``,!0),x(`section`,Je,[x(`span`,null,h(y(d)(`preferences.dialog.impactTitle`)),1),x(`p`,null,h(se.value),1)]),x(`label`,Ye,[s(h(y(d)(`preferences.dialog.reason`))+` `,1),c(x(`textarea`,{"onUpdate:modelValue":n[13]||=e=>j.value=e,rows:`2`,maxlength:`2000`},null,512),[[p,j.value]])])],8,je),N.value?(i(),C(`p`,Xe,h(N.value),1)):f(``,!0),x(`footer`,Ze,[x(`span`,null,h(y(d)(`preferences.dialog.pendingCopy`)),1),x(`div`,null,[x(`button`,{class:`secondary-action`,type:`button`,disabled:M.value,onClick:n[14]||=e=>g(`close`)},h(y(d)(`preferences.dialog.defer`)),9,Qe),x(`button`,{class:`primary-action`,type:`button`,disabled:M.value||!v.value,onClick:le},[M.value?(i(),w(T,{key:0,variant:`inline`,label:y(d)(`preferences.dialog.processing`)},null,8,[`label`])):(i(),C(m,{key:1},[s(h(y(d)(`preferences.dialog.confirm`)),1)],64))],8,$e)])])])],40,me)):f(``,!0)}}),[[`__scopeId`,`data-v-e1408193`]]),tt=[`aria-label`],nt={class:`writing-taste-milestone__copy`},rt={class:`writing-taste-milestone__heading`},it={class:`writing-taste-milestone__progress`,"aria-hidden":`true`},at={class:`writing-taste-milestone__metrics`},ot=E(S({__name:`WritingTasteMilestone`,props:{profile:{}},setup(e){let r=e,a=u(()=>r.profile?.ready===!0),o=u(()=>r.profile?.status===`active`?d(`writingTaste.milestone.activeTitle`):r.profile?.status===`preview_ready`?d(`writingTaste.milestone.previewTitle`):d(`writingTaste.milestone.collectingTitle`)),c=u(()=>a.value?d(`writingTaste.milestone.readyCopy`):d(`writingTaste.milestone.collectingCopy`)),l=u(()=>{let e=r.profile?.readiness;if(!e)return 0;let t=[p(e.rule_count,e.thresholds.rule_count),p(e.evidence_count,e.thresholds.evidence_count),p(e.session_count,e.thresholds.session_count),p(e.observation_day_count,e.thresholds.observation_day_count)];return Math.round(t.reduce((e,t)=>e+t,0)/t.length*100)});function p(e,t){return t<=0?1:Math.min(Math.max(e/t,0),1)}return(r,a)=>e.profile?(i(),C(`section`,{key:0,class:_([`writing-taste-milestone`,`status-${e.profile.status}`]),"aria-label":y(d)(`writingTaste.milestone.aria`)},[a[1]||=x(`div`,{class:`writing-taste-milestone__mark`,"aria-hidden":`true`},[x(`span`),x(`span`),x(`span`)],-1),x(`div`,nt,[x(`div`,rt,[x(`h2`,null,h(o.value),1),x(`span`,null,h(y(d)(`writingTaste.status.${e.profile.status}`)),1)]),x(`p`,null,h(c.value),1),x(`div`,it,[x(`i`,{style:v({transform:`scaleX(${l.value/100})`})},null,4)]),x(`div`,at,[x(`small`,null,h(y(d)(`writingTaste.milestone.rules`,{current:e.profile.readiness.rule_count,target:e.profile.readiness.thresholds.rule_count})),1),x(`small`,null,h(y(d)(`writingTaste.milestone.sessions`,{current:e.profile.readiness.session_count,target:e.profile.readiness.thresholds.session_count})),1)])]),n(y(D),{class:`writing-taste-milestone__action`,to:`/preferences/writing`},{default:t(()=>[s(h(y(d)(`writingTaste.milestone.open`))+` `,1),a[0]||=x(`span`,{"aria-hidden":`true`},`→`,-1)]),_:1})],10,tt)):f(``,!0)}}),[[`__scopeId`,`data-v-e66059e9`]]),st={class:`view vue-personal-profile`},ct=[`aria-label`],lt=[`aria-label`,`aria-pressed`],ut=[`aria-label`,`aria-pressed`],dt=[`aria-label`,`aria-pressed`],ft={key:0},pt={key:1},mt=[`aria-label`,`aria-pressed`],ht=[`aria-label`],gt={class:`personal-profile-toolbar`},_t={class:`personal-profile-filter-groups`},vt=[`aria-label`],yt=[`aria-pressed`,`onClick`],bt={class:`personal-profile-toolbar-actions`},xt={key:0,class:`muted`},St={key:1,class:`muted`},Ct={key:2,class:`muted`},wt=[`disabled`],Tt={key:3,class:`view-loading`,"aria-busy":`true`},Et=[`aria-label`],Dt={class:`preference-conflict-list`},Ot={class:`preference-conflict-card-heading`},kt={class:`preference-conflict-pair`},At={key:0},jt={class:`preference-conflict-actions`},Mt=[`disabled`,`onClick`],Nt=[`onClick`],Pt={key:1,class:`empty-state`},Ft={class:`personal-profile-table-head`,"aria-hidden":`true`},It=[`onClick`],Lt={class:`personal-profile-copy`},Rt={class:`personal-profile-origin`},zt={class:`empty-state`},Bt=E(S({__name:`PersonalProfilePage`,setup(r){let c=ee(),p=l(null),v=l(null),b=l(!1),S=u(()=>b.value&&!p.value),E=re(S),D=l(`all`),k=l(`all`),A=l(`all`),z=l(!1),B=l(null),H=l(null),U=l(null),W=l(null),G=l([]),K=l(``),q=0,J=null,Y=u(()=>se(p.value)),X=u(()=>ce(Y.value,G.value)),ue=u(()=>new Set(X.value.flatMap(({left:e,right:t})=>[e.id,t.id]))),de=u(()=>new Set(G.value.filter(({status:e,resolved_by:t})=>e===`resolved`&&t===`agent`).flatMap(le))),Z=u(()=>Y.value.filter(e=>Ce(e)&&(A.value===`all`||F(e)===A.value))),fe=u(()=>JSON.stringify([D.value,k.value,A.value,z.value])),pe=u(()=>B.value?Z.value.findIndex(({id:e,itemKind:t})=>e===B.value?.id&&t===B.value?.itemKind):-1),Q=u(()=>X.value.filter(({left:e,right:t})=>Ce(e)||Ce(t))),me=u(()=>[[`all`,d(`preferences.profile.filters.all`)],[`taste`,d(`preferences.profile.filters.taste`)],[`personality`,d(`preferences.profile.filters.personality`)],[`judgment_preference`,d(`preferences.profile.filters.judgment`)]]),he=u(()=>{let e=new Map((c.state?.personalProjects??[]).map(e=>[e.project_id,e.profile.name])),t=[...new Set(Y.value.filter(({preferenceScope:e,preferenceProjectId:t})=>e===`project`&&!!t).map(({preferenceProjectId:e})=>e))].sort((t,n)=>(e.get(t)??t).localeCompare(e.get(n)??n,g()));return[{value:`all`,label:d(`preferences.profile.scopes.all`),meta:d(`common.counts.items`,{count:Y.value.length})},{value:`global`,label:d(`preferences.profile.scopes.global`),meta:d(`common.counts.items`,{count:Y.value.filter(({preferenceScope:e})=>e!==`project`).length})},...t.map(t=>({value:`project:${t}`,label:e.get(t)??t,meta:d(`preferences.profile.scopes.projectMeta`,{count:Y.value.filter(({preferenceScope:e,preferenceProjectId:n})=>e===`project`&&n===t).length}),search:t}))]}),ge=u(()=>Y.value.filter(e=>F(e)===`confirmed`).length),_e=u(()=>Y.value.filter(e=>F(e)===`pending`).length),ve=u(()=>Y.value.filter(e=>F(e)===`agent_confirmed`).length);o(()=>c.activePersonalSpace?.id,(e,t)=>{e!==t&&(p.value=null,v.value=null,G.value=[],B.value=null,H.value=null,U.value=null,W.value=null,k.value=`all`),e?$(e):(q+=1,J?.abort(),J=null,b.value=!1)},{immediate:!0}),e(()=>{q+=1,J?.abort(),J=null}),o([D,k,A,z],()=>{B.value&&!Z.value.some(({id:e})=>e===B.value?.id)&&(B.value=null)}),o(he,e=>{e.some(({value:e})=>e===k.value)||(k.value=`all`)});async function $(e=c.activePersonalSpace?.id){if(!e)return;J?.abort();let t=++q,n=new AbortController;J=n,b.value=!0;try{let r=new URLSearchParams({personalSpaceId:e,limit:`500`}),i=new URLSearchParams({personalSpaceId:e,limit:`500`}),[a,o,s]=await Promise.all([R(e,n.signal),O(`/api/preference-conflicts?${r}`,{signal:n.signal}),O(`/api/writing-taste-profile?${i}`,{signal:n.signal}).catch(()=>null)]);if(t!==q||n.signal.aborted)return;p.value=a,G.value=Array.isArray(o)?o:[],v.value=ye(s)?s:null,B.value&&=Y.value.find(({id:e})=>e===B.value?.id)??null}catch(e){if(t!==q||n.signal.aborted)return;p.value=null,v.value=null,c.reportError(e)}finally{if(t!==q||n.signal.aborted)return;b.value=!1,J===n&&(J=null)}}function ye(e){if(!e||typeof e!=`object`)return!1;let t=e;return[`collecting`,`preview_ready`,`active`].includes(t.status??``)&&!!t.readiness&&Array.isArray(t.rules)}function be(e){let t=N(e),n=X.value.find(({left:t,right:n})=>t.id===e.id||n.id===e.id);return n?.aiRecord?`${t} · ${d(`preferences.profile.statusSuffix.aiPending`)}`:n?`${t} · ${d(`preferences.profile.statusSuffix.conflict`)}`:de.value.has(e.id)?`${t} · ${d(`preferences.profile.statusSuffix.aiResolved`)}`:t}function xe(e){return`${e.itemKind}:${e.id}`}function Se(e){if(e.preferenceScope!==`project`||!e.preferenceProjectId)return d(`preferences.shared.personalGlobal`);let t=c.state?.personalProjects?.find(({project_id:t})=>t===e.preferenceProjectId);return d(`preferences.shared.projectOnly`,{project:t?.profile.name??e.preferenceProjectId})}function Ce(e){if(D.value!==`all`&&e.profileAspect!==D.value||k.value===`global`&&e.preferenceScope===`project`)return!1;if(k.value.startsWith(`project:`)){let t=k.value.slice(8);return e.preferenceScope===`project`&&e.preferenceProjectId===t}return!0}function we(e){if(e.scopeKey===`global`)return d(`preferences.shared.personalGlobal`);let t=e.scopeKey.slice(8),n=c.state?.personalProjects?.find(({project_id:e})=>e===t);return d(`preferences.shared.projectOnly`,{project:n?.profile.name??t})}function Te(e){D.value=e.profileAspect??`all`,k.value=e.preferenceScope===`project`&&e.preferenceProjectId?`project:${e.preferenceProjectId}`:`global`,z.value=!1,B.value=e}function Ee(e){W.value=null,U.value=e}function De(e){let t=!z.value&&A.value===e?`all`:e;z.value=!1,A.value=t,t!==`all`&&(B.value=Z.value.at(0)??null)}function Oe(e=!1){let t=e||!z.value;z.value=t,t&&(A.value=`all`,B.value=null)}async function ke(e){let t=c.activePersonalSpace?.id;if(!(!t||e.aiRecord)){K.value=e.id;try{let n=await te(`/api/preference-conflicts/defer`,{personalSpaceId:t,conflictId:e.id,preferenceKey:e.preferenceKey,preferenceScope:e.left.preferenceScope??`global`,preferenceProjectId:e.left.preferenceProjectId,leftItemId:e.left.id,leftItemKind:e.left.itemKind,rightItemId:e.right.id,rightItemKind:e.right.itemKind,reason:d(`preferences.profile.deferReason`)});G.value=[n,...G.value.filter(({id:e})=>e!==n.id)],c.notify(d(`preferences.profile.deferNotice`))}catch(e){c.reportError(e)}finally{K.value=``}}}return(e,r)=>(i(),C(`section`,st,[x(`div`,{class:`personal-profile-summary`,"aria-label":y(d)(`preferences.profile.summaryAria`)},[x(`button`,{type:`button`,class:`profile-summary-action state-confirmed`,"aria-label":y(d)(`preferences.profile.summary.confirmedAria`,{count:ge.value}),"aria-pressed":!z.value&&A.value===`confirmed`,onClick:r[0]||=e=>De(`confirmed`)},[x(`strong`,null,h(ge.value),1),s(h(y(d)(`preferences.profile.summary.confirmed`))+` `,1),x(`small`,null,h(y(d)(`preferences.profile.summary.viewRecords`)),1)],8,lt),x(`button`,{type:`button`,class:`profile-summary-action state-agent-confirmed`,"aria-label":y(d)(`preferences.profile.summary.agentConfirmedAria`,{count:ve.value}),"aria-pressed":!z.value&&A.value===`agent_confirmed`,onClick:r[1]||=e=>De(`agent_confirmed`)},[x(`strong`,null,h(ve.value),1),s(h(y(d)(`preferences.profile.summary.agentConfirmed`))+` `,1),x(`small`,null,h(y(d)(`preferences.profile.summary.belowHuman`)),1)],8,ut),x(`button`,{type:`button`,class:`profile-summary-action state-pending`,"aria-label":y(d)(`preferences.profile.summary.pendingAria`,{count:_e.value}),"aria-pressed":!z.value&&A.value===`pending`,onClick:r[2]||=e=>De(`pending`)},[x(`strong`,null,h(_e.value),1),s(h(y(d)(`preferences.profile.summary.pending`))+` `,1),_e.value?(i(),C(`small`,ft,h(y(d)(`preferences.profile.summary.reviewAndConfirm`)),1)):(i(),C(`small`,pt,h(y(d)(`preferences.profile.summary.viewRecords`)),1))],8,dt),x(`button`,{type:`button`,class:`profile-summary-action state-conflict`,"aria-label":X.value.length?y(d)(`preferences.profile.summary.conflictAria`,{count:X.value.length}):y(d)(`preferences.profile.summary.noConflictsAria`),"aria-pressed":z.value,onClick:r[3]||=e=>Oe()},[x(`strong`,null,h(X.value.length),1),s(h(y(d)(`preferences.profile.summary.conflicts`))+` `,1),x(`small`,null,h(X.value.length?y(d)(`preferences.profile.summary.reviewAndHandle`):y(d)(`preferences.profile.summary.viewRecords`)),1)],8,mt)],8,ct),X.value.length&&!z.value&&A.value===`all`?(i(),C(`section`,{key:0,class:`preference-conflict-alert`,"aria-label":y(d)(`preferences.profile.alert.aria`)},[r[15]||=x(`div`,{class:`preference-conflict-alert-icon`,"aria-hidden":`true`},`!`,-1),x(`div`,null,[x(`h2`,null,h(y(d)(`preferences.profile.alert.title`,{count:X.value.length})),1),x(`p`,null,h(y(d)(`preferences.profile.alert.copy`)),1)]),x(`button`,{class:`primary-action`,type:`button`,onClick:r[4]||=e=>Oe(!0)},h(y(d)(`preferences.profile.alert.action`)),1)],8,ht)):f(``,!0),n(ot,{profile:v.value},null,8,[`profile`]),x(`div`,gt,[x(`div`,_t,[x(`div`,{class:`personal-profile-filters`,role:`group`,"aria-label":y(d)(`preferences.profile.filters.aspectAria`)},[(i(!0),C(m,null,a(me.value,([e,t])=>(i(),C(`button`,{key:e,type:`button`,"aria-pressed":D.value===e,onClick:t=>D.value=e},h(t),9,yt))),128))],8,vt),n(j,{modelValue:k.value,"onUpdate:modelValue":r[5]||=e=>k.value=e,class:`personal-profile-scope-filter`,"control-id":`personal-profile-scope`,label:y(d)(`preferences.profile.filters.scopeLabel`),options:he.value,"search-placeholder":y(d)(`preferences.profile.filters.scopeSearch`)},null,8,[`modelValue`,`label`,`options`,`search-placeholder`])]),x(`div`,bt,[z.value?(i(),C(`span`,xt,h(y(d)(`preferences.profile.filters.conflictsCount`,{visible:Q.value.length,total:X.value.length})),1)):A.value===`all`?(i(),C(`span`,Ct,h(Z.value.length===Y.value.length?y(d)(`preferences.profile.filters.personalUnderstanding`,{count:Y.value.length}):y(d)(`preferences.profile.filters.visibleCount`,{visible:Z.value.length,total:Y.value.length})),1)):(i(),C(`span`,St,h(y(d)(`preferences.profile.filters.reviewCount`,{count:Z.value.length,status:A.value===`pending`?y(d)(`preferences.profile.summary.pending`):A.value===`agent_confirmed`?y(d)(`preferences.profile.summary.agentConfirmed`):y(d)(`preferences.profile.summary.confirmed`)})),1)),x(`button`,{class:`toolbar-action`,type:`button`,disabled:b.value,onClick:r[6]||=e=>$()},h(y(d)(`common.actions.refresh`)),9,wt)])]),b.value&&p.value&&!y(E)&&!z.value?(i(),w(T,{key:1,variant:`inline`,label:y(d)(`preferences.profile.directory.loading`)},null,8,[`label`])):f(``,!0),y(E)?(i(),w(T,{key:2,label:y(d)(`preferences.profile.directory.loading`)},null,8,[`label`])):S.value?(i(),C(`div`,Tt)):z.value?(i(),C(`section`,{key:4,class:`preference-conflict-workbench`,"aria-label":y(d)(`preferences.profile.workbench.aria`)},[x(`header`,null,[x(`div`,null,[x(`h2`,null,h(y(d)(`preferences.profile.workbench.title`)),1)])]),x(`div`,Dt,[(i(!0),C(m,null,a(Q.value,(e,t)=>(i(),C(`article`,{key:e.id,class:`preference-conflict-card`},[x(`div`,Ot,[x(`div`,null,[x(`span`,null,h(y(d)(`preferences.profile.workbench.group`,{index:t+1})),1),x(`h3`,null,h(e.preferenceKey),1)]),x(`div`,null,[x(`span`,null,h(we(e)),1),x(`strong`,null,h(e.aiRecord?y(d)(`preferences.profile.workbench.aiPending`):e.recommendedAction===`merge`?y(d)(`preferences.profile.workbench.mergeSuggested`):y(d)(`preferences.profile.workbench.humanReview`)),1)])]),x(`div`,kt,[x(`section`,null,[x(`span`,null,h(y(d)(`preferences.profile.workbench.older`)),1),x(`strong`,null,h(e.left.title),1),x(`p`,null,h(y(V)(e.left)),1),x(`small`,null,h(y(I)(y(L)(e.left))),1)]),r[16]||=x(`i`,{"aria-hidden":`true`},`↔`,-1),x(`section`,null,[x(`span`,null,h(y(d)(`preferences.profile.workbench.newer`)),1),x(`strong`,null,h(e.right.title),1),x(`p`,null,h(y(V)(e.right)),1),x(`small`,null,h(y(I)(y(L)(e.right))),1)])]),x(`footer`,null,[x(`div`,null,[x(`span`,null,h(y(d)(`preferences.profile.workbench.reason`)),1),x(`p`,null,h(e.reason),1),e.difference.rightOnly.length?(i(),C(`small`,At,h(y(d)(`preferences.profile.workbench.additions`,{values:e.difference.rightOnly.join(`、`)})),1)):f(``,!0)]),x(`div`,jt,[x(`button`,{class:`secondary-action`,type:`button`,disabled:!!e.aiRecord||K.value===e.id,onClick:t=>ke(e)},h(e.aiRecord?y(d)(`preferences.profile.workbench.deferred`):K.value===e.id?y(d)(`preferences.profile.workbench.deferring`):y(d)(`preferences.profile.workbench.defer`)),9,Mt),x(`button`,{class:`primary-action`,type:`button`,onClick:t=>W.value=e},h(y(d)(`preferences.profile.workbench.handleNow`)),9,Nt)])])]))),128))]),b.value?(i(),w(T,{key:0,variant:`compact`,label:y(d)(`preferences.profile.workbench.loading`)},null,8,[`label`])):Q.value.length?f(``,!0):(i(),C(`div`,Pt,h(X.value.length?y(d)(`preferences.profile.workbench.noFiltered`):y(d)(`preferences.profile.workbench.empty`)),1))],8,Et)):(i(),C(`div`,{key:5,class:_([`personal-profile-layout`,{"has-selection":B.value}])},[n(ne,{class:`personal-profile-directory`,items:Z.value,"row-height":76,"active-index":pe.value,"reset-key":fe.value,"item-key":xe,label:y(d)(`preferences.profile.directory.aria`)},{header:t(()=>[x(`div`,Ft,[x(`span`,null,h(y(d)(`preferences.profile.directory.aspect`)),1),x(`span`,null,h(y(d)(`preferences.profile.directory.content`)),1),x(`span`,null,h(y(d)(`preferences.profile.directory.statusScopeSource`)),1),x(`span`,null,h(y(d)(`preferences.profile.directory.updated`)),1)])]),default:t(({item:e})=>[x(`button`,{class:_([`personal-profile-row`,{selected:B.value?.id===e.id,"pending-review":y(F)(e)===`pending`,"ai-resolved-conflict":de.value.has(e.id)}]),type:`button`,onClick:t=>B.value=e},[x(`span`,{class:_([`profile-aspect-mark`,e.profileAspect])},h(y(oe)(e.profileAspect)),3),x(`span`,Lt,[x(`strong`,null,h(e.title),1),x(`small`,null,h(e.body),1)]),x(`span`,Rt,[x(`strong`,{class:_({"has-conflict":ue.value.has(e.id)})},h(be(e)),3),x(`small`,null,h(y(P)(e.originQuadrant))+` · `+h(Se(e))+` · `+h(y(d)(`preferences.profile.directory.sourceCount`,{count:e.evidence.length})),1)]),x(`time`,null,h(y(I)(y(L)(e))),1)],10,It)]),empty:t(()=>[x(`div`,zt,h(Y.value.length?y(d)(`preferences.profile.directory.noFiltered`):y(d)(`preferences.profile.directory.empty`)),1)]),_:1},8,[`items`,`active-index`,`reset-key`,`label`]),n(M,{class:`personal-profile-inspector`,item:B.value,graph:p.value,editable:``,onConfirm:r[7]||=e=>H.value=e,onEdit:r[8]||=e=>U.value=e,onOpenReplacement:Te},null,8,[`item`,`graph`])],2)),n(ae,{item:U.value,"personal-space-id":y(c).activePersonalSpace?.id??``,"personal-project-id":null,projects:y(c).state?.personalProjects??[],"replacement-items":Y.value,onClose:r[9]||=e=>U.value=null,onSaved:r[10]||=e=>$()},null,8,[`item`,`personal-space-id`,`projects`,`replacement-items`]),n(ie,{item:H.value,"personal-space-id":y(c).activePersonalSpace?.id??``,"personal-project-id":null,onClose:r[11]||=e=>H.value=null,onSaved:r[12]||=e=>$()},null,8,[`item`,`personal-space-id`]),n(et,{conflict:W.value,"personal-space-id":y(c).activePersonalSpace?.id??``,projects:y(c).state?.personalProjects??[],onClose:r[13]||=e=>W.value=null,onResolved:r[14]||=e=>$(),onEdit:Ee},null,8,[`conflict`,`personal-space-id`,`projects`])]))}}),[[`__scopeId`,`data-v-a4e17765`]]);export{Bt as default};
@@ -1 +0,0 @@
1
- import{M as e,w as t,y as n}from"./i18n-D2CJkEYK.js";import{t as r}from"./KnowledgeWorkspace-2FvQadhB.js";var i=t({__name:`PersonalProjectsPage`,setup(t){return(t,i)=>(e(),n(r,{"personal-projects-only":``}))}});export{i as default};
@@ -1 +0,0 @@
1
- .project-agent-first-task[data-v-b56335b2]{color:#2c4937;background:#f4f8f4;border:1px solid #d8e3db;border-radius:10px;margin:16px 0;padding:18px 20px}.project-agent-first-task strong[data-v-b56335b2]{font-size:14px}.project-agent-first-task p[data-v-b56335b2]{color:#53685b;margin:8px 0;font-size:13px;line-height:1.7}.project-agent-first-task label[data-v-b56335b2]{gap:7px;margin-top:12px;font-size:12px;display:grid}.project-agent-first-task textarea[data-v-b56335b2]{box-sizing:border-box;resize:vertical;color:#304d3b;width:100%;font:inherit;background:#fff;border:1px solid #c9d6cc;border-radius:6px;padding:10px 12px;line-height:1.7}.project-agent-first-task textarea[data-v-b56335b2]:focus-visible{outline-offset:2px;outline:2px solid #356448}.project-agent-first-task a[data-v-b56335b2]{color:#356448;text-underline-offset:3px;margin-top:4px;font-size:12px;display:inline-block}
@@ -1 +0,0 @@
1
- import{B as e,M as t,S as n,a as r,b as i,it as a,tt as o,v as s,w as c,x as l,y as u}from"./i18n-D2CJkEYK.js";import{t as d}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as f}from"./vue-router-DkaTtPn0.js";import{n as p}from"./paths-CDREouhi.js";var m=[`aria-label`],h=[`value`],g={class:`project-agent-first-task-outcome`},_=d(c({__name:`ProjectAgentFirstTask`,props:{personalSpaceId:{}},setup(c){return(d,_)=>(t(),l(`aside`,{class:`project-agent-first-task`,"aria-label":o(r)(`projectAgents.firstTask.title`)},[s(`strong`,null,a(o(r)(`projectAgents.firstTask.title`)),1),s(`p`,null,a(o(r)(`projectAgents.firstTask.hint`)),1),s(`label`,null,[s(`span`,null,a(o(r)(`projectAgents.firstTask.promptLabel`)),1),s(`textarea`,{readonly:``,rows:`3`,value:o(r)(`projectAgents.firstTask.prompt`)},null,8,h)]),s(`p`,g,a(o(r)(`projectAgents.firstTask.outcome`)),1),c.personalSpaceId?(t(),u(o(f),{key:0,to:o(p)(c.personalSpaceId,`directory`)},{default:e(()=>[n(a(o(r)(`projectAgents.firstTask.registerOptional`)),1)]),_:1},8,[`to`])):i(``,!0)],8,m))}}),[[`__scopeId`,`data-v-b56335b2`]]);export{_ as t};
@@ -1 +0,0 @@
1
- .project-agent-assignment-dialog[data-v-27d3f2ce]{background:0 0;border:0;border-radius:12px;width:min(620px,100vw - 32px);max-height:calc(100vh - 32px);padding:0}.project-agent-assignment-dialog-shell[data-v-27d3f2ce]{border:1px solid var(--color-border-strong);background:var(--color-surface);border-radius:12px;flex-direction:column;max-height:calc(100vh - 32px);display:flex;overflow:hidden;box-shadow:0 18px 48px #212d262e}.project-agent-assignment-dialog-header[data-v-27d3f2ce],.project-agent-assignment-dialog-actions[data-v-27d3f2ce]{justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;display:flex}.project-agent-assignment-dialog-header[data-v-27d3f2ce]{border-bottom:1px solid var(--color-border)}.project-agent-assignment-dialog-header h3[data-v-27d3f2ce]{color:var(--color-ink);font-size:16px}.project-agent-assignment-dialog-fields[data-v-27d3f2ce]{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;min-height:0;padding:18px;display:grid;overflow:auto}.project-agent-assignment-dialog-fields label[data-v-27d3f2ce]{color:var(--color-muted);gap:6px;font-size:12px;font-weight:650;display:grid}.project-agent-assignment-dialog-fields input[data-v-27d3f2ce],.project-agent-assignment-dialog-fields textarea[data-v-27d3f2ce]{border:1px solid var(--color-border-strong);border-radius:var(--radius-control);background:var(--color-surface);width:100%;color:var(--color-ink);padding:8px 9px;font-size:12px;line-height:1.5}.project-agent-assignment-dialog-fields textarea[data-v-27d3f2ce]{resize:vertical}.project-agent-assignment-dialog-fields input[data-v-27d3f2ce]:focus-visible,.project-agent-assignment-dialog-fields textarea[data-v-27d3f2ce]:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.project-agent-assignment-wide-field[data-v-27d3f2ce]{grid-column:1/-1}.project-agent-assignment-dialog-error[data-v-27d3f2ce]{color:var(--color-danger);margin:0 18px;font-size:12px}.project-agent-assignment-dialog-actions[data-v-27d3f2ce]{border-top:1px solid var(--color-border);justify-content:flex-end}.project-agent-primary-action[data-v-27d3f2ce]{border-radius:var(--radius-control);background:var(--color-ink);color:var(--color-surface);border:0;padding:8px 13px;font-size:12px;font-weight:700}.project-agent-primary-action[data-v-27d3f2ce]:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}@media (width<=620px){.project-agent-assignment-dialog-fields[data-v-27d3f2ce]{grid-template-columns:1fr}.project-agent-assignment-wide-field[data-v-27d3f2ce]{grid-column:auto}}.project-agent-dialog[data-v-49c230b9]{background:0 0;border:0;border-radius:12px;width:min(760px,100vw - 64px);max-height:calc(100vh - 64px);padding:0;overflow:hidden}.project-agent-dialog-shell[data-v-49c230b9]{border:1px solid var(--color-border-strong);background:var(--color-surface);border-radius:12px;flex-direction:column;min-height:0;max-height:calc(100vh - 64px);display:flex;overflow:hidden;box-shadow:0 18px 48px #212d262e}.project-agent-dialog-header[data-v-49c230b9],.project-agent-dialog-actions[data-v-49c230b9]{justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;display:flex}.project-agent-dialog-header[data-v-49c230b9]{border-bottom:1px solid var(--color-border)}.project-agent-dialog-header h3[data-v-49c230b9]{color:var(--color-ink);font-size:17px}.project-agent-dialog-fields[data-v-49c230b9]{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;min-height:0;padding:20px;display:grid;overflow:auto}.project-agent-dialog-fields label[data-v-49c230b9]{min-width:0;color:var(--color-muted);align-content:start;gap:6px;font-size:12px;font-weight:650;display:grid}.project-agent-dialog-fields input[data-v-49c230b9],.project-agent-dialog-fields select[data-v-49c230b9],.project-agent-dialog-fields textarea[data-v-49c230b9]{border:1px solid var(--color-border-strong);border-radius:var(--radius-control);background:var(--color-surface);width:100%;color:var(--color-ink);padding:9px 10px;font-size:12px;line-height:1.5}.project-agent-dialog-fields textarea[data-v-49c230b9]{resize:vertical}.project-agent-dialog-fields input[data-v-49c230b9]:focus-visible,.project-agent-dialog-fields select[data-v-49c230b9]:focus-visible,.project-agent-dialog-fields textarea[data-v-49c230b9]:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.project-agent-wide-field[data-v-49c230b9],.project-agent-id-note[data-v-49c230b9]{grid-column:1/-1}.project-agent-dialog-error[data-v-49c230b9]{color:var(--color-danger);margin:0 20px;font-size:12px}.project-agent-dialog-actions[data-v-49c230b9]{border-top:1px solid var(--color-border);justify-content:flex-end}.project-agent-primary-action[data-v-49c230b9]{border-radius:var(--radius-control);background:var(--color-ink);color:var(--color-surface);border:0;padding:8px 14px;font-size:12px;font-weight:700}.project-agent-primary-action[data-v-49c230b9]:hover{background:var(--color-ink)}.project-agent-primary-action[data-v-49c230b9]:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.project-agent-primary-action[data-v-49c230b9]:disabled,.project-agent-dialog-fields[data-v-49c230b9] :disabled{cursor:not-allowed;opacity:.6}.project-agent-dialog-check[data-v-49c230b9]{align-items:center;gap:7px!important;display:flex!important}.project-agent-dialog-check input[data-v-49c230b9]{width:auto!important}.project-agent-dialog-note[data-v-49c230b9]{color:var(--color-muted);font-size:12px;line-height:1.55}.project-team[data-v-12656912]{border-top:1px solid var(--color-border);grid-column:1/-1;min-width:0;padding-block:12px}.project-team-peers[data-v-12656912]{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.project-team-peers[data-v-12656912]>*{background:var(--color-surface-subtle);border:1px solid var(--color-border-strong);color:var(--color-ink);border-radius:6px;padding:7px 10px;font-size:12px}.project-team-summary[data-v-12656912]{color:var(--color-muted);margin:9px 0;font-size:12px}.project-team-members[data-v-12656912]{gap:9px;margin:10px 0 16px 18px;padding:0;list-style:none;display:grid}.project-team-members button[data-v-12656912]{text-align:start;max-width:100%;color:var(--color-ink);background:0 0;border:0;gap:3px;display:grid}.project-team-members span[data-v-12656912]{color:var(--color-muted);overflow-wrap:anywhere;font-size:12px;line-height:1.5}.project-team summary[data-v-12656912]{cursor:pointer;font-size:12px}.team-lead-field[data-v-12656912]{flex-wrap:wrap;align-items:center;gap:12px;margin-block:14px;display:flex}.team-lead-field select[data-v-12656912]{max-width:100%;padding:7px}.project-team fieldset[data-v-12656912]{border:0;flex-wrap:wrap;gap:12px;margin-bottom:14px;padding:0;display:flex}.project-team fieldset label[data-v-12656912]{align-items:center;gap:5px;font-size:12px;display:flex}.project-team legend[data-v-12656912]{margin-bottom:8px;font-size:12px}.project-agent-automation-policy[data-v-12656912]{border-block:1px solid var(--color-border);grid-template-columns:minmax(110px,150px) minmax(0,1fr);align-items:center;gap:14px;padding:11px 0;display:grid}.project-agent-automation-policy>header[data-v-12656912]{min-width:0}.project-agent-automation-policy h3[data-v-12656912]{color:var(--color-ink);font-size:12px;line-height:1.35}.project-agent-automation-policy header span[data-v-12656912]{color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:12px;display:block;overflow:hidden}.project-agent-policy-options[data-v-12656912]{grid-template-columns:repeat(2,minmax(0,1fr));min-width:0;display:grid}.project-agent-policy-options label[data-v-12656912]{cursor:pointer;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;min-width:0;padding:2px 16px;display:grid}.project-agent-policy-options label+label[data-v-12656912]{border-inline-start:1px solid var(--color-border)}.project-agent-policy-options label>span[data-v-12656912]{gap:3px;min-width:0;display:grid}.project-agent-policy-options strong[data-v-12656912]{color:var(--color-ink);font-size:12px;line-height:1.4}.project-agent-policy-options small[data-v-12656912]{max-width:54ch;color:var(--color-muted);overflow-wrap:anywhere;font-size:12px;line-height:1.45}.project-agent-policy-options input[data-v-12656912]{appearance:none;border:1px solid var(--color-border-strong);background:var(--color-surface-subtle);cursor:pointer;border-radius:999px;width:34px;height:19px;margin:0;transition:background-color .14s ease-out,border-color .14s ease-out;position:relative}.project-agent-policy-options input[data-v-12656912]:after{background:var(--color-surface);content:"";border-radius:50%;width:13px;height:13px;transition:transform .14s ease-out;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #24372c38}.project-agent-policy-options input[data-v-12656912]:checked{border-color:var(--color-ink);background:var(--color-muted)}.project-agent-policy-options input[data-v-12656912]:checked:after{transform:translate(15px)}.project-agent-policy-options input[data-v-12656912]:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.project-agent-policy-options input[data-v-12656912]:disabled{cursor:wait;opacity:.62}.project-agent-policy-feedback[data-v-12656912]{grid-column:2;min-height:14px;padding-inline:16px}.project-agent-policy-state[data-v-12656912],.project-agent-policy-feedback p[data-v-12656912]{color:var(--color-muted);font-size:12px;line-height:1.45}.project-agent-policy-feedback p[role=alert][data-v-12656912]{color:var(--color-danger)}.project-agent-policy-feedback button[data-v-12656912]{color:var(--color-ink);font:inherit;cursor:pointer;background:0 0;border:0;margin-inline-start:6px;padding:0;font-weight:700}@media (width<=760px){.project-agent-automation-policy[data-v-12656912],.project-agent-policy-options[data-v-12656912]{grid-template-columns:minmax(0,1fr)}.project-agent-policy-options label[data-v-12656912]{padding:8px 0}.project-agent-policy-options label+label[data-v-12656912]{border-inline-start:0;border-block-start:1px solid var(--color-border)}.project-agent-policy-feedback[data-v-12656912]{grid-column:1;padding-inline:0}}.project-agent-source-state[data-v-4f121023]{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);color:var(--color-muted);justify-content:space-between;align-items:center;gap:10px;margin-top:22px;padding:10px 12px;font-size:12px;display:flex}.project-agent-source-state.is-error[data-v-4f121023]{border-color:var(--color-danger-soft);background:var(--color-danger-soft);color:var(--color-danger)}.project-agent-task-diagnostics[data-v-f960dcef]{color:#334b3c;background:#f1f5f2;border-radius:8px;margin:12px 0;padding:12px}.project-agent-task-diagnostics dl[data-v-f960dcef]{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0;display:grid}.project-agent-task-diagnostics dt[data-v-f960dcef]{color:#65766b;margin-bottom:4px;font-size:11px}.project-agent-task-diagnostics dd[data-v-f960dcef]{overflow-wrap:anywhere;margin:0;font-size:12px;line-height:1.5}.project-agent-task-diagnostics small[data-v-f960dcef]{color:#65766b;overflow-wrap:anywhere;margin-top:4px;font-size:11px;display:block}.project-agent-task-diagnostics p[data-v-f960dcef]{color:#52665a;margin:10px 0 0;font-size:12px;line-height:1.6}@media (width<=540px){.project-agent-task-diagnostics dl[data-v-f960dcef]{grid-template-columns:1fr;gap:10px}}.employee-work-history[data-v-143dca4c]{margin-block:24px;font-size:14px}summary[data-v-143dca4c]{cursor:pointer;padding-block:12px;font-weight:650}label[data-v-143dca4c]{flex-wrap:wrap;align-items:center;gap:12px;display:flex}select[data-v-143dca4c]{max-width:100%;font:inherit;padding:8px}ol[data-v-143dca4c]{margin:12px 0;padding:0;list-style:none}li[data-v-143dca4c]{border-top:1px solid var(--color-border);padding-block:14px}.work-record-meta[data-v-143dca4c]{flex-wrap:wrap;align-items:baseline;gap:12px;display:flex}p[data-v-143dca4c]{white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.65}@media (width<=640px){.employee-work-history[data-v-143dca4c]{font-size:16px}}.project-agent-dialog[data-v-f3d4e6a7]{background:0 0;border:0;border-radius:12px;width:min(760px,100vw - 64px);max-height:calc(100vh - 64px);padding:0;overflow:hidden}.project-agent-dialog-shell[data-v-f3d4e6a7]{border:1px solid var(--color-border-strong);background:var(--color-surface);border-radius:12px;flex-direction:column;min-height:0;max-height:calc(100vh - 64px);display:flex;overflow:hidden;box-shadow:0 18px 48px #212d262e}.project-agent-dialog-header[data-v-f3d4e6a7],.project-agent-dialog-actions[data-v-f3d4e6a7]{justify-content:space-between;align-items:center;gap:16px;padding:18px 20px;display:flex}.project-agent-dialog-header[data-v-f3d4e6a7]{border-bottom:1px solid var(--color-border)}.project-agent-dialog-header h3[data-v-f3d4e6a7]{color:var(--color-ink);font-size:17px}.project-agent-dialog-fields[data-v-f3d4e6a7]{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;min-height:0;padding:20px;display:grid;overflow:auto}.project-agent-dialog-fields label[data-v-f3d4e6a7]{min-width:0;color:var(--color-muted);align-content:start;gap:6px;font-size:12px;font-weight:650;display:grid}.project-agent-dialog-fields input[data-v-f3d4e6a7],.project-agent-dialog-fields select[data-v-f3d4e6a7],.project-agent-dialog-fields textarea[data-v-f3d4e6a7]{border:1px solid var(--color-border-strong);border-radius:var(--radius-control);background:var(--color-surface);width:100%;color:var(--color-ink);padding:9px 10px;font-size:12px;line-height:1.5}.project-agent-dialog-fields textarea[data-v-f3d4e6a7]{resize:vertical}.project-agent-dialog-fields input[data-v-f3d4e6a7]:focus-visible,.project-agent-dialog-fields select[data-v-f3d4e6a7]:focus-visible,.project-agent-dialog-fields textarea[data-v-f3d4e6a7]:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.project-agent-wide-field[data-v-f3d4e6a7],.project-agent-id-note[data-v-f3d4e6a7]{grid-column:1/-1}.project-agent-strategy-fields[data-v-f3d4e6a7]{border:1px solid var(--color-border);border-radius:var(--radius-control);grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-width:0;margin:0;padding:12px;display:grid}.project-agent-strategy-fields legend[data-v-f3d4e6a7]{color:var(--color-muted);padding:0 5px;font-size:12px;font-weight:700}.project-agent-strategy-fields>small[data-v-f3d4e6a7]{color:var(--color-muted);grid-column:1/-1;font-size:12px;line-height:1.5}.project-agent-id-note[data-v-f3d4e6a7]{color:var(--color-muted);margin-top:-8px;font-size:12px}.project-agent-dialog-error[data-v-f3d4e6a7]{color:var(--color-danger);margin:0 20px;font-size:12px}.project-agent-dialog-actions[data-v-f3d4e6a7]{border-top:1px solid var(--color-border);justify-content:flex-end}.project-agent-primary-action[data-v-f3d4e6a7]{border-radius:var(--radius-control);background:var(--color-ink);color:var(--color-surface);border:0;padding:8px 14px;font-size:12px;font-weight:700}.project-agent-primary-action[data-v-f3d4e6a7]:hover{background:var(--color-ink)}.project-agent-primary-action[data-v-f3d4e6a7]:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.project-agent-primary-action[data-v-f3d4e6a7]:disabled,.project-agent-dialog-fields[data-v-f3d4e6a7] :disabled{cursor:not-allowed;opacity:.6}@media (width<=720px){.project-agent-dialog-fields[data-v-f3d4e6a7]{grid-template-columns:1fr}.project-agent-wide-field[data-v-f3d4e6a7],.project-agent-id-note[data-v-f3d4e6a7]{grid-column:1}}.project-agent-row-shell[data-v-3bae9e1f]{align-items:flex-start;gap:6px;min-width:0;display:flex}.project-agent-row-shell>.project-agent-row[data-v-3bae9e1f]{flex:1;min-width:0}.project-agent-row-shell>.agent-hand[data-v-3bae9e1f]{margin-top:14px}.project-agent-header-actions[data-v-3bae9e1f]{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.project-agents-view[data-v-3bae9e1f]{flex-direction:column;gap:16px;min-height:0;padding:20px 32px 24px;display:flex;overflow:hidden}.project-agents-header[data-v-3bae9e1f],.project-agent-section-heading[data-v-3bae9e1f],.project-agent-section-tools[data-v-3bae9e1f],.project-agent-detail-actions[data-v-3bae9e1f],.project-agent-assignment-card header[data-v-3bae9e1f],.project-agent-task-card header[data-v-3bae9e1f],.project-agent-learning-card header[data-v-3bae9e1f],.project-agent-day-detail header[data-v-3bae9e1f]{justify-content:space-between;align-items:center;gap:12px;display:flex}.project-agents-header h2[data-v-3bae9e1f]{color:var(--color-ink);font-size:20px}.project-agents-header-meta[data-v-3bae9e1f]{color:var(--color-muted);font-size:12px}.project-agents-summary[data-v-3bae9e1f]{color:var(--color-muted);gap:18px;padding:2px 0 4px;font-size:12px;line-height:1.5;display:flex}.project-agents-summary span[data-v-3bae9e1f]:first-child{color:var(--color-ink);font-weight:700}.project-agents-toolbar[data-v-3bae9e1f]{grid-template-columns:minmax(240px,320px) minmax(200px,1fr) auto;align-items:center;gap:12px;display:grid}.project-agents-search input[data-v-3bae9e1f]{border:1px solid var(--color-border-strong);border-radius:var(--radius-control);background:var(--color-surface);width:100%;min-height:44px;color:var(--color-ink);padding:10px 12px;font-size:13px}.project-agents-search input[data-v-3bae9e1f]:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.project-agents-status-filter[data-v-3bae9e1f]{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface-subtle);gap:3px;padding:3px;display:flex}.project-agents-status-filter button[data-v-3bae9e1f]{min-height:34px;color:var(--color-muted);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:7px 10px;font-size:12px}.project-agents-status-filter button[aria-pressed=true][data-v-3bae9e1f]{background:var(--color-surface);color:var(--color-ink);font-weight:700;box-shadow:0 1px 3px #27392f1f}.project-agents-directory[data-v-3bae9e1f]{flex:1;grid-template-columns:minmax(360px,.94fr) minmax(390px,1.06fr);min-height:0;display:grid;overflow:hidden}.project-agent-list[data-v-3bae9e1f]{border-right:1px solid var(--color-border);min-width:0;min-height:0;overflow:auto}.project-agent-row[data-v-3bae9e1f]{border:0;border-bottom:1px solid var(--color-border);background:var(--color-surface);width:100%;color:inherit;text-align:left;grid-template-columns:minmax(0,1fr) auto;gap:5px 14px;padding:14px 16px;display:grid}.project-agent-row[data-v-3bae9e1f]:hover{background:var(--color-surface)}.project-agent-row.selected[data-v-3bae9e1f]{background:var(--color-surface-subtle)}.project-agent-row[data-v-3bae9e1f]:focus-visible{z-index:1;outline:2px solid var(--color-accent);outline-offset:-3px;position:relative}.project-agent-row-heading[data-v-3bae9e1f]{align-items:center;gap:7px;min-width:0;display:flex}.project-agent-occupation-emoji[data-v-3bae9e1f]{flex:none;justify-content:center;align-items:center;min-width:1.2em;font-size:15px;line-height:1;display:inline-flex}.project-agent-row-heading strong[data-v-3bae9e1f]{color:var(--color-ink);text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.project-agent-row-heading .ui-badge[data-v-3bae9e1f]{flex:none;font-style:normal;font-weight:650}.project-agent-row-heading .ui-badge.is-active[data-v-3bae9e1f]{color:var(--color-accent)}.project-agent-row-heading .ui-badge.is-archived[data-v-3bae9e1f],.project-agent-kind[data-v-3bae9e1f]{color:var(--color-muted)}.project-agent-row-id[data-v-3bae9e1f]{color:var(--color-muted);overflow-wrap:anywhere;text-align:right;font-size:12px}.project-agent-row-projects[data-v-3bae9e1f]{flex-wrap:wrap;grid-column:1/-1;gap:4px;display:flex}.project-agent-row-projects b[data-v-3bae9e1f],.project-agent-tags span[data-v-3bae9e1f],.project-agent-inline-list span[data-v-3bae9e1f]{background:var(--color-surface-subtle);color:var(--color-muted);border-radius:999px;padding:3px 7px;font-size:12px;font-weight:650}.project-agent-row-projects em[data-v-3bae9e1f]{color:var(--color-muted);font-size:12px;font-style:normal}.project-agent-row-responsibility[data-v-3bae9e1f]{color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;grid-column:1/-1;font-size:12px;line-height:1.5;overflow:hidden}.project-agent-row-work[data-v-3bae9e1f]{color:var(--color-muted);grid-column:1/-1;font-size:12px;line-height:1.5}.project-agent-work-dot[data-v-3bae9e1f]{background:var(--color-muted);border-radius:50%;width:6px;height:6px;margin-right:4px;display:inline-block}.project-agent-detail[data-v-3bae9e1f]{min-width:0;min-height:0;padding:24px;overflow:auto;container-type:inline-size}.employee-project-overview[data-v-3bae9e1f]{border-bottom:1px solid var(--color-border);margin:22px 0;padding-bottom:18px}.employee-project-overview-heading[data-v-3bae9e1f]{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.employee-project-overview-heading h4[data-v-3bae9e1f]{color:var(--color-ink);margin:0;font-size:14px}.employee-project-overview-heading p[data-v-3bae9e1f],.employee-project-overview-hint[data-v-3bae9e1f]{color:var(--color-muted);margin:5px 0 0;font-size:12px;line-height:1.6}.employee-project-overview-hint[data-v-3bae9e1f]{margin-top:12px}.employee-assigned-projects[data-v-3bae9e1f]{grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 20px;margin-top:12px;display:grid}.employee-assigned-projects a[data-v-3bae9e1f]{color:var(--color-ink);justify-content:space-between;align-items:center;gap:10px;padding:8px 0;font-size:13px;line-height:1.5;text-decoration:none;display:flex}.employee-assigned-projects a[data-v-3bae9e1f]:hover{text-underline-offset:3px;text-decoration:underline}.employee-assigned-projects a[data-v-3bae9e1f]:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.employee-assigned-projects a span[data-v-3bae9e1f]{overflow-wrap:anywhere}.employee-assigned-projects svg[data-v-3bae9e1f]{flex-shrink:0}@container (width<=480px){.employee-assigned-projects[data-v-3bae9e1f]{grid-template-columns:minmax(0,1fr)}}.project-agent-detail>header[data-v-3bae9e1f]{border-bottom:1px solid var(--color-border);grid-template-columns:minmax(0,1fr) max-content;align-items:flex-start;gap:16px;padding-bottom:16px;display:grid}.project-agent-detail-heading[data-v-3bae9e1f]{min-width:0}.project-agent-detail h3[data-v-3bae9e1f]{color:var(--color-ink);text-wrap:balance;font-size:18px;line-height:1.32}.project-agent-detail header p[data-v-3bae9e1f]{max-width:72ch;color:var(--color-muted);overflow-wrap:anywhere;margin-top:5px;font-size:13px;line-height:1.5}.project-agent-detail-actions[data-v-3bae9e1f]{grid-auto-columns:minmax(78px,max-content);grid-auto-flow:column;justify-content:end;gap:8px;display:grid}.project-agent-detail-actions .quiet-button[data-v-3bae9e1f]{white-space:nowrap;min-width:78px}.project-agent-detail-meta[data-v-3bae9e1f],.project-agent-compact-meta[data-v-3bae9e1f]{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:16px 0 0;display:grid}.project-agent-detail-meta div[data-v-3bae9e1f],.project-agent-compact-meta div[data-v-3bae9e1f]{min-width:0}.project-agent-detail-meta dt[data-v-3bae9e1f],.project-agent-compact-meta dt[data-v-3bae9e1f],.project-agent-detail-section h4[data-v-3bae9e1f]{color:var(--color-muted);letter-spacing:.06em;text-transform:uppercase;font-size:12px;font-weight:700}.project-agent-detail-meta dd[data-v-3bae9e1f],.project-agent-compact-meta dd[data-v-3bae9e1f]{overflow-wrap:anywhere;color:var(--color-ink);margin:4px 0 0;font-size:12px}.project-agent-detail-meta dd small[data-v-3bae9e1f]{color:var(--color-muted);margin-top:3px;font-size:12px;line-height:1.4;display:block}.project-agent-detail-section[data-v-3bae9e1f]{margin-top:24px}.project-agent-detail-section.is-responsibility[data-v-3bae9e1f]{border-radius:var(--radius-card);background:var(--color-surface-subtle);padding:16px}.project-agent-detail-section p[data-v-3bae9e1f],.project-agent-detail-section li[data-v-3bae9e1f]{color:var(--color-ink);font-size:14px;line-height:1.6}.project-agent-tags[data-v-3bae9e1f],.project-agent-inline-list[data-v-3bae9e1f]{flex-wrap:wrap;gap:6px;margin-top:9px;display:flex}.project-agent-muted[data-v-3bae9e1f]{color:var(--color-muted)!important}.project-agent-detail-notice[data-v-3bae9e1f]{border-radius:var(--radius-control);background:var(--color-surface-subtle);margin:12px 0 0;padding:8px 10px;color:var(--color-muted)!important}.project-agent-detail-placeholder[data-v-3bae9e1f],.project-agents-state[data-v-3bae9e1f]{min-height:240px;color:var(--color-muted);text-align:center;place-content:center;justify-items:center;gap:8px;font-size:14px;display:grid}.project-agents-state[data-v-3bae9e1f]{flex:1}.project-agents-state strong[data-v-3bae9e1f]{color:var(--color-ink);font-size:14px}.project-agents-state p[data-v-3bae9e1f]{max-width:52ch;line-height:1.6}.project-agents-state.is-error[data-v-3bae9e1f]{color:var(--color-danger)}.project-agent-assignment-list[data-v-3bae9e1f],.project-agent-task-list[data-v-3bae9e1f],.project-agent-learning-list[data-v-3bae9e1f],.project-agent-recruitment-list[data-v-3bae9e1f]{gap:12px;margin-top:12px;display:grid}.project-agent-task-list[data-v-3bae9e1f]{grid-template-columns:minmax(0,1fr);min-width:0}.project-agent-execution-summary[data-v-3bae9e1f]{border-top:1px solid var(--color-border);min-width:0;margin-top:13px;padding-top:12px}.project-agent-worker-event-evidence[data-v-3bae9e1f]{border:1px dashed var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);margin-top:13px;padding:10px 10px 0}.project-agent-execution-summary .project-agent-section-heading[data-v-3bae9e1f]{gap:8px}.project-agent-execution-summary h5[data-v-3bae9e1f]{color:var(--color-muted);letter-spacing:.06em;text-transform:uppercase;margin:0;font-size:12px;font-weight:700}.project-agent-execution-summary-table-wrap[data-v-3bae9e1f]{box-sizing:border-box;overscroll-behavior-inline:contain;border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);width:100%;max-width:100%;margin-top:7px;overflow-x:auto}.project-agent-execution-summary-table-wrap[data-v-3bae9e1f]:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.project-agent-execution-summary-table[data-v-3bae9e1f]{border-collapse:collapse;table-layout:fixed;width:100%;min-width:1040px;color:var(--color-ink);font-size:12px;line-height:1.5}.project-agent-execution-summary-table th[data-v-3bae9e1f],.project-agent-execution-summary-table td[data-v-3bae9e1f]{border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);overflow-wrap:anywhere;text-align:left;vertical-align:top;min-width:0;padding:8px 9px}.project-agent-execution-summary-table tr[data-v-3bae9e1f]>:last-child{border-right:0}.project-agent-execution-summary-table tbody tr[data-v-3bae9e1f]:last-child>*{border-bottom:0}.project-agent-execution-summary-table thead th[data-v-3bae9e1f]{background:var(--color-surface-subtle);color:var(--color-muted);letter-spacing:.04em;text-transform:uppercase;font-size:12px;font-weight:750}.project-agent-execution-summary-table thead th[data-v-3bae9e1f]:first-child{width:14%}.project-agent-execution-summary-table thead th[data-v-3bae9e1f]:nth-child(2){width:20%}.project-agent-execution-summary-table thead th[data-v-3bae9e1f]:nth-child(3){width:13%}.project-agent-execution-summary-table thead th[data-v-3bae9e1f]:nth-child(4),.project-agent-execution-summary-table thead th[data-v-3bae9e1f]:nth-child(5){width:15%}.project-agent-execution-summary-table thead th[data-v-3bae9e1f]:nth-child(6){width:12%}.project-agent-execution-summary-table tbody tr[data-v-3bae9e1f]:hover{background:var(--color-surface)}.project-agent-execution-summary-table tbody th[data-v-3bae9e1f]{color:var(--color-ink);font-weight:700}.project-agent-execution-summary-table tbody strong[data-v-3bae9e1f],.project-agent-execution-summary-table tbody span[data-v-3bae9e1f],.project-agent-execution-summary-table tbody small[data-v-3bae9e1f],.project-agent-execution-summary-table tbody a[data-v-3bae9e1f]{display:block}.project-agent-execution-summary-table tbody small[data-v-3bae9e1f]{color:var(--color-muted);margin-top:3px;font-size:12px;font-weight:500}.project-agent-execution-summary-table tbody .project-agent-reporter-label[data-v-3bae9e1f]{margin-top:8px}.project-agent-execution-summary-table tbody a[data-v-3bae9e1f]{color:var(--color-ink);text-underline-offset:2px;margin-top:3px;text-decoration-thickness:1px}.project-agent-execution-summary-table tbody a[data-v-3bae9e1f]:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:2px}.project-agent-execution-worker[data-v-3bae9e1f]{align-items:center;gap:4px;display:flex!important}.project-agent-execution-summary-row i[data-v-3bae9e1f]{background:var(--color-surface-subtle);color:var(--color-muted);border-radius:999px;padding:2px 6px;font-size:12px;font-style:normal;font-weight:700;display:inline-flex}.project-agent-execution-summary-row i.is-completed[data-v-3bae9e1f]{background:var(--color-surface-subtle);color:var(--color-ink)}.project-agent-execution-summary-row i.is-failed[data-v-3bae9e1f]{background:var(--color-danger-soft);color:var(--color-danger)}.project-agent-execution-summary-row i.is-cancelled[data-v-3bae9e1f]{background:var(--color-surface-subtle);color:var(--color-muted)}.project-agent-execution-summary-list[data-v-3bae9e1f]{margin:7px 0 0;padding:0;list-style:none;display:grid}.project-agent-worker-event-row[data-v-3bae9e1f]{border-top:1px solid var(--color-border);min-width:0;padding:10px 0}.project-agent-worker-event-row[data-v-3bae9e1f]:first-child{border-top:0}.project-agent-worker-event-row header[data-v-3bae9e1f]{align-items:flex-start}.project-agent-worker-event-row header strong[data-v-3bae9e1f]{overflow-wrap:anywhere;min-width:0;color:var(--color-ink);align-items:center;gap:5px;font-size:12px;display:flex}.project-agent-worker-event-row header strong small[data-v-3bae9e1f]{color:var(--color-muted);margin:0;font-size:12px;font-weight:500;display:inline}.project-agent-worker-event-row header i[data-v-3bae9e1f]{background:var(--color-surface-subtle);color:var(--color-muted);border-radius:999px;flex:none;padding:2px 6px;font-size:12px;font-style:normal;font-weight:700}.project-agent-worker-event-row header i.is-completed[data-v-3bae9e1f]{background:var(--color-surface-subtle);color:var(--color-ink)}.project-agent-worker-event-row header i.is-failed[data-v-3bae9e1f]{background:var(--color-danger-soft);color:var(--color-danger)}.project-agent-worker-event-row header i.is-cancelled[data-v-3bae9e1f]{background:var(--color-surface-subtle);color:var(--color-muted)}.project-agent-execution-summary-meta[data-v-3bae9e1f]{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 10px;margin:8px 0 0;display:grid}.project-agent-execution-summary-meta div[data-v-3bae9e1f]{min-width:0}.project-agent-execution-summary-meta dt[data-v-3bae9e1f]{color:var(--color-muted);letter-spacing:.04em;text-transform:uppercase;font-size:12px;font-weight:700}.project-agent-execution-summary-meta dd[data-v-3bae9e1f]{overflow-wrap:anywhere;color:var(--color-ink);margin:2px 0 0;font-size:12px;line-height:1.45}.project-agent-execution-summary-meta dd small[data-v-3bae9e1f]{color:var(--color-muted);margin-top:2px;font-size:12px;display:block}.project-agent-assignment-card[data-v-3bae9e1f],.project-agent-task-card[data-v-3bae9e1f],.project-agent-learning-card[data-v-3bae9e1f],.project-agent-recruitment-card[data-v-3bae9e1f]{min-width:0;padding:16px}.project-agent-assignment-card header strong[data-v-3bae9e1f],.project-agent-task-card header strong[data-v-3bae9e1f],.project-agent-learning-card header strong[data-v-3bae9e1f],.project-agent-recruitment-card header strong[data-v-3bae9e1f]{color:var(--color-ink);font-size:14px}.project-agent-card-actions[data-v-3bae9e1f]{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:4px;display:flex}.project-agent-assignment-card p[data-v-3bae9e1f],.project-agent-task-card p[data-v-3bae9e1f],.project-agent-learning-card p[data-v-3bae9e1f]{margin:8px 0 0;font-size:14px;line-height:1.55}.project-agent-assignment-card small[data-v-3bae9e1f],.project-agent-task-card small[data-v-3bae9e1f],.project-agent-learning-card small[data-v-3bae9e1f]{color:var(--color-muted);margin-top:8px;font-size:12px;line-height:1.5;display:block}.project-agent-assignment-card header .ui-badge.is-ended[data-v-3bae9e1f],.project-agent-assignment-card header .ui-badge.is-replaced[data-v-3bae9e1f]{color:var(--color-muted)}.project-agent-strategy-note[data-v-3bae9e1f],.project-agent-execution-line[data-v-3bae9e1f]{color:var(--color-muted);flex-wrap:wrap;align-items:baseline;gap:6px;margin-top:8px;font-size:12px;display:flex}.project-agent-strategy-note strong[data-v-3bae9e1f],.project-agent-execution-line strong[data-v-3bae9e1f]{color:var(--color-muted);font-size:12px}.project-agent-strategy-note small[data-v-3bae9e1f]{color:var(--color-danger);flex-basis:100%}.project-agent-routing-decision[data-v-3bae9e1f]{border:1px solid var(--color-border);border-radius:var(--radius-control);background:var(--color-surface-subtle);color:var(--color-muted);gap:5px;margin-top:10px;padding:9px 10px;font-size:12px;display:grid}.project-agent-routing-decision .project-agent-section-heading[data-v-3bae9e1f]{align-items:baseline;gap:8px}.project-agent-routing-decision .project-agent-section-heading strong[data-v-3bae9e1f]{color:var(--color-ink);font-size:12px}.project-agent-routing-decision small[data-v-3bae9e1f]{color:var(--color-muted);line-height:1.45}.project-agent-blocked[data-v-3bae9e1f]{color:var(--color-danger)!important}.project-agent-task-card[data-v-3bae9e1f]{scroll-margin:16px}.project-agent-task-card.is-linked[data-v-3bae9e1f]{box-shadow:inset 0 0 0 2px var(--color-accent)}.project-agent-task-card header[data-v-3bae9e1f]{align-items:flex-start}.project-agent-task-card header small[data-v-3bae9e1f]{margin-top:3px}.project-agent-task-card header .ui-badge[data-v-3bae9e1f]{color:var(--color-muted);font-style:normal}.project-agent-task-card header .ui-badge.is-completed[data-v-3bae9e1f]{color:var(--color-ink)}.project-agent-task-card header .ui-badge.is-failed[data-v-3bae9e1f]{background:var(--color-danger-soft);color:var(--color-danger)}.project-agent-task-card header .ui-badge.is-cancelled[data-v-3bae9e1f]{color:var(--color-muted)}.project-agent-heatmap-viewport[data-v-3bae9e1f]{contain:layout inline-size paint;min-width:0;max-width:100%;overflow-x:clip}.project-agent-heatmap[data-v-3bae9e1f]{grid-template-rows:repeat(7,minmax(10px,1fr));grid-auto-columns:minmax(10px,1fr);grid-auto-flow:column;gap:3px;width:100%;max-width:100%;margin-top:9px;padding:0;display:grid;overflow-x:auto}.project-agent-heat-cell[data-v-3bae9e1f]{appearance:none;box-sizing:border-box;aspect-ratio:1;border:1px solid var(--color-border);background:var(--color-surface-subtle);border-radius:3px;min-width:9px;margin:0;padding:0}.project-agent-heat-cell.intensity-1[data-v-3bae9e1f]{background:var(--color-surface-subtle)}.project-agent-heat-cell.intensity-2[data-v-3bae9e1f],.project-agent-heat-cell.intensity-3[data-v-3bae9e1f],.project-agent-heat-cell.intensity-4[data-v-3bae9e1f]{background:var(--color-muted)}.project-agent-heat-cell[data-v-3bae9e1f]:focus-visible,.project-agent-heat-cell.selected[data-v-3bae9e1f]{border:2px solid var(--color-accent);box-shadow:none;outline:none}.project-agent-day-detail[data-v-3bae9e1f]{border-radius:var(--radius-control);background:var(--color-surface-subtle);margin-top:10px;padding:10px}.project-agent-day-detail ul[data-v-3bae9e1f]{margin:8px 0 0;padding-left:17px}.project-agent-day-detail li[data-v-3bae9e1f]{margin-top:6px}.project-agent-day-detail li strong[data-v-3bae9e1f],.project-agent-day-detail li span[data-v-3bae9e1f],.project-agent-day-detail li small[data-v-3bae9e1f]{display:block}.project-agent-day-detail li span[data-v-3bae9e1f],.project-agent-day-detail li small[data-v-3bae9e1f]{color:var(--color-muted);font-size:12px}.project-agent-client-list[data-v-3bae9e1f],.project-agent-rule-list[data-v-3bae9e1f]{gap:5px;margin-top:9px;display:grid}.project-agent-client-row[data-v-3bae9e1f],.project-agent-rule-row[data-v-3bae9e1f]{border-radius:var(--radius-control);background:var(--color-surface);color:var(--color-muted);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:7px;padding:8px 10px;font-size:12px;display:grid}.project-agent-client-row strong[data-v-3bae9e1f],.project-agent-rule-row strong[data-v-3bae9e1f]{color:var(--color-ink);font-size:12px}.project-agent-client-row small[data-v-3bae9e1f]{color:var(--color-muted);grid-column:1/-1}.project-agent-executor-list[data-v-3bae9e1f]{gap:5px;margin-top:9px;display:grid}.project-agent-executor-row[data-v-3bae9e1f]{border-radius:var(--radius-control);background:var(--color-surface);color:var(--color-muted);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:7px;padding:8px 10px;font-size:12px;display:grid}.project-agent-executor-row strong[data-v-3bae9e1f]{color:var(--color-ink);font-size:12px}.project-agent-executor-row small[data-v-3bae9e1f]{color:var(--color-muted);grid-column:1/-1}.project-agent-learning-card header .ui-badge[data-v-3bae9e1f]{color:var(--color-muted);font-style:normal}.project-agent-evidence-list[data-v-3bae9e1f]{margin:8px 0 0;padding-left:17px}.project-agent-evidence-list li[data-v-3bae9e1f]{color:var(--color-muted);font-size:12px}.project-agent-learning-actions[data-v-3bae9e1f]{gap:6px;margin-top:8px;display:flex}.project-agent-note[data-v-3bae9e1f]{color:var(--color-muted);margin-top:9px;font-size:12px;line-height:1.5;display:block}.project-agent-detail .ui-badge[data-v-3bae9e1f]{font-style:normal}.sr-only[data-v-3bae9e1f]{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=1180px){.project-agents-toolbar[data-v-3bae9e1f]{grid-template-columns:minmax(220px,280px) 1fr}.project-agents-status-filter[data-v-3bae9e1f]{grid-column:1/-1;justify-self:start}.project-agents-directory[data-v-3bae9e1f]{grid-template-columns:minmax(320px,.9fr) minmax(330px,1fr)}.project-agent-detail-meta[data-v-3bae9e1f],.project-agent-compact-meta[data-v-3bae9e1f]{grid-template-columns:repeat(2,minmax(0,1fr))}}@container (width<=420px){.project-agent-detail>header[data-v-3bae9e1f]{grid-template-columns:minmax(0,1fr)}.project-agent-detail-actions[data-v-3bae9e1f]{justify-content:start}}@media (width<=760px){.project-agents-view[data-v-3bae9e1f]{padding:14px 16px 18px;overflow:auto}.project-agents-header[data-v-3bae9e1f],.project-agents-summary[data-v-3bae9e1f],.project-agent-section-heading[data-v-3bae9e1f],.project-agent-assignment-card header[data-v-3bae9e1f]{flex-wrap:wrap;align-items:flex-start}.project-agents-toolbar[data-v-3bae9e1f]{grid-template-columns:minmax(0,1fr)}.project-agents-project-filter[data-v-3bae9e1f],.project-agents-search[data-v-3bae9e1f],.project-agents-status-filter[data-v-3bae9e1f]{grid-column:1}.project-agents-status-filter[data-v-3bae9e1f]{flex-wrap:wrap;justify-self:stretch;width:100%}.project-agents-directory[data-v-3bae9e1f]{flex:none;grid-template-columns:minmax(0,1fr);overflow:visible}.project-agent-list[data-v-3bae9e1f]{border-right:0;border-bottom:1px solid var(--color-border);max-height:340px}.project-agent-detail[data-v-3bae9e1f]{min-height:520px;padding:16px}.project-agent-client-row[data-v-3bae9e1f],.project-agent-rule-row[data-v-3bae9e1f],.project-agent-executor-row[data-v-3bae9e1f]{grid-template-columns:minmax(0,1fr);align-items:start}.project-agent-client-row small[data-v-3bae9e1f],.project-agent-executor-row small[data-v-3bae9e1f]{grid-column:1}.project-agent-execution-summary-meta[data-v-3bae9e1f]{grid-template-columns:minmax(0,1fr)}.project-agent-worker-event-row header[data-v-3bae9e1f]{gap:8px}}.project-agent-disclosure[data-v-3bae9e1f]{margin-top:16px}.project-agent-disclosure .project-agent-detail-section[data-v-3bae9e1f]:first-child{margin-top:0}
@@ -1,12 +0,0 @@
1
- import{B as e,C as t,F as n,M as r,O as i,P as a,R as o,S as s,V as c,X as l,_ as u,a as d,b as f,c as p,d as m,f as h,h as g,it as _,j as v,k as y,m as b,n as x,nt as S,tt as C,u as w,v as T,w as E,x as D,y as O}from"./i18n-D2CJkEYK.js";import{t as k}from"./console-BtPqo79j.js";import{t as A}from"./GrowthLoading-KTjE2e50.js";import{t as j}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{m as M}from"./useApi-CROJJdhE-BtFMXFjw.js";import{t as N}from"./vue-router-DkaTtPn0.js";import{a as ee,i as P,n as F,r as I,t as L}from"./client-B2cRl-7c.js";import{a as R,i as te,s as ne}from"./catalog-DN72452f.js";import{t as z}from"./AgentHand-eGsXoGSq.js";import{t as B}from"./useModalDialog-D8tiJfbc.js";import{t as re}from"./AgentConversations-DOuZgUeA.js";import{C as V,E as ie,S as H,T as U,_ as ae,b as W,d as G,f as oe,g as se,h as ce,m as le,p as K,r as ue,t as de,u as fe,v as pe,w as q,x as me,y as he}from"./agent-work-summary-LeW-Al_S.js";import{t as ge}from"./ProjectAgentFirstTask-DJ0wTbh8.js";import{t as _e}from"./ProjectScopePicker-BwB7gK-7.js";import{t as ve}from"./SearchableSelect-f7EHbyDL.js";import{t as ye}from"./EmployeeRecruitDialog-D11blfwU.js";function be(){let e=new Date,t=new Date(e);return t.setUTCFullYear(t.getUTCFullYear()-1),{fromDate:xe(t),toDate:xe(e)}}function xe(e){return e.toISOString().slice(0,10)}function Se(e,t){let n=q(e),r=G(n.days);if(!r.length&&!(`days`in n))return null;let i=r.map(e=>{let t=q(e);return{date:V(t,`date`,`date`)??``,completed:typeof t.completed==`number`?t.completed:0,failed:typeof t.failed==`number`?t.failed:0,cancelled:typeof t.cancelled==`number`?t.cancelled:0,total:typeof t.total==`number`?t.total:0,tasks:G(t.tasks).map(Ce).filter(e=>!!e)}}).filter(({date:e})=>e),a=V(n,`fromDate`,`from_date`),o=V(n,`toDate`,`to_date`),s=i.some(({total:e,tasks:t})=>e>0||!!t?.length),c=a??(i.length?i.map(({date:e})=>e).sort()[0]:void 0),l=o??(i.length?i.map(({date:e})=>e).sort().at(-1):void 0),u=s&&c&&l?J(i,c,l):[];return{agentId:V(n,`agentId`,`agent_id`)??t.agentId,personalSpaceId:V(n,`personalSpaceId`,`personal_space_id`)??t.personalSpaceId,fromDate:c,toDate:l,days:u}}function J(e,t,n){let r=new Map(e.map(e=>[e.date,e])),i=new Date(`${t}T00:00:00Z`),a=new Date(`${n}T00:00:00Z`);if(Number.isNaN(i.valueOf())||Number.isNaN(a.valueOf())||i>a)return e;let o=[];for(let e=new Date(i);e<=a;e.setUTCDate(e.getUTCDate()+1)){let t=xe(e);o.push(r.get(t)??{date:t,completed:0,failed:0,cancelled:0,total:0,tasks:[]})}return o.reverse()}function Ce(e){let t=q(e),n=V(t,`taskId`,`task_id`);if(!n)return null;let r=K(U(t,`actualExecution`,`actual_execution`))??K({executor:V(t,`actualExecutor`,`actual_executor`),provider:V(t,`actualModelProvider`,`actual_model_provider`),model:V(t,`actualModel`,`actual_model`),client:V(t,`sourceApplication`,`source_application`)});return{taskId:n,title:V(t,`title`,`title`)??n,status:V(t,`status`,`status`),summary:V(t,`summary`,`summary`)??``,occurredAt:V(t,`occurredAt`,`occurred_at`)??``,personalProjectId:V(t,`personalProjectId`,`personal_project_id`),assignmentId:V(t,`assignmentId`,`assignment_id`),collaborators:G(t.collaborators).map(ce),sourceApplication:V(t,`sourceApplication`,`source_application`),sourceSessionId:V(t,`sourceSessionId`,`source_session_id`),sourceSessionUrl:V(t,`sourceSessionUrl`,`source_session_url`),workerRuntime:W(U(t,`workerRuntime`,`worker_runtime`)),toolsUsed:H(t,`toolsUsed`,`tools_used`),tokenUsage:he(U(t,`tokenUsage`,`token_usage`)),actualExecution:r,actualModelProvider:V(t,`actualModelProvider`,`actual_model_provider`),actualModel:V(t,`actualModel`,`actual_model`)}}var we={class:`project-agent-assignment-dialog-header`},Te={id:`project-agent-assignment-dialog-title`},Ee=[`disabled`],De={class:`project-agent-assignment-dialog-fields`},Oe={key:0},Y={key:1},ke=[`value`],Ae={key:2},je={key:3,class:`project-agent-assignment-wide-field`},Me=[`disabled`],X={key:4},Ne=[`disabled`],Pe={key:5},Fe=[`disabled`,`placeholder`],Ie={class:`project-agent-assignment-wide-field`},Le=[`disabled`,`placeholder`],Re={key:0,class:`project-agent-assignment-dialog-error`,role:`alert`},ze={class:`project-agent-assignment-dialog-actions`},Be=[`disabled`],Ve=[`disabled`],He={key:1},Ue=j(E({__name:`AgentAssignmentDialog`,props:{open:{type:Boolean},agent:{},assignment:{default:null},action:{default:`assign`},projects:{},availableAgents:{default:()=>[]},defaultProjectId:{default:null}},emits:[`close`,`saved`,`changed`],setup(e,{emit:n}){let i=e,a=n,s=l(``),p=l(``),h=l(``),g=l(``),v=l(``),y=l(``),x=l(!1),S=l(``),{dialogRef:w,initialFocusRef:E,onCancel:k,onKeydown:j}=B(()=>i.open,()=>a(`close`)),M=u(()=>i.action!==`assign`),N=u(()=>i.projects.map(e=>({value:e.project_id,label:e.profile.name,meta:e.project_id}))),ee=u(()=>i.availableAgents.filter(e=>e.agentId!==i.agent?.agentId&&e.profile.status===`active`).map(e=>({value:e.agentId,label:e.profile.displayName||e.profile.name,meta:e.profile.name})));o(()=>[i.open,i.agent,i.assignment,i.action,i.defaultProjectId],()=>{i.open&&(s.value=i.assignment?.personalProjectId??i.defaultProjectId??i.projects[0]?.project_id??``,p.value=``,h.value=i.assignment?.responsibility??i.agent?.profile.responsibility??``,g.value=i.assignment?.scope??``,v.value=i.assignment?.workKinds?.join(`
2
- `)??``,y.value=``,S.value=``)},{immediate:!0});async function F(){if(!i.agent)return;S.value=``;let e=y.value.trim(),t=h.value.trim();if(!e||i.action===`assign`&&!t){S.value=d(`projectAgents.assignmentDialog.required`);return}if(i.action===`replace`&&!p.value){S.value=d(`projectAgents.assignmentDialog.replacementRequired`);return}x.value=!0;try{if(i.action===`assign`){let n=await P(`/api/project-agent-assignments`,{personalSpaceId:i.agent.personalSpaceId,personalProjectId:s.value,agentId:i.agent.agentId,idempotencyKey:L(),responsibility:t,workKinds:I(v.value),capabilities:[],reason:e});a(`saved`,n)}else{if(!i.assignment)return;await P(`/api/project-agent-assignments/${encodeURIComponent(i.assignment.assignmentId)}/${i.action}`,i.action===`replace`?{personalSpaceId:i.agent.personalSpaceId,personalProjectId:i.assignment.personalProjectId,assignmentId:i.assignment.assignmentId,expectedRevision:i.assignment.revision??0,replacementAgentId:p.value,idempotencyKey:L(),responsibility:t||i.assignment.responsibility,workKinds:I(v.value),capabilities:i.assignment.capabilities??[],reason:e}:{personalSpaceId:i.agent.personalSpaceId,personalProjectId:i.assignment.personalProjectId,assignmentId:i.assignment.assignmentId,expectedRevision:i.assignment.revision??0,reason:e}),a(`changed`)}a(`close`)}catch(e){S.value=e instanceof Error?e.message:d(`projectAgents.assignmentDialog.saveFailed`)}finally{x.value=!1}}function I(e){return[...new Set(e.split(`
3
- `).map(e=>e.trim()).filter(Boolean))]}function L(){return`project-agent-assignment-${typeof crypto<`u`&&`randomUUID`in crypto?crypto.randomUUID():`${Date.now()}-${Math.random().toString(16).slice(2)}`}`}return(n,o)=>e.open?(r(),D(`dialog`,{key:0,ref_key:`dialogRef`,ref:w,class:`project-agent-assignment-dialog vue-dialog`,"aria-modal":`true`,"aria-labelledby":`project-agent-assignment-dialog-title`,onCancel:o[8]||=(...e)=>C(k)&&C(k)(...e),onKeydown:o[9]||=(...e)=>C(j)&&C(j)(...e)},[T(`form`,{class:`project-agent-assignment-dialog-shell`,onSubmit:b(F,[`prevent`])},[T(`header`,we,[T(`h3`,Te,_(C(d)(`projectAgents.assignmentDialog.${M.value?e.action:`assign`}Title`)),1),T(`button`,{ref_key:`initialFocusRef`,ref:E,"data-dialog-initial-focus":``,class:`quiet-button`,type:`button`,disabled:x.value,onClick:o[0]||=e=>a(`close`)},_(C(d)(`common.actions.close`)),9,Ee)]),T(`div`,De,[M.value?(r(),D(`label`,Y,[T(`span`,null,_(C(d)(`projectAgents.fields.project`)),1),T(`input`,{value:i.assignment?i.assignment.personalProjectId:``,disabled:``},null,8,ke)])):(r(),D(`label`,Oe,[T(`span`,null,_(C(d)(`projectAgents.fields.project`)),1),t(ve,{modelValue:s.value,"onUpdate:modelValue":o[1]||=e=>s.value=e,"control-id":`project-agent-assignment-project`,options:N.value,label:C(d)(`projectAgents.fields.project`),placeholder:C(d)(`projectAgents.dialog.projectPlaceholder`),disabled:x.value,required:``},null,8,[`modelValue`,`options`,`label`,`placeholder`,`disabled`])])),M.value&&e.action===`replace`?(r(),D(`label`,Ae,[T(`span`,null,_(C(d)(`projectAgents.assignmentDialog.replacement`)),1),t(ve,{modelValue:p.value,"onUpdate:modelValue":o[2]||=e=>p.value=e,"control-id":`project-agent-assignment-replacement`,options:ee.value,label:C(d)(`projectAgents.assignmentDialog.replacement`),placeholder:C(d)(`projectAgents.assignmentDialog.replacementPlaceholder`),disabled:x.value,required:``},null,8,[`modelValue`,`options`,`label`,`placeholder`,`disabled`])])):f(``,!0),M.value?f(``,!0):(r(),D(`label`,je,[T(`span`,null,_(C(d)(`projectAgents.fields.responsibility`)),1),c(T(`textarea`,{"onUpdate:modelValue":o[3]||=e=>h.value=e,rows:`3`,maxlength:`4096`,disabled:x.value,required:``},null,8,Me),[[m,h.value]])])),M.value?f(``,!0):(r(),D(`label`,X,[T(`span`,null,_(C(d)(`projectAgents.fields.scope`)),1),c(T(`input`,{"onUpdate:modelValue":o[4]||=e=>g.value=e,maxlength:`4096`,disabled:x.value},null,8,Ne),[[m,g.value]])])),M.value?f(``,!0):(r(),D(`label`,Pe,[T(`span`,null,_(C(d)(`projectAgents.assignmentDialog.workKinds`)),1),c(T(`textarea`,{"onUpdate:modelValue":o[5]||=e=>v.value=e,rows:`3`,disabled:x.value,placeholder:C(d)(`projectAgents.assignmentDialog.workKindsPlaceholder`)},null,8,Fe),[[m,v.value]])])),T(`label`,Ie,[T(`span`,null,_(C(d)(`projectAgents.fields.reason`)),1),c(T(`textarea`,{"onUpdate:modelValue":o[6]||=e=>y.value=e,rows:`3`,maxlength:`2048`,disabled:x.value,placeholder:C(d)(`projectAgents.assignmentDialog.reasonPlaceholder`),required:``},null,8,Le),[[m,y.value]])])]),S.value?(r(),D(`p`,Re,_(S.value),1)):f(``,!0),T(`footer`,ze,[T(`button`,{class:`quiet-button`,type:`button`,disabled:x.value,onClick:o[7]||=e=>a(`close`)},_(C(d)(`common.actions.cancel`)),9,Be),T(`button`,{class:`project-agent-primary-action`,type:`submit`,disabled:x.value},[x.value?(r(),O(A,{key:0,variant:`inline`,label:C(d)(`projectAgents.assignmentDialog.saving`)},null,8,[`label`])):(r(),D(`span`,He,_(C(d)(`projectAgents.assignmentDialog.${M.value?`saveChange`:`saveAssign`}`)),1))],8,Ve)])],32)],544)):f(``,!0)}}),[[`__scopeId`,`data-v-27d3f2ce`]]),We={class:`project-agent-dialog-header`},Ge={id:`executor-routing-dialog-title`},Ke=[`disabled`],Z={class:`project-agent-dialog-fields`},qe=[`disabled`],Je=[`disabled`],Ye=[`disabled`],Xe=[`disabled`],Ze={class:`project-agent-wide-field`},Qe=[`disabled`],$e={class:`project-agent-dialog-check`},et=[`disabled`],tt={class:`project-agent-dialog-note project-agent-wide-field`},nt=[`disabled`],rt=[`disabled`],Q={key:0},it={key:1},at=[`disabled`],ot=[`disabled`],st={class:`project-agent-wide-field`},ct=[`placeholder`,`disabled`],lt={class:`project-agent-wide-field`},ut=[`disabled`],dt={class:`project-agent-wide-field`},ft=[`disabled`],pt={class:`project-agent-dialog-note project-agent-wide-field`},mt={key:0,class:`project-agent-dialog-error`,role:`alert`},ht={class:`project-agent-dialog-actions`},$=[`disabled`],gt=[`disabled`],_t={key:1},vt=j(E({__name:`ExecutorRoutingDialog`,props:{open:{type:Boolean},mode:{},personalSpaceId:{},executor:{default:null},rule:{default:null},projects:{default:()=>[]},availableExecutors:{default:()=>[]}},emits:[`close`,`saved`],setup(e,{emit:n}){let i=e,a=n,h=l(``),v=l(``),y=l(`external`),x=l(``),S=l(100),E=l(!1),k=l(`space`),j=l(``),M=l(``),N=l(``),P=l(``),F=l(``),I=l(``),L=l(!1),R=l(``),{dialogRef:te,initialFocusRef:ne,onCancel:z,onKeydown:re}=B(()=>i.open,()=>a(`close`)),V=u(()=>!!i.executor),ie=u(()=>i.mode===`executor`?V.value?`executorEditTitle`:`executorCreateTitle`:`ruleCreateTitle`),H=u(()=>i.mode===`executor`?d(`projectAgents.routing.editor.savingExecutor`):d(`projectAgents.routing.editor.savingRule`)),U=u(()=>i.projects.map(e=>({value:e.project_id,label:e.profile.name,meta:e.project_id})));o(()=>[i.open,i.mode,i.executor,i.rule],([e])=>{if(!e)return;let t=i.executor,n=i.rule;h.value=t?.executorId??``,v.value=t?.displayName??t?.label??``,y.value=t?.executorKind??`external`,x.value=t?.capabilities?.join(`
4
- `)??``,S.value=t?.globalPriority??n?.priority??100,E.value=t?.healthRequired===!0,k.value=n?.scope??`space`,j.value=n?.personalProjectId??``,M.value=n?.taskId??``,N.value=n?.workKind??``,P.value=n?.requiredCapabilities?.join(`
5
- `)??``,F.value=n?.executorIds?.join(`
6
- `)??``,I.value=``,R.value=``},{immediate:!0});function ae(e){return[...new Set(e.split(`
7
- `).map(e=>e.trim()).filter(Boolean))]}function W(e){return`${e}-${typeof crypto<`u`&&`randomUUID`in crypto?crypto.randomUUID():`${Date.now()}-${Math.random().toString(16).slice(2)}`}`}async function G(){if(L.value)return;let e=ae(x.value),t=I.value.trim();if(i.mode===`executor`){if(!h.value.trim()||!v.value.trim()||S.value<1){R.value=d(`projectAgents.routing.editor.executorRequired`);return}}else if(!N.value.trim()||!ae(F.value).length||!t){R.value=d(`projectAgents.routing.editor.ruleRequired`);return}L.value=!0,R.value=``;try{if(i.mode===`executor`){let t=await ee(`/api/executors`,{personalSpaceId:i.personalSpaceId,executorId:h.value.trim(),displayName:v.value.trim(),executorKind:y.value.trim()||`external`,capabilities:e,advertisedModels:i.executor?.advertisedModels??i.executor?.availableModels??[],globalPriority:S.value,healthRequired:E.value,expectedRevision:i.executor?.revision,idempotencyKey:W(`executor-directory`)});a(`saved`,t)}else{let e=await ee(`/api/executor-routing-rules`,{personalSpaceId:k.value===`global`?void 0:i.personalSpaceId,scope:k.value,personalProjectId:(k.value===`project`||k.value===`task`)&&j.value||void 0,taskId:k.value===`task`&&M.value||void 0,workKind:N.value.trim(),requiredCapabilities:ae(P.value),executorIds:ae(F.value),priority:S.value,reason:t,idempotencyKey:W(`executor-rule`)});a(`saved`,e)}a(`close`)}catch(e){R.value=e instanceof Error?e.message:d(`projectAgents.routing.editor.saveFailed`)}finally{L.value=!1}}return(n,i)=>e.open?(r(),D(`dialog`,{key:0,ref_key:`dialogRef`,ref:te,class:`project-agent-dialog vue-dialog`,"aria-modal":`true`,"aria-labelledby":`executor-routing-dialog-title`,onCancel:i[16]||=(...e)=>C(z)&&C(z)(...e),onKeydown:i[17]||=(...e)=>C(re)&&C(re)(...e)},[T(`form`,{class:`project-agent-dialog-shell`,onSubmit:b(G,[`prevent`])},[T(`header`,We,[T(`h3`,Ge,_(C(d)(`projectAgents.routing.editor.${ie.value}`)),1),T(`button`,{ref_key:`initialFocusRef`,ref:ne,"data-dialog-initial-focus":``,class:`quiet-button`,type:`button`,disabled:L.value,onClick:i[0]||=e=>a(`close`)},_(C(d)(`common.actions.close`)),9,Ke)]),T(`div`,Z,[e.mode===`executor`?(r(),D(g,{key:0},[T(`label`,null,[T(`span`,null,_(C(d)(`projectAgents.routing.editor.executorId`)),1),c(T(`input`,{"onUpdate:modelValue":i[1]||=e=>h.value=e,maxlength:`128`,disabled:V.value||L.value,required:``},null,8,qe),[[m,h.value]])]),T(`label`,null,[T(`span`,null,_(C(d)(`projectAgents.routing.editor.displayName`)),1),c(T(`input`,{"onUpdate:modelValue":i[2]||=e=>v.value=e,maxlength:`160`,disabled:L.value,required:``},null,8,Je),[[m,v.value]])]),T(`label`,null,[T(`span`,null,_(C(d)(`projectAgents.routing.editor.executorKind`)),1),c(T(`input`,{"onUpdate:modelValue":i[3]||=e=>y.value=e,maxlength:`128`,disabled:L.value},null,8,Ye),[[m,y.value]])]),T(`label`,null,[T(`span`,null,_(C(d)(`projectAgents.routing.editor.priority`)),1),c(T(`input`,{"onUpdate:modelValue":i[4]||=e=>S.value=e,type:`number`,min:`1`,max:`1000000`,disabled:L.value,required:``},null,8,Xe),[[m,S.value,void 0,{number:!0}]])]),T(`label`,Ze,[T(`span`,null,_(C(d)(`projectAgents.routing.editor.capabilities`)),1),c(T(`textarea`,{"onUpdate:modelValue":i[5]||=e=>x.value=e,rows:`3`,disabled:L.value},null,8,Qe),[[m,x.value]])]),T(`label`,$e,[c(T(`input`,{"onUpdate:modelValue":i[6]||=e=>E.value=e,type:`checkbox`,disabled:L.value},null,8,et),[[p,E.value]]),i[18]||=s(),T(`span`,null,_(C(d)(`projectAgents.routing.editor.healthRequired`)),1)]),T(`p`,tt,_(C(d)(`projectAgents.routing.editor.evidenceNote`)),1)],64)):(r(),D(g,{key:1},[T(`label`,null,[T(`span`,null,_(C(d)(`projectAgents.routing.editor.scope`)),1),c(T(`select`,{"onUpdate:modelValue":i[7]||=e=>k.value=e,disabled:L.value},[...i[19]||=[T(`option`,{value:`space`},`space`,-1),T(`option`,{value:`project`},`project`,-1),T(`option`,{value:`task`},`task`,-1)]],8,nt),[[w,k.value]])]),T(`label`,null,[T(`span`,null,_(C(d)(`projectAgents.routing.editor.priority`)),1),c(T(`input`,{"onUpdate:modelValue":i[8]||=e=>S.value=e,type:`number`,min:`1`,max:`1000000`,disabled:L.value,required:``},null,8,rt),[[m,S.value,void 0,{number:!0}]])]),k.value===`project`||k.value===`task`?(r(),D(`label`,Q,[T(`span`,null,_(C(d)(`projectAgents.fields.project`)),1),t(ve,{modelValue:j.value,"onUpdate:modelValue":i[9]||=e=>j.value=e,"control-id":`executor-rule-project`,options:U.value,label:C(d)(`projectAgents.fields.project`),disabled:L.value},null,8,[`modelValue`,`options`,`label`,`disabled`])])):f(``,!0),k.value===`task`?(r(),D(`label`,it,[T(`span`,null,_(C(d)(`projectAgents.routing.editor.taskId`)),1),c(T(`input`,{"onUpdate:modelValue":i[10]||=e=>M.value=e,maxlength:`128`,disabled:L.value},null,8,at),[[m,M.value]])])):f(``,!0),T(`label`,null,[T(`span`,null,_(C(d)(`projectAgents.routing.editor.workKind`)),1),c(T(`input`,{"onUpdate:modelValue":i[11]||=e=>N.value=e,maxlength:`128`,disabled:L.value,required:``},null,8,ot),[[m,N.value]])]),T(`label`,st,[T(`span`,null,_(C(d)(`projectAgents.routing.editor.executorIds`)),1),c(T(`textarea`,{"onUpdate:modelValue":i[12]||=e=>F.value=e,rows:`3`,placeholder:C(d)(`projectAgents.routing.editor.executorIdsPlaceholder`),disabled:L.value,required:``},null,8,ct),[[m,F.value]])]),T(`label`,lt,[T(`span`,null,_(C(d)(`projectAgents.routing.editor.requiredCapabilities`)),1),c(T(`textarea`,{"onUpdate:modelValue":i[13]||=e=>P.value=e,rows:`3`,disabled:L.value},null,8,ut),[[m,P.value]])]),T(`label`,dt,[T(`span`,null,_(C(d)(`projectAgents.fields.reason`)),1),c(T(`textarea`,{"onUpdate:modelValue":i[14]||=e=>I.value=e,rows:`3`,disabled:L.value,required:``},null,8,ft),[[m,I.value]])]),T(`p`,pt,_(C(d)(`projectAgents.routing.editor.ruleNote`)),1)],64))]),R.value?(r(),D(`p`,mt,_(R.value),1)):f(``,!0),T(`footer`,ht,[T(`button`,{class:`quiet-button`,type:`button`,disabled:L.value,onClick:i[15]||=e=>a(`close`)},_(C(d)(`common.actions.cancel`)),9,$),T(`button`,{class:`project-agent-primary-action`,type:`submit`,disabled:L.value},[L.value?(r(),O(A,{key:0,variant:`inline`,label:H.value},null,8,[`label`])):(r(),D(`span`,_t,_(C(d)(`projectAgents.routing.editor.save`)),1))],8,gt)])],32)],544)):f(``,!0)}}),[[`__scopeId`,`data-v-49c230b9`]]),yt=[`aria-label`,`aria-busy`],bt={key:1,class:`project-agent-policy-options`},xt=[`checked`,`disabled`],St=[`checked`,`disabled`],Ct=[`checked`,`disabled`],wt={key:2,class:`project-team`},Tt={class:`project-team-peers`},Et={key:1},Dt={key:2},Ot={class:`project-team-summary`},kt={key:0,class:`project-team-members`},At=[`onClick`],jt={class:`team-lead-field`},Mt=[`disabled`],Nt={value:``},Pt=[`value`],Ft=[`disabled`],It=[`onChange`],Lt=[`value`],Rt=[`disabled`],zt={class:`project-agent-policy-feedback`,"aria-live":`polite`},Bt={key:0,role:`alert`},Vt=[`disabled`],Ht={key:2,role:`status`},Ut=j(E({__name:`ProjectAgentAutomationPolicyPanel`,props:{personalSpaceId:{},personalProjectId:{},projectName:{},agents:{}},emits:[`select`],setup(e,{emit:t}){let n=e,i=t,m=l(H()),h=l(!1),v=l(!1),y=l(``),b=l(``),x=l(!1),S=l(``),E=l([]),k=0,j=u(()=>h.value||v.value),M=u(()=>(n.agents??[]).filter(e=>e.profile.status===`active`&&(e.profile.agentType??`durable`)===`durable`&&!e.agentId.startsWith(`employee.`)&&!e.profile.capabilities.some(e=>e.startsWith(`fuli.employee:`))&&e.assignments?.some(e=>e.status===`active`&&e.personalProjectId===n.personalProjectId))),N=M,ee=u(()=>M.value.filter(e=>e.agentId!==S.value)),P=u(()=>E.value.filter(e=>!ee.value.some(t=>t.agentId===e)).map(e=>({id:e,name:(n.agents??[]).find(t=>t.agentId===e)?.profile.displayName||(n.agents??[]).find(t=>t.agentId===e)?.profile.name||d(`projectAgents.team.unavailableMember`)}))),L=u(()=>M.value.find(e=>e.agentId===m.value.teamLeadAgentId)),R=u(()=>M.value.filter(e=>m.value.teamMemberAgentIds?.includes(e.agentId))),te=u(()=>S.value!==(m.value.teamLeadAgentId??``)||JSON.stringify([...E.value].sort())!==JSON.stringify([...m.value.teamMemberAgentIds??[]].sort()));o(S,e=>{E.value=e?E.value.filter(t=>t!==e):[]});function ne(e){return e.profile.displayName||e.profile.name}function z(){S.value=m.value.teamLeadAgentId??``,E.value=[...m.value.teamMemberAgentIds??[]]}o(()=>[n.personalSpaceId,n.personalProjectId],()=>void B(),{immediate:!0});async function B(){let e=++k;if(m.value=H(),z(),v.value=!1,h.value=!1,x.value=!1,b.value=``,!(!n.personalSpaceId||!n.personalProjectId)){h.value=!0,y.value=``;try{let t=await F(`/api/project-agent-coordination-policy?${new URLSearchParams({personalSpaceId:n.personalSpaceId,personalProjectId:n.personalProjectId})}`);e===k&&(m.value=U(t),z())}catch(t){e===k&&(y.value=t instanceof Error?t.message:d(`projectAgents.coordination.loadFailed`))}finally{e===k&&(h.value=!1)}}}async function re(e,t){if(j.value||y.value)return;let n={...m.value},r=t.currentTarget.checked;m.value={...m.value,[e]:r},await ie(n)}async function V(){j.value||y.value||!te.value||await ie({...m.value},{teamLeadAgentId:S.value||null,teamMemberAgentIds:[...E.value]})}async function ie(e,t){let r=k;v.value=!0,x.value=!1,b.value=``;try{let i=await I(`/api/project-agent-coordination-policy`,{personalSpaceId:n.personalSpaceId,personalProjectId:n.personalProjectId,askBeforeRecruitment:m.value.askBeforeRecruitment,autoReusePreviousAgent:m.value.autoReusePreviousAgent,autoGrowTeam:m.value.autoGrowTeam??!0,expectedUpdatedAt:e.updatedAt,...t});if(r!==k)return;m.value=U(i),t&&z(),x.value=!0}catch(t){if(r!==k)return;m.value=e,b.value=t instanceof Error?t.message:d(`projectAgents.coordination.saveFailed`)}finally{r===k&&(v.value=!1)}}function H(){return{personalSpaceId:n.personalSpaceId,personalProjectId:n.personalProjectId,askBeforeRecruitment:!0,autoReusePreviousAgent:!0,autoGrowTeam:!0,updatedAt:null,teamLeadAgentId:null,teamMemberAgentIds:[]}}function U(e){let t=e&&typeof e==`object`?e:{};return{personalSpaceId:W(t.personalSpaceId??t.personal_space_id)||n.personalSpaceId,personalProjectId:W(t.personalProjectId??t.personal_project_id)||n.personalProjectId,askBeforeRecruitment:ae(t.askBeforeRecruitment??t.ask_before_recruitment,!0),autoReusePreviousAgent:ae(t.autoReusePreviousAgent??t.auto_reuse_previous_agent,!0),updatedAt:W(t.updatedAt??t.updated_at),autoGrowTeam:ae(t.autoGrowTeam??t.auto_grow_team,!0),teamLeadAgentId:W(t.teamLeadAgentId??t.team_lead_agent_id),teamMemberAgentIds:Array.isArray(t.teamMemberAgentIds??t.team_member_agent_ids)?t.teamMemberAgentIds??t.team_member_agent_ids:[]}}function ae(e,t){return typeof e==`boolean`?e:t}function W(e){return typeof e==`string`&&e?e:null}return(t,n)=>(r(),D(`section`,{class:`project-agent-automation-policy`,"aria-label":C(d)(`projectAgents.coordination.aria`,{project:e.projectName}),"aria-busy":j.value},[T(`header`,null,[T(`h3`,null,_(C(d)(`projectAgents.coordination.title`)),1),T(`span`,null,_(e.projectName),1)]),h.value?(r(),O(A,{key:0,variant:`compact`,label:C(d)(`projectAgents.coordination.loading`)},null,8,[`label`])):(r(),D(`div`,bt,[T(`label`,null,[T(`span`,null,[T(`strong`,null,_(C(d)(`projectAgents.coordination.autoReuse`)),1),T(`small`,null,_(C(d)(`projectAgents.coordination.autoReuseMeta`)),1)]),T(`input`,{checked:m.value.autoReusePreviousAgent,disabled:j.value||!!y.value,type:`checkbox`,role:`switch`,onChange:n[0]||=e=>re(`autoReusePreviousAgent`,e)},null,40,xt)]),T(`label`,null,[T(`span`,null,[T(`strong`,null,_(C(d)(`projectAgents.coordination.askBeforeRecruitment`)),1),T(`small`,null,_(C(d)(`projectAgents.coordination.askBeforeRecruitmentMeta`)),1)]),T(`input`,{checked:m.value.askBeforeRecruitment,disabled:j.value||!!y.value,type:`checkbox`,role:`switch`,onChange:n[1]||=e=>re(`askBeforeRecruitment`,e)},null,40,St)]),T(`label`,null,[T(`span`,null,[T(`strong`,null,_(C(d)(`projectAgents.team.autoGrow`)),1),T(`small`,null,_(C(d)(`projectAgents.team.autoGrowMeta`)),1)]),T(`input`,{checked:m.value.autoGrowTeam,disabled:j.value||!!y.value,type:`checkbox`,role:`switch`,onChange:n[2]||=e=>re(`autoGrowTeam`,e)},null,40,Ct)])])),e.agents&&!h.value&&!y.value?(r(),D(`div`,wt,[T(`div`,Tt,[T(`span`,null,_(C(d)(`projectAgents.team.hr`)),1),T(`span`,null,_(C(d)(`projectAgents.team.manager`)),1),L.value?(r(),D(`button`,{key:0,type:`button`,onClick:n[3]||=e=>i(`select`,L.value.agentId)},_(C(d)(`projectAgents.team.lead`))+` · `+_(ne(L.value)),1)):m.value.teamLeadAgentId?(r(),D(`span`,Et,_(C(d)(`projectAgents.team.unavailable`)),1)):(r(),D(`span`,Dt,_(C(d)(`projectAgents.team.noLead`)),1))]),T(`p`,Ot,_(C(d)(`projectAgents.team.summary`)),1),R.value.length?(r(),D(`ul`,kt,[(r(!0),D(g,null,a(R.value,e=>(r(),D(`li`,{key:e.agentId},[T(`button`,{type:`button`,onClick:t=>i(`select`,e.agentId)},[T(`strong`,null,_(ne(e)),1),T(`span`,null,_(e.profile.responsibility),1)],8,At)]))),128))])):f(``,!0),T(`details`,null,[T(`summary`,null,_(C(d)(`projectAgents.team.edit`)),1),T(`label`,jt,[s(_(C(d)(`projectAgents.team.lead`))+` `,1),c(T(`select`,{"onUpdate:modelValue":n[4]||=e=>S.value=e,disabled:j.value},[T(`option`,Nt,_(C(d)(`projectAgents.team.noLead`)),1),(r(!0),D(g,null,a(C(N),e=>(r(),D(`option`,{key:e.agentId,value:e.agentId},_(ne(e)),9,Pt))),128))],8,Mt),[[w,S.value]])]),T(`fieldset`,{disabled:j.value||!S.value},[T(`legend`,null,_(C(d)(`projectAgents.team.members`)),1),(r(!0),D(g,null,a(P.value,e=>(r(),D(`label`,{key:e.id,class:`unavailable-team-member`},[T(`input`,{type:`checkbox`,checked:``,onChange:t=>E.value=E.value.filter(t=>t!==e.id)},null,40,It),s(` `+_(e.name)+` · `+_(C(d)(`projectAgents.team.removeUnavailable`)),1)]))),128)),(r(!0),D(g,null,a(ee.value,e=>(r(),D(`label`,{key:e.agentId},[c(T(`input`,{"onUpdate:modelValue":n[5]||=e=>E.value=e,type:`checkbox`,value:e.agentId},null,8,Lt),[[p,E.value]]),s(_(ne(e)),1)]))),128))],8,Ft),T(`button`,{type:`button`,disabled:j.value||!te.value,onClick:V},_(C(d)(`projectAgents.team.save`)),9,Rt)])])):f(``,!0),T(`div`,zt,[y.value||b.value?(r(),D(`p`,Bt,[s(_(y.value||b.value)+` `,1),y.value?(r(),D(`button`,{key:0,type:`button`,disabled:j.value,onClick:B},_(C(d)(`projectAgents.retry`)),9,Vt)):f(``,!0)])):v.value?(r(),O(A,{key:1,variant:`compact`,label:C(d)(`projectAgents.coordination.saving`)},null,8,[`label`])):x.value?(r(),D(`p`,Ht,_(C(d)(`projectAgents.coordination.saved`)),1)):f(``,!0)])],8,yt))}}),[[`__scopeId`,`data-v-12656912`]]),Wt={key:0,class:`project-agent-source-state`,role:`status`},Gt={key:1,class:`project-agent-source-state`},Kt={key:2,class:`project-agent-source-state is-error`,role:`alert`},qt=j(E({__name:`ProjectAgentDetailState`,props:{status:{},error:{},label:{}},emits:[`retry`],setup(e){return(i,a)=>e.status===`idle`?(r(),D(`div`,Wt,_(C(d)(`projectAgents.detail.notLoaded`)),1)):e.status===`loading`?(r(),D(`div`,Gt,[t(A,{variant:`inline`,label:e.label},null,8,[`label`])])):e.status===`error`?(r(),D(`div`,Kt,[T(`span`,null,_(e.error||C(d)(`projectAgents.detail.sectionUnavailable`)),1),T(`button`,{class:`quiet-button`,type:`button`,onClick:a[0]||=e=>i.$emit(`retry`)},_(C(d)(`projectAgents.retry`)),1)])):n(i.$slots,`default`,{},void 0,!0,3)}}),[[`__scopeId`,`data-v-4f121023`]]),Jt=[`aria-label`],Yt={"data-task-project-state":``},Xt={key:0},Zt={"data-task-assignment-state":``},Qt={"data-task-execution-state":``},$t={key:0,class:`project-agent-task-scope-hint`},en={key:1,"data-task-summary-reason":``},tn=j(E({__name:`ProjectAgentTaskDiagnostics`,props:{task:{},projectName:{}},setup(e){let t=e,n=u(()=>!!(t.task.ownerAgentId||t.task.leadAgentId||t.task.participants.some(e=>e.agentId))),i=u(()=>t.task.projectScope?.type===`temporary`?`temporary`:t.task.personalProjectId?`identified`:`unresolved`),a=u(()=>{if(t.task.executionSummary!==void 0)return t.task.executionSummary;let e=new Map;for(let n of ie(t.task)){let t=n.workerId||n.agentId||n.workerLabel||n.eventId,r=e.get(t);(!r||n.createdAt>=r.createdAt)&&e.set(t,{status:n.workerStatus,createdAt:n.createdAt})}return[...e.values()]}),o=u(()=>{let e=a.value;return e.length?e.some(e=>e.status===`running`)?`running`:e.every(e=>e.status===`queued`)?`queued`:e.every(e=>[`completed`,`failed`,`cancelled`].includes(e.status??``))?`ended`:`reported`:`unreported`}),s=u(()=>t.task.executionSummary?.length?``:a.value.length?`eventsOnly`:n.value?`assignedOnly`:`unassigned`);return(t,a)=>(r(),D(`section`,{class:`project-agent-task-diagnostics`,"aria-label":C(d)(`projectAgents.diagnostics.title`)},[T(`dl`,null,[T(`div`,Yt,[T(`dt`,null,_(C(d)(`projectAgents.diagnostics.project`)),1),T(`dd`,null,_(C(d)(`projectAgents.diagnostics.projectState.${i.value}`)),1),e.task.personalProjectId?(r(),D(`small`,Xt,_(e.projectName),1)):f(``,!0)]),T(`div`,Zt,[T(`dt`,null,_(C(d)(`projectAgents.diagnostics.assignment`)),1),T(`dd`,null,_(C(d)(`projectAgents.diagnostics.assignmentState.${n.value?`assigned`:`unreported`}`)),1)]),T(`div`,Qt,[T(`dt`,null,_(C(d)(`projectAgents.diagnostics.execution`)),1),T(`dd`,null,_(C(d)(`projectAgents.diagnostics.executionState.${o.value}`)),1)])]),i.value===`temporary`?(r(),D(`p`,$t,_(C(d)(`projectAgents.diagnostics.temporaryHint`)),1)):f(``,!0),s.value?(r(),D(`p`,en,_(C(d)(`projectAgents.diagnostics.summaryReason.${s.value}`)),1)):f(``,!0)],8,Jt))}}),[[`__scopeId`,`data-v-f960dcef`]]),nn={key:0},rn=[`value`],an={key:2,role:`alert`},on={key:3},sn={class:`work-record-meta`},cn=[`datetime`],ln={key:4},un=j(E({__name:`EmployeeWorkHistory`,props:{personalSpaceId:{},agentId:{},projects:{}},setup(e){let t=e,n=l(``),i=l(!1),u=l(!1),p=l(``),m=l([]),h=0;o(()=>[t.agentId,t.personalSpaceId,t.projects.map(e=>e.id).join(`
8
- `)],()=>{let e=t.projects.some(e=>e.id===n.value)?n.value:t.projects[0]?.id??``;e===n.value?v():n.value=e},{immediate:!0}),o(n,()=>void v());async function v(){let e=++h;if(m.value=[],p.value=``,u.value=!1,!(!i.value||!n.value)){u.value=!0;try{let r=new URLSearchParams({personalSpaceId:t.personalSpaceId,personalProjectId:n.value}),i=await F(`/api/project-agents/${encodeURIComponent(t.agentId)}/memory?${r}`);e===h&&(m.value=i.workLog??[])}catch(t){e===h&&(p.value=t instanceof Error?t.message:d(`projectAgents.workHistory.loadFailed`))}finally{e===h&&(u.value=!1)}}}function y(e){let t=e.target.open;t!==i.value&&(i.value=t,i.value?v():++h)}function b(e){let t=new Date(e);return Number.isNaN(t.getTime())?d(`projectAgents.notReported`):new Intl.DateTimeFormat(x(),{dateStyle:`short`,timeStyle:`short`}).format(t)}function S(e){return d(`projectAgents.workHistory.${[`reported`,`completed`,`incomplete`,`failed`,`no_change`,`unreported`,`running`].includes(e)?e:`unreported`}`)}return(t,i)=>(r(),D(`details`,{class:`employee-work-history`,onToggle:y},[T(`summary`,null,_(C(d)(`projectAgents.workHistory.title`)),1),e.projects.length?(r(),D(`label`,nn,[s(_(C(d)(`projectAgents.fields.project`))+` `,1),c(T(`select`,{"onUpdate:modelValue":i[0]||=e=>n.value=e},[(r(!0),D(g,null,a(e.projects,e=>(r(),D(`option`,{key:e.id,value:e.id},_(e.name),9,rn))),128))],512),[[w,n.value]])])):f(``,!0),u.value?(r(),O(A,{key:1,variant:`compact`,label:C(d)(`projectAgents.workHistory.loading`)},null,8,[`label`])):p.value?(r(),D(`div`,an,[T(`p`,null,_(p.value),1),T(`button`,{type:`button`,class:`quiet-button`,onClick:v},_(C(d)(`projectAgents.retry`)),1)])):m.value.length?(r(),D(`ol`,on,[(r(!0),D(g,null,a(m.value,e=>(r(),D(`li`,{key:e.taskContextToken},[T(`div`,sn,[T(`strong`,null,_(S(e.status)),1),T(`span`,null,_(e.sourceApplication),1),T(`time`,{datetime:e.createdAt},_(b(e.createdAt)),9,cn)]),T(`p`,null,_(e.summary),1)]))),128))])):(r(),D(`p`,ln,_(C(d)(`projectAgents.workHistory.empty`)),1))],32))}}),[[`__scopeId`,`data-v-143dca4c`]]),dn={class:`project-agent-dialog-header`},fn={id:`project-agent-dialog-title`},pn=[`disabled`],mn={class:`project-agent-dialog-fields`},hn=[`disabled`],gn={value:`active`},_n={value:`inactive`},vn={value:`archived`},yn=[`disabled`],bn={value:`durable`},xn={value:`hr`},Sn={key:0,value:`temporary`,disabled:``},Cn={key:1,value:`coordinator`,disabled:``},wn=[`disabled`,`placeholder`],Tn=[`disabled`,`placeholder`],En=[`disabled`],Dn=[`disabled`,`placeholder`],On={key:0,class:`project-agent-id-note`},kn={class:`project-agent-wide-field`},An=[`disabled`,`placeholder`],jn={class:`project-agent-wide-field`},Mn=[`disabled`,`placeholder`],Nn={class:`project-agent-wide-field`},Pn=[`disabled`,`placeholder`],Fn={class:`project-agent-wide-field project-agent-strategy-fields`},In=[`disabled`],Ln={value:`flexible`},Rn={value:`locked`},zn=[`disabled`],Bn={class:`project-agent-wide-field`},Vn=[`disabled`,`placeholder`],Hn={key:0,class:`project-agent-dialog-error`,role:`alert`},Un={class:`project-agent-dialog-actions`},Wn=[`disabled`],Gn=[`disabled`],Kn={key:1},qn=j(E({__name:`ProjectAgentDialog`,props:{open:{type:Boolean},agent:{},projects:{},defaultProjectId:{},personalSpaceId:{}},emits:[`close`,`saved`],setup(e,{emit:n}){let i=e,a=n,s=l(``),p=l(``),h=l(``),g=l(``),v=l(``),y=l(``),x=l(``),S=l(``),E=l(`active`),k=l(`durable`),j=l(`adaptive`),M=l(`flexible`),N=l(``),F=l(!1),I=l(``),{dialogRef:L,initialFocusRef:R,onCancel:te,onKeydown:ne}=B(()=>i.open,()=>a(`close`)),z=u(()=>!!i.agent),re=u(()=>i.projects.map(e=>({value:e.project_id,label:e.profile.name,meta:e.project_id})));o(()=>[i.open,i.agent,i.defaultProjectId],([e,t,n])=>{if(!e)return;s.value=t?.personalProjectId??n??i.projects[0]?.project_id??``,p.value=t?.agentId??``,h.value=t?.profile.name??``,g.value=t?.profile.displayName??``,v.value=t?.profile.occupationEmoji??``,y.value=t?.profile.responsibility??``,x.value=(t?.profile.capabilities??[]).join(`
9
- `),S.value=(t?.profile.initialPreferences??[]).join(`
10
- `),E.value=t?.profile.status??`active`,k.value=t?.profile.agentType??`durable`,j.value=t?.profile.defaultModelStrategy?.mode??`adaptive`,M.value=t?.profile.executorPolicy?.mode??`flexible`;let r=t?.profile.executorPolicy,a=r?.mode===`locked`?r.lockedExecutorIds:r?.preferredExecutorIds;N.value=(a?.length?a:r?.allowList?.map(({executorId:e})=>e)??[]).join(`
11
- `),I.value=``},{immediate:!0});function V(e){let t=e.split(`
12
- `).map(e=>e.trim()).filter(Boolean),n=t.map(e=>e.toLocaleLowerCase());return new Set(n).size===n.length?t:null}async function ie(){if(F.value)return;let e=s.value.trim(),t=p.value.trim(),n=h.value.trim(),r=v.value.trim(),o=y.value.trim();if(!t||!n||!o){I.value=d(`projectAgents.dialog.required`);return}let c=i.projects.find(({project_id:t})=>t===e);if(e&&!c){I.value=d(`projectAgents.dialog.projectUnavailable`);return}if(r&&!H(r)){I.value=d(`projectAgents.dialog.occupationEmojiInvalid`);return}let l=c?.personal_space_id??i.personalSpaceId??i.agent?.personalSpaceId;if(!l){I.value=d(`projectAgents.dialog.spaceUnavailable`);return}let u=V(x.value),f=V(S.value);if(!u||!f){I.value=d(`projectAgents.dialog.duplicate`);return}let m=V(N.value);if(!m||M.value===`locked`&&!m.length){I.value=d(`projectAgents.dialog.duplicate`);return}F.value=!0,I.value=``;try{let s={...i.agent?.profile,name:n,responsibility:o,capabilities:u,initialPreferences:f,status:E.value};g.value.trim()&&(s.displayName=g.value.trim()),r&&(s.occupationEmoji=r),k.value!==`durable`&&(s.agentType=k.value),j.value!==`adaptive`&&(s.defaultModelStrategy={mode:j.value}),(M.value!==`flexible`||m.length)&&(s.executorPolicy={mode:M.value,lockedExecutorIds:M.value===`locked`?m:[],preferredExecutorIds:M.value===`flexible`?m:[]});let c=await ee(`/api/project-agents`,{personalSpaceId:l,personalProjectId:null,agentId:t,profile:s}),p=c;if(e&&!z.value){let n=await P(`/api/project-agent-assignments`,{personalSpaceId:l,personalProjectId:e,agentId:t,idempotencyKey:`directory:${t}:${Date.now()}`,responsibility:o,capabilities:u,reason:d(`projectAgents.dialog.initialAssignmentReason`)});p={...c,personalProjectId:e,assignments:[n]}}a(`saved`,p),a(`close`)}catch(e){I.value=e instanceof Error?e.message:d(`projectAgents.dialog.saveFailed`)}finally{F.value=!1}}function H(e){return Array.from(e).length>32||/\s/u.test(e)||Array.from(new Intl.Segmenter(void 0,{granularity:`grapheme`}).segment(e)).length!==1?!1:/\p{Extended_Pictographic}|\p{Regional_Indicator}{2}|[#*0-9]\uFE0F?\u20E3/u.test(e)&&/^[\p{Extended_Pictographic}\p{Emoji_Component}\uFE0E\uFE0F\u200D\u{E0020}-\u{E007F}#*0-9]+$/u.test(e)}return(n,i)=>e.open?(r(),D(`dialog`,{key:0,ref_key:`dialogRef`,ref:L,class:`project-agent-dialog vue-dialog`,"aria-modal":`true`,"aria-labelledby":`project-agent-dialog-title`,onCancel:i[15]||=(...e)=>C(te)&&C(te)(...e),onKeydown:i[16]||=(...e)=>C(ne)&&C(ne)(...e)},[T(`form`,{class:`project-agent-dialog-shell`,onSubmit:b(ie,[`prevent`])},[T(`header`,dn,[T(`h3`,fn,_(z.value?C(d)(`projectAgents.dialog.editTitle`):C(d)(`projectAgents.dialog.createTitle`)),1),T(`button`,{ref_key:`initialFocusRef`,ref:R,"data-dialog-initial-focus":``,class:`quiet-button`,type:`button`,disabled:F.value,onClick:i[0]||=e=>a(`close`)},_(C(d)(`common.actions.close`)),9,pn)]),T(`div`,mn,[T(`label`,null,[T(`span`,null,_(C(d)(`projectAgents.fields.project`)),1),t(ve,{modelValue:s.value,"onUpdate:modelValue":i[1]||=e=>s.value=e,"control-id":`project-agent-project`,options:re.value,label:C(d)(`projectAgents.fields.project`),placeholder:C(d)(`projectAgents.dialog.projectPlaceholder`),disabled:z.value||F.value},null,8,[`modelValue`,`options`,`label`,`placeholder`,`disabled`])]),T(`label`,null,[T(`span`,null,_(C(d)(`projectAgents.fields.status`)),1),c(T(`select`,{"onUpdate:modelValue":i[2]||=e=>E.value=e,name:`project-agent-status`,disabled:F.value},[T(`option`,gn,_(C(d)(`projectAgents.status.active`)),1),T(`option`,_n,_(C(d)(`projectAgents.status.inactive`)),1),T(`option`,vn,_(C(d)(`projectAgents.status.archived`)),1)],8,hn),[[w,E.value]])]),T(`label`,null,[T(`span`,null,_(C(d)(`projectAgents.fields.agentType`)),1),c(T(`select`,{"onUpdate:modelValue":i[3]||=e=>k.value=e,name:`project-agent-type`,disabled:F.value},[T(`option`,bn,_(C(d)(`projectAgents.agentType.durable`)),1),T(`option`,xn,_(C(d)(`projectAgents.agentType.hr`)),1),z.value&&k.value===`temporary`?(r(),D(`option`,Sn,_(C(d)(`projectAgents.agentType.temporary`)),1)):f(``,!0),z.value&&k.value===`coordinator`?(r(),D(`option`,Cn,_(C(d)(`projectAgents.agentType.coordinator`)),1)):f(``,!0)],8,yn),[[w,k.value]])]),T(`label`,null,[T(`span`,null,_(C(d)(`projectAgents.fields.agentId`)),1),c(T(`input`,{"onUpdate:modelValue":i[4]||=e=>p.value=e,name:`project-agent-id`,maxlength:`128`,required:``,disabled:z.value||F.value,placeholder:C(d)(`projectAgents.dialog.agentIdPlaceholder`)},null,8,wn),[[m,p.value]])]),T(`label`,null,[T(`span`,null,_(C(d)(`attention.roleName`)),1),c(T(`input`,{"onUpdate:modelValue":i[5]||=e=>h.value=e,name:`project-agent-name`,maxlength:`160`,required:``,disabled:F.value,placeholder:C(d)(`projectAgents.dialog.namePlaceholder`)},null,8,Tn),[[m,h.value]])]),T(`label`,null,[T(`span`,null,_(C(d)(`attention.displayName`)),1),c(T(`input`,{"onUpdate:modelValue":i[6]||=e=>g.value=e,name:`project-agent-display-name`,maxlength:`160`,disabled:F.value},null,8,En),[[m,g.value]])]),T(`label`,null,[T(`span`,null,_(C(d)(`projectAgents.fields.occupationEmoji`)),1),c(T(`input`,{"onUpdate:modelValue":i[7]||=e=>v.value=e,name:`project-agent-occupation-emoji`,maxlength:`64`,autocomplete:`off`,disabled:F.value,placeholder:C(d)(`projectAgents.dialog.occupationEmojiPlaceholder`)},null,8,Dn),[[m,v.value]])]),z.value?(r(),D(`small`,On,_(C(d)(`projectAgents.dialog.idLocked`)),1)):f(``,!0),T(`label`,kn,[T(`span`,null,_(C(d)(`projectAgents.fields.responsibility`)),1),c(T(`textarea`,{"onUpdate:modelValue":i[8]||=e=>y.value=e,name:`project-agent-responsibility`,maxlength:`4096`,rows:`4`,required:``,disabled:F.value,placeholder:C(d)(`projectAgents.dialog.responsibilityPlaceholder`)},null,8,An),[[m,y.value]])]),T(`label`,jn,[T(`span`,null,_(C(d)(`projectAgents.fields.capabilities`)),1),c(T(`textarea`,{"onUpdate:modelValue":i[9]||=e=>x.value=e,name:`project-agent-capabilities`,maxlength:`8192`,rows:`4`,disabled:F.value,placeholder:C(d)(`projectAgents.dialog.capabilitiesPlaceholder`)},null,8,Mn),[[m,x.value]])]),T(`label`,Nn,[T(`span`,null,_(C(d)(`projectAgents.fields.initialPreferences`)),1),c(T(`textarea`,{"onUpdate:modelValue":i[10]||=e=>S.value=e,name:`project-agent-preferences`,maxlength:`8192`,rows:`4`,disabled:F.value,placeholder:C(d)(`projectAgents.dialog.preferencesPlaceholder`)},null,8,Pn),[[m,S.value]])]),T(`fieldset`,Fn,[T(`legend`,null,_(C(d)(`projectAgents.fields.defaultModelStrategy`)),1),T(`label`,null,[T(`span`,null,_(C(d)(`projectAgents.fields.executorPolicy`)),1),c(T(`select`,{"onUpdate:modelValue":i[11]||=e=>M.value=e,name:`project-agent-selection-mode`,disabled:F.value},[T(`option`,Ln,_(C(d)(`projectAgents.strategy.flexible`)),1),T(`option`,Rn,_(C(d)(`projectAgents.strategy.locked`)),1)],8,In),[[w,M.value]])]),T(`label`,null,[T(`span`,null,_(C(d)(`projectAgents.fields.modelIntent`)),1),c(T(`select`,{"onUpdate:modelValue":i[12]||=e=>j.value=e,name:`project-agent-model-mode`,disabled:F.value},[...i[17]||=[T(`option`,{value:`adaptive`},`adaptive`,-1),T(`option`,{value:`fast`},`fast`,-1),T(`option`,{value:`balanced`},`balanced`,-1),T(`option`,{value:`deep`},`deep`,-1)]],8,zn),[[w,j.value]])]),T(`label`,Bn,[T(`span`,null,_(C(d)(`projectAgents.fields.allowList`)),1),c(T(`textarea`,{"onUpdate:modelValue":i[13]||=e=>N.value=e,name:`project-agent-allow-list`,rows:`3`,disabled:F.value,placeholder:C(d)(`projectAgents.dialog.allowListPlaceholder`)},null,8,Vn),[[m,N.value]])]),T(`small`,null,_(M.value===`locked`?C(d)(`projectAgents.strategy.lockedUnavailable`):C(d)(`projectAgents.strategy.providerNeutral`)),1)])]),I.value?(r(),D(`p`,Hn,_(I.value),1)):f(``,!0),T(`footer`,Un,[T(`button`,{class:`quiet-button`,type:`button`,disabled:F.value,onClick:i[14]||=e=>a(`close`)},_(C(d)(`common.actions.cancel`)),9,Wn),T(`button`,{class:`project-agent-primary-action`,type:`submit`,disabled:F.value},[F.value?(r(),O(A,{key:0,variant:`inline`,label:C(d)(`projectAgents.dialog.saving`)},null,8,[`label`])):(r(),D(`span`,Kn,_(z.value?C(d)(`projectAgents.dialog.saveEdit`):C(d)(`projectAgents.dialog.saveCreate`)),1))],8,Gn)])],32)],544)):f(``,!0)}}),[[`__scopeId`,`data-v-f3d4e6a7`]]),Jn=[`aria-label`],Yn={class:`project-agents-header`},Xn={key:0,class:`project-agents-header-meta`},Zn={class:`project-agent-header-actions`},Qn=[`disabled`],$n=[`disabled`],er={key:0,class:`project-agents-summary`,"aria-live":`polite`},tr={class:`project-agents-toolbar`},nr={class:`project-agents-search`},rr={class:`sr-only`},ir=[`placeholder`],ar=[`aria-label`],or=[`aria-pressed`,`onClick`],sr={key:4,class:`ui-card project-agents-state is-error`,role:`alert`},cr={key:5,class:`ui-card project-agents-state`},lr=[`disabled`],ur={key:6,class:`ui-card project-agents-state`},dr={key:7,class:`ui-card project-agents-directory`},fr=[`aria-label`],pr=[`aria-current`,`onClick`],mr={class:`project-agent-row-heading`},hr=[`aria-label`],gr={class:`ui-badge project-agent-kind`},_r={class:`project-agent-row-projects`},vr={key:0},yr={key:1},br={class:`project-agent-row-responsibility`},xr={class:`project-agent-row-work`},Sr=[`aria-label`],Cr={class:`project-agent-detail-heading`},wr=[`aria-label`],Tr={key:0},Er={key:0},Dr={class:`project-agent-detail-actions`},Or=[`disabled`],kr=[`disabled`],Ar={key:1},jr={key:0,class:`project-agent-detail-notice`,role:`status`},Mr={key:1,class:`employee-project-overview`,"aria-labelledby":`employee-project-overview-title`},Nr={class:`employee-project-overview-heading`},Pr={id:`employee-project-overview-title`},Fr={key:0,class:`employee-assigned-projects`},Ir={key:1,class:`employee-project-overview-hint`},Lr={class:`ui-card project-agent-detail-section is-responsibility`},Rr={key:0,class:`project-agent-tags`},zr={class:`project-agent-detail-source`,"data-detail-section":`tasks`},Br={key:0,class:`project-agent-muted`,"data-task-partial":``},Vr={class:`project-agent-detail-section`},Hr={class:`project-agent-section-heading`},Ur={key:0,class:`project-agent-task-list`},Wr=[`id`],Gr={key:0},Kr={key:1,class:`project-agent-inline-list`},qr=[`open`],Jr=[`aria-label`],Yr={class:`project-agent-section-heading`},Xr=[`aria-label`],Zr={class:`project-agent-execution-summary-table`},Qr={class:`sr-only`},$r={scope:`col`},ei={scope:`col`},ti={scope:`col`},ni={scope:`col`},ri={scope:`col`},ii={scope:`col`},ai={scope:`col`},oi={scope:`row`},si={class:`project-agent-execution-worker`},ci=[`aria-label`],li={key:0},ui=[`data-label`],di=[`data-label`],fi=[`data-label`],pi={key:0},mi={key:1},hi=[`data-label`],gi=[`href`],_i={key:1},vi={class:`project-agent-reporter-label`},yi=[`href`],bi={key:1},xi=[`data-label`],Si=[`data-label`],Ci={key:1},wi={key:1,class:`project-agent-muted`},Ti=[`aria-label`],Ei={class:`project-agent-section-heading`},Di={class:`project-agent-execution-summary-list`},Oi=[`aria-label`],ki={key:1},Ai={class:`project-agent-execution-summary-meta`},ji={key:0},Mi={key:0},Ni={key:1},Pi={key:2},Fi={key:2},Ii={key:3,class:`project-agent-routing-decision`},Li={class:`project-agent-section-heading`},Ri={key:0},zi={key:1},Bi={key:2},Vi={key:0},Hi={key:3},Ui={key:0},Wi={key:4},Gi={class:`project-agent-execution-line`},Ki={key:0},qi={key:1},Ji={key:2},Yi={key:4},Xi={key:5},Zi={key:1,class:`project-agent-muted`},Qi={class:`ui-disclosure project-agent-disclosure`},$i={class:`project-agent-detail-source`,"data-detail-section":`assignments`},ea={class:`project-agent-detail-section`},ta={class:`project-agent-section-heading`},na={class:`project-agent-section-tools`},ra={key:0,class:`project-agent-assignment-list`},ia={class:`project-agent-card-actions`},aa=[`onClick`],oa=[`onClick`],sa={key:0},ca={key:1,class:`project-agent-inline-list`},la={class:`project-agent-strategy-note`},ua={key:0},da={key:2,class:`project-agent-tags`},fa={key:3},pa={key:1,class:`project-agent-muted`},ma={class:`ui-disclosure project-agent-disclosure`},ha={class:`project-agent-detail-source`,"data-detail-section":`activity`},ga={class:`project-agent-detail-section`},_a={class:`project-agent-section-heading`},va={key:0},ya={key:0,class:`project-agent-heatmap-wrap project-agent-heatmap-viewport`},ba=[`aria-label`],xa=[`aria-label`,`aria-pressed`,`onClick`],Sa={class:`sr-only`},Ca={key:0,class:`project-agent-day-detail`},wa={key:0,class:`project-agent-muted`},Ta={key:1},Ea={key:1,class:`project-agent-muted`},Da={class:`ui-disclosure project-agent-disclosure`},Oa={class:`project-agent-detail-meta`},ka={key:0},Aa=[`open`],ja={class:`project-agent-detail-source`,"data-detail-section":`recruitment`},Ma={class:`project-agent-detail-section`,"aria-labelledby":`project-agent-recruitment-heading`},Na={class:`project-agent-section-heading`},Pa={id:`project-agent-recruitment-heading`},Fa={key:0,class:`project-agent-recruitment-list`},Ia={class:`project-agent-card-actions`},La={class:`ui-badge`},Ra=[`disabled`,`onClick`],za={key:1},Ba=[`disabled`,`onClick`],Va={key:1},Ha={class:`project-agent-compact-meta`},Ua={key:1,class:`project-agent-muted`},Wa={class:`project-agent-detail-source`,"data-detail-section":`executors`},Ga={class:`project-agent-detail-section`},Ka={class:`project-agent-section-heading`},qa={class:`project-agent-muted`},Ja={key:0,class:`project-agent-tags`},Ya={key:1,class:`project-agent-blocked`},Xa={key:2,class:`project-agent-muted`},Za={class:`project-agent-section-tools`},Qa={key:3,class:`project-agent-executor-list`},$a=[`onClick`],eo=[`disabled`,`onClick`],to={key:1},no=[`disabled`,`onClick`],ro={key:1},io={class:`project-agent-detail-source`,"data-detail-section":`clients`},ao={class:`project-agent-detail-section`},oo={class:`project-agent-section-heading`},so={key:0,class:`project-agent-client-list`},co={key:0},lo={key:1},uo={key:2},fo={key:1,class:`project-agent-muted`},po={class:`project-agent-detail-source`,"data-detail-section":`routing`},mo={class:`project-agent-detail-section`},ho={class:`project-agent-section-heading`},go={class:`project-agent-section-tools`},_o={key:0,class:`project-agent-rule-list`},vo=[`disabled`,`onClick`],yo={key:1},bo={key:1,class:`project-agent-muted`},xo={class:`project-agent-note`},So={class:`project-agent-detail-source`,"data-detail-section":`learning`},Co={class:`project-agent-detail-section`},wo={class:`project-agent-section-heading`},To={key:0,class:`project-agent-learning-list`},Eo={class:`ui-badge`},Do={key:0},Oo={key:1,class:`project-agent-inline-list`},ko={key:0},Ao={key:2,class:`project-agent-evidence-list`},jo=[`disabled`,`onClick`],Mo={key:1},No={key:3,class:`project-agent-learning-actions`},Po=[`disabled`,`onClick`],Fo={key:1},Io={key:1,class:`project-agent-muted`},Lo={class:`project-agent-note`},Ro={key:1,class:`project-agent-detail-placeholder`},zo=j(E({__name:`ProjectAgentsPage`,setup(n){let p=[`assignments`,`tasks`,`activity`,`recruitments`,`executors`,`routingRules`,`learning`],b=k(),w=M(),E=l([]),j=l(!1),ee=l(``),B=l(null),H=l(!1),W=l(`all`),ce=l(``),K=l(``);o(()=>w.query.agent,e=>{typeof e==`string`&&(K.value=e)},{immediate:!0});let he=l(!1),ve=l(!1),xe=l(``),J=l(null),Ce=l(!1),we=l(`assign`),Te=l(null),Ee=l(!1),De=l({}),Oe=l({}),Y=l(``),ke=l(``),Ae=l(!1),je=l(``),Me=l(``),X=l(``),Ne=l(``),Pe=l(``),Fe=l(``),Ie=l(!1),Le=l(`executor`),Re=l(null),ze=l(null),Be=0,Ve=0,He=new Set([`awaiting_recruitment`,`queued`,`running`,`paused`,`awaiting_review`,`blocked`]);function We(e){return`${e}:${typeof crypto<`u`&&`randomUUID`in crypto?crypto.randomUUID():`${Date.now()}-${Math.random().toString(16).slice(2)}`}`}let Ge=u(()=>b.state?.personalProjects??[]);async function Ke(e){await ht(),rt.value.some(t=>t.agentId===e.agent.agentId)||(B.value=null,W.value=`all`,ce.value=``);let t=K.value===e.agent.agentId;K.value=e.agent.agentId,t&&$()}let Z=u(()=>b.activePersonalSpace?.id??``),qe=u(()=>j.value||!b.state&&(b.runtimeStatus===`idle`||b.runtimeStatus===`loading`)),Je=u(()=>ee.value||(!b.state&&b.runtimeStatus===`error`?b.feedback?.message||d(`projectAgents.loadError`):``));function Ye(){b.state?ht():b.refresh()}let Xe=u(()=>new Map(Ge.value.map(e=>[e.project_id,e]))),Ze=u(()=>Ge.value.map(e=>({id:e.project_id,name:e.profile.name}))),Qe=u(()=>{let e=typeof w.query.agent==`string`?w.query.agent:``;return e?E.value.find(t=>t.personalSpaceId===Z.value&&(t.agentId===e||t.legacyAgentIds?.includes(e)))??null:null}),$e=u(()=>!!(Qe.value&&typeof w.query.project==`string`&&typeof w.query.task==`string`&&!H.value)),et=u({get:()=>B.value??Ze.value.map(e=>e.id),set:e=>{H.value=!0;let t=Ze.value.filter(t=>e.includes(t.id)).map(e=>e.id);B.value=t.length===Ze.value.length?null:t}}),tt=u(()=>B.value?.length===1?B.value[0]:``);o([()=>w.query.project,Ze],([e,t],n)=>{let r=!n||e!==n[0];typeof e==`string`&&t.some(t=>t.id===e)&&(r||!H.value)&&(B.value=[e],r&&(H.value=!1))},{immediate:!0});let nt=u(()=>[{value:`all`,label:d(`projectAgents.status.all`)},{value:`active`,label:d(`projectAgents.status.active`)},{value:`inactive`,label:d(`projectAgents.status.inactive`)},{value:`archived`,label:d(`projectAgents.status.archived`)}]),rt=u(()=>{let e=ce.value.trim().toLocaleLowerCase(x());return E.value.filter(e=>B.value===null||Ht(e).some(({id:e})=>B.value.includes(e))||$e.value&&e.agentId===Qe.value?.agentId).filter(e=>W.value===`all`||e.profile.status===W.value).filter(t=>!e||Gt(t).toLocaleLowerCase(x()).includes(e)).sort(Rt)}),Q=u(()=>rt.value.find(e=>e.agentId===K.value)??null),it=u(()=>Q.value?te(Q.value):null),at=u(()=>R.value.find(e=>e.id===it.value)),ot=u(()=>Q.value?Ht(Q.value).filter(e=>Xe.value.get(e.id)?.profile.lifecycle!==`archived`):[]),st=u(()=>E.value.filter(({profile:e})=>e.status===`active`).length),ct=u(()=>E.value.reduce((e,t)=>e+Vt(t).length,0)),lt=u(()=>new Set(E.value.flatMap(e=>Vt(e).map(({personalProjectId:e})=>e))).size),ut=u(()=>tt.value?tt.value:Q.value?.assignments?.find(({status:e})=>e===`active`)?.personalProjectId??Q.value?.personalProjectId??Ge.value[0]?.project_id??null),dt=u(()=>Q.value?.activity??null),ft=u(()=>dt.value?.days.find(({date:e})=>e===ke.value)??null),pt=u(()=>Object.entries(Q.value?.learningEvidence??{})),mt=u(()=>Q.value?.recruitments??[]);v(()=>{b.runtimeStatus===`idle`&&b.refresh()}),o(Z,e=>{++Be,++Ve,De.value={},Oe.value={},K.value=``,E.value=[],H.value=!1,B.value=typeof w.query.project==`string`&&Ze.value.some(e=>e.id===w.query.project)?[w.query.project]:null,ee.value=``,e?ht(e):j.value=!1},{immediate:!0}),o(rt,e=>{if(!e.some(e=>e.agentId===K.value)){let t=e.find(e=>e.agentId===w.query.agent||typeof w.query.agent==`string`&&e.legacyAgentIds?.includes(w.query.agent));K.value=t?.agentId??($e.value?Qe.value?.agentId:void 0)??e[0]?.agentId??``}e.some(e=>e.activity?.days.some(({date:e})=>e===ke.value))||(ke.value=``)},{immediate:!0}),o([K,Z],([e,t])=>{ke.value=``,e&&t&&$(e,t)},{immediate:!0});async function ht(e=Z.value){if(!e)return;let t=++Be;j.value=!0,ee.value=``;try{let n=new URLSearchParams({personalSpaceId:e}),[r,i]=await Promise.allSettled([F(`/api/project-agents?${n}`),F(`/api/project-agent-tasks?${n}`)]);if(t!==Be)return;if(ne(e),r.status===`rejected`)throw r.reason;if(t===Be){let e=Go(fe(r.value)),t=i.status===`fulfilled`?Kn(i.value).filter(e=>He.has(e.status)):[];E.value=Rn(e,t)}}catch(e){t===Be&&(ee.value=e instanceof Error?e.message:d(`projectAgents.loadError`))}finally{t===Be&&(j.value=!1)}}async function $(e=K.value,t=Z.value){let n=E.value.find(t=>t.agentId===e);if(!n||!t)return;let r=++Ve;Ee.value=!0,Y.value=``,yt(e,`loading`);let i=new URLSearchParams({personalSpaceId:t,agentId:e}),a=be(),o=new URLSearchParams({personalSpaceId:t,agentId:e,fromDate:a.fromDate,toDate:a.toDate}),s={assignments:F(`/api/project-agent-assignments?${i}`),tasks:gt(i),activity:F(`/api/project-agent-activity?${o}`),recruitments:F(`/api/project-agent-recruitments?personalSpaceId=${encodeURIComponent(t)}`),executors:F(`/api/executors?personalSpaceId=${encodeURIComponent(t)}`),routingRules:F(`/api/executor-routing-rules?personalSpaceId=${encodeURIComponent(t)}`),learning:F(`/api/project-agent-routing-learning?${i}`)};await Promise.all(p.map(async i=>{try{let a=await s[i];if(!Ct(r,e,t))return;wt(n,i,a),bt(e,i,{status:`ready`,error:``})}catch(n){if(!Ct(r,e,t))return;bt(e,i,{status:`error`,error:n instanceof Error?n.message:d(`projectAgents.detail.sectionUnavailable`)})}})),Ct(r,e,t)&&(Ee.value=!1)}async function gt(e){let t=e.get(`agentId`)??``,n=e.get(`personalSpaceId`)??``,r=typeof w.query.project==`string`?w.query.project:``,i=typeof w.query.task==`string`?w.query.task:``;e=new URLSearchParams({personalSpaceId:n,limit:`200`}),r&&e.set(`personalProjectId`,r);let a=await F(`/api/project-agent-tasks?${e}`);Tt(a,[`tasks`,`items`]);let o=e=>(!e.personalSpaceId||e.personalSpaceId===n)&&(!r||e.personalProjectId===r)&&ue(e,t),s=Kn(a).filter(o);if(i&&!s.some(e=>e.taskId===i)){let t=pe(await F(`/api/project-agent-tasks/${encodeURIComponent(i)}?${e}`));t&&o(t)&&s.unshift(t)}return{tasks:s,partial:!de(a)}}o([()=>w.query.task,Ee],async([e,t])=>{t||typeof e!=`string`||(await y(),document.getElementById(`task-${e}`)?.scrollIntoView?.({block:`nearest`}))});function _t(e=`idle`){return Object.fromEntries(p.map(t=>[t,{status:e,error:``}]))}function yt(e,t){De.value={...De.value,[e]:_t(t)}}function bt(e,t,n){De.value={...De.value,[e]:{...De.value[e]??_t(),[t]:n}}}function xt(e){let t=(Array.isArray(e)?e:[e]).map(e=>De.value[K.value]?.[e]??{status:`idle`,error:``});return t.find(({status:e})=>e===`error`)??t.find(({status:e})=>e===`loading`)??t.find(({status:e})=>e===`idle`)??{status:`ready`,error:``}}function St(e){return d(`projectAgents.detail.loading.`+e)}function Ct(e,t,n){return e===Ve&&t===K.value&&n===Z.value}function wt(e,t,n){let r;switch(t){case`assignments`:Tt(n,[`assignments`,`items`]),r={assignments:Vn(n,e)};break;case`tasks`:Tt(n,[`tasks`,`items`]),Oe.value={...Oe.value,[e.agentId]:q(n).partial===!0},r={tasks:Kn(n)};break;case`activity`:{let e=Se(n,{agentId:K.value,personalSpaceId:Z.value});if(!e)throw Error(d(`projectAgents.detail.sectionUnavailable`));r={activity:e};break}case`recruitments`:Tt(n,[`recruitments`,`items`]),r={recruitments:Bo(n).filter(t=>Vo(t,e))};break;case`executors`:Tt(n,[`executors`,`items`]),r={executorDirectory:Un(n),clientEvidence:Ho(n)};break;case`routingRules`:Tt(n,[`rules`,`items`]),r={routingRules:Uo(n)};break;case`learning`:Tt(n,[`learningEvidence`,`learning_evidence`,`items`],!0),r={learningEvidence:Wo(n)};break}E.value=E.value.map(t=>t.agentId===e.agentId?{...t,...r}:t)}function Tt(e,t,n=!1){if(Array.isArray(e))return;let r=q(e);if(!t.some(e=>Array.isArray(r[e])||n&&Et(r[e])))throw Error(d(`projectAgents.detail.sectionUnavailable`))}function Et(e){return typeof e==`object`&&!!e&&!Array.isArray(e)}async function Dt(e,t,n){let r=t===`ignore`?n:e.learningKey??e.modelStrategyKey,i=Q.value;if(!(!r||!i||!Z.value||je.value)){if(t===`reset`&&(!e.personalProjectId||!e.workKind||!e.executor)){Y.value=d(`projectAgents.learning.resetUnavailable`);return}je.value=r,Me.value=t;try{await I(`/api/project-agent-learning/${encodeURIComponent(r)}`,{action:t,personalSpaceId:Z.value,personalProjectId:e.personalProjectId,agentId:i.agentId,workKind:e.workKind,executorId:e.executor,modelStrategy:e.modelStrategy,modelStrategyKey:e.modelStrategyKey,resetAt:t===`reset`?new Date().toISOString():void 0,idempotencyKey:t===`ignore`?`console-learning:${r}:ignore`:We(`console-learning:${r}:reset`),reason:`Console requested ${t} for explicit evidence`}),await $()}catch(e){Y.value=e instanceof Error?e.message:d(`projectAgents.learning.updateFailed`)}finally{je.value=``,Me.value=``}}}async function Ot(e,t){if(!(!Z.value||X.value)){X.value=e.recruitmentId,Ne.value=t;try{await P(`/api/project-agent-recruitments/decision`,{personalSpaceId:Z.value,personalProjectId:e.personalProjectId,recruitmentId:e.recruitmentId,expectedRevision:e.revision??0,decision:t,reason:d(`projectAgents.recruitment.${t}Reason`)}),await $()}catch(e){Y.value=e instanceof Error?e.message:d(`projectAgents.recruitment.decisionFailed`)}finally{X.value=``,Ne.value=``}}}async function kt(e,t){if(!(!Z.value||Pe.value)){Pe.value=e.executorId,Fe.value=t===`authorized`?`authorize`:`revoke`;try{await P(`/api/executors/authorization`,{personalSpaceId:Z.value,executorId:e.executorId,status:t,expectedRevision:e.permissionRevision??0,idempotencyKey:We(`console-executor:${e.executorId}:${t}`),reason:d(`projectAgents.routing.${t===`authorized`?`authorizeReason`:`revokeReason`}`)}),await $()}catch(e){Y.value=e instanceof Error?e.message:d(`projectAgents.routing.authorizationFailed`)}finally{Pe.value=``,Fe.value=``}}}function At(e=null){Le.value=`executor`,Re.value=e,ze.value=null,Ie.value=!0}function jt(e=null){Le.value=`rule`,ze.value=e,Re.value=null,Ie.value=!0}function Mt(){Ie.value=!1,Re.value=null,ze.value=null}function Nt(e){Q.value&&(E.value=E.value.map(t=>t.agentId===Q.value?.agentId?{...t,executorDirectory:Ko([...t.executorDirectory??[],e],({executorId:e})=>e)}:t),Mt())}function Pt(e){Q.value&&(E.value=E.value.map(t=>t.agentId===Q.value?.agentId?{...t,routingRules:Ko([...t.routingRules??[],e],({ruleId:e})=>e)}:t),Mt())}function Ft(e){Le.value===`executor`?Nt(e):Pt(e)}async function It(e){if(!(!Z.value||!e.ruleId||X.value)){X.value=`rule:${e.ruleId}`,Ne.value=`disable`;try{await I(`/api/executor-routing-rules/${encodeURIComponent(e.ruleId)}`,{personalSpaceId:Z.value,ruleId:e.ruleId,expectedRevision:e.revision??0,status:`disabled`,idempotencyKey:`console-rule:${e.ruleId}:disable`,reason:`Console disabled explicit routing rule`}),await $()}catch(e){Y.value=e instanceof Error?e.message:d(`projectAgents.routing.updateFailed`)}finally{X.value=``,Ne.value=``}}}async function Lt(e){if(e.profile.cleanupEligible){Ae.value=!0,Ee.value=!0;try{await L(`/api/project-agents/${encodeURIComponent(e.agentId)}?personalSpaceId=${encodeURIComponent(e.personalSpaceId)}&reason=archived%20test%20role`),await ht()}catch(e){Y.value=e instanceof Error?e.message:d(`projectAgents.source.cleanupFailed`)}finally{Ae.value=!1,Ee.value=!1}}}function Rt(e,t){let n={active:0,inactive:1,archived:2};return n[e.profile.status]-n[t.profile.status]||e.profile.name.localeCompare(t.profile.name,x())||e.agentId.localeCompare(t.agentId,x())}function zt(e){return e?Xe.value.get(e)?.profile.name??e:d(`projectAgents.notReported`)}function Bt(e){return e.assignments??(e.personalProjectId?[Wt(e)]:[])}function Vt(e){return[...new Map(Bt(e).filter(e=>e.status===`active`).map(e=>[e.personalProjectId,e])).values()]}function Ht(e){let t=te(e);return(t?R.value.find(e=>e.id===t):void 0)?.managedProjects??Vt(e).map(e=>({id:e.personalProjectId,name:zt(e.personalProjectId)}))}function Wt(e){return{assignmentId:`legacy:${e.agentId}:${e.personalProjectId}`,personalSpaceId:e.personalSpaceId,personalProjectId:e.personalProjectId??``,agentId:e.agentId,responsibility:e.profile.responsibility,capabilities:e.profile.capabilities,status:e.profile.status===`active`?`active`:`ended`,assignedAt:e.createdAt,updatedAt:e.updatedAt,reason:null}}function Gt(e){return[e.agentId,e.profile.name,e.profile.displayName??``,e.profile.occupationEmoji??``,e.profile.responsibility,...e.profile.capabilities??[],...e.profile.workKinds??[],...Bt(e).flatMap(e=>[e.personalProjectId,e.responsibility,e.scope??``,...e.workKinds??[]]),...(e.tasks??[]).flatMap(e=>[e.taskId,e.title,e.workKind??``])].join(` `)}function Kt(){J.value=null,he.value=!0}function Jt(e=``){xe.value=e,ve.value=!0}function Yt(e){J.value=e,he.value=!0}function Xt(){he.value=!1,J.value=null}function Zt(e,t=null,n=`assign`){let r=te(e);if(n===`assign`&&r){Jt(r);return}J.value=e,Te.value=t,we.value=n,Ce.value=!0}function Qt(){Ce.value=!1,Te.value=null,we.value=`assign`}function $t(e){J.value&&(E.value=E.value.map(t=>t.agentId===J.value?.agentId?{...t,assignments:Ko([...t.assignments??[],e],({assignmentId:e})=>e)}:t),K.value=J.value.agentId,Qt())}function en(){Qt(),$()}function nn(e){let t=zn(e),n=E.value.filter(e=>!(e.agentId===t.agentId&&t.personalProjectId&&e.personalProjectId===t.personalProjectId));E.value=Go([...n,t]),t.personalProjectId&&(B.value=[t.personalProjectId]),W.value=`all`,ce.value=``,K.value=t.agentId,b.notify(d(`projectAgents.saved`))}function rn(e){if(!e)return d(`projectAgents.notReported`);let t=new Date(e);return Number.isNaN(t.valueOf())?d(`projectAgents.notReported`):new Intl.DateTimeFormat(x(),{year:`numeric`,month:`short`,day:`numeric`,hour:`2-digit`,minute:`2-digit`}).format(t)}function an(e){if(!e)return d(`projectAgents.notReported`);let t=new Date(`${e}T00:00:00Z`);return Number.isNaN(t.valueOf())?e:new Intl.DateTimeFormat(x(),{month:`short`,day:`numeric`}).format(t)}function on(e){return e?.mode??`adaptive`}function sn(e){return e?.mode??`flexible`}function cn(e){return e?.mode===`locked`}function ln(e){return e?e.allowList?.length?e.allowList:((e.mode===`locked`?e.lockedExecutorIds:e.preferredExecutorIds)??[]).map(e=>({executorId:e})):[]}function dn(e){if(e.actualExecution)return e.actualExecution;let t=[...e.events??[]].reverse().find(e=>e.actualExecution);return t?oe(t):null}function fn(e){return e.workerLabel&&e.workerId&&e.workerLabel!==e.workerId?`${e.workerLabel} · ${e.workerId}`:e.workerLabel||e.workerId||d(`projectAgents.notReported`)}function pn(e){return e.workerOccupationEmoji||``}function mn(e){return _n(e.workerStatus||e.status)}function hn(e){return e.workerLabel||e.agentName||e.workerId||e.agentId||d(`projectAgents.notReported`)}function gn(e){return e.workerOccupationEmoji||e.occupationEmoji||``}function _n(e){return e?Tn(e):d(`projectAgents.notReported`)}function vn(e){if(!e)return d(`projectAgents.notReported`);let t=`projectAgents.participantRoles.${e}`,n=d(t);return n===t?e:n}function yn(e){return d(`projectAgents.tokenSources.${e}`)}function bn(e){return e?`${new Intl.NumberFormat(x()).format(e.totalTokens)} Token · ${yn(e.source)}`:d(`projectAgents.notReported`)}function xn(e){return Sn(e.workerRuntime?e.workerRuntime.sessionUrl:e.sourceSessionUrl)}function Sn(e){let t=e?.trim();if(!t)return null;try{let e=new URL(t);if(e.username||e.password||e.search||e.hash)return null;if(e.protocol===`https:`||e.protocol===`http:`&&[`127.0.0.1`,`localhost`,`[::1]`].includes(e.hostname)||e.protocol===`codex:`&&e.hostname===`threads`&&e.pathname!==`/`)return t}catch{return null}return null}function Cn(e){return e.workerRuntime?e.workerRuntime.sessionId:e.sourceSessionId}function wn(e){return(e.tasks??[]).find(e=>He.has(e.status))??null}function Tn(e){let t=`projectAgents.taskStatus.${e}`,n=d(t);return n===t?e:n}function En(e){return d(`projectAgents.agentType.${e??`durable`}`)}function Dn(e){return d(e?`projectAgents.clients.${e}`:`projectAgents.notReported`)}function On(e){return qo([...e.profile.allowedClients??[],...e.observedClients??[],...(e.clientEvidence??[]).map(({client:e})=>e)])}function kn(e,t){return e.clientEvidence?.find(e=>e.client===t)}function An(e,t){return kn(e,t)?.actualUse?.count??0}function jn(e){return e.neutral!==!1||e.sampleCount<=0}function Mn(e){return jn(e)?d(`projectAgents.learning.neutral`):d(`projectAgents.learning.recorded`)}function Nn(e){return e.recentWeightedSamples??d(`projectAgents.notReported`)}function Pn(e){return e.score??``}function Fn(e,t){let n=Math.max(...t.days.map(({total:e})=>e),0);return!n||!e.total?0:Math.min(4,Math.ceil(e.total/n*4))}function In(e){ke.value=e.date}function Ln(e,t){return ue(t,e.agentId)}function Rn(e,t){return e.map(e=>{let n=t.filter(t=>Ln(e,t));return n.length?{...e,tasks:Ko([...e.tasks??[],...n],({taskId:e})=>e)}:e})}function zn(e){let t=q(e),n=q(t.profile),r=V(t,`agentId`,`agent_id`)??``,i=V(t,`createdAt`,`created_at`)??``,a=V(t,`updatedAt`,`updated_at`)??i,o={name:V(n,`name`,`name`)??r,displayName:V(n,`displayName`,`display_name`),responsibility:V(n,`responsibility`,`responsibility`)??``,capabilities:G(n.capabilities).filter(e=>typeof e==`string`),initialPreferences:G(U(n,`initialPreferences`,`initial_preferences`)).filter(e=>typeof e==`string`),status:V(n,`status`,`status`)??`active`,occupationEmoji:V(n,`occupationEmoji`,`occupation_emoji`),agentType:V(n,`agentType`,`agent_type`),workKinds:G(U(n,`workKinds`,`work_kinds`)).filter(e=>typeof e==`string`),defaultModelStrategy:ae(U(n,`defaultModelStrategy`,`default_model_strategy`)),executorPolicy:se(U(n,`executorPolicy`,`executor_policy`)),allowedClients:G(U(n,`allowedClients`,`allowed_clients`)).filter(e=>typeof e==`string`),character:{judgment:String(q(n.character).judgment??``),taste:String(q(n.character).taste??``),personality:String(q(n.character).personality??``)},expectations:V(n,`expectations`,`expectations`)??``,testSource:V(n,`testSource`,`test_source`),cleanupEligible:U(n,`cleanupEligible`,`cleanup_eligible`)===!0},s={agentId:r,personalSpaceId:V(t,`personalSpaceId`,`personal_space_id`)??Z.value,personalProjectId:V(t,`personalProjectId`,`personal_project_id`),profile:o,createdAt:i,updatedAt:a};return{...s,memoryScope:V(t,`memoryScope`,`memory_scope`)??void 0,assignments:Array.isArray(t.assignments)?t.assignments.map(e=>le(e,s)).filter(Boolean):void 0,legacyAgentIds:G(t.legacyAgentIds??t.legacy_agent_ids).filter(e=>typeof e==`string`),recruitments:Bo(t.recruitments??t.recruitmentHistory).filter(e=>Vo(e,s)),recruitmentId:V(t,`recruitmentId`,`recruitment_id`),temporaryTaskId:V(t,`temporaryTaskId`,`temporary_task_id`),workStatus:V(t,`workStatus`,`work_status`),openTaskCount:typeof t.openTaskCount==`number`?t.openTaskCount:typeof t.open_task_count==`number`?t.open_task_count:void 0,currentTaskId:V(t,`currentTaskId`,`current_task_id`),observedClients:G(t.observedClients??t.observed_clients).filter(e=>typeof e==`string`),recruitedAt:V(t,`recruitedAt`,`recruited_at`),recruitmentReason:V(t,`recruitmentReason`,`recruitment_reason`),recruitmentSourceApplication:V(t,`recruitmentSourceApplication`,`recruitment_source_application`),isTestRole:!!o.testSource||o.cleanupEligible||t.isTestRole===!0||t.is_test_role===!0,tasks:G(t.tasks??t.taskHistory).map(pe).filter(Boolean),activity:Se(t.activity,{agentId:K.value,personalSpaceId:Z.value}),clientEvidence:Ho(t.clientEvidence??t.client_evidence),routingRules:Uo(t.routingRules??t.routing_rules),learningEvidence:Gn(t.learningEvidence??t.learning_evidence)}}function Bn(e){let t=q(e),n=V(t,`client`,`client`);if(!n)return null;let r=q(U(t,`actualUse`,`actual_use`));return{client:n,allowed:t.allowed===!0,integrationStatus:V(t,`integrationStatus`,`integration_status`)??void 0,actualUse:Object.keys(r).length?{count:typeof r.count==`number`?r.count:0,lastUsedAt:V(r,`lastUsedAt`,`last_used_at`)}:null}}function Vn(e,t){let n=q(e);return G(Array.isArray(e)?e:n.assignments??n.items).map(e=>le(e,t)).filter(e=>!!e)}function Hn(e){let t=q(e),n=V(t,`provider`,`provider`),r=V(t,`model`,`model`);return!n||!r?null:{provider:n,model:r,capabilities:G(t.capabilities).filter(e=>typeof e==`string`),available:typeof t.available==`boolean`?t.available:void 0,strategyModes:G(U(t,`strategyModes`,`strategy_modes`)).filter(e=>typeof e==`string`),reasoningEfforts:G(U(t,`reasoningEfforts`,`reasoning_efforts`)).filter(e=>typeof e==`string`),observedAt:V(t,`observedAt`,`observed_at`),unavailableReason:V(t,`unavailableReason`,`unavailable_reason`)}}function Un(e){let t=q(e);return G(Array.isArray(e)?e:t.executors??t.items).map(e=>{let t=q(e),n=V(t,`executorId`,`executor_id`);if(!n)return null;let r=q(U(t,`actualUse`,`actual_use`));return{executorId:n,label:V(t,`label`,`label`),provider:V(t,`provider`,`provider`),model:V(t,`model`,`model`),client:V(t,`client`,`client`),availabilityStatus:V(t,`availabilityStatus`,`availability_status`),personalSpaceId:V(t,`personalSpaceId`,`personal_space_id`),displayName:V(t,`displayName`,`display_name`),executorKind:V(t,`executorKind`,`executor_kind`),capabilities:G(U(t,`capabilities`,`capabilities`)).filter(e=>typeof e==`string`),globalPriority:typeof U(t,`globalPriority`,`global_priority`)==`number`?U(t,`globalPriority`,`global_priority`):null,healthRequired:U(t,`healthRequired`,`health_required`)===!0,registrationStatus:V(t,`registrationStatus`,`registration_status`),permissionStatus:V(t,`permissionStatus`,`permission_status`),preflightStatus:V(t,`preflightStatus`,`preflight_status`),healthStatus:V(t,`healthStatus`,`health_status`),workspacePermission:typeof U(t,`workspacePermission`,`workspace_permission`)==`boolean`?U(t,`workspacePermission`,`workspace_permission`):null,revision:typeof t.revision==`number`?t.revision:void 0,permissionRevision:typeof U(t,`permissionRevision`,`permission_revision`)==`number`?U(t,`permissionRevision`,`permission_revision`):void 0,registeredAt:V(t,`registeredAt`,`registered_at`),updatedAt:V(t,`updatedAt`,`updated_at`),testSource:V(t,`testSource`,`test_source`),cleanupEligible:U(t,`cleanupEligible`,`cleanup_eligible`)===!0,advertisedModels:G(U(t,`advertisedModels`,`advertised_models`)).map(Hn).filter(e=>e!==null),availableModels:G(U(t,`availableModels`,`available_models`)).map(Hn).filter(e=>e!==null),actualUse:Object.keys(r).length?{count:typeof r.count==`number`?r.count:0,lastUsedAt:V(r,`lastUsedAt`,`last_used_at`)}:null}}).filter(e=>e!==null)}function Wn(e){let t=q(e),n=V(t,`ruleId`,`rule_id`);if(!n)return null;let r=V(t,`status`,`status`);return{ruleId:n,scope:V(t,`scope`,`scope`)??`global`,priority:typeof t.priority==`number`?t.priority:0,personalProjectId:V(t,`personalProjectId`,`personal_project_id`),taskId:V(t,`taskId`,`task_id`),workKind:V(t,`workKind`,`work_kind`),agentId:V(t,`agentId`,`agent_id`),enabled:t.enabled!==!1&&(!r||r===`active`),executorIds:G(U(t,`executorIds`,`executor_ids`)).filter(e=>typeof e==`string`),requiredCapabilities:G(U(t,`requiredCapabilities`,`required_capabilities`)).filter(e=>typeof e==`string`),modelStrategy:ae(U(t,`modelStrategy`,`model_strategy`)),reason:V(t,`reason`,`reason`),revision:typeof t.revision==`number`?t.revision:void 0,status:r??void 0,createdAt:V(t,`createdAt`,`created_at`),updatedAt:V(t,`updatedAt`,`updated_at`)}}function Gn(e){let t=q(e),n=Array.isArray(e)?e:t.learningEvidence??t.learning_evidence??t.items,r=(Array.isArray(n)?n:Object.values(q(n))).map((e,t)=>{let n=q(e),r=V(n,`personalProjectId`,`personal_project_id`),i=V(n,`workKind`,`work_kind`),a=V(n,`executorId`,`executor_id`)??V(n,`executor`,`executor`),o=ae(U(n,`modelStrategy`,`model_strategy`)),s=V(n,`modelStrategyKey`,`model_strategy_key`),c=s??[r,i,a,String(t)].filter(Boolean).join(`:`),l=G(U(n,`evidenceContributions`,`evidence_contributions`)).map(e=>{let t=q(e),n=V(t,`signal`,`signal`),r=V(t,`evidenceKind`,`evidence_kind`)??`evidence`,i=typeof U(t,`decayWeight`,`decay_weight`)==`number`?U(t,`decayWeight`,`decay_weight`):null;return{evidenceId:V(t,`evidenceId`,`evidence_id`)??void 0,kind:r,count:typeof t.value==`number`?t.value:void 0,summary:n?`${n}${i===null?``:` · ${i.toFixed(3)}`}`:null,occurredAt:V(t,`occurredAt`,`occurred_at`)}}),u=typeof U(n,`weightedSuccess`,`weighted_success`)==`number`?U(n,`weightedSuccess`,`weighted_success`):0,d=typeof U(n,`weightedFailure`,`weighted_failure`)==`number`?U(n,`weightedFailure`,`weighted_failure`):0,f=U(n,`halfLife`,`decay_half_life_days`);return[c,{learningKey:c,personalProjectId:r,workKind:i,executor:a,modelStrategy:o,modelStrategyKey:s,sampleCount:typeof U(n,`sampleCount`,`sample_count`)==`number`?U(n,`sampleCount`,`sample_count`):0,recentWeightedSamples:typeof U(n,`recentCount`,`recent_count`)==`number`?U(n,`recentCount`,`recent_count`):null,decayBasis:typeof f==`number`?`half-life ${f}d`:null,updatedAt:V(n,`asOf`,`as_of`)??V(n,`updatedAt`,`updated_at`),outcomes:{success:typeof U(n,`successCount`,`success_count`)==`number`?U(n,`successCount`,`success_count`):void 0,rework:typeof U(n,`reworkCount`,`rework_count`)==`number`?U(n,`reworkCount`,`rework_count`):void 0,failure:typeof U(n,`failureCount`,`failure_count`)==`number`?U(n,`failureCount`,`failure_count`):void 0,scoreCount:typeof U(n,`ratingCount`,`rating_count`)==`number`?U(n,`ratingCount`,`rating_count`):void 0},evidence:l,score:u-d,neutral:U(n,`neutralDueToInsufficientEvidence`,`neutral_due_to_insufficient_evidence`)===!0}]});return Object.fromEntries(r)}function Kn(e){let t=q(e);return G(Array.isArray(e)?e:t.tasks??t.items).map(pe).filter(Boolean)}function zo(e){let t=q(e),n=V(t,`recruitmentId`,`recruitment_id`);return n?{recruitmentId:n,personalSpaceId:V(t,`personalSpaceId`,`personal_space_id`)??Z.value,personalProjectId:V(t,`personalProjectId`,`personal_project_id`)??``,taskId:V(t,`taskId`,`task_id`)??``,coordinatorAgentId:V(t,`coordinatorAgentId`,`coordinator_agent_id`)??``,hrAgentId:V(t,`hrAgentId`,`hr_agent_id`),positionKind:V(t,`positionKind`,`position_kind`)??`durable`,workKind:V(t,`workKind`,`work_kind`)??``,requiredCapabilities:G(U(t,`requiredCapabilities`,`required_capabilities`)).filter(e=>typeof e==`string`),reasonCode:V(t,`reasonCode`,`reason_code`)??``,reason:V(t,`reason`,`reason`)??``,status:V(t,`status`,`status`)??`unknown`,confirmationMode:V(t,`confirmationMode`,`confirmation_mode`),proposedAgentId:V(t,`proposedAgentId`,`proposed_agent_id`)??``,revision:typeof t.revision==`number`?t.revision:void 0,recruitedAgentId:V(t,`recruitedAgentId`,`recruited_agent_id`),triggerSourceApplication:V(t,`triggerSourceApplication`,`trigger_source_application`),triggerSourceSessionId:V(t,`triggerSourceSessionId`,`trigger_source_session_id`),testSource:V(t,`testSource`,`test_source`),cleanupEligible:U(t,`cleanupEligible`,`cleanup_eligible`)===!0,createdAt:V(t,`createdAt`,`created_at`)??``,updatedAt:V(t,`updatedAt`,`updated_at`)??``,fulfilledAt:V(t,`fulfilledAt`,`fulfilled_at`)}:null}function Bo(e){let t=q(e);return G(Array.isArray(e)?e:t.recruitments??t.items).map(zo).filter(e=>!!e)}function Vo(e,t){return e.recruitedAgentId===t.agentId||e.proposedAgentId===t.agentId||e.recruitmentId===t.recruitmentId}function Ho(e){let t=q(e);return G(Array.isArray(e)?e:t.clients??t.executors??t.items).map(Bn).filter(Boolean)}function Uo(e){let t=q(e);return G(Array.isArray(e)?e:t.rules??t.items).map(Wn).filter(Boolean)}function Wo(e){let t=q(e);return Gn(t.learningEvidence??t.learning_evidence??e)}function Go(e){let t=new Map;return e.map(zn).forEach(e=>{let n=t.get(e.agentId);if(!n){t.set(e.agentId,e);return}let r=[...Bt(n),...Bt(e)],i=[...n.tasks??[],...e.tasks??[]];t.set(e.agentId,{...n,personalProjectId:n.personalProjectId??e.personalProjectId,profile:{...n.profile,occupationEmoji:n.profile.occupationEmoji??e.profile.occupationEmoji,capabilities:qo([...n.profile.capabilities,...e.profile.capabilities]),workKinds:qo([...n.profile.workKinds??[],...e.profile.workKinds??[]]),defaultModelStrategy:n.profile.defaultModelStrategy??e.profile.defaultModelStrategy,executorPolicy:n.profile.executorPolicy??e.profile.executorPolicy,allowedClients:qo([...n.profile.allowedClients??[],...e.profile.allowedClients??[]])},assignments:Ko(r,({assignmentId:e})=>e),recruitments:Ko([...n.recruitments??[],...e.recruitments??[]],({recruitmentId:e})=>e),tasks:Ko(i,({taskId:e})=>e),activity:n.activity??e.activity,clientEvidence:n.clientEvidence?.length?n.clientEvidence:e.clientEvidence,routingRules:n.routingRules?.length?n.routingRules:e.routingRules,learningEvidence:{...e.learningEvidence??{},...n.learningEvidence??{}},observedClients:qo([...n.observedClients??[],...e.observedClients??[]]),openTaskCount:Math.max(n.openTaskCount??0,e.openTaskCount??0)||void 0,currentTaskId:n.currentTaskId??e.currentTaskId,workStatus:n.workStatus??e.workStatus})}),[...t.values()]}function Ko(e,t){return[...new Map(e.map(e=>[t(e),e])).values()]}function qo(e){return[...new Set(e)]}return(n,o)=>(r(),D(`section`,{class:`view project-agents-view`,"aria-label":C(d)(`projectAgents.aria`)},[T(`header`,Yn,[T(`div`,null,[T(`h2`,null,_(C(d)(`projectAgents.title`)),1),!qe.value&&!Je.value?(r(),D(`p`,Xn,_(C(d)(`projectAgents.stats.total`,{count:E.value.length}))+` · `+_(C(d)(`projectAgents.stats.assignments`,{count:ct.value}))+` · `+_(C(d)(`projectAgents.stats.projects`,{count:lt.value})),1)):f(``,!0)]),T(`div`,Zn,[T(`button`,{class:`quiet-button`,type:`button`,disabled:!Z.value,onClick:Kt},_(C(d)(`projectAgents.add`)),9,Qn),T(`button`,{class:`primary-button`,type:`button`,disabled:!Z.value,onClick:o[0]||=e=>Jt()},_(C(d)(`employees.recruit`)),9,$n)])]),t(ye,{open:ve.value,"personal-space-id":Z.value,projects:Ge.value,"template-id":xe.value,"default-project-ids":B.value??[],onClose:o[1]||=e=>ve.value=!1,onRecruited:Ke},null,8,[`open`,`personal-space-id`,`projects`,`template-id`,`default-project-ids`]),!qe.value&&!Je.value?(r(),D(`div`,er,[T(`span`,null,_(C(d)(`projectAgents.stats.active`,{count:st.value})),1),T(`span`,null,_(C(d)(`projectAgents.stats.noOnlineClaim`)),1)])):f(``,!0),!qe.value&&!Je.value&&!Ge.value.length?(r(),O(ge,{key:1,"personal-space-id":Z.value},null,8,[`personal-space-id`])):f(``,!0),T(`div`,tr,[t(_e,{modelValue:et.value,"onUpdate:modelValue":o[2]||=e=>et.value=e,class:`project-agents-project-filter`,compact:``,projects:Ze.value,label:C(d)(`employees.filterLabel`),hint:C(d)(`employees.filterHint`),"empty-label":C(d)(`employees.filterEmpty`)},null,8,[`modelValue`,`projects`,`label`,`hint`,`empty-label`]),T(`label`,nr,[T(`span`,rr,_(C(d)(`projectAgents.searchLabel`)),1),c(T(`input`,{"onUpdate:modelValue":o[3]||=e=>ce.value=e,type:`search`,placeholder:C(d)(`projectAgents.searchPlaceholder`)},null,8,ir),[[m,ce.value]])]),T(`div`,{class:`project-agents-status-filter`,"aria-label":C(d)(`projectAgents.fields.status`)},[(r(!0),D(g,null,a(nt.value,e=>(r(),D(`button`,{key:e.value,type:`button`,"aria-pressed":W.value===e.value,onClick:t=>W.value=e.value},_(e.label),9,or))),128))],8,ar)]),tt.value?(r(),O(Ut,{key:tt.value,"personal-space-id":Z.value,"personal-project-id":tt.value,"project-name":zt(tt.value),agents:E.value,onSelect:o[4]||=e=>K.value=e},null,8,[`personal-space-id`,`personal-project-id`,`project-name`,`agents`])):f(``,!0),qe.value?(r(),O(A,{key:3,label:C(b).state?C(d)(`projectAgents.loading`):C(d)(`common.status.loadingConsole`)},null,8,[`label`])):Je.value?(r(),D(`div`,sr,[T(`p`,null,_(Je.value),1),T(`button`,{class:`quiet-button`,type:`button`,onClick:Ye},_(C(d)(`projectAgents.retry`)),1)])):E.value.length?rt.value.length?(r(),D(`div`,dr,[T(`div`,{class:`project-agent-list`,role:`list`,"aria-label":C(d)(`projectAgents.listLabel`)},[(r(!0),D(g,null,a(rt.value,e=>(r(),D(`div`,{key:e.agentId,class:`project-agent-row-shell`},[T(`button`,{type:`button`,class:S([`project-agent-row`,{selected:K.value===e.agentId}]),"aria-current":K.value===e.agentId?`true`:void 0,onClick:t=>K.value=e.agentId},[T(`span`,mr,[e.profile.occupationEmoji?(r(),D(`span`,{key:0,class:`project-agent-occupation-emoji`,role:`img`,"aria-label":`${C(d)(`projectAgents.fields.occupationEmoji`)}: ${e.profile.occupationEmoji}`},_(e.profile.occupationEmoji),9,hr)):f(``,!0),T(`strong`,null,_(e.profile.displayName||e.profile.name),1),T(`i`,gr,_(En(e.profile.agentType)),1),T(`i`,{class:S([`ui-badge`,`is-${e.profile.status}`])},_(C(d)(`projectAgents.status.${e.profile.status}`)),3)]),T(`span`,_r,[(r(!0),D(g,null,a(Ht(e).slice(0,3),e=>(r(),D(`b`,{key:e.id},_(e.name),1))),128)),Ht(e).length>3?(r(),D(`b`,vr,`+`+_(Ht(e).length-3),1)):f(``,!0),Ht(e).length?f(``,!0):(r(),D(`em`,yr,_(C(d)(`employees.noAssignedProjects`)),1))]),T(`span`,br,_(e.profile.responsibility||C(d)(`projectAgents.notReported`)),1),T(`span`,xr,[wn(e)?(r(),D(g,{key:0},[T(`i`,{class:S([`project-agent-work-dot`,{"is-live":wn(e).status===`running`}]),"aria-hidden":`true`},null,2),s(_(Tn(wn(e).status))+` · `+_(wn(e).title),1)],64)):e.workStatus===`blocked`||e.workStatus===`queued`?(r(),D(g,{key:1},[s(_(Tn(e.workStatus))+` · `+_(C(d)(`projectAgents.detail.stateReported`)),1)],64)):(r(),D(g,{key:2},[s(_(C(d)(`projectAgents.detail.noRun`)),1)],64))])],10,pr),t(z,{"agent-id":e.agentId},null,8,[`agent-id`])]))),128))],8,fr),Q.value?(r(),D(`aside`,{key:0,class:`project-agent-detail`,"aria-label":Q.value.profile.displayName||Q.value.profile.name},[T(`header`,null,[T(`div`,Cr,[T(`h3`,null,[Q.value.profile.occupationEmoji?(r(),D(`span`,{key:0,class:`project-agent-occupation-emoji`,role:`img`,"aria-label":`${C(d)(`projectAgents.fields.occupationEmoji`)}: ${Q.value.profile.occupationEmoji}`},_(Q.value.profile.occupationEmoji),9,wr)):f(``,!0),s(_(Q.value.profile.displayName||Q.value.profile.name)+` `,1),t(z,{"agent-id":Q.value.agentId},null,8,[`agent-id`])]),T(`p`,null,[s(_(En(Q.value.profile.agentType)),1),Q.value.isTestRole?(r(),D(`span`,Tr,[s(` · `+_(C(d)(`projectAgents.source.testRole`)),1),Q.value.profile.testSource?(r(),D(`span`,Er,` · `+_(Q.value.profile.testSource),1)):f(``,!0)])):f(``,!0)])]),T(`div`,Dr,[T(`button`,{class:`quiet-button`,type:`button`,disabled:Ee.value,onClick:o[5]||=e=>$()},_(C(d)(`projectAgents.detail.refresh`)),9,Or),T(`button`,{class:`quiet-button`,type:`button`,onClick:o[6]||=e=>Yt(Q.value)},_(C(d)(`projectAgents.edit`)),1),Q.value.profile.cleanupEligible?(r(),D(`button`,{key:0,class:`quiet-button`,type:`button`,disabled:Ee.value,onClick:o[7]||=e=>Lt(Q.value)},[Ae.value?(r(),O(A,{key:0,variant:`inline`,label:C(d)(`projectAgents.source.cleanupLoading`)},null,8,[`label`])):(r(),D(`span`,Ar,_(C(d)(`projectAgents.source.cleanup`)),1))],8,kr)):f(``,!0)])]),Y.value?(r(),D(`p`,jr,_(Y.value),1)):f(``,!0),it.value?(r(),D(`section`,Mr,[T(`div`,Nr,[T(`div`,null,[T(`h4`,Pr,_(at.value?.management?.mode===`all`?C(d)(`employees.scope.continuousAll`):C(d)(`employees.scope.label`)),1),T(`p`,null,_(C(d)(`employees.assignedCount`,{count:ot.value.length})),1)]),T(`button`,{class:`primary-button`,type:`button`,onClick:o[8]||=e=>Jt(it.value)},_(C(d)(`employees.manageProjects`)),1)]),ot.value.length?(r(),D(`div`,Fr,[(r(!0),D(g,null,a(ot.value,t=>(r(),O(C(N),{key:t.id,to:`/employees/${encodeURIComponent(it.value)}?project=${encodeURIComponent(t.id)}`},{default:e(()=>[T(`span`,null,_(t.name),1),o[12]||=T(`svg`,{viewBox:`0 0 20 20`,width:`16`,height:`16`,"aria-hidden":`true`},[T(`path`,{d:`M4 10h12m-5-5 5 5-5 5`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.5`,"stroke-linecap":`round`,"stroke-linejoin":`round`})],-1)]),_:2},1032,[`to`]))),128))])):(r(),D(`p`,Ir,_(C(d)(`employees.manageHint`)),1))])):f(``,!0),T(`section`,Lr,[T(`h4`,null,_(C(d)(`projectAgents.fields.responsibility`)),1),T(`p`,null,_(Q.value.profile.responsibility||C(d)(`projectAgents.notReported`)),1),Q.value.profile.capabilities.length?(r(),D(`div`,Rr,[(r(!0),D(g,null,a(Q.value.profile.capabilities,e=>(r(),D(`span`,{key:e},_(e),1))),128))])):f(``,!0)]),T(`div`,zr,[t(qt,i(xt(`tasks`),{label:St(`tasks`),onRetry:$}),{default:e(()=>[Oe.value[Q.value.agentId]?(r(),D(`p`,Br,_(C(d)(`agentProfiles.partial`)),1)):f(``,!0),T(`section`,Vr,[T(`div`,Hr,[T(`h4`,null,_(C(d)(`projectAgents.sections.tasks`)),1),T(`span`,null,_(Q.value.tasks?.length??0),1)]),Q.value.tasks?.length?(r(),D(`div`,Ur,[(r(!0),D(g,null,a(Q.value.tasks,e=>(r(),D(`article`,{id:`task-${e.taskId}`,key:e.taskId,class:S([`ui-card project-agent-task-card`,{"is-linked":e.taskId===C(w).query.task}])},[T(`header`,null,[T(`div`,null,[T(`strong`,null,_(e.title),1),T(`small`,null,_(zt(e.personalProjectId)),1)]),T(`i`,{class:S([`ui-badge`,`is-${e.status}`])},_(Tn(e.status)),3)]),e.resultSummary||e.failureReason?(r(),D(`p`,Gr,_(e.resultSummary||e.failureReason),1)):f(``,!0),T(`small`,null,_(C(d)(`projectAgents.fields.collaborators`))+` · `+_(e.participants.length),1),e.participants.length?(r(),D(`div`,Kr,[(r(!0),D(g,null,a(e.participants,t=>(r(),D(`span`,{key:`${e.taskId}:${t.agentId}`},_(E.value.find(e=>e.agentId===t.agentId)?.profile.displayName||E.value.find(e=>e.agentId===t.agentId)?.profile.name||t.agentId)+` · `+_(vn(t.role)),1))),128))])):f(``,!0),t(tn,{task:e,"project-name":zt(e.personalProjectId)},null,8,[`task`,`project-name`]),T(`details`,{class:`ui-disclosure project-agent-disclosure`,open:e.taskId===C(w).query.task,"data-task-details":``},[T(`summary`,null,_(C(d)(`projectAgents.taskDetails`)),1),T(`small`,null,_(e.taskId),1),e.executionSummary===void 0?f(``,!0):(r(),D(`section`,{key:0,class:`project-agent-execution-summary`,"aria-label":C(d)(`projectAgents.fields.executionSummary`)},[T(`div`,Yr,[T(`h5`,null,_(C(d)(`projectAgents.fields.executionSummary`)),1),T(`span`,null,_(e.executionSummary.length),1)]),e.executionSummary.length?(r(),D(`div`,{key:0,class:`project-agent-execution-summary-table-wrap`,role:`region`,tabindex:`0`,"aria-label":C(d)(`projectAgents.fields.executionSummary`)},[T(`table`,Zr,[T(`caption`,Qr,_(C(d)(`projectAgents.fields.executionSummary`)),1),T(`thead`,null,[T(`tr`,null,[T(`th`,$r,_(C(d)(`projectAgents.fields.worker`)),1),T(`th`,ei,_(C(d)(`projectAgents.fields.workSummary`)),1),T(`th`,ti,_(C(d)(`projectAgents.fields.toolsUsed`)),1),T(`th`,ni,_(C(d)(`projectAgents.fields.executionEnvironment`)),1),T(`th`,ri,_(C(d)(`projectAgents.fields.sourceSession`)),1),T(`th`,ii,_(C(d)(`projectAgents.fields.tokenUsage`)),1),T(`th`,ai,_(C(d)(`projectAgents.fields.terminalStatus`)),1)])]),T(`tbody`,null,[(r(!0),D(g,null,a(e.executionSummary,(t,n)=>(r(),D(`tr`,{key:e.taskId+`:execution:`+(t.workerId||t.agentId||n),class:`project-agent-execution-summary-row`},[T(`th`,oi,[T(`span`,si,[gn(t)?(r(),D(`span`,{key:0,class:`project-agent-occupation-emoji`,role:`img`,"aria-label":C(d)(`projectAgents.fields.occupationEmoji`)+`: `+gn(t)},_(gn(t)),9,ci)):f(``,!0),s(` `+_(hn(t)),1)]),t.agentId||t.workerId?(r(),D(`small`,li,_(t.workerId||t.agentId),1)):f(``,!0),T(`small`,null,_(vn(t.participantRole)),1)]),T(`td`,{"data-label":C(d)(`projectAgents.fields.workSummary`)},_(t.workSummary||C(d)(`projectAgents.notReported`)),9,ui),T(`td`,{"data-label":C(d)(`projectAgents.fields.toolsUsed`)},_(t.toolsUsed?t.toolsUsed.join(` · `)||C(d)(`projectAgents.noToolsUsed`):C(d)(`projectAgents.notReported`)),9,di),T(`td`,{"data-label":C(d)(`projectAgents.fields.executionEnvironment`)},[T(`strong`,null,_(t.executor||C(d)(`projectAgents.notReported`)),1),t.executorId&&t.executorId!==t.executor?(r(),D(`small`,pi,_(t.executorId),1)):f(``,!0),t.actualModelProvider||t.actualModel?(r(),D(`small`,mi,_([t.actualModelProvider,t.actualModel].filter(Boolean).join(` · `)),1)):f(``,!0)],8,fi),T(`td`,{"data-label":C(d)(`projectAgents.fields.sourceSession`)},[T(`span`,null,[t.workerRuntime?(r(),D(g,{key:0},[s(_(C(d)(`projectAgents.fields.workerSession`))+` · `,1)],64)):f(``,!0),s(_(Dn(t.workerRuntime?.application||t.sourceApplication)),1)]),xn(t)?(r(),D(`a`,{key:0,href:xn(t)||void 0,target:`_blank`,rel:`noreferrer`},_(Cn(t)||xn(t)),9,gi)):(r(),D(`small`,_i,_(Cn(t)||C(d)(`projectAgents.notReported`)),1)),t.workerRuntime?(r(),D(g,{key:2},[T(`small`,vi,_(C(d)(`projectAgents.fields.reporterSession`))+` · `+_(Dn(t.sourceApplication)),1),Sn(t.sourceSessionUrl)?(r(),D(`a`,{key:0,href:Sn(t.sourceSessionUrl)||void 0,target:`_blank`,rel:`noreferrer`},_(t.sourceSessionId||t.sourceSessionUrl),9,yi)):(r(),D(`small`,bi,_(t.sourceSessionId||C(d)(`projectAgents.notReported`)),1))],64)):f(``,!0)],8,hi),T(`td`,{"data-label":C(d)(`projectAgents.fields.tokenUsage`)},_(bn(t.tokenUsage)),9,xi),T(`td`,{"data-label":C(d)(`projectAgents.fields.terminalStatus`)},[t.status?(r(),D(`i`,{key:0,class:S(`is-`+t.status)},_(_n(t.status)),3)):(r(),D(`span`,Ci,_(C(d)(`projectAgents.notReported`)),1))],8,Si)]))),128))])])],8,Xr)):(r(),D(`p`,wi,_(C(d)(`projectAgents.detail.noExecutionSummary`)),1))],8,Jr)),C(ie)(e).length?(r(),D(`section`,{key:1,class:`project-agent-worker-event-evidence`,"aria-label":C(d)(`projectAgents.fields.workerEventEvidence`)},[T(`div`,Ei,[T(`h5`,null,_(C(d)(`projectAgents.fields.workerEventEvidence`)),1),T(`span`,null,_(C(ie)(e).length),1)]),T(`ul`,Di,[(r(!0),D(g,null,a(C(ie)(e),t=>(r(),D(`li`,{key:`${e.taskId}:worker-event:${t.eventId}`,class:`project-agent-worker-event-row`},[T(`header`,null,[T(`strong`,null,[pn(t)?(r(),D(`span`,{key:0,class:`project-agent-occupation-emoji`,role:`img`,"aria-label":`${C(d)(`projectAgents.fields.occupationEmoji`)}: ${pn(t)}`},_(pn(t)),9,Oi)):f(``,!0),s(_(fn(t)),1),t.agentId?(r(),D(`small`,ki,_(C(d)(`projectAgents.fields.agentId`))+` · `+_(t.agentId),1)):f(``,!0)]),T(`i`,{class:S(`is-${t.workerStatus||t.status}`)},_(mn(t)),3)]),T(`dl`,Ai,[T(`div`,null,[T(`dt`,null,_(C(d)(`projectAgents.fields.workSummary`)),1),T(`dd`,null,_(t.summary||C(d)(`projectAgents.notReported`)),1)]),T(`div`,null,[T(`dt`,null,_(C(d)(`projectAgents.fields.sourceApplication`)),1),T(`dd`,null,_(Dn(t.sourceApplication)),1)]),T(`div`,null,[T(`dt`,null,_(C(d)(`projectAgents.fields.sourceSession`)),1),T(`dd`,null,_(t.sourceSessionId||C(d)(`projectAgents.notReported`)),1)]),T(`div`,null,[T(`dt`,null,_(C(d)(`projectAgents.fields.tokenUsage`)),1),T(`dd`,null,_(bn(t.tokenUsage)),1)]),t.actualModelProvider||t.actualModel?(r(),D(`div`,ji,[T(`dt`,null,_(C(d)(`projectAgents.fields.actualModel`)),1),T(`dd`,null,[t.actualModelProvider?(r(),D(`span`,Mi,_(t.actualModelProvider),1)):f(``,!0),t.actualModelProvider&&t.actualModel?(r(),D(`span`,Ni,` · `)):f(``,!0),t.actualModel?(r(),D(`span`,Pi,_(t.actualModel),1)):f(``,!0)])])):f(``,!0),T(`div`,null,[T(`dt`,null,_(C(d)(`projectAgents.fields.reportedAt`)),1),T(`dd`,null,_(rn(t.createdAt)),1)])])]))),128))])],8,Ti)):f(``,!0),e.effectiveModelStrategy?(r(),D(`small`,Fi,_(C(d)(`projectAgents.fields.strategySource`))+` · `+_(e.modelStrategySource||C(d)(`projectAgents.notReported`))+` · `+_(on(e.effectiveModelStrategy))+` · `+_(sn(e.effectiveExecutorPolicy)),1)):f(``,!0),e.routingDecision?(r(),D(`div`,Ii,[T(`div`,Li,[T(`span`,null,_(C(d)(`projectAgents.fields.reportedStaffingDecision`)),1),T(`strong`,null,_(e.routingDecision.outcome||C(d)(`projectAgents.notReported`)),1)]),e.routingDecision.coordinatorAgentId||e.coordinatorAgentId?(r(),D(`small`,Ri,_(C(d)(`projectAgents.fields.coordinator`))+` · `+_(e.routingDecision.coordinatorAgentId||e.coordinatorAgentId),1)):f(``,!0),T(`small`,null,_(C(d)(`projectAgents.fields.matchBasis`))+` · `+_(e.routingDecision.matchBasis?.join(` · `)||C(d)(`projectAgents.notReported`))+` · `+_(e.routingDecision.reason||C(d)(`projectAgents.notReported`)),1),e.routingDecision.candidateAgentIds?.length?(r(),D(`small`,zi,_(C(d)(`projectAgents.fields.candidateAgents`))+` · `+_(e.routingDecision.candidateAgentIds.join(` · `)),1)):f(``,!0),e.routingDecision.complexity!==null&&e.routingDecision.complexity!==void 0?(r(),D(`small`,Bi,[s(_(C(d)(`projectAgents.fields.complexity`))+` · `+_(e.routingDecision.complexity),1),e.routingDecision.complexityBasis?.length?(r(),D(`span`,Vi,` · `+_(e.routingDecision.complexityBasis.join(` · `)),1)):f(``,!0)])):f(``,!0),C(me)(e.routingDecision.parallelPlan)?(r(),D(`small`,Hi,[s(_(C(d)(`projectAgents.fields.parallelPlan`))+` · `+_(e.routingDecision.parallelPlan?.reason||C(d)(`projectAgents.notReported`)),1),e.routingDecision.parallelPlan?.workstreamBoundaries?.length?(r(),D(`span`,Ui,` · `+_(e.routingDecision.parallelPlan.workstreamBoundaries.join(` · `)),1)):f(``,!0)])):f(``,!0),e.routingDecision.ruleId||e.routingDecision.fallback?(r(),D(`small`,Wi,_(e.routingDecision.ruleId||C(d)(`projectAgents.notReported`))+` · `+_(e.routingDecision.fallback||C(d)(`projectAgents.notReported`)),1)):f(``,!0)])):f(``,!0),T(`div`,Gi,[T(`span`,null,_(C(d)(`projectAgents.fields.actualExecution`)),1),dn(e)?(r(),D(`strong`,Ki,_(dn(e)?.executor||dn(e)?.provider||C(d)(`projectAgents.notReported`))+` / `+_(dn(e)?.model||C(d)(`projectAgents.notReported`))+` / `+_(Dn(dn(e)?.client)),1)):(r(),D(`span`,qi,_(C(d)(`projectAgents.detail.notReportedActualExecution`)),1)),dn(e)?.rule||dn(e)?.fallback?(r(),D(`small`,Ji,_(dn(e)?.rule||C(d)(`projectAgents.notReported`))+` · `+_(dn(e)?.fallback||C(d)(`projectAgents.notReported`)),1)):f(``,!0)]),e.runId?(r(),D(`small`,Yi,_(C(d)(`projectAgents.fields.run`))+` · `+_(e.runId),1)):(r(),D(`small`,Xi,_(C(d)(`projectAgents.detail.noRun`)),1))],8,qr)],10,Wr))),128))])):Oe.value[Q.value.agentId]?f(``,!0):(r(),D(`p`,Zi,_(C(d)(`projectAgents.detail.noTasks`)),1))])]),_:1},16,[`label`])]),T(`details`,Qi,[T(`summary`,null,_(C(d)(`projectAgents.sections.assignments`)),1),T(`div`,$i,[t(qt,i(xt(`assignments`),{label:St(`assignments`),onRetry:$}),{default:e(()=>[T(`section`,ea,[T(`div`,ta,[T(`h4`,null,_(C(d)(`projectAgents.sections.assignments`)),1),T(`div`,na,[T(`span`,null,_(Bt(Q.value).length),1),T(`button`,{class:`quiet-button`,type:`button`,onClick:o[9]||=e=>Zt(Q.value)},_(C(d)(`projectAgents.assignmentDialog.assign`)),1)])]),Bt(Q.value).length?(r(),D(`div`,ra,[(r(!0),D(g,null,a(Bt(Q.value),e=>(r(),D(`article`,{key:e.assignmentId,class:`ui-card project-agent-assignment-card`},[T(`header`,null,[T(`strong`,null,_(zt(e.personalProjectId)),1),T(`div`,ia,[T(`i`,{class:S([`ui-badge`,`is-${e.status}`])},_(C(d)(`projectAgents.assignmentStatus.${e.status}`)),3),e.status===`active`?(r(),D(`button`,{key:0,class:`quiet-button`,type:`button`,onClick:t=>Zt(Q.value,e,`end`)},_(C(d)(`projectAgents.assignmentDialog.end`)),9,aa)):f(``,!0),e.status===`active`?(r(),D(`button`,{key:1,class:`quiet-button`,type:`button`,onClick:t=>Zt(Q.value,e,`replace`)},_(C(d)(`projectAgents.assignmentDialog.replace`)),9,oa)):f(``,!0)])]),T(`p`,null,_(e.responsibility||C(d)(`projectAgents.notReported`)),1),e.scope?(r(),D(`small`,sa,_(C(d)(`projectAgents.fields.scope`))+` · `+_(e.scope),1)):f(``,!0),T(`small`,null,_(rn(e.assignedAt))+` → `+_(e.endedAt?rn(e.endedAt):C(d)(`projectAgents.assignmentStatus.${e.status}`)),1),e.workKinds?.length?(r(),D(`div`,ca,[(r(!0),D(g,null,a(e.workKinds,e=>(r(),D(`span`,{key:e},_(e),1))),128))])):f(``,!0),T(`div`,la,[T(`span`,null,_(C(d)(`projectAgents.fields.assignmentModel`)),1),T(`strong`,null,_(on(e.modelStrategyOverride))+` · `+_(sn(e.executorPolicyOverride)),1),cn(e.executorPolicyOverride)&&!ln(e.executorPolicyOverride).length?(r(),D(`small`,ua,_(C(d)(`projectAgents.strategy.lockedUnavailable`)),1)):f(``,!0)]),ln(e.executorPolicyOverride).length?(r(),D(`div`,da,[(r(!0),D(g,null,a(ln(e.executorPolicyOverride),e=>(r(),D(`span`,{key:e.executorId},_(e.label||e.executorId),1))),128))])):f(``,!0),e.reason?(r(),D(`small`,fa,_(C(d)(`projectAgents.fields.reason`))+` · `+_(e.reason),1)):f(``,!0)]))),128))])):(r(),D(`p`,pa,_(C(d)(`projectAgents.detail.noAssignments`)),1))])]),_:1},16,[`label`])])]),T(`details`,ma,[T(`summary`,null,_(C(d)(`projectAgents.sections.activity`)),1),T(`div`,ha,[t(qt,i(xt(`activity`),{label:St(`activity`),onRetry:$}),{default:e(()=>[T(`section`,ga,[T(`div`,_a,[T(`h4`,null,_(C(d)(`projectAgents.sections.activity`)),1),dt.value?(r(),D(`span`,va,_(dt.value.days.length),1)):f(``,!0)]),dt.value?.days.length?(r(),D(`div`,ya,[T(`div`,{class:`project-agent-heatmap`,role:`list`,"aria-label":C(d)(`projectAgents.activity.aria`)},[(r(!0),D(g,null,a(dt.value.days,e=>(r(),D(`button`,{key:e.date,type:`button`,role:`listitem`,class:S([`project-agent-heat-cell`,`intensity-${Fn(e,dt.value)}`,{selected:ke.value===e.date}]),"aria-label":`${an(e.date)} · ${e.total}`,"aria-pressed":ke.value===e.date,onClick:t=>In(e)},[T(`span`,Sa,_(an(e.date))+` · `+_(e.total),1)],10,xa))),128))],8,ba),ft.value?(r(),D(`article`,Ca,[T(`header`,null,[T(`strong`,null,_(an(ft.value.date)),1),T(`span`,null,_(ft.value.total),1)]),ft.value.tasks?.length?(r(),D(`ul`,Ta,[(r(!0),D(g,null,a(ft.value.tasks,e=>(r(),D(`li`,{key:e.taskId},[T(`strong`,null,_(e.title),1),T(`span`,null,_(Tn(e.status))+` · `+_(zt(e.personalProjectId)),1),T(`small`,null,_(e.summary||C(d)(`projectAgents.notReported`)),1)]))),128))])):(r(),D(`p`,wa,_(C(d)(`projectAgents.activity.noTasks`)),1))])):f(``,!0)])):(r(),D(`p`,Ea,_(C(d)(`projectAgents.activity.empty`)),1))])]),_:1},16,[`label`])])]),Q.value.memoryScope===`reviewed_agent`?(r(),O(re,{key:Q.value.agentId,"personal-space-id":Z.value,"agent-id":Q.value.agentId,projects:ot.value},null,8,[`personal-space-id`,`agent-id`,`projects`])):f(``,!0),Q.value.memoryScope===`reviewed_agent`?(r(),O(un,{key:3,"personal-space-id":Z.value,"agent-id":Q.value.agentId,projects:ot.value},null,8,[`personal-space-id`,`agent-id`,`projects`])):f(``,!0),T(`details`,Da,[T(`summary`,null,_(C(d)(`projectAgents.profileDetails`)),1),T(`dl`,Oa,[T(`div`,null,[T(`dt`,null,_(C(d)(`projectAgents.fields.assignments`)),1),T(`dd`,null,_(Vt(Q.value).length),1)]),T(`div`,null,[T(`dt`,null,_(C(d)(`projectAgents.fields.memoryScope`)),1),T(`dd`,null,_(Q.value.memoryScope??C(d)(`projectAgents.notReported`)),1)]),T(`div`,null,[T(`dt`,null,_(C(d)(`projectAgents.fields.status`)),1),T(`dd`,null,_(C(d)(`projectAgents.status.${Q.value.profile.status}`)),1)]),T(`div`,null,[T(`dt`,null,_(C(d)(`projectAgents.fields.recruitment`)),1),T(`dd`,null,[s(_(Dn(Q.value.recruitmentSourceApplication)),1),Q.value.recruitmentReason?(r(),D(`small`,ka,_(Q.value.recruitmentReason),1)):f(``,!0)])]),T(`div`,null,[T(`dt`,null,_(C(d)(`projectAgents.fields.updatedAt`)),1),T(`dd`,null,_(rn(Q.value.updatedAt)),1)])])]),T(`details`,{class:`ui-disclosure project-agent-disclosure`,open:mt.value.some(e=>e.status===`awaiting_confirmation`)},[T(`summary`,null,_(C(d)(`projectAgents.sections.recruitment`)),1),T(`div`,ja,[t(qt,i(xt(`recruitments`),{label:St(`recruitments`),onRetry:$}),{default:e(()=>[T(`section`,Ma,[T(`div`,Na,[T(`h4`,Pa,_(C(d)(`projectAgents.sections.recruitment`)),1),T(`span`,null,_(mt.value.length),1)]),mt.value.length?(r(),D(`div`,Fa,[(r(!0),D(g,null,a(mt.value,e=>(r(),D(`article`,{key:e.recruitmentId,class:`ui-card project-agent-recruitment-card`},[T(`header`,null,[T(`strong`,null,_(e.positionKind)+` · `+_(e.workKind||C(d)(`projectAgents.notReported`)),1),T(`div`,Ia,[T(`i`,La,_(e.status),1),e.status===`awaiting_confirmation`?(r(),D(`button`,{key:0,class:`quiet-button`,type:`button`,disabled:!!X.value,onClick:t=>Ot(e,`approve`)},[X.value===e.recruitmentId&&Ne.value===`approve`?(r(),O(A,{key:0,variant:`inline`,label:C(d)(`projectAgents.recruitment.approving`)},null,8,[`label`])):(r(),D(`span`,za,_(C(d)(`projectAgents.recruitment.approve`)),1))],8,Ra)):f(``,!0),e.status===`awaiting_confirmation`?(r(),D(`button`,{key:1,class:`quiet-button`,type:`button`,disabled:!!X.value,onClick:t=>Ot(e,`cancel`)},[X.value===e.recruitmentId&&Ne.value===`cancel`?(r(),O(A,{key:0,variant:`inline`,label:C(d)(`projectAgents.recruitment.cancelling`)},null,8,[`label`])):(r(),D(`span`,Va,_(C(d)(`projectAgents.recruitment.cancel`)),1))],8,Ba)):f(``,!0)])]),T(`dl`,Ha,[T(`div`,null,[T(`dt`,null,_(C(d)(`projectAgents.recruitment.hr`)),1),T(`dd`,null,_(e.hrAgentId||C(d)(`projectAgents.notReported`)),1)]),T(`div`,null,[T(`dt`,null,_(C(d)(`projectAgents.recruitment.trigger`)),1),T(`dd`,null,_(Dn(e.triggerSourceApplication)),1)]),T(`div`,null,[T(`dt`,null,_(C(d)(`projectAgents.recruitment.reason`)),1),T(`dd`,null,_(e.reason||e.reasonCode||C(d)(`projectAgents.notReported`)),1)]),T(`div`,null,[T(`dt`,null,_(C(d)(`projectAgents.recruitment.time`)),1),T(`dd`,null,_(rn(e.fulfilledAt||e.createdAt)),1)])]),T(`small`,null,_(C(d)(`projectAgents.recruitment.testSource`))+` · `+_(e.testSource||C(d)(`projectAgents.notReported`)),1)]))),128))])):(r(),D(`p`,Ua,_(C(d)(`projectAgents.recruitment.empty`)),1))])]),_:1},16,[`label`])])],8,Aa),(r(),D(`details`,{key:`advanced:${Q.value.agentId}`,class:`ui-disclosure project-agent-disclosure`,"data-agent-advanced":``},[T(`summary`,null,_(C(d)(`projectAgents.advanced`)),1),T(`div`,Wa,[t(qt,i(xt(`executors`),{label:St(`executors`),onRetry:$}),{default:e(()=>[T(`section`,Ga,[T(`div`,Ka,[T(`h4`,null,_(C(d)(`projectAgents.sections.strategy`)),1),T(`span`,null,_(on(Q.value.profile.defaultModelStrategy))+` · `+_(sn(Q.value.profile.executorPolicy)),1)]),T(`p`,qa,_(C(d)(`projectAgents.strategy.providerNeutral`)),1),ln(Q.value.profile.executorPolicy).length?(r(),D(`div`,Ja,[(r(!0),D(g,null,a(ln(Q.value.profile.executorPolicy),e=>(r(),D(`span`,{key:e.executorId},_(e.label||e.executorId),1))),128))])):cn(Q.value.profile.executorPolicy)?(r(),D(`p`,Ya,_(C(d)(`projectAgents.strategy.lockedUnavailable`)),1)):(r(),D(`p`,Xa,_(C(d)(`projectAgents.strategy.noAllowList`)),1)),T(`div`,Za,[T(`button`,{class:`quiet-button`,type:`button`,onClick:o[10]||=e=>At()},_(C(d)(`projectAgents.routing.addExecutor`)),1)]),Q.value.executorDirectory?.length?(r(),D(`div`,Qa,[(r(!0),D(g,null,a(Q.value.executorDirectory,e=>(r(),D(`div`,{key:e.executorId,class:`project-agent-executor-row`},[T(`strong`,null,_(e.displayName||e.label||e.executorId),1),T(`span`,null,_(e.provider||C(d)(`projectAgents.notReported`))+` / `+_(e.model||C(d)(`projectAgents.notReported`)),1),T(`span`,null,_(e.globalPriority??C(d)(`projectAgents.notReported`)),1),T(`small`,null,_(e.registrationStatus||C(d)(`projectAgents.notReported`))+` · `+_(e.permissionStatus||C(d)(`projectAgents.notReported`))+` · `+_(e.preflightStatus||C(d)(`projectAgents.strategy.availabilityUnreported`))+` · `+_(e.healthStatus||C(d)(`projectAgents.notReported`)),1),T(`button`,{class:`quiet-button`,type:`button`,onClick:t=>At(e)},_(C(d)(`projectAgents.routing.editExecutor`)),9,$a),e.permissionStatus===`authorized`?(r(),D(`button`,{key:1,class:`quiet-button`,type:`button`,disabled:!!Pe.value,onClick:t=>kt(e,`revoked`)},[Pe.value===e.executorId&&Fe.value===`revoke`?(r(),O(A,{key:0,variant:`inline`,label:C(d)(`projectAgents.routing.revoking`)},null,8,[`label`])):(r(),D(`span`,ro,_(C(d)(`projectAgents.routing.revoke`)),1))],8,no)):(r(),D(`button`,{key:0,class:`quiet-button`,type:`button`,disabled:!!Pe.value,onClick:t=>kt(e,`authorized`)},[Pe.value===e.executorId&&Fe.value===`authorize`?(r(),O(A,{key:0,variant:`inline`,label:C(d)(`projectAgents.routing.authorizing`)},null,8,[`label`])):(r(),D(`span`,to,_(C(d)(`projectAgents.routing.authorize`)),1))],8,eo))]))),128))])):f(``,!0)])]),_:1},16,[`label`])]),T(`div`,io,[t(qt,i(xt(`executors`),{label:St(`executors`),onRetry:$}),{default:e(()=>[T(`section`,ao,[T(`div`,oo,[T(`h4`,null,_(C(d)(`projectAgents.sections.clients`)),1),T(`span`,null,_(On(Q.value).length),1)]),On(Q.value).length?(r(),D(`div`,so,[(r(!0),D(g,null,a(On(Q.value),e=>(r(),D(`div`,{key:e,class:`project-agent-client-row`},[T(`strong`,null,_(Dn(e)),1),T(`span`,null,_(kn(Q.value,e)?.allowed||Q.value.profile.allowedClients?.includes(e)?C(d)(`projectAgents.clients.allowed`):C(d)(`projectAgents.clients.notAllowed`)),1),An(Q.value,e)?(r(),D(`span`,co,_(C(d)(`projectAgents.clients.observed`,{count:An(Q.value,e)})),1)):Q.value.observedClients?.includes(e)?(r(),D(`span`,lo,_(C(d)(`projectAgents.clients.observedAny`)),1)):(r(),D(`span`,uo,_(C(d)(`projectAgents.clients.unreported`)),1)),T(`small`,null,_(kn(Q.value,e)?.integrationStatus||C(d)(`projectAgents.clients.integrationUnreported`)),1)]))),128))])):(r(),D(`p`,fo,_(C(d)(`projectAgents.clients.empty`)),1))])]),_:1},16,[`label`])]),T(`div`,po,[t(qt,i(xt(`routingRules`),{label:St(`routingRules`),onRetry:$}),{default:e(()=>[T(`section`,mo,[T(`div`,ho,[T(`h4`,null,_(C(d)(`projectAgents.sections.routing`)),1),T(`div`,go,[T(`span`,null,_(Q.value.routingRules?.length??0),1),T(`button`,{class:`quiet-button`,type:`button`,onClick:o[11]||=e=>jt()},_(C(d)(`projectAgents.routing.addRule`)),1)])]),Q.value.routingRules?.length?(r(),D(`div`,_o,[(r(!0),D(g,null,a(Q.value.routingRules,e=>(r(),D(`div`,{key:e.ruleId,class:`project-agent-rule-row`},[T(`strong`,null,_(e.scope)+` · `+_(e.priority),1),T(`span`,null,_(e.workKind||e.reason||C(d)(`projectAgents.notReported`))+` · `+_(e.executorIds?.join(`, `)||C(d)(`projectAgents.notReported`)),1),e.enabled?(r(),D(`button`,{key:0,class:`quiet-button`,type:`button`,disabled:!!X.value,onClick:t=>It(e)},[X.value===`rule:${e.ruleId}`&&Ne.value===`disable`?(r(),O(A,{key:0,variant:`inline`,label:C(d)(`projectAgents.routing.disabling`)},null,8,[`label`])):(r(),D(`span`,yo,_(C(d)(`projectAgents.routing.disable`)),1))],8,vo)):f(``,!0)]))),128))])):(r(),D(`p`,bo,_(C(d)(`projectAgents.routing.empty`)),1)),T(`small`,xo,_(C(d)(`projectAgents.routing.priorityNote`)),1)])]),_:1},16,[`label`])]),T(`div`,So,[t(qt,i(xt(`learning`),{label:St(`learning`),onRetry:$}),{default:e(()=>[T(`section`,Co,[T(`div`,wo,[T(`h4`,null,_(C(d)(`projectAgents.sections.learning`)),1),T(`span`,null,_(pt.value.length),1)]),pt.value.length?(r(),D(`div`,To,[(r(!0),D(g,null,a(pt.value,([e,t])=>(r(),D(`article`,{key:e,class:`ui-card project-agent-learning-card`},[T(`header`,null,[T(`strong`,null,_(e),1),T(`i`,Eo,_(Mn(t)),1)]),t.personalProjectId||t.workKind||t.executor||t.modelStrategy?(r(),D(`small`,Do,_(zt(t.personalProjectId))+` · `+_(t.workKind||C(d)(`projectAgents.notReported`))+` · `+_(t.executor||C(d)(`projectAgents.notReported`))+` / `+_(t.modelStrategy?on(t.modelStrategy):C(d)(`projectAgents.notReported`)),1)):f(``,!0),T(`p`,null,_(C(d)(`projectAgents.learning.samples`,{count:t.sampleCount}))+` · `+_(C(d)(`projectAgents.learning.recent`,{count:Nn(t)})),1),T(`small`,null,_(t.decayBasis||C(d)(`projectAgents.learning.decayUnreported`))+` · `+_(rn(t.updatedAt)),1),t.outcomes?(r(),D(`div`,Oo,[(r(!0),D(g,null,a(t.outcomes,(e,t)=>c((r(),D(`span`,{key:t},_(t)+` · `+_(e??C(d)(`projectAgents.notReported`)),1)),[[h,e!==void 0]])),128)),t.score!==null&&t.score!==void 0?(r(),D(`span`,ko,_(C(d)(`projectAgents.learning.score`,{score:Pn(t)})),1)):f(``,!0)])):f(``,!0),t.evidence?.length?(r(),D(`ul`,Ao,[(r(!0),D(g,null,a(t.evidence,e=>(r(),D(`li`,{key:`${e.evidenceId}:${e.kind}:${e.occurredAt}`},[T(`span`,null,_(e.kind)+` · `+_(e.count??0)+` · `+_(e.summary||C(d)(`projectAgents.notReported`)),1),e.evidenceId?(r(),D(`button`,{key:0,class:`quiet-button`,type:`button`,disabled:!!je.value,onClick:n=>Dt(t,`ignore`,e.evidenceId)},[je.value===e.evidenceId&&Me.value===`ignore`?(r(),O(A,{key:0,variant:`inline`,label:C(d)(`projectAgents.learning.ignoring`)},null,8,[`label`])):(r(),D(`span`,Mo,_(C(d)(`projectAgents.learning.ignore`)),1))],8,jo)):f(``,!0)]))),128))])):f(``,!0),t.learningKey?(r(),D(`div`,No,[T(`button`,{class:`quiet-button`,type:`button`,disabled:!!je.value||!t.personalProjectId||!t.workKind||!t.executor,onClick:e=>Dt(t,`reset`)},[je.value===t.learningKey&&Me.value===`reset`?(r(),O(A,{key:0,variant:`inline`,label:C(d)(`projectAgents.learning.resetting`)},null,8,[`label`])):(r(),D(`span`,Fo,_(C(d)(`projectAgents.learning.reset`)),1))],8,Po)])):f(``,!0)]))),128))])):(r(),D(`p`,Io,_(C(d)(`projectAgents.learning.empty`)),1)),T(`small`,Lo,_(C(d)(`projectAgents.learning.note`)),1)])]),_:1},16,[`label`])])]))],8,Sr)):(r(),D(`div`,Ro,_(C(d)(`projectAgents.detail.choose`)),1))])):(r(),D(`div`,ur,[T(`strong`,null,_(C(d)(`projectAgents.noMatchTitle`)),1),T(`p`,null,_(C(d)(`projectAgents.noMatchCopy`)),1)])):(r(),D(`div`,cr,[T(`strong`,null,_(C(d)(`projectAgents.emptyTitle`)),1),T(`p`,null,_(C(d)(`projectAgents.emptyCopy`)),1),T(`button`,{class:`primary-button`,type:`button`,disabled:!Z.value,onClick:Kt},_(C(d)(`projectAgents.add`)),9,lr)])),t(qn,{open:he.value,agent:J.value,projects:Ge.value,"default-project-id":ut.value,"personal-space-id":Z.value,onClose:Xt,onSaved:nn},null,8,[`open`,`agent`,`projects`,`default-project-id`,`personal-space-id`]),t(Ue,{open:Ce.value,agent:J.value,assignment:Te.value,action:we.value,projects:Ge.value,"available-agents":E.value,"default-project-id":ut.value,onClose:Qt,onSaved:$t,onChanged:en},null,8,[`open`,`agent`,`assignment`,`action`,`projects`,`available-agents`,`default-project-id`]),t(vt,{open:Ie.value,mode:Le.value,"personal-space-id":Z.value,executor:Re.value,rule:ze.value,projects:Ge.value,"available-executors":Q.value?.executorDirectory??[],onClose:Mt,onSaved:Ft},null,8,[`open`,`mode`,`personal-space-id`,`executor`,`rule`,`projects`,`available-executors`])],8,Jn))}}),[[`__scopeId`,`data-v-3bae9e1f`]]);export{zo as default};
@@ -1 +0,0 @@
1
- import{A as e,L as t,M as n,P as r,R as i,S as a,V as o,X as s,_ as c,a as l,b as u,d,h as f,it as p,j as m,k as h,m as ee,nt as g,p as te,tt as _,v,w as y,x as b}from"./i18n-D2CJkEYK.js";import{t as x}from"./_plugin-vue_export-helper-BDNMzG2s.js";var ne={class:`project-scope-heading`},S=[`id`],C={key:0,class:`project-scope-count`,role:`status`},w=[`disabled`,`aria-expanded`,`aria-controls`,`aria-labelledby`],re={key:0,viewBox:`0 0 20 20`,width:`18`,height:`18`,"aria-hidden":`true`},ie=[`id`],ae={key:1,class:`project-scope-multiple`},oe=[`id`,`aria-labelledby`],se=[`placeholder`,`aria-label`,`disabled`],T={class:`project-scope-bulk`},E={class:`project-scope-option project-scope-all`},D=[`checked`,`indeterminate`,`disabled`],O=[`disabled`],k=[`disabled`],A={class:`project-scope-list`},j=[`value`,`checked`,`disabled`,`onChange`],M={key:0,class:`project-scope-project-id`},N={key:0,class:`project-scope-empty`},P={key:0,class:`project-scope-footer`},F={role:`status`},I={key:1,class:`project-scope-hint`},L={key:2,class:`project-scope-hint`},R=x(y({__name:`ProjectScopePicker`,props:{modelValue:{},projects:{},disabled:{type:Boolean},inline:{type:Boolean},label:{},hint:{},emptyLabel:{},compact:{type:Boolean},allLabel:{},showCount:{type:Boolean},resettable:{type:Boolean}},emits:[`update:modelValue`,`reset`],setup(y,{emit:x}){let R=y,z=x,B=s(null),V=s(null),H=s(null),U=s(!1),W=s(``),G=`employee-projects-${t().replace(/[^a-zA-Z0-9_-]/g,``)}`,K=c(()=>new Set(R.modelValue)),q=c(()=>R.projects.filter(e=>K.value.has(e.id)).length),J=c(()=>R.projects.length>0&&q.value===R.projects.length),ce=c(()=>R.label??l(`employees.scope.label`)),Y=c(()=>{let e=new Map;for(let t of R.projects)e.set(t.name,(e.get(t.name)??0)+1);return new Set([...e].filter(([,e])=>e>1).map(([e])=>e))}),le=c(()=>{let e=R.projects.find(e=>K.value.has(e.id));return e?`${e.name}${Y.value.has(e.name)?` · ${e.id}`:``}`:``}),ue=c(()=>R.showCount?l(`employees.scope.count`,{selected:q.value,total:R.projects.length}):J.value?R.allLabel??l(`employees.scope.allSummary`,{count:q.value}):q.value===1?le.value:q.value?l(`employees.scope.selected`,{count:q.value}):R.emptyLabel??l(`employees.unassigned`)),X=c(()=>{let e=W.value.trim().toLocaleLowerCase();return R.projects.filter(t=>`${t.name} ${t.id}`.toLocaleLowerCase().includes(e))});i(()=>R.disabled,e=>{e&&Z()}),m(()=>document.addEventListener(`pointerdown`,Q)),e(()=>document.removeEventListener(`pointerdown`,Q));async function de(){if(!R.disabled){if(U.value){Z();return}W.value=``,U.value=!0,await h(),H.value?.focus()}}function Z(e=!1){U.value=!1,e&&h(()=>V.value?.focus())}function Q(e){U.value&&!B.value?.contains(e.target)&&Z()}function fe(e){e.relatedTarget&&!B.value?.contains(e.relatedTarget)&&Z()}function pe(e){U.value&&e.key===`Escape`&&(e.preventDefault(),e.stopPropagation(),Z(!0))}function $(e){R.disabled||z(`update:modelValue`,e)}function me(){$(J.value?[]:R.projects.map(e=>e.id))}function he(){$(R.projects.filter(e=>!K.value.has(e.id)).map(e=>e.id))}function ge(e){let t=new Set(R.modelValue);t.has(e)?t.delete(e):t.add(e),$(R.projects.filter(e=>t.has(e.id)).map(e=>e.id))}return(e,t)=>(n(),b(`div`,{ref_key:`root`,ref:B,class:g([`project-scope-picker`,{"is-inline":y.inline,"is-compact":y.compact,"has-count":y.showCount}]),onFocusout:fe,onKeydown:pe},[v(`div`,ne,[v(`span`,{id:`${G}-label`,class:`project-scope-label`},p(ce.value),9,S),y.inline?(n(),b(`span`,C,p(_(l)(`employees.scope.count`,{selected:q.value,total:y.projects.length})),1)):u(``,!0)]),y.inline?u(``,!0):(n(),b(`button`,{key:0,ref_key:`trigger`,ref:V,type:`button`,class:`project-scope-trigger`,disabled:y.disabled,"aria-expanded":U.value,"aria-controls":`${G}-panel`,"aria-labelledby":`${G}-label ${G}-value`,onClick:de},[y.compact?(n(),b(`svg`,re,[...t[4]||=[v(`path`,{d:`M3 5h14M5.5 10h9M8 15h4`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.6`,"stroke-linecap":`round`},null,-1)]])):u(``,!0),v(`span`,{id:`${G}-value`,class:`project-scope-value`},p(ue.value),9,ie),y.compact&&!y.showCount?(n(),b(`small`,ae,p(_(l)(`employees.scope.multiple`)),1)):u(``,!0),t[5]||=v(`svg`,{viewBox:`0 0 20 20`,width:`18`,height:`18`,"aria-hidden":`true`},[v(`path`,{d:`m5 7.5 5 5 5-5`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.6`,"stroke-linecap":`round`,"stroke-linejoin":`round`})],-1)],8,w)),y.inline||U.value?(n(),b(`div`,{key:1,id:`${G}-panel`,class:`project-scope-panel`,role:`group`,"aria-labelledby":`${G}-label`},[o(v(`input`,{ref_key:`search`,ref:H,"onUpdate:modelValue":t[0]||=e=>W.value=e,type:`search`,class:`project-scope-search`,placeholder:_(l)(`employees.scope.search`),"aria-label":_(l)(`employees.scope.search`),disabled:y.disabled,onKeydown:t[1]||=te(ee(()=>{},[`prevent`]),[`enter`])},null,40,se),[[d,W.value]]),v(`div`,T,[v(`label`,E,[v(`input`,{type:`checkbox`,checked:J.value,indeterminate:q.value>0&&!J.value,disabled:y.disabled||!y.projects.length,onChange:me},null,40,D),v(`span`,null,[a(p(y.allLabel??_(l)(`employees.scope.all`))+` `,1),v(`small`,null,p(y.projects.length),1)])]),v(`button`,{type:`button`,disabled:y.disabled||!y.projects.length,onClick:he},p(_(l)(`employees.scope.invert`)),9,O),y.resettable?(n(),b(`button`,{key:0,class:`project-scope-reset`,type:`button`,disabled:y.disabled,onClick:t[2]||=e=>z(`reset`)},p(_(l)(`employees.scope.reset`)),9,k)):u(``,!0)]),v(`div`,A,[(n(!0),b(f,null,r(X.value,e=>(n(),b(`label`,{key:e.id,class:g([`project-scope-option`,{"is-selected":K.value.has(e.id)}])},[v(`input`,{type:`checkbox`,value:e.id,checked:K.value.has(e.id),disabled:y.disabled,onChange:t=>ge(e.id)},null,40,j),v(`span`,null,[a(p(e.name),1),Y.value.has(e.name)?(n(),b(`small`,M,p(e.id),1)):u(``,!0)])],2))),128)),X.value.length?u(``,!0):(n(),b(`p`,N,p(_(l)(y.projects.length?`employees.scope.noMatch`:`employees.scope.empty`)),1))]),y.inline?u(``,!0):(n(),b(`div`,P,[v(`span`,F,p(_(l)(`employees.scope.count`,{selected:q.value,total:y.projects.length})),1),v(`button`,{type:`button`,onClick:t[3]||=e=>Z(!0)},p(_(l)(`employees.scope.done`)),1)])),y.compact&&y.hint?(n(),b(`p`,I,p(y.hint),1)):u(``,!0)],8,oe)):u(``,!0),!y.compact&&y.hint!==``?(n(),b(`p`,L,p(y.hint??_(l)(`employees.scope.snapshotHint`)),1)):u(``,!0)],34))}}),[[`__scopeId`,`data-v-ba5341fd`]]);export{R as t};
@@ -1 +0,0 @@
1
- import{A as e,C as t,M as n,P as r,S as i,V as a,X as o,_ as s,a as c,b as l,d as ee,h as u,it as d,m as te,n as ne,nt as re,tt as f,v as p,w as ie,x as m,y as h}from"./i18n-D2CJkEYK.js";import{t as ae}from"./console-BtPqo79j.js";import{t as g}from"./GrowthLoading-KTjE2e50.js";import{h as oe}from"./useApi-CROJJdhE-BtFMXFjw.js";import{i as _,n as v,t as y}from"./client-B2cRl-7c.js";import{t as b}from"./useModalDialog-D8tiJfbc.js";import{t as se}from"./paths-CDREouhi.js";import{t as x}from"./SearchableSelect-f7EHbyDL.js";import{r as ce,t as S}from"./identity-B3zEw-1u.js";var le={class:`view`},ue={class:`space-heading public-space-heading`},de=[`aria-label`],fe={class:`project-grid`},pe={class:`project-card-heading`},me={class:`project-card-heading-actions`},he=[`onClick`],ge={class:`completion-badge`},_e={class:`project-purpose`},ve={class:`evidence-row`},ye={key:0,class:`muted`},be={class:`project-access`},xe={class:`muted`},Se={key:0,class:`project-release-meta`},Ce={class:`project-card-footer`},we=[`onClick`],Te=[`onClick`],Ee={key:0,class:`empty-state project-empty`},De={class:`project-section`},Oe={class:`section-toolbar compact-toolbar relation-section-toolbar`},ke=[`disabled`],Ae={key:0,class:`muted`},je={class:`compact-relation-preview`,"aria-live":`polite`},Me={key:0},Ne={key:1},Pe={class:`primary-action`,type:`submit`},Fe={key:0,class:`project-dialog-shell`},Ie={class:`project-dialog-header`},Le={id:`public-project-details-title`},Re={class:`project-latest-release`},ze={key:0},Be={key:1,class:`muted`},Ve={class:`project-detail-columns`},He={key:1,class:`muted`},Ue={key:0,class:`muted`},We={key:1,class:`project-latest-release`},Ge={class:`muted`},Ke={class:`project-dialog-actions`},qe={key:0,class:`project-dialog-shell`},Je={class:`project-dialog-header`},Ye={id:`public-project-deletion-title`},Xe=[`disabled`],Ze={class:`project-delete-confirmation`},Qe=[`disabled`],$e={key:0,class:`publish-dialog-error`,role:`alert`},et={class:`project-dialog-actions`},tt=[`disabled`],nt={key:1},rt=`fuli-workspace-v1`,C=ie({__name:`PublicProjectsPage`,setup(ie){let C=ae(),it=oe(),w=o(null),T=o([]),E=o([]),D=o(!1),O=o(!1),k=o(``),A=o(``),j=o(`RELATED_TO`),M=o(null),N=o(``),P=o(!1),F=o(``),I=0,L=null,R=s(()=>C.state?.projects??[]),at=s(()=>C.state?.providers?.workspaces??[]),z=s(()=>new Set((C.state?.subscriptions??[]).map(({provider_url:e,project_id:t})=>`${e}::${t}`))),B=s(()=>R.value.filter(({role:e,isOwner:t})=>e===`maintainer`||t)),V=s(()=>B.value.filter(({providerUrl:e})=>Y(e))),ot=s(()=>V.value.map(e=>({value:e.id,label:e.name,meta:`#${S(e.id,26)}`,search:ce(e.id)}))),st=s(()=>{let e=R.value.find(({id:e})=>e===k.value);return!e||!Y(e.providerUrl)?[]:R.value.filter(({id:t,providerUrl:n})=>t!==e.id&&n===e.providerUrl&&Y(n))}),ct=s(()=>st.value.map(e=>({value:e.id,label:e.name,meta:`#${S(e.id,26)}`,search:ce(e.id)}))),lt=s(()=>R.value.find(({id:e})=>e===k.value)??null),ut=s(()=>R.value.find(({id:e})=>e===A.value)??null),dt=s(()=>U.value.find(({value:e})=>e===j.value)?.label??c(`pages.publicProjects.relationLabels.relatedTo`)),ft=s(()=>w.value?Y(w.value.providerUrl):!1),H=s(()=>!!(M.value&&N.value===M.value.name)),U=s(()=>[{value:`PART_OF`,label:c(`pages.publicProjects.relationLabels.partOf`)},{value:`USES_KNOWLEDGE_FROM`,label:c(`pages.publicProjects.relationLabels.usesKnowledgeFrom`)},{value:`DEPENDS_ON`,label:c(`pages.publicProjects.relationLabels.dependsOn`)},{value:`PROVIDES_TO`,label:c(`pages.publicProjects.relationLabels.providesTo`)},{value:`SHARES_CAPABILITY_WITH`,label:c(`pages.publicProjects.relationLabels.sharesCapabilityWith`)},{value:`SUCCESSOR_OF`,label:c(`pages.publicProjects.relationLabels.successorOf`)},{value:`RELATED_TO`,label:c(`pages.publicProjects.relationLabels.relatedTo`)}]),{dialogRef:pt,initialFocusRef:mt,onCancel:W,onKeydown:G}=b(()=>!!w.value,Q),{dialogRef:ht,initialFocusRef:gt,onCancel:K,onKeydown:q}=b(()=>!!M.value,xt);function J(e){return`${e.providerUrl}::${e.id}`}function Y(e){return at.value.find(({providerUrl:t})=>t===e)?.protocol!==rt}function X(e){return e.profile?.purpose||e.profile?.scope||e.profile?.technical_summary||e.description||c(`pages.publicProjects.fallbackDescription`)}async function _t(e){try{if(z.value.has(J(e))){let t=new URLSearchParams({personalSpaceId:C.activePersonalSpace?.id??``,providerUrl:e.providerUrl});await y(`/api/subscriptions/${encodeURIComponent(e.id)}?${t}`),C.notify(c(`pages.publicProjects.unsubscribed`,{name:e.name}))}else await _(`/api/subscriptions`,{personalSpaceId:C.activePersonalSpace?.id,projectId:e.id,providerUrl:e.providerUrl,projectName:e.name}),C.notify(c(`pages.publicProjects.subscribed`,{name:e.name}));await C.refresh()}catch(e){C.reportError(e)}}async function vt(e){if(Q(),w.value=e,T.value=[],E.value=[],!Y(e.providerUrl))return;let t=++I,n=new AbortController;L=n,D.value=!0;try{let r=new URLSearchParams({providerUrl:e.providerUrl}),[i,a]=await Promise.all([v(`/api/projects/${encodeURIComponent(e.id)}/releases?${r}`,{signal:n.signal}),v(`/api/project-relations?${new URLSearchParams({projectId:e.id,providerUrl:e.providerUrl})}`,{signal:n.signal})]);if(t!==I||n.signal.aborted)return;T.value=i.releases??[],E.value=a.relations??[]}catch(e){if(t!==I||n.signal.aborted)return;C.reportError(e)}finally{if(t!==I||n.signal.aborted)return;D.value=!1,L===n&&(L=null)}}async function yt(e){Q(),await it.push(se(`public`,e.id,`graph`))}function Z(){I+=1,L?.abort(),L=null,D.value=!1}function Q(){Z(),w.value=null,T.value=[],E.value=[]}function bt(e){Y(e.providerUrl)&&(M.value=e,N.value=``,F.value=``)}function xt(){P.value||(M.value=null,N.value=``,F.value=``)}async function St(){let e=M.value;if(!e||!H.value){F.value=c(`pages.publicProjects.deleteNameRequired`);return}if(!Y(e.providerUrl)){F.value=c(`pages.publicProjects.providerOperationsUnavailable`);return}P.value=!0,F.value=``;try{let t=new URLSearchParams({providerUrl:e.providerUrl});await y(`/api/projects/${encodeURIComponent(e.id)}?${t}`),w.value=null,M.value=null,C.notify(c(`pages.publicProjects.deleted`,{name:e.name})),await C.refresh()}catch(e){F.value=e instanceof Error?e.message:c(`pages.publicProjects.deleteFailed`),C.reportError(e)}finally{P.value=!1}}async function Ct(){let e=R.value.find(({id:e})=>e===k.value),t=R.value.find(({id:e})=>e===A.value);if(!e||!t){C.reportError(Error(c(`pages.publicProjects.chooseRelationProjects`)));return}if(!Y(e.providerUrl)){C.reportError(Error(c(`pages.publicProjects.providerOperationsUnavailable`)));return}try{await _(`/api/project-relations`,{sourceProjectId:e.id,targetProjectId:t.id,providerUrl:e.providerUrl,relationType:j.value,note:null}),O.value=!1,k.value=``,A.value=``,C.notify(j.value===`PART_OF`?c(`pages.publicProjects.parentRelationSubmitted`):c(`pages.publicProjects.relationCreated`))}catch(e){C.reportError(e)}}e(Z);function $(e){return e?new Date(e).toLocaleString(ne()):c(`pages.publicProjects.timeNotRecorded`)}return(e,o)=>(n(),m(`section`,le,[p(`div`,ue,[o[11]||=p(`span`,{class:`space-heading-icon`,"aria-hidden":`true`},[p(`span`,{class:`nav-icon nav-icon-public-project`})],-1),p(`div`,null,[p(`p`,null,d(f(c)(`pages.publicProjects.intro`)),1)]),p(`div`,{class:`public-space-stats`,"aria-label":f(c)(`pages.publicProjects.overviewAria`)},[p(`span`,null,[p(`strong`,null,d(R.value.length),1),i(d(f(c)(`pages.publicProjects.discoverable`)),1)]),p(`span`,null,[p(`strong`,null,d(f(C).state?.subscriptions.length??0),1),i(d(f(c)(`pages.publicProjects.subscribedCount`)),1)])],8,de)]),p(`div`,fe,[(n(!0),m(u,null,r(R.value,e=>(n(),m(`article`,{key:J(e),class:`project-card`},[p(`div`,pe,[p(`div`,null,[p(`h4`,null,d(e.name),1)]),p(`div`,me,[e.can_manage&&Y(e.providerUrl)?(n(),m(`button`,{key:0,class:`management-action`,type:`button`,onClick:t=>bt(e)},d(f(c)(`pages.publicProjects.manage`)),9,he)):l(``,!0),p(`div`,ge,[p(`strong`,null,d(e.profile?.assessment?.score??`—`),1),p(`span`,null,d(e.profile?.assessment?f(c)(`pages.publicProjects.coverage`):f(c)(`pages.publicProjects.noSummary`)),1)])])]),p(`p`,_e,d(X(e)),1),p(`div`,ve,[(n(!0),m(u,null,r(e.profile?.sources??[],(e,t)=>(n(),m(`span`,{key:t,class:`status-chip`},d(e.kind??f(c)(`pages.publicProjects.material`)),1))),128)),e.profile?.sources?.length?l(``,!0):(n(),m(`span`,ye,d(f(c)(`pages.publicProjects.noSources`)),1))]),p(`div`,be,[p(`span`,{class:re([`status-chip`,{owner:e.isOwner}])},d(e.isOwner?`Owner`:e.role??`Reader`),3),p(`span`,xe,d(e.isOwner?f(c)(`pages.publicProjects.publishedByYou`):f(c)(`pages.publicProjects.publiclyDiscoverable`)),1),e.current_release&&Y(e.providerUrl)?(n(),m(`span`,Se,[p(`strong`,null,d(e.current_release.version),1),p(`span`,null,d($(e.current_release.published_at)),1)])):l(``,!0)]),p(`footer`,Ce,[p(`button`,{class:`secondary-action`,type:`button`,onClick:t=>_t(e)},d(z.value.has(J(e))?f(c)(`pages.publicProjects.unsubscribe`):f(c)(`pages.publicProjects.subscribe`)),9,we),p(`button`,{class:`primary-action`,type:`button`,onClick:t=>vt(e)},d(f(c)(`common.actions.viewDetails`)),9,Te)])]))),128)),R.value.length?l(``,!0):(n(),m(`div`,Ee,d(f(c)(`pages.publicProjects.noProjects`)),1))]),p(`section`,De,[p(`div`,Oe,[p(`div`,null,[p(`h3`,null,d(f(c)(`pages.publicProjects.relationsTitle`)),1)]),p(`button`,{class:`primary-action`,type:`button`,disabled:!V.value.length,onClick:o[0]||=e=>O.value=!O.value},d(f(c)(`pages.publicProjects.addRelation`)),9,ke)]),B.value.length&&!V.value.length?(n(),m(`p`,Ae,d(f(c)(`pages.publicProjects.providerOperationsUnavailable`)),1)):l(``,!0),O.value?(n(),m(`form`,{key:1,class:`relation-composer relation-composer-form compact-relation-form`,onSubmit:te(Ct,[`prevent`])},[p(`label`,null,[i(d(f(c)(`pages.publicProjects.sourceProject`))+` `,1),t(x,{modelValue:k.value,"onUpdate:modelValue":o[1]||=e=>k.value=e,options:ot.value,label:f(c)(`pages.publicProjects.sourceProjectLabel`),placeholder:f(c)(`pages.publicProjects.chooseProject`),searchable:``,required:``,onChange:o[2]||=e=>A.value=``},null,8,[`modelValue`,`options`,`label`,`placeholder`])]),p(`label`,null,[i(d(f(c)(`pages.publicProjects.relation`))+` `,1),t(x,{modelValue:j.value,"onUpdate:modelValue":o[3]||=e=>j.value=e,options:U.value,label:f(c)(`pages.publicProjects.relationTypeLabel`)},null,8,[`modelValue`,`options`,`label`])]),p(`label`,null,[i(d(f(c)(`pages.publicProjects.targetProject`))+` `,1),t(x,{modelValue:A.value,"onUpdate:modelValue":o[4]||=e=>A.value=e,options:ct.value,label:f(c)(`pages.publicProjects.targetProjectLabel`),placeholder:f(c)(`pages.publicProjects.chooseProject`),searchable:``,required:``},null,8,[`modelValue`,`options`,`label`,`placeholder`])]),p(`div`,je,[p(`span`,null,d(f(c)(`pages.publicProjects.preview`)),1),p(`strong`,null,d(lt.value?.name||f(c)(`pages.publicProjects.sourceProject`))+` `+d(dt.value)+` `+d(ut.value?.name||f(c)(`pages.publicProjects.targetProject`)),1),j.value===`PART_OF`?(n(),m(`p`,Me,d(f(c)(`pages.publicProjects.parentConfirmation`)),1)):(n(),m(`p`,Ne,d(f(c)(`pages.publicProjects.relationBoundary`)),1))]),p(`button`,Pe,d(f(c)(`pages.publicProjects.addRelation`)),1)],32)):l(``,!0)]),p(`dialog`,{ref_key:`detailsDialogRef`,ref:pt,class:`project-dialog vue-dialog`,"aria-modal":`true`,"aria-labelledby":`public-project-details-title`,onCancel:o[6]||=(...e)=>f(W)&&f(W)(...e),onKeydown:o[7]||=(...e)=>f(G)&&f(G)(...e)},[w.value?(n(),m(`div`,Fe,[p(`header`,Ie,[p(`div`,null,[p(`h3`,Le,d(w.value.name),1),p(`p`,null,d(X(w.value)),1)]),p(`button`,{ref_key:`detailsInitialFocusRef`,ref:mt,class:`secondary-action`,type:`button`,onClick:Q},d(f(c)(`common.actions.close`)),513)]),ft.value?(n(),m(u,{key:0},[p(`section`,Re,[p(`h4`,null,d(f(c)(`pages.publicProjects.latestRelease`)),1),w.value.current_release?(n(),m(`p`,ze,[p(`strong`,null,d(w.value.current_release.version),1),i(` · `+d($(w.value.current_release.published_at)),1)])):(n(),m(`p`,Be,d(f(c)(`pages.publicProjects.noRelease`)),1))]),p(`div`,Ve,[p(`section`,null,[p(`h4`,null,d(f(c)(`pages.publicProjects.releaseHistory`)),1),D.value?(n(),h(g,{key:0,variant:`compact`,label:f(c)(`pages.publicProjects.loading`)},null,8,[`label`])):l(``,!0),(n(!0),m(u,null,r(T.value,e=>(n(),m(`article`,{key:e.version,class:`project-release-item`},[p(`strong`,null,d(e.version),1),p(`p`,null,d(e.update_summary),1),p(`small`,null,d($(e.published_at)),1)]))),128)),!D.value&&!T.value.length?(n(),m(`p`,He,d(f(c)(`pages.publicProjects.noReleaseHistory`)),1)):l(``,!0)]),p(`section`,null,[p(`h4`,null,d(f(c)(`pages.publicProjects.relationsTitle`)),1),(n(!0),m(u,null,r(E.value,e=>(n(),m(`article`,{key:e.id,class:`project-detail-relation`},[p(`strong`,null,d(e.relation_type),1),p(`small`,null,d(e.status??`active`),1)]))),128)),!D.value&&!E.value.length?(n(),m(`p`,Ue,d(f(c)(`pages.publicProjects.noRelations`)),1)):l(``,!0)])])],64)):(n(),m(`section`,We,[p(`p`,Ge,d(f(c)(`pages.publicProjects.providerOperationsUnavailableTitle`)),1)])),p(`footer`,Ke,[p(`span`,null,d(f(c)(`pages.publicProjects.contentManagementSeparated`)),1),p(`button`,{class:`primary-action`,type:`button`,onClick:o[5]||=e=>yt(w.value)},d(f(c)(`pages.publicProjects.viewGraph`)),1)])])):l(``,!0)],544),p(`dialog`,{ref_key:`deletionDialogRef`,ref:ht,class:`project-dialog vue-dialog`,"aria-modal":`true`,"aria-labelledby":`public-project-deletion-title`,onCancel:o[9]||=(...e)=>f(K)&&f(K)(...e),onKeydown:o[10]||=(...e)=>f(q)&&f(q)(...e)},[M.value?(n(),m(`div`,qe,[p(`header`,Je,[p(`div`,null,[p(`h3`,Ye,d(f(c)(`pages.publicProjects.deleteTitle`)),1),p(`p`,null,d(f(c)(`pages.publicProjects.deleteCopy`)),1)]),p(`button`,{class:`secondary-action`,type:`button`,disabled:P.value,onClick:xt},d(f(c)(`common.actions.close`)),9,Xe)]),p(`label`,Ze,[i(d(f(c)(`pages.publicProjects.enterFullName`))+` `,1),p(`strong`,null,d(M.value.name),1),a(p(`input`,{ref_key:`deletionInitialFocusRef`,ref:gt,"onUpdate:modelValue":o[8]||=e=>N.value=e,autocomplete:`off`,disabled:P.value},null,8,Qe),[[ee,N.value]])]),F.value?(n(),m(`p`,$e,d(F.value),1)):l(``,!0),p(`footer`,et,[p(`span`,null,d(f(c)(`pages.publicProjects.deleteWarning`)),1),p(`button`,{class:`reject`,type:`button`,disabled:!H.value||P.value,onClick:St},[P.value?(n(),h(g,{key:0,variant:`inline`,label:f(c)(`pages.publicProjects.deleting`)},null,8,[`label`])):(n(),m(`span`,nt,d(f(c)(`pages.publicProjects.deletePermanently`)),1))],8,tt)])])):l(``,!0)],544)]))}});export{C as default};
@@ -1 +0,0 @@
1
- import{A as e,C as t,M as n,P as r,R as i,X as a,_ as o,a as s,b as c,h as l,it as u,tt as d,v as f,w as ee,x as p,y as m}from"./i18n-D2CJkEYK.js";import{t as te}from"./console-BtPqo79j.js";import{t as h}from"./GrowthLoading-KTjE2e50.js";import{i as g,n as _}from"./client-B2cRl-7c.js";import{t as ne}from"./SearchableSelect-f7EHbyDL.js";import{r as v,t as re}from"./identity-B3zEw-1u.js";import{u as y}from"./model-S7ehAjky.js";var ie={class:`view`},ae={class:`section-title`},oe={class:`review-list`,"data-review-queue":`personal`},se={key:1,class:`review-error`,role:`alert`},ce=[`disabled`],le={class:`review-stage`},ue={class:`review-meta`},de={class:`review-actions stacked-actions`},b=[`disabled`,`onClick`],fe=[`disabled`,`onClick`],pe=[`disabled`,`onClick`],me={key:2,class:`empty-state`},he={key:0,class:`project-section`},ge={class:`section-toolbar`},_e={class:`review-list`,"data-review-queue":`shared`},ve={key:1,class:`review-error`,role:`alert`},ye=[`disabled`],be={class:`review-stage`},xe={class:`review-meta`},Se={class:`review-actions`},Ce=[`disabled`,`onClick`],we=[`disabled`,`onClick`],Te={key:2,class:`empty-state`},x=ee({__name:`ReviewPage`,setup(ee){let x=te(),S=a([]),C=a([]),w=a(``),T=a(!1),E=a(``),D=a(!1),O=a(``),k=a(new Set),A=a(new Set),j=0,M=null,N=0,P=null,F=o(()=>(x.state?.projects??[]).filter(e=>e.role===`maintainer`&&Oe(e))),Ee=o(()=>F.value.map(e=>({value:e.id,label:e.name,meta:`#`+re(e.id,26),search:v(e.id)}))),I=o(()=>F.value.find(({id:e})=>e===w.value)??null),De=o(()=>{let e=I.value;return e?e.id+`\0`+e.providerUrl:``});function Oe(e){return L(x.state,e)}function L(e,t){if(e?.capabilities?.reviewProposals!==!0)return!1;let n=e.providers?.workspaces?.find(({providerUrl:e})=>e===t.providerUrl);if(!n||n.status!==`ready`)return!1;let r=n.capabilities;return!!(r&&typeof r==`object`&&r.reviewProposals===!0)}function R(e){return e?e.personalSpaces.find(({id:t})=>t===e.activePersonalSpaceId)?.id??e.personalSpaces[0]?.id??``:``}function z(e,t){let n=(e?.projects??[]).find(n=>n.id===t&&n.role===`maintainer`&&L(e,n));return n?n.id+`\0`+n.providerUrl:``}function B(e){return e instanceof Error&&e.message?e.message:s(`common.errors.loadFailed`)}function V(e){return!!(e&&typeof e==`object`&&`name`in e&&e.name===`AbortError`)}function H(e,t,n){let r=new Set(e.value);n?r.add(t):r.delete(t),e.value=r}function U(){j+=1,M?.abort(),M=null,S.value=[],E.value=``,T.value=!1}function W(){N+=1,P?.abort(),P=null,C.value=[],O.value=``,D.value=!1}function G(e,t){return t===j&&x.activePersonalSpace?.id===e}function K(e,t){let n=I.value;return t===N&&n?.id===e.id&&n.providerUrl===e.providerUrl}function q(e,t,n){return G(n,t)&&S.value.some(({id:t})=>t===e.id)}function J(e,t,n){return K(t,n)&&C.value.some(({id:t})=>t===e.id)}function Y(e,t){return e+`\0`+t}async function X(e=x.activePersonalSpace?.id){M?.abort();let t=++j,n=new AbortController;if(M=n,T.value=!0,E.value=``,!e){T.value=!1,M===n&&(M=null);return}try{let r=await _(`/api/personal-review?`+new URLSearchParams({personalSpaceId:e,status:`pending`}),{signal:n.signal});if(!G(e,t)||n.signal.aborted)return;S.value=r.drafts??[]}catch(r){if(!G(e,t)||n.signal.aborted||V(r))return;E.value=B(r)}finally{t===j&&M===n&&(T.value=!1,M=null)}}async function Z(){let e=I.value;if(!e)return;P?.abort();let t=++N,n=new AbortController;P=n,D.value=!0,O.value=``;try{let r=await _(`/api/review?`+new URLSearchParams({projectId:e.id,providerUrl:e.providerUrl,status:`pending`}),{signal:n.signal});if(!K(e,t)||n.signal.aborted)return;C.value=r.proposals??[]}catch(r){if(!K(e,t)||n.signal.aborted||V(r))return;O.value=B(r)}finally{t===N&&P===n&&(D.value=!1,P=null)}}async function Q(e,t){let n=x.activePersonalSpace?.id,r=j;if(!(!n||T.value||E.value||!q(e,r,n))&&!k.value.has(e.id)){H(k,e.id,!0);try{if(T.value||E.value||!q(e,r,n)||(await g(`/api/personal-review/`+encodeURIComponent(e.id)+`/decision`,{decision:t}),!G(n,r)))return;await Promise.all([X(n),x.refresh()])}catch(e){G(n,r)&&!V(e)&&(E.value=B(e))}finally{H(k,e.id,!1)}}}async function $(e,t){let n=I.value,r=N;if(!n||D.value||O.value||!J(e,n,r))return;let i=Y(n.id,e.id);if(!A.value.has(i)){H(A,i,!0);try{if(D.value||O.value||!J(e,n,r)||(await g(`/api/review/`+encodeURIComponent(e.id)+`/decision`,{projectId:n.id,providerUrl:n.providerUrl,decision:t,note:null}),!K(n,r)))return;await Z()}catch(e){K(n,r)&&!V(e)&&(O.value=B(e))}finally{H(A,i,!1)}}}return i(()=>x.state,(e,t)=>{if(!e||!t)return;let n=R(t),r=R(e);r&&r===n&&X(r);let i=w.value,a=z(t,i),o=z(e,i);o&&o===a&&Z()},{flush:`sync`}),i(()=>x.activePersonalSpace?.id??``,e=>{U(),e&&X(e)},{immediate:!0,flush:`sync`}),i(F,e=>{e.some(({id:e})=>e===w.value)||(w.value=e[0]?.id??``)},{immediate:!0,flush:`sync`}),i(De,()=>{W(),I.value&&Z()},{immediate:!0,flush:`sync`}),e(()=>{U(),W()}),(e,i)=>(n(),p(`section`,ie,[f(`div`,ae,[f(`h3`,null,u(d(s)(`pages.review.personalTitle`)),1)]),f(`div`,oe,[T.value?(n(),m(h,{key:0,variant:`compact`,label:d(s)(`pages.review.loadingPersonal`)},null,8,[`label`])):c(``,!0),E.value?(n(),p(`div`,se,[f(`span`,null,u(E.value),1),f(`button`,{class:`secondary-action`,type:`button`,disabled:T.value,onClick:i[0]||=e=>X()},u(d(s)(`common.actions.retry`)),9,ce)])):c(``,!0),(n(!0),p(l,null,r(S.value,e=>(n(),p(`article`,{key:e.id,class:`review-item review-item-detailed`},[f(`div`,null,[f(`div`,le,u(d(s)(`pages.review.beforePublic`)),1),f(`h4`,null,u(e.episode.name),1),f(`p`,null,u(e.episode.summary||e.episode.source_description),1),f(`div`,ue,[f(`span`,null,u(d(s)(`common.counts.entities`,{count:e.episode.entities?.length??0})),1),f(`span`,null,u(d(s)(`common.counts.relationships`,{count:e.episode.relationships?.length??0})),1),f(`span`,null,u(d(y)(e.created_at)),1)])]),f(`div`,de,[k.value.has(e.id)?(n(),m(h,{key:0,variant:`inline`,label:d(s)(`pages.review.savingDecision`)},null,8,[`label`])):c(``,!0),f(`button`,{class:`secondary-action`,type:`button`,disabled:T.value||E.value!==``||k.value.has(e.id),onClick:t=>Q(e,`keep_personal`)},u(d(s)(`pages.review.keepPersonal`)),9,b),f(`button`,{class:`reject`,type:`button`,disabled:T.value||E.value!==``||k.value.has(e.id),onClick:t=>Q(e,`ignore`)},u(d(s)(`pages.review.ignore`)),9,fe),d(x).state?.capabilities?.submitKnowledge?(n(),p(`button`,{key:1,class:`approve`,type:`button`,disabled:T.value||E.value!==``||k.value.has(e.id),onClick:t=>Q(e,`submit_public`)},u(d(s)(`pages.review.submitPublic`)),9,pe)):c(``,!0)])]))),128)),!T.value&&!E.value&&!S.value.length?(n(),p(`div`,me,u(d(s)(`pages.review.noPersonalDrafts`)),1)):c(``,!0)]),d(x).state?.capabilities?.reviewProposals&&F.value.length?(n(),p(`section`,he,[f(`div`,ge,[f(`div`,null,[f(`h3`,null,u(d(s)(`pages.review.publicTitle`)),1)]),t(ne,{modelValue:w.value,"onUpdate:modelValue":i[1]||=e=>w.value=e,options:Ee.value,label:d(s)(`pages.review.projectLabel`),"control-id":`review-project`,searchable:``},null,8,[`modelValue`,`options`,`label`])]),f(`div`,_e,[D.value?(n(),m(h,{key:0,variant:`compact`,label:d(s)(`pages.review.loadingPublic`)},null,8,[`label`])):c(``,!0),O.value?(n(),p(`div`,ve,[f(`span`,null,u(O.value),1),f(`button`,{class:`secondary-action`,type:`button`,disabled:D.value,onClick:i[2]||=e=>Z()},u(d(s)(`common.actions.retry`)),9,ye)])):c(``,!0),(n(!0),p(l,null,r(C.value,e=>(n(),p(`article`,{key:e.id,class:`review-item`},[f(`div`,null,[f(`div`,be,u(d(s)(`pages.review.maintainerReview`)),1),f(`h4`,null,u(e.episode.name),1),f(`p`,null,u(e.episode.summary||e.episode.source_description),1),f(`div`,xe,[f(`span`,null,u(d(y)(e.created_at)),1)])]),f(`div`,Se,[A.value.has(Y(w.value,e.id))?(n(),m(h,{key:0,variant:`inline`,label:d(s)(`pages.review.savingDecision`)},null,8,[`label`])):c(``,!0),f(`button`,{class:`reject`,type:`button`,disabled:D.value||O.value!==``||A.value.has(Y(w.value,e.id)),onClick:t=>$(e,`reject`)},u(d(s)(`pages.review.reject`)),9,Ce),f(`button`,{class:`approve`,type:`button`,disabled:D.value||O.value!==``||A.value.has(Y(w.value,e.id)),onClick:t=>$(e,`approve`)},u(d(s)(`pages.review.approve`)),9,we)])]))),128)),!D.value&&!O.value&&!C.value.length?(n(),p(`div`,Te,u(d(s)(`pages.review.noProposals`)),1)):c(``,!0)])])):c(``,!0)]))}});export{x as default};