fuli-context 0.20.0-beta.2 → 0.20.0-beta.4

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 (561) hide show
  1. package/README.md +101 -29
  2. package/README.zh-CN.md +74 -27
  3. package/dist/web/assets/AboutPage-Bi4E7wSy.js +1 -0
  4. package/dist/web/assets/AboutPage-BkpqvBhp.css +1 -0
  5. package/dist/web/assets/AgentName-CKA8o3DK.js +1 -0
  6. package/dist/web/assets/AgentProfilePage-0ksQ58aV.css +1 -0
  7. package/dist/web/assets/AgentProfilePage-DoWYikZx.js +1 -0
  8. package/dist/web/assets/AgentsDirectoryPage-DoOXStj-.css +1 -0
  9. package/dist/web/assets/AgentsDirectoryPage-DubxSJXK.js +1 -0
  10. package/dist/web/assets/ConnectionsPage-Y9Ll8XwK.js +1 -0
  11. package/dist/web/assets/CreateProjectDialog-T2ISpEdQ.js +2 -0
  12. package/dist/web/assets/CreateProjectDialog-t947qHxl.css +1 -0
  13. package/dist/web/assets/EmployeeRecruitDialog-BPT132zr.css +1 -0
  14. package/dist/web/assets/EmployeeRecruitDialog-DA6MLiX4.js +1 -0
  15. package/dist/web/assets/EmployeeWorkbenchPage-BFSzzB5b.css +1 -0
  16. package/dist/web/assets/EmployeeWorkbenchPage-BQrxgK-1.js +3 -0
  17. package/dist/web/assets/InboxPage-CSnVNoTP.js +4 -0
  18. package/dist/web/assets/InboxPage-DiIA1trj.css +1 -0
  19. package/dist/web/assets/KnowledgeEditDialog-BXS3rlWg.css +1 -0
  20. package/dist/web/assets/KnowledgeEditDialog-TsODwgcQ.js +1 -0
  21. package/dist/web/assets/KnowledgeInspector-DaknAv7P.css +1 -0
  22. package/dist/web/assets/KnowledgeInspector-r2MFq5In.js +1 -0
  23. package/dist/web/assets/KnowledgeOrganizerPage-Bg2p9UBN.js +1 -0
  24. package/dist/web/assets/KnowledgeOrganizerPage-CxICN_0p.css +1 -0
  25. package/dist/web/assets/KnowledgePage-ClUQTumH.js +1 -0
  26. package/dist/web/assets/KnowledgeWorkspace-BGh6AEYh.js +4 -0
  27. package/dist/web/assets/KnowledgeWorkspace-BY_OoTDG.css +1 -0
  28. package/dist/web/assets/NotFoundPage-UodKAzSD.js +1 -0
  29. package/dist/web/assets/OccupationsPage-BXCJPqBB.css +1 -0
  30. package/dist/web/assets/OccupationsPage-C1hxB4uo.js +1 -0
  31. package/dist/web/assets/OverviewPage-C7OJfsL0.css +1 -0
  32. package/dist/web/assets/OverviewPage-DlWymsvL.js +2 -0
  33. package/dist/web/assets/PersonalProfilePage-BF5vSKIG.js +1 -0
  34. package/dist/web/assets/PersonalProfilePage-bKUVSOge.css +1 -0
  35. package/dist/web/assets/PersonalProjectsPage-C7k2sBQN.css +1 -0
  36. package/dist/web/assets/PersonalProjectsPage-CN8CzEwx.js +1 -0
  37. package/dist/web/assets/ProjectAgentFirstTask-1ZqQx7TD.js +1 -0
  38. package/dist/web/assets/ProjectAgentFirstTask-D1RrWjaX.css +1 -0
  39. package/dist/web/assets/ProjectAgentsPage-BdAKFeHd.css +1 -0
  40. package/dist/web/assets/ProjectAgentsPage-DAub8kxJ.js +12 -0
  41. package/dist/web/assets/ProjectScopePicker-C5Qs2q55.js +1 -0
  42. package/dist/web/assets/PublicProjectsPage-BagwGxkm.js +1 -0
  43. package/dist/web/assets/PublicProjectsPage-DlmcjqGj.css +1 -0
  44. package/dist/web/assets/RoundtablesPage-BE0EM4sU.js +1 -0
  45. package/dist/web/assets/RoundtablesPage-DLZIf0Pu.css +1 -0
  46. package/dist/web/assets/SettingsPage-CfyHImb3.css +1 -0
  47. package/dist/web/assets/SettingsPage-CpyIq-BG.js +1 -0
  48. package/dist/web/assets/SharedJefaReportPage-Cj6nm6w-.js +1 -0
  49. package/dist/web/assets/TaskExecutionPlan-BFVcb7KN.css +1 -0
  50. package/dist/web/assets/TaskExecutionPlan-DFh08QFN.js +2 -0
  51. package/dist/web/assets/TaskSchedulesPage-Cs_pzUIm.js +1 -0
  52. package/dist/web/assets/TaskSchedulesPage-sheRrvlF.css +1 -0
  53. package/dist/web/assets/TextField-DnkSv9Ye.js +1 -0
  54. package/dist/web/assets/UiDialog-DMozYPbD.js +1 -0
  55. package/dist/web/assets/UiDisclosure-BkmYnV5V.js +1 -0
  56. package/dist/web/assets/UiIcon-D_OCiZ2T.js +1 -0
  57. package/dist/web/assets/UiIcon-EWCwhyKc.css +1 -0
  58. package/dist/web/assets/UiIconButton-CSFA7F4B.css +1 -0
  59. package/dist/web/assets/UiIconButton-CaxMAEd6.js +1 -0
  60. package/dist/web/assets/UiSegmented-DirGF0fz.js +1 -0
  61. package/dist/web/assets/UiSelect-CiSPw-7k.css +1 -0
  62. package/dist/web/assets/UiSelect-iDXgMBmg.js +1 -0
  63. package/dist/web/assets/UiToggle-B2sPCVZe.css +1 -0
  64. package/dist/web/assets/UiToggle-DNvok1W_.js +1 -0
  65. package/dist/web/assets/UnassignedConversationsPanel-LcjLO-S7.js +1 -0
  66. package/dist/web/assets/VirtualDirectoryList-rmg4zT6b.js +1 -0
  67. package/dist/web/assets/Workbench3D-BxpszsXO.css +1 -0
  68. package/dist/web/assets/Workbench3D-DVM9HEZI.js +2 -0
  69. package/dist/web/assets/WritingTastePage-B9nMV49S.css +1 -0
  70. package/dist/web/assets/WritingTastePage-ifJbdlZs.js +1 -0
  71. package/dist/web/assets/agent-identity-color-RqpT7gtx.js +1 -0
  72. package/dist/web/assets/agent-occupation-BODbxMc2.js +1 -0
  73. package/dist/web/assets/agent-pins-CtGOL6hE.js +1 -0
  74. package/dist/web/assets/agent-profile-BWgoaYE6.css +1 -0
  75. package/dist/web/assets/agent-work-summary-9jEiDLve.js +1 -0
  76. package/dist/web/assets/astro-avatar-GADWtfJX.webp +0 -0
  77. package/dist/web/assets/attention-store-CVJJ9eFY.js +1 -0
  78. package/dist/web/assets/{avatars-z6ANYG_r.js → avatars-CUyfvsKO.js} +1 -1
  79. package/dist/web/assets/catalog-DoiBFHyb.js +1 -0
  80. package/dist/web/assets/client-B_QrPkEy.css +1 -0
  81. package/dist/web/assets/client-CRiPFGQo.js +1 -0
  82. package/dist/web/assets/console-Dl-Zf-vm.js +1 -0
  83. package/dist/web/assets/conversation-launcher-settings-DUaL_j2q.js +1 -0
  84. package/dist/web/assets/date-time-DBa_h9cD.js +1 -0
  85. package/dist/web/assets/design-lab-DQJjssoJ.js +1 -0
  86. package/dist/web/assets/galaxy-scene-7sJk1pHo.js +1 -0
  87. package/dist/web/assets/i18n-DYrQWclR.js +10 -0
  88. package/dist/web/assets/{identity-CAQk8V-Q.js → identity-B3k8Qjz8.js} +1 -1
  89. package/dist/web/assets/index-CPPm_vKK.js +2 -0
  90. package/dist/web/assets/index-CUiJp41v.css +1 -0
  91. package/dist/web/assets/judgment-types-YhMdw8_r.js +1 -0
  92. package/dist/web/assets/layout-DCeMsVR8.js +1 -0
  93. package/dist/web/assets/model-CgiRuBdV.js +1 -0
  94. package/dist/web/assets/motion-preference-CgUW4x60.js +1 -0
  95. package/dist/web/assets/occupation-catalog-C1dtWRD4.js +1 -0
  96. package/dist/web/assets/office-scene-CbmeA3ZZ.js +1 -0
  97. package/dist/web/assets/personal-profile-graph-C9t0-CUF.js +1 -0
  98. package/dist/web/assets/preload-helper-Czpn1I53.js +1 -0
  99. package/dist/web/assets/project-origin-BthRWajS.js +1 -0
  100. package/dist/web/assets/project-team-api-DLYFf3Df.js +1 -0
  101. package/dist/web/assets/shared-report-NXHxLp5x.css +1 -0
  102. package/dist/web/assets/shared-report-T8YWwLIB.js +1 -0
  103. package/dist/web/assets/stage-CWdBY1y-.js +1 -0
  104. package/dist/web/assets/stage-D1RyodHo.js +3835 -0
  105. package/dist/web/assets/task-labels-DCM3k8vr.js +1 -0
  106. package/dist/web/assets/task-updates-ChvjLQXV.js +1 -0
  107. package/dist/web/assets/ui-8PDiMeCo.js +1 -0
  108. package/dist/web/assets/ui-gkBKztsv.css +1 -0
  109. package/dist/web/assets/useAgentRecords-Bw9B25sk.js +1 -0
  110. package/dist/web/assets/{useApi-CROJJdhE-sOV3uq1T.js → useApi-CROJJdhE-Di-SEzl3.js} +1 -1
  111. package/dist/web/assets/vue-router-CG6ezAck.js +1 -0
  112. package/dist/web/assets/workbench-model-D9ytk327.js +1 -0
  113. package/dist/web/index.html +28 -19
  114. package/docs/agent-conversations-and-collaboration.md +6 -0
  115. package/docs/agent-interface-architecture.md +10 -0
  116. package/docs/agent-roundtable.md +42 -1
  117. package/docs/client-connections.md +158 -110
  118. package/docs/employee-agents.md +7 -3
  119. package/docs/project-agent-memory.md +24 -8
  120. package/graph-provider/fuli_graph/agent_confirmation_progress.py +58 -0
  121. package/graph-provider/fuli_graph/agent_conversation_models.py +1 -0
  122. package/graph-provider/fuli_graph/agent_conversation_routes.py +20 -0
  123. package/graph-provider/fuli_graph/app.py +8 -1
  124. package/graph-provider/fuli_graph/collaboration_context.py +48 -15
  125. package/graph-provider/fuli_graph/config.py +2 -0
  126. package/graph-provider/fuli_graph/conversation_context.py +74 -41
  127. package/graph-provider/fuli_graph/conversation_triage_models.py +35 -0
  128. package/graph-provider/fuli_graph/default_project_lead.py +3 -3
  129. package/graph-provider/fuli_graph/graph_models.py +26 -3
  130. package/graph-provider/fuli_graph/graph_query.py +36 -15
  131. package/graph-provider/fuli_graph/knowledge_search.py +3 -0
  132. package/graph-provider/fuli_graph/knowledge_weight.py +40 -0
  133. package/graph-provider/fuli_graph/knowledge_weight_models.py +9 -0
  134. package/graph-provider/fuli_graph/migrate_lead_occupation.py +165 -0
  135. package/graph-provider/fuli_graph/model_validation.py +10 -0
  136. package/graph-provider/fuli_graph/models.py +44 -3
  137. package/graph-provider/fuli_graph/occupation_catalog.py +116 -0
  138. package/graph-provider/fuli_graph/occupation_routes.py +25 -0
  139. package/graph-provider/fuli_graph/personal_global_preferences.py +6 -10
  140. package/graph-provider/fuli_graph/preference_conflicts.py +38 -0
  141. package/graph-provider/fuli_graph/project_agent_attention_models.py +7 -0
  142. package/graph-provider/fuli_graph/project_agent_coordination_models.py +57 -5
  143. package/graph-provider/fuli_graph/project_agent_delegations.py +129 -13
  144. package/graph-provider/fuli_graph/project_agent_executor_models.py +9 -18
  145. package/graph-provider/fuli_graph/project_agent_hierarchy.py +98 -0
  146. package/graph-provider/fuli_graph/project_agent_memory_routes.py +13 -1
  147. package/graph-provider/fuli_graph/project_agent_models.py +6 -1
  148. package/graph-provider/fuli_graph/project_agent_occupation_models.py +36 -0
  149. package/graph-provider/fuli_graph/project_agent_recruitment_occupation.py +74 -0
  150. package/graph-provider/fuli_graph/project_agent_recruitment_values.py +10 -1
  151. package/graph-provider/fuli_graph/project_agent_remote_origins.py +24 -11
  152. package/graph-provider/fuli_graph/project_agent_routes.py +40 -1
  153. package/graph-provider/fuli_graph/project_agent_task_models.py +31 -17
  154. package/graph-provider/fuli_graph/project_agent_worker_access.py +229 -0
  155. package/graph-provider/fuli_graph/project_agent_worker_models.py +59 -0
  156. package/graph-provider/fuli_graph/project_agent_worker_routes.py +88 -0
  157. package/graph-provider/fuli_graph/project_brief.py +46 -0
  158. package/graph-provider/fuli_graph/project_memory_usage.py +175 -0
  159. package/graph-provider/fuli_graph/project_memory_usage_projection.py +35 -0
  160. package/graph-provider/fuli_graph/project_memory_usage_routes.py +26 -0
  161. package/graph-provider/fuli_graph/provider_values.py +5 -0
  162. package/graph-provider/fuli_graph/runtime.py +6 -0
  163. package/graph-provider/fuli_graph/search_projection.py +6 -27
  164. package/graph-provider/fuli_graph/staffing_demand.py +74 -0
  165. package/graph-provider/fuli_graph/store.py +10 -0
  166. package/graph-provider/fuli_graph/store_agent_conversations.py +88 -16
  167. package/graph-provider/fuli_graph/store_conversation_triage.py +85 -0
  168. package/graph-provider/fuli_graph/store_knowledge.py +21 -6
  169. package/graph-provider/fuli_graph/store_occupation_catalog.py +142 -0
  170. package/graph-provider/fuli_graph/store_project_agent_attention.py +3 -0
  171. package/graph-provider/fuli_graph/store_project_agent_context.py +5 -2
  172. package/graph-provider/fuli_graph/store_project_agent_coordination_policy.py +19 -1
  173. package/graph-provider/fuli_graph/store_project_agent_executor_routing.py +1 -1
  174. package/graph-provider/fuli_graph/store_project_agent_executors.py +1 -1
  175. package/graph-provider/fuli_graph/store_project_agent_occupation.py +75 -0
  176. package/graph-provider/fuli_graph/store_project_agent_pages.py +84 -0
  177. package/graph-provider/fuli_graph/store_project_agent_task_activity.py +31 -1
  178. package/graph-provider/fuli_graph/store_project_agent_task_persistence.py +3 -1
  179. package/graph-provider/fuli_graph/store_project_agent_task_reads.py +15 -1
  180. package/graph-provider/fuli_graph/store_project_agent_task_recruitment.py +80 -137
  181. package/graph-provider/fuli_graph/store_project_agent_task_staffing.py +32 -7
  182. package/graph-provider/fuli_graph/store_project_agent_tasks.py +42 -4
  183. package/graph-provider/fuli_graph/store_project_agent_worker_runs.py +355 -0
  184. package/graph-provider/fuli_graph/store_project_agents.py +87 -3
  185. package/graph-provider/fuli_graph/store_projects.py +16 -1
  186. package/graph-provider/fuli_graph/store_recruitment_fulfillment.py +95 -0
  187. package/graph-provider/fuli_graph/store_task_contexts.py +194 -33
  188. package/graph-provider/fuli_graph/store_transcript_recovery.py +54 -0
  189. package/graph-provider/fuli_graph/system_agents.py +34 -3
  190. package/graph-provider/fuli_graph/task_activity_origin.py +70 -0
  191. package/graph-provider/fuli_graph/task_context_adoption.py +8 -5
  192. package/graph-provider/fuli_graph/task_context_auto_close.py +54 -0
  193. package/graph-provider/fuli_graph/task_context_coordination.py +114 -0
  194. package/graph-provider/fuli_graph/task_context_models.py +75 -1
  195. package/graph-provider/fuli_graph/task_context_routes.py +11 -1
  196. package/graph-provider/fuli_graph/task_participant_running.py +15 -0
  197. package/graph-provider/fuli_graph/task_worker_attribution.py +102 -0
  198. package/graph-provider/fuli_graph/worker_run_execution.py +48 -0
  199. package/graph-provider/fuli_graph/workflow_candidates.py +4 -9
  200. package/graph-provider/pyproject.toml +1 -1
  201. package/npm-shrinkwrap.json +85 -2
  202. package/package.json +5 -1
  203. package/skills/capturing-session-knowledge/SKILL.md +13 -355
  204. package/skills/capturing-session-knowledge/references/capture.md +145 -0
  205. package/skills/capturing-session-knowledge/references/coordination.md +70 -0
  206. package/skills/capturing-session-knowledge/references/retrieval.md +153 -0
  207. package/src/adaptive-runtime/graph-services.js +8 -34
  208. package/src/adaptive-runtime/settings.js +1 -8
  209. package/src/agent-peer/chat-coordinator.js +104 -0
  210. package/src/agent-peer/chat-port.js +78 -0
  211. package/src/agent-peer/coordinator-http.js +10 -0
  212. package/src/agent-peer/coordinator-service.js +25 -8
  213. package/src/agent-peer/coordinator-store.js +26 -6
  214. package/src/agent-peer/node-store.js +12 -6
  215. package/src/agent-peer/origin-proof.js +6 -4
  216. package/src/agent-peer/peer-port.js +30 -13
  217. package/src/agent-peer/peer-runtime.js +22 -11
  218. package/src/agent-peer/peer-transport.js +1 -1
  219. package/src/agent-peer/protocol.js +16 -2
  220. package/src/agent-peer/runner.js +18 -9
  221. package/src/agent-roundtable/attention-inbox-store.js +37 -0
  222. package/src/agent-roundtable/attention-inbox.js +48 -0
  223. package/src/agent-roundtable/chat-contract.js +49 -0
  224. package/src/agent-roundtable/chat-notifications.js +53 -0
  225. package/src/agent-roundtable/chat-service.js +132 -0
  226. package/src/agent-roundtable/chat-snapshot.js +52 -0
  227. package/src/agent-roundtable/chat-store.js +108 -0
  228. package/src/agent-roundtable/chat-updates.js +28 -0
  229. package/src/agent-roundtable/chat-wait.js +36 -0
  230. package/src/agent-roundtable/chat-wake.js +53 -0
  231. package/src/agent-roundtable/chat.js +98 -0
  232. package/src/agent-roundtable/discovery.js +12 -0
  233. package/src/agent-roundtable/http.js +30 -0
  234. package/src/agent-roundtable/memory-observation.js +25 -0
  235. package/src/agent-roundtable/project-target.js +43 -0
  236. package/src/agent-roundtable/service.js +183 -35
  237. package/src/agent-roundtable/store.js +102 -7
  238. package/src/agent-roundtable/task-context.js +109 -0
  239. package/src/agent-roundtable/tools.js +19 -5
  240. package/src/agent-roundtable/wake.js +106 -18
  241. package/src/agent-tools/agent-attention-definitions.js +5 -4
  242. package/src/agent-tools/agent-collaboration-definitions.js +6 -2
  243. package/src/agent-tools/checkpoint-definitions.js +30 -0
  244. package/src/agent-tools/employee-definitions.js +5 -4
  245. package/src/agent-tools/graph-definitions.js +51 -47
  246. package/src/agent-tools/graph-handlers.js +15 -6
  247. package/src/agent-tools/interface-catalog.js +18 -4
  248. package/src/agent-tools/interface-definitions.js +12 -3
  249. package/src/agent-tools/knowledge-usage-definitions.js +21 -0
  250. package/src/agent-tools/project-agent-definitions.js +14 -4
  251. package/src/agent-tools/project-agent-memory-definitions.js +2 -2
  252. package/src/agent-tools/schema.js +4 -0
  253. package/src/agent-tools/task-preference-definitions.js +13 -0
  254. package/src/agent-tools/task-run-definitions.js +11 -0
  255. package/src/agent-tools/task-schedule-definitions.js +15 -0
  256. package/src/agents/claude-code/host-notification.js +64 -0
  257. package/src/agents/claude-code/lifecycle-hook.js +36 -56
  258. package/src/agents/claude-code/native-session.js +9 -0
  259. package/src/agents/claude-code/preference-evidence.js +28 -0
  260. package/src/agents/claude-code/wake.js +1 -0
  261. package/src/agents/codex/acp-process.js +244 -0
  262. package/src/agents/codex/acp-session.js +190 -0
  263. package/src/agents/codex/acp-worker.js +54 -0
  264. package/src/agents/codex/lifecycle-hook.js +75 -66
  265. package/src/agents/codex/lifecycle-hooks.js +22 -5
  266. package/src/agents/codex/mcp-context.js +16 -0
  267. package/src/agents/codex/preference-evidence.js +21 -0
  268. package/src/agents/codex/token-usage.js +14 -2
  269. package/src/agents/codex/wake.js +7 -3
  270. package/src/agents/cursor/lifecycle-hook.js +6 -16
  271. package/src/agents/identity-receipt.js +74 -10
  272. package/src/agents/lifecycle-input.js +20 -0
  273. package/src/agents/lifecycle-message.js +4 -0
  274. package/src/agents/native-mcp-context.js +9 -0
  275. package/src/agents/native-session-env.js +10 -0
  276. package/src/agents/preference-evidence.js +21 -0
  277. package/src/agents/system-prompt.js +11 -0
  278. package/src/app/agent-request-context.js +14 -1
  279. package/src/app/application-error.js +4 -1
  280. package/src/backup/graph-census.js +57 -0
  281. package/src/backup/identity-reconciliation.js +15 -39
  282. package/src/backup/runtime-adapters.js +64 -27
  283. package/src/backup/runtime-migration.js +88 -0
  284. package/src/cli/command-registry.js +4 -1
  285. package/src/cli/connect-command.js +1 -1
  286. package/src/cli/graph-data-command.js +25 -4
  287. package/src/cli/graph-migrate-command.js +107 -0
  288. package/src/cli/local-runtime-command.js +1 -4
  289. package/src/cli/local-runtime-control.js +27 -0
  290. package/src/cli/mcp-command.js +33 -1
  291. package/src/cli/native-runtime-command.js +44 -0
  292. package/src/cli/remote-mcp-command.js +7 -0
  293. package/src/cli/setup-command.js +12 -22
  294. package/src/cli/terminal-io.js +17 -0
  295. package/src/cli/uninstall-command.js +17 -15
  296. package/src/cli/update-command.js +12 -20
  297. package/src/cli/update-installation.js +3 -3
  298. package/src/cli/worker-command.js +80 -0
  299. package/src/cli/workspace-connection-command.js +1 -4
  300. package/src/cli.js +11 -10
  301. package/src/conversations/capture-window.js +44 -0
  302. package/src/conversations/entry-rules.js +59 -0
  303. package/src/conversations/fallback-transcript-boundary.js +48 -0
  304. package/src/conversations/human-interaction.js +9 -0
  305. package/src/conversations/preference-evidence.js +88 -0
  306. package/src/conversations/preference-lifecycle.js +32 -0
  307. package/src/conversations/preference-session.js +119 -0
  308. package/src/conversations/preference-snapshot.js +93 -0
  309. package/src/conversations/preference-view.js +31 -0
  310. package/src/conversations/stop-auto-close.js +30 -0
  311. package/src/conversations/sync-transcript.js +21 -8
  312. package/src/conversations/task-context-view.js +123 -36
  313. package/src/conversations/transcript-append.js +38 -0
  314. package/src/conversations/transcript-guard-lock.js +59 -0
  315. package/src/conversations/transcript-guard.js +45 -17
  316. package/src/conversations/transcript-lifecycle.js +63 -0
  317. package/src/conversations/transcript-reader.js +24 -3
  318. package/src/desktop/windows-command-options.js +19 -0
  319. package/src/desktop/windows-controller.js +160 -0
  320. package/src/desktop/windows-install.js +55 -0
  321. package/src/desktop/windows-installation-context.js +49 -0
  322. package/src/desktop/windows-installation-switch.js +140 -0
  323. package/src/desktop/windows-installation.js +246 -0
  324. package/src/desktop/windows-rollback-command.js +24 -0
  325. package/src/desktop/windows-rollback.js +69 -0
  326. package/src/desktop/windows-uninstall-command.js +27 -0
  327. package/src/desktop/windows-uninstall.js +94 -0
  328. package/src/desktop/windows-update-command.js +29 -0
  329. package/src/desktop/windows-update-lock.js +38 -0
  330. package/src/desktop/windows-update-runtime.js +57 -0
  331. package/src/desktop/windows-update.js +92 -0
  332. package/src/employees/catalog/assistant.json +26 -0
  333. package/src/employees/manifest.js +2 -2
  334. package/src/employees/recruitment.js +5 -2
  335. package/src/external-knowledge/conflict-policy.js +1 -5
  336. package/src/external-knowledge/connected-search.js +3 -23
  337. package/src/external-knowledge/connectors/custom.js +1 -12
  338. package/src/external-knowledge/connectors/feishu.js +13 -44
  339. package/src/external-knowledge/connectors/mcp.js +2 -22
  340. package/src/external-knowledge/connectors/notion.js +6 -47
  341. package/src/external-knowledge/connectors/response-values.js +34 -0
  342. package/src/external-knowledge/connectors/retrieval-api.js +2 -32
  343. package/src/external-knowledge/document-mapping.js +1 -7
  344. package/src/external-knowledge/service.js +1 -14
  345. package/src/graphiti/agent-attention.js +35 -2
  346. package/src/graphiti/agent-collaboration.js +69 -21
  347. package/src/graphiti/agent-conversations.js +26 -20
  348. package/src/graphiti/agent-knowledge-workflows.js +124 -52
  349. package/src/graphiti/capture-policy.js +23 -0
  350. package/src/graphiti/checkpoint-human-interaction.js +16 -0
  351. package/src/graphiti/collaboration-preference-projection.js +5 -4
  352. package/src/graphiti/collaboration-preference-workflow.js +66 -29
  353. package/src/graphiti/conversation-triage.js +99 -0
  354. package/src/graphiti/execution-mode.js +27 -0
  355. package/src/graphiti/federated-application.js +62 -203
  356. package/src/graphiti/federated-search.js +186 -0
  357. package/src/graphiti/knowledge-provider-mapping.js +8 -0
  358. package/src/graphiti/knowledge-result-budget.js +188 -0
  359. package/src/graphiti/occupation-catalog.js +7 -0
  360. package/src/graphiti/occupation-staffing.js +21 -0
  361. package/src/graphiti/project-agent-control-plane.js +49 -4
  362. package/src/graphiti/project-agent-mapping.js +31 -30
  363. package/src/graphiti/project-agent-memory.js +1 -1
  364. package/src/graphiti/project-agent-run-control.js +64 -0
  365. package/src/graphiti/project-agent-task-entry.js +45 -19
  366. package/src/graphiti/project-agent-team-context.js +9 -5
  367. package/src/graphiti/project-agent-workflows.js +47 -7
  368. package/src/graphiti/project-brief.js +49 -0
  369. package/src/graphiti/project-memory-usage.js +44 -0
  370. package/src/graphiti/project-profile-mapping.js +1 -0
  371. package/src/graphiti/project-team-hierarchy.js +27 -0
  372. package/src/graphiti/project-team-view.js +14 -1
  373. package/src/graphiti/provider-client.js +165 -11
  374. package/src/graphiti/repository-project-registration.js +9 -2
  375. package/src/graphiti/runtime-config.js +19 -8
  376. package/src/graphiti/setup.js +2 -2
  377. package/src/graphiti/task-activity-origin.js +8 -0
  378. package/src/graphiti/task-agent-assignment.js +49 -0
  379. package/src/graphiti/task-collaboration-attribution.js +25 -0
  380. package/src/graphiti/task-entry-activity-origin.js +9 -0
  381. package/src/graphiti/task-entry-preferences.js +42 -28
  382. package/src/graphiti/task-entry-project-mention.js +113 -0
  383. package/src/graphiti/task-entry-project-scope.js +19 -16
  384. package/src/graphiti/task-experiences.js +53 -0
  385. package/src/graphiti/task-knowledge-recall.js +46 -9
  386. package/src/graphiti/task-knowledge-routing.js +130 -0
  387. package/src/graphiti/task-preference-pages.js +91 -0
  388. package/src/graphiti/task-preference-reader.js +118 -0
  389. package/src/graphiti/task-remember.js +100 -0
  390. package/src/graphiti/user-taste-skill.js +4 -15
  391. package/src/graphiti/worker-descriptor.js +42 -0
  392. package/src/graphiti/worker-plan-host.js +92 -0
  393. package/src/graphiti/worker-run-host.js +276 -0
  394. package/src/graphiti/worker-run-view.js +25 -0
  395. package/src/graphiti/worker-task-context.js +154 -0
  396. package/src/graphiti/workflow-observation.js +3 -13
  397. package/src/graphiti/writing-taste-profile.js +4 -15
  398. package/src/http/api-router.js +11 -0
  399. package/src/http/error-mapping.js +4 -0
  400. package/src/http/graph-api-router.js +60 -0
  401. package/src/http/occupation-api-router.js +19 -0
  402. package/src/http/request-policy.js +1 -1
  403. package/src/http/task-events-api-router.js +29 -2
  404. package/src/http/task-schedules-api-router.js +31 -0
  405. package/src/judgment/conversation.js +12 -0
  406. package/src/judgment/engine.js +15 -9
  407. package/src/judgment/routing.js +1 -0
  408. package/src/judgment/service.js +11 -1
  409. package/src/local-runtime/lifecycle.js +20 -15
  410. package/src/local-runtime/processes.js +19 -0
  411. package/src/local-runtime/provider-readiness.js +41 -0
  412. package/src/mcp/chat-listing.js +37 -0
  413. package/src/mcp/context-resources.js +13 -4
  414. package/src/mcp/create-mcp-server.js +138 -35
  415. package/src/mcp/direct-call.js +3 -5
  416. package/src/mcp/instructions.js +15 -1
  417. package/src/mcp/preference-delivery.js +70 -0
  418. package/src/mcp/process-registry.js +65 -0
  419. package/src/mcp/provider-task-context-registry.js +64 -4
  420. package/src/mcp/runtime.js +15 -3
  421. package/src/mcp/session-id.js +7 -0
  422. package/src/mcp/tool-annotations.js +5 -1
  423. package/src/mcp/tool-profiles.js +5 -19
  424. package/src/mcp/tool-result.js +69 -9
  425. package/src/native-runtime/java-runtime.js +47 -0
  426. package/src/native-runtime/macos-ports.js +41 -0
  427. package/src/native-runtime/neo4j-asset-state.js +101 -0
  428. package/src/native-runtime/neo4j-install.js +84 -0
  429. package/src/native-runtime/neo4j-lifecycle.js +151 -0
  430. package/src/native-runtime/neo4j-store-formats.js +36 -0
  431. package/src/native-runtime/runtime.js +246 -146
  432. package/src/native-runtime/windows-assets.js +70 -0
  433. package/src/native-runtime/windows-job-process.cs +169 -0
  434. package/src/native-runtime/windows-job-process.js +110 -0
  435. package/src/native-runtime/windows-processes.js +289 -0
  436. package/src/notifications/needs-person.js +75 -0
  437. package/src/publication/canonical-json.js +13 -7
  438. package/src/server/worker-plan-runtime.js +49 -0
  439. package/src/server.js +18 -3
  440. package/src/setup/agent-installation-status.js +9 -101
  441. package/src/setup/agents/adapter-contract.js +47 -0
  442. package/src/setup/agents/claude-code/adapter.test.js +34 -0
  443. package/src/setup/agents/claude-code/index.js +35 -0
  444. package/src/setup/agents/claude-desktop/adapter.test.js +34 -0
  445. package/src/setup/agents/claude-desktop/index.js +22 -0
  446. package/src/setup/agents/codex/adapter.test.js +34 -0
  447. package/src/setup/agents/codex/index.js +47 -0
  448. package/src/setup/agents/config-directory.js +7 -0
  449. package/src/setup/agents/cursor/adapter.test.js +50 -0
  450. package/src/setup/agents/cursor/index.js +35 -0
  451. package/src/setup/agents/gemini/adapter.test.js +32 -0
  452. package/src/setup/agents/gemini/index.js +14 -0
  453. package/src/setup/agents/json-mcp.js +66 -0
  454. package/src/setup/agents/kiro/adapter.test.js +12 -0
  455. package/src/setup/agents/kiro/index.js +14 -0
  456. package/src/setup/agents/opencode/adapter.test.js +39 -0
  457. package/src/setup/agents/opencode/index.js +19 -0
  458. package/src/setup/agents/qwen-code/adapter.test.js +14 -0
  459. package/src/setup/agents/qwen-code/index.js +14 -0
  460. package/src/setup/agents/registration.js +13 -0
  461. package/src/setup/agents/registry.js +15 -0
  462. package/src/setup/agents.js +13 -122
  463. package/src/setup/claude-code-config.js +18 -18
  464. package/src/setup/claude-desktop-config.js +9 -11
  465. package/src/setup/client-connection.js +1 -1
  466. package/src/setup/codex-bootstrap.js +10 -29
  467. package/src/setup/codex-config.js +59 -26
  468. package/src/setup/container-runtime.js +28 -29
  469. package/src/setup/cursor-config.js +10 -11
  470. package/src/setup/graph-runtime.js +18 -48
  471. package/src/setup/install-agent.js +77 -0
  472. package/src/setup/paths.js +8 -1
  473. package/src/setup/setup.js +17 -36
  474. package/src/setup/uninstall.js +13 -1
  475. package/src/storage/json-file.js +7 -1
  476. package/src/system/client-connection-install.js +27 -0
  477. package/src/system/client-connection-status.js +5 -3
  478. package/src/system/main-module.js +16 -0
  479. package/src/system/open-without-following.js +38 -0
  480. package/src/system/platform-path.js +8 -0
  481. package/src/system/runtime-settings.js +12 -7
  482. package/src/system/settings-apply.js +2 -6
  483. package/src/system/settings-guide.js +85 -0
  484. package/src/system/system-service.js +6 -2
  485. package/src/task-schedules/scheduler.js +32 -0
  486. package/src/task-schedules/service.js +174 -0
  487. package/src/task-schedules/store.js +92 -0
  488. package/src/text/single-line.js +4 -0
  489. package/src/validation/values.js +44 -0
  490. package/dist/web/assets/AboutPage-DC3Eu95G.js +0 -1
  491. package/dist/web/assets/AboutPage-c4dQpUiP.css +0 -1
  492. package/dist/web/assets/AgentHand-Bex3jrOr.js +0 -1
  493. package/dist/web/assets/AgentHand-Y83Oo36U.css +0 -1
  494. package/dist/web/assets/AgentName-E3TrVNIR.js +0 -1
  495. package/dist/web/assets/AgentProfilePage-pHzDx457.js +0 -1
  496. package/dist/web/assets/AgentsDirectoryPage-itsP9chX.js +0 -1
  497. package/dist/web/assets/AgentsDirectoryPage-kc3EgeGO.css +0 -1
  498. package/dist/web/assets/ConnectionsPage-D0L5VcbN.js +0 -1
  499. package/dist/web/assets/EmployeeRecruitDialog-CVbqCzHb.css +0 -1
  500. package/dist/web/assets/EmployeeRecruitDialog-DcYqq75q.js +0 -1
  501. package/dist/web/assets/EmployeeWorkbenchPage-BDN6whBV.js +0 -3
  502. package/dist/web/assets/EmployeeWorkbenchPage-BQes4L1f.css +0 -1
  503. package/dist/web/assets/KnowledgeEditDialog-BnFbCSK7.js +0 -1
  504. package/dist/web/assets/KnowledgeEditDialog-hT9znkoe.css +0 -1
  505. package/dist/web/assets/KnowledgeInspector-u0HypEW7.js +0 -1
  506. package/dist/web/assets/KnowledgeOrganizerPage-B3GoSV-E.js +0 -1
  507. package/dist/web/assets/KnowledgeOrganizerPage-ccgscrPd.css +0 -1
  508. package/dist/web/assets/KnowledgePage-DrRnvfrO.js +0 -1
  509. package/dist/web/assets/KnowledgeWorkspace-D4a7FcAb.css +0 -1
  510. package/dist/web/assets/KnowledgeWorkspace-_wWZQw_h.js +0 -4
  511. package/dist/web/assets/NotFoundPage-BcPx7tfG.js +0 -1
  512. package/dist/web/assets/OverviewPage-8LBN8Shi.css +0 -1
  513. package/dist/web/assets/OverviewPage-C2jrJWDc.js +0 -1
  514. package/dist/web/assets/PersonalProfilePage-B0_zIINs.css +0 -1
  515. package/dist/web/assets/PersonalProfilePage-DkOcops6.js +0 -1
  516. package/dist/web/assets/PersonalProjectsPage-uJXnueKw.js +0 -1
  517. package/dist/web/assets/ProjectAgentFirstTask-Bi1ZsTC1.css +0 -1
  518. package/dist/web/assets/ProjectAgentFirstTask-Cwto-bOU.js +0 -1
  519. package/dist/web/assets/ProjectAgentsPage-DDuhJnAH.js +0 -12
  520. package/dist/web/assets/ProjectAgentsPage-VYiEOpFJ.css +0 -1
  521. package/dist/web/assets/ProjectScopePicker-Bc7A6Rdj.js +0 -1
  522. package/dist/web/assets/PublicProjectsPage-DKamXDV9.css +0 -1
  523. package/dist/web/assets/PublicProjectsPage-KvmU4tDo.js +0 -1
  524. package/dist/web/assets/ReviewPage-BfKG8Hgw.js +0 -1
  525. package/dist/web/assets/RoundtablesPage-Drou-B81.css +0 -1
  526. package/dist/web/assets/RoundtablesPage-IXKQq62P.js +0 -1
  527. package/dist/web/assets/SettingsPage-6FZ7_3-X.css +0 -1
  528. package/dist/web/assets/SettingsPage-Clhe1bei.js +0 -1
  529. package/dist/web/assets/SharedJefaReportPage-B55966fF.js +0 -1
  530. package/dist/web/assets/TaskExecutionPlan-BuEIInIV.css +0 -1
  531. package/dist/web/assets/TaskExecutionPlan-ZoOE8Ltc.js +0 -2
  532. package/dist/web/assets/UiButton-DYcQLYXP.js +0 -1
  533. package/dist/web/assets/UiDialog-D70VuNpZ.js +0 -1
  534. package/dist/web/assets/UiDisclosure-CaeBp1mn.js +0 -1
  535. package/dist/web/assets/UiSegmented-DpXRULl-.js +0 -1
  536. package/dist/web/assets/UiSelect-Alpe2iY3.js +0 -1
  537. package/dist/web/assets/UiSelect-Bv6R0yr1.css +0 -1
  538. package/dist/web/assets/WritingTastePage-B_zYD1df.css +0 -1
  539. package/dist/web/assets/WritingTastePage-BwNCyys9.js +0 -1
  540. package/dist/web/assets/agent-pins-DbcPCnxU.js +0 -1
  541. package/dist/web/assets/agent-profile-DTn-2VAG.css +0 -1
  542. package/dist/web/assets/agent-work-summary-DRJy9v48.js +0 -1
  543. package/dist/web/assets/attention-store-AfhjzTC5.js +0 -1
  544. package/dist/web/assets/catalog-ykylXINx.js +0 -1
  545. package/dist/web/assets/client-CIuQ1icy.css +0 -1
  546. package/dist/web/assets/client-mT6kHxUd.js +0 -1
  547. package/dist/web/assets/console-CDOkjZU8.js +0 -1
  548. package/dist/web/assets/conversation-launcher-settings-CJfHOqqX.js +0 -1
  549. package/dist/web/assets/i18n-DUTWmrzf.js +0 -10
  550. package/dist/web/assets/index-DsExj49_.css +0 -1
  551. package/dist/web/assets/index-pO9miMus.js +0 -5
  552. package/dist/web/assets/judgment-types-aERVgHxJ.js +0 -1
  553. package/dist/web/assets/model-DiN6uWZA.js +0 -1
  554. package/dist/web/assets/personal-profile-graph-C6IZoTJK.js +0 -1
  555. package/dist/web/assets/project-team-api-B3dwwoUU.js +0 -1
  556. package/dist/web/assets/shared-report-CGlCpmNd.css +0 -1
  557. package/dist/web/assets/shared-report-n864kqhr.js +0 -1
  558. package/dist/web/assets/useAgentRoster-BF8eZGbq.js +0 -1
  559. package/dist/web/assets/vue-router-CBdnor1K.js +0 -1
  560. /package/dist/web/assets/{ConnectionsPage-CM9C-zEI.css → TextField-CM9C-zEI.css} +0 -0
  561. /package/dist/web/assets/{KnowledgeInspector-pgDELOEf.css → VirtualDirectoryList-pgDELOEf.css} +0 -0
@@ -0,0 +1 @@
1
+ import{B as e,C as t,E as n,H as r,I as i,J as a,M as o,N as s,O as c,P as l,R as u,S as d,T as f,U as p,X as m,Z as h,_ as g,b as _,dt as v,ft as y,g as b,h as x,m as S,mt as C,n as ee,o as w,ot as T,p as E,pt as te,q as ne,x as D,y as O}from"./i18n-DYrQWclR.js";import{n as k,t as re}from"./console-Dl-Zf-vm.js";import{h as ie,m as ae}from"./useApi-CROJJdhE-Di-SEzl3.js";import{a as A,t as j}from"./vue-router-CG6ezAck.js";import{r as M,s as N}from"./client-CRiPFGQo.js";import{t as P}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{i as oe,n as se}from"./agent-pins-CtGOL6hE.js";import{t as ce}from"./UiIconButton-CaxMAEd6.js";import{t as le}from"./UiSegmented-DirGF0fz.js";import{t as F}from"./UiSelect-iDXgMBmg.js";import{t as I}from"./avatars-CUyfvsKO.js";import{t as ue}from"./agent-identity-color-RqpT7gtx.js";import{a as de,i as fe,n as pe,t as L}from"./profile-model-BQO4zNs9.js";import{h as me}from"./task-evidence-i9SDhd3E.js";import{t as he}from"./useAgentRecords-Bw9B25sk.js";import{n as R}from"./paths-CDREouhi.js";import{t as z}from"./AgentName-CKA8o3DK.js";import{r as B}from"./agent-occupation-BODbxMc2.js";import{i as ge,n as _e}from"./project-origin-BthRWajS.js";import{n as V,r as H,s as U,t as W}from"./agent-work-summary-9jEiDLve.js";import{a as ve,s as G}from"./catalog-DoiBFHyb.js";import{t as K}from"./project-team-api-DLYFf3Df.js";/* empty css */import{t as ye}from"./UnassignedConversationsPanel-LcjLO-S7.js";import{n as be,t as xe}from"./EmployeeRecruitDialog-DA6MLiX4.js";import{t as Se}from"./ProjectAgentFirstTask-1ZqQx7TD.js";function Ce(e,t=Date.now()){return`-${Math.floor(t%e)}ms`}var we=[`aria-label`,`title`],Te=P(c({__name:`BackToTop`,props:{scroller:{},threshold:{default:600}},setup(n){let r=n,o=T(!1);function s(){o.value=(r.scroller?.scrollTop??0)>r.threshold}a(()=>r.scroller,(e,t)=>{t?.removeEventListener(`scroll`,s),e?.addEventListener(`scroll`,s,{passive:!0}),s()},{immediate:!0}),i(()=>r.scroller?.removeEventListener(`scroll`,s));function c(){r.scroller&&(r.scroller.scrollTop=0),s()}return(n,r)=>o.value?(e(),t(`button`,{key:0,type:`button`,class:`back-to-top`,"data-back-to-top":``,"aria-label":v(w)(`ui.backToTop`),title:v(w)(`ui.backToTop`),onClick:c},[...r[0]||=[_(`svg`,{viewBox:`0 0 24 24`,width:`18`,height:`18`,"aria-hidden":`true`},[_(`path`,{d:`M6 15l6-6 6 6`,fill:`none`,stroke:`currentColor`,"stroke-width":`2.2`,"stroke-linecap":`round`,"stroke-linejoin":`round`})],-1)]],8,we)):d(``,!0)}}),[[`__scopeId`,`data-v-dceeb77d`]]);function Ee(e,t,n=600){let r=T(!1),o=null;function s(){o?.disconnect(),o=null}return a([e,t],([e,t])=>{s(),r.value=!1,!(!e||typeof IntersectionObserver>`u`)&&(o=new IntersectionObserver(e=>{r.value=e.some(e=>e.isIntersecting)},{root:t,rootMargin:`0px 0px ${n}px 0px`}),o.observe(e))},{immediate:!0,flush:`post`}),i(s),r}var q=new Map;function De(e,t,n){let r=!1;A(()=>{e.value&&q.set(t,e.value.scrollTop)}),a(n,async n=>{if(!n||r)return;r=!0;let i=q.get(t);q.delete(t),i!==void 0&&(await l(),e.value&&(e.value.scrollTop=i))},{immediate:!0})}var Oe=[`all`,`active`,`inactive`,`archived`],ke=[`agents`,`projects`],J=[`q`,`project`,`status`,`view`];function Y(e){return(Array.isArray(e)?e:[e]).filter(e=>typeof e==`string`&&e!==``)}function Ae(e,t,n){return e.includes(t??``)?t:n}function je(e){return{search:Y(e.q)[0]??``,projects:[...new Set(Y(e.project))],status:Ae(Oe,Y(e.status)[0],`all`),view:Ae(ke,Y(e.view)[0],`agents`)}}function Me(e,t){let n=Object.fromEntries(Object.entries(e).filter(([e])=>!J.includes(e))),r=t.search.trim();return r&&(n.q=r),t.projects.length&&(n.project=[...t.projects]),t.status!==`all`&&(n.status=t.status),t.view!==`agents`&&(n.view=t.view),n}function Ne(e,t){return e.search.trim()===t.search.trim()&&e.status===t.status&&e.view===t.view&&e.projects.length===t.projects.length&&e.projects.every((e,n)=>e===t.projects[n])}var Pe=new Set([`loading`,`unreported`,`unavailable`]);function Fe(e,t,n,r,i=[],a=!1){let o=new Set(r.filter(e=>!i.length||i.includes(e))),s=new Map,c=e=>{let t=s.get(e);return t||(t={projectId:e,agentIds:[],runningCount:0,unknownCount:0},s.set(e,t)),t};if(typeof a==`boolean`?a:a?.includeEmpty)for(let e of r)o.has(e)&&c(e);for(let r of e){let e=t(r).filter(e=>o.has(e)),i=n(r);for(let t of e){let e=c(t);e.agentIds.push(r),i===`running`&&(e.runningCount+=1),(!i||Pe.has(i))&&(e.unknownCount+=1)}}let l=new Map(r.map((e,t)=>[e,t]));return[...s.values()].sort((e,t)=>(l.get(e.projectId)??2**53-1)-(l.get(t.projectId)??2**53-1)||e.projectId.localeCompare(t.projectId))}var Ie=[`data-directory-project`],Le=[`aria-expanded`,`aria-controls`],Re={class:`directory-project-heading`},X={class:`directory-project-name`},ze={key:0,class:`ui-meta directory-project-purpose`,"data-project-purpose":``},Be={class:`ui-meta directory-project-summary`},Ve={class:`directory-project-header-lead`,"data-project-header-lead":``},He={key:0,class:`directory-project-occupations`,"data-project-member-occupations":``},Ue={class:`ui-meta directory-project-counts`},Z=[`id`],We={key:0,class:`directory-project-lead`,"data-project-lead":``},Ge={key:1,role:`alert`},Ke={key:2},qe={class:`ui-meta`},Je={key:3,class:`ui-meta`},Ye=c({__name:`DirectoryProjectGroup`,props:o({spaceId:{},projectId:{},name:{},purpose:{},agents:{},count:{},runningCount:{},unknownCount:{}},{expanded:{type:Boolean,default:!1},expandedModifiers:{}}),emits:[`update:expanded`],setup(r){let i=r,o=ne(r,`expanded`),s=T(null),c=T(!1),l=T(!1),u=0,h=O(()=>`directory-project-${i.projectId??`unassigned`}`),y=O(()=>i.projectId&&i.spaceId?R(i.spaceId,`overview`,i.projectId):null),b=O(()=>{if(s.value?.lead?.name)return s.value.lead.name;let e=(i.agents??[]).find(e=>e.occupation?.role===`lead`||e.profile.agentType===`coordinator`);return e?e.profile.displayName||e.profile.name:null}),x=O(()=>{let e=new Set,t=[];for(let n of i.agents??[]){let r=B(n.occupation)[0];if(!r)continue;let i=n.profile.occupationEmoji?.trim(),a=i?`${i} ${r}`:r;e.has(a)||(e.add(a),t.push(a))}return t});async function S(){if(!i.projectId||!i.spaceId)return;let e=++u;c.value=!0,l.value=!1;try{let t=await K(i.spaceId,i.projectId);e===u&&(s.value=t)}catch{e===u&&(l.value=!0)}finally{e===u&&(c.value=!1)}}return a(()=>[i.spaceId,i.projectId],()=>{u+=1,s.value=null,c.value=!1,l.value=!1,o.value&&S()}),a(o,e=>{e&&!s.value&&!c.value&&S()},{immediate:!0}),(i,a)=>(e(),t(`section`,{class:`directory-project`,"data-directory-project":r.projectId??``},[_(`button`,{type:`button`,class:`directory-project-toggle`,"aria-expanded":o.value,"aria-controls":h.value,onClick:a[0]||=e=>o.value=!o.value},[_(`span`,Re,[_(`span`,X,C(r.name),1),r.purpose?(e(),t(`span`,ze,C(r.purpose),1)):d(``,!0)]),_(`span`,Be,[_(`span`,Ve,C(b.value?v(w)(`agentRedesign.projectView.lead`,{name:b.value}):v(w)(`agentRedesign.projectView.leadUnset`)),1),x.value.length?(e(),t(`span`,He,` · `+C(x.value.join(` · `)),1)):d(``,!0)]),_(`span`,Ue,[f(C(v(w)(`agentRedesign.projectView.members`,{count:r.count}))+` `,1),r.runningCount?(e(),t(g,{key:0},[f(` · `+C(v(w)(`agentRedesign.projectView.running`,{count:r.runningCount})),1)],64)):d(``,!0),r.unknownCount?(e(),t(g,{key:1},[f(` · `+C(v(w)(`agentRedesign.projectView.unknown`,{count:r.unknownCount})),1)],64)):d(``,!0)]),a[1]||=_(`svg`,{class:`directory-project-chevron`,viewBox:`0 0 24 24`,"aria-hidden":`true`},[_(`path`,{d:`m6 9 6 6 6-6`})],-1)],8,Le),o.value?(e(),t(`div`,{key:0,id:h.value,class:`directory-project-body`},[r.projectId?(e(),t(`div`,We,[c.value?(e(),D(N,{key:0,variant:`inline`,label:v(w)(`agentRedesign.projectView.loadingLead`)},null,8,[`label`])):l.value?(e(),t(`p`,Ge,[f(C(v(w)(`agentRedesign.projectView.leadFailed`))+` `,1),n(k,{size:`sm`,variant:`ghost`,onClick:S},{default:m(()=>[f(C(v(w)(`agentProfiles.retry`)),1)]),_:1})])):s.value?.lead?(e(),t(`p`,Ke,[_(`span`,qe,C(v(w)(`projects.overview.lead`)),1),n(z,{"space-id":r.spaceId,"agent-id":s.value.lead.agentId,name:s.value.lead.name},null,8,[`space-id`,`agent-id`,`name`])])):s.value?(e(),t(`p`,Je,C(s.value.status===`lead_unavailable`?v(w)(`projects.overview.leadUnavailableUnnamed`):v(w)(`projects.overview.noLead`)),1)):d(``,!0),y.value?(e(),D(v(j),{key:4,class:`quiet-button`,to:y.value},{default:m(()=>[f(C(v(w)(`agentRedesign.projectView.openProject`)),1)]),_:1},8,[`to`])):d(``,!0)])):d(``,!0),p(i.$slots,`default`)],8,Z)):d(``,!0)],8,Ie))}}),Xe={viewBox:`0 0 1024 1024`,width:`18`,height:`18`,fill:`currentColor`,"aria-hidden":`true`,focusable:`false`},Ze=[`d`],Q=`M878.3 392.1L631.9 145.7c-6.5-6.5-15-9.7-23.5-9.7s-17 3.2-23.5 9.7L423.8 306.9c-12.2-1.4-24.5-2-36.8-2-73.2 0-146.4 24.1-206.5 72.3a33.23 33.23 0 0 0-2.7 49.4l181.7 181.7-215.4 215.2a15.8 15.8 0 0 0-4.6 9.8l-3.4 37.2c-.9 9.4 6.6 17.4 15.9 17.4.5 0 1 0 1.5-.1l37.2-3.4c3.7-.3 7.2-2 9.8-4.6l215.4-215.4 181.7 181.7c6.5 6.5 15 9.7 23.5 9.7 9.7 0 19.3-4.2 25.9-12.4 56.3-70.3 79.7-158.3 70.2-243.4l161.1-161.1c12.9-12.8 12.9-33.8 0-46.8zM666.2 549.3l-24.5 24.5 3.8 34.4a259.92 259.92 0 0 1-30.4 153.9L262 408.8c12.9-7.1 26.3-13.1 40.3-17.9 27.2-9.4 55.7-14.1 84.7-14.1 9.6 0 19.3.5 28.9 1.6l34.4 3.8 24.5-24.5L608.5 224 800 415.5 666.2 549.3z`,$=`M878.3 392.1L631.9 145.7c-6.5-6.5-15-9.7-23.5-9.7s-17 3.2-23.5 9.7L423.8 306.9c-12.2-1.4-24.5-2-36.8-2-73.2 0-146.4 24.1-206.5 72.3-15.4 12.3-16.6 35.4-2.7 49.4l181.7 181.7-215.4 215.2a15.8 15.8 0 0 0-4.6 9.8l-3.4 37.2c-.9 9.4 6.6 17.4 15.9 17.4.5 0 1 0 1.5-.1l37.2-3.4c3.7-.3 7.2-2 9.8-4.6l215.4-215.4 181.7 181.7c6.5 6.5 15 9.7 23.5 9.7 9.7 0 19.3-4.2 25.9-12.4 56.3-70.3 79.7-158.3 70.2-243.4l161.1-161.1c12.9-12.8 12.9-33.8 0-46.8z`,Qe=c({__name:`PinIcon`,props:{filled:{type:Boolean,default:!1}},setup(n){return(r,i)=>(e(),t(`svg`,Xe,[_(`path`,{d:n.filled?$:Q},null,8,Ze)]))}}),$e=T(Date.now()),et=0,tt;function nt(e=6e4){return et+=1,tt||=($e.value=Date.now(),setInterval(()=>{$e.value=Date.now()},e)),i(()=>{--et,!et&&tt&&(clearInterval(tt),tt=void 0)}),$e}var rt=6e4,it=60*rt,at=24*it;function ot(e,t,n=Date.now()){let r=e?Date.parse(e):NaN;if(Number.isNaN(r)||r>n)return null;let i=n-r,[a,o]=i<it?[`minute`,rt]:i<2*at?[`hour`,it]:[`day`,at];return new Intl.NumberFormat(t,{style:`unit`,unit:a,unitDisplay:`long`}).format(Math.max(1,Math.floor(i/o)))}var st=[[`second`,60],[`minute`,60],[`hour`,24],[`day`,30],[`month`,12],[`year`,1/0]];function ct(e,t,n=Date.now()){let r=e?Date.parse(e):NaN;if(Number.isNaN(r))return null;let i=Math.round((r-n)/1e3),a=new Intl.RelativeTimeFormat(t,{numeric:`auto`});for(let[e,t]of st){if(Math.abs(i)<t)return a.format(i,e);i=Math.round(i/t)}return null}function lt(e){if(!e)return null;let t=e.reason;switch(e.status){case`blocked`:return t?w(`agentRedesign.statusDetail.blocked`,{reason:t}):w(`agentRedesign.statusDetail.blockedUnrecorded`);case`awaiting_review`:return t?w(`agentRedesign.statusDetail.review`,{reason:t}):w(`agentRedesign.statusDetail.reviewUnrecorded`);case`paused`:return t?w(`agentRedesign.statusDetail.paused`,{reason:t}):w(`agentRedesign.statusDetail.pausedUnrecorded`);case`queued`:return w(`agentRedesign.statusDetail.queued`);case`awaiting_recruitment`:return w(`agentRedesign.statusDetail.recruitment`);case`unreported`:return w(e.source===`roster`?`agentRedesign.statusDetail.unreportedRoster`:`agentRedesign.statusDetail.unreportedTasks`);case`unavailable`:return w(`agentRedesign.statusDetail.unavailable`);default:return null}}var ut={class:`ui-card agent-card`},dt={class:`agent-card-topline`},ft=[`src`],pt={class:`agent-directory-name`},mt={key:0,class:`ui-badge fla-employee-number`},ht={key:1,class:`ui-badge ui-badge--accent agent-card-role`},gt=[`title`],_t=[`data-membership-status`],vt=[`data-work-status`,`aria-label`],yt={class:`agent-card-work-status-text`},bt=[`aria-label`,`aria-pressed`,`title`,`disabled`],xt={key:0,class:`agent-card-current`,"data-current-task":``},St={class:`agent-card-current-label`},Ct=[`title`],wt=[`title`],Tt=[`title`],Et=[`title`],Dt={key:2,class:`agent-inline-skills`},Ot={class:`agent-card-meta`},kt={class:`agent-card-projects`},At={key:0,class:`agent-card-project-list`},jt=[`title`],Mt={key:0,class:`ui-badge agent-card-project-count`},Nt={key:1,class:`ui-badge`},Pt={key:2,class:`agent-card-no-project`},Ft=2400,It=P(c({__name:`AgentCard`,props:{agent:{},spaceId:{},projectNames:{},managesAllProjects:{type:Boolean},entry:{},pinned:{type:Boolean},pinPending:{type:Boolean}},emits:[`toggle-pin`],setup(i,{emit:a}){let o=i,s=a,c=O(()=>L(o.agent)),l=Ce(Ft),u=O(()=>de(o.agent)),p=O(()=>u.value.slice(0,2).map(e=>o.projectNames?.[e]||e)),h=O(()=>Math.max(u.value.length-2,0)),x=O(()=>o.agent.profile.capabilities.slice(0,3)),S=O(()=>`is-${o.agent.profile.status}`),T=O(()=>w(`projectAgents.status.${o.agent.profile.status}`)),E=O(()=>o.entry?.status??`unreported`),ne=O(()=>o.entry?.title??w(`agentRedesign.workbench.titleNotLoaded`)),k=O(()=>ct(o.entry?.lastUpdateAt,ee())),re=nt(),ie=O(()=>E.value===`running`?ot(o.entry?.runningSince,ee(),re.value):null),ae=O(()=>({path:`/project-agents/manage`,query:{agent:o.agent.agentId,task:o.entry?.taskId??``}})),A=O(()=>lt(o.entry)),M=O(()=>B(o.agent.occupation)),P=O(()=>`is-${E.value}`),oe=O(()=>({coordinator:w(`agentProfiles.roles.projectManager`),hr:w(`agentProfiles.roles.hr`)})[o.agent.profile.agentType]??``);function ce(e,t,n){let r=w(e,n);return r===e?t:r}let le=O(()=>ce(`agentRedesign.membershipStatus`,`Member · ${T.value}`,{status:T.value})),F=O(()=>{let e={awaiting_recruitment:`Awaiting recruitment`,queued:`Queued`,running:`Running`,paused:`Paused`,awaiting_review:`Awaiting review`,blocked:`Blocked`,none:w(`agentProfiles.idle`),loading:`Loading work status`,unreported:`Partial status`,unavailable:`Unavailable`,ended:`Ended`}[E.value];return ce(`agentRedesign.workStatus.${E.value}`,e??`Work status unavailable`)}),fe=O(()=>o.pinPending?se(`saving`,`Saving Agent pin…`):o.pinned?se(`unpin`,`Unpin Agent`):se(`pin`,`Pin Agent`));function me(){s(`toggle-pin`,!o.pinned)}return(a,o)=>(e(),t(`article`,ut,[_(`div`,dt,[_(`span`,{class:y([`agent-portrait small agent-card-identity`,{"is-working":E.value===`running`}]),style:te([v(ue)(i.agent.agentId),{"--working-phase":v(l)}]),"aria-hidden":`true`,"data-card-portrait":``},[v(I)(i.agent.agentId)?(e(),t(`img`,{key:0,src:v(I)(i.agent.agentId),alt:``},null,8,ft)):(e(),t(g,{key:1},[f(C(i.agent.profile.occupationEmoji||c.value.slice(0,1)),1)],64))],6),_(`div`,pt,[n(v(j),{to:v(pe)(i.spaceId,i.agent.agentId),"aria-label":`${c.value} · ${v(w)(`agentProfiles.profile`)}`},{default:m(()=>[f(C(c.value),1)]),_:1},8,[`to`,`aria-label`]),i.agent.employeeNumber?(e(),t(`span`,mt,`FLA `+C(i.agent.employeeNumber),1)):d(``,!0),oe.value?(e(),t(`span`,ht,C(oe.value),1)):d(``,!0),M.value.length?(e(),t(`span`,{key:2,class:`agent-card-occupation`,"data-occupation":``,title:v(w)(`agentRedesign.occupation.title`)},C(M.value.join(` · `)),9,gt)):d(``,!0),n(be,{"agent-id":i.agent.agentId},null,8,[`agent-id`])]),i.agent.profile.status===`active`?d(``,!0):(e(),t(`span`,{key:0,class:y([`ui-badge agent-card-status agent-card-membership-status`,S.value]),"data-membership-status":i.agent.profile.status},C(le.value),11,_t)),E.value!==`ended`&&(i.agent.profile.status===`active`||![`none`,`loading`].includes(E.value))?(e(),t(`span`,{key:1,class:y([`agent-card-work-status`,P.value]),"data-work-status":E.value,"aria-label":`${v(w)(`agentRedesign.workStatus.label`)} · ${F.value}`},[_(`span`,yt,C(F.value),1)],10,vt)):d(``,!0),_(`button`,{class:`agent-card-pin quiet-button`,"data-agent-pin-toggle":``,type:`button`,"aria-label":`${fe.value} · ${c.value}`,"aria-pressed":!!i.pinned,title:fe.value,disabled:i.pinPending,onClick:b(me,[`stop`])},[i.pinPending?(e(),D(N,{key:0,variant:`inline`,label:fe.value},null,8,[`label`])):(e(),D(Qe,{key:1,filled:i.pinned},null,8,[`filled`]))],8,bt)]),i.entry?.taskId?(e(),t(`p`,xt,[_(`span`,St,C(v(w)(`agentRedesign.workbench.current`)),1),n(v(j),{class:y([`agent-card-current-task`,{"is-unloaded":!i.entry.title}]),to:ae.value},{default:m(()=>[f(C(ne.value),1)]),_:1},8,[`to`,`class`]),E.value===`running`?(e(),t(`span`,{key:0,class:`agent-card-last-update`,title:i.entry.runningSince??void 0,"data-running-since":``},C(ie.value?v(w)(`agentRedesign.workbench.runningFor`,{duration:ie.value}):v(w)(`agentRedesign.workbench.runningForUnknown`)),9,Ct)):(e(),t(`span`,{key:1,class:`agent-card-last-update`,title:i.entry.lastUpdateAt??void 0,"data-last-update":``},C(k.value?v(w)(`agentRedesign.workbench.lastUpdate`,{time:k.value}):v(w)(`agentRedesign.workbench.lastUpdateUnknown`)),9,wt))])):d(``,!0),A.value?(e(),t(`p`,{key:1,class:y([`agent-card-status-detail`,P.value]),title:A.value,"data-status-detail":``},C(A.value),11,Tt)):d(``,!0),_(`p`,{class:`agent-card-responsibility`,"data-agent-summary":``,title:v(w)(`agentRedesign.workbench.responsibility`)},C(i.agent.profile.responsibility),9,Et),x.value.length?(e(),t(`div`,Dt,[(e(!0),t(g,null,r(x.value,n=>(e(),t(`span`,{key:n},C(n),1))),128))])):d(``,!0),_(`div`,Ot,[_(`div`,kt,[p.value.length?(e(),t(`div`,At,[(e(!0),t(g,null,r(p.value,n=>(e(),t(`span`,{key:n,class:`ui-badge agent-card-project-badge`,title:n},C(n),9,jt))),128)),h.value?(e(),t(`span`,Mt,` +`+C(h.value),1)):d(``,!0)])):i.managesAllProjects?(e(),t(`span`,Nt,C(v(w)(`agentProfiles.allProjects`)),1)):(e(),t(`span`,Pt,C(v(w)(`agentProfiles.noProject`)),1))]),n(v(j),{class:`agent-directory-open`,to:v(pe)(i.spaceId,i.agent.agentId),"aria-label":`${c.value} · ${v(w)(`agentProfiles.profile`)}`},{default:m(()=>[f(C(v(w)(`agentProfiles.profile`))+` → `,1)]),_:1},8,[`to`,`aria-label`])])]))}}),[[`__scopeId`,`data-v-310201de`]]),Lt=new Map,Rt=()=>({agents:[],phase:`open`,cursor:null,complete:!1});function zt(e,t){let n=T([]),r=T(!1),i=T(``),o=T(!1),s=Rt(),c=``,l=0;function u(e){s=e,n.value=e.agents,o.value=e.complete}function d(){l+=1,c=`${e.value}\n${t.value}`,r.value=!1,i.value=``;let n=Lt.get(c);return u(n??Rt()),n?Promise.resolve():f()}async function f(){let n=e.value;if(!n||r.value||s.complete)return;let a=l,o=s,d=new URLSearchParams({personalSpaceId:n,limit:`50`});t.value!==`all`&&d.set(`status`,t.value),o.phase===`open`&&d.set(`work`,`open`),o.cursor&&d.set(`cursor`,o.cursor),r.value=!0,i.value=``;let p=!1;try{let e=await M(`/api/project-agent-pages?${d}`);if(a!==l)return;let t=me(e),r=typeof t.nextCursor==`string`&&t.nextCursor?t.nextCursor:null,i=t.complete===!0;if(!i&&!r)throw Error(w(`agentProfiles.pageBroken`));let s=new Set(o.agents.map(e=>e.agentId)),f=he(e,n).filter(e=>s.has(e.agentId)?!1:(s.add(e.agentId),!0)),m={agents:[...o.agents,...f],phase:i?`all`:o.phase,cursor:i?null:r,complete:i&&o.phase===`all`};Lt.set(c,m),u(m),p=o.phase===`open`&&i&&m.agents.length<50}catch(e){a===l&&(i.value=e instanceof Error?e.message:w(`agentProfiles.loadError`))}finally{a===l&&(r.value=!1)}p&&a===l&&await f()}function p(){return Lt.delete(c),d()}return a([e,t],d,{immediate:!0}),{agents:n,loading:r,error:i,complete:o,loadMore:f,reload:p}}var Bt={running:0,awaiting_review:1,blocked:2,paused:3,queued:4,awaiting_recruitment:5,loading:6,unreported:6,unavailable:6,none:7,ended:8},Vt=new Set([`blocked`,`awaiting_review`,`paused`]);function Ht(e){return W.includes(e)}function Ut(e,t){let n={};for(let r of U(e,t))n[r.taskId]={taskId:r.taskId,title:r.title,updatedAt:r.updatedAt??null,participantUpdatedAt:Object.fromEntries(r.participants.map(e=>[e.agentId,e.updatedAt??null])),summary:r.resultSummary?.trim()||null};return n}function Wt(e,t){return e?e.status:t===`loading`?`loading`:t===`error`?`unavailable`:t===`incomplete`?`unreported`:`none`}function Gt(e){return e===`idle`?`none`:e===`ended`?`ended`:Ht(e)?e:`unreported`}function Kt(e,t){let n=typeof e.workStatus==`string`,r=n?Gt(e.workStatus):Wt(t.summary,t.summaryState),i=Ht(r)?n?e.currentTaskId??null:t.summary?.taskId??null:null,a=i?t.tasks?.[i]:void 0,o=a?.title??(i&&t.summary?.taskId===i?t.summary.title:null),s=a?a.participantUpdatedAt[e.agentId]??a.updatedAt:null;return{status:r,source:n?`roster`:t.summary?`tasks`:`unknown`,taskId:i,title:o,lastUpdateAt:s,reason:Vt.has(r)?a?.summary??null:null,runningSince:n&&r===`running`?e.currentTaskRunningSince??null:null}}function qt(e){let t=e?Date.parse(e):NaN;return Number.isNaN(t)?null:t}function Jt(e,t){let n=Bt[e.entry.status]-Bt[t.entry.status];if(n)return n;let r=qt(e.entry.lastUpdateAt),i=qt(t.entry.lastUpdateAt);return r===i?e.name.localeCompare(t.name):r===null?1:i===null?-1:i-r}function Yt(e){let t=T({}),n=T({}),r=T(!1),i=T(``),o=T(`idle`),s=new Map,c=0;async function l(){let a=++c,l=e.value;if(i.value=``,!l){t.value={},n.value={},r.value=!1,o.value=`idle`;return}let u=s.get(l);u?(t.value=u.summaries,n.value=u.tasks):(Object.keys(t.value).length||Object.keys(n.value).length)&&(t.value={},n.value={}),r.value=!0,o.value=`loading`;try{let r=await M(`/api/project-agent-tasks?${new URLSearchParams({personalSpaceId:l,limit:`200`})}`);if(a!==c||e.value!==l)return;let i={summaries:H(r,l),tasks:Ut(r,l)};s.set(l,i),t.value=i.summaries,n.value=i.tasks,o.value=V(r)?`ready`:`incomplete`}catch(t){if(a!==c||e.value!==l)return;i.value=t instanceof Error?t.message:w(`agentProfiles.loadError`),o.value=`error`}finally{a===c&&e.value===l&&(r.value=!1)}}return a(e,l,{immediate:!0}),{summaries:t,tasks:n,loading:r,error:i,state:o,load:l}}function Xt(e,t,n){let r=T([]);a(n,()=>{r.value=[]}),a([e,t],([e,t])=>{t&&e.length&&!r.value.length&&(r.value=[...e])},{immediate:!0});let i=O(()=>{if(!r.value.length)return e.value;let t=new Map(r.value.map((e,t)=>[e,t]));return[...e.value.filter(e=>t.has(e)).sort((e,n)=>t.get(e)-t.get(n)),...e.value.filter(e=>!t.has(e))]});function o(){r.value=[...e.value]}return{order:i,apply:o}}var Zt=[`src`],Qt=P(c({__name:`EmployeeWorkbenchLinks`,props:{personalSpaceId:{}},setup(n){let i=n;a(()=>i.personalSpaceId,e=>{G(e===`current`?``:e)},{immediate:!0});let o=O(()=>ve.value.filter(e=>e.agentId&&e.agentStatus===`active`&&(e.runtime||e.workbench?.kind===`native`)));return(n,i)=>(e(!0),t(g,null,r(o.value,n=>(e(),D(v(j),{key:n.id,class:`ui-button employee-workbench-link`,to:`/employees/${encodeURIComponent(n.id)}`,title:v(w)(`agentProfiles.workbench`)},{default:m(()=>[v(I)(n.id)?(e(),t(`img`,{key:0,src:v(I)(n.id),alt:``,"aria-hidden":`true`},null,8,Zt)):d(``,!0),f(` `+C(n.name)+` · `+C(n.role),1)]),_:2},1032,[`to`,`title`]))),128))}}),[[`__scopeId`,`data-v-4906fde1`]]),$t=[`aria-label`],en={class:`ui-toolbar agents-directory-heading`},tn={key:0,class:`agents-directory-count`},nn={key:1,class:`agents-directory-count`,"aria-hidden":`true`},rn={class:`agent-profile-actions`},an={key:0,class:`agent-directory-pin-error`,role:`alert`},on={key:2,class:`agent-directory-work-error`,role:`status`},sn={class:`ui-toolbar agents-directory-filters`},cn={key:0,class:`agents-directory-search`},ln={class:`ui-sr-only`},un=[`placeholder`],dn={key:4,role:`alert`,class:`ui-card ui-empty agent-profile-empty`},fn={key:5,class:`agents-directory-partial`,role:`status`},pn={key:6,class:`ui-card ui-empty agent-profile-empty`},mn={key:7,class:`agents-directory-reorder`,role:`status`},hn={key:8,class:`agents-directory-grid`},gn={key:9,class:`agents-directory-projects`},_n={class:`agents-directory-grid`},vn={key:1,class:`agents-directory-more-error`,role:`alert`},yn=P(c({__name:`AgentsDirectoryPage`,setup(i){let o=re(),c=ae(),p=ie(),y=O(()=>o.activePersonalSpace?.id??``),b=oe(y),te=b.agentIds,ne=b.savingAgentId,A=b.error,j=O(()=>se(`retry`,`Retry`)),{summaries:M,tasks:P,loading:I,error:ue,state:me,load:he}=Yt(y),R=je(c.query),z=T(R.search),B=T(R.status),V=T(R.projects),H=T(R.view),{agents:U,loading:W,error:G,complete:K,loadMore:be,reload:Ce}=zt(y,B),we=O(()=>W.value&&!U.value.length),q=O(()=>!K.value&&U.value.length>0),Oe=O(()=>!!(z.value.trim()||V.value.length)),ke=T({}),J=T(null),Y=T(null),Ae=Ee(Y,J),Pe=T(!1),Ie=O(()=>ve.value.some(e=>!e.fixed)),Le=e=>ve.value.some(t=>t.agentId===e&&t.management?.mode===`all`),Re=O(()=>(o.state?.personalProjects??[]).filter(e=>e.personal_space_id===y.value)),X=O(()=>Re.value.filter(e=>_e(e))),ze=O(()=>new Map(X.value.map(e=>[e.project_id,e]))),Be=O(()=>X.value.map(e=>({value:e.project_id,label:e.profile.name}))),Ve=O(()=>Object.fromEntries(Re.value.map(e=>[e.project_id,ge(e)]))),He=O(()=>[{value:`all`,label:w(`agentProfiles.allStatus`)},...[`active`,`inactive`,`archived`].map(e=>({value:e,label:w(`projectAgents.status.${e}`)}))]),Ue=e=>(B.value===`all`||e.profile.status===B.value)&&(!V.value.length||de(e).some(e=>V.value.includes(e)))&&fe([L(e),e.employeeNumber?`FLA ${e.employeeNumber}`:``,e.profile.responsibility,...e.profile.capabilities,...de(e).map(e=>Ve.value[e]||e)].join(` `),z.value),Z=O(()=>we.value||I.value||o.runtimeStatus===`loading`),We=O(()=>Object.fromEntries(U.value.map(e=>[e.agentId,Kt(e,{summary:M.value[e.agentId],summaryState:me.value,tasks:P.value})]))),Ge=O(()=>new Map(U.value.map(e=>[e.agentId,e]))),Ke=O(()=>U.value.map(e=>({agent:e,entry:We.value[e.agentId],name:L(e)})).sort(Jt).map(e=>e.agent.agentId)),qe=Xt(Ke,O(()=>!Z.value),y),Je=e=>e.map(e=>Ge.value.get(e)).filter(e=>e&&Ue(e)),Xe=T(`recent`),Ze=O(()=>[{value:`recent`,label:w(`agentProfiles.sort.recent`)},{value:`name`,label:w(`agentProfiles.sort.name`)}]),Q=O(()=>{let e=Je(qe.order.value);return Xe.value===`name`?[...e].sort((e,t)=>L(e).localeCompare(L(t),ee())):e}),$=T(!1),Qe=T(null);async function $e(){$.value=!0,await l(),Qe.value?.focus()}let et=O(()=>[{value:`agents`,label:w(`agentRedesign.projectView.agents`)},{value:`projects`,label:w(`agentRedesign.projectView.projects`)}]),tt=O(()=>Fe(Q.value.map(e=>e.agentId),e=>de(Ge.value.get(e)),e=>We.value[e]?.status,X.value.map(e=>e.project_id),V.value,{includeEmpty:!z.value.trim()}).map(e=>({...e,key:e.projectId,name:Ve.value[e.projectId]||e.projectId,purpose:ze.value.get(e.projectId)?.profile.purpose??null,agents:e.agentIds.map(e=>Ge.value.get(e))}))),nt=e=>({agent:e,spaceId:y.value,projectNames:Ve.value,managesAllProjects:Le(e.agentId),entry:We.value[e.agentId],pinned:te.value.includes(e.agentId),pinPending:ne.value===e.agentId}),rt=O(()=>Je(Ke.value).some((e,t)=>e.agentId!==Q.value[t]?.agentId));async function it(e,t){await b.setPinned(e,t)}u(()=>{o.runtimeStatus===`idle`&&o.refresh()});let at=()=>({search:z.value,projects:V.value,status:B.value,view:H.value});a(()=>c.query,e=>{let t=je(e);z.value=t.search,V.value=t.projects,B.value=t.status,H.value=t.view}),a([z,B,V,H],()=>{Ne(je(c.query),at())||p.replace({query:Me(c.query,at())})},{deep:!0}),De(J,`agents-directory`,O(()=>Q.value.length>0)),a([y,()=>c.query.agent],([e,t])=>{if(e&&typeof t==`string`){let{agent:n,...r}=c.query;p.replace({path:typeof c.query.task==`string`?`/project-agents/manage`:pe(e,t),query:typeof c.query.task==`string`?c.query:r})}},{immediate:!0}),a(y,(e,t)=>{t&&(z.value=``,V.value=[],B.value=`all`,ke.value={})});async function ot(e){Pe.value=!1,await p.push(pe(y.value,e.agent.agentId))}a([Ae,W,G,K],()=>{Ae.value&&!W.value&&!G.value&&!K.value&&be()});async function st(){o.state||await o.refresh(),await Promise.allSettled([Ce(),he()])}function ct(e){o.rememberPersonalProject(e)}return(i,a)=>(e(),t(`section`,{ref_key:`scroller`,ref:J,class:`view agents-directory`,"aria-label":v(w)(`agentProfiles.title`)},[_(`header`,en,[!Z.value||v(U).length?(e(),t(`p`,tn,C(v(w)(q.value?`agentProfiles.membersLoaded`:`agentProfiles.members`,{count:v(U).length})),1)):(e(),t(`span`,nn,`\xA0`)),_(`div`,rn,[Z.value&&v(U).length?(e(),D(N,{key:0,variant:`inline`,label:v(w)(`agentRedesign.refreshing`)},null,8,[`label`])):d(``,!0),n(Qt,{"personal-space-id":y.value||`current`},null,8,[`personal-space-id`]),Ie.value?(e(),D(k,{key:1,size:`sm`,variant:`primary`,disabled:!y.value,onClick:a[0]||=e=>Pe.value=!0},{default:m(()=>[f(C(v(w)(`employees.recruit`)),1)]),_:1},8,[`disabled`])):d(``,!0)])]),v(A)?(e(),t(`p`,an,[_(`span`,null,C(v(A)),1),n(k,{size:`sm`,variant:`ghost`,onClick:a[1]||=e=>v(b).load({force:!0})},{default:m(()=>[f(C(j.value),1)]),_:1})])):d(``,!0),!Z.value&&!v(G)&&v(o).runtimeStatus===`ready`&&!X.value.length?(e(),D(Se,{key:1,"personal-space-id":y.value},null,8,[`personal-space-id`])):d(``,!0),v(ue)?(e(),t(`p`,on,[_(`span`,null,C(v(w)(`agentRedesign.workStatus.refreshError`)),1),n(k,{size:`sm`,variant:`ghost`,onClick:v(he)},{default:m(()=>[f(C(v(w)(`agentProfiles.retry`)),1)]),_:1},8,[`onClick`])])):d(``,!0),_(`div`,sn,[n(F,{modelValue:V.value,"onUpdate:modelValue":a[2]||=e=>V.value=e,class:`agents-directory-select`,multiple:``,options:Be.value,label:v(w)(`employees.filterLabel`),placeholder:v(w)(`employees.allProjectsFilter`)},null,8,[`modelValue`,`options`,`label`,`placeholder`]),n(F,{modelValue:B.value,"onUpdate:modelValue":a[3]||=e=>B.value=e,class:`agents-directory-select`,options:He.value,label:v(w)(`projectAgents.fields.status`)},null,8,[`modelValue`,`options`,`label`]),n(F,{modelValue:Xe.value,"onUpdate:modelValue":a[4]||=e=>Xe.value=e,class:`agents-directory-select`,"data-directory-sort":``,options:Ze.value,label:v(w)(`agentProfiles.sort.label`)},null,8,[`modelValue`,`options`,`label`]),n(le,{modelValue:H.value,"onUpdate:modelValue":a[5]||=e=>H.value=e,class:`agents-directory-view`,"data-directory-view":``,options:et.value,label:v(w)(`agentRedesign.projectView.label`)},null,8,[`modelValue`,`options`,`label`]),$.value||z.value?(e(),t(`label`,cn,[_(`span`,ln,C(v(w)(`agentProfiles.search`)),1),h(_(`input`,{ref_key:`searchInput`,ref:Qe,"onUpdate:modelValue":a[6]||=e=>z.value=e,type:`search`,maxlength:`160`,placeholder:v(w)(`agentProfiles.search`),onFocus:a[7]||=e=>$.value=!0,onBlur:a[8]||=e=>$.value=!1,onKeydown:a[9]||=x(e=>{z.value=``,$.value=!1},[`esc`])},null,40,un),[[E,z.value]])])):(e(),D(ce,{key:1,icon:`search`,label:v(w)(`agentProfiles.search`),"data-directory-search":``,onClick:$e},null,8,[`label`]))]),Z.value&&!v(U).length?(e(),D(N,{key:3,label:v(w)(`agentProfiles.loading`)},null,8,[`label`])):d(``,!0),v(G)&&!v(U).length||v(o).runtimeStatus===`error`?h((e(),t(`div`,dn,[_(`p`,null,C(!v(U).length&&v(G)||v(w)(`agentProfiles.loadError`)),1),n(k,{size:`sm`,variant:`ghost`,onClick:st},{default:m(()=>[f(C(v(w)(`agentProfiles.retry`)),1)]),_:1})],512)),[[S,!Z.value||v(U).length===0]]):d(``,!0),q.value?(e(),t(`p`,fn,C(v(w)(Oe.value?`agentProfiles.partialFilter`:`agentProfiles.partialRoster`,{count:v(U).length})),1)):d(``,!0),!Z.value&&v(K)&&!Q.value.length&&H.value===`agents`&&!v(G)&&v(o).runtimeStatus!==`error`?(e(),t(`p`,pn,C(v(w)(v(U).length?`agentProfiles.noMatch`:`agentProfiles.noAgents`)),1)):d(``,!0),rt.value&&!Z.value?(e(),t(`p`,mn,[_(`span`,null,C(v(w)(`agentRedesign.workbench.reorderHint`)),1),n(k,{size:`sm`,variant:`ghost`,"data-workbench-reorder":``,onClick:a[10]||=e=>v(qe).apply()},{default:m(()=>[f(C(v(w)(`agentRedesign.workbench.reorder`)),1)]),_:1})])):d(``,!0),Q.value.length&&H.value===`agents`?(e(),t(`ul`,hn,[(e(!0),t(g,null,r(Q.value,r=>(e(),t(`li`,{key:r.agentId},[n(It,s({ref_for:!0},nt(r),{onTogglePin:e=>it(r.agentId,e)}),null,16,[`onTogglePin`])]))),128))])):H.value===`projects`?(e(),t(`div`,gn,[n(ye,{"space-id":y.value,"formal-projects":X.value,"existing-project-ids":Re.value.map(e=>e.project_id),onProjectCreated:ct},null,8,[`space-id`,`formal-projects`,`existing-project-ids`]),(e(!0),t(g,null,r(tt.value,i=>(e(),D(Ye,{key:i.key,expanded:ke.value[i.key],"onUpdate:expanded":e=>ke.value[i.key]=e,"space-id":y.value,"project-id":i.projectId,name:i.name,purpose:i.purpose,agents:i.agents,count:i.agents.length,"running-count":i.runningCount,"unknown-count":i.unknownCount},{default:m(()=>[_(`ul`,_n,[(e(!0),t(g,null,r(i.agents,r=>(e(),t(`li`,{key:r.agentId},[n(It,s({ref_for:!0},nt(r),{onTogglePin:e=>it(r.agentId,e)}),null,16,[`onTogglePin`])]))),128))])]),_:2},1032,[`expanded`,`onUpdate:expanded`,`space-id`,`project-id`,`name`,`purpose`,`agents`,`count`,`running-count`,`unknown-count`]))),128))])):d(``,!0),v(U).length&&!v(K)?(e(),t(`div`,{key:10,ref_key:`rosterEnd`,ref:Y,class:`agents-directory-more`},[v(W)?(e(),D(N,{key:0,variant:`inline`,label:v(w)(`agentProfiles.loadingMore`)},null,8,[`label`])):v(G)?(e(),t(`p`,vn,[_(`span`,null,C(v(w)(`agentProfiles.loadMoreError`))+` `+C(v(G)),1),n(k,{size:`sm`,variant:`ghost`,"data-roster-retry":``,onClick:v(be)},{default:m(()=>[f(C(v(w)(`agentProfiles.retry`)),1)]),_:1},8,[`onClick`])])):(e(),D(k,{key:2,size:`sm`,variant:`ghost`,"data-roster-more":``,onClick:v(be)},{default:m(()=>[f(C(v(w)(`agentProfiles.loadMore`)),1)]),_:1},8,[`onClick`]))],512)):d(``,!0),n(Te,{scroller:J.value},null,8,[`scroller`]),n(xe,{open:Pe.value,"personal-space-id":y.value,projects:X.value,"default-project-ids":V.value??[],onClose:a[11]||=e=>Pe.value=!1,onRecruited:ot},null,8,[`open`,`personal-space-id`,`projects`,`default-project-ids`])],8,$t))}}),[[`__scopeId`,`data-v-59b90cb4`]]);export{yn as default};
@@ -0,0 +1 @@
1
+ import{B as e,C as t,E as n,H as r,I as i,J as a,O as ee,R as te,S as o,T as s,X as c,_ as l,b as u,dt as d,g as ne,it as re,mt as f,n as ie,o as p,ot as m,x as h,y as g}from"./i18n-DYrQWclR.js";import{n as _,t as ae}from"./console-Dl-Zf-vm.js";import{a as v,i as oe,n as se,r as y,s as b}from"./client-CRiPFGQo.js";import{t as x}from"./UiSelect-iDXgMBmg.js";import{t as S}from"./UiDisclosure-BkmYnV5V.js";import{t as C}from"./TextField-DnkSv9Ye.js";import{r as ce,t as le}from"./identity-B3k8Qjz8.js";var ue={class:`view connections-view`},de=[`aria-label`],fe=[`data-status`],pe={class:`service-state`},me=[`data-status`],he={class:`connection-title-row`},ge={class:`service-state`},_e={class:`external-knowledge-section`},ve={class:`section-title section-title-with-help`},ye=[`href`,`aria-label`,`title`],be={class:`external-binding-count`},xe={class:`external-binding-list`},Se=[`data-status`],Ce={class:`external-binding-copy`},we={class:`external-binding-targets`},Te=[`data-status`],Ee={key:0},De={key:1},Oe={class:`external-binding-actions`},ke={key:0,class:`external-binding-editor`},Ae={class:`external-target-mode-list`},je={class:`external-binding-editor-actions`},Me={key:0,class:`compact-empty`},Ne={class:`wide-field`},Pe={class:`trusted-code-badge`},Fe={class:`section-title section-title-with-help`},Ie=[`href`,`aria-label`,`title`],Le={class:`conflict-policy-controls`},Re={key:2,role:`alert`},ze={key:1,class:`connection-subscriptions`},Be={class:`section-title`},Ve={class:`subscription-list`},He={key:0,class:`empty-state`},w=ee({__name:`ConnectionsPage`,setup(ee){let w=ae(),T=m(``),E=m(!1),D=m(``),O=m([]),k=m([]),A=m(!1),j=m(!1),M=m(``),N=m(null),P=m([]),F=m({}),I=m(``),L=m(`ask_human`),R=m(!1),z=m(!1),B=m(!1),V=`ask_human`,H=0,U=null,W=re({name:``,connectorType:`mcp`,mode:`hybrid`,personalProjectIds:[],mcpTransport:`http`,mcpUrl:``,mcpCommand:``,mcpArgs:``,mcpTokenEnv:``,mcpResourcePrefix:``,notionTokenEnv:``,notionPageIds:``,notionDataSourceIds:``,feishuTokenEnv:``,feishuRegion:`cn`,feishuSpaceId:``,feishuRootNodeToken:``,feishuNodeTokens:``,feishuWebBaseUrl:``,retrievalUrl:``,retrievalTokenEnv:``,retrievalKnowledgeIds:``,retrievalScoreThreshold:`0.5`,customModule:``,customEnvironmentNames:``,customSourceJson:`{}`}),Ue=g(()=>w.state?.providers?.personal?.status===`ready`),We=g(()=>w.state?.providers?.workspaces??[]),Ge=g(()=>We.value.filter(({status:e})=>e===`ready`).length),Ke=g(()=>{let e=w.state?.capabilities,t=[e?.browsePublicProjects?p(`pages.connections.publicCapability.discovery`):null,e?.subscribeProject?p(`pages.connections.publicCapability.subscription`):null,e?.publishProject?p(`pages.connections.publicCapability.publishing`):null,e?.submitKnowledge?p(`pages.connections.publicCapability.contribution`):null,e?.reviewProposals?p(`pages.connections.publicCapability.review`):null].filter(e=>!!e);return t.length?new Intl.ListFormat(ie(),{style:`long`,type:`conjunction`}).format(t):p(`pages.connections.notAvailable`)}),G=g(()=>w.state?.subscriptions??[]),K=g(()=>w.state?.personalProjects??[]),qe=g(()=>Dt(`connect-external-knowledge`)),Je=g(()=>Dt(`external-knowledge-conflict-policy`)),Ye=g(()=>new Set(G.value.map(({provider_url:e,project_id:t})=>`${e}::${t}`))),Xe=g(()=>(w.state?.projects??[]).filter(e=>!Ye.value.has(rt(e)))),Ze=g(()=>Xe.value.map(e=>({value:rt(e),label:e.name,meta:`#${le(e.id,26)}`,search:ce(e.id)}))),Qe=g(()=>O.value.map(e=>({value:e.type,label:e.name,meta:e.description}))),q=g(()=>K.value.map(e=>({value:e.project_id,label:e.profile.name,meta:`#${le(e.project_id,26)}`,search:ce(e.project_id)}))),$e=g(()=>[{value:`hybrid`,label:p(`pages.connections.mode.hybrid`),disabled:!Y(W.connectorType,`hybrid`)},{value:`mirror`,label:p(`pages.connections.mode.mirror`),disabled:!Y(W.connectorType,`mirror`)},{value:`live`,label:p(`pages.connections.mode.live`),disabled:!Y(W.connectorType,`live`)}]),et=g(()=>[{value:`http`,label:`Streamable HTTP`},{value:`stdio`,label:`stdio`}]),tt=g(()=>[{value:`cn`,label:`Feishu`},{value:`global`,label:`Lark`}]),nt=g(()=>[{value:`ask_human`,label:p(`pages.connections.askHuman`)},{value:`agent_decide`,label:p(`pages.connections.agentDecide`)}]);a(K,e=>{let t=new Set(e.map(({project_id:e})=>e)),n=e[0]?.project_id??``;W.personalProjectIds=W.personalProjectIds.filter(e=>t.has(e)),!W.personalProjectIds.length&&n&&(W.personalProjectIds=[n]),P.value=P.value.filter(e=>t.has(e)),t.has(I.value)||(I.value=n)},{immediate:!0}),a(()=>[w.activePersonalSpace?.id,I.value],()=>void _t(),{immediate:!0,flush:`sync`}),a(()=>W.connectorType,e=>{Y(e,W.mode)||(W.mode=bt(e))}),te(()=>void J()),i(()=>{H+=1,U?.abort()});function rt(e){return`${e.providerUrl}::${e.id}`}async function it(){let e=w.activePersonalSpace?.id,t=Xe.value.find(e=>rt(e)===T.value);if(!(!e||!t||E.value)){E.value=!0,D.value=`pages.connections.subscribing`;try{await v(`/api/subscriptions`,{personalSpaceId:e,projectId:t.id,providerUrl:t.providerUrl,projectName:t.name}),T.value=``,w.notify(p(`pages.connections.subscribed`,{name:t.name})),D.value=`pages.connections.loadingSubscriptions`,await w.refresh()}catch(e){w.reportError(e)}finally{E.value=!1}}}async function at(e){let t=w.activePersonalSpace?.id;if(!(!t||E.value)){E.value=!0,D.value=`pages.connections.unsubscribing`;try{let n=new URLSearchParams({personalSpaceId:t,providerUrl:e.provider_url});await se(`/api/subscriptions/${encodeURIComponent(e.project_id)}?${n}`),w.notify(p(`pages.connections.unsubscribed`,{name:e.project_name??e.project_id})),D.value=`pages.connections.loadingSubscriptions`,await w.refresh()}catch(e){w.reportError(e)}finally{E.value=!1}}}async function J(){j.value=!0;try{let[e,t]=await Promise.all([y(`/api/external-knowledge/connectors`),y(`/api/external-knowledge/bindings`)]);O.value=e,k.value=t}catch(e){w.reportError(e)}finally{j.value=!1}}async function ot(){let e=w.activePersonalSpace?.id;if(!(!e||!W.personalProjectIds.length||A.value)){A.value=!0,M.value=`pages.connections.creatingBinding`;try{let{connectorConfig:t,source:n}=st();await v(`/api/external-knowledge/bindings`,{name:W.name.trim(),connectorType:W.connectorType,connectorConfig:t,source:n,targets:W.personalProjectIds.map(t=>({personalSpaceId:e,personalProjectId:t,mode:W.mode}))}),w.notify(p(`pages.connections.externalCreated`,{name:W.name.trim()})),W.name=``,await J()}catch(e){w.reportError(e)}finally{A.value=!1}}}function st(){if(W.connectorType===`notion`)return{connectorConfig:{tokenEnv:$(W.notionTokenEnv,`Notion token env`)},source:{pageIds:Z(W.notionPageIds),dataSourceIds:Z(W.notionDataSourceIds)}};if(W.connectorType===`feishu`)return{connectorConfig:{accessTokenEnv:$(W.feishuTokenEnv,`Feishu token env`),region:W.feishuRegion},source:Q({spaceId:W.feishuSpaceId.trim(),rootNodeToken:W.feishuRootNodeToken.trim(),nodeTokens:Z(W.feishuNodeTokens),webBaseUrl:W.feishuWebBaseUrl.trim()})};if(W.connectorType===`retrieval_api`){let e=Number(W.retrievalScoreThreshold);if(!Number.isFinite(e)||e<0||e>1)throw TypeError(p(`pages.connections.scoreThresholdInvalid`));return{connectorConfig:Q({url:$(W.retrievalUrl,`Retrieval API URL`),tokenEnv:W.retrievalTokenEnv.trim(),scoreThreshold:e}),source:{knowledgeIds:Et(W.retrievalKnowledgeIds,`Knowledge IDs`)}}}if(W.connectorType===`custom`){let e=JSON.parse(W.customSourceJson);if(!e||typeof e!=`object`||Array.isArray(e))throw TypeError(p(`pages.connections.customSourceObject`));return{connectorConfig:{module:$(W.customModule,`Custom connector module`),environmentNames:Z(W.customEnvironmentNames)},source:e}}return{connectorConfig:W.mcpTransport===`stdio`?Q({transport:`stdio`,command:W.mcpCommand.trim(),args:Z(W.mcpArgs)}):Q({transport:`http`,url:$(W.mcpUrl,`MCP URL`),tokenEnv:W.mcpTokenEnv.trim()}),source:Q({resourceUriPrefix:W.mcpResourcePrefix.trim()})}}async function ct(e){await ut(e,`check`)}async function lt(e){await ut(e,`sync`)}async function ut(e,t){if(!A.value){A.value=!0,M.value=t===`sync`?`pages.connections.syncingBinding`:`pages.connections.checkingBinding`;try{let n=await v(`/api/external-knowledge/bindings/${encodeURIComponent(e.id)}/${t}`,{});w.notify(p(t===`sync`&&n.skippedCredentials?`pages.connections.externalSyncedWithSkipped`:t===`sync`?`pages.connections.externalSynced`:`pages.connections.externalChecked`,{name:e.name,count:n.skippedCredentials??0})),await J()}catch(e){w.reportError(e)}finally{A.value=!1}}}async function dt(e){if(!A.value){A.value=!0,M.value=`pages.connections.disconnectingBinding`;try{await se(`/api/external-knowledge/bindings/${encodeURIComponent(e.id)}`),w.notify(p(`pages.connections.externalDeleted`,{name:e.name})),await J()}catch(e){w.reportError(e)}finally{A.value=!1}}}function ft(e){let t=X(e);N.value=e.id,P.value=t.map(({personalProjectId:e})=>e),F.value=Object.fromEntries(t.map(({personalProjectId:e,mode:t})=>[e,t]))}function pt(){N.value=null,P.value=[],F.value={}}function mt(e){let t=k.value.find(({id:e})=>e===N.value);if(!t)return;let n=F.value,r=bt(t.connectorType);F.value=Object.fromEntries(e.map(e=>[e,n[e]??t.mode??r]))}function ht(e,t){F.value={...F.value,[e]:t}}async function gt(e){let t=w.activePersonalSpace?.id;if(!(!t||!P.value.length||A.value)){A.value=!0,M.value=`pages.connections.savingBindingTargets`;try{await oe(`/api/external-knowledge/bindings/${encodeURIComponent(e.id)}/targets`,{expectedTargetsVersion:e.targetsVersion,targets:P.value.map(n=>({personalSpaceId:t,personalProjectId:n,mode:F.value[n]??e.mode}))}),w.notify(p(`pages.connections.projectsUpdated`,{name:e.name})),pt(),await J()}catch(e){w.reportError(e)}finally{A.value=!1}}}async function _t(){let e=++H;if(U?.abort(),U=null,L.value=`ask_human`,B.value=!1,z.value=!1,!w.activePersonalSpace?.id||!I.value)return;let t=new AbortController;U=t,z.value=!0;try{let n=await y(`/api/external-knowledge/conflict-policy?${new URLSearchParams({personalProjectId:I.value})}`,{signal:t.signal});if(e!==H)return;L.value=n.mode,V=n.mode}catch{if(e!==H)return;B.value=!0}finally{e===H&&(z.value=!1,U=null)}}async function vt(){let e=w.activePersonalSpace?.id;if(!e||!I.value||R.value||z.value||B.value)return;let t=H;R.value=!0;try{let n=await oe(`/api/external-knowledge/conflict-policy?${new URLSearchParams({personalProjectId:I.value})}`,{personalSpaceId:e,personalProjectId:I.value,mode:L.value});if(t!==H)return;L.value=n.mode,V=n.mode,w.notify(p(`pages.connections.conflictSaved`))}catch(e){if(t!==H)return;L.value=V,w.reportError(e)}finally{R.value=!1}}function yt(e){return O.value.find(t=>t.type===e)?.name??e}function Y(e,t){let n=O.value.find(t=>t.type===e)?.capabilities;return!n?.length||(t===`live`||t===`hybrid`?n.includes(`retrieve`):!0)&&(t===`mirror`||t===`hybrid`?n.includes(`sync`):!0)}function bt(e){return[`hybrid`,`mirror`,`live`].find(t=>Y(e,t))??`live`}function xt(e){return[`hybrid`,`mirror`,`live`].map(t=>({value:t,label:p(`pages.connections.mode.${t}`),disabled:!Y(e,t)}))}function X(e){return e.targets?.length?e.targets:[{id:e.id,...e.target,mode:e.mode,status:e.status,sync:e.sync}]}function St(e){return X(e).some(({mode:e})=>e!==`live`)}function Ct(e){return K.value.find(({project_id:t})=>t===e)?.profile.name??e}function wt(e){return X(e).find(({sync:e})=>e?.error)?.sync?.error??e.sync?.error}function Tt(e){return X(e).reduce((e,t)=>e+(t.sync?.skippedCredentials??0),0)}function Z(e){return[...new Set(e.split(`,`).map(e=>e.trim()).filter(Boolean))]}function Et(e,t){let n=Z(e);if(!n.length)throw TypeError(`${t} is required`);return n}function Q(e){return Object.fromEntries(Object.entries(e).filter(([,e])=>e!==``&&(!Array.isArray(e)||e.length>0)))}function $(e,t){if(!e.trim())throw TypeError(`${t} is required`);return e.trim()}function Dt(e){return`https://github.com/JevonsCode/fuli/blob/main/${ie()===`zh-CN`?`README.zh-CN.md`:`README.md`}#${e}`}return(i,a)=>(e(),t(`section`,ue,[u(`div`,{class:`service-connection-grid`,"aria-label":d(p)(`pages.connections.statusAria`)},[u(`article`,{class:`service-connection-card`,"data-status":Ue.value?`ready`:`error`},[u(`header`,null,[a[30]||=u(`span`,{class:`service-connection-icon local`,"aria-hidden":`true`},[u(`span`,{class:`nav-icon nav-icon-personal-project`})],-1),u(`div`,null,[u(`h3`,null,f(d(p)(`pages.connections.localGraphiti`)),1)]),u(`span`,pe,f(Ue.value?d(p)(`common.status.connected`):d(p)(`common.status.connectionError`)),1)]),n(S,{title:d(p)(`ui.connectionDetails`)},{default:c(()=>[u(`dl`,null,[u(`div`,null,[u(`dt`,null,f(d(p)(`pages.connections.storage`)),1),a[31]||=u(`dd`,null,`Neo4j`,-1)]),u(`div`,null,[u(`dt`,null,f(d(p)(`pages.connections.purpose`)),1),u(`dd`,null,f(d(p)(`pages.connections.localPurpose`)),1)])])]),_:1},8,[`title`])],8,fe),u(`article`,{class:`service-connection-card`,"data-status":d(w).publicRuntimeStatus},[u(`header`,null,[a[33]||=u(`span`,{class:`service-connection-icon public`,"aria-hidden":`true`},[u(`span`,{class:`nav-icon nav-icon-public-project`})],-1),u(`div`,he,[u(`h3`,null,f(d(p)(`pages.connections.publicService`)),1),a[32]||=u(`span`,{class:`feature-badge beta`},`BETA`,-1)]),u(`span`,ge,f(d(w).publicRuntimeStatus===`ready`?d(p)(`common.status.connected`):d(w).publicRuntimeStatus===`error`?d(p)(`common.status.connectionError`):d(p)(`common.status.notConnected`)),1)]),u(`dl`,null,[u(`div`,null,[u(`dt`,null,f(d(p)(`pages.connections.currentStatus`)),1),u(`dd`,null,f(d(w).publicRuntimeStatus===`ready`?d(p)(`pages.connections.sharedServicesReady`,{count:Ge.value||We.value.length}):d(p)(`pages.connections.notAvailable`)),1)]),u(`div`,null,[u(`dt`,null,f(d(p)(`pages.connections.purpose`)),1),u(`dd`,null,f(Ke.value),1)])])],8,me)],8,de),u(`section`,_e,[u(`div`,ve,[u(`h3`,null,f(d(p)(`pages.connections.externalTitle`)),1),u(`a`,{class:`section-help-link`,"data-testid":`external-knowledge-help`,href:qe.value,"aria-label":d(p)(`pages.connections.externalHelp`),title:d(p)(`pages.connections.externalHelp`),target:`_blank`,rel:`noreferrer`},`?`,8,ye),u(`span`,be,f(d(p)(`pages.connections.bindingCount`,{count:k.value.length})),1)]),j.value||A.value?(e(),h(b,{key:0,variant:`compact`,label:d(p)(j.value?`pages.connections.loadingBindings`:M.value)},null,8,[`label`])):o(``,!0),u(`div`,xe,[(e(!0),t(l,null,r(k.value,i=>(e(),t(`article`,{key:i.id,class:`external-binding-row`,"data-status":i.status},[a[34]||=u(`i`,{"aria-hidden":`true`},null,-1),u(`div`,Ce,[u(`strong`,null,f(i.name),1),u(`span`,null,f(yt(i.connectorType)),1),u(`div`,we,[u(`b`,null,f(d(p)(`pages.connections.boundTo`)),1),(e(!0),t(l,null,r(X(i),n=>(e(),t(`span`,{key:n.id,class:`external-binding-target-chip`,"data-status":n.status},f(Ct(n.personalProjectId))+` · `+f(d(p)(`pages.connections.mode.${n.mode}`)),9,Te))),128))]),wt(i)?(e(),t(`small`,Ee,f(wt(i)),1)):Tt(i)?(e(),t(`small`,De,f(d(p)(`pages.connections.credentialsSkipped`,{count:Tt(i)})),1)):o(``,!0)]),u(`div`,Oe,[n(_,{size:`sm`,variant:`ghost`,disabled:A.value,onClick:e=>ct(i)},{default:c(()=>[s(f(d(p)(`pages.connections.check`)),1)]),_:1},8,[`disabled`,`onClick`]),n(_,{size:`sm`,variant:`ghost`,class:`external-sync-action`,disabled:A.value||!St(i),onClick:e=>lt(i)},{default:c(()=>[s(f(d(p)(`pages.connections.sync`)),1)]),_:1},8,[`disabled`,`onClick`]),n(_,{size:`sm`,variant:`ghost`,disabled:A.value,onClick:e=>ft(i)},{default:c(()=>[s(f(d(p)(`pages.connections.manageProjects`)),1)]),_:1},8,[`disabled`,`onClick`]),n(_,{size:`sm`,variant:`danger`,disabled:A.value,onClick:e=>dt(i)},{default:c(()=>[s(f(d(p)(`pages.connections.disconnect`)),1)]),_:1},8,[`disabled`,`onClick`])]),N.value===i.id?(e(),t(`div`,ke,[u(`label`,null,[u(`span`,null,f(d(p)(`pages.connections.targetProjects`)),1),n(x,{multiple:``,modelValue:P.value,"onUpdate:modelValue":a[0]||=e=>P.value=e,"control-id":`external-projects-${i.id}`,label:d(p)(`pages.connections.targetProjects`),options:q.value,disabled:A.value,required:``,searchable:``,onChange:mt},null,8,[`modelValue`,`control-id`,`label`,`options`,`disabled`])]),u(`div`,Ae,[(e(!0),t(l,null,r(P.value,r=>(e(),t(`div`,{key:r,class:`external-target-mode-row`},[u(`span`,null,f(Ct(r)),1),n(x,{"model-value":F.value[r]??i.mode,"control-id":`external-target-mode-${i.id}-${r}`,label:d(p)(`pages.connections.bindingMode`),options:xt(i.connectorType),disabled:A.value,"onUpdate:modelValue":e=>ht(r,e)},null,8,[`model-value`,`control-id`,`label`,`options`,`disabled`,`onUpdate:modelValue`])]))),128))]),u(`div`,je,[n(_,{size:`sm`,variant:`ghost`,disabled:A.value,onClick:pt},{default:c(()=>[s(f(d(p)(`common.actions.cancel`)),1)]),_:1},8,[`disabled`]),n(_,{size:`sm`,variant:`primary`,disabled:A.value||!P.value.length,onClick:e=>gt(i)},{default:c(()=>[s(f(d(p)(`pages.connections.saveProjects`)),1)]),_:1},8,[`disabled`,`onClick`])])])):o(``,!0)],8,Se))),128)),!j.value&&!k.value.length?(e(),t(`div`,Me,f(d(p)(`pages.connections.noExternalBindings`)),1)):o(``,!0)]),n(S,{title:d(p)(`pages.connections.connect`),open:!k.value.length},{default:c(()=>[u(`form`,{class:`external-binding-form`,onSubmit:ne(ot,[`prevent`])},[n(C,{modelValue:W.name,"onUpdate:modelValue":a[1]||=e=>W.name=e,label:d(p)(`pages.connections.bindingName`),"data-testid":`external-name`,required:``},null,8,[`modelValue`,`label`]),u(`label`,null,[u(`span`,null,f(d(p)(`pages.connections.connector`)),1),n(x,{modelValue:W.connectorType,"onUpdate:modelValue":a[2]||=e=>W.connectorType=e,"control-id":`external-connector`,label:d(p)(`pages.connections.connector`),options:Qe.value,disabled:A.value,required:``},null,8,[`modelValue`,`label`,`options`,`disabled`])]),u(`label`,null,[u(`span`,null,f(d(p)(`pages.connections.targetProjects`)),1),n(x,{multiple:``,modelValue:W.personalProjectIds,"onUpdate:modelValue":a[3]||=e=>W.personalProjectIds=e,"control-id":`external-projects`,label:d(p)(`pages.connections.targetProjects`),options:q.value,disabled:A.value,required:``,searchable:``},null,8,[`modelValue`,`label`,`options`,`disabled`])]),u(`label`,null,[u(`span`,null,f(d(p)(`pages.connections.bindingMode`)),1),n(x,{modelValue:W.mode,"onUpdate:modelValue":a[4]||=e=>W.mode=e,"control-id":`external-binding-mode`,label:d(p)(`pages.connections.bindingMode`),options:$e.value,disabled:A.value,required:``},null,8,[`modelValue`,`label`,`options`,`disabled`])]),W.connectorType===`mcp`?(e(),t(l,{key:0},[u(`label`,null,[u(`span`,null,f(d(p)(`pages.connections.transport`)),1),n(x,{modelValue:W.mcpTransport,"onUpdate:modelValue":a[5]||=e=>W.mcpTransport=e,"control-id":`external-mcp-transport`,label:d(p)(`pages.connections.transport`),options:et.value,disabled:A.value,required:``},null,8,[`modelValue`,`label`,`options`,`disabled`])]),W.mcpTransport===`http`?(e(),h(C,{key:0,modelValue:W.mcpUrl,"onUpdate:modelValue":a[6]||=e=>W.mcpUrl=e,label:`MCP URL`,"data-testid":`mcp-url`,type:`url`,required:``},null,8,[`modelValue`])):(e(),h(C,{key:1,modelValue:W.mcpCommand,"onUpdate:modelValue":a[7]||=e=>W.mcpCommand=e,label:d(p)(`pages.connections.command`),required:``},null,8,[`modelValue`,`label`])),W.mcpTransport===`stdio`?(e(),h(C,{key:2,modelValue:W.mcpArgs,"onUpdate:modelValue":a[8]||=e=>W.mcpArgs=e,label:d(p)(`pages.connections.arguments`)},null,8,[`modelValue`,`label`])):(e(),h(C,{key:3,modelValue:W.mcpTokenEnv,"onUpdate:modelValue":a[9]||=e=>W.mcpTokenEnv=e,label:d(p)(`pages.connections.tokenEnv`),"data-testid":`mcp-token-env`},null,8,[`modelValue`,`label`])),n(C,{modelValue:W.mcpResourcePrefix,"onUpdate:modelValue":a[10]||=e=>W.mcpResourcePrefix=e,label:d(p)(`pages.connections.resourcePrefix`),"data-testid":`mcp-resource-prefix`},null,8,[`modelValue`,`label`])],64)):W.connectorType===`notion`?(e(),t(l,{key:1},[n(C,{modelValue:W.notionTokenEnv,"onUpdate:modelValue":a[11]||=e=>W.notionTokenEnv=e,label:d(p)(`pages.connections.tokenEnv`),required:``},null,8,[`modelValue`,`label`]),n(C,{modelValue:W.notionPageIds,"onUpdate:modelValue":a[12]||=e=>W.notionPageIds=e,label:`Page IDs`},null,8,[`modelValue`]),n(C,{modelValue:W.notionDataSourceIds,"onUpdate:modelValue":a[13]||=e=>W.notionDataSourceIds=e,label:`Data Source IDs`},null,8,[`modelValue`])],64)):W.connectorType===`feishu`?(e(),t(l,{key:2},[n(C,{modelValue:W.feishuTokenEnv,"onUpdate:modelValue":a[14]||=e=>W.feishuTokenEnv=e,label:d(p)(`pages.connections.tokenEnv`),required:``},null,8,[`modelValue`,`label`]),u(`label`,null,[u(`span`,null,f(d(p)(`pages.connections.region`)),1),n(x,{modelValue:W.feishuRegion,"onUpdate:modelValue":a[15]||=e=>W.feishuRegion=e,"control-id":`external-feishu-region`,label:d(p)(`pages.connections.region`),options:tt.value,disabled:A.value,required:``},null,8,[`modelValue`,`label`,`options`,`disabled`])]),n(C,{modelValue:W.feishuSpaceId,"onUpdate:modelValue":a[16]||=e=>W.feishuSpaceId=e,label:`Space ID`},null,8,[`modelValue`]),n(C,{modelValue:W.feishuRootNodeToken,"onUpdate:modelValue":a[17]||=e=>W.feishuRootNodeToken=e,label:`Root Node Token`},null,8,[`modelValue`]),n(C,{modelValue:W.feishuNodeTokens,"onUpdate:modelValue":a[18]||=e=>W.feishuNodeTokens=e,label:`Node Tokens`},null,8,[`modelValue`]),n(C,{modelValue:W.feishuWebBaseUrl,"onUpdate:modelValue":a[19]||=e=>W.feishuWebBaseUrl=e,label:`Web URL`,type:`url`},null,8,[`modelValue`])],64)):W.connectorType===`retrieval_api`?(e(),t(l,{key:3},[n(C,{modelValue:W.retrievalUrl,"onUpdate:modelValue":a[20]||=e=>W.retrievalUrl=e,label:d(p)(`pages.connections.retrievalUrl`),type:`url`,required:``},null,8,[`modelValue`,`label`]),n(C,{modelValue:W.retrievalTokenEnv,"onUpdate:modelValue":a[21]||=e=>W.retrievalTokenEnv=e,label:d(p)(`pages.connections.tokenEnv`)},null,8,[`modelValue`,`label`]),n(C,{modelValue:W.retrievalKnowledgeIds,"onUpdate:modelValue":a[22]||=e=>W.retrievalKnowledgeIds=e,label:d(p)(`pages.connections.knowledgeIds`),required:``},null,8,[`modelValue`,`label`]),n(C,{modelValue:W.retrievalScoreThreshold,"onUpdate:modelValue":a[23]||=e=>W.retrievalScoreThreshold=e,label:d(p)(`pages.connections.scoreThreshold`),inputmode:`decimal`,required:``},null,8,[`modelValue`,`label`])],64)):(e(),t(l,{key:4},[n(C,{modelValue:W.customModule,"onUpdate:modelValue":a[24]||=e=>W.customModule=e,label:d(p)(`pages.connections.module`),required:``},null,8,[`modelValue`,`label`]),n(C,{modelValue:W.customEnvironmentNames,"onUpdate:modelValue":a[25]||=e=>W.customEnvironmentNames=e,label:d(p)(`pages.connections.environmentNames`)},null,8,[`modelValue`,`label`]),u(`div`,Ne,[n(C,{modelValue:W.customSourceJson,"onUpdate:modelValue":a[26]||=e=>W.customSourceJson=e,label:d(p)(`pages.connections.sourceJson`),multiline:``,required:``},null,8,[`modelValue`,`label`])]),u(`span`,Pe,f(d(p)(`pages.connections.trustedCode`)),1)],64)),n(_,{variant:`primary`,class:`external-create-action`,type:`submit`,disabled:A.value||!K.value.length||!W.personalProjectIds.length},{default:c(()=>[a[35]||=u(`span`,{class:`external-create-action-icon`,"aria-hidden":`true`},null,-1),u(`span`,null,f(d(p)(`pages.connections.connect`)),1)]),_:1},8,[`disabled`])],32)]),_:1},8,[`title`,`open`])]),K.value.length?(e(),h(S,{key:0,class:`conflict-policy-section`,open:B.value,title:d(p)(`pages.connections.conflictTitle`)},{default:c(()=>[u(`div`,Fe,[u(`a`,{class:`section-help-link`,"data-testid":`conflict-policy-help`,href:Je.value,"aria-label":d(p)(`pages.connections.conflictHelp`),title:d(p)(`pages.connections.conflictHelp`),target:`_blank`,rel:`noreferrer`},`?`,8,Ie)]),u(`div`,Le,[u(`label`,null,[u(`span`,null,f(d(p)(`pages.connections.targetProject`)),1),n(x,{modelValue:I.value,"onUpdate:modelValue":a[27]||=e=>I.value=e,"control-id":`external-conflict-project`,label:d(p)(`pages.connections.targetProject`),options:q.value,disabled:R.value,required:``},null,8,[`modelValue`,`label`,`options`,`disabled`])]),u(`label`,null,[u(`span`,null,f(d(p)(`pages.connections.conflictAction`)),1),n(x,{modelValue:L.value,"onUpdate:modelValue":a[28]||=e=>L.value=e,"control-id":`external-conflict-mode`,label:d(p)(`pages.connections.conflictAction`),options:nt.value,disabled:R.value||z.value||B.value||!I.value,required:``,onChange:vt},null,8,[`modelValue`,`label`,`options`,`disabled`])])]),z.value?(e(),h(b,{key:0,variant:`compact`,label:d(p)(`pages.connections.loadingConflictPolicy`)},null,8,[`label`])):o(``,!0),R.value?(e(),h(b,{key:1,variant:`inline`,label:d(p)(`pages.connections.savingConflictPolicy`)},null,8,[`label`])):B.value?(e(),t(`div`,Re,[u(`p`,null,f(d(p)(`common.errors.loadFailed`)),1),n(_,{size:`sm`,onClick:_t},{default:c(()=>[s(f(d(p)(`common.actions.retry`)),1)]),_:1})])):o(``,!0)]),_:1},8,[`open`,`title`])):o(``,!0),d(w).state?.capabilities?.subscribeProject?(e(),t(`section`,ze,[u(`div`,Be,[u(`h3`,null,[s(f(d(p)(`pages.connections.subscriptionsTitle`))+` `,1),a[36]||=u(`span`,{class:`feature-badge beta`},`BETA`,-1)])]),E.value?(e(),h(b,{key:0,variant:`inline`,label:d(p)(D.value)},null,8,[`label`])):o(``,!0),u(`div`,Ve,[(e(!0),t(l,null,r(G.value,r=>(e(),t(`div`,{key:`${r.provider_url}:${r.project_id}`,class:`subscription-row`},[a[37]||=u(`span`,null,`↗`,-1),u(`div`,null,[u(`strong`,null,f(r.project_name??r.project_id),1),u(`span`,null,f(d(p)(`pages.connections.sharedProject`)),1)]),n(_,{size:`sm`,class:`subscription-action`,disabled:E.value,onClick:e=>at(r)},{default:c(()=>[s(f(d(p)(`pages.connections.unsubscribe`)),1)]),_:1},8,[`disabled`,`onClick`])]))),128)),G.value.length?o(``,!0):(e(),t(`div`,He,f(d(p)(`pages.connections.noSubscriptions`)),1))]),u(`form`,{class:`subscription-form`,onSubmit:ne(it,[`prevent`])},[n(x,{modelValue:T.value,"onUpdate:modelValue":a[29]||=e=>T.value=e,options:Ze.value,label:d(p)(`pages.connections.sharedProjectLabel`),placeholder:d(p)(`pages.connections.choosePublicProject`),searchable:``,required:``,disabled:E.value},null,8,[`modelValue`,`options`,`label`,`placeholder`,`disabled`]),n(_,{variant:`primary`,type:`submit`,disabled:E.value||!T.value||!d(w).activePersonalSpace},{default:c(()=>[s(f(d(p)(`pages.connections.subscribe`)),1)]),_:1},8,[`disabled`])],32)])):o(``,!0)]))}});export{w as default};
@@ -0,0 +1,2 @@
1
+ import{B as e,C as t,E as n,J as r,O as i,S as a,T as o,X as s,Z as c,b as l,dt as u,mt as d,o as f,ot as p,p as m,x as h,y as g}from"./i18n-DYrQWclR.js";import{n as _}from"./console-Dl-Zf-vm.js";import{o as v,t as y}from"./client-CRiPFGQo.js";import{t as b}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as x}from"./UiDialog-DMozYPbD.js";function S(e,t){let n=e.normalize(`NFKC`).toLocaleLowerCase().replace(/[^\p{L}\p{N}]+/gu,`-`).replace(/^-+|-+$/g,``).slice(0,120)||`project`,r=new Set(t);if(!r.has(n))return n;for(let e=2;;e+=1){let t=`${n}-${e}`;if(!r.has(t))return t}}function C(e){return[...new Set(e.split(`
2
+ `).map(e=>e.trim()).filter(Boolean))].slice(0,64)}function w(e,t,n){let r=n.source.trim();return v(`/api/personal-projects`,{personalSpaceId:e,projectId:t,createOnly:!0,profile:{name:n.name.trim(),purpose:n.purpose.trim()||null,scope:n.includes.trim()||null,lifecycle:`active`,boundaries:C(n.excludes),sources:r?[{key:`source-1`,kind:`other`,title:r,uri:r,sensitivity:`normal`}]:[]}})}var T={class:`create-project-fields`},E={class:`ui-field`},D={key:0,class:`ui-field-hint`,"data-new-project-id":``},O={class:`ui-field`},k=[`placeholder`],A={class:`ui-field`},j=[`placeholder`],M={class:`ui-field`},N=[`placeholder`],P={class:`ui-field`},F=[`placeholder`],I=b(i({__name:`CreateProjectDialog`,props:{open:{type:Boolean},personalSpaceId:{},existingProjectIds:{},initialPurpose:{}},emits:[`close`,`created`],setup(i,{emit:v}){let b=i,C=v,I=()=>({name:``,purpose:b.initialPurpose??``,includes:``,excludes:``,source:``}),L=p(I()),R=p(!1),z=p(``),B=g(()=>S(L.value.name,b.existingProjectIds));r(()=>b.open,e=>{e&&(L.value=I(),z.value=``)},{immediate:!0});async function V(){if(!R.value){if(!L.value.name.trim()){z.value=f(`projects.createDialog.nameRequired`);return}R.value=!0,z.value=``;try{C(`created`,await w(b.personalSpaceId,B.value,L.value))}catch(e){z.value=e instanceof y&&e.status===409?f(`projects.createDialog.exists`):e instanceof Error&&e.message||f(`projects.createDialog.failed`)}finally{R.value=!1}}}return(r,p)=>i.open?(e(),h(x,{key:0,open:``,class:`create-project-dialog`,size:`lg`,form:``,busy:R.value,error:z.value,title:u(f)(`projects.createDialog.title`),description:u(f)(`projects.createDialog.intro`),onClose:p[6]||=e=>C(`close`),onSubmit:V},{footer:s(()=>[n(_,{variant:`ghost`,disabled:R.value,onClick:p[5]||=e=>C(`close`)},{default:s(()=>[o(d(u(f)(`common.actions.cancel`)),1)]),_:1},8,[`disabled`]),n(_,{variant:`primary`,type:`submit`,busy:R.value,"busy-label":u(f)(`projects.createDialog.creating`)},{default:s(()=>[o(d(u(f)(`projects.createDialog.create`)),1)]),_:1},8,[`busy`,`busy-label`])]),default:s(()=>[l(`div`,T,[l(`label`,E,[o(d(u(f)(`projects.createDialog.name`))+` `,1),c(l(`input`,{"onUpdate:modelValue":p[0]||=e=>L.value.name=e,name:`new-project-name`,maxlength:`160`,required:``,autofocus:``},null,512),[[m,L.value.name]]),L.value.name.trim()?(e(),t(`small`,D,d(u(f)(`projects.createDialog.identifier`,{id:B.value})),1)):a(``,!0)]),l(`label`,O,[o(d(u(f)(`projects.createDialog.purpose`))+` `,1),c(l(`textarea`,{"onUpdate:modelValue":p[1]||=e=>L.value.purpose=e,name:`new-project-purpose`,maxlength:`4096`,rows:`2`,placeholder:u(f)(`projects.createDialog.purposePlaceholder`)},null,8,k),[[m,L.value.purpose]])]),l(`label`,A,[o(d(u(f)(`projects.createDialog.includes`))+` `,1),c(l(`textarea`,{"onUpdate:modelValue":p[2]||=e=>L.value.includes=e,name:`new-project-includes`,maxlength:`4096`,rows:`3`,placeholder:u(f)(`projects.createDialog.includesPlaceholder`)},null,8,j),[[m,L.value.includes]])]),l(`label`,M,[o(d(u(f)(`projects.createDialog.excludes`))+` `,1),c(l(`textarea`,{"onUpdate:modelValue":p[3]||=e=>L.value.excludes=e,name:`new-project-excludes`,maxlength:`8192`,rows:`3`,placeholder:u(f)(`projects.createDialog.excludesPlaceholder`)},null,8,N),[[m,L.value.excludes]])]),l(`label`,P,[o(d(u(f)(`projects.createDialog.source`))+` `,1),c(l(`input`,{"onUpdate:modelValue":p[4]||=e=>L.value.source=e,name:`new-project-source`,maxlength:`2048`,placeholder:u(f)(`projects.createDialog.sourcePlaceholder`)},null,8,F),[[m,L.value.source]])])])]),_:1},8,[`busy`,`error`,`title`,`description`])):a(``,!0)}}),[[`__scopeId`,`data-v-7d31c4ad`]]);export{I as t};
@@ -0,0 +1 @@
1
+ .create-project-fields[data-v-7d31c4ad]{gap:14px;display:grid}
@@ -0,0 +1 @@
1
+ .agent-hand[data-v-02a2e629]{border-radius:var(--radius-control);background:var(--color-accent-soft);min-height:28px;color:var(--color-accent);font:inherit;vertical-align:middle;border:0;flex:none;align-items:center;gap:4px;padding:4px 8px;font-size:12px;font-weight:650;display:inline-flex}button.agent-hand[data-v-02a2e629]{cursor:pointer}button.agent-hand[data-v-02a2e629]:hover{background:var(--color-accent);color:var(--color-on-accent)}@media (pointer:coarse){button.agent-hand[data-v-02a2e629]{min-width:44px;min-height:44px}}.agent-hand svg[data-v-02a2e629]{width:15px;height:15px}.agent-hand[data-v-02a2e629]:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.employee-profile[data-v-10a25b01]{align-items:center;gap:14px;display:flex}.employee-profile h3[data-v-10a25b01]{margin:0 0 2px;font-size:18px;line-height:1.35}.employee-profile h3 span[data-v-10a25b01]{color:var(--color-muted);margin-left:8px;font-size:13px;font-weight:500}.employee-profile p[data-v-10a25b01]{margin:0}.employee-avatar[data-v-10a25b01]{background:var(--color-surface-subtle);border-radius:14px;flex:0 0 48px;place-items:center;height:48px;font-size:24px;font-weight:650;display:grid;overflow:hidden}.employee-avatar img[data-v-10a25b01]{object-fit:cover;width:100%;height:100%}.employee-scope[data-v-10a25b01]{gap:8px;display:grid}.employee-scope .ui-segmented[data-v-10a25b01]{display:flex}.employee-scope .ui-segmented>button[data-v-10a25b01]{flex:1}.employee-title-settings[data-v-10a25b01]{gap:8px;display:grid}.employee-title-settings h3[data-v-10a25b01]{margin:0;font-size:14px;font-weight:600}.employee-title-controls[data-v-10a25b01]{grid-template-columns:1.2fr 1fr;gap:12px;display:grid}.employee-title-example[data-v-10a25b01]{color:var(--color-ink);overflow-wrap:anywhere}.employee-permissions[data-v-10a25b01]{font-size:12px}.employee-permissions strong[data-v-10a25b01]{font-weight:600}.employee-permissions ul[data-v-10a25b01]{flex-wrap:wrap;gap:4px 18px;margin:6px 0;padding-left:16px;display:flex}.employee-runtime[data-v-10a25b01]{margin:0;font-size:12px}.employee-runtime.is-warning[data-v-10a25b01]{color:var(--color-warning)}.employee-success[data-v-10a25b01]{color:var(--color-success)}.employee-success p[data-v-10a25b01]{margin:0}.employee-message[data-v-10a25b01]{justify-items:start;gap:10px;display:grid}.employee-message p[data-v-10a25b01]{margin:0}@media (width<=540px){.employee-title-controls[data-v-10a25b01]{grid-template-columns:minmax(0,1fr)}}
@@ -0,0 +1 @@
1
+ import{B as e,C as t,E as n,G as r,H as i,J as a,O as o,S as s,T as c,X as l,_ as u,b as d,dt as f,ft as ee,mt as p,o as m,ot as h,w as te,x as g,y as _}from"./i18n-DYrQWclR.js";import{n as v}from"./console-Dl-Zf-vm.js";import{h as y}from"./useApi-CROJJdhE-Di-SEzl3.js";import{t as b}from"./vue-router-CG6ezAck.js";import{a as ne,s as x}from"./client-CRiPFGQo.js";import{t as S}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as re}from"./UiDialog-DMozYPbD.js";import{t as C}from"./UiSelect-iDXgMBmg.js";import{n as w,r as T}from"./attention-store-CVJJ9eFY.js";import{t as E}from"./avatars-CUyfvsKO.js";import{n as ie}from"./paths-CDREouhi.js";import{i as ae,r as oe}from"./project-origin-BthRWajS.js";import{a as se,o as ce,r as le,s as ue}from"./catalog-DoiBFHyb.js";import{t as de}from"./ProjectScopePicker-C5Qs2q55.js";var D={key:0,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.7`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"aria-hidden":`true`},O={"aria-hidden":`true`},k=S(o({__name:`AgentHand`,props:{agentId:{},passive:{type:Boolean},countOnly:{type:Boolean}},setup(n){let i=n,a=T(),o=y(),c=_(()=>i.agentId?a.counts[i.agentId]??0:a.total);function u(e){i.passive||(e.preventDefault(),e.stopPropagation(),o?o.push(w(i.agentId)):a.show(i.agentId))}return(i,a)=>c.value?(e(),g(r(n.passive?`span`:`button`),{key:0,type:n.passive?void 0:`button`,class:`agent-hand`,"aria-label":f(m)(`attention.count`,{count:c.value}),title:f(m)(`attention.count`,{count:c.value}),onClick:u},{default:l(()=>[n.countOnly?s(``,!0):(e(),t(`svg`,D,[...a[0]||=[d(`path`,{d:`M8 13V5a1.5 1.5 0 0 1 3 0v6-8a1.5 1.5 0 0 1 3 0v8-6a1.5 1.5 0 0 1 3 0v7-3a1.5 1.5 0 0 1 3 0v6c0 4-2 7-6 7h-1c-3 0-4-1-6-4l-3-4a1.6 1.6 0 0 1 2.5-2z`},null,-1)]])),d(`span`,O,p(c.value),1)]),_:1},8,[`type`,`aria-label`,`title`])):s(``,!0)}}),[[`__scopeId`,`data-v-02a2e629`]]),fe={key:1,role:`alert`,class:`ui-dialog__error employee-message`},pe={key:2,class:`ui-muted`},me={class:`employee-profile`},he={class:`employee-avatar`,"aria-hidden":`true`},ge=[`src`],_e={class:`ui-meta`},ve={key:2,class:`employee-scope`},ye=[`aria-label`],be=[`data-scope`,`aria-checked`,`tabindex`,`disabled`,`onClick`],xe={class:`ui-meta`,role:`status`},Se={key:3,class:`ui-meta`},Ce={key:4,class:`ui-meta`},we={key:5,class:`ui-meta`},Te=[`aria-label`],Ee={class:`employee-title-controls`},De={class:`ui-meta`},Oe={class:`employee-title-example`},ke={class:`ui-meta`},Ae=[`aria-label`],je={class:`ui-meta`},Me={key:8,class:`ui-dialog__error`,role:`alert`},Ne={key:10,class:`employee-success`,role:`status`},A=S(o({__name:`EmployeeRecruitDialog`,props:{open:{type:Boolean},personalSpaceId:{},projects:{},defaultProjectId:{},defaultProjectIds:{},templateId:{}},emits:[`close`,`recruited`],setup(r,{emit:o}){let y=r,S=o,w=h([]),T=h([]),D=h(`selected`),O=h([]),k=h(`auto`),A=h(`emoji`),j=h(``),M=h(``),N=h(!1),P=h(!1),F=h(``),I=h(!1),L=h(``),R=h(null),z=h([]),B=h(``),V=_(()=>y.templateId?z.value:z.value.filter(e=>!e.fixed)),H=_(()=>y.templateId?V.value.find(e=>e.id===y.templateId):V.value.find(e=>e.id===F.value)??V.value[0]),U=_({get:()=>H.value?.id??``,set:e=>{F.value=e}}),Pe=_(()=>H.value?.agentId?m(`employees.manageProjectsTitle`,{name:H.value.name}):m(`employees.recruit`)),W=_(()=>oe(y.projects.filter(e=>e.profile.lifecycle!==`archived`)).map(e=>({id:e.project_id,name:ae(e)}))),G=_(()=>H.value?.management!==void 0),K=_({get:()=>D.value===`all`?W.value.filter(e=>!O.value.includes(e.id)).map(e=>e.id):w.value,set:e=>{if(D.value===`all`){let t=new Set(W.value.map(e=>e.id));O.value=[...O.value.filter(e=>!t.has(e)),...W.value.filter(t=>!e.includes(t.id)).map(e=>e.id)]}else w.value=e}}),q=_(()=>({mode:D.value,projectIds:D.value===`selected`?[...w.value].sort():[],excludedProjectIds:D.value===`all`?[...O.value].sort():[],titleMode:k.value,titleStyle:A.value})),Fe=_(()=>[`auto`,`suggest`,`off`].map(e=>({value:e,label:m(`employees.titles.${e}`)}))),Ie=_(()=>[`emoji`,`text`].map(e=>({value:e,label:m(`employees.titles.${e}`)}))),J=_(()=>new Set(T.value)),Le=_(()=>[...J.value].filter(e=>!K.value.includes(e))),Re=_(()=>!!(H.value?.agentStatus&&H.value.agentStatus!==`active`)),Y=_(()=>H.value?.agentStatus===`active`&&(G.value?JSON.stringify(q.value)===j.value&&(D.value===`all`||w.value.length===J.value.size&&w.value.every(e=>J.value.has(e))):w.value.length===J.value.size&&w.value.every(e=>J.value.has(e)))),ze=_(()=>I.value?m(`employees.recruiting`):Re.value?m(`employees.rehire`,{name:H.value?.name??``}):Y.value||H.value?.agentId?m(`employees.assign`):m(`employees.recruitName`,{name:H.value?.name??``})),Be=_(()=>H.value&&K.value.length?`/employees/${encodeURIComponent(H.value.id)}?project=${encodeURIComponent(K.value[0])}`:``),X=0;a([()=>y.open,()=>y.personalSpaceId,()=>y.templateId],([e])=>{X+=1,e&&Q(!0)},{immediate:!0}),a(F,()=>{y.open&&!N.value&&Z(!0)}),a(q,()=>{L.value=P.value?L.value:``,R.value=null},{flush:`sync`});function Z(e=!1){let t=new Set(W.value.map(e=>e.id));T.value=[...new Set((H.value?.assignments??[]).filter(e=>e.status===`active`&&t.has(e.personalProjectId)).map(e=>e.personalProjectId))];let n=e&&!H.value?.agentId?y.defaultProjectIds??(y.defaultProjectId?[y.defaultProjectId]:[]):[];w.value=[...new Set([...T.value,...n.filter(e=>t.has(e))])];let r=H.value?.management;D.value=r?.mode??`selected`,O.value=[...r?.excludedProjectIds??[]],k.value=r?.titleMode??`auto`,A.value=r?.titleStyle??`emoji`,r?.mode===`selected`&&H.value?.agentId&&(w.value=r.projectIds.filter(e=>t.has(e))),r?.mode===`all`&&H.value?.agentId&&(T.value=[...K.value]),j.value=JSON.stringify(q.value),M.value=H.value?.assignmentsVersion??``,P.value=!1,L.value=``,R.value=null}async function Q(e=!1){let t=++X;N.value=!0,z.value=[],B.value=``;try{let n=await ce(y.personalSpaceId);if(t!==X||!y.open)return;z.value=n,Z(e)}catch(e){t===X&&y.open&&(z.value=[],B.value=le(e))}finally{t===X&&(N.value=!1)}}function $(){I.value||S(`close`)}async function Ve(){if(!H.value||H.value.identityConflict||!y.personalSpaceId||I.value||N.value||P.value||!M.value||Y.value)return;I.value=!0,L.value=``;let e=H.value.id;try{let t=await ne(`/api/employee-templates/${encodeURIComponent(e)}/recruit`,{personalSpaceId:y.personalSpaceId,...G.value?{management:q.value}:{personalProjectIds:[...w.value]},replaceAssignments:!0,expectedAssignmentsVersion:M.value,...Re.value?{reactivate:!0}:{}});await ue(y.personalSpaceId),z.value=[...se.value],Z(),R.value=t,S(`recruited`,t)}catch(e){L.value=le(e);try{let t=JSON.parse(e instanceof Error?e.message:``);P.value=t.code===`assignment_scope_conflict`||t.code===`assignment_update_incomplete`}catch{}}finally{I.value=!1}}function He(e){e===`selected`&&(w.value=[...K.value]),D.value=e}function Ue(e){if(!(I.value||N.value||P.value)&&[`ArrowLeft`,`ArrowRight`,`Home`,`End`].includes(e.key)){e.preventDefault();let t=e.key===`Home`?`all`:e.key===`End`||D.value===`all`?`selected`:`all`;He(t),e.currentTarget.querySelector(`[data-scope="${t}"]`)?.focus()}}return(a,o)=>(e(),g(re,{open:r.open,class:`employee-recruit-dialog`,title:Pe.value,busy:I.value,form:``,onClose:$,onSubmit:Ve},te({default:l(()=>[N.value&&!V.value.length?(e(),g(x,{key:0,variant:`compact`,label:f(m)(`employees.loading`)},null,8,[`label`])):B.value?(e(),t(`div`,fe,[d(`p`,null,p(B.value),1),n(v,{size:`sm`,onClick:o[0]||=e=>Q(!0)},{default:l(()=>[c(p(f(m)(`employees.retry`)),1)]),_:1})])):H.value?(e(),t(u,{key:3},[V.value.length>1&&!y.templateId?(e(),g(C,{key:0,modelValue:U.value,"onUpdate:modelValue":o[1]||=e=>U.value=e,field:``,"control-id":`employee-template`,label:f(m)(`employees.choose`),options:V.value.map(e=>({value:e.id,label:e.name,meta:e.role})),disabled:I.value||N.value},null,8,[`modelValue`,`label`,`options`,`disabled`])):s(``,!0),d(`div`,me,[d(`span`,he,[f(E)(H.value.id)?(e(),t(`img`,{key:0,src:f(E)(H.value.id),alt:``},null,8,ge)):(e(),t(u,{key:1},[c(p(H.value.name.slice(0,1)),1)],64))]),d(`div`,null,[d(`h3`,null,[c(p(H.value.name)+` `,1),d(`span`,null,p(H.value.role),1)]),d(`p`,null,p(H.value.description),1),d(`p`,_e,p(H.value.capabilities.join(` · `)),1)])]),N.value?(e(),g(x,{key:1,variant:`compact`,label:f(m)(`employees.loadingScope`)},null,8,[`label`])):s(``,!0),G.value?(e(),t(`div`,ve,[d(`div`,{class:`ui-segmented`,role:`radiogroup`,"aria-label":f(m)(`employees.scope.rule`),onKeydown:Ue},[(e(),t(u,null,i([`all`,`selected`],e=>d(`button`,{key:e,type:`button`,role:`radio`,"data-scope":e,"aria-checked":D.value===e,tabindex:D.value===e?0:-1,disabled:I.value||N.value||P.value,onClick:t=>He(e)},p(f(m)(`employees.scope.${e===`all`?`continuousAll`:`onlySelected`}`)),9,be)),64))],40,ye),d(`p`,xe,p(D.value===`all`?f(m)(`employees.scope.allHint`,{name:H.value.name}):f(m)(`employees.scope.selectedHint`)),1)])):s(``,!0),n(de,{modelValue:K.value,"onUpdate:modelValue":o[2]||=e=>K.value=e,projects:W.value,inline:``,hint:D.value===`all`?f(m)(`employees.scope.excludeHint`):void 0,disabled:I.value||N.value||P.value},null,8,[`modelValue`,`projects`,`hint`,`disabled`]),D.value===`all`&&O.value.length?(e(),t(`p`,Se,p(f(m)(`employees.scope.excludedCount`,{count:O.value.length})),1)):s(``,!0),W.value.length?s(``,!0):(e(),t(`p`,Ce,[c(p(f(m)(`employees.noProjects`))+` `,1),n(f(b),{to:f(ie)(r.personalSpaceId,`directory`),onClick:$},{default:l(()=>[c(p(f(m)(`employees.createProject`)),1)]),_:1},8,[`to`])])),Le.value.length&&!R.value?(e(),t(`p`,we,p(f(m)(`employees.scopeRemoved`,{count:Le.value.length})),1)):s(``,!0),G.value&&H.value.permissions.includes(`session.title`)?(e(),t(`section`,{key:6,class:`employee-title-settings`,"aria-label":f(m)(`employees.titles.heading`)},[d(`h3`,null,p(f(m)(`employees.titles.heading`)),1),d(`div`,Ee,[n(C,{modelValue:k.value,"onUpdate:modelValue":o[3]||=e=>k.value=e,field:``,"control-id":`employee-title-mode`,label:f(m)(`employees.titles.mode`),options:Fe.value,disabled:I.value||N.value||P.value},null,8,[`modelValue`,`label`,`options`,`disabled`]),n(C,{modelValue:A.value,"onUpdate:modelValue":o[4]||=e=>A.value=e,field:``,"control-id":`employee-title-style`,label:f(m)(`employees.titles.style`),options:Ie.value,disabled:I.value||N.value||P.value||k.value===`off`},null,8,[`modelValue`,`label`,`options`,`disabled`])]),d(`p`,De,[c(p(f(m)(`employees.titles.example`))+` `,1),d(`span`,Oe,`【P1|`+p(A.value===`emoji`?`🔧 `:``)+`FIX|`+p(f(m)(`employees.titles.exampleTask`))+`】`,1)]),d(`p`,ke,p(f(m)(`employees.titles.boundary`)),1)],8,Te)):s(``,!0),d(`section`,{class:`employee-permissions`,"aria-label":f(m)(`employees.permissions`)},[d(`strong`,null,p(f(m)(`employees.permissions`)),1),d(`ul`,null,[(e(!0),t(u,null,i(H.value.permissions,n=>(e(),t(`li`,{key:n},p(n===`board.read`?f(m)(`employees.boardRead`):n===`board.write`?f(m)(`employees.boardWrite`):n===`session.title`?f(m)(`employees.titles.heading`):n),1))),128))]),d(`p`,je,p(f(m)(`employees.noExecutor`)),1)],8,Ae),H.value.runtime?(e(),t(`p`,{key:7,class:ee([`employee-runtime`,{"is-warning":H.value.runtimeStatus!==`ready`}])},p(H.value.runtimeStatus===`ready`?f(m)(`employees.hostReady`):f(m)(`employees.installRequired`)),3)):s(``,!0),L.value||H.value.identityConflict?(e(),t(`p`,Me,p(L.value||f(m)(`employees.errors.identity_conflict`)),1)):s(``,!0),P.value?(e(),g(v,{key:9,size:`sm`,disabled:N.value,onClick:o[5]||=e=>Q()},{default:l(()=>[c(p(f(m)(`employees.reloadScope`)),1)]),_:1},8,[`disabled`])):s(``,!0),R.value?(e(),t(`div`,Ne,[d(`strong`,null,p(f(m)(`employees.scopeSaved`)),1),d(`p`,null,p(D.value===`all`?f(m)(`employees.scope.successAll`,{count:K.value.length}):K.value.length?f(m)(`employees.successMultiple`,{count:K.value.length}):f(m)(`employees.successUnassigned`)),1)])):s(``,!0)],64)):(e(),t(`p`,pe,p(f(m)(`employees.noTemplates`)),1))]),_:2},[H.value&&!B.value?{name:`footer`,fn:l(()=>[n(v,{variant:`ghost`,disabled:I.value,onClick:$},{default:l(()=>[c(p(f(m)(`employees.cancel`)),1)]),_:1},8,[`disabled`]),Y.value&&Be.value&&!I.value&&!N.value&&!P.value&&H.value.runtimeStatus===`ready`?(e(),g(f(b),{key:0,class:`ui-button ui-button--primary`,to:Be.value,onClick:$},{default:l(()=>[c(p(f(m)(`employees.open`)),1)]),_:1},8,[`to`])):(e(),g(v,{key:1,variant:`primary`,type:`submit`,busy:I.value,"busy-label":ze.value,disabled:N.value||P.value||!M.value||Y.value||H.value.identityConflict||!r.personalSpaceId},{default:l(()=>[c(p(ze.value),1)]),_:1},8,[`busy`,`busy-label`,`disabled`]))]),key:`0`}:void 0]),1032,[`open`,`title`,`busy`]))}}),[[`__scopeId`,`data-v-10a25b01`]]);export{k as n,A as t};
@@ -0,0 +1 @@
1
+ .jefa-read-status[data-v-c235299a]{color:var(--color-muted);overflow-wrap:anywhere;flex:none;gap:12px;padding:16px 24px;font-size:14px;line-height:1.6;display:grid}.jefa-read-status.is-blocking[data-v-c235299a]{flex:1;place-content:center;align-self:center;justify-items:start;width:min(100%,660px);overflow:auto}.jefa-read-status p[data-v-c235299a],.jefa-read-status h2[data-v-c235299a]{margin:0}.jefa-read-status h2[data-v-c235299a]{color:var(--color-ink);margin-bottom:8px;font-size:20px;line-height:1.4}.jefa-read-error[data-v-c235299a]{gap:4px;display:grid}.jefa-read-actions[data-v-c235299a]{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.jefa-read-actions .ui-button[data-v-c235299a]{min-height:44px;text-decoration:none}.jefa-read-details summary[data-v-c235299a]{cursor:pointer;color:var(--color-ink);padding-block:6px}.jefa-read-details summary[data-v-c235299a]:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.jefa-read-details p[data-v-c235299a]{margin-top:8px}@media (width<=640px){.jefa-read-status[data-v-c235299a]{padding:16px}.jefa-read-actions span[data-v-c235299a]{flex-basis:100%}}.bole-panel[data-v-ffdd7b12]{--bole-ink:var(--color-ink);--bole-muted:var(--color-muted);--bole-line:var(--color-surface-subtle);background:var(--color-surface);min-width:0;min-height:0;color:var(--bole-ink);flex-direction:column;flex:1;display:flex;overflow:hidden}.bole-header[data-v-ffdd7b12],.bole-controls[data-v-ffdd7b12]{flex:none;padding-inline:24px}.bole-header[data-v-ffdd7b12]{border-bottom:1px solid var(--bole-line);background:var(--color-surface);flex-wrap:wrap;align-items:center;gap:4px 16px;padding-block:8px;display:flex}.bole-heading[data-v-ffdd7b12]{flex-wrap:wrap;align-items:center;gap:4px 24px;display:flex}.bole-heading h2[data-v-ffdd7b12]{margin:0;font-size:20px;font-weight:650;line-height:1.3}.bole-refresh[data-v-ffdd7b12]:disabled{cursor:progress}.bole-summary[data-v-ffdd7b12]{flex-wrap:wrap;gap:8px 16px;margin:0 0 0 auto;display:flex}.bole-summary div[data-v-ffdd7b12]{align-items:baseline;gap:8px;display:flex}.bole-summary dt[data-v-ffdd7b12]{color:var(--bole-muted);font-size:12px}.bole-summary dd[data-v-ffdd7b12]{font-variant-numeric:tabular-nums;margin:0;font-size:15px;font-weight:650}.bole-controls[data-v-ffdd7b12]{z-index:2;border-bottom:1px solid var(--bole-line);background:var(--color-surface);padding-bottom:12px}.bole-views[data-v-ffdd7b12]{flex-wrap:wrap;gap:20px;display:flex}.bole-views button[data-v-ffdd7b12]{min-height:44px;color:var(--bole-muted);background:0 0;border:0;align-items:center;gap:8px;padding:10px 0;font-size:14px;display:flex;position:relative}.bole-views button[aria-pressed=true][data-v-ffdd7b12]{color:var(--color-ink);font-weight:650}.bole-views button[aria-pressed=true][data-v-ffdd7b12]:after{background:var(--color-ink);content:"";height:2px;position:absolute;inset:auto 0 -1px}.bole-views span[data-v-ffdd7b12]{color:var(--bole-muted);font-variant-numeric:tabular-nums;font-size:12px;font-weight:500}.bole-filters[data-v-ffdd7b12]{flex-wrap:wrap;align-items:center;gap:12px;padding-top:12px;display:flex}.bole-search[data-v-ffdd7b12]{flex:220px;min-width:0;min-height:44px}.bole-search[data-v-ffdd7b12]::placeholder{color:var(--bole-muted)}.bole-filters .project-scope-picker[data-v-ffdd7b12]{flex:0 260px}.bole-role-filters[data-v-ffdd7b12]{flex-wrap:wrap;gap:4px 8px;margin-top:12px;display:flex}.bole-role-filters button[data-v-ffdd7b12]:not(.bole-clear){border-radius:var(--radius-control);min-height:36px;color:var(--bole-muted);background:0 0;border:0;padding:8px 10px;font-size:12px}.bole-role-filters button:not(.bole-clear)[aria-pressed=true][data-v-ffdd7b12]{color:var(--color-ink);background:var(--color-surface-subtle);font-weight:600}.bole-role-filters button[data-v-ffdd7b12]:not(.bole-clear):hover{background:var(--color-surface-subtle)}.bole-role-filters span[data-v-ffdd7b12]{font-variant-numeric:tabular-nums;margin-left:4px}.bole-role-filters .bole-clear[data-v-ffdd7b12]{margin-left:auto}.bole-content[data-v-ffdd7b12]{overscroll-behavior:contain;scrollbar-gutter:stable;flex:1;min-height:0;padding:16px 24px 32px;overflow:auto}.bole-result-count[data-v-ffdd7b12]{color:var(--bole-muted);align-self:center;font-size:12px}.bole-table-heading[data-v-ffdd7b12],.bole-agent-row[data-v-ffdd7b12]{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr) minmax(0,.8fr);gap:24px;padding:16px;display:grid}.bole-table-heading[data-v-ffdd7b12]{background:var(--color-surface-subtle);color:var(--bole-muted);padding-block:12px;font-size:12px}.bole-agent-row[data-v-ffdd7b12]{border-top:1px solid var(--bole-line);align-items:center}.bole-agent-row[data-v-ffdd7b12]:hover{background:var(--color-surface)}.bole-agent-identity[data-v-ffdd7b12]{align-items:center;gap:12px;min-width:0;display:flex}.bole-agent-identity>div[data-v-ffdd7b12]{min-width:0}.bole-agent-mark[data-v-ffdd7b12]{background:var(--color-surface-subtle);border-radius:10px;flex:0 0 36px;place-items:center;height:36px;font-size:18px;display:grid;overflow:hidden}.bole-agent-mark img[data-v-ffdd7b12]{object-fit:cover;width:100%;height:100%}.bole-agent-identity strong[data-v-ffdd7b12],.bole-recruitment-identity strong[data-v-ffdd7b12]{overflow-wrap:anywhere;font-size:14px;font-weight:600;display:block}.bole-agent-identity small[data-v-ffdd7b12],.bole-timeline small[data-v-ffdd7b12]{color:var(--bole-muted);margin-top:4px;font-size:12px;line-height:1.5;display:block}.bole-agent-work p[data-v-ffdd7b12]{overflow-wrap:anywhere;margin:6px 0 0;font-size:14px;line-height:1.55}.bole-agent-work .is-idle[data-v-ffdd7b12]{color:var(--bole-muted);margin:0}.bole-status[data-v-ffdd7b12]{white-space:nowrap}.bole-status[data-status=blocked][data-v-ffdd7b12]{background:var(--color-danger-soft);color:var(--color-danger)}.bole-status[data-status=awaiting_review][data-v-ffdd7b12]{background:var(--color-warning-soft);color:var(--color-warning)}.bole-agent-projects[data-v-ffdd7b12]{min-width:0;color:var(--bole-muted);font-size:12px;line-height:1.6}.bole-agent-projects span[data-v-ffdd7b12]{overflow-wrap:anywhere;display:block}.bole-agent-projects summary[data-v-ffdd7b12]{cursor:pointer;width:fit-content;min-height:32px;color:var(--color-ink);padding-block:6px}.bole-timeline[data-v-ffdd7b12]{margin:0;padding:0;list-style:none}.bole-timeline li[data-v-ffdd7b12]{border-bottom:1px solid var(--bole-line);grid-template-columns:minmax(0,1fr) minmax(0,1.7fr) minmax(120px,.6fr);gap:24px;padding:20px 0;display:grid}.bole-recruitment-reason p[data-v-ffdd7b12]{overflow-wrap:anywhere;max-width:70ch;margin:0;font-size:13px;line-height:1.7}.bole-timeline time[data-v-ffdd7b12]{color:var(--bole-muted);font-size:12px;line-height:1.6}.bole-empty[data-v-ffdd7b12]{color:var(--bole-muted)}.bole-alert[data-v-ffdd7b12]{background:var(--color-danger-soft);color:var(--color-danger);flex:none;justify-content:space-between;align-items:center;gap:16px;padding:8px 24px;font-size:13px;display:flex}.bole-content[data-v-ffdd7b12]:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}@media (width<=1100px){.bole-table-heading[data-v-ffdd7b12],.bole-agent-row[data-v-ffdd7b12]{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:16px}.bole-table-heading[data-v-ffdd7b12]>:last-child{display:none}.bole-agent-projects[data-v-ffdd7b12]{grid-column:2}.bole-timeline li[data-v-ffdd7b12]{grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:12px 20px}.bole-timeline time[data-v-ffdd7b12]{grid-column:2}}@media (width<=700px),(height<=560px){.bole-panel[data-v-ffdd7b12]{overscroll-behavior:contain;overflow:auto}.bole-content[data-v-ffdd7b12]{flex:none;overflow:visible}}@media (width<=700px){.bole-header[data-v-ffdd7b12],.bole-controls[data-v-ffdd7b12]{padding-inline:16px}.bole-content[data-v-ffdd7b12]{padding:16px 16px 28px}.bole-heading[data-v-ffdd7b12]{gap:4px 16px;width:100%}.bole-views[data-v-ffdd7b12]{gap:16px}.bole-summary[data-v-ffdd7b12]{gap:8px 16px;margin-left:0}.bole-refresh[data-v-ffdd7b12]{margin-left:auto}.bole-filters[data-v-ffdd7b12]{gap:8px}.bole-search[data-v-ffdd7b12]{flex-basis:100%}.bole-filters .project-scope-picker[data-v-ffdd7b12]{flex:180px}.bole-role-filters[data-v-ffdd7b12]{gap:4px}.bole-table-heading[data-v-ffdd7b12]{display:none}.bole-agent-row[data-v-ffdd7b12]{grid-template-columns:minmax(0,1fr);gap:12px}.bole-agent-row[data-v-ffdd7b12]:first-of-type{border-top:0}.bole-agent-projects[data-v-ffdd7b12]{grid-column:auto;padding-left:48px}.bole-agent-work[data-v-ffdd7b12]{padding-left:48px}.bole-timeline li[data-v-ffdd7b12]{grid-template-columns:minmax(0,1fr);gap:12px}.bole-timeline time[data-v-ffdd7b12]{grid-column:auto}.bole-alert[data-v-ffdd7b12]{padding-inline:16px}}fieldset[data-v-eb4ad781]{border:0;min-width:0;margin:0;padding:0}.employee-share-result[data-v-eb4ad781]{gap:12px;display:grid}.employee-share-result>div[data-v-eb4ad781]{align-items:center;gap:16px;display:flex}.employee-share-result a[data-v-eb4ad781]{color:var(--color-ink);font-size:13px}.employee-share-preview[data-v-eb4ad781]{color:var(--color-ink);justify-content:space-between;align-items:center;gap:12px;font-weight:600;display:flex}.employee-share-empty[data-v-eb4ad781]{color:var(--color-warning);line-height:1.6}.employee-share-active[data-v-eb4ad781]{border-top:1px solid var(--color-border);padding-top:16px}.employee-share-active h3[data-v-eb4ad781]{margin:0 0 10px;font-size:14px}.employee-share-active>div[data-v-eb4ad781]{justify-content:space-between;align-items:center;gap:12px;padding:6px 0;font-size:13px;display:flex}.employee-share-active span[data-v-eb4ad781]{overflow-wrap:anywhere}.employee-dialog-count[data-v-eb4ad781]{color:var(--color-muted);margin-right:auto;font-size:12px}.judgment-workbench[data-v-c0bff3a2]{gap:18px;min-width:0;min-height:0;padding:2px 24px 24px;display:grid;overflow:auto}.judgment-workbench-heading[data-v-c0bff3a2]{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.judgment-workbench-heading h2[data-v-c0bff3a2]{color:var(--color-ink);margin:0;font-size:20px}.judgment-workbench-heading p[data-v-c0bff3a2]{color:var(--color-muted);margin:6px 0 0;font-size:13px}.judgment-workbench-actions[data-v-c0bff3a2]{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.judgment-filter[data-v-c0bff3a2]{border:1px solid var(--color-border);background:var(--color-surface-subtle);border-radius:999px;gap:4px;width:fit-content;padding:3px;display:inline-flex}.judgment-filter button[data-v-c0bff3a2]{min-height:32px;color:var(--color-muted);font:inherit;cursor:pointer;background:0 0;border:0;border-radius:999px;padding:5px 12px;font-size:12px}.judgment-filter button[aria-pressed=true][data-v-c0bff3a2]{color:var(--color-ink);background:var(--color-surface);box-shadow:var(--shadow-subtle)}.judgment-record-list[data-v-c0bff3a2]{grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));gap:14px;display:grid}.judgment-record-card[data-v-c0bff3a2]{border:1px solid var(--color-border);border-radius:var(--radius-card);background:var(--color-surface);align-content:start;gap:13px;padding:18px;display:grid}.judgment-record-card.is-human-needed[data-v-c0bff3a2]{border-color:color-mix(in srgb, var(--color-warning) 48%, var(--color-border))}.judgment-record-heading[data-v-c0bff3a2]{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.judgment-record-heading h3[data-v-c0bff3a2]{color:var(--color-ink);overflow-wrap:anywhere;margin:4px 0 0;font-size:16px}.judgment-record-kind[data-v-c0bff3a2]{color:var(--color-muted);text-transform:uppercase;letter-spacing:.08em;font-size:11px}.judgment-outcome[data-v-c0bff3a2]{color:var(--color-muted);background:var(--color-surface-subtle);border-radius:999px;flex:none;padding:4px 8px;font-size:11px}.judgment-outcome.is-escalate[data-v-c0bff3a2],.judgment-outcome.is-failed[data-v-c0bff3a2]{color:var(--color-danger);background:var(--color-danger-soft)}.judgment-outcome.is-approve[data-v-c0bff3a2]{color:var(--color-success);background:var(--color-success-soft)}.judgment-record-summary[data-v-c0bff3a2]{color:var(--color-ink);margin:0;font-size:13px;line-height:1.65}.judgment-record-meta[data-v-c0bff3a2]{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:0;display:grid}.judgment-record-meta div[data-v-c0bff3a2]{gap:3px;min-width:0;display:grid}.judgment-record-meta dt[data-v-c0bff3a2]{color:var(--color-muted);font-size:11px}.judgment-record-meta dd[data-v-c0bff3a2]{color:var(--color-ink);overflow-wrap:anywhere;margin:0;font-size:12px}.judgment-record-evidence[data-v-c0bff3a2]{gap:7px;display:grid}.judgment-record-evidence h4[data-v-c0bff3a2]{color:var(--color-muted);margin:0;font-size:12px}.judgment-record-evidence ul[data-v-c0bff3a2]{color:var(--color-ink);gap:5px;margin:0;padding-left:18px;font-size:12px;line-height:1.5;display:grid}.judgment-record-details[data-v-c0bff3a2]{color:var(--color-muted);gap:9px;font-size:12px;display:grid}.judgment-record-details summary[data-v-c0bff3a2],.judgment-feedback-editor summary[data-v-c0bff3a2]{width:fit-content;color:var(--color-muted);cursor:pointer}.judgment-record-details summary[data-v-c0bff3a2]:hover,.judgment-feedback-editor summary[data-v-c0bff3a2]:hover{color:var(--color-ink)}.judgment-record-detail-list[data-v-c0bff3a2]{gap:8px;margin:0;display:grid}.judgment-record-detail-list div[data-v-c0bff3a2]{gap:3px;display:grid}.judgment-record-detail-list dt[data-v-c0bff3a2]{color:var(--color-muted);font-size:11px}.judgment-record-detail-list dd[data-v-c0bff3a2]{color:var(--color-ink);overflow-wrap:anywhere;margin:0}.judgment-record-detail-block[data-v-c0bff3a2]{gap:5px;display:grid}.judgment-record-detail-block h4[data-v-c0bff3a2]{color:var(--color-muted);margin:0;font-size:11px}.judgment-record-detail-block p[data-v-c0bff3a2]{color:var(--color-ink);margin:0}.judgment-record-detail-block pre[data-v-c0bff3a2]{border-radius:var(--radius-control);max-height:160px;color:var(--color-ink);background:var(--color-surface-subtle);font:inherit;white-space:pre-wrap;overflow-wrap:anywhere;margin:0;padding:8px;font-size:11px;overflow:auto}.judgment-record-feedback[data-v-c0bff3a2]{border-top:1px solid var(--color-border);gap:8px;padding-top:12px;display:grid}.judgment-feedback-editor[data-v-c0bff3a2]{gap:8px;display:grid}.judgment-feedback-editor-row[data-v-c0bff3a2]{align-items:flex-start;gap:6px;display:flex}.judgment-record-feedback textarea[data-v-c0bff3a2]{resize:vertical;width:100%}.judgment-feedback-actions[data-v-c0bff3a2]{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.judgment-feedback-actions button[data-v-c0bff3a2]{border:1px solid var(--color-border);border-radius:var(--radius-control);min-height:30px;color:var(--color-muted);font:inherit;cursor:pointer;background:0 0;padding:5px 8px;font-size:11px}.judgment-feedback-actions button[aria-pressed=true][data-v-c0bff3a2]{border-color:var(--color-accent);color:var(--color-accent);background:var(--color-accent-soft)}.judgment-save-reason[data-v-c0bff3a2]{border:1px solid var(--color-border);border-radius:var(--radius-control);width:30px;height:30px;color:var(--color-muted);cursor:pointer;background:0 0;flex:0 0 30px;place-items:center;padding:0;display:grid}.judgment-save-reason[data-v-c0bff3a2]:disabled{cursor:wait;opacity:.6}.visually-hidden[data-v-c0bff3a2]{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.judgment-workbench-error[data-v-c0bff3a2]{border-radius:var(--radius-control);color:var(--color-danger);background:var(--color-danger-soft);justify-content:space-between;align-items:center;gap:14px;padding:10px 12px;font-size:13px;display:flex}.judgment-workbench-empty[data-v-c0bff3a2]{color:var(--color-muted);text-align:center;padding:40px 20px}@media (width<=760px){.judgment-workbench[data-v-c0bff3a2]{padding-inline:16px}.judgment-workbench-heading[data-v-c0bff3a2]{display:grid}.judgment-workbench-actions[data-v-c0bff3a2]{justify-content:flex-start}}.employee-workbench-view[data-v-d5748ee8]{background:var(--color-surface);flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow:hidden}.employee-workbench-toolbar[data-v-d5748ee8]{flex:none;justify-content:space-between;align-items:center;gap:20px;padding:16px 24px 10px;display:flex}.employee-workbench-identity[data-v-d5748ee8]{align-items:center;gap:10px;min-width:0;display:flex}.employee-workbench-mark[data-v-d5748ee8]{border-radius:var(--radius-control);background:var(--color-surface-subtle);height:32px;color:var(--color-ink);flex:0 0 32px;place-items:center;font-size:17px;font-weight:650;display:grid;overflow:hidden}.employee-workbench-mark img[data-v-d5748ee8]{object-fit:cover;width:100%;height:100%}.employee-share-button[data-v-d5748ee8]{border-radius:var(--radius-control);width:40px;height:40px;color:var(--color-ink);cursor:pointer;background:0 0;border:0;flex:0 0 40px;place-items:center;display:grid}.employee-share-button[data-v-d5748ee8]:hover{background:var(--color-surface-subtle)}.employee-share-button[data-v-d5748ee8]:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.employee-workbench-toolbar h1[data-v-d5748ee8]{color:var(--color-ink);overflow-wrap:anywhere;margin:0;font-size:18px;font-weight:650;line-height:1.4}.employee-workbench-toolbar h1 span[data-v-d5748ee8]{color:var(--color-muted);margin-left:8px;font-size:12px;font-weight:400}.employee-workbench-actions[data-v-d5748ee8]{align-items:center;gap:12px;min-width:0;display:flex}.employee-native-link[data-v-d5748ee8]{border-radius:var(--radius-control);min-height:40px;color:var(--color-ink);align-items:center;padding:8px 10px;font-size:13px;text-decoration:none;display:inline-flex}.employee-native-link[data-v-d5748ee8]:hover{background:var(--color-surface-subtle)}.employee-native-link[data-v-d5748ee8]:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.employee-manage-projects[data-v-d5748ee8],.employee-back-to-all[data-v-d5748ee8]{border-radius:var(--radius-control);min-height:40px;color:var(--color-ink);font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:0;justify-content:center;align-items:center;gap:7px;padding:8px 10px;font-size:13px;display:inline-flex}.employee-manage-projects[data-v-d5748ee8]:hover:not(:disabled),.employee-back-to-all[data-v-d5748ee8]:hover{background:var(--color-surface-subtle)}.employee-manage-projects[data-v-d5748ee8]:disabled{color:var(--color-muted);cursor:default}.employee-manage-projects[data-v-d5748ee8]:focus-visible,.employee-back-to-all[data-v-d5748ee8]:focus-visible{outline:2px solid var(--color-accent);outline-offset:3px}.employee-workbench-frame[data-v-d5748ee8]{border:0;flex:1;width:100%;height:100%;min-height:0}.employee-workbench-unclaimed[data-v-d5748ee8]{margin:16px 24px}@media (width<=640px){.employee-workbench-unclaimed[data-v-d5748ee8]{margin:12px}}.employee-workbench-state[data-v-d5748ee8]{color:var(--color-muted);text-align:center;flex:1;place-content:center;justify-items:center;gap:14px;padding:30px;font-size:14px;display:grid}.employee-workbench-state a[data-v-d5748ee8]{color:var(--color-ink)}.employee-workbench-state h2[data-v-d5748ee8]{color:var(--color-ink);font-size:20px;font-weight:600}.employee-workbench-state p[data-v-d5748ee8]{max-width:48ch;margin:0;line-height:1.7}@media (width<=640px){.employee-workbench-toolbar[data-v-d5748ee8]{flex-wrap:wrap;gap:10px;padding:8px 16px 10px}.employee-workbench-actions[data-v-d5748ee8]{justify-content:flex-end;gap:8px;width:100%}.employee-workbench-toolbar h1 span[data-v-d5748ee8]{margin-left:6px}}
@@ -0,0 +1,3 @@
1
+ import{B as e,C as t,E as n,H as r,I as i,J as a,O as o,P as s,S as c,T as l,X as u,Z as d,_ as f,b as p,dt as m,ft as h,g,h as _,it as v,mt as y,n as b,o as x,ot as S,p as C,x as w,y as T}from"./i18n-DYrQWclR.js";import{n as E,t as D}from"./console-Dl-Zf-vm.js";import{h as O,m as k}from"./useApi-CROJJdhE-Di-SEzl3.js";import{t as A}from"./vue-router-CG6ezAck.js";import{a as j,i as M,r as N,s as P,t as F}from"./client-CRiPFGQo.js";import{t as I}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as L}from"./UiDialog-DMozYPbD.js";import{t as R}from"./UiSegmented-DirGF0fz.js";import{t as z}from"./UiSelect-iDXgMBmg.js";import{t as B}from"./avatars-CUyfvsKO.js";import{i as V,n as ee}from"./profile-model-BQO4zNs9.js";import{t as H}from"./AgentName-CKA8o3DK.js";import{n as te}from"./project-origin-BthRWajS.js";import{a as ne,n as re,o as ie,r as U,s as ae,t as oe}from"./catalog-DoiBFHyb.js";import{n as se}from"./date-time-DBa_h9cD.js";import{t as ce}from"./UnassignedConversationsPanel-LcjLO-S7.js";import{n as W,t as le}from"./EmployeeRecruitDialog-DA6MLiX4.js";import{t as G}from"./ProjectScopePicker-C5Qs2q55.js";import{i as ue,r as K,t as q}from"./shared-report-T8YWwLIB.js";import{l as J,n as de,o as fe,s as pe,u as Y}from"./judgment-types-YhMdw8_r.js";function me(e){if(!e||typeof e!=`object`)return!1;let t=e;return typeof t.id==`string`&&typeof t.projectId==`string`&&typeof t.title==`string`&&[`planned`,`active`,`blocked`,`review`,`done`].includes(t.status??``)}var X=8e3,he=3e4;function ge(e){let t=S(null),n=S(!1),r=S(!1),o=S(`console`),c=S(``),l=S([]),u=S([]),d=S([]),f=S([]),p=S([]),m=S(``),h=S(!1),g=0,_=null,v,y,b=!1,x=``,C=new Set,w=T(()=>e.boards.value.length>0),E=T(()=>p.value.length>0),D=T(()=>n.value||E.value);function O(){clearTimeout(v),clearTimeout(y)}function k(){++g,O(),_?.abort(),b=!1,n.value=!1,C.clear()}function A(e){return n.value&&e===g}function M(e,t,n){l.value=[...l.value.filter(t=>t.projectId!==e),{projectId:e,stage:t,category:n instanceof F?`HTTP ${n.status}`:n instanceof Error?n.name:`unknown`,at:new Date().toISOString()}]}function P(){O(),n.value=!1,b=!1,l.value.length||(m.value=new Date().toISOString())}function I(n){c.value=U(n),M(``,o.value,n),n instanceof F&&[401,403,404].includes(n.status)&&(e.boards.value=[],p.value=[],t.value=null,u.value=[]),P(),_?.abort()}function L(i){k(),c.value=``,l.value=[],h.value=!1,r.value=!1,f.value=[],d.value=[],i||(e.boards.value=[],t.value=null,u.value=[],m.value=``),p.value=e.boards.value.map(e=>e.project.id),_=new AbortController,n.value=!0;let a=g;o.value=e.spaceId.value?`catalog`:`console`,v=setTimeout(()=>{A(a)&&(r.value=!0)},X),y=setTimeout(()=>{if(A(a)){h.value=!0;for(let e of d.value)M(e,C.has(e)?`snapshot`:`board`,new DOMException(`Timed out`,`TimeoutError`));d.value.length||M(``,o.value,new DOMException(`Timed out`,`TimeoutError`)),d.value=[],P(),++g,_?.abort()}},he),e.spaceId.value&&V(a)}function R(t){e.boards.value=[...e.boards.value.filter(e=>e.project.id!==t.project.id),t],p.value=p.value.filter(e=>e!==t.project.id)}async function z(t,n,r,i){let a=`board`;try{let e=await j(`/api/employee-templates/jefa/call`,{personalSpaceId:r,personalProjectId:t.id,tool:`read_board`,arguments:{limit:100}},{signal:i});if(!A(n))return;let s={...e,project:t,items:Array.isArray(e.items)?e.items.filter(me).filter(e=>e.projectId===t.id):[]};if(R(s),e.truncated){a=`snapshot`,C.add(t.id),o.value=`snapshot`;let e=await N(`/employee-workspaces/jefa/${encodeURIComponent(t.id)}/api/snapshot`,{signal:i});if(!A(n))return;if(!Array.isArray(e.snapshot?.workItems))throw Error(`Invalid board snapshot`);R({...s,items:e.snapshot.workItems.filter(me).filter(e=>e.projectId===t.id),truncated:!1})}A(n)&&(f.value=[...f.value,t.id])}catch(r){if(!A(n))return;M(t.id,a,r),r instanceof F&&[401,403,404].includes(r.status)&&(e.boards.value=e.boards.value.filter(e=>e.project.id!==t.id),p.value=p.value.filter(e=>e!==t.id))}finally{A(n)&&(C.delete(t.id),d.value=d.value.filter(e=>e!==t.id),o.value=C.size?`snapshot`:`board`,d.value.length||P())}}function B(n){t.value=n,u.value=n?.managedProjects??(n?.assignments??[]).filter(e=>e.status===`active`).map(t=>({id:t.personalProjectId,name:e.projectNames.value.get(t.personalProjectId)??t.personalProjectId}));let r=new Set(n?.permissions.includes(`board.read`)&&n.runtimeStatus===`ready`?u.value.map(e=>e.id):[]);e.boards.value=e.boards.value.filter(e=>r.has(e.project.id)),p.value=p.value.filter(e=>r.has(e))}async function V(n){if(!A(n)||b||!e.spaceId.value)return;b=!0,o.value=`catalog`;let r=e.spaceId.value,i=_.signal;try{let a=await ie(r,{signal:i});if(!A(n))return;B(a.find(e=>e.id===`jefa`)??null);let c=t.value;if(b=!1,c&&!c.permissions.includes(`board.read`)){I(new F(JSON.stringify({code:`assignment_required`}),403));return}if(!c||c.runtimeStatus!==`ready`||!u.value.length){e.boards.value=[],p.value=[],P();return}if(await s(),!A(n))return;if(!e.scopeValid()){e.boards.value=[],p.value=[],P();return}o.value=`board`,d.value=u.value.map(e=>e.id);for(let e of u.value)z(e,n,r,i)}catch(e){A(n)&&I(e)}}function ee(){n.value||L(!0)}function H(e){e!==void 0&&B(e),L(!0)}return a([e.enabled,e.spaceId],([e,t],r)=>{if(!e){k();return}if(r?.[0]&&!r[1]&&t&&(x=t,n.value&&o.value===`console`&&V(g),n.value||h.value||c.value))return;let i=!!(r?.[0]&&t&&x===t);x=t,L(i)},{immediate:!0}),a(e.consoleError,t=>{e.enabled.value&&t&&n.value&&o.value===`console`&&I(Error(t))},{immediate:!0}),i(k),{template:t,loading:n,longWait:r,stage:o,failure:c,failures:l,projects:u,pendingIds:d,loadedIds:f,stale:E,readOnly:D,updatedAt:m,timedOut:h,hasContent:w,reload:ee,scopeChanged:H}}var _e=[`role`],Z={key:1,class:`jefa-read-error`},ve={key:0},ye={key:2,role:`status`},Q={key:3,class:`jefa-read-long`,role:`status`},be={key:4},$={key:0},xe={key:5,class:`jefa-read-actions`},Se={key:0},Ce={key:6,class:`jefa-read-details`},we=I(o({__name:`JefaReadStatus`,props:{loading:{type:Boolean},longWait:{type:Boolean},stage:{},timedOut:{type:Boolean},failure:{},failures:{},total:{},loaded:{},pending:{},hasContent:{type:Boolean},stale:{type:Boolean},updatedAt:{}},emits:[`reload`],setup(i){return(a,o)=>i.loading||i.timedOut||i.failure||i.failures.length||i.stale?(e(),t(`div`,{key:0,class:h([`jefa-read-status`,{"is-blocking":!i.hasContent}]),role:!i.loading&&(i.timedOut||i.failure||i.failures.length)?`alert`:void 0},[i.loading?(e(),w(P,{key:0,variant:i.hasContent?`compact`:`page`,label:m(x)(i.hasContent&&i.stale?`employees.read.updating`:`employees.read.${i.stage}`)},null,8,[`variant`,`label`])):c(``,!0),!i.loading&&(i.timedOut||i.failure||i.failures.length)?(e(),t(`div`,Z,[p(`h2`,null,y(m(x)(i.hasContent?`employees.read.partialTitle`:i.timedOut?`employees.read.timeoutTitle`:`employees.read.failedTitle`)),1),i.failure?(e(),t(`p`,ve,y(i.failure),1)):c(``,!0),p(`p`,null,y(m(x)(i.stale?`employees.read.previous`:`employees.read.unchanged`)),1)])):c(``,!0),i.total&&(i.loading||i.failures.length)?(e(),t(`p`,ye,y(m(x)(`employees.read.counts`,{loaded:i.loaded,total:i.total,pending:i.pending,failed:i.failures.filter(e=>e.projectId).length})),1)):c(``,!0),i.loading&&i.longWait?(e(),t(`p`,Q,y(m(x)(`employees.read.long`)),1)):c(``,!0),i.stale?(e(),t(`p`,be,[l(y(m(x)(`employees.read.readOnly`))+` `,1),i.updatedAt?(e(),t(`span`,$,y(m(x)(`employees.read.lastRead`,{time:m(se)(i.updatedAt,m(b)(),{dateStyle:`medium`,timeStyle:`short`},{missing:`—`})})),1)):c(``,!0)])):c(``,!0),i.loading?c(``,!0):(e(),t(`div`,xe,[n(E,{variant:`primary`,onClick:o[0]||=e=>a.$emit(`reload`)},{default:u(()=>[l(y(m(x)(`employees.read.reload`)),1)]),_:1}),n(m(A),{to:`/project-agents`,class:`ui-button`},{default:u(()=>[l(y(m(x)(`employees.backToAgents`)),1)]),_:1}),i.hasContent?(e(),t(`span`,Se,y(m(x)(`employees.read.reloadHint`)),1)):c(``,!0)])),!i.loading&&i.failures.length?(e(),t(`details`,Ce,[p(`summary`,null,y(m(x)(`employees.read.details`)),1),(e(!0),t(f,null,r(i.failures,(n,r)=>(e(),t(`p`,{key:r},y(m(x)(`employees.read.${n.stage}`))+` · `+y(n.category)+` · `+y(m(se)(n.at,m(b)(),{dateStyle:`medium`,timeStyle:`short`},{missing:`—`})),1))),128))])):c(``,!0)],10,_e)):c(``,!0)}}),[[`__scopeId`,`data-v-c235299a`]]),Te=[`aria-busy`],Ee={key:0,class:`bole-alert`,role:`alert`},De={class:`bole-header`},Oe={class:`bole-heading`},ke={id:`bole-overview-title`},Ae=[`aria-label`],je=[`aria-pressed`],Me={"data-testid":`people-total`},Ne=[`aria-pressed`],Pe=[`aria-label`],Fe={"data-testid":`people-working`},Ie={class:`bole-controls`},Le={class:`bole-filters`},Re=[`aria-label`,`placeholder`],ze=[`aria-label`],Be=[`aria-pressed`],Ve=[`aria-pressed`,`onClick`],He={key:1,class:`bole-result-count`,role:`status`},Ue=[`aria-label`],We={key:1,"aria-labelledby":`bole-work-title`},Ge={key:0,class:`bole-empty`,role:`status`},Ke={key:1,class:`ui-card bole-agent-list`},qe={class:`bole-table-heading`,"aria-hidden":`true`},Je={class:`bole-agent-identity`},Ye={class:`bole-agent-mark`,"aria-hidden":`true`},Xe=[`src`],Ze={class:`bole-agent-work`},Qe=[`data-status`],$e={key:1,class:`is-idle`},et={class:`bole-agent-projects`},tt={key:0},nt={key:1},rt={key:2,class:`ui-empty bole-empty`},it={key:2,"aria-labelledby":`bole-history-title`},at={key:0,class:`ui-card bole-timeline`},ot={class:`bole-recruitment-identity`},st={class:`bole-recruitment-reason`},ct=[`datetime`],lt={key:1,class:`ui-empty bole-empty`},ut=`__bole_unassigned__`,dt=200,ft=I(o({__name:`BolePeoplePanel`,props:{personalSpaceId:{},projects:{}},setup(i){let o=i,s=k(),h=S([]),g=S([]),_=S([]),v=S(!1),D=S(!1),O=S(`people`),A=S(``),j=S(``),M=S(`all`),F=T(()=>[{value:`all`,label:x(`employees.bole.allWork`)},{value:`working`,label:x(`employees.bole.workingNow`)},{value:`idle`,label:x(`employees.bole.withoutTask`)}]),I=S(null),L=S(null),z=T(()=>g.value.length>=dt),ee=0,te=new Set([`awaiting_recruitment`,`backlog`,`queued`,`running`,`paused`,`awaiting_review`,`blocked`]),ne=T(()=>new Map(o.projects.map(e=>[e.project_id,e.profile.name]))),re=T(()=>h.value.filter(e=>e.status===`active`)),ie=T(()=>g.value.filter(e=>te.has(e.status))),U=T(()=>new Set(ce.value.filter(e=>e.task).map(e=>e.id))),ae=T(()=>new Set(re.value.flatMap(e=>e.projectIds).filter(Boolean))),oe=T(()=>{let e=[`coordinator`,`durable`,`hr`,`temporary`],t=new Map;for(let e of re.value)t.set(e.type,(t.get(e.type)??0)+1);return[...t.entries()].sort(([t],[n])=>xe(e,t)-xe(e,n)).map(([e,t])=>({type:e,count:t,label:Se(e)}))}),ce=T(()=>re.value.map(e=>({...e,task:e.workStatus?te.has(e.workStatus)&&e.currentTaskId?g.value.find(t=>t.id===e.currentTaskId)??{id:e.currentTaskId,title:e.currentTaskId,status:e.workStatus,projectId:``,agentIds:[e.id],updatedAt:``}:void 0:ie.value.filter(t=>t.agentIds.includes(e.id)).sort((e,t)=>t.updatedAt.localeCompare(e.updatedAt))[0]}))),le=T(()=>[..._.value].sort((e,t)=>t.createdAt.localeCompare(e.createdAt))),ue=T(()=>[...new Set([...o.projects.map(e=>e.project_id),...h.value.flatMap(e=>e.projectIds),...g.value.map(e=>e.projectId),..._.value.map(e=>e.projectId)].filter(Boolean))].map(e=>({id:e,name:ne.value.get(e)??e})).sort((e,t)=>e.name.localeCompare(t.name)).concat({id:ut,name:x(`employees.bole.noProject`)})),K=T({get:()=>I.value??ue.value.map(e=>e.id),set:e=>{I.value=e.length===ue.value.length?null:e}}),q=T(()=>ce.value.filter(e=>{let t=[...e.projectIds,...e.task?.projectId?[e.task.projectId]:[]];return fe(t)&&(!j.value||e.type===j.value)&&(M.value===`all`||(M.value===`working`?!!e.task:!e.task))&&pe([e.name,e.responsibility,...e.searchTerms,e.task?.title??``,...t.map(ft)])}).sort((e,t)=>Number(!!t.task)-Number(!!e.task)||e.name.localeCompare(t.name))),J=T(()=>le.value.filter(e=>fe(e.projectId?[e.projectId]:[])&&(!j.value||e.positionKind===j.value)&&pe([...Y(e.agentId),e.reason,e.workKind,ft(e.projectId)]))),de=T(()=>A.value||j.value||I.value!==null||O.value===`people`&&M.value!==`all`);function fe(e){return I.value===null||(e.length?e:[ut]).some(e=>I.value?.includes(e))}function pe(e){return V(e.join(` `),A.value)}function Y(e){let t=h.value.find(t=>t.id===e);return t?[t.name,t.responsibility,...t.searchTerms]:[e]}function me(){A.value=``,j.value=``,M.value=`all`,I.value=null}function X(e){return B(e.replace(/^employee\./,``))}a([O,A,j,M,I],()=>{L.value&&(L.value.scrollTop=0)}),a([()=>o.personalSpaceId,()=>s.query.q],([e,t],[n])=>{e===n?A.value=typeof t==`string`?t:``:(me(),n===void 0&&(A.value=typeof t==`string`?t:``),he())},{immediate:!0});async function he(){let e=++ee;if(h.value=[],g.value=[],_.value=[],D.value=!1,!o.personalSpaceId){v.value=!1;return}v.value=!0;let t=new URLSearchParams({personalSpaceId:o.personalSpaceId}),n=await Promise.allSettled([N(`/api/project-agents?${t}`),N(`/api/project-agent-tasks?${t}&limit=${dt}`),N(`/api/project-agent-recruitments?${t}`)]);e===ee&&(n[0].status===`fulfilled`&&(h.value=_e(n[0].value,`agents`).map(ye).filter($)),n[1].status===`fulfilled`&&(g.value=_e(n[1].value,`tasks`).map(Q).filter($)),n[2].status===`fulfilled`&&(_.value=_e(n[2].value,`recruitments`).map(be).filter($)),D.value=n.some(e=>e.status===`rejected`),v.value=!1)}function ge(e){return e&&typeof e==`object`&&!Array.isArray(e)?e:{}}function _e(e,t){if(Array.isArray(e))return e;let n=ge(e),r=n[t]??n.items;return Array.isArray(r)?r:[]}function Z(e,t,n=t){let r=e[t]??e[n];return typeof r==`string`?r:``}function ve(e){return Array.isArray(e)?e:[]}function ye(e){let t=ge(e),n=ge(t.profile),r=Z(t,`agentId`,`agent_id`);if(!r)return null;let i=ve(t.assignments).flatMap(e=>{let t=ge(e),n=Z(t,`status`),r=Z(t,`personalProjectId`,`personal_project_id`);return n===`active`&&r?[r]:[]}),a=Z(t,`personalProjectId`,`personal_project_id`);return{id:r,name:Z(n,`displayName`,`display_name`)||Z(n,`name`)||r,emoji:Z(n,`occupationEmoji`,`occupation_emoji`)||`✦`,responsibility:Z(n,`responsibility`),searchTerms:[Z(n,`name`),...ve(n.capabilities),...ve(n.workKinds??n.work_kinds)].filter(e=>typeof e==`string`),type:Z(n,`agentType`,`agent_type`)||`other`,status:Z(n,`status`)||`active`,projectIds:[...new Set([...i,...a?[a]:[]])],currentTaskId:Z(t,`currentTaskId`,`current_task_id`),workStatus:Z(t,`workStatus`,`work_status`)}}function Q(e){let t=ge(e),n=Z(t,`taskId`,`task_id`);if(!n)return null;let r=[Z(t,`ownerAgentId`,`owner_agent_id`),Z(t,`leadAgentId`,`lead_agent_id`)],i=ve(t.participants).flatMap(e=>{let t=ge(e),n=Z(t,`status`);return n&&!te.has(n)?[]:[Z(t,`agentId`,`agent_id`)]});return{id:n,title:Z(t,`title`)||n,status:Z(t,`status`)||`queued`,projectId:Z(t,`personalProjectId`,`personal_project_id`),agentIds:[...new Set([...r,...i].filter(Boolean))],updatedAt:Z(t,`updatedAt`,`updated_at`)||Z(t,`createdAt`,`created_at`)}}function be(e){let t=ge(e),n=Z(t,`recruitmentId`,`recruitment_id`);return n?{id:n,agentId:Z(t,`recruitedAgentId`,`recruited_agent_id`)||Z(t,`proposedAgentId`,`proposed_agent_id`),projectId:Z(t,`personalProjectId`,`personal_project_id`),workKind:Z(t,`workKind`,`work_kind`),positionKind:Z(t,`positionKind`,`position_kind`),reason:Z(t,`reason`)||Z(t,`reasonCode`,`reason_code`),status:Z(t,`status`),createdAt:Z(t,`createdAt`,`created_at`)}:null}function $(e){return e!==null}function xe(e,t){let n=e.indexOf(t);return n<0?e.length:n}function Se(e){return[`coordinator`,`durable`,`hr`,`temporary`].includes(e)?x(`employees.bole.types.${e}`):x(`employees.bole.types.other`)}function Ce(e){return[`awaiting_recruitment`,`backlog`,`queued`,`running`,`paused`,`failed`,`awaiting_review`,`blocked`].includes(e)?x(`employees.bole.status.${e}`):e}function we(e){return h.value.find(t=>t.id===e)?.name??e}function ft(e){return ne.value.get(e)??x(`employees.bole.noProject`)}function pt(e){return se(e,b(),{dateStyle:`medium`,timeStyle:`short`},{missing:x(`employees.bole.unknownTime`)})}return(a,o)=>(e(),t(`div`,{class:`bole-panel`,"aria-busy":v.value},[D.value?(e(),t(`div`,Ee,[p(`span`,null,y(m(x)(`employees.bole.partialError`)),1),n(E,{size:`sm`,variant:`ghost`,onClick:he},{default:u(()=>[l(y(m(x)(`employees.retry`)),1)]),_:1})])):c(``,!0),p(`header`,De,[p(`div`,Oe,[p(`h2`,ke,y(m(x)(`employees.bole.title`)),1),p(`nav`,{class:`bole-views`,"aria-label":m(x)(`employees.bole.viewLabel`)},[p(`button`,{id:`bole-work-title`,type:`button`,"aria-pressed":O.value===`people`,onClick:o[0]||=e=>O.value=`people`},[l(y(m(x)(`employees.bole.currentWork`))+` `,1),p(`span`,Me,y(v.value?`—`:re.value.length),1)],8,je),p(`button`,{id:`bole-history-title`,type:`button`,"aria-pressed":O.value===`history`,onClick:o[1]||=e=>O.value=`history`},[l(y(m(x)(`employees.bole.recruitmentHistory`))+` `,1),p(`span`,null,y(v.value?`—`:_.value.length),1)],8,Ne)],8,Ae)]),p(`dl`,{class:`bole-summary`,"aria-label":m(x)(`employees.bole.overview`)},[p(`div`,Fe,[p(`dt`,null,y(m(x)(`employees.bole.workingNow`)),1),p(`dd`,null,y(v.value?`—`:U.value.size),1)]),p(`div`,null,[p(`dt`,null,y(m(x)(`employees.bole.coveredProjects`)),1),p(`dd`,null,y(v.value?`—`:ae.value.size),1)])],8,Pe),n(E,{size:`sm`,variant:`ghost`,class:`bole-refresh`,disabled:v.value,onClick:he},{default:u(()=>[l(y(m(x)(`common.actions.refresh`)),1)]),_:1},8,[`disabled`])]),p(`div`,Ie,[p(`div`,Le,[d(p(`input`,{"onUpdate:modelValue":o[2]||=e=>A.value=e,type:`search`,class:`bole-search`,"aria-label":m(x)(`employees.bole.search`),placeholder:m(x)(`employees.bole.search`)},null,8,Re),[[C,A.value]]),n(G,{modelValue:K.value,"onUpdate:modelValue":o[3]||=e=>K.value=e,projects:ue.value,label:m(x)(`employees.allProjects.projectFilter`),"all-label":m(x)(`employees.bole.allProjects`),"empty-label":m(x)(`employees.filterEmpty`),compact:``,hint:``},null,8,[`modelValue`,`projects`,`label`,`all-label`,`empty-label`]),O.value===`people`?(e(),w(R,{key:0,modelValue:M.value,"onUpdate:modelValue":o[4]||=e=>M.value=e,label:m(x)(`employees.bole.workFilter`),options:F.value},null,8,[`modelValue`,`label`,`options`])):c(``,!0)]),p(`div`,{class:`bole-role-filters`,role:`group`,"aria-label":m(x)(`employees.bole.distribution`)},[p(`button`,{type:`button`,"aria-pressed":!j.value,onClick:o[5]||=e=>j.value=``},y(m(x)(`employees.bole.allRoles`)),9,Be),(e(!0),t(f,null,r(oe.value,n=>(e(),t(`button`,{key:n.type,type:`button`,"aria-pressed":j.value===n.type,onClick:e=>j.value=j.value===n.type?``:n.type},[l(y(n.label)+` `,1),p(`span`,null,y(n.count),1)],8,Ve))),128)),de.value?(e(),w(E,{key:0,size:`sm`,variant:`ghost`,class:`bole-clear`,onClick:me},{default:u(()=>[l(y(m(x)(`employees.bole.clearFilters`)),1)]),_:1})):c(``,!0),de.value&&!v.value?(e(),t(`span`,He,y(m(x)(`employees.bole.resultCount`,{count:O.value===`people`?q.value.length:J.value.length})),1)):c(``,!0)],8,ze)]),p(`div`,{ref_key:`scrollRegion`,ref:L,class:`bole-content`,tabindex:`0`,role:`region`,"aria-label":m(x)(O.value===`people`?`employees.bole.currentWork`:`employees.bole.recruitmentHistory`)},[v.value?(e(),w(P,{key:0,variant:`compact`,label:m(x)(`employees.bole.loading`)},null,8,[`label`])):O.value===`people`?(e(),t(`section`,We,[z.value?(e(),t(`p`,Ge,y(m(x)(`employees.bole.taskLimit`)),1)):c(``,!0),q.value.length?(e(),t(`div`,Ke,[p(`div`,qe,[p(`span`,null,y(m(x)(`projectAgents.title`)),1),p(`span`,null,y(m(x)(`employees.bole.taskColumn`)),1),p(`span`,null,y(m(x)(`employees.bole.projectsColumn`)),1)]),(e(!0),t(f,null,r(q.value,a=>(e(),t(`article`,{key:a.id,class:`bole-agent-row`},[p(`div`,Je,[p(`span`,Ye,[X(a.id)?(e(),t(`img`,{key:0,src:X(a.id),alt:``},null,8,Xe)):(e(),t(f,{key:1},[l(y(a.emoji),1)],64))]),p(`div`,null,[p(`strong`,null,[n(H,{"space-id":i.personalSpaceId,"agent-id":a.id,name:a.name},null,8,[`space-id`,`agent-id`,`name`])]),n(W,{"agent-id":a.id},null,8,[`agent-id`]),p(`small`,null,y(a.responsibility||Se(a.type)),1)])]),p(`div`,Ze,[a.task?(e(),t(f,{key:0},[p(`span`,{class:`ui-badge bole-status`,"data-status":a.task.status},y(Ce(a.task.status)),9,Qe),p(`p`,null,y(a.task.title),1)],64)):(e(),t(`p`,$e,y(m(x)(`employees.bole.idle`)),1))]),p(`div`,et,[a.projectIds.length?(e(),t(f,{key:0},[(e(!0),t(f,null,r(a.projectIds.slice(0,2),n=>(e(),t(`span`,{key:n},y(ft(n)),1))),128)),a.projectIds.length>2?(e(),t(`details`,tt,[p(`summary`,null,y(m(x)(`employees.bole.moreProjects`,{count:a.projectIds.length-2})),1),(e(!0),t(f,null,r(a.projectIds.slice(2),n=>(e(),t(`span`,{key:n},y(ft(n)),1))),128))])):c(``,!0)],64)):(e(),t(`span`,nt,y(a.task?.projectId?ft(a.task.projectId):m(x)(`employees.bole.noProject`)),1))])]))),128))])):(e(),t(`p`,rt,y(m(x)(de.value?`employees.bole.noMatch`:`employees.bole.noAgents`)),1))])):(e(),t(`section`,it,[J.value.length?(e(),t(`ol`,at,[(e(!0),t(f,null,r(J.value,r=>(e(),t(`li`,{key:r.id},[p(`div`,ot,[p(`strong`,null,[n(H,{"space-id":i.personalSpaceId,"agent-id":r.agentId,name:we(r.agentId)},null,8,[`space-id`,`agent-id`,`name`])]),p(`small`,null,y(Se(r.positionKind))+` · `+y(ft(r.projectId)),1)]),p(`div`,st,[p(`p`,null,y(r.reason),1),p(`small`,null,y(r.workKind||r.status),1)]),p(`time`,{datetime:r.createdAt},y(pt(r.createdAt)),9,ct)]))),128))])):(e(),t(`p`,lt,y(m(x)(de.value?`employees.bole.noMatch`:`employees.bole.noRecruitments`)),1))]))],8,Ue)],8,Te))}}),[[`__scopeId`,`data-v-ffdd7b12`]]),pt={key:1,class:`ui-dialog__error employee-dialog-error`,role:`alert`},mt={class:`ui-field`},ht=[`readonly`,`disabled`],gt={key:0,class:`ui-meta`},_t={class:`ui-field`},vt=[`readonly`,`disabled`],yt={class:`ui-field`},bt=[`readonly`,`disabled`],xt={class:`ui-field`},St=[`readonly`,`disabled`],Ct=o({__name:`EmployeeTaskDialog`,props:{open:{type:Boolean},item:{},projects:{},defaultProjectId:{},personalSpaceId:{},canWrite:{type:Boolean}},emits:[`close`,`saved`],setup(r,{emit:i}){let o=r,s=i,h=S(!1),g=S(!1),_=S(``),v=S(null),b=S(``),D=S(``),O=S(``),k=S(`medium`),A=S(``),M=S(``),N=0,F={signature:``,id:``},I=T(()=>o.canWrite&&!g.value&&!_.value&&!!b.value&&D.value.trim().length>=2),R=T(()=>o.projects.map(e=>({value:e.id,label:e.name}))),B=T(()=>[`critical`,`high`,`medium`,`low`].map(e=>({value:e,label:x(`employees.task.priorities.${e}`)})));a([()=>o.open,()=>o.item,()=>o.personalSpaceId],()=>{ee()},{immediate:!0});async function V(e,t){return j(`/api/employee-templates/jefa/call`,{personalSpaceId:o.personalSpaceId,personalProjectId:b.value,tool:e,arguments:t})}async function ee(){let e=++N;if(o.open&&(_.value=``,v.value=null,F={signature:``,id:``},b.value=o.item?.projectId??o.defaultProjectId??``,D.value=``,O.value=``,k.value=`medium`,A.value=``,M.value=``,g.value=!!o.item,o.item))try{let t=await V(`get_task`,{workItemId:o.item.id});if(e!==N)return;if(t.item.id!==o.item.id||t.item.projectId!==b.value||!t.item.updatedAt)throw Error(x(`employees.loadError`));v.value=t.item,D.value=t.item.title,O.value=t.item.summary??``,k.value=t.item.priority??`medium`,A.value=t.item.acceptanceCriteria?.join(`
2
+ `)??``,M.value=t.item.tags?.join(`, `)??``}catch(t){e===N&&(_.value=U(t))}finally{e===N&&(g.value=!1)}}async function H(){if(!I.value||h.value)return;h.value=!0;let e={title:D.value.trim(),summary:O.value.trim()||D.value.trim(),priority:k.value,acceptanceCriteria:A.value.split(`
3
+ `).map(e=>e.trim()).filter(Boolean),tags:M.value.split(/[,,]/).map(e=>e.trim()).filter(Boolean)},t=JSON.stringify([b.value,v.value?.updatedAt,e]);F.signature!==t&&(F={signature:t,id:`board-edit-${crypto.randomUUID()}`});try{v.value?await V(`update_tasks`,{requestId:F.id,updates:[{id:v.value.id,expectedUpdatedAt:v.value.updatedAt,...e}]}):await V(`create_tasks`,{messageId:F.id,tasks:[e]}),s(`saved`),s(`close`)}catch(e){_.value=U(e)}finally{h.value=!1}}function te(){h.value||s(`close`)}return(i,a)=>(e(),w(L,{open:r.open,class:`employee-dialog`,title:m(x)(r.item?`employees.task.detail`:`employees.task.create`),busy:h.value,form:``,onClose:te,onSubmit:H},{footer:u(()=>[n(E,{disabled:h.value,onClick:te},{default:u(()=>[l(y(m(x)(`employees.close`)),1)]),_:1},8,[`disabled`]),r.canWrite?(e(),w(E,{key:0,variant:`primary`,type:`submit`,disabled:!I.value,busy:h.value,"busy-label":m(x)(`employees.task.saving`)},{default:u(()=>[l(y(m(x)(`employees.task.save`)),1)]),_:1},8,[`disabled`,`busy`,`busy-label`])):c(``,!0)]),default:u(()=>[g.value?(e(),w(P,{key:0,variant:`compact`,label:m(x)(`employees.loadingTask`)},null,8,[`label`])):c(``,!0),_.value?(e(),t(`div`,pt,[p(`p`,null,y(_.value),1),n(E,{size:`sm`,disabled:h.value,onClick:ee},{default:u(()=>[l(y(m(x)(`employees.task.reload`)),1)]),_:1},8,[`disabled`])])):c(``,!0),g.value?c(``,!0):(e(),t(f,{key:2},[n(z,{modelValue:b.value,"onUpdate:modelValue":a[0]||=e=>b.value=e,field:``,label:m(x)(`employees.task.project`),placeholder:m(x)(`employees.task.chooseProject`),options:R.value,disabled:!!r.item||h.value||!r.canWrite,required:``},null,8,[`modelValue`,`label`,`placeholder`,`options`,`disabled`]),p(`label`,mt,[l(y(m(x)(`employees.task.title`)),1),d(p(`input`,{"onUpdate:modelValue":a[1]||=e=>D.value=e,autofocus:``,minlength:`2`,maxlength:`180`,required:``,readonly:!r.canWrite,disabled:h.value},null,8,ht),[[C,D.value]])]),v.value?(e(),t(`p`,gt,y(m(x)(`employees.allProjects.status.${v.value.status}`)),1)):c(``,!0),p(`label`,_t,[l(y(m(x)(`employees.task.summary`)),1),d(p(`textarea`,{"onUpdate:modelValue":a[2]||=e=>O.value=e,rows:`4`,maxlength:`2000`,readonly:!r.canWrite,disabled:h.value},null,8,vt),[[C,O.value]])]),n(z,{modelValue:k.value,"onUpdate:modelValue":a[3]||=e=>k.value=e,field:``,label:m(x)(`employees.task.priority`),options:B.value,disabled:!r.canWrite||h.value},null,8,[`modelValue`,`label`,`options`,`disabled`]),p(`label`,yt,[l(y(m(x)(`employees.task.criteria`)),1),d(p(`textarea`,{"onUpdate:modelValue":a[4]||=e=>A.value=e,rows:`3`,readonly:!r.canWrite,disabled:h.value},null,8,bt),[[C,A.value]])]),p(`label`,xt,[l(y(m(x)(`employees.task.tags`)),1),d(p(`input`,{"onUpdate:modelValue":a[5]||=e=>M.value=e,readonly:!r.canWrite,disabled:h.value},null,8,St),[[C,M.value]])])],64))]),_:1},8,[`open`,`title`,`busy`]))}}),wt=[`disabled`],Tt={key:1,class:`employee-share-preview`,role:`status`},Et={key:2,class:`employee-share-empty`},Dt={key:3,class:`ui-dialog__error employee-dialog-error`,role:`alert`},Ot={key:4,class:`employee-share-result`},kt={class:`ui-field`},At=[`value`,`aria-label`],jt=[`href`],Mt={key:5,class:`ui-meta`},Nt={key:6,class:`employee-share-active`},Pt={class:`employee-dialog-count`},Ft=I(o({__name:`EmployeeShareDialog`,props:{open:{type:Boolean},projects:{}},emits:[`close`],setup(i,{emit:o}){let s=i,d=o,h=S([]),g=S({}),_=S({}),v=S(!1),b=S(!1),C=S(null),D=S(``),O=S(``),k=S(``),A=S(!1),j=0,F=T(()=>s.projects.filter(e=>g.value[e.id]?.publicShareEnabled)),I=T(()=>h.value.every(e=>_.value[e]!==void 0)?h.value.reduce((e,t)=>e+_.value[t],0):null),R=[`localhost`,`127.0.0.1`,`[::1]`].includes(window.location.hostname);a([()=>s.open,()=>JSON.stringify(s.projects.map(e=>e.id))],()=>{s.open?B():++j},{immediate:!0}),a(h,()=>{k.value=``,A.value=!1});function z(e){return`/employee-workspaces/jefa/${encodeURIComponent(e)}/api`}async function B(e=!1){let t=++j;e||(h.value=[]),g.value={},_.value={},O.value=``,k.value=``,v.value=!0;let n=await Promise.allSettled(s.projects.map(async e=>{let t=(await N(`${z(e.id)}/snapshot`)).snapshot.projects.find(t=>t.id===e.id);if(!t)throw Error(x(`employees.loadError`));let n=null,r=!1;if(t.publicShareEnabled&&t.publicShareSlug)try{n=(await q({id:e.id,slug:t.publicShareSlug})).items.length}catch{r=!0}return{state:t,count:n,previewFailed:r}}));if(t===j){for(let e of n)e.status===`fulfilled`&&(g.value[e.value.state.id]=e.value.state,e.value.count!==null&&(_.value[e.value.state.id]=e.value.count));n.some(e=>e.status===`rejected`||e.value.previewFailed)&&(O.value=x(`employees.share.loadFailed`)),v.value=!1}}async function V(){if(!h.value.length||b.value||v.value||I.value===0)return;b.value=!0,C.value=`generate`,D.value=``,O.value=``,k.value=``,A.value=!1;let e=j,t=h.value.filter(e=>s.projects.some(t=>t.id===e));try{let n=await Promise.allSettled(t.map(async t=>{if(!g.value[t])throw Error(x(`employees.share.loadFailed`));let n=g.value[t];if(!n.publicShareEnabled||!n.publicShareSlug){if(n=(await M(`/employee-workspaces/jefa/${encodeURIComponent(t)}/api/projects/${encodeURIComponent(t)}/sharing`,{publicShareEnabled:!0,acceptsPublicRequests:!1})).project,n.id!==t||!n.publicShareEnabled||!n.publicShareSlug)throw Error(x(`employees.loadError`));if(e!==j)throw Error(x(`employees.share.loadFailed`));g.value[t]=n}let r=(await q({id:t,slug:n.publicShareSlug})).items.length;if(e!==j)throw Error(x(`employees.share.loadFailed`));return _.value[t]=r,{id:t,slug:n.publicShareSlug}}));if(e!==j)return;if(n.some(e=>e.status===`rejected`))throw Error(x(`employees.share.partial`));if(t.every(e=>_.value[e]===0))throw Error(x(`employees.shareContent.emptySelection`));k.value=K(n.flatMap(e=>e.status===`fulfilled`?[e.value]:[]),window.location.origin)}catch(t){e===j&&(O.value=U(t))}finally{b.value=!1,C.value=null,D.value=``}}async function ee(e){if(!b.value){b.value=!0,C.value=`revoke`,D.value=e,O.value=``,k.value=``,A.value=!1;try{let t=await M(`/employee-workspaces/jefa/${encodeURIComponent(e)}/api/projects/${encodeURIComponent(e)}/sharing`,{publicShareEnabled:!1,acceptsPublicRequests:!1});if(t.project.id!==e||t.project.publicShareEnabled)throw Error(x(`employees.loadError`));g.value[e]=t.project,delete _.value[e]}catch(e){O.value=U(e)}finally{b.value=!1,C.value=null,D.value=``}}}async function H(){try{await navigator.clipboard.writeText(k.value),A.value=!0}catch{O.value=x(`employees.share.copyFailed`)}}function te(){b.value||d(`close`)}return(a,o)=>(e(),w(L,{open:i.open,class:`employee-dialog employee-share-dialog`,title:m(x)(`employees.share.title`),description:m(x)(`employees.share.disclosure`),busy:b.value,onClose:te},{footer:u(()=>[p(`span`,Pt,y(m(x)(`employees.scope.count`,{selected:h.value.length,total:i.projects.length})),1),n(E,{variant:`primary`,disabled:!h.value.length||b.value||v.value||I.value===0,busy:C.value===`generate`,"busy-label":m(x)(`employees.share.generating`),onClick:V},{default:u(()=>[l(y(m(x)(`employees.share.generate`)),1)]),_:1},8,[`disabled`,`busy`,`busy-label`])]),default:u(()=>[v.value?(e(),w(P,{key:0,variant:`compact`,label:m(x)(`employees.loadingShare`)},null,8,[`label`])):c(``,!0),p(`fieldset`,{disabled:b.value||v.value},[n(G,{modelValue:h.value,"onUpdate:modelValue":o[0]||=e=>h.value=e,projects:i.projects,disabled:b.value||v.value,inline:``,label:m(x)(`employees.share.projects`),hint:m(x)(`employees.share.scopeHint`)},null,8,[`modelValue`,`projects`,`disabled`,`label`,`hint`])],8,wt),h.value.length&&!v.value?(e(),t(`p`,Tt,[l(y(I.value===null?m(x)(`employees.shareContent.verifyContent`):m(x)(`employees.shareContent.publicCount`,{count:I.value}))+` `,1),n(E,{size:`sm`,variant:`ghost`,disabled:b.value||v.value,onClick:o[1]||=e=>B(!0)},{default:u(()=>[l(y(m(x)(`common.actions.refresh`)),1)]),_:1},8,[`disabled`])])):c(``,!0),h.value.length&&!v.value&&I.value===0?(e(),t(`p`,Et,y(m(x)(`employees.shareContent.emptySelection`)),1)):c(``,!0),O.value?(e(),t(`div`,Dt,[p(`p`,null,y(O.value),1),b.value?c(``,!0):(e(),w(E,{key:0,size:`sm`,onClick:o[2]||=e=>B(!0)},{default:u(()=>[l(y(m(x)(`employees.retry`)),1)]),_:1}))])):c(``,!0),k.value?(e(),t(`div`,Ot,[p(`label`,kt,[l(y(m(x)(`employees.share.link`)),1),p(`input`,{value:k.value,readonly:``,"aria-label":m(x)(`employees.share.link`),onFocus:o[3]||=e=>e.target.select()},null,40,At)]),p(`div`,null,[n(E,{size:`sm`,onClick:H},{default:u(()=>[l(y(m(x)(A.value?`employees.share.copied`:`employees.share.copy`)),1)]),_:1}),p(`a`,{href:k.value,target:`_blank`,rel:`noreferrer`},y(m(x)(`employees.share.preview`)),9,jt)])])):c(``,!0),m(R)?(e(),t(`p`,Mt,y(m(x)(`employees.share.local`)),1)):c(``,!0),F.value.length?(e(),t(`section`,Nt,[p(`h3`,null,y(m(x)(`employees.share.active`)),1),(e(!0),t(f,null,r(F.value,r=>(e(),t(`div`,{key:r.id},[p(`span`,null,y(r.name),1),n(E,{size:`sm`,variant:`ghost`,disabled:b.value,busy:C.value===`revoke`&&D.value===r.id,"busy-label":m(x)(`employees.share.revoking`),onClick:e=>ee(r.id)},{default:u(()=>[l(y(m(x)(`employees.share.revoke`)),1)]),_:1},8,[`disabled`,`busy`,`busy-label`,`onClick`])]))),128))])):c(``,!0)]),_:1},8,[`open`,`title`,`description`,`busy`]))}}),[[`__scopeId`,`data-v-eb4ad781`]]);function It(e){return`fuli:jefa:project-filter:v1:${encodeURIComponent(e)}`}function Lt(e){let t=k(),n=O(),r=S(null),i=S(!1),o=S(!1),s=!1,c=``,l=!0;a([e.enabled,e.spaceId],([e,t])=>{let n=e?t:``;if(n!==c&&(l=!c||!n,c=n,r.value=null,s=!1,i.value=!1,o.value=!1,c))try{let e=localStorage.getItem(It(c));if(!e)return;let t=JSON.parse(e);t&&typeof t==`object`&&`version`in t&&t.version===1&&`projectIds`in t&&Array.isArray(t.projectIds)&&t.projectIds.every(e=>typeof e==`string`&&e.length>0&&e===e.trim())&&(r.value=[...new Set(t.projectIds)],s=!0)}catch(e){o.value=!(e instanceof SyntaxError)}},{immediate:!0,flush:`sync`});function u(){if(c)try{let e=It(c);r.value===null?localStorage.removeItem(e):localStorage.setItem(e,JSON.stringify({version:1,projectIds:r.value})),o.value=!1}catch{o.value=!0}}function d(){let e=t.query.project;return[...new Set((Array.isArray(e)?e:[e]).filter(e=>typeof e==`string`&&!!e))]}function f(){return[t.query.empty].flat().includes(`1`)}function p(e){return!e.length&&!f()||e.length===1&&[`all`,`__all__`].includes(e[0])}let m=T(()=>e.projectIds.value.filter(e=>r.value===null||r.value.includes(e)));function h(){if(!e.enabled.value||!c||!e.ready.value||!s)return;let i=m.value,a=d(),o=r.value===null||i.length>0&&i.length===e.projectIds.value.length;o&&t.query.project===`all`&&t.query.empty===void 0||r.value!==null&&!p(a)&&a.length===i.length&&a.every(e=>i.includes(e))&&(i.length>0||t.query.empty===`1`)||n.replace({query:{...t.query,project:o?`all`:i.length?i:``,empty:o||i.length?void 0:`1`}})}a([e.enabled,e.spaceId,e.ready,e.projectIds,()=>t.query.project,()=>t.query.empty],()=>{if(!(!e.enabled.value||!c||!e.ready.value)){if(!s){let t=d(),n=!l||p(t);if(i.value=!n&&t.some(t=>!e.projectIds.value.includes(t)),i.value)return;r.value=n?null:[...new Set(t)],s=!0,n||u()}h()}},{immediate:!0});let g=T({get:()=>m.value,set:t=>{if(!e.enabled.value||!c||!e.ready.value)return;let n=r.value?.filter(t=>!e.projectIds.value.includes(t))??[];r.value=[...new Set([...n,...t.filter(t=>e.projectIds.value.includes(t))])],s=!0,i.value=!1,u(),h()}});function _(){r.value=null,s=!0,i.value=!1,u(),h()}return{selection:g,reset:_,invalidScope:i,storageUnavailable:o}}var Rt=[`aria-label`],zt={class:`judgment-workbench-heading`},Bt={class:`judgment-workbench-actions`},Vt=[`disabled`],Ht={key:2,class:`judgment-workbench-error`,role:`alert`},Ut={key:3,class:`judgment-workbench-error`,role:`alert`},Wt=[`aria-label`],Gt=[`aria-pressed`],Kt=[`aria-pressed`],qt={key:4,class:`judgment-workbench-empty`},Jt={key:5,class:`judgment-record-list`},Yt={class:`judgment-record-heading`},Xt={class:`judgment-record-kind`},Zt={class:`judgment-record-summary`},Qt={class:`judgment-record-meta`},$t={key:0},en={key:1},tn={key:2},nn={key:0,class:`judgment-record-evidence`},rn={key:1,class:`judgment-record-details`,"data-judgment-details":``},an={class:`judgment-record-detail-list`},on={key:0},sn={key:1},cn={key:0,class:`judgment-record-detail-block`},ln={key:0},un={key:1,class:`judgment-record-detail-block`},dn={key:2,class:`judgment-record-detail-block`},fn=[`aria-label`],pn={class:`judgment-feedback-editor`,"data-feedback-editor":``},mn={"data-feedback-toggle":``},hn={class:`judgment-feedback-editor-row`},gn=[`for`],_n=[`id`,`onUpdate:modelValue`,`disabled`,`onInput`,`onKeydown`],vn=[`aria-label`,`title`,`disabled`,`onClick`],yn={class:`judgment-feedback-actions`},bn=[`aria-label`,`aria-pressed`,`title`,`disabled`,`onClick`],xn={class:`visually-hidden`},Sn=[`aria-label`,`aria-pressed`,`title`,`disabled`,`onClick`],Cn={class:`visually-hidden`},wn=I(o({__name:`JudgmentWorkbench`,props:{personalSpaceId:{}},setup(i){let o=i,s=S([]),v=S(!1),b=S(``),x=S(``),D=S(`human`),O=S(!1),k=S(null),A=S({}),j=S(new Set),M=0,N=0,F=0,I=0,L=T(()=>[...D.value===`human`?s.value.filter(de):s.value].sort((e,t)=>t.createdAt.localeCompare(e.createdAt))),R=T(()=>v.value||O.value);a(()=>o.personalSpaceId,e=>{M+=1,F+=1,I+=1,s.value=[],A.value={},j.value=new Set,b.value=``,x.value=``,O.value=!1,k.value=null,V(e)},{immediate:!0});function z(e,t){return o.personalSpaceId===e&&M===t}function B(e){let t={};for(let n of e)t[n.id]=j.value.has(n.id)?A.value[n.id]??``:n.feedback?.reason??``;s.value=e,A.value=t}async function V(e){let t=typeof e==`string`?e:o.personalSpaceId,n=M,r=++N;if(b.value=``,!t||!z(t,n)){v.value=!1;return}v.value=!0;try{let e=await fe(t);z(t,n)&&r===N&&B(Array.isArray(e.records)?e.records:[])}catch(e){z(t,n)&&r===N&&(b.value=e instanceof Error?e.message:Y(`workbench.loadError`))}finally{z(t,n)&&r===N&&(v.value=!1)}}async function ee(){if(!o.personalSpaceId||O.value)return;let e=o.personalSpaceId,t=M,n=++F;O.value=!0,x.value=``;try{let r=await pe(e,void 0,10);if(!z(e,t)||n!==F)return;let i=new Map(s.value.map(e=>[e.id,e]));for(let e of r.records??[])i.set(e.id,e);B([...i.values()])}catch(r){z(e,t)&&n===F&&(x.value=r instanceof Error?r.message:Y(`workbench.reviewError`))}finally{z(e,t)&&n===F&&(O.value=!1)}}function H(e){return e&&typeof e==`object`&&`status`in e&&typeof e.status==`number`?e.status:null}function te(e){return(A.value[e.id]??e.feedback?.reason??``).trim().slice(0,1e3)}function ne(e){let t=new Set(j.value);t.add(e),j.value=t}function re(e){let t=s.value.findIndex(t=>t.id===e.id);t>=0&&s.value.splice(t,1,e);let n=new Set(j.value);n.delete(e.id),j.value=n,A.value={...A.value,[e.id]:e.feedback?.reason??``}}async function ie(e,t){if(k.value)return;let n=o.personalSpaceId,r=M,i=++I;if(!(!n||!z(n,r))){k.value=e.id,b.value=``;try{let a=await J(n,e.id,t,te(e),e.feedback.revision);z(n,r)&&i===I&&re(a)}catch(e){if(!z(n,r)||i!==I)return;H(e)===409?(await V(n),z(n,r)&&(b.value=Y(`workbench.feedbackConflict`))):b.value=e instanceof Error?e.message:Y(`workbench.reviewError`)}finally{z(n,r)&&i===I&&(k.value=null)}}}function U(e,t){ie(e,e.feedback.vote===t?null:t)}function ae(e){ie(e,e.feedback.vote)}function oe(e){return!e||Number.isNaN(Date.parse(e))?Y(`workbench.timeUnknown`):new Date(e).toLocaleString()}function se(e){return Y(`workbench.outcome.${e}`)}function ce(e){return Y(`workbench.executionStatus.${e}`)}function W(e){return Y(`workbench.kind.${e}`)}function le(e){return e.policy?[e.policy.mode?Y(`mode.${e.policy.mode}`):``,e.policy.quality?Y(`quality.${e.policy.quality}`):``,e.policy.client?Y(`client.${e.policy.client}`):``].filter(Boolean).join(` · `):`—`}function G(e){return e===`codex`||e===`claude_code`?Y(`client.${e}`):e||``}function ue(e){return[G(e.client),e.model||``].filter(Boolean).join(` · `)}function K(e){return e.selection?[e.selection.executorId,e.selection.model,G(e.selection.client)].filter(Boolean).join(` · `):``}function q(e,t=4e3){if(typeof e==`string`)return e.slice(0,t);if(e==null)return``;try{let n=JSON.stringify(e,null,2);return typeof n==`string`?n.slice(0,t):``}catch{return Y(`workbench.detailsUnavailable`)}}function me(e){let t=e.execution?.receipt;if(!t||typeof t!=`object`)return``;let n=t.reason;return typeof n==`string`?n:``}function X(e){return!!(e.sessionId||e.error||e.execution?.receipt||e.feedbackHistory?.length||e.executionHistory?.length)}return(i,a)=>(e(),t(`section`,{class:`judgment-workbench`,"aria-label":m(Y)(`workbench.aria`)},[p(`header`,zt,[p(`div`,null,[p(`h2`,null,y(m(Y)(`workbench.title`)),1),p(`p`,null,y(m(Y)(`workbench.subtitle`)),1)]),p(`div`,Bt,[O.value?(e(),w(P,{key:0,variant:`inline`,label:m(Y)(`workbench.reviewing`)},null,8,[`label`])):c(``,!0),n(E,{size:`sm`,variant:`ghost`,disabled:R.value,onClick:V},{default:u(()=>[l(y(m(Y)(`workbench.refresh`)),1)]),_:1},8,[`disabled`]),p(`button`,{class:`ui-button ui-button--primary`,type:`button`,"data-action":`review`,disabled:R.value||!o.personalSpaceId,onClick:ee},y(m(Y)(`workbench.review`)),9,Vt)])]),v.value&&!s.value.length?(e(),w(P,{key:0,variant:`compact`,label:m(Y)(`workbench.loading`)},null,8,[`label`])):v.value?(e(),w(P,{key:1,variant:`inline`,label:m(Y)(`workbench.loading`)},null,8,[`label`])):c(``,!0),b.value?(e(),t(`div`,Ht,[p(`span`,null,y(b.value),1),n(E,{size:`sm`,variant:`ghost`,disabled:R.value,onClick:V},{default:u(()=>[l(y(m(Y)(`workbench.retry`)),1)]),_:1},8,[`disabled`])])):c(``,!0),x.value?(e(),t(`div`,Ut,y(x.value),1)):c(``,!0),p(`div`,{class:`judgment-filter`,role:`group`,"aria-label":m(Y)(`workbench.title`)},[p(`button`,{type:`button`,"data-filter":`human`,"aria-pressed":D.value===`human`,onClick:a[0]||=e=>D.value=`human`},y(m(Y)(`workbench.human`)),9,Gt),p(`button`,{type:`button`,"data-filter":`all`,"aria-pressed":D.value===`all`,onClick:a[1]||=e=>D.value=`all`},y(m(Y)(`workbench.all`)),9,Kt)],8,Wt),!v.value&&!b.value&&!L.value.length?(e(),t(`div`,qt,y(m(Y)(D.value===`human`?`workbench.emptyHuman`:`workbench.empty`)),1)):(e(),t(`div`,Jt,[(e(!0),t(f,null,r(L.value,n=>(e(),t(`article`,{key:n.id,"data-decision-card":``,class:h([`judgment-record-card`,{"is-human-needed":m(de)(n)}])},[p(`header`,Yt,[p(`div`,null,[p(`span`,Xt,y(W(n.kind)),1),p(`h3`,null,y(n.title||n.objective||W(n.kind)),1)]),p(`span`,{class:h([`judgment-outcome`,`is-${n.outcome}`])},y(se(n.outcome)),3)]),p(`p`,Zt,y(n.summary),1),p(`dl`,Qt,[p(`div`,null,[p(`dt`,null,y(m(Y)(`workbench.execution`)),1),p(`dd`,null,y(ce(n.execution.status)),1)]),p(`div`,null,[p(`dt`,null,y(m(Y)(`workbench.policy`)),1),p(`dd`,null,y(le(n)),1)]),n.client||n.model?(e(),t(`div`,$t,[p(`dt`,null,y(m(Y)(`workbench.source`)),1),p(`dd`,null,y(ue(n)),1)])):c(``,!0),n.disposition?(e(),t(`div`,en,[p(`dt`,null,y(m(Y)(`workbench.disposition`)),1),p(`dd`,null,y(m(Y)(`workbench.actions.${n.disposition}`)),1)])):c(``,!0),n.selection?(e(),t(`div`,tn,[p(`dt`,null,y(m(Y)(`workbench.selection`)),1),p(`dd`,null,y(K(n)),1)])):c(``,!0),p(`div`,null,[a[2]||=p(`dt`,null,null,-1),p(`dd`,null,y(oe(n.createdAt)),1)])]),n.evidence.length?(e(),t(`section`,nn,[p(`h4`,null,y(m(Y)(`workbench.evidence`)),1),p(`ul`,null,[(e(!0),t(f,null,r(n.evidence,n=>(e(),t(`li`,{key:n},y(n),1))),128))])])):c(``,!0),X(n)?(e(),t(`details`,rn,[p(`summary`,null,y(m(Y)(`workbench.details`)),1),p(`dl`,an,[n.sessionId?(e(),t(`div`,on,[p(`dt`,null,y(m(Y)(`workbench.session`)),1),p(`dd`,null,[p(`code`,null,y(n.sessionId),1)])])):c(``,!0),n.error?(e(),t(`div`,sn,[p(`dt`,null,y(m(Y)(`workbench.recordError`)),1),p(`dd`,null,y(q(n.error,1e3)),1)])):c(``,!0)]),n.execution.receipt?(e(),t(`section`,cn,[p(`h4`,null,y(m(Y)(`workbench.receipt`)),1),me(n)?(e(),t(`p`,ln,y(me(n)),1)):c(``,!0),p(`pre`,null,y(q(n.execution.receipt,3e3)),1)])):c(``,!0),n.feedbackHistory?.length?(e(),t(`section`,un,[p(`h4`,null,y(m(Y)(`workbench.feedbackHistory`)),1),(e(!0),t(f,null,r(n.feedbackHistory.slice(-5),(n,r)=>(e(),t(`pre`,{key:`${r}-${q(n,200)}`},y(q(n,1200)),1))),128))])):c(``,!0),n.executionHistory?.length?(e(),t(`section`,dn,[p(`h4`,null,y(m(Y)(`workbench.executionHistory`)),1),(e(!0),t(f,null,r(n.executionHistory.slice(-5),(n,r)=>(e(),t(`pre`,{key:`${r}-${q(n,200)}`},y(q(n,1200)),1))),128))])):c(``,!0)])):c(``,!0),p(`section`,{class:`judgment-record-feedback`,"aria-label":m(Y)(`workbench.feedback`)},[p(`details`,pn,[p(`summary`,mn,y(A.value[n.id]?m(Y)(`workbench.feedbackReasonSaved`):m(Y)(`workbench.feedbackReasonAdd`)),1),p(`div`,hn,[p(`label`,{class:`visually-hidden`,for:`judgment-feedback-${n.id}`},y(m(Y)(`workbench.feedbackReason`)),9,gn),d(p(`textarea`,{id:`judgment-feedback-${n.id}`,"onUpdate:modelValue":e=>A.value[n.id]=e,"data-feedback-reason":``,rows:`2`,maxlength:`1000`,disabled:k.value===n.id,onInput:e=>ne(n.id),onKeydown:_(g(e=>ae(n),[`exact`,`prevent`]),[`enter`])},null,40,_n),[[C,A.value[n.id]]]),p(`button`,{class:`judgment-save-reason`,type:`button`,"data-save-reason":``,"aria-label":m(Y)(`workbench.saveReason`),title:m(Y)(`workbench.saveReason`),disabled:k.value===n.id,onClick:e=>ae(n)},[...a[3]||=[p(`span`,{"aria-hidden":`true`},`✓`,-1)]],8,vn)])]),p(`div`,yn,[p(`button`,{type:`button`,"data-feedback":`up`,"aria-label":m(Y)(`workbench.feedbackUp`),"aria-pressed":n.feedback.vote===`up`,title:m(Y)(`workbench.feedbackUp`),disabled:k.value===n.id,onClick:e=>U(n,`up`)},[a[4]||=p(`span`,{"aria-hidden":`true`},`👍`,-1),p(`span`,xn,y(m(Y)(`workbench.feedbackUp`)),1)],8,bn),p(`button`,{type:`button`,"data-feedback":`down`,"aria-label":m(Y)(`workbench.feedbackDown`),"aria-pressed":n.feedback.vote===`down`,title:m(Y)(`workbench.feedbackDown`),disabled:k.value===n.id,onClick:e=>U(n,`down`)},[a[5]||=p(`span`,{"aria-hidden":`true`},`👎`,-1),p(`span`,Cn,y(m(Y)(`workbench.feedbackDown`)),1)],8,Sn),k.value===n.id?(e(),w(P,{key:0,"data-feedback-saving":``,variant:`inline`,label:m(Y)(`workbench.feedbackSaving`)},null,8,[`label`])):c(``,!0)])],8,fn)],2))),128))]))],8,Rt))}}),[[`__scopeId`,`data-v-c0bff3a2`]]),Tn=[`aria-label`],En={class:`employee-workbench-toolbar`},Dn={class:`employee-workbench-identity`},On={class:`employee-workbench-mark`,"aria-hidden":`true`},kn=[`src`],An=[`aria-label`,`title`],jn={class:`employee-workbench-actions`},Mn=[`disabled`],Nn={key:5,class:`employee-workbench-state`,role:`alert`},Pn={key:6,class:`employee-workbench-state`},Fn={key:10,class:`employee-workbench-state`},In={key:11,class:`employee-workbench-state`},Ln={key:13,class:`employee-workbench-state`},Rn=[`src`,`title`],zn=`all`,Bn=I(o({__name:`EmployeeWorkbenchPage`,setup(r){let i=k(),o=O(),s=D(),d=S(``),h=S(null),g=S([]),_=S([]),b=S([]),C=S([]),F=S(``),I=S(``),L=S(!1),R=S(!1),z=S(!1),V=S(!1),H=S(!1),ie=S(!1),se=S(null),W=T(()=>s.activePersonalSpace?.id??``),G=T(()=>String(i.params.templateId??``)),K=T(()=>G.value===`jefa`),q=v(ge({enabled:K,spaceId:W,boards:g,scopeValid:()=>!$.invalidScope.value,consoleError:T(()=>!s.state&&s.runtimeStatus===`error`?s.feedback?.message||x(`employees.loadError`):``),projectNames:T(()=>new Map((s.state?.personalProjects??[]).filter(e=>e.personal_space_id===W.value).map(e=>[e.project_id,e.profile.name])))})),J=T(()=>K.value?q.template:ne.value.find(e=>e.id===G.value)),de=T(()=>{let e=J.value?.workbench;return e?.kind===`native`?e.view??null:null}),fe=T(()=>de.value===`people`),pe=T(()=>de.value===`judgment`),Y=T(()=>de.value===`unclaimed`),X=T(()=>fe.value||pe.value||Y.value),he=T(()=>(s.state?.personalProjects??[]).filter(e=>e.personal_space_id===W.value)),_e=T(()=>K.value?q.loading&&!q.hasContent:!s.state&&(s.runtimeStatus===`idle`||s.runtimeStatus===`loading`)||!R.value||L.value),Z=T(()=>s.state?re.value||!R.value?x(`employees.loading`):x(`employees.loadingBoard`):x(`common.status.loadingConsole`)),ve=T(()=>!s.state&&s.runtimeStatus===`error`?s.feedback?.message||x(`employees.loadError`):``),ye=T(()=>K.value?$.invalidScope.value?x(`employees.invalidScope`):``:ve.value||oe.value||I.value),Q=T(()=>K.value?q.projects.map(e=>({value:e.id,label:e.name})):J.value?.managedProjects===void 0?(J.value?.assignments??[]).filter(e=>e.status===`active`).map(e=>({value:e.personalProjectId,label:s.state?.personalProjects?.find(t=>t.project_id===e.personalProjectId)?.profile.name??e.personalProjectId})):J.value.managedProjects.map(e=>({value:e.id,label:e.name}))),be=T(()=>JSON.stringify([...new Set(Q.value.map(e=>e.value))].sort()));a([W,K],([e])=>{K.value||(R.value=!1,ae(e))},{immediate:!0});let $=Lt({enabled:K,spaceId:W,projectIds:T(()=>Q.value.map(e=>e.value)),ready:T(()=>K.value?!!q.template:!re.value&&!oe.value&&!!J.value)}),xe=T({get:()=>{if(K.value)return $.selection.value;let e=new Set(b.value);return Q.value.filter(t=>!e.has(t.value)).map(e=>e.value)},set:e=>{if(K.value){$.selection.value=e;return}let t=new Set(Q.value.map(e=>e.value)),n=new Set(e);b.value=[...b.value.filter(e=>!t.has(e)),...Q.value.filter(e=>!n.has(e.value)).map(e=>e.value)]}}),Se=T(()=>{let e=new Set(xe.value);return g.value.filter(t=>e.has(t.project.id))}),Ce=T(()=>{let e=new Set(xe.value);return _.value.filter(t=>e.has(t)).length}),Te=T(()=>J.value?.runtimeStatus===`ready`&&J.value.permissions.includes(`board.read`)&&Q.value.length>0),Ee=T(()=>Te.value?[{value:zn,label:x(`employees.allProjects.option`),meta:x(`employees.allProjects.optionMeta`,{count:Q.value.length})},...Q.value]:Q.value),De=0;a([G,W],()=>{b.value=[],ie.value=!1,H.value=!1,se.value=null}),a([Ee,()=>i.query.project,()=>i.query.empty,G,X],()=>{if(X.value){if(++De,d.value=``,L.value=!1,I.value=``,i.query.project!==void 0){let{project:e,...t}=i.query;o.replace({query:t})}return}if(K.value){d.value=Q.value.length?zn:``;return}let e=typeof i.query.project==`string`?i.query.project:``,t=Ee.value;d.value=e||(t.some(e=>e.value===d.value)?d.value:t[0]?.value??``),!e&&d.value&&o.replace({query:{...i.query,project:d.value}})},{immediate:!0}),a([G,d,W,Te,R],()=>{!K.value&&!X.value&&R.value&&Oe()},{immediate:!0}),a(re,e=>{if(!K.value&&!e){if(!R.value){R.value=!0;return}z.value&&(z.value=!1,Oe())}},{immediate:!0}),a(be,(e,t)=>{K.value||e===t||!R.value||X.value||Oe()}),a($.invalidScope,(e,t)=>{K.value&&t&&!e&&q.scopeChanged()}),a([ne,re,oe],([e,t,n])=>{if(!K.value||!q.template||t||n)return;let r=e.find(e=>e.id===`jefa`),i=e=>JSON.stringify(e&&[e.assignmentsVersion,e.managedProjects,e.assignments,e.permissions,e.runtimeStatus]);i(r)!==i(q.template)&&q.scopeChanged(r??null)}),a([()=>q.projects,()=>q.failures,()=>q.template],()=>{if(!K.value||!ie.value)return;let e=se.value?.projectId;(e&&(!q.projects.some(t=>t.id===e)||q.failures.some(t=>t.projectId===e&&[`HTTP 401`,`HTTP 403`,`HTTP 404`].includes(t.category)))||!q.template?.permissions.includes(`board.read`))&&(ie.value=!1,se.value=null)});async function Oe(){if(K.value){q.reload();return}let e=++De;if(h.value=null,g.value=[],_.value=[],F.value=``,I.value=``,X.value||!J.value||!d.value||!W.value){L.value=!1;return}if(K.value&&!Te.value){L.value=!1;return}if(K.value&&$.invalidScope.value){L.value=!1;return}if(re.value){z.value=!0,L.value=!0;return}z.value=!1;let t=G.value,n=d.value;L.value=!0;try{if(n===zn&&Te.value){let n=await Promise.all(Q.value.map(async e=>{try{let n=await j(`/api/employee-templates/${encodeURIComponent(t)}/call`,{personalSpaceId:W.value,personalProjectId:e.value,tool:`read_board`,arguments:{limit:100}}),r=Array.isArray(n.items)?n.items.filter(me).filter(t=>t.projectId===e.value):[],i=n.truncated;if(t===`jefa`&&i)try{let t=await N(`/employee-workspaces/jefa/${encodeURIComponent(e.value)}/api/snapshot`);if(!Array.isArray(t.snapshot.workItems))throw Error(`Invalid board snapshot`);r=t.snapshot.workItems.filter(me).filter(t=>t.projectId===e.value),i=!1}catch{}return{ok:!0,board:{...n,truncated:i,project:{id:e.value,name:e.label},items:r}}}catch(t){return{ok:!1,cause:t,projectId:e.value}}}));if(e!==De)return;g.value=n.filter(e=>e.ok).map(e=>e.board),_.value=n.flatMap(e=>e.ok?[]:[e.projectId]),!g.value.length&&_.value.length&&(I.value=U(n.find(e=>!e.ok)?.cause));return}let r=await N(`/api/employee-templates/${encodeURIComponent(t)}/workspace?${new URLSearchParams({personalSpaceId:W.value,personalProjectId:n})}`),i=`/employee-workspaces/${encodeURIComponent(t)}/${encodeURIComponent(n)}/`;if(r.workbenchUrl!==i)throw Error(x(`employees.loadError`));e===De&&(h.value=r)}catch(t){e===De&&(I.value=U(t))}finally{e===De&&(L.value=!1)}}function ke(e=null){se.value=e,ie.value=!0}function Ae(e){return`${e.projectId}:${e.id}`}function je(e,t,n){g.value=g.value.map(r=>r.project.id===e?{...r,items:r.items.map(e=>e.id===t?n:e)}:r)}function Me(){return`aggregate-board-move-${globalThis.crypto?.randomUUID?.()??`${Date.now()}-${Math.random().toString(36).slice(2)}`}`}async function Ne(e,t){if(K.value&&q.readOnly||e.status===t)return;let n=Ae(e);if(C.value.includes(n))return;let r=`${G.value}:${W.value}`,i={...e,status:t};F.value=``,C.value=[...C.value,n],je(e.projectId,e.id,i);try{let n;if(G.value===`jefa`&&t===`done`)n=(await M(`/employee-workspaces/${encodeURIComponent(G.value)}/${encodeURIComponent(e.projectId)}/api/work-items/${encodeURIComponent(e.id)}/status`,{status:t})).workItem;else{if(!e.updatedAt)throw Error(x(`employees.allProjects.refreshRequired`));n=(await j(`/api/employee-templates/${encodeURIComponent(G.value)}/call`,{personalSpaceId:W.value,personalProjectId:e.projectId,tool:`update_tasks`,arguments:{requestId:Me(),updates:[{id:e.id,expectedUpdatedAt:e.updatedAt,status:t}]}})).updatedWorkItems?.find(t=>t.id===e.id)}if(`${G.value}:${W.value}`!==r)return;if(!n||!me(n)||n.projectId!==e.projectId||n.id!==e.id||!n.updatedAt)throw Error(x(`employees.allProjects.refreshRequired`));je(e.projectId,e.id,n)}catch(t){if(`${G.value}:${W.value}`!==r)return;je(e.projectId,e.id,e),F.value=x(`employees.allProjects.moveFailed`,{error:U(t)})}finally{C.value=C.value.filter(e=>e!==n)}}async function Pe(){if(K.value){s.state||s.refresh(),q.reload();return}if(!s.state){await s.refresh();return}await ae(W.value),oe.value||await Oe()}async function Fe(){if(K.value){await o.replace({query:{...i.query,project:zn,empty:void 0}}),q.scopeChanged();return}let e=d.value===zn&&Te.value?zn:Q.value.find(e=>e.value===d.value)?.value??Ee.value[0]?.value;await o.replace({query:e?{project:e}:{}}),await Oe()}return(r,i)=>(e(),t(`section`,{class:`employee-workbench-view`,"aria-label":J.value?.name??m(x)(`employees.workbench`)},[p(`header`,En,[p(`div`,Dn,[p(`span`,On,[m(B)(G.value)?(e(),t(`img`,{key:0,src:m(B)(G.value),alt:``},null,8,kn)):(e(),t(f,{key:1},[l(y(J.value?.name.slice(0,1)??`A`),1)],64))]),p(`h1`,null,[l(y(J.value?.name??(K.value?`Jefa`:m(x)(`employees.workbench`)))+` `,1),p(`span`,null,y(K.value?m(x)(`employees.read.role`):J.value?.role),1)]),K.value&&Te.value?(e(),t(`button`,{key:0,class:`employee-share-button`,type:`button`,"aria-label":m(x)(`employees.share.title`),title:m(x)(`employees.share.title`),onClick:i[0]||=e=>H.value=!0},[...i[8]||=[p(`svg`,{width:`19`,height:`19`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.7`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"aria-hidden":`true`},[p(`path`,{d:`M14 3h7v7m0-7-9 9M10 5H5a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2v-5`}),p(`path`,{d:`M7 16v-3m4 3v-1`})],-1)]],8,An)):c(``,!0)]),p(`div`,jn,[X.value&&J.value?.agentId&&W.value?(e(),w(m(A),{key:0,class:`employee-native-link`,to:m(ee)(W.value,J.value.agentId),title:m(x)(`agentProfiles.profile`)},{default:u(()=>[l(y(m(x)(`agentProfiles.profile`)),1)]),_:1},8,[`to`,`title`])):c(``,!0),J.value&&!X.value?(e(),t(`button`,{key:1,class:`employee-manage-projects`,type:`button`,disabled:!W.value,onClick:i[1]||=e=>V.value=!0},[i[9]||=p(`svg`,{width:`16`,height:`16`,viewBox:`0 0 24 24`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.6`,"stroke-linecap":`round`,"aria-hidden":`true`},[p(`path`,{d:`M4 7h9m4 0h3M4 17h3m4 0h9`}),p(`circle`,{cx:`15`,cy:`7`,r:`2`}),p(`circle`,{cx:`9`,cy:`17`,r:`2`})],-1),l(` `+y(m(x)(`employees.manageProjects`)),1)],8,Mn)):c(``,!0)])]),X.value?c(``,!0):(e(),w(le,{key:0,open:V.value,"personal-space-id":W.value,projects:m(s).state?.personalProjects??[],"template-id":G.value,onClose:i[2]||=e=>V.value=!1,onRecruited:Fe},null,8,[`open`,`personal-space-id`,`projects`,`template-id`])),K.value?(e(),w(Ct,{key:1,open:ie.value,item:se.value,projects:Q.value.map(e=>({id:e.value,name:e.label})),"default-project-id":xe.value.length===1?xe.value[0]:void 0,"personal-space-id":W.value,"can-write":!q.readOnly&&(J.value?.permissions.includes(`board.write`)??!1),onClose:i[3]||=e=>ie.value=!1,onSaved:Oe},null,8,[`open`,`item`,`projects`,`default-project-id`,`personal-space-id`,`can-write`])):c(``,!0),K.value?(e(),w(Ft,{key:2,open:H.value,projects:Q.value.map(e=>({id:e.value,name:e.label})),onClose:i[4]||=e=>H.value=!1},null,8,[`open`,`projects`])):c(``,!0),K.value&&!m($).invalidScope.value?(e(),w(we,{key:3,loading:q.loading,"long-wait":q.longWait,stage:q.stage,"timed-out":q.timedOut,failure:q.failure,failures:q.failures,total:q.projects.length,loaded:q.loadedIds.length,pending:q.pendingIds.length,"has-content":q.hasContent,stale:q.stale,"updated-at":q.updatedAt,onReload:Pe},null,8,[`loading`,`long-wait`,`stage`,`timed-out`,`failure`,`failures`,`total`,`loaded`,`pending`,`has-content`,`stale`,`updated-at`])):c(``,!0),_e.value&&!K.value?(e(),w(P,{key:4,label:Z.value},null,8,[`label`])):ye.value?(e(),t(`div`,Nn,[p(`p`,null,y(ye.value),1),n(E,{size:`sm`,variant:`ghost`,onClick:Pe},{default:u(()=>[l(y(m(x)(`employees.retry`)),1)]),_:1})])):!J.value&&!(K.value&&(q.loading||q.timedOut||q.failure))?(e(),t(`div`,Pn,[p(`p`,null,y(m(x)(`employees.unavailable`)),1),n(m(A),{to:`/project-agents`},{default:u(()=>[l(y(m(x)(`employees.backToAgents`)),1)]),_:1})])):fe.value?(e(),w(ft,{key:7,"personal-space-id":W.value,projects:m(s).state?.personalProjects??[]},null,8,[`personal-space-id`,`projects`])):pe.value?(e(),w(wn,{key:8,"personal-space-id":W.value},null,8,[`personal-space-id`])):Y.value?(e(),w(ce,{key:9,class:`employee-workbench-unclaimed`,"space-id":W.value,"formal-projects":he.value.filter(m(te)),"existing-project-ids":he.value.map(e=>e.project_id),onProjectCreated:m(s).rememberPersonalProject},null,8,[`space-id`,`formal-projects`,`existing-project-ids`,`onProjectCreated`])):K.value&&J.value&&!q.loading&&J.value.runtimeStatus!==`ready`?(e(),t(`div`,Fn,[p(`p`,null,y(m(x)(`employees.installRequired`)),1),p(`small`,null,y(m(x)(`employees.installHelp`)),1)])):!d.value&&!(K.value&&(q.loading||q.timedOut||q.failure))?(e(),t(`div`,In,[p(`h2`,null,y(m(x)(`employees.emptyWorkbench`)),1),p(`p`,null,y(m(x)(`employees.manageHint`)),1),n(E,{size:`sm`,variant:`ghost`,onClick:i[5]||=e=>V.value=!0},{default:u(()=>[l(y(m(x)(`employees.manageProjects`)),1)]),_:1})])):d.value===zn&&Te.value&&(!K.value||q.hasContent)?(e(),w(ue,{key:12,"visible-project-ids":xe.value,"onUpdate:visibleProjectIds":i[6]||=e=>xe.value=e,boards:Se.value,projects:Q.value.map(e=>({id:e.value,name:e.label})),"failed-projects":K.value?0:Ce.value,"can-move-tasks":(!K.value||!q.readOnly)&&(J.value?.permissions.includes(`board.write`)??!1),"read-only":K.value&&q.readOnly,"allow-read-only-details":K.value,incomplete:K.value&&(q.loading||q.failures.length>0),"moving-item-keys":C.value,"action-error":F.value,"resettable-filter":K.value,"filter-storage-unavailable":m($).storageUnavailable.value,onResetProjectFilter:m($).reset,onMoveTask:Ne,onSelectTask:ke,onCreateTask:i[7]||=e=>ke(),onRetry:Oe},null,8,[`visible-project-ids`,`boards`,`projects`,`failed-projects`,`can-move-tasks`,`read-only`,`allow-read-only-details`,`incomplete`,`moving-item-keys`,`action-error`,`resettable-filter`,`filter-storage-unavailable`,`onResetProjectFilter`])):h.value&&h.value.runtimeStatus!==`ready`?(e(),t(`div`,Ln,[p(`p`,null,y(m(x)(`employees.installRequired`)),1),p(`small`,null,y(m(x)(`employees.installHelp`)),1)])):h.value?(e(),t(`iframe`,{key:h.value.workbenchUrl,src:h.value.workbenchUrl,title:`${h.value.name} · ${h.value.project.name}`,class:`employee-workbench-frame`},null,8,Rn)):c(``,!0)],8,Tn))}}),[[`__scopeId`,`data-v-d5748ee8`]]);export{Bn as default};
@@ -0,0 +1,4 @@
1
+ import{B as e,C as t,E as n,H as r,I as i,J as a,O as o,S as s,T as c,X as l,_ as u,b as d,dt as f,ft as p,g as m,mt as h,o as g,ot as _,x as v,y}from"./i18n-DYrQWclR.js";import{n as b,t as x}from"./console-Dl-Zf-vm.js";import{m as S}from"./useApi-CROJJdhE-Di-SEzl3.js";import{t as C}from"./vue-router-CG6ezAck.js";import{s as w}from"./client-CRiPFGQo.js";import{t as T}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as E}from"./UiSelect-iDXgMBmg.js";import{n as ee,r as D,t as O}from"./attention-store-CVJJ9eFY.js";import{n as k}from"./useAgentRecords-Bw9B25sk.js";import{t as A}from"./UiDisclosure-BkmYnV5V.js";var j=4096,M={approval:[`agree`,`decline`],review:[`accept`,`revise`],permission:[`done`,`agree`,`decline`],blocked:[`done`,`clarify`],question:[`clarify`]};function N(e){if(e.options?.length)return e.options.map((e,t)=>({id:`option-${t}`,label:e,value:e}));let t=e.requestedAction.split(`
2
+ `).map(e=>e.trim()).filter(e=>/^[A-F][.、))::]\s*\S/.test(e));return/(?:选择|选项|choose|select|options?|pick)/iu.test(e.requestedAction)&&t.length>=2&&t.every((e,t)=>e[0]===String.fromCharCode(65+t))?t.map((e,t)=>({id:`option-${t}`,label:e,value:e})):(M[e.kind]??[`clarify`]).map(e=>({id:e,label:g(`attention.replies.${e}`),value:g(`attention.replies.${e}`)}))}function P(e,t,n){let r=t.trim()||null;if(e===`other`)return r?{choice:null,note:r}:null;let i=n.find(t=>t.id===e);return i?{choice:i.value,note:r}:null}function F(e){return[e.choice,e.note].filter(Boolean).join(`
3
+
4
+ `).length}var I={class:`attention-question`},L={class:`attention-context`},R=[`disabled`],z=[`name`,`value`,`checked`,`onChange`],B=[`name`,`checked`],V={class:`attention-input`},H=[`for`],U=[`id`,`value`,`required`,`disabled`,`placeholder`],W={key:0,role:`alert`,class:`inline-error attention-response-error`},G={key:1,role:`alert`,class:`inline-error`},K={class:`attention-submit`},q={key:1},J=T(o({__name:`AttentionReply`,props:{item:{},modelValue:{},busy:{type:Boolean},refreshing:{type:Boolean},error:{}},emits:[`update:modelValue`,`submit`],setup(i,{emit:a}){let o=i,c=a,_=y(()=>N(o.item)),x=y(()=>P(o.modelValue.choice,o.modelValue.text,_.value)),S=y(()=>x.value?F(x.value)>j:!1);function C(e){c(`update:modelValue`,{...o.modelValue,...e})}function T(){!o.busy&&!o.refreshing&&x.value&&!S.value&&c(`submit`,x.value)}return(a,o)=>(e(),t(`form`,{class:`attention-reply`,onSubmit:m(T,[`prevent`])},[d(`p`,I,h(i.item.requestedAction),1),(e(),v(A,{key:i.item.requestId,title:f(g)(`attention.context`)},{default:l(()=>[d(`p`,L,h(i.item.detail),1)]),_:1},8,[`title`])),d(`fieldset`,{disabled:i.busy||i.refreshing,class:`attention-choices`},[d(`legend`,null,h(f(g)(`attention.chooseReply`)),1),(e(!0),t(u,null,r(_.value,n=>(e(),t(`label`,{key:n.id,class:p([`attention-choice`,{"is-selected":i.modelValue.choice===n.id}])},[d(`input`,{type:`radio`,name:`reply-${i.item.requestId}`,value:n.id,checked:i.modelValue.choice===n.id,onChange:e=>C({choice:n.id})},null,40,z),d(`span`,null,h(n.label),1)],2))),128)),d(`label`,{class:p([`attention-choice`,{"is-selected":i.modelValue.choice===`other`}])},[d(`input`,{type:`radio`,name:`reply-${i.item.requestId}`,value:`other`,checked:i.modelValue.choice===`other`,onChange:o[0]||=e=>C({choice:`other`})},null,40,B),d(`span`,null,h(f(g)(`attention.other`)),1)],2)],8,R),d(`div`,V,[d(`label`,{for:`attention-${i.item.requestId}`},h(i.modelValue.choice===`other`?f(g)(`attention.response`):f(g)(`attention.note`)),9,H),d(`textarea`,{id:`attention-${i.item.requestId}`,value:i.modelValue.text,rows:`3`,maxlength:`4096`,required:i.modelValue.choice===`other`,disabled:i.busy||i.refreshing,placeholder:f(g)(`attention.placeholder`),onInput:o[1]||=e=>C({text:e.target.value,choice:i.modelValue.choice||`other`})},null,40,U)]),i.error?(e(),t(`p`,W,h(i.error),1)):s(``,!0),S.value?(e(),t(`p`,G,h(f(g)(`attention.tooLong`)),1)):s(``,!0),d(`div`,K,[d(`p`,null,h(f(g)(`attention.replyHint`)),1),n(b,{size:`sm`,variant:`primary`,type:`submit`,disabled:i.busy||i.refreshing||!x.value||S.value},{default:l(()=>[i.busy?(e(),v(w,{key:0,variant:`inline`,label:f(g)(`attention.sending`)},null,8,[`label`])):(e(),t(`span`,q,h(f(g)(`attention.send`)),1))]),_:1},8,[`disabled`])])],32))}}),[[`__scopeId`,`data-v-537e0a87`]]),Y={class:`attention-page-body`},X={key:1,role:`alert`,class:`attention-error`},Z={key:3,class:`attention-empty`},Q=[`aria-busy`],te=[`aria-label`],ne={class:`ui-split-head`},re={class:`attention-page-count`,role:`status`},ie={class:`ui-split-items attention-request-list`},ae=[`aria-current`,`disabled`,`onClick`],$={class:`ui-split-item-meta`},oe={class:`ui-split-item-title`},se={class:`ui-split-item-sub`},ce={class:`ui-split-detail-head`},le={class:`ui-list-meta`},ue={class:`ui-badge`},de={class:`ui-split-detail-body`},fe=[`href`],pe=o({__name:`AttentionWorkspace`,props:{personalSpaceId:{},projects:{},focusRequestId:{}},setup(i){let o=i,m=D(),x=k(y(()=>m.open?m.spaceId:``),y(()=>[...m.items.map(e=>e.agentId),...m.agentId?[m.agentId]:[],...m.lastReply?[m.lastReply.agentId]:[]])),S=y(()=>Object.fromEntries(Object.entries(x.records.value).map(([e,t])=>[e,t.profile.displayName||t.profile.name]))),T=_(``),A=_(``),j=0,M=y(()=>m.responseErrors[T.value]??``),N=y(()=>m.items.find(e=>e.requestId===T.value)),P=y({get:()=>m.drafts[T.value]??{choice:``,text:``},set:e=>{N.value&&(m.drafts[T.value]={...e,revision:N.value.revision})}}),F=y(()=>m.lastReply&&g(`attention.delivery.${m.lastReply.status}`,{agent:S.value[m.lastReply.agentId]||g(`attention.agentFallback`),title:m.lastReply.title})),I=y(()=>new Map(o.projects.map(e=>[e.project_id,e.profile.name]))),L=y(()=>m.agentId?m.counts[m.agentId]??m.filteredTotal:m.total),R=y(()=>m.items.map(e=>({value:e.requestId,label:e.title,meta:`${S.value[e.agentId]||g(`attention.agentFallback`)} · ${I.value.get(e.personalProjectId)||g(`attention.projectFallback`)}`})));a(()=>o.personalSpaceId,e=>{j++,A.value=``,T.value=``,m.setSpace(e===`current`?``:e)},{immediate:!0}),a(()=>m.items,e=>{e.some(e=>e.requestId===T.value)||(T.value=e.find(e=>e.requestId===o.focusRequestId)?.requestId??e[0]?.requestId??``);for(let t of e){let e=m.drafts[t.requestId];e&&e.revision!==t.revision&&(m.drafts[t.requestId]={choice:``,text:e.text,revision:t.revision},m.responseErrors[t.requestId]=g(`attention.updated`))}},{immediate:!0}),a(()=>o.focusRequestId,e=>{e&&m.items.some(t=>t.requestId===e)&&(T.value=e)});async function z(e,t){if(A.value)return;let n=m.spaceId,r=++j;A.value=e.requestId,delete m.responseErrors[e.requestId];try{await m.respond(e,t)}catch(t){r===j&&n===m.spaceId&&(m.responseErrors[e.requestId]=t instanceof Error?t.message:String(t),await m.refresh())}finally{r===j&&(A.value=``)}}return(i,a)=>(e(),t(`div`,Y,[f(m).lastReply?(e(),t(`p`,{key:0,class:p([`attention-outcome`,`is-${f(m).lastReply.status}`]),role:`status`},h(F.value),3)):s(``,!0),f(m).error?(e(),t(`div`,X,[d(`span`,null,h(f(g)(`attention.loadError`)),1),n(b,{size:`sm`,disabled:f(m).loading,onClick:a[0]||=e=>f(m).refresh()},{default:l(()=>[c(h(f(g)(`attention.refresh`)),1)]),_:1},8,[`disabled`])])):s(``,!0),f(m).loading&&!f(m).items.length?(e(),v(w,{key:2,variant:`page`,label:f(g)(`attention.loading`)},null,8,[`label`])):!f(m).items.length&&!f(m).error?(e(),t(`div`,Z,[a[6]||=d(`span`,{"aria-hidden":`true`},`✓`,-1),d(`p`,null,h(f(g)(`attention.empty`)),1)])):f(m).items.length?(e(),t(`div`,{key:4,class:`ui-split attention-workspace`,"aria-busy":f(m).loading},[d(`aside`,{class:`ui-split-list`,"aria-label":f(g)(`attention.queue`)},[d(`div`,ne,[d(`span`,re,h(f(m).agentId?S.value[f(m).agentId]||f(g)(`attention.agentFallback`):f(g)(`attention.all`))+` · `+h(f(g)(`attention.count`,{count:L.value})),1),f(m).agentId?(e(),v(f(C),{key:0,class:`ui-button ui-button--ghost ui-button--sm`,to:f(ee)()},{default:l(()=>[c(h(f(g)(`attention.all`)),1)]),_:1},8,[`to`])):f(m).error?s(``,!0):(e(),v(b,{key:1,size:`sm`,variant:`ghost`,disabled:f(m).loading||!!A.value,onClick:a[1]||=e=>f(m).refresh()},{default:l(()=>[c(h(f(g)(`attention.refresh`)),1)]),_:1},8,[`disabled`]))]),n(E,{modelValue:T.value,"onUpdate:modelValue":a[2]||=e=>T.value=e,class:`attention-mobile-picker`,field:``,label:f(g)(`attention.selectRequest`),options:R.value,disabled:!!A.value},null,8,[`modelValue`,`label`,`options`,`disabled`]),d(`div`,ie,[(e(!0),t(u,null,r(f(m).items,n=>(e(),t(`button`,{key:n.requestId,type:`button`,class:p([`ui-split-item attention-request`,{"is-selected":T.value===n.requestId}]),"aria-current":T.value===n.requestId?`true`:void 0,disabled:!!A.value,onClick:e=>T.value=n.requestId},[d(`span`,$,[d(`span`,null,h(S.value[n.agentId]||f(g)(`attention.agentFallback`)),1),d(`span`,null,h(f(g)(`attention.kinds.${n.kind}`)),1)]),d(`strong`,oe,h(n.title),1),d(`span`,se,h(I.value.get(n.personalProjectId)||f(g)(`attention.projectFallback`)),1)],10,ae))),128)),f(m).items.length<f(m).filteredTotal?(e(),v(b,{key:0,class:`attention-more`,disabled:f(m).loading||!!A.value,onClick:a[3]||=e=>f(m).more()},{default:l(()=>[c(h(f(g)(`attention.more`)),1)]),_:1},8,[`disabled`])):s(``,!0)])],8,te),N.value?(e(),t(`section`,{key:N.value.requestId,class:`ui-split-detail attention-detail`},[d(`header`,ce,[d(`h2`,null,h(N.value.title),1),d(`p`,le,[d(`span`,null,h(S.value[N.value.agentId]||f(g)(`attention.agentFallback`))+` · `+h(I.value.get(N.value.personalProjectId)||f(g)(`attention.projectFallback`)),1),d(`span`,ue,h(f(g)(`attention.kinds.${N.value.kind}`)),1)])]),d(`div`,de,[n(J,{modelValue:P.value,"onUpdate:modelValue":a[4]||=e=>P.value=e,item:N.value,busy:A.value===N.value.requestId,refreshing:f(m).loading,error:M.value,onSubmit:a[5]||=e=>z(N.value,e)},null,8,[`modelValue`,`item`,`busy`,`refreshing`,`error`]),N.value.taskId&&!A.value?(e(),t(`a`,{key:0,class:`attention-task-link`,href:f(O)(N.value)},h(f(g)(`attention.task`))+` ↗`,9,fe)):s(``,!0)])])):s(``,!0)],8,Q)):s(``,!0)]))}}),me=[`aria-label`],he=T(o({__name:`InboxPage`,setup(n){let r=x(),o=S(),c=D(),l=y(()=>r.activePersonalSpace?.id??``),u=y(()=>(r.state?.personalProjects??[]).filter(e=>e.personal_space_id===l.value)),d=y(()=>typeof o.query.agent==`string`?o.query.agent:``),p=y(()=>typeof o.query.request==`string`?o.query.request:``);return a([l,d],([e,t])=>{e&&(c.setSpace(e),c.show(t))},{immediate:!0}),i(()=>{c.open=!1}),(n,r)=>(e(),t(`section`,{class:`view inbox-page`,"aria-label":f(g)(`attention.title`)},[l.value?(e(),v(pe,{key:0,"personal-space-id":l.value,projects:u.value,"focus-request-id":p.value},null,8,[`personal-space-id`,`projects`,`focus-request-id`])):s(``,!0)],8,me))}}),[[`__scopeId`,`data-v-b29f8b4e`]]);export{he as default};
@@ -0,0 +1 @@
1
+ .attention-reply[data-v-537e0a87]{gap:20px;min-width:0;display:grid}.attention-question[data-v-537e0a87],.attention-context[data-v-537e0a87]{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:14px;line-height:1.75}.attention-context[data-v-537e0a87]{color:var(--color-muted)}.attention-reply .ui-disclosure[data-v-537e0a87]{border-bottom:1px solid var(--color-border);padding-block:12px}.attention-choices[data-v-537e0a87]{border:0;gap:8px;min-width:0;margin:0;padding:0;display:grid}.attention-choices legend[data-v-537e0a87]{padding:0 0 10px;font-size:13px;font-weight:600}.attention-choice[data-v-537e0a87]{border:1px solid var(--color-border);border-radius:var(--radius-control);cursor:pointer;overflow-wrap:anywhere;align-items:flex-start;gap:10px;padding:12px 14px;font-size:14px;line-height:1.5;display:flex}.attention-choice[data-v-537e0a87]:hover{background:var(--color-surface-hover)}.attention-choice.is-selected[data-v-537e0a87]{border-color:var(--color-accent);background:var(--color-accent-soft)}.attention-choice input[data-v-537e0a87]{flex:none;width:16px;height:16px;margin:3px 0 0}.attention-input[data-v-537e0a87]{gap:8px;display:grid}.attention-input label[data-v-537e0a87]{color:var(--color-muted);font-size:13px}.attention-input textarea[data-v-537e0a87]{box-sizing:border-box;width:100%}.attention-submit[data-v-537e0a87]{border-top:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:16px;padding-top:16px;display:flex}.attention-submit p[data-v-537e0a87]{max-width:270px;color:var(--color-muted);margin:0;font-size:12px;line-height:1.6}.attention-submit button[data-v-537e0a87]{flex:none}.attention-response-error[data-v-537e0a87]{overflow-wrap:anywhere;margin:0;font-size:13px}@media (width<=640px){.attention-input textarea[data-v-537e0a87]{font-size:16px}.attention-submit[data-v-537e0a87]{flex-direction:column;align-items:stretch;gap:12px}.attention-submit p[data-v-537e0a87]{max-width:none}}.attention-nav-status{justify-self:end;align-items:center;gap:6px;display:inline-flex}.attention-page-body{flex-direction:column;gap:12px;min-height:0;display:flex}.attention-outcome{border-radius:var(--radius-control);background:var(--color-success-soft);color:var(--color-ink);overflow-wrap:anywhere;flex:none;margin:0;padding:12px 24px;font-size:13px;line-height:1.6}.attention-outcome.is-unavailable{background:var(--color-warning-soft)}.attention-more{width:100%;margin-top:8px}.attention-task-link{color:var(--color-accent);text-underline-offset:4px;margin-top:16px;font-size:13px;display:inline-block}.attention-workspace .attention-mobile-picker{margin:8px 12px;display:none}.attention-error{border-radius:var(--radius-control);color:var(--color-danger);background:var(--color-danger-soft);flex:none;justify-content:space-between;align-items:center;gap:12px;padding:12px 24px;font-size:13px;display:flex}.attention-empty{text-align:center;color:var(--color-muted);flex:1;align-content:center;justify-items:center;gap:16px;padding:72px 24px;display:grid}.attention-empty>span{background:var(--color-success-soft);width:48px;height:48px;color:var(--color-success);border-radius:50%;place-items:center;font-size:24px;display:grid}.attention-empty p{margin:0;font-size:14px}@media (width<=640px){.attention-workspace .attention-mobile-picker{display:grid}.attention-request-list{display:none}}.inbox-page[data-v-b29f8b4e]{width:100%;max-width:var(--page-max);flex-direction:column;margin-inline:auto;display:flex}
@@ -0,0 +1 @@
1
+ .knowledge-confirm-summary[data-v-44683a42]{border-radius:var(--radius-control);background:var(--color-surface-subtle);gap:4px;padding:12px 14px;display:grid}.knowledge-confirm-summary strong[data-v-44683a42]{font-size:15px}.knowledge-confirm-summary p[data-v-44683a42]{color:var(--color-ink-soft);margin:0;font-size:13px;line-height:1.6}.knowledge-edit-columns[data-v-e0bdff8d]{grid-template-columns:1.15fr .85fr;gap:28px;display:grid}.knowledge-edit-columns>section[data-v-e0bdff8d]{align-content:start;gap:6px;min-width:0;display:grid}.knowledge-edit-columns>section+section[data-v-e0bdff8d]{border-left:1px solid var(--color-border);padding-left:28px}.knowledge-edit-columns h3[data-v-e0bdff8d]{margin:0;font-size:13px;font-weight:600}.knowledge-edit-columns p[data-v-e0bdff8d]{margin:0}.knowledge-editor-form[data-v-e0bdff8d]{margin-top:10px}.knowledge-editor-group[data-v-e0bdff8d]{border:0;gap:14px;min-width:0;margin:0;padding:0;display:grid}.knowledge-field-row[data-v-e0bdff8d]{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.knowledge-field-row--pair[data-v-e0bdff8d]{grid-template-columns:repeat(2,minmax(0,1fr))}.knowledge-editor-section[data-v-e0bdff8d]{border:1px solid var(--color-border);border-radius:var(--radius-control);gap:12px;min-width:0;margin:0;padding:14px;display:grid}.knowledge-editor-section legend[data-v-e0bdff8d]{padding:0 6px;font-size:12px;font-weight:600}.knowledge-warning[data-v-e0bdff8d]{border-radius:var(--radius-control);color:var(--color-warning);background:var(--color-warning-soft);padding:8px 10px;font-size:12px}.knowledge-editor-actions[data-v-e0bdff8d]{justify-content:flex-end;gap:8px;display:flex}@media (width<=820px){.knowledge-edit-columns[data-v-e0bdff8d],.knowledge-field-row[data-v-e0bdff8d]{grid-template-columns:1fr}.knowledge-edit-columns>section+section[data-v-e0bdff8d]{border-left:0;border-top:1px solid var(--color-border);padding:18px 0 0}}
@@ -0,0 +1 @@
1
+ import{B as e,C as t,E as n,I as r,J as i,O as a,S as o,T as s,X as c,Z as l,_ as u,at as d,b as f,dt as p,g as m,it as h,mt as g,o as _,ot as v,p as y,u as b,x,y as S}from"./i18n-DYrQWclR.js";import{n as C,t as ee}from"./console-Dl-Zf-vm.js";import{a as w,i as T}from"./client-CRiPFGQo.js";import{t as E}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as te}from"./UiDialog-DMozYPbD.js";import{t as D}from"./UiSelect-iDXgMBmg.js";import{r as O,t as k}from"./identity-B3k8Qjz8.js";import{E as A,T as j}from"./model-CgiRuBdV.js";var M=`testLoading`;function N(e=typeof window>`u`?``:window.location.search){return new URLSearchParams(e).get(M)===`1`}function P(e,t=180){let n=v(!1),a=Math.max(0,t),o=N()?0:120,s=0,c=null,l=null,u=0,f=!1;function p(){u+=1,c!==null&&(clearTimeout(c),c=null),l!==null&&(clearTimeout(l),l=null)}function m(){if(o===0){if(f||!e.value||n.value)return;s=Date.now(),n.value=!0;return}let t=u;c=setTimeout(()=>{t===u&&(c=null,!(f||!e.value||n.value)&&(s=Date.now(),n.value=!0))},o)}function h(){let t=Math.max(0,a-(Date.now()-s));if(t===0){n.value=!1,s=0;return}let r=u;l=setTimeout(()=>{r===u&&(l=null,!(f||e.value)&&(n.value=!1,s=0))},t)}return i(e,e=>{if(p(),e){n.value||m();return}n.value&&h()},{immediate:!0,flush:`sync`}),r(()=>{f=!0,p()}),d(n)}var F=h(new Map);function ne(e,t){let n=t?new Set(t.map(t=>`${e}:${t.itemKind}:${t.id}`)):null;for(let[t,r]of F)t.startsWith(`${e}:`)&&(!n||n.has(t))&&r===`unconfirmed`&&F.delete(t)}function re(e,t,n=e){let a=v(!1),o=v(!1),s=v(``),c=S(()=>F.has(e())),l=0,u=null,d,f,p=``;function m(){clearTimeout(d),clearTimeout(f)}function h(){++l,a.value&&p&&F.set(p,`unconfirmed`),u?.abort(),m(),a.value=!1,o.value=!1,s.value=F.get(e())===`unconfirmed`?_(`preferences.detail.unconfirmed`):``}i(()=>[e(),n()],h,{immediate:!0,flush:`sync`}),r(h);async function g(n,r){let i=e();if(!i||a.value||F.has(i))return;p=i;let c=++l,h=new AbortController;u=h,F.set(i,`pending`),a.value=!0,s.value=``;let g=()=>c===l&&i===e();d=setTimeout(()=>{g()&&(o.value=!0)},8e3);let v=new Promise((e,t)=>{f=setTimeout(()=>t({unconfirmed:!0}),3e4)});try{if(await Promise.race([n(h.signal),v]),!g())return;F.delete(i),r()}catch(e){if(!g())return;let n=Number(e?.status);if(n===401||n===403){F.delete(i),s.value=_(`preferences.detail.accessDenied`),t();return}n===409?(F.set(i,`unconfirmed`),s.value=_(`preferences.detail.readConflict`)):!n||n>=500||e?.unconfirmed?(F.set(i,`unconfirmed`),s.value=_(`preferences.detail.unconfirmed`),h.abort()):(F.delete(i),s.value=_(`preferences.detail.writeFailed`,{status:n}))}finally{g()&&(m(),a.value=!1,o.value=!1,u=null)}}return{busy:a,takingLong:o,locked:c,error:s,run:g}}var I={key:0,role:`alert`},ie={key:1,role:`status`},L={class:`knowledge-confirm-summary`},R={class:`ui-meta`},z={class:`ui-meta`},B={class:`ui-field`},V={class:`ui-field`},H={class:`ui-field`},U={class:`ui-check`},W=E(a({__name:`KnowledgeConfirmDialog`,props:{item:{},personalSpaceId:{},personalProjectId:{}},emits:[`close`,`saved`,`accessDenied`,`reload`],setup(r,{emit:a}){let d=r,m=a,h=ee(),w=v(``),E=v(``),D=v(``),O=v(!1),k=v(!1),{busy:M,takingLong:N,locked:P,error:F,run:ne}=re(()=>d.item?`${d.personalSpaceId}:${d.item.itemKind}:${d.item.id}`:``,()=>{k.value=!0,m(`accessDenied`),m(`close`)},()=>[d.personalProjectId,d.item]),W=v(``),ae=v({kind:`import`,label:_(`knowledge.domain.actors.historicalRecord`)}),G=S(()=>d.item?.profileAspect?_(`knowledge.dialogs.confirm.preferenceSubject`):_(`knowledge.dialogs.confirm.knowledgeSubject`));i(()=>[d.item,d.personalSpaceId,d.personalProjectId],([e])=>{if(k.value=!1,!e){w.value=``,E.value=``,D.value=``,O.value=!1,W.value=``;return}let t=e.evidence.at(0),n=e.confirmationBasis;w.value=n?.existence_reason||t?.source_description||t?.summary||_(`knowledge.dialogs.confirm.sourceSupport`),E.value=n?.quadrant_reason||e.reasoningSummary||_(`knowledge.dialogs.confirm.quadrantReason`,{quadrant:A(e.originQuadrant),description:j(e.originQuadrant)}),ae.value=n?.proposed_by??se(t),D.value=_(`knowledge.dialogs.confirm.confirmationReason`),O.value=!1,W.value=``},{immediate:!0});async function oe(){let e=d.item;if(!e||M.value)return;if(!e.classificationExplicit)return K(_(`knowledge.dialogs.confirm.errors.quadrantRequired`));if(!w.value.trim())return K(_(`knowledge.dialogs.confirm.errors.existenceRequired`));if(!E.value.trim())return K(_(`knowledge.dialogs.confirm.errors.quadrantReasonRequired`));if(!D.value.trim())return K(_(`knowledge.dialogs.confirm.errors.confirmationReasonRequired`));if(!O.value)return K(_(`knowledge.dialogs.confirm.errors.acknowledgmentRequired`));W.value=``;let t=d.personalSpaceId,n=d.personalProjectId;await ne(async()=>{await T(`/api/knowledge/${e.itemKind}/${encodeURIComponent(e.id)}`,{personalSpaceId:t,personalProjectId:n,action:`confirm`,reason:D.value.trim(),confirmationStatus:`confirmed`,confirmationBasis:{existenceReason:w.value.trim(),quadrantReason:E.value.trim(),proposedBy:ae.value,confirmedBy:{kind:`user`,label:_(`knowledge.domain.actors.currentUser`)},confirmedAt:new Date().toISOString()}})},()=>{h.notify(_(`knowledge.dialogs.confirm.confirmed`,{subject:G.value})),m(`saved`),m(`close`)})}function se(e){let t={codex:`Codex`,claude:`Claude`,claude_code:`Claude Code`,cursor:`Cursor`,kiro:`Kiro`,other:_(`knowledge.domain.actors.otherAgent`)}[e?.source_application??``];return t?{kind:`agent`,label:t}:{kind:`import`,label:_(`knowledge.domain.actors.historicalRecord`)}}function K(e){W.value=e,document.querySelector(`.knowledge-confirm-dialog textarea:invalid, .knowledge-confirm-dialog input:invalid, .knowledge-confirm-dialog textarea`)?.focus()}return(i,a)=>(e(),t(u,null,[k.value?(e(),t(`p`,I,g(p(_)(`preferences.detail.accessDenied`)),1)):o(``,!0),r.item&&!k.value?(e(),x(te,{key:1,open:``,class:`knowledge-confirm-dialog`,size:`lg`,form:``,title:p(_)(`knowledge.dialogs.confirm.title`,{subject:G.value}),description:p(_)(`knowledge.dialogs.confirm.intro`),busy:p(M),error:W.value||p(F),onClose:a[6]||=e=>m(`close`),onSubmit:oe},{footer:c(()=>[n(C,{variant:`ghost`,disabled:p(M),onClick:a[5]||=e=>m(`close`)},{default:c(()=>[s(g(p(_)(`common.actions.cancel`)),1)]),_:1},8,[`disabled`]),n(C,{variant:`primary`,type:`submit`,disabled:!O.value||p(P),busy:p(M),"busy-label":p(_)(`knowledge.dialogs.confirm.confirming`,{subject:G.value})},{default:c(()=>[s(g(p(_)(`knowledge.dialogs.confirm.confirmSubject`,{subject:G.value})),1)]),_:1},8,[`disabled`,`busy`,`busy-label`])]),default:c(()=>[p(P)&&!p(M)?(e(),x(C,{key:0,"data-knowledge-reload":``,onClick:a[0]||=e=>m(`reload`)},{default:c(()=>[s(g(p(_)(`preferences.detail.reload`)),1)]),_:1})):o(``,!0),p(N)?(e(),t(`p`,ie,g(p(_)(`preferences.detail.writeLong`,{action:p(_)(`knowledge.dialogs.confirm.confirming`,{subject:G.value})})),1)):o(``,!0),f(`section`,L,[f(`span`,R,g(r.item.profileAspect?p(_)(`knowledge.dialogs.confirm.preference`):p(_)(`knowledge.dialogs.confirm.knowledge`)),1),f(`strong`,null,g(r.item.title),1),f(`p`,null,g(r.item.body),1),f(`small`,z,g(p(_)(`knowledge.dialogs.confirm.quadrant`,{quadrant:p(A)(r.item.originQuadrant)})),1)]),f(`label`,B,[s(g(p(_)(`knowledge.dialogs.confirm.whyExists`))+` `,1),l(f(`textarea`,{"onUpdate:modelValue":a[1]||=e=>w.value=e,name:`confirmation-existence-reason`,maxlength:`4096`,rows:`3`,required:``},null,512),[[y,w.value]])]),f(`label`,V,[s(g(p(_)(`knowledge.dialogs.confirm.whyQuadrant`))+` `,1),l(f(`textarea`,{"onUpdate:modelValue":a[2]||=e=>E.value=e,name:`confirmation-quadrant-reason`,maxlength:`4096`,rows:`3`,required:``},null,512),[[y,E.value]])]),f(`label`,H,[s(g(p(_)(`knowledge.dialogs.confirm.confirmationCopy`))+` `,1),l(f(`textarea`,{"onUpdate:modelValue":a[3]||=e=>D.value=e,name:`confirmation-reason`,maxlength:`2000`,rows:`2`,required:``},null,512),[[y,D.value]])]),f(`label`,U,[l(f(`input`,{"onUpdate:modelValue":a[4]||=e=>O.value=e,name:`confirmation-acknowledged`,type:`checkbox`},null,512),[[b,O.value]]),f(`span`,null,g(p(_)(`knowledge.dialogs.confirm.acknowledgment`)),1)])]),_:1},8,[`title`,`description`,`busy`,`error`])):o(``,!0)],64))}}),[[`__scopeId`,`data-v-44683a42`]]),ae={key:0,role:`alert`},G={key:1,role:`status`},oe={class:`knowledge-edit-columns`},se=[`disabled`],K={key:0,class:`ui-field`},ce={key:1,class:`ui-field`},le={key:2,class:`ui-field`},ue={class:`knowledge-field-row`},de={class:`ui-meta`},fe={key:3,class:`knowledge-warning`},pe={class:`knowledge-editor-section`},me={class:`ui-field`},he={class:`ui-field`},ge={class:`knowledge-field-row knowledge-field-row--pair`},_e={class:`ui-field`},ve=[`placeholder`],ye={class:`ui-field`},be=[`placeholder`],xe={class:`ui-meta`},Se={key:4,class:`knowledge-editor-section`},Ce={class:`ui-meta`},we={class:`knowledge-editor-section`},Te={class:`ui-meta`},Ee={class:`ui-field`},De={class:`knowledge-editor-actions`},Oe={key:0},ke={class:`ui-meta`},Ae=[`disabled`],je={class:`ui-field`},Me={class:`knowledge-editor-actions`},Ne={key:1},Pe={class:`ui-meta`},Fe=[`disabled`],Ie={class:`ui-field`},Le={class:`knowledge-editor-actions`},q=E(a({__name:`KnowledgeEditDialog`,props:{item:{},personalSpaceId:{},personalProjectId:{},projects:{},replacementItems:{default:()=>[]}},emits:[`close`,`saved`,`accessDenied`,`reload`],setup(r,{emit:a}){let d=r,b=a,E=ee(),j=v(!1),{busy:M,takingLong:N,locked:P,error:F,run:ne}=re(()=>d.item?`${d.personalSpaceId}:${d.item.itemKind}:${d.item.id}`:``,()=>{j.value=!0,b(`accessDenied`),b(`close`)},()=>[d.personalProjectId,d.item]),I=v(null),ie=S(()=>_({correction:`preferences.detail.savingCorrection`,invalidate:`knowledge.dialogs.edit.invalidating`,restore:`knowledge.dialogs.edit.restoring`,replacement:`knowledge.dialogs.edit.savingReplacement`,ownership:`knowledge.dialogs.edit.changingOwnership`,scope:`knowledge.dialogs.edit.savingScope`}[I.value??`correction`])),L=0,R=v(``),z=v(``),B=v(``),V=v(`global`),H=v(``),U=v(``),W=v(``),q=v(``),J=h({name:``,summary:``,fact:``,currentQuadrant:``,confirmationStatus:`pending`,existenceReason:``,quadrantReason:``,proposedByKind:`agent`,proposedByLabel:``,confirmedByKind:`user`,confirmedByLabel:``,profileAspect:`none`,inheritanceMode:`local_only`,reason:``}),Y=S(()=>d.item?.itemKind===`relationship`),X=S(()=>!!d.item?.invalidAt),Re=S(()=>!!d.item?.raw.profile_aspect),ze=S(()=>d.projects.map(e=>({value:e.project_id,label:e.profile.name,meta:`#${k(e.project_id,26)}`,search:O(e.project_id)}))),Be=S(()=>[`known_known`,`known_unknown`,`unknown_known`,`unknown_unknown`].map(e=>({value:e,label:_(`knowledge.dialogs.edit.quadrants.${e}`)}))),Ve=S(()=>[{value:`pending`,label:_(`knowledge.dialogs.edit.confirmationStates.pending`)},{value:`confirmed`,label:_(`knowledge.dialogs.edit.confirmationStates.confirmed`)}]),He=S(()=>[{value:`local_only`,label:_(`knowledge.dialogs.edit.inheritance.local`)},{value:`descendants`,label:_(`knowledge.dialogs.edit.inheritance.descendants`)},{value:`selected_projects`,label:_(`knowledge.dialogs.edit.inheritance.selected`)}]),Ue=S(()=>[`user`,`agent`,`authoritative_source`,`import`].map(e=>({value:e,label:_(`knowledge.domain.actors.${e}`)}))),We=S(()=>[`user`,`authoritative_source`].map(e=>({value:e,label:_(`knowledge.domain.actors.${e}`)}))),Ge=S(()=>[{value:`none`,label:_(`knowledge.dialogs.edit.profiles.none`)},...[`taste`,`personality`,`judgment_preference`].map(e=>({value:e,label:_(`knowledge.domain.profiles.${e}`)}))]),Ke=S(()=>[{value:`global`,label:_(`knowledge.dialogs.edit.scopes.global`)},{value:`project`,label:_(`knowledge.dialogs.edit.scopes.project`),disabled:d.projects.length===0}]),qe=S(()=>[{value:``,label:_(`knowledge.dialogs.edit.replacementNone`)},...d.replacementItems.filter(e=>!e.invalidAt&&(e.itemKind!==d.item?.itemKind||e.id!==d.item?.id)).map(e=>({value:tt(e.itemKind,e.id),label:e.title,meta:e.type,search:`${e.body} ${e.id}`}))]),Z=S(()=>{if(!q.value)return null;try{let[e,t]=JSON.parse(q.value);return e!==`entity`&&e!==`relationship`||typeof t!=`string`?null:{itemKind:e,id:t}}catch{return null}}),Je=S(()=>d.item?.assignments.at(0)?.project_id??d.item?.evidence.find(({personal_project_id:e})=>e)?.personal_project_id??d.personalProjectId??null);i(()=>[d.item,d.personalSpaceId,d.personalProjectId],([e])=>{if(j.value=!1,++L,I.value=null,!e){for(let e of Object.keys(J))J[e]=``;U.value=``,z.value=``,R.value=``,I.value=null;return}let t=e.raw;J.name=e.itemKind===`entity`?t.name:``,J.summary=e.itemKind===`entity`?t.summary??``:``,J.fact=e.itemKind===`relationship`?t.fact??``:``;let n=e.confirmationBasis,r=e.evidence.at(0);J.currentQuadrant=e.classificationExplicit?t.current_quadrant??t.origin_quadrant??`known_known`:``,J.confirmationStatus=e.confirmationStatus===`confirmed`?`confirmed`:`pending`,J.existenceReason=n?.existence_reason??r?.source_description??r?.summary??``,J.quadrantReason=n?.quadrant_reason??t.reasoning_summary??``,J.proposedByKind=n?.proposed_by.kind??`agent`,J.proposedByLabel=n?.proposed_by.label??``,J.confirmedByKind=n?.confirmed_by?.kind??`user`,J.confirmedByLabel=n?.confirmed_by?.label??``,J.profileAspect=t.profile_aspect??`none`,J.inheritanceMode=t.profile_aspect?`local_only`:t.inheritance_mode??`local_only`,W.value=t.inherited_project_ids?.at(0)??d.projects[0]?.project_id??``,J.reason=``,z.value=``,B.value=Je.value??d.projects[0]?.project_id??``,V.value=t.preference_scope===`global`||t.preference_scope===`project`?t.preference_scope:``,H.value=t.preference_project_id??d.projects[0]?.project_id??``,U.value=``,q.value=e.replacedByItemId&&e.replacedByItemKind?tt(e.replacedByItemKind,e.replacedByItemId):``,R.value=``},{immediate:!0});async function Ye(){let e=d.item;if(!e)return;if(!J.reason.trim())return $(_(`knowledge.dialogs.edit.errors.reasonRequired`));if(!Y.value&&!J.name.trim())return $(_(`knowledge.dialogs.edit.errors.nameRequired`));if(Y.value&&!J.fact.trim())return $(_(`knowledge.dialogs.edit.errors.factRequired`));if(!J.currentQuadrant||!J.confirmationStatus)return $(_(`knowledge.dialogs.edit.errors.classificationRequired`));if(!J.existenceReason.trim())return $(_(`knowledge.dialogs.edit.errors.existenceRequired`));if(!J.quadrantReason.trim())return $(_(`knowledge.dialogs.edit.errors.quadrantRequired`));if(!J.proposedByKind)return $(_(`knowledge.dialogs.edit.errors.proposerRequired`));if(J.confirmationStatus===`confirmed`&&!J.confirmedByKind)return $(_(`knowledge.dialogs.edit.errors.confirmerRequired`));if(J.inheritanceMode===`selected_projects`&&!W.value)return $(_(`knowledge.dialogs.edit.errors.inheritedProjectsRequired`));let t={...et(`update`),confirmationStatus:J.confirmationStatus,confirmationBasis:{existenceReason:J.existenceReason.trim(),quadrantReason:J.quadrantReason.trim(),proposedBy:{kind:J.proposedByKind,label:J.proposedByLabel.trim()||null},confirmedBy:J.confirmationStatus===`confirmed`?{kind:J.confirmedByKind,label:J.confirmedByLabel.trim()||null}:null,confirmedAt:J.confirmationStatus===`confirmed`?new Date().toISOString():null},profileAspect:J.profileAspect,inheritanceMode:J.profileAspect===`none`?J.inheritanceMode:`local_only`,inheritedProjectIds:J.profileAspect===`none`&&J.inheritanceMode===`selected_projects`?[W.value]:[],reasoningSummary:J.quadrantReason.trim()};d.item.classificationExplicit?t.currentQuadrant=J.currentQuadrant:t.originQuadrant=J.currentQuadrant,Y.value?t.fact=J.fact.trim():(t.name=J.name.trim(),t.summary=J.summary.trim()),await Q(`correction`,async()=>(await T(`/api/knowledge/${e.itemKind}/${encodeURIComponent(e.id)}`,t),_(`knowledge.dialogs.edit.notices.corrected`)))}async function Xe(e){let t=d.item;if(t){if(!J.reason.trim())return $(_(e===`invalidate`?`knowledge.dialogs.edit.errors.statusReasonRequired`:`knowledge.dialogs.edit.errors.restoreReasonRequired`));await Q(e===`invalidate`?`invalidate`:`restore`,async()=>{let n=et(e);return e===`invalidate`&&Z.value&&(n.replacementItemId=Z.value.id,n.replacementItemKind=Z.value.itemKind),await T(`/api/knowledge/${t.itemKind}/${encodeURIComponent(t.id)}`,n),e===`invalidate`?Z.value?_(`knowledge.dialogs.edit.notices.invalidatedWithReplacement`):_(`knowledge.dialogs.edit.notices.invalidated`):_(`knowledge.dialogs.edit.notices.restored`)})}}async function Ze(){let e=d.item,t=Z.value;if(!(!e||!X.value)){if(!t)return $(_(`knowledge.dialogs.edit.errors.replacementRequired`));if(!J.reason.trim())return $(_(`knowledge.dialogs.edit.errors.replacementReasonRequired`));await Q(`replacement`,async()=>(await T(`/api/knowledge/${e.itemKind}/${encodeURIComponent(e.id)}`,{...et(`link_replacement`),replacementItemId:t.id,replacementItemKind:t.itemKind}),_(`knowledge.dialogs.edit.notices.replacementSaved`)))}}async function Qe(){let e=d.item;if(e){if(!B.value)return $(_(`knowledge.dialogs.edit.errors.projectRequired`));if(!z.value.trim())return $(_(`knowledge.dialogs.edit.errors.assignmentReasonRequired`));if(B.value===Je.value)return $(_(`knowledge.dialogs.edit.errors.alreadyAssigned`));await Q(`ownership`,async()=>(await w(`/api/knowledge/${e.itemKind}/${encodeURIComponent(e.id)}/assignment`,{personalSpaceId:d.personalSpaceId,targetProjectId:B.value,reason:z.value.trim()}),_(`knowledge.dialogs.edit.notices.assignmentChanged`)))}}async function $e(){let e=d.item;if(!e)return;if(![`global`,`project`].includes(V.value))return $(_(`preferences.detail.scopeUnknown`));let t=V.value===`project`?H.value:null;if(V.value===`project`&&!t)return $(_(`knowledge.dialogs.edit.errors.preferenceProjectRequired`));if(!U.value.trim())return $(_(`knowledge.dialogs.edit.errors.preferenceReasonRequired`));await Q(`scope`,async()=>(await w(`/api/knowledge/${e.itemKind}/${encodeURIComponent(e.id)}/preference-scope`,{personalSpaceId:d.personalSpaceId,scope:V.value,projectId:t,reason:U.value.trim()}),V.value===`global`?_(`knowledge.dialogs.edit.notices.preferenceGlobal`):_(`knowledge.dialogs.edit.notices.preferenceProject`)))}function et(e){return{personalSpaceId:d.personalSpaceId,personalProjectId:d.personalProjectId,action:e,reason:J.reason.trim()}}function tt(e,t){return JSON.stringify([e,t])}async function Q(e,t){if(M.value||P.value)return;let n=++L;I.value=e,R.value=``;let r=``;await ne(async()=>{r=await t()},()=>{E.notify(r),b(`close`),b(`saved`)}),n===L&&(I.value=null)}function $(e){R.value=e,document.querySelector(`.knowledge-edit-dialog textarea:invalid, .knowledge-edit-dialog input:invalid, .knowledge-edit-dialog textarea`)?.focus()}return(i,a)=>(e(),t(u,null,[j.value?(e(),t(`p`,ae,g(p(_)(`preferences.detail.accessDenied`)),1)):o(``,!0),r.item&&!j.value?(e(),x(te,{key:1,open:``,class:`knowledge-edit-dialog`,size:`xl`,busy:p(M),error:R.value||p(F),title:X.value?p(_)(`knowledge.dialogs.edit.titleRestore`):p(_)(`knowledge.dialogs.edit.titleCorrect`),description:p(_)(`knowledge.dialogs.edit.intro`),onClose:a[24]||=e=>b(`close`)},{default:c(()=>[p(P)&&!p(M)?(e(),x(C,{key:0,"data-knowledge-reload":``,onClick:a[0]||=e=>b(`reload`)},{default:c(()=>[s(g(p(_)(`preferences.detail.reload`)),1)]),_:1})):o(``,!0),p(N)?(e(),t(`p`,G,g(p(_)(`preferences.detail.writeLong`,{action:ie.value})),1)):o(``,!0),f(`div`,oe,[f(`section`,null,[f(`h3`,null,g(p(_)(`knowledge.dialogs.edit.currentContent`)),1),f(`form`,{class:`knowledge-editor-form`,onSubmit:m(Ye,[`prevent`])},[f(`fieldset`,{class:`knowledge-editor-group`,disabled:p(M)||p(P)},[Y.value?o(``,!0):(e(),t(`label`,K,[s(g(p(_)(`knowledge.dialogs.edit.name`)),1),l(f(`input`,{"onUpdate:modelValue":a[1]||=e=>J.name=e,maxlength:`512`},null,512),[[y,J.name]])])),Y.value?(e(),t(`label`,le,[s(g(p(_)(`knowledge.dialogs.edit.fact`)),1),l(f(`textarea`,{"onUpdate:modelValue":a[3]||=e=>J.fact=e,maxlength:`8192`,rows:`5`},null,512),[[y,J.fact]])])):(e(),t(`label`,ce,[s(g(p(_)(`knowledge.dialogs.edit.description`)),1),l(f(`textarea`,{"onUpdate:modelValue":a[2]||=e=>J.summary=e,maxlength:`4096`,rows:`5`},null,512),[[y,J.summary]])])),f(`div`,ue,[n(D,{modelValue:J.currentQuadrant,"onUpdate:modelValue":a[4]||=e=>J.currentQuadrant=e,field:``,options:Be.value,label:p(_)(`knowledge.dialogs.edit.classification`)},null,8,[`modelValue`,`options`,`label`]),n(D,{modelValue:J.confirmationStatus,"onUpdate:modelValue":a[5]||=e=>J.confirmationStatus=e,field:``,options:Ve.value,label:p(_)(`knowledge.dialogs.edit.confirmationStatus`)},null,8,[`modelValue`,`options`,`label`]),n(D,{modelValue:J.profileAspect,"onUpdate:modelValue":a[6]||=e=>J.profileAspect=e,field:``,options:Ge.value,label:p(_)(`knowledge.dialogs.edit.preferenceDimension`)},null,8,[`modelValue`,`options`,`label`])]),f(`p`,de,g(p(_)(`knowledge.dialogs.edit.originQuadrant`,{quadrant:p(A)(r.item.originQuadrant)})),1),r.item.classificationExplicit?o(``,!0):(e(),t(`p`,fe,g(p(_)(`knowledge.dialogs.edit.missingQuadrant`)),1)),f(`fieldset`,pe,[f(`legend`,null,g(p(_)(`knowledge.dialogs.edit.basis`)),1),f(`label`,me,[s(g(p(_)(`knowledge.dialogs.edit.whyExists`)),1),l(f(`textarea`,{"onUpdate:modelValue":a[7]||=e=>J.existenceReason=e,maxlength:`4096`,rows:`3`,required:``},null,512),[[y,J.existenceReason]])]),f(`label`,he,[s(g(p(_)(`knowledge.dialogs.edit.whyQuadrant`)),1),l(f(`textarea`,{"onUpdate:modelValue":a[8]||=e=>J.quadrantReason=e,maxlength:`4096`,rows:`3`,required:``},null,512),[[y,J.quadrantReason]])]),f(`div`,ge,[n(D,{modelValue:J.proposedByKind,"onUpdate:modelValue":a[9]||=e=>J.proposedByKind=e,field:``,options:Ue.value,label:p(_)(`knowledge.dialogs.edit.proposer`)},null,8,[`modelValue`,`options`,`label`]),f(`label`,_e,[s(g(p(_)(`knowledge.dialogs.edit.proposerDescription`)),1),l(f(`input`,{"onUpdate:modelValue":a[10]||=e=>J.proposedByLabel=e,maxlength:`160`,placeholder:p(_)(`knowledge.dialogs.edit.proposerPlaceholder`)},null,8,ve),[[y,J.proposedByLabel]])]),J.confirmationStatus===`confirmed`?(e(),t(u,{key:0},[n(D,{modelValue:J.confirmedByKind,"onUpdate:modelValue":a[11]||=e=>J.confirmedByKind=e,field:``,options:We.value,label:p(_)(`knowledge.dialogs.edit.confirmer`)},null,8,[`modelValue`,`options`,`label`]),f(`label`,ye,[s(g(p(_)(`knowledge.dialogs.edit.confirmerDescription`)),1),l(f(`input`,{"onUpdate:modelValue":a[12]||=e=>J.confirmedByLabel=e,maxlength:`160`,placeholder:p(_)(`knowledge.dialogs.edit.confirmerPlaceholder`)},null,8,be),[[y,J.confirmedByLabel]])])],64)):o(``,!0)]),f(`p`,xe,g(p(_)(`knowledge.dialogs.edit.agentConfirmedBoundary`)),1)]),Re.value?o(``,!0):(e(),t(`fieldset`,Se,[f(`legend`,null,g(p(_)(`knowledge.dialogs.edit.crossProjectInheritance`)),1),n(D,{modelValue:J.inheritanceMode,"onUpdate:modelValue":a[13]||=e=>J.inheritanceMode=e,field:``,options:He.value,label:p(_)(`knowledge.dialogs.edit.inheritanceScope`)},null,8,[`modelValue`,`options`,`label`]),J.inheritanceMode===`selected_projects`?(e(),x(D,{key:0,modelValue:W.value,"onUpdate:modelValue":a[14]||=e=>W.value=e,field:``,options:ze.value,label:p(_)(`knowledge.dialogs.edit.inheritedProjects`),searchable:``},null,8,[`modelValue`,`options`,`label`])):o(``,!0),f(`p`,Ce,g(p(_)(`knowledge.dialogs.edit.inheritanceBoundary`)),1)])),f(`fieldset`,we,[f(`legend`,null,g(X.value?p(_)(`knowledge.dialogs.edit.replacement`):p(_)(`knowledge.dialogs.edit.optionalReplacement`)),1),n(D,{modelValue:q.value,"onUpdate:modelValue":a[15]||=e=>q.value=e,field:``,options:qe.value,searchable:``,label:X.value?p(_)(`knowledge.dialogs.edit.historicalReplacement`):p(_)(`knowledge.dialogs.edit.activeReplacement`)},null,8,[`modelValue`,`options`,`label`]),f(`p`,Te,g(p(_)(`knowledge.dialogs.edit.replacementBoundary`)),1)]),f(`label`,Ee,[s(g(p(_)(`knowledge.dialogs.edit.correctionReason`)),1),l(f(`textarea`,{"onUpdate:modelValue":a[16]||=e=>J.reason=e,maxlength:`2000`,rows:`3`,required:``},null,512),[[y,J.reason]])]),f(`div`,De,[X.value?(e(),t(u,{key:1},[n(C,{busy:I.value===`restore`,"busy-label":p(_)(`knowledge.dialogs.edit.restoring`),onClick:a[18]||=e=>Xe(`restore`)},{default:c(()=>[s(g(p(_)(`knowledge.dialogs.edit.restore`)),1)]),_:1},8,[`busy`,`busy-label`]),n(C,{busy:I.value===`replacement`,"busy-label":p(_)(`knowledge.dialogs.edit.savingReplacement`),onClick:Ze},{default:c(()=>[s(g(p(_)(`knowledge.dialogs.edit.saveReplacement`)),1)]),_:1},8,[`busy`,`busy-label`])],64)):(e(),x(C,{key:0,variant:`danger`,busy:I.value===`invalidate`,"busy-label":p(_)(`knowledge.dialogs.edit.invalidating`),onClick:a[17]||=e=>Xe(`invalidate`)},{default:c(()=>[s(g(p(_)(`knowledge.dialogs.edit.invalidate`)),1)]),_:1},8,[`busy`,`busy-label`])),n(C,{variant:`primary`,type:`submit`,busy:I.value===`correction`,"busy-label":ie.value},{default:c(()=>[s(g(J.confirmationStatus===`confirmed`?p(_)(`knowledge.dialogs.edit.saveConfirmed`):p(_)(`knowledge.dialogs.edit.savePending`)),1)]),_:1},8,[`busy`,`busy-label`])])],8,se)],32)]),Re.value?(e(),t(`section`,Ne,[f(`h3`,null,g(p(_)(`knowledge.dialogs.edit.preferenceScope`)),1),f(`p`,Pe,g(p(_)(`knowledge.dialogs.edit.preferenceScopeCopy`)),1),f(`form`,{class:`knowledge-editor-form`,onSubmit:m($e,[`prevent`])},[f(`fieldset`,{class:`knowledge-editor-group`,disabled:p(M)||p(P)},[n(D,{modelValue:V.value,"onUpdate:modelValue":a[21]||=e=>V.value=e,field:``,options:Ke.value,label:p(_)(`knowledge.dialogs.edit.effectiveScope`)},null,8,[`modelValue`,`options`,`label`]),V.value===`project`?(e(),x(D,{key:0,modelValue:H.value,"onUpdate:modelValue":a[22]||=e=>H.value=e,field:``,options:ze.value,label:p(_)(`knowledge.dialogs.edit.personalProject`),searchable:``},null,8,[`modelValue`,`options`,`label`])):o(``,!0),f(`label`,Ie,[s(g(p(_)(`knowledge.dialogs.edit.assignmentReason`)),1),l(f(`textarea`,{"onUpdate:modelValue":a[23]||=e=>U.value=e,maxlength:`2000`,rows:`3`,required:``},null,512),[[y,U.value]])]),f(`div`,Le,[n(C,{variant:`primary`,type:`submit`,busy:I.value===`scope`,"busy-label":p(_)(`knowledge.dialogs.edit.savingScope`)},{default:c(()=>[s(g(p(_)(`knowledge.dialogs.edit.saveScope`)),1)]),_:1},8,[`busy`,`busy-label`])])],8,Fe)],32)])):(e(),t(`section`,Oe,[f(`h3`,null,g(p(_)(`knowledge.dialogs.edit.projectOwnership`)),1),f(`p`,ke,g(p(_)(`knowledge.dialogs.edit.ownershipCopy`)),1),f(`form`,{class:`knowledge-editor-form`,onSubmit:m(Qe,[`prevent`])},[f(`fieldset`,{class:`knowledge-editor-group`,disabled:p(M)||p(P)},[n(D,{modelValue:B.value,"onUpdate:modelValue":a[19]||=e=>B.value=e,field:``,options:ze.value,label:p(_)(`knowledge.dialogs.edit.targetProject`),searchable:``,required:``},null,8,[`modelValue`,`options`,`label`]),f(`label`,je,[s(g(p(_)(`knowledge.dialogs.edit.assignmentReason`)),1),l(f(`textarea`,{"onUpdate:modelValue":a[20]||=e=>z.value=e,maxlength:`2000`,rows:`3`,required:``},null,512),[[y,z.value]])]),f(`div`,Me,[n(C,{variant:`primary`,type:`submit`,disabled:r.projects.length===0,busy:I.value===`ownership`,"busy-label":p(_)(`knowledge.dialogs.edit.changingOwnership`)},{default:c(()=>[s(g(p(_)(`knowledge.dialogs.edit.adjustOwnership`)),1)]),_:1},8,[`disabled`,`busy`,`busy-label`])])],8,Ae)],32)]))])]),_:1},8,[`busy`,`error`,`title`,`description`])):o(``,!0)],64))}}),[[`__scopeId`,`data-v-e0bdff8d`]]);export{P as a,N as i,W as n,ne as r,q as t};
@@ -0,0 +1 @@
1
+ pre[data-v-9028ad9b]{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px}.evidence-source-actions[data-v-9028ad9b]{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.preference-detail[data-v-259aa15c]{min-width:0;color:var(--color-ink);overflow-wrap:anywhere;gap:24px;display:grid}.preference-summary[data-v-259aa15c]{gap:12px;min-width:0;max-width:760px;font-size:14px;display:grid}.preference-context[data-v-259aa15c]{flex-wrap:wrap;gap:8px 16px;display:flex}.preference-actions[data-v-259aa15c]{flex-wrap:wrap;gap:8px;margin:0;display:flex}.preference-actions[data-v-259aa15c] button{white-space:normal;min-height:44px}.preference-body[data-v-259aa15c]{white-space:pre-wrap;margin:0;font-size:16px;line-height:1.65}.preference-body.is-preview[data-v-259aa15c]{-webkit-line-clamp:8;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.preference-evidence-link[data-v-259aa15c]{min-height:44px;color:var(--color-accent-strong,var(--color-accent));font:inherit;text-align:start;cursor:pointer;background:0 0;border:0;justify-self:start;padding:0}.preference-risk[data-v-259aa15c]{color:var(--color-ink);margin:0;font-weight:600}.preference-risk p[data-v-259aa15c]{font-weight:400}.preference-basis[data-v-259aa15c]{gap:12px;display:grid}.preference-basis div[data-v-259aa15c]{grid-template-columns:minmax(100px,160px) minmax(0,1fr);gap:8px;display:grid}.preference-basis dd[data-v-259aa15c]{white-space:pre-wrap;margin:0}.preference-basis dt[data-v-259aa15c]{color:var(--color-ink-soft)}pre[data-v-259aa15c]{white-space:pre-wrap;overflow-wrap:anywhere;font-size:12px;line-height:1.6}[data-v-259aa15c] .evidence-excerpt{white-space:pre-wrap;max-height:none;color:var(--color-ink)}[data-v-259aa15c] summary{min-height:44px}@media (width<=480px){.preference-basis div[data-v-259aa15c]{grid-template-columns:1fr;gap:4px}}
@@ -0,0 +1 @@
1
+ import{B as e,C as t,E as n,H as r,I as i,J as a,O as o,P as s,R as c,S as l,T as u,X as d,_ as f,b as p,dt as m,ft as h,mt as g,o as _,ot as v,x as y,y as b}from"./i18n-DYrQWclR.js";import{n as x}from"./console-Dl-Zf-vm.js";import{t as S}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as C}from"./UiDisclosure-BkmYnV5V.js";import{C as w,D as T,E,O as D,S as O,T as k,_ as A,a as j,c as M,d as ee,f as te,g as ne,i as re,p as N,u as P,w as F}from"./model-CgiRuBdV.js";import{a as I,c as L,l as R,o as z,r as B}from"./conversation-launcher-settings-DUaL_j2q.js";var V={class:`inspector-subtitle`},H={class:`inspector-evidence`},U={key:0},W={key:1,class:`evidence-excerpt`},G={key:2,class:`evidence-source-actions`},K={key:0},q={key:1,viewBox:`0 0 24 24`,width:`18`,height:`18`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.5`,"aria-hidden":`true`},ie={key:0,role:`status`},J=[`href`,`title`],Y={key:3},ae={class:`inspector-subtitle`},X={class:`inspector-history`},Z={class:`inspector-subtitle`},oe={class:`inspector-history inspector-audit-history`},se={key:0},ce={key:3,role:`status`},le=S(o({__name:`KnowledgeRecords`,props:{item:{},conversationLaunchers:{},rawFields:{type:Boolean}},setup(i){let o=i,s=v(``),c=v(``),u=B(),h=b(()=>o.conversationLaunchers??u.value),y=e=>R(e,h.value),S=e=>L(e,h.value),C=(e,t)=>`${t}:${e.id??e.session_id??``}`,w=0;a(()=>o.item,()=>{++w,s.value=``,c.value=``});async function T(e,t){let n=++w;c.value=``;try{let r=await I(e);if(n!==w)return;r?s.value=C(e,t):c.value=_(`preferences.detail.copyFailed`)}catch{n===w&&(c.value=_(`preferences.detail.copyFailed`))}}return(a,o)=>(e(),t(f,null,[i.item.evidence.length?(e(),t(f,{key:0},[p(`h4`,V,g(m(_)(`knowledge.workspace.inspector.evidence`)),1),p(`div`,H,[(e(!0),t(f,null,r(i.item.evidence,(r,a)=>(e(),t(`article`,{key:C(r,a),class:`evidence-card`},[p(`strong`,null,g(r.name||r.source_description||m(_)(`knowledge.workspace.inspector.sourceRecord`)),1),p(`p`,null,g(r.summary||r.source_description),1),i.rawFields&&r.summary&&r.source_description&&r.summary!==r.source_description?(e(),t(`p`,U,g(r.source_description),1)):l(``,!0),p(`span`,null,g(m(z)(r))+` · `+g(r.source_kind||m(_)(`knowledge.workspace.inspector.source`))+` · `+g(m(P)(r.reference_time||r.created_at)),1),r.source_excerpt?(e(),t(`p`,W,g(r.source_excerpt),1)):l(``,!0),r.session_id?(e(),t(`div`,G,[n(x,{class:`evidence-source-action`,"aria-label":s.value===C(r,a)?m(_)(`knowledge.workspace.inspector.copiedSessionId`):m(_)(`knowledge.workspace.inspector.copySessionId`),onClick:e=>T(r,a)},{default:d(()=>[i.rawFields?(e(),t(`svg`,q,[...o[0]||=[p(`rect`,{x:`8`,y:`8`,width:`12`,height:`12`,rx:`2`},null,-1),p(`path`,{d:`M16 8V4H4v12h4`},null,-1)]])):(e(),t(`span`,K,g(s.value===C(r,a)?m(_)(`knowledge.workspace.inspector.copiedSessionId`):m(_)(`knowledge.workspace.inspector.copySessionId`)),1))]),_:2},1032,[`aria-label`,`onClick`]),i.rawFields&&s.value===C(r,a)?(e(),t(`span`,ie,g(m(_)(`knowledge.workspace.inspector.copiedSessionId`)),1)):l(``,!0),y(r)?(e(),t(`a`,{key:1,class:`evidence-source-action`,href:y(r)??void 0,title:m(_)(`knowledge.workspace.inspector.openConversationWith`,{app:S(r)??m(z)(r)})},g(m(_)(`knowledge.workspace.inspector.openConversation`)),9,J)):l(``,!0)])):l(``,!0),i.rawFields?(e(),t(`pre`,Y,g(JSON.stringify(r,null,2)),1)):l(``,!0)]))),128))])],64)):l(``,!0),i.item.revisions.length?(e(),t(f,{key:1},[p(`h4`,ae,g(m(_)(`knowledge.workspace.inspector.revisions`)),1),p(`div`,X,[(e(!0),t(f,null,r(i.item.revisions,(n,r)=>(e(),t(`article`,{key:String(n.id??r),class:`history-row`},[p(`strong`,null,g(m(D)(n.action)),1),p(`p`,null,g(n.reason??n.summary??m(_)(`knowledge.workspace.inspector.noRevisionCopy`)),1),p(`span`,null,g(m(P)(n.created_at)),1)]))),128))])],64)):l(``,!0),i.item.auditEvents.length?(e(),t(f,{key:2},[p(`h4`,Z,g(m(_)(`knowledge.workspace.inspector.audit`)),1),p(`div`,oe,[(e(!0),t(f,null,r(i.item.auditEvents,n=>(e(),t(`article`,{key:n.id,class:`history-row`},[p(`strong`,null,g(m(N)(n.action)),1),p(`p`,null,g(n.reason),1),p(`span`,null,g(m(_)(`knowledge.workspace.inspector.version`,{version:n.human_change_version}))+` · `+g(m(P)(n.created_at)),1),n.action===`agent_review`?(e(),t(`small`,se,g(m(_)(`knowledge.workspace.inspector.conflictClassification`,{conflict:n.conflict_check===`no_conflict`?m(_)(`knowledge.workspace.inspector.conflictNone`):m(_)(`knowledge.workspace.inspector.conflictFound`),classification:n.classification_check===`reasonable`?m(_)(`knowledge.workspace.inspector.classificationReasonable`):m(_)(`knowledge.workspace.inspector.classificationAdjust`)})),1)):l(``,!0)]))),128))])],64)):l(``,!0),c.value?(e(),t(`p`,ce,g(c.value),1)):l(``,!0)],64))}}),[[`__scopeId`,`data-v-9028ad9b`]]),Q=`knowledge.workspace.inspector.autoConfirmation`;function ue(e){let t=A(e);return t!==`confirmed`&&t!==`agent_confirmed`&&!e.invalidAt}function de(e){let t=e.agentConfirmationProgress;return t?_(`${Q}.progress`,{uses:$(t.qualified_use_count),requiredUses:$(t.required_qualified_uses),tasks:$(t.distinct_task_count),requiredTasks:$(t.required_distinct_tasks)}):_(`${Q}.unavailable`)}function fe(e){let t=e.agentConfirmationProgress;return!t||!Array.isArray(t.blocking_reasons)?_(`${Q}.unknownReason`):t.blocking_reasons.length?t.blocking_reasons.map(e=>[`not_pending`,`open_conflict`,`usage_unknown`,`qualified_uses_below_threshold`,`distinct_tasks_below_threshold`].includes(e)?_(`${Q}.reasons.${e}`):_(`${Q}.unknownReason`)).join(_(`${Q}.separator`)):_(`${Q}.ready`)}function pe(e){let t=e.agentConfirmationProgress;return _(`knowledge.workspace.inspector.useCount`,{uses:$(t?.qualified_use_count??null),tasks:$(t?.distinct_task_count??null)})}function $(e){return e==null?_(`${Q}.unknownCount`):String(e)}var me={class:`preference-detail`},he={class:`preference-summary`},ge={class:`preference-context`},_e={key:0,class:`preference-risk`},ve={key:1,class:`preference-risk`},ye={key:1},be={key:2,class:`preference-actions`},xe={key:5},Se={key:0,class:`preference-basis`},Ce={key:1},we={key:2},Te={class:`preference-basis`},Ee={key:3},De={"data-raw-record":``},Oe=S(o({__name:`PreferenceDetail`,props:{item:{},graph:{},editable:{type:Boolean},scopeLabel:{},statusLabel:{},conversationLaunchers:{}},emits:[`confirm`,`edit`,`openReplacement`],setup(o,{emit:S}){let w=o,E=S,D=v(null),O=v(null),k=v(!1),N=v(!1),F=v(!1),I=b(()=>te(w.item)),L=b(()=>w.editable&&!I.value&&!w.item.invalidAt&&w.item.classificationExplicit&&A(w.item)===`pending`),R=b(()=>w.item.confirmationBasis),z=b(()=>ne(w.graph).find(e=>e.id===w.item.replacedByItemId&&e.itemKind===w.item.replacedByItemKind)??null),B=b(()=>w.item.itemKind===`entity`?w.graph?.edges.filter(e=>M(e.source)===w.item.id||M(e.target)===w.item.id).slice(0,12)??[]:[]),V=b(()=>R.value?[[`knowledge.workspace.inspector.basis.existence`,R.value.existence_reason],[`knowledge.workspace.inspector.basis.quadrant`,R.value.quadrant_reason],[`knowledge.workspace.inspector.basis.proposer`,R.value.proposed_by?j(R.value.proposed_by):null],[`knowledge.workspace.inspector.basis.confirmer`,R.value.confirmed_by?j(R.value.confirmed_by):null],[`knowledge.workspace.inspector.basis.time`,R.value.confirmed_at?P(R.value.confirmed_at):null],[`knowledge.workspace.inspector.basis.agentPolicy`,R.value.agent_policy_version]]:[]);function H(){let e=D.value;if(!e)return;let t=parseFloat(getComputedStyle(e).lineHeight)||24,n=e.cloneNode(!0);n.classList.remove(`is-preview`),Object.assign(n.style,{position:`fixed`,visibility:`hidden`,pointerEvents:`none`,width:`${e.getBoundingClientRect().width}px`,height:`auto`,maxHeight:`none`}),n.setAttribute(`aria-hidden`,`true`),document.body.append(n),N.value=n.scrollHeight>t*8+1,n.remove()}let U,W=null,G=!1;function K(){G||W!==null||(W=requestAnimationFrame(()=>{W=null,H()}))}c(()=>{typeof ResizeObserver<`u`&&(U=new ResizeObserver(K),D.value&&U.observe(D.value)),H()}),i(()=>{G=!0,U?.disconnect(),W!==null&&cancelAnimationFrame(W)}),a(()=>w.item.body,()=>{k.value=!1,s(K)});async function q(){F.value=!0,await s(),O.value?.querySelector(`.inspector-evidence, summary`)?.scrollIntoView?.({block:`nearest`,behavior:`instant`})}return(i,a)=>(e(),t(`div`,me,[p(`section`,he,[p(`div`,ge,[p(`span`,null,g(o.scopeLabel||m(_)(`preferences.detail.scopeUnknown`)),1),p(`strong`,null,g(o.statusLabel||m(T)(o.item)),1)]),o.item.humanEdited?(e(),t(`p`,_e,g(m(ee)(o.item.humanChangeStatus)),1)):l(``,!0),o.item.invalidAt?(e(),t(`div`,ve,[p(`strong`,null,g(m(_)(`knowledge.workspace.inspector.historical`)),1),z.value?(e(),y(x,{key:0,onClick:a[0]||=e=>E(`openReplacement`,z.value)},{default:d(()=>[u(g(m(_)(`knowledge.workspace.inspector.viewReplacement`)),1)]),_:1})):(e(),t(`p`,ye,g(m(_)(o.item.replacedByItemId?`knowledge.workspace.inspector.replacementOutOfScope`:`knowledge.workspace.inspector.missingReplacement`)),1))])):l(``,!0),o.editable&&!I.value?(e(),t(`div`,be,[L.value?(e(),y(x,{key:0,variant:`primary`,class:`inspector-confirm-action`,onClick:a[1]||=e=>E(`confirm`,o.item)},{default:d(()=>[u(g(m(_)(`knowledge.workspace.inspector.confirmPreference`)),1)]),_:1})):l(``,!0),n(x,{class:`inspector-edit-action`,onClick:a[2]||=e=>E(`edit`,o.item)},{default:d(()=>[u(g(m(_)(`knowledge.workspace.inspector.correctPreference`)),1)]),_:1})])):l(``,!0),p(`p`,{ref_key:`bodyElement`,ref:D,class:h([`preference-body`,{"is-preview":N.value&&!k.value}])},g(o.item.body),3),N.value?(e(),y(x,{key:3,variant:`ghost`,"aria-expanded":k.value,onClick:a[3]||=e=>k.value=!k.value},{default:d(()=>[u(g(m(_)(k.value?`preferences.detail.hideText`:`preferences.detail.fullText`)),1)]),_:1},8,[`aria-expanded`])):l(``,!0),o.item.evidence.length?(e(),t(`button`,{key:4,type:`button`,class:`preference-evidence-link`,"data-evidence-jump":``,onClick:q},g(m(_)(`preferences.detail.evidenceCount`,{count:o.item.evidence.length}))+` ↓`,1)):(e(),t(`span`,xe,g(m(_)(`preferences.detail.noEvidence`)),1))]),n(C,{title:m(_)(`preferences.detail.basis`),"data-preference-basis":``},{default:d(()=>[p(`p`,null,g(m(re)(o.item)),1),R.value?(e(),t(`dl`,Se,[(e(!0),t(f,null,r(V.value,([n,r])=>(e(),t(`div`,{key:String(n)},[p(`dt`,null,g(m(_)(String(n))),1),p(`dd`,null,g(r||m(_)(`preferences.detail.notRecorded`)),1)]))),128))])):(e(),t(`p`,Ce,g(m(_)(`knowledge.workspace.inspector.legacyBasis`)),1)),o.item.reasoningSummary&&!V.value.some(([,e])=>e===o.item.reasoningSummary)?(e(),t(`p`,we,g(o.item.reasoningSummary),1)):l(``,!0),p(`dl`,Te,[m(ue)(o.item)?(e(),t(f,{key:0},[p(`div`,null,[p(`dt`,null,g(m(_)(`knowledge.workspace.inspector.autoConfirmation.progressLabel`)),1),p(`dd`,null,g(m(de)(o.item)),1)]),p(`div`,null,[p(`dt`,null,g(m(_)(`knowledge.workspace.inspector.autoConfirmation.reasonLabel`)),1),p(`dd`,null,g(m(fe)(o.item)),1)])],64)):l(``,!0),p(`div`,null,[p(`dt`,null,g(m(_)(`knowledge.workspace.inspector.fields.recentUse`)),1),p(`dd`,null,g(o.item.lastUsedAt?m(P)(o.item.lastUsedAt):m(_)(`preferences.detail.notRecorded`)),1)])]),o.item.humanEdited?(e(),t(`p`,Ee,g(m(_)(`knowledge.workspace.inspector.humanReview.${o.item.humanChangeStatus===`unseen`?`unseen`:o.item.humanChangeStatus===`viewed`?`viewed`:`reviewed`}`))+` · `+g(m(_)(`knowledge.workspace.inspector.humanVersion`,{version:o.item.humanChangeVersion})),1)):l(``,!0)]),_:1},8,[`title`]),p(`div`,{ref_key:`recordsElement`,ref:O},[n(C,{title:m(_)(`preferences.detail.records`,{count:o.item.evidence.length}),open:F.value,"data-preference-records":``,onToggle:a[4]||=e=>F.value=e.target.open},{default:d(()=>[n(le,{item:o.item,"conversation-launchers":o.conversationLaunchers,"raw-fields":``},null,8,[`item`,`conversation-launchers`]),B.value.length?(e(),t(f,{key:0},[p(`h4`,null,g(m(_)(`preferences.detail.shownRelations`)),1),p(`pre`,null,g(JSON.stringify(B.value,null,2)),1)],64)):l(``,!0),p(`h4`,null,g(m(_)(`knowledge.workspace.inspector.technicalDetails`)),1),p(`pre`,De,g(JSON.stringify(o.item.raw,null,2)),1)]),_:1},8,[`title`,`open`])],512)]))}}),[[`__scopeId`,`data-v-259aa15c`]]),ke={class:`graph-inspector`},Ae={class:`muted`},je={key:0,class:`inspector-project-material`},Me={key:3,class:`inspector-replacement`},Ne={class:`inspector-replacement-heading`},Pe={key:1},Fe={key:2},Ie={class:`inspector-meta`},Le={key:0},Re={class:`inspector-auto-confirmation`},ze={class:`inspector-auto-confirmation-reason`},Be={key:2},Ve={key:3},He={key:4},Ue={key:5},We={key:7},Ge={class:`inspector-meta`},Ke={class:`inspector-identity`},qe={class:`inspector-subtitle`},Je={key:0,class:`inspector-meta inspector-confirmation-basis`},Ye={key:0},Xe={key:1,class:`inspector-reasoning`},Ze={class:`inspector-subtitle`},Qe={class:`inspector-meta inspector-attributes`},$e={class:`inspector-subtitle`},et={class:`inspector-reasoning`},tt={key:7,class:`inspector-actions`},nt={class:`inspector-subtitle`},rt={class:`inspector-relations`},it={class:`relation-type`},at={class:`relation-target`},ot={class:`inspector-placeholder`},st=o({__name:`KnowledgeInspector`,props:{item:{},graph:{},editable:{type:Boolean},currentProjectId:{},canPublishProject:{type:Boolean},canManageProject:{type:Boolean},mode:{},preferenceScopeLabel:{},preferenceStatusLabel:{},conversationLaunchers:{}},emits:[`confirm`,`edit`,`createProject`,`openProject`,`publishProject`,`openDirectory`,`openGraph`,`openReplacement`,`manageProject`],setup(i,{emit:a}){let o=i,s=a,c=b(()=>o.item?.itemKind===`entity`?o.item.raw:null),v=b(()=>o.item?.itemKind===`relationship`?o.item.raw:null),S=b(()=>new Map(o.graph?.nodes.map(e=>[e.id,e.name])??[])),D=b(()=>!c.value||!o.graph?[]:o.graph.edges.filter(e=>M(e.source)===c.value?.id||M(e.target)===c.value?.id).slice(0,12)),N=b(()=>Object.entries(o.item?.raw.attributes??{}).filter(([,e])=>e!=null&&e!==``)),I=b(()=>te(o.item)),L=b(()=>O(o.item)),R=b(()=>o.item?.itemKind===`entity`&&[`PersonalProject`,`RelatedPersonalProject`].includes(o.item.type)),z=b(()=>o.editable&&o.item?.itemKind===`entity`&&!o.item.invalidAt&&!o.item.profileAspect&&!I.value),V=b(()=>o.editable&&!I.value),H=b(()=>o.editable&&!I.value&&!o.item?.invalidAt&&!!o.item?.classificationExplicit&&G.value===`pending`),U=b(()=>I.value&&o.canManageProject&&o.item?.type!==`ExternalKnowledgeSource`),W=b(()=>z.value||V.value||H.value||U.value||!!o.mode||R.value&&!!L.value&&L.value!==o.currentProjectId||R.value&&!!L.value&&o.canPublishProject),G=b(()=>o.item?A(o.item):`unclassified`),K=b(()=>o.item?re(o.item):``),q=b(()=>o.item?.confirmationBasis??null),ie=B(),J=b(()=>o.conversationLaunchers??ie.value),Y=b(()=>{let e=o.item?.replacedByItemId,t=o.item?.replacedByItemKind;return!e||!t?null:ne(o.graph).find(n=>n.id===e&&n.itemKind===t)??null}),ae=b(()=>{let e=o.item;return e?.humanEdited?e.humanChangeStatus===`unseen`?_(`knowledge.workspace.inspector.humanReview.unseen`):e.humanChangeStatus===`viewed`?_(`knowledge.workspace.inspector.humanReview.viewed`):_(`knowledge.workspace.inspector.humanReview.reviewed`):``});function X(e){return typeof e==`string`?e:JSON.stringify(e)}function Z(e){return`${Math.round(e*100)}%`}function oe(e){return e.inheritanceMode===`descendants`?_(`knowledge.workspace.inspector.inheritance.descendants`):e.inheritanceMode===`selected_projects`?_(`knowledge.workspace.inspector.inheritance.selected`,{count:e.inheritedProjectIds.length}):_(`knowledge.workspace.inspector.inheritance.local`)}function se(e){if(e.preferenceScope!==`project`||!e.preferenceProjectId)return _(`knowledge.workspace.inspector.personalGlobal`);let t=e.preferenceProjectId,n=o.graph?.nodes.find(e=>e.attributes?.projectId===t)?.name;return _(`knowledge.workspace.inspector.selectedProject`,{project:n&&n.toLocaleLowerCase()!==t.toLocaleLowerCase()?`${n} (${t})`:t})}return(a,c)=>(e(),t(`aside`,ke,[i.item&&i.mode===`preference`?(e(),y(Oe,{key:0,item:i.item,graph:i.graph,editable:i.editable,"scope-label":o.preferenceScopeLabel,"status-label":i.preferenceStatusLabel,"conversation-launchers":J.value,onConfirm:c[0]||=e=>s(`confirm`,e),onEdit:c[1]||=e=>s(`edit`,e),onOpenReplacement:c[2]||=e=>s(`openReplacement`,e)},null,8,[`item`,`graph`,`editable`,`scope-label`,`status-label`,`conversation-launchers`])):i.item?(e(),t(f,{key:1},[p(`h3`,null,g(i.item.itemKind===`entity`?i.item.title:v.value?.type),1),p(`p`,Ae,g(i.item.body),1),I.value?(e(),t(`section`,je,[p(`div`,null,[p(`span`,null,g(m(_)(`knowledge.workspace.inspector.ownership`)),1),p(`strong`,null,g(m(F)(i.item)),1)]),p(`p`,null,g(m(_)(`knowledge.workspace.inspector.projectionCopy`)),1)])):(e(),t(`section`,{key:1,class:h([`inspector-classification`,`state-${G.value}`])},[p(`div`,null,[p(`span`,null,g(m(_)(`knowledge.workspace.inspector.currentJudgment`)),1),p(`strong`,null,g(m(T)(i.item)),1)]),p(`p`,null,g(K.value),1)],2)),!I.value&&i.item.humanEdited?(e(),t(`section`,{key:2,class:h([`inspector-human-change`,`state-${i.item.humanChangeStatus}`])},[p(`div`,null,[p(`span`,null,g(m(_)(`knowledge.workspace.inspector.humanReviewTitle`)),1),p(`strong`,null,g(m(ee)(i.item.humanChangeStatus)),1)]),p(`p`,null,g(ae.value),1),p(`small`,null,g(m(_)(`knowledge.workspace.inspector.humanVersion`,{version:i.item.humanChangeVersion})),1)],2)):l(``,!0),!I.value&&i.item.invalidAt?(e(),t(`section`,Me,[p(`div`,Ne,[p(`span`,null,g(m(_)(`knowledge.workspace.inspector.replacement`)),1),p(`strong`,null,g(Y.value?m(_)(`knowledge.workspace.inspector.replacedBy`):m(_)(`knowledge.workspace.inspector.noReplacement`)),1)]),Y.value?(e(),t(`button`,{key:0,class:`inspector-replacement-link`,type:`button`,onClick:c[3]||=e=>s(`openReplacement`,Y.value)},[p(`span`,null,[p(`strong`,null,g(Y.value.title),1),p(`small`,null,g(Y.value.body),1)]),p(`b`,null,g(m(_)(`knowledge.workspace.inspector.viewReplacement`)),1)])):i.item.replacedByItemId?(e(),t(`p`,Pe,g(m(_)(`knowledge.workspace.inspector.replacementOutOfScope`)),1)):(e(),t(`p`,Fe,g(m(_)(`knowledge.workspace.inspector.missingReplacement`)),1))])):l(``,!0),p(`dl`,Ie,[p(`div`,null,[p(`dt`,null,g(m(_)(`knowledge.workspace.inspector.fields.type`)),1),p(`dd`,null,g(i.item.type),1)]),I.value?l(``,!0):(e(),t(`div`,Le,[p(`dt`,null,g(m(_)(`knowledge.workspace.inspector.fields.confirmationStatus`)),1),p(`dd`,null,g(m(T)(i.item)),1)])),!I.value&&m(ue)(i.item)?(e(),t(f,{key:1},[p(`div`,Re,[p(`dt`,null,g(m(_)(`knowledge.workspace.inspector.autoConfirmation.progressLabel`)),1),p(`dd`,null,g(m(de)(i.item)),1)]),p(`div`,ze,[p(`dt`,null,g(m(_)(`knowledge.workspace.inspector.autoConfirmation.reasonLabel`)),1),p(`dd`,null,g(m(fe)(i.item)),1)])],64)):l(``,!0),I.value?l(``,!0):(e(),t(`div`,Be,[p(`dt`,null,g(m(_)(`knowledge.workspace.inspector.fields.recentUse`)),1),p(`dd`,null,g(m(P)(i.item.lastUsedAt)),1)])),!I.value&&!i.item.profileAspect?(e(),t(`div`,Ve,[p(`dt`,null,g(m(_)(`knowledge.workspace.inspector.fields.inheritance`)),1),p(`dd`,null,g(oe(i.item)),1)])):l(``,!0),!I.value&&i.item.profileAspect?(e(),t(`div`,He,[p(`dt`,null,g(m(_)(`knowledge.workspace.inspector.fields.preference`)),1),p(`dd`,null,g(m(w)(i.item.profileAspect)),1)])):l(``,!0),!I.value&&i.item.profileAspect?(e(),t(`div`,Ue,[p(`dt`,null,g(m(_)(`knowledge.workspace.inspector.fields.effectiveScope`)),1),p(`dd`,null,g(se(i.item)),1)])):l(``,!0),v.value?(e(),t(f,{key:6},[p(`div`,null,[p(`dt`,null,g(m(_)(`knowledge.workspace.inspector.fields.source`)),1),p(`dd`,null,g(S.value.get(m(M)(v.value.source))??v.value.source_name??m(M)(v.value.source)),1)]),p(`div`,null,[p(`dt`,null,g(m(_)(`knowledge.workspace.inspector.fields.target`)),1),p(`dd`,null,g(S.value.get(m(M)(v.value.target))??v.value.target_name??m(M)(v.value.target)),1)])],64)):l(``,!0),I.value?l(``,!0):(e(),t(`div`,We,[p(`dt`,null,g(m(_)(`knowledge.workspace.inspector.fields.status`)),1),p(`dd`,null,g(i.item.invalidAt?m(_)(`knowledge.workspace.inspector.historical`):m(_)(`common.status.current`)),1)]))]),n(C,{class:`inspector-technical`,title:m(_)(`knowledge.workspace.inspector.technicalDetails`)},{default:d(()=>[p(`dl`,Ge,[p(`div`,Ke,[p(`dt`,null,g(I.value?m(_)(`knowledge.workspace.inspector.ids.projection`):i.item.itemKind===`entity`?m(_)(`knowledge.workspace.inspector.ids.node`):m(_)(`knowledge.workspace.inspector.ids.relationship`)),1),p(`dd`,null,[p(`code`,null,g(i.item.id),1)])]),I.value?l(``,!0):(e(),t(f,{key:0},[p(`div`,null,[p(`dt`,null,g(m(_)(`knowledge.workspace.inspector.fields.originQuadrant`)),1),p(`dd`,null,g(m(E)(i.item.originQuadrant)),1)]),p(`div`,null,[p(`dt`,null,g(m(_)(`knowledge.workspace.inspector.fields.currentQuadrant`)),1),p(`dd`,null,g(m(E)(i.item.currentQuadrant)),1)]),p(`div`,null,[p(`dt`,null,g(m(_)(`knowledge.workspace.inspector.fields.quadrantExplanation`)),1),p(`dd`,null,g(m(k)(i.item.originQuadrant)),1)]),p(`div`,null,[p(`dt`,null,g(m(_)(`knowledge.workspace.inspector.fields.confidence`)),1),p(`dd`,null,g(Z(i.item.confidenceScore)),1)]),p(`div`,null,[p(`dt`,null,g(m(_)(`knowledge.workspace.inspector.fields.utility`)),1),p(`dd`,null,g(Z(i.item.utilityScore)),1)]),p(`div`,null,[p(`dt`,null,g(m(_)(`knowledge.workspace.inspector.fields.materialUse`)),1),p(`dd`,null,g(m(pe)(i.item)),1)])],64))])]),_:1},8,[`title`]),I.value?l(``,!0):(e(),t(f,{key:4},[p(`h4`,qe,g(m(_)(`knowledge.workspace.inspector.basisTitle`)),1),q.value?(e(),t(`dl`,Je,[p(`div`,null,[p(`dt`,null,g(m(_)(`knowledge.workspace.inspector.basis.existence`)),1),p(`dd`,null,g(q.value.existence_reason),1)]),p(`div`,null,[p(`dt`,null,g(m(_)(`knowledge.workspace.inspector.basis.quadrant`)),1),p(`dd`,null,g(q.value.quadrant_reason),1)]),p(`div`,null,[p(`dt`,null,g(m(_)(`knowledge.workspace.inspector.basis.proposer`)),1),p(`dd`,null,g(m(j)(q.value.proposed_by)),1)]),p(`div`,null,[p(`dt`,null,g(m(_)(`knowledge.workspace.inspector.basis.confirmer`)),1),p(`dd`,null,g(m(j)(q.value.confirmed_by)),1)]),p(`div`,null,[p(`dt`,null,g(m(_)(`knowledge.workspace.inspector.basis.time`)),1),p(`dd`,null,g(m(P)(q.value.confirmed_at)),1)]),q.value.agent_policy_version?(e(),t(`div`,Ye,[p(`dt`,null,g(m(_)(`knowledge.workspace.inspector.basis.agentPolicy`)),1),p(`dd`,null,g(q.value.agent_policy_version),1)])):l(``,!0)])):(e(),t(`p`,Xe,g(m(_)(`knowledge.workspace.inspector.legacyBasis`)),1))],64)),N.value.length?(e(),t(f,{key:5},[p(`h4`,Ze,g(m(_)(`knowledge.workspace.inspector.contentDetails`)),1),p(`dl`,Qe,[(e(!0),t(f,null,r(N.value,([n,r])=>(e(),t(`div`,{key:n},[p(`dt`,null,g(n),1),p(`dd`,null,g(X(r)),1)]))),128))])],64)):l(``,!0),i.item.reasoningSummary?(e(),t(f,{key:6},[p(`h4`,$e,g(m(_)(`knowledge.workspace.inspector.formation`)),1),p(`p`,et,g(i.item.reasoningSummary),1)],64)):l(``,!0),W.value?(e(),t(`div`,tt,[H.value?(e(),y(x,{key:0,size:`sm`,variant:`primary`,class:`inspector-confirm-action`,onClick:c[4]||=e=>s(`confirm`,i.item)},{default:d(()=>[u(g(i.item.profileAspect?m(_)(`knowledge.workspace.inspector.confirmPreference`):m(_)(`knowledge.workspace.inspector.confirmKnowledge`)),1)]),_:1})):l(``,!0),U.value?(e(),y(x,{key:1,size:`sm`,variant:`primary`,onClick:c[5]||=e=>s(`manageProject`,i.item)},{default:d(()=>[u(g(m(_)(`knowledge.workspace.inspector.editMaterials`)),1)]),_:1})):l(``,!0),i.mode===`graph`?(e(),y(x,{key:2,size:`sm`,onClick:c[6]||=e=>s(`openDirectory`,i.item)},{default:d(()=>[u(g(m(_)(`knowledge.workspace.inspector.locateDirectory`)),1)]),_:1})):l(``,!0),i.mode===`directory`?(e(),y(x,{key:3,size:`sm`,onClick:c[7]||=e=>s(`openGraph`,i.item)},{default:d(()=>[u(g(m(_)(`knowledge.workspace.inspector.locateGraph`)),1)]),_:1})):l(``,!0),R.value&&L.value&&L.value!==i.currentProjectId?(e(),y(x,{key:4,size:`sm`,variant:`primary`,onClick:c[8]||=e=>s(`openProject`,L.value)},{default:d(()=>[u(g(m(_)(`knowledge.workspace.inspector.enterProject`)),1)]),_:1})):l(``,!0),R.value&&L.value&&i.canPublishProject?(e(),y(x,{key:5,size:`sm`,onClick:c[9]||=e=>s(`publishProject`,L.value)},{default:d(()=>[u(g(m(_)(`knowledge.workspace.inspector.publish`)),1)]),_:1})):l(``,!0),z.value?(e(),y(x,{key:6,size:`sm`,variant:`primary`,onClick:c[10]||=e=>s(`createProject`,i.item)},{default:d(()=>[u(g(m(_)(`knowledge.workspace.inspector.createProject`)),1)]),_:1})):l(``,!0),V.value?(e(),y(x,{key:7,size:`sm`,class:`inspector-edit-action`,onClick:c[11]||=e=>s(`edit`,i.item)},{default:d(()=>[u(g(i.item.profileAspect?m(_)(`knowledge.workspace.inspector.correctPreference`):m(_)(`knowledge.workspace.inspector.correctOrAssign`)),1)]),_:1})):l(``,!0)])):l(``,!0),D.value.length?(e(),t(f,{key:8},[p(`h4`,nt,g(m(_)(`knowledge.workspace.inspector.relations`)),1),p(`div`,rt,[(e(!0),t(f,null,r(D.value,n=>(e(),t(`div`,{key:n.id,class:`inspector-relation`},[p(`strong`,it,g(n.type),1),p(`p`,at,g(n.fact||m(_)(`knowledge.workspace.inspector.relationshipFallback`)),1)]))),128))])],64)):l(``,!0),n(le,{item:i.item,"conversation-launchers":J.value},null,8,[`item`,`conversation-launchers`])],64)):(e(),t(f,{key:2},[p(`h3`,null,g(m(_)(`knowledge.workspace.inspector.placeholderTitle`)),1),p(`p`,ot,g(m(_)(`knowledge.workspace.inspector.placeholderCopy`)),1)],64))]))}});export{st as t};