@tablestore/tablestore-agent-cli 0.2.6 → 0.2.7
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/dashboard-runtime/dashboard/.next/BUILD_ID +1 -1
- package/dist/dashboard-runtime/dashboard/.next/build-manifest.json +3 -3
- package/dist/dashboard-runtime/dashboard/.next/prerender-manifest.json +3 -3
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/api-keys/page.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/api-keys/page_client-reference-manifest.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/chat/page.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/chat/page_client-reference-manifest.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/documents/page.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/documents/page_client-reference-manifest.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/page.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/page_client-reference-manifest.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/qa/page.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/qa/page_client-reference-manifest.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/retrieval/page.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/retrieval/page_client-reference-manifest.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/settings/page.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/[name]/settings/page_client-reference-manifest.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/create/page.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/create/page_client-reference-manifest.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/page.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/knowledge-base/page_client-reference-manifest.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/llm-providers/[id]/page.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/llm-providers/[id]/page_client-reference-manifest.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/llm-providers/new/page.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/llm-providers/new/page_client-reference-manifest.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/llm-providers/page.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/llm-providers/page_client-reference-manifest.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/dream/[dreamId]/page.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/dream/[dreamId]/page_client-reference-manifest.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/dream/page.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/dream/page_client-reference-manifest.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/messages/page.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/messages/page_client-reference-manifest.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/page.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/page_client-reference-manifest.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/requests/page.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/requests/page_client-reference-manifest.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/search/page.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/search/page_client-reference-manifest.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/settings/page.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/settings/page_client-reference-manifest.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/tasks/page.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/tasks/page_client-reference-manifest.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/units/page.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/[store]/units/page_client-reference-manifest.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/create/page.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/create/page_client-reference-manifest.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/page.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/memory/page_client-reference-manifest.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/projects/page.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/(dashboard)/projects/page_client-reference-manifest.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/_global-error.html +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/_global-error.rsc +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/_global-error.segments/__PAGE__.segment.rsc +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found.html +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found.rsc +14 -14
- package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found.segments/_full.segment.rsc +14 -14
- package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found.segments/_head.segment.rsc +3 -3
- package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found.segments/_index.segment.rsc +10 -10
- package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +3 -3
- package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found.segments/_not-found.segment.rsc +3 -3
- package/dist/dashboard-runtime/dashboard/.next/server/app/_not-found.segments/_tree.segment.rsc +2 -2
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/api-keys/[id]/custom-policy/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/api-keys/[id]/effective-permissions/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/api-keys/[id]/policies/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/api-keys/[id]/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/api-keys/filter-by-permission/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/api-keys/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/auth/status/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/auth/token/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/instances/[name]/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/instances/[name]/token/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/instances/[name]/use/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/instances/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/chunks/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/documents/[docId]/chunks/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/documents/[docId]/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/documents/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/documents/upload/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/retrieve/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/[name]/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/knowledge-bases/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/llm/chat/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/llm/providers/[id]/models/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/llm/providers/[id]/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/llm/providers/[id]/test/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/llm/providers/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/logs/client/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/dream-tasks/[dreamId]/actions/apply/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/dream-tasks/[dreamId]/actions/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/dream-tasks/[dreamId]/cancel/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/dream-tasks/[dreamId]/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/dream-tasks/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/messages/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/requests/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/scopes/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/search/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/tasks/[requestId]/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/tasks/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/units/[memoryId]/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/[store]/units/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/memory/stores/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/oss/list/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/api/v1/runtime/context/route.js.nft.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/index.html +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/index.rsc +14 -14
- package/dist/dashboard-runtime/dashboard/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
- package/dist/dashboard-runtime/dashboard/.next/server/app/index.segments/_full.segment.rsc +14 -14
- package/dist/dashboard-runtime/dashboard/.next/server/app/index.segments/_head.segment.rsc +3 -3
- package/dist/dashboard-runtime/dashboard/.next/server/app/index.segments/_index.segment.rsc +10 -10
- package/dist/dashboard-runtime/dashboard/.next/server/app/index.segments/_tree.segment.rsc +2 -2
- package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding/page_client-reference-manifest.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding.html +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding.rsc +17 -17
- package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding.segments/_full.segment.rsc +17 -17
- package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding.segments/_head.segment.rsc +3 -3
- package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding.segments/_index.segment.rsc +10 -10
- package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding.segments/_tree.segment.rsc +2 -2
- package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding.segments/onboarding/__PAGE__.segment.rsc +4 -4
- package/dist/dashboard-runtime/dashboard/.next/server/app/onboarding.segments/onboarding.segment.rsc +4 -4
- package/dist/dashboard-runtime/dashboard/.next/server/app/page_client-reference-manifest.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/{_0lf_p5l._.js → _0pe9ntc._.js} +2 -2
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0tej2s.._.js +3 -0
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_00ofp7q._.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_0l1.0wg._.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_app_(dashboard)_memory_[store]_dream_[dreamId]_page_tsx_0wy3tv6._.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_app_(dashboard)_memory_[store]_dream_page_tsx_0uzzpvs._.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_app_(dashboard)_memory_[store]_layout_tsx_0rbi41w._.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_app_(dashboard)_memory_[store]_settings_page_tsx_0y26.xu._.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_app_(dashboard)_memory_[store]_tasks_page_tsx_0a_bgx4._.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_app_(dashboard)_memory_[store]_units_page_tsx_0.6xnei._.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/dashboard_src_providers_runtime-context-provider_tsx_0wmj66z._.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/node_modules__pnpm_00arje5._.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/middleware-build-manifest.js +3 -3
- package/dist/dashboard-runtime/dashboard/.next/server/pages/404.html +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/pages/500.html +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/server-reference-manifest.js +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/server-reference-manifest.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/05d8-45s941bx.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/{154l918khtf32.js → 076wjt8-f7ws0.js} +1 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0axe89r5c7p_b.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0czi-68m5cma3.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0ezfzygzl1hw8.css +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0gqhfku~on4t1.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0i_66eb3teu-..js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0p7-v~ggg-k3s.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0xnm11dm1-qw2.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/{0za3q13g~ihb2.js → 0yqx-vizpechs.js} +1 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/11daw7hfc5lbv.js +1 -0
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/{0oh~.z3b9_qzy.js → 17l3ij7h2.vna.js} +1 -1
- package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/memory/[store]/dream/[dreamId]/page.tsx +79 -19
- package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/memory/[store]/dream/page.tsx +57 -14
- package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/memory/[store]/layout.tsx +1 -1
- package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/memory/[store]/search/page.tsx +4 -0
- package/dist/dashboard-runtime/dashboard/src/app/(dashboard)/memory/[store]/units/page.tsx +1 -2
- package/dist/dashboard-runtime/dashboard/src/components/memory/memory-create-form.tsx +35 -1
- package/dist/dashboard-runtime/dashboard/src/components/memory/memory-dream-actions-table.tsx +176 -82
- package/dist/dashboard-runtime/dashboard/src/components/memory/memory-dream-apply-confirm-dialog.tsx +2 -0
- package/dist/dashboard-runtime/dashboard/src/components/memory/memory-dream-create-dialog.tsx +130 -83
- package/dist/dashboard-runtime/dashboard/src/components/memory/memory-search-form.tsx +22 -0
- package/dist/dashboard-runtime/dashboard/src/components/memory/memory-search-results.tsx +4 -1
- package/dist/dashboard-runtime/dashboard/src/components/memory/memory-settings-form.tsx +52 -7
- package/dist/dashboard-runtime/dashboard/src/components/memory/memory-tasks-table.tsx +8 -37
- package/dist/dashboard-runtime/dashboard/src/hooks/use-task-source-messages.ts +179 -0
- package/dist/dashboard-runtime/dashboard/src/types/memory.ts +32 -2
- package/package.json +1 -1
- package/dist/dashboard-runtime/dashboard/.next/server/chunks/ssr/_0gep_x_._.js +0 -3
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0.b6bx-29l5e2.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/05ny4_cp6fkfu.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/097px3urt-4kr.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0c08tbxyly68e.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0frefg2bkdon0.css +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/0w6-j4p-7fybc.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/126jyzsu33t60.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/12~tfkzir29.4.js +0 -1
- package/dist/dashboard-runtime/dashboard/.next/static/chunks/14teeoxc_1i46.js +0 -1
- /package/dist/dashboard-runtime/dashboard/.next/static/{pE-cQCmJ7b5_xgwqBJ7J3 → -pCWSBA7OQIF0pN0Rem9H}/_buildManifest.js +0 -0
- /package/dist/dashboard-runtime/dashboard/.next/static/{pE-cQCmJ7b5_xgwqBJ7J3 → -pCWSBA7OQIF0pN0Rem9H}/_clientMiddlewareManifest.js +0 -0
- /package/dist/dashboard-runtime/dashboard/.next/static/{pE-cQCmJ7b5_xgwqBJ7J3 → -pCWSBA7OQIF0pN0Rem9H}/_ssgManifest.js +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,548827,t=>{"use strict";var e={setTimeout:(t,e)=>setTimeout(t,e),clearTimeout:t=>clearTimeout(t),setInterval:(t,e)=>setInterval(t,e),clearInterval:t=>clearInterval(t)},a=new class{#t=e;#e=!1;setTimeoutProvider(t){this.#t=t}setTimeout(t,e){return this.#t.setTimeout(t,e)}clearTimeout(t){this.#t.clearTimeout(t)}setInterval(t,e){return this.#t.setInterval(t,e)}clearInterval(t){this.#t.clearInterval(t)}};t.s(["systemSetTimeoutZero",0,function(t){setTimeout(t,0)},"timeoutManager",0,a])},858859,t=>{"use strict";var e=t.i(548827),a="u"<typeof window||"Deno"in globalThis;function r(t,e){return(e?.queryKeyHashFn||n)(t)}function n(t){return JSON.stringify(t,(t,e)=>d(e)?Object.keys(e).sort().reduce((t,a)=>(t[a]=e[a],t),{}):e)}function o(t,e){return t===e||typeof t==typeof e&&!!t&&!!e&&"object"==typeof t&&"object"==typeof e&&Object.keys(e).every(a=>o(t[a],e[a]))}var s=Object.prototype.hasOwnProperty;function i(t,e,a=0){if(t===e)return t;if(a>500)return e;let r=l(t)&&l(e);if(!r&&!(d(t)&&d(e)))return e;let n=(r?t:Object.keys(t)).length,o=r?e:Object.keys(e),u=o.length,c=r?Array(u):{},f=0;for(let l=0;l<u;l++){let d=r?l:o[l],u=t[d],m=e[d];if(u===m){c[d]=u,(r?l<n:s.call(t,d))&&f++;continue}if(null===u||null===m||"object"!=typeof u||"object"!=typeof m){c[d]=m;continue}let p=i(u,m,a+1);c[d]=p,p===u&&f++}return n===u&&f===n?t:c}function l(t){return Array.isArray(t)&&t.length===Object.keys(t).length}function d(t){if(!u(t))return!1;let e=t.constructor;if(void 0===e)return!0;let a=e.prototype;return!!u(a)&&!!a.hasOwnProperty("isPrototypeOf")&&Object.getPrototypeOf(t)===Object.prototype}function u(t){return"[object Object]"===Object.prototype.toString.call(t)}var c=Symbol();t.s(["addConsumeAwareSignal",0,function(t,e,a){let r,n=!1;return Object.defineProperty(t,"signal",{enumerable:!0,get:()=>(r??=e(),n||(n=!0,r.aborted?a():r.addEventListener("abort",a,{once:!0})),r)}),t},"addToEnd",0,function(t,e,a=0){let r=[...t,e];return a&&r.length>a?r.slice(1):r},"addToStart",0,function(t,e,a=0){let r=[e,...t];return a&&r.length>a?r.slice(0,-1):r},"ensureQueryFn",0,function(t,e){return!t.queryFn&&e?.initialPromise?()=>e.initialPromise:t.queryFn&&t.queryFn!==c?t.queryFn:()=>Promise.reject(Error(`Missing queryFn: '${t.queryHash}'`))},"functionalUpdate",0,function(t,e){return"function"==typeof t?t(e):t},"hashKey",0,n,"hashQueryKeyByOptions",0,r,"isServer",0,a,"isValidTimeout",0,function(t){return"number"==typeof t&&t>=0&&t!==1/0},"matchMutation",0,function(t,e){let{exact:a,status:r,predicate:s,mutationKey:i}=t;if(i){if(!e.options.mutationKey)return!1;if(a){if(n(e.options.mutationKey)!==n(i))return!1}else if(!o(e.options.mutationKey,i))return!1}return(!r||e.state.status===r)&&(!s||!!s(e))},"matchQuery",0,function(t,e){let{type:a="all",exact:n,fetchStatus:s,predicate:i,queryKey:l,stale:d}=t;if(l){if(n){if(e.queryHash!==r(l,e.options))return!1}else if(!o(e.queryKey,l))return!1}if("all"!==a){let t=e.isActive();if("active"===a&&!t||"inactive"===a&&t)return!1}return("boolean"!=typeof d||e.isStale()===d)&&(!s||s===e.state.fetchStatus)&&(!i||!!i(e))},"noop",0,function(){},"partialMatchKey",0,o,"replaceData",0,function(t,e,a){return"function"==typeof a.structuralSharing?a.structuralSharing(t,e):!1!==a.structuralSharing?i(t,e):e},"replaceEqualDeep",0,i,"resolveEnabled",0,function(t,e){return"function"==typeof t?t(e):t},"resolveStaleTime",0,function(t,e){return"function"==typeof t?t(e):t},"shallowEqualObjects",0,function(t,e){if(!e||Object.keys(t).length!==Object.keys(e).length)return!1;for(let a in t)if(t[a]!==e[a])return!1;return!0},"shouldThrowError",0,function(t,e){return"function"==typeof t?t(...e):!!t},"skipToken",0,c,"sleep",0,function(t){return new Promise(a=>{e.timeoutManager.setTimeout(a,t)})},"timeUntilStale",0,function(t,e){return Math.max(t+(e||0)-Date.now(),0)}])},732534,t=>{"use strict";let e,a,r,n,o,s;var i=t.i(548827).systemSetTimeoutZero,l=(e=[],a=0,r=t=>{t()},n=t=>{t()},o=i,{batch:t=>{let s;a++;try{s=t()}finally{let t;--a||(t=e,e=[],t.length&&o(()=>{n(()=>{t.forEach(t=>{r(t)})})}))}return s},batchCalls:t=>(...e)=>{s(()=>{t(...e)})},schedule:s=t=>{a?e.push(t):o(()=>{r(t)})},setNotifyFunction:t=>{r=t},setBatchNotifyFunction:t=>{n=t},setScheduler:t=>{o=t}});t.s(["notifyManager",0,l])},676848,23144,t=>{"use strict";var e=class{constructor(){this.listeners=new Set,this.subscribe=this.subscribe.bind(this)}subscribe(t){return this.listeners.add(t),this.onSubscribe(),()=>{this.listeners.delete(t),this.onUnsubscribe()}}hasListeners(){return this.listeners.size>0}onSubscribe(){}onUnsubscribe(){}};t.s(["Subscribable",0,e],23144);var a=new class extends e{#a;#r;#n;constructor(){super(),this.#n=t=>{if("u">typeof window&&window.addEventListener){let e=()=>t();return window.addEventListener("visibilitychange",e,!1),()=>{window.removeEventListener("visibilitychange",e)}}}}onSubscribe(){this.#r||this.setEventListener(this.#n)}onUnsubscribe(){this.hasListeners()||(this.#r?.(),this.#r=void 0)}setEventListener(t){this.#n=t,this.#r?.(),this.#r=t(t=>{"boolean"==typeof t?this.setFocused(t):this.onFocus()})}setFocused(t){this.#a!==t&&(this.#a=t,this.onFocus())}onFocus(){let t=this.isFocused();this.listeners.forEach(e=>{e(t)})}isFocused(){return"boolean"==typeof this.#a?this.#a:globalThis.document?.visibilityState!=="hidden"}};t.s(["focusManager",0,a],676848)},912513,307109,t=>{"use strict";var e=t.i(23144),a=new class extends e.Subscribable{#o=!0;#r;#n;constructor(){super(),this.#n=t=>{if("u">typeof window&&window.addEventListener){let e=()=>t(!0),a=()=>t(!1);return window.addEventListener("online",e,!1),window.addEventListener("offline",a,!1),()=>{window.removeEventListener("online",e),window.removeEventListener("offline",a)}}}}onSubscribe(){this.#r||this.setEventListener(this.#n)}onUnsubscribe(){this.hasListeners()||(this.#r?.(),this.#r=void 0)}setEventListener(t){this.#n=t,this.#r?.(),this.#r=t(this.setOnline.bind(this))}setOnline(t){this.#o!==t&&(this.#o=t,this.listeners.forEach(e=>{e(t)}))}isOnline(){return this.#o}};t.s(["onlineManager",0,a],912513),t.i(858859),t.s(["pendingThenable",0,function(){let t,e,a=new Promise((a,r)=>{t=a,e=r});function r(t){Object.assign(a,t),delete a.resolve,delete a.reject}return a.status="pending",a.catch(()=>{}),a.resolve=e=>{r({status:"fulfilled",value:e}),t(e)},a.reject=t=>{r({status:"rejected",reason:t}),e(t)},a}],307109)},739781,t=>{"use strict";let e;var a=t.i(858859),r=(e=()=>a.isServer,{isServer:()=>e(),setIsServer(t){e=t}});t.s(["environmentManager",0,r])},600669,t=>{"use strict";var e=t.i(676848),a=t.i(912513),r=t.i(307109),n=t.i(739781),o=t.i(858859);function s(t){return Math.min(1e3*2**t,3e4)}function i(t){return(t??"online")!=="online"||a.onlineManager.isOnline()}var l=class extends Error{constructor(t){super("CancelledError"),this.revert=t?.revert,this.silent=t?.silent}};t.s(["CancelledError",0,l,"canFetch",0,i,"createRetryer",0,function(t){let d,u=!1,c=0,f=(0,r.pendingThenable)(),m=()=>e.focusManager.isFocused()&&("always"===t.networkMode||a.onlineManager.isOnline())&&t.canRun(),p=()=>i(t.networkMode)&&t.canRun(),h=t=>{"pending"===f.status&&(d?.(),f.resolve(t))},g=t=>{"pending"===f.status&&(d?.(),f.reject(t))},v=()=>new Promise(e=>{d=t=>{("pending"!==f.status||m())&&e(t)},t.onPause?.()}).then(()=>{d=void 0,"pending"===f.status&&t.onContinue?.()}),y=()=>{let e;if("pending"!==f.status)return;let a=0===c?t.initialPromise:void 0;try{e=a??t.fn()}catch(t){e=Promise.reject(t)}Promise.resolve(e).then(h).catch(e=>{if("pending"!==f.status)return;let a=t.retry??3*!n.environmentManager.isServer(),r=t.retryDelay??s,i="function"==typeof r?r(c,e):r,l=!0===a||"number"==typeof a&&c<a||"function"==typeof a&&a(c,e);u||!l?g(e):(c++,t.onFail?.(c,e),(0,o.sleep)(i).then(()=>m()?void 0:v()).then(()=>{u?g(e):y()}))})};return{promise:f,status:()=>f.status,cancel:e=>{if("pending"===f.status){let a=new l(e);g(a),t.onCancel?.(a)}},continue:()=>(d?.(),f),cancelRetry:()=>{u=!0},continueRetry:()=>{u=!1},canStart:p,start:()=>(p()?y():v().then(y),f)}}])},444020,t=>{"use strict";var e=t.i(548827),a=t.i(739781),r=t.i(858859),n=class{#s;destroy(){this.clearGcTimeout()}scheduleGc(){this.clearGcTimeout(),(0,r.isValidTimeout)(this.gcTime)&&(this.#s=e.timeoutManager.setTimeout(()=>{this.optionalRemove()},this.gcTime))}updateGcTime(t){this.gcTime=Math.max(this.gcTime||0,t??(a.environmentManager.isServer()?1/0:3e5))}clearGcTimeout(){void 0!==this.#s&&(e.timeoutManager.clearTimeout(this.#s),this.#s=void 0)}};t.s(["Removable",0,n])},712984,t=>{"use strict";var e=t.i(101685),a=t.i(44501),r=e.createContext(void 0);t.s(["QueryClientProvider",0,({client:t,children:n})=>(e.useEffect(()=>(t.mount(),()=>{t.unmount()}),[t]),(0,a.jsx)(r.Provider,{value:t,children:n})),"useQueryClient",0,t=>{let a=e.useContext(r);if(t)return t;if(!a)throw Error("No QueryClient set, use QueryClientProvider to set one");return a}])},187014,t=>{"use strict";var e=t.i(101685),a=t.i(380560);let r=Array(12).fill(0),n=({visible:t,className:a})=>e.default.createElement("div",{className:["sonner-loading-wrapper",a].filter(Boolean).join(" "),"data-visible":t},e.default.createElement("div",{className:"sonner-spinner"},r.map((t,a)=>e.default.createElement("div",{className:"sonner-loading-bar",key:`spinner-bar-${a}`})))),o=e.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},e.default.createElement("path",{fillRule:"evenodd",d:"M10 18a8 8 0 100-16 8 8 0 000 16zm3.857-9.809a.75.75 0 00-1.214-.882l-3.483 4.79-1.88-1.88a.75.75 0 10-1.06 1.061l2.5 2.5a.75.75 0 001.137-.089l4-5.5z",clipRule:"evenodd"})),s=e.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"currentColor",height:"20",width:"20"},e.default.createElement("path",{fillRule:"evenodd",d:"M9.401 3.003c1.155-2 4.043-2 5.197 0l7.355 12.748c1.154 2-.29 4.5-2.599 4.5H4.645c-2.309 0-3.752-2.5-2.598-4.5L9.4 3.003zM12 8.25a.75.75 0 01.75.75v3.75a.75.75 0 01-1.5 0V9a.75.75 0 01.75-.75zm0 8.25a.75.75 0 100-1.5.75.75 0 000 1.5z",clipRule:"evenodd"})),i=e.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},e.default.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-7-4a1 1 0 11-2 0 1 1 0 012 0zM9 9a.75.75 0 000 1.5h.253a.25.25 0 01.244.304l-.459 2.066A1.75 1.75 0 0010.747 15H11a.75.75 0 000-1.5h-.253a.25.25 0 01-.244-.304l.459-2.066A1.75 1.75 0 009.253 9H9z",clipRule:"evenodd"})),l=e.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",height:"20",width:"20"},e.default.createElement("path",{fillRule:"evenodd",d:"M18 10a8 8 0 11-16 0 8 8 0 0116 0zm-8-5a.75.75 0 01.75.75v4.5a.75.75 0 01-1.5 0v-4.5A.75.75 0 0110 5zm0 10a1 1 0 100-2 1 1 0 000 2z",clipRule:"evenodd"})),d=e.default.createElement("svg",{xmlns:"http://www.w3.org/2000/svg",width:"12",height:"12",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"},e.default.createElement("line",{x1:"18",y1:"6",x2:"6",y2:"18"}),e.default.createElement("line",{x1:"6",y1:"6",x2:"18",y2:"18"})),u=1,c=new class{constructor(){this.subscribe=t=>(this.subscribers.push(t),()=>{let e=this.subscribers.indexOf(t);this.subscribers.splice(e,1)}),this.publish=t=>{this.subscribers.forEach(e=>e(t))},this.addToast=t=>{this.publish(t),this.toasts=[...this.toasts,t]},this.create=t=>{var e;let{message:a,...r}=t,n="number"==typeof(null==t?void 0:t.id)||(null==(e=t.id)?void 0:e.length)>0?t.id:u++,o=this.toasts.find(t=>t.id===n),s=void 0===t.dismissible||t.dismissible;return this.dismissedToasts.has(n)&&this.dismissedToasts.delete(n),o?this.toasts=this.toasts.map(e=>e.id===n?(this.publish({...e,...t,id:n,title:a}),{...e,...t,id:n,dismissible:s,title:a}):e):this.addToast({title:a,...r,dismissible:s,id:n}),n},this.dismiss=t=>(t?(this.dismissedToasts.add(t),requestAnimationFrame(()=>this.subscribers.forEach(e=>e({id:t,dismiss:!0})))):this.toasts.forEach(t=>{this.subscribers.forEach(e=>e({id:t.id,dismiss:!0}))}),t),this.message=(t,e)=>this.create({...e,message:t}),this.error=(t,e)=>this.create({...e,message:t,type:"error"}),this.success=(t,e)=>this.create({...e,type:"success",message:t}),this.info=(t,e)=>this.create({...e,type:"info",message:t}),this.warning=(t,e)=>this.create({...e,type:"warning",message:t}),this.loading=(t,e)=>this.create({...e,type:"loading",message:t}),this.promise=(t,a)=>{let r,n;if(!a)return;void 0!==a.loading&&(n=this.create({...a,promise:t,type:"loading",message:a.loading,description:"function"!=typeof a.description?a.description:void 0}));let o=Promise.resolve(t instanceof Function?t():t),s=void 0!==n,i=o.then(async t=>{if(r=["resolve",t],e.default.isValidElement(t))s=!1,this.create({id:n,type:"default",message:t});else if(f(t)&&!t.ok){s=!1;let r="function"==typeof a.error?await a.error(`HTTP error! status: ${t.status}`):a.error,o="function"==typeof a.description?await a.description(`HTTP error! status: ${t.status}`):a.description,i="object"!=typeof r||e.default.isValidElement(r)?{message:r}:r;this.create({id:n,type:"error",description:o,...i})}else if(t instanceof Error){s=!1;let r="function"==typeof a.error?await a.error(t):a.error,o="function"==typeof a.description?await a.description(t):a.description,i="object"!=typeof r||e.default.isValidElement(r)?{message:r}:r;this.create({id:n,type:"error",description:o,...i})}else if(void 0!==a.success){s=!1;let r="function"==typeof a.success?await a.success(t):a.success,o="function"==typeof a.description?await a.description(t):a.description,i="object"!=typeof r||e.default.isValidElement(r)?{message:r}:r;this.create({id:n,type:"success",description:o,...i})}}).catch(async t=>{if(r=["reject",t],void 0!==a.error){s=!1;let r="function"==typeof a.error?await a.error(t):a.error,o="function"==typeof a.description?await a.description(t):a.description,i="object"!=typeof r||e.default.isValidElement(r)?{message:r}:r;this.create({id:n,type:"error",description:o,...i})}}).finally(()=>{s&&(this.dismiss(n),n=void 0),null==a.finally||a.finally.call(a)}),l=()=>new Promise((t,e)=>i.then(()=>"reject"===r[0]?e(r[1]):t(r[1])).catch(e));return"string"!=typeof n&&"number"!=typeof n?{unwrap:l}:Object.assign(n,{unwrap:l})},this.custom=(t,e)=>{let a=(null==e?void 0:e.id)||u++;return this.create({jsx:t(a),id:a,...e}),a},this.getActiveToasts=()=>this.toasts.filter(t=>!this.dismissedToasts.has(t.id)),this.subscribers=[],this.toasts=[],this.dismissedToasts=new Set}},f=t=>t&&"object"==typeof t&&"ok"in t&&"boolean"==typeof t.ok&&"status"in t&&"number"==typeof t.status,m=Object.assign((t,e)=>{let a=(null==e?void 0:e.id)||u++;return c.addToast({title:t,...e,id:a}),a},{success:c.success,info:c.info,warning:c.warning,error:c.error,custom:c.custom,message:c.message,promise:c.promise,dismiss:c.dismiss,loading:c.loading},{getHistory:()=>c.toasts,getToasts:()=>c.getActiveToasts()});function p(t){return void 0!==t.label}function h(...t){return t.filter(Boolean).join(" ")}!function(t){if(!t||"u"<typeof document)return;let e=document.head||document.getElementsByTagName("head")[0],a=document.createElement("style");a.type="text/css",e.appendChild(a),a.styleSheet?a.styleSheet.cssText=t:a.appendChild(document.createTextNode(t))}("[data-sonner-toaster][dir=ltr],html[dir=ltr]{--toast-icon-margin-start:-3px;--toast-icon-margin-end:4px;--toast-svg-margin-start:-1px;--toast-svg-margin-end:0px;--toast-button-margin-start:auto;--toast-button-margin-end:0;--toast-close-button-start:0;--toast-close-button-end:unset;--toast-close-button-transform:translate(-35%, -35%)}[data-sonner-toaster][dir=rtl],html[dir=rtl]{--toast-icon-margin-start:4px;--toast-icon-margin-end:-3px;--toast-svg-margin-start:0px;--toast-svg-margin-end:-1px;--toast-button-margin-start:0;--toast-button-margin-end:auto;--toast-close-button-start:unset;--toast-close-button-end:0;--toast-close-button-transform:translate(35%, -35%)}[data-sonner-toaster]{position:fixed;width:var(--width);font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;--gray1:hsl(0, 0%, 99%);--gray2:hsl(0, 0%, 97.3%);--gray3:hsl(0, 0%, 95.1%);--gray4:hsl(0, 0%, 93%);--gray5:hsl(0, 0%, 90.9%);--gray6:hsl(0, 0%, 88.7%);--gray7:hsl(0, 0%, 85.8%);--gray8:hsl(0, 0%, 78%);--gray9:hsl(0, 0%, 56.1%);--gray10:hsl(0, 0%, 52.3%);--gray11:hsl(0, 0%, 43.5%);--gray12:hsl(0, 0%, 9%);--border-radius:8px;box-sizing:border-box;padding:0;margin:0;list-style:none;outline:0;z-index:999999999;transition:transform .4s ease}@media (hover:none) and (pointer:coarse){[data-sonner-toaster][data-lifted=true]{transform:none}}[data-sonner-toaster][data-x-position=right]{right:var(--offset-right)}[data-sonner-toaster][data-x-position=left]{left:var(--offset-left)}[data-sonner-toaster][data-x-position=center]{left:50%;transform:translateX(-50%)}[data-sonner-toaster][data-y-position=top]{top:var(--offset-top)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--offset-bottom)}[data-sonner-toast]{--y:translateY(100%);--lift-amount:calc(var(--lift) * var(--gap));z-index:var(--z-index);position:absolute;opacity:0;transform:var(--y);touch-action:none;transition:transform .4s,opacity .4s,height .4s,box-shadow .2s;box-sizing:border-box;outline:0;overflow-wrap:anywhere}[data-sonner-toast][data-styled=true]{padding:16px;background:var(--normal-bg);border:1px solid var(--normal-border);color:var(--normal-text);border-radius:var(--border-radius);box-shadow:0 4px 12px rgba(0,0,0,.1);width:var(--width);font-size:13px;display:flex;align-items:center;gap:6px}[data-sonner-toast]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-y-position=top]{top:0;--y:translateY(-100%);--lift:1;--lift-amount:calc(1 * var(--gap))}[data-sonner-toast][data-y-position=bottom]{bottom:0;--y:translateY(100%);--lift:-1;--lift-amount:calc(var(--lift) * var(--gap))}[data-sonner-toast][data-styled=true] [data-description]{font-weight:400;line-height:1.4;color:#3f3f3f}[data-rich-colors=true][data-sonner-toast][data-styled=true] [data-description]{color:inherit}[data-sonner-toaster][data-sonner-theme=dark] [data-description]{color:#e8e8e8}[data-sonner-toast][data-styled=true] [data-title]{font-weight:500;line-height:1.5;color:inherit}[data-sonner-toast][data-styled=true] [data-icon]{display:flex;height:16px;width:16px;position:relative;justify-content:flex-start;align-items:center;flex-shrink:0;margin-left:var(--toast-icon-margin-start);margin-right:var(--toast-icon-margin-end)}[data-sonner-toast][data-promise=true] [data-icon]>svg{opacity:0;transform:scale(.8);transform-origin:center;animation:sonner-fade-in .3s ease forwards}[data-sonner-toast][data-styled=true] [data-icon]>*{flex-shrink:0}[data-sonner-toast][data-styled=true] [data-icon] svg{margin-left:var(--toast-svg-margin-start);margin-right:var(--toast-svg-margin-end)}[data-sonner-toast][data-styled=true] [data-content]{display:flex;flex-direction:column;gap:2px}[data-sonner-toast][data-styled=true] [data-button]{border-radius:4px;padding-left:8px;padding-right:8px;height:24px;font-size:12px;color:var(--normal-bg);background:var(--normal-text);margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end);border:none;font-weight:500;cursor:pointer;outline:0;display:flex;align-items:center;flex-shrink:0;transition:opacity .4s,box-shadow .2s}[data-sonner-toast][data-styled=true] [data-button]:focus-visible{box-shadow:0 0 0 2px rgba(0,0,0,.4)}[data-sonner-toast][data-styled=true] [data-button]:first-of-type{margin-left:var(--toast-button-margin-start);margin-right:var(--toast-button-margin-end)}[data-sonner-toast][data-styled=true] [data-cancel]{color:var(--normal-text);background:rgba(0,0,0,.08)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-styled=true] [data-cancel]{background:rgba(255,255,255,.3)}[data-sonner-toast][data-styled=true] [data-close-button]{position:absolute;left:var(--toast-close-button-start);right:var(--toast-close-button-end);top:0;height:20px;width:20px;display:flex;justify-content:center;align-items:center;padding:0;color:var(--gray12);background:var(--normal-bg);border:1px solid var(--gray4);transform:var(--toast-close-button-transform);border-radius:50%;cursor:pointer;z-index:1;transition:opacity .1s,background .2s,border-color .2s}[data-sonner-toast][data-styled=true] [data-close-button]:focus-visible{box-shadow:0 4px 12px rgba(0,0,0,.1),0 0 0 2px rgba(0,0,0,.2)}[data-sonner-toast][data-styled=true] [data-disabled=true]{cursor:not-allowed}[data-sonner-toast][data-styled=true]:hover [data-close-button]:hover{background:var(--gray2);border-color:var(--gray5)}[data-sonner-toast][data-swiping=true]::before{content:'';position:absolute;left:-100%;right:-100%;height:100%;z-index:-1}[data-sonner-toast][data-y-position=top][data-swiping=true]::before{bottom:50%;transform:scaleY(3) translateY(50%)}[data-sonner-toast][data-y-position=bottom][data-swiping=true]::before{top:50%;transform:scaleY(3) translateY(-50%)}[data-sonner-toast][data-swiping=false][data-removed=true]::before{content:'';position:absolute;inset:0;transform:scaleY(2)}[data-sonner-toast][data-expanded=true]::after{content:'';position:absolute;left:0;height:calc(var(--gap) + 1px);bottom:100%;width:100%}[data-sonner-toast][data-mounted=true]{--y:translateY(0);opacity:1}[data-sonner-toast][data-expanded=false][data-front=false]{--scale:var(--toasts-before) * 0.05 + 1;--y:translateY(calc(var(--lift-amount) * var(--toasts-before))) scale(calc(-1 * var(--scale)));height:var(--front-toast-height)}[data-sonner-toast]>*{transition:opacity .4s}[data-sonner-toast][data-x-position=right]{right:0}[data-sonner-toast][data-x-position=left]{left:0}[data-sonner-toast][data-expanded=false][data-front=false][data-styled=true]>*{opacity:0}[data-sonner-toast][data-visible=false]{opacity:0;pointer-events:none}[data-sonner-toast][data-mounted=true][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset)));height:var(--initial-height)}[data-sonner-toast][data-removed=true][data-front=true][data-swipe-out=false]{--y:translateY(calc(var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=true]{--y:translateY(calc(var(--lift) * var(--offset) + var(--lift) * -100%));opacity:0}[data-sonner-toast][data-removed=true][data-front=false][data-swipe-out=false][data-expanded=false]{--y:translateY(40%);opacity:0;transition:transform .5s,opacity .2s}[data-sonner-toast][data-removed=true][data-front=false]::before{height:calc(var(--initial-height) + 20%)}[data-sonner-toast][data-swiping=true]{transform:var(--y) translateY(var(--swipe-amount-y,0)) translateX(var(--swipe-amount-x,0));transition:none}[data-sonner-toast][data-swiped=true]{user-select:none}[data-sonner-toast][data-swipe-out=true][data-y-position=bottom],[data-sonner-toast][data-swipe-out=true][data-y-position=top]{animation-duration:.2s;animation-timing-function:ease-out;animation-fill-mode:forwards}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=left]{animation-name:swipe-out-left}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=right]{animation-name:swipe-out-right}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=up]{animation-name:swipe-out-up}[data-sonner-toast][data-swipe-out=true][data-swipe-direction=down]{animation-name:swipe-out-down}@keyframes swipe-out-left{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) - 100%));opacity:0}}@keyframes swipe-out-right{from{transform:var(--y) translateX(var(--swipe-amount-x));opacity:1}to{transform:var(--y) translateX(calc(var(--swipe-amount-x) + 100%));opacity:0}}@keyframes swipe-out-up{from{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) - 100%));opacity:0}}@keyframes swipe-out-down{from{transform:var(--y) translateY(var(--swipe-amount-y));opacity:1}to{transform:var(--y) translateY(calc(var(--swipe-amount-y) + 100%));opacity:0}}@media (max-width:600px){[data-sonner-toaster]{position:fixed;right:var(--mobile-offset-right);left:var(--mobile-offset-left);width:100%}[data-sonner-toaster][dir=rtl]{left:calc(var(--mobile-offset-left) * -1)}[data-sonner-toaster] [data-sonner-toast]{left:0;right:0;width:calc(100% - var(--mobile-offset-left) * 2)}[data-sonner-toaster][data-x-position=left]{left:var(--mobile-offset-left)}[data-sonner-toaster][data-y-position=bottom]{bottom:var(--mobile-offset-bottom)}[data-sonner-toaster][data-y-position=top]{top:var(--mobile-offset-top)}[data-sonner-toaster][data-x-position=center]{left:var(--mobile-offset-left);right:var(--mobile-offset-right);transform:none}}[data-sonner-toaster][data-sonner-theme=light]{--normal-bg:#fff;--normal-border:var(--gray4);--normal-text:var(--gray12);--success-bg:hsl(143, 85%, 96%);--success-border:hsl(145, 92%, 87%);--success-text:hsl(140, 100%, 27%);--info-bg:hsl(208, 100%, 97%);--info-border:hsl(221, 91%, 93%);--info-text:hsl(210, 92%, 45%);--warning-bg:hsl(49, 100%, 97%);--warning-border:hsl(49, 91%, 84%);--warning-text:hsl(31, 92%, 45%);--error-bg:hsl(359, 100%, 97%);--error-border:hsl(359, 100%, 94%);--error-text:hsl(360, 100%, 45%)}[data-sonner-toaster][data-sonner-theme=light] [data-sonner-toast][data-invert=true]{--normal-bg:#000;--normal-border:hsl(0, 0%, 20%);--normal-text:var(--gray1)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast][data-invert=true]{--normal-bg:#fff;--normal-border:var(--gray3);--normal-text:var(--gray12)}[data-sonner-toaster][data-sonner-theme=dark]{--normal-bg:#000;--normal-bg-hover:hsl(0, 0%, 12%);--normal-border:hsl(0, 0%, 20%);--normal-border-hover:hsl(0, 0%, 25%);--normal-text:var(--gray1);--success-bg:hsl(150, 100%, 6%);--success-border:hsl(147, 100%, 12%);--success-text:hsl(150, 86%, 65%);--info-bg:hsl(215, 100%, 6%);--info-border:hsl(223, 43%, 17%);--info-text:hsl(216, 87%, 65%);--warning-bg:hsl(64, 100%, 6%);--warning-border:hsl(60, 100%, 9%);--warning-text:hsl(46, 87%, 65%);--error-bg:hsl(358, 76%, 10%);--error-border:hsl(357, 89%, 16%);--error-text:hsl(358, 100%, 81%)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]{background:var(--normal-bg);border-color:var(--normal-border);color:var(--normal-text)}[data-sonner-toaster][data-sonner-theme=dark] [data-sonner-toast] [data-close-button]:hover{background:var(--normal-bg-hover);border-color:var(--normal-border-hover)}[data-rich-colors=true][data-sonner-toast][data-type=success]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=success] [data-close-button]{background:var(--success-bg);border-color:var(--success-border);color:var(--success-text)}[data-rich-colors=true][data-sonner-toast][data-type=info]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=info] [data-close-button]{background:var(--info-bg);border-color:var(--info-border);color:var(--info-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=warning] [data-close-button]{background:var(--warning-bg);border-color:var(--warning-border);color:var(--warning-text)}[data-rich-colors=true][data-sonner-toast][data-type=error]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}[data-rich-colors=true][data-sonner-toast][data-type=error] [data-close-button]{background:var(--error-bg);border-color:var(--error-border);color:var(--error-text)}.sonner-loading-wrapper{--size:16px;height:var(--size);width:var(--size);position:absolute;inset:0;z-index:10}.sonner-loading-wrapper[data-visible=false]{transform-origin:center;animation:sonner-fade-out .2s ease forwards}.sonner-spinner{position:relative;top:50%;left:50%;height:var(--size);width:var(--size)}.sonner-loading-bar{animation:sonner-spin 1.2s linear infinite;background:var(--gray11);border-radius:6px;height:8%;left:-10%;position:absolute;top:-3.9%;width:24%}.sonner-loading-bar:first-child{animation-delay:-1.2s;transform:rotate(.0001deg) translate(146%)}.sonner-loading-bar:nth-child(2){animation-delay:-1.1s;transform:rotate(30deg) translate(146%)}.sonner-loading-bar:nth-child(3){animation-delay:-1s;transform:rotate(60deg) translate(146%)}.sonner-loading-bar:nth-child(4){animation-delay:-.9s;transform:rotate(90deg) translate(146%)}.sonner-loading-bar:nth-child(5){animation-delay:-.8s;transform:rotate(120deg) translate(146%)}.sonner-loading-bar:nth-child(6){animation-delay:-.7s;transform:rotate(150deg) translate(146%)}.sonner-loading-bar:nth-child(7){animation-delay:-.6s;transform:rotate(180deg) translate(146%)}.sonner-loading-bar:nth-child(8){animation-delay:-.5s;transform:rotate(210deg) translate(146%)}.sonner-loading-bar:nth-child(9){animation-delay:-.4s;transform:rotate(240deg) translate(146%)}.sonner-loading-bar:nth-child(10){animation-delay:-.3s;transform:rotate(270deg) translate(146%)}.sonner-loading-bar:nth-child(11){animation-delay:-.2s;transform:rotate(300deg) translate(146%)}.sonner-loading-bar:nth-child(12){animation-delay:-.1s;transform:rotate(330deg) translate(146%)}@keyframes sonner-fade-in{0%{opacity:0;transform:scale(.8)}100%{opacity:1;transform:scale(1)}}@keyframes sonner-fade-out{0%{opacity:1;transform:scale(1)}100%{opacity:0;transform:scale(.8)}}@keyframes sonner-spin{0%{opacity:1}100%{opacity:.15}}@media (prefers-reduced-motion){.sonner-loading-bar,[data-sonner-toast],[data-sonner-toast]>*{transition:none!important;animation:none!important}}.sonner-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);transform-origin:center;transition:opacity .2s,transform .2s}.sonner-loader[data-visible=false]{opacity:0;transform:scale(.8) translate(-50%,-50%)}");let g=t=>{var a,r,u,c,f,m,g,v,y,b,w,x,E;let{invert:T,toast:k,unstyled:S,interacting:M,setHeights:j,visibleToasts:N,heights:C,index:P,toasts:B,expanded:O,removeToast:R,defaultRichColors:L,closeButton:I,style:z,cancelButtonStyle:D,actionButtonStyle:F,className:A="",descriptionClassName:Y="",duration:$,position:H,gap:U,expandByDefault:q,classNames:K,icons:V,closeButtonAriaLabel:X="Close toast"}=t,[Q,G]=e.default.useState(null),[W,Z]=e.default.useState(null),[J,_]=e.default.useState(!1),[tt,te]=e.default.useState(!1),[ta,tr]=e.default.useState(!1),[tn,to]=e.default.useState(!1),[ts,ti]=e.default.useState(!1),[tl,td]=e.default.useState(0),[tu,tc]=e.default.useState(0),tf=e.default.useRef(k.duration||$||4e3),tm=e.default.useRef(null),tp=e.default.useRef(null),th=0===P,tg=P+1<=N,tv=k.type,ty=!1!==k.dismissible,tb=k.className||"",tw=k.descriptionClassName||"",tx=e.default.useMemo(()=>C.findIndex(t=>t.toastId===k.id)||0,[C,k.id]),tE=e.default.useMemo(()=>{var t;return null!=(t=k.closeButton)?t:I},[k.closeButton,I]),tT=e.default.useMemo(()=>k.duration||$||4e3,[k.duration,$]),tk=e.default.useRef(0),tS=e.default.useRef(0),tM=e.default.useRef(0),tj=e.default.useRef(null),[tN,tC]=H.split("-"),tP=e.default.useMemo(()=>C.reduce((t,e,a)=>a>=tx?t:t+e.height,0),[C,tx]),tB=(()=>{let[t,a]=e.default.useState(document.hidden);return e.default.useEffect(()=>{let t=()=>{a(document.hidden)};return document.addEventListener("visibilitychange",t),()=>window.removeEventListener("visibilitychange",t)},[]),t})(),tO=k.invert||T,tR="loading"===tv;tS.current=e.default.useMemo(()=>tx*U+tP,[tx,tP]),e.default.useEffect(()=>{tf.current=tT},[tT]),e.default.useEffect(()=>{_(!0)},[]),e.default.useEffect(()=>{let t=tp.current;if(t){let e=t.getBoundingClientRect().height;return tc(e),j(t=>[{toastId:k.id,height:e,position:k.position},...t]),()=>j(t=>t.filter(t=>t.toastId!==k.id))}},[j,k.id]),e.default.useLayoutEffect(()=>{if(!J)return;let t=tp.current,e=t.style.height;t.style.height="auto";let a=t.getBoundingClientRect().height;t.style.height=e,tc(a),j(t=>t.find(t=>t.toastId===k.id)?t.map(t=>t.toastId===k.id?{...t,height:a}:t):[{toastId:k.id,height:a,position:k.position},...t])},[J,k.title,k.description,j,k.id,k.jsx,k.action,k.cancel]);let tL=e.default.useCallback(()=>{te(!0),td(tS.current),j(t=>t.filter(t=>t.toastId!==k.id)),setTimeout(()=>{R(k)},200)},[k,R,j,tS]);e.default.useEffect(()=>{let t;if((!k.promise||"loading"!==tv)&&k.duration!==1/0&&"loading"!==k.type){if(O||M||tB){if(tM.current<tk.current){let t=new Date().getTime()-tk.current;tf.current=tf.current-t}tM.current=new Date().getTime()}else tf.current!==1/0&&(tk.current=new Date().getTime(),t=setTimeout(()=>{null==k.onAutoClose||k.onAutoClose.call(k,k),tL()},tf.current));return()=>clearTimeout(t)}},[O,M,k,tv,tB,tL]),e.default.useEffect(()=>{k.delete&&(tL(),null==k.onDismiss||k.onDismiss.call(k,k))},[tL,k.delete]);let tI=k.icon||(null==V?void 0:V[tv])||(t=>{switch(t){case"success":return o;case"info":return i;case"warning":return s;case"error":return l;default:return null}})(tv);return e.default.createElement("li",{tabIndex:0,ref:tp,className:h(A,tb,null==K?void 0:K.toast,null==k||null==(a=k.classNames)?void 0:a.toast,null==K?void 0:K.default,null==K?void 0:K[tv],null==k||null==(r=k.classNames)?void 0:r[tv]),"data-sonner-toast":"","data-rich-colors":null!=(b=k.richColors)?b:L,"data-styled":!(k.jsx||k.unstyled||S),"data-mounted":J,"data-promise":!!k.promise,"data-swiped":ts,"data-removed":tt,"data-visible":tg,"data-y-position":tN,"data-x-position":tC,"data-index":P,"data-front":th,"data-swiping":ta,"data-dismissible":ty,"data-type":tv,"data-invert":tO,"data-swipe-out":tn,"data-swipe-direction":W,"data-expanded":!!(O||q&&J),"data-testid":k.testId,style:{"--index":P,"--toasts-before":P,"--z-index":B.length-P,"--offset":`${tt?tl:tS.current}px`,"--initial-height":q?"auto":`${tu}px`,...z,...k.style},onDragEnd:()=>{tr(!1),G(null),tj.current=null},onPointerDown:t=>{2===t.button||tR||!ty||(tm.current=new Date,td(tS.current),t.target.setPointerCapture(t.pointerId),"BUTTON"!==t.target.tagName&&(tr(!0),tj.current={x:t.clientX,y:t.clientY}))},onPointerUp:()=>{var t,e,a,r,n;if(tn||!ty)return;tj.current=null;let o=Number((null==(t=tp.current)?void 0:t.style.getPropertyValue("--swipe-amount-x").replace("px",""))||0),s=Number((null==(e=tp.current)?void 0:e.style.getPropertyValue("--swipe-amount-y").replace("px",""))||0),i=new Date().getTime()-(null==(a=tm.current)?void 0:a.getTime()),l="x"===Q?o:s,d=Math.abs(l)/i;if(Math.abs(l)>=45||d>.11){td(tS.current),null==k.onDismiss||k.onDismiss.call(k,k),"x"===Q?Z(o>0?"right":"left"):Z(s>0?"down":"up"),tL(),to(!0);return}null==(r=tp.current)||r.style.setProperty("--swipe-amount-x","0px"),null==(n=tp.current)||n.style.setProperty("--swipe-amount-y","0px"),ti(!1),tr(!1),G(null)},onPointerMove:e=>{var a,r,n,o;if(!tj.current||!ty||(null==(a=window.getSelection())?void 0:a.toString().length)>0)return;let s=e.clientY-tj.current.y,i=e.clientX-tj.current.x,l=null!=(o=t.swipeDirections)?o:function(t){let[e,a]=t.split("-"),r=[];return e&&r.push(e),a&&r.push(a),r}(H);!Q&&(Math.abs(i)>1||Math.abs(s)>1)&&G(Math.abs(i)>Math.abs(s)?"x":"y");let d={x:0,y:0},u=t=>1/(1.5+Math.abs(t)/20);if("y"===Q){if(l.includes("top")||l.includes("bottom"))if(l.includes("top")&&s<0||l.includes("bottom")&&s>0)d.y=s;else{let t=s*u(s);d.y=Math.abs(t)<Math.abs(s)?t:s}}else if("x"===Q&&(l.includes("left")||l.includes("right")))if(l.includes("left")&&i<0||l.includes("right")&&i>0)d.x=i;else{let t=i*u(i);d.x=Math.abs(t)<Math.abs(i)?t:i}(Math.abs(d.x)>0||Math.abs(d.y)>0)&&ti(!0),null==(r=tp.current)||r.style.setProperty("--swipe-amount-x",`${d.x}px`),null==(n=tp.current)||n.style.setProperty("--swipe-amount-y",`${d.y}px`)}},tE&&!k.jsx&&"loading"!==tv?e.default.createElement("button",{"aria-label":X,"data-disabled":tR,"data-close-button":!0,onClick:tR||!ty?()=>{}:()=>{tL(),null==k.onDismiss||k.onDismiss.call(k,k)},className:h(null==K?void 0:K.closeButton,null==k||null==(u=k.classNames)?void 0:u.closeButton)},null!=(w=null==V?void 0:V.close)?w:d):null,(tv||k.icon||k.promise)&&null!==k.icon&&((null==V?void 0:V[tv])!==null||k.icon)?e.default.createElement("div",{"data-icon":"",className:h(null==K?void 0:K.icon,null==k||null==(c=k.classNames)?void 0:c.icon)},k.promise||"loading"===k.type&&!k.icon?k.icon||((null==V?void 0:V.loading)?e.default.createElement("div",{className:h(null==K?void 0:K.loader,null==k||null==(E=k.classNames)?void 0:E.loader,"sonner-loader"),"data-visible":"loading"===tv},V.loading):e.default.createElement(n,{className:h(null==K?void 0:K.loader,null==k||null==(x=k.classNames)?void 0:x.loader),visible:"loading"===tv})):null,"loading"!==k.type?tI:null):null,e.default.createElement("div",{"data-content":"",className:h(null==K?void 0:K.content,null==k||null==(f=k.classNames)?void 0:f.content)},e.default.createElement("div",{"data-title":"",className:h(null==K?void 0:K.title,null==k||null==(m=k.classNames)?void 0:m.title)},k.jsx?k.jsx:"function"==typeof k.title?k.title():k.title),k.description?e.default.createElement("div",{"data-description":"",className:h(Y,tw,null==K?void 0:K.description,null==k||null==(g=k.classNames)?void 0:g.description)},"function"==typeof k.description?k.description():k.description):null),e.default.isValidElement(k.cancel)?k.cancel:k.cancel&&p(k.cancel)?e.default.createElement("button",{"data-button":!0,"data-cancel":!0,style:k.cancelButtonStyle||D,onClick:t=>{!p(k.cancel)||ty&&(null==k.cancel.onClick||k.cancel.onClick.call(k.cancel,t),tL())},className:h(null==K?void 0:K.cancelButton,null==k||null==(v=k.classNames)?void 0:v.cancelButton)},k.cancel.label):null,e.default.isValidElement(k.action)?k.action:k.action&&p(k.action)?e.default.createElement("button",{"data-button":!0,"data-action":!0,style:k.actionButtonStyle||F,onClick:t=>{!p(k.action)||(null==k.action.onClick||k.action.onClick.call(k.action,t),t.defaultPrevented||tL())},className:h(null==K?void 0:K.actionButton,null==k||null==(y=k.classNames)?void 0:y.actionButton)},k.action.label):null)};function v(){if("u"<typeof window||"u"<typeof document)return"ltr";let t=document.documentElement.getAttribute("dir");return"auto"!==t&&t?t:window.getComputedStyle(document.documentElement).direction}let y=e.default.forwardRef(function(t,r){let{id:n,invert:o,position:s="bottom-right",hotkey:i=["altKey","KeyT"],expand:l,closeButton:d,className:u,offset:f,mobileOffset:m,theme:p="light",richColors:h,duration:y,style:b,visibleToasts:w=3,toastOptions:x,dir:E=v(),gap:T=14,icons:k,containerAriaLabel:S="Notifications"}=t,[M,j]=e.default.useState([]),N=e.default.useMemo(()=>n?M.filter(t=>t.toasterId===n):M.filter(t=>!t.toasterId),[M,n]),C=e.default.useMemo(()=>Array.from(new Set([s].concat(N.filter(t=>t.position).map(t=>t.position)))),[N,s]),[P,B]=e.default.useState([]),[O,R]=e.default.useState(!1),[L,I]=e.default.useState(!1),[z,D]=e.default.useState("system"!==p?p:"u">typeof window&&window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light"),F=e.default.useRef(null),A=i.join("+").replace(/Key/g,"").replace(/Digit/g,""),Y=e.default.useRef(null),$=e.default.useRef(!1),H=e.default.useCallback(t=>{j(e=>{var a;return(null==(a=e.find(e=>e.id===t.id))?void 0:a.delete)||c.dismiss(t.id),e.filter(({id:e})=>e!==t.id)})},[]);return e.default.useEffect(()=>c.subscribe(t=>{t.dismiss?requestAnimationFrame(()=>{j(e=>e.map(e=>e.id===t.id?{...e,delete:!0}:e))}):setTimeout(()=>{a.default.flushSync(()=>{j(e=>{let a=e.findIndex(e=>e.id===t.id);return -1!==a?[...e.slice(0,a),{...e[a],...t},...e.slice(a+1)]:[t,...e]})})})}),[M]),e.default.useEffect(()=>{if("system"!==p)return void D(p);if("system"===p&&(window.matchMedia&&window.matchMedia("(prefers-color-scheme: dark)").matches?D("dark"):D("light")),"u"<typeof window)return;let t=window.matchMedia("(prefers-color-scheme: dark)");try{t.addEventListener("change",({matches:t})=>{t?D("dark"):D("light")})}catch(e){t.addListener(({matches:t})=>{try{t?D("dark"):D("light")}catch(t){console.error(t)}})}},[p]),e.default.useEffect(()=>{M.length<=1&&R(!1)},[M]),e.default.useEffect(()=>{let t=t=>{var e,a;i.every(e=>t[e]||t.code===e)&&(R(!0),null==(a=F.current)||a.focus()),"Escape"===t.code&&(document.activeElement===F.current||(null==(e=F.current)?void 0:e.contains(document.activeElement)))&&R(!1)};return document.addEventListener("keydown",t),()=>document.removeEventListener("keydown",t)},[i]),e.default.useEffect(()=>{if(F.current)return()=>{Y.current&&(Y.current.focus({preventScroll:!0}),Y.current=null,$.current=!1)}},[F.current]),e.default.createElement("section",{ref:r,"aria-label":`${S} ${A}`,tabIndex:-1,"aria-live":"polite","aria-relevant":"additions text","aria-atomic":"false",suppressHydrationWarning:!0},C.map((a,r)=>{var n;let s,[i,c]=a.split("-");return N.length?e.default.createElement("ol",{key:a,dir:"auto"===E?v():E,tabIndex:-1,ref:F,className:u,"data-sonner-toaster":!0,"data-sonner-theme":z,"data-y-position":i,"data-x-position":c,style:{"--front-toast-height":`${(null==(n=P[0])?void 0:n.height)||0}px`,"--width":"356px","--gap":`${T}px`,...b,...(s={},[f,m].forEach((t,e)=>{let a=1===e,r=a?"--mobile-offset":"--offset",n=a?"16px":"24px";function o(t){["top","right","bottom","left"].forEach(e=>{s[`${r}-${e}`]="number"==typeof t?`${t}px`:t})}"number"==typeof t||"string"==typeof t?o(t):"object"==typeof t?["top","right","bottom","left"].forEach(e=>{void 0===t[e]?s[`${r}-${e}`]=n:s[`${r}-${e}`]="number"==typeof t[e]?`${t[e]}px`:t[e]}):o(n)}),s)},onBlur:t=>{$.current&&!t.currentTarget.contains(t.relatedTarget)&&($.current=!1,Y.current&&(Y.current.focus({preventScroll:!0}),Y.current=null))},onFocus:t=>{!(t.target instanceof HTMLElement&&"false"===t.target.dataset.dismissible)&&($.current||($.current=!0,Y.current=t.relatedTarget))},onMouseEnter:()=>R(!0),onMouseMove:()=>R(!0),onMouseLeave:()=>{L||R(!1)},onDragEnd:()=>R(!1),onPointerDown:t=>{t.target instanceof HTMLElement&&"false"===t.target.dataset.dismissible||I(!0)},onPointerUp:()=>I(!1)},N.filter(t=>!t.position&&0===r||t.position===a).map((r,n)=>{var s,i;return e.default.createElement(g,{key:r.id,icons:k,index:n,toast:r,defaultRichColors:h,duration:null!=(s=null==x?void 0:x.duration)?s:y,className:null==x?void 0:x.className,descriptionClassName:null==x?void 0:x.descriptionClassName,invert:o,visibleToasts:w,closeButton:null!=(i=null==x?void 0:x.closeButton)?i:d,interacting:L,position:a,style:null==x?void 0:x.style,unstyled:null==x?void 0:x.unstyled,classNames:null==x?void 0:x.classNames,cancelButtonStyle:null==x?void 0:x.cancelButtonStyle,actionButtonStyle:null==x?void 0:x.actionButtonStyle,closeButtonAriaLabel:null==x?void 0:x.closeButtonAriaLabel,removeToast:H,toasts:N.filter(t=>t.position==r.position),heights:P.filter(t=>t.position==r.position),setHeights:B,expandByDefault:l,gap:T,expanded:O,swipeDirections:t.swipeDirections})})):null}))});t.s(["Toaster",0,y,"toast",0,m,"useSonner",0,function(){let[t,r]=e.default.useState([]);return e.default.useEffect(()=>c.subscribe(t=>{t.dismiss?setTimeout(()=>{a.default.flushSync(()=>{r(e=>e.filter(e=>e.id!==t.id))})}):setTimeout(()=>{a.default.flushSync(()=>{r(e=>{let a=e.findIndex(e=>e.id===t.id);return -1!==a?[...e.slice(0,a),{...e[a],...t},...e.slice(a+1)]:[t,...e]})})})}),[]),{toasts:t}}])}]);
|
package/dist/dashboard-runtime/dashboard/.next/static/chunks/{154l918khtf32.js → 076wjt8-f7ws0.js}
RENAMED
|
@@ -1 +1 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,323516,e=>{"use strict";var t=e.i(44501),s=e.i(861403),a=e.i(465581),r=e.i(979980),n=e.i(876490);let l={"knowledge-base":"知识库",memory:"记忆库","llm-providers":"大模型",projects:"项目管理",documents:"文档",retrieval:"检索测试",qa:"问答测试",search:"记忆检索",units:"长期记忆",messages:"短期记忆",requests:"请求审计",settings:"设置",create:"新建",new:"新建",chat:"对话"};e.s(["PageHeader",0,function({title:e,description:i,hideBreadcrumb:o,children:c,className:d}){let u=(0,a.usePathname)()??"/",m=o?[]:function(e){if(/^\/knowledge-base\/[^/]+(?:\/.*)?$/.test(e)||/^\/memory\/[^/]+(?:\/.*)?$/.test(e))return[];let t=e.split("/").filter(Boolean);if(0===t.length)return[];let s=[],a="";return t.forEach((e,r)=>{a+=`/${e}`;let n=decodeURIComponent(e),i=l[n]??n;s.push({label:i,href:r<t.length-1?a:void 0})}),s}(u);return(0,t.jsxs)("div",{className:(0,n.cn)("mb-5 flex flex-col gap-2",d),children:[m.length>1&&(0,t.jsxs)("nav",{"aria-label":"面包屑",className:"flex items-center gap-1 text-[13px] text-[hsl(var(--muted-foreground))]",children:[(0,t.jsx)(s.default,{href:"/",className:"transition-colors hover:text-[hsl(var(--foreground))]",children:"主页"}),m.map((e,a)=>(0,t.jsxs)("span",{className:"flex items-center gap-1",children:[(0,t.jsx)(r.ChevronRight,{className:"h-3 w-3 opacity-60"}),e.href?(0,t.jsx)(s.default,{href:e.href,className:"transition-colors hover:text-[hsl(var(--foreground))]",children:e.label}):(0,t.jsx)("span",{className:"font-medium text-[hsl(var(--foreground))]",children:e.label})]},`${e.label}-${a}`))]}),(0,t.jsxs)("div",{className:"flex items-start justify-between gap-4",children:[(0,t.jsxs)("div",{className:"space-y-1",children:[(0,t.jsx)("h1",{className:"text-xl font-semibold leading-tight text-[hsl(var(--foreground))]",children:e}),i&&(0,t.jsx)("p",{className:"text-[13px] text-[hsl(var(--muted-foreground))]",children:i})]}),c&&(0,t.jsx)("div",{className:"flex shrink-0 items-center gap-2",children:c})]})]})}])},533153,e=>{"use strict";let t=(0,e.i(801685).default)("pencil",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]);e.s(["Pencil",0,t],533153)},730068,e=>{"use strict";let t=(0,e.i(801685).default)("refresh-cw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);e.s(["RefreshCw",0,t],730068)},322740,e=>{"use strict";var t=e.i(44501),s=e.i(101685),a=e.i(876490);let r=s.forwardRef(({className:e,...s},r)=>(0,t.jsx)("div",{className:"relative w-full overflow-auto",children:(0,t.jsx)("table",{ref:r,className:(0,a.cn)("w-full caption-bottom text-sm",e),...s})}));r.displayName="Table";let n=s.forwardRef(({className:e,...s},r)=>(0,t.jsx)("thead",{ref:r,className:(0,a.cn)("[&_tr]:border-b [&_tr]:border-[hsl(var(--border))] [&_tr]:bg-[hsl(var(--secondary))]",e),...s}));n.displayName="TableHeader";let l=s.forwardRef(({className:e,...s},r)=>(0,t.jsx)("tbody",{ref:r,className:(0,a.cn)("[&_tr:last-child]:border-0",e),...s}));l.displayName="TableBody",s.forwardRef(({className:e,...s},r)=>(0,t.jsx)("tfoot",{ref:r,className:(0,a.cn)("border-t border-[hsl(var(--border))] bg-[hsl(var(--secondary)/0.5)] font-medium [&>tr]:last:border-b-0",e),...s})).displayName="TableFooter";let i=s.forwardRef(({className:e,...s},r)=>(0,t.jsx)("tr",{ref:r,className:(0,a.cn)("border-b border-[hsl(var(--border-light))] transition-colors hover:bg-[hsl(var(--secondary)/0.5)] data-[state=selected]:bg-[hsl(var(--primary-soft))]",e),...s}));i.displayName="TableRow";let o=s.forwardRef(({className:e,...s},r)=>(0,t.jsx)("th",{ref:r,className:(0,a.cn)("h-9 px-3 text-left align-middle text-xs font-medium text-[hsl(var(--muted-foreground))] [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",e),...s}));o.displayName="TableHead";let c=s.forwardRef(({className:e,...s},r)=>(0,t.jsx)("td",{ref:r,className:(0,a.cn)("px-3 py-2 align-middle text-sm [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",e),...s}));c.displayName="TableCell",s.forwardRef(({className:e,...s},r)=>(0,t.jsx)("caption",{ref:r,className:(0,a.cn)("mt-4 text-sm text-[hsl(var(--muted-foreground))]",e),...s})).displayName="TableCaption",e.s(["Table",0,r,"TableBody",0,l,"TableCell",0,c,"TableHead",0,o,"TableHeader",0,n,"TableRow",0,i])},431592,e=>{"use strict";var t=e.i(44501),s=e.i(101685),a=e.i(730068),r=e.i(942595),n=e.i(876490);e.s(["RefreshButton",0,function({loading:e,onClick:l,title:i="刷新",className:o,size:c="icon",label:d,variant:u="ghost"}){let m=(0,s.useRef)(null),x=(0,s.useRef)(null),h=(0,s.useRef)(e),p=()=>{let e=m.current;if(!e||x.current)return;let t=e.animate([{transform:"rotate(0deg)"},{transform:"rotate(360deg)"}],{duration:800,easing:"linear",iterations:1,fill:"none"});x.current=t,t.addEventListener("finish",()=>{x.current=null,h.current&&p()}),t.addEventListener("cancel",()=>{x.current=null})};(0,s.useEffect)(()=>{h.current=e},[e]),(0,s.useEffect)(()=>{e&&p()},[e]),(0,s.useEffect)(()=>()=>{x.current?.cancel(),x.current=null},[]);let f="icon"!==c&&!!d;return(0,t.jsxs)(r.Button,{type:"button",variant:u,size:c,onClick:()=>{e||(p(),l())},title:i,"aria-label":d??i,"aria-busy":e||void 0,className:(0,n.cn)("group text-muted-foreground transition-colors duration-150","hover:text-foreground active:scale-[0.96]","ghost"===u&&"hover:bg-[hsl(var(--accent))]",o),children:[(0,t.jsx)("span",{ref:m,"aria-hidden":!0,className:(0,n.cn)("inline-flex transform-gpu",f&&"mr-1.5"),children:(0,t.jsx)(a.RefreshCw,{className:"sm"===c?"h-3.5 w-3.5":"h-4 w-4"})}),f&&d]})}])},573581,e=>{"use strict";let t=(0,e.i(801685).default)("eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);e.s(["Eye",0,t],573581)},326042,e=>{"use strict";var t=e.i(543876),s=e.i(164204),a=e.i(247570),r=e.i(307166);e.s(["useMemoryUnit",0,function(e,n,l,i=!0){let{context:o,ready:c}=(0,r.useRuntimeContext)();return(0,t.useQuery)({queryKey:a.queryKeys.memoryUnit(o.dataScopeKey,e,n,l),queryFn:()=>(0,s.getMemoryUnit)({memoryStoreName:e,memoryId:n,scope:l}),enabled:c&&i&&!!e&&!!l?.appId&&!!n&&"-"!==n})}])},700144,e=>{"use strict";var t=e.i(44501),s=e.i(101685),a=e.i(465581),r=e.i(568432),n=e.i(979980),l=e.i(358204),i=e.i(396416),o=e.i(187014),c=e.i(942595),d=e.i(723888),u=e.i(323516),m=e.i(12251),x=e.i(431592),h=e.i(831211),p=e.i(12122),f=e.i(543876),j=e.i(164204),g=e.i(247570),y=e.i(307166),b=e.i(137500),v=e.i(712984),N=e.i(481015),w=e.i(433253),k=e.i(766476),C=e.i(45123);function S({memoryStoreName:e,scope:a,open:r,onOpenChange:n,onSuccess:l}){let i,d=(i=(0,v.useQueryClient)(),(0,b.useMutation)({mutationFn:e=>(0,j.addMemory)(e),onSuccess:()=>{(0,g.invalidateMemoryQueries)(i)}})),[u,m]=(0,s.useState)(""),[x,h]=(0,s.useState)("");async function p(){try{let t=(0,N.parseJsonObject)(x);if(!u.trim())return void o.toast.error("请输入要提取为记忆的文本");await d.mutateAsync({memoryStoreName:e,scope:a,text:u.trim(),metadata:t,sync:!1}),o.toast.success("记忆正在加工中,请稍后查看"),m(""),h(""),n(!1),l?.()}catch(e){o.toast.error(e instanceof Error?e.message:"添加记忆失败")}}return(0,t.jsx)(w.Dialog,{open:r,onOpenChange:n,children:(0,t.jsxs)(w.DialogContent,{className:"max-w-xl",children:[(0,t.jsx)(w.DialogHeader,{children:(0,t.jsx)(w.DialogTitle,{children:"添加记忆"})}),(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(k.Label,{children:"记忆文本"}),(0,t.jsx)(C.Textarea,{value:u,onChange:e=>m(e.target.value),placeholder:"输入要提取为记忆的文本...",rows:5})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(k.Label,{children:"元数据(JSON,可选)"}),(0,t.jsx)(C.Textarea,{value:x,onChange:e=>h(e.target.value),placeholder:'{"source":"dashboard"}',rows:3})]}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:"记忆将通过异步方式处理,添加后可在记忆单元中查看结果。"})]}),(0,t.jsxs)(w.DialogFooter,{children:[(0,t.jsx)(c.Button,{variant:"outline",onClick:()=>n(!1),children:"取消"}),(0,t.jsx)(c.Button,{onClick:p,disabled:d.isPending,children:d.isPending?"提交中...":"提交"})]})]})})}var T=e.i(573581),I=e.i(533153),D=e.i(330363),R=e.i(322740);let B="当前记忆单元缺少精确范围或 ID,无法操作";function M(e){return e.id??e.memoryId??"-"}let P=(0,s.memo)(function({unit:e,actionDisabled:a,onView:r,onEdit:n,onDelete:l}){let i=(0,s.useCallback)(()=>r?.(e),[r,e]),o=(0,s.useCallback)(()=>n?.(e),[n,e]),d=(0,s.useCallback)(()=>l?.(e),[l,e]);return(0,t.jsxs)(R.TableRow,{children:[(0,t.jsx)(R.TableCell,{className:"font-mono text-xs",children:M(e)}),(0,t.jsxs)(R.TableCell,{className:"max-w-[420px]",children:[(0,t.jsx)("p",{className:"line-clamp-2 text-sm",children:e.text}),e.search_text&&(0,t.jsx)("p",{className:"mt-1 line-clamp-1 text-xs text-muted-foreground",children:e.search_text})]}),(0,t.jsx)(R.TableCell,{children:e.unit_type??"-"}),(0,t.jsx)(R.TableCell,{children:e.version??"-"}),(0,t.jsx)(R.TableCell,{className:"text-xs text-muted-foreground",children:function(e){if(!e)return"-";try{let t=new Date(e);if(isNaN(t.getTime()))return String(e);return t.toLocaleString("zh-CN",{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"})}catch{return String(e)}}(e.created_at??e.createdAt)}),(0,t.jsx)(R.TableCell,{children:(0,t.jsxs)("div",{className:"flex justify-end gap-1",children:[(0,t.jsx)(c.Button,{type:"button",variant:"ghost",size:"icon",disabled:a,onClick:i,title:a?B:"查看详情",children:(0,t.jsx)(T.Eye,{className:"h-4 w-4"})}),(0,t.jsx)(c.Button,{type:"button",variant:"ghost",size:"icon",disabled:a,onClick:o,title:a?B:"编辑",children:(0,t.jsx)(I.Pencil,{className:"h-4 w-4"})}),(0,t.jsx)(c.Button,{type:"button",variant:"ghost",size:"icon",disabled:a,onClick:d,title:a?B:"删除",children:(0,t.jsx)(D.Trash2,{className:"h-4 w-4 text-[hsl(var(--destructive))]"})})]})})]})});function E({units:e,readOnly:s=!1,isActionDisabled:a,onView:r,onEdit:n,onDelete:l}){return e.length?(0,t.jsx)("div",{className:"rounded-lg border",children:(0,t.jsxs)(R.Table,{children:[(0,t.jsx)(R.TableHeader,{children:(0,t.jsxs)(R.TableRow,{children:[(0,t.jsx)(R.TableHead,{className:"w-[180px]",children:"ID"}),(0,t.jsx)(R.TableHead,{children:"内容"}),(0,t.jsx)(R.TableHead,{className:"w-[140px]",children:"类型"}),(0,t.jsx)(R.TableHead,{className:"w-[120px]",children:"版本"}),(0,t.jsx)(R.TableHead,{className:"w-[170px]",children:"创建时间"}),(0,t.jsx)(R.TableHead,{className:"w-[160px] text-right",children:"操作"})]})}),(0,t.jsx)(R.TableBody,{children:e.map((e,i)=>{let o=s||a?.(e)||!1,c=M(e);return(0,t.jsx)(P,{unit:e,actionDisabled:o,onView:r,onEdit:n,onDelete:l},"-"===c?i:c)})})]})}):(0,t.jsx)("div",{className:"rounded-lg border border-dashed py-12 text-center text-sm text-muted-foreground",children:"当前范围下暂无记忆单元"})}function H({memoryStoreName:e,scope:s,unit:a,open:r,onOpenChange:n}){let l,i=(l=(0,v.useQueryClient)(),(0,b.useMutation)({mutationFn:e=>(0,j.updateMemoryUnit)(e),onSuccess:()=>{(0,g.invalidateMemoryQueries)(l)}})),d=a?M(a):"empty";async function u(t){if(t.preventDefault(),!a)return;let r=M(a);if("-"===r)return void o.toast.error("记忆单元缺少 ID,无法编辑");let l=new FormData(t.currentTarget),c=String(l.get("text")??"").trim(),d=String(l.get("metadata")??"");try{await i.mutateAsync({memoryStoreName:e,memoryId:r,scope:s,text:c||void 0,metadata:(0,N.parseJsonObject)(d)}),o.toast.success("记忆单元已更新"),n(!1)}catch(e){o.toast.error(e instanceof Error?e.message:"更新记忆失败")}}return(0,t.jsx)(w.Dialog,{open:r,onOpenChange:n,children:(0,t.jsxs)(w.DialogContent,{className:"max-w-2xl",children:[(0,t.jsx)(w.DialogHeader,{children:(0,t.jsx)(w.DialogTitle,{children:"编辑记忆单元"})}),(0,t.jsxs)("form",{onSubmit:u,className:"space-y-4",children:[(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(k.Label,{children:"记忆文本"}),(0,t.jsx)(C.Textarea,{name:"text",defaultValue:a?.text??"",rows:5})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(k.Label,{children:"元数据(JSON)"}),(0,t.jsx)(C.Textarea,{name:"metadata",defaultValue:a?.metadata?JSON.stringify(a.metadata,null,2):"",rows:4})]}),(0,t.jsxs)(w.DialogFooter,{children:[(0,t.jsx)(c.Button,{type:"button",variant:"outline",onClick:()=>n(!1),children:"取消"}),(0,t.jsx)(c.Button,{type:"submit",disabled:i.isPending,children:i.isPending?"保存中...":"保存"})]})]},d)]})})}var K=e.i(326042);function O({label:e,children:s}){return(0,t.jsxs)("div",{className:"grid grid-cols-[120px_1fr] items-start gap-3",children:[(0,t.jsx)("span",{className:"pt-0.5 text-xs font-medium text-muted-foreground",children:e}),(0,t.jsx)("div",{className:"min-w-0 text-sm text-foreground",children:s})]})}function U({memoryStoreName:e,scope:s,unit:a,open:r,onOpenChange:n}){let l=a?M(a):void 0,i=(0,K.useMemoryUnit)(e,l,s,r),o=i.data?.memory;return(0,t.jsx)(w.Dialog,{open:r,onOpenChange:n,children:(0,t.jsxs)(w.DialogContent,{className:"max-w-2xl",children:[(0,t.jsx)(w.DialogHeader,{children:(0,t.jsx)(w.DialogTitle,{children:"记忆单元详情"})}),a?"-"===l?(0,t.jsx)("p",{className:"text-sm text-destructive",children:"记忆单元缺少 ID,无法加载详情。"}):i.isLoading?(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(h.Skeleton,{className:"h-4 w-16"}),(0,t.jsx)(h.Skeleton,{className:"h-5 w-64"})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(h.Skeleton,{className:"h-4 w-16"}),(0,t.jsx)(h.Skeleton,{className:"h-24 w-full"})]}),(0,t.jsxs)("div",{className:"grid gap-3 sm:grid-cols-2",children:[(0,t.jsx)(h.Skeleton,{className:"h-14 w-full"}),(0,t.jsx)(h.Skeleton,{className:"h-14 w-full"}),(0,t.jsx)(h.Skeleton,{className:"h-14 w-full"}),(0,t.jsx)(h.Skeleton,{className:"h-14 w-full"})]})]}):i.isError?(0,t.jsx)("p",{className:"rounded-md bg-destructive/5 p-3 text-sm text-destructive",children:i.error instanceof Error?i.error.message:"加载记忆单元详情失败"}):o?(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsx)(O,{label:"ID",children:(0,t.jsx)("span",{className:"break-all font-mono text-xs",children:o.id??o.memoryId??"-"})}),(0,t.jsx)(O,{label:"内容",children:(0,t.jsx)("p",{className:"whitespace-pre-wrap rounded-md bg-muted p-3 text-sm",children:o.text})}),o.search_text&&(0,t.jsx)(O,{label:"检索文本",children:(0,t.jsx)("p",{className:"whitespace-pre-wrap rounded-md bg-muted p-3 text-sm",children:o.search_text})}),(0,t.jsx)(O,{label:"范围",children:(0,N.formatScope)(o.scope)}),(0,t.jsx)(O,{label:"类型",children:o.unit_type??"-"}),(0,t.jsx)(O,{label:"重要度",children:o.salience??"-"}),(0,t.jsx)(O,{label:"版本",children:o.version??"-"}),o.metadata&&(0,t.jsx)(O,{label:"元数据",children:(0,t.jsx)("pre",{className:"overflow-auto rounded-md bg-muted p-3 text-xs",children:JSON.stringify(o.metadata,null,2)})})]}):(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:"未找到记忆单元详情。"}):null]})})}var L=e.i(593321);e.s(["default",0,function(){let e,w=(0,a.useParams)(),k=(0,a.useSearchParams)(),C=decodeURIComponent(w.store),T=k.toString(),I=(0,s.useMemo)(()=>(0,N.buildMemoryScope)(new URLSearchParams(T)),[T]),D=(0,N.hasWildcardScope)(I),R=(0,s.useMemo)(()=>`${I.appId}|${I.tenantId??""}|${I.agentId??""}|${I.runId??""}`,[I.appId,I.tenantId,I.agentId,I.runId]),[B,P]=(0,s.useState)({scopeKey:R,tokenStack:[]}),[K]=(0,s.useState)(20),[O,$]=(0,s.useState)(""),[_,z]=(0,s.useState)(null),[q,F]=(0,s.useState)(!1),[Q,A]=(0,s.useState)({scopeKey:R,open:!1}),[J,V]=(0,s.useState)({scopeKey:R,unit:null}),[W,G]=(0,s.useState)({scopeKey:R,unit:null}),[X,Y]=(0,s.useState)({scopeKey:R,unit:null}),Z=B.scopeKey===R?B.tokenStack:[],ee=B.scopeKey===R?B.currentToken:void 0,et=Q.scopeKey===R&&Q.open,es=J.scopeKey===R?J.unit:null,ea=W.scopeKey===R?W.unit:null,er=X.scopeKey===R?X.unit:null,en=function(e,t,s,a=20){let{context:r,ready:n}=(0,y.useRuntimeContext)();return(0,f.useQuery)({queryKey:g.queryKeys.memoryUnits(r.dataScopeKey,e,t,s,a),queryFn:()=>(0,j.listMemoryUnits)(e,t,{nextToken:s,limit:a}),enabled:n&&!!e&&!!t?.appId,staleTime:3e4})}(C,I.appId?I:null,ee,K),el=(e=(0,v.useQueryClient)(),(0,b.useMutation)({mutationFn:e=>(0,j.deleteMemoryUnit)(e),onSuccess:()=>{(0,g.invalidateMemoryQueries)(e)}})),ei=en.data?.items??[];function eo(e,t){return e.scope?.appId?e.scope:t}function ec(e,t){let s=M(e),a=eo(e,t);return!!a.appId&&!(0,N.hasWildcardScope)(a)&&"-"!==s}let ed=es?eo(es,I):I,eu=ea?eo(ea,I):I,em=er?eo(er,I):I;async function ex(){if(!er)return;let e=M(er);if("-"===e)return void o.toast.error("记忆单元缺少 ID,无法删除");if(!ec(er,I))return void o.toast.error("当前记忆单元缺少精确范围,无法删除");try{await el.mutateAsync({memoryStoreName:C,memoryId:e,scope:em}),o.toast.success("记忆单元已删除"),Y({scopeKey:R,unit:null}),en.refetch()}catch(e){o.toast.error(e instanceof Error?e.message:"删除记忆单元失败")}}async function eh(){if(!O.trim())return void o.toast.error("请输入记忆 ID");if(!I.appId)return void o.toast.error("请先设置精确的范围");F(!0);try{let e=await (0,L.apiGet)(`/api/v1/memory/stores/${encodeURIComponent(C)}/units/${encodeURIComponent(O.trim())}?${new URLSearchParams({appId:I.appId,...I.tenantId?{tenantId:I.tenantId}:{},...I.agentId?{agentId:I.agentId}:{},...I.runId?{runId:I.runId}:{}}).toString()}`);z(e.memory),o.toast.success("找到记忆单元")}catch(e){z(null),o.toast.error(e instanceof Error?e.message:"未找到该记忆单元")}finally{F(!1)}}function ep(){$(""),z(null)}let ef=_?[_]:ei,ej=_?1:en.data?.totalCount??0;return en.isLoading&&!_?(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsx)(h.Skeleton,{className:"h-8 w-48"}),(0,t.jsx)(h.Skeleton,{className:"h-10 w-full"}),(0,t.jsx)(h.Skeleton,{className:"h-64 w-full"})]}):(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsx)(u.PageHeader,{title:`长期记忆 (${ej})`,children:(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(x.RefreshButton,{loading:en.isRefetching,onClick:()=>{en.refetch(),ep()}}),D?(0,t.jsx)(p.TooltipProvider,{delayDuration:200,children:(0,t.jsxs)(p.Tooltip,{children:[(0,t.jsx)(p.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("span",{tabIndex:0,className:"inline-flex",children:(0,t.jsxs)(c.Button,{disabled:!0,className:"pointer-events-none",children:[(0,t.jsx)(l.Plus,{className:"mr-2 h-4 w-4"}),"添加记忆"]})})}),(0,t.jsx)(p.TooltipContent,{side:"bottom",className:"max-w-[240px]",children:(0,t.jsx)("p",{children:"请在上方范围栏中为所有字段设置具体值后再添加记忆"})})]})}):(0,t.jsxs)(c.Button,{onClick:()=>A({scopeKey:R,open:!0}),children:[(0,t.jsx)(l.Plus,{className:"mr-2 h-4 w-4"}),"添加记忆"]})]})}),(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsx)(d.Input,{value:O,onChange:e=>$(e.target.value),placeholder:"输入记忆 ID 查询单条记忆...",className:"max-w-md",onKeyDown:e=>"Enter"===e.key&&eh()}),(0,t.jsxs)(c.Button,{onClick:eh,disabled:q||!I.appId,children:[(0,t.jsx)(i.Search,{className:"mr-1.5 h-4 w-4"}),q?"查询中...":"查询"]}),_&&(0,t.jsx)(c.Button,{variant:"outline",onClick:ep,children:"返回列表"})]}),D&&!_&&(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:"当前范围含通配符,仅支持只读查询,无法执行新增、查看详情、编辑或删除。"}),(0,t.jsx)(E,{units:ef,readOnly:!!_,isActionDisabled:e=>!!_||!ec(e,I),onView:e=>V({scopeKey:R,unit:e}),onEdit:e=>G({scopeKey:R,unit:e}),onDelete:e=>Y({scopeKey:R,unit:e})}),!_&&(0,t.jsxs)("div",{className:"flex items-center justify-between py-2",children:[(0,t.jsxs)("span",{className:"text-sm text-muted-foreground",children:["第 ",Z.length+1," 页"]}),(0,t.jsxs)("div",{className:"flex items-center gap-4",children:[(0,t.jsxs)(c.Button,{variant:"outline",size:"sm",onClick:()=>{P(e=>{let t=[...e.scopeKey===R?e.tokenStack:[]],s=t.pop();return{scopeKey:R,tokenStack:t,currentToken:s||void 0}})},disabled:0===Z.length,children:[(0,t.jsx)(r.ChevronLeft,{className:"mr-1 h-4 w-4"}),"上一页"]}),(0,t.jsxs)(c.Button,{variant:"outline",size:"sm",onClick:()=>{en.data?.nextToken&&P(e=>({scopeKey:R,tokenStack:[...e.scopeKey===R?e.tokenStack:[],ee??""],currentToken:en.data.nextToken}))},disabled:!en.data?.nextToken,children:["下一页",(0,t.jsx)(n.ChevronRight,{className:"ml-1 h-4 w-4"})]})]})]}),(0,t.jsx)(S,{memoryStoreName:C,scope:I,open:et,onOpenChange:e=>A({scopeKey:R,open:e}),onSuccess:()=>{en.refetch(),ep()}}),(0,t.jsx)(U,{memoryStoreName:C,scope:ed,unit:es,open:!!es&&ec(es,I),onOpenChange:e=>{e||V({scopeKey:R,unit:null})}}),(0,t.jsx)(H,{memoryStoreName:C,scope:eu,unit:ea,open:!!ea&&ec(ea,I),onOpenChange:e=>{e||G({scopeKey:R,unit:null})}}),(0,t.jsx)(m.ConfirmDialog,{open:!!er&&ec(er,I),onOpenChange:e=>{e||Y({scopeKey:R,unit:null})},title:"删除记忆单元",description:`确定要删除记忆单元 "${er?M(er):""}" 吗?此操作不可撤销。`,variant:"danger",onConfirm:ex})]})}],700144)}]);
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,323516,e=>{"use strict";var t=e.i(44501),s=e.i(861403),a=e.i(465581),r=e.i(979980),n=e.i(876490);let l={"knowledge-base":"知识库",memory:"记忆库","llm-providers":"大模型",projects:"项目管理",documents:"文档",retrieval:"检索测试",qa:"问答测试",search:"记忆检索",units:"长期记忆",messages:"短期记忆",requests:"请求审计",settings:"设置",create:"新建",new:"新建",chat:"对话"};e.s(["PageHeader",0,function({title:e,description:i,hideBreadcrumb:o,children:c,className:d}){let u=(0,a.usePathname)()??"/",m=o?[]:function(e){if(/^\/knowledge-base\/[^/]+(?:\/.*)?$/.test(e)||/^\/memory\/[^/]+(?:\/.*)?$/.test(e))return[];let t=e.split("/").filter(Boolean);if(0===t.length)return[];let s=[],a="";return t.forEach((e,r)=>{a+=`/${e}`;let n=decodeURIComponent(e),i=l[n]??n;s.push({label:i,href:r<t.length-1?a:void 0})}),s}(u);return(0,t.jsxs)("div",{className:(0,n.cn)("mb-5 flex flex-col gap-2",d),children:[m.length>1&&(0,t.jsxs)("nav",{"aria-label":"面包屑",className:"flex items-center gap-1 text-[13px] text-[hsl(var(--muted-foreground))]",children:[(0,t.jsx)(s.default,{href:"/",className:"transition-colors hover:text-[hsl(var(--foreground))]",children:"主页"}),m.map((e,a)=>(0,t.jsxs)("span",{className:"flex items-center gap-1",children:[(0,t.jsx)(r.ChevronRight,{className:"h-3 w-3 opacity-60"}),e.href?(0,t.jsx)(s.default,{href:e.href,className:"transition-colors hover:text-[hsl(var(--foreground))]",children:e.label}):(0,t.jsx)("span",{className:"font-medium text-[hsl(var(--foreground))]",children:e.label})]},`${e.label}-${a}`))]}),(0,t.jsxs)("div",{className:"flex items-start justify-between gap-4",children:[(0,t.jsxs)("div",{className:"space-y-1",children:[(0,t.jsx)("h1",{className:"text-xl font-semibold leading-tight text-[hsl(var(--foreground))]",children:e}),i&&(0,t.jsx)("p",{className:"text-[13px] text-[hsl(var(--muted-foreground))]",children:i})]}),c&&(0,t.jsx)("div",{className:"flex shrink-0 items-center gap-2",children:c})]})]})}])},533153,e=>{"use strict";let t=(0,e.i(801685).default)("pencil",[["path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z",key:"1a8usu"}],["path",{d:"m15 5 4 4",key:"1mk7zo"}]]);e.s(["Pencil",0,t],533153)},730068,e=>{"use strict";let t=(0,e.i(801685).default)("refresh-cw",[["path",{d:"M3 12a9 9 0 0 1 9-9 9.75 9.75 0 0 1 6.74 2.74L21 8",key:"v9h5vc"}],["path",{d:"M21 3v5h-5",key:"1q7to0"}],["path",{d:"M21 12a9 9 0 0 1-9 9 9.75 9.75 0 0 1-6.74-2.74L3 16",key:"3uifl3"}],["path",{d:"M8 16H3v5",key:"1cv678"}]]);e.s(["RefreshCw",0,t],730068)},322740,e=>{"use strict";var t=e.i(44501),s=e.i(101685),a=e.i(876490);let r=s.forwardRef(({className:e,...s},r)=>(0,t.jsx)("div",{className:"relative w-full overflow-auto",children:(0,t.jsx)("table",{ref:r,className:(0,a.cn)("w-full caption-bottom text-sm",e),...s})}));r.displayName="Table";let n=s.forwardRef(({className:e,...s},r)=>(0,t.jsx)("thead",{ref:r,className:(0,a.cn)("[&_tr]:border-b [&_tr]:border-[hsl(var(--border))] [&_tr]:bg-[hsl(var(--secondary))]",e),...s}));n.displayName="TableHeader";let l=s.forwardRef(({className:e,...s},r)=>(0,t.jsx)("tbody",{ref:r,className:(0,a.cn)("[&_tr:last-child]:border-0",e),...s}));l.displayName="TableBody",s.forwardRef(({className:e,...s},r)=>(0,t.jsx)("tfoot",{ref:r,className:(0,a.cn)("border-t border-[hsl(var(--border))] bg-[hsl(var(--secondary)/0.5)] font-medium [&>tr]:last:border-b-0",e),...s})).displayName="TableFooter";let i=s.forwardRef(({className:e,...s},r)=>(0,t.jsx)("tr",{ref:r,className:(0,a.cn)("border-b border-[hsl(var(--border-light))] transition-colors hover:bg-[hsl(var(--secondary)/0.5)] data-[state=selected]:bg-[hsl(var(--primary-soft))]",e),...s}));i.displayName="TableRow";let o=s.forwardRef(({className:e,...s},r)=>(0,t.jsx)("th",{ref:r,className:(0,a.cn)("h-9 px-3 text-left align-middle text-xs font-medium text-[hsl(var(--muted-foreground))] [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",e),...s}));o.displayName="TableHead";let c=s.forwardRef(({className:e,...s},r)=>(0,t.jsx)("td",{ref:r,className:(0,a.cn)("px-3 py-2 align-middle text-sm [&:has([role=checkbox])]:pr-0 [&>[role=checkbox]]:translate-y-[2px]",e),...s}));c.displayName="TableCell",s.forwardRef(({className:e,...s},r)=>(0,t.jsx)("caption",{ref:r,className:(0,a.cn)("mt-4 text-sm text-[hsl(var(--muted-foreground))]",e),...s})).displayName="TableCaption",e.s(["Table",0,r,"TableBody",0,l,"TableCell",0,c,"TableHead",0,o,"TableHeader",0,n,"TableRow",0,i])},431592,e=>{"use strict";var t=e.i(44501),s=e.i(101685),a=e.i(730068),r=e.i(942595),n=e.i(876490);e.s(["RefreshButton",0,function({loading:e,onClick:l,title:i="刷新",className:o,size:c="icon",label:d,variant:u="ghost"}){let m=(0,s.useRef)(null),x=(0,s.useRef)(null),h=(0,s.useRef)(e),p=()=>{let e=m.current;if(!e||x.current)return;let t=e.animate([{transform:"rotate(0deg)"},{transform:"rotate(360deg)"}],{duration:800,easing:"linear",iterations:1,fill:"none"});x.current=t,t.addEventListener("finish",()=>{x.current=null,h.current&&p()}),t.addEventListener("cancel",()=>{x.current=null})};(0,s.useEffect)(()=>{h.current=e},[e]),(0,s.useEffect)(()=>{e&&p()},[e]),(0,s.useEffect)(()=>()=>{x.current?.cancel(),x.current=null},[]);let f="icon"!==c&&!!d;return(0,t.jsxs)(r.Button,{type:"button",variant:u,size:c,onClick:()=>{e||(p(),l())},title:i,"aria-label":d??i,"aria-busy":e||void 0,className:(0,n.cn)("group text-muted-foreground transition-colors duration-150","hover:text-foreground active:scale-[0.96]","ghost"===u&&"hover:bg-[hsl(var(--accent))]",o),children:[(0,t.jsx)("span",{ref:m,"aria-hidden":!0,className:(0,n.cn)("inline-flex transform-gpu",f&&"mr-1.5"),children:(0,t.jsx)(a.RefreshCw,{className:"sm"===c?"h-3.5 w-3.5":"h-4 w-4"})}),f&&d]})}])},573581,e=>{"use strict";let t=(0,e.i(801685).default)("eye",[["path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0",key:"1nclc0"}],["circle",{cx:"12",cy:"12",r:"3",key:"1v7zrd"}]]);e.s(["Eye",0,t],573581)},326042,e=>{"use strict";var t=e.i(543876),s=e.i(164204),a=e.i(247570),r=e.i(307166);e.s(["useMemoryUnit",0,function(e,n,l,i=!0){let{context:o,ready:c}=(0,r.useRuntimeContext)();return(0,t.useQuery)({queryKey:a.queryKeys.memoryUnit(o.dataScopeKey,e,n,l),queryFn:()=>(0,s.getMemoryUnit)({memoryStoreName:e,memoryId:n,scope:l}),enabled:c&&i&&!!e&&!!l?.appId&&!!n&&"-"!==n})}])},700144,e=>{"use strict";var t=e.i(44501),s=e.i(101685),a=e.i(465581),r=e.i(568432),n=e.i(979980),l=e.i(358204),i=e.i(396416),o=e.i(187014),c=e.i(942595),d=e.i(723888),u=e.i(323516),m=e.i(12251),x=e.i(431592),h=e.i(831211),p=e.i(12122),f=e.i(543876),j=e.i(164204),g=e.i(247570),y=e.i(307166),b=e.i(137500),v=e.i(712984),N=e.i(481015),w=e.i(433253),k=e.i(766476),C=e.i(45123);function S({memoryStoreName:e,scope:a,open:r,onOpenChange:n,onSuccess:l}){let i,d=(i=(0,v.useQueryClient)(),(0,b.useMutation)({mutationFn:e=>(0,j.addMemory)(e),onSuccess:()=>{(0,g.invalidateMemoryQueries)(i)}})),[u,m]=(0,s.useState)(""),[x,h]=(0,s.useState)("");async function p(){try{let t=(0,N.parseJsonObject)(x);if(!u.trim())return void o.toast.error("请输入要提取为记忆的文本");await d.mutateAsync({memoryStoreName:e,scope:a,text:u.trim(),metadata:t,sync:!1}),o.toast.success("记忆正在加工中,请稍后查看"),m(""),h(""),n(!1),l?.()}catch(e){o.toast.error(e instanceof Error?e.message:"添加记忆失败")}}return(0,t.jsx)(w.Dialog,{open:r,onOpenChange:n,children:(0,t.jsxs)(w.DialogContent,{className:"max-w-xl",children:[(0,t.jsx)(w.DialogHeader,{children:(0,t.jsx)(w.DialogTitle,{children:"添加记忆"})}),(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(k.Label,{children:"记忆文本"}),(0,t.jsx)(C.Textarea,{value:u,onChange:e=>m(e.target.value),placeholder:"输入要提取为记忆的文本...",rows:5})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(k.Label,{children:"元数据(JSON,可选)"}),(0,t.jsx)(C.Textarea,{value:x,onChange:e=>h(e.target.value),placeholder:'{"source":"dashboard"}',rows:3})]}),(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:"记忆将通过异步方式处理,添加后可在记忆单元中查看结果。"})]}),(0,t.jsxs)(w.DialogFooter,{children:[(0,t.jsx)(c.Button,{variant:"outline",onClick:()=>n(!1),children:"取消"}),(0,t.jsx)(c.Button,{onClick:p,disabled:d.isPending,children:d.isPending?"提交中...":"提交"})]})]})})}var T=e.i(573581),I=e.i(533153),D=e.i(330363),R=e.i(322740);let B="当前记忆单元缺少精确范围或 ID,无法操作";function M(e){return e.id??e.memoryId??"-"}let P=(0,s.memo)(function({unit:e,actionDisabled:a,onView:r,onEdit:n,onDelete:l}){let i=(0,s.useCallback)(()=>r?.(e),[r,e]),o=(0,s.useCallback)(()=>n?.(e),[n,e]),d=(0,s.useCallback)(()=>l?.(e),[l,e]);return(0,t.jsxs)(R.TableRow,{children:[(0,t.jsx)(R.TableCell,{className:"font-mono text-xs",children:M(e)}),(0,t.jsxs)(R.TableCell,{className:"max-w-[420px]",children:[(0,t.jsx)("p",{className:"line-clamp-2 text-sm",children:e.text}),e.search_text&&(0,t.jsx)("p",{className:"mt-1 line-clamp-1 text-xs text-muted-foreground",children:e.search_text})]}),(0,t.jsx)(R.TableCell,{children:e.unit_type??"-"}),(0,t.jsx)(R.TableCell,{children:e.version??"-"}),(0,t.jsx)(R.TableCell,{className:"text-xs text-muted-foreground",children:function(e){if(!e)return"-";try{let t=new Date(e);if(isNaN(t.getTime()))return String(e);return t.toLocaleString("zh-CN",{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"})}catch{return String(e)}}(e.created_at??e.createdAt)}),(0,t.jsx)(R.TableCell,{children:(0,t.jsxs)("div",{className:"flex justify-end gap-1",children:[(0,t.jsx)(c.Button,{type:"button",variant:"ghost",size:"icon",disabled:a,onClick:i,title:a?B:"查看详情",children:(0,t.jsx)(T.Eye,{className:"h-4 w-4"})}),(0,t.jsx)(c.Button,{type:"button",variant:"ghost",size:"icon",disabled:a,onClick:o,title:a?B:"编辑",children:(0,t.jsx)(I.Pencil,{className:"h-4 w-4"})}),(0,t.jsx)(c.Button,{type:"button",variant:"ghost",size:"icon",disabled:a,onClick:d,title:a?B:"删除",children:(0,t.jsx)(D.Trash2,{className:"h-4 w-4 text-[hsl(var(--destructive))]"})})]})})]})});function E({units:e,readOnly:s=!1,isActionDisabled:a,onView:r,onEdit:n,onDelete:l}){return e.length?(0,t.jsx)("div",{className:"rounded-lg border",children:(0,t.jsxs)(R.Table,{children:[(0,t.jsx)(R.TableHeader,{children:(0,t.jsxs)(R.TableRow,{children:[(0,t.jsx)(R.TableHead,{className:"w-[180px]",children:"ID"}),(0,t.jsx)(R.TableHead,{children:"内容"}),(0,t.jsx)(R.TableHead,{className:"w-[140px]",children:"类型"}),(0,t.jsx)(R.TableHead,{className:"w-[120px]",children:"版本"}),(0,t.jsx)(R.TableHead,{className:"w-[170px]",children:"创建时间"}),(0,t.jsx)(R.TableHead,{className:"w-[160px] text-right",children:"操作"})]})}),(0,t.jsx)(R.TableBody,{children:e.map((e,i)=>{let o=s||a?.(e)||!1,c=M(e);return(0,t.jsx)(P,{unit:e,actionDisabled:o,onView:r,onEdit:n,onDelete:l},"-"===c?i:c)})})]})}):(0,t.jsx)("div",{className:"rounded-lg border border-dashed py-12 text-center text-sm text-muted-foreground",children:"当前范围下暂无记忆单元"})}function H({memoryStoreName:e,scope:s,unit:a,open:r,onOpenChange:n}){let l,i=(l=(0,v.useQueryClient)(),(0,b.useMutation)({mutationFn:e=>(0,j.updateMemoryUnit)(e),onSuccess:()=>{(0,g.invalidateMemoryQueries)(l)}})),d=a?M(a):"empty";async function u(t){if(t.preventDefault(),!a)return;let r=M(a);if("-"===r)return void o.toast.error("记忆单元缺少 ID,无法编辑");let l=new FormData(t.currentTarget),c=String(l.get("text")??"").trim(),d=String(l.get("metadata")??"");try{await i.mutateAsync({memoryStoreName:e,memoryId:r,scope:s,text:c||void 0,metadata:(0,N.parseJsonObject)(d)}),o.toast.success("记忆单元已更新"),n(!1)}catch(e){o.toast.error(e instanceof Error?e.message:"更新记忆失败")}}return(0,t.jsx)(w.Dialog,{open:r,onOpenChange:n,children:(0,t.jsxs)(w.DialogContent,{className:"max-w-2xl",children:[(0,t.jsx)(w.DialogHeader,{children:(0,t.jsx)(w.DialogTitle,{children:"编辑记忆单元"})}),(0,t.jsxs)("form",{onSubmit:u,className:"space-y-4",children:[(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(k.Label,{children:"记忆文本"}),(0,t.jsx)(C.Textarea,{name:"text",defaultValue:a?.text??"",rows:5})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(k.Label,{children:"元数据(JSON)"}),(0,t.jsx)(C.Textarea,{name:"metadata",defaultValue:a?.metadata?JSON.stringify(a.metadata,null,2):"",rows:4})]}),(0,t.jsxs)(w.DialogFooter,{children:[(0,t.jsx)(c.Button,{type:"button",variant:"outline",onClick:()=>n(!1),children:"取消"}),(0,t.jsx)(c.Button,{type:"submit",disabled:i.isPending,children:i.isPending?"保存中...":"保存"})]})]},d)]})})}var K=e.i(326042);function O({label:e,children:s}){return(0,t.jsxs)("div",{className:"grid grid-cols-[120px_1fr] items-start gap-3",children:[(0,t.jsx)("span",{className:"pt-0.5 text-xs font-medium text-muted-foreground",children:e}),(0,t.jsx)("div",{className:"min-w-0 text-sm text-foreground",children:s})]})}function U({memoryStoreName:e,scope:s,unit:a,open:r,onOpenChange:n}){let l=a?M(a):void 0,i=(0,K.useMemoryUnit)(e,l,s,r),o=i.data?.memory;return(0,t.jsx)(w.Dialog,{open:r,onOpenChange:n,children:(0,t.jsxs)(w.DialogContent,{className:"max-w-2xl",children:[(0,t.jsx)(w.DialogHeader,{children:(0,t.jsx)(w.DialogTitle,{children:"记忆单元详情"})}),a?"-"===l?(0,t.jsx)("p",{className:"text-sm text-destructive",children:"记忆单元缺少 ID,无法加载详情。"}):i.isLoading?(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(h.Skeleton,{className:"h-4 w-16"}),(0,t.jsx)(h.Skeleton,{className:"h-5 w-64"})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(h.Skeleton,{className:"h-4 w-16"}),(0,t.jsx)(h.Skeleton,{className:"h-24 w-full"})]}),(0,t.jsxs)("div",{className:"grid gap-3 sm:grid-cols-2",children:[(0,t.jsx)(h.Skeleton,{className:"h-14 w-full"}),(0,t.jsx)(h.Skeleton,{className:"h-14 w-full"}),(0,t.jsx)(h.Skeleton,{className:"h-14 w-full"}),(0,t.jsx)(h.Skeleton,{className:"h-14 w-full"})]})]}):i.isError?(0,t.jsx)("p",{className:"rounded-md bg-destructive/5 p-3 text-sm text-destructive",children:i.error instanceof Error?i.error.message:"加载记忆单元详情失败"}):o?(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsx)(O,{label:"ID",children:(0,t.jsx)("span",{className:"break-all font-mono text-xs",children:o.id??o.memoryId??"-"})}),(0,t.jsx)(O,{label:"内容",children:(0,t.jsx)("p",{className:"whitespace-pre-wrap rounded-md bg-muted p-3 text-sm",children:o.text})}),o.search_text&&(0,t.jsx)(O,{label:"检索文本",children:(0,t.jsx)("p",{className:"whitespace-pre-wrap rounded-md bg-muted p-3 text-sm",children:o.search_text})}),(0,t.jsx)(O,{label:"范围",children:(0,N.formatScope)(o.scope)}),(0,t.jsx)(O,{label:"类型",children:o.unit_type??"-"}),(0,t.jsx)(O,{label:"重要度",children:o.salience??"-"}),(0,t.jsx)(O,{label:"版本",children:o.version??"-"}),o.metadata&&(0,t.jsx)(O,{label:"元数据",children:(0,t.jsx)("pre",{className:"overflow-auto rounded-md bg-muted p-3 text-xs",children:JSON.stringify(o.metadata,null,2)})})]}):(0,t.jsx)("p",{className:"text-sm text-muted-foreground",children:"未找到记忆单元详情。"}):null]})})}var L=e.i(593321);e.s(["default",0,function(){let e,w=(0,a.useParams)(),k=(0,a.useSearchParams)(),C=decodeURIComponent(w.store),T=k.toString(),I=(0,s.useMemo)(()=>(0,N.buildMemoryScope)(new URLSearchParams(T)),[T]),D=(0,N.hasWildcardScope)(I),R=(0,s.useMemo)(()=>`${I.appId}|${I.tenantId??""}|${I.agentId??""}|${I.runId??""}`,[I.appId,I.tenantId,I.agentId,I.runId]),[B,P]=(0,s.useState)({scopeKey:R,tokenStack:[]}),[K]=(0,s.useState)(20),[O,$]=(0,s.useState)(""),[_,z]=(0,s.useState)(null),[q,F]=(0,s.useState)(!1),[Q,A]=(0,s.useState)({scopeKey:R,open:!1}),[J,V]=(0,s.useState)({scopeKey:R,unit:null}),[W,G]=(0,s.useState)({scopeKey:R,unit:null}),[X,Y]=(0,s.useState)({scopeKey:R,unit:null}),Z=B.scopeKey===R?B.tokenStack:[],ee=B.scopeKey===R?B.currentToken:void 0,et=Q.scopeKey===R&&Q.open,es=J.scopeKey===R?J.unit:null,ea=W.scopeKey===R?W.unit:null,er=X.scopeKey===R?X.unit:null,en=function(e,t,s,a=20){let{context:r,ready:n}=(0,y.useRuntimeContext)();return(0,f.useQuery)({queryKey:g.queryKeys.memoryUnits(r.dataScopeKey,e,t,s,a),queryFn:()=>(0,j.listMemoryUnits)(e,t,{nextToken:s,limit:a}),enabled:n&&!!e&&!!t?.appId,staleTime:3e4})}(C,I.appId?I:null,ee,K),el=(e=(0,v.useQueryClient)(),(0,b.useMutation)({mutationFn:e=>(0,j.deleteMemoryUnit)(e),onSuccess:()=>{(0,g.invalidateMemoryQueries)(e)}})),ei=en.data?.items??[];function eo(e,t){return e.scope?.appId?e.scope:t}function ec(e,t){let s=M(e),a=eo(e,t);return!!a.appId&&!(0,N.hasWildcardScope)(a)&&"-"!==s}let ed=es?eo(es,I):I,eu=ea?eo(ea,I):I,em=er?eo(er,I):I;async function ex(){if(!er)return;let e=M(er);if("-"===e)return void o.toast.error("记忆单元缺少 ID,无法删除");if(!ec(er,I))return void o.toast.error("当前记忆单元缺少精确范围,无法删除");try{await el.mutateAsync({memoryStoreName:C,memoryId:e,scope:em}),o.toast.success("记忆单元已删除"),Y({scopeKey:R,unit:null}),en.refetch()}catch(e){o.toast.error(e instanceof Error?e.message:"删除记忆单元失败")}}async function eh(){if(!O.trim())return void o.toast.error("请输入记忆 ID");if(!I.appId)return void o.toast.error("请先设置精确的范围");F(!0);try{let e=await (0,L.apiGet)(`/api/v1/memory/stores/${encodeURIComponent(C)}/units/${encodeURIComponent(O.trim())}?${new URLSearchParams({appId:I.appId,...I.tenantId?{tenantId:I.tenantId}:{},...I.agentId?{agentId:I.agentId}:{},...I.runId?{runId:I.runId}:{}}).toString()}`);z(e.memory),o.toast.success("找到记忆单元")}catch(e){z(null),o.toast.error(e instanceof Error?e.message:"未找到该记忆单元")}finally{F(!1)}}function ep(){$(""),z(null)}let ef=_?[_]:ei;return en.isLoading&&!_?(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsx)(h.Skeleton,{className:"h-8 w-48"}),(0,t.jsx)(h.Skeleton,{className:"h-10 w-full"}),(0,t.jsx)(h.Skeleton,{className:"h-64 w-full"})]}):(0,t.jsxs)("div",{className:"space-y-4",children:[(0,t.jsx)(u.PageHeader,{title:"长期记忆",children:(0,t.jsxs)("div",{className:"flex items-center gap-2",children:[(0,t.jsx)(x.RefreshButton,{loading:en.isRefetching,onClick:()=>{en.refetch(),ep()}}),D?(0,t.jsx)(p.TooltipProvider,{delayDuration:200,children:(0,t.jsxs)(p.Tooltip,{children:[(0,t.jsx)(p.TooltipTrigger,{asChild:!0,children:(0,t.jsx)("span",{tabIndex:0,className:"inline-flex",children:(0,t.jsxs)(c.Button,{disabled:!0,className:"pointer-events-none",children:[(0,t.jsx)(l.Plus,{className:"mr-2 h-4 w-4"}),"添加记忆"]})})}),(0,t.jsx)(p.TooltipContent,{side:"bottom",className:"max-w-[240px]",children:(0,t.jsx)("p",{children:"请在上方范围栏中为所有字段设置具体值后再添加记忆"})})]})}):(0,t.jsxs)(c.Button,{onClick:()=>A({scopeKey:R,open:!0}),children:[(0,t.jsx)(l.Plus,{className:"mr-2 h-4 w-4"}),"添加记忆"]})]})}),(0,t.jsxs)("div",{className:"flex gap-2",children:[(0,t.jsx)(d.Input,{value:O,onChange:e=>$(e.target.value),placeholder:"输入记忆 ID 查询单条记忆...",className:"max-w-md",onKeyDown:e=>"Enter"===e.key&&eh()}),(0,t.jsxs)(c.Button,{onClick:eh,disabled:q||!I.appId,children:[(0,t.jsx)(i.Search,{className:"mr-1.5 h-4 w-4"}),q?"查询中...":"查询"]}),_&&(0,t.jsx)(c.Button,{variant:"outline",onClick:ep,children:"返回列表"})]}),D&&!_&&(0,t.jsx)("p",{className:"text-xs text-muted-foreground",children:"当前范围含通配符,仅支持只读查询,无法执行新增、查看详情、编辑或删除。"}),(0,t.jsx)(E,{units:ef,readOnly:!!_,isActionDisabled:e=>!!_||!ec(e,I),onView:e=>V({scopeKey:R,unit:e}),onEdit:e=>G({scopeKey:R,unit:e}),onDelete:e=>Y({scopeKey:R,unit:e})}),!_&&(0,t.jsxs)("div",{className:"flex items-center justify-between py-2",children:[(0,t.jsxs)("span",{className:"text-sm text-muted-foreground",children:["第 ",Z.length+1," 页"]}),(0,t.jsxs)("div",{className:"flex items-center gap-4",children:[(0,t.jsxs)(c.Button,{variant:"outline",size:"sm",onClick:()=>{P(e=>{let t=[...e.scopeKey===R?e.tokenStack:[]],s=t.pop();return{scopeKey:R,tokenStack:t,currentToken:s||void 0}})},disabled:0===Z.length,children:[(0,t.jsx)(r.ChevronLeft,{className:"mr-1 h-4 w-4"}),"上一页"]}),(0,t.jsxs)(c.Button,{variant:"outline",size:"sm",onClick:()=>{en.data?.nextToken&&P(e=>({scopeKey:R,tokenStack:[...e.scopeKey===R?e.tokenStack:[],ee??""],currentToken:en.data.nextToken}))},disabled:!en.data?.nextToken,children:["下一页",(0,t.jsx)(n.ChevronRight,{className:"ml-1 h-4 w-4"})]})]})]}),(0,t.jsx)(S,{memoryStoreName:C,scope:I,open:et,onOpenChange:e=>A({scopeKey:R,open:e}),onSuccess:()=>{en.refetch(),ep()}}),(0,t.jsx)(U,{memoryStoreName:C,scope:ed,unit:es,open:!!es&&ec(es,I),onOpenChange:e=>{e||V({scopeKey:R,unit:null})}}),(0,t.jsx)(H,{memoryStoreName:C,scope:eu,unit:ea,open:!!ea&&ec(ea,I),onOpenChange:e=>{e||G({scopeKey:R,unit:null})}}),(0,t.jsx)(m.ConfirmDialog,{open:!!er&&ec(er,I),onOpenChange:e=>{e||Y({scopeKey:R,unit:null})},title:"删除记忆单元",description:`确定要删除记忆单元 "${er?M(er):""}" 吗?此操作不可撤销。`,variant:"danger",onConfirm:ex})]})}],700144)}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,70666,e=>{"use strict";var s=e.i(44501),r=e.i(465581),t=e.i(831211),i=e.i(65958),n=e.i(480883),a=e.i(988310),o=e.i(832356),l=e.i(187014),d=e.i(942595),c=e.i(45123),m=e.i(321562),x=e.i(137500),u=e.i(712984),h=e.i(164204),j=e.i(247570);let b=o.z.object({description:o.z.string().trim().max(256,"描述不超过 256 字").optional(),extractInstructions:o.z.string().trim().max(4096,"抽取指令不超过 4096 字").optional()});function g({memoryStore:e}){let r,t=(r=(0,u.useQueryClient)(),(0,x.useMutation)({mutationFn:e=>(0,h.updateMemoryStore)(e),onSuccess:()=>{(0,j.invalidateMemoryQueries)(r)}})),i=(0,n.useForm)({resolver:(0,a.zodResolver)(b),defaultValues:{description:e.description??"",extractInstructions:e.extractInstructions??""}});async function o(s){try{let r=e.extractInstructions??"",i=s.extractInstructions??"",n=i!==r;await t.mutateAsync({memoryStoreName:e.memoryStoreName,description:s.description?.length?s.description:void 0,...n?{extractInstructions:i}:{}}),l.toast.success("记忆库设置已更新")}catch(e){l.toast.error(e instanceof Error?e.message:"更新记忆库失败")}}return(0,s.jsx)(m.Form,{...i,children:(0,s.jsxs)("form",{onSubmit:i.handleSubmit(o),className:"space-y-6",children:[(0,s.jsxs)("section",{className:"rounded-lg border border-[hsl(var(--border))] bg-[hsl(var(--card))] p-5 shadow-sm",children:[(0,s.jsx)(p,{title:"基本信息",description:"调整记忆库的描述,帮助团队识别用途。名称在创建后不可修改。"}),(0,s.jsxs)("div",{className:"space-y-4",children:[(0,s.jsx)(f,{label:"名称",value:e.memoryStoreName}),(0,s.jsx)(m.FormField,{control:i.control,name:"description",render:({field:e})=>(0,s.jsxs)(m.FormItem,{children:[(0,s.jsx)(m.FormLabel,{children:"描述"}),(0,s.jsx)(m.FormControl,{children:(0,s.jsx)(c.Textarea,{placeholder:"描述这个记忆库的用途...",className:"resize-none",rows:4,...e})}),(0,s.jsx)(m.FormMessage,{})]})})]})]}),(0,s.jsxs)("section",{className:"rounded-lg border border-[hsl(var(--border))] bg-[hsl(var(--card))] p-5 shadow-sm",children:[(0,s.jsx)(p,{title:"记忆抽取指令",description:"可选。这里填写的指令会注入到后台记忆抽取的提示词中,用于引导从对话里提炼哪些信息、忽略哪些信息。留空则使用默认抽取策略。"}),(0,s.jsx)(m.FormField,{control:i.control,name:"extractInstructions",render:({field:e})=>(0,s.jsxs)(m.FormItem,{children:[(0,s.jsx)(m.FormLabel,{children:"抽取指令"}),(0,s.jsx)(m.FormControl,{children:(0,s.jsx)(c.Textarea,{placeholder:"例如:重点关注用户的医疗术语与用药偏好;忽略寒暄与客套内容。",className:"resize-none",rows:5,...e})}),(0,s.jsx)(m.FormDescription,{children:"最多 4096 个字符。留空表示恢复默认抽取策略。"}),(0,s.jsx)(m.FormMessage,{})]})})]}),(0,s.jsx)("div",{className:"flex justify-end border-t border-[hsl(var(--border-light))] pt-4",children:(0,s.jsx)(d.Button,{type:"submit",disabled:t.isPending,children:t.isPending?"保存中...":"保存更改"})})]})})}function p({title:e,description:r}){return(0,s.jsxs)("header",{className:"mb-4 border-b border-[hsl(var(--border-light))] pb-3",children:[(0,s.jsx)("h3",{className:"text-[15px] font-semibold leading-tight text-[hsl(var(--foreground))]",children:e}),(0,s.jsx)("p",{className:"mt-1 text-xs leading-relaxed text-[hsl(var(--muted-foreground))]",children:r})]})}function f({label:e,value:r}){return(0,s.jsxs)("div",{className:"flex items-center justify-between",children:[(0,s.jsx)("span",{className:"text-sm text-muted-foreground",children:e}),(0,s.jsx)("span",{className:"text-sm font-medium",children:r})]})}function N(e){if(!e)return"-";try{let s=new Date(e);if(isNaN(s.getTime()))return String(e);return s.toLocaleString("zh-CN",{year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit",second:"2-digit"})}catch{return String(e)}}function v({title:e,description:r}){return(0,s.jsxs)("header",{className:"mb-4 border-b border-[hsl(var(--border-light))] pb-3",children:[(0,s.jsx)("h3",{className:"text-[15px] font-semibold leading-tight text-[hsl(var(--foreground))]",children:e}),(0,s.jsx)("p",{className:"mt-1 text-xs leading-relaxed text-[hsl(var(--muted-foreground))]",children:r})]})}function y({label:e,value:r}){return(0,s.jsxs)("div",{className:"flex items-center justify-between",children:[(0,s.jsx)("span",{className:"text-sm text-muted-foreground",children:e}),(0,s.jsx)("span",{className:"text-sm font-medium",children:r})]})}e.s(["default",0,function(){let e=decodeURIComponent((0,r.useParams)().store),{data:n,isLoading:a}=(0,i.useMemoryStore)(e);return a?(0,s.jsxs)("div",{className:"space-y-6",children:[(0,s.jsx)(t.Skeleton,{className:"h-8 w-48"}),(0,s.jsx)(t.Skeleton,{className:"h-32 w-full"})]}):n?(0,s.jsxs)("div",{className:"grid gap-6 xl:grid-cols-[minmax(0,1fr)_320px]",children:[(0,s.jsx)(g,{memoryStore:n}),(0,s.jsx)("aside",{className:"space-y-6",children:(0,s.jsxs)("section",{className:"rounded-lg border border-[hsl(var(--border))] bg-[hsl(var(--card))] p-5 shadow-sm",children:[(0,s.jsx)(v,{title:"记忆库信息",description:"只读元数据,由服务端维护。"}),(0,s.jsxs)("div",{className:"space-y-3",children:[(0,s.jsx)(y,{label:"OTS 实例",value:n.otsInstance??"-"}),(0,s.jsx)(y,{label:"创建时间",value:N(n.createdAt)}),(0,s.jsx)(y,{label:"更新时间",value:N(n.updatedAt)}),n.lastSeenAt&&(0,s.jsx)(y,{label:"最近活跃",value:N(n.lastSeenAt)})]})]})})]}):(0,s.jsx)("div",{className:"py-12 text-center text-muted-foreground",children:"记忆库不存在"})}],70666)}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,51517,e=>{"use strict";let t=(0,e.i(801685).default)("loader-circle",[["path",{d:"M21 12a9 9 0 1 1-6.219-8.56",key:"13zald"}]]);e.s(["Loader2",0,t],51517)},534380,e=>{"use strict";let t=(0,e.i(801685).default)("calendar",[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}]]);e.s(["Calendar",0,t],534380)},869966,e=>{"use strict";var t=e.i(44501),s=e.i(101685),a=e.i(465581);let r=(0,e.i(801685).default)("arrow-down",[["path",{d:"M12 5v14",key:"s699le"}],["path",{d:"m19 12-7 7-7-7",key:"1idqje"}]]);var n=e.i(890055),i=e.i(51517),l=e.i(237769),d=e.i(942595),o=e.i(831211),c=e.i(876490),x=e.i(481015),m=e.i(543876),u=e.i(164204),h=e.i(247570),g=e.i(307166);function p(e){let t=e.metadata?.speaker;if(t)return t;let s=(e.role??"user").toLowerCase();return"assistant"===s?"Assistant":"system"===s?"System":"User"}function f(e){if(!e)return"";try{return new Date(e).toDateString()}catch{return""}}function j(e){if(!e)return"";try{let t=new Date(e);if(isNaN(t.getTime()))return"";return t.toISOString()}catch{return""}}let v=[{bg:"bg-blue-600",text:"text-white"},{bg:"bg-emerald-600",text:"text-white"},{bg:"bg-violet-600",text:"text-white"},{bg:"bg-amber-500",text:"text-white"},{bg:"bg-rose-600",text:"text-white"},{bg:"bg-cyan-600",text:"text-white"},{bg:"bg-indigo-600",text:"text-white"},{bg:"bg-pink-600",text:"text-white"}];function b({label:e}){return(0,t.jsxs)("div",{className:"flex items-center gap-3 py-3",children:[(0,t.jsx)("div",{className:"h-px flex-1 bg-border"}),(0,t.jsx)("span",{className:"shrink-0 rounded-full bg-muted px-3 py-1 text-[11px] font-medium text-muted-foreground",children:e}),(0,t.jsx)("div",{className:"h-px flex-1 bg-border"})]})}let N=(0,s.memo)(function({message:e,showAvatar:s,showName:a,showTime:r}){var n;let i="user"===(e.role??"user").toLowerCase(),l=p(e),d=l?l.charAt(0).toUpperCase():"?",o=function(e){let t=0;for(let s=0;s<e.length;s++)t=31*t+e.charCodeAt(s)|0;return v[Math.abs(t)%v.length]}(l),x=function(e){if(!e)return"";try{let t=new Date(e);if(isNaN(t.getTime()))return"";return t.toLocaleTimeString("zh-CN",{hour:"2-digit",minute:"2-digit"})}catch{return""}}(e.timestamp),m=(n=e.content)?n.replace(/^\[.*?\]\s*(?:\w+:\s*)?/,"").trim():"";return(0,t.jsxs)("div",{className:(0,c.cn)("flex gap-2.5",i?"flex-row-reverse":"flex-row",a?"mt-4":"mt-1"),children:[(0,t.jsx)("div",{className:"flex w-8 shrink-0 items-start pt-0.5",children:s&&(0,t.jsx)("div",{className:(0,c.cn)("flex h-8 w-8 items-center justify-center rounded-full text-xs font-semibold shadow-sm",o.bg,o.text),children:d})}),(0,t.jsxs)("div",{className:(0,c.cn)("flex max-w-[70%] flex-col",i?"items-end":"items-start"),children:[a&&(0,t.jsx)("span",{className:"mb-1 px-1 text-xs font-medium text-muted-foreground",children:l}),(0,t.jsx)("div",{className:(0,c.cn)("rounded-2xl px-3.5 py-2.5 text-[13.5px] leading-relaxed",i?"bg-blue-600 text-white rounded-tr-md":"bg-[hsl(var(--muted))] text-[hsl(var(--foreground))] rounded-tl-md"),children:(0,t.jsx)("p",{className:"whitespace-pre-wrap break-words",children:m})}),r&&x&&(0,t.jsx)("span",{className:"mt-1 px-1 text-[10px] text-muted-foreground/50",children:x})]})]})});var w=e.i(534380),y=e.i(723888),S=e.i(766476);function k({windowMinutes:e,onWindowChange:s,useCustom:a,customMin:r,customMax:n,onCustomMinChange:i,onCustomMaxChange:l,onToggleCustom:o}){return(0,t.jsxs)("div",{className:"flex flex-wrap items-end gap-3 border-b bg-background/80 px-5 py-3",children:[(0,t.jsx)(w.Calendar,{className:"h-4 w-4 shrink-0 text-muted-foreground mt-1"}),a?(0,t.jsxs)("div",{className:"flex items-end gap-2",children:[(0,t.jsxs)("div",{className:"space-y-1",children:[(0,t.jsx)(S.Label,{className:"text-[11px] text-muted-foreground",children:"起始时间"}),(0,t.jsx)(y.Input,{type:"datetime-local",value:r,onChange:e=>i(e.target.value),className:"h-8 w-[190px] text-xs"})]}),(0,t.jsx)("span",{className:"pb-1.5 text-xs text-muted-foreground",children:"—"}),(0,t.jsxs)("div",{className:"space-y-1",children:[(0,t.jsx)(S.Label,{className:"text-[11px] text-muted-foreground",children:"结束时间"}),(0,t.jsx)(y.Input,{type:"datetime-local",value:n,onChange:e=>l(e.target.value),className:"h-8 w-[190px] text-xs"})]}),(0,t.jsx)(d.Button,{variant:"link",size:"sm",className:"text-xs h-8",onClick:o,children:"快速选择"})]}):(0,t.jsxs)("div",{className:"flex items-end gap-2",children:[(0,t.jsxs)("div",{className:"space-y-1",children:[(0,t.jsx)(S.Label,{className:"text-[11px] text-muted-foreground",children:"时间窗口"}),(0,t.jsxs)("select",{className:"h-8 rounded-md border bg-background px-2 text-sm",value:e,onChange:e=>s(Number(e.target.value)),children:[(0,t.jsx)("option",{value:5,children:"最近 5 分钟"}),(0,t.jsx)("option",{value:30,children:"最近 30 分钟"}),(0,t.jsx)("option",{value:60,children:"最近 1 小时"}),(0,t.jsx)("option",{value:360,children:"最近 6 小时"}),(0,t.jsx)("option",{value:1440,children:"最近 1 天"}),(0,t.jsx)("option",{value:4320,children:"最近 3 天"}),(0,t.jsx)("option",{value:10080,children:"最近 7 天"}),(0,t.jsx)("option",{value:0,children:"不限"})]})]}),(0,t.jsx)(d.Button,{variant:"link",size:"sm",className:"text-xs h-8",onClick:o,children:"自定义范围"})]})]})}e.s(["default",0,function(){let e=(0,a.useParams)(),v=(0,a.useSearchParams)(),w=decodeURIComponent(e.store),y=v.toString(),S=(0,s.useMemo)(()=>(0,x.buildMemoryScope)(new URLSearchParams(y)),[y]),[C,T]=(0,s.useState)(1440),[M,D]=(0,s.useState)(!1),[_,F]=(0,s.useState)(""),[L,I]=(0,s.useState)(""),z=(0,s.useMemo)(()=>{if(M){let e={};return _&&(e.minTimestamp=j(_)),L&&(e.maxTimestamp=j(L)),Object.keys(e).length>0?e:void 0}if(0===C)return;let e=new Date;return{minTimestamp:new Date(e.getTime()-6e4*C).toISOString(),maxTimestamp:e.toISOString()}},[C,M,_,L]),q=JSON.stringify(z),A=(0,s.useRef)(q);(0,s.useEffect)(()=>{A.current!==q&&(A.current=q,R(void 0),B(new Set),K(new Map),W([]))},[q]);let[O,R]=(0,s.useState)(void 0),[U,B]=(0,s.useState)(new Set),[P,K]=(0,s.useState)(new Map),[E,H]=(0,s.useState)(!0),$=(0,s.useRef)(null),[J]=(0,s.useState)(50),[Q,W]=(0,s.useState)([]),G=(0,x.hasPreciseScope)(S),V=function(e,t,s,a=50,r=!0,n){let{context:i,ready:l}=(0,g.useRuntimeContext)();return(0,m.useQuery)({queryKey:h.queryKeys.memoryMessages(i.dataScopeKey,e,t,s,a,n),queryFn:()=>(0,u.listMemoryMessages)(e,t,{nextToken:s,limit:a,minTimestamp:n?.minTimestamp,maxTimestamp:n?.maxTimestamp}),enabled:l&&r&&!!e&&!!t?.appId,staleTime:3e4})}(w,G?S:null,O,J,G,z);(0,s.useEffect)(()=>{if(!V.data||!V.isFetched)return;let e=[...V.data.items??[]].reverse(),t=V.data.nextToken;U.has(O??"__initial__")||(W(t=>void 0===O?e:[...e,...t]),B(e=>new Set(e).add(O??"__initial__"))),void 0!==O&&K(e=>new Map(e).set(O,t))},[V.data,V.isFetched]),(0,s.useEffect)(()=>{!V.isFetching&&E&&$.current&&($.current.scrollTop=$.current.scrollHeight)},[Q,V.isFetching,E]);let X=(0,s.useCallback)(()=>{let e=$.current;e&&H(e.scrollHeight-e.scrollTop-e.clientHeight<100)},[]),Y=(0,s.useCallback)(()=>{$.current?.scrollTo({top:$.current.scrollHeight,behavior:"smooth"}),H(!0)},[]),Z=(0,s.useCallback)(()=>{if(V.isFetching)return;let e=O??"__initial__",t=void 0===O?V.data?.nextToken:P.get(e);t&&R(t)},[O,V.isFetching,V.data?.nextToken,P]),ee=void 0===O?V.data?.nextToken:P.get(O??"__initial__"),et=void 0!==ee&&""!==ee,es=!!S.appId,ea={windowMinutes:C,onWindowChange:T,useCustom:M,customMin:_,customMax:L,onCustomMinChange:F,onCustomMaxChange:I,onToggleCustom:()=>D(e=>!e)};return es?G?V.isLoading&&0===Q.length?(0,t.jsxs)("div",{className:"rounded-xl border bg-muted/20",children:[(0,t.jsx)(k,{...ea}),(0,t.jsx)("div",{className:"space-y-3 p-6",children:Array.from({length:5}).map((e,s)=>(0,t.jsxs)("div",{className:(0,c.cn)("flex gap-3",s%2==0?"":"flex-row-reverse"),children:[(0,t.jsx)(o.Skeleton,{className:"h-8 w-8 shrink-0 rounded-full"}),(0,t.jsx)(o.Skeleton,{className:(0,c.cn)("h-14 rounded-2xl",s%2==0?"w-3/5":"w-2/5")})]},s))})]}):(0,t.jsxs)("div",{className:"relative flex flex-col rounded-xl border bg-muted/20",children:[(0,t.jsx)(k,{...ea}),!E&&(0,t.jsx)("div",{className:"absolute bottom-12 right-4 z-10",children:(0,t.jsx)(d.Button,{variant:"secondary",size:"icon",className:"h-9 w-9 rounded-full shadow-lg border",onClick:Y,children:(0,t.jsx)(r,{className:"h-4 w-4"})})}),(0,t.jsxs)("div",{ref:$,onScroll:X,className:"flex max-h-[calc(100vh-440px)] min-h-[320px] flex-col overflow-y-auto px-5 py-4",children:[et&&(0,t.jsx)("div",{className:"mb-2 flex justify-center",children:(0,t.jsx)(d.Button,{variant:"ghost",size:"sm",onClick:Z,disabled:V.isFetching,className:"gap-1.5 text-xs text-muted-foreground hover:text-foreground",children:V.isFetching?(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(i.Loader2,{className:"h-3.5 w-3.5 animate-spin"}),"加载中…"]}):(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(n.ChevronUp,{className:"h-3.5 w-3.5"}),"加载更早的消息"]})})}),!et&&Q.length>0&&(0,t.jsx)("p",{className:"mb-2 text-center text-[11px] text-muted-foreground/50",children:"— 已加载全部消息 —"}),function(){if(0===Q.length)return(0,t.jsxs)("div",{className:"flex flex-col items-center justify-center py-20 text-muted-foreground",children:[(0,t.jsx)(l.MessageSquare,{className:"mb-2 h-5 w-5"}),(0,t.jsx)("span",{className:"text-sm",children:z?"该时间范围内暂无消息":"当前范围下暂无消息记录"})]});let e=[],s="",a="";return Q.forEach((r,n)=>{let i=f(r.timestamp),l=function(e){if(!e)return"";try{let t=new Date(e);if(isNaN(t.getTime()))return"";let s=new Date,a=new Date(s);if(a.setDate(a.getDate()-1),t.toDateString()===s.toDateString())return"今天";if(t.toDateString()===a.toDateString())return"昨天";return t.toLocaleDateString("zh-CN",{year:"numeric",month:"long",day:"numeric"})}catch{return""}}(r.timestamp),d=p(r);i&&i!==s&&(e.push((0,t.jsx)(b,{label:l},`date-${i}-${n}`)),a="",s=i);let o=Q[n+1],c=o?p(o):"",x=o?f(o.timestamp):"",m=!o||c!==d||x!==i,u=d!==a;e.push((0,t.jsx)(N,{message:r,showAvatar:u,showName:u,showTime:m},r.messageId??`${r.timestamp}-${n}`)),a=d}),e}()]}),Q.length>0&&(0,t.jsx)("div",{className:"border-t px-5 py-2.5",children:(0,t.jsxs)("span",{className:"text-[11px] text-muted-foreground",children:["共 ",Q.length," 条消息"]})})]}):(0,t.jsxs)("div",{className:"flex flex-col items-center justify-center rounded-xl border border-dashed py-16 text-muted-foreground",children:[(0,t.jsx)(l.MessageSquare,{className:"mb-2 h-5 w-5"}),(0,t.jsx)("span",{className:"text-sm",children:"请在上方范围栏中为所有字段设置具体值以查询短期记忆"})]}):(0,t.jsxs)("div",{className:"flex flex-col items-center justify-center rounded-xl border border-dashed py-16 text-muted-foreground",children:[(0,t.jsx)(l.MessageSquare,{className:"mb-2 h-5 w-5"}),(0,t.jsx)("span",{className:"text-sm",children:"请先在上方范围栏中填写「应用」"})]})}],869966)}]);
|