fuli-context 0.12.3 → 0.20.0-beta.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (186) hide show
  1. package/README.zh-CN.md +1 -1
  2. package/dist/web/assets/{AboutPage-Dized8Uz.js → AboutPage-swHMgm8d.js} +1 -1
  3. package/dist/web/assets/{AgentHand-UzVhbKUC.js → AgentHand-aotYXirj.js} +1 -1
  4. package/dist/web/assets/{AgentName-DJpvkub2.js → AgentName-DaiSmFuk.js} +1 -1
  5. package/dist/web/assets/AgentProfilePage-C90Vo343.js +1 -0
  6. package/dist/web/assets/AgentsDirectoryPage-BiV0zVs4.js +1 -0
  7. package/dist/web/assets/{AgentsDirectoryPage-Cv-vxw2C.css → AgentsDirectoryPage-kc3EgeGO.css} +1 -1
  8. package/dist/web/assets/{ConnectionsPage-uXcabab_.js → ConnectionsPage-5HCXLXp3.js} +1 -1
  9. package/dist/web/assets/EmployeeRecruitDialog-C7u31qkP.js +1 -0
  10. package/dist/web/assets/EmployeeWorkbenchPage-BHBWnrcC.js +3 -0
  11. package/dist/web/assets/{KnowledgeEditDialog-HmiqLC-Y.js → KnowledgeEditDialog-D-znf44H.js} +1 -1
  12. package/dist/web/assets/{KnowledgeInspector-Cj2yK4Qh.js → KnowledgeInspector-CcU3PYaV.js} +1 -1
  13. package/dist/web/assets/{KnowledgeOrganizerPage-DT3BROZm.js → KnowledgeOrganizerPage-C9hkFZ01.js} +1 -1
  14. package/dist/web/assets/KnowledgePage-ihfSfdh0.js +1 -0
  15. package/dist/web/assets/{KnowledgeWorkspace-DA_dqVRG.js → KnowledgeWorkspace-WdcWXNSv.js} +1 -1
  16. package/dist/web/assets/{NotFoundPage-x_Yd59mm.js → NotFoundPage-CLtEdbfR.js} +1 -1
  17. package/dist/web/assets/{OverviewPage-3eZjQ26v.js → OverviewPage-CLKzau9g.js} +1 -1
  18. package/dist/web/assets/{PersonalProfilePage-CDQk096L.js → PersonalProfilePage-A02a3zQ1.js} +1 -1
  19. package/dist/web/assets/PersonalProfilePage-B0_zIINs.css +1 -0
  20. package/dist/web/assets/PersonalProjectsPage-5SDjPygh.js +1 -0
  21. package/dist/web/assets/{ProjectAgentFirstTask-BkRJ0zwO.js → ProjectAgentFirstTask-KLVInwaa.js} +1 -1
  22. package/dist/web/assets/ProjectAgentsPage-BQj_XMd1.js +12 -0
  23. package/dist/web/assets/{ProjectAgentsPage-DWGkgIsr.css → ProjectAgentsPage-VYiEOpFJ.css} +1 -1
  24. package/dist/web/assets/{ProjectScopePicker-CiDxM2Yx.js → ProjectScopePicker-Bx4uycn7.js} +1 -1
  25. package/dist/web/assets/{PublicProjectsPage-ByOT559r.js → PublicProjectsPage-C7ci4IvJ.js} +1 -1
  26. package/dist/web/assets/{ReviewPage-C0Vdr9uq.js → ReviewPage-CMAsStkm.js} +1 -1
  27. package/dist/web/assets/{RoundtablesPage-L3ShEWS3.js → RoundtablesPage-Q2wAZxkX.js} +1 -1
  28. package/dist/web/assets/SettingsPage-6FZ7_3-X.css +1 -0
  29. package/dist/web/assets/SettingsPage-CuQCjhJW.js +1 -0
  30. package/dist/web/assets/{SharedJefaReportPage-Bg6lIk3E.js → SharedJefaReportPage-DzNN_nGd.js} +1 -1
  31. package/dist/web/assets/TaskExecutionPlan-Bni76fd1.js +2 -0
  32. package/dist/web/assets/TaskExecutionPlan-CWRRp6u7.css +1 -0
  33. package/dist/web/assets/{UiButton-x8hiHNRM.js → UiButton-Dr16-h9x.js} +1 -1
  34. package/dist/web/assets/{UiDialog-mjletK0y.js → UiDialog-DBK46TV0.js} +1 -1
  35. package/dist/web/assets/{UiDisclosure-_IxeiexW.js → UiDisclosure-DwG6hxCs.js} +1 -1
  36. package/dist/web/assets/{UiSegmented-WFfz9Evl.js → UiSegmented-DiQL22Tm.js} +1 -1
  37. package/dist/web/assets/{UiSelect-K29jnV-1.js → UiSelect-Dvbk5_6n.js} +1 -1
  38. package/dist/web/assets/{WritingTastePage-DCULB-d2.js → WritingTastePage-e8gY61zu.js} +1 -1
  39. package/dist/web/assets/{agent-pins-DS4mNsNt.js → agent-pins-CU7VfdIk.js} +1 -1
  40. package/dist/web/assets/agent-profile-DTn-2VAG.css +1 -0
  41. package/dist/web/assets/{agent-work-summary-C-yW7x7A.js → agent-work-summary-DRJy9v48.js} +1 -1
  42. package/dist/web/assets/{attention-store-CA5y8j1R.js → attention-store-NDSr2coj.js} +1 -1
  43. package/dist/web/assets/avatars-z6ANYG_r.js +1 -0
  44. package/dist/web/assets/{catalog-D0VEfOAV.js → catalog-C5DYqPHn.js} +1 -1
  45. package/dist/web/assets/{client-DnwnUBQV.js → client-B9ebMaql.js} +1 -1
  46. package/dist/web/assets/{console-Cw7TzOSC.js → console-C-3WEMad.js} +1 -1
  47. package/dist/web/assets/{conversation-launcher-settings-Yc13viwr.js → conversation-launcher-settings-jiI7_YEv.js} +1 -1
  48. package/dist/web/assets/{i18n-oJFlt8hW.js → i18n-x1XkVwhW.js} +3 -3
  49. package/dist/web/assets/{identity-DSGS4CZc.js → identity-BrCgVI35.js} +1 -1
  50. package/dist/web/assets/index-DljXSFj8.js +5 -0
  51. package/dist/web/assets/index-DsExj49_.css +1 -0
  52. package/dist/web/assets/{judgment-types-DR931cZ7.js → judgment-types-DNdBT0an.js} +1 -1
  53. package/dist/web/assets/{model-BJ-UF4cs.js → model-BTpIEeuF.js} +1 -1
  54. package/dist/web/assets/{personal-profile-graph-SOK0BR0w.js → personal-profile-graph-D1xokPXQ.js} +1 -1
  55. package/dist/web/assets/project-team-api-C6rXFu15.js +1 -0
  56. package/dist/web/assets/{shared-report-CiX64ZiD.js → shared-report-00E2vwUk.js} +1 -1
  57. package/dist/web/assets/task-evidence-i9SDhd3E.js +1 -0
  58. package/dist/web/assets/tonborg-avatar-DyxAdTD6.webp +0 -0
  59. package/dist/web/assets/{useAgentRoster-B84mzZIg.js → useAgentRoster-BCx1Vft9.js} +1 -1
  60. package/dist/web/assets/{useApi-CROJJdhE-7gt0QyQ5.js → useApi-CROJJdhE-C53-85Eu.js} +1 -1
  61. package/dist/web/assets/{vue-router-CCvPGaLD.js → vue-router-DqHNZ3fU.js} +1 -1
  62. package/dist/web/index.html +17 -16
  63. package/docs/agent-conversations-and-collaboration.md +69 -1
  64. package/docs/agent-interface-architecture.md +11 -0
  65. package/docs/client-connections.md +42 -6
  66. package/docs/project-agent-memory.md +116 -1
  67. package/graph-provider/fuli_graph/agent_conversation_models.py +1 -1
  68. package/graph-provider/fuli_graph/app.py +6 -0
  69. package/graph-provider/fuli_graph/collaboration_context.py +38 -7
  70. package/graph-provider/fuli_graph/conversation_context.py +285 -25
  71. package/graph-provider/fuli_graph/default_project_lead.py +3 -2
  72. package/graph-provider/fuli_graph/models.py +3 -0
  73. package/graph-provider/fuli_graph/project_agent_access.py +6 -4
  74. package/graph-provider/fuli_graph/project_agent_context_models.py +4 -0
  75. package/graph-provider/fuli_graph/project_agent_memory_models.py +4 -4
  76. package/graph-provider/fuli_graph/project_agent_memory_routes.py +1 -1
  77. package/graph-provider/fuli_graph/project_agent_routes.py +6 -1
  78. package/graph-provider/fuli_graph/project_agent_task_models.py +41 -1
  79. package/graph-provider/fuli_graph/project_agent_work_log.py +3 -1
  80. package/graph-provider/fuli_graph/store_agent_conversations.py +26 -9
  81. package/graph-provider/fuli_graph/store_knowledge.py +6 -0
  82. package/graph-provider/fuli_graph/store_project_agent_context.py +28 -2
  83. package/graph-provider/fuli_graph/store_project_agent_memory.py +17 -7
  84. package/graph-provider/fuli_graph/store_project_agent_task_activity.py +2 -0
  85. package/graph-provider/fuli_graph/store_project_agent_task_reads.py +3 -0
  86. package/graph-provider/fuli_graph/store_project_agent_task_staffing.py +115 -31
  87. package/graph-provider/fuli_graph/store_project_agent_tasks.py +34 -8
  88. package/graph-provider/fuli_graph/store_task_contexts.py +3 -3
  89. package/graph-provider/fuli_graph/system_agents.py +27 -3
  90. package/graph-provider/fuli_graph/task_context_models.py +0 -6
  91. package/graph-provider/fuli_graph/task_notifications.py +54 -0
  92. package/graph-provider/pyproject.toml +1 -1
  93. package/npm-shrinkwrap.json +15 -2
  94. package/package.json +2 -1
  95. package/skills/capturing-session-knowledge/SKILL.md +8 -0
  96. package/src/agent-tools/agent-collaboration-definitions.js +8 -2
  97. package/src/agent-tools/agent-conversation-definitions.js +5 -5
  98. package/src/agent-tools/graph-definitions.js +4 -2
  99. package/src/agent-tools/graph-handlers.js +1 -0
  100. package/src/agent-tools/interface-catalog.js +1 -0
  101. package/src/agent-tools/interface-definitions.js +2 -2
  102. package/src/agent-tools/project-agent-definitions.js +13 -0
  103. package/src/agent-tools/project-agent-memory-definitions.js +13 -5
  104. package/src/agents/claude-code/host-notification.js +55 -0
  105. package/src/agents/claude-code/lifecycle-hook.js +31 -22
  106. package/src/agents/claude-code/session-anchors.js +128 -0
  107. package/src/agents/codex/conversation-transcript.js +2 -0
  108. package/src/agents/codex/lifecycle-hook.js +7 -9
  109. package/src/agents/codex/lifecycle-hooks.js +12 -9
  110. package/src/agents/cursor/lifecycle-hook.js +2 -3
  111. package/src/agents/directory-snapshots.js +303 -0
  112. package/src/agents/identity-receipt.js +7 -3
  113. package/src/cli/mcp-command.js +1 -2
  114. package/src/cli.js +3 -10
  115. package/src/conversations/current-task-lookup.js +2 -1
  116. package/src/conversations/guidance-file-store.js +63 -0
  117. package/src/conversations/hook-task-context.js +61 -0
  118. package/src/conversations/preference-file.js +50 -0
  119. package/src/conversations/session-delivery.js +70 -0
  120. package/src/conversations/task-context-guidance.js +57 -0
  121. package/src/conversations/task-context-view.js +70 -15
  122. package/src/conversations/task-entry-trim.js +85 -0
  123. package/src/conversations/transcript-reader.js +9 -1
  124. package/src/employees/catalog/tonborg.json +1 -1
  125. package/src/graphiti/agent-collaboration.js +125 -22
  126. package/src/graphiti/agent-conversations.js +7 -5
  127. package/src/graphiti/agent-knowledge-workflows.js +16 -3
  128. package/src/graphiti/collaboration-preference-projection.js +1 -0
  129. package/src/graphiti/collaboration-preference-workflow.js +15 -4
  130. package/src/graphiti/federated-application.js +14 -6
  131. package/src/graphiti/knowledge-item-view.js +61 -0
  132. package/src/graphiti/preference-task-scope.js +26 -0
  133. package/src/graphiti/project-agent-control-plane.js +21 -3
  134. package/src/graphiti/project-agent-mapping.js +2 -0
  135. package/src/graphiti/project-agent-memory.js +127 -7
  136. package/src/graphiti/project-agent-mention.js +2 -2
  137. package/src/graphiti/project-agent-task-entry.js +55 -19
  138. package/src/graphiti/project-agent-workflows.js +1 -0
  139. package/src/graphiti/provider-client.js +22 -7
  140. package/src/graphiti/setup.js +2 -2
  141. package/src/graphiti/task-entry-preferences.js +21 -2
  142. package/src/graphiti/task-entry-project-scope.js +10 -1
  143. package/src/graphiti/task-knowledge-recall.js +15 -2
  144. package/src/http/api-router.js +34 -1
  145. package/src/http/graph-api-router.js +11 -0
  146. package/src/http/static-handler.js +1 -1
  147. package/src/http/task-events-api-router.js +34 -0
  148. package/src/judgment/routing.js +1 -1
  149. package/src/local-runtime/lifecycle.js +1 -0
  150. package/src/mcp/agent-tool-catalog.js +14 -0
  151. package/src/mcp/create-mcp-server.js +43 -8
  152. package/src/mcp/knowledge-result-view.js +37 -0
  153. package/src/mcp/runtime.js +2 -1
  154. package/src/mcp/session-id.js +2 -0
  155. package/src/mcp/tool-annotations.js +1 -0
  156. package/src/mcp/tool-profiles.js +1 -0
  157. package/src/mcp/tool-result.js +4 -0
  158. package/src/server.js +4 -1
  159. package/src/setup/agent-installation-status.js +3 -0
  160. package/src/setup/claude-code-config.js +5 -1
  161. package/src/setup/client-connection.js +1 -1
  162. package/src/setup/graph-runtime.js +1 -1
  163. package/src/setup/installed-tool-profile.js +11 -0
  164. package/src/setup/paths.js +1 -0
  165. package/src/system/client-connection-status.js +163 -0
  166. package/src/system/main-module.js +16 -0
  167. package/src/system/settings-apply-worker.js +6 -0
  168. package/src/system/settings-apply.js +116 -0
  169. package/src/system/system-service.js +44 -5
  170. package/dist/web/assets/AgentConversations-Ccy41mEA.js +0 -2
  171. package/dist/web/assets/AgentConversations-XqNEBY_2.css +0 -1
  172. package/dist/web/assets/AgentProfilePage-CFViQ8kj.js +0 -1
  173. package/dist/web/assets/AgentsDirectoryPage-CBFTg_IE.js +0 -1
  174. package/dist/web/assets/EmployeeRecruitDialog-D8Hvhc-M.js +0 -1
  175. package/dist/web/assets/EmployeeWorkbenchPage-TBl_HNj6.js +0 -3
  176. package/dist/web/assets/KnowledgePage-C4J4VueL.js +0 -1
  177. package/dist/web/assets/PersonalProfilePage-DrMDAAdy.css +0 -1
  178. package/dist/web/assets/PersonalProjectsPage-CJxp4Wyz.js +0 -1
  179. package/dist/web/assets/ProjectAgentsPage-BuNNqSEy.js +0 -12
  180. package/dist/web/assets/SettingsPage-BE8pWbI6.css +0 -1
  181. package/dist/web/assets/SettingsPage-McYuinGz.js +0 -1
  182. package/dist/web/assets/agent-profile-Bh3MJGvb.css +0 -1
  183. package/dist/web/assets/index-BfHCcUL2.css +0 -1
  184. package/dist/web/assets/index-DuxXKFrR.js +0 -5
  185. package/dist/web/assets/project-team-api-C_0qJk_B.js +0 -1
  186. package/dist/web/assets/task-evidence-DTiPCs7r.js +0 -1
@@ -1 +1 @@
1
- import{B as e,E as t,I as n,M as r,P as i,Q as a,S as o,U as s,a as c,at as l,f as u,g as d,h as f,it as p,j as m,n as ee,ot as h,rt as g,v as _,x as v,y,z as b}from"./i18n-oJFlt8hW.js";import{t as x}from"./_plugin-vue_export-helper-BDNMzG2s.js";var te=[`data-select-id`],ne=[`name`,`required`,`disabled`,`multiple`],re=[`value`,`selected`],S=[`aria-expanded`,`aria-label`,`disabled`],C=[`placeholder`,`aria-label`],ie=[`aria-multiselectable`],ae=[`aria-selected`,`disabled`,`onClick`],w={key:0,class:`ui-select__box`,"aria-hidden":`true`},T={class:`ui-select__copy`},E={key:0},D={key:1,class:`ui-select__check`,viewBox:`0 0 12 12`,width:`12`,height:`12`,"aria-hidden":`true`},O={key:0,class:`ui-select__empty`},k={key:1,class:`ui-select__actions`},A=[`disabled`],j=x(t({__name:`UiSelect`,props:{modelValue:{},options:{},label:{},multiple:{type:Boolean,default:!1},placeholder:{default:void 0},searchable:{type:Boolean,default:void 0},disabled:{type:Boolean,default:!1},required:{type:Boolean,default:!1},name:{default:void 0},controlId:{default:void 0},size:{default:`md`},field:{type:Boolean,default:!1}},emits:[`update:modelValue`,`change`],setup(t,{emit:x}){let j=t,M=x,N=a(null),P=a(null),F=a(null),I=a(null),L=a(!1),R=a(``),z=a({}),B=`${j.controlId||`ui-select-${b().replace(/[^A-Za-z0-9_-]/g,``)}`}-options`,V=_(()=>new Set(Array.isArray(j.modelValue)?j.modelValue:[j.modelValue])),H=_(()=>j.options.filter(e=>V.value.has(e.value))),U=_(()=>j.searchable??j.options.length>7),W=_(()=>{let e=H.value;return e.length?e.length===1?e[0].label:c(`common.searchableSelect.selectedCount`,{count:e.length}):j.placeholder??c(`common.searchableSelect.placeholder`)}),G=_(()=>{let e=ee(),t=R.value.trim().toLocaleLowerCase(e);return t?j.options.filter(n=>[n.label,n.value,n.meta,n.search].filter(Boolean).join(` `).toLocaleLowerCase(e).includes(t)):j.options});e(()=>j.disabled,e=>{e&&Y()}),r(()=>Q());function K(e){M(`update:modelValue`,e),M(`change`,e)}function q(e){if(j.disabled||e.disabled)return;if(!j.multiple){K(e.value),Y({restoreFocus:!0});return}let t=Array.isArray(j.modelValue)?j.modelValue:[];K(V.value.has(e.value)?t.filter(t=>t!==e.value):[...t,e.value])}function oe(){K(j.options.filter(e=>!e.disabled&&!V.value.has(e.value)).map(e=>e.value))}function se(){K([])}async function J(){j.disabled||L.value||(R.value=``,X(),L.value=!0,ce(),await m(),U.value?F.value?.focus():($().find(e=>e.getAttribute(`aria-selected`)===`true`)??$()[0])?.focus())}function Y({restoreFocus:e=!1}={}){L.value&&(L.value=!1,Q(),e&&m(()=>P.value?.focus()))}function X(){let e=P.value?.getBoundingClientRect();if(!e)return;let t=Math.max(e.width,220),n=Math.min(e.left,window.innerWidth-t-8),r=window.innerHeight-e.bottom;z.value=r<280&&e.top>r?{left:`${n}px`,width:`${t}px`,bottom:`${window.innerHeight-e.top+4}px`}:{left:`${n}px`,width:`${t}px`,top:`${e.bottom+4}px`}}function Z(e){N.value?.contains(e.target)||Y()}function ce(){document.addEventListener(`pointerdown`,Z,!0),window.addEventListener(`scroll`,X,!0),window.addEventListener(`resize`,X)}function Q(){document.removeEventListener(`pointerdown`,Z,!0),window.removeEventListener(`scroll`,X,!0),window.removeEventListener(`resize`,X)}function le(e){N.value?.contains(e.relatedTarget)||queueMicrotask(()=>{N.value?.contains(document.activeElement)||Y()})}function $(){return[...I.value?.querySelectorAll(`.ui-select__option:not(:disabled)`)??[]]}function ue(e){[`ArrowDown`,`Enter`,` `].includes(e.key)&&(e.preventDefault(),L.value&&e.key!==`ArrowDown`?Y():J())}function de(e){e.key===`Escape`?(e.preventDefault(),Y({restoreFocus:!0})):e.key===`ArrowDown`?(e.preventDefault(),$()[0]?.focus()):e.key===`Enter`&&(e.preventDefault(),$()[0]?.click())}function fe(e){if(e.key===`Escape`){e.preventDefault(),Y({restoreFocus:!0});return}if(e.key===`Tab`){Y();return}if(![`ArrowDown`,`ArrowUp`,`Home`,`End`].includes(e.key))return;e.preventDefault();let t=$(),n=t.indexOf(e.currentTarget);t[e.key===`Home`?0:e.key===`End`?t.length-1:e.key===`ArrowDown`?Math.min(t.length-1,n+1):Math.max(0,n-1)]?.focus()}return(e,r)=>(i(),o(`div`,{ref_key:`root`,ref:N,class:p([`ui-select`,[`ui-select--${t.size}`,{"is-open":L.value,"is-disabled":t.disabled,"ui-field":t.field}]]),"data-select-id":t.controlId,onFocusout:le},[t.field?(i(),o(`span`,{key:0,class:`ui-select__label`,onClick:r[0]||=e=>P.value?.focus()},h(t.label),1)):v(``,!0),y(`select`,{class:`ui-select__native`,name:t.name,required:t.required,disabled:t.disabled,multiple:t.multiple,tabindex:`-1`,"aria-hidden":`true`},[(i(!0),o(d,null,n(t.options,e=>(i(),o(`option`,{key:e.value,value:e.value,selected:V.value.has(e.value)},h(e.label),9,re))),128))],8,ne),y(`button`,{ref_key:`trigger`,ref:P,type:`button`,class:`ui-select__trigger`,role:`combobox`,"aria-haspopup":`listbox`,"aria-expanded":L.value,"aria-controls":B,"aria-label":t.label,disabled:t.disabled,onClick:r[1]||=e=>L.value?Y():J(),onKeydown:ue},[y(`span`,{class:p([`ui-select__value`,{"is-placeholder":!H.value.length}])},h(W.value),3),r[6]||=y(`svg`,{class:`ui-select__chevron`,viewBox:`0 0 12 12`,width:`12`,height:`12`,"aria-hidden":`true`},[y(`path`,{d:`m3 4.5 3 3 3-3`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.5`,"stroke-linecap":`round`,"stroke-linejoin":`round`})],-1)],40,S),L.value?(i(),o(`div`,{key:1,class:`ui-select__panel`,style:l(z.value)},[U.value?s((i(),o(`input`,{key:0,ref_key:`searchInput`,ref:F,"onUpdate:modelValue":r[2]||=e=>R.value=e,class:`ui-select__search`,type:`search`,autocomplete:`off`,placeholder:g(c)(`common.searchableSelect.searchPlaceholder`),"aria-label":g(c)(`common.searchableSelect.searchAria`,{label:t.label}),onKeydown:de},null,40,C)),[[u,R.value]]):v(``,!0),y(`div`,{id:B,ref_key:`list`,ref:I,class:`ui-select__list`,role:`listbox`,"aria-multiselectable":t.multiple||void 0},[(i(!0),o(d,null,n(G.value,e=>(i(),o(`button`,{key:e.value,type:`button`,class:`ui-select__option`,role:`option`,"aria-selected":V.value.has(e.value),disabled:e.disabled,onMousedown:r[3]||=f(()=>{},[`prevent`]),onClick:t=>q(e),onKeydown:fe},[t.multiple?(i(),o(`span`,w)):v(``,!0),y(`span`,T,[y(`span`,null,h(e.label),1),e.meta?(i(),o(`small`,E,h(e.meta),1)):v(``,!0)]),!t.multiple&&V.value.has(e.value)?(i(),o(`svg`,D,[...r[7]||=[y(`path`,{d:`m2.5 6.2 2.3 2.3 4.7-5`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.6`,"stroke-linecap":`round`,"stroke-linejoin":`round`},null,-1)]])):v(``,!0)],40,ae))),128)),G.value.length?v(``,!0):(i(),o(`p`,O,h(g(c)(`common.searchableSelect.noMatches`)),1))],8,ie),t.multiple&&t.options.length>3?(i(),o(`div`,k,[y(`button`,{type:`button`,onMousedown:r[4]||=f(()=>{},[`prevent`]),onClick:oe},h(g(c)(`common.searchableSelect.invert`)),33),y(`button`,{type:`button`,disabled:!H.value.length,onMousedown:r[5]||=f(()=>{},[`prevent`]),onClick:se},h(g(c)(`common.searchableSelect.clear`)),41,A)])):v(``,!0)],4)):v(``,!0)],42,te))}}),[[`__scopeId`,`data-v-3a363c0e`]]);export{j as t};
1
+ import{B as e,E as t,I as n,M as r,P as i,Q as a,S as o,U as s,a as c,at as l,f as u,g as d,h as f,it as p,j as m,n as ee,ot as h,rt as g,v as _,x as v,y,z as b}from"./i18n-x1XkVwhW.js";import{t as x}from"./_plugin-vue_export-helper-BDNMzG2s.js";var te=[`data-select-id`],ne=[`name`,`required`,`disabled`,`multiple`],re=[`value`,`selected`],S=[`aria-expanded`,`aria-label`,`disabled`],C=[`placeholder`,`aria-label`],ie=[`aria-multiselectable`],ae=[`aria-selected`,`disabled`,`onClick`],w={key:0,class:`ui-select__box`,"aria-hidden":`true`},T={class:`ui-select__copy`},E={key:0},D={key:1,class:`ui-select__check`,viewBox:`0 0 12 12`,width:`12`,height:`12`,"aria-hidden":`true`},O={key:0,class:`ui-select__empty`},k={key:1,class:`ui-select__actions`},A=[`disabled`],j=x(t({__name:`UiSelect`,props:{modelValue:{},options:{},label:{},multiple:{type:Boolean,default:!1},placeholder:{default:void 0},searchable:{type:Boolean,default:void 0},disabled:{type:Boolean,default:!1},required:{type:Boolean,default:!1},name:{default:void 0},controlId:{default:void 0},size:{default:`md`},field:{type:Boolean,default:!1}},emits:[`update:modelValue`,`change`],setup(t,{emit:x}){let j=t,M=x,N=a(null),P=a(null),F=a(null),I=a(null),L=a(!1),R=a(``),z=a({}),B=`${j.controlId||`ui-select-${b().replace(/[^A-Za-z0-9_-]/g,``)}`}-options`,V=_(()=>new Set(Array.isArray(j.modelValue)?j.modelValue:[j.modelValue])),H=_(()=>j.options.filter(e=>V.value.has(e.value))),U=_(()=>j.searchable??j.options.length>7),W=_(()=>{let e=H.value;return e.length?e.length===1?e[0].label:c(`common.searchableSelect.selectedCount`,{count:e.length}):j.placeholder??c(`common.searchableSelect.placeholder`)}),G=_(()=>{let e=ee(),t=R.value.trim().toLocaleLowerCase(e);return t?j.options.filter(n=>[n.label,n.value,n.meta,n.search].filter(Boolean).join(` `).toLocaleLowerCase(e).includes(t)):j.options});e(()=>j.disabled,e=>{e&&Y()}),r(()=>Q());function K(e){M(`update:modelValue`,e),M(`change`,e)}function q(e){if(j.disabled||e.disabled)return;if(!j.multiple){K(e.value),Y({restoreFocus:!0});return}let t=Array.isArray(j.modelValue)?j.modelValue:[];K(V.value.has(e.value)?t.filter(t=>t!==e.value):[...t,e.value])}function oe(){K(j.options.filter(e=>!e.disabled&&!V.value.has(e.value)).map(e=>e.value))}function se(){K([])}async function J(){j.disabled||L.value||(R.value=``,X(),L.value=!0,ce(),await m(),U.value?F.value?.focus():($().find(e=>e.getAttribute(`aria-selected`)===`true`)??$()[0])?.focus())}function Y({restoreFocus:e=!1}={}){L.value&&(L.value=!1,Q(),e&&m(()=>P.value?.focus()))}function X(){let e=P.value?.getBoundingClientRect();if(!e)return;let t=Math.max(e.width,220),n=Math.min(e.left,window.innerWidth-t-8),r=window.innerHeight-e.bottom;z.value=r<280&&e.top>r?{left:`${n}px`,width:`${t}px`,bottom:`${window.innerHeight-e.top+4}px`}:{left:`${n}px`,width:`${t}px`,top:`${e.bottom+4}px`}}function Z(e){N.value?.contains(e.target)||Y()}function ce(){document.addEventListener(`pointerdown`,Z,!0),window.addEventListener(`scroll`,X,!0),window.addEventListener(`resize`,X)}function Q(){document.removeEventListener(`pointerdown`,Z,!0),window.removeEventListener(`scroll`,X,!0),window.removeEventListener(`resize`,X)}function le(e){N.value?.contains(e.relatedTarget)||queueMicrotask(()=>{N.value?.contains(document.activeElement)||Y()})}function $(){return[...I.value?.querySelectorAll(`.ui-select__option:not(:disabled)`)??[]]}function ue(e){[`ArrowDown`,`Enter`,` `].includes(e.key)&&(e.preventDefault(),L.value&&e.key!==`ArrowDown`?Y():J())}function de(e){e.key===`Escape`?(e.preventDefault(),Y({restoreFocus:!0})):e.key===`ArrowDown`?(e.preventDefault(),$()[0]?.focus()):e.key===`Enter`&&(e.preventDefault(),$()[0]?.click())}function fe(e){if(e.key===`Escape`){e.preventDefault(),Y({restoreFocus:!0});return}if(e.key===`Tab`){Y();return}if(![`ArrowDown`,`ArrowUp`,`Home`,`End`].includes(e.key))return;e.preventDefault();let t=$(),n=t.indexOf(e.currentTarget);t[e.key===`Home`?0:e.key===`End`?t.length-1:e.key===`ArrowDown`?Math.min(t.length-1,n+1):Math.max(0,n-1)]?.focus()}return(e,r)=>(i(),o(`div`,{ref_key:`root`,ref:N,class:p([`ui-select`,[`ui-select--${t.size}`,{"is-open":L.value,"is-disabled":t.disabled,"ui-field":t.field}]]),"data-select-id":t.controlId,onFocusout:le},[t.field?(i(),o(`span`,{key:0,class:`ui-select__label`,onClick:r[0]||=e=>P.value?.focus()},h(t.label),1)):v(``,!0),y(`select`,{class:`ui-select__native`,name:t.name,required:t.required,disabled:t.disabled,multiple:t.multiple,tabindex:`-1`,"aria-hidden":`true`},[(i(!0),o(d,null,n(t.options,e=>(i(),o(`option`,{key:e.value,value:e.value,selected:V.value.has(e.value)},h(e.label),9,re))),128))],8,ne),y(`button`,{ref_key:`trigger`,ref:P,type:`button`,class:`ui-select__trigger`,role:`combobox`,"aria-haspopup":`listbox`,"aria-expanded":L.value,"aria-controls":B,"aria-label":t.label,disabled:t.disabled,onClick:r[1]||=e=>L.value?Y():J(),onKeydown:ue},[y(`span`,{class:p([`ui-select__value`,{"is-placeholder":!H.value.length}])},h(W.value),3),r[6]||=y(`svg`,{class:`ui-select__chevron`,viewBox:`0 0 12 12`,width:`12`,height:`12`,"aria-hidden":`true`},[y(`path`,{d:`m3 4.5 3 3 3-3`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.5`,"stroke-linecap":`round`,"stroke-linejoin":`round`})],-1)],40,S),L.value?(i(),o(`div`,{key:1,class:`ui-select__panel`,style:l(z.value)},[U.value?s((i(),o(`input`,{key:0,ref_key:`searchInput`,ref:F,"onUpdate:modelValue":r[2]||=e=>R.value=e,class:`ui-select__search`,type:`search`,autocomplete:`off`,placeholder:g(c)(`common.searchableSelect.searchPlaceholder`),"aria-label":g(c)(`common.searchableSelect.searchAria`,{label:t.label}),onKeydown:de},null,40,C)),[[u,R.value]]):v(``,!0),y(`div`,{id:B,ref_key:`list`,ref:I,class:`ui-select__list`,role:`listbox`,"aria-multiselectable":t.multiple||void 0},[(i(!0),o(d,null,n(G.value,e=>(i(),o(`button`,{key:e.value,type:`button`,class:`ui-select__option`,role:`option`,"aria-selected":V.value.has(e.value),disabled:e.disabled,onMousedown:r[3]||=f(()=>{},[`prevent`]),onClick:t=>q(e),onKeydown:fe},[t.multiple?(i(),o(`span`,w)):v(``,!0),y(`span`,T,[y(`span`,null,h(e.label),1),e.meta?(i(),o(`small`,E,h(e.meta),1)):v(``,!0)]),!t.multiple&&V.value.has(e.value)?(i(),o(`svg`,D,[...r[7]||=[y(`path`,{d:`m2.5 6.2 2.3 2.3 4.7-5`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.6`,"stroke-linecap":`round`,"stroke-linejoin":`round`},null,-1)]])):v(``,!0)],40,ae))),128)),G.value.length?v(``,!0):(i(),o(`p`,O,h(g(c)(`common.searchableSelect.noMatches`)),1))],8,ie),t.multiple&&t.options.length>3?(i(),o(`div`,k,[y(`button`,{type:`button`,onMousedown:r[4]||=f(()=>{},[`prevent`]),onClick:oe},h(g(c)(`common.searchableSelect.invert`)),33),y(`button`,{type:`button`,disabled:!H.value.length,onMousedown:r[5]||=f(()=>{},[`prevent`]),onClick:se},h(g(c)(`common.searchableSelect.clear`)),41,A)])):v(``,!0)],4)):v(``,!0)],42,te))}}),[[`__scopeId`,`data-v-3a363c0e`]]);export{j as t};
@@ -1 +1 @@
1
- import{B as e,E as t,H as n,I as r,M as i,P as a,Q as o,S as s,T as c,a as l,b as u,g as d,it as f,ot as p,rt as m,v as h,w as g,x as _,y as v}from"./i18n-oJFlt8hW.js";import{t as y}from"./console-Cw7TzOSC.js";import{r as ee,s as b}from"./client-DnwnUBQV.js";import{t as x}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as te}from"./vue-router-CCvPGaLD.js";import{t as ne}from"./UiDisclosure-_IxeiexW.js";import{i as re,n as ie,t as ae}from"./KnowledgeEditDialog-HmiqLC-Y.js";import{u as oe,x as se}from"./model-BJ-UF4cs.js";import{t as ce}from"./personal-profile-graph-SOK0BR0w.js";var le={class:`view writing-taste-view`},S={key:2,class:`view-loading`,"aria-busy":`true`},ue={key:3,class:`writing-taste-unavailable`},de=[`role`],fe={class:`writing-taste-hero__copy`},pe={class:`writing-taste-status`},me={class:`writing-taste-hero__score`,"aria-hidden":`true`},C=[`aria-label`],w={"aria-hidden":`true`},T={class:`writing-taste-rules`},E={key:0,class:`writing-taste-rule-list`},D={class:`writing-taste-rule__status`},O={key:0,class:`conflict`},k={class:`writing-taste-rule__body`},A={key:0},j={key:1},M={key:0},N={key:0,class:`writing-taste-rule__actions`},P=[`onClick`],F=[`onClick`],I={key:1,class:`writing-taste-empty`},L={key:0,class:`writing-taste-agent-preview`},R={key:0},z=x(t({__name:`WritingTastePage`,setup(t){let x=y(),z=o(null),B=o(null),V=o(!1),H=o(!1),U=o(null),W=o(null),G=o(!1),K=0,q=null,J=h(()=>V.value&&!z.value),Y=re(J),X=h(()=>se(B.value)),Z=h(()=>new Map(X.value.map(e=>[`${e.itemKind}:${e.id}`,e]))),he=h(()=>z.value?.status===`active`?l(`writingTaste.page.activeTitle`):z.value?.status===`preview_ready`?l(`writingTaste.page.previewTitle`):l(`writingTaste.page.collectingTitle`)),ge=h(()=>z.value?.status===`active`?l(`writingTaste.page.activeCopy`):z.value?.status===`preview_ready`?l(`writingTaste.page.previewCopy`):l(`writingTaste.page.collectingCopy`));e(()=>x.activePersonalSpace?.id,e=>{z.value=null,B.value=null,U.value=null,W.value=null,G.value=!1,Q(e)},{immediate:!0,flush:`sync`});async function Q(e=x.activePersonalSpace?.id){let t=++K;if(q?.abort(),q=null,H.value=!1,!e){V.value=!1;return}let n=new AbortController;q=n,V.value=!0;try{let r=new URLSearchParams({personalSpaceId:e,limit:`500`}),[i,a]=await Promise.all([ee(`/api/writing-taste-profile?${r}`,{signal:n.signal}),ce(e,n.signal)]);if(t!==K)return;z.value=Se(i)?i:null,B.value=Ce(a)?a:null,xe()}catch{if(t!==K)return;z.value=null,B.value=null,H.value=!0}finally{t===K&&(V.value=!1,q=null)}}i(()=>{K+=1,q?.abort()});function $(e){return Z.value.get(`${e.item_kind}:${e.item_id}`)??null}function _e(e){U.value=$(e)}function ve(e){W.value=$(e)}function ye(e){if(e.preference_scope!==`project`||!e.preference_project_id)return l(`writingTaste.page.globalScope`);let t=x.state?.personalProjects?.find(({project_id:t})=>t===e.preference_project_id);return l(`writingTaste.page.projectScope`,{project:t?.profile.name??e.preference_project_id})}function be(e){return e.key===`conflicts`?l(`writingTaste.criteria.conflictsProgress`,{current:e.current}):l(`writingTaste.criteria.progress`,{current:e.current,target:e.target})}function xe(){U.value&&=Z.value.get(`${U.value.itemKind}:${U.value.id}`)??null,W.value&&=Z.value.get(`${W.value.itemKind}:${W.value.id}`)??null}function Se(e){if(!e||typeof e!=`object`)return!1;let t=e;return[`collecting`,`preview_ready`,`active`].includes(t.status??``)&&!!t.readiness&&Array.isArray(t.rules)}function Ce(e){if(!e||typeof e!=`object`)return!1;let t=e;return Array.isArray(t.nodes)&&Array.isArray(t.edges)}return(e,t)=>(a(),s(`section`,le,[c(m(te),{class:`writing-taste-back`,to:`/preferences`},{default:n(()=>[t[6]||=v(`span`,{"aria-hidden":`true`},`←`,-1),g(` `+p(m(l)(`writingTaste.page.back`)),1)]),_:1}),V.value&&z.value&&!m(Y)?(a(),u(b,{key:0,variant:`inline`,label:m(l)(`writingTaste.page.loading`)},null,8,[`label`])):_(``,!0),m(Y)?(a(),u(b,{key:1,label:m(l)(`writingTaste.page.loading`)},null,8,[`label`])):J.value?(a(),s(`div`,S)):z.value?(a(),s(d,{key:4},[v(`header`,{class:f([`writing-taste-hero`,`status-${z.value.status}`])},[v(`div`,fe,[v(`span`,pe,[t[7]||=v(`i`,{"aria-hidden":`true`},null,-1),g(` `+p(m(l)(`writingTaste.status.${z.value.status}`)),1)]),v(`h2`,null,p(he.value),1),v(`p`,null,p(ge.value),1)]),v(`div`,me,[v(`strong`,null,p(z.value.readiness.rule_count),1),v(`span`,null,`/ `+p(z.value.readiness.thresholds.rule_count),1),v(`small`,null,p(m(l)(`writingTaste.criteria.rules`)),1)])],2),v(`section`,{class:`writing-taste-readiness`,"aria-label":m(l)(`writingTaste.page.readinessAria`)},[(a(!0),s(d,null,r(z.value.readiness.criteria,e=>(a(),s(`article`,{key:e.key,class:f({met:e.met})},[v(`span`,w,p(e.met?`✓`:`·`),1),v(`div`,null,[v(`strong`,null,p(m(l)(`writingTaste.criteria.${e.key}`)),1),v(`small`,null,p(be(e)),1)])],2))),128))],8,C),v(`section`,T,[v(`header`,null,[v(`h2`,null,p(m(l)(`writingTaste.page.rulesTitle`)),1),v(`span`,null,p(z.value.rules.length),1)]),z.value.rules.length?(a(),s(`div`,E,[(a(!0),s(d,null,r(z.value.rules,e=>(a(),s(`article`,{key:`${e.item_kind}:${e.item_id}`,class:f([`writing-taste-rule`,{"has-conflict":e.has_conflict,"is-hypothesis":e.evidence_status===`Working hypothesis`}])},[v(`div`,D,[v(`span`,{class:f(e.evidence_status.replaceAll(` `,`-`).toLowerCase())},p(m(l)(`writingTaste.evidenceStatus.${e.evidence_status}`)),3),v(`span`,null,p(ye(e)),1),e.has_conflict?(a(),s(`span`,O,p(m(l)(`writingTaste.page.conflict`)),1)):_(``,!0)]),v(`div`,k,[v(`h3`,null,p(e.title),1),v(`p`,null,p(e.instruction),1),e.reason||e.contexts.length?(a(),u(ne,{key:0,title:m(l)(`ui.details`)},{default:n(()=>[e.reason?(a(),s(`p`,A,p(e.reason),1)):_(``,!0),e.contexts.length?(a(),s(`p`,j,p(m(l)(`writingTaste.page.contexts`,{contexts:e.contexts.join(`、`)})),1)):_(``,!0)]),_:2},1032,[`title`])):_(``,!0)]),v(`footer`,null,[v(`div`,null,[v(`span`,null,p(m(l)(`writingTaste.page.evidence`,{evidence:e.evidence_count})),1),v(`span`,null,p(m(l)(`writingTaste.page.sessions`,{sessions:e.session_count})),1),e.updated_at?(a(),s(`span`,M,p(m(l)(`writingTaste.page.updated`,{time:m(oe)(e.updated_at)})),1)):_(``,!0)]),$(e)?(a(),s(`div`,N,[v(`button`,{class:`secondary-action`,type:`button`,onClick:t=>ve(e)},p(m(l)(`writingTaste.page.edit`)),9,P),e.evidence_status===`Confirmed`?_(``,!0):(a(),s(`button`,{key:0,class:`primary-action`,type:`button`,onClick:t=>_e(e)},p(m(l)(`writingTaste.page.confirm`)),9,F))])):_(``,!0)])],2))),128))])):(a(),s(`div`,I,p(m(l)(`writingTaste.page.rulesEmpty`)),1))]),z.value.ready&&z.value.agent_markdown?(a(),s(`section`,L,[v(`div`,null,[v(`h2`,null,p(m(l)(`writingTaste.page.agentPreviewTitle`)),1)]),v(`button`,{class:`secondary-action`,type:`button`,onClick:t[1]||=e=>G.value=!G.value},p(G.value?m(l)(`writingTaste.page.hideAgentPreview`):m(l)(`writingTaste.page.showAgentPreview`)),1),G.value?(a(),s(`pre`,R,p(z.value.agent_markdown),1)):_(``,!0)])):_(``,!0)],64)):(a(),s(`div`,ue,[v(`p`,{role:H.value?`alert`:void 0},p(m(l)(H.value?`common.errors.loadFailed`:`writingTaste.page.profileUnavailable`)),9,de),m(x).activePersonalSpace?(a(),s(`button`,{key:0,type:`button`,class:`secondary-action`,onClick:t[0]||=e=>Q()},p(m(l)(`common.actions.retry`)),1)):_(``,!0)])),c(ae,{item:W.value,"personal-space-id":m(x).activePersonalSpace?.id??``,"personal-project-id":null,projects:m(x).state?.personalProjects??[],"replacement-items":X.value,onClose:t[2]||=e=>W.value=null,onSaved:t[3]||=e=>Q()},null,8,[`item`,`personal-space-id`,`projects`,`replacement-items`]),c(ie,{item:U.value,"personal-space-id":m(x).activePersonalSpace?.id??``,"personal-project-id":null,onClose:t[4]||=e=>U.value=null,onSaved:t[5]||=e=>Q()},null,8,[`item`,`personal-space-id`])]))}}),[[`__scopeId`,`data-v-753ab4d9`]]);export{z as default};
1
+ import{B as e,E as t,H as n,I as r,M as i,P as a,Q as o,S as s,T as c,a as l,b as u,g as d,it as f,ot as p,rt as m,v as h,w as g,x as _,y as v}from"./i18n-x1XkVwhW.js";import{t as y}from"./console-C-3WEMad.js";import{r as ee,s as b}from"./client-B9ebMaql.js";import{t as x}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as te}from"./vue-router-DqHNZ3fU.js";import{t as ne}from"./UiDisclosure-DwG6hxCs.js";import{i as re,n as ie,t as ae}from"./KnowledgeEditDialog-D-znf44H.js";import{u as oe,x as se}from"./model-BTpIEeuF.js";import{t as ce}from"./personal-profile-graph-D1xokPXQ.js";var le={class:`view writing-taste-view`},S={key:2,class:`view-loading`,"aria-busy":`true`},ue={key:3,class:`writing-taste-unavailable`},de=[`role`],fe={class:`writing-taste-hero__copy`},pe={class:`writing-taste-status`},me={class:`writing-taste-hero__score`,"aria-hidden":`true`},C=[`aria-label`],w={"aria-hidden":`true`},T={class:`writing-taste-rules`},E={key:0,class:`writing-taste-rule-list`},D={class:`writing-taste-rule__status`},O={key:0,class:`conflict`},k={class:`writing-taste-rule__body`},A={key:0},j={key:1},M={key:0},N={key:0,class:`writing-taste-rule__actions`},P=[`onClick`],F=[`onClick`],I={key:1,class:`writing-taste-empty`},L={key:0,class:`writing-taste-agent-preview`},R={key:0},z=x(t({__name:`WritingTastePage`,setup(t){let x=y(),z=o(null),B=o(null),V=o(!1),H=o(!1),U=o(null),W=o(null),G=o(!1),K=0,q=null,J=h(()=>V.value&&!z.value),Y=re(J),X=h(()=>se(B.value)),Z=h(()=>new Map(X.value.map(e=>[`${e.itemKind}:${e.id}`,e]))),he=h(()=>z.value?.status===`active`?l(`writingTaste.page.activeTitle`):z.value?.status===`preview_ready`?l(`writingTaste.page.previewTitle`):l(`writingTaste.page.collectingTitle`)),ge=h(()=>z.value?.status===`active`?l(`writingTaste.page.activeCopy`):z.value?.status===`preview_ready`?l(`writingTaste.page.previewCopy`):l(`writingTaste.page.collectingCopy`));e(()=>x.activePersonalSpace?.id,e=>{z.value=null,B.value=null,U.value=null,W.value=null,G.value=!1,Q(e)},{immediate:!0,flush:`sync`});async function Q(e=x.activePersonalSpace?.id){let t=++K;if(q?.abort(),q=null,H.value=!1,!e){V.value=!1;return}let n=new AbortController;q=n,V.value=!0;try{let r=new URLSearchParams({personalSpaceId:e,limit:`500`}),[i,a]=await Promise.all([ee(`/api/writing-taste-profile?${r}`,{signal:n.signal}),ce(e,n.signal)]);if(t!==K)return;z.value=Se(i)?i:null,B.value=Ce(a)?a:null,xe()}catch{if(t!==K)return;z.value=null,B.value=null,H.value=!0}finally{t===K&&(V.value=!1,q=null)}}i(()=>{K+=1,q?.abort()});function $(e){return Z.value.get(`${e.item_kind}:${e.item_id}`)??null}function _e(e){U.value=$(e)}function ve(e){W.value=$(e)}function ye(e){if(e.preference_scope!==`project`||!e.preference_project_id)return l(`writingTaste.page.globalScope`);let t=x.state?.personalProjects?.find(({project_id:t})=>t===e.preference_project_id);return l(`writingTaste.page.projectScope`,{project:t?.profile.name??e.preference_project_id})}function be(e){return e.key===`conflicts`?l(`writingTaste.criteria.conflictsProgress`,{current:e.current}):l(`writingTaste.criteria.progress`,{current:e.current,target:e.target})}function xe(){U.value&&=Z.value.get(`${U.value.itemKind}:${U.value.id}`)??null,W.value&&=Z.value.get(`${W.value.itemKind}:${W.value.id}`)??null}function Se(e){if(!e||typeof e!=`object`)return!1;let t=e;return[`collecting`,`preview_ready`,`active`].includes(t.status??``)&&!!t.readiness&&Array.isArray(t.rules)}function Ce(e){if(!e||typeof e!=`object`)return!1;let t=e;return Array.isArray(t.nodes)&&Array.isArray(t.edges)}return(e,t)=>(a(),s(`section`,le,[c(m(te),{class:`writing-taste-back`,to:`/preferences`},{default:n(()=>[t[6]||=v(`span`,{"aria-hidden":`true`},`←`,-1),g(` `+p(m(l)(`writingTaste.page.back`)),1)]),_:1}),V.value&&z.value&&!m(Y)?(a(),u(b,{key:0,variant:`inline`,label:m(l)(`writingTaste.page.loading`)},null,8,[`label`])):_(``,!0),m(Y)?(a(),u(b,{key:1,label:m(l)(`writingTaste.page.loading`)},null,8,[`label`])):J.value?(a(),s(`div`,S)):z.value?(a(),s(d,{key:4},[v(`header`,{class:f([`writing-taste-hero`,`status-${z.value.status}`])},[v(`div`,fe,[v(`span`,pe,[t[7]||=v(`i`,{"aria-hidden":`true`},null,-1),g(` `+p(m(l)(`writingTaste.status.${z.value.status}`)),1)]),v(`h2`,null,p(he.value),1),v(`p`,null,p(ge.value),1)]),v(`div`,me,[v(`strong`,null,p(z.value.readiness.rule_count),1),v(`span`,null,`/ `+p(z.value.readiness.thresholds.rule_count),1),v(`small`,null,p(m(l)(`writingTaste.criteria.rules`)),1)])],2),v(`section`,{class:`writing-taste-readiness`,"aria-label":m(l)(`writingTaste.page.readinessAria`)},[(a(!0),s(d,null,r(z.value.readiness.criteria,e=>(a(),s(`article`,{key:e.key,class:f({met:e.met})},[v(`span`,w,p(e.met?`✓`:`·`),1),v(`div`,null,[v(`strong`,null,p(m(l)(`writingTaste.criteria.${e.key}`)),1),v(`small`,null,p(be(e)),1)])],2))),128))],8,C),v(`section`,T,[v(`header`,null,[v(`h2`,null,p(m(l)(`writingTaste.page.rulesTitle`)),1),v(`span`,null,p(z.value.rules.length),1)]),z.value.rules.length?(a(),s(`div`,E,[(a(!0),s(d,null,r(z.value.rules,e=>(a(),s(`article`,{key:`${e.item_kind}:${e.item_id}`,class:f([`writing-taste-rule`,{"has-conflict":e.has_conflict,"is-hypothesis":e.evidence_status===`Working hypothesis`}])},[v(`div`,D,[v(`span`,{class:f(e.evidence_status.replaceAll(` `,`-`).toLowerCase())},p(m(l)(`writingTaste.evidenceStatus.${e.evidence_status}`)),3),v(`span`,null,p(ye(e)),1),e.has_conflict?(a(),s(`span`,O,p(m(l)(`writingTaste.page.conflict`)),1)):_(``,!0)]),v(`div`,k,[v(`h3`,null,p(e.title),1),v(`p`,null,p(e.instruction),1),e.reason||e.contexts.length?(a(),u(ne,{key:0,title:m(l)(`ui.details`)},{default:n(()=>[e.reason?(a(),s(`p`,A,p(e.reason),1)):_(``,!0),e.contexts.length?(a(),s(`p`,j,p(m(l)(`writingTaste.page.contexts`,{contexts:e.contexts.join(`、`)})),1)):_(``,!0)]),_:2},1032,[`title`])):_(``,!0)]),v(`footer`,null,[v(`div`,null,[v(`span`,null,p(m(l)(`writingTaste.page.evidence`,{evidence:e.evidence_count})),1),v(`span`,null,p(m(l)(`writingTaste.page.sessions`,{sessions:e.session_count})),1),e.updated_at?(a(),s(`span`,M,p(m(l)(`writingTaste.page.updated`,{time:m(oe)(e.updated_at)})),1)):_(``,!0)]),$(e)?(a(),s(`div`,N,[v(`button`,{class:`secondary-action`,type:`button`,onClick:t=>ve(e)},p(m(l)(`writingTaste.page.edit`)),9,P),e.evidence_status===`Confirmed`?_(``,!0):(a(),s(`button`,{key:0,class:`primary-action`,type:`button`,onClick:t=>_e(e)},p(m(l)(`writingTaste.page.confirm`)),9,F))])):_(``,!0)])],2))),128))])):(a(),s(`div`,I,p(m(l)(`writingTaste.page.rulesEmpty`)),1))]),z.value.ready&&z.value.agent_markdown?(a(),s(`section`,L,[v(`div`,null,[v(`h2`,null,p(m(l)(`writingTaste.page.agentPreviewTitle`)),1)]),v(`button`,{class:`secondary-action`,type:`button`,onClick:t[1]||=e=>G.value=!G.value},p(G.value?m(l)(`writingTaste.page.hideAgentPreview`):m(l)(`writingTaste.page.showAgentPreview`)),1),G.value?(a(),s(`pre`,R,p(z.value.agent_markdown),1)):_(``,!0)])):_(``,!0)],64)):(a(),s(`div`,ue,[v(`p`,{role:H.value?`alert`:void 0},p(m(l)(H.value?`common.errors.loadFailed`:`writingTaste.page.profileUnavailable`)),9,de),m(x).activePersonalSpace?(a(),s(`button`,{key:0,type:`button`,class:`secondary-action`,onClick:t[0]||=e=>Q()},p(m(l)(`common.actions.retry`)),1)):_(``,!0)])),c(ae,{item:W.value,"personal-space-id":m(x).activePersonalSpace?.id??``,"personal-project-id":null,projects:m(x).state?.personalProjects??[],"replacement-items":X.value,onClose:t[2]||=e=>W.value=null,onSaved:t[3]||=e=>Q()},null,8,[`item`,`personal-space-id`,`projects`,`replacement-items`]),c(ie,{item:U.value,"personal-space-id":m(x).activePersonalSpace?.id??``,"personal-project-id":null,onClose:t[4]||=e=>U.value=null,onSaved:t[5]||=e=>Q()},null,8,[`item`,`personal-space-id`])]))}}),[[`__scopeId`,`data-v-753ab4d9`]]);export{z as default};
@@ -1 +1 @@
1
- import{B as e,Q as t,a as n,k as r,r as i}from"./i18n-oJFlt8hW.js";import{o as a,r as o}from"./client-DnwnUBQV.js";import{t as s}from"./useAgentRoster-B84mzZIg.js";var c=Symbol(`agent-pins`),l=Symbol(`agent-roster`),u=new Map,d={loading:`Reading pinned Agents…`,saving:`Saving Agent pin…`,loadError:`Pinned Agents are temporarily unavailable.`,saveError:`The Agent pin could not be saved.`,conflictError:`The pin list changed. Try again.`};function f(e,t){let r=`agentPins.${e}`;return i.global.te(r)?n(r):t}function p(e){return f(e,d[e])}function m(e){if(!e||typeof e!=`object`||!(`status`in e))return null;let t=e.status;return typeof t==`number`?t:null}function h(e){let t=e&&typeof e==`object`?e:{},n=Array.isArray(t.agentIds)?[...new Set(t.agentIds.filter(e=>typeof e==`string`&&e.length>0))]:[];return{revision:typeof t.revision==`number`?t.revision:0,agentIds:n}}function g(e){let t=u.get(e);if(t)return t;let n=o(`/api/agent-pins?${new URLSearchParams({personalSpaceId:e})}`).then(e=>h(e)).finally(()=>{u.get(e)===n&&u.delete(e)});return u.set(e,n),n}function _(n){let r=t([]),i=t(null),o=t(!1),s=t(null),c=t(``),l=new Map,u=0;function d(){r.value=[],i.value=null,o.value=!1,s.value=null,c.value=``}function f(e){i.value=e.revision,r.value=[...e.agentIds]}async function _(e={}){let t=n.value,r=++u;if(c.value=``,!t){d();return}let i=e.force?void 0:l.get(t);if(i){f(i),o.value=!1;return}o.value=!0;try{let e=await g(t);if(l.set(t,e),r!==u||n.value!==t)return;f(e)}catch{r===u&&n.value===t&&(c.value=p(`loadError`))}finally{r===u&&n.value===t&&(o.value=!1)}}async function v(e,t){let r=n.value;if(!r||(i.value===null&&await _(),n.value!==r||i.value===null))return!1;let o=i.value;s.value=e,c.value=``;try{let i=h(await a(`/api/agent-pins`,{personalSpaceId:r,agentId:e,pinned:t,expectedRevision:o}));return l.set(r,i),n.value===r&&f(i),!0}catch(e){return n.value===r&&(m(e)===409?(await _({force:!0}),n.value===r&&!c.value&&(c.value=p(`conflictError`))):c.value=p(`saveError`)),!1}finally{n.value===r&&(s.value=null)}}return e(n,()=>{u+=1,d(),n.value&&_()},{immediate:!0}),{agentIds:r,revision:i,loading:o,savingAgentId:s,error:c,load:_,setPinned:v}}function v(e){return r(c,null)??_(e)}function y(e){return r(l,null)??s(e)}export{v as a,_ as i,l as n,y as o,f as r,c as t};
1
+ import{B as e,Q as t,a as n,k as r,r as i}from"./i18n-x1XkVwhW.js";import{o as a,r as o}from"./client-B9ebMaql.js";import{t as s}from"./useAgentRoster-BCx1Vft9.js";var c=Symbol(`agent-pins`),l=Symbol(`agent-roster`),u=new Map,d={loading:`Reading pinned Agents…`,saving:`Saving Agent pin…`,loadError:`Pinned Agents are temporarily unavailable.`,saveError:`The Agent pin could not be saved.`,conflictError:`The pin list changed. Try again.`};function f(e,t){let r=`agentPins.${e}`;return i.global.te(r)?n(r):t}function p(e){return f(e,d[e])}function m(e){if(!e||typeof e!=`object`||!(`status`in e))return null;let t=e.status;return typeof t==`number`?t:null}function h(e){let t=e&&typeof e==`object`?e:{},n=Array.isArray(t.agentIds)?[...new Set(t.agentIds.filter(e=>typeof e==`string`&&e.length>0))]:[];return{revision:typeof t.revision==`number`?t.revision:0,agentIds:n}}function g(e){let t=u.get(e);if(t)return t;let n=o(`/api/agent-pins?${new URLSearchParams({personalSpaceId:e})}`).then(e=>h(e)).finally(()=>{u.get(e)===n&&u.delete(e)});return u.set(e,n),n}function _(n){let r=t([]),i=t(null),o=t(!1),s=t(null),c=t(``),l=new Map,u=0;function d(){r.value=[],i.value=null,o.value=!1,s.value=null,c.value=``}function f(e){i.value=e.revision,r.value=[...e.agentIds]}async function _(e={}){let t=n.value,r=++u;if(c.value=``,!t){d();return}let i=e.force?void 0:l.get(t);if(i){f(i),o.value=!1;return}o.value=!0;try{let e=await g(t);if(l.set(t,e),r!==u||n.value!==t)return;f(e)}catch{r===u&&n.value===t&&(c.value=p(`loadError`))}finally{r===u&&n.value===t&&(o.value=!1)}}async function v(e,t){let r=n.value;if(!r||(i.value===null&&await _(),n.value!==r||i.value===null))return!1;let o=i.value;s.value=e,c.value=``;try{let i=h(await a(`/api/agent-pins`,{personalSpaceId:r,agentId:e,pinned:t,expectedRevision:o}));return l.set(r,i),n.value===r&&f(i),!0}catch(e){return n.value===r&&(m(e)===409?(await _({force:!0}),n.value===r&&!c.value&&(c.value=p(`conflictError`))):c.value=p(`saveError`)),!1}finally{n.value===r&&(s.value=null)}}return e(n,()=>{u+=1,d(),n.value&&_()},{immediate:!0}),{agentIds:r,revision:i,loading:o,savingAgentId:s,error:c,load:_,setPinned:v}}function v(e){return r(c,null)??_(e)}function y(e){return r(l,null)??s(e)}export{v as a,_ as i,l as n,y as o,f as r,c as t};
@@ -0,0 +1 @@
1
+ .agents-directory,.agent-profile-page{min-width:0;color:var(--color-ink,#1d2129)}.agents-directory{width:100%;max-width:var(--page-max);margin-inline:auto}.agents-directory-heading{margin-bottom:var(--space-6,24px)}.agents-directory-count{color:var(--color-muted,#667085);margin:0;font-size:14px}.agent-directory-work-error{justify-content:space-between;align-items:center;gap:var(--space-3,12px);margin:calc(var(--space-6,24px) * -1) 0 var(--space-4,16px);color:var(--color-danger,#b93838);font-size:13px;display:flex}.agent-profile-actions{justify-content:flex-end;align-items:center;gap:var(--space-2,8px);flex-wrap:wrap;flex-shrink:0;display:flex}.agents-directory-filters{margin-bottom:var(--space-6,24px);align-items:stretch}.agents-directory-search{flex:280px;min-width:160px}.agents-directory-search input{box-sizing:border-box;width:100%}.agents-directory-select{flex:0 0 180px}.agents-directory-grid{gap:var(--space-4,16px);grid-template-columns:minmax(0,1fr);margin:0;padding:0;list-style:none;display:grid}.agents-directory-grid>li{min-width:0}.agent-card{box-sizing:border-box;height:100%;transition:border-color var(--motion-fast), box-shadow var(--motion-fast);flex-direction:column;gap:10px;padding:18px;display:flex}.agent-card:hover{border-color:var(--color-border-strong);box-shadow:0 6px 20px #1b1f1d0f}.agent-card-topline,.agent-card-meta,.agent-section-heading,.agent-resume-name-row{justify-content:space-between;align-items:center;gap:12px;display:flex}.agent-card-topline{justify-content:flex-start}.agent-portrait{background:var(--color-accent-soft);width:72px;height:72px;color:var(--color-accent);border-radius:20px;flex:0 0 72px;place-items:center;font-size:34px;line-height:1;display:grid}.agent-portrait img{object-fit:cover;border-radius:inherit;width:100%;height:100%}.agent-portrait.small{border-radius:11px;flex-basis:40px;width:40px;height:40px;font-size:19px}.agent-directory-name{flex:1;align-items:center;gap:8px;min-width:0;font-size:16px;font-weight:650;display:flex}.agent-directory-name a{min-width:0;color:var(--color-ink);text-overflow:ellipsis;white-space:nowrap;text-decoration:none;overflow:hidden}.agent-directory-name a:hover{color:var(--color-accent)}.agent-card-role{font-size:11px;font-weight:600}.agent-card-responsibility{color:var(--color-muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:2px 0 0;font-size:13px;line-height:1.55;display:-webkit-box;overflow:hidden}.agent-inline-skills,.agent-card-project-list{flex-wrap:wrap;gap:6px;display:flex}.agent-inline-skills>span{overflow-wrap:anywhere;max-width:100%;color:var(--color-muted);font-size:12px;line-height:1.4}.agent-inline-skills>span+span:before{content:"·";color:var(--color-faint);margin-right:6px}.agent-card-meta{border-top:1px solid var(--color-border);margin-top:auto;padding-top:12px}.agent-card-projects{min-width:0}.agent-card-project-list .ui-badge{text-overflow:ellipsis;white-space:nowrap;max-width:130px;overflow:hidden}.agent-card-project-count{color:var(--color-accent);background:var(--color-accent-soft)}.agent-card-no-project{color:var(--color-faint);font-size:12px}.agent-card-status{margin-left:auto}.agent-card-status.is-active,.agent-profile-membership.is-active{color:var(--color-success);background:var(--color-success-soft)}.agent-card-status.is-inactive,.agent-profile-membership.is-inactive{color:var(--color-warning);background:var(--color-warning-soft)}.agent-card-status.is-archived,.agent-profile-membership.is-archived{color:var(--color-muted);background:var(--color-surface-subtle)}.agent-card-work-status{max-width:140px;color:var(--color-muted);text-overflow:ellipsis;white-space:nowrap;flex:none;align-items:center;gap:6px;margin-left:auto;font-size:12px;display:inline-flex;overflow:hidden}.agent-card-work-status:before{content:"";background:var(--color-faint);border-radius:50%;flex:none;width:6px;height:6px}.agent-card-work-status.is-running{color:var(--color-accent)}.agent-card-work-status.is-running:before{background:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-soft)}.agent-card-work-status:is(.is-awaiting_review,.is-queued,.is-paused,.is-awaiting_recruitment){color:var(--color-warning)}.agent-card-work-status:is(.is-awaiting_review,.is-queued,.is-paused,.is-awaiting_recruitment):before{background:var(--color-warning)}.agent-card-work-status:is(.is-blocked,.is-unavailable){color:var(--color-danger)}.agent-card-work-status:is(.is-blocked,.is-unavailable):before{background:var(--color-danger)}.agent-directory-open{color:var(--color-muted);white-space:nowrap;flex:none;font-size:12px;font-weight:550;text-decoration:none}.agent-directory-open:hover{color:var(--color-accent)}.agent-profile-empty{box-sizing:border-box;min-height:140px}.agents-directory .sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.agent-profile-page{width:100%;max-width:min(var(--page-max), 1440px);box-sizing:border-box;margin:0 auto}.agent-profile-back{align-items:center;gap:var(--space-2,8px);margin-bottom:var(--space-5,20px);color:var(--color-muted,#667085);font-size:14px;text-decoration:none;display:inline-flex}.agent-profile-back:hover,.agent-profile-footer a,.agent-section-heading>a{color:var(--color-accent,#2563eb)}.agent-resume-header{align-items:start;gap:var(--space-5,20px);padding:var(--space-6,24px);grid-template-columns:auto minmax(0,1fr) auto;display:grid}.agent-resume-intro{min-width:0}.agent-resume-intro h1{overflow-wrap:anywhere;letter-spacing:-.025em;min-width:0;margin:0;font-size:clamp(26px,3vw,36px);line-height:1.15}.agent-resume-name-row{flex-wrap:wrap;justify-content:flex-start;align-items:baseline}.agent-profile-membership{flex:none}.agent-resume-intro>p{max-width:650px;margin:var(--space-3,12px) 0;overflow-wrap:anywhere;color:var(--color-muted,#667085);line-height:1.65}.agent-resume-meta{gap:var(--space-3,12px);color:var(--color-muted,#667085);flex-wrap:wrap;font-size:12px;display:flex}.agent-profile-refresh-status,.agent-profile-partial{margin:var(--space-4,16px) 0 0;color:var(--color-muted,#667085);font-size:13px}.agent-profile-tabs{gap:var(--space-5,20px);margin-top:var(--space-6,24px);border-bottom:1px solid var(--color-border,#e2e5ea);display:flex;overflow-x:auto}.agent-profile-tab{min-height:44px;color:var(--color-muted,#667085);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;flex:none;padding:8px 2px;font-size:13px;position:relative}.agent-profile-tab:hover,.agent-profile-tab[aria-selected=true]{color:var(--color-accent,#2563eb)}.agent-profile-tab[aria-selected=true]{border-bottom-color:var(--color-accent,#2563eb);font-weight:650}.agent-profile-panel{min-width:0;margin-top:var(--space-4,16px)}.agent-profile-panel>.ui-card+.ui-card{margin-top:var(--space-4,16px)}.agent-profile-primary-grid{gap:var(--space-4,16px);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.agent-resume-section{box-sizing:border-box;min-width:0;padding:var(--space-6,24px)}.agent-resume-section h2{letter-spacing:-.01em;margin:0;font-size:18px}.agent-resume-section>h2{margin-bottom:var(--space-4,16px)}.agent-resume-section h3{margin:0 0 var(--space-2,8px);font-size:14px}.agent-resume-section p{margin:var(--space-2,8px) 0;overflow-wrap:anywhere;white-space:pre-line;line-height:1.7}.agent-section-heading{margin-bottom:var(--space-4,16px)}.agent-section-heading>span{color:var(--color-muted,#667085);font-size:12px}.agent-resume-list{margin:0;padding:0;list-style:none}.agent-resume-list li{padding:var(--space-3,12px) 0}.agent-resume-list li+li{border-top:1px solid var(--color-border,#e2e5ea)}.agent-project-link{color:var(--color-accent,#2563eb);text-decoration:none}.agent-project-link:hover{text-decoration:underline}.agent-project-overflow{margin-top:var(--space-3,12px)}.agent-project-overflow summary{color:var(--color-accent,#2563eb);cursor:pointer;font-size:13px}.agent-current-work-list{gap:var(--space-2,8px);margin:0;padding:0;list-style:none;display:grid}.agent-current-work-list>li{justify-content:space-between;align-items:center;gap:var(--space-3,12px);min-width:0;padding:var(--space-3,12px);border:1px solid var(--color-border,#e2e5ea);border-radius:var(--radius-control,10px);grid-template-columns:minmax(0,1fr) auto;display:grid}.agent-current-work-list .ui-badge,.agent-work-timeline .agent-section-heading>span{white-space:nowrap;flex:none}.agent-current-work-list a{overflow-wrap:anywhere;min-width:0;color:var(--color-accent,#2563eb);font-weight:600;text-decoration:none}.agent-muted,.agent-org-lead-unavailable,.agent-work-timeline small,.agent-collaborators span{color:var(--color-muted,#667085)}.agent-character{gap:var(--space-5,20px);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.agent-character p{font-size:14px}.agent-strengths{margin-top:var(--space-5,20px)}.agent-strengths h3{margin-bottom:var(--space-3,12px)}.agent-expectation{padding:var(--space-4,16px);border-radius:var(--radius-control,10px);color:var(--color-ink,#1d2129);background:var(--color-accent-soft,#edf3ff)}.agent-expectation strong{margin-bottom:var(--space-2,8px);font-size:13px;display:block}.agent-organization{padding:var(--space-4,16px) 0}.agent-org-lead,.agent-org-members{gap:var(--space-4,16px);padding:var(--space-2,8px) 0;display:flex}.agent-org-lead>span,.agent-org-members>span{min-width:70px;color:var(--color-muted,#667085);font-size:12px}.agent-org-members{margin-left:var(--space-3,12px);padding-left:var(--space-4,16px);border-left:2px solid var(--color-border,#e2e5ea)}.agent-org-members ul{gap:var(--space-3,12px);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.agent-work-timeline{margin:var(--space-5,20px) 0 0 var(--space-2,8px);padding:0 0 0 var(--space-6,24px);border-left:1px solid var(--color-border-strong,#c5cbd5);list-style:none}.agent-work-timeline>li{margin:0 0 var(--space-6,24px);position:relative}.agent-work-timeline>li:before{background:var(--color-accent,#2563eb);content:"";border-radius:50%;width:8px;height:8px;position:absolute;top:5px;left:-29px}.agent-work-timeline .agent-section-heading{margin-bottom:var(--space-2,8px)}.agent-work-timeline a{color:var(--color-accent,#2563eb);font-weight:600;text-decoration:none}.agent-work-timeline p{font-size:14px}.agent-work-timeline small{font-size:12px}.agent-collaborators{gap:var(--space-5,20px) var(--space-8,32px);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.agent-collaborators li{gap:var(--space-2,8px);flex-direction:column;min-width:120px;display:flex}.agent-profile-management-links{gap:var(--space-2,8px);margin-top:var(--space-5,20px);flex-wrap:wrap;display:flex}.agent-profile-footer{gap:var(--space-5,20px);margin-top:var(--space-5,20px);padding:var(--space-5,20px) 0;border-top:1px solid var(--color-border,#e2e5ea);flex-wrap:wrap;font-size:13px;display:flex}.agent-simple-settings{box-sizing:border-box;margin-top:var(--space-4,16px);padding:var(--space-6,24px);border:1px solid var(--color-border,#e2e5ea);border-radius:var(--radius-card,16px);background:var(--color-surface,#fff)}.agent-simple-settings h3{margin:0 0 var(--space-5,20px)}.agent-simple-settings label,.agent-simple-settings .agent-platform-field{gap:var(--space-2,8px);margin-bottom:var(--space-5,20px);color:var(--color-ink,#1d2129);flex-direction:column;font-size:14px;display:flex}.agent-simple-settings small{color:var(--color-muted,#667085);font-size:12px}.agent-simple-settings details{margin:var(--space-5,20px) 0}.agent-simple-settings summary{margin-bottom:var(--space-4,16px);color:var(--color-ink,#1d2129);cursor:pointer;font-size:13px}.agent-simple-settings textarea{min-height:70px}.agent-simple-settings button:disabled{cursor:wait}.agent-locked-platforms p{color:var(--color-ink,#1d2129)}@media (width>=640px){.agents-directory-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width>=900px){.agents-directory-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=760px){.agents-directory-heading{align-items:flex-start}.agents-directory-heading .agent-profile-actions{gap:var(--space-2,8px)}.agents-directory-filters{align-items:stretch}.agents-directory-search{flex-basis:100%}.agents-directory-filters>select{flex:1;min-width:0}.agent-resume-header{grid-template-columns:auto minmax(0,1fr)}.agent-resume-header .agent-profile-actions{grid-column:1/-1;justify-content:flex-start}.agent-profile-primary-grid,.agent-character{grid-template-columns:1fr}.agent-profile-tabs{gap:var(--space-4,16px)}}@media (width<=480px){.agent-resume-header,.agent-resume-section,.agent-simple-settings{padding:var(--space-4,16px)}.agent-resume-header{grid-template-columns:1fr}.agent-resume-header .agent-profile-actions{grid-column:auto}.agent-portrait{border-radius:16px;flex-basis:56px;width:56px;height:56px;font-size:28px}.agent-current-work-list>li{grid-template-columns:1fr;align-items:flex-start}}
@@ -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-oJFlt8hW.js";import{r as n}from"./console-Cw7TzOSC.js";import{a as r,r as i}from"./client-DnwnUBQV.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};
@@ -0,0 +1 @@
1
+ var e={jefa:`/assets/jefa-avatar-Dew42td5.webp`,bole:`/assets/bole-avatar-CVIr-bU_.webp`,tonborg:`/assets/tonborg-avatar-DyxAdTD6.webp`};function t(t){return e[t.replace(/^employee\./,``)]}export{t};
@@ -1 +1 @@
1
- import{Q as e,a as t}from"./i18n-oJFlt8hW.js";import{r as n}from"./client-DnwnUBQV.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-oJFlt8hW.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-oJFlt8hW.js";import{i as _,r as v}from"./client-DnwnUBQV.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(!1),r=a(null),i=g(()=>{let t=e.value;return t?t.personalSpaces.find(({id:e})=>e===t.activePersonalSpaceId)??t.personalSpaces[0]??null:null}),o=g(()=>e.value?.mode===`connected`?`ready`:e.value?.mode===`degraded`?`error`:`disconnected`);async function s(){t.value=`loading`;try{e.value=await v(`/api/state`),t.value=`ready`}catch(e){t.value=`error`,m(e)}}async function c(t){try{let n=await _(`/api/capture-policy`,{enabled:t});e.value&&={...e.value,capturePolicy:n},p(l(t?`console.captureNotices.enabled`:`console.captureNotices.disabled`))}catch(e){m(e)}}async function d(t){try{let n=await _(`/api/agent-access-policy`,{enabled:t});e.value&&={...e.value,agentAccessPolicy:n},p(l(t?`console.agentAccess.enabledNotice`:`console.agentAccess.disabledNotice`))}catch(e){m(e)}}function f(t){return e.value?.capabilities?.[t]===!0}function p(e){r.value={message:e,tone:`success`}}function m(e){r.value={message:e instanceof Error?e.message:l(`common.errors.operationFailed`),tone:`error`}}function h(){r.value=null}return{state:e,runtimeStatus:t,settingsSaving:n,feedback:r,activePersonalSpace:i,publicRuntimeStatus:o,refresh:s,updateCapturePolicy:c,updateAgentAccessPolicy:d,hasCapability:f,notify:p,reportError:m,clearFeedback:h}});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-oJFlt8hW.js";import{r}from"./client-DnwnUBQV.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};