@auto-ai/agent 2.1.146 → 2.1.148
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/404/index.html +1 -1
- package/dist/404.html +1 -1
- package/dist/_next/static/chunks/06b383e8ee499be7.js +1 -0
- package/dist/_next/static/chunks/1cb7453376657ffb.css +1 -0
- package/dist/_next/static/chunks/2014b101125849fd.js +1 -0
- package/dist/_next/static/chunks/3ddf56f78e79b076.js +1 -0
- package/dist/_next/static/chunks/46b326fcd7b2e8ab.js +1 -0
- package/dist/_next/static/chunks/489266ff75dbd7fd.js +1 -0
- package/dist/_next/static/chunks/4b1cbde821e7ad65.js +1 -0
- package/dist/_next/static/chunks/{91adb7bdb9870c6a.js → 522518d740397639.js} +1 -1
- package/dist/_next/static/chunks/5853f68e75f5f7ab.js +1 -0
- package/dist/_next/static/chunks/65efa67b7efe0f72.js +1 -0
- package/dist/_next/static/chunks/73930967cfa80238.js +1 -0
- package/dist/_next/static/chunks/73e518d4b3543b8f.js +1 -0
- package/dist/_next/static/chunks/799f92e88bfeb469.js +1 -0
- package/dist/_next/static/chunks/{76a71d344cc15a9f.js → 9ccf7a8bca1730bf.js} +1 -1
- package/dist/_next/static/chunks/b896987ddf6315c9.js +1 -0
- package/dist/_next/static/chunks/c79da9dd69089e4f.js +1 -0
- package/dist/_next/static/chunks/{5cf497c406a233ac.js → da89e354de542422.js} +1 -1
- package/dist/_next/static/chunks/{6d1c0d0ee56899fb.js → ecaea9e9321ec538.js} +1 -1
- package/dist/_next/static/chunks/{turbopack-030a42d60560a927.js → turbopack-63952675b1d69124.js} +1 -1
- package/dist/_next/static/media/data-loading.be8d921a.png +0 -0
- package/dist/_next/static/media/no-data.48c973b9.png +0 -0
- package/dist/index.html +2 -2
- package/dist/index.txt +16 -16
- package/dist/manage/about/index.html +2 -2
- package/dist/manage/about/index.txt +17 -17
- package/dist/manage/env/index.html +2 -2
- package/dist/manage/env/index.txt +19 -19
- package/dist/manage/general/index.html +2 -2
- package/dist/manage/general/index.txt +17 -17
- package/dist/manage/index.html +2 -2
- package/dist/manage/index.txt +14 -14
- package/dist/manage/mcp/index.html +2 -2
- package/dist/manage/mcp/index.txt +17 -17
- package/dist/manage/permissions/index.html +2 -2
- package/dist/manage/permissions/index.txt +17 -17
- package/dist/manage/skills/index.html +2 -2
- package/dist/manage/skills/index.txt +17 -17
- package/dist/manage/task/index.html +2 -2
- package/dist/manage/task/index.txt +17 -17
- package/dist/manage/teams/index.html +2 -2
- package/dist/manage/teams/index.txt +17 -17
- package/dist/manage/tools/index.html +2 -2
- package/dist/manage/tools/index.txt +17 -17
- package/dist/ws-test.html +10 -0
- package/package.json +6 -6
- package/dist/_next/static/chunks/056e4297589bc43b.js +0 -1
- package/dist/_next/static/chunks/14e9e2677e576a10.js +0 -1
- package/dist/_next/static/chunks/21d1bfb869271a9f.js +0 -1
- package/dist/_next/static/chunks/2c10ed308692c3a0.js +0 -1
- package/dist/_next/static/chunks/4daa80520fa470d9.js +0 -1
- package/dist/_next/static/chunks/61676890ad8fe194.js +0 -1
- package/dist/_next/static/chunks/688707d29c1b22a8.js +0 -1
- package/dist/_next/static/chunks/950875832bab2141.js +0 -1
- package/dist/_next/static/chunks/9518ddfa15493676.js +0 -1
- package/dist/_next/static/chunks/b3272f80bcfc5de5.js +0 -1
- package/dist/_next/static/chunks/d43dd46799168929.js +0 -1
- package/dist/_next/static/chunks/efccabfd66006aa3.css +0 -1
- package/dist/_next/static/chunks/f430e6f74ab444e1.js +0 -1
- package/dist/_next/static/chunks/f4d92f64a8396e2a.js +0 -1
- /package/dist/_next/static/{ql-IZawjIz6-ovDjBCIxN → NyBMPUV729o9R49eECrGt}/_buildManifest.js +0 -0
- /package/dist/_next/static/{ql-IZawjIz6-ovDjBCIxN → NyBMPUV729o9R49eECrGt}/_clientMiddlewareManifest.json +0 -0
- /package/dist/_next/static/{ql-IZawjIz6-ovDjBCIxN → NyBMPUV729o9R49eECrGt}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,55682,(e,t,r)=>{"use strict";r._=function(e){return e&&e.__esModule?e:{default:e}}},32061,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{BailoutToCSRError:function(){return o},isBailoutToCSRError:function(){return u}});let n="BAILOUT_TO_CLIENT_SIDE_RENDERING";class o extends Error{constructor(e){super("Bail out to client-side rendering: "+e),this.reason=e,this.digest=n}}function u(e){return"object"==typeof e&&null!==e&&"digest"in e&&e.digest===n}},90809,(e,t,r)=>{"use strict";function n(e){if("function"!=typeof WeakMap)return null;var t=new WeakMap,r=new WeakMap;return(n=function(e){return e?r:t})(e)}r._=function(e,t){if(!t&&e&&e.__esModule)return e;if(null===e||"object"!=typeof e&&"function"!=typeof e)return{default:e};var r=n(t);if(r&&r.has(e))return r.get(e);var o={__proto__:null},u=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var a in e)if("default"!==a&&Object.prototype.hasOwnProperty.call(e,a)){var c=u?Object.getOwnPropertyDescriptor(e,a):null;c&&(c.get||c.set)?Object.defineProperty(o,a,c):o[a]=e[a]}return o.default=e,r&&r.set(e,o),o}},54394,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{HTTPAccessErrorStatus:function(){return n},HTTP_ERROR_FALLBACK_ERROR_CODE:function(){return u},getAccessFallbackErrorTypeByStatus:function(){return i},getAccessFallbackHTTPStatus:function(){return c},isHTTPAccessFallbackError:function(){return a}});let n={NOT_FOUND:404,FORBIDDEN:403,UNAUTHORIZED:401},o=new Set(Object.values(n)),u="NEXT_HTTP_ERROR_FALLBACK";function a(e){if("object"!=typeof e||null===e||!("digest"in e)||"string"!=typeof e.digest)return!1;let[t,r]=e.digest.split(";");return t===u&&o.has(Number(r))}function c(e){return Number(e.digest.split(";")[1])}function i(e){switch(e){case 401:return"unauthorized";case 403:return"forbidden";case 404:return"not-found";default:return}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},76963,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"RedirectStatusCode",{enumerable:!0,get:function(){return n}});var n=function(e){return e[e.SeeOther=303]="SeeOther",e[e.TemporaryRedirect=307]="TemporaryRedirect",e[e.PermanentRedirect=308]="PermanentRedirect",e}({});("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},68391,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{REDIRECT_ERROR_CODE:function(){return o},RedirectType:function(){return u},isRedirectError:function(){return a}});let n=e.r(76963),o="NEXT_REDIRECT";var u=function(e){return e.push="push",e.replace="replace",e}({});function a(e){if("object"!=typeof e||null===e||!("digest"in e)||"string"!=typeof e.digest)return!1;let t=e.digest.split(";"),[r,u]=t,a=t.slice(2,-2).join(";"),c=Number(t.at(-2));return r===o&&("replace"===u||"push"===u)&&"string"==typeof a&&!isNaN(c)&&c in n.RedirectStatusCode}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},65713,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"isNextRouterError",{enumerable:!0,get:function(){return u}});let n=e.r(54394),o=e.r(68391);function u(e){return(0,o.isRedirectError)(e)||(0,n.isHTTPAccessFallbackError)(e)}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},61994,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{PathParamsContext:function(){return a},PathnameContext:function(){return u},SearchParamsContext:function(){return o}});let n=e.r(71645),o=(0,n.createContext)(null),u=(0,n.createContext)(null),a=(0,n.createContext)(null)},45955,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"workUnitAsyncStorageInstance",{enumerable:!0,get:function(){return n}});let n=(0,e.r(90317).createAsyncLocalStorage)()},21768,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{ACTION_HEADER:function(){return o},FLIGHT_HEADERS:function(){return f},NEXT_ACTION_NOT_FOUND_HEADER:function(){return m},NEXT_DID_POSTPONE_HEADER:function(){return y},NEXT_HMR_REFRESH_HASH_COOKIE:function(){return s},NEXT_HMR_REFRESH_HEADER:function(){return i},NEXT_IS_PRERENDER_HEADER:function(){return h},NEXT_REWRITTEN_PATH_HEADER:function(){return b},NEXT_REWRITTEN_QUERY_HEADER:function(){return E},NEXT_ROUTER_PREFETCH_HEADER:function(){return a},NEXT_ROUTER_SEGMENT_PREFETCH_HEADER:function(){return c},NEXT_ROUTER_STALE_TIME_HEADER:function(){return _},NEXT_ROUTER_STATE_TREE_HEADER:function(){return u},NEXT_RSC_UNION_QUERY:function(){return p},NEXT_URL:function(){return l},RSC_CONTENT_TYPE_HEADER:function(){return d},RSC_HEADER:function(){return n}});let n="rsc",o="next-action",u="next-router-state-tree",a="next-router-prefetch",c="next-router-segment-prefetch",i="next-hmr-refresh",s="__next_hmr_refresh_hash__",l="next-url",d="text/x-component",f=[n,u,a,i,c],p="_rsc",_="x-nextjs-stale-time",y="x-nextjs-postponed",b="x-nextjs-rewritten-path",E="x-nextjs-rewritten-query",h="x-nextjs-prerender",m="x-nextjs-action-not-found";("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},12718,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"InvariantError",{enumerable:!0,get:function(){return n}});class n extends Error{constructor(e,t){super("Invariant: "+(e.endsWith(".")?e:e+".")+" This is a bug in Next.js.",t),this.name="InvariantError"}}},62141,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{getCacheSignal:function(){return _},getDraftModeProviderForCacheScope:function(){return p},getHmrRefreshHash:function(){return l},getPrerenderResumeDataCache:function(){return i},getRenderResumeDataCache:function(){return s},getRuntimeStagePromise:function(){return y},getServerComponentsHmrCache:function(){return f},isHmrRefresh:function(){return d},throwForMissingRequestStore:function(){return a},throwInvariantForMissingStore:function(){return c},workUnitAsyncStorage:function(){return n.workUnitAsyncStorageInstance}});let n=e.r(45955),o=e.r(21768),u=e.r(12718);function a(e){throw Object.defineProperty(Error("`".concat(e,"` was called outside a request scope. Read more: https://nextjs.org/docs/messages/next-dynamic-api-wrong-context")),"__NEXT_ERROR_CODE",{value:"E251",enumerable:!1,configurable:!0})}function c(){throw Object.defineProperty(new u.InvariantError("Expected workUnitAsyncStorage to have a store."),"__NEXT_ERROR_CODE",{value:"E696",enumerable:!1,configurable:!0})}function i(e){switch(e.type){case"prerender":case"prerender-runtime":case"prerender-ppr":case"prerender-client":return e.prerenderResumeDataCache;case"prerender-legacy":case"request":case"cache":case"private-cache":case"unstable-cache":return null;default:return e}}function s(e){switch(e.type){case"request":return e.renderResumeDataCache;case"prerender":case"prerender-runtime":case"prerender-client":if(e.renderResumeDataCache)return e.renderResumeDataCache;case"prerender-ppr":return e.prerenderResumeDataCache;case"cache":case"private-cache":case"unstable-cache":case"prerender-legacy":return null;default:return e}}function l(e,t){if(e.dev)switch(t.type){case"cache":case"private-cache":case"prerender":case"prerender-runtime":return t.hmrRefreshHash;case"request":var r;return null==(r=t.cookies.get(o.NEXT_HMR_REFRESH_HASH_COOKIE))?void 0:r.value}}function d(e,t){if(e.dev)switch(t.type){case"cache":case"private-cache":case"request":var r;return null!=(r=t.isHmrRefresh)&&r}return!1}function f(e,t){if(e.dev)switch(t.type){case"cache":case"private-cache":case"request":return t.serverComponentsHmrCache}}function p(e,t){if(e.isDraftMode)switch(t.type){case"cache":case"private-cache":case"unstable-cache":case"prerender-runtime":case"request":return t.draftMode}}function _(e){switch(e.type){case"prerender":case"prerender-client":case"prerender-runtime":return e.cacheSignal;case"prerender-ppr":case"prerender-legacy":case"request":case"cache":case"private-cache":case"unstable-cache":return null;default:return e}}function y(e){switch(e.type){case"prerender-runtime":case"private-cache":return e.runtimeStagePromise;case"prerender":case"prerender-client":case"prerender-ppr":case"prerender-legacy":case"request":case"cache":case"unstable-cache":return null;default:return e}}},13258,(e,t,r)=>{"use strict";function n(e){return"("===e[0]&&e.endsWith(")")}function o(e){return e.startsWith("@")&&"@children"!==e}function u(e,t){if(e.includes(a)){let e=JSON.stringify(t);return"{}"!==e?a+"?"+e:a}return e}Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{DEFAULT_SEGMENT_KEY:function(){return c},PAGE_SEGMENT_KEY:function(){return a},addSearchParamsIfPageSegment:function(){return u},isGroupSegment:function(){return n},isParallelRouteSegment:function(){return o}});let a="__PAGE__",c="__DEFAULT__"},8372,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{AppRouterContext:function(){return o},GlobalLayoutRouterContext:function(){return a},LayoutRouterContext:function(){return u},MissingSlotContext:function(){return i},TemplateContext:function(){return c}});let n=e.r(55682)._(e.r(71645)),o=n.default.createContext(null),u=n.default.createContext(null),a=n.default.createContext(null),c=n.default.createContext(null),i=n.default.createContext(new Set)},59036,(e,t,r)=>{"use strict";function n(e){return Array.isArray(e)?e[1]:e}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"getSegmentValue",{enumerable:!0,get:function(){return n}}),("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},34457,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"actionAsyncStorageInstance",{enumerable:!0,get:function(){return n}});let n=(0,e.r(90317).createAsyncLocalStorage)()},62266,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"actionAsyncStorage",{enumerable:!0,get:function(){return n.actionAsyncStorageInstance}});let n=e.r(34457)},24063,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{getRedirectError:function(){return a},getRedirectStatusCodeFromError:function(){return d},getRedirectTypeFromError:function(){return l},getURLFromRedirectError:function(){return s},permanentRedirect:function(){return i},redirect:function(){return c}});let n=e.r(76963),o=e.r(68391),u="undefined"==typeof window?e.r(62266).actionAsyncStorage:void 0;function a(e,t,r){void 0===r&&(r=n.RedirectStatusCode.TemporaryRedirect);let u=Object.defineProperty(Error(o.REDIRECT_ERROR_CODE),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return u.digest=o.REDIRECT_ERROR_CODE+";"+t+";"+e+";"+r+";",u}function c(e,t){var r;throw null!=t||(t=(null==u||null==(r=u.getStore())?void 0:r.isAction)?o.RedirectType.push:o.RedirectType.replace),a(e,t,n.RedirectStatusCode.TemporaryRedirect)}function i(e,t){throw void 0===t&&(t=o.RedirectType.replace),a(e,t,n.RedirectStatusCode.PermanentRedirect)}function s(e){return(0,o.isRedirectError)(e)?e.digest.split(";").slice(2,-2).join(";"):null}function l(e){if(!(0,o.isRedirectError)(e))throw Object.defineProperty(Error("Not a redirect error"),"__NEXT_ERROR_CODE",{value:"E260",enumerable:!1,configurable:!0});return e.digest.split(";",2)[1]}function d(e){if(!(0,o.isRedirectError)(e))throw Object.defineProperty(Error("Not a redirect error"),"__NEXT_ERROR_CODE",{value:"E260",enumerable:!1,configurable:!0});return Number(e.digest.split(";").at(-2))}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},22783,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"notFound",{enumerable:!0,get:function(){return o}});let n=""+e.r(54394).HTTP_ERROR_FALLBACK_ERROR_CODE+";404";function o(){let e=Object.defineProperty(Error(n),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});throw e.digest=n,e}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},79854,(e,t,r)=>{"use strict";function n(){throw Object.defineProperty(Error("`forbidden()` is experimental and only allowed to be enabled when `experimental.authInterrupts` is enabled."),"__NEXT_ERROR_CODE",{value:"E488",enumerable:!1,configurable:!0})}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"forbidden",{enumerable:!0,get:function(){return n}}),e.r(54394).HTTP_ERROR_FALLBACK_ERROR_CODE,("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},22683,(e,t,r)=>{"use strict";function n(){throw Object.defineProperty(Error("`unauthorized()` is experimental and only allowed to be used when `experimental.authInterrupts` is enabled."),"__NEXT_ERROR_CODE",{value:"E411",enumerable:!1,configurable:!0})}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"unauthorized",{enumerable:!0,get:function(){return n}}),e.r(54394).HTTP_ERROR_FALLBACK_ERROR_CODE,("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},15507,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"unstable_rethrow",{enumerable:!0,get:function(){return function e(t){if((0,o.isNextRouterError)(t)||(0,n.isBailoutToCSRError)(t))throw t;t instanceof Error&&"cause"in t&&e(t.cause)}}});let n=e.r(32061),o=e.r(65713);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},63138,(e,t,r)=>{"use strict";function n(e){return"object"==typeof e&&null!==e&&"digest"in e&&e.digest===o}Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{isHangingPromiseRejectionError:function(){return n},makeDevtoolsIOAwarePromise:function(){return s},makeHangingPromise:function(){return c}});let o="HANGING_PROMISE_REJECTION";class u extends Error{constructor(e,t){super("During prerendering, ".concat(t," rejects when the prerender is complete. Typically these errors are handled by React but if you move ").concat(t,' to a different context by using `setTimeout`, `after`, or similar functions you may observe this error and you should handle it in that context. This occurred at route "').concat(e,'".')),this.route=e,this.expression=t,this.digest=o}}let a=new WeakMap;function c(e,t,r){if(e.aborted)return Promise.reject(new u(t,r));{let n=new Promise((n,o)=>{let c=o.bind(null,new u(t,r)),i=a.get(e);if(i)i.push(c);else{let t=[c];a.set(e,t),e.addEventListener("abort",()=>{for(let e=0;e<t.length;e++)t[e]()},{once:!0})}});return n.catch(i),n}}function i(){}function s(e){return new Promise(t=>{setTimeout(()=>{t(e)},0)})}},67287,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"isPostpone",{enumerable:!0,get:function(){return o}});let n=Symbol.for("react.postpone");function o(e){return"object"==typeof e&&null!==e&&e.$$typeof===n}},76353,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{DynamicServerError:function(){return o},isDynamicServerError:function(){return u}});let n="DYNAMIC_SERVER_USAGE";class o extends Error{constructor(e){super("Dynamic server usage: "+e),this.description=e,this.digest=n}}function u(e){return"object"==typeof e&&null!==e&&"digest"in e&&"string"==typeof e.digest&&e.digest===n}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},43248,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{StaticGenBailoutError:function(){return o},isStaticGenBailoutError:function(){return u}});let n="NEXT_STATIC_GEN_BAILOUT";class o extends Error{constructor(...e){super(...e),this.code=n}}function u(e){return"object"==typeof e&&null!==e&&"code"in e&&e.code===n}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},54839,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{METADATA_BOUNDARY_NAME:function(){return n},OUTLET_BOUNDARY_NAME:function(){return u},ROOT_LAYOUT_BOUNDARY_NAME:function(){return a},VIEWPORT_BOUNDARY_NAME:function(){return o}});let n="__next_metadata_boundary__",o="__next_viewport_boundary__",u="__next_outlet_boundary__",a="__next_root_layout_boundary__"},29419,(e,t,r)=>{"use strict";var n=e.i(47167);Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{atLeastOneTask:function(){return a},scheduleImmediate:function(){return u},scheduleOnNextTick:function(){return o},waitAtLeastOneReactRenderTask:function(){return c}});let o=e=>{Promise.resolve().then(()=>{n.default.nextTick(e)})},u=e=>{setImmediate(e)};function a(){return new Promise(e=>u(e))}function c(){return new Promise(e=>setImmediate(e))}},67673,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{Postpone:function(){return T},PreludeState:function(){return z},abortAndThrowOnSynchronousRequestDataAccess:function(){return v},abortOnSynchronousPlatformIOAccess:function(){return R},accessedDynamicData:function(){return N},annotateDynamicAccess:function(){return L},consumeDynamicAccess:function(){return k},createDynamicTrackingState:function(){return _},createDynamicValidationState:function(){return y},createHangingInputAbortSignal:function(){return H},createRenderInBrowserAbortSignal:function(){return U},delayUntilRuntimeStage:function(){return J},formatDynamicAPIAccesses:function(){return I},getFirstDynamicReason:function(){return b},isDynamicPostpone:function(){return D},isPrerenderInterruptedError:function(){return C},logDisallowedDynamicError:function(){return K},markCurrentScopeAsDynamic:function(){return E},postponeWithTracking:function(){return S},throwIfDisallowedDynamic:function(){return V},throwToInterruptStaticGeneration:function(){return h},trackAllowedDynamicAccess:function(){return q},trackDynamicDataInDynamicRender:function(){return m},trackSynchronousPlatformIOAccessInDev:function(){return O},trackSynchronousRequestDataAccessInDev:function(){return j},useDynamicRouteParams:function(){return B},warnOnSyncDynamicError:function(){return P}});let n=function(e){return e&&e.__esModule?e:{default:e}}(e.r(71645)),o=e.r(76353),u=e.r(43248),a=e.r(62141),c=e.r(63599),i=e.r(63138),s=e.r(54839),l=e.r(29419),d=e.r(32061),f=e.r(12718),p="function"==typeof n.default.unstable_postpone;function _(e){return{isDebugDynamicAccesses:e,dynamicAccesses:[],syncDynamicErrorWithStack:null}}function y(){return{hasSuspenseAboveBody:!1,hasDynamicMetadata:!1,hasDynamicViewport:!1,hasAllowedDynamic:!1,dynamicErrors:[]}}function b(e){var t;return null==(t=e.dynamicAccesses[0])?void 0:t.expression}function E(e,t,r){if(t)switch(t.type){case"cache":case"unstable-cache":case"private-cache":return}if(!e.forceDynamic&&!e.forceStatic){if(e.dynamicShouldError)throw Object.defineProperty(new u.StaticGenBailoutError("Route ".concat(e.route,' with `dynamic = "error"` couldn\'t be rendered statically because it used `').concat(r,"`. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering")),"__NEXT_ERROR_CODE",{value:"E553",enumerable:!1,configurable:!0});if(t)switch(t.type){case"prerender-ppr":return S(e.route,r,t.dynamicTracking);case"prerender-legacy":t.revalidate=0;let n=Object.defineProperty(new o.DynamicServerError("Route ".concat(e.route," couldn't be rendered statically because it used ").concat(r,". See more info here: https://nextjs.org/docs/messages/dynamic-server-error")),"__NEXT_ERROR_CODE",{value:"E550",enumerable:!1,configurable:!0});throw e.dynamicUsageDescription=r,e.dynamicUsageStack=n.stack,n}}}function h(e,t,r){let n=Object.defineProperty(new o.DynamicServerError("Route ".concat(t.route," couldn't be rendered statically because it used `").concat(e,"`. See more info here: https://nextjs.org/docs/messages/dynamic-server-error")),"__NEXT_ERROR_CODE",{value:"E558",enumerable:!1,configurable:!0});throw r.revalidate=0,t.dynamicUsageDescription=e,t.dynamicUsageStack=n.stack,n}function m(e){switch(e.type){case"cache":case"unstable-cache":case"private-cache":return}}function g(e,t,r){let n=M("Route ".concat(e," needs to bail out of prerendering at this point because it used ").concat(t,"."));r.controller.abort(n);let o=r.dynamicTracking;o&&o.dynamicAccesses.push({stack:o.isDebugDynamicAccesses?Error().stack:void 0,expression:t})}function R(e,t,r,n){let o=n.dynamicTracking;g(e,t,n),o&&null===o.syncDynamicErrorWithStack&&(o.syncDynamicErrorWithStack=r)}function O(e){e.prerenderPhase=!1}function v(e,t,r,n){if(!1===n.controller.signal.aborted){g(e,t,n);let o=n.dynamicTracking;o&&null===o.syncDynamicErrorWithStack&&(o.syncDynamicErrorWithStack=r)}throw M("Route ".concat(e," needs to bail out of prerendering at this point because it used ").concat(t,"."))}function P(e){e.syncDynamicErrorWithStack&&console.error(e.syncDynamicErrorWithStack)}let j=O;function T(e){let{reason:t,route:r}=e,n=a.workUnitAsyncStorage.getStore();S(r,t,n&&"prerender-ppr"===n.type?n.dynamicTracking:null)}function S(e,t,r){(function(){if(!p)throw Object.defineProperty(Error("Invariant: React.unstable_postpone is not defined. This suggests the wrong version of React was loaded. This is a bug in Next.js"),"__NEXT_ERROR_CODE",{value:"E224",enumerable:!1,configurable:!0})})(),r&&r.dynamicAccesses.push({stack:r.isDebugDynamicAccesses?Error().stack:void 0,expression:t}),n.default.unstable_postpone(w(e,t))}function w(e,t){return"Route ".concat(e," needs to bail out of prerendering at this point because it used ").concat(t,". ")+"React throws this special object to indicate where. It should not be caught by your own try/catch. Learn more: https://nextjs.org/docs/messages/ppr-caught-error"}function D(e){return"object"==typeof e&&null!==e&&"string"==typeof e.message&&A(e.message)}function A(e){return e.includes("needs to bail out of prerendering at this point because it used")&&e.includes("Learn more: https://nextjs.org/docs/messages/ppr-caught-error")}if(!1===A(w("%%%","^^^")))throw Object.defineProperty(Error("Invariant: isDynamicPostpone misidentified a postpone reason. This is a bug in Next.js"),"__NEXT_ERROR_CODE",{value:"E296",enumerable:!1,configurable:!0});let x="NEXT_PRERENDER_INTERRUPTED";function M(e){let t=Object.defineProperty(Error(e),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return t.digest=x,t}function C(e){return"object"==typeof e&&null!==e&&e.digest===x&&"name"in e&&"message"in e&&e instanceof Error}function N(e){return e.length>0}function k(e,t){return e.dynamicAccesses.push(...t.dynamicAccesses),e.dynamicAccesses}function I(e){return e.filter(e=>"string"==typeof e.stack&&e.stack.length>0).map(e=>{let{expression:t,stack:r}=e;return r=r.split("\n").slice(4).filter(e=>!(e.includes("node_modules/next/")||e.includes(" (<anonymous>)")||e.includes(" (node:"))).join("\n"),"Dynamic API Usage Debug - ".concat(t,":\n").concat(r)})}function U(){let e=new AbortController;return e.abort(Object.defineProperty(new d.BailoutToCSRError("Render in Browser"),"__NEXT_ERROR_CODE",{value:"E721",enumerable:!1,configurable:!0})),e.signal}function H(e){switch(e.type){case"prerender":case"prerender-runtime":let t=new AbortController;if(e.cacheSignal)e.cacheSignal.inputReady().then(()=>{t.abort()});else{let r=(0,a.getRuntimeStagePromise)(e);r?r.then(()=>(0,l.scheduleOnNextTick)(()=>t.abort())):(0,l.scheduleOnNextTick)(()=>t.abort())}return t.signal;case"prerender-client":case"prerender-ppr":case"prerender-legacy":case"request":case"cache":case"private-cache":case"unstable-cache":return}}function L(e,t){let r=t.dynamicTracking;r&&r.dynamicAccesses.push({stack:r.isDebugDynamicAccesses?Error().stack:void 0,expression:e})}function B(e){let t=c.workAsyncStorage.getStore(),r=a.workUnitAsyncStorage.getStore();if(t&&r)switch(r.type){case"prerender-client":case"prerender":{let o=r.fallbackRouteParams;o&&o.size>0&&n.default.use((0,i.makeHangingPromise)(r.renderSignal,t.route,e));break}case"prerender-ppr":{let n=r.fallbackRouteParams;if(n&&n.size>0)return S(t.route,e,r.dynamicTracking);break}case"prerender-runtime":throw Object.defineProperty(new f.InvariantError("`".concat(e,"` was called during a runtime prerender. Next.js should be preventing ").concat(e," from being included in server components statically, but did not in this case.")),"__NEXT_ERROR_CODE",{value:"E771",enumerable:!1,configurable:!0});case"cache":case"private-cache":throw Object.defineProperty(new f.InvariantError("`".concat(e,"` was called inside a cache scope. Next.js should be preventing ").concat(e," from being included in server components statically, but did not in this case.")),"__NEXT_ERROR_CODE",{value:"E745",enumerable:!1,configurable:!0})}}let X=/\n\s+at Suspense \(<anonymous>\)/,F=new RegExp("\\n\\s+at Suspense \\(<anonymous>\\)(?:(?!\\n\\s+at (?:".concat("body|div|main|section|article|aside|header|footer|nav|form|p|span|h1|h2|h3|h4|h5|h6",") \\(<anonymous>\\))[\\s\\S])*?\\n\\s+at ").concat(s.ROOT_LAYOUT_BOUNDARY_NAME," \\([^\\n]*\\)")),G=new RegExp("\\n\\s+at ".concat(s.METADATA_BOUNDARY_NAME,"[\\n\\s]")),W=new RegExp("\\n\\s+at ".concat(s.VIEWPORT_BOUNDARY_NAME,"[\\n\\s]")),Y=new RegExp("\\n\\s+at ".concat(s.OUTLET_BOUNDARY_NAME,"[\\n\\s]"));function q(e,t,r,n){if(!Y.test(t)){if(G.test(t)){r.hasDynamicMetadata=!0;return}if(W.test(t)){r.hasDynamicViewport=!0;return}if(F.test(t)){r.hasAllowedDynamic=!0,r.hasSuspenseAboveBody=!0;return}else if(X.test(t)){r.hasAllowedDynamic=!0;return}else{if(n.syncDynamicErrorWithStack)return void r.dynamicErrors.push(n.syncDynamicErrorWithStack);let o=function(e,t){let r=Object.defineProperty(Error(e),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return r.stack=r.name+": "+e+t,r}('Route "'.concat(e.route,'": A component accessed data, headers, params, searchParams, or a short-lived cache without a Suspense boundary nor a "use cache" above it. See more info: https://nextjs.org/docs/messages/next-prerender-missing-suspense'),t);return void r.dynamicErrors.push(o)}}}var z=function(e){return e[e.Full=0]="Full",e[e.Empty=1]="Empty",e[e.Errored=2]="Errored",e}({});function K(e,t){console.error(t),e.dev||(e.hasReadableErrorStacks?console.error('To get a more detailed stack trace and pinpoint the issue, start the app in development mode by running `next dev`, then open "'.concat(e.route,'" in your browser to investigate the error.')):console.error('To get a more detailed stack trace and pinpoint the issue, try one of the following:\n - Start the app in development mode by running `next dev`, then open "'.concat(e.route,'" in your browser to investigate the error.\n - Rerun the production build with `next build --debug-prerender` to generate better stack traces.')))}function V(e,t,r,n){if(0!==t){if(r.hasSuspenseAboveBody)return;if(n.syncDynamicErrorWithStack)throw K(e,n.syncDynamicErrorWithStack),new u.StaticGenBailoutError;let o=r.dynamicErrors;if(o.length>0){for(let t=0;t<o.length;t++)K(e,o[t]);throw new u.StaticGenBailoutError}if(r.hasDynamicViewport)throw console.error('Route "'.concat(e.route,'" has a `generateViewport` that depends on Request data (`cookies()`, etc...) or uncached external data (`fetch(...)`, etc...) without explicitly allowing fully dynamic rendering. See more info here: https://nextjs.org/docs/messages/next-prerender-dynamic-viewport')),new u.StaticGenBailoutError;if(1===t)throw console.error('Route "'.concat(e.route,'" did not produce a static shell and Next.js was unable to determine a reason. This is a bug in Next.js.')),new u.StaticGenBailoutError}else if(!1===r.hasAllowedDynamic&&r.hasDynamicMetadata)throw console.error('Route "'.concat(e.route,'" has a `generateMetadata` that depends on Request data (`cookies()`, etc...) or uncached external data (`fetch(...)`, etc...) when the rest of the route does not. See more info here: https://nextjs.org/docs/messages/next-prerender-dynamic-metadata')),new u.StaticGenBailoutError}function J(e,t){return e.runtimeStagePromise?e.runtimeStagePromise.then(()=>t):t}},91414,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"unstable_rethrow",{enumerable:!0,get:function(){return function e(t){if((0,a.isNextRouterError)(t)||(0,u.isBailoutToCSRError)(t)||(0,i.isDynamicServerError)(t)||(0,c.isDynamicPostpone)(t)||(0,o.isPostpone)(t)||(0,n.isHangingPromiseRejectionError)(t))throw t;t instanceof Error&&"cause"in t&&e(t.cause)}}});let n=e.r(63138),o=e.r(67287),u=e.r(32061),a=e.r(65713),c=e.r(67673),i=e.r(76353);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},90508,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"unstable_rethrow",{enumerable:!0,get:function(){return n}});let n="undefined"==typeof window?e.r(91414).unstable_rethrow:e.r(15507).unstable_rethrow;("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},92805,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{ReadonlyURLSearchParams:function(){return l},RedirectType:function(){return o.RedirectType},forbidden:function(){return a.forbidden},notFound:function(){return u.notFound},permanentRedirect:function(){return n.permanentRedirect},redirect:function(){return n.redirect},unauthorized:function(){return c.unauthorized},unstable_isUnrecognizedActionError:function(){return d},unstable_rethrow:function(){return i.unstable_rethrow}});let n=e.r(24063),o=e.r(68391),u=e.r(22783),a=e.r(79854),c=e.r(22683),i=e.r(90508);class s extends Error{constructor(){super("Method unavailable on `ReadonlyURLSearchParams`. Read more: https://nextjs.org/docs/app/api-reference/functions/use-search-params#updating-searchparams")}}class l extends URLSearchParams{append(){throw new s}delete(){throw new s}set(){throw new s}sort(){throw new s}}function d(){throw Object.defineProperty(Error("`unstable_isUnrecognizedActionError` can only be used on the client."),"__NEXT_ERROR_CODE",{value:"E776",enumerable:!1,configurable:!0})}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},13957,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{ServerInsertedHTMLContext:function(){return o},useServerInsertedHTML:function(){return u}});let n=e.r(90809)._(e.r(71645)),o=n.default.createContext(null);function u(e){let t=(0,n.useContext)(o);t&&t(e)}},92838,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{UnrecognizedActionError:function(){return n},unstable_isUnrecognizedActionError:function(){return o}});class n extends Error{constructor(...e){super(...e),this.name="UnrecognizedActionError"}}function o(e){return!!(e&&"object"==typeof e&&e instanceof n)}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},95863,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"bailoutToClientRendering",{enumerable:!0,get:function(){return a}});let n=e.r(32061),o=e.r(63599),u=e.r(62141);function a(e){let t=o.workAsyncStorage.getStore();if(null==t?void 0:t.forceStatic)return;let r=u.workUnitAsyncStorage.getStore();if(r)switch(r.type){case"prerender":case"prerender-runtime":case"prerender-client":case"prerender-ppr":case"prerender-legacy":throw Object.defineProperty(new n.BailoutToCSRError(e),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0})}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},76562,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{ReadonlyURLSearchParams:function(){return i.ReadonlyURLSearchParams},RedirectType:function(){return i.RedirectType},ServerInsertedHTMLContext:function(){return s.ServerInsertedHTMLContext},forbidden:function(){return i.forbidden},notFound:function(){return i.notFound},permanentRedirect:function(){return i.permanentRedirect},redirect:function(){return i.redirect},unauthorized:function(){return i.unauthorized},unstable_isUnrecognizedActionError:function(){return l.unstable_isUnrecognizedActionError},unstable_rethrow:function(){return i.unstable_rethrow},useParams:function(){return y},usePathname:function(){return p},useRouter:function(){return _},useSearchParams:function(){return f},useSelectedLayoutSegment:function(){return E},useSelectedLayoutSegments:function(){return b},useServerInsertedHTML:function(){return s.useServerInsertedHTML}});let n=e.r(71645),o=e.r(8372),u=e.r(61994),a=e.r(59036),c=e.r(13258),i=e.r(92805),s=e.r(13957),l=e.r(92838),d="undefined"==typeof window?e.r(67673).useDynamicRouteParams:void 0;function f(){let t=(0,n.useContext)(u.SearchParamsContext),r=(0,n.useMemo)(()=>t?new i.ReadonlyURLSearchParams(t):null,[t]);if("undefined"==typeof window){let{bailoutToClientRendering:t}=e.r(95863);t("useSearchParams()")}return r}function p(){return null==d||d("usePathname()"),(0,n.useContext)(u.PathnameContext)}function _(){let e=(0,n.useContext)(o.AppRouterContext);if(null===e)throw Object.defineProperty(Error("invariant expected app router to be mounted"),"__NEXT_ERROR_CODE",{value:"E238",enumerable:!1,configurable:!0});return e}function y(){return null==d||d("useParams()"),(0,n.useContext)(u.PathParamsContext)}function b(e){void 0===e&&(e="children"),null==d||d("useSelectedLayoutSegments()");let t=(0,n.useContext)(o.LayoutRouterContext);return t?function e(t,r,n,o){let u;if(void 0===n&&(n=!0),void 0===o&&(o=[]),n)u=t[1][r];else{var i;let e=t[1];u=null!=(i=e.children)?i:Object.values(e)[0]}if(!u)return o;let s=u[0],l=(0,a.getSegmentValue)(s);return!l||l.startsWith(c.PAGE_SEGMENT_KEY)?o:(o.push(l),e(u,r,!1,o))}(t.parentTree,e):null}function E(e){void 0===e&&(e="children"),null==d||d("useSelectedLayoutSegment()");let t=b(e);if(!t||0===t.length)return null;let r="children"===e?t[0]:t[t.length-1];return r===c.DEFAULT_SEGMENT_KEY?null:r}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)}]);
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,32061,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{BailoutToCSRError:function(){return o},isBailoutToCSRError:function(){return u}});let n="BAILOUT_TO_CLIENT_SIDE_RENDERING";class o extends Error{constructor(e){super("Bail out to client-side rendering: "+e),this.reason=e,this.digest=n}}function u(e){return"object"==typeof e&&null!==e&&"digest"in e&&e.digest===n}},54394,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{HTTPAccessErrorStatus:function(){return n},HTTP_ERROR_FALLBACK_ERROR_CODE:function(){return u},getAccessFallbackErrorTypeByStatus:function(){return i},getAccessFallbackHTTPStatus:function(){return c},isHTTPAccessFallbackError:function(){return a}});let n={NOT_FOUND:404,FORBIDDEN:403,UNAUTHORIZED:401},o=new Set(Object.values(n)),u="NEXT_HTTP_ERROR_FALLBACK";function a(e){if("object"!=typeof e||null===e||!("digest"in e)||"string"!=typeof e.digest)return!1;let[t,r]=e.digest.split(";");return t===u&&o.has(Number(r))}function c(e){return Number(e.digest.split(";")[1])}function i(e){switch(e){case 401:return"unauthorized";case 403:return"forbidden";case 404:return"not-found";default:return}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},76963,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"RedirectStatusCode",{enumerable:!0,get:function(){return n}});var n=function(e){return e[e.SeeOther=303]="SeeOther",e[e.TemporaryRedirect=307]="TemporaryRedirect",e[e.PermanentRedirect=308]="PermanentRedirect",e}({});("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},68391,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{REDIRECT_ERROR_CODE:function(){return o},RedirectType:function(){return u},isRedirectError:function(){return a}});let n=e.r(76963),o="NEXT_REDIRECT";var u=function(e){return e.push="push",e.replace="replace",e}({});function a(e){if("object"!=typeof e||null===e||!("digest"in e)||"string"!=typeof e.digest)return!1;let t=e.digest.split(";"),[r,u]=t,a=t.slice(2,-2).join(";"),c=Number(t.at(-2));return r===o&&("replace"===u||"push"===u)&&"string"==typeof a&&!isNaN(c)&&c in n.RedirectStatusCode}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},65713,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"isNextRouterError",{enumerable:!0,get:function(){return u}});let n=e.r(54394),o=e.r(68391);function u(e){return(0,o.isRedirectError)(e)||(0,n.isHTTPAccessFallbackError)(e)}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},61994,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{PathParamsContext:function(){return a},PathnameContext:function(){return u},SearchParamsContext:function(){return o}});let n=e.r(71645),o=(0,n.createContext)(null),u=(0,n.createContext)(null),a=(0,n.createContext)(null)},45955,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"workUnitAsyncStorageInstance",{enumerable:!0,get:function(){return n}});let n=(0,e.r(90317).createAsyncLocalStorage)()},21768,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{ACTION_HEADER:function(){return o},FLIGHT_HEADERS:function(){return f},NEXT_ACTION_NOT_FOUND_HEADER:function(){return h},NEXT_DID_POSTPONE_HEADER:function(){return y},NEXT_HMR_REFRESH_HASH_COOKIE:function(){return s},NEXT_HMR_REFRESH_HEADER:function(){return i},NEXT_IS_PRERENDER_HEADER:function(){return m},NEXT_REWRITTEN_PATH_HEADER:function(){return b},NEXT_REWRITTEN_QUERY_HEADER:function(){return E},NEXT_ROUTER_PREFETCH_HEADER:function(){return a},NEXT_ROUTER_SEGMENT_PREFETCH_HEADER:function(){return c},NEXT_ROUTER_STALE_TIME_HEADER:function(){return _},NEXT_ROUTER_STATE_TREE_HEADER:function(){return u},NEXT_RSC_UNION_QUERY:function(){return p},NEXT_URL:function(){return l},RSC_CONTENT_TYPE_HEADER:function(){return d},RSC_HEADER:function(){return n}});let n="rsc",o="next-action",u="next-router-state-tree",a="next-router-prefetch",c="next-router-segment-prefetch",i="next-hmr-refresh",s="__next_hmr_refresh_hash__",l="next-url",d="text/x-component",f=[n,u,a,i,c],p="_rsc",_="x-nextjs-stale-time",y="x-nextjs-postponed",b="x-nextjs-rewritten-path",E="x-nextjs-rewritten-query",m="x-nextjs-prerender",h="x-nextjs-action-not-found";("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},12718,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"InvariantError",{enumerable:!0,get:function(){return n}});class n extends Error{constructor(e,t){super("Invariant: "+(e.endsWith(".")?e:e+".")+" This is a bug in Next.js.",t),this.name="InvariantError"}}},62141,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{getCacheSignal:function(){return _},getDraftModeProviderForCacheScope:function(){return p},getHmrRefreshHash:function(){return l},getPrerenderResumeDataCache:function(){return i},getRenderResumeDataCache:function(){return s},getRuntimeStagePromise:function(){return y},getServerComponentsHmrCache:function(){return f},isHmrRefresh:function(){return d},throwForMissingRequestStore:function(){return a},throwInvariantForMissingStore:function(){return c},workUnitAsyncStorage:function(){return n.workUnitAsyncStorageInstance}});let n=e.r(45955),o=e.r(21768),u=e.r(12718);function a(e){throw Object.defineProperty(Error("`".concat(e,"` was called outside a request scope. Read more: https://nextjs.org/docs/messages/next-dynamic-api-wrong-context")),"__NEXT_ERROR_CODE",{value:"E251",enumerable:!1,configurable:!0})}function c(){throw Object.defineProperty(new u.InvariantError("Expected workUnitAsyncStorage to have a store."),"__NEXT_ERROR_CODE",{value:"E696",enumerable:!1,configurable:!0})}function i(e){switch(e.type){case"prerender":case"prerender-runtime":case"prerender-ppr":case"prerender-client":return e.prerenderResumeDataCache;case"prerender-legacy":case"request":case"cache":case"private-cache":case"unstable-cache":return null;default:return e}}function s(e){switch(e.type){case"request":return e.renderResumeDataCache;case"prerender":case"prerender-runtime":case"prerender-client":if(e.renderResumeDataCache)return e.renderResumeDataCache;case"prerender-ppr":return e.prerenderResumeDataCache;case"cache":case"private-cache":case"unstable-cache":case"prerender-legacy":return null;default:return e}}function l(e,t){if(e.dev)switch(t.type){case"cache":case"private-cache":case"prerender":case"prerender-runtime":return t.hmrRefreshHash;case"request":var r;return null==(r=t.cookies.get(o.NEXT_HMR_REFRESH_HASH_COOKIE))?void 0:r.value}}function d(e,t){if(e.dev)switch(t.type){case"cache":case"private-cache":case"request":var r;return null!=(r=t.isHmrRefresh)&&r}return!1}function f(e,t){if(e.dev)switch(t.type){case"cache":case"private-cache":case"request":return t.serverComponentsHmrCache}}function p(e,t){if(e.isDraftMode)switch(t.type){case"cache":case"private-cache":case"unstable-cache":case"prerender-runtime":case"request":return t.draftMode}}function _(e){switch(e.type){case"prerender":case"prerender-client":case"prerender-runtime":return e.cacheSignal;case"prerender-ppr":case"prerender-legacy":case"request":case"cache":case"private-cache":case"unstable-cache":return null;default:return e}}function y(e){switch(e.type){case"prerender-runtime":case"private-cache":return e.runtimeStagePromise;case"prerender":case"prerender-client":case"prerender-ppr":case"prerender-legacy":case"request":case"cache":case"unstable-cache":return null;default:return e}}},13258,(e,t,r)=>{"use strict";function n(e){return"("===e[0]&&e.endsWith(")")}function o(e){return e.startsWith("@")&&"@children"!==e}function u(e,t){if(e.includes(a)){let e=JSON.stringify(t);return"{}"!==e?a+"?"+e:a}return e}Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{DEFAULT_SEGMENT_KEY:function(){return c},PAGE_SEGMENT_KEY:function(){return a},addSearchParamsIfPageSegment:function(){return u},isGroupSegment:function(){return n},isParallelRouteSegment:function(){return o}});let a="__PAGE__",c="__DEFAULT__"},8372,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{AppRouterContext:function(){return o},GlobalLayoutRouterContext:function(){return a},LayoutRouterContext:function(){return u},MissingSlotContext:function(){return i},TemplateContext:function(){return c}});let n=e.r(55682)._(e.r(71645)),o=n.default.createContext(null),u=n.default.createContext(null),a=n.default.createContext(null),c=n.default.createContext(null),i=n.default.createContext(new Set)},59036,(e,t,r)=>{"use strict";function n(e){return Array.isArray(e)?e[1]:e}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"getSegmentValue",{enumerable:!0,get:function(){return n}}),("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},34457,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"actionAsyncStorageInstance",{enumerable:!0,get:function(){return n}});let n=(0,e.r(90317).createAsyncLocalStorage)()},62266,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"actionAsyncStorage",{enumerable:!0,get:function(){return n.actionAsyncStorageInstance}});let n=e.r(34457)},24063,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{getRedirectError:function(){return a},getRedirectStatusCodeFromError:function(){return d},getRedirectTypeFromError:function(){return l},getURLFromRedirectError:function(){return s},permanentRedirect:function(){return i},redirect:function(){return c}});let n=e.r(76963),o=e.r(68391),u="undefined"==typeof window?e.r(62266).actionAsyncStorage:void 0;function a(e,t,r){void 0===r&&(r=n.RedirectStatusCode.TemporaryRedirect);let u=Object.defineProperty(Error(o.REDIRECT_ERROR_CODE),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return u.digest=o.REDIRECT_ERROR_CODE+";"+t+";"+e+";"+r+";",u}function c(e,t){var r;throw null!=t||(t=(null==u||null==(r=u.getStore())?void 0:r.isAction)?o.RedirectType.push:o.RedirectType.replace),a(e,t,n.RedirectStatusCode.TemporaryRedirect)}function i(e,t){throw void 0===t&&(t=o.RedirectType.replace),a(e,t,n.RedirectStatusCode.PermanentRedirect)}function s(e){return(0,o.isRedirectError)(e)?e.digest.split(";").slice(2,-2).join(";"):null}function l(e){if(!(0,o.isRedirectError)(e))throw Object.defineProperty(Error("Not a redirect error"),"__NEXT_ERROR_CODE",{value:"E260",enumerable:!1,configurable:!0});return e.digest.split(";",2)[1]}function d(e){if(!(0,o.isRedirectError)(e))throw Object.defineProperty(Error("Not a redirect error"),"__NEXT_ERROR_CODE",{value:"E260",enumerable:!1,configurable:!0});return Number(e.digest.split(";").at(-2))}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},22783,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"notFound",{enumerable:!0,get:function(){return o}});let n=""+e.r(54394).HTTP_ERROR_FALLBACK_ERROR_CODE+";404";function o(){let e=Object.defineProperty(Error(n),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});throw e.digest=n,e}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},79854,(e,t,r)=>{"use strict";function n(){throw Object.defineProperty(Error("`forbidden()` is experimental and only allowed to be enabled when `experimental.authInterrupts` is enabled."),"__NEXT_ERROR_CODE",{value:"E488",enumerable:!1,configurable:!0})}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"forbidden",{enumerable:!0,get:function(){return n}}),e.r(54394).HTTP_ERROR_FALLBACK_ERROR_CODE,("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},22683,(e,t,r)=>{"use strict";function n(){throw Object.defineProperty(Error("`unauthorized()` is experimental and only allowed to be used when `experimental.authInterrupts` is enabled."),"__NEXT_ERROR_CODE",{value:"E411",enumerable:!1,configurable:!0})}Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"unauthorized",{enumerable:!0,get:function(){return n}}),e.r(54394).HTTP_ERROR_FALLBACK_ERROR_CODE,("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},15507,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"unstable_rethrow",{enumerable:!0,get:function(){return function e(t){if((0,o.isNextRouterError)(t)||(0,n.isBailoutToCSRError)(t))throw t;t instanceof Error&&"cause"in t&&e(t.cause)}}});let n=e.r(32061),o=e.r(65713);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},63138,(e,t,r)=>{"use strict";function n(e){return"object"==typeof e&&null!==e&&"digest"in e&&e.digest===o}Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{isHangingPromiseRejectionError:function(){return n},makeDevtoolsIOAwarePromise:function(){return s},makeHangingPromise:function(){return c}});let o="HANGING_PROMISE_REJECTION";class u extends Error{constructor(e,t){super("During prerendering, ".concat(t," rejects when the prerender is complete. Typically these errors are handled by React but if you move ").concat(t,' to a different context by using `setTimeout`, `after`, or similar functions you may observe this error and you should handle it in that context. This occurred at route "').concat(e,'".')),this.route=e,this.expression=t,this.digest=o}}let a=new WeakMap;function c(e,t,r){if(e.aborted)return Promise.reject(new u(t,r));{let n=new Promise((n,o)=>{let c=o.bind(null,new u(t,r)),i=a.get(e);if(i)i.push(c);else{let t=[c];a.set(e,t),e.addEventListener("abort",()=>{for(let e=0;e<t.length;e++)t[e]()},{once:!0})}});return n.catch(i),n}}function i(){}function s(e){return new Promise(t=>{setTimeout(()=>{t(e)},0)})}},67287,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"isPostpone",{enumerable:!0,get:function(){return o}});let n=Symbol.for("react.postpone");function o(e){return"object"==typeof e&&null!==e&&e.$$typeof===n}},76353,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{DynamicServerError:function(){return o},isDynamicServerError:function(){return u}});let n="DYNAMIC_SERVER_USAGE";class o extends Error{constructor(e){super("Dynamic server usage: "+e),this.description=e,this.digest=n}}function u(e){return"object"==typeof e&&null!==e&&"digest"in e&&"string"==typeof e.digest&&e.digest===n}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},43248,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{StaticGenBailoutError:function(){return o},isStaticGenBailoutError:function(){return u}});let n="NEXT_STATIC_GEN_BAILOUT";class o extends Error{constructor(...e){super(...e),this.code=n}}function u(e){return"object"==typeof e&&null!==e&&"code"in e&&e.code===n}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},54839,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{METADATA_BOUNDARY_NAME:function(){return n},OUTLET_BOUNDARY_NAME:function(){return u},ROOT_LAYOUT_BOUNDARY_NAME:function(){return a},VIEWPORT_BOUNDARY_NAME:function(){return o}});let n="__next_metadata_boundary__",o="__next_viewport_boundary__",u="__next_outlet_boundary__",a="__next_root_layout_boundary__"},29419,(e,t,r)=>{"use strict";var n=e.i(47167);Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{atLeastOneTask:function(){return a},scheduleImmediate:function(){return u},scheduleOnNextTick:function(){return o},waitAtLeastOneReactRenderTask:function(){return c}});let o=e=>{Promise.resolve().then(()=>{n.default.nextTick(e)})},u=e=>{setImmediate(e)};function a(){return new Promise(e=>u(e))}function c(){return new Promise(e=>setImmediate(e))}},67673,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{Postpone:function(){return T},PreludeState:function(){return z},abortAndThrowOnSynchronousRequestDataAccess:function(){return v},abortOnSynchronousPlatformIOAccess:function(){return g},accessedDynamicData:function(){return N},annotateDynamicAccess:function(){return L},consumeDynamicAccess:function(){return k},createDynamicTrackingState:function(){return _},createDynamicValidationState:function(){return y},createHangingInputAbortSignal:function(){return H},createRenderInBrowserAbortSignal:function(){return U},delayUntilRuntimeStage:function(){return J},formatDynamicAPIAccesses:function(){return I},getFirstDynamicReason:function(){return b},isDynamicPostpone:function(){return D},isPrerenderInterruptedError:function(){return M},logDisallowedDynamicError:function(){return K},markCurrentScopeAsDynamic:function(){return E},postponeWithTracking:function(){return S},throwIfDisallowedDynamic:function(){return V},throwToInterruptStaticGeneration:function(){return m},trackAllowedDynamicAccess:function(){return q},trackDynamicDataInDynamicRender:function(){return h},trackSynchronousPlatformIOAccessInDev:function(){return O},trackSynchronousRequestDataAccessInDev:function(){return j},useDynamicRouteParams:function(){return B},warnOnSyncDynamicError:function(){return P}});let n=function(e){return e&&e.__esModule?e:{default:e}}(e.r(71645)),o=e.r(76353),u=e.r(43248),a=e.r(62141),c=e.r(63599),i=e.r(63138),s=e.r(54839),l=e.r(29419),d=e.r(32061),f=e.r(12718),p="function"==typeof n.default.unstable_postpone;function _(e){return{isDebugDynamicAccesses:e,dynamicAccesses:[],syncDynamicErrorWithStack:null}}function y(){return{hasSuspenseAboveBody:!1,hasDynamicMetadata:!1,hasDynamicViewport:!1,hasAllowedDynamic:!1,dynamicErrors:[]}}function b(e){var t;return null==(t=e.dynamicAccesses[0])?void 0:t.expression}function E(e,t,r){if(t)switch(t.type){case"cache":case"unstable-cache":case"private-cache":return}if(!e.forceDynamic&&!e.forceStatic){if(e.dynamicShouldError)throw Object.defineProperty(new u.StaticGenBailoutError("Route ".concat(e.route,' with `dynamic = "error"` couldn\'t be rendered statically because it used `').concat(r,"`. See more info here: https://nextjs.org/docs/app/building-your-application/rendering/static-and-dynamic#dynamic-rendering")),"__NEXT_ERROR_CODE",{value:"E553",enumerable:!1,configurable:!0});if(t)switch(t.type){case"prerender-ppr":return S(e.route,r,t.dynamicTracking);case"prerender-legacy":t.revalidate=0;let n=Object.defineProperty(new o.DynamicServerError("Route ".concat(e.route," couldn't be rendered statically because it used ").concat(r,". See more info here: https://nextjs.org/docs/messages/dynamic-server-error")),"__NEXT_ERROR_CODE",{value:"E550",enumerable:!1,configurable:!0});throw e.dynamicUsageDescription=r,e.dynamicUsageStack=n.stack,n}}}function m(e,t,r){let n=Object.defineProperty(new o.DynamicServerError("Route ".concat(t.route," couldn't be rendered statically because it used `").concat(e,"`. See more info here: https://nextjs.org/docs/messages/dynamic-server-error")),"__NEXT_ERROR_CODE",{value:"E558",enumerable:!1,configurable:!0});throw r.revalidate=0,t.dynamicUsageDescription=e,t.dynamicUsageStack=n.stack,n}function h(e){switch(e.type){case"cache":case"unstable-cache":case"private-cache":return}}function R(e,t,r){let n=C("Route ".concat(e," needs to bail out of prerendering at this point because it used ").concat(t,"."));r.controller.abort(n);let o=r.dynamicTracking;o&&o.dynamicAccesses.push({stack:o.isDebugDynamicAccesses?Error().stack:void 0,expression:t})}function g(e,t,r,n){let o=n.dynamicTracking;R(e,t,n),o&&null===o.syncDynamicErrorWithStack&&(o.syncDynamicErrorWithStack=r)}function O(e){e.prerenderPhase=!1}function v(e,t,r,n){if(!1===n.controller.signal.aborted){R(e,t,n);let o=n.dynamicTracking;o&&null===o.syncDynamicErrorWithStack&&(o.syncDynamicErrorWithStack=r)}throw C("Route ".concat(e," needs to bail out of prerendering at this point because it used ").concat(t,"."))}function P(e){e.syncDynamicErrorWithStack&&console.error(e.syncDynamicErrorWithStack)}let j=O;function T(e){let{reason:t,route:r}=e,n=a.workUnitAsyncStorage.getStore();S(r,t,n&&"prerender-ppr"===n.type?n.dynamicTracking:null)}function S(e,t,r){(function(){if(!p)throw Object.defineProperty(Error("Invariant: React.unstable_postpone is not defined. This suggests the wrong version of React was loaded. This is a bug in Next.js"),"__NEXT_ERROR_CODE",{value:"E224",enumerable:!1,configurable:!0})})(),r&&r.dynamicAccesses.push({stack:r.isDebugDynamicAccesses?Error().stack:void 0,expression:t}),n.default.unstable_postpone(w(e,t))}function w(e,t){return"Route ".concat(e," needs to bail out of prerendering at this point because it used ").concat(t,". ")+"React throws this special object to indicate where. It should not be caught by your own try/catch. Learn more: https://nextjs.org/docs/messages/ppr-caught-error"}function D(e){return"object"==typeof e&&null!==e&&"string"==typeof e.message&&A(e.message)}function A(e){return e.includes("needs to bail out of prerendering at this point because it used")&&e.includes("Learn more: https://nextjs.org/docs/messages/ppr-caught-error")}if(!1===A(w("%%%","^^^")))throw Object.defineProperty(Error("Invariant: isDynamicPostpone misidentified a postpone reason. This is a bug in Next.js"),"__NEXT_ERROR_CODE",{value:"E296",enumerable:!1,configurable:!0});let x="NEXT_PRERENDER_INTERRUPTED";function C(e){let t=Object.defineProperty(Error(e),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return t.digest=x,t}function M(e){return"object"==typeof e&&null!==e&&e.digest===x&&"name"in e&&"message"in e&&e instanceof Error}function N(e){return e.length>0}function k(e,t){return e.dynamicAccesses.push(...t.dynamicAccesses),e.dynamicAccesses}function I(e){return e.filter(e=>"string"==typeof e.stack&&e.stack.length>0).map(e=>{let{expression:t,stack:r}=e;return r=r.split("\n").slice(4).filter(e=>!(e.includes("node_modules/next/")||e.includes(" (<anonymous>)")||e.includes(" (node:"))).join("\n"),"Dynamic API Usage Debug - ".concat(t,":\n").concat(r)})}function U(){let e=new AbortController;return e.abort(Object.defineProperty(new d.BailoutToCSRError("Render in Browser"),"__NEXT_ERROR_CODE",{value:"E721",enumerable:!1,configurable:!0})),e.signal}function H(e){switch(e.type){case"prerender":case"prerender-runtime":let t=new AbortController;if(e.cacheSignal)e.cacheSignal.inputReady().then(()=>{t.abort()});else{let r=(0,a.getRuntimeStagePromise)(e);r?r.then(()=>(0,l.scheduleOnNextTick)(()=>t.abort())):(0,l.scheduleOnNextTick)(()=>t.abort())}return t.signal;case"prerender-client":case"prerender-ppr":case"prerender-legacy":case"request":case"cache":case"private-cache":case"unstable-cache":return}}function L(e,t){let r=t.dynamicTracking;r&&r.dynamicAccesses.push({stack:r.isDebugDynamicAccesses?Error().stack:void 0,expression:e})}function B(e){let t=c.workAsyncStorage.getStore(),r=a.workUnitAsyncStorage.getStore();if(t&&r)switch(r.type){case"prerender-client":case"prerender":{let o=r.fallbackRouteParams;o&&o.size>0&&n.default.use((0,i.makeHangingPromise)(r.renderSignal,t.route,e));break}case"prerender-ppr":{let n=r.fallbackRouteParams;if(n&&n.size>0)return S(t.route,e,r.dynamicTracking);break}case"prerender-runtime":throw Object.defineProperty(new f.InvariantError("`".concat(e,"` was called during a runtime prerender. Next.js should be preventing ").concat(e," from being included in server components statically, but did not in this case.")),"__NEXT_ERROR_CODE",{value:"E771",enumerable:!1,configurable:!0});case"cache":case"private-cache":throw Object.defineProperty(new f.InvariantError("`".concat(e,"` was called inside a cache scope. Next.js should be preventing ").concat(e," from being included in server components statically, but did not in this case.")),"__NEXT_ERROR_CODE",{value:"E745",enumerable:!1,configurable:!0})}}let X=/\n\s+at Suspense \(<anonymous>\)/,F=new RegExp("\\n\\s+at Suspense \\(<anonymous>\\)(?:(?!\\n\\s+at (?:".concat("body|div|main|section|article|aside|header|footer|nav|form|p|span|h1|h2|h3|h4|h5|h6",") \\(<anonymous>\\))[\\s\\S])*?\\n\\s+at ").concat(s.ROOT_LAYOUT_BOUNDARY_NAME," \\([^\\n]*\\)")),G=new RegExp("\\n\\s+at ".concat(s.METADATA_BOUNDARY_NAME,"[\\n\\s]")),W=new RegExp("\\n\\s+at ".concat(s.VIEWPORT_BOUNDARY_NAME,"[\\n\\s]")),Y=new RegExp("\\n\\s+at ".concat(s.OUTLET_BOUNDARY_NAME,"[\\n\\s]"));function q(e,t,r,n){if(!Y.test(t)){if(G.test(t)){r.hasDynamicMetadata=!0;return}if(W.test(t)){r.hasDynamicViewport=!0;return}if(F.test(t)){r.hasAllowedDynamic=!0,r.hasSuspenseAboveBody=!0;return}else if(X.test(t)){r.hasAllowedDynamic=!0;return}else{if(n.syncDynamicErrorWithStack)return void r.dynamicErrors.push(n.syncDynamicErrorWithStack);let o=function(e,t){let r=Object.defineProperty(Error(e),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return r.stack=r.name+": "+e+t,r}('Route "'.concat(e.route,'": A component accessed data, headers, params, searchParams, or a short-lived cache without a Suspense boundary nor a "use cache" above it. See more info: https://nextjs.org/docs/messages/next-prerender-missing-suspense'),t);return void r.dynamicErrors.push(o)}}}var z=function(e){return e[e.Full=0]="Full",e[e.Empty=1]="Empty",e[e.Errored=2]="Errored",e}({});function K(e,t){console.error(t),e.dev||(e.hasReadableErrorStacks?console.error('To get a more detailed stack trace and pinpoint the issue, start the app in development mode by running `next dev`, then open "'.concat(e.route,'" in your browser to investigate the error.')):console.error('To get a more detailed stack trace and pinpoint the issue, try one of the following:\n - Start the app in development mode by running `next dev`, then open "'.concat(e.route,'" in your browser to investigate the error.\n - Rerun the production build with `next build --debug-prerender` to generate better stack traces.')))}function V(e,t,r,n){if(0!==t){if(r.hasSuspenseAboveBody)return;if(n.syncDynamicErrorWithStack)throw K(e,n.syncDynamicErrorWithStack),new u.StaticGenBailoutError;let o=r.dynamicErrors;if(o.length>0){for(let t=0;t<o.length;t++)K(e,o[t]);throw new u.StaticGenBailoutError}if(r.hasDynamicViewport)throw console.error('Route "'.concat(e.route,'" has a `generateViewport` that depends on Request data (`cookies()`, etc...) or uncached external data (`fetch(...)`, etc...) without explicitly allowing fully dynamic rendering. See more info here: https://nextjs.org/docs/messages/next-prerender-dynamic-viewport')),new u.StaticGenBailoutError;if(1===t)throw console.error('Route "'.concat(e.route,'" did not produce a static shell and Next.js was unable to determine a reason. This is a bug in Next.js.')),new u.StaticGenBailoutError}else if(!1===r.hasAllowedDynamic&&r.hasDynamicMetadata)throw console.error('Route "'.concat(e.route,'" has a `generateMetadata` that depends on Request data (`cookies()`, etc...) or uncached external data (`fetch(...)`, etc...) when the rest of the route does not. See more info here: https://nextjs.org/docs/messages/next-prerender-dynamic-metadata')),new u.StaticGenBailoutError}function J(e,t){return e.runtimeStagePromise?e.runtimeStagePromise.then(()=>t):t}},91414,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"unstable_rethrow",{enumerable:!0,get:function(){return function e(t){if((0,a.isNextRouterError)(t)||(0,u.isBailoutToCSRError)(t)||(0,i.isDynamicServerError)(t)||(0,c.isDynamicPostpone)(t)||(0,o.isPostpone)(t)||(0,n.isHangingPromiseRejectionError)(t))throw t;t instanceof Error&&"cause"in t&&e(t.cause)}}});let n=e.r(63138),o=e.r(67287),u=e.r(32061),a=e.r(65713),c=e.r(67673),i=e.r(76353);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},90508,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"unstable_rethrow",{enumerable:!0,get:function(){return n}});let n="undefined"==typeof window?e.r(91414).unstable_rethrow:e.r(15507).unstable_rethrow;("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},92805,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{ReadonlyURLSearchParams:function(){return l},RedirectType:function(){return o.RedirectType},forbidden:function(){return a.forbidden},notFound:function(){return u.notFound},permanentRedirect:function(){return n.permanentRedirect},redirect:function(){return n.redirect},unauthorized:function(){return c.unauthorized},unstable_isUnrecognizedActionError:function(){return d},unstable_rethrow:function(){return i.unstable_rethrow}});let n=e.r(24063),o=e.r(68391),u=e.r(22783),a=e.r(79854),c=e.r(22683),i=e.r(90508);class s extends Error{constructor(){super("Method unavailable on `ReadonlyURLSearchParams`. Read more: https://nextjs.org/docs/app/api-reference/functions/use-search-params#updating-searchparams")}}class l extends URLSearchParams{append(){throw new s}delete(){throw new s}set(){throw new s}sort(){throw new s}}function d(){throw Object.defineProperty(Error("`unstable_isUnrecognizedActionError` can only be used on the client."),"__NEXT_ERROR_CODE",{value:"E776",enumerable:!1,configurable:!0})}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},13957,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{ServerInsertedHTMLContext:function(){return o},useServerInsertedHTML:function(){return u}});let n=e.r(90809)._(e.r(71645)),o=n.default.createContext(null);function u(e){let t=(0,n.useContext)(o);t&&t(e)}},92838,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{UnrecognizedActionError:function(){return n},unstable_isUnrecognizedActionError:function(){return o}});class n extends Error{constructor(...e){super(...e),this.name="UnrecognizedActionError"}}function o(e){return!!(e&&"object"==typeof e&&e instanceof n)}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},95863,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"bailoutToClientRendering",{enumerable:!0,get:function(){return a}});let n=e.r(32061),o=e.r(63599),u=e.r(62141);function a(e){let t=o.workAsyncStorage.getStore();if(null==t?void 0:t.forceStatic)return;let r=u.workUnitAsyncStorage.getStore();if(r)switch(r.type){case"prerender":case"prerender-runtime":case"prerender-client":case"prerender-ppr":case"prerender-legacy":throw Object.defineProperty(new n.BailoutToCSRError(e),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0})}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},76562,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{ReadonlyURLSearchParams:function(){return i.ReadonlyURLSearchParams},RedirectType:function(){return i.RedirectType},ServerInsertedHTMLContext:function(){return s.ServerInsertedHTMLContext},forbidden:function(){return i.forbidden},notFound:function(){return i.notFound},permanentRedirect:function(){return i.permanentRedirect},redirect:function(){return i.redirect},unauthorized:function(){return i.unauthorized},unstable_isUnrecognizedActionError:function(){return l.unstable_isUnrecognizedActionError},unstable_rethrow:function(){return i.unstable_rethrow},useParams:function(){return y},usePathname:function(){return p},useRouter:function(){return _},useSearchParams:function(){return f},useSelectedLayoutSegment:function(){return E},useSelectedLayoutSegments:function(){return b},useServerInsertedHTML:function(){return s.useServerInsertedHTML}});let n=e.r(71645),o=e.r(8372),u=e.r(61994),a=e.r(59036),c=e.r(13258),i=e.r(92805),s=e.r(13957),l=e.r(92838),d="undefined"==typeof window?e.r(67673).useDynamicRouteParams:void 0;function f(){let t=(0,n.useContext)(u.SearchParamsContext),r=(0,n.useMemo)(()=>t?new i.ReadonlyURLSearchParams(t):null,[t]);if("undefined"==typeof window){let{bailoutToClientRendering:t}=e.r(95863);t("useSearchParams()")}return r}function p(){return null==d||d("usePathname()"),(0,n.useContext)(u.PathnameContext)}function _(){let e=(0,n.useContext)(o.AppRouterContext);if(null===e)throw Object.defineProperty(Error("invariant expected app router to be mounted"),"__NEXT_ERROR_CODE",{value:"E238",enumerable:!1,configurable:!0});return e}function y(){return null==d||d("useParams()"),(0,n.useContext)(u.PathParamsContext)}function b(e){void 0===e&&(e="children"),null==d||d("useSelectedLayoutSegments()");let t=(0,n.useContext)(o.LayoutRouterContext);return t?function e(t,r,n,o){let u;if(void 0===n&&(n=!0),void 0===o&&(o=[]),n)u=t[1][r];else{var i;let e=t[1];u=null!=(i=e.children)?i:Object.values(e)[0]}if(!u)return o;let s=u[0],l=(0,a.getSegmentValue)(s);return!l||l.startsWith(c.PAGE_SEGMENT_KEY)?o:(o.push(l),e(u,r,!1,o))}(t.parentTree,e):null}function E(e){void 0===e&&(e="children"),null==d||d("useSelectedLayoutSegment()");let t=b(e);if(!t||0===t.length)return null;let r="children"===e?t[0]:t[t.length-1];return r===c.DEFAULT_SEGMENT_KEY?null:r}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,93479,e=>{"use strict";e.s(["Input",()=>r]);var t=e.i(18050),a=e.i(75157);function r(e){let{className:r,type:l="text",size:n="default",...s}=e;return(0,t.jsx)("input",{type:l,"data-slot":"input","data-size":n,className:(0,a.cn)("h-9 w-full appearance-none rounded-md border border-solid border-border bg-transparent px-3 text-base outline-none transition-[color,box-shadow,border-color] duration-150 ease-in-out placeholder:text-muted-foreground hover:border-[var(--border-hover)] focus-visible:border-[var(--border-focus)] focus-visible:[box-shadow:var(--ring-focus-sm)] read-only:focus-visible:border-border read-only:focus-visible:[box-shadow:none] disabled:cursor-not-allowed disabled:opacity-50 disabled:focus-visible:border-border disabled:focus-visible:[box-shadow:none] data-[size=default]:h-9 data-[size=lg]:h-10 data-[size=sm]:h-7",r),...s})}},20783,e=>{"use strict";e.s(["composeRefs",()=>r,"useComposedRefs",()=>l]);var t=e.i(71645);function a(e,t){if("function"==typeof e)return e(t);null!=e&&(e.current=t)}function r(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return e=>{let r=!1,l=t.map(t=>{let l=a(t,e);return r||"function"!=typeof l||(r=!0),l});if(r)return()=>{for(let e=0;e<l.length;e++){let r=l[e];"function"==typeof r?r():a(t[e],null)}}}}function l(){for(var e=arguments.length,a=Array(e),l=0;l<e;l++)a[l]=arguments[l];return t.useCallback(r(...a),a)}},51239,e=>{e.v("/app/_next/static/media/data-loading.be8d921a.png")},92715,e=>{"use strict";e.s(["AppTable",()=>d],92715);var t=e.i(18050),a=e.i(85413),r=e.i(71645),l=e.i(75157);let n=r.forwardRef((e,a)=>{let{className:r,...n}=e;return(0,t.jsx)("div",{className:"relative w-full overflow-auto",children:(0,t.jsx)("table",{ref:a,className:(0,l.cn)("w-full caption-bottom border-collapse text-sm",r),...n})})});n.displayName="Table";let s=r.forwardRef((e,a)=>{let{className:r,...n}=e;return(0,t.jsx)("thead",{ref:a,className:(0,l.cn)("[&_tr]:table [&_tr]:w-full [&_tr]:table-fixed [&_tr]:border-b",r),...n})});s.displayName="TableHeader";let i=r.forwardRef((e,a)=>{let{className:n,viewportFit:s=!0,viewportReserveBottom:i=16,viewportPaginationReserve:o=0,style:c,...u}=e,d=r.useRef(null),p=r.useCallback(e=>{d.current=e,"function"==typeof a?a(e):a&&(a.current=e)},[a]),[m,f]=r.useState(void 0);return r.useLayoutEffect(()=>{var e,t;if(!s)return void f(void 0);let a=()=>{var e,t;let a=d.current;if(!a)return;let r=a.getBoundingClientRect().top;f(Math.max(80,Math.floor((null!=(t=null==(e=window.visualViewport)?void 0:e.height)?t:window.innerHeight)-r-(i+o))))};a();let r=new ResizeObserver(()=>{a()});try{r.observe(document.body)}catch(e){}return window.addEventListener("resize",a),null==(e=window.visualViewport)||e.addEventListener("resize",a),null==(t=window.visualViewport)||t.addEventListener("scroll",a),window.addEventListener("scroll",a,!0),()=>{var e,t;r.disconnect(),window.removeEventListener("resize",a),null==(e=window.visualViewport)||e.removeEventListener("resize",a),null==(t=window.visualViewport)||t.removeEventListener("scroll",a),window.removeEventListener("scroll",a,!0)}},[s,i,o]),(0,t.jsx)("tbody",{ref:p,className:(0,l.cn)("block overflow-y-auto [&_tr:last-child]:border-b-0 [&_tr:last-child_td]:border-b-0 [&_tr]:table [&_tr]:w-full [&_tr]:table-fixed",n),style:s&&void 0!==m?{...c,maxHeight:m}:c,...u})});i.displayName="TableBody";let o=r.forwardRef((e,a)=>{let{className:r,hoverable:n=!0,...s}=e;return(0,t.jsx)("tr",{ref:a,className:(0,l.cn)("border-b transition-colors [&>td]:transition-colors data-[state=selected]:[&>td]:!bg-[var(--ds-item-active)]",n&&"group/table-row",r),...s})});o.displayName="TableRow";let c=r.forwardRef((e,a)=>{let{className:r,...n}=e;return(0,t.jsx)("th",{ref:a,className:(0,l.cn)("h-10 border-b border-[var(--border-subtle)] bg-[var(--surface-2)] px-3 text-left align-middle text-[14px] font-medium !text-[var(--ds-text)] text-muted-foreground",r),...n})});c.displayName="TableHead";let u=r.forwardRef((e,a)=>{let{className:r,...n}=e;return(0,t.jsx)("td",{ref:a,className:(0,l.cn)("border-x-0 border-b border-t-0 border-solid border-[var(--border-subtle)] p-3 align-middle text-base transition-colors group-has-[td:hover]/table-row:!bg-[var(--ds-item-hover)]",r),...n})});function d(e){let{rows:r,columns:d,getRowKey:p,className:m,rowClassName:f,headerRowClassName:x,emptyText:g,emptyNode:b,bodyProps:h}=e;return(0,t.jsx)("div",{className:(0,l.cn)("overflow-hidden border border-[var(--ds-border)]",m),children:(0,t.jsxs)(n,{children:[(0,t.jsx)(s,{children:(0,t.jsx)(o,{className:(0,l.cn)("bg-[var(--ds-main-tint)] hover:bg-[var(--ds-main-tint)]",x),children:d.map(e=>(0,t.jsx)(c,{className:e.headerClassName,children:e.title},e.key))})}),(0,t.jsx)(i,{...h,children:r.length?r.map(e=>(0,t.jsx)(o,{className:"function"==typeof f?f(e):f,children:d.map(a=>(0,t.jsx)(u,{className:a.cellClassName,children:a.render(e)},a.key))},p(e))):(0,t.jsx)(o,{hoverable:!1,children:(0,t.jsx)(u,{colSpan:d.length,className:"py-6",children:null!=b?b:(0,t.jsx)(a.Empty,{text:g})})})})]})})}u.displayName="TableCell"},62427,e=>{"use strict";e.s(["clearRuntimeMcpItemConfig",()=>j,"deleteRuntimeMcp",()=>p,"deleteRuntimeSkill",()=>C,"deleteRuntimeTool",()=>d,"exportRuntimeMcpUrl",()=>f,"exportRuntimeSkillUrl",()=>k,"exportRuntimeToolUrl",()=>m,"importRuntimeMcp",()=>g,"importRuntimeTool",()=>x,"installCloudSkill",()=>S,"listBaseSkills",()=>n,"listCloudSkillCatalog",()=>w,"listInstalledSkills",()=>s,"listInstalledTools",()=>l,"listMcpServers",()=>r,"listRuntimeMcpPackages",()=>u,"listRuntimeTools",()=>c,"loadBaseSkillMd",()=>i,"loadRemoteMcpJson",()=>b,"loadRuntimeMcpItemConfig",()=>v,"saveBaseSkillMd",()=>o,"saveRemoteMcpJson",()=>h,"saveRuntimeMcpItemConfig",()=>y]);var t=e.i(29250),a=e.i(36845);async function r(e,r,l){let n=await (0,t.get)((0,a.buildMcpServersListUrl)(e,r,l));return{servers:Array.isArray(n.servers)?n.servers:[]}}async function l(e,r,l){let n=await (0,t.get)((0,a.buildToolInstalledListUrl)(e,r,l));return{tools:Array.isArray(n.tools)?n.tools:[]}}async function n(e,r,l){let n=await (0,t.get)((0,a.buildSkillBaseListUrl)(e,r,l));return{skills:Array.isArray(n.skills)?n.skills:[]}}async function s(e,r,l){let n=await (0,t.get)((0,a.buildSkillInstalledListUrl)(e,r,l));return{skills:Array.isArray(n.skills)?n.skills:[]}}async function i(e,r,l,n){return(0,t.get)((0,a.buildBaseSkillMdUrl)(e,r,l,n))}async function o(e,r,l,n,s){await (0,t.put)((0,a.buildBaseSkillMdUrl)(e,r,l,n),{content:s})}async function c(e,r,l){let n=await (0,t.get)((0,a.buildToolsRuntimeFilesUrl)(e,r,l));return{runtimeToolsDir:"string"==typeof n.runtimeToolsDir?n.runtimeToolsDir:"",items:Array.isArray(n.items)?n.items.filter(e=>!!(e&&e.id)):[]}}async function u(e,r,l){let n=await (0,t.get)((0,a.buildMcpRuntimeFilesUrl)(e,r,l));return{mcpRuntimeDir:"string"==typeof n.mcpRuntimeDir?n.mcpRuntimeDir:"",items:Array.isArray(n.items)?n.items.filter(e=>!!(e&&e.id)):[]}}async function d(e,r,l,n){return(0,t.del)((0,a.buildToolsRuntimeDeleteUrl)(e,r,l,n))}async function p(e,r,l,n){return(0,t.del)((0,a.buildMcpRuntimeDeleteUrl)(e,r,l,n))}function m(e,t,r,l){return(0,a.buildToolsRuntimeExportUrl)(e,t,r,l)}function f(e,t,r,l){return(0,a.buildMcpRuntimeExportUrl)(e,t,r,l)}async function x(e,r,l,n){let s=new FormData;return s.append("file",n),(0,t.post)((0,a.buildToolsRuntimeImportUrl)(e,r,l),s,{type:"file"})}async function g(e,r,l,n){let s=new FormData;return s.append("file",n),(0,t.post)((0,a.buildMcpRuntimeImportUrl)(e,r,l),s,{type:"file"})}async function b(e,r,l){return(0,t.get)((0,a.buildRemoteMcpJsonUrl)(e,r,l))}async function h(e,r,l,n){await (0,t.post)((0,a.buildRemoteMcpJsonUrl)(e,r,l),{content:n})}async function v(e,r,l,n,s){return(0,t.get)((0,a.buildRuntimeMcpItemConfigUrl)(e,r,l,n,s))}async function y(e,r,l,n,s,i){await (0,t.put)((0,a.buildRuntimeMcpItemConfigUrl)(e,r,l,n,s),{server:i})}async function j(e,r,l,n,s){await (0,t.del)((0,a.buildRuntimeMcpItemConfigUrl)(e,r,l,n,s))}async function C(e,r,l,n){return(0,t.del)((0,a.buildSkillsRuntimeDeleteUrl)(e,r,l,n))}function k(e,t,r,l){return(0,a.buildSkillsRuntimeExportUrl)(e,t,r,l)}async function w(e,r,l,n,s,i){let o=await (0,t.get)((0,a.buildCloudSkillCatalogUrl)(e,r,l,n,s,i));return{items:Array.isArray(o.items)?o.items:[],totalPages:Number(o.totalPages||0)}}async function S(e,r,l,n){await (0,t.post)((0,a.buildCloudSkillInstallUrl)(e,r,l),{id:n})}},53925,e=>{"use strict";e.s(["ResourceImportDialog",()=>d],53925);var t=e.i(18050),a=e.i(71645),r=e.i(72064),l=e.i(75157),n=e.i(19455);function s(e){return e<1024?"".concat(e," B"):e<1048576?"".concat((e/1024).toFixed(1)," KB"):"".concat((e/1048576).toFixed(1)," MB")}function i(e){let{uploadUrl:i,accept:o,disabled:c=!1,multiple:u=!1,maxFileSize:d=0x3200000,autoUpload:p=!1,method:m="POST",transport:f="xhr",fieldName:x="file",headers:g,extraFormData:b,autoRetryTimes:h=0,autoRetryDelayMs:v=800,selectionOnly:y=!1,className:j,emptyTitle:C="点击或拖拽文件到此处",emptyHint:k="支持上传文件",onFilesChange:w,onUploadSuccess:S,onUploadError:N,onValidationError:T}=e,A=a.useId(),R=a.useRef(null),E=a.useRef(new Map),M=a.useRef(new Map),I=a.useRef([]),[P,U]=a.useState(!1),[O,D]=a.useState([]),B=a.useMemo(()=>o?o.split(",").map(e=>e.trim().toLowerCase()).filter(Boolean):[],[o]);a.useEffect(()=>{I.current=O,null==w||w(O)},[O,w]),a.useEffect(()=>()=>{for(let e of E.current.values())e.abort();for(let e of M.current.values())e.abort();for(let e of I.current)e.previewUrl&&URL.revokeObjectURL(e.previewUrl)},[]);let z=a.useCallback((e,t)=>{D(a=>a.map(a=>a.id===e?{...a,...t}:a))},[]),_=a.useCallback(async(e,t)=>{let a=I.current.find(t=>t.id===e);if(!a||c)return;z(e,{status:t>0?"retrying":"uploading",progress:0,error:"",retryCount:t});let r=new FormData;if(b)for(let[e,t]of Object.entries(b))r.append(e,t);r.append(x,a.file);try{let t="";if("fetch"===f){let a=new AbortController;M.current.set(e,a);let l=await fetch(i,{method:m,headers:g,body:r,signal:a.signal}),n=await l.text();try{t=n?JSON.parse(n):""}catch(e){t=n}if(!l.ok)throw Error("上传失败:".concat(l.status," ").concat(l.statusText))}else t=await new Promise((t,a)=>{let l=new XMLHttpRequest;if(E.current.set(e,l),l.open(m,i,!0),g)for(let[e,t]of Object.entries(g))l.setRequestHeader(e,t);l.upload.onprogress=t=>{if(!t.lengthComputable)return;let a=Math.min(100,Math.round(t.loaded/t.total*100));z(e,{progress:a})},l.onerror=()=>a(Error("网络异常,上传失败")),l.onabort=()=>a(Error("__ABORTED__")),l.onload=()=>{l.status>=200&&l.status<300?t(function(e){let t=e.responseText||"";try{return JSON.parse(t)}catch(e){return t}}(l)):a(Error("上传失败:".concat(l.status," ").concat(l.statusText)))},l.send(r)});z(e,{status:"success",progress:100,error:""});let a=I.current.find(t=>t.id===e);a&&(null==S||S(a,t))}catch(l){let a=l instanceof Error?l.message:String(l);if("__ABORTED__"===a)return void z(e,{status:"selected",progress:0,error:""});if(t<h){z(e,{status:"retrying",error:"重试中(".concat(t+1,"/").concat(h,")")}),await new Promise(e=>window.setTimeout(e,v)),await _(e,t+1);return}z(e,{status:"error",error:a});let r=I.current.find(t=>t.id===e);r&&(null==N||N(r,a))}finally{E.current.delete(e),M.current.delete(e)}},[v,h,c,b,x,g,m,N,S,f,z,i]),L=a.useCallback(e=>{_(e,0)},[_]),F=a.useCallback(e=>{var t,a;null==(t=E.current.get(e))||t.abort(),null==(a=M.current.get(e))||a.abort()},[]),H=a.useCallback(()=>{for(let e of I.current)("selected"===e.status||"error"===e.status)&&L(e.id)},[L]),K=a.useCallback(e=>{if(c||!e.length)return;let t=new Set(I.current.map(e=>"".concat(e.file.name,"::").concat(e.file.size))),a=[];for(let r of e){let e="".concat(r.name,"::").concat(r.size);if(!t.has(e)){if(!function(e,t){if(!t.length)return!0;let a=e.name.toLowerCase(),r=(e.type||"").toLowerCase();return t.some(e=>e.startsWith(".")?a.endsWith(e):e.endsWith("/*")?r.startsWith("".concat(e.slice(0,-1))):r===e)}(r,B)){null==T||T("文件类型不支持:".concat(r.name));continue}if(r.size>d){null==T||T("文件过大(最大 ".concat(s(d),"):").concat(r.name));continue}t.add(e),a.push({id:"".concat(Date.now(),"-").concat(Math.random().toString(36).slice(2,8)),file:r,status:"selected",progress:0,error:"",retryCount:0,previewUrl:r.type.startsWith("image/")?URL.createObjectURL(r):""})}}if(!a.length)return;let r=u?[...I.current,...a]:[a[a.length-1]];if(!u)for(let e of I.current)e.previewUrl&&URL.revokeObjectURL(e.previewUrl);if(D(r),p&&!y)for(let e of a)L(e.id)},[B,p,c,d,u,T,y,L]),J=a.useCallback(e=>{let t=e.target.files;t&&(K(Array.from(t)),e.target.value="")},[K]),V=a.useCallback(e=>{var t;e.preventDefault(),e.stopPropagation(),U(!1),c||K(Array.from(null!=(t=e.dataTransfer.files)?t:[]))},[K,c]);return(0,t.jsxs)("div",{className:(0,l.cn)("flex min-h-0 w-full flex-col gap-3",j),children:[(0,t.jsx)("input",{ref:R,id:A,type:"file",hidden:!0,accept:o,multiple:u,disabled:c,onChange:J}),(0,t.jsxs)("label",{htmlFor:A,onDragOver:e=>{e.preventDefault(),c||U(!0)},onDragLeave:e=>{e.preventDefault(),U(!1)},onDrop:V,className:(0,l.cn)("flex min-h-[124px] cursor-pointer flex-col items-center justify-center gap-1 rounded-lg border border-dashed border-[var(--ds-border)] px-4 py-6 text-center transition-colors hover:border-[var(--ds-border-hover)] hover:bg-[var(--ds-main-tint)]",P&&"bg-[var(--ds-accent)]/5 border-[var(--ds-accent)]",c&&"cursor-not-allowed opacity-60"),children:[(0,t.jsx)(r.default,{name:"Upload",size:20,className:"text-[var(--ds-muted)]"}),(0,t.jsx)("div",{className:"text-base text-[var(--ds-text)]",children:C}),(0,t.jsx)("div",{className:"text-sm text-[var(--ds-muted)]",children:k})]}),O.length?(0,t.jsx)("div",{className:"space-y-2",children:O.map(e=>(0,t.jsx)("div",{className:"rounded-md border border-[var(--ds-border)] p-2.5",children:(0,t.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsx)("div",{className:"truncate text-base text-[var(--ds-text)]",children:e.file.name}),(0,t.jsx)("div",{className:"text-sm text-[var(--ds-muted)]",children:s(e.file.size)}),e.previewUrl?(0,t.jsx)("img",{src:e.previewUrl,alt:e.file.name,className:"mt-2 h-14 w-14 rounded object-cover"}):null,"uploading"===e.status||"retrying"===e.status?(0,t.jsx)("div",{className:"mt-2 h-1.5 w-full overflow-hidden rounded bg-[var(--ds-main-tint)]",children:(0,t.jsx)("div",{className:"h-full bg-[var(--ds-accent)] transition-all",style:{width:"".concat(e.progress,"%")}})}):null,"error"===e.status?(0,t.jsx)("div",{className:"mt-1 text-sm text-[var(--ds-danger)]",children:e.error||"上传失败"}):null]}),y?null:(0,t.jsxs)("div",{className:"flex items-center gap-1",children:["success"===e.status?(0,t.jsx)(r.default,{name:"CheckCircle2",size:16,className:"text-[var(--ds-accent)]"}):null,"selected"===e.status||"error"===e.status?(0,t.jsxs)(n.Button,{type:"button",size:"sm",variant:"outline",disabled:c,onClick:()=>L(e.id),children:["error"===e.status?(0,t.jsx)(r.default,{name:"RefreshCw",size:14,className:"mr-1"}):null,"error"===e.status?"重试":"上传"]}):null,"uploading"===e.status||"retrying"===e.status?(0,t.jsxs)(n.Button,{type:"button",size:"sm",variant:"outline",onClick:()=>F(e.id),children:[(0,t.jsx)(r.default,{name:"XCircle",size:14,className:"mr-1"}),"取消"]}):null]})]})},e.id))}):null,!y&&!p&&O.some(e=>"selected"===e.status||"error"===e.status)?(0,t.jsx)("div",{className:"flex justify-end",children:(0,t.jsx)(n.Button,{type:"button",size:"sm",onClick:H,disabled:c,children:"上传"})}):null]})}var o=e.i(76639),c=e.i(13354),u=e.i(29250);function d(e){let{open:r,onOpenChange:l,title:s,description:d,uploadUrl:p,resetKey:m}=e,[f,x]=(0,a.useState)(!1),[g,b]=(0,a.useState)(null),h=(0,a.useCallback)(()=>{l(!1),b(null)},[l]),v=(0,a.useCallback)(async()=>{if(!g)return void c.appToast.info("请先选择 zip 文件");let e=new FormData;e.append("file",g),x(!0);try{let t=await (0,u.bridgeFetch)(p,{method:"POST",body:e}),a=Number(t.imported||0),r=Number(t.overwritten||0),l=Array.isArray(t.rejected)?t.rejected.length:0;c.appToast.success("导入完成:导入 ".concat(a,",覆盖 ").concat(r)+(l>0?",拒绝 ".concat(l):"")),h()}catch(e){c.appToast.error("导入失败:".concat(e instanceof Error?e.message:String(e)))}finally{x(!1)}},[h,g,p]);return(0,t.jsx)(o.Dialog,{open:r,onOpenChange:e=>{l(e),e||b(null)},children:(0,t.jsxs)(o.DialogContent,{className:"flex min-h-[320px] max-w-[560px] flex-col",children:[(0,t.jsxs)(o.DialogHeader,{children:[(0,t.jsxs)("div",{children:[(0,t.jsx)(o.DialogTitle,{children:s}),(0,t.jsx)(o.DialogDescription,{children:d})]}),(0,t.jsx)(o.DialogClose,{className:"sidebar-icon-btn","aria-label":"关闭",onClick:h,children:"✕"})]}),(0,t.jsxs)("div",{className:"m-3 flex flex-1 flex-col gap-3",children:[(0,t.jsx)(i,{uploadUrl:p,accept:".zip,application/zip",maxFileSize:0x3200000,multiple:!1,disabled:f,selectionOnly:!0,emptyTitle:"点击或拖拽 zip 文件到此处",emptyHint:"支持 .zip 格式,最大 50MB",onFilesChange:e=>{var t,a;b(null!=(a=null==(t=e[0])?void 0:t.file)?a:null)},onValidationError:e=>{c.appToast.info(e)}},"".concat(r?"open":"closed","-").concat(null!=m?m:p)),(0,t.jsxs)("div",{className:"mt-auto flex justify-end pt-2",children:[(0,t.jsx)(n.Button,{className:"mr-[12px]",type:"button",variant:"plain-outline",size:"lg",onClick:h,children:"取消"}),(0,t.jsx)(n.Button,{type:"button",size:"lg",variant:"default",disabled:f||null==g,onClick:()=>void v(),children:f?"导入中…":"确定"})]})]})]})})}},55242,e=>{"use strict";e.s(["AppDialog",()=>n]);var t=e.i(18050),a=e.i(71645),r=e.i(76639),l=e.i(75157);function n(e){let{open:n,onOpenChange:s,title:i,children:o,footer:c,width:u="max-w-3xl",minHeight:d}=e,p=(0,a.useId)();return(0,t.jsx)(r.Dialog,{open:n,onOpenChange:s,children:(0,t.jsxs)(r.DialogContent,{"aria-labelledby":p,className:(0,l.cn)(u,d?"!min-h-[--min-h]":""),style:d?{"--min-h":d}:void 0,children:[(0,t.jsxs)(r.DialogHeader,{children:[(0,t.jsx)(r.DialogTitle,{id:p,children:i}),(0,t.jsx)(r.DialogClose,{"aria-label":"关闭"})]}),(0,t.jsx)(r.DialogBody,{className:"!px-4 !py-3",children:o}),c?(0,t.jsx)("div",{className:"flex flex-shrink-0 justify-end gap-2 border-t border-[var(--ds-border)] bg-[var(--ds-sidebar)] px-4 py-3",children:c}):null]})})}},98183,(e,t,a)=>{"use strict";function r(e){let t={};for(let[a,r]of e.entries()){let e=t[a];void 0===e?t[a]=r:Array.isArray(e)?e.push(r):t[a]=[e,r]}return t}function l(e){return"string"==typeof e?e:("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function n(e){let t=new URLSearchParams;for(let[a,r]of Object.entries(e))if(Array.isArray(r))for(let e of r)t.append(a,l(e));else t.set(a,l(r));return t}function s(e){for(var t=arguments.length,a=Array(t>1?t-1:0),r=1;r<t;r++)a[r-1]=arguments[r];for(let t of a){for(let a of t.keys())e.delete(a);for(let[a,r]of t.entries())e.append(a,r)}return e}Object.defineProperty(a,"__esModule",{value:!0}),!function(e,t){for(var a in t)Object.defineProperty(e,a,{enumerable:!0,get:t[a]})}(a,{assign:function(){return s},searchParamsToUrlQuery:function(){return r},urlQueryToSearchParams:function(){return n}})},95057,(e,t,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:!0}),!function(e,t){for(var a in t)Object.defineProperty(e,a,{enumerable:!0,get:t[a]})}(a,{formatUrl:function(){return n},formatWithValidation:function(){return i},urlObjectKeys:function(){return s}});let r=e.r(90809)._(e.r(98183)),l=/https?|ftp|gopher|file/;function n(e){let{auth:t,hostname:a}=e,n=e.protocol||"",s=e.pathname||"",i=e.hash||"",o=e.query||"",c=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?c=t+e.host:a&&(c=t+(~a.indexOf(":")?"["+a+"]":a),e.port&&(c+=":"+e.port)),o&&"object"==typeof o&&(o=String(r.urlQueryToSearchParams(o)));let u=e.search||o&&"?"+o||"";return n&&!n.endsWith(":")&&(n+=":"),e.slashes||(!n||l.test(n))&&!1!==c?(c="//"+(c||""),s&&"/"!==s[0]&&(s="/"+s)):c||(c=""),i&&"#"!==i[0]&&(i="#"+i),u&&"?"!==u[0]&&(u="?"+u),""+n+c+(s=s.replace(/[?#]/g,encodeURIComponent))+(u=u.replace("#","%23"))+i}let s=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function i(e){return n(e)}},18967,(e,t,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:!0}),!function(e,t){for(var a in t)Object.defineProperty(e,a,{enumerable:!0,get:t[a]})}(a,{DecodeError:function(){return x},MiddlewareNotFoundError:function(){return v},MissingStaticPage:function(){return h},NormalizeError:function(){return g},PageNotFoundError:function(){return b},SP:function(){return m},ST:function(){return f},WEB_VITALS:function(){return r},execOnce:function(){return l},getDisplayName:function(){return c},getLocationOrigin:function(){return i},getURL:function(){return o},isAbsoluteUrl:function(){return s},isResSent:function(){return u},loadGetInitialProps:function(){return p},normalizeRepeatedSlashes:function(){return d},stringifyError:function(){return y}});let r=["CLS","FCP","FID","INP","LCP","TTFB"];function l(e){let t,a=!1;return function(){for(var r=arguments.length,l=Array(r),n=0;n<r;n++)l[n]=arguments[n];return a||(a=!0,t=e(...l)),t}}let n=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,s=e=>n.test(e);function i(){let{protocol:e,hostname:t,port:a}=window.location;return e+"//"+t+(a?":"+a:"")}function o(){let{href:e}=window.location,t=i();return e.substring(t.length)}function c(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function u(e){return e.finished||e.headersSent}function d(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?"?"+t.slice(1).join("?"):"")}async function p(e,t){let a=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await p(t.Component,t.ctx)}:{};let r=await e.getInitialProps(t);if(a&&u(a))return r;if(!r)throw Object.defineProperty(Error('"'+c(e)+'.getInitialProps()" should resolve to an object. But found "'+r+'" instead.'),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return r}let m="undefined"!=typeof performance,f=m&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class x extends Error{}class g extends Error{}class b extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message="Cannot find module for page: "+e}}class h extends Error{constructor(e,t){super(),this.message="Failed to load static file for page: "+e+" "+t}}class v extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function y(e){return JSON.stringify({message:e.message,stack:e.stack})}},73668,(e,t,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:!0}),Object.defineProperty(a,"isLocalURL",{enumerable:!0,get:function(){return n}});let r=e.r(18967),l=e.r(52817);function n(e){if(!(0,r.isAbsoluteUrl)(e))return!0;try{let t=(0,r.getLocationOrigin)(),a=new URL(e,t);return a.origin===t&&(0,l.hasBasePath)(a.pathname)}catch(e){return!1}}},84508,(e,t,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:!0}),Object.defineProperty(a,"errorOnce",{enumerable:!0,get:function(){return r}});let r=e=>{}},22016,(e,t,a)=>{"use strict";Object.defineProperty(a,"__esModule",{value:!0}),!function(e,t){for(var a in t)Object.defineProperty(e,a,{enumerable:!0,get:t[a]})}(a,{default:function(){return g},useLinkStatus:function(){return h}});let r=e.r(90809),l=e.r(18050),n=r._(e.r(71645)),s=e.r(95057),i=e.r(8372),o=e.r(18581),c=e.r(18967),u=e.r(84395);e.r(33525);let d=e.r(91949),p=e.r(73668),m=e.r(99781);e.r(84508);let f=e.r(65165);function x(e){return"string"==typeof e?e:(0,s.formatUrl)(e)}function g(e){var t;let a,r,s,[g,h]=(0,n.useOptimistic)(d.IDLE_LINK_STATUS),v=(0,n.useRef)(null),{href:y,as:j,children:C,prefetch:k=null,passHref:w,replace:S,shallow:N,scroll:T,onClick:A,onMouseEnter:R,onTouchStart:E,legacyBehavior:M=!1,onNavigate:I,ref:P,unstable_dynamicOnHover:U,...O}=e;a=C,M&&("string"==typeof a||"number"==typeof a)&&(a=(0,l.jsx)("a",{children:a}));let D=n.default.useContext(i.AppRouterContext),B=!1!==k,z=!1!==k?null===(t=k)||"auto"===t?f.FetchStrategy.PPR:f.FetchStrategy.Full:f.FetchStrategy.PPR,{href:_,as:L}=n.default.useMemo(()=>{let e=x(y);return{href:e,as:j?x(j):e}},[y,j]);M&&(r=n.default.Children.only(a));let F=M?r&&"object"==typeof r&&r.ref:P,H=n.default.useCallback(e=>(null!==D&&(v.current=(0,d.mountLinkInstance)(e,_,D,z,B,h)),()=>{v.current&&((0,d.unmountLinkForCurrentNavigation)(v.current),v.current=null),(0,d.unmountPrefetchableInstance)(e)}),[B,_,D,z,h]),K={ref:(0,o.useMergedRef)(H,F),onClick(e){M||"function"!=typeof A||A(e),M&&r.props&&"function"==typeof r.props.onClick&&r.props.onClick(e),D&&(e.defaultPrevented||function(e,t,a,r,l,s,i){let{nodeName:o}=e.currentTarget;if(!("A"===o.toUpperCase()&&function(e){let t=e.currentTarget.getAttribute("target");return t&&"_self"!==t||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey||e.nativeEvent&&2===e.nativeEvent.which}(e)||e.currentTarget.hasAttribute("download"))){if(!(0,p.isLocalURL)(t)){l&&(e.preventDefault(),location.replace(t));return}if(e.preventDefault(),i){let e=!1;if(i({preventDefault:()=>{e=!0}}),e)return}n.default.startTransition(()=>{(0,m.dispatchNavigateAction)(a||t,l?"replace":"push",null==s||s,r.current)})}}(e,_,L,v,S,T,I))},onMouseEnter(e){M||"function"!=typeof R||R(e),M&&r.props&&"function"==typeof r.props.onMouseEnter&&r.props.onMouseEnter(e),D&&B&&(0,d.onNavigationIntent)(e.currentTarget,!0===U)},onTouchStart:function(e){M||"function"!=typeof E||E(e),M&&r.props&&"function"==typeof r.props.onTouchStart&&r.props.onTouchStart(e),D&&B&&(0,d.onNavigationIntent)(e.currentTarget,!0===U)}};return(0,c.isAbsoluteUrl)(L)?K.href=L:M&&!w&&("a"!==r.type||"href"in r.props)||(K.href=(0,u.addBasePath)(L)),s=M?n.default.cloneElement(r,K):(0,l.jsx)("a",{...O,...K,children:a}),(0,l.jsx)(b.Provider,{value:g,children:s})}let b=(0,n.createContext)(d.IDLE_LINK_STATUS),h=()=>(0,n.useContext)(b);("function"==typeof a.default||"object"==typeof a.default&&null!==a.default)&&void 0===a.default.__esModule&&(Object.defineProperty(a.default,"__esModule",{value:!0}),Object.assign(a.default,a),t.exports=a.default)},19573,e=>{"use strict";e.s(["ToolsManageView",()=>j],19573);var t=e.i(18050),a=e.i(71645),r=e.i(65934),l=e.i(87243),n=e.i(13354),s=e.i(50711),i=e.i(19455),o=e.i(94055),c=e.i(94197),u=e.i(92715);function d(e){let{items:a,saveBusy:r,onToggle:l,onExport:n,onRemove:s,className:i}=e,d=[{key:"name",title:"名称",headerClassName:"text-base",cellClassName:"text-base",render:e=>e.label||e.name},{key:"description",title:"详情",headerClassName:"text-base",cellClassName:"text-base",render:e=>e.description||"-"},{key:"enabled",title:"启用/未启用",headerClassName:"text-base",cellClassName:"whitespace-nowrap text-base text-[var(--ds-text)]",render:e=>(0,t.jsx)("span",{className:"inline-flex items-center gap-2",children:(0,t.jsx)(o.AccentSwitch,{checked:!!e.enabled,disabled:r,onCheckedChange:t=>l(e.name,t),"aria-label":"".concat(e.enabled?"禁用":"启用"," ").concat(e.name)})})},{key:"actions",title:"操作",headerClassName:"w-[128px] text-base",cellClassName:"w-[128px]",render:e=>{let a=!0===e.canManage;return(0,t.jsxs)("div",{className:"inline-flex items-center justify-end gap-1",children:[(0,t.jsx)(c.IconTooltipButton,{icon:"Download",label:a?"导出":"系统内置工具不可导出",ariaLabel:"导出 ".concat(e.label||e.name),disabled:r||!a,onClick:()=>n(e.name)}),(0,t.jsx)(c.IconTooltipButton,{icon:"Trash2",label:a?"删除":"系统内置工具不可删除",tone:"danger",ariaLabel:"删除 ".concat(e.label||e.name),disabled:r||!a,onClick:()=>{s(e.name)}})]})}}];return(0,t.jsx)(u.AppTable,{rows:a,columns:d,getRowKey:e=>"tools:".concat(e.name),className:i})}var p=e.i(36845),m=e.i(53925);function f(e){let{open:a,onOpenChange:r,wsUrl:l,apiBase:n,agent:s}=e;return(0,t.jsx)(m.ResourceImportDialog,{open:a,onOpenChange:r,title:"导入工具 zip",description:"选择一个 zip 文件并导入到 tools-runtime。",uploadUrl:(0,p.buildToolsRuntimeImportUrl)(l,n,s),resetKey:s})}var x=e.i(68499),g=e.i(72064),b=e.i(56708),h=e.i(62427);function v(e){return(null!=e.packageId?String(e.packageId).trim():"")||e.name}function y(e){let t=null!=e.packageId?String(e.packageId).trim():"";return!0===e.deletable&&t.length>0}function j(){let e=(0,r.useAppStore)(e=>e.wsUrl),o=(0,r.useAppStore)(e=>e.apiBase),c=(0,r.useAppStore)(e=>e.agentConfig),u=(0,r.useAppStore)(e=>e.patchAgentConfig),{currentAgent:p,loadAgentConfig:m}=(0,l.useSession)(),j=(0,s.usePersistAgentConfigField)("tools"),C=c.tools,[k,w]=(0,a.useState)([]),[S,N]=(0,a.useState)(!1),[T,A]=(0,a.useState)(!1),[R,E]=(0,a.useState)(!1);(0,a.useEffect)(()=>{m()},[m]);let M=(0,a.useCallback)(async(e,t)=>{A(!0);try{await j(e,{silent:t})}finally{A(!1)}},[j]),I=(0,a.useCallback)(async()=>{w([]),N(!0);try{var t;let a=await (0,h.listInstalledTools)(e,o,p());w(null!=(t=a.tools)?t:[])}catch(e){w([]),n.appToast.error("加载失败:".concat(e instanceof Error?e.message:String(e)))}finally{N(!1)}},[e,o,p]);(0,a.useEffect)(()=>{I()},[I]);let P=(0,a.useCallback)(e=>k.find(t=>t.name===e),[k]),U=(0,a.useMemo)(()=>k.slice().sort((e,t)=>e.name.localeCompare(t.name)).map(e=>(function(e,t){var a,r;let l=null!=e.packageName?String(e.packageName).trim():"";return{name:e.name,label:(e.displayName&&e.displayName!==e.name?"".concat(e.displayName," · "):"")+e.name+("system"===(r=e.layer)?" [系统]":"agent"===r?" [Agent]":""),description:null!=(a=e.searchHint)?a:"",enabled:t,packageId:l,canManage:y({deletable:e.deletable,packageId:l})}})(e,C.includes(e.name))),[k,C]),O=(0,a.useCallback)(async t=>{let a=P(t);if(!a||!y({deletable:a.deletable,packageId:a.packageName}))return void n.appToast.error("系统内置工具不可删除");if(await (0,x.confirmAlertDialog)({title:"确认删除工具包?",description:"工具名:".concat(t),confirmText:"删除",cancelText:"取消"}))try{await (0,h.deleteRuntimeTool)(e,o,p(),v({packageId:a.packageName,name:a.name}));let r=C.filter(e=>e!==t);u({tools:r}),await M(r,!0),await I()}catch(e){n.appToast.error("删除失败:".concat(e instanceof Error?e.message:String(e)))}},[P,e,o,p,C,u,M,I]),D=(0,a.useCallback)(t=>{let a=P(t);if(!a||!y({deletable:a.deletable,packageId:a.packageName}))return void n.appToast.error("系统内置工具不可导出");window.open((0,h.exportRuntimeToolUrl)(e,o,p(),v({packageId:a.packageName,name:a.name})),"_blank","noopener")},[P,e,o,p]),B=(0,a.useCallback)((e,t)=>{let a=t?[...new Set([...C,e])].sort():C.filter(t=>t!==e).sort();u({tools:a}),M(a,!0)},[C,u,M]);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(b.ManageChromeHeaderActions,{children:(0,t.jsxs)(i.Button,{id:"btnAgentPickerToolImport",type:"button",variant:"plain-outline",size:"lg",className:"inline-flex items-center justify-center gap-1.5",onClick:()=>E(!0),children:[(0,t.jsx)(g.default,{name:"Import",size:16,className:"align-middle"}),"导入自定义工具"]})}),S?(0,t.jsx)("p",{className:"px-3 py-6 text-center text-base text-[var(--ds-muted)]",children:"加载中…"}):(0,t.jsx)(d,{items:U,saveBusy:T,onToggle:B,onExport:D,onRemove:O}),(0,t.jsx)(f,{open:R,onOpenChange:e=>{E(e),e||I()},wsUrl:e,apiBase:o,agent:p()})]})}},37991,e=>{"use strict";e.s(["McpManageView",()=>w],37991);var t=e.i(18050),a=e.i(71645),r=e.i(65934),l=e.i(87243),n=e.i(13354),s=e.i(50711),i=e.i(51419),o=e.i(55242),c=e.i(92715),u=e.i(19455),d=e.i(94055),p=e.i(94197);function m(e){let{items:a,saveBusy:r,onToggleStatus:l,onEdit:n,className:s}=e,i=[{key:"name",title:"名称",headerClassName:"text-base",cellClassName:"text-base",render:e=>e.label||e.name},{key:"description",title:"详情",headerClassName:"text-base",cellClassName:"text-base",render:e=>e.description||"-"},{key:"source",title:"来源",headerClassName:"text-base",cellClassName:"text-base",render:()=>"远程"},{key:"status",title:"状态",headerClassName:"text-base",cellClassName:"whitespace-nowrap py-2 align-middle",render:e=>l?(0,t.jsx)("span",{className:"inline-flex items-center justify-end gap-2 text-base text-[var(--ds-text)]",children:(0,t.jsx)(d.AccentSwitch,{checked:!e.disabled,disabled:r,onCheckedChange:t=>{l(e.name,t)},"aria-label":"".concat(e.disabled?"启用":"禁用"," ").concat(e.name)})}):(0,t.jsx)("span",{className:"text-base text-[var(--ds-text)]",children:e.installed?"已安装":"未安装"})},...n?[{key:"actions",title:"操作",headerClassName:"w-[72px] text-base",cellClassName:"w-[72px]",render:e=>(0,t.jsx)("div",{className:"inline-flex justify-end",children:(0,t.jsx)(p.IconTooltipButton,{icon:"Edit",label:"编辑 MCP 配置",ariaLabel:"编辑 ".concat(e.name),disabled:r,onClick:()=>n(e.name)})})}]:[]];return(0,t.jsx)(c.AppTable,{rows:a,columns:i,getRowKey:e=>"mcp:".concat(e.name),className:s})}var f=e.i(36845),x=e.i(53925);function g(e){let{open:a,onOpenChange:r,wsUrl:l,apiBase:n,agent:s}=e;return(0,t.jsx)(x.ResourceImportDialog,{open:a,onOpenChange:r,title:"导入 MCP zip",description:"选择一个 zip 文件并导入到 mcp-runtime。",uploadUrl:(0,f.buildMcpRuntimeImportUrl)(l,n,s),resetKey:s})}var b=e.i(62427);function h(e){return(null!=e.packageId?String(e.packageId).trim():"")||e.id}function v(e){let{open:r,onOpenChange:l,itemId:s,source:i,wsUrl:c,apiBase:d,agent:p,onSaved:m}=e,[f,x]=(0,a.useState)(""),[g,h]=(0,a.useState)(!1),[v,y]=(0,a.useState)(!1),j="remote"===i?"remote":"runtime";(0,a.useEffect)(()=>{if(!r||!s.trim())return;let e=!1;return h(!0),x("加载中…"),(0,b.loadRuntimeMcpItemConfig)(c,d,p,s,j).then(t=>{if(e)return;let a=t.overlay;a&&"object"==typeof a&&!Array.isArray(a)?x(JSON.stringify(a,null,2)):x("{}")}).catch(t=>{e||(n.appToast.error("加载 MCP 配置失败:".concat(t instanceof Error?t.message:String(t))),l(!1))}).finally(()=>{e||h(!1)}),()=>{e=!0}},[r,s,c,d,p,j,l]);let C=(0,a.useCallback)(async()=>{let e;if(!s.trim())return;let t=f.trim();try{e=t?JSON.parse(t):{}}catch(e){n.appToast.error("JSON 解析失败:".concat(e instanceof Error?e.message:String(e)));return}if(!e||"object"!=typeof e||Array.isArray(e))return void n.appToast.error("配置必须是 JSON 对象");if("mcpServers"in e&&null!=e.mcpServers)return void n.appToast.error("请填写标准 server 配置(command/args/env),不要嵌套 mcpServers");let a=0===Object.keys(e).length;y(!0);try{a?await (0,b.clearRuntimeMcpItemConfig)(c,d,p,s,j):await (0,b.saveRuntimeMcpItemConfig)(c,d,p,s,j,e),n.appToast.success("MCP 配置已保存"),l(!1),null==m||m()}catch(e){n.appToast.error("保存失败:".concat(e instanceof Error?e.message:String(e)))}finally{y(!1)}},[s,f,c,d,p,j,l,m]);return(0,t.jsx)(o.AppDialog,{open:r,onOpenChange:l,title:"编辑 MCP 配置 · ".concat(s),width:"max-w-4xl",minHeight:"420px",footer:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(u.Button,{type:"button",variant:"plain-outline",size:"lg",disabled:v,onClick:()=>l(!1),children:"取消"}),(0,t.jsx)(u.Button,{type:"button",size:"lg",disabled:v||g,onClick:()=>void C(),children:"保存"})]}),children:(0,t.jsx)("textarea",{className:"focus-visible:ring-[var(--ds-accent)]/30 min-h-[320px] w-full resize-y rounded-md border border-[var(--ds-border)] bg-[var(--ds-bg)] p-3 font-mono text-sm leading-6 text-[var(--ds-text)] outline-none focus-visible:ring-2",spellCheck:!1,value:f,disabled:g,onChange:e=>x(e.target.value)})})}var y=e.i(68499),j=e.i(72064),C=e.i(56708);let k=[{value:"basic",label:"本地MCP"},{value:"installed",label:"远程MCP"}];function w(){let e=(0,r.useAppStore)(e=>e.wsUrl),f=(0,r.useAppStore)(e=>e.apiBase),x=(0,r.useAppStore)(e=>e.agentConfig),w=(0,r.useAppStore)(e=>e.setAgentConfig),{currentAgent:S,loadAgentConfig:N}=(0,l.useSession)(),T=(0,s.usePersistAgentConfigField)("mcpServers"),A=x.mcpServers,R=(0,a.useMemo)(()=>[...A].sort().join("\0"),[A]),[E,M]=(0,a.useState)([]),[I,P]=(0,a.useState)([]),[U,O]=(0,a.useState)(!1),[D,B]=(0,a.useState)(!1),[z,_]=(0,a.useState)("basic"),[L,F]=(0,a.useState)(!1),[H,K]=(0,a.useState)(!1),[J,V]=(0,a.useState)(""),[q,W]=(0,a.useState)(!1),[Z,Q]=(0,a.useState)(""),[X,G]=(0,a.useState)(),[Y,$]=(0,a.useState)(!1);(0,a.useEffect)(()=>{N()},[N]);let ee=(0,a.useCallback)(async(e,t)=>{B(!0);try{await T(e,{silent:t})}finally{B(!1)}},[T]),et=(0,a.useCallback)(e=>E.find(t=>t.id===e),[E]),ea=(0,a.useCallback)(e=>{let t=et(e);Q(e),G(null==t?void 0:t.source),$(!0)},[et]),er=(0,a.useCallback)(async()=>{M([]),O(!0);try{var t;let a=await (0,b.listMcpServers)(e,f,S());M((null!=(t=a.servers)?t:[]).map(e=>{var t,a,r;return{...e,id:e.name,label:e.name+(e.disabled?"(已禁用)":""),description:null!=(a=null!=(t=e.description)?t:e.source)?a:"",source:null!=(r=e.source)?r:"",installed:!!e.installed,packageId:e.packageId}}))}catch(e){M([]),n.appToast.error("加载失败:".concat(e instanceof Error?e.message:String(e)))}finally{O(!1)}},[e,f,S]),el=(0,a.useCallback)(async t=>{var a;let r=et(t),l=null!=(a=null==r?void 0:r.source)?a:"";if("runtime"!==l&&"remote"!==l)return void n.appToast.error("基础MCP不可删除");if(await (0,y.confirmAlertDialog)({title:"确认删除 MCP?",description:"服务器名:".concat(t),confirmText:"删除",cancelText:"取消"}))try{if("remote"===l){let a=await (0,b.loadRemoteMcpJson)(e,f,S()),r={};try{r=JSON.parse(String(a.content||"{}"))}catch(e){r={mcpServers:{}}}(!r.mcpServers||Array.isArray(r.mcpServers)||"object"!=typeof r.mcpServers)&&(r.mcpServers={}),delete r.mcpServers[t],await (0,b.saveRemoteMcpJson)(e,f,S(),JSON.stringify(r,null,2))}else{let a=r?h(r):t;await (0,b.deleteRuntimeMcp)(e,f,S(),a)}let a=A.filter(e=>e!==t);P(e=>e.filter(e=>e!==t)),w({...x,mcpServers:a}),await ee(a,!0),await er()}catch(e){n.appToast.error("删除失败:".concat(e instanceof Error?e.message:String(e)))}},[et,e,f,S,A,x,w,ee,er]);(0,a.useEffect)(()=>{("basic"===z||"installed"===z)&&er()},[z,er]),(0,a.useEffect)(()=>{("basic"===z||"installed"===z)&&P([...A])},[z,A,R]);let en=(0,a.useCallback)(async e=>{let t=[...new Set(e)].sort();w({...x,mcpServers:t}),await ee(t,!0)},[x,w,ee]),es=(0,a.useCallback)(async(e,t)=>{let a=t?[...new Set([...I,e])]:I.filter(t=>t!==e);P(a);try{await en(a)}catch(e){P(I),n.appToast.error("切换启用状态失败: ".concat(e))}},[I,en]),ei=(0,a.useMemo)(()=>E.filter(e=>"remote"!==e.source).slice().sort((e,t)=>e.id.localeCompare(t.id)),[E]),eo=(0,a.useMemo)(()=>E.filter(e=>"remote"===e.source).slice().sort((e,t)=>{let a=+!I.includes(e.id),r=+!I.includes(t.id);return a!==r?a-r:e.id.localeCompare(t.id)}).map(e=>({...e,name:e.id,label:e.label,description:e.description||"",installed:!0,source:e.source,disabled:!I.includes(e.id)})),[E,I]),ec=(0,a.useCallback)(t=>{window.open((0,b.exportRuntimeMcpUrl)(e,f,S(),h(t)),"_blank","noopener")},[e,f,S]),eu=(0,a.useCallback)(async(e,t)=>{let a=t?[...new Set([...I,e])]:I.filter(t=>t!==e);P(a);try{await en(a)}catch(e){P(I),n.appToast.error("切换启用状态失败: ".concat(e))}},[I,en]),ed=(0,a.useCallback)(()=>{K(!0),V(""),(0,b.loadRemoteMcpJson)(e,f,S()).then(e=>{V("string"==typeof e.content?e.content:'{\n "mcpServers": {}\n}\n')}).catch(e=>{n.appToast.error("加载 mcp.json 失败:".concat(e instanceof Error?e.message:String(e))),K(!1)})},[e,f,S]),ep=(0,a.useCallback)(async()=>{let t=function(e){let t,a=e.trim();if(!a)return"请输入 JSON 配置内容";try{t=JSON.parse(a)}catch(e){return"JSON 解析失败:".concat(e instanceof Error?e.message:String(e))}if(!t||"object"!=typeof t||Array.isArray(t))return"JSON 根节点必须是对象";let r=t.mcpServers;if(!r||"object"!=typeof r||Array.isArray(r))return"mcpServers 不能为空,且需包含至少一个 server";let l=Object.keys(r).filter(e=>e.trim());if(!l.length)return"mcpServers 不能为空,且需包含至少一个 server";let n=new Set;for(let e of l){let t=e.trim();!t||n.has(t)||n.add(t)}return n.size?null:"未解析到有效的 server 名称"}(J);if(t)return void n.appToast.error(t);W(!0);try{await (0,b.saveRemoteMcpJson)(e,f,S(),J.trim()),n.appToast.success("已保存全局 mcp.json。"),K(!1),await er()}catch(e){n.appToast.error("保存 mcp.json 失败:".concat(e instanceof Error?e.message:String(e)))}finally{W(!1)}},[e,f,S,J,er]),em=[{key:"name",title:"名称",headerClassName:"text-base text-[var(--ds-muted)]",cellClassName:"text-base text-[var(--ds-text)]",render:e=>e.label},{key:"description",title:"详情",headerClassName:"text-base text-[var(--ds-muted)]",cellClassName:"text-base text-[var(--ds-text)]",render:e=>e.description||"-"},{key:"enabled",title:"启用/未启用",headerClassName:"w-14 w-[112px] text-right text-base text-[var(--ds-muted)]",cellClassName:"w-[112px] py-2 text-right align-middle",render:e=>(0,t.jsx)("span",{className:"inline-flex justify-end",children:(0,t.jsx)(d.AccentSwitch,{checked:I.includes(e.id),disabled:D,onCheckedChange:t=>{es(e.id,t)},"aria-label":"选择 ".concat(e.label)})})},{key:"actions",title:"操作",headerClassName:"w-[168px] text-base text-[var(--ds-muted)]",cellClassName:"w-[168px]",render:e=>{var a;let r=null!=(a=e.source)?a:"",l="runtime"===r,n="runtime"===r||"remote"===r;return(0,t.jsxs)("div",{className:"inline-flex items-center justify-end gap-1",children:[(0,t.jsx)(p.IconTooltipButton,{icon:"Download",label:l?"导出":"仅 runtime MCP 支持导出",ariaLabel:"导出 ".concat(e.label),disabled:D||!l,onClick:()=>ec(e)}),(0,t.jsx)(p.IconTooltipButton,{icon:"Edit",label:"编辑 MCP 配置",ariaLabel:"编辑 ".concat(e.label),disabled:D,onClick:()=>ea(e.id)}),(0,t.jsx)(p.IconTooltipButton,{icon:"Trash2",label:n?"删除":"基础MCP不可删除",tone:"danger",ariaLabel:"删除 ".concat(e.label),disabled:D||!n,onClick:()=>{el(e.id)},iconClassName:"text-red-500"})]})}}];return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(C.ManageChromeHeaderActions,{children:(0,t.jsxs)("div",{className:"flex flex-wrap items-center",children:[(0,t.jsxs)(u.Button,{type:"button",variant:"plain-outline",size:"lg",onClick:ed,className:"mr-[12px]",children:[(0,t.jsx)(j.default,{name:"Edit",size:16,className:"align-middle"}),"编辑全局MCP"]}),(0,t.jsxs)(u.Button,{id:"btnAgentImportMcp",type:"button",variant:"plain-outline",size:"lg",className:"inline-flex items-center justify-center gap-1.5",onClick:()=>F(!0),children:[(0,t.jsx)(j.default,{name:"Import",size:16,className:"align-middle"}),"导入MCP"]})]})}),(0,t.jsxs)(i.AppTabs,{tabs:k,value:z,listVariant:"line",onChange:e=>_(e),children:[(0,t.jsx)(i.AppTabsPanel,{value:"basic",children:(0,t.jsx)("div",{className:"flex min-h-0 flex-1 flex-col gap-3",children:(0,t.jsx)("div",{className:"min-h-0",children:U?(0,t.jsx)("p",{className:"px-3 py-6 text-center text-base text-[var(--ds-muted)]",children:"加载中…"}):(0,t.jsx)(c.AppTable,{rows:ei,columns:em,getRowKey:e=>e.id})})})}),(0,t.jsx)(i.AppTabsPanel,{value:"installed",children:(0,t.jsx)(m,{items:eo,saveBusy:D,onToggleStatus:eu,onEdit:ea})})]}),(0,t.jsx)(g,{open:L,onOpenChange:e=>{F(e),e||er()},wsUrl:e,apiBase:f,agent:S()}),(0,t.jsx)(v,{open:Y,onOpenChange:$,itemId:Z,source:X,wsUrl:e,apiBase:f,agent:S(),onSaved:()=>{er(),ee(x.mcpServers,!0)}}),(0,t.jsx)(o.AppDialog,{open:H,onOpenChange:K,title:"编辑全局MCP",width:"max-w-4xl",minHeight:"420px",footer:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(u.Button,{type:"button",variant:"plain-outline",size:"lg",disabled:q,onClick:()=>K(!1),children:"取消"}),(0,t.jsx)(u.Button,{type:"button",size:"lg",disabled:q,onClick:()=>void ep(),children:"保存"})]}),children:(0,t.jsx)("textarea",{className:"focus-visible:ring-[var(--ds-accent)]/30 min-h-[320px] w-full resize-y rounded-md border border-[var(--ds-border)] bg-[var(--ds-bg)] p-3 text-base leading-6 text-[var(--ds-text)] outline-none focus-visible:ring-2",spellCheck:!1,value:J,onChange:e=>V(e.target.value)})})]})}},18900,69051,e=>{"use strict";function t(e){let t=null==e?"":String(e);return""===t?'""':/[\s#"'\\\n]/.test(t)||t!==t.trim()?'"'.concat(t.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\n/g,"\\n"),'"'):t}function a(e){let t=String(e).split(/\r?\n/),a={},r=/^\s*(?:export\s+)?([A-Za-z_][A-Za-z0-9_]*)\s*=\s*(.*)$/;for(let e=0;e<t.length;e++){let l=t[e],n=r.exec(l);n&&(a[n[1]]=function(e){let t=e.trimEnd();return t.length>=2&&'"'===t[0]&&'"'===t[t.length-1]?t.slice(1,-1).replace(/\\(.)/g,(e,t)=>"n"===t?"\n":'"'===t?'"':"\\"===t?"\\":"\\".concat(t)):t.length>=2&&"'"===t[0]&&"'"===t[t.length-1]?t.slice(1,-1):e}(n[2]))}return a}function r(e,a){let r=Array.isArray(e)?e:[],l=new Set;for(let e=0;e<r.length;e++){let t=r[e];t&&"object"==typeof t&&"string"==typeof t.key&&l.add(t.key)}let n=[];for(let e=0;e<r.length;e++){let l=r[e];if(!l||"object"!=typeof l||"string"!=typeof l.key)continue;let s=l.key;if(!Object.prototype.hasOwnProperty.call(a,s))continue;let i=a[s];null!=i&&""!==String(i).trim()&&n.push("".concat(s,"=").concat(t(String(i))))}let s=Object.keys(a).filter(e=>!l.has(e)).sort();for(let e=0;e<s.length;e++){let r=s[e],l=a[r];null!=l&&""!==String(l).trim()&&n.push("".concat(r,"=").concat(t(String(l))))}let i=n.join("\n");return i.length>0?"".concat(i,"\n"):""}e.s(["buildEnvFileContentFromForm",()=>r,"parseEnvContentToMap",()=>a],18900),e.s(["loadDemoSingleMessage",()=>c,"loadSystemEnv",()=>s,"saveSystemEnv",()=>i,"saveSystemMcpJson",()=>o],69051);var l=e.i(29250),n=e.i(36845);async function s(e,t,a){return(0,l.get)((0,n.buildSystemEnvApiUrl)(e,t,a))}async function i(e,t,a,r){await (0,l.patch)((0,n.buildSystemEnvApiUrl)(e,t,a),{content:r})}async function o(e,t,a,r){await (0,l.patch)((0,n.buildSystemMcpJsonApiUrl)(e,t,a),{content:r})}async function c(){return(0,l.get)("/api/demo/single-message")}},62849,e=>{"use strict";e.s(["EnvManageView",()=>L],62849);var t=e.i(18050),a=e.i(71645),r=e.i(56708),l=e.i(19455),n=e.i(72064),s=e.i(51419),i=e.i(76639),o=e.i(93479),c=e.i(67489),u=e.i(13354),d=e.i(87243),p=e.i(67327);let m=["llm","git","geelib","tutui","system"],f={llm:"llm设置",git:"git设置",geelib:"geelib设置",tutui:"tutui设置",system:"系统设置"};function x(e){let t={...f};if(!e||"object"!=typeof e)return t;for(let a of m){let r=e[a];"string"==typeof r&&r.trim()&&(t[a]=r.trim())}return t}var g=e.i(18900),b=e.i(94606),h=e.i(75157),v=e.i(82136),y=e.i(69051),j=e.i(70074),C=e.i(65934);let k=[{id:"env-zhixiao",name:"zhixiao",baseUrl:"https://claudecode-internal.geelib.360.cn",model:"MiniMax-M2.7",isDefault:!0},{id:"env-backup",name:"backup-provider",baseUrl:"https://api.anthropic.com",model:"Claude-Sonnet-4",isDefault:!1}],w=[{key:"name",name:"名称",required:!0},{key:"description",name:"备注"},{key:"ANTHROPIC_BASE_URL",name:"接口地址",required:!0},{key:"ANTHROPIC_AUTH_TOKEN",name:"认证变量"},{key:"ANTHROPIC_API_KEY",name:"API秘钥",required:!0},{key:"model",name:"模型映射"}],S=[{label:"主模型",required:!0,value:"main",placeholder:"Model ID"},{value:"haiku",label:"Haiku模型",placeholder:"与主模型相同"},{value:"sonnet",label:"Sonnet模型",placeholder:"与主模型相同"},{value:"opus",label:"Opus模型",placeholder:"与主模型相同"}];function N(e){return"MODEL_".concat(e.toUpperCase())}function T(){return Object.fromEntries(S.map(e=>[e.value,""]))}let A="custom",R=new Set(["name","description"]),E="model",M="__empty__",I=[{value:"anthropic",label:"anthropic"},{value:"openai",label:"openai"}];function P(){return Object.fromEntries(w.filter(e=>e.key!==E).map(e=>[e.key,""]))}function U(e){let{open:r,onOpenChange:n,onSaved:f}=e,k=(0,a.useId)(),U=(0,C.useAppStore)(e=>e.wsUrl),O=(0,C.useAppStore)(e=>e.apiBase),D=(0,C.useAppStore)(e=>e.agentConfig),B=(0,C.useAppStore)(e=>e.setAgentConfig),z=(0,C.useAppStore)(e=>e.setStatus),{currentAgent:_,loadAgentConfig:L}=(0,d.useSession)(),{sendReloadAgentConfig:F}=(0,p.useWebSocketSender)(),[H,K]=(0,a.useState)(!0),[J,V]=(0,a.useState)(!1),[q,W]=(0,a.useState)(!1),[Z,Q]=(0,a.useState)([]),[X,G]=(0,a.useState)(x(void 0)),[Y,$]=(0,a.useState)({}),[ee,et]=(0,a.useState)({}),[ea,er]=(0,a.useState)(P),[el,en]=(0,a.useState)(T),es=(0,a.useMemo)(()=>new Set(Z.map(e=>e.key)),[Z]),ei=(0,a.useMemo)(()=>(function(e){let t={};for(let e of m)t[e]=[];for(let a of e)m.includes(a.group)&&t[a.group].push(a);return t})(Z),[Z]),eo=(0,a.useMemo)(()=>{let e=[{value:A,label:"自定义设置"}];for(let t of m)ei[t].length&&e.push({value:t,label:X[t]});return e},[ei,X]),ec=(0,a.useCallback)(e=>{et(function(e,t,a){let r={};for(let l of t){let t=e[l.key];if("string"==typeof t&&t.length>0){r[l.key]=t;continue}let n=a[l.key];r[l.key]="string"==typeof n?n:""}return r}(e,Z,Y));let t=P();for(let a of w)R.has(a.key)||a.key===E||"string"==typeof e[a.key]&&(t[a.key]=e[a.key]);let a=T();for(let t of S){let r=N(t.value);"string"==typeof e[r]&&(a[t.value]=e[r])}er(t),en(a),W(!1)},[Z,Y]),eu=(0,a.useCallback)(async()=>{try{let e=await (0,y.loadSystemEnv)(U,O,_()),t="string"==typeof e.content?e.content:"",a=function(e){if(!Array.isArray(e))return[];let t=[];for(let a of e){if(!a||"object"!=typeof a)continue;let e="string"==typeof a.key?a.key.trim():"",r="string"==typeof a.group?a.group.trim():"";e&&m.includes(r)&&t.push({key:e,group:r,label:"string"==typeof a.label&&a.label.trim()?a.label.trim():e,placeholder:"string"==typeof a.placeholder?a.placeholder:""})}return t}(e.schema),r=(0,g.parseEnvContentToMap)(t);Q(a),G(x(e.groupLabels)),$(function(e,t){let a={};for(let l of e){var r;a[l.key]=null!=(r=t[l.key])?r:""}return a}(a,r))}catch(e){u.appToast.error("加载环境变量表单配置失败:".concat(e instanceof Error?e.message:String(e))),Q([]),$({})}},[U,O,_]);(0,a.useEffect)(()=>{r&&(K(!0),Promise.all([L(),eu()]).finally(()=>{K(!1)}))},[r,L,eu]),(0,a.useEffect)(()=>{r&&!H&&ec({...D.env})},[r,D.env,ec,H]);let ed=(0,a.useCallback)((e,t)=>{W(!0),et(a=>({...a,[e]:t}))},[]),ep=(0,a.useCallback)((e,t)=>{W(!0),er(a=>({...a,[e]:t}))},[]),em=(0,a.useCallback)((e,t)=>{W(!0),en(a=>({...a,[e]:t}))},[]),ef=(0,a.useCallback)(async e=>{if(e)return void n(!0);(!q||await (0,b.confirmDiscardFlyoutChanges)())&&n(!1)},[q,n]),ex=(0,a.useCallback)(async()=>{let e=function(e,t){var a,r;for(let t of w)if(t.key!==E&&t.required&&!String(null!=(a=e[t.key])?a:"").trim())return{ok:!1,message:"请填写".concat(t.name)};for(let e of S)if("required"in e&&e.required&&!String(null!=(r=t[e.value])?r:"").trim())return{ok:!1,message:"请填写".concat(e.label)};return{ok:!0}}(ea,el);if(!e.ok)return void u.appToast.info(e.message);let t=function(e,t){let a={};for(let r of t){let t=Object.prototype.hasOwnProperty.call(e,r.key)?e[r.key]:"",l=String(null!=t?t:"").trim();l&&(a[r.key]=l)}return a}(ee,Z),a=function(e,t,a){var r,l;let n={};for(let t of w){if(R.has(t.key)||t.key===E)continue;let l=t.key.trim(),s=String(null!=(r=e[t.key])?r:"");if(s.trim()){if(a.has(l))return{ok:!1,message:"自定义变量不能与固定表单重复:".concat(l)};n[l]=s}}for(let e of S){let r=N(e.value),s=String(null!=(l=t[e.value])?l:"");if(s.trim()){if(a.has(r))return{ok:!1,message:"自定义变量不能与固定表单重复:".concat(r)};n[r]=s}}return{ok:!0,env:n}}(ea,el,es);if(!a.ok)return void u.appToast.info(a.message);let r={...t,...a.env};V(!0);try{var l,s,i,o;let e=C.useAppStore.getState();await (0,v.saveAgentConfig)(U,O,_(),{tools:e.agentConfig.tools.slice(),disallowedTools:e.agentConfig.disallowedTools.slice(),mcpServers:e.agentConfig.mcpServers.slice(),skills:e.agentConfig.skills.slice(),agentTeams:e.agentConfig.agentTeams.slice(),model:e.agentConfig.model,rules:e.agentConfig.rules.slice(),effort:null!=(l=e.agentConfig.effort)?l:null,background:null!=(s=e.agentConfig.background)&&s,isolation:null!=(i=e.agentConfig.isolation)?i:"",whentouse:null!=(o=e.agentConfig.whentouse)?o:"",env:r}),B({...e.agentConfig,env:{...r}}),C.useAppStore.getState().wsConnected&&F();let t=C.useAppStore.getState();z("环境变量已保存"+(t.wsConnected?",已请求 worker 重新加载配置":""),(0,j.resolveInfoStatusClass)(t.bridgeReady,t.wsConnected)),u.appToast.success(C.useAppStore.getState().wsConnected?"已保存到 agent.json,并已请求 worker 重新加载配置。":"已保存到 agent.json。重连 WebSocket 后子进程环境将同步。"),W(!1),await (null==f?void 0:f()),n(!1)}catch(e){u.appToast.error("保存环境变量失败:".concat(e instanceof Error?e.message:String(e)))}finally{V(!1)}},[ee,Z,ea,el,es,U,O,_,B,F,z,n,f]);return(0,t.jsx)(i.Dialog,{open:r,onOpenChange:e=>void ef(e),children:(0,t.jsxs)(i.DialogContent,{"aria-labelledby":k,className:"max-w-4xl",children:[(0,t.jsxs)(i.DialogHeader,{children:[(0,t.jsx)("div",{className:"min-w-0 flex-1",children:(0,t.jsx)(i.DialogTitle,{id:k,children:"添加服务商"})}),(0,t.jsx)(i.DialogClose,{"aria-label":"关闭"})]}),(0,t.jsx)(i.DialogBody,{className:"flex min-h-[420px] flex-col overflow-hidden !py-4",children:H?(0,t.jsx)("div",{className:"py-8 text-center text-base text-[var(--ds-muted)]",children:"加载中…"}):(0,t.jsxs)(s.AppTabs,{tabs:eo,defaultValue:A,listVariant:"line",className:"min-h-0 flex-1",contentClassName:"min-h-0 overflow-y-auto",children:[(0,t.jsx)(s.AppTabsPanel,{value:A,children:(0,t.jsx)("div",{className:"divide-y divide-[var(--ds-border)]",children:w.map(e=>{if(e.key===E)return(0,t.jsxs)("div",{className:"flex flex-col gap-3 py-4 first:pt-0",children:[(0,t.jsx)("span",{className:"text-base text-[var(--ds-muted)]",children:e.name}),(0,t.jsx)("div",{className:"grid grid-cols-2 gap-x-4 gap-y-4",children:S.map(e=>{let a="custom-env-model-".concat(e.value),r="string"==typeof el[e.value]?el[e.value]:"";return(0,t.jsxs)("div",{className:"flex flex-col gap-2",children:[(0,t.jsxs)("label",{className:"text-base text-[var(--ds-text)]",htmlFor:a,children:[e.label,"required"in e&&e.required?(0,t.jsx)("span",{className:"ml-0.5 text-destructive",children:"*"}):null]}),(0,t.jsx)(o.Input,{id:a,type:"text",spellCheck:!1,autoComplete:"off",placeholder:e.placeholder,className:"border-[var(--ds-border)] bg-[var(--ds-bg)] text-base placeholder:text-[var(--text-placeholder)]",value:r,onChange:t=>em(e.value,t.target.value)})]},e.value)})})]},e.key);let a="custom-env-field-".concat(e.key),r="string"==typeof ea[e.key]?ea[e.key]:"";return(0,t.jsxs)("div",{className:"flex flex-col gap-2 py-4 first:pt-0",children:[(0,t.jsxs)("label",{className:"text-base text-[var(--ds-text)]",htmlFor:a,children:[e.name,e.required?(0,t.jsx)("span",{className:"ml-0.5 text-destructive",children:"*"}):null]}),(0,t.jsx)(o.Input,{id:a,type:"text",spellCheck:!1,autoComplete:"off",placeholder:"请输入".concat(e.name),className:(0,h.cn)("border-[var(--ds-border)] bg-[var(--ds-bg)] text-base placeholder:text-[var(--text-placeholder)]",e.className),value:r,onChange:t=>ep(e.key,t.target.value)})]},e.key)})})}),m.map(e=>{let a=ei[e];return a.length?(0,t.jsx)(s.AppTabsPanel,{value:e,children:(0,t.jsx)("div",{className:"divide-y divide-[var(--ds-border)]",children:a.map(e=>(e=>{let a="agent-env-field-".concat(e.key),r="string"==typeof ee[e.key]?ee[e.key]:"";if("LLM_PROVIDER"===e.key){let l="anthropic"===r||"openai"===r?r:"";return(0,t.jsxs)("div",{className:"flex flex-col gap-2 first:pt-0",children:[(0,t.jsx)("label",{className:"text-basic text-[var(--ds-text)]",htmlFor:a,children:e.label}),(0,t.jsxs)(c.Select,{value:l||M,onValueChange:t=>ed(e.key,t===M?"":t),children:[(0,t.jsx)(c.SelectTrigger,{id:a,className:(0,h.cn)("h-10 w-full border-[var(--ds-border)] bg-[var(--ds-bg)] text-base",!l&&"text-[var(--text-placeholder)]"),children:(0,t.jsx)(c.SelectValue,{placeholder:"请选择"})}),(0,t.jsxs)(c.SelectContent,{children:[(0,t.jsx)(c.SelectItem,{value:M,children:"请选择"}),I.map(e=>(0,t.jsx)(c.SelectItem,{value:e.value,children:e.label},e.value))]})]})]},e.key)}return(0,t.jsxs)("div",{className:"flex flex-col gap-2 py-4 first:pt-0",children:[(0,t.jsx)("label",{className:"text-base text-[var(--ds-text)]",htmlFor:a,children:e.label}),(0,t.jsx)(o.Input,{id:a,type:"text",spellCheck:!1,autoComplete:"off",placeholder:e.placeholder,className:"h-10 border-[var(--ds-border)] bg-[var(--ds-bg)] text-base placeholder:text-[var(--text-placeholder)]",value:r,onChange:t=>ed(e.key,t.target.value)})]},e.key)})(e))})},e):null})]})}),(0,t.jsxs)("div",{className:"flex shrink-0 justify-end gap-2 border-t border-[var(--ds-border)] bg-[var(--ds-sidebar)] px-4 py-3",children:[(0,t.jsx)(l.Button,{type:"button",variant:"plain-outline",size:"lg",disabled:H||J,onClick:()=>void ef(!1),className:"cursor-pointer",children:"取消"}),(0,t.jsx)(l.Button,{type:"button",size:"lg",disabled:H||J,onClick:()=>void ex(),className:"cursor-pointer",children:J?"保存中…":"保存"})]})]})})}var O=e.i(85413),D=e.i(94197),B=e.i(68499);function z(e){let{row:a,onSetDefault:r,onTest:n,onEdit:s,onDelete:i}=e,o="".concat(a.baseUrl," · ").concat(a.model);return(0,t.jsxs)("article",{className:(0,h.cn)("group flex w-full items-center gap-4 rounded-xl border border-solid bg-[var(--ds-bg)] px-4 py-3.5 transition-[border-color,box-shadow]",a.isDefault?"border-[color:var(--ds-ok)]":"border-[color:var(--ds-border)] hover:shadow-[0_2px_12px_rgba(0,0,0,0.06)]"),children:[(0,t.jsxs)("div",{className:"flex min-w-0 flex-1 items-center gap-3",children:[(0,t.jsx)("span",{className:(0,h.cn)("size-2 shrink-0 rounded-full",a.isDefault?"bg-[var(--ds-ok)]":"bg-[var(--ds-muted)]"),"aria-hidden":"true"}),(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsx)("h3",{className:"truncate text-base font-semibold text-[var(--ds-text)]",children:a.name}),(0,t.jsx)("p",{className:"mt-1 truncate text-sm text-[var(--ds-muted)]",title:o,children:o})]})]}),(0,t.jsxs)("div",{className:"pointer-events-none invisible flex shrink-0 items-center opacity-0 transition-opacity group-focus-within:pointer-events-auto group-focus-within:visible group-focus-within:opacity-100 group-hover:pointer-events-auto group-hover:visible group-hover:opacity-100",children:[(0,t.jsx)(l.Button,{type:"button",variant:"plain",size:"sm",disabled:a.isDefault,className:"h-8 cursor-pointer !px-0 text-[var(--ds-text)] hover:text-[var(--ds-accent)] disabled:cursor-not-allowed disabled:text-[var(--ds-muted)] disabled:opacity-60",onClick:()=>r(a.id),children:"设为默认"}),(0,t.jsx)(l.Button,{type:"button",variant:"plain",size:"sm",className:"h-8 cursor-pointer px-2 text-[var(--ds-text)] hover:text-[var(--ds-accent)]",onClick:()=>n(a.id),children:"测试"}),(0,t.jsx)(D.IconTooltipButton,{icon:"Edit",label:"编辑",ariaLabel:"编辑 ".concat(a.name),onClick:()=>s(a.id)}),(0,t.jsx)(D.IconTooltipButton,{icon:"Trash2",label:a.isDefault?"默认服务商不可删除":"删除",tone:"danger",disabled:a.isDefault,ariaLabel:"删除 ".concat(a.name),onClick:()=>i(a.id)})]})]})}function _(){let[e,r]=(0,a.useState)(()=>k.map(e=>({...e}))),l=(0,a.useCallback)(e=>{r(t=>t.map(t=>({...t,isDefault:t.id===e}))),u.appToast.success("已设为默认服务商")},[]),n=(0,a.useCallback)(t=>{var a;let r=e.find(e=>e.id===t);u.appToast.info("正在测试「".concat(null!=(a=null==r?void 0:r.name)?a:t,"」连接…"))},[e]),s=(0,a.useCallback)(t=>{var a;let r=e.find(e=>e.id===t);u.appToast.info("编辑「".concat(null!=(a=null==r?void 0:r.name)?a:t,"」功能开发中"))},[e]),i=(0,a.useCallback)(async t=>{let a=e.find(e=>e.id===t);a&&!a.isDefault&&await (0,B.confirmAlertDialog)({title:"确认删除服务商?",description:"服务商「".concat(a.name,"」将被永久删除,此操作不可恢复。"),confirmText:"删除",cancelText:"取消"})&&(r(e=>e.filter(e=>e.id!==t)),u.appToast.success("已删除服务商"))},[e]);return(0,t.jsx)("div",{className:"mt-4 flex flex-col gap-3",children:0===e.length?(0,t.jsx)(O.Empty,{text:"暂无服务商"}):e.map(e=>(0,t.jsx)(z,{row:e,onSetDefault:l,onTest:n,onEdit:s,onDelete:e=>void i(e)},e.id))})}function L(){let[e,s]=(0,a.useState)(!1);return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(r.ManageChromeHeaderActions,{children:(0,t.jsx)("div",{className:"flex flex-wrap items-center",children:(0,t.jsxs)(l.Button,{type:"button",variant:"plain-outline",size:"lg",onClick:()=>s(!0),className:"mr-[12px]",children:[(0,t.jsx)(n.default,{name:"Create",size:16,className:"align-middle"}),"添加服务商"]})})}),(0,t.jsx)(_,{}),(0,t.jsx)(U,{open:e,onOpenChange:s})]})}},39721,e=>{"use strict";e.s(["SkillsManageView",()=>E],39721);var t=e.i(18050),a=e.i(71645),r=e.i(65934),l=e.i(87243),n=e.i(13354),s=e.i(50711),i=e.i(51419),o=e.i(92715),c=e.i(19455),u=e.i(94055),d=e.i(94197),p=e.i(72064),m=e.i(93479),f=e.i(75157);function x(e){let{className:a,...r}=e;return(0,t.jsx)("nav",{role:"navigation","aria-label":"pagination","data-slot":"pagination",className:(0,f.cn)("flex w-full justify-end",a),...r})}let g=a.forwardRef((e,a)=>{let{className:r,...l}=e;return(0,t.jsx)("ul",{ref:a,"data-slot":"pagination-content",className:(0,f.cn)("flex flex-row flex-wrap items-center justify-end gap-1",r),...l})});g.displayName="PaginationContent";let b=a.forwardRef((e,a)=>{let{className:r,...l}=e;return(0,t.jsx)("li",{ref:a,"data-slot":"pagination-item",className:(0,f.cn)("",r),...l})});b.displayName="PaginationItem",a.forwardRef((e,a)=>{let{className:r,isActive:l,size:n="icon",...s}=e;return(0,t.jsx)("a",{ref:a,"aria-current":l?"page":void 0,"data-slot":"pagination-link","data-active":l?"true":void 0,className:(0,f.cn)((0,c.buttonVariants)({variant:l?"outline":"ghost",size:n}),r),...s})}).displayName="PaginationLink";var h=e.i(62427);function v(e){let{active:r,wsUrl:l,apiBase:s,agent:i,onAfterInstall:u,className:d}=e,[f,v]=(0,a.useState)(""),[y,j]=(0,a.useState)(1),[C,k]=(0,a.useState)(0),[w,S]=(0,a.useState)([]),[N,T]=(0,a.useState)(!1),[A,R]=(0,a.useState)(""),[E,M]=(0,a.useState)({}),I=(0,a.useRef)(0),P=(0,a.useCallback)(async()=>{let e=++I.current;T(!0),R("");try{let t=await (0,h.listCloudSkillCatalog)(l,s,i,f,y,10);if(e!==I.current)return;let a=Array.isArray(t.items)?t.items:[],r=[];for(let e of a)e&&"object"==typeof e&&e.id&&r.push({id:String(e.id),title:String(e.title||""),skillName:String(e.skillName||""),description:"string"==typeof e.description?e.description:"",installed:!!e.installed});S(r),k(t.totalPages)}catch(t){if(e!==I.current)return;S([]),k(0),R(t instanceof Error?t.message:String(t))}finally{e===I.current&&T(!1)}},[l,s,i,f,y]);(0,a.useEffect)(()=>{if(!r){v(""),j(1),k(0),S([]),R(""),M({}),I.current+=1;return}P()},[r,P]);let U=(0,a.useMemo)(()=>{if(N)return"加载中…";if(A)return"加载失败:".concat(A);let e=w.reduce((e,t)=>e+ +!!t.installed,0);return"已安装 ".concat(e," 项")},[N,A,w]),O=(0,a.useCallback)(async(e,t)=>{M(t=>({...t,[e]:!0}));try{await (0,h.installCloudSkill)(l,s,i,e),n.appToast.success("云端技能已安装:".concat(t)),await P(),null==u||u()}catch(e){n.appToast.error("安装失败:".concat(e instanceof Error?e.message:String(e)))}finally{M(t=>{let a={...t};return delete a[e],a})}},[l,s,i,P,u]),D=(0,a.useCallback)(e=>{j(1),v(e)},[]);if(!r)return null;let B=C>0?"第 ".concat(y,"/").concat(C," 页"):"第 0/0 页",z=N||y<=1,_=N||C<=0||y>=C,L=[{key:"name",title:"名称",headerClassName:"text-base",cellClassName:"text-base text-[var(--ds-text)]",render:e=>e.skillName?"".concat(e.skillName):e.id},{key:"description",title:"详情",headerClassName:"text-base",cellClassName:"text-base text-[var(--ds-text)]",render:e=>(0,t.jsxs)(t.Fragment,{children:[e.title,e.description?" — ".concat(e.description):""]})},{key:"status",title:"状态",headerClassName:"text-base",cellClassName:"whitespace-nowrap text-base text-[var(--ds-text)]",render:e=>e.installed?"已安装":"未安装"},{key:"actions",title:"操作",headerClassName:"w-[96px] text-right text-base",cellClassName:"w-[116px] text-right",render:e=>{let a=!!E[e.id],r=!!e.installed;return!a&&r?"-":(0,t.jsx)(c.Button,{type:"button",size:"sm",variant:"outline",disabled:a||r,onClick:()=>void O(e.id,e.title||e.skillName||e.id),children:a?"安装中…":r?"已安装":"安装"})}}];return(0,t.jsx)("div",{className:d,children:(0,t.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,t.jsxs)("div",{className:"relative max-w-md",children:[(0,t.jsx)(m.Input,{type:"search",value:f,onChange:e=>v(e.target.value),placeholder:"搜索名称 / 详情",className:"h-8 pl-8","aria-label":"搜索已安装 Skill"}),(0,t.jsx)(p.default,{name:"Search",size:16,className:"pointer-events-none absolute left-2.5 top-1/2 size-4 -translate-y-1/2 text-[var(--ds-muted)]","aria-hidden":!0})]}),(0,t.jsx)(m.Input,{type:"search",value:f,onChange:e=>D(e.target.value),placeholder:"搜索云端技能",className:"h-10 border-[var(--ds-border)] bg-[var(--ds-bg)] text-base"}),(0,t.jsx)("div",{className:"text-sm text-[var(--ds-muted)]",children:U}),(0,t.jsx)(o.AppTable,{rows:w,columns:L,getRowKey:e=>e.id,className:"min-h-0 flex-1 rounded-md",bodyProps:{viewportPaginationReserve:64},emptyNode:N?(0,t.jsx)("p",{className:"text-center text-base",children:"加载中…"}):void 0}),(0,t.jsx)(x,{className:"mx-0 w-full",children:(0,t.jsxs)(g,{className:"w-full flex-wrap justify-end gap-2",children:[(0,t.jsx)(b,{children:(0,t.jsxs)(c.Button,{type:"button",variant:"outline",size:"sm",disabled:z,className:"gap-1",onClick:()=>j(e=>Math.max(1,e-1)),"aria-label":"上一页",children:[(0,t.jsx)(p.default,{name:"ChevronLeft",size:16,className:"shrink-0"}),"上一页"]})}),(0,t.jsx)(b,{children:(0,t.jsx)("span",{className:"flex h-9 min-w-[6.5rem] items-center justify-center text-sm text-[var(--ds-muted)]",children:B})}),(0,t.jsx)(b,{children:(0,t.jsxs)(c.Button,{type:"button",variant:"outline",size:"sm",disabled:_,className:"gap-1",onClick:()=>j(e=>e+1),"aria-label":"下一页",children:["下一页",(0,t.jsx)(p.default,{name:"ChevronRight",size:16,className:"shrink-0",strokeWidth:1})]})})]})})]})})}var y=e.i(36845),j=e.i(53925);function C(e){let{open:a,onOpenChange:r,wsUrl:l,apiBase:n,agent:s}=e;return(0,t.jsx)(j.ResourceImportDialog,{open:a,onOpenChange:r,title:"导入 Skill zip",description:"选择一个 zip 文件并导入到 skills-runtime。",uploadUrl:(0,y.buildSkillsRuntimeImportUrl)(l,n,s),resetKey:s})}var k=e.i(55242);function w(e){let{open:r,onOpenChange:l,skillName:s,wsUrl:i,apiBase:o,agent:u,onSaved:d}=e,[p,m]=(0,a.useState)(""),[f,x]=(0,a.useState)(!1),[g,b]=(0,a.useState)(!1);(0,a.useEffect)(()=>{if(!r||!s.trim())return;let e=!1;return x(!0),m(""),(0,h.loadBaseSkillMd)(i,o,u,s).then(t=>{e||m("string"==typeof t.content?t.content:"")}).catch(t=>{e||(n.appToast.error("加载 SKILL.md 失败:".concat(t instanceof Error?t.message:String(t))),l(!1))}).finally(()=>{e||x(!1)}),()=>{e=!0}},[r,s,i,o,u,l]);let v=(0,a.useCallback)(async()=>{if(s.trim()){b(!0);try{await (0,h.saveBaseSkillMd)(i,o,u,s,p),n.appToast.success("SKILL.md 已保存"),l(!1),null==d||d()}catch(e){n.appToast.error("保存失败:".concat(e instanceof Error?e.message:String(e)))}finally{b(!1)}}},[s,i,o,u,p,l,d]);return(0,t.jsx)(k.AppDialog,{open:r,onOpenChange:l,title:"编辑 SKILL.md · /".concat(s),width:"max-w-4xl",minHeight:"420px",footer:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(c.Button,{type:"button",variant:"plain-outline",size:"lg",disabled:f||g,onClick:()=>l(!1),children:"取消"}),(0,t.jsx)(c.Button,{type:"button",size:"lg",disabled:f||g,onClick:()=>void v(),children:"保存"})]}),children:f?(0,t.jsx)("p",{className:"py-6 text-center text-base text-[var(--ds-muted)]",children:"加载中…"}):(0,t.jsx)("textarea",{className:"focus-visible:ring-[var(--ds-accent)]/30 min-h-[320px] w-full resize-y rounded-md border border-[var(--ds-border)] bg-[var(--ds-bg)] p-3 text-base leading-6 text-[var(--ds-text)] outline-none focus-visible:ring-2",spellCheck:!1,value:p,placeholder:"Markdown 源码…",onChange:e=>m(e.target.value)})})}function S(e){let{items:r,saveBusy:l,onToggleEnabled:n,onExport:s,onRemove:i,className:c}=e,[f,x]=(0,a.useState)(""),g=(0,a.useMemo)(()=>r.filter(e=>(function(e,t){var a;let r=t.trim().toLowerCase();return!r||"".concat(e.name," ").concat(null!=(a=e.description)?a:"").toLowerCase().includes(r)})(e,f)),[r,f]),b=[{key:"name",title:"名称",headerClassName:"text-base",cellClassName:"text-base",render:e=>"/".concat(e.name)},{key:"description",title:"详情",headerClassName:"text-base",cellClassName:"text-base",render:e=>e.description||"-"},{key:"status",title:"状态",headerClassName:"w-[160px] text-base",cellClassName:"w-[160px] text-base text-[var(--ds-text)]",render:()=>"已安装"},{key:"enabled",title:"启用/未启用",headerClassName:"w-[160px] text-right text-base",cellClassName:"w-[160px] py-2 text-right align-middle",render:e=>(0,t.jsx)("span",{className:"inline-flex items-center justify-end gap-2",children:(0,t.jsx)(u.AccentSwitch,{checked:e.enabled,disabled:l,onCheckedChange:t=>n(e.name,t),"aria-label":"".concat(e.enabled?"禁用":"启用"," ").concat(e.name)})})},{key:"actions",title:"操作",headerClassName:"w-[128px] text-base",cellClassName:"w-[128px]",render:e=>(0,t.jsxs)("div",{className:"inline-flex items-center justify-end gap-1",children:[(0,t.jsx)(d.IconTooltipButton,{icon:"Download",label:"导出",ariaLabel:"导出 ".concat(e.name),disabled:l,onClick:()=>s(e.name)}),(0,t.jsx)(d.IconTooltipButton,{icon:"Trash2",label:"删除",tone:"danger",ariaLabel:"删除 ".concat(e.name),disabled:l,onClick:()=>{i(e.name)}})]})}],h=f.trim();return(0,t.jsxs)("div",{className:"flex flex-col gap-3",children:[(0,t.jsxs)("div",{className:"relative max-w-md",children:[(0,t.jsx)(m.Input,{type:"search",value:f,onChange:e=>x(e.target.value),placeholder:"搜索名称 / 详情",className:"h-8 pl-8","aria-label":"搜索已安装 Skill"}),(0,t.jsx)(p.default,{name:"Search",size:16,className:"pointer-events-none absolute left-2.5 top-1/2 -translate-y-1/2 text-[var(--ds-muted)]"})]}),(0,t.jsx)(o.AppTable,{rows:g,columns:b,getRowKey:e=>"skills:".concat(e.name),className:c,emptyText:h?"无匹配的 Skill":void 0})]})}var N=e.i(68499),T=e.i(56708);function A(e,t){var a,r,l;let n=(l=null!=(r=null!=(a=e.description)?a:e.whenToUse)?r:"")?l.length>100?l.slice(0,100):l:"";return{...e,id:e.name,label:"/".concat(e.name),description:n,isRuntime:t,canManage:e.canManage}}let R=[{value:"basic",label:"基础Skill"},{value:"installed",label:"已安装Skill"},{value:"cloud_catalog",label:"Skill商店"}];function E(){let e=(0,r.useAppStore)(e=>e.wsUrl),m=(0,r.useAppStore)(e=>e.apiBase),f=(0,r.useAppStore)(e=>e.agentConfig),x=(0,r.useAppStore)(e=>e.patchAgentConfig),{currentAgent:g,loadAgentConfig:b}=(0,l.useSession)(),y=(0,s.usePersistAgentConfigField)("skills"),j=f.skills,k=(0,a.useMemo)(()=>[...j].sort().join("\0"),[j]),[E,M]=(0,a.useState)([]),[I,P]=(0,a.useState)([]),[U,O]=(0,a.useState)([]),[D,B]=(0,a.useState)(!1),[z,_]=(0,a.useState)(!1),[L,F]=(0,a.useState)(!1),[H,K]=(0,a.useState)("basic"),[J,V]=(0,a.useState)(!1),[q,W]=(0,a.useState)(""),[Z,Q]=(0,a.useState)(!1);(0,a.useEffect)(()=>{b()},[b]);let X=(0,a.useCallback)(async(e,t)=>{F(!0);try{await y(e,{silent:t})}finally{F(!1)}},[y]),G=(0,a.useCallback)(async()=>{M([]),B(!0);try{var t;let a=await (0,h.listBaseSkills)(e,m,g());M((null!=(t=a.skills)?t:[]).map(e=>A(e,!1)))}catch(e){M([]),n.appToast.error("加载失败:".concat(e instanceof Error?e.message:String(e)))}finally{B(!1)}},[e,m,g]),Y=(0,a.useCallback)(async()=>{P([]),_(!0);try{var t;let a=await (0,h.listInstalledSkills)(e,m,g());P((null!=(t=a.skills)?t:[]).map(e=>A(e,!0)))}catch(e){P([]),n.appToast.error("加载失败:".concat(e instanceof Error?e.message:String(e)))}finally{_(!1)}},[e,m,g]),$=(0,a.useCallback)(async()=>{await Promise.all([G(),Y()])},[G,Y]),ee=(0,a.useCallback)(async t=>{if(await (0,N.confirmAlertDialog)({title:"确认删除 Skill 包?",description:"Skill:".concat(t),confirmText:"删除",cancelText:"取消"}))try{await (0,h.deleteRuntimeSkill)(e,m,g(),t);let a=j.filter(e=>e!==t);O(e=>e.filter(e=>e!==t)),x({skills:a}),await X(a,!0),await $()}catch(e){n.appToast.error("删除失败:".concat(e instanceof Error?e.message:String(e)))}},[e,m,g,j,x,X,$]);(0,a.useEffect)(()=>{"basic"===H&&G(),"installed"===H&&Y()},[H,G,Y]);let et=(0,a.useCallback)(()=>{$()},[$]);(0,a.useEffect)(()=>{"basic"===H&&O([...j])},[H,j,k]);let ea=(0,a.useCallback)(e=>{let t=[...new Set(e)].sort();x({skills:t}),X(t,!0)},[x,X]),er=(0,a.useMemo)(()=>I.slice().sort((e,t)=>e.label.localeCompare(t.label)).map(e=>({name:e.id,installed:!0,description:e.description||"",enabled:j.includes(e.id)})),[I,j]),el=(0,a.useCallback)((e,t)=>{let a=t?[...new Set([...j,e])].sort():j.filter(t=>t!==e);x({skills:a}),O(a),X(a,!0)},[j,x,X]),en=(0,a.useCallback)(t=>{window.open((0,h.exportRuntimeSkillUrl)(e,m,g(),t),"_blank","noopener")},[e,m,g]),es=(0,a.useCallback)(e=>{W(e.id),Q(!0)},[]),ei=[{key:"name",title:"名称",headerClassName:"text-base text-[var(--ds-muted)]",cellClassName:"text-base text-[var(--ds-text)]",render:e=>e.label},{key:"description",title:"详情",headerClassName:"text-base text-[var(--ds-muted)]",cellClassName:"text-base text-[var(--ds-text)]",render:e=>e.description||"-"},{key:"enabled",title:"启用/未启用",headerClassName:"w-[102px] text-right text-base text-[var(--ds-muted)]",cellClassName:"w-[102px] py-2 text-right align-middle",render:e=>(0,t.jsx)("span",{className:"inline-flex justify-end",children:(0,t.jsx)(u.AccentSwitch,{checked:U.includes(e.id),disabled:L,onCheckedChange:t=>{let a=t?[...new Set([...U,e.id])]:U.filter(t=>t!==e.id);O(a),ea(a)},"aria-label":"选择 ".concat(e.label)})})},{key:"actions",title:"操作",headerClassName:"w-[104px] text-right text-base text-[var(--ds-muted)]",cellClassName:"w-[104px] py-2 text-right align-middle",render:e=>(0,t.jsxs)("span",{className:"inline-flex justify-end gap-1",children:[(0,t.jsx)(d.IconTooltipButton,{icon:"Edit",label:"编辑",disabled:L,ariaLabel:"编辑 ".concat(e.label),onClick:()=>es(e)}),(0,t.jsx)(d.IconTooltipButton,{icon:"Trash2",label:"系统技能不可删除",tone:"danger",disabled:!0,ariaLabel:"删除 ".concat(e.label)})]})}];return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(T.ManageChromeHeaderActions,{children:(0,t.jsxs)(c.Button,{id:"btnAgentImportSkill",type:"button",variant:"plain-outline",size:"lg",className:"inline-flex items-center justify-center gap-1.5",onClick:()=>V(!0),children:[(0,t.jsx)(p.default,{name:"Import",size:16,className:"align-middle"}),"导入Skill"]})}),(0,t.jsxs)(i.AppTabs,{tabs:R,value:H,listVariant:"line",onChange:e=>K(e),children:[(0,t.jsx)(i.AppTabsPanel,{value:"basic",children:(0,t.jsx)("div",{className:"flex min-h-0 flex-1 flex-col gap-3",children:(0,t.jsx)("div",{className:"min-h-0",children:D?(0,t.jsx)("p",{className:"px-3 py-6 text-center text-base text-[var(--ds-muted)]",children:"加载中…"}):(0,t.jsx)(o.AppTable,{rows:E,columns:ei,getRowKey:e=>e.id})})})}),(0,t.jsx)(i.AppTabsPanel,{value:"installed",children:z?(0,t.jsx)("p",{className:"px-3 py-6 text-center text-base text-[var(--ds-muted)]",children:"加载中…"}):(0,t.jsx)(S,{items:er,saveBusy:L,onToggleEnabled:el,onExport:en,onRemove:ee})}),(0,t.jsx)(i.AppTabsPanel,{value:"cloud_catalog",className:"flex min-h-0 flex-1 flex-col",children:(0,t.jsx)(v,{active:"cloud_catalog"===H,wsUrl:e,apiBase:m,agent:g(),onAfterInstall:et,className:"min-h-0 flex-1"})})]}),(0,t.jsx)(C,{open:J,onOpenChange:e=>{V(e),e||$()},wsUrl:e,apiBase:m,agent:g()}),(0,t.jsx)(w,{open:Z,onOpenChange:Q,skillName:q,wsUrl:e,apiBase:m,agent:g(),onSaved:()=>void $()})]})}},69230,e=>{"use strict";e.s(["SettingsRouteBoundary",()=>i]);var t=e.i(18050),a=e.i(22016),r=e.i(18566),l=e.i(82787),n=e.i(97249),s=e.i(65934);function i(e){let{children:i}=e,o=(0,r.usePathname)(),c=(0,s.useAppStore)(e=>e.agentId),u=(0,n.buildAppNavHref)(l.MANAGE_DEFAULT_HREF,{ensureAgent:!0,agent:c});return o&&!(0,l.isManageRouteEnabled)((0,n.normalizeAppPathname)(o))?(0,t.jsxs)("div",{className:"manage-page-wrap flex min-h-0 flex-1 flex-col",children:[(0,t.jsx)("div",{className:"manage-page-header flex shrink-0 items-start justify-between gap-4 pb-4",children:(0,t.jsxs)("div",{className:"manage-page-title-block",children:[(0,t.jsx)("h1",{className:"manage-page-title",children:"页面不可用"}),(0,t.jsx)("p",{className:"manage-page-desc",children:"当前设置页未开放或已被禁用。"})]})}),(0,t.jsx)("div",{className:"manage-page-body flex min-h-0 min-w-0 flex-1 flex-col items-center justify-center gap-3 text-sm text-[var(--ds-muted)]",children:(0,t.jsx)(a.default,{className:"text-zinc-900 underline underline-offset-4",href:u,prefetch:!1,children:"返回默认设置页"})})]}):(0,t.jsx)(t.Fragment,{children:i})}}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,93479,e=>{"use strict";e.s(["Input",()=>n]);var t=e.i(18050),r=e.i(75157);function n(e){let{className:n,type:o="text",size:u="default",...a}=e;return(0,t.jsx)("input",{type:o,"data-slot":"input","data-size":u,className:(0,r.cn)("h-9 w-full appearance-none rounded-md border border-solid border-border bg-transparent px-3 text-base outline-none transition-[color,box-shadow,border-color] duration-150 ease-in-out placeholder:text-muted-foreground hover:border-[var(--border-hover)] focus-visible:border-[var(--border-focus)] focus-visible:[box-shadow:var(--ring-focus-sm)] read-only:focus-visible:border-border read-only:focus-visible:[box-shadow:none] disabled:cursor-not-allowed disabled:opacity-50 disabled:focus-visible:border-border disabled:focus-visible:[box-shadow:none] data-[size=default]:h-9 data-[size=lg]:h-10 data-[size=sm]:h-7",n),...a})}},20783,e=>{"use strict";e.s(["composeRefs",()=>n,"useComposedRefs",()=>o]);var t=e.i(71645);function r(e,t){if("function"==typeof e)return e(t);null!=e&&(e.current=t)}function n(){for(var e=arguments.length,t=Array(e),n=0;n<e;n++)t[n]=arguments[n];return e=>{let n=!1,o=t.map(t=>{let o=r(t,e);return n||"function"!=typeof o||(n=!0),o});if(n)return()=>{for(let e=0;e<o.length;e++){let n=o[e];"function"==typeof n?n():r(t[e],null)}}}}function o(){for(var e=arguments.length,r=Array(e),o=0;o<e;o++)r[o]=arguments[o];return t.useCallback(n(...r),r)}},51239,e=>{e.v("/app/_next/static/media/data-loading.be8d921a.png")},98183,(e,t,r)=>{"use strict";function n(e){let t={};for(let[r,n]of e.entries()){let e=t[r];void 0===e?t[r]=n:Array.isArray(e)?e.push(n):t[r]=[e,n]}return t}function o(e){return"string"==typeof e?e:("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function u(e){let t=new URLSearchParams;for(let[r,n]of Object.entries(e))if(Array.isArray(n))for(let e of n)t.append(r,o(e));else t.set(r,o(n));return t}function a(e){for(var t=arguments.length,r=Array(t>1?t-1:0),n=1;n<t;n++)r[n-1]=arguments[n];for(let t of r){for(let r of t.keys())e.delete(r);for(let[r,n]of t.entries())e.append(r,n)}return e}Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{assign:function(){return a},searchParamsToUrlQuery:function(){return n},urlQueryToSearchParams:function(){return u}})},95057,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{formatUrl:function(){return u},formatWithValidation:function(){return i},urlObjectKeys:function(){return a}});let n=e.r(90809)._(e.r(98183)),o=/https?|ftp|gopher|file/;function u(e){let{auth:t,hostname:r}=e,u=e.protocol||"",a=e.pathname||"",i=e.hash||"",s=e.query||"",l=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?l=t+e.host:r&&(l=t+(~r.indexOf(":")?"["+r+"]":r),e.port&&(l+=":"+e.port)),s&&"object"==typeof s&&(s=String(n.urlQueryToSearchParams(s)));let c=e.search||s&&"?"+s||"";return u&&!u.endsWith(":")&&(u+=":"),e.slashes||(!u||o.test(u))&&!1!==l?(l="//"+(l||""),a&&"/"!==a[0]&&(a="/"+a)):l||(l=""),i&&"#"!==i[0]&&(i="#"+i),c&&"?"!==c[0]&&(c="?"+c),""+u+l+(a=a.replace(/[?#]/g,encodeURIComponent))+(c=c.replace("#","%23"))+i}let a=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function i(e){return u(e)}},18967,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{DecodeError:function(){return b},MiddlewareNotFoundError:function(){return v},MissingStaticPage:function(){return m},NormalizeError:function(){return g},PageNotFoundError:function(){return y},SP:function(){return p},ST:function(){return h},WEB_VITALS:function(){return n},execOnce:function(){return o},getDisplayName:function(){return l},getLocationOrigin:function(){return i},getURL:function(){return s},isAbsoluteUrl:function(){return a},isResSent:function(){return c},loadGetInitialProps:function(){return d},normalizeRepeatedSlashes:function(){return f},stringifyError:function(){return P}});let n=["CLS","FCP","FID","INP","LCP","TTFB"];function o(e){let t,r=!1;return function(){for(var n=arguments.length,o=Array(n),u=0;u<n;u++)o[u]=arguments[u];return r||(r=!0,t=e(...o)),t}}let u=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,a=e=>u.test(e);function i(){let{protocol:e,hostname:t,port:r}=window.location;return e+"//"+t+(r?":"+r:"")}function s(){let{href:e}=window.location,t=i();return e.substring(t.length)}function l(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function c(e){return e.finished||e.headersSent}function f(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?"?"+t.slice(1).join("?"):"")}async function d(e,t){let r=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await d(t.Component,t.ctx)}:{};let n=await e.getInitialProps(t);if(r&&c(r))return n;if(!n)throw Object.defineProperty(Error('"'+l(e)+'.getInitialProps()" should resolve to an object. But found "'+n+'" instead.'),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return n}let p="undefined"!=typeof performance,h=p&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class b extends Error{}class g extends Error{}class y extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message="Cannot find module for page: "+e}}class m extends Error{constructor(e,t){super(),this.message="Failed to load static file for page: "+e+" "+t}}class v extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function P(e){return JSON.stringify({message:e.message,stack:e.stack})}},73668,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"isLocalURL",{enumerable:!0,get:function(){return u}});let n=e.r(18967),o=e.r(52817);function u(e){if(!(0,n.isAbsoluteUrl)(e))return!0;try{let t=(0,n.getLocationOrigin)(),r=new URL(e,t);return r.origin===t&&(0,o.hasBasePath)(r.pathname)}catch(e){return!1}}},84508,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"errorOnce",{enumerable:!0,get:function(){return n}});let n=e=>{}},22016,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),!function(e,t){for(var r in t)Object.defineProperty(e,r,{enumerable:!0,get:t[r]})}(r,{default:function(){return g},useLinkStatus:function(){return m}});let n=e.r(90809),o=e.r(18050),u=n._(e.r(71645)),a=e.r(95057),i=e.r(8372),s=e.r(18581),l=e.r(18967),c=e.r(84395);e.r(33525);let f=e.r(91949),d=e.r(73668),p=e.r(99781);e.r(84508);let h=e.r(65165);function b(e){return"string"==typeof e?e:(0,a.formatUrl)(e)}function g(e){var t;let r,n,a,[g,m]=(0,u.useOptimistic)(f.IDLE_LINK_STATUS),v=(0,u.useRef)(null),{href:P,as:E,children:O,prefetch:_=null,passHref:x,replace:T,shallow:j,scroll:S,onClick:C,onMouseEnter:A,onTouchStart:N,legacyBehavior:R=!1,onNavigate:w,ref:L,unstable_dynamicOnHover:U,...I}=e;r=O,R&&("string"==typeof r||"number"==typeof r)&&(r=(0,o.jsx)("a",{children:r}));let M=u.default.useContext(i.AppRouterContext),k=!1!==_,F=!1!==_?null===(t=_)||"auto"===t?h.FetchStrategy.PPR:h.FetchStrategy.Full:h.FetchStrategy.PPR,{href:D,as:K}=u.default.useMemo(()=>{let e=b(P);return{href:e,as:E?b(E):e}},[P,E]);R&&(n=u.default.Children.only(r));let z=R?n&&"object"==typeof n&&n.ref:L,B=u.default.useCallback(e=>(null!==M&&(v.current=(0,f.mountLinkInstance)(e,D,M,F,k,m)),()=>{v.current&&((0,f.unmountLinkForCurrentNavigation)(v.current),v.current=null),(0,f.unmountPrefetchableInstance)(e)}),[k,D,M,F,m]),Q={ref:(0,s.useMergedRef)(B,z),onClick(e){R||"function"!=typeof C||C(e),R&&n.props&&"function"==typeof n.props.onClick&&n.props.onClick(e),M&&(e.defaultPrevented||function(e,t,r,n,o,a,i){let{nodeName:s}=e.currentTarget;if(!("A"===s.toUpperCase()&&function(e){let t=e.currentTarget.getAttribute("target");return t&&"_self"!==t||e.metaKey||e.ctrlKey||e.shiftKey||e.altKey||e.nativeEvent&&2===e.nativeEvent.which}(e)||e.currentTarget.hasAttribute("download"))){if(!(0,d.isLocalURL)(t)){o&&(e.preventDefault(),location.replace(t));return}if(e.preventDefault(),i){let e=!1;if(i({preventDefault:()=>{e=!0}}),e)return}u.default.startTransition(()=>{(0,p.dispatchNavigateAction)(r||t,o?"replace":"push",null==a||a,n.current)})}}(e,D,K,v,T,S,w))},onMouseEnter(e){R||"function"!=typeof A||A(e),R&&n.props&&"function"==typeof n.props.onMouseEnter&&n.props.onMouseEnter(e),M&&k&&(0,f.onNavigationIntent)(e.currentTarget,!0===U)},onTouchStart:function(e){R||"function"!=typeof N||N(e),R&&n.props&&"function"==typeof n.props.onTouchStart&&n.props.onTouchStart(e),M&&k&&(0,f.onNavigationIntent)(e.currentTarget,!0===U)}};return(0,l.isAbsoluteUrl)(K)?Q.href=K:R&&!x&&("a"!==n.type||"href"in n.props)||(Q.href=(0,c.addBasePath)(K)),a=R?u.default.cloneElement(n,Q):(0,o.jsx)("a",{...I,...Q,children:r}),(0,o.jsx)(y.Provider,{value:g,children:a})}let y=(0,u.createContext)(f.IDLE_LINK_STATUS),m=()=>(0,u.useContext)(y);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)}]);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,92715,e=>{"use strict";e.s(["AppTable",()=>u],92715);var t=e.i(18050),r=e.i(85413),a=e.i(71645),l=e.i(75157);let s=a.forwardRef((e,r)=>{let{className:a,...s}=e;return(0,t.jsx)("div",{className:"relative w-full overflow-auto",children:(0,t.jsx)("table",{ref:r,className:(0,l.cn)("w-full caption-bottom border-collapse text-sm",a),...s})})});s.displayName="Table";let n=a.forwardRef((e,r)=>{let{className:a,...s}=e;return(0,t.jsx)("thead",{ref:r,className:(0,l.cn)("[&_tr]:table [&_tr]:w-full [&_tr]:table-fixed [&_tr]:border-b",a),...s})});n.displayName="TableHeader";let i=a.forwardRef((e,r)=>{let{className:s,viewportFit:n=!0,viewportReserveBottom:i=16,viewportPaginationReserve:o=0,style:c,...d}=e,u=a.useRef(null),m=a.useCallback(e=>{u.current=e,"function"==typeof r?r(e):r&&(r.current=e)},[r]),[p,f]=a.useState(void 0);return a.useLayoutEffect(()=>{var e,t;if(!n)return void f(void 0);let r=()=>{var e,t;let r=u.current;if(!r)return;let a=r.getBoundingClientRect().top;f(Math.max(80,Math.floor((null!=(t=null==(e=window.visualViewport)?void 0:e.height)?t:window.innerHeight)-a-(i+o))))};r();let a=new ResizeObserver(()=>{r()});try{a.observe(document.body)}catch(e){}return window.addEventListener("resize",r),null==(e=window.visualViewport)||e.addEventListener("resize",r),null==(t=window.visualViewport)||t.addEventListener("scroll",r),window.addEventListener("scroll",r,!0),()=>{var e,t;a.disconnect(),window.removeEventListener("resize",r),null==(e=window.visualViewport)||e.removeEventListener("resize",r),null==(t=window.visualViewport)||t.removeEventListener("scroll",r),window.removeEventListener("scroll",r,!0)}},[n,i,o]),(0,t.jsx)("tbody",{ref:m,className:(0,l.cn)("block overflow-y-auto [&_tr:last-child]:border-b-0 [&_tr:last-child_td]:border-b-0 [&_tr]:table [&_tr]:w-full [&_tr]:table-fixed",s),style:n&&void 0!==p?{...c,maxHeight:p}:c,...d})});i.displayName="TableBody";let o=a.forwardRef((e,r)=>{let{className:a,hoverable:s=!0,...n}=e;return(0,t.jsx)("tr",{ref:r,className:(0,l.cn)("border-b transition-colors [&>td]:transition-colors data-[state=selected]:[&>td]:!bg-[var(--ds-item-active)]",s&&"group/table-row",a),...n})});o.displayName="TableRow";let c=a.forwardRef((e,r)=>{let{className:a,...s}=e;return(0,t.jsx)("th",{ref:r,className:(0,l.cn)("h-10 border-b border-[var(--border-subtle)] bg-[var(--surface-2)] px-3 text-left align-middle text-[14px] font-medium !text-[var(--ds-text)] text-muted-foreground",a),...s})});c.displayName="TableHead";let d=a.forwardRef((e,r)=>{let{className:a,...s}=e;return(0,t.jsx)("td",{ref:r,className:(0,l.cn)("border-x-0 border-b border-t-0 border-solid border-[var(--border-subtle)] p-3 align-middle text-base transition-colors group-has-[td:hover]/table-row:!bg-[var(--ds-item-hover)]",a),...s})});function u(e){let{rows:a,columns:u,getRowKey:m,className:p,rowClassName:f,headerRowClassName:b,emptyText:x,emptyNode:v,bodyProps:g}=e;return(0,t.jsx)("div",{className:(0,l.cn)("overflow-hidden border border-[var(--ds-border)]",p),children:(0,t.jsxs)(s,{children:[(0,t.jsx)(n,{children:(0,t.jsx)(o,{className:(0,l.cn)("bg-[var(--ds-main-tint)] hover:bg-[var(--ds-main-tint)]",b),children:u.map(e=>(0,t.jsx)(c,{className:e.headerClassName,children:e.title},e.key))})}),(0,t.jsx)(i,{...g,children:a.length?a.map(e=>(0,t.jsx)(o,{className:"function"==typeof f?f(e):f,children:u.map(r=>(0,t.jsx)(d,{className:r.cellClassName,children:r.render(e)},r.key))},m(e))):(0,t.jsx)(o,{hoverable:!1,children:(0,t.jsx)(d,{colSpan:u.length,className:"py-6",children:null!=v?v:(0,t.jsx)(r.Empty,{text:x})})})})]})})}d.displayName="TableCell"},62427,e=>{"use strict";e.s(["clearRuntimeMcpItemConfig",()=>w,"deleteRuntimeMcp",()=>m,"deleteRuntimeSkill",()=>C,"deleteRuntimeTool",()=>u,"exportRuntimeMcpUrl",()=>f,"exportRuntimeSkillUrl",()=>j,"exportRuntimeToolUrl",()=>p,"importRuntimeMcp",()=>x,"importRuntimeTool",()=>b,"installCloudSkill",()=>N,"listBaseSkills",()=>s,"listCloudSkillCatalog",()=>S,"listInstalledSkills",()=>n,"listInstalledTools",()=>l,"listMcpServers",()=>a,"listRuntimeMcpPackages",()=>d,"listRuntimeTools",()=>c,"loadBaseSkillMd",()=>i,"loadRemoteMcpJson",()=>v,"loadRuntimeMcpItemConfig",()=>h,"saveBaseSkillMd",()=>o,"saveRemoteMcpJson",()=>g,"saveRuntimeMcpItemConfig",()=>y]);var t=e.i(29250),r=e.i(36845);async function a(e,a,l){let s=await (0,t.get)((0,r.buildMcpServersListUrl)(e,a,l));return{servers:Array.isArray(s.servers)?s.servers:[]}}async function l(e,a,l){let s=await (0,t.get)((0,r.buildToolInstalledListUrl)(e,a,l));return{tools:Array.isArray(s.tools)?s.tools:[]}}async function s(e,a,l){let s=await (0,t.get)((0,r.buildSkillBaseListUrl)(e,a,l));return{skills:Array.isArray(s.skills)?s.skills:[]}}async function n(e,a,l){let s=await (0,t.get)((0,r.buildSkillInstalledListUrl)(e,a,l));return{skills:Array.isArray(s.skills)?s.skills:[]}}async function i(e,a,l,s){return(0,t.get)((0,r.buildBaseSkillMdUrl)(e,a,l,s))}async function o(e,a,l,s,n){await (0,t.put)((0,r.buildBaseSkillMdUrl)(e,a,l,s),{content:n})}async function c(e,a,l){let s=await (0,t.get)((0,r.buildToolsRuntimeFilesUrl)(e,a,l));return{runtimeToolsDir:"string"==typeof s.runtimeToolsDir?s.runtimeToolsDir:"",items:Array.isArray(s.items)?s.items.filter(e=>!!(e&&e.id)):[]}}async function d(e,a,l){let s=await (0,t.get)((0,r.buildMcpRuntimeFilesUrl)(e,a,l));return{mcpRuntimeDir:"string"==typeof s.mcpRuntimeDir?s.mcpRuntimeDir:"",items:Array.isArray(s.items)?s.items.filter(e=>!!(e&&e.id)):[]}}async function u(e,a,l,s){return(0,t.del)((0,r.buildToolsRuntimeDeleteUrl)(e,a,l,s))}async function m(e,a,l,s){return(0,t.del)((0,r.buildMcpRuntimeDeleteUrl)(e,a,l,s))}function p(e,t,a,l){return(0,r.buildToolsRuntimeExportUrl)(e,t,a,l)}function f(e,t,a,l){return(0,r.buildMcpRuntimeExportUrl)(e,t,a,l)}async function b(e,a,l,s){let n=new FormData;return n.append("file",s),(0,t.post)((0,r.buildToolsRuntimeImportUrl)(e,a,l),n,{type:"file"})}async function x(e,a,l,s){let n=new FormData;return n.append("file",s),(0,t.post)((0,r.buildMcpRuntimeImportUrl)(e,a,l),n,{type:"file"})}async function v(e,a,l){return(0,t.get)((0,r.buildRemoteMcpJsonUrl)(e,a,l))}async function g(e,a,l,s){await (0,t.post)((0,r.buildRemoteMcpJsonUrl)(e,a,l),{content:s})}async function h(e,a,l,s,n){return(0,t.get)((0,r.buildRuntimeMcpItemConfigUrl)(e,a,l,s,n))}async function y(e,a,l,s,n,i){await (0,t.put)((0,r.buildRuntimeMcpItemConfigUrl)(e,a,l,s,n),{server:i})}async function w(e,a,l,s,n){await (0,t.del)((0,r.buildRuntimeMcpItemConfigUrl)(e,a,l,s,n))}async function C(e,a,l,s){return(0,t.del)((0,r.buildSkillsRuntimeDeleteUrl)(e,a,l,s))}function j(e,t,a,l){return(0,r.buildSkillsRuntimeExportUrl)(e,t,a,l)}async function S(e,a,l,s,n,i){let o=await (0,t.get)((0,r.buildCloudSkillCatalogUrl)(e,a,l,s,n,i));return{items:Array.isArray(o.items)?o.items:[],totalPages:Number(o.totalPages||0)}}async function N(e,a,l,s){await (0,t.post)((0,r.buildCloudSkillInstallUrl)(e,a,l),{id:s})}},53925,e=>{"use strict";e.s(["ResourceImportDialog",()=>u],53925);var t=e.i(18050),r=e.i(71645),a=e.i(72064),l=e.i(75157),s=e.i(19455);function n(e){return e<1024?"".concat(e," B"):e<1048576?"".concat((e/1024).toFixed(1)," KB"):"".concat((e/1048576).toFixed(1)," MB")}function i(e){let{uploadUrl:i,accept:o,disabled:c=!1,multiple:d=!1,maxFileSize:u=0x3200000,autoUpload:m=!1,method:p="POST",transport:f="xhr",fieldName:b="file",headers:x,extraFormData:v,autoRetryTimes:g=0,autoRetryDelayMs:h=800,selectionOnly:y=!1,className:w,emptyTitle:C="点击或拖拽文件到此处",emptyHint:j="支持上传文件",onFilesChange:S,onUploadSuccess:N,onUploadError:k,onValidationError:R}=e,M=r.useId(),T=r.useRef(null),A=r.useRef(new Map),U=r.useRef(new Map),D=r.useRef([]),[E,z]=r.useState(!1),[B,O]=r.useState([]),I=r.useMemo(()=>o?o.split(",").map(e=>e.trim().toLowerCase()).filter(Boolean):[],[o]);r.useEffect(()=>{D.current=B,null==S||S(B)},[B,S]),r.useEffect(()=>()=>{for(let e of A.current.values())e.abort();for(let e of U.current.values())e.abort();for(let e of D.current)e.previewUrl&&URL.revokeObjectURL(e.previewUrl)},[]);let L=r.useCallback((e,t)=>{O(r=>r.map(r=>r.id===e?{...r,...t}:r))},[]),P=r.useCallback(async(e,t)=>{let r=D.current.find(t=>t.id===e);if(!r||c)return;L(e,{status:t>0?"retrying":"uploading",progress:0,error:"",retryCount:t});let a=new FormData;if(v)for(let[e,t]of Object.entries(v))a.append(e,t);a.append(b,r.file);try{let t="";if("fetch"===f){let r=new AbortController;U.current.set(e,r);let l=await fetch(i,{method:p,headers:x,body:a,signal:r.signal}),s=await l.text();try{t=s?JSON.parse(s):""}catch(e){t=s}if(!l.ok)throw Error("上传失败:".concat(l.status," ").concat(l.statusText))}else t=await new Promise((t,r)=>{let l=new XMLHttpRequest;if(A.current.set(e,l),l.open(p,i,!0),x)for(let[e,t]of Object.entries(x))l.setRequestHeader(e,t);l.upload.onprogress=t=>{if(!t.lengthComputable)return;let r=Math.min(100,Math.round(t.loaded/t.total*100));L(e,{progress:r})},l.onerror=()=>r(Error("网络异常,上传失败")),l.onabort=()=>r(Error("__ABORTED__")),l.onload=()=>{l.status>=200&&l.status<300?t(function(e){let t=e.responseText||"";try{return JSON.parse(t)}catch(e){return t}}(l)):r(Error("上传失败:".concat(l.status," ").concat(l.statusText)))},l.send(a)});L(e,{status:"success",progress:100,error:""});let r=D.current.find(t=>t.id===e);r&&(null==N||N(r,t))}catch(l){let r=l instanceof Error?l.message:String(l);if("__ABORTED__"===r)return void L(e,{status:"selected",progress:0,error:""});if(t<g){L(e,{status:"retrying",error:"重试中(".concat(t+1,"/").concat(g,")")}),await new Promise(e=>window.setTimeout(e,h)),await P(e,t+1);return}L(e,{status:"error",error:r});let a=D.current.find(t=>t.id===e);a&&(null==k||k(a,r))}finally{A.current.delete(e),U.current.delete(e)}},[h,g,c,v,b,x,p,k,N,f,L,i]),J=r.useCallback(e=>{P(e,0)},[P]),_=r.useCallback(e=>{var t,r;null==(t=A.current.get(e))||t.abort(),null==(r=U.current.get(e))||r.abort()},[]),F=r.useCallback(()=>{for(let e of D.current)("selected"===e.status||"error"===e.status)&&J(e.id)},[J]),H=r.useCallback(e=>{if(c||!e.length)return;let t=new Set(D.current.map(e=>"".concat(e.file.name,"::").concat(e.file.size))),r=[];for(let a of e){let e="".concat(a.name,"::").concat(a.size);if(!t.has(e)){if(!function(e,t){if(!t.length)return!0;let r=e.name.toLowerCase(),a=(e.type||"").toLowerCase();return t.some(e=>e.startsWith(".")?r.endsWith(e):e.endsWith("/*")?a.startsWith("".concat(e.slice(0,-1))):a===e)}(a,I)){null==R||R("文件类型不支持:".concat(a.name));continue}if(a.size>u){null==R||R("文件过大(最大 ".concat(n(u),"):").concat(a.name));continue}t.add(e),r.push({id:"".concat(Date.now(),"-").concat(Math.random().toString(36).slice(2,8)),file:a,status:"selected",progress:0,error:"",retryCount:0,previewUrl:a.type.startsWith("image/")?URL.createObjectURL(a):""})}}if(!r.length)return;let a=d?[...D.current,...r]:[r[r.length-1]];if(!d)for(let e of D.current)e.previewUrl&&URL.revokeObjectURL(e.previewUrl);if(O(a),m&&!y)for(let e of r)J(e.id)},[I,m,c,u,d,R,y,J]),V=r.useCallback(e=>{let t=e.target.files;t&&(H(Array.from(t)),e.target.value="")},[H]),K=r.useCallback(e=>{var t;e.preventDefault(),e.stopPropagation(),z(!1),c||H(Array.from(null!=(t=e.dataTransfer.files)?t:[]))},[H,c]);return(0,t.jsxs)("div",{className:(0,l.cn)("flex min-h-0 w-full flex-col gap-3",w),children:[(0,t.jsx)("input",{ref:T,id:M,type:"file",hidden:!0,accept:o,multiple:d,disabled:c,onChange:V}),(0,t.jsxs)("label",{htmlFor:M,onDragOver:e=>{e.preventDefault(),c||z(!0)},onDragLeave:e=>{e.preventDefault(),z(!1)},onDrop:K,className:(0,l.cn)("flex min-h-[124px] cursor-pointer flex-col items-center justify-center gap-1 rounded-lg border border-dashed border-[var(--ds-border)] px-4 py-6 text-center transition-colors hover:border-[var(--ds-border-hover)] hover:bg-[var(--ds-main-tint)]",E&&"bg-[var(--ds-accent)]/5 border-[var(--ds-accent)]",c&&"cursor-not-allowed opacity-60"),children:[(0,t.jsx)(a.default,{name:"Upload",size:20,className:"text-[var(--ds-muted)]"}),(0,t.jsx)("div",{className:"text-base text-[var(--ds-text)]",children:C}),(0,t.jsx)("div",{className:"text-sm text-[var(--ds-muted)]",children:j})]}),B.length?(0,t.jsx)("div",{className:"space-y-2",children:B.map(e=>(0,t.jsx)("div",{className:"rounded-md border border-[var(--ds-border)] p-2.5",children:(0,t.jsxs)("div",{className:"flex items-start justify-between gap-3",children:[(0,t.jsxs)("div",{className:"min-w-0 flex-1",children:[(0,t.jsx)("div",{className:"truncate text-base text-[var(--ds-text)]",children:e.file.name}),(0,t.jsx)("div",{className:"text-sm text-[var(--ds-muted)]",children:n(e.file.size)}),e.previewUrl?(0,t.jsx)("img",{src:e.previewUrl,alt:e.file.name,className:"mt-2 h-14 w-14 rounded object-cover"}):null,"uploading"===e.status||"retrying"===e.status?(0,t.jsx)("div",{className:"mt-2 h-1.5 w-full overflow-hidden rounded bg-[var(--ds-main-tint)]",children:(0,t.jsx)("div",{className:"h-full bg-[var(--ds-accent)] transition-all",style:{width:"".concat(e.progress,"%")}})}):null,"error"===e.status?(0,t.jsx)("div",{className:"mt-1 text-sm text-[var(--ds-danger)]",children:e.error||"上传失败"}):null]}),y?null:(0,t.jsxs)("div",{className:"flex items-center gap-1",children:["success"===e.status?(0,t.jsx)(a.default,{name:"CheckCircle2",size:16,className:"text-[var(--ds-accent)]"}):null,"selected"===e.status||"error"===e.status?(0,t.jsxs)(s.Button,{type:"button",size:"sm",variant:"outline",disabled:c,onClick:()=>J(e.id),children:["error"===e.status?(0,t.jsx)(a.default,{name:"RefreshCw",size:14,className:"mr-1"}):null,"error"===e.status?"重试":"上传"]}):null,"uploading"===e.status||"retrying"===e.status?(0,t.jsxs)(s.Button,{type:"button",size:"sm",variant:"outline",onClick:()=>_(e.id),children:[(0,t.jsx)(a.default,{name:"XCircle",size:14,className:"mr-1"}),"取消"]}):null]})]})},e.id))}):null,!y&&!m&&B.some(e=>"selected"===e.status||"error"===e.status)?(0,t.jsx)("div",{className:"flex justify-end",children:(0,t.jsx)(s.Button,{type:"button",size:"sm",onClick:F,disabled:c,children:"上传"})}):null]})}var o=e.i(76639),c=e.i(13354),d=e.i(29250);function u(e){let{open:a,onOpenChange:l,title:n,description:u,uploadUrl:m,resetKey:p}=e,[f,b]=(0,r.useState)(!1),[x,v]=(0,r.useState)(null),g=(0,r.useCallback)(()=>{l(!1),v(null)},[l]),h=(0,r.useCallback)(async()=>{if(!x)return void c.appToast.info("请先选择 zip 文件");let e=new FormData;e.append("file",x),b(!0);try{let t=await (0,d.bridgeFetch)(m,{method:"POST",body:e}),r=Number(t.imported||0),a=Number(t.overwritten||0),l=Array.isArray(t.rejected)?t.rejected.length:0;c.appToast.success("导入完成:导入 ".concat(r,",覆盖 ").concat(a)+(l>0?",拒绝 ".concat(l):"")),g()}catch(e){c.appToast.error("导入失败:".concat(e instanceof Error?e.message:String(e)))}finally{b(!1)}},[g,x,m]);return(0,t.jsx)(o.Dialog,{open:a,onOpenChange:e=>{l(e),e||v(null)},children:(0,t.jsxs)(o.DialogContent,{className:"flex min-h-[320px] max-w-[560px] flex-col",children:[(0,t.jsxs)(o.DialogHeader,{children:[(0,t.jsxs)("div",{children:[(0,t.jsx)(o.DialogTitle,{children:n}),(0,t.jsx)(o.DialogDescription,{children:u})]}),(0,t.jsx)(o.DialogClose,{className:"sidebar-icon-btn","aria-label":"关闭",onClick:g,children:"✕"})]}),(0,t.jsxs)("div",{className:"m-3 flex flex-1 flex-col gap-3",children:[(0,t.jsx)(i,{uploadUrl:m,accept:".zip,application/zip",maxFileSize:0x3200000,multiple:!1,disabled:f,selectionOnly:!0,emptyTitle:"点击或拖拽 zip 文件到此处",emptyHint:"支持 .zip 格式,最大 50MB",onFilesChange:e=>{var t,r;v(null!=(r=null==(t=e[0])?void 0:t.file)?r:null)},onValidationError:e=>{c.appToast.info(e)}},"".concat(a?"open":"closed","-").concat(null!=p?p:m)),(0,t.jsxs)("div",{className:"mt-auto flex justify-end pt-2",children:[(0,t.jsx)(s.Button,{className:"mr-[12px]",type:"button",variant:"plain-outline",size:"lg",onClick:g,children:"取消"}),(0,t.jsx)(s.Button,{type:"button",size:"lg",variant:"default",disabled:f||null==x,onClick:()=>void h(),children:f?"导入中…":"确定"})]})]})]})})}},55242,e=>{"use strict";e.s(["AppDialog",()=>s]);var t=e.i(18050),r=e.i(71645),a=e.i(76639),l=e.i(75157);function s(e){let{open:s,onOpenChange:n,title:i,children:o,footer:c,width:d="max-w-3xl",minHeight:u}=e,m=(0,r.useId)();return(0,t.jsx)(a.Dialog,{open:s,onOpenChange:n,children:(0,t.jsxs)(a.DialogContent,{"aria-labelledby":m,className:(0,l.cn)(d,u?"!min-h-[--min-h]":""),style:u?{"--min-h":u}:void 0,children:[(0,t.jsxs)(a.DialogHeader,{children:[(0,t.jsx)(a.DialogTitle,{id:m,children:i}),(0,t.jsx)(a.DialogClose,{"aria-label":"关闭"})]}),(0,t.jsx)(a.DialogBody,{className:"!px-4 !py-3",children:o}),c?(0,t.jsx)("div",{className:"flex flex-shrink-0 justify-end gap-2 border-t border-[var(--ds-border)] bg-[var(--ds-sidebar)] px-4 py-3",children:c}):null]})})}},37991,e=>{"use strict";e.s(["McpManageView",()=>S],37991);var t=e.i(18050),r=e.i(71645),a=e.i(65934),l=e.i(87243),s=e.i(13354),n=e.i(50711),i=e.i(51419),o=e.i(55242),c=e.i(92715),d=e.i(19455),u=e.i(94055),m=e.i(94197);function p(e){let{items:r,saveBusy:a,onToggleStatus:l,onEdit:s,className:n}=e,i=[{key:"name",title:"名称",headerClassName:"text-base",cellClassName:"text-base",render:e=>e.label||e.name},{key:"description",title:"详情",headerClassName:"text-base",cellClassName:"text-base",render:e=>e.description||"-"},{key:"source",title:"来源",headerClassName:"text-base",cellClassName:"text-base",render:()=>"远程"},{key:"status",title:"状态",headerClassName:"text-base",cellClassName:"whitespace-nowrap py-2 align-middle",render:e=>l?(0,t.jsx)("span",{className:"inline-flex items-center justify-end gap-2 text-base text-[var(--ds-text)]",children:(0,t.jsx)(u.AccentSwitch,{checked:!e.disabled,disabled:a,onCheckedChange:t=>{l(e.name,t)},"aria-label":"".concat(e.disabled?"启用":"禁用"," ").concat(e.name)})}):(0,t.jsx)("span",{className:"text-base text-[var(--ds-text)]",children:e.installed?"已安装":"未安装"})},...s?[{key:"actions",title:"操作",headerClassName:"w-[72px] text-base",cellClassName:"w-[72px]",render:e=>(0,t.jsx)("div",{className:"inline-flex justify-end",children:(0,t.jsx)(m.IconTooltipButton,{icon:"Edit",label:"编辑 MCP 配置",ariaLabel:"编辑 ".concat(e.name),disabled:a,onClick:()=>s(e.name)})})}]:[]];return(0,t.jsx)(c.AppTable,{rows:r,columns:i,getRowKey:e=>"mcp:".concat(e.name),className:n})}var f=e.i(36845),b=e.i(53925);function x(e){let{open:r,onOpenChange:a,wsUrl:l,apiBase:s,agent:n}=e;return(0,t.jsx)(b.ResourceImportDialog,{open:r,onOpenChange:a,title:"导入 MCP zip",description:"选择一个 zip 文件并导入到 mcp-runtime。",uploadUrl:(0,f.buildMcpRuntimeImportUrl)(l,s,n),resetKey:n})}var v=e.i(62427);function g(e){return(null!=e.packageId?String(e.packageId).trim():"")||e.id}function h(e){let{open:a,onOpenChange:l,itemId:n,source:i,wsUrl:c,apiBase:u,agent:m,onSaved:p}=e,[f,b]=(0,r.useState)(""),[x,g]=(0,r.useState)(!1),[h,y]=(0,r.useState)(!1),w="remote"===i?"remote":"runtime";(0,r.useEffect)(()=>{if(!a||!n.trim())return;let e=!1;return g(!0),b("加载中…"),(0,v.loadRuntimeMcpItemConfig)(c,u,m,n,w).then(t=>{if(e)return;let r=t.overlay;r&&"object"==typeof r&&!Array.isArray(r)?b(JSON.stringify(r,null,2)):b("{}")}).catch(t=>{e||(s.appToast.error("加载 MCP 配置失败:".concat(t instanceof Error?t.message:String(t))),l(!1))}).finally(()=>{e||g(!1)}),()=>{e=!0}},[a,n,c,u,m,w,l]);let C=(0,r.useCallback)(async()=>{let e;if(!n.trim())return;let t=f.trim();try{e=t?JSON.parse(t):{}}catch(e){s.appToast.error("JSON 解析失败:".concat(e instanceof Error?e.message:String(e)));return}if(!e||"object"!=typeof e||Array.isArray(e))return void s.appToast.error("配置必须是 JSON 对象");if("mcpServers"in e&&null!=e.mcpServers)return void s.appToast.error("请填写标准 server 配置(command/args/env),不要嵌套 mcpServers");let r=0===Object.keys(e).length;y(!0);try{r?await (0,v.clearRuntimeMcpItemConfig)(c,u,m,n,w):await (0,v.saveRuntimeMcpItemConfig)(c,u,m,n,w,e),s.appToast.success("MCP 配置已保存"),l(!1),null==p||p()}catch(e){s.appToast.error("保存失败:".concat(e instanceof Error?e.message:String(e)))}finally{y(!1)}},[n,f,c,u,m,w,l,p]);return(0,t.jsx)(o.AppDialog,{open:a,onOpenChange:l,title:"编辑 MCP 配置 · ".concat(n),width:"max-w-4xl",minHeight:"420px",footer:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(d.Button,{type:"button",variant:"plain-outline",size:"lg",disabled:h,onClick:()=>l(!1),children:"取消"}),(0,t.jsx)(d.Button,{type:"button",size:"lg",disabled:h||x,onClick:()=>void C(),children:"保存"})]}),children:(0,t.jsx)("textarea",{className:"focus-visible:ring-[var(--ds-accent)]/30 min-h-[320px] w-full resize-y rounded-md border border-[var(--ds-border)] bg-[var(--ds-bg)] p-3 font-mono text-sm leading-6 text-[var(--ds-text)] outline-none focus-visible:ring-2",spellCheck:!1,value:f,disabled:x,onChange:e=>b(e.target.value)})})}var y=e.i(68499),w=e.i(72064),C=e.i(56708);let j=[{value:"basic",label:"本地MCP"},{value:"installed",label:"远程MCP"}];function S(){let e=(0,a.useAppStore)(e=>e.wsUrl),f=(0,a.useAppStore)(e=>e.apiBase),b=(0,a.useAppStore)(e=>e.agentConfig),S=(0,a.useAppStore)(e=>e.setAgentConfig),{currentAgent:N,loadAgentConfig:k}=(0,l.useSession)(),R=(0,n.usePersistAgentConfigField)("mcpServers"),M=b.mcpServers,T=(0,r.useMemo)(()=>[...M].sort().join("\0"),[M]),[A,U]=(0,r.useState)([]),[D,E]=(0,r.useState)([]),[z,B]=(0,r.useState)(!1),[O,I]=(0,r.useState)(!1),[L,P]=(0,r.useState)("basic"),[J,_]=(0,r.useState)(!1),[F,H]=(0,r.useState)(!1),[V,K]=(0,r.useState)(""),[W,q]=(0,r.useState)(!1),[X,G]=(0,r.useState)(""),[Q,Y]=(0,r.useState)(),[Z,$]=(0,r.useState)(!1);(0,r.useEffect)(()=>{k()},[k]);let ee=(0,r.useCallback)(async(e,t)=>{I(!0);try{await R(e,{silent:t})}finally{I(!1)}},[R]),et=(0,r.useCallback)(e=>A.find(t=>t.id===e),[A]),er=(0,r.useCallback)(e=>{let t=et(e);G(e),Y(null==t?void 0:t.source),$(!0)},[et]),ea=(0,r.useCallback)(async()=>{U([]),B(!0);try{var t;let r=await (0,v.listMcpServers)(e,f,N());U((null!=(t=r.servers)?t:[]).map(e=>{var t,r,a;return{...e,id:e.name,label:e.name+(e.disabled?"(已禁用)":""),description:null!=(r=null!=(t=e.description)?t:e.source)?r:"",source:null!=(a=e.source)?a:"",installed:!!e.installed,packageId:e.packageId}}))}catch(e){U([]),s.appToast.error("加载失败:".concat(e instanceof Error?e.message:String(e)))}finally{B(!1)}},[e,f,N]),el=(0,r.useCallback)(async t=>{var r;let a=et(t),l=null!=(r=null==a?void 0:a.source)?r:"";if("runtime"!==l&&"remote"!==l)return void s.appToast.error("基础MCP不可删除");if(await (0,y.confirmAlertDialog)({title:"确认删除 MCP?",description:"服务器名:".concat(t),confirmText:"删除",cancelText:"取消"}))try{if("remote"===l){let r=await (0,v.loadRemoteMcpJson)(e,f,N()),a={};try{a=JSON.parse(String(r.content||"{}"))}catch(e){a={mcpServers:{}}}(!a.mcpServers||Array.isArray(a.mcpServers)||"object"!=typeof a.mcpServers)&&(a.mcpServers={}),delete a.mcpServers[t],await (0,v.saveRemoteMcpJson)(e,f,N(),JSON.stringify(a,null,2))}else{let r=a?g(a):t;await (0,v.deleteRuntimeMcp)(e,f,N(),r)}let r=M.filter(e=>e!==t);E(e=>e.filter(e=>e!==t)),S({...b,mcpServers:r}),await ee(r,!0),await ea()}catch(e){s.appToast.error("删除失败:".concat(e instanceof Error?e.message:String(e)))}},[et,e,f,N,M,b,S,ee,ea]);(0,r.useEffect)(()=>{("basic"===L||"installed"===L)&&ea()},[L,ea]),(0,r.useEffect)(()=>{("basic"===L||"installed"===L)&&E([...M])},[L,M,T]);let es=(0,r.useCallback)(async e=>{let t=[...new Set(e)].sort();S({...b,mcpServers:t}),await ee(t,!0)},[b,S,ee]),en=(0,r.useCallback)(async(e,t)=>{let r=t?[...new Set([...D,e])]:D.filter(t=>t!==e);E(r);try{await es(r)}catch(e){E(D),s.appToast.error("切换启用状态失败: ".concat(e))}},[D,es]),ei=(0,r.useMemo)(()=>A.filter(e=>"remote"!==e.source).slice().sort((e,t)=>e.id.localeCompare(t.id)),[A]),eo=(0,r.useMemo)(()=>A.filter(e=>"remote"===e.source).slice().sort((e,t)=>{let r=+!D.includes(e.id),a=+!D.includes(t.id);return r!==a?r-a:e.id.localeCompare(t.id)}).map(e=>({...e,name:e.id,label:e.label,description:e.description||"",installed:!0,source:e.source,disabled:!D.includes(e.id)})),[A,D]),ec=(0,r.useCallback)(t=>{window.open((0,v.exportRuntimeMcpUrl)(e,f,N(),g(t)),"_blank","noopener")},[e,f,N]),ed=(0,r.useCallback)(async(e,t)=>{let r=t?[...new Set([...D,e])]:D.filter(t=>t!==e);E(r);try{await es(r)}catch(e){E(D),s.appToast.error("切换启用状态失败: ".concat(e))}},[D,es]),eu=(0,r.useCallback)(()=>{H(!0),K(""),(0,v.loadRemoteMcpJson)(e,f,N()).then(e=>{K("string"==typeof e.content?e.content:'{\n "mcpServers": {}\n}\n')}).catch(e=>{s.appToast.error("加载 mcp.json 失败:".concat(e instanceof Error?e.message:String(e))),H(!1)})},[e,f,N]),em=(0,r.useCallback)(async()=>{let t=function(e){let t,r=e.trim();if(!r)return"请输入 JSON 配置内容";try{t=JSON.parse(r)}catch(e){return"JSON 解析失败:".concat(e instanceof Error?e.message:String(e))}if(!t||"object"!=typeof t||Array.isArray(t))return"JSON 根节点必须是对象";let a=t.mcpServers;if(!a||"object"!=typeof a||Array.isArray(a))return"mcpServers 不能为空,且需包含至少一个 server";let l=Object.keys(a).filter(e=>e.trim());if(!l.length)return"mcpServers 不能为空,且需包含至少一个 server";let s=new Set;for(let e of l){let t=e.trim();!t||s.has(t)||s.add(t)}return s.size?null:"未解析到有效的 server 名称"}(V);if(t)return void s.appToast.error(t);q(!0);try{await (0,v.saveRemoteMcpJson)(e,f,N(),V.trim()),s.appToast.success("已保存全局 mcp.json。"),H(!1),await ea()}catch(e){s.appToast.error("保存 mcp.json 失败:".concat(e instanceof Error?e.message:String(e)))}finally{q(!1)}},[e,f,N,V,ea]),ep=[{key:"name",title:"名称",headerClassName:"text-base text-[var(--ds-muted)]",cellClassName:"text-base text-[var(--ds-text)]",render:e=>e.label},{key:"description",title:"详情",headerClassName:"text-base text-[var(--ds-muted)]",cellClassName:"text-base text-[var(--ds-text)]",render:e=>e.description||"-"},{key:"enabled",title:"启用/未启用",headerClassName:"w-14 w-[112px] text-right text-base text-[var(--ds-muted)]",cellClassName:"w-[112px] py-2 text-right align-middle",render:e=>(0,t.jsx)("span",{className:"inline-flex justify-end",children:(0,t.jsx)(u.AccentSwitch,{checked:D.includes(e.id),disabled:O,onCheckedChange:t=>{en(e.id,t)},"aria-label":"选择 ".concat(e.label)})})},{key:"actions",title:"操作",headerClassName:"w-[168px] text-base text-[var(--ds-muted)]",cellClassName:"w-[168px]",render:e=>{var r;let a=null!=(r=e.source)?r:"",l="runtime"===a,s="runtime"===a||"remote"===a;return(0,t.jsxs)("div",{className:"inline-flex items-center justify-end gap-1",children:[(0,t.jsx)(m.IconTooltipButton,{icon:"Download",label:l?"导出":"仅 runtime MCP 支持导出",ariaLabel:"导出 ".concat(e.label),disabled:O||!l,onClick:()=>ec(e)}),(0,t.jsx)(m.IconTooltipButton,{icon:"Edit",label:"编辑 MCP 配置",ariaLabel:"编辑 ".concat(e.label),disabled:O,onClick:()=>er(e.id)}),(0,t.jsx)(m.IconTooltipButton,{icon:"Trash2",label:s?"删除":"基础MCP不可删除",tone:"danger",ariaLabel:"删除 ".concat(e.label),disabled:O||!s,onClick:()=>{el(e.id)},iconClassName:"text-red-500"})]})}}];return(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(C.ManageChromeHeaderActions,{children:(0,t.jsxs)("div",{className:"flex flex-wrap items-center",children:[(0,t.jsxs)(d.Button,{type:"button",variant:"plain-outline",size:"lg",onClick:eu,className:"mr-[12px]",children:[(0,t.jsx)(w.default,{name:"Edit",size:16,className:"align-middle"}),"编辑全局MCP"]}),(0,t.jsxs)(d.Button,{id:"btnAgentImportMcp",type:"button",variant:"plain-outline",size:"lg",className:"inline-flex items-center justify-center gap-1.5",onClick:()=>_(!0),children:[(0,t.jsx)(w.default,{name:"Import",size:16,className:"align-middle"}),"导入MCP"]})]})}),(0,t.jsxs)(i.AppTabs,{tabs:j,value:L,listVariant:"line",onChange:e=>P(e),children:[(0,t.jsx)(i.AppTabsPanel,{value:"basic",children:(0,t.jsx)("div",{className:"flex min-h-0 flex-1 flex-col gap-3",children:(0,t.jsx)("div",{className:"min-h-0",children:z?(0,t.jsx)("p",{className:"px-3 py-6 text-center text-base text-[var(--ds-muted)]",children:"加载中…"}):(0,t.jsx)(c.AppTable,{rows:ei,columns:ep,getRowKey:e=>e.id})})})}),(0,t.jsx)(i.AppTabsPanel,{value:"installed",children:(0,t.jsx)(p,{items:eo,saveBusy:O,onToggleStatus:ed,onEdit:er})})]}),(0,t.jsx)(x,{open:J,onOpenChange:e=>{_(e),e||ea()},wsUrl:e,apiBase:f,agent:N()}),(0,t.jsx)(h,{open:Z,onOpenChange:$,itemId:X,source:Q,wsUrl:e,apiBase:f,agent:N(),onSaved:()=>{ea(),ee(b.mcpServers,!0)}}),(0,t.jsx)(o.AppDialog,{open:F,onOpenChange:H,title:"编辑全局MCP",width:"max-w-4xl",minHeight:"420px",footer:(0,t.jsxs)(t.Fragment,{children:[(0,t.jsx)(d.Button,{type:"button",variant:"plain-outline",size:"lg",disabled:W,onClick:()=>H(!1),children:"取消"}),(0,t.jsx)(d.Button,{type:"button",size:"lg",disabled:W,onClick:()=>void em(),children:"保存"})]}),children:(0,t.jsx)("textarea",{className:"focus-visible:ring-[var(--ds-accent)]/30 min-h-[320px] w-full resize-y rounded-md border border-[var(--ds-border)] bg-[var(--ds-bg)] p-3 text-base leading-6 text-[var(--ds-text)] outline-none focus-visible:ring-2",spellCheck:!1,value:V,onChange:e=>K(e.target.value)})})]})}}]);
|