fuli-context 0.12.4 → 0.20.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (166) hide show
  1. package/dist/web/assets/{AboutPage-DKsgqteA.js → AboutPage-swHMgm8d.js} +1 -1
  2. package/dist/web/assets/{AgentHand-B5lezlek.js → AgentHand-aotYXirj.js} +1 -1
  3. package/dist/web/assets/{AgentName-C-V41xs0.js → AgentName-DaiSmFuk.js} +1 -1
  4. package/dist/web/assets/AgentProfilePage-C90Vo343.js +1 -0
  5. package/dist/web/assets/{AgentsDirectoryPage-IgN5QEdW.js → AgentsDirectoryPage-BiV0zVs4.js} +1 -1
  6. package/dist/web/assets/{ConnectionsPage-CXtNiTEF.js → ConnectionsPage-5HCXLXp3.js} +1 -1
  7. package/dist/web/assets/{EmployeeRecruitDialog-o6eyMw2g.js → EmployeeRecruitDialog-C7u31qkP.js} +1 -1
  8. package/dist/web/assets/{EmployeeWorkbenchPage-4EnGLauW.js → EmployeeWorkbenchPage-BHBWnrcC.js} +1 -1
  9. package/dist/web/assets/{KnowledgeEditDialog-BlBd6Xql.js → KnowledgeEditDialog-D-znf44H.js} +1 -1
  10. package/dist/web/assets/{KnowledgeInspector-Dl7SAgaY.js → KnowledgeInspector-CcU3PYaV.js} +1 -1
  11. package/dist/web/assets/{KnowledgeOrganizerPage-CpH4x6UA.js → KnowledgeOrganizerPage-C9hkFZ01.js} +1 -1
  12. package/dist/web/assets/KnowledgePage-ihfSfdh0.js +1 -0
  13. package/dist/web/assets/{KnowledgeWorkspace-4q_HfXas.js → KnowledgeWorkspace-WdcWXNSv.js} +1 -1
  14. package/dist/web/assets/{NotFoundPage-DtmfJSGx.js → NotFoundPage-CLtEdbfR.js} +1 -1
  15. package/dist/web/assets/{OverviewPage-C1zw_8_6.js → OverviewPage-CLKzau9g.js} +1 -1
  16. package/dist/web/assets/{PersonalProfilePage-tQyS7qsa.js → PersonalProfilePage-A02a3zQ1.js} +1 -1
  17. package/dist/web/assets/PersonalProjectsPage-5SDjPygh.js +1 -0
  18. package/dist/web/assets/{ProjectAgentFirstTask-Caf7c6F_.js → ProjectAgentFirstTask-KLVInwaa.js} +1 -1
  19. package/dist/web/assets/ProjectAgentsPage-BQj_XMd1.js +12 -0
  20. package/dist/web/assets/{ProjectAgentsPage-DWGkgIsr.css → ProjectAgentsPage-VYiEOpFJ.css} +1 -1
  21. package/dist/web/assets/{ProjectScopePicker-NyqcG6Iz.js → ProjectScopePicker-Bx4uycn7.js} +1 -1
  22. package/dist/web/assets/{PublicProjectsPage-CYwQLZmy.js → PublicProjectsPage-C7ci4IvJ.js} +1 -1
  23. package/dist/web/assets/{ReviewPage-EyuAtIOq.js → ReviewPage-CMAsStkm.js} +1 -1
  24. package/dist/web/assets/{RoundtablesPage-JVBXsJrs.js → RoundtablesPage-Q2wAZxkX.js} +1 -1
  25. package/dist/web/assets/SettingsPage-6FZ7_3-X.css +1 -0
  26. package/dist/web/assets/SettingsPage-CuQCjhJW.js +1 -0
  27. package/dist/web/assets/{SharedJefaReportPage-DFy5Ty7o.js → SharedJefaReportPage-DzNN_nGd.js} +1 -1
  28. package/dist/web/assets/TaskExecutionPlan-Bni76fd1.js +2 -0
  29. package/dist/web/assets/TaskExecutionPlan-CWRRp6u7.css +1 -0
  30. package/dist/web/assets/{UiButton-neeym_gA.js → UiButton-Dr16-h9x.js} +1 -1
  31. package/dist/web/assets/{UiDialog-BFVoqFnc.js → UiDialog-DBK46TV0.js} +1 -1
  32. package/dist/web/assets/{UiDisclosure-B-T7BmB5.js → UiDisclosure-DwG6hxCs.js} +1 -1
  33. package/dist/web/assets/{UiSegmented-D_kyRKDw.js → UiSegmented-DiQL22Tm.js} +1 -1
  34. package/dist/web/assets/{UiSelect-DDyct4mf.js → UiSelect-Dvbk5_6n.js} +1 -1
  35. package/dist/web/assets/{WritingTastePage-BPRq6kJ6.js → WritingTastePage-e8gY61zu.js} +1 -1
  36. package/dist/web/assets/{agent-pins-6LRHTMF6.js → agent-pins-CU7VfdIk.js} +1 -1
  37. package/dist/web/assets/{agent-profile-UgNiXgpU.css → agent-profile-DTn-2VAG.css} +1 -1
  38. package/dist/web/assets/{agent-work-summary-C-yW7x7A.js → agent-work-summary-DRJy9v48.js} +1 -1
  39. package/dist/web/assets/{attention-store-BGHyzWfv.js → attention-store-NDSr2coj.js} +1 -1
  40. package/dist/web/assets/{catalog-kb-cA8t6.js → catalog-C5DYqPHn.js} +1 -1
  41. package/dist/web/assets/{client-DodUFQDp.js → client-B9ebMaql.js} +1 -1
  42. package/dist/web/assets/{console-C2Lfifq-.js → console-C-3WEMad.js} +1 -1
  43. package/dist/web/assets/{conversation-launcher-settings-CowfVz7l.js → conversation-launcher-settings-jiI7_YEv.js} +1 -1
  44. package/dist/web/assets/{i18n-B4Fp9Oa5.js → i18n-x1XkVwhW.js} +3 -3
  45. package/dist/web/assets/{identity-DG_za-J7.js → identity-BrCgVI35.js} +1 -1
  46. package/dist/web/assets/{index-RxlM8aQV.js → index-DljXSFj8.js} +3 -3
  47. package/dist/web/assets/{judgment-types-DRqrjStd.js → judgment-types-DNdBT0an.js} +1 -1
  48. package/dist/web/assets/{model-C0eHDNsF.js → model-BTpIEeuF.js} +1 -1
  49. package/dist/web/assets/{personal-profile-graph-CHY3WYhi.js → personal-profile-graph-D1xokPXQ.js} +1 -1
  50. package/dist/web/assets/project-team-api-C6rXFu15.js +1 -0
  51. package/dist/web/assets/{shared-report-8JFvD9TZ.js → shared-report-00E2vwUk.js} +1 -1
  52. package/dist/web/assets/task-evidence-i9SDhd3E.js +1 -0
  53. package/dist/web/assets/{useAgentRoster-QDbOwtLj.js → useAgentRoster-BCx1Vft9.js} +1 -1
  54. package/dist/web/assets/{useApi-CROJJdhE-IuC5qwny.js → useApi-CROJJdhE-C53-85Eu.js} +1 -1
  55. package/dist/web/assets/{vue-router-nZMhR3dI.js → vue-router-DqHNZ3fU.js} +1 -1
  56. package/dist/web/index.html +15 -15
  57. package/docs/agent-conversations-and-collaboration.md +69 -1
  58. package/docs/agent-interface-architecture.md +11 -0
  59. package/docs/client-connections.md +42 -6
  60. package/docs/project-agent-memory.md +116 -1
  61. package/graph-provider/fuli_graph/agent_conversation_models.py +1 -1
  62. package/graph-provider/fuli_graph/app.py +6 -0
  63. package/graph-provider/fuli_graph/collaboration_context.py +38 -7
  64. package/graph-provider/fuli_graph/conversation_context.py +285 -25
  65. package/graph-provider/fuli_graph/default_project_lead.py +3 -2
  66. package/graph-provider/fuli_graph/models.py +3 -0
  67. package/graph-provider/fuli_graph/project_agent_access.py +6 -4
  68. package/graph-provider/fuli_graph/project_agent_context_models.py +4 -0
  69. package/graph-provider/fuli_graph/project_agent_memory_models.py +4 -4
  70. package/graph-provider/fuli_graph/project_agent_memory_routes.py +1 -1
  71. package/graph-provider/fuli_graph/project_agent_routes.py +6 -1
  72. package/graph-provider/fuli_graph/project_agent_task_models.py +41 -1
  73. package/graph-provider/fuli_graph/project_agent_work_log.py +3 -1
  74. package/graph-provider/fuli_graph/store_agent_conversations.py +26 -9
  75. package/graph-provider/fuli_graph/store_knowledge.py +6 -0
  76. package/graph-provider/fuli_graph/store_project_agent_context.py +28 -2
  77. package/graph-provider/fuli_graph/store_project_agent_memory.py +17 -7
  78. package/graph-provider/fuli_graph/store_project_agent_task_activity.py +2 -0
  79. package/graph-provider/fuli_graph/store_project_agent_task_reads.py +3 -0
  80. package/graph-provider/fuli_graph/store_project_agent_task_staffing.py +115 -31
  81. package/graph-provider/fuli_graph/store_project_agent_tasks.py +34 -8
  82. package/graph-provider/fuli_graph/store_task_contexts.py +3 -3
  83. package/graph-provider/fuli_graph/task_context_models.py +0 -6
  84. package/graph-provider/fuli_graph/task_notifications.py +54 -0
  85. package/npm-shrinkwrap.json +13 -0
  86. package/package.json +2 -1
  87. package/skills/capturing-session-knowledge/SKILL.md +8 -0
  88. package/src/agent-tools/agent-collaboration-definitions.js +8 -2
  89. package/src/agent-tools/agent-conversation-definitions.js +5 -5
  90. package/src/agent-tools/graph-definitions.js +4 -2
  91. package/src/agent-tools/graph-handlers.js +1 -0
  92. package/src/agent-tools/interface-catalog.js +1 -0
  93. package/src/agent-tools/interface-definitions.js +2 -2
  94. package/src/agent-tools/project-agent-definitions.js +13 -0
  95. package/src/agent-tools/project-agent-memory-definitions.js +13 -5
  96. package/src/agents/claude-code/host-notification.js +55 -0
  97. package/src/agents/claude-code/lifecycle-hook.js +31 -22
  98. package/src/agents/claude-code/session-anchors.js +128 -0
  99. package/src/agents/codex/conversation-transcript.js +2 -0
  100. package/src/agents/codex/lifecycle-hook.js +7 -9
  101. package/src/agents/codex/lifecycle-hooks.js +12 -9
  102. package/src/agents/cursor/lifecycle-hook.js +2 -3
  103. package/src/agents/directory-snapshots.js +303 -0
  104. package/src/agents/identity-receipt.js +7 -3
  105. package/src/cli/mcp-command.js +1 -2
  106. package/src/cli.js +3 -10
  107. package/src/conversations/current-task-lookup.js +2 -1
  108. package/src/conversations/guidance-file-store.js +63 -0
  109. package/src/conversations/hook-task-context.js +61 -0
  110. package/src/conversations/preference-file.js +50 -0
  111. package/src/conversations/session-delivery.js +70 -0
  112. package/src/conversations/task-context-guidance.js +57 -0
  113. package/src/conversations/task-context-view.js +70 -15
  114. package/src/conversations/task-entry-trim.js +85 -0
  115. package/src/conversations/transcript-reader.js +9 -1
  116. package/src/graphiti/agent-collaboration.js +125 -22
  117. package/src/graphiti/agent-conversations.js +7 -5
  118. package/src/graphiti/agent-knowledge-workflows.js +16 -3
  119. package/src/graphiti/collaboration-preference-projection.js +1 -0
  120. package/src/graphiti/collaboration-preference-workflow.js +15 -4
  121. package/src/graphiti/federated-application.js +14 -6
  122. package/src/graphiti/knowledge-item-view.js +61 -0
  123. package/src/graphiti/preference-task-scope.js +26 -0
  124. package/src/graphiti/project-agent-control-plane.js +21 -3
  125. package/src/graphiti/project-agent-mapping.js +2 -0
  126. package/src/graphiti/project-agent-memory.js +127 -7
  127. package/src/graphiti/project-agent-mention.js +2 -2
  128. package/src/graphiti/project-agent-task-entry.js +55 -19
  129. package/src/graphiti/project-agent-workflows.js +1 -0
  130. package/src/graphiti/provider-client.js +22 -7
  131. package/src/graphiti/setup.js +2 -2
  132. package/src/graphiti/task-entry-preferences.js +21 -2
  133. package/src/graphiti/task-entry-project-scope.js +10 -1
  134. package/src/graphiti/task-knowledge-recall.js +15 -2
  135. package/src/http/api-router.js +6 -0
  136. package/src/http/graph-api-router.js +11 -0
  137. package/src/http/static-handler.js +1 -1
  138. package/src/http/task-events-api-router.js +34 -0
  139. package/src/judgment/routing.js +1 -1
  140. package/src/mcp/agent-tool-catalog.js +14 -0
  141. package/src/mcp/create-mcp-server.js +43 -8
  142. package/src/mcp/knowledge-result-view.js +37 -0
  143. package/src/mcp/runtime.js +2 -1
  144. package/src/mcp/session-id.js +2 -0
  145. package/src/mcp/tool-annotations.js +1 -0
  146. package/src/mcp/tool-profiles.js +1 -0
  147. package/src/mcp/tool-result.js +4 -0
  148. package/src/server.js +4 -1
  149. package/src/setup/agent-installation-status.js +3 -0
  150. package/src/setup/claude-code-config.js +5 -1
  151. package/src/setup/client-connection.js +1 -1
  152. package/src/setup/installed-tool-profile.js +11 -0
  153. package/src/setup/paths.js +1 -0
  154. package/src/system/client-connection-status.js +163 -0
  155. package/src/system/main-module.js +16 -0
  156. package/src/system/system-service.js +19 -0
  157. package/dist/web/assets/AgentConversations-BnFsfRj3.js +0 -2
  158. package/dist/web/assets/AgentConversations-XqNEBY_2.css +0 -1
  159. package/dist/web/assets/AgentProfilePage-DjgqtOdz.js +0 -1
  160. package/dist/web/assets/KnowledgePage-C-gFr7ln.js +0 -1
  161. package/dist/web/assets/PersonalProjectsPage-Cgd_bjeK.js +0 -1
  162. package/dist/web/assets/ProjectAgentsPage-BOGkN5ZN.js +0 -12
  163. package/dist/web/assets/SettingsPage-BARo0Ds0.css +0 -1
  164. package/dist/web/assets/SettingsPage-Dfi7kl9c.js +0 -1
  165. package/dist/web/assets/project-team-api-Dfm8C4B8.js +0 -1
  166. package/dist/web/assets/task-evidence-DTiPCs7r.js +0 -1
@@ -1 +1 @@
1
- import{h as e,l as t,n}from"./task-evidence-DTiPCs7r.js";var r=new Set([`awaiting_recruitment`,`queued`,`running`,`paused`,`awaiting_review`,`blocked`]);function i(r,i){let a=e(r);return n(Array.isArray(r)?r:a.tasks??a.items).map(t).filter(e=>!!(e&&(!i||!e.personalSpaceId||e.personalSpaceId===i)))}function a(e,t=6){return e.filter(e=>r.has(e.status)).sort(l).slice(0,t)}function o(e,t,n=6){let r=new Map(t.map(e=>[e.project_id,e.profile.name])),i=new Map;for(let t of e){let e=t.personalProjectId;if(!e)continue;let n=t.updatedAt??t.createdAt??null,a=i.get(e);if(!a){i.set(e,{id:e,name:r.get(e)??e,updatedAt:n,taskCount:1});continue}a.taskCount+=1,d(n,a.updatedAt)<0&&(a.updatedAt=n)}return i.size?[...i.values()].sort(u).slice(0,n):t.slice(0,n).map(e=>({id:e.project_id,name:e.profile.name,updatedAt:null,taskCount:0}))}function s(e){let t=new URLSearchParams,n=e.leadAgentId??e.ownerAgentId??e.participants.find(e=>e.agentId)?.agentId;return n&&t.set(`agent`,n),e.personalProjectId&&t.set(`project`,e.personalProjectId),t.set(`task`,e.taskId),`/project-agents/manage?${t}#task-${encodeURIComponent(e.taskId)}`}function c(e){return`/project-agents/manage?${new URLSearchParams({agent:e.agentId,project:e.personalProjectId,task:e.taskId})}#task-${encodeURIComponent(e.taskId)}`}function l(e,t){return d(e.updatedAt??e.createdAt??null,t.updatedAt??t.createdAt??null)||t.taskId.localeCompare(e.taskId)}function u(e,t){return d(e.updatedAt,t.updatedAt)||t.taskCount-e.taskCount||e.name.localeCompare(t.name)}function d(e,t){let n=e?Date.parse(e):NaN,r=t?Date.parse(t):NaN;return!Number.isNaN(n)&&!Number.isNaN(r)?r-n:Number.isNaN(n)?Number.isNaN(r)?String(t??``).localeCompare(String(e??``)):1:-1}var f=[`awaiting_recruitment`,`queued`,`running`,`paused`,`awaiting_review`,`blocked`],p={blocked:6,awaiting_review:5,running:4,paused:3,queued:2,awaiting_recruitment:1},m=new Set([`completed`,`cancelled`,`failed`]);function h(e){return f.includes(e)}function g(e,t){let n=p[e.status],r=p[t.status];if(n!==r)return n>r;let i=e.updatedAt?Date.parse(e.updatedAt):NaN,a=t.updatedAt?Date.parse(t.updatedAt):NaN;return!Number.isNaN(i)&&!Number.isNaN(a)?i>a:!Number.isNaN(i)}function _(e,t){let n=e.participants.find(e=>e.agentId===t);if(m.has(e.status)||n&&m.has(n.status))return null;let r=n?.status??e.status,i=h(r)?r:h(e.status)?e.status:null;return i?{status:i,taskId:e.taskId,title:e.title,updatedAt:e.updatedAt??e.createdAt}:null}function v(e){let t=new Set;for(let n of e.participants)n.agentId&&t.add(n.agentId);for(let n of[e.ownerAgentId,e.leadAgentId,e.coordinatorAgentId])n&&t.add(n);return t}function y(e,t){return v(e).has(t)}function b(e,t){let n={},r={},a=i(e,t);for(let e of a)for(let t of v(e)){let i=_(e,t);if(!i)continue;let a=r[t];a&&!g(i,a)||(r[t]=i,n[t]={status:i.status,taskId:i.taskId,title:i.title})}return n}function x(t,n=200){let r=e(t),i=Array.isArray(t)?t:Array.isArray(r.tasks)?r.tasks:Array.isArray(r.items)?r.items:null;if(!i)return!1;let a=r.hasMore??r.has_more??r.truncated;if(a===!0)return!1;if(a===!1)return!0;let o=r.total??r.totalCount??r.total_count;return typeof o==`number`&&Number.isFinite(o)&&o>=0?o<=i.length:i.length<n}export{a,s as c,r as i,o as l,b as n,i as o,y as r,c as s,x as t};
1
+ import{h as e,l as t,n}from"./task-evidence-i9SDhd3E.js";var r=new Set([`awaiting_recruitment`,`queued`,`running`,`paused`,`awaiting_review`,`blocked`]);function i(r,i){let a=e(r);return n(Array.isArray(r)?r:a.tasks??a.items).map(t).filter(e=>!!(e&&(!i||!e.personalSpaceId||e.personalSpaceId===i)))}function a(e,t=6){return e.filter(e=>r.has(e.status)).sort(l).slice(0,t)}function o(e,t,n=6){let r=new Map(t.map(e=>[e.project_id,e.profile.name])),i=new Map;for(let t of e){let e=t.personalProjectId;if(!e)continue;let n=t.updatedAt??t.createdAt??null,a=i.get(e);if(!a){i.set(e,{id:e,name:r.get(e)??e,updatedAt:n,taskCount:1});continue}a.taskCount+=1,d(n,a.updatedAt)<0&&(a.updatedAt=n)}return i.size?[...i.values()].sort(u).slice(0,n):t.slice(0,n).map(e=>({id:e.project_id,name:e.profile.name,updatedAt:null,taskCount:0}))}function s(e){let t=new URLSearchParams,n=e.leadAgentId??e.ownerAgentId??e.participants.find(e=>e.agentId)?.agentId;return n&&t.set(`agent`,n),e.personalProjectId&&t.set(`project`,e.personalProjectId),t.set(`task`,e.taskId),`/project-agents/manage?${t}#task-${encodeURIComponent(e.taskId)}`}function c(e){return`/project-agents/manage?${new URLSearchParams({agent:e.agentId,project:e.personalProjectId,task:e.taskId})}#task-${encodeURIComponent(e.taskId)}`}function l(e,t){return d(e.updatedAt??e.createdAt??null,t.updatedAt??t.createdAt??null)||t.taskId.localeCompare(e.taskId)}function u(e,t){return d(e.updatedAt,t.updatedAt)||t.taskCount-e.taskCount||e.name.localeCompare(t.name)}function d(e,t){let n=e?Date.parse(e):NaN,r=t?Date.parse(t):NaN;return!Number.isNaN(n)&&!Number.isNaN(r)?r-n:Number.isNaN(n)?Number.isNaN(r)?String(t??``).localeCompare(String(e??``)):1:-1}var f=[`awaiting_recruitment`,`queued`,`running`,`paused`,`awaiting_review`,`blocked`],p={blocked:6,awaiting_review:5,running:4,paused:3,queued:2,awaiting_recruitment:1},m=new Set([`completed`,`cancelled`,`failed`]);function h(e){return f.includes(e)}function g(e,t){let n=p[e.status],r=p[t.status];if(n!==r)return n>r;let i=e.updatedAt?Date.parse(e.updatedAt):NaN,a=t.updatedAt?Date.parse(t.updatedAt):NaN;return!Number.isNaN(i)&&!Number.isNaN(a)?i>a:!Number.isNaN(i)}function _(e,t){let n=e.participants.find(e=>e.agentId===t);if(m.has(e.status)||n&&m.has(n.status))return null;let r=n?.status??e.status,i=h(r)?r:h(e.status)?e.status:null;return i?{status:i,taskId:e.taskId,title:e.title,updatedAt:e.updatedAt??e.createdAt}:null}function v(e){let t=new Set;for(let n of e.participants)n.agentId&&t.add(n.agentId);for(let n of[e.ownerAgentId,e.leadAgentId,e.coordinatorAgentId])n&&t.add(n);return t}function y(e,t){return v(e).has(t)}function b(e,t){let n={},r={},a=i(e,t);for(let e of a)for(let t of v(e)){let i=_(e,t);if(!i)continue;let a=r[t];a&&!g(i,a)||(r[t]=i,n[t]={status:i.status,taskId:i.taskId,title:i.title})}return n}function x(t,n=200){let r=e(t),i=Array.isArray(t)?t:Array.isArray(r.tasks)?r.tasks:Array.isArray(r.items)?r.items:null;if(!i)return!1;let a=r.hasMore??r.has_more??r.truncated;if(a===!0)return!1;if(a===!1)return!0;let o=r.total??r.totalCount??r.total_count;return typeof o==`number`&&Number.isFinite(o)&&o>=0?o<=i.length:i.length<n}export{a,s as c,r as i,o as l,b as n,i as o,y as r,c as s,x as t};
@@ -1 +1 @@
1
- import{Q as e,a as t}from"./i18n-B4Fp9Oa5.js";import{r as n}from"./console-C2Lfifq-.js";import{a as r,r as i}from"./client-DodUFQDp.js";var a=n(`agent-attention`,()=>{let n=e(``),a=e({}),o=e(0),s=e([]),c=e(0),l=e([]),u=e(0),d=e(``),f=e(!1),p=e(!1),m=e(``),h=e(``),g=e(!1),_=e(!1),v=e(``),y=0,b=0;function x(e,t){d.value=e,l.value=t.items.filter(t=>t.personalSpaceId===e).slice(0,5),u.value=t.total,p.value=!0,m.value=``}function S(){b++,d.value=``,l.value=[],u.value=0,p.value=!1,f.value=!1,m.value=``}async function C(){let e=++y;if(!n.value)return;_.value=!0;let t=++b;d.value=n.value,f.value=!0,m.value=``;try{let r=new URLSearchParams({personalSpaceId:n.value,status:`open`}),l=await i(`/api/agent-attention?${r}&limit=5`);if(e!==y)return;if(a.value=l.counts,o.value=l.total,t===b&&(x(n.value,l),f.value=!1),g.value){h.value&&r.set(`agentId`,h.value);let t=await i(`/api/agent-attention?${r}&limit=100`);if(e!==y)return;s.value=t.items.filter(e=>e.personalSpaceId===n.value&&(!h.value||e.agentId===h.value)),c.value=t.total}v.value=``}catch(n){e===y&&(v.value=n instanceof Error?n.message:String(n)),t===b&&(m.value=n instanceof Error?n.message:String(n),f.value=!1)}finally{e===y&&(_.value=!1),t===b&&(f.value=!1)}}async function w(e=n.value,t={}){if(!e||!t.force&&d.value===e&&(f.value||p.value))return;let r=++b;d.value!==e&&(l.value=[],u.value=0,p.value=!1),d.value=e,f.value=!0,m.value=``;try{let t=await i(`/api/agent-attention?${new URLSearchParams({personalSpaceId:e,status:`open`,limit:`5`})}`);if(r!==b)return;x(e,t)}catch(e){r===b&&(m.value=e instanceof Error?e.message:String(e))}finally{r===b&&(f.value=!1)}}function T(e){n.value!==e&&(y++,n.value=e,a.value={},s.value=[],o.value=0,c.value=0,v.value=``,g.value=!1,_.value=!1,h.value=``,S(),e&&C())}function E(e=``){h.value=e,s.value=[],c.value=0,g.value=!0,C()}async function D(){if(_.value)return;let e=++y;_.value=!0;try{let t=new URLSearchParams({personalSpaceId:n.value,status:`open`,limit:`100`,offset:String(s.value.length)});h.value&&t.set(`agentId`,h.value);let r=await i(`/api/agent-attention?${t}`);if(e!==y)return;let a=new Set(s.value.map(e=>e.requestId));s.value.push(...r.items.filter(e=>e.personalSpaceId===n.value&&(!h.value||e.agentId===h.value)&&!a.has(e.requestId))),c.value=r.total}catch(t){e===y&&(v.value=String(t))}finally{e===y&&(_.value=!1)}}async function O(e,i){let f=n.value;if(!f||e.personalSpaceId!==f)throw Error(t(`attention.wrongSpace`));await r(`/api/agent-attention/respond`,{personalSpaceId:f,personalProjectId:e.personalProjectId,requestId:e.requestId,expectedRevision:e.revision,response:i}),n.value===f&&(s.value=s.value.filter(t=>t.requestId!==e.requestId),o.value=Math.max(0,o.value-1),a.value={...a.value,[e.agentId]:Math.max(0,(a.value[e.agentId]??0)-1)},(!h.value||h.value===e.agentId)&&(c.value=Math.max(0,c.value-1)),d.value===f&&(l.value=l.value.filter(t=>t.requestId!==e.requestId),u.value=Math.max(0,u.value-1)),await C())}return{spaceId:n,counts:a,total:o,items:s,filteredTotal:c,previewItems:l,previewTotal:u,previewSpaceId:d,previewLoading:f,previewLoaded:p,previewError:m,agentId:h,open:g,loading:_,error:v,setSpace:T,show:E,refresh:C,refreshPreview:w,more:D,respond:O}});function o(e){let t=new URLSearchParams({agent:e.agentId,project:e.personalProjectId});return e.taskId&&t.set(`task`,e.taskId),`/project-agents?${t}${e.taskId?`#task-${encodeURIComponent(e.taskId)}`:``}`}export{a as n,o as t};
1
+ import{Q as e,a as t}from"./i18n-x1XkVwhW.js";import{r as n}from"./console-C-3WEMad.js";import{a as r,r as i}from"./client-B9ebMaql.js";var a=n(`agent-attention`,()=>{let n=e(``),a=e({}),o=e(0),s=e([]),c=e(0),l=e([]),u=e(0),d=e(``),f=e(!1),p=e(!1),m=e(``),h=e(``),g=e(!1),_=e(!1),v=e(``),y=0,b=0;function x(e,t){d.value=e,l.value=t.items.filter(t=>t.personalSpaceId===e).slice(0,5),u.value=t.total,p.value=!0,m.value=``}function S(){b++,d.value=``,l.value=[],u.value=0,p.value=!1,f.value=!1,m.value=``}async function C(){let e=++y;if(!n.value)return;_.value=!0;let t=++b;d.value=n.value,f.value=!0,m.value=``;try{let r=new URLSearchParams({personalSpaceId:n.value,status:`open`}),l=await i(`/api/agent-attention?${r}&limit=5`);if(e!==y)return;if(a.value=l.counts,o.value=l.total,t===b&&(x(n.value,l),f.value=!1),g.value){h.value&&r.set(`agentId`,h.value);let t=await i(`/api/agent-attention?${r}&limit=100`);if(e!==y)return;s.value=t.items.filter(e=>e.personalSpaceId===n.value&&(!h.value||e.agentId===h.value)),c.value=t.total}v.value=``}catch(n){e===y&&(v.value=n instanceof Error?n.message:String(n)),t===b&&(m.value=n instanceof Error?n.message:String(n),f.value=!1)}finally{e===y&&(_.value=!1),t===b&&(f.value=!1)}}async function w(e=n.value,t={}){if(!e||!t.force&&d.value===e&&(f.value||p.value))return;let r=++b;d.value!==e&&(l.value=[],u.value=0,p.value=!1),d.value=e,f.value=!0,m.value=``;try{let t=await i(`/api/agent-attention?${new URLSearchParams({personalSpaceId:e,status:`open`,limit:`5`})}`);if(r!==b)return;x(e,t)}catch(e){r===b&&(m.value=e instanceof Error?e.message:String(e))}finally{r===b&&(f.value=!1)}}function T(e){n.value!==e&&(y++,n.value=e,a.value={},s.value=[],o.value=0,c.value=0,v.value=``,g.value=!1,_.value=!1,h.value=``,S(),e&&C())}function E(e=``){h.value=e,s.value=[],c.value=0,g.value=!0,C()}async function D(){if(_.value)return;let e=++y;_.value=!0;try{let t=new URLSearchParams({personalSpaceId:n.value,status:`open`,limit:`100`,offset:String(s.value.length)});h.value&&t.set(`agentId`,h.value);let r=await i(`/api/agent-attention?${t}`);if(e!==y)return;let a=new Set(s.value.map(e=>e.requestId));s.value.push(...r.items.filter(e=>e.personalSpaceId===n.value&&(!h.value||e.agentId===h.value)&&!a.has(e.requestId))),c.value=r.total}catch(t){e===y&&(v.value=String(t))}finally{e===y&&(_.value=!1)}}async function O(e,i){let f=n.value;if(!f||e.personalSpaceId!==f)throw Error(t(`attention.wrongSpace`));await r(`/api/agent-attention/respond`,{personalSpaceId:f,personalProjectId:e.personalProjectId,requestId:e.requestId,expectedRevision:e.revision,response:i}),n.value===f&&(s.value=s.value.filter(t=>t.requestId!==e.requestId),o.value=Math.max(0,o.value-1),a.value={...a.value,[e.agentId]:Math.max(0,(a.value[e.agentId]??0)-1)},(!h.value||h.value===e.agentId)&&(c.value=Math.max(0,c.value-1)),d.value===f&&(l.value=l.value.filter(t=>t.requestId!==e.requestId),u.value=Math.max(0,u.value-1)),await C())}return{spaceId:n,counts:a,total:o,items:s,filteredTotal:c,previewItems:l,previewTotal:u,previewSpaceId:d,previewLoading:f,previewLoaded:p,previewError:m,agentId:h,open:g,loading:_,error:v,setSpace:T,show:E,refresh:C,refreshPreview:w,more:D,respond:O}});function o(e){let t=new URLSearchParams({agent:e.agentId,project:e.personalProjectId});return e.taskId&&t.set(`task`,e.taskId),`/project-agents?${t}${e.taskId?`#task-${encodeURIComponent(e.taskId)}`:``}`}export{a as n,o as t};
@@ -1 +1 @@
1
- import{Q as e,a as t}from"./i18n-B4Fp9Oa5.js";import{r as n}from"./client-DodUFQDp.js";function r(e){let t=/^employee\.([a-z][a-z0-9-]{0,63})$/.exec(e.agentId)?.[1];return t&&e.profile.capabilities.includes(`fuli.employee:${t}`)?t:null}var i=e([]),a=e(!1),o=e(``),s=``,c=null,l=0;async function u(e){if(!e)return[];let t=await n(`/api/employee-templates?${new URLSearchParams({personalSpaceId:e})}`);return Array.isArray(t.templates)?t.templates:[]}function d(e){if(e===s&&c)return c;let t=++l;return e!==s&&(i.value=[]),s=e,o.value=``,e?(a.value=!0,c=u(e).then(e=>{t===l&&(i.value=e)}).catch(e=>{t===l&&(i.value=[],o.value=f(e))}).finally(()=>{t===l&&(a.value=!1,c=null)}),c):(i.value=[],a.value=!1,Promise.resolve())}function f(e){let n=e instanceof Error?e.message:``;try{let e=JSON.parse(n);return e.code&&[`runtime_unavailable`,`assignment_required`,`project_not_found`,`identity_conflict`,`reactivation_required`,`assignment_scope_conflict`,`assignment_update_incomplete`].includes(e.code)?t(`employees.errors.${e.code}`):e.error||t(`employees.loadError`)}catch{return n||t(`employees.loadError`)}}export{i as a,r as i,a as n,u as o,f as r,d as s,o as t};
1
+ import{Q as e,a as t}from"./i18n-x1XkVwhW.js";import{r as n}from"./client-B9ebMaql.js";function r(e){let t=/^employee\.([a-z][a-z0-9-]{0,63})$/.exec(e.agentId)?.[1];return t&&e.profile.capabilities.includes(`fuli.employee:${t}`)?t:null}var i=e([]),a=e(!1),o=e(``),s=``,c=null,l=0;async function u(e){if(!e)return[];let t=await n(`/api/employee-templates?${new URLSearchParams({personalSpaceId:e})}`);return Array.isArray(t.templates)?t.templates:[]}function d(e){if(e===s&&c)return c;let t=++l;return e!==s&&(i.value=[]),s=e,o.value=``,e?(a.value=!0,c=u(e).then(e=>{t===l&&(i.value=e)}).catch(e=>{t===l&&(i.value=[],o.value=f(e))}).finally(()=>{t===l&&(a.value=!1,c=null)}),c):(i.value=[],a.value=!1,Promise.resolve())}function f(e){let n=e instanceof Error?e.message:``;try{let e=JSON.parse(n);return e.code&&[`runtime_unavailable`,`assignment_required`,`project_not_found`,`identity_conflict`,`reactivation_required`,`assignment_scope_conflict`,`assignment_update_incomplete`].includes(e.code)?t(`employees.errors.${e.code}`):e.error||t(`employees.loadError`)}catch{return n||t(`employees.loadError`)}}export{i as a,r as i,a as n,u as o,f as r,d as s,o as t};
@@ -1 +1 @@
1
- import{E as e,P as t,S as n,a as r,it as i,ot as a,y as o}from"./i18n-B4Fp9Oa5.js";import{t as s}from"./_plugin-vue_export-helper-BDNMzG2s.js";var c=[`aria-label`],l={class:`growth-loading__content`},u={class:`growth-loading__label`},d=s(e({__name:`GrowthLoading`,props:{label:{},variant:{default:`page`}},setup(e){let r=e;return(e,s)=>(t(),n(`span`,{class:i([`growth-loading`,[`growth-loading--${r.variant}`,{"view-loading":r.variant===`page`}]]),role:`status`,"aria-live":`polite`,"aria-atomic":`true`,"aria-label":r.label},[o(`span`,l,[s[0]||=o(`span`,{class:`growth-loading__visual`,"aria-hidden":`true`},[o(`svg`,{class:`growth-loading__mark`,viewBox:`0 0 48 48`,"aria-hidden":`true`,focusable:`false`},[o(`path`,{class:`growth-loading__arc growth-loading__arc--1`,d:`M24 5 A19 19 0 0 1 40.45 33.5`}),o(`path`,{class:`growth-loading__arc growth-loading__arc--2`,d:`M40.45 33.5 A19 19 0 0 1 7.55 33.5`}),o(`path`,{class:`growth-loading__arc growth-loading__arc--3`,d:`M7.55 33.5 A19 19 0 0 1 24 5`})])],-1),o(`span`,u,a(r.label),1)])],10,c))}}),[[`__scopeId`,`data-v-9303b8a4`]]),f=class extends Error{status;detail;constructor(e,t,n=``){super(e),this.name=`ApiError`,this.status=t,this.detail=n}};async function p(e,t){let n=await fetch(e,t);if(!n.ok){let e=(await n.text()).trim();throw new f(n.status>=500?r(`common.errors.serviceUnavailable`,{status:n.status}):e||r(`common.errors.requestFailed`,{status:n.status}),n.status,e)}return n.json()}function m(e,t){return p(e,t)}function h(e,t){return p(e,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify(t)})}function g(e,t){return p(e,{method:`PUT`,headers:{"content-type":`application/json`},body:JSON.stringify(t)})}function _(e,t){return p(e,{method:`PATCH`,headers:{"content-type":`application/json`},body:JSON.stringify(t)})}function v(e){return p(e,{method:`DELETE`})}export{h as a,_ as i,v as n,g as o,m as r,d as s,f as t};
1
+ import{E as e,P as t,S as n,a as r,it as i,ot as a,y as o}from"./i18n-x1XkVwhW.js";import{t as s}from"./_plugin-vue_export-helper-BDNMzG2s.js";var c=[`aria-label`],l={class:`growth-loading__content`},u={class:`growth-loading__label`},d=s(e({__name:`GrowthLoading`,props:{label:{},variant:{default:`page`}},setup(e){let r=e;return(e,s)=>(t(),n(`span`,{class:i([`growth-loading`,[`growth-loading--${r.variant}`,{"view-loading":r.variant===`page`}]]),role:`status`,"aria-live":`polite`,"aria-atomic":`true`,"aria-label":r.label},[o(`span`,l,[s[0]||=o(`span`,{class:`growth-loading__visual`,"aria-hidden":`true`},[o(`svg`,{class:`growth-loading__mark`,viewBox:`0 0 48 48`,"aria-hidden":`true`,focusable:`false`},[o(`path`,{class:`growth-loading__arc growth-loading__arc--1`,d:`M24 5 A19 19 0 0 1 40.45 33.5`}),o(`path`,{class:`growth-loading__arc growth-loading__arc--2`,d:`M40.45 33.5 A19 19 0 0 1 7.55 33.5`}),o(`path`,{class:`growth-loading__arc growth-loading__arc--3`,d:`M7.55 33.5 A19 19 0 0 1 24 5`})])],-1),o(`span`,u,a(r.label),1)])],10,c))}}),[[`__scopeId`,`data-v-9303b8a4`]]),f=class extends Error{status;detail;constructor(e,t,n=``){super(e),this.name=`ApiError`,this.status=t,this.detail=n}};async function p(e,t){let n=await fetch(e,t);if(!n.ok){let e=(await n.text()).trim();throw new f(n.status>=500?r(`common.errors.serviceUnavailable`,{status:n.status}):e||r(`common.errors.requestFailed`,{status:n.status}),n.status,e)}return n.json()}function m(e,t){return p(e,t)}function h(e,t){return p(e,{method:`POST`,headers:{"content-type":`application/json`},body:JSON.stringify(t)})}function g(e,t){return p(e,{method:`PUT`,headers:{"content-type":`application/json`},body:JSON.stringify(t)})}function _(e,t){return p(e,{method:`PATCH`,headers:{"content-type":`application/json`},body:JSON.stringify(t)})}function v(e){return p(e,{method:`DELETE`})}export{h as a,_ as i,v as n,g as o,m as r,d as s,f as t};
@@ -1 +1 @@
1
- import{B as e,G as t,J as n,K as r,O as i,Q as a,W as o,X as s,Y as c,a as l,et as u,j as d,k as f,nt as p,q as m,tt as h,v as g}from"./i18n-B4Fp9Oa5.js";import{i as _,r as v}from"./client-DodUFQDp.js";var y=typeof window<`u`,b,x=e=>b=e,S=Symbol();function C(e){return e&&typeof e==`object`&&Object.prototype.toString.call(e)===`[object Object]`&&typeof e.toJSON!=`function`}var w=typeof window==`object`&&window.window===window?window:typeof self==`object`&&self.self===self?self:typeof global==`object`&&global.global===global?global:typeof globalThis==`object`?globalThis:{HTMLElement:null};function T(e,{autoBom:t=!1}={}){return t&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)?new Blob([``,e],{type:e.type}):e}function E(e,t,n){let r=new XMLHttpRequest;r.open(`GET`,e),r.responseType=`blob`,r.onload=function(){j(r.response,t,n)},r.onerror=function(){console.error(`could not download file`)},r.send()}function D(e){let t=new XMLHttpRequest;t.open(`HEAD`,e,!1);try{t.send()}catch{}return t.status>=200&&t.status<=299}function O(e){try{e.dispatchEvent(new MouseEvent(`click`))}catch{let t=new MouseEvent(`click`,{bubbles:!0,cancelable:!0,view:window,detail:0,screenX:80,screenY:20,clientX:80,clientY:20,ctrlKey:!1,altKey:!1,shiftKey:!1,metaKey:!1,button:0,relatedTarget:null});e.dispatchEvent(t)}}var k=typeof navigator==`object`?navigator:{userAgent:``},A=/Macintosh/.test(k.userAgent)&&/AppleWebKit/.test(k.userAgent)&&!/Safari/.test(k.userAgent),j=y?typeof HTMLAnchorElement<`u`&&`download`in HTMLAnchorElement.prototype&&!A?M:`msSaveOrOpenBlob`in k?N:P:()=>{};function M(e,t=`download`,n){let r=document.createElement(`a`);r.download=t,r.rel=`noopener`,typeof e==`string`?(r.href=e,r.origin===location.origin?O(r):D(r.href)?E(e,t,n):(r.target=`_blank`,O(r))):(r.href=URL.createObjectURL(e),setTimeout(function(){URL.revokeObjectURL(r.href)},4e4),setTimeout(function(){O(r)},0))}function N(e,t=`download`,n){if(typeof e==`string`)if(D(e))E(e,t,n);else{let t=document.createElement(`a`);t.href=e,t.target=`_blank`,setTimeout(function(){O(t)})}else navigator.msSaveOrOpenBlob(T(e,n),t)}function P(e,t,n,r){if(r||=open(``,`_blank`),r&&(r.document.title=r.document.body.innerText=`downloading...`),typeof e==`string`)return E(e,t,n);let i=e.type===`application/octet-stream`,a=/constructor/i.test(String(w.HTMLElement))||`safari`in w,o=/CriOS\/[\d]+/.test(navigator.userAgent);if((o||i&&a||A)&&typeof FileReader<`u`){let t=new FileReader;t.onloadend=function(){let e=t.result;if(typeof e!=`string`)throw r=null,Error(`Wrong reader.result type`);e=o?e:e.replace(/^data:[^;]*;/,`data:attachment/file;`),r?r.location.href=e:location.assign(e),r=null},t.readAsDataURL(e)}else{let t=URL.createObjectURL(e);r?r.location.assign(t):location.href=t,r=null,setTimeout(function(){URL.revokeObjectURL(t)},4e4)}}var{assign:F}=Object;function I(){let e=o(!0),t=e.run(()=>a({})),r=[],i=[],s=n({install(e){x(s),s._a=e,e.provide(S,s),e.config.globalProperties.$pinia=s,i.forEach(e=>r.push(e)),i=[]},use(e){return this._a?r.push(e):i.push(e),this},_p:r,_a:null,_e:e,_s:new Map,state:t});return s}var L=()=>{};function R(e,n,r,i=L){e.add(n);let a=()=>{e.delete(n)&&i()};return!r&&t()&&c(a),a}function z(e,...t){e.forEach(e=>{e(...t)})}var B=e=>e(),V=Symbol(),H=Symbol();function U(e,t){e instanceof Map&&t instanceof Map?t.forEach((t,n)=>e.set(n,t)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(let n in t){if(!Object.hasOwn(t,n))continue;let i=t[n],a=e[n];C(a)&&C(i)&&Object.hasOwn(e,n)&&!m(i)&&!r(i)?e[n]=U(a,i):e[n]=i}return e}var W=Symbol();function G(e){return!e||typeof e!=`object`||!Object.hasOwn(e,W)}var{assign:K}=Object;function q(e){return!!(m(e)&&e.effect)}function J(e,t,r,i){let{state:a,actions:o,getters:s}=t,c=r.state.value[e],l;function u(){return c||(r.state.value[e]=a?a():{}),K(p(r.state.value[e]),o,Object.keys(s||{}).reduce((t,i)=>(t[i]=n(g(()=>{x(r);let t=r._s.get(e);return s[i].call(t,t)})),t),{}))}return l=Y(e,u,t,r,i,!0),l}function Y(t,n,i={},a,c,l){let u,f=K({actions:{}},i),p={deep:!0},g,_,v=new Set,y=new Set,b=a.state.value[t];!l&&!b&&(a.state.value[t]={});let S;function C(e){let n;g=_=!1,typeof e==`function`?(e(a.state.value[t]),n={type:`patch function`,storeId:t,events:void 0}):(U(a.state.value[t],e),n={type:`patch object`,payload:e,storeId:t,events:void 0});let r=S=Symbol();d().then(()=>{S===r&&(g=!0)}),_=!0,z(v,n,a.state.value[t])}let w=l?function(){let{state:e}=i,t=e?e():{};this.$patch(e=>{K(e,t)})}:L;function T(){u.stop(),v.clear(),y.clear(),a._s.delete(t)}let E=(e,n=``)=>{if(V in e)return e[H]=n,e;let r=function(){x(a);let n=Array.from(arguments),i=new Set,o=new Set;function s(e){i.add(e)}function c(e){o.add(e)}z(y,{args:n,name:r[H],store:D,after:s,onError:c});let l;try{l=e.apply(this&&this.$id===t?this:D,n)}catch(e){throw z(o,e),e}return l instanceof Promise?l.then(e=>(z(i,e),e)).catch(e=>(z(o,e),Promise.reject(e))):(z(i,l),l)};return r[V]=!0,r[H]=n,r},D=s({_p:a,$id:t,$onAction:R.bind(null,y),$patch:C,$reset:w,$subscribe(n,r={}){if(v.has(n))return L;let i=R(v,n,r.detached,()=>o()),o=u.run(()=>e(()=>a.state.value[t],e=>{(r.flush===`sync`?_:g)&&n({storeId:t,type:`direct`,events:void 0},e)},K({},p,r)));return i},$dispose:T});a._s.set(t,D);let O=(a._a&&a._a.runWithContext||B)(()=>a._e.run(()=>(u=o()).run(()=>n({action:E}))));for(let e in O){let n=O[e];m(n)&&!q(n)||r(n)?l||(b&&G(n)&&(m(n)?n.value=b[e]:U(n,b[e])),a.state.value[t][e]=n):typeof n==`function`&&(O[e]=E(n,e),f.actions[e]=n)}return K(D,O),K(h(D),O),Object.defineProperty(D,"$state",{get:()=>a.state.value[t],set:e=>{C(t=>{K(t,e)})}}),a._p.forEach(e=>{let t=u.run(()=>e({store:D,app:a._a,pinia:a,options:f}));K(D,t)}),b&&l&&i.hydrate&&i.hydrate(D.$state,b),g=!0,_=!0,D}function X(e,t,n){let r,a=typeof t==`function`;r=a?n:t;function o(n,o){let s=i();return n||=s?f(S,null):null,n&&x(n),n=b,n._s.has(e)||(a?Y(e,t,r,n):J(e,r,n)),n._s.get(e)}return o.$id=e,o}var Z=X(`console`,()=>{let e=u(null),t=a(`idle`),n=a(`idle`),r=g(()=>[`saving`,`applying`].includes(n.value)),i=a(null),o=g(()=>{let t=e.value;return t?t.personalSpaces.find(({id:e})=>e===t.activePersonalSpaceId)??t.personalSpaces[0]??null:null}),s=g(()=>e.value?.mode===`connected`?`ready`:e.value?.mode===`degraded`?`error`:`disconnected`);async function c(){t.value=`loading`;try{e.value=await v(`/api/state`),t.value=`ready`}catch(e){t.value=`error`,h(e)}}async function d(t){try{let n=await _(`/api/capture-policy`,{enabled:t});e.value&&={...e.value,capturePolicy:n},m(l(t?`console.captureNotices.enabled`:`console.captureNotices.disabled`))}catch(e){h(e)}}async function f(t){try{let n=await _(`/api/agent-access-policy`,{enabled:t});e.value&&={...e.value,agentAccessPolicy:n},m(l(t?`console.agentAccess.enabledNotice`:`console.agentAccess.disabledNotice`))}catch(e){h(e)}}function p(t){return e.value?.capabilities?.[t]===!0}function m(e){i.value={message:e,tone:`success`}}function h(e){i.value={message:e instanceof Error?e.message:l(`common.errors.operationFailed`),tone:`error`}}function y(){i.value=null}return{state:e,runtimeStatus:t,settingsSaving:r,settingsSaveState:n,feedback:i,activePersonalSpace:o,publicRuntimeStatus:s,refresh:c,updateCapturePolicy:d,updateAgentAccessPolicy:f,hasCapability:p,notify:m,reportError:h,clearFeedback:y}});export{I as n,X as r,Z as t};
1
+ import{B as e,G as t,J as n,K as r,O as i,Q as a,W as o,X as s,Y as c,a as l,et as u,j as d,k as f,nt as p,q as m,tt as h,v as g}from"./i18n-x1XkVwhW.js";import{i as _,r as v}from"./client-B9ebMaql.js";var y=typeof window<`u`,b,x=e=>b=e,S=Symbol();function C(e){return e&&typeof e==`object`&&Object.prototype.toString.call(e)===`[object Object]`&&typeof e.toJSON!=`function`}var w=typeof window==`object`&&window.window===window?window:typeof self==`object`&&self.self===self?self:typeof global==`object`&&global.global===global?global:typeof globalThis==`object`?globalThis:{HTMLElement:null};function T(e,{autoBom:t=!1}={}){return t&&/^\s*(?:text\/\S*|application\/xml|\S*\/\S*\+xml)\s*;.*charset\s*=\s*utf-8/i.test(e.type)?new Blob([``,e],{type:e.type}):e}function E(e,t,n){let r=new XMLHttpRequest;r.open(`GET`,e),r.responseType=`blob`,r.onload=function(){j(r.response,t,n)},r.onerror=function(){console.error(`could not download file`)},r.send()}function D(e){let t=new XMLHttpRequest;t.open(`HEAD`,e,!1);try{t.send()}catch{}return t.status>=200&&t.status<=299}function O(e){try{e.dispatchEvent(new MouseEvent(`click`))}catch{let t=new MouseEvent(`click`,{bubbles:!0,cancelable:!0,view:window,detail:0,screenX:80,screenY:20,clientX:80,clientY:20,ctrlKey:!1,altKey:!1,shiftKey:!1,metaKey:!1,button:0,relatedTarget:null});e.dispatchEvent(t)}}var k=typeof navigator==`object`?navigator:{userAgent:``},A=/Macintosh/.test(k.userAgent)&&/AppleWebKit/.test(k.userAgent)&&!/Safari/.test(k.userAgent),j=y?typeof HTMLAnchorElement<`u`&&`download`in HTMLAnchorElement.prototype&&!A?M:`msSaveOrOpenBlob`in k?N:P:()=>{};function M(e,t=`download`,n){let r=document.createElement(`a`);r.download=t,r.rel=`noopener`,typeof e==`string`?(r.href=e,r.origin===location.origin?O(r):D(r.href)?E(e,t,n):(r.target=`_blank`,O(r))):(r.href=URL.createObjectURL(e),setTimeout(function(){URL.revokeObjectURL(r.href)},4e4),setTimeout(function(){O(r)},0))}function N(e,t=`download`,n){if(typeof e==`string`)if(D(e))E(e,t,n);else{let t=document.createElement(`a`);t.href=e,t.target=`_blank`,setTimeout(function(){O(t)})}else navigator.msSaveOrOpenBlob(T(e,n),t)}function P(e,t,n,r){if(r||=open(``,`_blank`),r&&(r.document.title=r.document.body.innerText=`downloading...`),typeof e==`string`)return E(e,t,n);let i=e.type===`application/octet-stream`,a=/constructor/i.test(String(w.HTMLElement))||`safari`in w,o=/CriOS\/[\d]+/.test(navigator.userAgent);if((o||i&&a||A)&&typeof FileReader<`u`){let t=new FileReader;t.onloadend=function(){let e=t.result;if(typeof e!=`string`)throw r=null,Error(`Wrong reader.result type`);e=o?e:e.replace(/^data:[^;]*;/,`data:attachment/file;`),r?r.location.href=e:location.assign(e),r=null},t.readAsDataURL(e)}else{let t=URL.createObjectURL(e);r?r.location.assign(t):location.href=t,r=null,setTimeout(function(){URL.revokeObjectURL(t)},4e4)}}var{assign:F}=Object;function I(){let e=o(!0),t=e.run(()=>a({})),r=[],i=[],s=n({install(e){x(s),s._a=e,e.provide(S,s),e.config.globalProperties.$pinia=s,i.forEach(e=>r.push(e)),i=[]},use(e){return this._a?r.push(e):i.push(e),this},_p:r,_a:null,_e:e,_s:new Map,state:t});return s}var L=()=>{};function R(e,n,r,i=L){e.add(n);let a=()=>{e.delete(n)&&i()};return!r&&t()&&c(a),a}function z(e,...t){e.forEach(e=>{e(...t)})}var B=e=>e(),V=Symbol(),H=Symbol();function U(e,t){e instanceof Map&&t instanceof Map?t.forEach((t,n)=>e.set(n,t)):e instanceof Set&&t instanceof Set&&t.forEach(e.add,e);for(let n in t){if(!Object.hasOwn(t,n))continue;let i=t[n],a=e[n];C(a)&&C(i)&&Object.hasOwn(e,n)&&!m(i)&&!r(i)?e[n]=U(a,i):e[n]=i}return e}var W=Symbol();function G(e){return!e||typeof e!=`object`||!Object.hasOwn(e,W)}var{assign:K}=Object;function q(e){return!!(m(e)&&e.effect)}function J(e,t,r,i){let{state:a,actions:o,getters:s}=t,c=r.state.value[e],l;function u(){return c||(r.state.value[e]=a?a():{}),K(p(r.state.value[e]),o,Object.keys(s||{}).reduce((t,i)=>(t[i]=n(g(()=>{x(r);let t=r._s.get(e);return s[i].call(t,t)})),t),{}))}return l=Y(e,u,t,r,i,!0),l}function Y(t,n,i={},a,c,l){let u,f=K({actions:{}},i),p={deep:!0},g,_,v=new Set,y=new Set,b=a.state.value[t];!l&&!b&&(a.state.value[t]={});let S;function C(e){let n;g=_=!1,typeof e==`function`?(e(a.state.value[t]),n={type:`patch function`,storeId:t,events:void 0}):(U(a.state.value[t],e),n={type:`patch object`,payload:e,storeId:t,events:void 0});let r=S=Symbol();d().then(()=>{S===r&&(g=!0)}),_=!0,z(v,n,a.state.value[t])}let w=l?function(){let{state:e}=i,t=e?e():{};this.$patch(e=>{K(e,t)})}:L;function T(){u.stop(),v.clear(),y.clear(),a._s.delete(t)}let E=(e,n=``)=>{if(V in e)return e[H]=n,e;let r=function(){x(a);let n=Array.from(arguments),i=new Set,o=new Set;function s(e){i.add(e)}function c(e){o.add(e)}z(y,{args:n,name:r[H],store:D,after:s,onError:c});let l;try{l=e.apply(this&&this.$id===t?this:D,n)}catch(e){throw z(o,e),e}return l instanceof Promise?l.then(e=>(z(i,e),e)).catch(e=>(z(o,e),Promise.reject(e))):(z(i,l),l)};return r[V]=!0,r[H]=n,r},D=s({_p:a,$id:t,$onAction:R.bind(null,y),$patch:C,$reset:w,$subscribe(n,r={}){if(v.has(n))return L;let i=R(v,n,r.detached,()=>o()),o=u.run(()=>e(()=>a.state.value[t],e=>{(r.flush===`sync`?_:g)&&n({storeId:t,type:`direct`,events:void 0},e)},K({},p,r)));return i},$dispose:T});a._s.set(t,D);let O=(a._a&&a._a.runWithContext||B)(()=>a._e.run(()=>(u=o()).run(()=>n({action:E}))));for(let e in O){let n=O[e];m(n)&&!q(n)||r(n)?l||(b&&G(n)&&(m(n)?n.value=b[e]:U(n,b[e])),a.state.value[t][e]=n):typeof n==`function`&&(O[e]=E(n,e),f.actions[e]=n)}return K(D,O),K(h(D),O),Object.defineProperty(D,"$state",{get:()=>a.state.value[t],set:e=>{C(t=>{K(t,e)})}}),a._p.forEach(e=>{let t=u.run(()=>e({store:D,app:a._a,pinia:a,options:f}));K(D,t)}),b&&l&&i.hydrate&&i.hydrate(D.$state,b),g=!0,_=!0,D}function X(e,t,n){let r,a=typeof t==`function`;r=a?n:t;function o(n,o){let s=i();return n||=s?f(S,null):null,n&&x(n),n=b,n._s.has(e)||(a?Y(e,t,r,n):J(e,r,n)),n._s.get(e)}return o.$id=e,o}var Z=X(`console`,()=>{let e=u(null),t=a(`idle`),n=a(`idle`),r=g(()=>[`saving`,`applying`].includes(n.value)),i=a(null),o=g(()=>{let t=e.value;return t?t.personalSpaces.find(({id:e})=>e===t.activePersonalSpaceId)??t.personalSpaces[0]??null:null}),s=g(()=>e.value?.mode===`connected`?`ready`:e.value?.mode===`degraded`?`error`:`disconnected`);async function c(){t.value=`loading`;try{e.value=await v(`/api/state`),t.value=`ready`}catch(e){t.value=`error`,h(e)}}async function d(t){try{let n=await _(`/api/capture-policy`,{enabled:t});e.value&&={...e.value,capturePolicy:n},m(l(t?`console.captureNotices.enabled`:`console.captureNotices.disabled`))}catch(e){h(e)}}async function f(t){try{let n=await _(`/api/agent-access-policy`,{enabled:t});e.value&&={...e.value,agentAccessPolicy:n},m(l(t?`console.agentAccess.enabledNotice`:`console.agentAccess.disabledNotice`))}catch(e){h(e)}}function p(t){return e.value?.capabilities?.[t]===!0}function m(e){i.value={message:e,tone:`success`}}function h(e){i.value={message:e instanceof Error?e.message:l(`common.errors.operationFailed`),tone:`error`}}function y(){i.value=null}return{state:e,runtimeStatus:t,settingsSaving:r,settingsSaveState:n,feedback:i,activePersonalSpace:o,publicRuntimeStatus:s,refresh:c,updateCapturePolicy:d,updateAgentAccessPolicy:f,hasCapability:p,notify:m,reportError:h,clearFeedback:y}});export{I as n,X as r,Z as t};
@@ -1 +1 @@
1
- import{Z as e,a as t,et as n}from"./i18n-B4Fp9Oa5.js";import{r}from"./client-DodUFQDp.js";var i=[`codex`,`claude`,`claude_code`,`cursor`,`gemini_cli`,`kiro`,`other`],a={codex:`Codex`,claude:`Claude`,claude_code:`Claude Code`,cursor:`Cursor`,gemini_cli:`Gemini CLI`,kiro:`Kiro`,other:`Other Agent`},o=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,s=/^[^\u0000-\u001f\u007f]{1,512}$/,c=new Set([`about`,`blob`,`data`,`file`,`javascript`]),l={codex:{enabled:!0,idFormat:`uuid`,appName:`Codex`,urlTemplate:`codex://threads/{id}`},claude:{enabled:!1,idFormat:`any`,appName:`Claude`,urlTemplate:``},claude_code:{enabled:!1,idFormat:`any`,appName:`Claude Code`,urlTemplate:``},cursor:{enabled:!1,idFormat:`any`,appName:`Cursor`,urlTemplate:``},gemini_cli:{enabled:!1,idFormat:`any`,appName:`Gemini CLI`,urlTemplate:``},kiro:{enabled:!1,idFormat:`any`,appName:`Kiro`,urlTemplate:``},other:{enabled:!1,idFormat:`any`,appName:`Other Agent`,urlTemplate:``}};function u(e={}){let t=e.source_application?.trim().toLocaleLowerCase().replaceAll(`-`,`_`).replaceAll(` `,`_`);if(t&&a[t])return t;let n=`${e.source_kind??``} ${e.source_description??``}`.toLocaleLowerCase();return n.includes(`claude`)?`claude_code`:n.includes(`cursor`)?`cursor`:n.includes(`gemini`)?`gemini_cli`:n.includes(`kiro`)?`kiro`:n.includes(`codex`)?`codex`:`other`}function d(e){let n=u(e);return n===`other`?t(`knowledge.domain.actors.otherAgent`):a[n]}function f(e){return a[e]}function p(e={},t=l){if(m(e,t)!==`available`)return null;let n=t[u(e)],r=e.session_id.trim();return n.urlTemplate.replace(`{id}`,encodeURIComponent(r))}function m(e={},t=l){let n=t[u(e)];return n?.enabled?_(e.session_id?.trim()??``,n.idFormat)?v(n.urlTemplate)?`available`:`invalid_template`:`invalid_id`:`disabled`}function h(e={},t=l){let n=t[u(e)];return n?.enabled&&n.appName.trim()?n.appName.trim():null}async function g(e={},t=globalThis.navigator?.clipboard){return!e.session_id||!t?.writeText?!1:(await t.writeText(e.session_id),!0)}function _(e,t){return s.test(e)?t===`any`||o.test(e):!1}function v(e){if(e.split(`{id}`).length!==2||/\s/.test(e))return!1;let t=/^([a-z][a-z0-9+.-]*):/i.exec(e)?.[1]?.toLocaleLowerCase();return!!t&&!c.has(t)}var y=n(w(l)),b=null;function x(){return C(),e(y)}function S(e){y.value=w(e)}function C({force:e=!1}={}){return!e&&b||(b=r(`/api/system/settings`).then(e=>{S(e.configured.conversationLaunchers)}).catch(()=>void 0)),b}function w(e){return Object.fromEntries(i.map(t=>[t,{...l[t],...e?.[t]??{}}]))}export{g as a,h as c,i,p as l,S as n,d as o,x as r,f as s,w as t};
1
+ import{Z as e,a as t,et as n}from"./i18n-x1XkVwhW.js";import{r}from"./client-B9ebMaql.js";var i=[`codex`,`claude`,`claude_code`,`cursor`,`gemini_cli`,`kiro`,`other`],a={codex:`Codex`,claude:`Claude`,claude_code:`Claude Code`,cursor:`Cursor`,gemini_cli:`Gemini CLI`,kiro:`Kiro`,other:`Other Agent`},o=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,s=/^[^\u0000-\u001f\u007f]{1,512}$/,c=new Set([`about`,`blob`,`data`,`file`,`javascript`]),l={codex:{enabled:!0,idFormat:`uuid`,appName:`Codex`,urlTemplate:`codex://threads/{id}`},claude:{enabled:!1,idFormat:`any`,appName:`Claude`,urlTemplate:``},claude_code:{enabled:!1,idFormat:`any`,appName:`Claude Code`,urlTemplate:``},cursor:{enabled:!1,idFormat:`any`,appName:`Cursor`,urlTemplate:``},gemini_cli:{enabled:!1,idFormat:`any`,appName:`Gemini CLI`,urlTemplate:``},kiro:{enabled:!1,idFormat:`any`,appName:`Kiro`,urlTemplate:``},other:{enabled:!1,idFormat:`any`,appName:`Other Agent`,urlTemplate:``}};function u(e={}){let t=e.source_application?.trim().toLocaleLowerCase().replaceAll(`-`,`_`).replaceAll(` `,`_`);if(t&&a[t])return t;let n=`${e.source_kind??``} ${e.source_description??``}`.toLocaleLowerCase();return n.includes(`claude`)?`claude_code`:n.includes(`cursor`)?`cursor`:n.includes(`gemini`)?`gemini_cli`:n.includes(`kiro`)?`kiro`:n.includes(`codex`)?`codex`:`other`}function d(e){let n=u(e);return n===`other`?t(`knowledge.domain.actors.otherAgent`):a[n]}function f(e){return a[e]}function p(e={},t=l){if(m(e,t)!==`available`)return null;let n=t[u(e)],r=e.session_id.trim();return n.urlTemplate.replace(`{id}`,encodeURIComponent(r))}function m(e={},t=l){let n=t[u(e)];return n?.enabled?_(e.session_id?.trim()??``,n.idFormat)?v(n.urlTemplate)?`available`:`invalid_template`:`invalid_id`:`disabled`}function h(e={},t=l){let n=t[u(e)];return n?.enabled&&n.appName.trim()?n.appName.trim():null}async function g(e={},t=globalThis.navigator?.clipboard){return!e.session_id||!t?.writeText?!1:(await t.writeText(e.session_id),!0)}function _(e,t){return s.test(e)?t===`any`||o.test(e):!1}function v(e){if(e.split(`{id}`).length!==2||/\s/.test(e))return!1;let t=/^([a-z][a-z0-9+.-]*):/i.exec(e)?.[1]?.toLocaleLowerCase();return!!t&&!c.has(t)}var y=n(w(l)),b=null;function x(){return C(),e(y)}function S(e){y.value=w(e)}function C({force:e=!1}={}){return!e&&b||(b=r(`/api/system/settings`).then(e=>{S(e.configured.conversationLaunchers)}).catch(()=>void 0)),b}function w(e){return Object.fromEntries(i.map(t=>[t,{...l[t],...e?.[t]??{}}]))}export{g as a,h as c,i,p as l,S as n,d as o,x as r,f as s,w as t};