fuli-context 0.7.5 → 0.7.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/web/assets/{AboutPage-ByCUor-j.js → AboutPage-sLV9WChi.js} +1 -1
- package/dist/web/assets/{ConnectionsPage-DkdkZ40Q.js → ConnectionsPage-BWn4ywGJ.js} +1 -1
- package/dist/web/assets/{KnowledgeEditDialog-DSe3Gwep.js → KnowledgeEditDialog-CZ5ziPrD.js} +1 -1
- package/dist/web/assets/{KnowledgeInspector-CYAjAb9J.js → KnowledgeInspector-CRQWOaos.js} +1 -1
- package/dist/web/assets/{KnowledgeOrganizerPage-CV4F54R_.js → KnowledgeOrganizerPage-Dfj3vIpU.js} +1 -1
- package/dist/web/assets/KnowledgePage-BRYC9S5Y.js +1 -0
- package/dist/web/assets/{KnowledgeWorkspace-z4u5mXOG.js → KnowledgeWorkspace-ChEB5Bwk.js} +1 -1
- package/dist/web/assets/{OverviewPage-BWOfeS6k.js → OverviewPage-Cd66M0RT.js} +1 -1
- package/dist/web/assets/{PersonalProfilePage-c3w4-h7a.js → PersonalProfilePage-RCFHL0Wz.js} +1 -1
- package/dist/web/assets/PersonalProjectsPage-DEh8XWby.js +1 -0
- package/dist/web/assets/ProjectAgentsPage-Crh7PrXa.css +1 -0
- package/dist/web/assets/ProjectAgentsPage-DPnaH-TR.js +11 -0
- package/dist/web/assets/{PublicProjectsPage-DdH0oGB3.js → PublicProjectsPage-mstPEjHe.js} +1 -1
- package/dist/web/assets/{ReviewPage-BYIpcIHG.js → ReviewPage-6Y1SmfZy.js} +1 -1
- package/dist/web/assets/{SearchableSelect-Dz13ClQb.js → SearchableSelect-D3HM8YF8.js} +1 -1
- package/dist/web/assets/{SettingsPage-2VkbXgZi.js → SettingsPage--LdTMUm7.js} +1 -1
- package/dist/web/assets/{WritingTastePage-BOPQZuva.js → WritingTastePage-CIpKswvs.js} +1 -1
- package/dist/web/assets/{console-BlAhujsH.js → console-BT1P2Db4.js} +1 -1
- package/dist/web/assets/{conversation-launcher-settings-DTYxiLJt.js → conversation-launcher-settings-DrJEotdf.js} +1 -1
- package/dist/web/assets/{i18n-Ci3heuiL.js → i18n-js6gfc7j.js} +2 -2
- package/dist/web/assets/{identity-4_-v6cB7.js → identity-CfDfanpa.js} +1 -1
- package/dist/web/assets/{index-C67Q0JY2.js → index-GqJf1xqg.js} +2 -2
- package/dist/web/assets/{model-yG0YqUyZ.js → model-DJkLAJsg.js} +1 -1
- package/dist/web/assets/{useApi-CROJJdhE-twhdZArA.js → useApi-CROJJdhE-BdSti7Y2.js} +1 -1
- package/dist/web/assets/{vue-router-C-wot_Di.js → vue-router-Kk67EaCP.js} +1 -1
- package/dist/web/index.html +5 -5
- package/graph-provider/fuli_graph/project_agent_coordination_models.py +22 -0
- package/graph-provider/fuli_graph/project_agent_routes.py +29 -0
- package/graph-provider/fuli_graph/project_agent_task_models.py +3 -0
- package/graph-provider/fuli_graph/store_project_agent_coordination_policy.py +122 -0
- package/graph-provider/fuli_graph/store_project_agent_task_recruitment.py +9 -3
- package/graph-provider/fuli_graph/store_project_agent_task_staffing.py +177 -0
- package/graph-provider/fuli_graph/store_project_agent_tasks.py +7 -0
- package/graph-provider/pyproject.toml +1 -1
- package/npm-shrinkwrap.json +2 -2
- package/package.json +1 -1
- package/src/agent-tools/graph-definitions.js +23 -0
- package/src/agent-tools/graph-handlers.js +4 -0
- package/src/graphiti/project-agent-control-plane.js +12 -0
- package/src/graphiti/project-agent-mapping.js +21 -0
- package/src/graphiti/project-agent-workflows.js +19 -0
- package/src/graphiti/provider-client.js +12 -0
- package/src/http/graph-api-router.js +12 -0
- package/src/mcp/tool-annotations.js +2 -0
- package/dist/web/assets/KnowledgePage-vYYXipOi.js +0 -1
- package/dist/web/assets/PersonalProjectsPage-B7AlLEwf.js +0 -1
- package/dist/web/assets/ProjectAgentsPage-CgftpIPB.css +0 -1
- package/dist/web/assets/ProjectAgentsPage-DTHcL_ox.js +0 -11
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as e}from"./i18n-
|
|
1
|
+
import{a as e}from"./i18n-js6gfc7j.js";var t=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;function n(n,r=18){let i=String(n??``).trim();if(!i)return e(`common.status.notRecorded`);if(i.length<=r)return i;if(t.test(i))return i.slice(0,8);let a=Math.max(7,Math.ceil((r-1)*.58)),o=Math.max(4,r-a-1);return`${i.slice(0,a)}…${i.slice(-o)}`}function r(e){let t=String(e??``).trim();return`${t} ${n(t)}`}function i(e){let t=e?.attributes?.projectId;return n(t||e?.id,t?26:18)}export{i as n,r,n as t};
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/OverviewPage-
|
|
2
|
-
import{A as e,C as t,F as n,L as r,N as i,O as a,R as o,S as s,Y as c,_ as l,a as u,et as d,f,g as p,h as m,i as h,j as g,k as _,m as v,n as y,o as b,p as x,r as S,rt as C,t as w,tt as T,v as E,x as ee,y as D,z as O}from"./i18n-Ci3heuiL.js";import{s as k,t as te}from"./console-BlAhujsH.js";import{m as ne}from"./useApi-CROJJdhE-twhdZArA.js";import{i as A,n as re,r as j,t as M}from"./vue-router-C-wot_Di.js";import{t as N}from"./fuli-logo-Bu9WBuQe.js";import{t as P}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{n as ie,t as ae}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 F={name:`fuli-context`,version:`0.7.5`,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`,`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`],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`,"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://github.com/JevonsCode/fuli#readme`,bugs:{url:`https://github.com/JevonsCode/fuli/issues`},publishConfig:{access:`public`},license:`Apache-2.0`,dependencies:{"@hono/node-server":`2.0.12`,"@modelcontextprotocol/sdk":`^1.29.0`,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.9`,d3:`^7.9.0`,gsap:`^3.15.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.40`,"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.5`}}.version,I=[`aria-label`],L={class:`brand-mark-wrap`},R=[`src`],z={class:`brand-copy`},B={class:`brand-title-row`},oe={class:`brand-name`},se={class:`brand-version`},V={class:`brand-title-row`},H={class:`brand-name`},U={class:`brand-version`},W=P(t({__name:`BrandEasterEgg`,setup(t){let n=c(0),r=c(!1),i=c(!1),a=!1;function o(){n.value+=1,r.value=!0}function s(){r.value=!1}function l(){a=!1,i.value=!1}function f(e){e.key===`Tab`&&(a=!0)}function m(){i.value=a}function h(){i.value=!1}return e(()=>{window.addEventListener(`pointerdown`,l,!0),window.addEventListener(`keydown`,f,!0)}),_(()=>{window.removeEventListener(`pointerdown`,l,!0),window.removeEventListener(`keydown`,f,!0)}),(e,t)=>(g(),D(`button`,{class:T([`brand-block`,{"is-sparkling":r.value,"is-keyboard-focused":i.value}]),type:`button`,"aria-label":d(u)(`console.brandEffect.aria`),onClick:o,onFocus:m,onBlur:h},[p(`span`,L,[p(`img`,{class:`brand-mark`,src:d(N),alt:``,"aria-hidden":`true`},null,8,R),r.value?(g(),D(`span`,{key:`orbit-${n.value}`,class:`brand-orbit`,"aria-hidden":`true`})):E(``,!0)]),p(`span`,z,[p(`span`,B,[p(`span`,oe,C(d(u)(`common.brand`)),1),p(`span`,se,`v`+C(d(F)),1)]),t[0]||=p(`span`,{class:`brand-subtitle`},`Context Graph`,-1),r.value?(g(),D(`span`,{key:`copy-reflection-${n.value}`,class:`brand-copy-reflection`,"aria-hidden":`true`,onAnimationend:x(s,[`self`])},[p(`span`,V,[p(`span`,H,C(d(u)(`common.brand`)),1),p(`span`,U,`v`+C(d(F)),1)])],32)):E(``,!0)])],42,I))}}),[[`__scopeId`,`data-v-efd904c7`]]),G=[`aria-label`],K=[`lang`,`aria-label`,`aria-pressed`,`onClick`],ce=t({__name:`LocaleSwitcher`,setup(e){let t=m(()=>y()),n={"zh-CN":`中`,"en-US":`EN`};function r(e){e!==t.value&&h(e)}return(e,a)=>(g(),D(`div`,{class:`locale-switcher`,role:`group`,"aria-label":d(u)(`common.language.label`)},[(g(!0),D(v,null,i(d(w),e=>(g(),D(`button`,{key:e,type:`button`,lang:e,"aria-label":d(u)(e===`zh-CN`?`common.language.chinese`:`common.language.english`),"aria-pressed":t.value===e,onClick:t=>r(e)},C(n[e]),9,K))),128))],8,G))}}),le=[`routes.`,`common.`];function q(e,t=``){let n=typeof e==`string`&&e?e:t;return le.some(e=>n.startsWith(e))?u(n):n}function J(e){if(typeof document>`u`)return;let t=q(e,`routes.overview.title`);document.title=`${t} · ${u(`common.brand`)}`}var ue={class:`app-shell`},de=[`onKeydown`],fe=[`aria-label`],pe={class:`nav-section-label`},me={class:`nav-label`},he={class:`nav-section-label nav-space-label`},ge={class:`nav-copy`},_e={class:`nav-copy`},ve={class:`nav-copy`},ye={class:`nav-copy`},be={class:`nav-section-label nav-public-label`},xe={class:`nav-copy`},Se={class:`nav-section-label nav-tool-label`},Ce={class:`nav-label`},we={class:`nav-label`},Te={class:`nav-label`},Ee={class:`nav-section-label nav-about-label`},De={class:`nav-label`},Oe={class:`nav-label`},ke={class:`sidebar-foot`},Ae=[`aria-label`],je={class:`runtime-status`},Me={class:`runtime-status`},Ne={class:`workspace`},Pe={class:`topbar`},Fe=[`aria-expanded`],Ie={class:`topbar-heading`},Le={key:0,class:`eyebrow`},Re={key:1,class:`topbar-description`},Y={class:`topbar-actions`},ze={key:0,class:`mode-chip`},Be={key:1,class:`settings-save-button`,form:`settings-form`,type:`submit`},Ve=t({__name:`ConsoleLayout`,setup(t){let i=te(),h=ne(),_=c(!1),y=c(null),b=c(null),S=m(()=>i.activePersonalSpace?.id??`current`),w=m(()=>ie(S.value,`graph`)),k=m(()=>ae(`personal`,S.value,`directory`)),A=m(()=>q(h.meta.title,`routes.overview.title`)),j=m(()=>String(h.meta.eyebrow??`LOCAL + FEDERATED`)),N=m(()=>q(h.meta.description)),P=m(()=>i.publicRuntimeStatus===`ready`),F=m(()=>i.publicRuntimeStatus===`ready`?u(`console.services.publicReady`):i.publicRuntimeStatus===`error`?u(`console.services.publicError`):u(`console.services.publicOffline`)),I=m(()=>{if(i.publicRuntimeStatus===`ready`){let e=i.state?.capabilities;return e?.browsePublicProjects&&e?.subscribeProject&&!e?.publishProject&&!e?.submitKnowledge&&!e?.reviewProposals?u(`console.services.publicBrowseSubscribe`):u(`console.services.publicAvailable`)}return i.publicRuntimeStatus===`error`?u(`console.services.localUnaffected`):u(`console.services.localOnly`)}),L=m(()=>i.state?.capabilities?.browsePublicProjects!==!1),R=m(()=>{let e=i.state?.capabilities;return e?.submitKnowledge!==!1||e?.reviewProposals===!0});e(()=>{i.runtimeStatus===`idle`&&i.refresh()}),o(()=>{J(h.meta.title)}),r(()=>h.fullPath,()=>{_.value=!1});async function z(){_.value=!0,await a(),b.value?.focus({preventScroll:!0})}async function B(){_.value=!1,await a(),y.value?.focus({preventScroll:!0})}return(e,t)=>(g(),D(`div`,ue,[p(`aside`,{id:`console-primary-sidebar`,class:T([`sidebar`,{"is-mobile-open":_.value}]),onKeydown:f(x(B,[`stop`]),[`esc`])},[p(`button`,{ref_key:`mobileNavCloseRef`,ref:b,class:`mobile-nav-close quiet-button`,type:`button`,onClick:B},C(d(u)(`console.navigation.closeMenu`)),513),s(W),p(`nav`,{class:`primary-nav`,"aria-label":d(u)(`console.navigation.aria`)},[p(`p`,pe,C(d(u)(`console.navigation.workspace`)),1),s(d(M),{to:`/`,"exact-active-class":`is-active`},{default:O(()=>[t[2]||=p(`span`,{class:`nav-icon nav-icon-overview`,"aria-hidden":`true`},null,-1),p(`span`,me,C(d(u)(`console.navigation.overview`)),1)]),_:1}),p(`p`,he,C(d(u)(`console.navigation.personalSpace`)),1),s(d(M),{class:`space-nav-button personal-profile-button`,to:`/preferences`,"active-class":`is-active`},{default:O(()=>[t[3]||=p(`span`,{class:`nav-icon nav-icon-personal-profile`,"aria-hidden":`true`},null,-1),p(`span`,ge,[p(`strong`,null,C(d(u)(`console.navigation.preferences`)),1),p(`small`,null,C(d(u)(`console.navigation.preferencesMeta`)),1)])]),_:1}),s(d(M),{class:`space-nav-button knowledge-organizer-button`,to:`/organize`,"active-class":`is-active`},{default:O(()=>[t[4]||=p(`span`,{class:`nav-icon nav-icon-knowledge-organizer`,"aria-hidden":`true`},null,-1),p(`span`,_e,[p(`strong`,null,C(d(u)(`console.navigation.organizer`)),1),p(`small`,null,C(d(u)(`console.navigation.organizerMeta`)),1)])]),_:1}),s(d(M),{class:`space-nav-button personal-space-button`,to:w.value,"active-class":`is-active`},{default:O(()=>[t[5]||=p(`span`,{class:`nav-icon nav-icon-personal-project`,"aria-hidden":`true`},null,-1),p(`span`,ve,[p(`strong`,null,C(d(u)(`console.navigation.personalProjects`)),1),p(`small`,null,C(d(u)(`console.navigation.personalProjectsMeta`)),1)])]),_:1},8,[`to`]),s(d(M),{class:`space-nav-button project-agents-button`,to:`/project-agents`,"active-class":`is-active`},{default:O(()=>[t[6]||=p(`span`,{class:`nav-icon nav-icon-project-agent`,"aria-hidden":`true`},null,-1),p(`span`,ye,[p(`strong`,null,C(d(u)(`console.navigation.projectAgents`)),1),p(`small`,null,C(d(u)(`console.navigation.projectAgentsMeta`)),1)])]),_:1}),L.value?(g(),D(v,{key:0},[p(`p`,be,C(d(u)(`console.navigation.publicSpace`)),1),s(d(M),{class:`space-nav-button public-space-button`,to:`/public-projects`,"active-class":`is-active`},{default:O(()=>[t[7]||=p(`span`,{class:`nav-icon nav-icon-public-project`,"aria-hidden":`true`},null,-1),p(`span`,xe,[p(`strong`,null,C(d(u)(`console.navigation.publicProjects`)),1),p(`small`,null,C(d(u)(`console.navigation.publicProjectsMeta`)),1)])]),_:1})],64)):E(``,!0),p(`p`,Se,C(d(u)(`console.navigation.governance`)),1),s(d(M),{to:k.value,"active-class":`is-active`},{default:O(()=>[t[8]||=p(`span`,{class:`nav-icon nav-icon-knowledge-graph`,"aria-hidden":`true`},null,-1),p(`span`,Ce,C(d(u)(`console.navigation.knowledge`)),1)]),_:1},8,[`to`]),R.value?(g(),l(d(M),{key:1,to:`/review`,"active-class":`is-active`},{default:O(()=>[t[9]||=p(`span`,{class:`nav-icon nav-icon-review`,"aria-hidden":`true`},null,-1),p(`span`,we,C(d(u)(`console.navigation.review`)),1)]),_:1})):E(``,!0),s(d(M),{to:`/connections`,"active-class":`is-active`},{default:O(()=>[t[10]||=p(`span`,{class:`nav-icon nav-icon-connections`,"aria-hidden":`true`},null,-1),p(`span`,Te,C(d(u)(`console.navigation.connections`)),1)]),_:1}),p(`p`,Ee,C(d(u)(`console.navigation.aboutSection`)),1),s(d(M),{to:`/settings`,"active-class":`is-active`},{default:O(()=>[t[11]||=p(`span`,{class:`nav-icon nav-icon-settings`,"aria-hidden":`true`},null,-1),p(`span`,De,C(d(u)(`console.navigation.settings`)),1)]),_:1}),s(d(M),{to:`/about`,"active-class":`is-active`},{default:O(()=>[t[12]||=p(`span`,{class:`nav-icon nav-icon-about`,"aria-hidden":`true`},null,-1),p(`span`,Oe,C(d(u)(`console.navigation.about`)),1)]),_:1})],8,fe),p(`div`,ke,[p(`div`,{class:`service-runtime-list`,"aria-label":d(u)(`console.services.aria`)},[p(`div`,je,[p(`span`,{class:T([`status-dot`,d(i).runtimeStatus])},null,2),p(`div`,null,[p(`strong`,null,C(d(i).runtimeStatus===`ready`?d(u)(`console.services.localReady`):d(i).runtimeStatus===`error`?d(u)(`console.services.localError`):d(u)(`console.services.localConnecting`)),1),t[13]||=p(`small`,null,`Graphiti / Neo4j`,-1)])]),p(`div`,Me,[p(`span`,{class:T([`status-dot`,d(i).publicRuntimeStatus])},null,2),p(`div`,null,[p(`strong`,null,C(F.value),1),p(`small`,null,C(I.value),1)])])],8,Ae)])],42,de),p(`main`,Ne,[p(`header`,Pe,[p(`button`,{ref_key:`mobileNavToggleRef`,ref:y,class:`mobile-nav-toggle quiet-button`,type:`button`,"aria-controls":`console-primary-sidebar`,"aria-expanded":_.value,onClick:z},[t[14]||=p(`span`,{class:`mobile-nav-icon`,"aria-hidden":`true`},null,-1),ee(` `+C(d(u)(`console.navigation.openMenu`)),1)],8,Fe),p(`div`,Ie,[j.value?(g(),D(`p`,Le,C(j.value),1)):E(``,!0),p(`h2`,null,C(A.value),1),N.value?(g(),D(`p`,Re,C(N.value),1)):E(``,!0)]),p(`div`,Y,[P.value?(g(),D(`span`,ze,C(d(u)(`console.publicReady`)),1)):E(``,!0),d(h).name===`settings`?(g(),D(`button`,Be,C(d(u)(`settings.save`)),1)):E(``,!0),s(ce),p(`button`,{class:`quiet-button`,type:`button`,onClick:t[0]||=(...e)=>d(i).refresh&&d(i).refresh(...e)},C(d(u)(`common.actions.refresh`)),1)])]),d(i).feedback?(g(),D(`button`,{key:0,class:T([`feedback feedback-button`,{success:d(i).feedback.tone===`success`}]),type:`button`,"aria-live":`polite`,onClick:t[1]||=(...e)=>d(i).clearFeedback&&d(i).clearFeedback(...e)},C(d(i).feedback.message),3)):E(``,!0),s(d(re),null,{default:O(({Component:e})=>[(g(),l(n(e)))]),_:1})])]))}}),He=t({__name:`App`,setup(e){return(e,t)=>(g(),l(Ve))}}),Ue=`modulepreload`,We=function(e){return`/`+e},X={},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=We(t,n),t=s(t),t in X)return;X[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`:Ue,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 Ge(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=j({history:A(`/`),routes:[{path:`/`,name:`overview`,component:()=>Z(()=>import(`./OverviewPage-BWOfeS6k.js`),__vite__mapDeps([0,1,2,3,4,5])),meta:{eyebrow:``,title:`routes.overview.title`}},{path:`/preferences`,name:`personal-profile`,component:()=>Z(()=>import(`./PersonalProfilePage-c3w4-h7a.js`),__vite__mapDeps([6,1,2,3,4,7,8,9,10,11,12,13,14,15,16])),meta:{eyebrow:`PERSONAL LENS`,title:`routes.preferences.title`,description:`routes.preferences.description`}},{path:`/preferences/writing`,name:`writing-taste`,component:()=>Z(()=>import(`./WritingTastePage-BOPQZuva.js`),__vite__mapDeps([17,1,2,3,4,7,9,8,10,11,12,18])),meta:{eyebrow:``,title:`routes.writingTaste.title`}},{path:`/personal/:spaceId/projects/:projectId/:mode/:itemKind/:itemId`,name:`personal-project-item`,component:()=>Z(()=>import(`./PersonalProjectsPage-B7AlLEwf.js`),__vite__mapDeps([19,1,20,2,4,3,5,8,10,9,7,11,12,13,14,15])),meta:{eyebrow:`PERSONAL PROJECT`,title:`routes.personalProjects.title`}},{path:`/personal/:spaceId/projects/:mode/:itemKind/:itemId`,name:`personal-projects-item`,component:()=>Z(()=>import(`./PersonalProjectsPage-B7AlLEwf.js`),__vite__mapDeps([19,1,20,2,4,3,5,8,10,9,7,11,12,13,14,15])),meta:{eyebrow:`PERSONAL PROJECTS`,title:`routes.personalProjects.title`,description:`routes.personalProjects.description`}},{path:`/personal/:spaceId/projects/:mode`,name:`personal-projects`,component:()=>Z(()=>import(`./PersonalProjectsPage-B7AlLEwf.js`),__vite__mapDeps([19,1,20,2,4,3,5,8,10,9,7,11,12,13,14,15])),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-B7AlLEwf.js`),__vite__mapDeps([19,1,20,2,4,3,5,8,10,9,7,11,12,13,14,15])),meta:{eyebrow:`PERSONAL PROJECT`,title:`routes.personalProjects.title`}},{path:`/organize`,name:`knowledge-organizer`,component:()=>Z(()=>import(`./KnowledgeOrganizerPage-CV4F54R_.js`),__vite__mapDeps([21,1,2,7,8,10,9,11,12,13,14,15,22])),meta:{eyebrow:`KNOWLEDGE CLASSIFICATION`,title:`routes.organizer.title`}},{path:`/project-agents`,name:`project-agents`,component:()=>Z(()=>import(`./ProjectAgentsPage-DTHcL_ox.js`),__vite__mapDeps([23,1,2,7,8,24])),meta:{eyebrow:``,title:`routes.projectAgents.title`}},{path:`/public-projects`,name:`public-projects`,component:()=>Z(()=>import(`./PublicProjectsPage-DdH0oGB3.js`),__vite__mapDeps([25,1,2,4,5,8,10])),meta:{eyebrow:`PUBLIC PROJECTS`,title:`routes.publicProjects.title`,description:`routes.publicProjects.description`}},{path:`/knowledge`,name:`knowledge-default`,component:()=>Z(()=>import(`./KnowledgePage-vYYXipOi.js`),__vite__mapDeps([26,1,20,2,4,3,5,8,10,9,7,11,12,13,14,15])),meta:{eyebrow:`KNOWLEDGE BASE`,title:`routes.knowledge.title`}},{path:`/knowledge/:scope/:spaceId/:projectId/:mode/:itemKind/:itemId`,name:`project-knowledge-item`,component:()=>Z(()=>import(`./KnowledgePage-vYYXipOi.js`),__vite__mapDeps([26,1,20,2,4,3,5,8,10,9,7,11,12,13,14,15])),meta:{eyebrow:`KNOWLEDGE BASE`,title:`routes.knowledge.title`}},{path:`/knowledge/:scope/:spaceId/:mode/:itemKind/:itemId`,name:`knowledge-item`,component:()=>Z(()=>import(`./KnowledgePage-vYYXipOi.js`),__vite__mapDeps([26,1,20,2,4,3,5,8,10,9,7,11,12,13,14,15])),meta:{eyebrow:`KNOWLEDGE BASE`,title:`routes.knowledge.title`}},{path:`/knowledge/:scope/:spaceId/:projectId/:mode`,name:`project-knowledge`,component:()=>Z(()=>import(`./KnowledgePage-vYYXipOi.js`),__vite__mapDeps([26,1,20,2,4,3,5,8,10,9,7,11,12,13,14,15])),meta:{eyebrow:`KNOWLEDGE BASE`,title:`routes.knowledge.title`}},{path:`/knowledge/:scope/:spaceId/:mode`,name:`knowledge`,component:()=>Z(()=>import(`./KnowledgePage-vYYXipOi.js`),__vite__mapDeps([26,1,20,2,4,3,5,8,10,9,7,11,12,13,14,15])),meta:{eyebrow:`KNOWLEDGE BASE`,title:`routes.knowledge.title`}},{path:`/review`,name:`review`,component:()=>Z(()=>import(`./ReviewPage-BYIpcIHG.js`),__vite__mapDeps([27,1,2,8,10,11])),meta:{eyebrow:`REVIEW WORKSPACE`,title:`routes.review.title`,description:`routes.review.description`}},{path:`/connections`,name:`connections`,component:()=>Z(()=>import(`./ConnectionsPage-DkdkZ40Q.js`),__vite__mapDeps([28,1,2,7,8,10,29])),meta:{eyebrow:`SERVICE CONNECTIONS`,title:`routes.connections.title`,description:`routes.connections.description`}},{path:`/settings`,name:`settings`,component:()=>Z(()=>import(`./SettingsPage-2VkbXgZi.js`),__vite__mapDeps([30,1,2,7,8,14,31])),meta:{eyebrow:``,title:`routes.settings.title`}},{path:`/about`,name:`about`,component:()=>Z(()=>import(`./AboutPage-ByCUor-j.js`),__vite__mapDeps([32,1,33,7,34])),meta:{eyebrow:`FULI`,title:`routes.about.title`}},{path:`/:pathMatch(.*)*`,redirect:`/`}],scrollBehavior:()=>({top:0})});Q.beforeEach(e=>e.path!==`/`||typeof window>`u`?!0:Ge(window.location.hash)??!0),Q.afterEach(e=>{J(e.meta.title)});var $=b(He);$.use(k()),$.use(S),$.use(Q),await Q.isReady(),$.mount(`#app`);
|
|
1
|
+
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/OverviewPage-Cd66M0RT.js","assets/i18n-js6gfc7j.js","assets/console-BT1P2Db4.js","assets/vue-router-Kk67EaCP.js","assets/useApi-CROJJdhE-BdSti7Y2.js","assets/paths-CDREouhi.js","assets/PersonalProfilePage-RCFHL0Wz.js","assets/_plugin-vue_export-helper-BDNMzG2s.js","assets/SearchableSelect-D3HM8YF8.js","assets/KnowledgeEditDialog-CZ5ziPrD.js","assets/identity-CfDfanpa.js","assets/model-DJkLAJsg.js","assets/KnowledgeEditDialog-DWUV_NPp.css","assets/KnowledgeInspector-CRQWOaos.js","assets/conversation-launcher-settings-DrJEotdf.js","assets/KnowledgeInspector--1NujtXW.css","assets/PersonalProfilePage-B7T09bow.css","assets/WritingTastePage-CIpKswvs.js","assets/WritingTastePage-DSgvTH6x.css","assets/PersonalProjectsPage-DEh8XWby.js","assets/KnowledgeWorkspace-ChEB5Bwk.js","assets/KnowledgeOrganizerPage-Dfj3vIpU.js","assets/KnowledgeOrganizerPage-Cx1w1jb2.css","assets/ProjectAgentsPage-DPnaH-TR.js","assets/ProjectAgentsPage-Crh7PrXa.css","assets/PublicProjectsPage-mstPEjHe.js","assets/KnowledgePage-BRYC9S5Y.js","assets/ReviewPage-6Y1SmfZy.js","assets/ConnectionsPage-BWn4ywGJ.js","assets/ConnectionsPage-CBHAdZXT.css","assets/SettingsPage--LdTMUm7.js","assets/SettingsPage-CwZp2ka4.css","assets/AboutPage-sLV9WChi.js","assets/fuli-logo-Bu9WBuQe.js","assets/AboutPage-DXh7Fwxt.css"])))=>i.map(i=>d[i]);
|
|
2
|
+
import{A as e,C as t,F as n,L as r,N as i,O as a,R as o,S as s,Y as c,_ as l,a as u,et as d,f,g as p,h as m,i as h,j as g,k as _,m as v,n as y,o as b,p as x,r as S,rt as C,t as w,tt as T,v as E,x as ee,y as D,z as O}from"./i18n-js6gfc7j.js";import{s as k,t as te}from"./console-BT1P2Db4.js";import{m as ne}from"./useApi-CROJJdhE-BdSti7Y2.js";import{i as A,n as re,r as j,t as M}from"./vue-router-Kk67EaCP.js";import{t as N}from"./fuli-logo-Bu9WBuQe.js";import{t as P}from"./_plugin-vue_export-helper-BDNMzG2s.js";import{n as ie,t as ae}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 F={name:`fuli-context`,version:`0.7.6`,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`,`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`],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`,"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://github.com/JevonsCode/fuli#readme`,bugs:{url:`https://github.com/JevonsCode/fuli/issues`},publishConfig:{access:`public`},license:`Apache-2.0`,dependencies:{"@hono/node-server":`2.0.12`,"@modelcontextprotocol/sdk":`^1.29.0`,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.9`,d3:`^7.9.0`,gsap:`^3.15.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.40`,"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.5`}}.version,I=[`aria-label`],L={class:`brand-mark-wrap`},R=[`src`],z={class:`brand-copy`},B={class:`brand-title-row`},oe={class:`brand-name`},se={class:`brand-version`},V={class:`brand-title-row`},H={class:`brand-name`},U={class:`brand-version`},W=P(t({__name:`BrandEasterEgg`,setup(t){let n=c(0),r=c(!1),i=c(!1),a=!1;function o(){n.value+=1,r.value=!0}function s(){r.value=!1}function l(){a=!1,i.value=!1}function f(e){e.key===`Tab`&&(a=!0)}function m(){i.value=a}function h(){i.value=!1}return e(()=>{window.addEventListener(`pointerdown`,l,!0),window.addEventListener(`keydown`,f,!0)}),_(()=>{window.removeEventListener(`pointerdown`,l,!0),window.removeEventListener(`keydown`,f,!0)}),(e,t)=>(g(),D(`button`,{class:T([`brand-block`,{"is-sparkling":r.value,"is-keyboard-focused":i.value}]),type:`button`,"aria-label":d(u)(`console.brandEffect.aria`),onClick:o,onFocus:m,onBlur:h},[p(`span`,L,[p(`img`,{class:`brand-mark`,src:d(N),alt:``,"aria-hidden":`true`},null,8,R),r.value?(g(),D(`span`,{key:`orbit-${n.value}`,class:`brand-orbit`,"aria-hidden":`true`})):E(``,!0)]),p(`span`,z,[p(`span`,B,[p(`span`,oe,C(d(u)(`common.brand`)),1),p(`span`,se,`v`+C(d(F)),1)]),t[0]||=p(`span`,{class:`brand-subtitle`},`Context Graph`,-1),r.value?(g(),D(`span`,{key:`copy-reflection-${n.value}`,class:`brand-copy-reflection`,"aria-hidden":`true`,onAnimationend:x(s,[`self`])},[p(`span`,V,[p(`span`,H,C(d(u)(`common.brand`)),1),p(`span`,U,`v`+C(d(F)),1)])],32)):E(``,!0)])],42,I))}}),[[`__scopeId`,`data-v-efd904c7`]]),G=[`aria-label`],K=[`lang`,`aria-label`,`aria-pressed`,`onClick`],ce=t({__name:`LocaleSwitcher`,setup(e){let t=m(()=>y()),n={"zh-CN":`中`,"en-US":`EN`};function r(e){e!==t.value&&h(e)}return(e,a)=>(g(),D(`div`,{class:`locale-switcher`,role:`group`,"aria-label":d(u)(`common.language.label`)},[(g(!0),D(v,null,i(d(w),e=>(g(),D(`button`,{key:e,type:`button`,lang:e,"aria-label":d(u)(e===`zh-CN`?`common.language.chinese`:`common.language.english`),"aria-pressed":t.value===e,onClick:t=>r(e)},C(n[e]),9,K))),128))],8,G))}}),le=[`routes.`,`common.`];function q(e,t=``){let n=typeof e==`string`&&e?e:t;return le.some(e=>n.startsWith(e))?u(n):n}function J(e){if(typeof document>`u`)return;let t=q(e,`routes.overview.title`);document.title=`${t} · ${u(`common.brand`)}`}var ue={class:`app-shell`},de=[`onKeydown`],fe=[`aria-label`],pe={class:`nav-section-label`},me={class:`nav-label`},he={class:`nav-section-label nav-space-label`},ge={class:`nav-copy`},_e={class:`nav-copy`},ve={class:`nav-copy`},ye={class:`nav-copy`},be={class:`nav-section-label nav-public-label`},xe={class:`nav-copy`},Se={class:`nav-section-label nav-tool-label`},Ce={class:`nav-label`},we={class:`nav-label`},Te={class:`nav-label`},Ee={class:`nav-section-label nav-about-label`},De={class:`nav-label`},Oe={class:`nav-label`},ke={class:`sidebar-foot`},Ae=[`aria-label`],je={class:`runtime-status`},Me={class:`runtime-status`},Ne={class:`workspace`},Pe={class:`topbar`},Fe=[`aria-expanded`],Ie={class:`topbar-heading`},Le={key:0,class:`eyebrow`},Re={key:1,class:`topbar-description`},Y={class:`topbar-actions`},ze={key:0,class:`mode-chip`},Be={key:1,class:`settings-save-button`,form:`settings-form`,type:`submit`},Ve=t({__name:`ConsoleLayout`,setup(t){let i=te(),h=ne(),_=c(!1),y=c(null),b=c(null),S=m(()=>i.activePersonalSpace?.id??`current`),w=m(()=>ie(S.value,`graph`)),k=m(()=>ae(`personal`,S.value,`directory`)),A=m(()=>q(h.meta.title,`routes.overview.title`)),j=m(()=>String(h.meta.eyebrow??`LOCAL + FEDERATED`)),N=m(()=>q(h.meta.description)),P=m(()=>i.publicRuntimeStatus===`ready`),F=m(()=>i.publicRuntimeStatus===`ready`?u(`console.services.publicReady`):i.publicRuntimeStatus===`error`?u(`console.services.publicError`):u(`console.services.publicOffline`)),I=m(()=>{if(i.publicRuntimeStatus===`ready`){let e=i.state?.capabilities;return e?.browsePublicProjects&&e?.subscribeProject&&!e?.publishProject&&!e?.submitKnowledge&&!e?.reviewProposals?u(`console.services.publicBrowseSubscribe`):u(`console.services.publicAvailable`)}return i.publicRuntimeStatus===`error`?u(`console.services.localUnaffected`):u(`console.services.localOnly`)}),L=m(()=>i.state?.capabilities?.browsePublicProjects!==!1),R=m(()=>{let e=i.state?.capabilities;return e?.submitKnowledge!==!1||e?.reviewProposals===!0});e(()=>{i.runtimeStatus===`idle`&&i.refresh()}),o(()=>{J(h.meta.title)}),r(()=>h.fullPath,()=>{_.value=!1});async function z(){_.value=!0,await a(),b.value?.focus({preventScroll:!0})}async function B(){_.value=!1,await a(),y.value?.focus({preventScroll:!0})}return(e,t)=>(g(),D(`div`,ue,[p(`aside`,{id:`console-primary-sidebar`,class:T([`sidebar`,{"is-mobile-open":_.value}]),onKeydown:f(x(B,[`stop`]),[`esc`])},[p(`button`,{ref_key:`mobileNavCloseRef`,ref:b,class:`mobile-nav-close quiet-button`,type:`button`,onClick:B},C(d(u)(`console.navigation.closeMenu`)),513),s(W),p(`nav`,{class:`primary-nav`,"aria-label":d(u)(`console.navigation.aria`)},[p(`p`,pe,C(d(u)(`console.navigation.workspace`)),1),s(d(M),{to:`/`,"exact-active-class":`is-active`},{default:O(()=>[t[2]||=p(`span`,{class:`nav-icon nav-icon-overview`,"aria-hidden":`true`},null,-1),p(`span`,me,C(d(u)(`console.navigation.overview`)),1)]),_:1}),p(`p`,he,C(d(u)(`console.navigation.personalSpace`)),1),s(d(M),{class:`space-nav-button personal-profile-button`,to:`/preferences`,"active-class":`is-active`},{default:O(()=>[t[3]||=p(`span`,{class:`nav-icon nav-icon-personal-profile`,"aria-hidden":`true`},null,-1),p(`span`,ge,[p(`strong`,null,C(d(u)(`console.navigation.preferences`)),1),p(`small`,null,C(d(u)(`console.navigation.preferencesMeta`)),1)])]),_:1}),s(d(M),{class:`space-nav-button knowledge-organizer-button`,to:`/organize`,"active-class":`is-active`},{default:O(()=>[t[4]||=p(`span`,{class:`nav-icon nav-icon-knowledge-organizer`,"aria-hidden":`true`},null,-1),p(`span`,_e,[p(`strong`,null,C(d(u)(`console.navigation.organizer`)),1),p(`small`,null,C(d(u)(`console.navigation.organizerMeta`)),1)])]),_:1}),s(d(M),{class:`space-nav-button personal-space-button`,to:w.value,"active-class":`is-active`},{default:O(()=>[t[5]||=p(`span`,{class:`nav-icon nav-icon-personal-project`,"aria-hidden":`true`},null,-1),p(`span`,ve,[p(`strong`,null,C(d(u)(`console.navigation.personalProjects`)),1),p(`small`,null,C(d(u)(`console.navigation.personalProjectsMeta`)),1)])]),_:1},8,[`to`]),s(d(M),{class:`space-nav-button project-agents-button`,to:`/project-agents`,"active-class":`is-active`},{default:O(()=>[t[6]||=p(`span`,{class:`nav-icon nav-icon-project-agent`,"aria-hidden":`true`},null,-1),p(`span`,ye,[p(`strong`,null,C(d(u)(`console.navigation.projectAgents`)),1),p(`small`,null,C(d(u)(`console.navigation.projectAgentsMeta`)),1)])]),_:1}),L.value?(g(),D(v,{key:0},[p(`p`,be,C(d(u)(`console.navigation.publicSpace`)),1),s(d(M),{class:`space-nav-button public-space-button`,to:`/public-projects`,"active-class":`is-active`},{default:O(()=>[t[7]||=p(`span`,{class:`nav-icon nav-icon-public-project`,"aria-hidden":`true`},null,-1),p(`span`,xe,[p(`strong`,null,C(d(u)(`console.navigation.publicProjects`)),1),p(`small`,null,C(d(u)(`console.navigation.publicProjectsMeta`)),1)])]),_:1})],64)):E(``,!0),p(`p`,Se,C(d(u)(`console.navigation.governance`)),1),s(d(M),{to:k.value,"active-class":`is-active`},{default:O(()=>[t[8]||=p(`span`,{class:`nav-icon nav-icon-knowledge-graph`,"aria-hidden":`true`},null,-1),p(`span`,Ce,C(d(u)(`console.navigation.knowledge`)),1)]),_:1},8,[`to`]),R.value?(g(),l(d(M),{key:1,to:`/review`,"active-class":`is-active`},{default:O(()=>[t[9]||=p(`span`,{class:`nav-icon nav-icon-review`,"aria-hidden":`true`},null,-1),p(`span`,we,C(d(u)(`console.navigation.review`)),1)]),_:1})):E(``,!0),s(d(M),{to:`/connections`,"active-class":`is-active`},{default:O(()=>[t[10]||=p(`span`,{class:`nav-icon nav-icon-connections`,"aria-hidden":`true`},null,-1),p(`span`,Te,C(d(u)(`console.navigation.connections`)),1)]),_:1}),p(`p`,Ee,C(d(u)(`console.navigation.aboutSection`)),1),s(d(M),{to:`/settings`,"active-class":`is-active`},{default:O(()=>[t[11]||=p(`span`,{class:`nav-icon nav-icon-settings`,"aria-hidden":`true`},null,-1),p(`span`,De,C(d(u)(`console.navigation.settings`)),1)]),_:1}),s(d(M),{to:`/about`,"active-class":`is-active`},{default:O(()=>[t[12]||=p(`span`,{class:`nav-icon nav-icon-about`,"aria-hidden":`true`},null,-1),p(`span`,Oe,C(d(u)(`console.navigation.about`)),1)]),_:1})],8,fe),p(`div`,ke,[p(`div`,{class:`service-runtime-list`,"aria-label":d(u)(`console.services.aria`)},[p(`div`,je,[p(`span`,{class:T([`status-dot`,d(i).runtimeStatus])},null,2),p(`div`,null,[p(`strong`,null,C(d(i).runtimeStatus===`ready`?d(u)(`console.services.localReady`):d(i).runtimeStatus===`error`?d(u)(`console.services.localError`):d(u)(`console.services.localConnecting`)),1),t[13]||=p(`small`,null,`Graphiti / Neo4j`,-1)])]),p(`div`,Me,[p(`span`,{class:T([`status-dot`,d(i).publicRuntimeStatus])},null,2),p(`div`,null,[p(`strong`,null,C(F.value),1),p(`small`,null,C(I.value),1)])])],8,Ae)])],42,de),p(`main`,Ne,[p(`header`,Pe,[p(`button`,{ref_key:`mobileNavToggleRef`,ref:y,class:`mobile-nav-toggle quiet-button`,type:`button`,"aria-controls":`console-primary-sidebar`,"aria-expanded":_.value,onClick:z},[t[14]||=p(`span`,{class:`mobile-nav-icon`,"aria-hidden":`true`},null,-1),ee(` `+C(d(u)(`console.navigation.openMenu`)),1)],8,Fe),p(`div`,Ie,[j.value?(g(),D(`p`,Le,C(j.value),1)):E(``,!0),p(`h2`,null,C(A.value),1),N.value?(g(),D(`p`,Re,C(N.value),1)):E(``,!0)]),p(`div`,Y,[P.value?(g(),D(`span`,ze,C(d(u)(`console.publicReady`)),1)):E(``,!0),d(h).name===`settings`?(g(),D(`button`,Be,C(d(u)(`settings.save`)),1)):E(``,!0),s(ce),p(`button`,{class:`quiet-button`,type:`button`,onClick:t[0]||=(...e)=>d(i).refresh&&d(i).refresh(...e)},C(d(u)(`common.actions.refresh`)),1)])]),d(i).feedback?(g(),D(`button`,{key:0,class:T([`feedback feedback-button`,{success:d(i).feedback.tone===`success`}]),type:`button`,"aria-live":`polite`,onClick:t[1]||=(...e)=>d(i).clearFeedback&&d(i).clearFeedback(...e)},C(d(i).feedback.message),3)):E(``,!0),s(d(re),null,{default:O(({Component:e})=>[(g(),l(n(e)))]),_:1})])]))}}),He=t({__name:`App`,setup(e){return(e,t)=>(g(),l(Ve))}}),Ue=`modulepreload`,We=function(e){return`/`+e},X={},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=We(t,n),t=s(t),t in X)return;X[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`:Ue,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 Ge(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=j({history:A(`/`),routes:[{path:`/`,name:`overview`,component:()=>Z(()=>import(`./OverviewPage-Cd66M0RT.js`),__vite__mapDeps([0,1,2,3,4,5])),meta:{eyebrow:``,title:`routes.overview.title`}},{path:`/preferences`,name:`personal-profile`,component:()=>Z(()=>import(`./PersonalProfilePage-RCFHL0Wz.js`),__vite__mapDeps([6,1,2,3,4,7,8,9,10,11,12,13,14,15,16])),meta:{eyebrow:`PERSONAL LENS`,title:`routes.preferences.title`,description:`routes.preferences.description`}},{path:`/preferences/writing`,name:`writing-taste`,component:()=>Z(()=>import(`./WritingTastePage-CIpKswvs.js`),__vite__mapDeps([17,1,2,3,4,7,9,8,10,11,12,18])),meta:{eyebrow:``,title:`routes.writingTaste.title`}},{path:`/personal/:spaceId/projects/:projectId/:mode/:itemKind/:itemId`,name:`personal-project-item`,component:()=>Z(()=>import(`./PersonalProjectsPage-DEh8XWby.js`),__vite__mapDeps([19,1,20,2,4,3,5,8,10,9,7,11,12,13,14,15])),meta:{eyebrow:`PERSONAL PROJECT`,title:`routes.personalProjects.title`}},{path:`/personal/:spaceId/projects/:mode/:itemKind/:itemId`,name:`personal-projects-item`,component:()=>Z(()=>import(`./PersonalProjectsPage-DEh8XWby.js`),__vite__mapDeps([19,1,20,2,4,3,5,8,10,9,7,11,12,13,14,15])),meta:{eyebrow:`PERSONAL PROJECTS`,title:`routes.personalProjects.title`,description:`routes.personalProjects.description`}},{path:`/personal/:spaceId/projects/:mode`,name:`personal-projects`,component:()=>Z(()=>import(`./PersonalProjectsPage-DEh8XWby.js`),__vite__mapDeps([19,1,20,2,4,3,5,8,10,9,7,11,12,13,14,15])),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-DEh8XWby.js`),__vite__mapDeps([19,1,20,2,4,3,5,8,10,9,7,11,12,13,14,15])),meta:{eyebrow:`PERSONAL PROJECT`,title:`routes.personalProjects.title`}},{path:`/organize`,name:`knowledge-organizer`,component:()=>Z(()=>import(`./KnowledgeOrganizerPage-Dfj3vIpU.js`),__vite__mapDeps([21,1,2,7,8,10,9,11,12,13,14,15,22])),meta:{eyebrow:`KNOWLEDGE CLASSIFICATION`,title:`routes.organizer.title`}},{path:`/project-agents`,name:`project-agents`,component:()=>Z(()=>import(`./ProjectAgentsPage-DPnaH-TR.js`),__vite__mapDeps([23,1,2,7,8,24])),meta:{eyebrow:``,title:`routes.projectAgents.title`}},{path:`/public-projects`,name:`public-projects`,component:()=>Z(()=>import(`./PublicProjectsPage-mstPEjHe.js`),__vite__mapDeps([25,1,2,4,5,8,10])),meta:{eyebrow:`PUBLIC PROJECTS`,title:`routes.publicProjects.title`,description:`routes.publicProjects.description`}},{path:`/knowledge`,name:`knowledge-default`,component:()=>Z(()=>import(`./KnowledgePage-BRYC9S5Y.js`),__vite__mapDeps([26,1,20,2,4,3,5,8,10,9,7,11,12,13,14,15])),meta:{eyebrow:`KNOWLEDGE BASE`,title:`routes.knowledge.title`}},{path:`/knowledge/:scope/:spaceId/:projectId/:mode/:itemKind/:itemId`,name:`project-knowledge-item`,component:()=>Z(()=>import(`./KnowledgePage-BRYC9S5Y.js`),__vite__mapDeps([26,1,20,2,4,3,5,8,10,9,7,11,12,13,14,15])),meta:{eyebrow:`KNOWLEDGE BASE`,title:`routes.knowledge.title`}},{path:`/knowledge/:scope/:spaceId/:mode/:itemKind/:itemId`,name:`knowledge-item`,component:()=>Z(()=>import(`./KnowledgePage-BRYC9S5Y.js`),__vite__mapDeps([26,1,20,2,4,3,5,8,10,9,7,11,12,13,14,15])),meta:{eyebrow:`KNOWLEDGE BASE`,title:`routes.knowledge.title`}},{path:`/knowledge/:scope/:spaceId/:projectId/:mode`,name:`project-knowledge`,component:()=>Z(()=>import(`./KnowledgePage-BRYC9S5Y.js`),__vite__mapDeps([26,1,20,2,4,3,5,8,10,9,7,11,12,13,14,15])),meta:{eyebrow:`KNOWLEDGE BASE`,title:`routes.knowledge.title`}},{path:`/knowledge/:scope/:spaceId/:mode`,name:`knowledge`,component:()=>Z(()=>import(`./KnowledgePage-BRYC9S5Y.js`),__vite__mapDeps([26,1,20,2,4,3,5,8,10,9,7,11,12,13,14,15])),meta:{eyebrow:`KNOWLEDGE BASE`,title:`routes.knowledge.title`}},{path:`/review`,name:`review`,component:()=>Z(()=>import(`./ReviewPage-6Y1SmfZy.js`),__vite__mapDeps([27,1,2,8,10,11])),meta:{eyebrow:`REVIEW WORKSPACE`,title:`routes.review.title`,description:`routes.review.description`}},{path:`/connections`,name:`connections`,component:()=>Z(()=>import(`./ConnectionsPage-BWn4ywGJ.js`),__vite__mapDeps([28,1,2,7,8,10,29])),meta:{eyebrow:`SERVICE CONNECTIONS`,title:`routes.connections.title`,description:`routes.connections.description`}},{path:`/settings`,name:`settings`,component:()=>Z(()=>import(`./SettingsPage--LdTMUm7.js`),__vite__mapDeps([30,1,2,7,8,14,31])),meta:{eyebrow:``,title:`routes.settings.title`}},{path:`/about`,name:`about`,component:()=>Z(()=>import(`./AboutPage-sLV9WChi.js`),__vite__mapDeps([32,1,33,7,34])),meta:{eyebrow:`FULI`,title:`routes.about.title`}},{path:`/:pathMatch(.*)*`,redirect:`/`}],scrollBehavior:()=>({top:0})});Q.beforeEach(e=>e.path!==`/`||typeof window>`u`?!0:Ge(window.location.hash)??!0),Q.afterEach(e=>{J(e.meta.title)});var $=b(He);$.use(k()),$.use(S),$.use(Q),await Q.isReady(),$.mount(`#app`);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{a as e,n as t}from"./i18n-Ci3heuiL.js";var n=new Set([`ProjectSpace`,`PersonalSpace`,`PersonalProject`,`ProjectPurpose`,`ProjectScope`,`ProjectSource`,`ProjectBoundary`,`ProjectAssessment`,`AssessmentDimension`,`RelatedPersonalProject`,`ExternalKnowledgeSource`]),r=new Set([`ProjectSpace`,`PersonalSpace`,`PersonalProject`,`ProjectPurpose`,`ProjectScope`,`TechnicalSummary`,`ProjectSource`,`ProjectBoundary`,`ProjectAssessment`,`AssessmentDimension`,`RelatedPersonalProject`,`ExternalKnowledgeSource`]),i=new Set([`known_known`,`known_unknown`,`unknown_known`,`unknown_unknown`,`unclassified`]),a=new Set([`taste`,`personality`,`judgment_preference`]),o=new Set([`confirm`,`update`,`invalidate`,`link_replacement`,`restore`,`scope_change`,`batch_confirm`]),s=new Set([`human_change`,`agent_view`,`agent_review`,`knowledge_used`]),c=new Set([`user`,`agent`,`authoritative_source`,`import`]);function l(t){let n=t??`unclassified`;return i.has(n)?e(`knowledge.domain.quadrants.${n}`):n}function u(t){let n=t??`unclassified`;return i.has(n)?e(`knowledge.domain.quadrants.descriptions.${n}`):e(`knowledge.domain.quadrants.customDescription`)}function d(t){let n=t??``;return a.has(n)?e(`knowledge.domain.profiles.${n}`):n}function f(t){let n=t??``;return o.has(n)?e(`knowledge.domain.revisions.${n}`):n||e(`knowledge.domain.revisions.fallback`)}function p(t){return e(`knowledge.domain.humanChanges.${t??`none`}`)}function m(t){let n=t??``;return s.has(n)?e(`knowledge.domain.auditActions.${n}`):n||e(`knowledge.domain.auditActions.fallback`)}function h(t){return t?t.label||(c.has(t.kind)?e(`knowledge.domain.actors.${t.kind}`):t.kind):e(`knowledge.domain.actors.notRecorded`)}function g(e){return typeof e==`object`&&e?e.id:e}function _(e){let t=e.nodes.filter(e=>!e.invalid_at),n=new Set(t.map(({id:e})=>e)),r=e.edges.filter(e=>!e.invalid_at&&n.has(g(e.source))&&n.has(g(e.target)));return{...e,nodes:t,edges:r}}function v(e){if(!e)return[];let t=new Map(e.nodes.map(e=>[e.id,e.name])),n=e.nodes.filter(e=>!T(e)).map(e=>b(e)),r=e.edges.filter(e=>!E(e)).map(e=>x(e,t));return[...n,...r].sort((e,t)=>q(t)-q(e))}function y(e){if(!e)return[];let t=new Map(e.nodes.map(e=>[e.id,e.name])),n=e.nodes.filter(T).map(e=>b(e)),r=e.edges.filter(E).map(e=>x(e,t));return[...n,...r]}function b(t){return{id:t.id,itemKind:`entity`,title:t.name,body:t.summary||e(`common.status.noDescription`),type:t.type,...W(t),raw:t}}function x(t,n){let r=n.get(g(t.source))??t.source_name,i=n.get(g(t.target))??t.target_name;return{id:t.id,itemKind:`relationship`,title:`${r??e(`knowledge.domain.items.unknownEntity`)} → ${i??e(`knowledge.domain.items.unknownEntity`)}`,body:t.fact||e(`knowledge.domain.items.noRelationDescription`),type:e(`knowledge.domain.items.relationshipType`,{type:t.type}),...W(t),raw:t}}function S(e){return e?n.has(e.type)||D(e.id):!1}function C(t){return t.itemKind===`relationship`?e(`knowledge.domain.materialTypes.relationship`):r.has(t.type)?e(`knowledge.domain.materialTypes.${t.type}`):t.type}function w(e){if(!e||e.itemKind!==`entity`)return null;let t=e.raw.attributes?.projectId;return typeof t==`string`&&t?t:null}function T(e){return n.has(e.type)||D(e.id)}function E(e){return D(e.id)}function D(e){return String(e).startsWith(`project-profile:`)||String(e).startsWith(`project-profile-edge:`)||String(e).startsWith(`space-edge:`)||String(e).startsWith(`personal-project-relation:`)||String(e).startsWith(`external-knowledge-binding:`)}function O(e,t){let n=t.query?.trim().toLocaleLowerCase()??``;return e.filter(e=>t.type&&t.type!==`all`&&e.type!==t.type||t.quadrant&&t.quadrant!==`all`&&e.originQuadrant!==t.quadrant||t.profile===`profile`&&!e.profileAspect||t.profile===`regular`&&e.profileAspect||t.status===`current`&&e.invalidAt||t.status===`historical`&&!e.invalidAt||t.humanChange===`human_changed`&&!e.humanEdited||t.humanChange&&![`all`,`human_changed`].includes(t.humanChange)&&e.humanChangeStatus!==t.humanChange?!1:!n||K(e).toLocaleLowerCase().includes(n))}function k(e){let t=v(e).filter(({profileAspect:e})=>e),n=new Set(t.filter(({itemKind:e})=>e===`relationship`).flatMap(({raw:e})=>{let t=e;return[g(t.source),g(t.target)]}));return t.filter(({id:e,itemKind:t})=>t===`relationship`||!n.has(e))}function A(e){let t=e.filter(e=>!!e);return{...t[0]??{space_id:null},nodes:J(t.flatMap(e=>e.nodes)),edges:J(t.flatMap(e=>e.edges)),truncated:t.some(({truncated:e})=>e)}}function j(e,t){let n=A([e,t]);return{...n,space_id:t.space_id??n.space_id,truncated:t.truncated,next_offset:t.next_offset??null}}function M(e){return e.revisions.at(0)?.created_at??e.createdAt??e.evidence.at(0)?.created_at??e.evidence.at(0)?.reference_time??null}function N(n){if(!n)return e(`knowledge.domain.items.notRecorded`);let r=new Date(n);return Number.isNaN(r.getTime())?n:r.toLocaleString(t())}function P(e){let t=e.confirmationBasis;return!e.confirmationExplicit||!t?.confirmed_by||!t.confirmed_at?`pending`:e.confirmationStatus===`confirmed`&&[`user`,`authoritative_source`].includes(t.confirmed_by.kind)?`confirmed`:e.confirmationStatus===`agent_confirmed`&&t.confirmed_by.kind===`agent`&&t.agent_policy_version?`agent_confirmed`:`pending`}function F(t){return e(`knowledge.domain.reviewStates.${P(t)}`)}function I(n){let r=new Map,i=n.filter(e=>!e.invalidAt&&e.classificationExplicit&&P(e)!==`confirmed`);for(let t of i)for(let n of t.evidence)n.id&&R(r,{kind:`source`,value:n.id,label:z(n),description:n.source_description||n.summary||e(`knowledge.domain.confirmation.sameSource`)},t),n.session_id&&R(r,{kind:`session`,value:n.session_id,label:B(n),description:n.source_description||n.summary||e(`knowledge.domain.confirmation.sameSession`)},t);return[...r.values()].filter(({items:e})=>e.length>=2).sort((e,n)=>n.items.length-e.items.length||e.label.localeCompare(n.label,t()))}function L(t,n){let r=t.evidence.find(e=>n.kind===`source`?e.id===n.value:e.session_id===n.value),i=t.confirmationBasis;return{existenceReason:i?.existence_reason||r?.source_description||r?.summary||e(`knowledge.domain.confirmation.sourceSupports`,{label:n.label}),quadrantReason:i?.quadrant_reason||t.reasoningSummary||e(`knowledge.domain.confirmation.quadrantReason`,{quadrant:l(t.originQuadrant),description:u(t.originQuadrant)}),proposedBy:i?.proposed_by||V(r)}}function R(e,t,n){let r=`${t.kind}:${t.value}`,i=e.get(r)??{key:r,...t,items:[]},a=`${n.itemKind}:${n.id}`;i.items.some(e=>`${e.itemKind}:${e.id}`===a)||i.items.push(n),e.set(r,i)}function z(t){return t.name||t.source_description||t.summary||e(`knowledge.domain.confirmation.sourceRecord`)}function B(t){let n={codex:`Codex`,claude_code:`Claude Code`,cursor:`Cursor`,kiro:`Kiro`,other:e(`knowledge.domain.confirmation.otherSource`)}[t.source_application??``];return n?`${n} · ${t.name||t.source_kind||e(`knowledge.domain.confirmation.session`)}`:t.name||t.source_kind||e(`knowledge.domain.confirmation.sourceSession`)}function V(t){let n={codex:`Codex`,claude_code:`Claude Code`,cursor:`Cursor`,kiro:`Kiro`,other:e(`knowledge.domain.actors.otherAgent`)}[t?.source_application??``];return n?{kind:`agent`,label:n}:{kind:`import`,label:e(`knowledge.domain.actors.historicalRecord`)}}function H(t){if(!t.classificationExplicit)return e(`knowledge.domain.confirmation.legacyUnclassified`);let n=t.confirmationBasis;return P(t)===`confirmed`&&n?e(`knowledge.domain.confirmation.confirmed`,{actor:h(n.confirmed_by),time:N(n.confirmed_at)}):P(t)===`agent_confirmed`&&n?e(`knowledge.domain.confirmation.agentConfirmed`,{time:N(n.confirmed_at)}):n?e(`knowledge.domain.confirmation.pending`,{actor:h(n.proposed_by)}):e(`knowledge.domain.confirmation.legacyPending`)}function U(t){let n=t.confirmationBasis;return n?P(t)===`confirmed`?`${h(n.confirmed_by)} · ${N(n.confirmed_at)}`:P(t)===`agent_confirmed`?e(`knowledge.domain.confirmation.agentPolicy`,{time:N(n.confirmed_at)}):e(`knowledge.domain.confirmation.proposed`,{actor:h(n.proposed_by),reason:n.existence_reason}):e(`knowledge.domain.confirmation.legacyBasisMissing`)}function W(e){let t=e.epistemic_state_explicit===!0,n=e.confirmation_state_explicit===!0;return{originQuadrant:t?e.origin_quadrant??`known_known`:`unclassified`,currentQuadrant:t?e.current_quadrant??`known_known`:`unclassified`,epistemicStatus:t?e.epistemic_status??`confirmed`:`unreviewed`,classificationExplicit:t,confirmationStatus:G(e.confirmation_status),confirmationExplicit:n,confirmationBasis:e.confirmation_basis??null,reasoningSummary:e.reasoning_summary??``,profileAspect:e.profile_aspect??null,preferenceScope:e.preference_scope??(e.profile_aspect?`global`:null),preferenceProjectId:e.preference_project_id??null,inheritanceMode:e.inheritance_mode??`local_only`,inheritedProjectIds:e.inherited_project_ids??[],humanEdited:e.human_edited===!0,humanChangeStatus:e.human_change_status??`none`,humanChangeVersion:e.human_change_version??0,lastHumanChangedAt:e.last_human_changed_at??null,lastAgentViewedAt:e.last_agent_viewed_at??null,lastAgentReviewedAt:e.last_agent_reviewed_at??null,utilityScore:e.utility_score??0,confidenceScore:e.confidence_score??.5,qualifiedUseCount:e.qualified_use_count??0,distinctTaskCount:e.distinct_task_count??0,lastUsedAt:e.last_used_at??null,usageGeneration:e.usage_generation??1,invalidAt:e.invalid_at,replacedByItemId:e.replaced_by_item_id??null,replacedByItemKind:e.replaced_by_item_kind??null,createdAt:e.created_at,evidence:e.evidence??[],revisions:e.revisions??[],assignments:e.assignments??[],projectReferences:e.project_references??[],conflicts:e.conflicts??[],auditEvents:e.audit_events??[]}}function G(e){return e===`confirmed`||e===`agent_confirmed`?e:`pending`}function K(e){return[e.id,e.title,e.body,e.type,l(e.originQuadrant),d(e.profileAspect),e.reasoningSummary,e.confirmationBasis?.existence_reason,e.confirmationBasis?.quadrant_reason,h(e.confirmationBasis?.proposed_by),h(e.confirmationBasis?.confirmed_by),p(e.humanChangeStatus),...e.auditEvents.flatMap(e=>[m(e.action),e.reason,e.tool_name,e.conflict_check,e.classification_check,e.outcome]),...e.evidence.flatMap(e=>[e.name,e.summary,e.source_description,e.session_id,e.source_excerpt])].filter(Boolean).join(` `)}function q(e){let t=M(e),n=t?new Date(t).getTime():0;return Number.isNaN(n)?0:n}function J(e){let t=new Map;for(let n of e){let e=t.get(n.id);t.set(n.id,e?Y(e,n):n)}return[...t.values()]}function Y(e,t){let n={...e,...t};for(let r of[`evidence`,`revisions`,`assignments`,`project_references`,`conflicts`,`audit_events`,`episodes`]){let i=e[r],a=t[r];!i&&!a||(n[r]=X([...i??[],...a??[]]))}return n}function X(e){let t=new Set;return e.filter(e=>{let n=typeof e==`object`&&e?e.id??JSON.stringify(e):e;return t.has(n)?!1:(t.add(n),!0)})}export{d as C,F as D,l as E,f as O,w as S,u as T,P as _,h as a,A as b,g as c,p as d,S as f,v as g,b as h,H as i,O as l,x as m,L as n,U as o,m as p,I as r,_ as s,j as t,N as u,M as v,C as w,k as x,y};
|
|
1
|
+
import{a as e,n as t}from"./i18n-js6gfc7j.js";var n=new Set([`ProjectSpace`,`PersonalSpace`,`PersonalProject`,`ProjectPurpose`,`ProjectScope`,`ProjectSource`,`ProjectBoundary`,`ProjectAssessment`,`AssessmentDimension`,`RelatedPersonalProject`,`ExternalKnowledgeSource`]),r=new Set([`ProjectSpace`,`PersonalSpace`,`PersonalProject`,`ProjectPurpose`,`ProjectScope`,`TechnicalSummary`,`ProjectSource`,`ProjectBoundary`,`ProjectAssessment`,`AssessmentDimension`,`RelatedPersonalProject`,`ExternalKnowledgeSource`]),i=new Set([`known_known`,`known_unknown`,`unknown_known`,`unknown_unknown`,`unclassified`]),a=new Set([`taste`,`personality`,`judgment_preference`]),o=new Set([`confirm`,`update`,`invalidate`,`link_replacement`,`restore`,`scope_change`,`batch_confirm`]),s=new Set([`human_change`,`agent_view`,`agent_review`,`knowledge_used`]),c=new Set([`user`,`agent`,`authoritative_source`,`import`]);function l(t){let n=t??`unclassified`;return i.has(n)?e(`knowledge.domain.quadrants.${n}`):n}function u(t){let n=t??`unclassified`;return i.has(n)?e(`knowledge.domain.quadrants.descriptions.${n}`):e(`knowledge.domain.quadrants.customDescription`)}function d(t){let n=t??``;return a.has(n)?e(`knowledge.domain.profiles.${n}`):n}function f(t){let n=t??``;return o.has(n)?e(`knowledge.domain.revisions.${n}`):n||e(`knowledge.domain.revisions.fallback`)}function p(t){return e(`knowledge.domain.humanChanges.${t??`none`}`)}function m(t){let n=t??``;return s.has(n)?e(`knowledge.domain.auditActions.${n}`):n||e(`knowledge.domain.auditActions.fallback`)}function h(t){return t?t.label||(c.has(t.kind)?e(`knowledge.domain.actors.${t.kind}`):t.kind):e(`knowledge.domain.actors.notRecorded`)}function g(e){return typeof e==`object`&&e?e.id:e}function _(e){let t=e.nodes.filter(e=>!e.invalid_at),n=new Set(t.map(({id:e})=>e)),r=e.edges.filter(e=>!e.invalid_at&&n.has(g(e.source))&&n.has(g(e.target)));return{...e,nodes:t,edges:r}}function v(e){if(!e)return[];let t=new Map(e.nodes.map(e=>[e.id,e.name])),n=e.nodes.filter(e=>!T(e)).map(e=>b(e)),r=e.edges.filter(e=>!E(e)).map(e=>x(e,t));return[...n,...r].sort((e,t)=>q(t)-q(e))}function y(e){if(!e)return[];let t=new Map(e.nodes.map(e=>[e.id,e.name])),n=e.nodes.filter(T).map(e=>b(e)),r=e.edges.filter(E).map(e=>x(e,t));return[...n,...r]}function b(t){return{id:t.id,itemKind:`entity`,title:t.name,body:t.summary||e(`common.status.noDescription`),type:t.type,...W(t),raw:t}}function x(t,n){let r=n.get(g(t.source))??t.source_name,i=n.get(g(t.target))??t.target_name;return{id:t.id,itemKind:`relationship`,title:`${r??e(`knowledge.domain.items.unknownEntity`)} → ${i??e(`knowledge.domain.items.unknownEntity`)}`,body:t.fact||e(`knowledge.domain.items.noRelationDescription`),type:e(`knowledge.domain.items.relationshipType`,{type:t.type}),...W(t),raw:t}}function S(e){return e?n.has(e.type)||D(e.id):!1}function C(t){return t.itemKind===`relationship`?e(`knowledge.domain.materialTypes.relationship`):r.has(t.type)?e(`knowledge.domain.materialTypes.${t.type}`):t.type}function w(e){if(!e||e.itemKind!==`entity`)return null;let t=e.raw.attributes?.projectId;return typeof t==`string`&&t?t:null}function T(e){return n.has(e.type)||D(e.id)}function E(e){return D(e.id)}function D(e){return String(e).startsWith(`project-profile:`)||String(e).startsWith(`project-profile-edge:`)||String(e).startsWith(`space-edge:`)||String(e).startsWith(`personal-project-relation:`)||String(e).startsWith(`external-knowledge-binding:`)}function O(e,t){let n=t.query?.trim().toLocaleLowerCase()??``;return e.filter(e=>t.type&&t.type!==`all`&&e.type!==t.type||t.quadrant&&t.quadrant!==`all`&&e.originQuadrant!==t.quadrant||t.profile===`profile`&&!e.profileAspect||t.profile===`regular`&&e.profileAspect||t.status===`current`&&e.invalidAt||t.status===`historical`&&!e.invalidAt||t.humanChange===`human_changed`&&!e.humanEdited||t.humanChange&&![`all`,`human_changed`].includes(t.humanChange)&&e.humanChangeStatus!==t.humanChange?!1:!n||K(e).toLocaleLowerCase().includes(n))}function k(e){let t=v(e).filter(({profileAspect:e})=>e),n=new Set(t.filter(({itemKind:e})=>e===`relationship`).flatMap(({raw:e})=>{let t=e;return[g(t.source),g(t.target)]}));return t.filter(({id:e,itemKind:t})=>t===`relationship`||!n.has(e))}function A(e){let t=e.filter(e=>!!e);return{...t[0]??{space_id:null},nodes:J(t.flatMap(e=>e.nodes)),edges:J(t.flatMap(e=>e.edges)),truncated:t.some(({truncated:e})=>e)}}function j(e,t){let n=A([e,t]);return{...n,space_id:t.space_id??n.space_id,truncated:t.truncated,next_offset:t.next_offset??null}}function M(e){return e.revisions.at(0)?.created_at??e.createdAt??e.evidence.at(0)?.created_at??e.evidence.at(0)?.reference_time??null}function N(n){if(!n)return e(`knowledge.domain.items.notRecorded`);let r=new Date(n);return Number.isNaN(r.getTime())?n:r.toLocaleString(t())}function P(e){let t=e.confirmationBasis;return!e.confirmationExplicit||!t?.confirmed_by||!t.confirmed_at?`pending`:e.confirmationStatus===`confirmed`&&[`user`,`authoritative_source`].includes(t.confirmed_by.kind)?`confirmed`:e.confirmationStatus===`agent_confirmed`&&t.confirmed_by.kind===`agent`&&t.agent_policy_version?`agent_confirmed`:`pending`}function F(t){return e(`knowledge.domain.reviewStates.${P(t)}`)}function I(n){let r=new Map,i=n.filter(e=>!e.invalidAt&&e.classificationExplicit&&P(e)!==`confirmed`);for(let t of i)for(let n of t.evidence)n.id&&R(r,{kind:`source`,value:n.id,label:z(n),description:n.source_description||n.summary||e(`knowledge.domain.confirmation.sameSource`)},t),n.session_id&&R(r,{kind:`session`,value:n.session_id,label:B(n),description:n.source_description||n.summary||e(`knowledge.domain.confirmation.sameSession`)},t);return[...r.values()].filter(({items:e})=>e.length>=2).sort((e,n)=>n.items.length-e.items.length||e.label.localeCompare(n.label,t()))}function L(t,n){let r=t.evidence.find(e=>n.kind===`source`?e.id===n.value:e.session_id===n.value),i=t.confirmationBasis;return{existenceReason:i?.existence_reason||r?.source_description||r?.summary||e(`knowledge.domain.confirmation.sourceSupports`,{label:n.label}),quadrantReason:i?.quadrant_reason||t.reasoningSummary||e(`knowledge.domain.confirmation.quadrantReason`,{quadrant:l(t.originQuadrant),description:u(t.originQuadrant)}),proposedBy:i?.proposed_by||V(r)}}function R(e,t,n){let r=`${t.kind}:${t.value}`,i=e.get(r)??{key:r,...t,items:[]},a=`${n.itemKind}:${n.id}`;i.items.some(e=>`${e.itemKind}:${e.id}`===a)||i.items.push(n),e.set(r,i)}function z(t){return t.name||t.source_description||t.summary||e(`knowledge.domain.confirmation.sourceRecord`)}function B(t){let n={codex:`Codex`,claude_code:`Claude Code`,cursor:`Cursor`,kiro:`Kiro`,other:e(`knowledge.domain.confirmation.otherSource`)}[t.source_application??``];return n?`${n} · ${t.name||t.source_kind||e(`knowledge.domain.confirmation.session`)}`:t.name||t.source_kind||e(`knowledge.domain.confirmation.sourceSession`)}function V(t){let n={codex:`Codex`,claude_code:`Claude Code`,cursor:`Cursor`,kiro:`Kiro`,other:e(`knowledge.domain.actors.otherAgent`)}[t?.source_application??``];return n?{kind:`agent`,label:n}:{kind:`import`,label:e(`knowledge.domain.actors.historicalRecord`)}}function H(t){if(!t.classificationExplicit)return e(`knowledge.domain.confirmation.legacyUnclassified`);let n=t.confirmationBasis;return P(t)===`confirmed`&&n?e(`knowledge.domain.confirmation.confirmed`,{actor:h(n.confirmed_by),time:N(n.confirmed_at)}):P(t)===`agent_confirmed`&&n?e(`knowledge.domain.confirmation.agentConfirmed`,{time:N(n.confirmed_at)}):n?e(`knowledge.domain.confirmation.pending`,{actor:h(n.proposed_by)}):e(`knowledge.domain.confirmation.legacyPending`)}function U(t){let n=t.confirmationBasis;return n?P(t)===`confirmed`?`${h(n.confirmed_by)} · ${N(n.confirmed_at)}`:P(t)===`agent_confirmed`?e(`knowledge.domain.confirmation.agentPolicy`,{time:N(n.confirmed_at)}):e(`knowledge.domain.confirmation.proposed`,{actor:h(n.proposed_by),reason:n.existence_reason}):e(`knowledge.domain.confirmation.legacyBasisMissing`)}function W(e){let t=e.epistemic_state_explicit===!0,n=e.confirmation_state_explicit===!0;return{originQuadrant:t?e.origin_quadrant??`known_known`:`unclassified`,currentQuadrant:t?e.current_quadrant??`known_known`:`unclassified`,epistemicStatus:t?e.epistemic_status??`confirmed`:`unreviewed`,classificationExplicit:t,confirmationStatus:G(e.confirmation_status),confirmationExplicit:n,confirmationBasis:e.confirmation_basis??null,reasoningSummary:e.reasoning_summary??``,profileAspect:e.profile_aspect??null,preferenceScope:e.preference_scope??(e.profile_aspect?`global`:null),preferenceProjectId:e.preference_project_id??null,inheritanceMode:e.inheritance_mode??`local_only`,inheritedProjectIds:e.inherited_project_ids??[],humanEdited:e.human_edited===!0,humanChangeStatus:e.human_change_status??`none`,humanChangeVersion:e.human_change_version??0,lastHumanChangedAt:e.last_human_changed_at??null,lastAgentViewedAt:e.last_agent_viewed_at??null,lastAgentReviewedAt:e.last_agent_reviewed_at??null,utilityScore:e.utility_score??0,confidenceScore:e.confidence_score??.5,qualifiedUseCount:e.qualified_use_count??0,distinctTaskCount:e.distinct_task_count??0,lastUsedAt:e.last_used_at??null,usageGeneration:e.usage_generation??1,invalidAt:e.invalid_at,replacedByItemId:e.replaced_by_item_id??null,replacedByItemKind:e.replaced_by_item_kind??null,createdAt:e.created_at,evidence:e.evidence??[],revisions:e.revisions??[],assignments:e.assignments??[],projectReferences:e.project_references??[],conflicts:e.conflicts??[],auditEvents:e.audit_events??[]}}function G(e){return e===`confirmed`||e===`agent_confirmed`?e:`pending`}function K(e){return[e.id,e.title,e.body,e.type,l(e.originQuadrant),d(e.profileAspect),e.reasoningSummary,e.confirmationBasis?.existence_reason,e.confirmationBasis?.quadrant_reason,h(e.confirmationBasis?.proposed_by),h(e.confirmationBasis?.confirmed_by),p(e.humanChangeStatus),...e.auditEvents.flatMap(e=>[m(e.action),e.reason,e.tool_name,e.conflict_check,e.classification_check,e.outcome]),...e.evidence.flatMap(e=>[e.name,e.summary,e.source_description,e.session_id,e.source_excerpt])].filter(Boolean).join(` `)}function q(e){let t=M(e),n=t?new Date(t).getTime():0;return Number.isNaN(n)?0:n}function J(e){let t=new Map;for(let n of e){let e=t.get(n.id);t.set(n.id,e?Y(e,n):n)}return[...t.values()]}function Y(e,t){let n={...e,...t};for(let r of[`evidence`,`revisions`,`assignments`,`project_references`,`conflicts`,`audit_events`,`episodes`]){let i=e[r],a=t[r];!i&&!a||(n[r]=X([...i??[],...a??[]]))}return n}function X(e){let t=new Set;return e.filter(e=>{let n=typeof e==`object`&&e?e.id??JSON.stringify(e):e;return t.has(n)?!1:(t.add(n),!0)})}export{d as C,F as D,l as E,f as O,w as S,u as T,P as _,h as a,A as b,g as c,p as d,S as f,v as g,b as h,H as i,O as l,x as m,L as n,U as o,m as p,I as r,_ as s,j as t,N as u,M as v,C as w,k as x,y};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{E as e}from"./i18n-
|
|
1
|
+
import{E as e}from"./i18n-js6gfc7j.js";function t(e){return typeof e==`object`||`displayName`in e||`props`in e||`__vccOpts`in e}function n(e){return e.__esModule||e[Symbol.toStringTag]===`Module`||e.default&&t(e.default)}var r=Object.assign;function i(e,t){let n={};for(let r in t){let i=t[r];n[r]=o(i)?i.map(e):e(i)}return n}var a=()=>{},o=Array.isArray;function s(e,t){let n={};for(let r in e)n[r]=r in t?t[r]:e[r];return n}var c=Symbol(``);function l(e,t){return r(Error(),{type:e,[c]:!0},t)}function u(e,t){return e instanceof Error&&c in e&&(t==null||!!(e.type&t))}var d=Symbol(``),f=Symbol(``),p=Symbol(``),m=Symbol(``),h=Symbol(``);function g(){return e(p)}function _(t){return e(m)}export{n as a,d as c,m as d,p as f,f as g,g as h,o as i,s as l,_ as m,r as n,u as o,h as p,l as r,t as s,i as t,a as u};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{C as e,E as t,L as n,M as r,O as i,X as a,Y as o,Z as s,et as c,h as l,q as u,w as d}from"./i18n-Ci3heuiL.js";import{a as f,c as p,d as m,f as h,g,i as _,l as v,n as y,o as b,p as ee,r as x,s as S,t as C,u as w}from"./useApi-CROJJdhE-twhdZArA.js";var T=typeof document<`u`,E=/#/g,te=/&/g,ne=/\//g,re=/=/g,D=/\?/g,O=/\+/g,ie=/%5B/g,k=/%5D/g,ae=/%5E/g,oe=/%60/g,A=/%7B/g,se=/%7C/g,j=/%7D/g,M=/%20/g;function N(e){return e==null?``:encodeURI(``+e).replace(se,`|`).replace(ie,`[`).replace(k,`]`)}function ce(e){return N(e).replace(A,`{`).replace(j,`}`).replace(ae,`^`)}function P(e){return N(e).replace(O,`%2B`).replace(M,`+`).replace(E,`%23`).replace(te,`%26`).replace(oe,"`").replace(A,`{`).replace(j,`}`).replace(ae,`^`)}function F(e){return P(e).replace(re,`%3D`)}function le(e){return N(e).replace(E,`%23`).replace(D,`%3F`)}function ue(e){return le(e).replace(ne,`%2F`)}function I(e){if(e==null)return null;try{return decodeURIComponent(``+e)}catch{}return``+e}var L=/\/$/,R=e=>e.replace(L,``);function z(e,t,n=`/`){let r,i={},a=``,o=``,s=t.indexOf(`#`),c=t.indexOf(`?`);return c=s>=0&&c>s?-1:c,c>=0&&(r=t.slice(0,c),a=t.slice(c,s>0?s:t.length),i=e(a.slice(1))),s>=0&&(r||=t.slice(0,s),o=t.slice(s,t.length)),r=G(r??t,n),{fullPath:r+a+o,path:r,query:i,hash:I(o)}}function de(e,t){let n=t.query?e(t.query):``;return t.path+(n&&`?`)+n+(t.hash||``)}function B(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||`/`}function fe(e,t,n){let r=t.matched.length-1,i=n.matched.length-1;return r>-1&&r===i&&V(t.matched[r],n.matched[i])&&H(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function V(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function H(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n in e)if(!U(e[n],t[n]))return!1;return!0}function U(e,t){return _(e)?W(e,t):_(t)?W(t,e):(e&&e.valueOf())===(t&&t.valueOf())}function W(e,t){return _(t)?e.length===t.length&&e.every((e,n)=>e===t[n]):e.length===1&&e[0]===t}function G(e,t){if(e.startsWith(`/`))return e;if(!e)return t;let n=t.split(`/`),r=e.split(`/`),i=r[r.length-1];(i===`..`||i===`.`)&&r.push(``);let a=n.length-1,o,s;for(o=0;o<r.length;o++)if(s=r[o],s!==`.`)if(s===`..`)a>1&&a--;else break;return n.slice(0,a).join(`/`)+`/`+r.slice(o).join(`/`)}var K={path:`/`,name:void 0,params:{},query:{},hash:``,fullPath:`/`,matched:[],meta:{},redirectedFrom:void 0};function q(e){if(!e)if(T){let t=document.querySelector(`base`);e=t&&t.getAttribute(`href`)||`/`,e=e.replace(/^\w+:\/\/[^/]+/,``)}else e=`/`;return e[0]!==`/`&&e[0]!==`#`&&(e=`/`+e),R(e)}var J=/^[^#]+#/;function Y(e,t){return e.replace(J,`#`)+t}function X(e,t){let n=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-n.left-(t.left||0),top:r.top-n.top-(t.top||0)}}var Z=()=>({left:window.scrollX,top:window.scrollY});function pe(e){let t;if(`el`in e){let n=e.el,r=typeof n==`string`&&n.startsWith(`#`),i=typeof n==`string`?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!i)return;t=X(i,e)}else t=e;`scrollBehavior`in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left==null?window.scrollX:t.left,t.top==null?window.scrollY:t.top)}function me(e,t){return(history.state?history.state.position-t:-1)+e}var he=new Map;function ge(e,t){he.set(e,t)}function _e(e){let t=he.get(e);return he.delete(e),t}function ve(e){return typeof e==`string`||e&&typeof e==`object`}function ye(e){return typeof e==`string`||typeof e==`symbol`}function be(e){let t={};if(e===``||e===`?`)return t;let n=(e[0]===`?`?e.slice(1):e).split(`&`);for(let e=0;e<n.length;++e){let r=n[e].replace(O,` `),i=r.indexOf(`=`),a=I(i<0?r:r.slice(0,i)),o=i<0?null:I(r.slice(i+1));if(a in t){let e=t[a];_(e)||(e=t[a]=[e]),e.push(o)}else t[a]=o}return t}function xe(e){let t=``;for(let n in e){let r=e[n];if(n=F(n),r==null){r!==void 0&&(t+=(t.length?`&`:``)+n);continue}(_(r)?r.map(e=>e&&P(e)):[r&&P(r)]).forEach(e=>{e!==void 0&&(t+=(t.length?`&`:``)+n,e!=null&&(t+=`=`+e))})}return t}function Se(e){let t={};for(let n in e){let r=e[n];r!==void 0&&(t[n]=_(r)?r.map(e=>e==null?null:``+e):r==null?r:``+r)}return t}function Q(){let e=[];function t(t){return e.push(t),()=>{let n=e.indexOf(t);n>-1&&e.splice(n,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function $(e,t,n,r,i,a=e=>e()){let o=r&&(r.enterCallbacks[i]=r.enterCallbacks[i]||[]);return()=>new Promise((s,c)=>{let l=e=>{e===!1?c(x(4,{from:n,to:t})):e instanceof Error?c(e):ve(e)?c(x(2,{from:t,to:e})):(o&&r.enterCallbacks[i]===o&&typeof e==`function`&&o.push(e),s())},u=a(()=>e.call(r&&r.instances[i],t,n,l)),d=Promise.resolve(u);e.length<3&&(d=d.then(l)),d.catch(e=>c(e))})}function Ce(e,t,n,r,i=e=>e()){let a=[];for(let o of e)for(let e in o.components){let s=o.components[e];if(!(t!==`beforeRouteEnter`&&!o.instances[e]))if(S(s)){let c=(s.__vccOpts||s)[t];c&&a.push($(c,n,r,o,e,i))}else{let c=s();a.push(()=>c.then(a=>{if(!a)throw Error(`Couldn't resolve component "${e}" at "${o.path}"`);let s=f(a)?a.default:a;o.mods[e]=a,o.components[e]=s;let c=(s.__vccOpts||s)[t];return c&&$(c,n,r,o,e,i)()}))}}return a}function we(e,t){let n=[],r=[],i=[],a=Math.max(t.matched.length,e.matched.length);for(let o=0;o<a;o++){let a=t.matched[o];a&&(e.matched.find(e=>V(e,a))?r.push(a):n.push(a));let s=e.matched[o];s&&(t.matched.find(e=>V(e,s))||i.push(s))}return[n,r,i]}var Te=()=>location.protocol+`//`+location.host;function Ee(e,t){let{pathname:n,search:r,hash:i}=t,a=e.indexOf(`#`);if(a>-1){let t=i.includes(e.slice(a))?e.slice(a).length:1,n=i.slice(t);return n[0]!==`/`&&(n=`/`+n),B(n,``)}return B(n,e)+r+i}function De(e,t,n,r){let i=[],a=[],o=null,s=({state:a})=>{let s=Ee(e,location),c=n.value,l=t.value,u=0;if(a){if(n.value=s,t.value=a,o&&o===c){o=null;return}u=l?a.position-l.position:0}else r(s);i.forEach(e=>{e(n.value,c,{delta:u,type:`pop`,direction:u?u>0?`forward`:`back`:``})})};function c(){o=n.value}function l(e){i.push(e);let t=()=>{let t=i.indexOf(e);t>-1&&i.splice(t,1)};return a.push(t),t}function u(){if(document.visibilityState===`hidden`){let{history:e}=window;if(!e.state)return;e.replaceState(y({},e.state,{scroll:Z()}),``)}}function d(){for(let e of a)e();a=[],window.removeEventListener(`popstate`,s),window.removeEventListener(`pagehide`,u),document.removeEventListener(`visibilitychange`,u)}return window.addEventListener(`popstate`,s),window.addEventListener(`pagehide`,u),document.addEventListener(`visibilitychange`,u),{pauseListeners:c,listen:l,destroy:d}}function Oe(e,t,n,r=!1,i=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:i?Z():null}}function ke(e){let{history:t,location:n}=window,r={value:Ee(e,n)},i={value:t.state};i.value||a(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function a(r,a,o){let s=e.indexOf(`#`),c=s>-1?(n.host&&document.querySelector(`base`)?e:e.slice(s))+r:Te()+e+r;try{t[o?`replaceState`:`pushState`](a,``,c),i.value=a}catch(e){console.error(e),n[o?`replace`:`assign`](c)}}function o(e,n){a(e,y({},t.state,Oe(i.value.back,e,i.value.forward,!0),n,{position:i.value.position}),!0),r.value=e}function s(e,n){let o=y({},i.value,t.state,{forward:e,scroll:Z()});a(o.current,o,!0),a(e,y({},Oe(r.value,e,null),{position:o.position+1},n),!1),r.value=e}return{location:r,state:i,push:s,replace:o}}function Ae(e){e=q(e);let t=ke(e),n=De(e,t.state,t.location,t.replace);function r(e,t=!0){t||n.pauseListeners(),history.go(e)}let i=y({location:``,base:e,go:r,createHref:Y.bind(null,e)},t,n);return Object.defineProperty(i,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(i,"state",{enumerable:!0,get:()=>t.state.value}),i}var je={type:0,value:``},Me=/[a-zA-Z0-9_]/;function Ne(e){if(!e)return[[]];if(e===`/`)return[[je]];if(!e.startsWith(`/`))throw Error(`Invalid path "${e}"`);function t(e){throw Error(`ERR (${n})/"${l}": ${e}`)}let n=0,r=n,i=[],a;function o(){a&&i.push(a),a=[]}let s=0,c,l=``,u=``;function d(){l&&=(n===0?a.push({type:0,value:l}):n===1||n===2||n===3?(a.length>1&&(c===`*`||c===`+`)&&t(`A repeatable param (${l}) must be alone in its segment. eg: '/:ids+.`),a.push({type:1,value:l,regexp:u,repeatable:c===`*`||c===`+`,optional:c===`*`||c===`?`})):t(`Invalid state to consume buffer`),``)}function f(){l+=c}for(;s<e.length;)switch(c=e[s++],n){case 0:c===`\\`?(r=n,n=4):c===`/`?(l&&d(),o()):c===`:`?(d(),n=1):f();break;case 4:f(),n=r;break;case 1:c===`(`?n=2:Me.test(c)?f():(d(),n=0,c!==`*`&&c!==`?`&&c!==`+`&&s--);break;case 2:c===`)`?u[u.length-1]==`\\`?u=u.slice(0,-1)+c:n=3:u+=c;break;case 3:d(),n=0,c!==`*`&&c!==`?`&&c!==`+`&&s--,u=``;break;default:t(`Unknown state`);break}return n===2&&t(`Unfinished custom RegExp for param "${l}"`),d(),o(),i}var Pe=`[^/]+?`,Fe={sensitive:!1,strict:!1,start:!0,end:!0},Ie=/[.+*?^${}()[\]/\\]/g;function Le(e,t){let n=y({},Fe,t),r=[],i=n.start?`^`:``,a=[];for(let t of e){let e=t.length?[]:[90];n.strict&&!t.length&&(i+=`/`);for(let r=0;r<t.length;r++){let o=t[r],s=40+(n.sensitive?.25:0);if(o.type===0)r||(i+=`/`),i+=o.value.replace(Ie,`\\$&`),s+=40;else if(o.type===1){let{value:e,repeatable:n,optional:c,regexp:l}=o;a.push({name:e,repeatable:n,optional:c});let u=l||Pe;if(u!==Pe){s+=10;try{RegExp(`(${u})`)}catch(t){throw Error(`Invalid custom RegExp for param "${e}" (${u}): `+t.message)}}let d=n?`((?:${u})(?:/(?:${u}))*)`:`(${u})`;r||(d=c&&t.length<2?`(?:/${d})`:`/`+d),c&&(d+=`?`),i+=d,s+=20,c&&(s+=-8),n&&(s+=-20),u===`.*`&&(s+=-50)}e.push(s)}r.push(e)}if(n.strict&&n.end){let e=r.length-1;r[e][r[e].length-1]+=.7000000000000001}n.strict||(i+=`/?`),n.end?i+=`$`:n.strict&&!i.endsWith(`/`)&&(i+=`(?:/|$)`);let o=new RegExp(i,n.sensitive?``:`i`);function s(e){let t=e.match(o),n={};if(!t)return null;for(let e=1;e<t.length;e++){let r=t[e]||``,i=a[e-1];n[i.name]=r&&i.repeatable?r.split(`/`):r}return n}function c(t){let n=``,r=!1;for(let i of e){(!r||!n.endsWith(`/`))&&(n+=`/`),r=!1;for(let e of i)if(e.type===0)n+=e.value;else if(e.type===1){let{value:a,repeatable:o,optional:s}=e,c=a in t?t[a]:``;if(_(c)&&!o)throw Error(`Provided param "${a}" is an array but it is not repeatable (* or + modifiers)`);let l=_(c)?c.join(`/`):c;if(!l)if(s)i.length<2&&(n.endsWith(`/`)?n=n.slice(0,-1):r=!0);else throw Error(`Missing required param "${a}"`);n+=l}}return n||`/`}return{re:o,score:r,keys:a,parse:s,stringify:c}}function Re(e,t){let n=0;for(;n<e.length&&n<t.length;){let r=t[n]-e[n];if(r)return r;n++}return e.length<t.length?e.length===1&&e[0]===80?-1:1:e.length>t.length?t.length===1&&t[0]===80?1:-1:0}function ze(e,t){let n=0,r=e.score,i=t.score;for(;n<r.length&&n<i.length;){let e=Re(r[n],i[n]);if(e)return e;n++}if(Math.abs(i.length-r.length)===1){if(Be(r))return 1;if(Be(i))return-1}return i.length-r.length}function Be(e){let t=e[e.length-1];return e.length>0&&t[t.length-1]<0}var Ve={strict:!1,end:!0,sensitive:!1};function He(e,t,n){let r=y(Le(Ne(e.path),n),{record:e,parent:t,children:[],alias:[]});return t&&!r.record.aliasOf==!t.record.aliasOf&&t.children.push(r),r}function Ue(e,t){let n=[],r=new Map;t=v(Ve,t);function i(e){return r.get(e)}function a(e,n,r){let i=!r,s=Ge(e);s.aliasOf=r&&r.record;let l=v(t,e),u=[s];if(`alias`in e){let t=typeof e.alias==`string`?[e.alias]:e.alias;for(let e of t)u.push(Ge(y({},s,{components:r?r.record.components:s.components,path:e,aliasOf:r?r.record:s})))}let d,f;for(let t of u){let{path:u}=t;if(n&&u[0]!==`/`){let e=n.record.path,r=e[e.length-1]===`/`?``:`/`;t.path=n.record.path+(u&&r+u)}if(d=He(t,n,l),r?r.alias.push(d):(f||=d,f!==d&&f.alias.push(d),i&&e.name&&!qe(d)&&o(e.name)),Ze(d)&&c(d),s.children){let e=s.children;for(let t=0;t<e.length;t++)a(e[t],d,r&&r.children[t])}r||=d}return f?()=>{o(f)}:w}function o(e){if(ye(e)){let t=r.get(e);t&&(r.delete(e),n.splice(n.indexOf(t),1),t.children.forEach(o),t.alias.forEach(o))}else{let t=n.indexOf(e);t>-1&&(n.splice(t,1),e.record.name&&r.delete(e.record.name),e.children.forEach(o),e.alias.forEach(o))}}function s(){return n}function c(e){let t=Ye(e,n);n.splice(t,0,e),e.record.name&&!qe(e)&&r.set(e.record.name,e)}function l(e,t){let i,a={},o,s;if(`name`in e&&e.name){if(i=r.get(e.name),!i)throw x(1,{location:e});s=i.record.name,a=y(We(t.params,i.keys.filter(e=>!e.optional).concat(i.parent?i.parent.keys.filter(e=>e.optional):[]).map(e=>e.name)),e.params&&We(e.params,i.keys.map(e=>e.name))),o=i.stringify(a)}else if(e.path!=null)o=e.path,i=n.find(e=>e.re.test(o)),i&&(a=i.parse(o),s=i.record.name,i.keys.forEach(e=>{e.optional&&!a[e.name]&&delete a[e.name]}));else{if(i=t.name?r.get(t.name):n.find(e=>e.re.test(t.path)),!i)throw x(1,{location:e,currentLocation:t});s=i.record.name,a=y({},t.params,e.params),o=i.stringify(a)}let c=[],l=i;for(;l;)c.unshift(l.record),l=l.parent;return{name:s,path:o,params:a,matched:c,meta:Je(c)}}e.forEach(e=>a(e));function u(){n.length=0,r.clear()}return{addRoute:a,resolve:l,removeRoute:o,clearRoutes:u,getRoutes:s,getRecordMatcher:i}}function We(e,t){let n={};for(let r of t)r in e&&(n[r]=e[r]);return n}function Ge(e){let t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:Ke(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:`components`in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function Ke(e){let t={},n=e.props||!1;if(`component`in e)t.default=n;else for(let r in e.components)t[r]=typeof n==`object`?n[r]:n;return t}function qe(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function Je(e){return e.reduce((e,t)=>y(e,t.meta),{})}function Ye(e,t){let n=0,r=t.length;for(;n!==r;){let i=n+r>>1;ze(e,t[i])<0?r=i:n=i+1}let i=Xe(e);return i&&(r=t.lastIndexOf(i,r-1)),r}function Xe(e){let t=e;for(;t=t.parent;)if(Ze(t)&&ze(e,t)===0)return t}function Ze({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function Qe(e){let n=t(h),r=t(m),i=l(()=>{let t=c(e.to);return n.resolve(t)}),a=l(()=>{let{matched:e}=i.value,{length:t}=e,n=e[t-1],a=r.matched;if(!n||!a.length)return-1;let o=a.findIndex(V.bind(null,n));if(o>-1)return o;let s=rt(e[t-2]);return t>1&&rt(n)===s&&a[a.length-1].path!==s?a.findIndex(V.bind(null,e[t-2])):o}),o=l(()=>a.value>-1&&nt(r.params,i.value.params)),s=l(()=>a.value>-1&&a.value===r.matched.length-1&&H(r.params,i.value.params));function u(t={}){if(tt(t)){let t=n[c(e.replace)?`replace`:`push`](c(e.to)).catch(w);return e.viewTransition&&typeof document<`u`&&`startViewTransition`in document&&document.startViewTransition(()=>t),t}return Promise.resolve()}return{route:i,href:l(()=>i.value.href),isActive:o,isExactActive:s,navigate:u}}function $e(e){return e.length===1?e[0]:e}var et=e({name:`RouterLink`,compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:`page`},viewTransition:Boolean},useLink:Qe,setup(e,{slots:n}){let r=u(Qe(e)),{options:i}=t(h),a=l(()=>({[it(e.activeClass,i.linkActiveClass,`router-link-active`)]:r.isActive,[it(e.exactActiveClass,i.linkExactActiveClass,`router-link-exact-active`)]:r.isExactActive}));return()=>{let t=n.default&&$e(n.default(r));return e.custom?t:d(`a`,{"aria-current":r.isExactActive?e.ariaCurrentValue:null,href:r.href,onClick:r.navigate,class:a.value},t)}}});function tt(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){let t=e.currentTarget.getAttribute(`target`);if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function nt(e,t){for(let n in t){let r=t[n],i=e[n];if(typeof r==`string`){if(r!==i)return!1}else if(!_(i)||i.length!==r.length||r.some((e,t)=>e.valueOf()!==i[t].valueOf()))return!1}return!0}function rt(e){return e?e.aliasOf?e.aliasOf.path:e.path:``}var it=(e,t,n)=>e??t??n,at=e({name:`RouterView`,inheritAttrs:!1,props:{name:{type:String,default:`default`},route:Object},compatConfig:{MODE:3},setup(e,{attrs:i,slots:a}){let s=t(ee),u=l(()=>e.route||s.value),f=t(g,0),m=l(()=>{let e=c(f),{matched:t}=u.value,n;for(;(n=t[e])&&!n.components;)e++;return e}),h=l(()=>u.value.matched[m.value]);r(g,l(()=>m.value+1)),r(p,h),r(ee,u);let _=o();return n(()=>[_.value,h.value,e.name],([e,t,n],[r,i,a])=>{t&&(t.instances[n]=e,i&&i!==t&&e&&e===r&&(t.leaveGuards.size||(t.leaveGuards=i.leaveGuards),t.updateGuards.size||(t.updateGuards=i.updateGuards))),e&&t&&(!i||!V(t,i)||!r)&&(t.enterCallbacks[n]||[]).forEach(t=>t(e))},{flush:`post`}),()=>{let t=u.value,n=e.name,r=h.value,o=r&&r.components[n];if(!o)return ot(a.default,{Component:o,route:t});let s=r.props[n],c=d(o,y({},s?s===!0?t.params:typeof s==`function`?s(t):s:null,i,{onVnodeUnmounted:e=>{e.component.isUnmounted&&(r.instances[n]=null)},ref:_}));return ot(a.default,{Component:c,route:t})||c}}});function ot(e,t){if(!e)return null;let n=e(t);return n.length===1?n[0]:n}var st=at;function ct(e){let t=Ue(e.routes,e),n=e.parseQuery||be,r=e.stringifyQuery||xe,o=e.history,l=Q(),u=Q(),d=Q(),f=s(K),p=K;T&&e.scrollBehavior&&`scrollRestoration`in history&&(history.scrollRestoration=`manual`);let g=C.bind(null,e=>``+e),v=C.bind(null,ue),S=C.bind(null,I);function E(e,n){let r,i;return ye(e)?(r=t.getRecordMatcher(e),i=n):i=e,t.addRoute(i,r)}function te(e){let n=t.getRecordMatcher(e);n&&t.removeRoute(n)}function ne(){return t.getRoutes().map(e=>e.record)}function re(e){return!!t.getRecordMatcher(e)}function D(e,i){if(i=y({},i||f.value),typeof e==`string`){let r=z(n,e,i.path),a=t.resolve({path:r.path},i),s=o.createHref(r.fullPath);return y(r,a,{params:S(a.params),redirectedFrom:void 0,href:s})}let a;if(e.path!=null)a=y({},e,{path:z(n,e.path,i.path).path});else{let t=y({},e.params);for(let e in t)t[e]??delete t[e];a=y({},e,{params:v(t)}),i.params=v(i.params)}let s=t.resolve(a,i),c=e.hash||``;s.params=g(S(s.params));let l=de(r,y({},e,{hash:ce(c),path:s.path})),u=o.createHref(l);return y({fullPath:l,hash:c,query:r===xe?Se(e.query):e.query||{}},s,{redirectedFrom:void 0,href:u})}function O(e){return typeof e==`string`?z(n,e,f.value.path):y({},e)}function ie(e,t){if(p!==e)return x(8,{from:t,to:e})}function k(e){return A(e)}function ae(e){return k(y(O(e),{replace:!0}))}function oe(e,t){let n=e.matched[e.matched.length-1];if(n&&n.redirect){let{redirect:r}=n,i=typeof r==`function`?r(e,t):r;return typeof i==`string`&&(i=i.includes(`?`)||i.includes(`#`)?i=O(i):{path:i},i.params={}),y({query:e.query,hash:e.hash,params:i.path==null?e.params:{}},i)}}function A(e,t){let n=p=D(e),i=f.value,a=e.state,o=e.force,s=e.replace===!0,c=oe(n,i);if(c)return A(y(O(c),{state:typeof c==`object`?y({},a,c.state):a,force:o,replace:s}),t||n);let l=n;l.redirectedFrom=t;let u;return!o&&fe(r,i,n)&&(u=x(16,{to:l,from:i}),W(i,i,!0,!1)),(u?Promise.resolve(u):M(l,i)).catch(e=>b(e)?b(e,2)?e:U(e):V(e,l,i)).then(e=>{if(e){if(b(e,2))return A(y({replace:s},O(e.to),{state:typeof e.to==`object`?y({},a,e.to.state):a,force:o}),t||l)}else e=P(l,i,!0,s,a);return N(l,i,e),e})}function se(e,t){let n=ie(e,t);return n?Promise.reject(n):Promise.resolve()}function j(e){let t=J.values().next().value;return t&&typeof t.runWithContext==`function`?t.runWithContext(e):e()}function M(e,t){let n,[r,i,a]=we(e,t);n=Ce(r.reverse(),`beforeRouteLeave`,e,t);for(let i of r)i.leaveGuards.forEach(r=>{n.push($(r,e,t))});let o=se.bind(null,e,t);return n.push(o),X(n).then(()=>{n=[];for(let r of l.list())n.push($(r,e,t));return n.push(o),X(n)}).then(()=>{n=Ce(i,`beforeRouteUpdate`,e,t);for(let r of i)r.updateGuards.forEach(r=>{n.push($(r,e,t))});return n.push(o),X(n)}).then(()=>{n=[];for(let r of a)if(r.beforeEnter)if(_(r.beforeEnter))for(let i of r.beforeEnter)n.push($(i,e,t));else n.push($(r.beforeEnter,e,t));return n.push(o),X(n)}).then(()=>(e.matched.forEach(e=>e.enterCallbacks={}),n=Ce(a,`beforeRouteEnter`,e,t,j),n.push(o),X(n))).then(()=>{n=[];for(let r of u.list())n.push($(r,e,t));return n.push(o),X(n)}).catch(e=>b(e,8)?e:Promise.reject(e))}function N(e,t,n){d.list().forEach(r=>j(()=>r(e,t,n)))}function P(e,t,n,r,i){let a=ie(e,t);if(a)return a;let s=t===K,c=T?history.state:{};n&&(r||s?o.replace(e.fullPath,y({scroll:s&&c&&c.scroll},i)):o.push(e.fullPath,i)),f.value=e,W(e,t,n,s),U()}let F;function le(){F||=o.listen((e,t,n)=>{if(!Y.listening)return;let r=D(e),i=oe(r,Y.currentRoute.value);if(i){A(y(i,{replace:!0,force:!0}),r).catch(w);return}p=r;let a=f.value;T&&ge(me(a.fullPath,n.delta),Z()),M(r,a).catch(e=>b(e,12)?e:b(e,2)?(A(y(O(e.to),{force:!0}),r).then(e=>{b(e,20)&&!n.delta&&n.type===`pop`&&o.go(-1,!1)}).catch(w),Promise.reject()):(n.delta&&o.go(-n.delta,!1),V(e,r,a))).then(e=>{e||=P(r,a,!1),e&&(n.delta&&!b(e,8)?o.go(-n.delta,!1):n.type===`pop`&&b(e,20)&&o.go(-1,!1)),N(r,a,e)}).catch(w)})}let L=Q(),R=Q(),B;function V(e,t,n){U(e);let r=R.list();return r.length?r.forEach(r=>r(e,t,n)):console.error(e),Promise.reject(e)}function H(){return B&&f.value!==K?Promise.resolve():new Promise((e,t)=>{L.add([e,t])})}function U(e){return B||(B=!e,le(),L.list().forEach(([t,n])=>e?n(e):t()),L.reset()),e}function W(t,n,r,a){let{scrollBehavior:o}=e;if(!T||!o)return Promise.resolve();let s=!r&&_e(me(t.fullPath,0))||(a||!r)&&history.state&&history.state.scroll||null;return i().then(()=>o(t,n,s)).then(e=>t===f.value&&e&&pe(e)).catch(e=>t===f.value&&V(e,t,n))}let G=e=>o.go(e),q,J=new Set,Y={currentRoute:f,listening:!0,addRoute:E,removeRoute:te,clearRoutes:t.clearRoutes,hasRoute:re,getRoutes:ne,resolve:D,options:e,push:k,replace:ae,go:G,back:()=>G(-1),forward:()=>G(1),beforeEach:l.add,beforeResolve:u.add,afterEach:d.add,onError:R.add,isReady:H,install(e){e.component(`RouterLink`,et),e.component(`RouterView`,st),e.config.globalProperties.$router=Y,Object.defineProperty(e.config.globalProperties,"$route",{enumerable:!0,get:()=>c(f)}),T&&!q&&f.value===K&&(q=!0,k(o.location).catch(e=>{}));let t={};for(let e in K)Object.defineProperty(t,e,{get:()=>f.value[e],enumerable:!0});e.provide(h,Y),e.provide(m,a(t)),e.provide(ee,f);let n=e.unmount;J.add(e),e.unmount=function(){J.delete(e),J.size<1&&(p=K,F&&F(),F=null,f.value=K,q=!1,B=!1),n()}}};function X(e){return e.reduce((e,t)=>e.then(()=>j(t)),Promise.resolve())}return Y}export{Ae as i,st as n,ct as r,et as t};
|
|
1
|
+
import{C as e,E as t,L as n,M as r,O as i,X as a,Y as o,Z as s,et as c,h as l,q as u,w as d}from"./i18n-js6gfc7j.js";import{a as f,c as p,d as m,f as h,g,i as _,l as v,n as y,o as b,p as ee,r as x,s as S,t as C,u as w}from"./useApi-CROJJdhE-BdSti7Y2.js";var T=typeof document<`u`,E=/#/g,te=/&/g,ne=/\//g,re=/=/g,D=/\?/g,O=/\+/g,ie=/%5B/g,k=/%5D/g,ae=/%5E/g,oe=/%60/g,A=/%7B/g,se=/%7C/g,j=/%7D/g,M=/%20/g;function N(e){return e==null?``:encodeURI(``+e).replace(se,`|`).replace(ie,`[`).replace(k,`]`)}function ce(e){return N(e).replace(A,`{`).replace(j,`}`).replace(ae,`^`)}function P(e){return N(e).replace(O,`%2B`).replace(M,`+`).replace(E,`%23`).replace(te,`%26`).replace(oe,"`").replace(A,`{`).replace(j,`}`).replace(ae,`^`)}function F(e){return P(e).replace(re,`%3D`)}function le(e){return N(e).replace(E,`%23`).replace(D,`%3F`)}function ue(e){return le(e).replace(ne,`%2F`)}function I(e){if(e==null)return null;try{return decodeURIComponent(``+e)}catch{}return``+e}var L=/\/$/,R=e=>e.replace(L,``);function z(e,t,n=`/`){let r,i={},a=``,o=``,s=t.indexOf(`#`),c=t.indexOf(`?`);return c=s>=0&&c>s?-1:c,c>=0&&(r=t.slice(0,c),a=t.slice(c,s>0?s:t.length),i=e(a.slice(1))),s>=0&&(r||=t.slice(0,s),o=t.slice(s,t.length)),r=G(r??t,n),{fullPath:r+a+o,path:r,query:i,hash:I(o)}}function de(e,t){let n=t.query?e(t.query):``;return t.path+(n&&`?`)+n+(t.hash||``)}function B(e,t){return!t||!e.toLowerCase().startsWith(t.toLowerCase())?e:e.slice(t.length)||`/`}function fe(e,t,n){let r=t.matched.length-1,i=n.matched.length-1;return r>-1&&r===i&&V(t.matched[r],n.matched[i])&&H(t.params,n.params)&&e(t.query)===e(n.query)&&t.hash===n.hash}function V(e,t){return(e.aliasOf||e)===(t.aliasOf||t)}function H(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(var n in e)if(!U(e[n],t[n]))return!1;return!0}function U(e,t){return _(e)?W(e,t):_(t)?W(t,e):(e&&e.valueOf())===(t&&t.valueOf())}function W(e,t){return _(t)?e.length===t.length&&e.every((e,n)=>e===t[n]):e.length===1&&e[0]===t}function G(e,t){if(e.startsWith(`/`))return e;if(!e)return t;let n=t.split(`/`),r=e.split(`/`),i=r[r.length-1];(i===`..`||i===`.`)&&r.push(``);let a=n.length-1,o,s;for(o=0;o<r.length;o++)if(s=r[o],s!==`.`)if(s===`..`)a>1&&a--;else break;return n.slice(0,a).join(`/`)+`/`+r.slice(o).join(`/`)}var K={path:`/`,name:void 0,params:{},query:{},hash:``,fullPath:`/`,matched:[],meta:{},redirectedFrom:void 0};function q(e){if(!e)if(T){let t=document.querySelector(`base`);e=t&&t.getAttribute(`href`)||`/`,e=e.replace(/^\w+:\/\/[^/]+/,``)}else e=`/`;return e[0]!==`/`&&e[0]!==`#`&&(e=`/`+e),R(e)}var J=/^[^#]+#/;function Y(e,t){return e.replace(J,`#`)+t}function X(e,t){let n=document.documentElement.getBoundingClientRect(),r=e.getBoundingClientRect();return{behavior:t.behavior,left:r.left-n.left-(t.left||0),top:r.top-n.top-(t.top||0)}}var Z=()=>({left:window.scrollX,top:window.scrollY});function pe(e){let t;if(`el`in e){let n=e.el,r=typeof n==`string`&&n.startsWith(`#`),i=typeof n==`string`?r?document.getElementById(n.slice(1)):document.querySelector(n):n;if(!i)return;t=X(i,e)}else t=e;`scrollBehavior`in document.documentElement.style?window.scrollTo(t):window.scrollTo(t.left==null?window.scrollX:t.left,t.top==null?window.scrollY:t.top)}function me(e,t){return(history.state?history.state.position-t:-1)+e}var he=new Map;function ge(e,t){he.set(e,t)}function _e(e){let t=he.get(e);return he.delete(e),t}function ve(e){return typeof e==`string`||e&&typeof e==`object`}function ye(e){return typeof e==`string`||typeof e==`symbol`}function be(e){let t={};if(e===``||e===`?`)return t;let n=(e[0]===`?`?e.slice(1):e).split(`&`);for(let e=0;e<n.length;++e){let r=n[e].replace(O,` `),i=r.indexOf(`=`),a=I(i<0?r:r.slice(0,i)),o=i<0?null:I(r.slice(i+1));if(a in t){let e=t[a];_(e)||(e=t[a]=[e]),e.push(o)}else t[a]=o}return t}function xe(e){let t=``;for(let n in e){let r=e[n];if(n=F(n),r==null){r!==void 0&&(t+=(t.length?`&`:``)+n);continue}(_(r)?r.map(e=>e&&P(e)):[r&&P(r)]).forEach(e=>{e!==void 0&&(t+=(t.length?`&`:``)+n,e!=null&&(t+=`=`+e))})}return t}function Se(e){let t={};for(let n in e){let r=e[n];r!==void 0&&(t[n]=_(r)?r.map(e=>e==null?null:``+e):r==null?r:``+r)}return t}function Q(){let e=[];function t(t){return e.push(t),()=>{let n=e.indexOf(t);n>-1&&e.splice(n,1)}}function n(){e=[]}return{add:t,list:()=>e.slice(),reset:n}}function $(e,t,n,r,i,a=e=>e()){let o=r&&(r.enterCallbacks[i]=r.enterCallbacks[i]||[]);return()=>new Promise((s,c)=>{let l=e=>{e===!1?c(x(4,{from:n,to:t})):e instanceof Error?c(e):ve(e)?c(x(2,{from:t,to:e})):(o&&r.enterCallbacks[i]===o&&typeof e==`function`&&o.push(e),s())},u=a(()=>e.call(r&&r.instances[i],t,n,l)),d=Promise.resolve(u);e.length<3&&(d=d.then(l)),d.catch(e=>c(e))})}function Ce(e,t,n,r,i=e=>e()){let a=[];for(let o of e)for(let e in o.components){let s=o.components[e];if(!(t!==`beforeRouteEnter`&&!o.instances[e]))if(S(s)){let c=(s.__vccOpts||s)[t];c&&a.push($(c,n,r,o,e,i))}else{let c=s();a.push(()=>c.then(a=>{if(!a)throw Error(`Couldn't resolve component "${e}" at "${o.path}"`);let s=f(a)?a.default:a;o.mods[e]=a,o.components[e]=s;let c=(s.__vccOpts||s)[t];return c&&$(c,n,r,o,e,i)()}))}}return a}function we(e,t){let n=[],r=[],i=[],a=Math.max(t.matched.length,e.matched.length);for(let o=0;o<a;o++){let a=t.matched[o];a&&(e.matched.find(e=>V(e,a))?r.push(a):n.push(a));let s=e.matched[o];s&&(t.matched.find(e=>V(e,s))||i.push(s))}return[n,r,i]}var Te=()=>location.protocol+`//`+location.host;function Ee(e,t){let{pathname:n,search:r,hash:i}=t,a=e.indexOf(`#`);if(a>-1){let t=i.includes(e.slice(a))?e.slice(a).length:1,n=i.slice(t);return n[0]!==`/`&&(n=`/`+n),B(n,``)}return B(n,e)+r+i}function De(e,t,n,r){let i=[],a=[],o=null,s=({state:a})=>{let s=Ee(e,location),c=n.value,l=t.value,u=0;if(a){if(n.value=s,t.value=a,o&&o===c){o=null;return}u=l?a.position-l.position:0}else r(s);i.forEach(e=>{e(n.value,c,{delta:u,type:`pop`,direction:u?u>0?`forward`:`back`:``})})};function c(){o=n.value}function l(e){i.push(e);let t=()=>{let t=i.indexOf(e);t>-1&&i.splice(t,1)};return a.push(t),t}function u(){if(document.visibilityState===`hidden`){let{history:e}=window;if(!e.state)return;e.replaceState(y({},e.state,{scroll:Z()}),``)}}function d(){for(let e of a)e();a=[],window.removeEventListener(`popstate`,s),window.removeEventListener(`pagehide`,u),document.removeEventListener(`visibilitychange`,u)}return window.addEventListener(`popstate`,s),window.addEventListener(`pagehide`,u),document.addEventListener(`visibilitychange`,u),{pauseListeners:c,listen:l,destroy:d}}function Oe(e,t,n,r=!1,i=!1){return{back:e,current:t,forward:n,replaced:r,position:window.history.length,scroll:i?Z():null}}function ke(e){let{history:t,location:n}=window,r={value:Ee(e,n)},i={value:t.state};i.value||a(r.value,{back:null,current:r.value,forward:null,position:t.length-1,replaced:!0,scroll:null},!0);function a(r,a,o){let s=e.indexOf(`#`),c=s>-1?(n.host&&document.querySelector(`base`)?e:e.slice(s))+r:Te()+e+r;try{t[o?`replaceState`:`pushState`](a,``,c),i.value=a}catch(e){console.error(e),n[o?`replace`:`assign`](c)}}function o(e,n){a(e,y({},t.state,Oe(i.value.back,e,i.value.forward,!0),n,{position:i.value.position}),!0),r.value=e}function s(e,n){let o=y({},i.value,t.state,{forward:e,scroll:Z()});a(o.current,o,!0),a(e,y({},Oe(r.value,e,null),{position:o.position+1},n),!1),r.value=e}return{location:r,state:i,push:s,replace:o}}function Ae(e){e=q(e);let t=ke(e),n=De(e,t.state,t.location,t.replace);function r(e,t=!0){t||n.pauseListeners(),history.go(e)}let i=y({location:``,base:e,go:r,createHref:Y.bind(null,e)},t,n);return Object.defineProperty(i,"location",{enumerable:!0,get:()=>t.location.value}),Object.defineProperty(i,"state",{enumerable:!0,get:()=>t.state.value}),i}var je={type:0,value:``},Me=/[a-zA-Z0-9_]/;function Ne(e){if(!e)return[[]];if(e===`/`)return[[je]];if(!e.startsWith(`/`))throw Error(`Invalid path "${e}"`);function t(e){throw Error(`ERR (${n})/"${l}": ${e}`)}let n=0,r=n,i=[],a;function o(){a&&i.push(a),a=[]}let s=0,c,l=``,u=``;function d(){l&&=(n===0?a.push({type:0,value:l}):n===1||n===2||n===3?(a.length>1&&(c===`*`||c===`+`)&&t(`A repeatable param (${l}) must be alone in its segment. eg: '/:ids+.`),a.push({type:1,value:l,regexp:u,repeatable:c===`*`||c===`+`,optional:c===`*`||c===`?`})):t(`Invalid state to consume buffer`),``)}function f(){l+=c}for(;s<e.length;)switch(c=e[s++],n){case 0:c===`\\`?(r=n,n=4):c===`/`?(l&&d(),o()):c===`:`?(d(),n=1):f();break;case 4:f(),n=r;break;case 1:c===`(`?n=2:Me.test(c)?f():(d(),n=0,c!==`*`&&c!==`?`&&c!==`+`&&s--);break;case 2:c===`)`?u[u.length-1]==`\\`?u=u.slice(0,-1)+c:n=3:u+=c;break;case 3:d(),n=0,c!==`*`&&c!==`?`&&c!==`+`&&s--,u=``;break;default:t(`Unknown state`);break}return n===2&&t(`Unfinished custom RegExp for param "${l}"`),d(),o(),i}var Pe=`[^/]+?`,Fe={sensitive:!1,strict:!1,start:!0,end:!0},Ie=/[.+*?^${}()[\]/\\]/g;function Le(e,t){let n=y({},Fe,t),r=[],i=n.start?`^`:``,a=[];for(let t of e){let e=t.length?[]:[90];n.strict&&!t.length&&(i+=`/`);for(let r=0;r<t.length;r++){let o=t[r],s=40+(n.sensitive?.25:0);if(o.type===0)r||(i+=`/`),i+=o.value.replace(Ie,`\\$&`),s+=40;else if(o.type===1){let{value:e,repeatable:n,optional:c,regexp:l}=o;a.push({name:e,repeatable:n,optional:c});let u=l||Pe;if(u!==Pe){s+=10;try{RegExp(`(${u})`)}catch(t){throw Error(`Invalid custom RegExp for param "${e}" (${u}): `+t.message)}}let d=n?`((?:${u})(?:/(?:${u}))*)`:`(${u})`;r||(d=c&&t.length<2?`(?:/${d})`:`/`+d),c&&(d+=`?`),i+=d,s+=20,c&&(s+=-8),n&&(s+=-20),u===`.*`&&(s+=-50)}e.push(s)}r.push(e)}if(n.strict&&n.end){let e=r.length-1;r[e][r[e].length-1]+=.7000000000000001}n.strict||(i+=`/?`),n.end?i+=`$`:n.strict&&!i.endsWith(`/`)&&(i+=`(?:/|$)`);let o=new RegExp(i,n.sensitive?``:`i`);function s(e){let t=e.match(o),n={};if(!t)return null;for(let e=1;e<t.length;e++){let r=t[e]||``,i=a[e-1];n[i.name]=r&&i.repeatable?r.split(`/`):r}return n}function c(t){let n=``,r=!1;for(let i of e){(!r||!n.endsWith(`/`))&&(n+=`/`),r=!1;for(let e of i)if(e.type===0)n+=e.value;else if(e.type===1){let{value:a,repeatable:o,optional:s}=e,c=a in t?t[a]:``;if(_(c)&&!o)throw Error(`Provided param "${a}" is an array but it is not repeatable (* or + modifiers)`);let l=_(c)?c.join(`/`):c;if(!l)if(s)i.length<2&&(n.endsWith(`/`)?n=n.slice(0,-1):r=!0);else throw Error(`Missing required param "${a}"`);n+=l}}return n||`/`}return{re:o,score:r,keys:a,parse:s,stringify:c}}function Re(e,t){let n=0;for(;n<e.length&&n<t.length;){let r=t[n]-e[n];if(r)return r;n++}return e.length<t.length?e.length===1&&e[0]===80?-1:1:e.length>t.length?t.length===1&&t[0]===80?1:-1:0}function ze(e,t){let n=0,r=e.score,i=t.score;for(;n<r.length&&n<i.length;){let e=Re(r[n],i[n]);if(e)return e;n++}if(Math.abs(i.length-r.length)===1){if(Be(r))return 1;if(Be(i))return-1}return i.length-r.length}function Be(e){let t=e[e.length-1];return e.length>0&&t[t.length-1]<0}var Ve={strict:!1,end:!0,sensitive:!1};function He(e,t,n){let r=y(Le(Ne(e.path),n),{record:e,parent:t,children:[],alias:[]});return t&&!r.record.aliasOf==!t.record.aliasOf&&t.children.push(r),r}function Ue(e,t){let n=[],r=new Map;t=v(Ve,t);function i(e){return r.get(e)}function a(e,n,r){let i=!r,s=Ge(e);s.aliasOf=r&&r.record;let l=v(t,e),u=[s];if(`alias`in e){let t=typeof e.alias==`string`?[e.alias]:e.alias;for(let e of t)u.push(Ge(y({},s,{components:r?r.record.components:s.components,path:e,aliasOf:r?r.record:s})))}let d,f;for(let t of u){let{path:u}=t;if(n&&u[0]!==`/`){let e=n.record.path,r=e[e.length-1]===`/`?``:`/`;t.path=n.record.path+(u&&r+u)}if(d=He(t,n,l),r?r.alias.push(d):(f||=d,f!==d&&f.alias.push(d),i&&e.name&&!qe(d)&&o(e.name)),Ze(d)&&c(d),s.children){let e=s.children;for(let t=0;t<e.length;t++)a(e[t],d,r&&r.children[t])}r||=d}return f?()=>{o(f)}:w}function o(e){if(ye(e)){let t=r.get(e);t&&(r.delete(e),n.splice(n.indexOf(t),1),t.children.forEach(o),t.alias.forEach(o))}else{let t=n.indexOf(e);t>-1&&(n.splice(t,1),e.record.name&&r.delete(e.record.name),e.children.forEach(o),e.alias.forEach(o))}}function s(){return n}function c(e){let t=Ye(e,n);n.splice(t,0,e),e.record.name&&!qe(e)&&r.set(e.record.name,e)}function l(e,t){let i,a={},o,s;if(`name`in e&&e.name){if(i=r.get(e.name),!i)throw x(1,{location:e});s=i.record.name,a=y(We(t.params,i.keys.filter(e=>!e.optional).concat(i.parent?i.parent.keys.filter(e=>e.optional):[]).map(e=>e.name)),e.params&&We(e.params,i.keys.map(e=>e.name))),o=i.stringify(a)}else if(e.path!=null)o=e.path,i=n.find(e=>e.re.test(o)),i&&(a=i.parse(o),s=i.record.name,i.keys.forEach(e=>{e.optional&&!a[e.name]&&delete a[e.name]}));else{if(i=t.name?r.get(t.name):n.find(e=>e.re.test(t.path)),!i)throw x(1,{location:e,currentLocation:t});s=i.record.name,a=y({},t.params,e.params),o=i.stringify(a)}let c=[],l=i;for(;l;)c.unshift(l.record),l=l.parent;return{name:s,path:o,params:a,matched:c,meta:Je(c)}}e.forEach(e=>a(e));function u(){n.length=0,r.clear()}return{addRoute:a,resolve:l,removeRoute:o,clearRoutes:u,getRoutes:s,getRecordMatcher:i}}function We(e,t){let n={};for(let r of t)r in e&&(n[r]=e[r]);return n}function Ge(e){let t={path:e.path,redirect:e.redirect,name:e.name,meta:e.meta||{},aliasOf:e.aliasOf,beforeEnter:e.beforeEnter,props:Ke(e),children:e.children||[],instances:{},leaveGuards:new Set,updateGuards:new Set,enterCallbacks:{},components:`components`in e?e.components||null:e.component&&{default:e.component}};return Object.defineProperty(t,"mods",{value:{}}),t}function Ke(e){let t={},n=e.props||!1;if(`component`in e)t.default=n;else for(let r in e.components)t[r]=typeof n==`object`?n[r]:n;return t}function qe(e){for(;e;){if(e.record.aliasOf)return!0;e=e.parent}return!1}function Je(e){return e.reduce((e,t)=>y(e,t.meta),{})}function Ye(e,t){let n=0,r=t.length;for(;n!==r;){let i=n+r>>1;ze(e,t[i])<0?r=i:n=i+1}let i=Xe(e);return i&&(r=t.lastIndexOf(i,r-1)),r}function Xe(e){let t=e;for(;t=t.parent;)if(Ze(t)&&ze(e,t)===0)return t}function Ze({record:e}){return!!(e.name||e.components&&Object.keys(e.components).length||e.redirect)}function Qe(e){let n=t(h),r=t(m),i=l(()=>{let t=c(e.to);return n.resolve(t)}),a=l(()=>{let{matched:e}=i.value,{length:t}=e,n=e[t-1],a=r.matched;if(!n||!a.length)return-1;let o=a.findIndex(V.bind(null,n));if(o>-1)return o;let s=rt(e[t-2]);return t>1&&rt(n)===s&&a[a.length-1].path!==s?a.findIndex(V.bind(null,e[t-2])):o}),o=l(()=>a.value>-1&&nt(r.params,i.value.params)),s=l(()=>a.value>-1&&a.value===r.matched.length-1&&H(r.params,i.value.params));function u(t={}){if(tt(t)){let t=n[c(e.replace)?`replace`:`push`](c(e.to)).catch(w);return e.viewTransition&&typeof document<`u`&&`startViewTransition`in document&&document.startViewTransition(()=>t),t}return Promise.resolve()}return{route:i,href:l(()=>i.value.href),isActive:o,isExactActive:s,navigate:u}}function $e(e){return e.length===1?e[0]:e}var et=e({name:`RouterLink`,compatConfig:{MODE:3},props:{to:{type:[String,Object],required:!0},replace:Boolean,activeClass:String,exactActiveClass:String,custom:Boolean,ariaCurrentValue:{type:String,default:`page`},viewTransition:Boolean},useLink:Qe,setup(e,{slots:n}){let r=u(Qe(e)),{options:i}=t(h),a=l(()=>({[it(e.activeClass,i.linkActiveClass,`router-link-active`)]:r.isActive,[it(e.exactActiveClass,i.linkExactActiveClass,`router-link-exact-active`)]:r.isExactActive}));return()=>{let t=n.default&&$e(n.default(r));return e.custom?t:d(`a`,{"aria-current":r.isExactActive?e.ariaCurrentValue:null,href:r.href,onClick:r.navigate,class:a.value},t)}}});function tt(e){if(!(e.metaKey||e.altKey||e.ctrlKey||e.shiftKey)&&!e.defaultPrevented&&!(e.button!==void 0&&e.button!==0)){if(e.currentTarget&&e.currentTarget.getAttribute){let t=e.currentTarget.getAttribute(`target`);if(/\b_blank\b/i.test(t))return}return e.preventDefault&&e.preventDefault(),!0}}function nt(e,t){for(let n in t){let r=t[n],i=e[n];if(typeof r==`string`){if(r!==i)return!1}else if(!_(i)||i.length!==r.length||r.some((e,t)=>e.valueOf()!==i[t].valueOf()))return!1}return!0}function rt(e){return e?e.aliasOf?e.aliasOf.path:e.path:``}var it=(e,t,n)=>e??t??n,at=e({name:`RouterView`,inheritAttrs:!1,props:{name:{type:String,default:`default`},route:Object},compatConfig:{MODE:3},setup(e,{attrs:i,slots:a}){let s=t(ee),u=l(()=>e.route||s.value),f=t(g,0),m=l(()=>{let e=c(f),{matched:t}=u.value,n;for(;(n=t[e])&&!n.components;)e++;return e}),h=l(()=>u.value.matched[m.value]);r(g,l(()=>m.value+1)),r(p,h),r(ee,u);let _=o();return n(()=>[_.value,h.value,e.name],([e,t,n],[r,i,a])=>{t&&(t.instances[n]=e,i&&i!==t&&e&&e===r&&(t.leaveGuards.size||(t.leaveGuards=i.leaveGuards),t.updateGuards.size||(t.updateGuards=i.updateGuards))),e&&t&&(!i||!V(t,i)||!r)&&(t.enterCallbacks[n]||[]).forEach(t=>t(e))},{flush:`post`}),()=>{let t=u.value,n=e.name,r=h.value,o=r&&r.components[n];if(!o)return ot(a.default,{Component:o,route:t});let s=r.props[n],c=d(o,y({},s?s===!0?t.params:typeof s==`function`?s(t):s:null,i,{onVnodeUnmounted:e=>{e.component.isUnmounted&&(r.instances[n]=null)},ref:_}));return ot(a.default,{Component:c,route:t})||c}}});function ot(e,t){if(!e)return null;let n=e(t);return n.length===1?n[0]:n}var st=at;function ct(e){let t=Ue(e.routes,e),n=e.parseQuery||be,r=e.stringifyQuery||xe,o=e.history,l=Q(),u=Q(),d=Q(),f=s(K),p=K;T&&e.scrollBehavior&&`scrollRestoration`in history&&(history.scrollRestoration=`manual`);let g=C.bind(null,e=>``+e),v=C.bind(null,ue),S=C.bind(null,I);function E(e,n){let r,i;return ye(e)?(r=t.getRecordMatcher(e),i=n):i=e,t.addRoute(i,r)}function te(e){let n=t.getRecordMatcher(e);n&&t.removeRoute(n)}function ne(){return t.getRoutes().map(e=>e.record)}function re(e){return!!t.getRecordMatcher(e)}function D(e,i){if(i=y({},i||f.value),typeof e==`string`){let r=z(n,e,i.path),a=t.resolve({path:r.path},i),s=o.createHref(r.fullPath);return y(r,a,{params:S(a.params),redirectedFrom:void 0,href:s})}let a;if(e.path!=null)a=y({},e,{path:z(n,e.path,i.path).path});else{let t=y({},e.params);for(let e in t)t[e]??delete t[e];a=y({},e,{params:v(t)}),i.params=v(i.params)}let s=t.resolve(a,i),c=e.hash||``;s.params=g(S(s.params));let l=de(r,y({},e,{hash:ce(c),path:s.path})),u=o.createHref(l);return y({fullPath:l,hash:c,query:r===xe?Se(e.query):e.query||{}},s,{redirectedFrom:void 0,href:u})}function O(e){return typeof e==`string`?z(n,e,f.value.path):y({},e)}function ie(e,t){if(p!==e)return x(8,{from:t,to:e})}function k(e){return A(e)}function ae(e){return k(y(O(e),{replace:!0}))}function oe(e,t){let n=e.matched[e.matched.length-1];if(n&&n.redirect){let{redirect:r}=n,i=typeof r==`function`?r(e,t):r;return typeof i==`string`&&(i=i.includes(`?`)||i.includes(`#`)?i=O(i):{path:i},i.params={}),y({query:e.query,hash:e.hash,params:i.path==null?e.params:{}},i)}}function A(e,t){let n=p=D(e),i=f.value,a=e.state,o=e.force,s=e.replace===!0,c=oe(n,i);if(c)return A(y(O(c),{state:typeof c==`object`?y({},a,c.state):a,force:o,replace:s}),t||n);let l=n;l.redirectedFrom=t;let u;return!o&&fe(r,i,n)&&(u=x(16,{to:l,from:i}),W(i,i,!0,!1)),(u?Promise.resolve(u):M(l,i)).catch(e=>b(e)?b(e,2)?e:U(e):V(e,l,i)).then(e=>{if(e){if(b(e,2))return A(y({replace:s},O(e.to),{state:typeof e.to==`object`?y({},a,e.to.state):a,force:o}),t||l)}else e=P(l,i,!0,s,a);return N(l,i,e),e})}function se(e,t){let n=ie(e,t);return n?Promise.reject(n):Promise.resolve()}function j(e){let t=J.values().next().value;return t&&typeof t.runWithContext==`function`?t.runWithContext(e):e()}function M(e,t){let n,[r,i,a]=we(e,t);n=Ce(r.reverse(),`beforeRouteLeave`,e,t);for(let i of r)i.leaveGuards.forEach(r=>{n.push($(r,e,t))});let o=se.bind(null,e,t);return n.push(o),X(n).then(()=>{n=[];for(let r of l.list())n.push($(r,e,t));return n.push(o),X(n)}).then(()=>{n=Ce(i,`beforeRouteUpdate`,e,t);for(let r of i)r.updateGuards.forEach(r=>{n.push($(r,e,t))});return n.push(o),X(n)}).then(()=>{n=[];for(let r of a)if(r.beforeEnter)if(_(r.beforeEnter))for(let i of r.beforeEnter)n.push($(i,e,t));else n.push($(r.beforeEnter,e,t));return n.push(o),X(n)}).then(()=>(e.matched.forEach(e=>e.enterCallbacks={}),n=Ce(a,`beforeRouteEnter`,e,t,j),n.push(o),X(n))).then(()=>{n=[];for(let r of u.list())n.push($(r,e,t));return n.push(o),X(n)}).catch(e=>b(e,8)?e:Promise.reject(e))}function N(e,t,n){d.list().forEach(r=>j(()=>r(e,t,n)))}function P(e,t,n,r,i){let a=ie(e,t);if(a)return a;let s=t===K,c=T?history.state:{};n&&(r||s?o.replace(e.fullPath,y({scroll:s&&c&&c.scroll},i)):o.push(e.fullPath,i)),f.value=e,W(e,t,n,s),U()}let F;function le(){F||=o.listen((e,t,n)=>{if(!Y.listening)return;let r=D(e),i=oe(r,Y.currentRoute.value);if(i){A(y(i,{replace:!0,force:!0}),r).catch(w);return}p=r;let a=f.value;T&&ge(me(a.fullPath,n.delta),Z()),M(r,a).catch(e=>b(e,12)?e:b(e,2)?(A(y(O(e.to),{force:!0}),r).then(e=>{b(e,20)&&!n.delta&&n.type===`pop`&&o.go(-1,!1)}).catch(w),Promise.reject()):(n.delta&&o.go(-n.delta,!1),V(e,r,a))).then(e=>{e||=P(r,a,!1),e&&(n.delta&&!b(e,8)?o.go(-n.delta,!1):n.type===`pop`&&b(e,20)&&o.go(-1,!1)),N(r,a,e)}).catch(w)})}let L=Q(),R=Q(),B;function V(e,t,n){U(e);let r=R.list();return r.length?r.forEach(r=>r(e,t,n)):console.error(e),Promise.reject(e)}function H(){return B&&f.value!==K?Promise.resolve():new Promise((e,t)=>{L.add([e,t])})}function U(e){return B||(B=!e,le(),L.list().forEach(([t,n])=>e?n(e):t()),L.reset()),e}function W(t,n,r,a){let{scrollBehavior:o}=e;if(!T||!o)return Promise.resolve();let s=!r&&_e(me(t.fullPath,0))||(a||!r)&&history.state&&history.state.scroll||null;return i().then(()=>o(t,n,s)).then(e=>t===f.value&&e&&pe(e)).catch(e=>t===f.value&&V(e,t,n))}let G=e=>o.go(e),q,J=new Set,Y={currentRoute:f,listening:!0,addRoute:E,removeRoute:te,clearRoutes:t.clearRoutes,hasRoute:re,getRoutes:ne,resolve:D,options:e,push:k,replace:ae,go:G,back:()=>G(-1),forward:()=>G(1),beforeEach:l.add,beforeResolve:u.add,afterEach:d.add,onError:R.add,isReady:H,install(e){e.component(`RouterLink`,et),e.component(`RouterView`,st),e.config.globalProperties.$router=Y,Object.defineProperty(e.config.globalProperties,"$route",{enumerable:!0,get:()=>c(f)}),T&&!q&&f.value===K&&(q=!0,k(o.location).catch(e=>{}));let t={};for(let e in K)Object.defineProperty(t,e,{get:()=>f.value[e],enumerable:!0});e.provide(h,Y),e.provide(m,a(t)),e.provide(ee,f);let n=e.unmount;J.add(e),e.unmount=function(){J.delete(e),J.size<1&&(p=K,F&&F(),F=null,f.value=K,q=!1,B=!1),n()}}};function X(e){return e.reduce((e,t)=>e.then(()=>j(t)),Promise.resolve())}return Y}export{Ae as i,st as n,ct as r,et as t};
|
package/dist/web/index.html
CHANGED
|
@@ -9,11 +9,11 @@
|
|
|
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-
|
|
13
|
-
<link rel="modulepreload" crossorigin href="/assets/i18n-
|
|
14
|
-
<link rel="modulepreload" crossorigin href="/assets/console-
|
|
15
|
-
<link rel="modulepreload" crossorigin href="/assets/useApi-CROJJdhE-
|
|
16
|
-
<link rel="modulepreload" crossorigin href="/assets/vue-router-
|
|
12
|
+
<script type="module" crossorigin src="/assets/index-GqJf1xqg.js"></script>
|
|
13
|
+
<link rel="modulepreload" crossorigin href="/assets/i18n-js6gfc7j.js">
|
|
14
|
+
<link rel="modulepreload" crossorigin href="/assets/console-BT1P2Db4.js">
|
|
15
|
+
<link rel="modulepreload" crossorigin href="/assets/useApi-CROJJdhE-BdSti7Y2.js">
|
|
16
|
+
<link rel="modulepreload" crossorigin href="/assets/vue-router-Kk67EaCP.js">
|
|
17
17
|
<link rel="modulepreload" crossorigin href="/assets/fuli-logo-Bu9WBuQe.js">
|
|
18
18
|
<link rel="modulepreload" crossorigin href="/assets/_plugin-vue_export-helper-BDNMzG2s.js">
|
|
19
19
|
<link rel="modulepreload" crossorigin href="/assets/paths-CDREouhi.js">
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
from datetime import datetime
|
|
2
|
+
|
|
3
|
+
from pydantic import Field
|
|
4
|
+
|
|
5
|
+
from .models import StrictModel
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class ProjectAgentCoordinationPolicyRecord(StrictModel):
|
|
9
|
+
"""Project-local authorization for Agent continuity and recruitment."""
|
|
10
|
+
|
|
11
|
+
personal_space_id: str
|
|
12
|
+
personal_project_id: str
|
|
13
|
+
ask_before_recruitment: bool = True
|
|
14
|
+
auto_reuse_previous_agent: bool = True
|
|
15
|
+
updated_at: datetime | None = None
|
|
16
|
+
|
|
17
|
+
|
|
18
|
+
class ProjectAgentCoordinationPolicyUpdate(StrictModel):
|
|
19
|
+
personal_space_id: str = Field(min_length=1, max_length=128)
|
|
20
|
+
personal_project_id: str = Field(min_length=1, max_length=128)
|
|
21
|
+
ask_before_recruitment: bool = True
|
|
22
|
+
auto_reuse_previous_agent: bool = True
|
|
@@ -33,6 +33,10 @@ from .project_agent_executor_models import (
|
|
|
33
33
|
ProjectAgentExecutorRoutingRuleUpdate,
|
|
34
34
|
ProjectAgentExecutorScope,
|
|
35
35
|
)
|
|
36
|
+
from .project_agent_coordination_models import (
|
|
37
|
+
ProjectAgentCoordinationPolicyRecord,
|
|
38
|
+
ProjectAgentCoordinationPolicyUpdate,
|
|
39
|
+
)
|
|
36
40
|
from .project_agent_task_models import (
|
|
37
41
|
ProjectAgentActivityResult,
|
|
38
42
|
ProjectAgentRecruitmentDecision,
|
|
@@ -264,6 +268,31 @@ def register_project_agent_routes(
|
|
|
264
268
|
to_date,
|
|
265
269
|
)
|
|
266
270
|
|
|
271
|
+
@application.get(
|
|
272
|
+
'/v1/project-agent-coordination-policy',
|
|
273
|
+
response_model=ProjectAgentCoordinationPolicyRecord,
|
|
274
|
+
)
|
|
275
|
+
async def get_project_agent_coordination_policy(
|
|
276
|
+
actor: Actor,
|
|
277
|
+
personal_space_id: Annotated[str, Query(min_length=1, max_length=128)],
|
|
278
|
+
personal_project_id: Annotated[str, Query(min_length=1, max_length=128)],
|
|
279
|
+
) -> ProjectAgentCoordinationPolicyRecord:
|
|
280
|
+
return await store.get_project_agent_coordination_policy(
|
|
281
|
+
actor,
|
|
282
|
+
personal_space_id,
|
|
283
|
+
personal_project_id,
|
|
284
|
+
)
|
|
285
|
+
|
|
286
|
+
@application.put(
|
|
287
|
+
'/v1/project-agent-coordination-policy',
|
|
288
|
+
response_model=ProjectAgentCoordinationPolicyRecord,
|
|
289
|
+
)
|
|
290
|
+
async def update_project_agent_coordination_policy(
|
|
291
|
+
request: ProjectAgentCoordinationPolicyUpdate,
|
|
292
|
+
actor: Actor,
|
|
293
|
+
) -> ProjectAgentCoordinationPolicyRecord:
|
|
294
|
+
return await store.update_project_agent_coordination_policy(actor, request)
|
|
295
|
+
|
|
267
296
|
@application.get(
|
|
268
297
|
'/v1/project-agent-recruitment-policy',
|
|
269
298
|
response_model=ProjectAgentRecruitmentPolicyRecord,
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
"""Project-local Agent continuity and recruitment authorization."""
|
|
2
|
+
|
|
3
|
+
from .personal_project_access import authorize_personal_project
|
|
4
|
+
from .project_agent_coordination_models import (
|
|
5
|
+
ProjectAgentCoordinationPolicyRecord,
|
|
6
|
+
ProjectAgentCoordinationPolicyUpdate,
|
|
7
|
+
)
|
|
8
|
+
from .provider_values import native_datetime, now_utc, stable_uuid
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
class StoreProjectAgentCoordinationPolicy:
|
|
12
|
+
"""Persist the two user-facing project Agent automation switches."""
|
|
13
|
+
|
|
14
|
+
async def get_project_agent_coordination_policy(
|
|
15
|
+
self,
|
|
16
|
+
actor: dict,
|
|
17
|
+
personal_space_id: str,
|
|
18
|
+
personal_project_id: str,
|
|
19
|
+
) -> ProjectAgentCoordinationPolicyRecord:
|
|
20
|
+
self._require_personal()
|
|
21
|
+
space = await self.authorize(actor, personal_space_id, 'reader')
|
|
22
|
+
await authorize_personal_project(
|
|
23
|
+
self,
|
|
24
|
+
actor,
|
|
25
|
+
space,
|
|
26
|
+
personal_project_id,
|
|
27
|
+
)
|
|
28
|
+
records, _, _ = await self.runtime.driver.execute_query(
|
|
29
|
+
'''
|
|
30
|
+
MATCH (:FuliSpace {id: $personal_space_id, kind: 'personal'})-
|
|
31
|
+
[:CONTAINS_PROJECT]->
|
|
32
|
+
(project:FuliPersonalProject {project_id: $personal_project_id})
|
|
33
|
+
OPTIONAL MATCH (project)-[:HAS_PROJECT_AGENT_COORDINATION_POLICY]->
|
|
34
|
+
(policy:FuliProjectAgentCoordinationPolicy {
|
|
35
|
+
policy_id: $policy_id
|
|
36
|
+
})
|
|
37
|
+
RETURN policy
|
|
38
|
+
''',
|
|
39
|
+
personal_space_id=personal_space_id,
|
|
40
|
+
personal_project_id=personal_project_id,
|
|
41
|
+
policy_id=self._project_agent_coordination_policy_id(
|
|
42
|
+
personal_space_id,
|
|
43
|
+
personal_project_id,
|
|
44
|
+
),
|
|
45
|
+
routing_='r',
|
|
46
|
+
)
|
|
47
|
+
raw = dict(records[0]['policy']) if records and records[0].get('policy') else {}
|
|
48
|
+
return ProjectAgentCoordinationPolicyRecord(
|
|
49
|
+
personal_space_id=personal_space_id,
|
|
50
|
+
personal_project_id=personal_project_id,
|
|
51
|
+
ask_before_recruitment=raw.get('ask_before_recruitment', True),
|
|
52
|
+
auto_reuse_previous_agent=raw.get(
|
|
53
|
+
'auto_reuse_previous_agent',
|
|
54
|
+
True,
|
|
55
|
+
),
|
|
56
|
+
updated_at=native_datetime(raw.get('updated_at')),
|
|
57
|
+
)
|
|
58
|
+
|
|
59
|
+
async def update_project_agent_coordination_policy(
|
|
60
|
+
self,
|
|
61
|
+
actor: dict,
|
|
62
|
+
request: ProjectAgentCoordinationPolicyUpdate,
|
|
63
|
+
) -> ProjectAgentCoordinationPolicyRecord:
|
|
64
|
+
self._require_personal()
|
|
65
|
+
space = await self.authorize(
|
|
66
|
+
actor,
|
|
67
|
+
request.personal_space_id,
|
|
68
|
+
'maintainer',
|
|
69
|
+
)
|
|
70
|
+
await authorize_personal_project(
|
|
71
|
+
self,
|
|
72
|
+
actor,
|
|
73
|
+
space,
|
|
74
|
+
request.personal_project_id,
|
|
75
|
+
)
|
|
76
|
+
policy_id = self._project_agent_coordination_policy_id(
|
|
77
|
+
request.personal_space_id,
|
|
78
|
+
request.personal_project_id,
|
|
79
|
+
)
|
|
80
|
+
updated_at = now_utc()
|
|
81
|
+
await self.runtime.driver.execute_query(
|
|
82
|
+
'''
|
|
83
|
+
MATCH (:FuliSpace {id: $personal_space_id, kind: 'personal'})-
|
|
84
|
+
[:CONTAINS_PROJECT]->
|
|
85
|
+
(project:FuliPersonalProject {project_id: $personal_project_id})
|
|
86
|
+
MERGE (policy:FuliProjectAgentCoordinationPolicy {
|
|
87
|
+
policy_id: $policy_id
|
|
88
|
+
})
|
|
89
|
+
ON CREATE SET policy.personal_space_id = $personal_space_id,
|
|
90
|
+
policy.personal_project_id = $personal_project_id,
|
|
91
|
+
policy.created_at = $updated_at
|
|
92
|
+
SET policy.ask_before_recruitment = $ask_before_recruitment,
|
|
93
|
+
policy.auto_reuse_previous_agent = $auto_reuse_previous_agent,
|
|
94
|
+
policy.updated_at = $updated_at
|
|
95
|
+
MERGE (project)-[:HAS_PROJECT_AGENT_COORDINATION_POLICY]->(policy)
|
|
96
|
+
''',
|
|
97
|
+
policy_id=policy_id,
|
|
98
|
+
personal_space_id=request.personal_space_id,
|
|
99
|
+
personal_project_id=request.personal_project_id,
|
|
100
|
+
ask_before_recruitment=request.ask_before_recruitment,
|
|
101
|
+
auto_reuse_previous_agent=request.auto_reuse_previous_agent,
|
|
102
|
+
updated_at=updated_at,
|
|
103
|
+
)
|
|
104
|
+
return ProjectAgentCoordinationPolicyRecord(
|
|
105
|
+
personal_space_id=request.personal_space_id,
|
|
106
|
+
personal_project_id=request.personal_project_id,
|
|
107
|
+
ask_before_recruitment=request.ask_before_recruitment,
|
|
108
|
+
auto_reuse_previous_agent=request.auto_reuse_previous_agent,
|
|
109
|
+
updated_at=updated_at,
|
|
110
|
+
)
|
|
111
|
+
|
|
112
|
+
def _project_agent_coordination_policy_id(
|
|
113
|
+
self,
|
|
114
|
+
personal_space_id: str,
|
|
115
|
+
personal_project_id: str,
|
|
116
|
+
) -> str:
|
|
117
|
+
return stable_uuid(
|
|
118
|
+
self.settings.provider_id,
|
|
119
|
+
personal_space_id,
|
|
120
|
+
'project-agent-coordination-policy',
|
|
121
|
+
personal_project_id,
|
|
122
|
+
)
|
|
@@ -445,9 +445,15 @@ class StoreProjectAgentTaskRecruitment:
|
|
|
445
445
|
hr_agent_id = (
|
|
446
446
|
dict(hr_records[0]['hr'])['agent_id'] if hr_records else None
|
|
447
447
|
)
|
|
448
|
-
|
|
448
|
+
coordination_policy = await self.get_project_agent_coordination_policy(
|
|
449
449
|
actor,
|
|
450
450
|
request.personal_space_id,
|
|
451
|
+
request.personal_project_id,
|
|
452
|
+
)
|
|
453
|
+
confirmation_mode = (
|
|
454
|
+
'require_confirmation'
|
|
455
|
+
if coordination_policy.ask_before_recruitment
|
|
456
|
+
else 'automatic'
|
|
451
457
|
)
|
|
452
458
|
position_kind = (
|
|
453
459
|
'temporary'
|
|
@@ -483,7 +489,7 @@ class StoreProjectAgentTaskRecruitment:
|
|
|
483
489
|
)
|
|
484
490
|
if not hr_agent_id:
|
|
485
491
|
status = 'no_hr'
|
|
486
|
-
elif
|
|
492
|
+
elif confirmation_mode == 'require_confirmation':
|
|
487
493
|
status = 'awaiting_confirmation'
|
|
488
494
|
else:
|
|
489
495
|
status = 'requested'
|
|
@@ -502,7 +508,7 @@ class StoreProjectAgentTaskRecruitment:
|
|
|
502
508
|
'reason_code': reason_code,
|
|
503
509
|
'reason': request.routing_reason,
|
|
504
510
|
'status': status,
|
|
505
|
-
'confirmation_mode':
|
|
511
|
+
'confirmation_mode': confirmation_mode,
|
|
506
512
|
'proposed_agent_id': proposed_agent_id,
|
|
507
513
|
'proposed_profile_json': profile.model_dump_json(),
|
|
508
514
|
'occupation_emoji': profile.occupation_emoji,
|