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

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.
@@ -1,5 +1,5 @@
1
1
  const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/SharedJefaReportPage-B55966fF.js","assets/i18n-DUTWmrzf.js","assets/client-mT6kHxUd.js","assets/_plugin-vue_export-helper-BDNMzG2s.js","assets/client-CIuQ1icy.css","assets/useApi-CROJJdhE-sOV3uq1T.js","assets/shared-report-n864kqhr.js","assets/ProjectScopePicker-Bc7A6Rdj.js","assets/ProjectScopePicker-DYA7L1Ex.css","assets/shared-report-CGlCpmNd.css","assets/SharedJefaReportPage-D92FSPru.css","assets/RoundtablesPage-IXKQq62P.js","assets/vue-router-CBdnor1K.js","assets/RoundtablesPage-Drou-B81.css","assets/OverviewPage-C2jrJWDc.js","assets/console-CDOkjZU8.js","assets/attention-store-AfhjzTC5.js","assets/profile-model-BQO4zNs9.js","assets/useAgentRoster-BF8eZGbq.js","assets/task-evidence-i9SDhd3E.js","assets/paths-CDREouhi.js","assets/agent-work-summary-DRJy9v48.js","assets/OverviewPage-8LBN8Shi.css","assets/PersonalProfilePage-DkOcops6.js","assets/UiButton-DYcQLYXP.js","assets/UiDialog-D70VuNpZ.js","assets/UiSelect-Alpe2iY3.js","assets/UiSelect-Bv6R0yr1.css","assets/UiSegmented-DpXRULl-.js","assets/KnowledgeInspector-u0HypEW7.js","assets/UiDisclosure-CaeBp1mn.js","assets/model-DiN6uWZA.js","assets/conversation-launcher-settings-CJfHOqqX.js","assets/KnowledgeInspector-pgDELOEf.css","assets/KnowledgeEditDialog-BnFbCSK7.js","assets/identity-CAQk8V-Q.js","assets/KnowledgeEditDialog-hT9znkoe.css","assets/personal-profile-graph-C6IZoTJK.js","assets/PersonalProfilePage-B0_zIINs.css","assets/WritingTastePage-BwNCyys9.js","assets/WritingTastePage-B_zYD1df.css","assets/PersonalProjectsPage-uJXnueKw.js","assets/KnowledgeWorkspace-_wWZQw_h.js","assets/AgentName-E3TrVNIR.js","assets/AgentName-BQTFCWn0.css","assets/project-team-api-B3dwwoUU.js","assets/KnowledgeWorkspace-D4a7FcAb.css","assets/KnowledgeOrganizerPage-B3GoSV-E.js","assets/KnowledgeOrganizerPage-ccgscrPd.css","assets/AgentsDirectoryPage-itsP9chX.js","assets/AgentHand-Bex3jrOr.js","assets/AgentHand-Y83Oo36U.css","assets/avatars-z6ANYG_r.js","assets/agent-pins-DbcPCnxU.js","assets/catalog-ykylXINx.js","assets/ProjectAgentFirstTask-Cwto-bOU.js","assets/ProjectAgentFirstTask-Bi1ZsTC1.css","assets/EmployeeRecruitDialog-DcYqq75q.js","assets/EmployeeRecruitDialog-CVbqCzHb.css","assets/AgentsDirectoryPage-kc3EgeGO.css","assets/agent-profile-DTn-2VAG.css","assets/AgentProfilePage-pHzDx457.js","assets/TaskExecutionPlan-ZoOE8Ltc.js","assets/TaskExecutionPlan-BuEIInIV.css","assets/ProjectAgentsPage-DDuhJnAH.js","assets/ProjectAgentsPage-VYiEOpFJ.css","assets/EmployeeWorkbenchPage-BDN6whBV.js","assets/judgment-types-aERVgHxJ.js","assets/EmployeeWorkbenchPage-BQes4L1f.css","assets/PublicProjectsPage-KvmU4tDo.js","assets/PublicProjectsPage-DKamXDV9.css","assets/KnowledgePage-DrRnvfrO.js","assets/ReviewPage-BfKG8Hgw.js","assets/ConnectionsPage-D0L5VcbN.js","assets/ConnectionsPage-CM9C-zEI.css","assets/SettingsPage-Clhe1bei.js","assets/SettingsPage-6FZ7_3-X.css","assets/AboutPage-DC3Eu95G.js","assets/fuli-logo-Bu9WBuQe.js","assets/AboutPage-c4dQpUiP.css","assets/NotFoundPage-BcPx7tfG.js"])))=>i.map(i=>d[i]);
2
- import{B as e,E as t,F as n,H as r,I as i,M as a,N as o,P as s,Q as c,R as l,S as u,T as d,V as f,_ as p,a as m,b as h,c as g,et as _,g as v,h as y,i as b,it as x,j as S,m as C,n as w,ot as T,r as E,rt as D,t as O,v as k,w as A,x as j,y as M}from"./i18n-DUTWmrzf.js";import{n as N,t as ee}from"./console-CDOkjZU8.js";import{r as P,s as F}from"./client-mT6kHxUd.js";import{t as I}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as L}from"./UiButton-DYcQLYXP.js";import{m as R}from"./useApi-CROJJdhE-sOV3uq1T.js";import{i as z,n as te,r as ne,t as B}from"./vue-router-CBdnor1K.js";import{t as V}from"./fuli-logo-Bu9WBuQe.js";import{t as H}from"./UiDialog-D70VuNpZ.js";import{t as re}from"./UiSelect-Alpe2iY3.js";import{n as ie,t as ae}from"./attention-store-AfhjzTC5.js";import{t as U}from"./AgentHand-Bex3jrOr.js";import{t as W}from"./UiDisclosure-CaeBp1mn.js";import{t as G}from"./avatars-z6ANYG_r.js";import{n as oe,t as K}from"./profile-model-BQO4zNs9.js";import{t as se}from"./useAgentRoster-BF8eZGbq.js";import{i as ce,n as le,r as q,t as ue}from"./agent-pins-DbcPCnxU.js";import{n as de,t as fe}from"./paths-CDREouhi.js";(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var J={name:`fuli-context`,version:`0.20.0-beta.1`,description:`Local-first collaboration relationship graph for AI agents.`,type:`module`,files:[`README.zh-CN.md`,`npm-shrinkwrap.json`,`src/`,`dist/web/`,`docs/external-knowledge-architecture.md`,`docs/public-personal-architecture.md`,`docs/project-agent-memory.md`,`docs/agent-conversations-and-collaboration.md`,`docs/employee-agents.md`,`docs/agent-interface-architecture.md`,`docs/agent-roundtable.md`,`examples/external-knowledge/markdown-folder.mjs`,`graph-provider/Dockerfile`,`graph-provider/pyproject.toml`,`graph-provider/fuli_graph/*.py`,`graph-provider/fuli_graph/**/*.py`,`skills/`,`compose.graphiti.yml`,`docs/judgment-and-autonomy.md`,`docs/client-connections.md`],bin:{fl:`src/cli.js`,fuli:`src/cli.js`},keywords:[`ai-agent`,`mcp`,`context`,`knowledge-graph`,`local-first`,`codex`,`claude-code`],scripts:{mcp:`node src/mcp-server.js`,dev:`run-p dev:server dev:web`,"dev:server":`node src/server.js`,"dev:web":`vite`,build:`run-s typecheck:web build:web`,"build:web":`vite build`,"build:site":`node scripts/build-site.js`,"typecheck:web":`vue-tsc --noEmit -p tsconfig.app.json`,"test:node":`node --test`,"test:web":`vitest run --config vitest.config.ts`,"test:package":`node scripts/package-smoke.js`,"test:knowledge:live":`node acceptance/knowledge-live.js`,"test:external-knowledge:live":`node scripts/validate-external-knowledge-live.js`,start:`node src/server.js`,"graph:setup":`node src/graphiti/setup.js`,"graph:up":`docker compose -f compose.graphiti.yml up -d --build`,"graph:down":`docker compose -f compose.graphiti.yml down`,"test:structure":`node --test test/source-structure.test.js`,pretest:`npm run build:web`,test:`run-s typecheck:web test:node test:web`,prepack:`npm run build`,prepublishOnly:`npm test`},engines:{node:`>=24.12`},repository:{type:`git`,url:`git+https://github.com/JevonsCode/fuli.git`},homepage:`https://jevonscode.github.io/fuli/`,bugs:{url:`https://github.com/JevonsCode/fuli/issues`},publishConfig:{access:`public`},license:`Apache-2.0`,dependencies:{"@a2a-js/sdk":`1.3.0`,"@hono/node-server":`2.0.12`,"@modelcontextprotocol/sdk":`^1.31.0`,"@peculiar/x509":`2.1.0`,"reflect-metadata":`0.2.2`,"smol-toml":`1.9.1`,zod:`^4.4.3`},devDependencies:{"@types/d3":`^7.4.3`,"@types/node":`^24.13.3`,"@vitejs/plugin-vue":`^6.0.8`,"@vue/test-utils":`^2.4.11`,"brace-expansion":`5.0.12`,d3:`^7.9.0`,jsdom:`^29.1.1`,linkedom:`^0.18.12`,"npm-run-all2":`^9.0.2`,pinia:`^4.0.2`,typescript:`~6.0.0`,vite:`^8.1.5`,vitest:`^4.1.10`,vue:`^3.5.42`,"vue-i18n":`^11.4.8`,"vue-router":`^5.2.0`,"vue-tsc":`^3.3.8`},overrides:{"@modelcontextprotocol/sdk":{"@hono/node-server":`2.0.12`},"brace-expansion":`$brace-expansion`,"fast-uri":`3.1.8`,qs:`6.16.0`}}.version,pe=[`aria-label`],Y={class:`brand-mark-wrap`},me=[`src`],he={class:`brand-copy`},ge={class:`brand-title-row`},_e={class:`brand-name`},ve=[`aria-label`,`aria-expanded`],ye={class:`brand-version`},be={key:1,class:`brand-version`},xe={class:`brand-title-row`},Se={class:`brand-name`},Ce={class:`brand-version`},we=[`aria-label`],Te=[`href`],Ee=I(t({__name:`BrandEasterEgg`,setup(e){let t=c(null),n=c(null),r=c(0),i=c(!1),l=c(!1),d=c(!1),f=c(null),p=k(()=>f.value?.status===`ready`&&f.value.updateAvailable&&!!f.value.latestVersion),h=k(()=>f.value?.latestVersion??``),g=k(()=>f.value?.packageUrl??`https://www.npmjs.com/package/fuli-context`),_=new AbortController,v=!1;function b(){r.value+=1,i.value=!0}function C(){i.value=!1}function w(){p.value&&(d.value=!d.value)}function E(e){v=!1,l.value=!1,d.value&&!t.value?.contains(e.target)&&(d.value=!1)}function O(e){e.key===`Tab`&&(v=!0),e.key===`Escape`&&d.value&&(e.preventDefault(),d.value=!1,S(()=>n.value?.focus()))}function A(){l.value=v}function N(){l.value=!1}return o(()=>{window.addEventListener(`pointerdown`,E,!0),window.addEventListener(`keydown`,O,!0),P(`/api/system/version`,{signal:_.signal}).then(e=>{f.value=e}).catch(()=>{})}),a(()=>{_.abort(),window.removeEventListener(`pointerdown`,E,!0),window.removeEventListener(`keydown`,O,!0)}),(e,a)=>(s(),u(`div`,{ref_key:`root`,ref:t,class:x([`brand-block`,{"is-sparkling":i.value,"is-keyboard-focused":l.value}])},[M(`button`,{class:`brand-effect-button`,type:`button`,"aria-label":D(m)(`console.brandEffect.aria`),onClick:b,onFocus:A,onBlur:N},[M(`span`,Y,[M(`img`,{class:`brand-mark`,src:D(V),alt:``,"aria-hidden":`true`},null,8,me),i.value?(s(),u(`span`,{key:`orbit-${r.value}`,class:`brand-orbit`,"aria-hidden":`true`})):j(``,!0)])],40,pe),M(`span`,he,[M(`span`,ge,[M(`span`,_e,T(D(m)(`common.brand`)),1),p.value?(s(),u(`button`,{key:0,ref_key:`versionButton`,ref:n,class:`brand-version-button`,type:`button`,"aria-label":D(m)(`console.update.aria`,{version:h.value}),"aria-expanded":d.value,"aria-controls":`brand-update-details`,onClick:w},[M(`span`,ye,`v`+T(D(J)),1),a[0]||=M(`span`,{class:`brand-update-dot`,"aria-hidden":`true`},null,-1)],8,ve)):(s(),u(`span`,be,`v`+T(D(J)),1))]),a[1]||=M(`span`,{class:`brand-subtitle`},`Context Graph`,-1),i.value?(s(),u(`span`,{key:`copy-reflection-${r.value}`,class:`brand-copy-reflection`,"aria-hidden":`true`,onAnimationend:y(C,[`self`])},[M(`span`,xe,[M(`span`,Se,T(D(m)(`common.brand`)),1),M(`span`,Ce,`v`+T(D(J)),1)])],32)):j(``,!0)]),d.value?(s(),u(`div`,{key:0,id:`brand-update-details`,class:`brand-update-popover`,role:`dialog`,"aria-label":D(m)(`console.update.title`,{version:h.value})},[M(`strong`,null,T(D(m)(`console.update.title`,{version:h.value})),1),M(`p`,null,T(D(m)(`console.update.copy`)),1),a[2]||=M(`code`,null,`fuli update --yes`,-1),M(`a`,{href:g.value,target:`_blank`,rel:`noopener noreferrer`},T(D(m)(`console.update.npmLink`)),9,Te)],8,we)):j(``,!0)],2))}}),[[`__scopeId`,`data-v-68727ec7`]]),De=[`aria-label`],Oe=[`lang`,`aria-label`,`aria-pressed`,`onClick`],ke=t({__name:`LocaleSwitcher`,setup(e){let t=k(()=>w()),n={"zh-CN":`中`,"en-US":`EN`};function r(e){e!==t.value&&b(e)}return(e,a)=>(s(),u(`div`,{class:`locale-switcher`,role:`group`,"aria-label":D(m)(`common.language.label`)},[(s(!0),u(v,null,i(D(O),e=>(s(),u(`button`,{key:e,type:`button`,lang:e,"aria-label":D(m)(e===`zh-CN`?`common.language.chinese`:`common.language.english`),"aria-pressed":t.value===e,onClick:t=>r(e)},T(n[e]),9,Oe))),128))],8,De))}}),X=_(null);function Ae(e){let t=e.onError((t,n)=>{let r=e.resolve(n).href;!r.startsWith(`/`)||r.startsWith(`//`)||(X.value={href:r,resourceFailure:/dynamically imported module|module script|loading chunk|preload css|importing a module/i.test(String(t))})}),n=e.afterEach((e,t,n)=>{n||(X.value=null)});return()=>{t(),n()}}var je={key:0,class:`navigation-recovery`,role:`alert`},Me=[`href`],Ne=I(t({__name:`NavigationRecovery`,setup(e){return(e,t)=>D(X)?(s(),u(`div`,je,[M(`div`,null,[M(`strong`,null,T(D(m)(`routes.loadFailure.title`)),1),M(`p`,null,T(D(m)(D(X).resourceFailure?`routes.loadFailure.resources`:`routes.loadFailure.message`)),1)]),M(`a`,{href:D(X).href,class:`quiet-button`},T(D(m)(`routes.loadFailure.reload`)),9,Me),M(`button`,{type:`button`,class:`navigation-recovery-dismiss`,onClick:t[0]||=e=>X.value=null},T(D(m)(`routes.loadFailure.dismiss`)),1)])):j(``,!0)}}),[[`__scopeId`,`data-v-d154c242`]]);function Pe(e){let t=e.requestedAction.split(`
2
+ import{B as e,E as t,F as n,H as r,I as i,M as a,N as o,P as s,Q as c,R as l,S as u,T as d,V as f,_ as p,a as m,b as h,c as g,et as _,g as v,h as y,i as b,it as x,j as S,m as C,n as w,ot as T,r as E,rt as D,t as O,v as k,w as A,x as j,y as M}from"./i18n-DUTWmrzf.js";import{n as N,t as ee}from"./console-CDOkjZU8.js";import{r as P,s as F}from"./client-mT6kHxUd.js";import{t as I}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{t as L}from"./UiButton-DYcQLYXP.js";import{m as R}from"./useApi-CROJJdhE-sOV3uq1T.js";import{i as z,n as te,r as ne,t as B}from"./vue-router-CBdnor1K.js";import{t as V}from"./fuli-logo-Bu9WBuQe.js";import{t as H}from"./UiDialog-D70VuNpZ.js";import{t as re}from"./UiSelect-Alpe2iY3.js";import{n as ie,t as ae}from"./attention-store-AfhjzTC5.js";import{t as U}from"./AgentHand-Bex3jrOr.js";import{t as W}from"./UiDisclosure-CaeBp1mn.js";import{t as G}from"./avatars-z6ANYG_r.js";import{n as oe,t as K}from"./profile-model-BQO4zNs9.js";import{t as se}from"./useAgentRoster-BF8eZGbq.js";import{i as ce,n as le,r as q,t as ue}from"./agent-pins-DbcPCnxU.js";import{n as de,t as fe}from"./paths-CDREouhi.js";(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),e.crossOrigin===`use-credentials`?t.credentials=`include`:e.crossOrigin===`anonymous`?t.credentials=`omit`:t.credentials=`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var J={name:`fuli-context`,version:`0.20.0-beta.2`,description:`Local-first collaboration relationship graph for AI agents.`,type:`module`,files:[`README.zh-CN.md`,`npm-shrinkwrap.json`,`src/`,`dist/web/`,`docs/external-knowledge-architecture.md`,`docs/public-personal-architecture.md`,`docs/project-agent-memory.md`,`docs/agent-conversations-and-collaboration.md`,`docs/employee-agents.md`,`docs/agent-interface-architecture.md`,`docs/agent-roundtable.md`,`examples/external-knowledge/markdown-folder.mjs`,`graph-provider/Dockerfile`,`graph-provider/pyproject.toml`,`graph-provider/fuli_graph/*.py`,`graph-provider/fuli_graph/**/*.py`,`skills/`,`compose.graphiti.yml`,`docs/judgment-and-autonomy.md`,`docs/client-connections.md`],bin:{fl:`src/cli.js`,fuli:`src/cli.js`},keywords:[`ai-agent`,`mcp`,`context`,`knowledge-graph`,`local-first`,`codex`,`claude-code`],scripts:{mcp:`node src/mcp-server.js`,dev:`run-p dev:server dev:web`,"dev:server":`node src/server.js`,"dev:web":`vite`,build:`run-s typecheck:web build:web`,"build:web":`vite build`,"build:site":`node scripts/build-site.js`,"typecheck:web":`vue-tsc --noEmit -p tsconfig.app.json`,"test:node":`node --test`,"test:web":`vitest run --config vitest.config.ts`,"test:package":`node scripts/package-smoke.js`,"test:knowledge:live":`node acceptance/knowledge-live.js`,"test:external-knowledge:live":`node scripts/validate-external-knowledge-live.js`,start:`node src/server.js`,"graph:setup":`node src/graphiti/setup.js`,"graph:up":`docker compose -f compose.graphiti.yml up -d --build`,"graph:down":`docker compose -f compose.graphiti.yml down`,"test:structure":`node --test test/source-structure.test.js`,pretest:`npm run build:web`,test:`run-s typecheck:web test:node test:web`,prepack:`npm run build`,prepublishOnly:`npm test`},engines:{node:`>=24.12`},repository:{type:`git`,url:`git+https://github.com/JevonsCode/fuli.git`},homepage:`https://jevonscode.github.io/fuli/`,bugs:{url:`https://github.com/JevonsCode/fuli/issues`},publishConfig:{access:`public`},license:`Apache-2.0`,dependencies:{"@a2a-js/sdk":`1.3.0`,"@hono/node-server":`2.0.12`,"@modelcontextprotocol/sdk":`^1.31.0`,"@peculiar/x509":`2.1.0`,"reflect-metadata":`0.2.2`,"smol-toml":`1.9.1`,zod:`^4.4.3`},devDependencies:{"@types/d3":`^7.4.3`,"@types/node":`^24.13.3`,"@vitejs/plugin-vue":`^6.0.8`,"@vue/test-utils":`^2.4.11`,"brace-expansion":`5.0.12`,d3:`^7.9.0`,jsdom:`^29.1.1`,linkedom:`^0.18.12`,"npm-run-all2":`^9.0.2`,pinia:`^4.0.2`,typescript:`~6.0.0`,vite:`^8.1.5`,vitest:`^4.1.10`,vue:`^3.5.42`,"vue-i18n":`^11.4.8`,"vue-router":`^5.2.0`,"vue-tsc":`^3.3.8`},overrides:{"@modelcontextprotocol/sdk":{"@hono/node-server":`2.0.12`},"brace-expansion":`$brace-expansion`,"fast-uri":`3.1.8`,qs:`6.16.0`}}.version,pe=[`aria-label`],Y={class:`brand-mark-wrap`},me=[`src`],he={class:`brand-copy`},ge={class:`brand-title-row`},_e={class:`brand-name`},ve=[`aria-label`,`aria-expanded`],ye={class:`brand-version`},be={key:1,class:`brand-version`},xe={class:`brand-title-row`},Se={class:`brand-name`},Ce={class:`brand-version`},we=[`aria-label`],Te=[`href`],Ee=I(t({__name:`BrandEasterEgg`,setup(e){let t=c(null),n=c(null),r=c(0),i=c(!1),l=c(!1),d=c(!1),f=c(null),p=k(()=>f.value?.status===`ready`&&f.value.updateAvailable&&!!f.value.latestVersion),h=k(()=>f.value?.latestVersion??``),g=k(()=>f.value?.packageUrl??`https://www.npmjs.com/package/fuli-context`),_=new AbortController,v=!1;function b(){r.value+=1,i.value=!0}function C(){i.value=!1}function w(){p.value&&(d.value=!d.value)}function E(e){v=!1,l.value=!1,d.value&&!t.value?.contains(e.target)&&(d.value=!1)}function O(e){e.key===`Tab`&&(v=!0),e.key===`Escape`&&d.value&&(e.preventDefault(),d.value=!1,S(()=>n.value?.focus()))}function A(){l.value=v}function N(){l.value=!1}return o(()=>{window.addEventListener(`pointerdown`,E,!0),window.addEventListener(`keydown`,O,!0),P(`/api/system/version`,{signal:_.signal}).then(e=>{f.value=e}).catch(()=>{})}),a(()=>{_.abort(),window.removeEventListener(`pointerdown`,E,!0),window.removeEventListener(`keydown`,O,!0)}),(e,a)=>(s(),u(`div`,{ref_key:`root`,ref:t,class:x([`brand-block`,{"is-sparkling":i.value,"is-keyboard-focused":l.value}])},[M(`button`,{class:`brand-effect-button`,type:`button`,"aria-label":D(m)(`console.brandEffect.aria`),onClick:b,onFocus:A,onBlur:N},[M(`span`,Y,[M(`img`,{class:`brand-mark`,src:D(V),alt:``,"aria-hidden":`true`},null,8,me),i.value?(s(),u(`span`,{key:`orbit-${r.value}`,class:`brand-orbit`,"aria-hidden":`true`})):j(``,!0)])],40,pe),M(`span`,he,[M(`span`,ge,[M(`span`,_e,T(D(m)(`common.brand`)),1),p.value?(s(),u(`button`,{key:0,ref_key:`versionButton`,ref:n,class:`brand-version-button`,type:`button`,"aria-label":D(m)(`console.update.aria`,{version:h.value}),"aria-expanded":d.value,"aria-controls":`brand-update-details`,onClick:w},[M(`span`,ye,`v`+T(D(J)),1),a[0]||=M(`span`,{class:`brand-update-dot`,"aria-hidden":`true`},null,-1)],8,ve)):(s(),u(`span`,be,`v`+T(D(J)),1))]),a[1]||=M(`span`,{class:`brand-subtitle`},`Context Graph`,-1),i.value?(s(),u(`span`,{key:`copy-reflection-${r.value}`,class:`brand-copy-reflection`,"aria-hidden":`true`,onAnimationend:y(C,[`self`])},[M(`span`,xe,[M(`span`,Se,T(D(m)(`common.brand`)),1),M(`span`,Ce,`v`+T(D(J)),1)])],32)):j(``,!0)]),d.value?(s(),u(`div`,{key:0,id:`brand-update-details`,class:`brand-update-popover`,role:`dialog`,"aria-label":D(m)(`console.update.title`,{version:h.value})},[M(`strong`,null,T(D(m)(`console.update.title`,{version:h.value})),1),M(`p`,null,T(D(m)(`console.update.copy`)),1),a[2]||=M(`code`,null,`fuli update --yes`,-1),M(`a`,{href:g.value,target:`_blank`,rel:`noopener noreferrer`},T(D(m)(`console.update.npmLink`)),9,Te)],8,we)):j(``,!0)],2))}}),[[`__scopeId`,`data-v-68727ec7`]]),De=[`aria-label`],Oe=[`lang`,`aria-label`,`aria-pressed`,`onClick`],ke=t({__name:`LocaleSwitcher`,setup(e){let t=k(()=>w()),n={"zh-CN":`中`,"en-US":`EN`};function r(e){e!==t.value&&b(e)}return(e,a)=>(s(),u(`div`,{class:`locale-switcher`,role:`group`,"aria-label":D(m)(`common.language.label`)},[(s(!0),u(v,null,i(D(O),e=>(s(),u(`button`,{key:e,type:`button`,lang:e,"aria-label":D(m)(e===`zh-CN`?`common.language.chinese`:`common.language.english`),"aria-pressed":t.value===e,onClick:t=>r(e)},T(n[e]),9,Oe))),128))],8,De))}}),X=_(null);function Ae(e){let t=e.onError((t,n)=>{let r=e.resolve(n).href;!r.startsWith(`/`)||r.startsWith(`//`)||(X.value={href:r,resourceFailure:/dynamically imported module|module script|loading chunk|preload css|importing a module/i.test(String(t))})}),n=e.afterEach((e,t,n)=>{n||(X.value=null)});return()=>{t(),n()}}var je={key:0,class:`navigation-recovery`,role:`alert`},Me=[`href`],Ne=I(t({__name:`NavigationRecovery`,setup(e){return(e,t)=>D(X)?(s(),u(`div`,je,[M(`div`,null,[M(`strong`,null,T(D(m)(`routes.loadFailure.title`)),1),M(`p`,null,T(D(m)(D(X).resourceFailure?`routes.loadFailure.resources`:`routes.loadFailure.message`)),1)]),M(`a`,{href:D(X).href,class:`quiet-button`},T(D(m)(`routes.loadFailure.reload`)),9,Me),M(`button`,{type:`button`,class:`navigation-recovery-dismiss`,onClick:t[0]||=e=>X.value=null},T(D(m)(`routes.loadFailure.dismiss`)),1)])):j(``,!0)}}),[[`__scopeId`,`data-v-d154c242`]]);function Pe(e){let t=e.requestedAction.split(`
3
3
  `).map(e=>e.trim()).filter(e=>/^[A-F][.、))::]\s*\S/.test(e));return/(?:选择|选项|choose|select|options?|pick)/iu.test(e.requestedAction)&&t.length>=2&&t.every((e,t)=>e[0]===String.fromCharCode(65+t))?t.map((e,t)=>({id:`option-${t}`,label:e,value:e})):({approval:[`agree`,`decline`],review:[`accept`,`revise`],permission:[`agree`,`decline`],blocked:[`resolved`,`clarify`],question:[`clarify`]}[e.kind]??[`clarify`]).map(e=>({id:e,label:m(`attention.replies.${e}`),value:m(`attention.replies.${e}`)}))}function Fe(e,t,n){if(e===`other`)return t.trim();let r=n.find(t=>t.id===e);return r?[r.value,t.trim()].filter(Boolean).join(`
4
4
 
5
5
  `):``}var Ie={class:`attention-question`},Le={class:`attention-context`},Re=[`disabled`],ze=[`name`,`value`,`checked`,`onChange`],Be=[`name`,`checked`],Ve={class:`attention-input`},He=[`for`],Ue=[`id`,`value`,`required`,`disabled`,`placeholder`],We={key:0,role:`alert`,class:`inline-error attention-response-error`},Ge={key:1,role:`alert`,class:`inline-error`},Ke={class:`attention-submit`},qe=[`disabled`],Je={key:1},Ye=I(t({__name:`AttentionReply`,props:{item:{},modelValue:{},busy:{type:Boolean},refreshing:{type:Boolean},error:{}},emits:[`update:modelValue`,`submit`],setup(e,{emit:t}){let n=e,a=t,o=k(()=>Pe(n.item)),c=k(()=>Fe(n.modelValue.choice,n.modelValue.text,o.value));function l(e){a(`update:modelValue`,{...n.modelValue,...e})}function d(){!n.busy&&!n.refreshing&&c.value&&c.value.length<=4096&&a(`submit`,c.value)}return(t,n)=>(s(),u(`form`,{class:`attention-reply`,onSubmit:y(d,[`prevent`])},[M(`div`,Ie,[M(`h3`,null,T(e.item.title),1),M(`p`,null,T(e.item.requestedAction),1)]),(s(),h(W,{key:e.item.requestId,title:D(m)(`attention.context`)},{default:r(()=>[M(`p`,Le,T(e.item.detail),1)]),_:1},8,[`title`])),M(`fieldset`,{disabled:e.busy||e.refreshing,class:`attention-choices`},[M(`legend`,null,T(D(m)(`attention.chooseReply`)),1),(s(!0),u(v,null,i(o.value,t=>(s(),u(`label`,{key:t.id,class:x([`attention-choice`,{"is-selected":e.modelValue.choice===t.id}])},[M(`input`,{type:`radio`,name:`reply-${e.item.requestId}`,value:t.id,checked:e.modelValue.choice===t.id,onChange:e=>l({choice:t.id})},null,40,ze),M(`span`,null,T(t.label),1)],2))),128)),M(`label`,{class:x([`attention-choice`,{"is-selected":e.modelValue.choice===`other`}])},[M(`input`,{type:`radio`,name:`reply-${e.item.requestId}`,value:`other`,checked:e.modelValue.choice===`other`,onChange:n[0]||=e=>l({choice:`other`})},null,40,Be),M(`span`,null,T(D(m)(`attention.other`)),1)],2)],8,Re),M(`div`,Ve,[M(`label`,{for:`attention-${e.item.requestId}`},T(e.modelValue.choice===`other`?D(m)(`attention.response`):D(m)(`attention.note`)),9,He),M(`textarea`,{id:`attention-${e.item.requestId}`,value:e.modelValue.text,rows:`3`,maxlength:`4096`,required:e.modelValue.choice===`other`,disabled:e.busy||e.refreshing,placeholder:D(m)(`attention.placeholder`),onInput:n[1]||=t=>l({text:t.target.value,choice:e.modelValue.choice||`other`})},null,40,Ue)]),e.error?(s(),u(`p`,We,T(e.error),1)):j(``,!0),c.value.length>4096?(s(),u(`p`,Ge,T(D(m)(`attention.tooLong`)),1)):j(``,!0),M(`div`,Ke,[M(`p`,null,T(D(m)(`attention.replyHint`)),1),M(`button`,{type:`submit`,class:`primary-action`,disabled:e.busy||e.refreshing||!c.value||c.value.length>4096},[e.busy?(s(),h(F,{key:0,variant:`inline`,label:D(m)(`attention.sending`)},null,8,[`label`])):(s(),u(`span`,Je,T(D(m)(`attention.send`)),1))],8,qe)])],32))}}),[[`__scopeId`,`data-v-6b64bc2c`]]),Xe=[`aria-label`],Ze={class:`attention-nav-status`},Qe=[`title`],$e={key:0,role:`alert`,class:`attention-error`},et={key:2,class:`attention-empty`},tt=[`aria-busy`],nt=[`aria-label`],rt={class:`attention-queue-toolbar`},it={class:`attention-request-list`},at=[`aria-current`,`disabled`,`onClick`],ot={class:`attention-request-meta`},st={class:`attention-request-project`},ct={class:`attention-detail-meta`},lt={class:`ui-badge`},ut=[`href`],dt=t({__name:`AgentAttentionCenter`,props:{personalSpaceId:{},projects:{}},setup(t){let n=t,l=ie(),f=c({}),g=c({}),_=c(``),y=c(``),b=0,S=c({}),C=k(()=>S.value[_.value]??``),w=k(()=>l.items.find(e=>e.requestId===_.value)),E=k({get:()=>g.value[_.value]??{choice:``,text:``},set:e=>{w.value&&(g.value[_.value]={...e,revision:w.value.revision})}}),O=k(()=>new Map(n.projects.map(e=>[e.project_id,e.profile.name]))),N=k(()=>l.agentId?l.counts[l.agentId]??l.filteredTotal:l.total),ee=k(()=>l.items.map(e=>({value:e.requestId,label:e.title,meta:`${f.value[e.agentId]||m(`attention.agentFallback`)} · ${O.value.get(e.personalProjectId)||m(`attention.projectFallback`)}`})));e(()=>n.personalSpaceId,e=>{b++,y.value=``,f.value={},g.value={},_.value=``,S.value={},l.setSpace(e===`current`?``:e)},{immediate:!0}),e(()=>l.open,async e=>{if(!e)return;let t=l.spaceId;try{let e=await P(`/api/project-agents?${new URLSearchParams({personalSpaceId:t})}`);t===l.spaceId&&(f.value=Object.fromEntries(e.map(e=>[e.agentId,e.profile.displayName||e.profile.name])))}catch{}}),e(()=>l.items,e=>{e.some(e=>e.requestId===_.value)||(_.value=e[0]?.requestId??``);for(let t of e){let e=g.value[t.requestId];e&&e.revision!==t.revision&&(g.value[t.requestId]={choice:``,text:e.text,revision:t.revision},S.value[t.requestId]=m(`attention.updated`))}});let I;function R(){document.visibilityState===`visible`&&!l.loading&&!l.open&&l.refresh()}o(()=>{I=setInterval(R,3e4),document.addEventListener(`visibilitychange`,R)}),a(()=>{clearInterval(I),document.removeEventListener(`visibilitychange`,R),l.setSpace(``)});async function z(e,t){if(y.value||!t.trim()||t.length>4096)return;let n=l.spaceId,r=++b;y.value=e.requestId,delete S.value[e.requestId];try{await l.respond(e,t),r===b&&n===l.spaceId&&delete g.value[e.requestId]}catch(t){r===b&&n===l.spaceId&&(S.value[e.requestId]=t instanceof Error?t.message:String(t),await l.refresh())}finally{r===b&&(y.value=``)}}return(e,t)=>(s(),u(v,null,[M(`button`,{class:`space-nav-button attention-nav`,"aria-label":D(l).total?`${D(m)(`attention.title`)} · ${D(m)(`attention.count`,{count:D(l).total})}`:D(m)(`attention.title`),type:`button`,onClick:t[0]||=e=>D(l).show()},[t[9]||=M(`span`,{class:`nav-icon nav-icon-review`,"aria-hidden":`true`},null,-1),M(`span`,null,T(D(m)(`attention.title`)),1),M(`span`,Ze,[d(U,{passive:``,"count-only":``}),D(l).error?(s(),u(`span`,{key:0,title:D(m)(`attention.loadError`)},`!`,8,Qe)):j(``,!0)])],8,Xe),(s(),h(p,{to:`body`},[d(H,{open:D(l).open,class:`attention-dialog`,size:`xl`,busy:!!y.value,title:D(m)(`attention.title`),description:N.value?D(m)(`attention.count`,{count:N.value}):void 0,onClose:t[8]||=e=>D(l).open=!1},{default:r(()=>[D(l).error?(s(),u(`div`,$e,[M(`span`,null,T(D(m)(`attention.loadError`)),1),d(L,{size:`sm`,disabled:D(l).loading,onClick:t[1]||=e=>D(l).refresh()},{default:r(()=>[A(T(D(m)(`attention.refresh`)),1)]),_:1},8,[`disabled`])])):j(``,!0),D(l).loading&&!D(l).items.length?(s(),h(F,{key:1,variant:`page`,label:D(m)(`attention.loading`)},null,8,[`label`])):!D(l).items.length&&!D(l).error?(s(),u(`div`,et,[t[10]||=M(`span`,{"aria-hidden":`true`},`✓`,-1),M(`p`,null,T(D(m)(`attention.empty`)),1)])):D(l).items.length?(s(),u(`div`,{key:3,class:`attention-workspace`,"aria-busy":D(l).loading},[M(`aside`,{class:`attention-queue`,"aria-label":D(m)(`attention.queue`)},[M(`div`,rt,[M(`span`,null,T(D(l).agentId?f.value[D(l).agentId]||D(m)(`attention.agentFallback`):D(m)(`attention.all`)),1),D(l).agentId||!D(l).error?(s(),h(L,{key:0,size:`sm`,variant:`ghost`,disabled:D(l).loading||!!y.value,onClick:t[2]||=e=>D(l).agentId?D(l).show():D(l).refresh()},{default:r(()=>[A(T(D(l).agentId?D(m)(`attention.all`):D(m)(`attention.refresh`)),1)]),_:1},8,[`disabled`])):j(``,!0)]),d(re,{modelValue:_.value,"onUpdate:modelValue":t[3]||=e=>_.value=e,class:`attention-mobile-picker`,field:``,label:D(m)(`attention.selectRequest`),options:ee.value,disabled:!!y.value},null,8,[`modelValue`,`label`,`options`,`disabled`]),M(`div`,it,[(s(!0),u(v,null,i(D(l).items,e=>(s(),u(`button`,{key:e.requestId,type:`button`,class:x([`attention-request`,{"is-selected":_.value===e.requestId}]),"aria-current":_.value===e.requestId?`true`:void 0,disabled:!!y.value,onClick:t=>_.value=e.requestId},[M(`span`,ot,[A(T(f.value[e.agentId]||D(m)(`attention.agentFallback`)),1),M(`span`,null,T(D(m)(`attention.kinds.${e.kind}`)),1)]),M(`strong`,null,T(e.title),1),M(`span`,st,T(O.value.get(e.personalProjectId)||D(m)(`attention.projectFallback`)),1)],10,at))),128))]),D(l).items.length<D(l).filteredTotal?(s(),h(L,{key:0,class:`attention-more`,disabled:D(l).loading||!!y.value,onClick:t[4]||=e=>D(l).more()},{default:r(()=>[A(T(D(m)(`attention.more`)),1)]),_:1},8,[`disabled`])):j(``,!0)],8,nt),w.value?(s(),u(`section`,{key:w.value.requestId,class:`attention-detail`},[M(`div`,ct,[M(`span`,null,T(f.value[w.value.agentId]||D(m)(`attention.agentFallback`))+` · `+T(O.value.get(w.value.personalProjectId)||D(m)(`attention.projectFallback`)),1),M(`span`,lt,T(D(m)(`attention.kinds.${w.value.kind}`)),1)]),d(Ye,{modelValue:E.value,"onUpdate:modelValue":t[5]||=e=>E.value=e,item:w.value,busy:y.value===w.value.requestId,refreshing:D(l).loading,error:C.value,onSubmit:t[6]||=e=>z(w.value,e)},null,8,[`modelValue`,`item`,`busy`,`refreshing`,`error`]),w.value.taskId&&!y.value?(s(),u(`a`,{key:0,class:`attention-task-link`,href:D(ae)(w.value),onClick:t[7]||=e=>D(l).open=!1},T(D(m)(`attention.task`))+` ↗`,9,ut)):j(``,!0)])):j(``,!0)],8,tt)):j(``,!0)]),_:1},8,[`open`,`busy`,`title`,`description`])]))],64))}}),ft={key:0,class:`pinned-agents-nav`,"aria-labelledby":`pinned-agents-heading`},pt={class:`pinned-agents-heading-row`},mt={id:`pinned-agents-heading`,class:`pinned-agents-heading`},ht={class:`pinned-agents-list`},gt={class:`pinned-agent-portrait`,"aria-hidden":`true`},_t=[`src`],vt={class:`pinned-agent-name`},yt={key:1,class:`pinned-agents-error`,role:`alert`},bt=I(t({__name:`PinnedAgentsNav`,props:{spaceId:{},agents:{},pinnedAgentIds:{},loading:{type:Boolean},rosterLoading:{type:Boolean},error:{}},emits:[`retry`],setup(e,{emit:t}){let n=e,a=t,o=k(()=>n.pinnedAgentIds.map(e=>n.agents.find(t=>t.agentId===e)).filter(e=>!!e));function c(e,t){return q(e,t)}let l=k(()=>c(`navigation.title`,`pin`)),f=k(()=>c(`loading`,`Reading pinned Agents…`)),p=k(()=>m(`agentProfiles.loading`)),g=k(()=>c(`retry`,`Retry`)),_=k(()=>n.loading||!!n.rosterLoading);return(t,c)=>(s(),u(v,null,[e.spaceId&&o.value.length?(s(),u(`section`,ft,[M(`div`,pt,[M(`h2`,mt,T(l.value),1),_.value&&o.value.length?(s(),h(F,{key:0,variant:`inline`,label:n.rosterLoading&&!n.loading?p.value:f.value},null,8,[`label`])):j(``,!0)]),M(`ul`,ht,[(s(!0),u(v,null,i(o.value,t=>(s(),u(`li`,{key:t.agentId},[d(D(B),{class:`pinned-agent-nav`,to:D(oe)(e.spaceId,t.agentId),"aria-label":`${D(K)(t)} · ${D(m)(`agentProfiles.profile`)}`},{default:r(()=>[M(`span`,gt,[D(G)(t.agentId)?(s(),u(`img`,{key:0,src:D(G)(t.agentId),alt:``},null,8,_t)):(s(),u(v,{key:1},[A(T(t.profile.occupationEmoji||D(K)(t).slice(0,1)),1)],64))]),M(`span`,vt,T(D(K)(t)),1)]),_:2},1032,[`to`,`aria-label`])]))),128))])])):j(``,!0),e.spaceId&&e.error?(s(),u(`div`,yt,[M(`span`,null,T(e.error),1),M(`button`,{class:`quiet-button`,type:`button`,onClick:c[0]||=e=>a(`retry`)},T(g.value),1)])):j(``,!0)],64))}}),[[`__scopeId`,`data-v-11f0099d`]]),xt=[`routes.`,`common.`,`employees.`,`agentProfiles.`];function St(e,t=``){let n=typeof e==`string`&&e?e:t;return xt.some(e=>n.startsWith(e))?m(n):n}function Ct(e){if(typeof document>`u`)return;let t=St(e,`routes.overview.title`);document.title=`${t} · ${m(`common.brand`)}`}var wt={class:`app-shell`},Tt=[`onKeydown`],Et=[`aria-label`,`title`],Dt=[`aria-label`],Ot={class:`nav-label`},kt={class:`nav-label`},At={class:`nav-label`},jt={class:`nav-label`},Mt={class:`nav-label`},Nt={class:`nav-label`},Pt={class:`nav-section-label`},Ft={class:`nav-label`},It={class:`nav-label`},Lt={class:`nav-label`},Rt={class:`nav-label`},zt={class:`nav-label`},Bt={class:`nav-label`},Vt={class:`sidebar-foot`},Ht=[`aria-label`],Ut={class:`runtime-status`},Wt={class:`service-details`},Gt={class:`runtime-status`},Kt=[`aria-label`],qt=[`inert`],Jt=[`aria-expanded`,`aria-label`],Yt={key:0,class:`workbench-host-label`},Xt={key:1,class:`topbar-heading`},Zt=[`role`,`aria-live`],Qt=[`aria-label`],$t=I(t({__name:`ConsoleLayout`,setup(t){let i=ee(),p=R(),g=c(!1),_=c(null),v=c(null),b=k(()=>i.activePersonalSpace?.id??``),w=k(()=>b.value||`current`),E=k(()=>de(w.value,`graph`)),O=k(()=>fe(`personal`,w.value,`directory`)),N=se(b),P=ce(b),I=N.agents,z=N.loading,ne=N.error,V=P.agentIds,H=P.loading,re=P.error,ie=k(()=>re.value||ne.value);n(le,N),n(ue,P);let ae=k(()=>St(p.meta.title,`routes.overview.title`)),U=k(()=>p.meta.dedicatedWorkspace===!0),W=k(()=>i.publicRuntimeStatus===`ready`?m(`console.services.publicReady`):i.publicRuntimeStatus===`error`?m(`console.services.publicError`):m(`console.services.publicOffline`)),G=k(()=>{if(i.publicRuntimeStatus===`ready`){let e=i.state?.capabilities;return e?.browsePublicProjects&&e?.subscribeProject&&!e?.publishProject&&!e?.submitKnowledge&&!e?.reviewProposals?m(`console.services.publicBrowseSubscribe`):m(`console.services.publicAvailable`)}return i.publicRuntimeStatus===`error`?m(`console.services.localUnaffected`):m(`console.services.localOnly`)}),oe=k(()=>i.state?.capabilities?.browsePublicProjects!==!1),K=k(()=>{let e=i.state?.capabilities;return e?.submitKnowledge!==!1||e?.reviewProposals===!0});o(()=>{i.runtimeStatus===`idle`&&i.refresh(),window.addEventListener(`resize`,q)}),a(()=>window.removeEventListener(`resize`,q));function q(){window.innerWidth>920&&(g.value=!1)}function J(e){if(!g.value||e.key!==`Tab`)return;let t=[...e.currentTarget.querySelectorAll(`button:not(:disabled), a[href], input:not(:disabled), [tabindex="0"]`)].filter(e=>e.getClientRects().length>0),n=t[0],r=t.at(-1);e.shiftKey&&document.activeElement===n?(e.preventDefault(),r?.focus()):!e.shiftKey&&document.activeElement===r&&(e.preventDefault(),n?.focus())}f(()=>{Ct(p.meta.title)}),e(()=>p.fullPath,()=>{g.value=!1});async function pe(){g.value=!0,await S(),v.value?.focus({preventScroll:!0})}async function Y(){g.value=!1,await S(),_.value?.focus({preventScroll:!0})}function me(){Promise.all([N.load(),P.load({force:!0})])}return(e,t)=>(s(),u(`div`,wt,[M(`aside`,{id:`console-primary-sidebar`,class:x([`sidebar`,{"is-mobile-open":g.value}]),onKeydown:[C(y(Y,[`stop`]),[`esc`]),J]},[M(`button`,{ref_key:`mobileNavCloseRef`,ref:v,class:`mobile-nav-close quiet-button`,type:`button`,"aria-label":D(m)(`console.navigation.closeMenu`),title:D(m)(`console.navigation.closeMenu`),onClick:Y},[...t[1]||=[M(`span`,{class:`mobile-nav-close-icon`,"aria-hidden":`true`},null,-1)]],8,Et),d(Ee),M(`nav`,{class:`primary-nav`,"aria-label":D(m)(`console.navigation.aria`)},[d(D(B),{to:`/`,"exact-active-class":`is-active`},{default:r(()=>[t[2]||=M(`span`,{class:`nav-icon nav-icon-overview`,"aria-hidden":`true`},null,-1),M(`span`,Ot,T(D(m)(`console.navigation.overview`)),1)]),_:1}),d(D(B),{to:`/project-agents`,"active-class":`is-active`},{default:r(()=>[t[3]||=M(`span`,{class:`nav-icon nav-icon-project-agent`,"aria-hidden":`true`},null,-1),M(`span`,kt,T(D(m)(`console.navigation.projectAgents`)),1)]),_:1}),d(dt,{"personal-space-id":w.value,projects:D(i).state?.personalProjects??[]},null,8,[`personal-space-id`,`projects`]),d(D(B),{to:`/roundtables`,"active-class":`is-active`},{default:r(()=>[t[4]||=M(`span`,{class:`nav-icon nav-icon-roundtable`,"aria-hidden":`true`},null,-1),M(`span`,At,T(D(m)(`console.navigation.roundtables`)),1)]),_:1}),d(D(B),{to:E.value,"active-class":`is-active`},{default:r(()=>[t[5]||=M(`span`,{class:`nav-icon nav-icon-personal-project`,"aria-hidden":`true`},null,-1),M(`span`,jt,T(D(m)(`console.navigation.personalProjects`)),1)]),_:1},8,[`to`]),d(D(B),{to:`/preferences`,"active-class":`is-active`},{default:r(()=>[t[6]||=M(`span`,{class:`nav-icon nav-icon-personal-profile`,"aria-hidden":`true`},null,-1),M(`span`,Mt,T(D(m)(`console.navigation.preferences`)),1)]),_:1}),d(D(B),{to:O.value,"active-class":`is-active`},{default:r(()=>[t[7]||=M(`span`,{class:`nav-icon nav-icon-knowledge-graph`,"aria-hidden":`true`},null,-1),M(`span`,Nt,T(D(m)(`console.navigation.knowledge`)),1)]),_:1},8,[`to`]),d(bt,{"space-id":b.value,agents:D(I),"pinned-agent-ids":D(V),loading:D(H),"roster-loading":D(z),error:ie.value,onRetry:me},null,8,[`space-id`,`agents`,`pinned-agent-ids`,`loading`,`roster-loading`,`error`]),M(`p`,Pt,T(D(m)(`console.navigation.more`)),1),d(D(B),{to:`/organize`,"active-class":`is-active`},{default:r(()=>[t[8]||=M(`span`,{class:`nav-icon nav-icon-knowledge-organizer`,"aria-hidden":`true`},null,-1),M(`span`,Ft,T(D(m)(`console.navigation.organizer`)),1)]),_:1}),K.value?(s(),h(D(B),{key:0,to:`/review`,"active-class":`is-active`},{default:r(()=>[t[9]||=M(`span`,{class:`nav-icon nav-icon-review`,"aria-hidden":`true`},null,-1),M(`span`,It,T(D(m)(`console.navigation.review`)),1)]),_:1})):j(``,!0),oe.value?(s(),h(D(B),{key:1,to:`/public-projects`,"active-class":`is-active`},{default:r(()=>[t[10]||=M(`span`,{class:`nav-icon nav-icon-public-project`,"aria-hidden":`true`},null,-1),M(`span`,Lt,T(D(m)(`console.navigation.publicProjects`)),1)]),_:1})):j(``,!0),d(D(B),{to:`/connections`,"active-class":`is-active`},{default:r(()=>[t[11]||=M(`span`,{class:`nav-icon nav-icon-connections`,"aria-hidden":`true`},null,-1),M(`span`,Rt,T(D(m)(`console.navigation.connections`)),1)]),_:1}),d(D(B),{to:`/settings`,"active-class":`is-active`},{default:r(()=>[t[12]||=M(`span`,{class:`nav-icon nav-icon-settings`,"aria-hidden":`true`},null,-1),M(`span`,zt,T(D(m)(`console.navigation.settings`)),1)]),_:1}),d(D(B),{to:`/about`,"active-class":`is-active`},{default:r(()=>[t[13]||=M(`span`,{class:`nav-icon nav-icon-about`,"aria-hidden":`true`},null,-1),M(`span`,Bt,T(D(m)(`console.navigation.about`)),1)]),_:1})],8,Dt),M(`div`,Vt,[M(`div`,{class:`service-runtime-list`,"aria-label":D(m)(`console.services.aria`)},[M(`div`,Ut,[M(`span`,{class:x([`status-dot`,D(i).runtimeStatus])},null,2),M(`div`,null,[M(`strong`,null,T(D(i).runtimeStatus===`ready`?D(m)(`console.services.localReady`):D(i).runtimeStatus===`error`?D(m)(`console.services.localError`):D(m)(`console.services.localConnecting`)),1)])]),M(`details`,Wt,[M(`summary`,null,[M(`span`,{class:x([`status-dot`,D(i).publicRuntimeStatus])},null,2),A(T(W.value),1)]),M(`div`,Gt,[M(`div`,null,[M(`small`,null,T(G.value),1),d(D(B),{to:`/connections`},{default:r(()=>[A(T(D(m)(`console.navigation.connections`)),1)]),_:1})])])])],8,Ht)])],42,Tt),g.value?(s(),u(`button`,{key:0,class:`mobile-nav-backdrop`,type:`button`,tabindex:`-1`,"aria-label":D(m)(`console.navigation.closeMenu`),onClick:Y},null,8,Kt)):j(``,!0),M(`main`,{class:`workspace`,inert:g.value||void 0},[M(`header`,{class:x([`topbar`,{"topbar--workbench":U.value}])},[M(`button`,{ref_key:`mobileNavToggleRef`,ref:_,class:`mobile-nav-toggle quiet-button`,type:`button`,"aria-controls":`console-primary-sidebar`,"aria-expanded":g.value,"aria-label":D(m)(`console.navigation.openMenu`),onClick:pe},[...t[14]||=[M(`span`,{class:`mobile-nav-icon`,"aria-hidden":`true`},null,-1)]],8,Jt),U.value?(s(),u(`span`,Yt,`FULI`)):(s(),u(`div`,Xt,[M(`h1`,null,T(ae.value),1)])),U.value?j(``,!0):(s(),u(`div`,{key:2,class:x([`topbar-actions`,{"settings-actions":D(p).name===`settings`}])},[D(p).name===`settings`&&D(i).settingsSaving?(s(),h(F,{key:0,class:`settings-save-progress`,variant:`inline`,label:D(m)(D(i).settingsSaveState===`applying`?`settings.applying`:`settings.saving`)},null,8,[`label`])):j(``,!0),D(p).name===`settings`?(s(),h(L,{key:1,variant:`primary`,disabled:D(i).settingsSaving,form:`settings-form`,type:`submit`},{default:r(()=>[A(T(D(m)(D(i).settingsSaveState===`saved`?`settings.savedShort`:`settings.save`)),1)]),_:1},8,[`disabled`])):j(``,!0),d(ke),d(L,{variant:`ghost`,icon:``,disabled:D(i).runtimeStatus===`loading`,"aria-label":D(m)(`common.actions.refresh`),title:D(m)(`common.actions.refresh`),onClick:D(i).refresh},{default:r(()=>[...t[15]||=[M(`svg`,{viewBox:`0 0 20 20`,width:`18`,height:`18`,fill:`none`,stroke:`currentColor`,"stroke-width":`1.5`,"stroke-linecap":`round`,"stroke-linejoin":`round`,"aria-hidden":`true`},[M(`path`,{d:`M16 7a6.5 6.5 0 1 0 .5 5M16 3v4h-4`})],-1)]]),_:1},8,[`disabled`,`aria-label`,`title`,`onClick`])],2))],2),d(Ne),D(i).feedback?(s(),u(`div`,{key:0,class:x([`feedback feedback-message`,{success:D(i).feedback.tone===`success`}]),role:D(i).feedback.tone===`error`?`alert`:`status`,"aria-live":D(i).feedback.tone===`error`?`assertive`:`polite`},[M(`span`,null,T(D(i).feedback.message),1),M(`button`,{class:`feedback-dismiss`,type:`button`,"aria-label":D(m)(`common.actions.close`),onClick:t[0]||=(...e)=>D(i).clearFeedback&&D(i).clearFeedback(...e)},`×`,8,Qt)],10,Zt)):j(``,!0),d(D(te),null,{default:r(({Component:e})=>[(s(),h(l(e)))]),_:1})],8,qt)]))}}),[[`__scopeId`,`data-v-81c00869`]]),en=t({__name:`App`,setup(e){let t=R();return(e,n)=>D(t).meta.publicReport?(s(),h(D(te),{key:0})):(s(),h($t,{key:1}))}}),tn=`modulepreload`,nn=function(e){return`/`+e},rn={},Z=function(e,t,n){let r=Promise.resolve();if(t&&t.length>0){let e=document.getElementsByTagName(`link`),i=document.querySelector(`meta[property=csp-nonce]`),a=i?.nonce||i?.getAttribute(`nonce`);function o(e){return Promise.all(e.map(e=>Promise.resolve(e).then(e=>({status:`fulfilled`,value:e}),e=>({status:`rejected`,reason:e}))))}function s(e){return import.meta.resolve?import.meta.resolve(e):new URL(e,import.meta.url).href}r=o(t.map(t=>{if(t=nn(t,n),t=s(t),t in rn)return;rn[t]=!0;let r=t.endsWith(`.css`);for(let n=e.length-1;n>=0;n--){let i=e[n];if(i.href===t&&(!r||i.rel===`stylesheet`))return}let i=document.createElement(`link`);if(i.rel=r?`stylesheet`:tn,r||(i.as=`script`),i.crossOrigin=``,i.href=t,a&&i.setAttribute(`nonce`,a),document.head.appendChild(i),r)return new Promise((e,n)=>{i.addEventListener(`load`,e),i.addEventListener(`error`,()=>n(Error(`Unable to preload CSS for ${t}`)))})}))}function i(e){let t=new Event(`vite:preloadError`,{cancelable:!0});if(t.payload=e,window.dispatchEvent(t),!t.defaultPrevented)throw e}return r.then(t=>{for(let e of t||[])e.status===`rejected`&&i(e.reason);return e().catch(i)})};function an(e){let t=e.match(/^#\/knowledge\/([^/?#]+)\/([^/?#]+)\/(entity|relationship)\/([^/?#]+)(?:\?([^#]*))?$/);if(!t)return null;let[,n,r,i,a,o]=t;return`/knowledge/${n}/${r}/directory/${i}/${a}${o?`?${o}`:``}`}var Q=ne({history:z(`/`),routes:[{path:`/reports/jefa`,name:`shared-jefa-report`,component:()=>Z(()=>import(`./SharedJefaReportPage-B55966fF.js`),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10])),meta:{publicReport:!0,title:`employees.share.title`}},{path:`/roundtables/:threadId?`,name:`roundtables`,component:()=>Z(()=>import(`./RoundtablesPage-IXKQq62P.js`),__vite__mapDeps([11,1,2,3,4,5,12,13])),meta:{title:`routes.roundtable.title`}},{path:`/`,name:`overview`,component:()=>Z(()=>import(`./OverviewPage-C2jrJWDc.js`),__vite__mapDeps([14,1,15,2,3,4,12,5,16,17,18,19,20,21,22])),meta:{eyebrow:``,title:`routes.overview.title`}},{path:`/preferences`,name:`personal-profile`,component:()=>Z(()=>import(`./PersonalProfilePage-DkOcops6.js`),__vite__mapDeps([23,1,15,2,3,4,24,12,5,25,26,27,28,29,30,31,32,33,34,35,36,37,38])),meta:{eyebrow:`PERSONAL LENS`,title:`routes.preferences.title`,description:`routes.preferences.description`}},{path:`/preferences/writing`,name:`writing-taste`,component:()=>Z(()=>import(`./WritingTastePage-BwNCyys9.js`),__vite__mapDeps([39,1,15,2,3,4,12,5,30,34,24,25,26,27,35,31,36,37,40])),meta:{eyebrow:``,title:`routes.writingTaste.title`}},{path:`/personal/:spaceId/projects/:projectId/:mode/:itemKind/:itemId`,name:`personal-project-item`,component:()=>Z(()=>import(`./PersonalProjectsPage-uJXnueKw.js`),__vite__mapDeps([41,1,42,15,2,3,4,24,5,12,25,26,27,30,20,43,17,44,45,35,29,31,32,33,34,36,46])),meta:{eyebrow:`PERSONAL PROJECT`,title:`routes.personalProjects.title`}},{path:`/personal/:spaceId/projects/:mode/:itemKind/:itemId`,name:`personal-projects-item`,component:()=>Z(()=>import(`./PersonalProjectsPage-uJXnueKw.js`),__vite__mapDeps([41,1,42,15,2,3,4,24,5,12,25,26,27,30,20,43,17,44,45,35,29,31,32,33,34,36,46])),meta:{eyebrow:`PERSONAL PROJECTS`,title:`routes.personalProjects.title`,description:`routes.personalProjects.description`}},{path:`/personal/:spaceId/projects/:mode`,name:`personal-projects`,component:()=>Z(()=>import(`./PersonalProjectsPage-uJXnueKw.js`),__vite__mapDeps([41,1,42,15,2,3,4,24,5,12,25,26,27,30,20,43,17,44,45,35,29,31,32,33,34,36,46])),meta:{eyebrow:`PERSONAL PROJECTS`,title:`routes.personalProjects.title`,description:`routes.personalProjects.description`}},{path:`/personal/:spaceId/projects/:projectId/:mode`,name:`personal-project`,component:()=>Z(()=>import(`./PersonalProjectsPage-uJXnueKw.js`),__vite__mapDeps([41,1,42,15,2,3,4,24,5,12,25,26,27,30,20,43,17,44,45,35,29,31,32,33,34,36,46])),meta:{eyebrow:`PERSONAL PROJECT`,title:`routes.personalProjects.title`}},{path:`/organize`,name:`knowledge-organizer`,component:()=>Z(()=>import(`./KnowledgeOrganizerPage-B3GoSV-E.js`),__vite__mapDeps([47,1,15,2,3,4,24,25,26,27,35,29,30,31,32,33,34,36,48])),meta:{eyebrow:`KNOWLEDGE CLASSIFICATION`,title:`routes.organizer.title`}},{path:`/project-agents`,name:`project-agents`,component:()=>Z(()=>import(`./AgentsDirectoryPage-itsP9chX.js`),__vite__mapDeps([49,1,15,2,3,4,5,12,26,27,50,16,51,52,17,53,18,19,21,54,55,56,57,24,25,20,7,8,58,59,60])),meta:{eyebrow:``,title:`routes.projectAgents.title`}},{path:`/agents/:spaceId/:agentId`,name:`agent-profile`,component:()=>Z(()=>import(`./AgentProfilePage-pHzDx457.js`),__vite__mapDeps([61,1,15,2,3,4,5,12,26,27,30,52,17,19,18,20,43,44,62,63,21,54,45,60])),meta:{eyebrow:``,title:`agentProfiles.profile`}},{path:`/project-agents/manage`,name:`agent-management`,component:()=>Z(()=>import(`./ProjectAgentsPage-DDuhJnAH.js`),__vite__mapDeps([64,1,15,2,3,4,24,5,12,25,26,27,50,16,51,19,62,63,21,54,55,56,7,8,57,52,20,58,65])),meta:{eyebrow:``,title:`agentProfiles.advanced`}},{path:`/employees/:templateId`,name:`employee-workbench`,component:()=>Z(()=>import(`./EmployeeWorkbenchPage-BDN6whBV.js`),__vite__mapDeps([66,1,15,2,3,4,24,5,12,25,26,27,50,16,51,52,17,43,44,54,7,8,57,20,58,6,9,28,67,68])),meta:{eyebrow:``,title:`routes.employeeWorkbench.title`,dedicatedWorkspace:!0}},{path:`/public-projects`,name:`public-projects`,component:()=>Z(()=>import(`./PublicProjectsPage-KvmU4tDo.js`),__vite__mapDeps([69,1,15,2,3,4,24,5,25,26,27,20,35,70])),meta:{eyebrow:`PUBLIC PROJECTS`,title:`routes.publicProjects.title`,description:`routes.publicProjects.description`}},{path:`/knowledge`,name:`knowledge-default`,component:()=>Z(()=>import(`./KnowledgePage-DrRnvfrO.js`),__vite__mapDeps([71,1,42,15,2,3,4,24,5,12,25,26,27,30,20,43,17,44,45,35,29,31,32,33,34,36,46])),meta:{eyebrow:`KNOWLEDGE BASE`,title:`routes.knowledge.title`}},{path:`/knowledge/:scope/:spaceId/:projectId/:mode/:itemKind/:itemId`,name:`project-knowledge-item`,component:()=>Z(()=>import(`./KnowledgePage-DrRnvfrO.js`),__vite__mapDeps([71,1,42,15,2,3,4,24,5,12,25,26,27,30,20,43,17,44,45,35,29,31,32,33,34,36,46])),meta:{eyebrow:`KNOWLEDGE BASE`,title:`routes.knowledge.title`}},{path:`/knowledge/:scope/:spaceId/:mode/:itemKind/:itemId`,name:`knowledge-item`,component:()=>Z(()=>import(`./KnowledgePage-DrRnvfrO.js`),__vite__mapDeps([71,1,42,15,2,3,4,24,5,12,25,26,27,30,20,43,17,44,45,35,29,31,32,33,34,36,46])),meta:{eyebrow:`KNOWLEDGE BASE`,title:`routes.knowledge.title`}},{path:`/knowledge/:scope/:spaceId/:projectId/:mode`,name:`project-knowledge`,component:()=>Z(()=>import(`./KnowledgePage-DrRnvfrO.js`),__vite__mapDeps([71,1,42,15,2,3,4,24,5,12,25,26,27,30,20,43,17,44,45,35,29,31,32,33,34,36,46])),meta:{eyebrow:`KNOWLEDGE BASE`,title:`routes.knowledge.title`}},{path:`/knowledge/:scope/:spaceId/:mode`,name:`knowledge`,component:()=>Z(()=>import(`./KnowledgePage-DrRnvfrO.js`),__vite__mapDeps([71,1,42,15,2,3,4,24,5,12,25,26,27,30,20,43,17,44,45,35,29,31,32,33,34,36,46])),meta:{eyebrow:`KNOWLEDGE BASE`,title:`routes.knowledge.title`}},{path:`/review`,name:`review`,component:()=>Z(()=>import(`./ReviewPage-BfKG8Hgw.js`),__vite__mapDeps([72,1,15,2,3,4,26,27,35,31])),meta:{eyebrow:`REVIEW WORKSPACE`,title:`routes.review.title`,description:`routes.review.description`}},{path:`/connections`,name:`connections`,component:()=>Z(()=>import(`./ConnectionsPage-D0L5VcbN.js`),__vite__mapDeps([73,1,15,2,3,4,26,27,30,35,74])),meta:{eyebrow:`SERVICE CONNECTIONS`,title:`routes.connections.title`,description:`routes.connections.description`}},{path:`/settings`,name:`settings`,component:()=>Z(()=>import(`./SettingsPage-Clhe1bei.js`),__vite__mapDeps([75,1,15,2,3,4,24,26,27,30,67,32,76])),meta:{eyebrow:``,title:`routes.settings.title`}},{path:`/about`,name:`about`,component:()=>Z(()=>import(`./AboutPage-DC3Eu95G.js`),__vite__mapDeps([77,1,3,78,79])),meta:{eyebrow:`FULI`,title:`routes.about.title`}},{path:`/:pathMatch(.*)*`,name:`not-found`,component:()=>Z(()=>import(`./NotFoundPage-BcPx7tfG.js`),__vite__mapDeps([80,1,12,5])),meta:{title:`common.errors.pageNotFound`}}],scrollBehavior:(e,t,n)=>n??(e.path!==t.path&&{top:0})});Ae(Q),Q.beforeEach(e=>e.path!==`/`||typeof window>`u`?!0:an(window.location.hash)??!0),Q.afterEach(e=>{Ct(e.meta.title)});var $=g(en);$.use(N()),$.use(E),$.use(Q),await Q.isReady().catch(()=>void 0),$.mount(`#app`);
@@ -9,7 +9,7 @@
9
9
  />
10
10
  <link rel="icon" type="image/png" href="/assets/fuli-logo-ER1wQ8Kk.png" />
11
11
  <title>复利 · Context Graph</title>
12
- <script type="module" crossorigin src="/assets/index-DSUd-aqC.js"></script>
12
+ <script type="module" crossorigin src="/assets/index-pO9miMus.js"></script>
13
13
  <link rel="modulepreload" crossorigin href="/assets/i18n-DUTWmrzf.js">
14
14
  <link rel="modulepreload" crossorigin href="/assets/_plugin-vue_export-helper-BDNMzG2s.js">
15
15
  <link rel="modulepreload" crossorigin href="/assets/client-mT6kHxUd.js">
@@ -133,9 +133,9 @@ class StoreProjectAgentTasks(
133
133
  actor, request.personal_space_id, request.personal_project_id,
134
134
  )
135
135
  team_lead_agent_id = getattr(policy, 'team_lead_agent_id', None)
136
- # A configured team that cannot staff this client holds the task for a
137
- # user decision: nobody is added from outside the roster meanwhile.
138
- team_hold = reason == 'agent_unavailable' and bool(team_lead_agent_id)
136
+ # A qualified Agent unavailable to this client holds the task for a
137
+ # user decision, whether or not a project team is configured.
138
+ staffing_hold = reason == 'agent_unavailable'
139
139
  participants = []
140
140
  if lead:
141
141
  participants.append({
@@ -155,7 +155,7 @@ class StoreProjectAgentTasks(
155
155
  if (
156
156
  request.parallel_plan.enabled
157
157
  and request.staffing_intent != 'unassigned'
158
- and not team_hold
158
+ and not staffing_hold
159
159
  ):
160
160
  parallel_candidates = await self._parallel_staffing_candidates(
161
161
  request,
@@ -202,7 +202,7 @@ class StoreProjectAgentTasks(
202
202
  # A held task staffs nobody yet, so only its two-Agent minimum waits
203
203
  # for the user's decision; the boundary limit still applies.
204
204
  self._verify_parallel_plan(request.parallel_plan, projected_participants,
205
- require_staffed=not team_hold)
205
+ require_staffed=not staffing_hold)
206
206
 
207
207
  will_open_recruitment = (
208
208
  request.staffing_intent != 'unassigned'
@@ -368,7 +368,7 @@ class StoreProjectAgentTasks(
368
368
  routing_outcome = 'blocked'
369
369
  task_status = 'blocked'
370
370
  reason = 'hr_unavailable'
371
- self._verify_parallel_plan(request.parallel_plan, participants, require_staffed=not team_hold)
371
+ self._verify_parallel_plan(request.parallel_plan, participants, require_staffed=not staffing_hold)
372
372
 
373
373
  # Staffing a default lead executes nothing, so it needs no executor.
374
374
  executor_decision = None if request.staffing_intent == 'default_lead' else (
@@ -1,12 +1,12 @@
1
1
  {
2
2
  "name": "fuli-context",
3
- "version": "0.12.4",
3
+ "version": "0.20.0-beta.2",
4
4
  "lockfileVersion": 3,
5
5
  "requires": true,
6
6
  "packages": {
7
7
  "": {
8
8
  "name": "fuli-context",
9
- "version": "0.12.4",
9
+ "version": "0.20.0-beta.2",
10
10
  "license": "Apache-2.0",
11
11
  "dependencies": {
12
12
  "@a2a-js/sdk": "1.3.0",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fuli-context",
3
- "version": "0.20.0-beta.1",
3
+ "version": "0.20.0-beta.2",
4
4
  "description": "Local-first collaboration relationship graph for AI agents.",
5
5
  "type": "module",
6
6
  "files": [
@@ -7,9 +7,15 @@ export function legacyPreferenceSession(instruction) {
7
7
  : undefined;
8
8
  }
9
9
 
10
+ // A generated MCP process identity does not identify the user's conversation.
11
+ export function preferenceTaskSession(context = {}) {
12
+ return context.sessionId ?? (context.sourceSessionId?.startsWith('fuli-host-')
13
+ ? undefined : context.sourceSessionId);
14
+ }
15
+
10
16
  export function preferenceAppliesToTask(item, context = {}) {
11
17
  const qualifiers = { ...item.attributes, ...item.attributes?.preference_qualifiers, ...item.preference_qualifiers };
12
- const sessionId = context.sessionId ?? context.sourceSessionId;
18
+ const sessionId = preferenceTaskSession(context);
13
19
  const hasSessionCondition = ['sessionId', 'session_id', 'sessionIds', 'session_ids']
14
20
  .some(key => Object.hasOwn(qualifiers, key));
15
21
  const tests = [
@@ -1,5 +1,6 @@
1
1
  import { ApplicationError } from '../app/application-error.js';
2
2
  import { activeAgentRequestSignal } from '../app/agent-request-context.js';
3
+ import { preferenceTaskSession } from './preference-task-scope.js';
3
4
 
4
5
  const DEFAULT_REQUEST_TIMEOUT_MS = 30_000;
5
6
  const MAX_REQUEST_TIMEOUT_MS = 2_147_483_647;
@@ -715,7 +716,7 @@ export class GraphitiProviderClient {
715
716
  });
716
717
  if (personalProjectId) query.set('personal_project_id', personalProjectId);
717
718
  if (projectAgentId) query.set('project_agent_id', projectAgentId);
718
- for (const [key, value] of Object.entries({ session_id: taskScope.sessionId ?? taskScope.sourceSessionId,
719
+ for (const [key, value] of Object.entries({ session_id: preferenceTaskSession(taskScope),
719
720
  work_kind: taskScope.workKind, workflow: taskScope.workflow })) {
720
721
  if (value) query.set(key, value);
721
722
  }