fuli-context 0.20.0-beta.2 → 0.20.0-beta.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +81 -22
- package/README.zh-CN.md +26 -12
- package/dist/web/assets/AboutPage-BkpqvBhp.css +1 -0
- package/dist/web/assets/AboutPage-BmX7l4yh.js +1 -0
- package/dist/web/assets/AgentName-DeHNVQ-r.js +1 -0
- package/dist/web/assets/AgentProfilePage-0ksQ58aV.css +1 -0
- package/dist/web/assets/AgentProfilePage-DbzxN3rz.js +1 -0
- package/dist/web/assets/AgentsDirectoryPage-DnvNg4s-.js +1 -0
- package/dist/web/assets/AgentsDirectoryPage-DoOXStj-.css +1 -0
- package/dist/web/assets/ConnectionsPage-C_-t36vt.js +1 -0
- package/dist/web/assets/CreateProjectDialog-78Sz76lL.js +2 -0
- package/dist/web/assets/CreateProjectDialog-t947qHxl.css +1 -0
- package/dist/web/assets/EmployeeRecruitDialog-BPT132zr.css +1 -0
- package/dist/web/assets/EmployeeRecruitDialog-CbakSlIK.js +1 -0
- package/dist/web/assets/EmployeeWorkbenchPage-BFSzzB5b.css +1 -0
- package/dist/web/assets/EmployeeWorkbenchPage-CZb36N9r.js +3 -0
- package/dist/web/assets/InboxPage-Bsa1NRSD.js +4 -0
- package/dist/web/assets/InboxPage-DiIA1trj.css +1 -0
- package/dist/web/assets/KnowledgeEditDialog-BXS3rlWg.css +1 -0
- package/dist/web/assets/KnowledgeEditDialog-CSjtslJS.js +1 -0
- package/dist/web/assets/KnowledgeInspector-DB9USgC0.js +1 -0
- package/dist/web/assets/KnowledgeInspector-DaknAv7P.css +1 -0
- package/dist/web/assets/KnowledgeOrganizerPage-CxICN_0p.css +1 -0
- package/dist/web/assets/KnowledgeOrganizerPage-DEucKWd7.js +1 -0
- package/dist/web/assets/KnowledgePage-tLziTkSU.js +1 -0
- package/dist/web/assets/KnowledgeWorkspace-B7ZiPf6n.js +4 -0
- package/dist/web/assets/KnowledgeWorkspace-BY_OoTDG.css +1 -0
- package/dist/web/assets/NotFoundPage-XPalsChA.js +1 -0
- package/dist/web/assets/OccupationsPage-BRdGXQ2P.js +1 -0
- package/dist/web/assets/OccupationsPage-BXCJPqBB.css +1 -0
- package/dist/web/assets/OverviewPage-C7OJfsL0.css +1 -0
- package/dist/web/assets/OverviewPage-x0ExTLqh.js +2 -0
- package/dist/web/assets/PersonalProfilePage-Cl2EQuuO.js +1 -0
- package/dist/web/assets/PersonalProfilePage-bKUVSOge.css +1 -0
- package/dist/web/assets/PersonalProjectsPage-C7k2sBQN.css +1 -0
- package/dist/web/assets/PersonalProjectsPage-Dh44vNQk.js +1 -0
- package/dist/web/assets/ProjectAgentFirstTask-BVNcBsw9.js +1 -0
- package/dist/web/assets/ProjectAgentFirstTask-D1RrWjaX.css +1 -0
- package/dist/web/assets/ProjectAgentsPage-BBo_ALw_.js +12 -0
- package/dist/web/assets/ProjectAgentsPage-DdooNyYs.css +1 -0
- package/dist/web/assets/ProjectScopePicker-CNN_sGrN.js +1 -0
- package/dist/web/assets/PublicProjectsPage-BEyOXwu-.js +1 -0
- package/dist/web/assets/PublicProjectsPage-DlmcjqGj.css +1 -0
- package/dist/web/assets/RoundtablesPage-CdfpgOnb.js +1 -0
- package/dist/web/assets/RoundtablesPage-ftnoDxpL.css +1 -0
- package/dist/web/assets/SettingsPage-CfyHImb3.css +1 -0
- package/dist/web/assets/SettingsPage-DdWrf4wR.js +1 -0
- package/dist/web/assets/SharedJefaReportPage-B5vPQ7QK.js +1 -0
- package/dist/web/assets/TaskExecutionPlan-BFVcb7KN.css +1 -0
- package/dist/web/assets/TaskExecutionPlan-CFM_14VC.js +2 -0
- package/dist/web/assets/TaskSchedulesPage-CISJAYZy.js +1 -0
- package/dist/web/assets/TaskSchedulesPage-fNCG8EWD.css +1 -0
- package/dist/web/assets/TextField-BVqz0DTp.js +1 -0
- package/dist/web/assets/UiDialog-CIyDfEYh.js +1 -0
- package/dist/web/assets/UiDisclosure-BIE3uXrx.js +1 -0
- package/dist/web/assets/UiIcon-EWCwhyKc.css +1 -0
- package/dist/web/assets/UiIcon-INPsGFvz.js +1 -0
- package/dist/web/assets/UiIconButton-CSFA7F4B.css +1 -0
- package/dist/web/assets/UiIconButton-w6pfBSda.js +1 -0
- package/dist/web/assets/UiSegmented-wN76K7F9.js +1 -0
- package/dist/web/assets/UiSelect-BaVTdhtR.js +1 -0
- package/dist/web/assets/UiSelect-CiSPw-7k.css +1 -0
- package/dist/web/assets/UiToggle-B2sPCVZe.css +1 -0
- package/dist/web/assets/UiToggle-Cs1CZzk6.js +1 -0
- package/dist/web/assets/UnassignedConversationsPanel-0y0YliA_.js +1 -0
- package/dist/web/assets/VirtualDirectoryList-nAWaJ2eM.js +1 -0
- package/dist/web/assets/Workbench3D-BxpszsXO.css +1 -0
- package/dist/web/assets/Workbench3D-CYCi_MRp.js +2 -0
- package/dist/web/assets/WritingTastePage-B9nMV49S.css +1 -0
- package/dist/web/assets/WritingTastePage-DfTuTJx2.js +1 -0
- package/dist/web/assets/agent-identity-color-RqpT7gtx.js +1 -0
- package/dist/web/assets/agent-occupation-Bke7eg11.js +1 -0
- package/dist/web/assets/agent-pins-DrG1uUDt.js +1 -0
- package/dist/web/assets/agent-profile-CU4YqRz_.css +1 -0
- package/dist/web/assets/agent-work-summary-C53Zfzk5.js +1 -0
- package/dist/web/assets/astro-avatar-GADWtfJX.webp +0 -0
- package/dist/web/assets/attention-store-Bg-rVsgG.js +1 -0
- package/dist/web/assets/{avatars-z6ANYG_r.js → avatars-CUyfvsKO.js} +1 -1
- package/dist/web/assets/catalog-CmHt1ONG.js +1 -0
- package/dist/web/assets/client-B_QrPkEy.css +1 -0
- package/dist/web/assets/client-DBYe0KzE.js +1 -0
- package/dist/web/assets/console-2nhA6IaV.js +1 -0
- package/dist/web/assets/conversation-launcher-settings-txCBZEle.js +1 -0
- package/dist/web/assets/date-time-DBa_h9cD.js +1 -0
- package/dist/web/assets/design-lab-ClOnEnF7.js +1 -0
- package/dist/web/assets/galaxy-scene-7sJk1pHo.js +1 -0
- package/dist/web/assets/i18n-DAeCdA8L.js +10 -0
- package/dist/web/assets/{identity-CAQk8V-Q.js → identity-bmKz-BGh.js} +1 -1
- package/dist/web/assets/index-DsqCEnEC.css +1 -0
- package/dist/web/assets/index-YZYwAHdd.js +2 -0
- package/dist/web/assets/judgment-types-C2vHfclm.js +1 -0
- package/dist/web/assets/layout-DCeMsVR8.js +1 -0
- package/dist/web/assets/model-VWzF8pT3.js +1 -0
- package/dist/web/assets/motion-preference-D3Aq7THt.js +1 -0
- package/dist/web/assets/occupation-catalog-DnevywIk.js +1 -0
- package/dist/web/assets/office-scene-CbmeA3ZZ.js +1 -0
- package/dist/web/assets/personal-profile-graph-CyRXX8b0.js +1 -0
- package/dist/web/assets/preload-helper-Czpn1I53.js +1 -0
- package/dist/web/assets/project-origin-KvE_J110.js +1 -0
- package/dist/web/assets/project-team-api-CXPeakuM.js +1 -0
- package/dist/web/assets/shared-report-BxeCmoU_.js +1 -0
- package/dist/web/assets/shared-report-NXHxLp5x.css +1 -0
- package/dist/web/assets/stage-CWdBY1y-.js +1 -0
- package/dist/web/assets/stage-D1RyodHo.js +3835 -0
- package/dist/web/assets/task-labels-C4t6U38E.js +1 -0
- package/dist/web/assets/task-updates-ChvjLQXV.js +1 -0
- package/dist/web/assets/ui-WHqcW6KK.js +1 -0
- package/dist/web/assets/ui-gkBKztsv.css +1 -0
- package/dist/web/assets/useAgentRecords-DotFATN2.js +1 -0
- package/dist/web/assets/{useApi-CROJJdhE-sOV3uq1T.js → useApi-CROJJdhE-BJn8l1Cb.js} +1 -1
- package/dist/web/assets/vue-router-YsTpOqqM.js +1 -0
- package/dist/web/assets/workbench-model-D9ytk327.js +1 -0
- package/dist/web/index.html +28 -19
- package/docs/agent-conversations-and-collaboration.md +6 -0
- package/docs/agent-interface-architecture.md +10 -0
- package/docs/agent-roundtable.md +42 -1
- package/docs/client-connections.md +158 -110
- package/docs/employee-agents.md +7 -3
- package/docs/project-agent-memory.md +24 -8
- package/graph-provider/fuli_graph/agent_confirmation_progress.py +58 -0
- package/graph-provider/fuli_graph/agent_conversation_models.py +1 -0
- package/graph-provider/fuli_graph/agent_conversation_routes.py +20 -0
- package/graph-provider/fuli_graph/app.py +8 -1
- package/graph-provider/fuli_graph/collaboration_context.py +48 -15
- package/graph-provider/fuli_graph/config.py +2 -0
- package/graph-provider/fuli_graph/conversation_context.py +74 -41
- package/graph-provider/fuli_graph/conversation_triage_models.py +35 -0
- package/graph-provider/fuli_graph/default_project_lead.py +3 -3
- package/graph-provider/fuli_graph/graph_models.py +26 -3
- package/graph-provider/fuli_graph/graph_query.py +36 -15
- package/graph-provider/fuli_graph/knowledge_search.py +3 -0
- package/graph-provider/fuli_graph/knowledge_weight.py +40 -0
- package/graph-provider/fuli_graph/knowledge_weight_models.py +9 -0
- package/graph-provider/fuli_graph/migrate_lead_occupation.py +165 -0
- package/graph-provider/fuli_graph/model_validation.py +10 -0
- package/graph-provider/fuli_graph/models.py +44 -3
- package/graph-provider/fuli_graph/occupation_catalog.py +116 -0
- package/graph-provider/fuli_graph/occupation_routes.py +25 -0
- package/graph-provider/fuli_graph/personal_global_preferences.py +6 -10
- package/graph-provider/fuli_graph/preference_conflicts.py +38 -0
- package/graph-provider/fuli_graph/project_agent_attention_models.py +7 -0
- package/graph-provider/fuli_graph/project_agent_coordination_models.py +57 -5
- package/graph-provider/fuli_graph/project_agent_delegations.py +129 -13
- package/graph-provider/fuli_graph/project_agent_executor_models.py +9 -18
- package/graph-provider/fuli_graph/project_agent_hierarchy.py +98 -0
- package/graph-provider/fuli_graph/project_agent_memory_routes.py +13 -1
- package/graph-provider/fuli_graph/project_agent_models.py +6 -1
- package/graph-provider/fuli_graph/project_agent_occupation_models.py +36 -0
- package/graph-provider/fuli_graph/project_agent_recruitment_occupation.py +74 -0
- package/graph-provider/fuli_graph/project_agent_recruitment_values.py +10 -1
- package/graph-provider/fuli_graph/project_agent_remote_origins.py +24 -11
- package/graph-provider/fuli_graph/project_agent_routes.py +40 -1
- package/graph-provider/fuli_graph/project_agent_task_models.py +31 -17
- package/graph-provider/fuli_graph/project_agent_worker_access.py +229 -0
- package/graph-provider/fuli_graph/project_agent_worker_models.py +59 -0
- package/graph-provider/fuli_graph/project_agent_worker_routes.py +88 -0
- package/graph-provider/fuli_graph/project_brief.py +46 -0
- package/graph-provider/fuli_graph/project_memory_usage.py +175 -0
- package/graph-provider/fuli_graph/project_memory_usage_projection.py +35 -0
- package/graph-provider/fuli_graph/project_memory_usage_routes.py +26 -0
- package/graph-provider/fuli_graph/provider_values.py +5 -0
- package/graph-provider/fuli_graph/runtime.py +6 -0
- package/graph-provider/fuli_graph/search_projection.py +6 -27
- package/graph-provider/fuli_graph/staffing_demand.py +74 -0
- package/graph-provider/fuli_graph/store.py +10 -0
- package/graph-provider/fuli_graph/store_agent_conversations.py +88 -16
- package/graph-provider/fuli_graph/store_conversation_triage.py +85 -0
- package/graph-provider/fuli_graph/store_knowledge.py +21 -6
- package/graph-provider/fuli_graph/store_occupation_catalog.py +142 -0
- package/graph-provider/fuli_graph/store_project_agent_attention.py +3 -0
- package/graph-provider/fuli_graph/store_project_agent_context.py +5 -2
- package/graph-provider/fuli_graph/store_project_agent_coordination_policy.py +19 -1
- package/graph-provider/fuli_graph/store_project_agent_executor_routing.py +1 -1
- package/graph-provider/fuli_graph/store_project_agent_executors.py +1 -1
- package/graph-provider/fuli_graph/store_project_agent_occupation.py +75 -0
- package/graph-provider/fuli_graph/store_project_agent_pages.py +84 -0
- package/graph-provider/fuli_graph/store_project_agent_task_activity.py +31 -1
- package/graph-provider/fuli_graph/store_project_agent_task_persistence.py +3 -1
- package/graph-provider/fuli_graph/store_project_agent_task_reads.py +15 -1
- package/graph-provider/fuli_graph/store_project_agent_task_recruitment.py +80 -137
- package/graph-provider/fuli_graph/store_project_agent_task_staffing.py +32 -7
- package/graph-provider/fuli_graph/store_project_agent_tasks.py +42 -4
- package/graph-provider/fuli_graph/store_project_agent_worker_runs.py +355 -0
- package/graph-provider/fuli_graph/store_project_agents.py +87 -3
- package/graph-provider/fuli_graph/store_projects.py +16 -1
- package/graph-provider/fuli_graph/store_recruitment_fulfillment.py +95 -0
- package/graph-provider/fuli_graph/store_task_contexts.py +189 -33
- package/graph-provider/fuli_graph/store_transcript_recovery.py +54 -0
- package/graph-provider/fuli_graph/system_agents.py +34 -3
- package/graph-provider/fuli_graph/task_activity_origin.py +70 -0
- package/graph-provider/fuli_graph/task_context_adoption.py +8 -5
- package/graph-provider/fuli_graph/task_context_auto_close.py +54 -0
- package/graph-provider/fuli_graph/task_context_coordination.py +114 -0
- package/graph-provider/fuli_graph/task_context_models.py +75 -1
- package/graph-provider/fuli_graph/task_context_routes.py +11 -1
- package/graph-provider/fuli_graph/task_participant_running.py +15 -0
- package/graph-provider/fuli_graph/task_worker_attribution.py +102 -0
- package/graph-provider/fuli_graph/worker_run_execution.py +48 -0
- package/graph-provider/fuli_graph/workflow_candidates.py +4 -9
- package/graph-provider/pyproject.toml +1 -1
- package/npm-shrinkwrap.json +85 -2
- package/package.json +5 -1
- package/skills/capturing-session-knowledge/SKILL.md +13 -355
- package/skills/capturing-session-knowledge/references/capture.md +145 -0
- package/skills/capturing-session-knowledge/references/coordination.md +70 -0
- package/skills/capturing-session-knowledge/references/retrieval.md +153 -0
- package/src/adaptive-runtime/graph-services.js +8 -34
- package/src/adaptive-runtime/settings.js +1 -8
- package/src/agent-peer/chat-coordinator.js +104 -0
- package/src/agent-peer/chat-port.js +78 -0
- package/src/agent-peer/coordinator-http.js +10 -0
- package/src/agent-peer/coordinator-service.js +25 -8
- package/src/agent-peer/coordinator-store.js +26 -6
- package/src/agent-peer/node-store.js +12 -6
- package/src/agent-peer/origin-proof.js +6 -4
- package/src/agent-peer/peer-port.js +30 -13
- package/src/agent-peer/peer-runtime.js +22 -11
- package/src/agent-peer/peer-transport.js +1 -1
- package/src/agent-peer/protocol.js +16 -2
- package/src/agent-peer/runner.js +18 -9
- package/src/agent-roundtable/attention-inbox-store.js +37 -0
- package/src/agent-roundtable/attention-inbox.js +48 -0
- package/src/agent-roundtable/chat-contract.js +49 -0
- package/src/agent-roundtable/chat-notifications.js +53 -0
- package/src/agent-roundtable/chat-service.js +132 -0
- package/src/agent-roundtable/chat-snapshot.js +52 -0
- package/src/agent-roundtable/chat-store.js +108 -0
- package/src/agent-roundtable/chat-updates.js +28 -0
- package/src/agent-roundtable/chat-wait.js +32 -0
- package/src/agent-roundtable/chat-wake.js +53 -0
- package/src/agent-roundtable/chat.js +98 -0
- package/src/agent-roundtable/discovery.js +12 -0
- package/src/agent-roundtable/http.js +30 -0
- package/src/agent-roundtable/memory-observation.js +25 -0
- package/src/agent-roundtable/project-target.js +43 -0
- package/src/agent-roundtable/service.js +183 -35
- package/src/agent-roundtable/store.js +102 -7
- package/src/agent-roundtable/task-context.js +109 -0
- package/src/agent-roundtable/tools.js +19 -5
- package/src/agent-roundtable/wake.js +106 -18
- package/src/agent-tools/agent-attention-definitions.js +5 -4
- package/src/agent-tools/agent-collaboration-definitions.js +6 -2
- package/src/agent-tools/checkpoint-definitions.js +30 -0
- package/src/agent-tools/employee-definitions.js +5 -4
- package/src/agent-tools/graph-definitions.js +51 -47
- package/src/agent-tools/graph-handlers.js +15 -6
- package/src/agent-tools/interface-catalog.js +18 -4
- package/src/agent-tools/interface-definitions.js +12 -3
- package/src/agent-tools/knowledge-usage-definitions.js +21 -0
- package/src/agent-tools/project-agent-definitions.js +14 -4
- package/src/agent-tools/project-agent-memory-definitions.js +2 -2
- package/src/agent-tools/schema.js +4 -0
- package/src/agent-tools/task-preference-definitions.js +13 -0
- package/src/agent-tools/task-run-definitions.js +11 -0
- package/src/agent-tools/task-schedule-definitions.js +15 -0
- package/src/agents/claude-code/host-notification.js +64 -0
- package/src/agents/claude-code/lifecycle-hook.js +36 -56
- package/src/agents/claude-code/native-session.js +9 -0
- package/src/agents/claude-code/preference-evidence.js +28 -0
- package/src/agents/claude-code/wake.js +1 -0
- package/src/agents/codex/acp-process.js +244 -0
- package/src/agents/codex/acp-session.js +190 -0
- package/src/agents/codex/acp-worker.js +54 -0
- package/src/agents/codex/lifecycle-hook.js +58 -63
- package/src/agents/codex/lifecycle-hooks.js +22 -5
- package/src/agents/codex/mcp-context.js +16 -0
- package/src/agents/codex/preference-evidence.js +21 -0
- package/src/agents/codex/token-usage.js +14 -2
- package/src/agents/codex/wake.js +7 -3
- package/src/agents/cursor/lifecycle-hook.js +6 -16
- package/src/agents/identity-receipt.js +74 -10
- package/src/agents/lifecycle-input.js +20 -0
- package/src/agents/lifecycle-message.js +4 -0
- package/src/agents/native-mcp-context.js +9 -0
- package/src/agents/native-session-env.js +10 -0
- package/src/agents/preference-evidence.js +21 -0
- package/src/agents/system-prompt.js +11 -0
- package/src/app/agent-request-context.js +14 -1
- package/src/app/application-error.js +4 -1
- package/src/backup/graph-census.js +57 -0
- package/src/backup/identity-reconciliation.js +15 -39
- package/src/backup/runtime-adapters.js +64 -27
- package/src/backup/runtime-migration.js +88 -0
- package/src/cli/command-registry.js +4 -1
- package/src/cli/connect-command.js +1 -1
- package/src/cli/graph-data-command.js +25 -4
- package/src/cli/graph-migrate-command.js +107 -0
- package/src/cli/local-runtime-command.js +1 -4
- package/src/cli/local-runtime-control.js +27 -0
- package/src/cli/mcp-command.js +33 -1
- package/src/cli/native-runtime-command.js +44 -0
- package/src/cli/remote-mcp-command.js +7 -0
- package/src/cli/setup-command.js +12 -22
- package/src/cli/terminal-io.js +17 -0
- package/src/cli/uninstall-command.js +17 -15
- package/src/cli/update-command.js +12 -20
- package/src/cli/update-installation.js +3 -3
- package/src/cli/worker-command.js +80 -0
- package/src/cli/workspace-connection-command.js +1 -4
- package/src/cli.js +11 -10
- package/src/conversations/capture-window.js +44 -0
- package/src/conversations/entry-rules.js +59 -0
- package/src/conversations/fallback-transcript-boundary.js +48 -0
- package/src/conversations/human-interaction.js +9 -0
- package/src/conversations/preference-evidence.js +88 -0
- package/src/conversations/preference-lifecycle.js +32 -0
- package/src/conversations/preference-session.js +119 -0
- package/src/conversations/preference-snapshot.js +93 -0
- package/src/conversations/preference-view.js +31 -0
- package/src/conversations/stop-auto-close.js +28 -0
- package/src/conversations/sync-transcript.js +21 -8
- package/src/conversations/task-context-view.js +123 -36
- package/src/conversations/transcript-append.js +38 -0
- package/src/conversations/transcript-guard-lock.js +59 -0
- package/src/conversations/transcript-guard.js +45 -17
- package/src/conversations/transcript-lifecycle.js +60 -0
- package/src/conversations/transcript-reader.js +24 -3
- package/src/desktop/windows-command-options.js +19 -0
- package/src/desktop/windows-controller.js +160 -0
- package/src/desktop/windows-install.js +55 -0
- package/src/desktop/windows-installation-context.js +49 -0
- package/src/desktop/windows-installation-switch.js +140 -0
- package/src/desktop/windows-installation.js +246 -0
- package/src/desktop/windows-rollback-command.js +24 -0
- package/src/desktop/windows-rollback.js +69 -0
- package/src/desktop/windows-uninstall-command.js +27 -0
- package/src/desktop/windows-uninstall.js +94 -0
- package/src/desktop/windows-update-command.js +29 -0
- package/src/desktop/windows-update-lock.js +38 -0
- package/src/desktop/windows-update-runtime.js +57 -0
- package/src/desktop/windows-update.js +92 -0
- package/src/employees/catalog/assistant.json +26 -0
- package/src/employees/manifest.js +2 -2
- package/src/employees/recruitment.js +5 -2
- package/src/external-knowledge/conflict-policy.js +1 -5
- package/src/external-knowledge/connected-search.js +3 -23
- package/src/external-knowledge/connectors/custom.js +1 -12
- package/src/external-knowledge/connectors/feishu.js +13 -44
- package/src/external-knowledge/connectors/mcp.js +2 -22
- package/src/external-knowledge/connectors/notion.js +6 -47
- package/src/external-knowledge/connectors/response-values.js +34 -0
- package/src/external-knowledge/connectors/retrieval-api.js +2 -32
- package/src/external-knowledge/document-mapping.js +1 -7
- package/src/external-knowledge/service.js +1 -14
- package/src/graphiti/agent-attention.js +35 -2
- package/src/graphiti/agent-collaboration.js +69 -21
- package/src/graphiti/agent-conversations.js +26 -20
- package/src/graphiti/agent-knowledge-workflows.js +124 -52
- package/src/graphiti/capture-policy.js +23 -0
- package/src/graphiti/checkpoint-human-interaction.js +16 -0
- package/src/graphiti/collaboration-preference-projection.js +5 -4
- package/src/graphiti/collaboration-preference-workflow.js +66 -29
- package/src/graphiti/conversation-triage.js +99 -0
- package/src/graphiti/execution-mode.js +27 -0
- package/src/graphiti/federated-application.js +62 -203
- package/src/graphiti/federated-search.js +186 -0
- package/src/graphiti/knowledge-provider-mapping.js +8 -0
- package/src/graphiti/knowledge-result-budget.js +188 -0
- package/src/graphiti/occupation-catalog.js +7 -0
- package/src/graphiti/occupation-staffing.js +21 -0
- package/src/graphiti/project-agent-control-plane.js +49 -4
- package/src/graphiti/project-agent-mapping.js +31 -30
- package/src/graphiti/project-agent-memory.js +1 -1
- package/src/graphiti/project-agent-run-control.js +64 -0
- package/src/graphiti/project-agent-task-entry.js +45 -19
- package/src/graphiti/project-agent-team-context.js +9 -5
- package/src/graphiti/project-agent-workflows.js +47 -7
- package/src/graphiti/project-brief.js +49 -0
- package/src/graphiti/project-memory-usage.js +44 -0
- package/src/graphiti/project-profile-mapping.js +1 -0
- package/src/graphiti/project-team-hierarchy.js +27 -0
- package/src/graphiti/project-team-view.js +14 -1
- package/src/graphiti/provider-client.js +165 -11
- package/src/graphiti/repository-project-registration.js +9 -2
- package/src/graphiti/runtime-config.js +19 -8
- package/src/graphiti/setup.js +2 -2
- package/src/graphiti/task-activity-origin.js +8 -0
- package/src/graphiti/task-agent-assignment.js +49 -0
- package/src/graphiti/task-collaboration-attribution.js +25 -0
- package/src/graphiti/task-entry-activity-origin.js +9 -0
- package/src/graphiti/task-entry-preferences.js +42 -28
- package/src/graphiti/task-entry-project-mention.js +113 -0
- package/src/graphiti/task-entry-project-scope.js +19 -16
- package/src/graphiti/task-experiences.js +53 -0
- package/src/graphiti/task-knowledge-recall.js +46 -9
- package/src/graphiti/task-knowledge-routing.js +130 -0
- package/src/graphiti/task-preference-pages.js +91 -0
- package/src/graphiti/task-preference-reader.js +118 -0
- package/src/graphiti/task-remember.js +100 -0
- package/src/graphiti/user-taste-skill.js +4 -15
- package/src/graphiti/worker-descriptor.js +42 -0
- package/src/graphiti/worker-plan-host.js +92 -0
- package/src/graphiti/worker-run-host.js +276 -0
- package/src/graphiti/worker-run-view.js +25 -0
- package/src/graphiti/worker-task-context.js +154 -0
- package/src/graphiti/workflow-observation.js +3 -13
- package/src/graphiti/writing-taste-profile.js +4 -15
- package/src/http/api-router.js +11 -0
- package/src/http/error-mapping.js +4 -0
- package/src/http/graph-api-router.js +60 -0
- package/src/http/occupation-api-router.js +19 -0
- package/src/http/request-policy.js +1 -1
- package/src/http/task-events-api-router.js +29 -2
- package/src/http/task-schedules-api-router.js +31 -0
- package/src/judgment/conversation.js +12 -0
- package/src/judgment/engine.js +15 -9
- package/src/judgment/routing.js +1 -0
- package/src/judgment/service.js +11 -1
- package/src/local-runtime/lifecycle.js +20 -15
- package/src/local-runtime/processes.js +19 -0
- package/src/local-runtime/provider-readiness.js +41 -0
- package/src/mcp/chat-listing.js +37 -0
- package/src/mcp/context-resources.js +13 -4
- package/src/mcp/create-mcp-server.js +138 -35
- package/src/mcp/direct-call.js +3 -5
- package/src/mcp/instructions.js +15 -1
- package/src/mcp/preference-delivery.js +70 -0
- package/src/mcp/process-registry.js +65 -0
- package/src/mcp/provider-task-context-registry.js +64 -4
- package/src/mcp/runtime.js +15 -3
- package/src/mcp/session-id.js +7 -0
- package/src/mcp/tool-annotations.js +5 -1
- package/src/mcp/tool-profiles.js +5 -19
- package/src/mcp/tool-result.js +69 -9
- package/src/native-runtime/java-runtime.js +47 -0
- package/src/native-runtime/macos-ports.js +41 -0
- package/src/native-runtime/neo4j-asset-state.js +101 -0
- package/src/native-runtime/neo4j-install.js +84 -0
- package/src/native-runtime/neo4j-lifecycle.js +151 -0
- package/src/native-runtime/neo4j-store-formats.js +36 -0
- package/src/native-runtime/runtime.js +246 -146
- package/src/native-runtime/windows-assets.js +70 -0
- package/src/native-runtime/windows-job-process.cs +169 -0
- package/src/native-runtime/windows-job-process.js +110 -0
- package/src/native-runtime/windows-processes.js +289 -0
- package/src/notifications/needs-person.js +75 -0
- package/src/publication/canonical-json.js +13 -7
- package/src/server/worker-plan-runtime.js +49 -0
- package/src/server.js +18 -3
- package/src/setup/agent-installation-status.js +9 -101
- package/src/setup/agents/adapter-contract.js +47 -0
- package/src/setup/agents/claude-code/adapter.test.js +34 -0
- package/src/setup/agents/claude-code/index.js +35 -0
- package/src/setup/agents/claude-desktop/adapter.test.js +34 -0
- package/src/setup/agents/claude-desktop/index.js +22 -0
- package/src/setup/agents/codex/adapter.test.js +34 -0
- package/src/setup/agents/codex/index.js +47 -0
- package/src/setup/agents/config-directory.js +7 -0
- package/src/setup/agents/cursor/adapter.test.js +50 -0
- package/src/setup/agents/cursor/index.js +35 -0
- package/src/setup/agents/gemini/adapter.test.js +32 -0
- package/src/setup/agents/gemini/index.js +14 -0
- package/src/setup/agents/json-mcp.js +66 -0
- package/src/setup/agents/kiro/adapter.test.js +12 -0
- package/src/setup/agents/kiro/index.js +14 -0
- package/src/setup/agents/opencode/adapter.test.js +39 -0
- package/src/setup/agents/opencode/index.js +19 -0
- package/src/setup/agents/qwen-code/adapter.test.js +14 -0
- package/src/setup/agents/qwen-code/index.js +14 -0
- package/src/setup/agents/registration.js +13 -0
- package/src/setup/agents/registry.js +15 -0
- package/src/setup/agents.js +13 -122
- package/src/setup/claude-code-config.js +18 -18
- package/src/setup/claude-desktop-config.js +9 -11
- package/src/setup/client-connection.js +1 -1
- package/src/setup/codex-bootstrap.js +10 -29
- package/src/setup/codex-config.js +59 -26
- package/src/setup/container-runtime.js +28 -29
- package/src/setup/cursor-config.js +10 -11
- package/src/setup/graph-runtime.js +18 -48
- package/src/setup/install-agent.js +77 -0
- package/src/setup/paths.js +8 -1
- package/src/setup/setup.js +17 -36
- package/src/setup/uninstall.js +13 -1
- package/src/storage/json-file.js +7 -1
- package/src/system/client-connection-install.js +27 -0
- package/src/system/client-connection-status.js +5 -3
- package/src/system/main-module.js +16 -0
- package/src/system/open-without-following.js +38 -0
- package/src/system/platform-path.js +8 -0
- package/src/system/runtime-settings.js +12 -7
- package/src/system/settings-apply.js +2 -6
- package/src/system/settings-guide.js +85 -0
- package/src/system/system-service.js +6 -2
- package/src/task-schedules/scheduler.js +32 -0
- package/src/task-schedules/service.js +174 -0
- package/src/task-schedules/store.js +92 -0
- package/src/text/single-line.js +4 -0
- package/src/validation/values.js +44 -0
- package/dist/web/assets/AboutPage-DC3Eu95G.js +0 -1
- package/dist/web/assets/AboutPage-c4dQpUiP.css +0 -1
- package/dist/web/assets/AgentHand-Bex3jrOr.js +0 -1
- package/dist/web/assets/AgentHand-Y83Oo36U.css +0 -1
- package/dist/web/assets/AgentName-E3TrVNIR.js +0 -1
- package/dist/web/assets/AgentProfilePage-pHzDx457.js +0 -1
- package/dist/web/assets/AgentsDirectoryPage-itsP9chX.js +0 -1
- package/dist/web/assets/AgentsDirectoryPage-kc3EgeGO.css +0 -1
- package/dist/web/assets/ConnectionsPage-D0L5VcbN.js +0 -1
- package/dist/web/assets/EmployeeRecruitDialog-CVbqCzHb.css +0 -1
- package/dist/web/assets/EmployeeRecruitDialog-DcYqq75q.js +0 -1
- package/dist/web/assets/EmployeeWorkbenchPage-BDN6whBV.js +0 -3
- package/dist/web/assets/EmployeeWorkbenchPage-BQes4L1f.css +0 -1
- package/dist/web/assets/KnowledgeEditDialog-BnFbCSK7.js +0 -1
- package/dist/web/assets/KnowledgeEditDialog-hT9znkoe.css +0 -1
- package/dist/web/assets/KnowledgeInspector-u0HypEW7.js +0 -1
- package/dist/web/assets/KnowledgeOrganizerPage-B3GoSV-E.js +0 -1
- package/dist/web/assets/KnowledgeOrganizerPage-ccgscrPd.css +0 -1
- package/dist/web/assets/KnowledgePage-DrRnvfrO.js +0 -1
- package/dist/web/assets/KnowledgeWorkspace-D4a7FcAb.css +0 -1
- package/dist/web/assets/KnowledgeWorkspace-_wWZQw_h.js +0 -4
- package/dist/web/assets/NotFoundPage-BcPx7tfG.js +0 -1
- package/dist/web/assets/OverviewPage-8LBN8Shi.css +0 -1
- package/dist/web/assets/OverviewPage-C2jrJWDc.js +0 -1
- package/dist/web/assets/PersonalProfilePage-B0_zIINs.css +0 -1
- package/dist/web/assets/PersonalProfilePage-DkOcops6.js +0 -1
- package/dist/web/assets/PersonalProjectsPage-uJXnueKw.js +0 -1
- package/dist/web/assets/ProjectAgentFirstTask-Bi1ZsTC1.css +0 -1
- package/dist/web/assets/ProjectAgentFirstTask-Cwto-bOU.js +0 -1
- package/dist/web/assets/ProjectAgentsPage-DDuhJnAH.js +0 -12
- package/dist/web/assets/ProjectAgentsPage-VYiEOpFJ.css +0 -1
- package/dist/web/assets/ProjectScopePicker-Bc7A6Rdj.js +0 -1
- package/dist/web/assets/PublicProjectsPage-DKamXDV9.css +0 -1
- package/dist/web/assets/PublicProjectsPage-KvmU4tDo.js +0 -1
- package/dist/web/assets/ReviewPage-BfKG8Hgw.js +0 -1
- package/dist/web/assets/RoundtablesPage-Drou-B81.css +0 -1
- package/dist/web/assets/RoundtablesPage-IXKQq62P.js +0 -1
- package/dist/web/assets/SettingsPage-6FZ7_3-X.css +0 -1
- package/dist/web/assets/SettingsPage-Clhe1bei.js +0 -1
- package/dist/web/assets/SharedJefaReportPage-B55966fF.js +0 -1
- package/dist/web/assets/TaskExecutionPlan-BuEIInIV.css +0 -1
- package/dist/web/assets/TaskExecutionPlan-ZoOE8Ltc.js +0 -2
- package/dist/web/assets/UiButton-DYcQLYXP.js +0 -1
- package/dist/web/assets/UiDialog-D70VuNpZ.js +0 -1
- package/dist/web/assets/UiDisclosure-CaeBp1mn.js +0 -1
- package/dist/web/assets/UiSegmented-DpXRULl-.js +0 -1
- package/dist/web/assets/UiSelect-Alpe2iY3.js +0 -1
- package/dist/web/assets/UiSelect-Bv6R0yr1.css +0 -1
- package/dist/web/assets/WritingTastePage-B_zYD1df.css +0 -1
- package/dist/web/assets/WritingTastePage-BwNCyys9.js +0 -1
- package/dist/web/assets/agent-pins-DbcPCnxU.js +0 -1
- package/dist/web/assets/agent-profile-DTn-2VAG.css +0 -1
- package/dist/web/assets/agent-work-summary-DRJy9v48.js +0 -1
- package/dist/web/assets/attention-store-AfhjzTC5.js +0 -1
- package/dist/web/assets/catalog-ykylXINx.js +0 -1
- package/dist/web/assets/client-CIuQ1icy.css +0 -1
- package/dist/web/assets/client-mT6kHxUd.js +0 -1
- package/dist/web/assets/console-CDOkjZU8.js +0 -1
- package/dist/web/assets/conversation-launcher-settings-CJfHOqqX.js +0 -1
- package/dist/web/assets/i18n-DUTWmrzf.js +0 -10
- package/dist/web/assets/index-DsExj49_.css +0 -1
- package/dist/web/assets/index-pO9miMus.js +0 -5
- package/dist/web/assets/judgment-types-aERVgHxJ.js +0 -1
- package/dist/web/assets/model-DiN6uWZA.js +0 -1
- package/dist/web/assets/personal-profile-graph-C6IZoTJK.js +0 -1
- package/dist/web/assets/project-team-api-B3dwwoUU.js +0 -1
- package/dist/web/assets/shared-report-CGlCpmNd.css +0 -1
- package/dist/web/assets/shared-report-n864kqhr.js +0 -1
- package/dist/web/assets/useAgentRoster-BF8eZGbq.js +0 -1
- package/dist/web/assets/vue-router-CBdnor1K.js +0 -1
- /package/dist/web/assets/{ConnectionsPage-CM9C-zEI.css → TextField-CM9C-zEI.css} +0 -0
- /package/dist/web/assets/{KnowledgeInspector-pgDELOEf.css → VirtualDirectoryList-pgDELOEf.css} +0 -0
|
@@ -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-DAeCdA8L.js";import{n as E,t as D}from"./console-2nhA6IaV.js";import{h as O,m as k}from"./useApi-CROJJdhE-BJn8l1Cb.js";import{t as A}from"./vue-router-YsTpOqqM.js";import{a as j,i as M,r as N,s as P,t as F}from"./client-DBYe0KzE.js";import{t as I}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as L}from"./UiDialog-CIyDfEYh.js";import{t as R}from"./UiSegmented-wN76K7F9.js";import{t as z}from"./UiSelect-BaVTdhtR.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-DeHNVQ-r.js";import{n as te}from"./project-origin-KvE_J110.js";import{a as ne,n as re,o as ie,r as U,s as ae,t as oe}from"./catalog-CmHt1ONG.js";import{n as se}from"./date-time-DBa_h9cD.js";import{t as ce}from"./UnassignedConversationsPanel-0y0YliA_.js";import{n as W,t as le}from"./EmployeeRecruitDialog-CbakSlIK.js";import{t as G}from"./ProjectScopePicker-CNN_sGrN.js";import{i as ue,r as K,t as q}from"./shared-report-BxeCmoU_.js";import{l as J,n as de,o as fe,s as pe,u as Y}from"./judgment-types-C2vHfclm.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-DAeCdA8L.js";import{n as b,t as x}from"./console-2nhA6IaV.js";import{m as S}from"./useApi-CROJJdhE-BJn8l1Cb.js";import{t as C}from"./vue-router-YsTpOqqM.js";import{s as w}from"./client-DBYe0KzE.js";import{t as T}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as E}from"./UiSelect-BaVTdhtR.js";import{n as ee,r as D,t as O}from"./attention-store-Bg-rVsgG.js";import{n as k}from"./useAgentRecords-DotFATN2.js";import{t as A}from"./UiDisclosure-BIE3uXrx.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-DAeCdA8L.js";import{n as C,t as ee}from"./console-2nhA6IaV.js";import{a as w,i as T}from"./client-DBYe0KzE.js";import{t as E}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as te}from"./UiDialog-CIyDfEYh.js";import{t as D}from"./UiSelect-BaVTdhtR.js";import{r as O,t as k}from"./identity-bmKz-BGh.js";import{E as A,T as j}from"./model-VWzF8pT3.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
|
+
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-DAeCdA8L.js";import{n as x}from"./console-2nhA6IaV.js";import{t as S}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as C}from"./UiDisclosure-BIE3uXrx.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-VWzF8pT3.js";import{a as I,c as L,l as R,o as z,r as B}from"./conversation-launcher-settings-txCBZEle.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};
|
|
@@ -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
|
+
.batch-confirm-layout[data-v-52b5011d]{grid-template-columns:320px minmax(0,1fr);gap:24px;display:grid}.batch-confirm-controls[data-v-52b5011d]{align-content:start;gap:14px;display:grid}.batch-group-summary[data-v-52b5011d]{border-radius:var(--radius-control);background:var(--color-surface-subtle);gap:2px;padding:10px 12px;font-size:12px;display:grid}.batch-group-summary p[data-v-52b5011d]{color:var(--color-muted);margin:0;line-height:1.5}.batch-confirmer-fields[data-v-52b5011d]{grid-template-columns:120px minmax(0,1fr);gap:8px;display:grid}.batch-confirm-review[data-v-52b5011d]{border-left:1px solid var(--color-border);align-content:start;gap:10px;min-width:0;padding-left:24px;display:grid}.batch-review-heading[data-v-52b5011d]{justify-content:space-between;align-items:center;gap:16px;display:flex}.batch-review-heading h3[data-v-52b5011d]{margin:0;font-size:13px;font-weight:600}.batch-review-list[data-v-52b5011d]{border-block:1px solid var(--color-border);max-height:410px;overflow:auto}.batch-review-item[data-v-52b5011d]{border-bottom:1px solid var(--color-border);cursor:pointer;grid-template-columns:auto minmax(0,1fr);gap:9px;padding:10px 2px;display:grid}.batch-review-item[data-v-52b5011d]:last-child{border-bottom:0}.batch-review-item>span[data-v-52b5011d]{gap:3px;min-width:0;font-size:12px;display:grid}.batch-review-item small[data-v-52b5011d],.batch-review-item em[data-v-52b5011d]{color:var(--color-muted)}.batch-review-item em[data-v-52b5011d]{text-overflow:ellipsis;white-space:nowrap;font-style:normal;overflow:hidden}@media (width<=820px){.batch-confirm-layout[data-v-52b5011d]{grid-template-columns:1fr}.batch-confirm-review[data-v-52b5011d]{border-left:0;padding:0}}.knowledge-organizer[data-v-c51855d4]{flex-direction:column;gap:12px;padding:18px 24px 20px;display:flex;overflow:hidden}.organizer-search[data-v-c51855d4]{flex:260px;min-width:200px}.organizer-search input[data-v-c51855d4]{width:100%;height:var(--control-height-sm);border:1px solid var(--color-control-border);border-radius:var(--radius-control);color:var(--color-ink);background:var(--color-surface);font:inherit;padding:0 12px;font-size:13px}.organizer-search input[data-v-c51855d4]:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.organizer-result-summary[data-v-c51855d4]{color:var(--color-muted);white-space:nowrap;font-size:12px}.organizer-layout[data-v-c51855d4]{border:1px solid var(--color-border-strong);border-radius:var(--radius-control);background:var(--color-surface);flex:1;grid-template-columns:minmax(0,1fr);min-height:0;display:grid;overflow:hidden}.organizer-layout.has-selection[data-v-c51855d4]{grid-template-columns:minmax(0,1fr) 340px}.organizer-layout[data-v-c51855d4]:not(.has-selection) .graph-inspector{display:none}.organizer-directory[data-v-c51855d4]{--organizer-list-min-width:920px;min-width:0;min-height:0}.organizer-table-head[data-v-c51855d4],.organizer-row[data-v-c51855d4]{grid-template-columns:minmax(230px,1.35fr) 114px 130px minmax(160px,.8fr) 118px;align-items:center;gap:12px;display:grid}.organizer-table-head[data-v-c51855d4]{border-bottom:1px solid var(--color-border);color:var(--color-muted);background:var(--color-surface-subtle);padding:10px 15px;font-size:12px;font-weight:680}.organizer-row[data-v-c51855d4]{border:0;border-bottom:1px solid var(--color-border);width:100%;height:100%;color:var(--color-ink);background:var(--color-surface);text-align:left;padding:11px 15px;overflow:hidden}.organizer-row[data-v-c51855d4]:hover{background:var(--color-surface)}.organizer-row.selected[data-v-c51855d4]{background:var(--color-accent-soft)}.organizer-item-copy[data-v-c51855d4]{gap:4px;min-width:0;display:grid}.organizer-item-copy strong[data-v-c51855d4],.organizer-item-copy small[data-v-c51855d4]{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.organizer-item-copy strong[data-v-c51855d4]{color:var(--color-ink);font-size:12px;font-weight:630}.organizer-item-copy small[data-v-c51855d4],.organizer-basis[data-v-c51855d4],.organizer-row time[data-v-c51855d4]{color:var(--color-muted);font-size:12px}.quadrant-chip[data-v-c51855d4],.review-chip[data-v-c51855d4]{white-space:nowrap;border-radius:999px;width:fit-content;padding:4px 7px;font-size:12px;font-weight:650}.quadrant-chip[data-v-c51855d4]{color:var(--color-muted);background:var(--color-surface-subtle);gap:1px;display:grid}.quadrant-chip small[data-v-c51855d4]{color:inherit;opacity:.75;font-size:7px;font-weight:520}.quadrant-chip.known_known[data-v-c51855d4]{color:var(--color-ink);background:var(--color-surface-subtle)}.quadrant-chip.known_unknown[data-v-c51855d4]{color:var(--color-warning);background:var(--color-warning-soft)}.quadrant-chip.unknown_known[data-v-c51855d4],.quadrant-chip.unknown_unknown[data-v-c51855d4]{color:var(--color-muted);background:var(--color-surface-subtle)}.review-chip.state-confirmed[data-v-c51855d4],.review-chip.state-agent_confirmed[data-v-c51855d4]{color:var(--color-success);background:var(--color-success-soft)}.review-chip.state-pending[data-v-c51855d4]{color:var(--color-warning);background:var(--color-warning-soft)}.review-chip.state-ai_reviewed[data-v-c51855d4]{color:var(--color-accent);background:var(--color-surface-subtle)}.organizer-basis[data-v-c51855d4]{overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}@media (width<=1260px){.organizer-result-summary[data-v-c51855d4]{display:none}.organizer-table-head[data-v-c51855d4],.organizer-row[data-v-c51855d4]{grid-template-columns:minmax(210px,1fr) 108px 104px minmax(140px,.8fr) 104px}.organizer-directory[data-v-c51855d4]{--organizer-list-min-width:760px}}@media (width<=1040px){.organizer-search[data-v-c51855d4]{flex-basis:100%}.organizer-layout.has-selection[data-v-c51855d4]{grid-template-columns:minmax(0,1fr) 280px}.organizer-table-head[data-v-c51855d4],.organizer-row[data-v-c51855d4]{grid-template-columns:minmax(210px,1fr) 108px 104px}.organizer-directory[data-v-c51855d4]{--organizer-list-min-width:470px}.organizer-table-head[data-v-c51855d4]>:nth-child(n+4),.organizer-basis[data-v-c51855d4],.organizer-row time[data-v-c51855d4]{display:none}}@media (width<=720px){.organizer-layout.has-selection[data-v-c51855d4]{grid-template-rows:minmax(160px,1fr) minmax(160px,.8fr);grid-template-columns:minmax(0,1fr)}}
|
|
@@ -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,S as c,T as l,X as u,Z as d,_ as f,b as p,dt as m,ft as h,mt as g,o as _,ot as v,p as ee,u as y,x as b,y as x}from"./i18n-DAeCdA8L.js";import{n as S,t as te}from"./console-2nhA6IaV.js";import{a as C,r as ne,s as w}from"./client-DBYe0KzE.js";import{t as T}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{n as E,t as D}from"./ui-WHqcW6KK.js";import{t as O}from"./UiDialog-CIyDfEYh.js";import{t as k}from"./UiIconButton-w6pfBSda.js";import{t as A}from"./UiSegmented-wN76K7F9.js";import{t as j}from"./UiSelect-BaVTdhtR.js";import{r as M,t as N}from"./identity-bmKz-BGh.js";import{t as P}from"./VirtualDirectoryList-nAWaJ2eM.js";import{a as F,i as re,n as I,r as L,t as R}from"./KnowledgeEditDialog-CSjtslJS.js";import{D as z,E as B,_ as V,g as H,n as U,o as W,r as ie,t as G,u as ae,v as K}from"./model-VWzF8pT3.js";import{t as oe}from"./KnowledgeInspector-DB9USgC0.js";var q={class:`batch-confirm-layout`},se={class:`batch-confirm-controls`},ce={key:0,class:`batch-group-summary`},le={class:`ui-meta`},J={class:`ui-meta`},ue={class:`batch-confirmer-fields`},de={class:`ui-field`},Y=[`required`,`placeholder`],X={class:`ui-field`},fe=[`placeholder`],pe={class:`ui-meta`},Z={class:`batch-confirm-review`},me={class:`batch-review-heading`},Q={class:`ui-meta`},he={key:0,class:`ui-meta`},ge={class:`batch-review-list`},_e=[`value`],$={class:`ui-check batch-confirm-acknowledgement`},ve=T(o({__name:`KnowledgeBatchConfirmDialog`,props:{groups:{},personalSpaceId:{}},emits:[`close`,`saved`],setup(i,{emit:o}){let s=i,h=o,ne=te(),w=v(``),T=v([]),E=v(`user`),D=v(``),k=v(``),A=v(!1),P=v(!1),F=v(``),re=x(()=>s.groups.map(e=>({value:e.key,label:e.label,meta:_(`knowledge.dialogs.batch.groupMeta`,{kind:e.kind===`source`?_(`knowledge.dialogs.batch.sameSource`):_(`knowledge.dialogs.batch.sameSession`),count:e.items.length}),search:`${M(e.value)} ${e.description}`}))),I=x(()=>s.groups.find(({key:e})=>e===w.value)??null),L=x(()=>I.value?.items.slice(0,200)??[]),R=x(()=>{let e=new Set(T.value);return L.value.filter(t=>e.has(W(t)))}),z=x(()=>L.value.length>0&&R.value.length===L.value.length),V=x(()=>!P.value&&R.value.length>=2&&!!k.value.trim()&&A.value&&(E.value!==`authoritative_source`||!!D.value.trim())),H=x(()=>[{value:`user`,label:_(`knowledge.domain.actors.user`)},{value:`authoritative_source`,label:_(`knowledge.domain.actors.authoritative_source`)}]);a(()=>s.groups,e=>{e.some(({key:e})=>e===w.value)||(w.value=e[0]?.key??``)},{immediate:!0}),a(w,()=>{T.value=L.value.map(W),A.value=!1,F.value=``},{immediate:!0});function W(e){return`${e.itemKind}:${e.id}`}function ie(){T.value=z.value?[]:L.value.map(W),A.value=!1}function G(e){let t=I.value;return t?U(e,t):null}async function ae(){if(P.value)return;let e=I.value;if(!e)return K(_(`knowledge.dialogs.batch.errors.groupRequired`));if(R.value.length<2)return K(_(`knowledge.dialogs.batch.errors.itemsRequired`));if(!k.value.trim())return K(_(`knowledge.dialogs.batch.errors.reasonRequired`));if(E.value===`authoritative_source`&&!D.value.trim())return K(_(`knowledge.dialogs.batch.errors.sourceNameRequired`));if(!A.value)return K(_(`knowledge.dialogs.batch.errors.acknowledgmentRequired`));P.value=!0,F.value=``;try{let t=await C(`/api/knowledge/batch-confirmation`,{personalSpaceId:s.personalSpaceId,groupKind:e.kind,groupValue:e.value,reason:k.value.trim(),confirmer:{kind:E.value,label:D.value.trim()||null},items:R.value.map(e=>{let t=G(e);return{itemId:e.id,itemKind:e.itemKind,existenceReason:t.existenceReason,quadrantReason:t.quadrantReason,proposedBy:t.proposedBy}})});ne.notify(_(`knowledge.dialogs.batch.confirmed`,{count:t.confirmed_count})),h(`saved`),h(`close`)}catch(e){F.value=e instanceof Error?e.message:_(`knowledge.dialogs.batch.errors.failed`),ne.reportError(e)}finally{P.value=!1}}function K(e){F.value=e}return(i,a)=>(e(),b(O,{open:``,class:`batch-confirm-dialog`,size:`xl`,form:``,title:m(_)(`knowledge.dialogs.batch.title`),description:m(_)(`knowledge.dialogs.batch.intro`),busy:P.value,error:F.value,onClose:a[7]||=e=>h(`close`),onSubmit:ae},{footer:u(()=>[n(S,{variant:`ghost`,disabled:P.value,onClick:a[6]||=e=>h(`close`)},{default:u(()=>[l(g(m(_)(`common.actions.cancel`)),1)]),_:1},8,[`disabled`]),n(S,{variant:`primary`,type:`submit`,disabled:!V.value,busy:P.value,"busy-label":m(_)(`knowledge.dialogs.batch.confirming`)},{default:u(()=>[l(g(m(_)(`knowledge.dialogs.batch.confirmItems`,{count:R.value.length})),1)]),_:1},8,[`disabled`,`busy`,`busy-label`])]),default:u(()=>[p(`div`,q,[p(`section`,se,[n(j,{modelValue:w.value,"onUpdate:modelValue":a[0]||=e=>w.value=e,field:``,options:re.value,label:m(_)(`knowledge.dialogs.batch.range`),searchable:``},null,8,[`modelValue`,`options`,`label`]),I.value?(e(),t(`div`,ce,[p(`span`,le,g(I.value.kind===`source`?m(_)(`knowledge.dialogs.batch.sameSource`):m(_)(`knowledge.dialogs.batch.sameSession`)),1),p(`strong`,null,g(I.value.label),1),p(`p`,null,g(I.value.description),1),p(`small`,J,`#`+g(m(N)(I.value.value,28)),1)])):c(``,!0),p(`div`,ue,[n(j,{modelValue:E.value,"onUpdate:modelValue":a[1]||=e=>E.value=e,field:``,options:H.value,label:m(_)(`knowledge.dialogs.batch.confirmer`)},null,8,[`modelValue`,`options`,`label`]),p(`label`,de,[l(g(m(_)(`knowledge.dialogs.batch.confirmerDescription`))+` `,1),d(p(`input`,{"onUpdate:modelValue":a[2]||=e=>D.value=e,maxlength:`160`,required:E.value===`authoritative_source`,placeholder:E.value===`user`?m(_)(`knowledge.dialogs.batch.userPlaceholder`):m(_)(`knowledge.dialogs.batch.sourcePlaceholder`)},null,8,Y),[[ee,D.value]])])]),p(`label`,X,[l(g(m(_)(`knowledge.dialogs.batch.basis`))+` `,1),d(p(`textarea`,{"onUpdate:modelValue":a[3]||=e=>k.value=e,maxlength:`2000`,rows:`3`,required:``,placeholder:m(_)(`knowledge.dialogs.batch.basisPlaceholder`)},null,8,fe),[[ee,k.value]])]),p(`p`,pe,g(m(_)(`knowledge.dialogs.batch.agentBoundary`)),1)]),p(`section`,Z,[p(`div`,me,[p(`div`,null,[p(`h3`,null,g(m(_)(`knowledge.dialogs.batch.itemReview`)),1),p(`p`,Q,g(m(_)(`knowledge.dialogs.batch.selected`,{selected:R.value.length,total:L.value.length})),1)]),n(S,{size:`sm`,variant:`ghost`,onClick:ie},{default:u(()=>[l(g(z.value?m(_)(`knowledge.dialogs.batch.clearAll`):m(_)(`knowledge.dialogs.batch.selectAll`)),1)]),_:1})]),(I.value?.items.length??0)>200?(e(),t(`p`,he,g(m(_)(`knowledge.dialogs.batch.limit`)),1)):c(``,!0),p(`div`,ge,[(e(!0),t(f,null,r(L.value,n=>(e(),t(`label`,{key:W(n),class:`batch-review-item`},[d(p(`input`,{"onUpdate:modelValue":a[4]||=e=>T.value=e,type:`checkbox`,value:W(n)},null,8,_e),[[y,T.value]]),p(`span`,null,[p(`strong`,null,g(n.title),1),p(`small`,null,g(m(B)(n.originQuadrant))+` · `+g(n.type),1),p(`em`,null,g(G(n)?.existenceReason),1),p(`em`,null,g(G(n)?.quadrantReason),1)])]))),128))]),p(`label`,$,[d(p(`input`,{"onUpdate:modelValue":a[5]||=e=>A.value=e,type:`checkbox`},null,512),[[y,A.value]]),p(`span`,null,g(m(_)(`knowledge.dialogs.batch.acknowledgment`)),1)])])])]),_:1},8,[`title`,`description`,`busy`,`error`]))}}),[[`__scopeId`,`data-v-52b5011d`]]),ye={class:`view knowledge-organizer`},be={class:`organizer-search`},xe={class:`ui-sr-only`},Se=[`placeholder`],Ce={class:`organizer-result-summary`},we={key:2,class:`view-loading`,"aria-busy":`true`},Te={class:`organizer-table-head`,"aria-hidden":`true`},Ee=[`onClick`],De={class:`organizer-item-copy`},Oe={class:`organizer-basis`},ke={class:`empty-state`},Ae=100,je=68,Me=T(o({__name:`KnowledgeOrganizerPage`,setup(r){let o=te(),f=v(null),y=v(!1),C=v(!1),T=v(``),O=v(`all`),j=v(`all`),M=v(null),N=v(null),U=v(null),q=v(!1),se=re(),ce=x(()=>se||y.value&&!f.value),le=F(ce),J=0,ue=x(()=>[{value:`known_unknown`,short:_(`knowledge.workspace.organizer.quadrants.known_unknown.short`),coordinate:_(`knowledge.workspace.organizer.quadrants.known_unknown.coordinate`)},{value:`known_known`,short:_(`knowledge.workspace.organizer.quadrants.known_known.short`),coordinate:_(`knowledge.workspace.organizer.quadrants.known_known.coordinate`)},{value:`unknown_unknown`,short:_(`knowledge.workspace.organizer.quadrants.unknown_unknown.short`),coordinate:_(`knowledge.workspace.organizer.quadrants.unknown_unknown.coordinate`)},{value:`unknown_known`,short:_(`knowledge.workspace.organizer.quadrants.unknown_known.short`),coordinate:_(`knowledge.workspace.organizer.quadrants.unknown_known.coordinate`)}]),de=x(()=>[{value:`pending`,label:_(`knowledge.domain.reviewStates.pending`),hint:_(`knowledge.workspace.organizer.review.pendingHint`)},{value:`agent_confirmed`,label:_(`knowledge.domain.reviewStates.agent_confirmed`),hint:_(`knowledge.workspace.organizer.review.agentConfirmedHint`)},{value:`ai_reviewed`,label:_(`knowledge.domain.reviewStates.ai_reviewed`),hint:_(`knowledge.domain.confirmation.aiReviewed`)},{value:`confirmed`,label:_(`knowledge.domain.reviewStates.confirmed`),hint:_(`knowledge.workspace.organizer.review.confirmedHint`)}]),Y=x(()=>H(f.value)),X=x(()=>ie(Y.value)),fe=x(()=>Object.fromEntries([...ue.value.map(({value:e})=>e),`unclassified`].map(e=>[e,Y.value.filter(t=>t.originQuadrant===e).length]))),pe=x(()=>O.value!==`all`),Z=x(()=>pe.value?Y.value.filter(e=>e.originQuadrant===O.value):Y.value),me=x(()=>Object.fromEntries(de.value.map(({value:e})=>[e,Z.value.filter(t=>V(t)===e).length]))),Q=x(()=>{let e=T.value.trim().toLocaleLowerCase();return Y.value.filter(t=>O.value!==`all`&&t.originQuadrant!==O.value||j.value!==`all`&&V(t)!==j.value?!1:!e||[t.title,t.body,t.type,B(t.originQuadrant),z(t),...t.evidence.flatMap(e=>[e.name,e.summary,e.source_description])].filter(Boolean).join(` `).toLocaleLowerCase().includes(e))}),he=x(()=>`${T.value}\u0000${O.value}\u0000${j.value}`),ge=x(()=>M.value?Q.value.findIndex(({id:e,itemKind:t})=>e===M.value?.id&&t===M.value?.itemKind):-1);a(()=>o.activePersonalSpace?.id,e=>{e&&$(e)},{immediate:!0}),a(Q,e=>{M.value&&!e.some(({id:e,itemKind:t})=>e===M.value?.id&&t===M.value?.itemKind)&&(M.value=null)}),i(()=>{J+=1});function _e(){++J,f.value=null,M.value=null,N.value=null,U.value=null,q.value=!1,y.value=!1,C.value=!1,o.reportError(Error(_(`preferences.detail.accessDenied`)))}async function $(e=o.activePersonalSpace?.id){if(!e)return;let t=++J;y.value=!0,N.value=null,U.value=null,C.value=!1;let n=!1;try{let r=0;for(;t===J;){let i=await ne(`/api/graph?${new URLSearchParams({spaceId:e,limit:String(Ae),offset:String(r)})}`);if(t!==J)return;if(f.value=n?G(f.value,i):i,L(e,H(i)),n=!0,M.value&&=Y.value.find(({id:e,itemKind:t})=>e===M.value?.id&&t===M.value?.itemKind)??null,y.value=!1,!i.truncated)break;let a=i.next_offset;if(!Number.isInteger(a)||a<=r)throw Error(_(`knowledge.workspace.organizer.paginationError`));r=a,C.value=!0,await s()}}catch(e){if(t!==J)return;n||(f.value=null),o.reportError(e)}finally{t===J&&(y.value=!1,C.value=!1)}}function Me(e){return`${e.itemKind}:${e.id}`}let Ne=x(()=>[{key:`all`,label:_(`common.status.all`),value:Z.value.length,pressed:j.value===`all`},...de.value.map(e=>({key:e.value,label:e.label,value:me.value[e.value],tone:e.value===`pending`?`warning`:e.value===`confirmed`?`success`:`accent`,pressed:j.value===e.value,ariaLabel:`${e.label} · ${e.hint}`}))]),Pe=x(()=>[{value:`all`,label:_(`common.status.all`),count:Y.value.length},...ue.value.map(e=>({value:e.value,label:e.short,count:fe.value[e.value]}))]);function Fe(e){j.value=e}function Ie(e){T.value=``,O.value=e.originQuadrant,j.value=`all`,M.value=e}return(r,i)=>(e(),t(`section`,ye,[n(m(E),{items:Ne.value,label:m(_)(`knowledge.workspace.organizer.reviewFilterAria`),onSelect:i[0]||=e=>Fe(e)},null,8,[`items`,`label`]),n(m(D),{class:`organizer-toolbar`},{end:u(()=>[p(`span`,Ce,g(m(_)(`knowledge.workspace.organizer.showing`,{visible:Q.value.length,total:Z.value.length})),1),X.value.length?(e(),b(m(S),{key:0,class:`batch-confirm-action`,size:`sm`,onClick:i[3]||=e=>q.value=!0},{default:u(()=>[l(g(m(_)(`knowledge.workspace.organizer.batchConfirm`,{count:X.value.length})),1)]),_:1})):c(``,!0),n(m(k),{icon:`refresh`,size:`sm`,label:m(_)(`common.actions.refresh`),disabled:y.value||C.value,onClick:i[4]||=e=>$()},null,8,[`label`,`disabled`])]),default:u(()=>[p(`label`,be,[p(`span`,xe,g(m(_)(`knowledge.workspace.organizer.filterKnowledge`)),1),d(p(`input`,{"onUpdate:modelValue":i[1]||=e=>T.value=e,type:`search`,placeholder:m(_)(`knowledge.workspace.organizer.searchPlaceholder`)},null,8,Se),[[ee,T.value]])]),n(m(A),{modelValue:O.value,"onUpdate:modelValue":i[2]||=e=>O.value=e,"data-organizer-quadrants":``,options:Pe.value,label:m(_)(`knowledge.workspace.organizer.quadrantFilterAria`)},null,8,[`modelValue`,`options`,`label`])]),_:1}),y.value&&f.value&&!C.value&&!m(le)?(e(),b(w,{key:0,variant:`inline`,label:m(_)(`common.status.loadingKnowledge`)},null,8,[`label`])):c(``,!0),m(le)?(e(),b(w,{key:1,label:m(_)(`common.status.loadingKnowledge`)},null,8,[`label`])):ce.value?(e(),t(`div`,we)):(e(),t(`div`,{key:3,class:h([`organizer-layout`,{"has-selection":M.value}])},[n(P,{class:`organizer-directory`,items:Q.value,"row-height":je,"active-index":ge.value,"reset-key":he.value,"item-key":Me,"min-width":`var(--organizer-list-min-width)`,label:m(_)(`knowledge.workspace.organizer.directoryAria`)},{header:u(()=>[p(`div`,Te,[p(`span`,null,g(m(_)(`knowledge.workspace.workspace.view.knowledgeContent`)),1),p(`span`,null,g(m(_)(`knowledge.workspace.workspace.view.columns.quadrant`)),1),p(`span`,null,g(m(_)(`knowledge.workspace.workspace.view.columns.review`)),1),p(`span`,null,g(m(_)(`knowledge.workspace.organizer.confirmationBasis`)),1),p(`span`,null,g(m(_)(`knowledge.workspace.organizer.updated`)),1)])]),default:u(({item:e})=>[p(`button`,{type:`button`,class:h([`organizer-row`,{selected:M.value?.id===e.id}]),onClick:t=>M.value=e},[p(`span`,De,[p(`strong`,null,g(e.title),1),p(`small`,null,g(e.body),1)]),p(`span`,{class:h([`quadrant-chip`,e.originQuadrant])},g(m(B)(e.originQuadrant)),3),p(`span`,{class:h([`review-chip`,`state-${m(V)(e)}`])},g(m(z)(e)),3),p(`span`,Oe,g(m(W)(e)),1),p(`time`,null,g(m(ae)(m(K)(e))),1)],10,Ee)]),footer:u(()=>[C.value?(e(),b(w,{key:0,variant:`compact`,label:m(_)(`knowledge.workspace.organizer.loadingMore`)},null,8,[`label`])):c(``,!0)]),empty:u(()=>[p(`div`,ke,g(Y.value.length?m(_)(`knowledge.workspace.organizer.noFilteredContent`):m(_)(`knowledge.workspace.organizer.noContent`)),1)]),_:1},8,[`items`,`active-index`,`reset-key`,`label`]),n(oe,{item:M.value,graph:f.value,editable:``,onConfirm:i[5]||=e=>N.value=e,onEdit:i[6]||=e=>U.value=e,onOpenReplacement:Ie},null,8,[`item`,`graph`])],2)),n(R,{item:U.value,"personal-space-id":m(o).activePersonalSpace?.id??``,"personal-project-id":null,projects:m(o).state?.personalProjects??[],"replacement-items":Y.value,onClose:i[7]||=e=>U.value=null,onSaved:i[8]||=e=>$(),onReload:i[9]||=e=>$(),onAccessDenied:_e},null,8,[`item`,`personal-space-id`,`projects`,`replacement-items`]),n(I,{item:N.value,"personal-space-id":m(o).activePersonalSpace?.id??``,"personal-project-id":null,onClose:i[10]||=e=>N.value=null,onSaved:i[11]||=e=>$(),onReload:i[12]||=e=>$(),onAccessDenied:_e},null,8,[`item`,`personal-space-id`]),q.value?(e(),b(ve,{key:4,groups:X.value,"personal-space-id":m(o).activePersonalSpace?.id??``,onClose:i[13]||=e=>q.value=!1,onSaved:i[14]||=e=>$()},null,8,[`groups`,`personal-space-id`])):c(``,!0)]))}}),[[`__scopeId`,`data-v-c51855d4`]]);export{Me as default};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{B as e,O as t,x as n}from"./i18n-DAeCdA8L.js";import{t as r}from"./KnowledgeWorkspace-B7ZiPf6n.js";var i=t({__name:`KnowledgePage`,setup(t){return(t,i)=>(e(),n(r))}});export{i as default};
|