@seqyuan/annodex 0.1.4 → 0.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-path-routes-manifest.json +4 -4
  3. package/.next/build-manifest.json +2 -2
  4. package/.next/prerender-manifest.json +3 -3
  5. package/.next/required-server-files.js +1 -1
  6. package/.next/required-server-files.json +1 -1
  7. package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
  8. package/.next/server/app/_global-error.html +1 -1
  9. package/.next/server/app/_global-error.rsc +1 -1
  10. package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
  11. package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
  12. package/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
  13. package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
  14. package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
  15. package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
  16. package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
  17. package/.next/server/app/_not-found.html +1 -1
  18. package/.next/server/app/_not-found.rsc +1 -1
  19. package/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
  20. package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
  21. package/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
  22. package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
  23. package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
  24. package/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
  25. package/.next/server/app/api/auth/all-providers/route.js +1 -1
  26. package/.next/server/app/api/internal/runtime/route.js +1 -1
  27. package/.next/server/app/api/models/route.js +1 -1
  28. package/.next/server/app/api/models-config/discover/route.js +1 -1
  29. package/.next/server/app/api/models-config/route.js +1 -1
  30. package/.next/server/app/api/settings/route.js +1 -1
  31. package/.next/server/app/api/version/route.js +1 -1
  32. package/.next/server/app/index.html +1 -1
  33. package/.next/server/app/index.rsc +2 -2
  34. package/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  35. package/.next/server/app/index.segments/_full.segment.rsc +2 -2
  36. package/.next/server/app/index.segments/_head.segment.rsc +1 -1
  37. package/.next/server/app/index.segments/_index.segment.rsc +1 -1
  38. package/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  39. package/.next/server/app/login/page_client-reference-manifest.js +1 -1
  40. package/.next/server/app/login.html +1 -1
  41. package/.next/server/app/login.rsc +1 -1
  42. package/.next/server/app/login.segments/_full.segment.rsc +1 -1
  43. package/.next/server/app/login.segments/_head.segment.rsc +1 -1
  44. package/.next/server/app/login.segments/_index.segment.rsc +1 -1
  45. package/.next/server/app/login.segments/_tree.segment.rsc +1 -1
  46. package/.next/server/app/login.segments/login/__PAGE__.segment.rsc +1 -1
  47. package/.next/server/app/login.segments/login.segment.rsc +1 -1
  48. package/.next/server/app/page.js +3 -3
  49. package/.next/server/app/page_client-reference-manifest.js +1 -1
  50. package/.next/server/app-paths-manifest.json +4 -4
  51. package/.next/server/chunks/402.js +2 -2
  52. package/.next/server/chunks/6268.js +1 -1
  53. package/.next/server/chunks/6429.js +2 -2
  54. package/.next/server/middleware-build-manifest.js +1 -1
  55. package/.next/server/pages/404.html +1 -1
  56. package/.next/server/pages/500.html +1 -1
  57. package/.next/server/server-reference-manifest.json +1 -1
  58. package/.next/static/chunks/app/{page-6a323838773771aa.js → page-222c90470be7f8ed.js} +3 -3
  59. package/.next/trace +74 -74
  60. package/.next/trace-build +1 -1
  61. package/package.json +1 -1
  62. /package/.next/static/{71bQ0tM7oHMJrmueFtcay → ZjzxirYs2-A0VkOP-UaAI}/_buildManifest.js +0 -0
  63. /package/.next/static/{71bQ0tM7oHMJrmueFtcay → ZjzxirYs2-A0VkOP-UaAI}/_ssgManifest.js +0 -0
@@ -1 +1 @@
1
- (()=>{var a={};a.id=1541,a.ids=[1541],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},21820:a=>{"use strict";a.exports=require("os")},29021:a=>{"use strict";a.exports=require("fs")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:a=>{"use strict";a.exports=require("path")},44870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},55132:(a,b,c)=>{"use strict";c.d(b,{AX:()=>u,Dw:()=>s,HO:()=>q,KR:()=>v,fZ:()=>w,lh:()=>t,rv:()=>m,u_:()=>r});var d=c(29021),e=c(33873),f=c(21820),g=c(18477),h=c(89035),i=c(99526);function j(){return process.env.ANNODEX_CONFIG_DIR??process.env.ANNOVIBE_CONFIG_DIR??(0,e.join)((0,f.homedir)(),".config","annodex")}function k(){return(0,e.join)(j(),"providers.json")}let l={"gpt-5-codex":{contextWindow:1048576,maxTokens:128e3},"gpt-5.1-codex-max":{contextWindow:1048576,maxTokens:128e3},"gpt-5.1-codex-mini":{contextWindow:1048576,maxTokens:128e3},"gpt-4.1-codex-max":{contextWindow:1048576,maxTokens:32768},"gpt-4.1-codex-mini":{contextWindow:1048576,maxTokens:32768},"deepseek-chat":{contextWindow:1048576,maxTokens:8192},"deepseek-reasoner":{contextWindow:1048576,maxTokens:8192},"deepseek-v3":{contextWindow:1048576,maxTokens:8192},"kimi-k2":{contextWindow:1048576,maxTokens:8192},"moonshot-v1-auto":{contextWindow:1048576,maxTokens:8192},"glm-4-plus":{contextWindow:128e3,maxTokens:4096},"glm-4-flash":{contextWindow:128e3,maxTokens:4096},"qwen-max":{contextWindow:1048576,maxTokens:8192},"qwen-plus":{contextWindow:1048576,maxTokens:8192},"qwen-turbo":{contextWindow:1048576,maxTokens:8192},"qwen3-235b-a22b":{contextWindow:131072,maxTokens:8192}};function m(a){return a?l[a]:void 0}function n(){return{providers:[],exists:!1}}function o(){let a=(0,e.join)((0,h.R)(),"config.toml");if(!(0,d.existsSync)(a))return null;try{let b=(0,d.readFileSync)(a,"utf-8");return(0,g.qg)(b)}catch{return null}}function p(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}function q(){let a=k();if(!(0,d.existsSync)(a))return n();try{let b=JSON.parse((0,d.readFileSync)(a,"utf-8"));return{providers:Array.isArray(b.providers)?b.providers.filter(a=>"string"==typeof a.id&&"string"==typeof a.baseUrl).map(a=>({id:a.id,name:"string"==typeof a.name?a.name:a.id,baseUrl:a.baseUrl.replace(/\/+$/,""),apiKey:"string"==typeof a.apiKey?a.apiKey:"",api:(0,i.pp)(a.api,a.baseUrl,a.id),requiresOpenAiAuth:"boolean"==typeof a.requiresOpenAiAuth?a.requiresOpenAiAuth:void 0,models:Array.isArray(a.models)?a.models.map(a=>(function(a){if(!p(a)||"string"!=typeof a.id)return null;let b=a.id.trim();return b?{id:b,name:"string"==typeof a.name&&a.name.trim()?a.name:b,api:(0,i.mi)(a.api)?a.api:void 0,reasoning:"boolean"==typeof a.reasoning?a.reasoning:void 0,thinkingLevelMap:function(a){if(!p(a))return;let b={};for(let[c,d]of Object.entries(a))c&&("string"==typeof d?b[c]=d:null===d&&(b[c]=null));return Object.keys(b).length?b:void 0}(a.thinkingLevelMap),input:function(a){if(!Array.isArray(a))return;let b=a.filter(a=>"string"==typeof a&&a.trim().length>0);return b.length?b:void 0}(a.input),contextWindow:"number"==typeof a.contextWindow?a.contextWindow:void 0,maxTokens:"number"==typeof a.maxTokens?a.maxTokens:void 0,compat:function(a){if(p(a))return Object.keys(a).length?a:void 0}(a.compat)}:null})(a)).filter(a=>null!==a):[]})):n().providers,defaultProvider:"string"==typeof b.defaultProvider?b.defaultProvider:void 0,defaultModel:"string"==typeof b.defaultModel?b.defaultModel:void 0,generativeUI:"boolean"==typeof b.generativeUI?b.generativeUI:void 0,exists:!0}}catch{return n()}}function r(a){let b=j();(0,d.existsSync)(b)||(0,d.mkdirSync)(b,{recursive:!0});let{exists:c,...e}=a;return(0,d.writeFileSync)(k(),JSON.stringify(e,null,2),"utf-8"),a}function s(){let a=q(),b=function(){let a=o();if(!a?.model_providers)return[];let b="string"==typeof a.model?a.model:"",c="string"==typeof a.model_provider?a.model_provider:"";return Object.entries(a.model_providers).filter(([,a])=>"string"==typeof a.base_url).map(([a,d])=>({id:a,name:d.name??a,baseUrl:(d.base_url??"").replace(/\/+$/,""),apiKey:"string"==typeof d.env_key?d.env_key:"",api:(0,i.DL)(d.wire_api,d.base_url,a),requiresOpenAiAuth:"boolean"==typeof d.requires_openai_auth?d.requires_openai_auth:void 0,models:a===c&&b?[{id:b,name:b}]:[]}))}(),c=function(){let a=o();if(!a)return{};let b="string"==typeof a.model&&a.model.trim()?a.model.trim():void 0,c="string"==typeof a.model_provider&&a.model_provider.trim()?a.model_provider.trim():void 0,d=c?a.model_providers?.[c]?.name??c:void 0;return{model:b,providerId:c,providerName:d}}(),d=new Set(a.providers.map(a=>a.id)),e=[...a.providers];for(let a of b)d.has(a.id)||(e.push(a),d.add(a.id));return{providers:e,defaultModel:c.model,defaultProvider:c.providerId,generativeUI:!1!==a.generativeUI,codexDefaults:c}}function t(a,b){return a.providers.find(a=>a.id===b)}function u(a,b,c){let d=b||a.defaultModel;if(!d)return null;let e=c?t(a,c):void 0;if(e)return 0===e.models.length||e.models.some(a=>a.id===d)?{provider:e,modelId:d}:null;let f=function(a,b){for(let c of a.providers)if(c.models.some(a=>a.id===b))return c}(a,d);return f?{provider:f,modelId:d}:null}function v(a){let b=[];for(let c of a.providers)for(let a of c.models){let d=l[a.id];b.push({provider:c.id,modelId:a.id,name:a.name||a.id,api:a.api,reasoning:a.reasoning,thinkingLevelMap:a.thinkingLevelMap,contextWindow:a.contextWindow??d?.contextWindow,maxTokens:a.maxTokens??d?.maxTokens,input:a.input,compat:a.compat})}return b}function w(a){if(!a.codexDefaults.model)return null;let b=u(a,a.codexDefaults.model,a.codexDefaults.providerId);return!b&&a.codexDefaults.providerId?{provider:a.codexDefaults.providerId,modelId:a.codexDefaults.model}:b?{provider:b.provider.id,modelId:b.modelId}:null}},61432:(a,b,c)=>{"use strict";c.r(b),c.d(b,{handler:()=>E,patchFetch:()=>D,routeModule:()=>z,serverHooks:()=>C,workAsyncStorage:()=>A,workUnitAsyncStorage:()=>B});var d={};c.r(d),c.d(d,{GET:()=>y,dynamic:()=>x});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(23211),w=c(55132);let x="force-dynamic";async function y(){try{let a=(0,w.Dw)();return v.NextResponse.json({providers:a.providers.map(a=>({id:a.id,displayName:a.name||a.id,configured:!!(a.apiKey?.trim()||a.baseUrl?.trim()),source:"providers.json",modelCount:a.models.length}))})}catch{return v.NextResponse.json({providers:[]})}}let z=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/auth/all-providers/route",pathname:"/api/auth/all-providers",filename:"route",bundlePath:"app/api/auth/all-providers/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/annodex/annodex/app/api/auth/all-providers/route.ts",nextConfigOutput:"",userland:d}),{workAsyncStorage:A,workUnitAsyncStorage:B,serverHooks:C}=z;function D(){return(0,g.patchFetch)({workAsyncStorage:A,workUnitAsyncStorage:B})}async function E(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),z.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/auth/all-providers/route";"/index"===d&&(d="/");let e=await z.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,params:v,nextConfig:w,parsedUrl:x,isDraftMode:y,prerenderManifest:A,routerServerContext:B,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,resolvedPathname:E,clientReferenceManifest:F,serverActionsManifest:G}=e,H=(0,k.normalizeAppPath)(d),I=!!(A.dynamicRoutes[H]||A.routes[E]),J=async()=>((null==B?void 0:B.render404)?await B.render404(a,b,x,!1):b.end("This page could not be found"),null);if(I&&!y){let a=!!A.routes[E],b=A.dynamicRoutes[H];if(b&&!1===b.fallback&&!a){if(w.adapterPath)return await J();throw new t.NoFallbackError}}let K=null;!I||z.isDev||y||(K="/index"===(K=E)?"/":K);let L=!0===z.isDev||!I,M=I&&!L;G&&F&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:F,serverActionsManifest:G});let N=a.method||"GET",O=(0,i.getTracer)(),P=O.getActiveScopeSpan(),Q=!!(null==B?void 0:B.isWrappedByNextServer),R=!!(0,h.getRequestMeta)(a,"minimalMode"),S=(0,h.getRequestMeta)(a,"incrementalCache")||await z.getIncrementalCache(a,w,A,R);null==S||S.resetRequestCache(),globalThis.__incrementalCache=S;let T={params:v,previewProps:A.preview,renderOpts:{experimental:{authInterrupts:!!w.experimental.authInterrupts},cacheComponents:!!w.cacheComponents,supportsDynamicResponse:L,incrementalCache:S,cacheLifeProfiles:w.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>z.onRequestError(a,b,d,e,B)},sharedContext:{buildId:g}},U=new l.NodeNextRequest(a),V=new l.NodeNextResponse(b),W=m.NextRequestAdapter.fromNodeNextRequest(U,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>z.handle(W,T).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=O.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let f=c.get("next.route");if(f){let b=`${N} ${f}`;a.setAttributes({"next.route":f,"http.route":f,"next.span_name":b}),a.updateName(b),e&&e!==a&&(e.setAttribute("http.route",f),e.updateName(b))}else a.updateName(`${N} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!R&&C&&D&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await g(e);a.fetchMetrics=T.renderOpts.fetchMetrics;let h=T.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=T.renderOpts.collectedTags;if(!I)return await (0,p.I)(U,V,d,T.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);i&&(b[s.NEXT_CACHE_TAGS_HEADER]=i),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==T.renderOpts.collectedRevalidate&&!(T.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&T.renderOpts.collectedRevalidate,e=void 0===T.renderOpts.collectedExpire||T.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:T.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await z.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,B),b}},k=await z.handleResponse({req:a,nextConfig:w,cacheKey:K,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:R});if(!I)return null;if((null==k||null==(h=k.value)?void 0:h.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==k||null==(i=k.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});R||b.setHeader("x-nextjs-cache",C?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),y&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,q.fromNodeOutgoingHttpHeaders)(k.value.headers);return R&&I||l.delete(s.NEXT_CACHE_TAGS_HEADER),!k.cacheControl||b.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,r.getCacheControlHeader)(k.cacheControl)),await (0,p.I)(U,V,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};Q&&P?await h(P):(e=O.getActiveScopeSpan(),await O.withPropagatedContext(a.headers,()=>O.trace(n.BaseServerSpan.handleRequest,{spanName:`${N} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":N,"http.target":a.url}},h),void 0,!Q))}catch(b){if(b instanceof t.NoFallbackError||await z.onRequestError(a,b,{routerKind:"App Router",routePath:H,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,B),I)throw b;return await (0,p.I)(U,V,new Response(null,{status:500})),null}}},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},78335:()=>{},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},89035:(a,b,c)=>{"use strict";c.d(b,{R:()=>f});var d=c(33873),e=c(21820);function f(){return process.env.CODEX_HOME?.trim()||(0,d.join)((0,e.homedir)(),".codex")}},96487:()=>{},99526:(a,b,c)=>{"use strict";c.d(b,{DL:()=>j,mi:()=>g,pp:()=>i});let d=["openai-responses","openai-completions"],e=[/\/chat\/completions(?:$|[?#])/i,/deepseek/i,/deeprouter/i,/moonshot|kimi/i,/dashscope|aliyun|qwen/i,/zhipu|bigmodel|chatglm|glm/i,/siliconflow/i,/volcengine|ark\.cn|doubao/i,/baichuan/i,/minimax/i,/stepfun|step-api/i,/lingyiwanwu|yi-api/i],f=[/api\.openai\.com/i,/\/responses(?:$|[?#])/i];function g(a){return"string"==typeof a&&d.includes(a)}function h(a,b,c="openai-responses"){let d=`${b??""} ${a??""}`.toLowerCase();return d.trim()?f.some(a=>a.test(d))?"openai-responses":e.some(a=>a.test(d))?"openai-completions":c:c}function i(a,b,c){return g(a)?a:h(b,c)}function j(a,b,c){return"responses"===a?"openai-responses":"chat"===a||"chat_completions"===a||"chat-completions"===a?"openai-completions":b||c?h(b,c):void 0}}};var b=require("../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,1813,8477],()=>b(b.s=61432));module.exports=c})();
1
+ (()=>{var a={};a.id=1541,a.ids=[1541],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},21820:a=>{"use strict";a.exports=require("os")},29021:a=>{"use strict";a.exports=require("fs")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:a=>{"use strict";a.exports=require("path")},44870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},55132:(a,b,c)=>{"use strict";c.d(b,{AX:()=>u,Dw:()=>s,HO:()=>q,KR:()=>v,fZ:()=>w,lh:()=>t,rv:()=>m,u_:()=>r});var d=c(29021),e=c(33873),f=c(21820),g=c(18477),h=c(89035),i=c(99526);function j(){return process.env.ANNODEX_CONFIG_DIR??process.env.ANNOVIBE_CONFIG_DIR??(0,e.join)((0,f.homedir)(),".config","annodex")}function k(){return(0,e.join)(j(),"providers.json")}let l={"gpt-5-codex":{contextWindow:1048576,maxTokens:128e3},"gpt-5.1-codex-max":{contextWindow:1048576,maxTokens:128e3},"gpt-5.1-codex-mini":{contextWindow:1048576,maxTokens:128e3},"gpt-4.1-codex-max":{contextWindow:1048576,maxTokens:32768},"gpt-4.1-codex-mini":{contextWindow:1048576,maxTokens:32768},"deepseek-chat":{contextWindow:1048576,maxTokens:8192},"deepseek-reasoner":{contextWindow:1048576,maxTokens:8192},"deepseek-v3":{contextWindow:1048576,maxTokens:8192},"kimi-k2":{contextWindow:1048576,maxTokens:8192},"moonshot-v1-auto":{contextWindow:1048576,maxTokens:8192},"glm-4-plus":{contextWindow:128e3,maxTokens:4096},"glm-4-flash":{contextWindow:128e3,maxTokens:4096},"qwen-max":{contextWindow:1048576,maxTokens:8192},"qwen-plus":{contextWindow:1048576,maxTokens:8192},"qwen-turbo":{contextWindow:1048576,maxTokens:8192},"qwen3-235b-a22b":{contextWindow:131072,maxTokens:8192}};function m(a){return a?l[a]:void 0}function n(){return{providers:[],exists:!1}}function o(){let a=(0,e.join)((0,h.R)(),"config.toml");if(!(0,d.existsSync)(a))return null;try{let b=(0,d.readFileSync)(a,"utf-8");return(0,g.qg)(b)}catch{return null}}function p(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}function q(){let a=k();if(!(0,d.existsSync)(a))return n();try{let b=JSON.parse((0,d.readFileSync)(a,"utf-8"));return{providers:Array.isArray(b.providers)?b.providers.filter(a=>"string"==typeof a.id&&"string"==typeof a.baseUrl).map(a=>({id:a.id,name:"string"==typeof a.name?a.name:a.id,baseUrl:a.baseUrl.replace(/\/+$/,""),apiKey:"string"==typeof a.apiKey?a.apiKey:"",api:(0,i.pp)(a.api,a.baseUrl,a.id),requiresOpenAiAuth:"boolean"==typeof a.requiresOpenAiAuth?a.requiresOpenAiAuth:void 0,models:Array.isArray(a.models)?a.models.map(a=>(function(a){if(!p(a)||"string"!=typeof a.id)return null;let b=a.id.trim();return b?{id:b,name:"string"==typeof a.name&&a.name.trim()?a.name:b,api:(0,i.mi)(a.api)?a.api:void 0,reasoning:"boolean"==typeof a.reasoning?a.reasoning:void 0,thinkingLevelMap:function(a){if(!p(a))return;let b={};for(let[c,d]of Object.entries(a))c&&("string"==typeof d?b[c]=d:null===d&&(b[c]=null));return Object.keys(b).length?b:void 0}(a.thinkingLevelMap),input:function(a){if(!Array.isArray(a))return;let b=a.filter(a=>"string"==typeof a&&a.trim().length>0);return b.length?b:void 0}(a.input),contextWindow:"number"==typeof a.contextWindow?a.contextWindow:void 0,maxTokens:"number"==typeof a.maxTokens?a.maxTokens:void 0,compat:function(a){if(p(a))return Object.keys(a).length?a:void 0}(a.compat)}:null})(a)).filter(a=>null!==a):[]})):n().providers,defaultProvider:"string"==typeof b.defaultProvider?b.defaultProvider:void 0,defaultModel:"string"==typeof b.defaultModel?b.defaultModel:void 0,generativeUI:"boolean"==typeof b.generativeUI?b.generativeUI:void 0,exists:!0}}catch{return n()}}function r(a){let b=j();(0,d.existsSync)(b)||(0,d.mkdirSync)(b,{recursive:!0});let{exists:c,...e}=a;return(0,d.writeFileSync)(k(),JSON.stringify(e,null,2),"utf-8"),a}function s(){let a=q(),b=function(){let a=o();if(!a?.model_providers)return[];let b="string"==typeof a.model?a.model:"",c="string"==typeof a.model_provider?a.model_provider:"";return Object.entries(a.model_providers).filter(([,a])=>"string"==typeof a.base_url).map(([a,f])=>({id:a,name:f.name??a,baseUrl:(f.base_url??"").replace(/\/+$/,""),apiKey:function(a){if("string"==typeof a.env_key&&a.env_key.trim())return a.env_key.trim();let b=function(){let a=(0,e.join)((0,h.R)(),"auth.json");if(!(0,d.existsSync)(a))return null;try{return JSON.parse((0,d.readFileSync)(a,"utf-8"))}catch{return null}}();return"string"==typeof b?.OPENAI_API_KEY&&b.OPENAI_API_KEY.trim()?b.OPENAI_API_KEY.trim():""}(f),api:(0,i.DL)(f.wire_api,f.base_url,a),requiresOpenAiAuth:"boolean"==typeof f.requires_openai_auth?f.requires_openai_auth:void 0,models:a===c&&b?[{id:b,name:b}]:[]}))}(),c=function(){let a=o();if(!a)return{};let b="string"==typeof a.model&&a.model.trim()?a.model.trim():void 0,c="string"==typeof a.model_provider&&a.model_provider.trim()?a.model_provider.trim():void 0,d=c?a.model_providers?.[c]?.name??c:void 0;return{model:b,providerId:c,providerName:d}}(),f=new Map(a.providers.map(a=>[a.id,a])),g=[...a.providers];for(let a of b){let b=f.get(a.id);if(b){let c=g.findIndex(b=>b.id===a.id),d=function(a,b){let c=new Set(a.models.map(a=>a.id));return{...a,name:a.name||b.name,baseUrl:a.baseUrl||b.baseUrl,apiKey:a.apiKey||b.apiKey,api:a.api??b.api,requiresOpenAiAuth:a.requiresOpenAiAuth??b.requiresOpenAiAuth,models:[...a.models,...b.models.filter(a=>!c.has(a.id))]}}(b,a);g[c]=d,f.set(a.id,d)}else g.push(a),f.set(a.id,a)}return{providers:g.map(a=>{let b;return b=a.models.map(b=>({...b,api:b.api??(0,i.Y3)(b.id,a.api,a.baseUrl,a.id)})),{...a,models:b}}),defaultModel:c.model,defaultProvider:c.providerId,generativeUI:!1!==a.generativeUI,codexDefaults:c}}function t(a,b){return a.providers.find(a=>a.id===b)}function u(a,b,c){let d=b||a.defaultModel;if(!d)return null;let e=c?t(a,c):void 0;if(e)return 0===e.models.length||e.models.some(a=>a.id===d)?{provider:e,modelId:d}:null;let f=function(a,b){for(let c of a.providers)if(c.models.some(a=>a.id===b))return c}(a,d);return f?{provider:f,modelId:d}:null}function v(a){let b=[];for(let c of a.providers)for(let a of c.models){let d=l[a.id];b.push({provider:c.id,modelId:a.id,name:a.name||a.id,api:a.api,reasoning:a.reasoning,thinkingLevelMap:a.thinkingLevelMap,contextWindow:a.contextWindow??d?.contextWindow,maxTokens:a.maxTokens??d?.maxTokens,input:a.input,compat:a.compat})}return b}function w(a){if(!a.codexDefaults.model)return null;let b=u(a,a.codexDefaults.model,a.codexDefaults.providerId);return!b&&a.codexDefaults.providerId?{provider:a.codexDefaults.providerId,modelId:a.codexDefaults.model}:b?{provider:b.provider.id,modelId:b.modelId}:null}},61432:(a,b,c)=>{"use strict";c.r(b),c.d(b,{handler:()=>E,patchFetch:()=>D,routeModule:()=>z,serverHooks:()=>C,workAsyncStorage:()=>A,workUnitAsyncStorage:()=>B});var d={};c.r(d),c.d(d,{GET:()=>y,dynamic:()=>x});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(23211),w=c(55132);let x="force-dynamic";async function y(){try{let a=(0,w.Dw)();return v.NextResponse.json({providers:a.providers.map(a=>({id:a.id,displayName:a.name||a.id,configured:!!(a.apiKey?.trim()||a.baseUrl?.trim()),source:"providers.json",modelCount:a.models.length}))})}catch{return v.NextResponse.json({providers:[]})}}let z=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/auth/all-providers/route",pathname:"/api/auth/all-providers",filename:"route",bundlePath:"app/api/auth/all-providers/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/annodex/annodex/app/api/auth/all-providers/route.ts",nextConfigOutput:"",userland:d}),{workAsyncStorage:A,workUnitAsyncStorage:B,serverHooks:C}=z;function D(){return(0,g.patchFetch)({workAsyncStorage:A,workUnitAsyncStorage:B})}async function E(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),z.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/auth/all-providers/route";"/index"===d&&(d="/");let e=await z.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,params:v,nextConfig:w,parsedUrl:x,isDraftMode:y,prerenderManifest:A,routerServerContext:B,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,resolvedPathname:E,clientReferenceManifest:F,serverActionsManifest:G}=e,H=(0,k.normalizeAppPath)(d),I=!!(A.dynamicRoutes[H]||A.routes[E]),J=async()=>((null==B?void 0:B.render404)?await B.render404(a,b,x,!1):b.end("This page could not be found"),null);if(I&&!y){let a=!!A.routes[E],b=A.dynamicRoutes[H];if(b&&!1===b.fallback&&!a){if(w.adapterPath)return await J();throw new t.NoFallbackError}}let K=null;!I||z.isDev||y||(K="/index"===(K=E)?"/":K);let L=!0===z.isDev||!I,M=I&&!L;G&&F&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:F,serverActionsManifest:G});let N=a.method||"GET",O=(0,i.getTracer)(),P=O.getActiveScopeSpan(),Q=!!(null==B?void 0:B.isWrappedByNextServer),R=!!(0,h.getRequestMeta)(a,"minimalMode"),S=(0,h.getRequestMeta)(a,"incrementalCache")||await z.getIncrementalCache(a,w,A,R);null==S||S.resetRequestCache(),globalThis.__incrementalCache=S;let T={params:v,previewProps:A.preview,renderOpts:{experimental:{authInterrupts:!!w.experimental.authInterrupts},cacheComponents:!!w.cacheComponents,supportsDynamicResponse:L,incrementalCache:S,cacheLifeProfiles:w.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>z.onRequestError(a,b,d,e,B)},sharedContext:{buildId:g}},U=new l.NodeNextRequest(a),V=new l.NodeNextResponse(b),W=m.NextRequestAdapter.fromNodeNextRequest(U,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>z.handle(W,T).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=O.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let f=c.get("next.route");if(f){let b=`${N} ${f}`;a.setAttributes({"next.route":f,"http.route":f,"next.span_name":b}),a.updateName(b),e&&e!==a&&(e.setAttribute("http.route",f),e.updateName(b))}else a.updateName(`${N} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!R&&C&&D&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await g(e);a.fetchMetrics=T.renderOpts.fetchMetrics;let h=T.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=T.renderOpts.collectedTags;if(!I)return await (0,p.I)(U,V,d,T.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);i&&(b[s.NEXT_CACHE_TAGS_HEADER]=i),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==T.renderOpts.collectedRevalidate&&!(T.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&T.renderOpts.collectedRevalidate,e=void 0===T.renderOpts.collectedExpire||T.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:T.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await z.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,B),b}},k=await z.handleResponse({req:a,nextConfig:w,cacheKey:K,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:R});if(!I)return null;if((null==k||null==(h=k.value)?void 0:h.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==k||null==(i=k.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});R||b.setHeader("x-nextjs-cache",C?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),y&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,q.fromNodeOutgoingHttpHeaders)(k.value.headers);return R&&I||l.delete(s.NEXT_CACHE_TAGS_HEADER),!k.cacheControl||b.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,r.getCacheControlHeader)(k.cacheControl)),await (0,p.I)(U,V,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};Q&&P?await h(P):(e=O.getActiveScopeSpan(),await O.withPropagatedContext(a.headers,()=>O.trace(n.BaseServerSpan.handleRequest,{spanName:`${N} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":N,"http.target":a.url}},h),void 0,!Q))}catch(b){if(b instanceof t.NoFallbackError||await z.onRequestError(a,b,{routerKind:"App Router",routePath:H,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,B),I)throw b;return await (0,p.I)(U,V,new Response(null,{status:500})),null}}},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},78335:()=>{},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},89035:(a,b,c)=>{"use strict";c.d(b,{R:()=>f});var d=c(33873),e=c(21820);function f(){return process.env.CODEX_HOME?.trim()||(0,d.join)((0,e.homedir)(),".codex")}},96487:()=>{},99526:(a,b,c)=>{"use strict";c.d(b,{DL:()=>k,Y3:()=>j,mi:()=>g,oi:()=>h,pp:()=>i});let d=["openai-responses","openai-completions"],e=[/\/chat\/completions(?:$|[?#])/i,/deepseek/i,/moonshot|kimi/i,/dashscope|aliyun|qwen/i,/zhipu|bigmodel|chatglm|glm/i,/siliconflow/i,/volcengine|ark\.cn|doubao/i,/baichuan/i,/minimax/i,/stepfun|step-api/i,/lingyiwanwu|yi-api/i],f=[/api\.openai\.com/i,/\/responses(?:$|[?#])/i];function g(a){return"string"==typeof a&&d.includes(a)}function h(a,b,c="openai-responses"){let d=`${b??""} ${a??""}`.toLowerCase();return d.trim()?f.some(a=>a.test(d))?"openai-responses":e.some(a=>a.test(d))?"openai-completions":c:c}function i(a,b,c){return g(a)?a:h(b,c)}function j(a,b,c,d){let e=a.toLowerCase(),f=`${d??""} ${c??""}`.toLowerCase();return/deepseek|kimi|moonshot|qwen|glm|zhipu|chatglm|siliconflow|doubao|yi-|llama|mistral|baichuan|minimax/.test(e)?"openai-completions":/gpt|o\d|openai/.test(e)?"openai-responses":/deeprouter|openrouter/.test(f)?void 0:b}function k(a,b,c){return"responses"===a?"openai-responses":"chat"===a||"chat_completions"===a||"chat-completions"===a?"openai-completions":b||c?h(b,c):void 0}}};var b=require("../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,1813,8477],()=>b(b.s=61432));module.exports=c})();
@@ -1 +1 @@
1
- "use strict";(()=>{var a={};a.id=4368,a.ids=[4368],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},1932:a=>{a.exports=require("url")},3295:a=>{a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},21820:a=>{a.exports=require("os")},29021:a=>{a.exports=require("fs")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:a=>{a.exports=require("path")},44767:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{GET:()=>h,dynamic:()=>i});var e=c(23211),f=c(56429),g=a([f]);f=(g.then?(await g)():g)[0];let i="force-dynamic";async function h(a){let b;return(b=process.env.ANNODEX_INTERNAL_TOKEN??process.env.ANNOVIBE_INTERNAL_TOKEN)&&(a.headers.get("x-annodex-internal-token")===b||a.headers.get("x-annovibe-internal-token")===b)?e.NextResponse.json({runningVersion:"0.1.4",pid:process.pid,uptimeSeconds:Math.round(process.uptime()),...(0,f.Bj)()}):e.NextResponse.json({error:"Forbidden"},{status:403})}d()}catch(a){d(a)}})},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},55511:a=>{a.exports=require("crypto")},55591:a=>{a.exports=require("https")},56220:a=>{a.exports=import("ws")},59984:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{handler:()=>y,patchFetch:()=>x,routeModule:()=>z,serverHooks:()=>C,workAsyncStorage:()=>A,workUnitAsyncStorage:()=>B});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(44767),w=a([v]);v=(w.then?(await w)():w)[0];let z=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/internal/runtime/route",pathname:"/api/internal/runtime",filename:"route",bundlePath:"app/api/internal/runtime/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/annodex/annodex/app/api/internal/runtime/route.ts",nextConfigOutput:"",userland:v}),{workAsyncStorage:A,workUnitAsyncStorage:B,serverHooks:C}=z;function x(){return(0,g.patchFetch)({workAsyncStorage:A,workUnitAsyncStorage:B})}async function y(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),z.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/internal/runtime/route";"/index"===d&&(d="/");let e=await z.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,params:v,nextConfig:w,parsedUrl:x,isDraftMode:y,prerenderManifest:A,routerServerContext:B,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,resolvedPathname:E,clientReferenceManifest:F,serverActionsManifest:G}=e,H=(0,k.normalizeAppPath)(d),I=!!(A.dynamicRoutes[H]||A.routes[E]),J=async()=>((null==B?void 0:B.render404)?await B.render404(a,b,x,!1):b.end("This page could not be found"),null);if(I&&!y){let a=!!A.routes[E],b=A.dynamicRoutes[H];if(b&&!1===b.fallback&&!a){if(w.adapterPath)return await J();throw new t.NoFallbackError}}let K=null;!I||z.isDev||y||(K=E,K="/index"===K?"/":K);let L=!0===z.isDev||!I,M=I&&!L;G&&F&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:F,serverActionsManifest:G});let N=a.method||"GET",O=(0,i.getTracer)(),P=O.getActiveScopeSpan(),Q=!!(null==B?void 0:B.isWrappedByNextServer),R=!!(0,h.getRequestMeta)(a,"minimalMode"),S=(0,h.getRequestMeta)(a,"incrementalCache")||await z.getIncrementalCache(a,w,A,R);null==S||S.resetRequestCache(),globalThis.__incrementalCache=S;let T={params:v,previewProps:A.preview,renderOpts:{experimental:{authInterrupts:!!w.experimental.authInterrupts},cacheComponents:!!w.cacheComponents,supportsDynamicResponse:L,incrementalCache:S,cacheLifeProfiles:w.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>z.onRequestError(a,b,d,e,B)},sharedContext:{buildId:g}},U=new l.NodeNextRequest(a),V=new l.NodeNextResponse(b),W=m.NextRequestAdapter.fromNodeNextRequest(U,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>z.handle(W,T).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=O.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let f=c.get("next.route");if(f){let b=`${N} ${f}`;a.setAttributes({"next.route":f,"http.route":f,"next.span_name":b}),a.updateName(b),e&&e!==a&&(e.setAttribute("http.route",f),e.updateName(b))}else a.updateName(`${N} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!R&&C&&D&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await g(e);a.fetchMetrics=T.renderOpts.fetchMetrics;let h=T.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=T.renderOpts.collectedTags;if(!I)return await (0,p.I)(U,V,d,T.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);i&&(b[s.NEXT_CACHE_TAGS_HEADER]=i),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==T.renderOpts.collectedRevalidate&&!(T.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&T.renderOpts.collectedRevalidate,e=void 0===T.renderOpts.collectedExpire||T.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:T.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await z.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,B),b}},k=await z.handleResponse({req:a,nextConfig:w,cacheKey:K,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:R});if(!I)return null;if((null==k||null==(h=k.value)?void 0:h.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==k||null==(i=k.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});R||b.setHeader("x-nextjs-cache",C?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),y&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,q.fromNodeOutgoingHttpHeaders)(k.value.headers);return R&&I||l.delete(s.NEXT_CACHE_TAGS_HEADER),!k.cacheControl||b.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,r.getCacheControlHeader)(k.cacheControl)),await (0,p.I)(U,V,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};Q&&P?await h(P):(e=O.getActiveScopeSpan(),await O.withPropagatedContext(a.headers,()=>O.trace(n.BaseServerSpan.handleRequest,{spanName:`${N} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":N,"http.target":a.url}},h),void 0,!Q))}catch(b){if(b instanceof t.NoFallbackError||await z.onRequestError(a,b,{routerKind:"App Router",routePath:H,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,B),I)throw b;return await (0,p.I)(U,V,new Response(null,{status:500})),null}}d()}catch(a){d(a)}})},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},79646:a=>{a.exports=require("child_process")},81630:a=>{a.exports=require("http")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},91645:a=>{a.exports=require("net")}};var b=require("../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,1813,8477,6268,402,6429],()=>b(b.s=59984));module.exports=c})();
1
+ "use strict";(()=>{var a={};a.id=4368,a.ids=[4368],a.modules={261:a=>{a.exports=require("next/dist/shared/lib/router/utils/app-paths")},1932:a=>{a.exports=require("url")},3295:a=>{a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:a=>{a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},21820:a=>{a.exports=require("os")},29021:a=>{a.exports=require("fs")},29294:a=>{a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:a=>{a.exports=require("path")},44767:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{GET:()=>h,dynamic:()=>i});var e=c(23211),f=c(56429),g=a([f]);f=(g.then?(await g)():g)[0];let i="force-dynamic";async function h(a){let b;return(b=process.env.ANNODEX_INTERNAL_TOKEN??process.env.ANNOVIBE_INTERNAL_TOKEN)&&(a.headers.get("x-annodex-internal-token")===b||a.headers.get("x-annovibe-internal-token")===b)?e.NextResponse.json({runningVersion:"0.1.5",pid:process.pid,uptimeSeconds:Math.round(process.uptime()),...(0,f.Bj)()}):e.NextResponse.json({error:"Forbidden"},{status:403})}d()}catch(a){d(a)}})},44870:a=>{a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},55511:a=>{a.exports=require("crypto")},55591:a=>{a.exports=require("https")},56220:a=>{a.exports=import("ws")},59984:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.r(b),c.d(b,{handler:()=>y,patchFetch:()=>x,routeModule:()=>z,serverHooks:()=>C,workAsyncStorage:()=>A,workUnitAsyncStorage:()=>B});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(44767),w=a([v]);v=(w.then?(await w)():w)[0];let z=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/internal/runtime/route",pathname:"/api/internal/runtime",filename:"route",bundlePath:"app/api/internal/runtime/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/annodex/annodex/app/api/internal/runtime/route.ts",nextConfigOutput:"",userland:v}),{workAsyncStorage:A,workUnitAsyncStorage:B,serverHooks:C}=z;function x(){return(0,g.patchFetch)({workAsyncStorage:A,workUnitAsyncStorage:B})}async function y(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),z.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/internal/runtime/route";"/index"===d&&(d="/");let e=await z.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,params:v,nextConfig:w,parsedUrl:x,isDraftMode:y,prerenderManifest:A,routerServerContext:B,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,resolvedPathname:E,clientReferenceManifest:F,serverActionsManifest:G}=e,H=(0,k.normalizeAppPath)(d),I=!!(A.dynamicRoutes[H]||A.routes[E]),J=async()=>((null==B?void 0:B.render404)?await B.render404(a,b,x,!1):b.end("This page could not be found"),null);if(I&&!y){let a=!!A.routes[E],b=A.dynamicRoutes[H];if(b&&!1===b.fallback&&!a){if(w.adapterPath)return await J();throw new t.NoFallbackError}}let K=null;!I||z.isDev||y||(K=E,K="/index"===K?"/":K);let L=!0===z.isDev||!I,M=I&&!L;G&&F&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:F,serverActionsManifest:G});let N=a.method||"GET",O=(0,i.getTracer)(),P=O.getActiveScopeSpan(),Q=!!(null==B?void 0:B.isWrappedByNextServer),R=!!(0,h.getRequestMeta)(a,"minimalMode"),S=(0,h.getRequestMeta)(a,"incrementalCache")||await z.getIncrementalCache(a,w,A,R);null==S||S.resetRequestCache(),globalThis.__incrementalCache=S;let T={params:v,previewProps:A.preview,renderOpts:{experimental:{authInterrupts:!!w.experimental.authInterrupts},cacheComponents:!!w.cacheComponents,supportsDynamicResponse:L,incrementalCache:S,cacheLifeProfiles:w.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>z.onRequestError(a,b,d,e,B)},sharedContext:{buildId:g}},U=new l.NodeNextRequest(a),V=new l.NodeNextResponse(b),W=m.NextRequestAdapter.fromNodeNextRequest(U,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>z.handle(W,T).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=O.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let f=c.get("next.route");if(f){let b=`${N} ${f}`;a.setAttributes({"next.route":f,"http.route":f,"next.span_name":b}),a.updateName(b),e&&e!==a&&(e.setAttribute("http.route",f),e.updateName(b))}else a.updateName(`${N} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!R&&C&&D&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await g(e);a.fetchMetrics=T.renderOpts.fetchMetrics;let h=T.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=T.renderOpts.collectedTags;if(!I)return await (0,p.I)(U,V,d,T.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);i&&(b[s.NEXT_CACHE_TAGS_HEADER]=i),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==T.renderOpts.collectedRevalidate&&!(T.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&T.renderOpts.collectedRevalidate,e=void 0===T.renderOpts.collectedExpire||T.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:T.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await z.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,B),b}},k=await z.handleResponse({req:a,nextConfig:w,cacheKey:K,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:R});if(!I)return null;if((null==k||null==(h=k.value)?void 0:h.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==k||null==(i=k.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});R||b.setHeader("x-nextjs-cache",C?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),y&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,q.fromNodeOutgoingHttpHeaders)(k.value.headers);return R&&I||l.delete(s.NEXT_CACHE_TAGS_HEADER),!k.cacheControl||b.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,r.getCacheControlHeader)(k.cacheControl)),await (0,p.I)(U,V,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};Q&&P?await h(P):(e=O.getActiveScopeSpan(),await O.withPropagatedContext(a.headers,()=>O.trace(n.BaseServerSpan.handleRequest,{spanName:`${N} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":N,"http.target":a.url}},h),void 0,!Q))}catch(b){if(b instanceof t.NoFallbackError||await z.onRequestError(a,b,{routerKind:"App Router",routePath:H,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,B),I)throw b;return await (0,p.I)(U,V,new Response(null,{status:500})),null}}d()}catch(a){d(a)}})},63033:a=>{a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},79646:a=>{a.exports=require("child_process")},81630:a=>{a.exports=require("http")},86439:a=>{a.exports=require("next/dist/shared/lib/no-fallback-error.external")},91645:a=>{a.exports=require("net")}};var b=require("../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,1813,8477,6268,402,6429],()=>b(b.s=59984));module.exports=c})();
@@ -1 +1 @@
1
- (()=>{var a={};a.id=552,a.ids=[552],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},12236:(a,b,c)=>{"use strict";c.r(b),c.d(b,{handler:()=>E,patchFetch:()=>D,routeModule:()=>z,serverHooks:()=>C,workAsyncStorage:()=>A,workUnitAsyncStorage:()=>B});var d={};c.r(d),c.d(d,{GET:()=>y,dynamic:()=>w});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(55132);let w="force-dynamic",x={auto:null,off:"off",minimal:"minimal",low:"low",medium:"medium",high:"high",xhigh:"xhigh"};async function y(){try{let a=(0,v.Dw)(),b=(0,v.KR)(a),c=(0,v.fZ)(a),d={},e=[];for(let a of b)d[`${a.provider}:${a.modelId}`]=a.name,e.push({id:a.modelId,name:a.name,provider:a.provider,contextWindow:a.contextWindow,maxTokens:a.maxTokens,input:a.input});let f={},g={};for(let a of b){let b=`${a.provider}:${a.modelId}`,c=a.thinkingLevelMap??x;f[b]=Object.entries(c).filter(([a,b])=>"auto"!==a&&null!==b).map(([a])=>a),g[b]=c}return Response.json({models:d,modelList:e,defaultModel:c,thinkingLevels:f,thinkingLevelMaps:g})}catch{return Response.json({models:{},modelList:[],defaultModel:null,thinkingLevels:{},thinkingLevelMaps:{}})}}let z=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/models/route",pathname:"/api/models",filename:"route",bundlePath:"app/api/models/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/annodex/annodex/app/api/models/route.ts",nextConfigOutput:"",userland:d}),{workAsyncStorage:A,workUnitAsyncStorage:B,serverHooks:C}=z;function D(){return(0,g.patchFetch)({workAsyncStorage:A,workUnitAsyncStorage:B})}async function E(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),z.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/models/route";"/index"===d&&(d="/");let e=await z.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,params:v,nextConfig:w,parsedUrl:x,isDraftMode:y,prerenderManifest:A,routerServerContext:B,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,resolvedPathname:E,clientReferenceManifest:F,serverActionsManifest:G}=e,H=(0,k.normalizeAppPath)(d),I=!!(A.dynamicRoutes[H]||A.routes[E]),J=async()=>((null==B?void 0:B.render404)?await B.render404(a,b,x,!1):b.end("This page could not be found"),null);if(I&&!y){let a=!!A.routes[E],b=A.dynamicRoutes[H];if(b&&!1===b.fallback&&!a){if(w.adapterPath)return await J();throw new t.NoFallbackError}}let K=null;!I||z.isDev||y||(K="/index"===(K=E)?"/":K);let L=!0===z.isDev||!I,M=I&&!L;G&&F&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:F,serverActionsManifest:G});let N=a.method||"GET",O=(0,i.getTracer)(),P=O.getActiveScopeSpan(),Q=!!(null==B?void 0:B.isWrappedByNextServer),R=!!(0,h.getRequestMeta)(a,"minimalMode"),S=(0,h.getRequestMeta)(a,"incrementalCache")||await z.getIncrementalCache(a,w,A,R);null==S||S.resetRequestCache(),globalThis.__incrementalCache=S;let T={params:v,previewProps:A.preview,renderOpts:{experimental:{authInterrupts:!!w.experimental.authInterrupts},cacheComponents:!!w.cacheComponents,supportsDynamicResponse:L,incrementalCache:S,cacheLifeProfiles:w.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>z.onRequestError(a,b,d,e,B)},sharedContext:{buildId:g}},U=new l.NodeNextRequest(a),V=new l.NodeNextResponse(b),W=m.NextRequestAdapter.fromNodeNextRequest(U,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>z.handle(W,T).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=O.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let f=c.get("next.route");if(f){let b=`${N} ${f}`;a.setAttributes({"next.route":f,"http.route":f,"next.span_name":b}),a.updateName(b),e&&e!==a&&(e.setAttribute("http.route",f),e.updateName(b))}else a.updateName(`${N} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!R&&C&&D&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await g(e);a.fetchMetrics=T.renderOpts.fetchMetrics;let h=T.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=T.renderOpts.collectedTags;if(!I)return await (0,p.I)(U,V,d,T.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);i&&(b[s.NEXT_CACHE_TAGS_HEADER]=i),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==T.renderOpts.collectedRevalidate&&!(T.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&T.renderOpts.collectedRevalidate,e=void 0===T.renderOpts.collectedExpire||T.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:T.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await z.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,B),b}},k=await z.handleResponse({req:a,nextConfig:w,cacheKey:K,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:R});if(!I)return null;if((null==k||null==(h=k.value)?void 0:h.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==k||null==(i=k.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});R||b.setHeader("x-nextjs-cache",C?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),y&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,q.fromNodeOutgoingHttpHeaders)(k.value.headers);return R&&I||l.delete(s.NEXT_CACHE_TAGS_HEADER),!k.cacheControl||b.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,r.getCacheControlHeader)(k.cacheControl)),await (0,p.I)(U,V,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};Q&&P?await h(P):(e=O.getActiveScopeSpan(),await O.withPropagatedContext(a.headers,()=>O.trace(n.BaseServerSpan.handleRequest,{spanName:`${N} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":N,"http.target":a.url}},h),void 0,!Q))}catch(b){if(b instanceof t.NoFallbackError||await z.onRequestError(a,b,{routerKind:"App Router",routePath:H,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,B),I)throw b;return await (0,p.I)(U,V,new Response(null,{status:500})),null}}},19225:(a,b,c)=>{"use strict";a.exports=c(44870)},21820:a=>{"use strict";a.exports=require("os")},29021:a=>{"use strict";a.exports=require("fs")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:a=>{"use strict";a.exports=require("path")},44870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},55132:(a,b,c)=>{"use strict";c.d(b,{AX:()=>u,Dw:()=>s,HO:()=>q,KR:()=>v,fZ:()=>w,lh:()=>t,rv:()=>m,u_:()=>r});var d=c(29021),e=c(33873),f=c(21820),g=c(18477),h=c(89035),i=c(99526);function j(){return process.env.ANNODEX_CONFIG_DIR??process.env.ANNOVIBE_CONFIG_DIR??(0,e.join)((0,f.homedir)(),".config","annodex")}function k(){return(0,e.join)(j(),"providers.json")}let l={"gpt-5-codex":{contextWindow:1048576,maxTokens:128e3},"gpt-5.1-codex-max":{contextWindow:1048576,maxTokens:128e3},"gpt-5.1-codex-mini":{contextWindow:1048576,maxTokens:128e3},"gpt-4.1-codex-max":{contextWindow:1048576,maxTokens:32768},"gpt-4.1-codex-mini":{contextWindow:1048576,maxTokens:32768},"deepseek-chat":{contextWindow:1048576,maxTokens:8192},"deepseek-reasoner":{contextWindow:1048576,maxTokens:8192},"deepseek-v3":{contextWindow:1048576,maxTokens:8192},"kimi-k2":{contextWindow:1048576,maxTokens:8192},"moonshot-v1-auto":{contextWindow:1048576,maxTokens:8192},"glm-4-plus":{contextWindow:128e3,maxTokens:4096},"glm-4-flash":{contextWindow:128e3,maxTokens:4096},"qwen-max":{contextWindow:1048576,maxTokens:8192},"qwen-plus":{contextWindow:1048576,maxTokens:8192},"qwen-turbo":{contextWindow:1048576,maxTokens:8192},"qwen3-235b-a22b":{contextWindow:131072,maxTokens:8192}};function m(a){return a?l[a]:void 0}function n(){return{providers:[],exists:!1}}function o(){let a=(0,e.join)((0,h.R)(),"config.toml");if(!(0,d.existsSync)(a))return null;try{let b=(0,d.readFileSync)(a,"utf-8");return(0,g.qg)(b)}catch{return null}}function p(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}function q(){let a=k();if(!(0,d.existsSync)(a))return n();try{let b=JSON.parse((0,d.readFileSync)(a,"utf-8"));return{providers:Array.isArray(b.providers)?b.providers.filter(a=>"string"==typeof a.id&&"string"==typeof a.baseUrl).map(a=>({id:a.id,name:"string"==typeof a.name?a.name:a.id,baseUrl:a.baseUrl.replace(/\/+$/,""),apiKey:"string"==typeof a.apiKey?a.apiKey:"",api:(0,i.pp)(a.api,a.baseUrl,a.id),requiresOpenAiAuth:"boolean"==typeof a.requiresOpenAiAuth?a.requiresOpenAiAuth:void 0,models:Array.isArray(a.models)?a.models.map(a=>(function(a){if(!p(a)||"string"!=typeof a.id)return null;let b=a.id.trim();return b?{id:b,name:"string"==typeof a.name&&a.name.trim()?a.name:b,api:(0,i.mi)(a.api)?a.api:void 0,reasoning:"boolean"==typeof a.reasoning?a.reasoning:void 0,thinkingLevelMap:function(a){if(!p(a))return;let b={};for(let[c,d]of Object.entries(a))c&&("string"==typeof d?b[c]=d:null===d&&(b[c]=null));return Object.keys(b).length?b:void 0}(a.thinkingLevelMap),input:function(a){if(!Array.isArray(a))return;let b=a.filter(a=>"string"==typeof a&&a.trim().length>0);return b.length?b:void 0}(a.input),contextWindow:"number"==typeof a.contextWindow?a.contextWindow:void 0,maxTokens:"number"==typeof a.maxTokens?a.maxTokens:void 0,compat:function(a){if(p(a))return Object.keys(a).length?a:void 0}(a.compat)}:null})(a)).filter(a=>null!==a):[]})):n().providers,defaultProvider:"string"==typeof b.defaultProvider?b.defaultProvider:void 0,defaultModel:"string"==typeof b.defaultModel?b.defaultModel:void 0,generativeUI:"boolean"==typeof b.generativeUI?b.generativeUI:void 0,exists:!0}}catch{return n()}}function r(a){let b=j();(0,d.existsSync)(b)||(0,d.mkdirSync)(b,{recursive:!0});let{exists:c,...e}=a;return(0,d.writeFileSync)(k(),JSON.stringify(e,null,2),"utf-8"),a}function s(){let a=q(),b=function(){let a=o();if(!a?.model_providers)return[];let b="string"==typeof a.model?a.model:"",c="string"==typeof a.model_provider?a.model_provider:"";return Object.entries(a.model_providers).filter(([,a])=>"string"==typeof a.base_url).map(([a,d])=>({id:a,name:d.name??a,baseUrl:(d.base_url??"").replace(/\/+$/,""),apiKey:"string"==typeof d.env_key?d.env_key:"",api:(0,i.DL)(d.wire_api,d.base_url,a),requiresOpenAiAuth:"boolean"==typeof d.requires_openai_auth?d.requires_openai_auth:void 0,models:a===c&&b?[{id:b,name:b}]:[]}))}(),c=function(){let a=o();if(!a)return{};let b="string"==typeof a.model&&a.model.trim()?a.model.trim():void 0,c="string"==typeof a.model_provider&&a.model_provider.trim()?a.model_provider.trim():void 0,d=c?a.model_providers?.[c]?.name??c:void 0;return{model:b,providerId:c,providerName:d}}(),d=new Set(a.providers.map(a=>a.id)),e=[...a.providers];for(let a of b)d.has(a.id)||(e.push(a),d.add(a.id));return{providers:e,defaultModel:c.model,defaultProvider:c.providerId,generativeUI:!1!==a.generativeUI,codexDefaults:c}}function t(a,b){return a.providers.find(a=>a.id===b)}function u(a,b,c){let d=b||a.defaultModel;if(!d)return null;let e=c?t(a,c):void 0;if(e)return 0===e.models.length||e.models.some(a=>a.id===d)?{provider:e,modelId:d}:null;let f=function(a,b){for(let c of a.providers)if(c.models.some(a=>a.id===b))return c}(a,d);return f?{provider:f,modelId:d}:null}function v(a){let b=[];for(let c of a.providers)for(let a of c.models){let d=l[a.id];b.push({provider:c.id,modelId:a.id,name:a.name||a.id,api:a.api,reasoning:a.reasoning,thinkingLevelMap:a.thinkingLevelMap,contextWindow:a.contextWindow??d?.contextWindow,maxTokens:a.maxTokens??d?.maxTokens,input:a.input,compat:a.compat})}return b}function w(a){if(!a.codexDefaults.model)return null;let b=u(a,a.codexDefaults.model,a.codexDefaults.providerId);return!b&&a.codexDefaults.providerId?{provider:a.codexDefaults.providerId,modelId:a.codexDefaults.model}:b?{provider:b.provider.id,modelId:b.modelId}:null}},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},78335:()=>{},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},89035:(a,b,c)=>{"use strict";c.d(b,{R:()=>f});var d=c(33873),e=c(21820);function f(){return process.env.CODEX_HOME?.trim()||(0,d.join)((0,e.homedir)(),".codex")}},92280:(a,b,c)=>{"use strict";Object.defineProperty(b,"I",{enumerable:!0,get:function(){return g}});let d=c(28208),e=c(47617),f=c(62018);async function g(a,b,c,g){if((0,d.isNodeNextResponse)(b)){var h;b.statusCode=c.status,b.statusMessage=c.statusText;let d=["set-cookie","www-authenticate","proxy-authenticate","vary"];null==(h=c.headers)||h.forEach((a,c)=>{if("x-middleware-set-cookie"!==c.toLowerCase())if("set-cookie"===c.toLowerCase())for(let d of(0,f.splitCookiesString)(a))b.appendHeader(c,d);else{let e=void 0!==b.getHeader(c);(d.includes(c.toLowerCase())||!e)&&b.appendHeader(c,a)}});let{originalResponse:i}=b;c.body&&"HEAD"!==a.method?await (0,e.pipeToNodeResponse)(c.body,i,g):i.end()}}},96487:()=>{},99526:(a,b,c)=>{"use strict";c.d(b,{DL:()=>j,mi:()=>g,pp:()=>i});let d=["openai-responses","openai-completions"],e=[/\/chat\/completions(?:$|[?#])/i,/deepseek/i,/deeprouter/i,/moonshot|kimi/i,/dashscope|aliyun|qwen/i,/zhipu|bigmodel|chatglm|glm/i,/siliconflow/i,/volcengine|ark\.cn|doubao/i,/baichuan/i,/minimax/i,/stepfun|step-api/i,/lingyiwanwu|yi-api/i],f=[/api\.openai\.com/i,/\/responses(?:$|[?#])/i];function g(a){return"string"==typeof a&&d.includes(a)}function h(a,b,c="openai-responses"){let d=`${b??""} ${a??""}`.toLowerCase();return d.trim()?f.some(a=>a.test(d))?"openai-responses":e.some(a=>a.test(d))?"openai-completions":c:c}function i(a,b,c){return g(a)?a:h(b,c)}function j(a,b,c){return"responses"===a?"openai-responses":"chat"===a||"chat_completions"===a||"chat-completions"===a?"openai-completions":b||c?h(b,c):void 0}}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,8477],()=>b(b.s=12236));module.exports=c})();
1
+ (()=>{var a={};a.id=552,a.ids=[552],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},12236:(a,b,c)=>{"use strict";c.r(b),c.d(b,{handler:()=>E,patchFetch:()=>D,routeModule:()=>z,serverHooks:()=>C,workAsyncStorage:()=>A,workUnitAsyncStorage:()=>B});var d={};c.r(d),c.d(d,{GET:()=>y,dynamic:()=>w});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(55132);let w="force-dynamic",x={auto:null,off:"off",minimal:"minimal",low:"low",medium:"medium",high:"high",xhigh:"xhigh"};async function y(){try{let a=(0,v.Dw)(),b=(0,v.KR)(a),c=(0,v.fZ)(a),d={},e=[];for(let a of b)d[`${a.provider}:${a.modelId}`]=a.name,e.push({id:a.modelId,name:a.name,provider:a.provider,contextWindow:a.contextWindow,maxTokens:a.maxTokens,input:a.input});let f={},g={};for(let a of b){let b=`${a.provider}:${a.modelId}`,c=a.thinkingLevelMap??x;f[b]=Object.entries(c).filter(([a,b])=>"auto"!==a&&null!==b).map(([a])=>a),g[b]=c}return Response.json({models:d,modelList:e,defaultModel:c,thinkingLevels:f,thinkingLevelMaps:g})}catch{return Response.json({models:{},modelList:[],defaultModel:null,thinkingLevels:{},thinkingLevelMaps:{}})}}let z=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/models/route",pathname:"/api/models",filename:"route",bundlePath:"app/api/models/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/annodex/annodex/app/api/models/route.ts",nextConfigOutput:"",userland:d}),{workAsyncStorage:A,workUnitAsyncStorage:B,serverHooks:C}=z;function D(){return(0,g.patchFetch)({workAsyncStorage:A,workUnitAsyncStorage:B})}async function E(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),z.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/models/route";"/index"===d&&(d="/");let e=await z.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,params:v,nextConfig:w,parsedUrl:x,isDraftMode:y,prerenderManifest:A,routerServerContext:B,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,resolvedPathname:E,clientReferenceManifest:F,serverActionsManifest:G}=e,H=(0,k.normalizeAppPath)(d),I=!!(A.dynamicRoutes[H]||A.routes[E]),J=async()=>((null==B?void 0:B.render404)?await B.render404(a,b,x,!1):b.end("This page could not be found"),null);if(I&&!y){let a=!!A.routes[E],b=A.dynamicRoutes[H];if(b&&!1===b.fallback&&!a){if(w.adapterPath)return await J();throw new t.NoFallbackError}}let K=null;!I||z.isDev||y||(K="/index"===(K=E)?"/":K);let L=!0===z.isDev||!I,M=I&&!L;G&&F&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:F,serverActionsManifest:G});let N=a.method||"GET",O=(0,i.getTracer)(),P=O.getActiveScopeSpan(),Q=!!(null==B?void 0:B.isWrappedByNextServer),R=!!(0,h.getRequestMeta)(a,"minimalMode"),S=(0,h.getRequestMeta)(a,"incrementalCache")||await z.getIncrementalCache(a,w,A,R);null==S||S.resetRequestCache(),globalThis.__incrementalCache=S;let T={params:v,previewProps:A.preview,renderOpts:{experimental:{authInterrupts:!!w.experimental.authInterrupts},cacheComponents:!!w.cacheComponents,supportsDynamicResponse:L,incrementalCache:S,cacheLifeProfiles:w.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>z.onRequestError(a,b,d,e,B)},sharedContext:{buildId:g}},U=new l.NodeNextRequest(a),V=new l.NodeNextResponse(b),W=m.NextRequestAdapter.fromNodeNextRequest(U,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>z.handle(W,T).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=O.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let f=c.get("next.route");if(f){let b=`${N} ${f}`;a.setAttributes({"next.route":f,"http.route":f,"next.span_name":b}),a.updateName(b),e&&e!==a&&(e.setAttribute("http.route",f),e.updateName(b))}else a.updateName(`${N} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!R&&C&&D&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await g(e);a.fetchMetrics=T.renderOpts.fetchMetrics;let h=T.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=T.renderOpts.collectedTags;if(!I)return await (0,p.I)(U,V,d,T.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);i&&(b[s.NEXT_CACHE_TAGS_HEADER]=i),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==T.renderOpts.collectedRevalidate&&!(T.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&T.renderOpts.collectedRevalidate,e=void 0===T.renderOpts.collectedExpire||T.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:T.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await z.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,B),b}},k=await z.handleResponse({req:a,nextConfig:w,cacheKey:K,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:A,isRoutePPREnabled:!1,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:R});if(!I)return null;if((null==k||null==(h=k.value)?void 0:h.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==k||null==(i=k.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});R||b.setHeader("x-nextjs-cache",C?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),y&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,q.fromNodeOutgoingHttpHeaders)(k.value.headers);return R&&I||l.delete(s.NEXT_CACHE_TAGS_HEADER),!k.cacheControl||b.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,r.getCacheControlHeader)(k.cacheControl)),await (0,p.I)(U,V,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};Q&&P?await h(P):(e=O.getActiveScopeSpan(),await O.withPropagatedContext(a.headers,()=>O.trace(n.BaseServerSpan.handleRequest,{spanName:`${N} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":N,"http.target":a.url}},h),void 0,!Q))}catch(b){if(b instanceof t.NoFallbackError||await z.onRequestError(a,b,{routerKind:"App Router",routePath:H,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,B),I)throw b;return await (0,p.I)(U,V,new Response(null,{status:500})),null}}},19225:(a,b,c)=>{"use strict";a.exports=c(44870)},21820:a=>{"use strict";a.exports=require("os")},29021:a=>{"use strict";a.exports=require("fs")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:a=>{"use strict";a.exports=require("path")},44870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},55132:(a,b,c)=>{"use strict";c.d(b,{AX:()=>u,Dw:()=>s,HO:()=>q,KR:()=>v,fZ:()=>w,lh:()=>t,rv:()=>m,u_:()=>r});var d=c(29021),e=c(33873),f=c(21820),g=c(18477),h=c(89035),i=c(99526);function j(){return process.env.ANNODEX_CONFIG_DIR??process.env.ANNOVIBE_CONFIG_DIR??(0,e.join)((0,f.homedir)(),".config","annodex")}function k(){return(0,e.join)(j(),"providers.json")}let l={"gpt-5-codex":{contextWindow:1048576,maxTokens:128e3},"gpt-5.1-codex-max":{contextWindow:1048576,maxTokens:128e3},"gpt-5.1-codex-mini":{contextWindow:1048576,maxTokens:128e3},"gpt-4.1-codex-max":{contextWindow:1048576,maxTokens:32768},"gpt-4.1-codex-mini":{contextWindow:1048576,maxTokens:32768},"deepseek-chat":{contextWindow:1048576,maxTokens:8192},"deepseek-reasoner":{contextWindow:1048576,maxTokens:8192},"deepseek-v3":{contextWindow:1048576,maxTokens:8192},"kimi-k2":{contextWindow:1048576,maxTokens:8192},"moonshot-v1-auto":{contextWindow:1048576,maxTokens:8192},"glm-4-plus":{contextWindow:128e3,maxTokens:4096},"glm-4-flash":{contextWindow:128e3,maxTokens:4096},"qwen-max":{contextWindow:1048576,maxTokens:8192},"qwen-plus":{contextWindow:1048576,maxTokens:8192},"qwen-turbo":{contextWindow:1048576,maxTokens:8192},"qwen3-235b-a22b":{contextWindow:131072,maxTokens:8192}};function m(a){return a?l[a]:void 0}function n(){return{providers:[],exists:!1}}function o(){let a=(0,e.join)((0,h.R)(),"config.toml");if(!(0,d.existsSync)(a))return null;try{let b=(0,d.readFileSync)(a,"utf-8");return(0,g.qg)(b)}catch{return null}}function p(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}function q(){let a=k();if(!(0,d.existsSync)(a))return n();try{let b=JSON.parse((0,d.readFileSync)(a,"utf-8"));return{providers:Array.isArray(b.providers)?b.providers.filter(a=>"string"==typeof a.id&&"string"==typeof a.baseUrl).map(a=>({id:a.id,name:"string"==typeof a.name?a.name:a.id,baseUrl:a.baseUrl.replace(/\/+$/,""),apiKey:"string"==typeof a.apiKey?a.apiKey:"",api:(0,i.pp)(a.api,a.baseUrl,a.id),requiresOpenAiAuth:"boolean"==typeof a.requiresOpenAiAuth?a.requiresOpenAiAuth:void 0,models:Array.isArray(a.models)?a.models.map(a=>(function(a){if(!p(a)||"string"!=typeof a.id)return null;let b=a.id.trim();return b?{id:b,name:"string"==typeof a.name&&a.name.trim()?a.name:b,api:(0,i.mi)(a.api)?a.api:void 0,reasoning:"boolean"==typeof a.reasoning?a.reasoning:void 0,thinkingLevelMap:function(a){if(!p(a))return;let b={};for(let[c,d]of Object.entries(a))c&&("string"==typeof d?b[c]=d:null===d&&(b[c]=null));return Object.keys(b).length?b:void 0}(a.thinkingLevelMap),input:function(a){if(!Array.isArray(a))return;let b=a.filter(a=>"string"==typeof a&&a.trim().length>0);return b.length?b:void 0}(a.input),contextWindow:"number"==typeof a.contextWindow?a.contextWindow:void 0,maxTokens:"number"==typeof a.maxTokens?a.maxTokens:void 0,compat:function(a){if(p(a))return Object.keys(a).length?a:void 0}(a.compat)}:null})(a)).filter(a=>null!==a):[]})):n().providers,defaultProvider:"string"==typeof b.defaultProvider?b.defaultProvider:void 0,defaultModel:"string"==typeof b.defaultModel?b.defaultModel:void 0,generativeUI:"boolean"==typeof b.generativeUI?b.generativeUI:void 0,exists:!0}}catch{return n()}}function r(a){let b=j();(0,d.existsSync)(b)||(0,d.mkdirSync)(b,{recursive:!0});let{exists:c,...e}=a;return(0,d.writeFileSync)(k(),JSON.stringify(e,null,2),"utf-8"),a}function s(){let a=q(),b=function(){let a=o();if(!a?.model_providers)return[];let b="string"==typeof a.model?a.model:"",c="string"==typeof a.model_provider?a.model_provider:"";return Object.entries(a.model_providers).filter(([,a])=>"string"==typeof a.base_url).map(([a,f])=>({id:a,name:f.name??a,baseUrl:(f.base_url??"").replace(/\/+$/,""),apiKey:function(a){if("string"==typeof a.env_key&&a.env_key.trim())return a.env_key.trim();let b=function(){let a=(0,e.join)((0,h.R)(),"auth.json");if(!(0,d.existsSync)(a))return null;try{return JSON.parse((0,d.readFileSync)(a,"utf-8"))}catch{return null}}();return"string"==typeof b?.OPENAI_API_KEY&&b.OPENAI_API_KEY.trim()?b.OPENAI_API_KEY.trim():""}(f),api:(0,i.DL)(f.wire_api,f.base_url,a),requiresOpenAiAuth:"boolean"==typeof f.requires_openai_auth?f.requires_openai_auth:void 0,models:a===c&&b?[{id:b,name:b}]:[]}))}(),c=function(){let a=o();if(!a)return{};let b="string"==typeof a.model&&a.model.trim()?a.model.trim():void 0,c="string"==typeof a.model_provider&&a.model_provider.trim()?a.model_provider.trim():void 0,d=c?a.model_providers?.[c]?.name??c:void 0;return{model:b,providerId:c,providerName:d}}(),f=new Map(a.providers.map(a=>[a.id,a])),g=[...a.providers];for(let a of b){let b=f.get(a.id);if(b){let c=g.findIndex(b=>b.id===a.id),d=function(a,b){let c=new Set(a.models.map(a=>a.id));return{...a,name:a.name||b.name,baseUrl:a.baseUrl||b.baseUrl,apiKey:a.apiKey||b.apiKey,api:a.api??b.api,requiresOpenAiAuth:a.requiresOpenAiAuth??b.requiresOpenAiAuth,models:[...a.models,...b.models.filter(a=>!c.has(a.id))]}}(b,a);g[c]=d,f.set(a.id,d)}else g.push(a),f.set(a.id,a)}return{providers:g.map(a=>{let b;return b=a.models.map(b=>({...b,api:b.api??(0,i.Y3)(b.id,a.api,a.baseUrl,a.id)})),{...a,models:b}}),defaultModel:c.model,defaultProvider:c.providerId,generativeUI:!1!==a.generativeUI,codexDefaults:c}}function t(a,b){return a.providers.find(a=>a.id===b)}function u(a,b,c){let d=b||a.defaultModel;if(!d)return null;let e=c?t(a,c):void 0;if(e)return 0===e.models.length||e.models.some(a=>a.id===d)?{provider:e,modelId:d}:null;let f=function(a,b){for(let c of a.providers)if(c.models.some(a=>a.id===b))return c}(a,d);return f?{provider:f,modelId:d}:null}function v(a){let b=[];for(let c of a.providers)for(let a of c.models){let d=l[a.id];b.push({provider:c.id,modelId:a.id,name:a.name||a.id,api:a.api,reasoning:a.reasoning,thinkingLevelMap:a.thinkingLevelMap,contextWindow:a.contextWindow??d?.contextWindow,maxTokens:a.maxTokens??d?.maxTokens,input:a.input,compat:a.compat})}return b}function w(a){if(!a.codexDefaults.model)return null;let b=u(a,a.codexDefaults.model,a.codexDefaults.providerId);return!b&&a.codexDefaults.providerId?{provider:a.codexDefaults.providerId,modelId:a.codexDefaults.model}:b?{provider:b.provider.id,modelId:b.modelId}:null}},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},78335:()=>{},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},89035:(a,b,c)=>{"use strict";c.d(b,{R:()=>f});var d=c(33873),e=c(21820);function f(){return process.env.CODEX_HOME?.trim()||(0,d.join)((0,e.homedir)(),".codex")}},92280:(a,b,c)=>{"use strict";Object.defineProperty(b,"I",{enumerable:!0,get:function(){return g}});let d=c(28208),e=c(47617),f=c(62018);async function g(a,b,c,g){if((0,d.isNodeNextResponse)(b)){var h;b.statusCode=c.status,b.statusMessage=c.statusText;let d=["set-cookie","www-authenticate","proxy-authenticate","vary"];null==(h=c.headers)||h.forEach((a,c)=>{if("x-middleware-set-cookie"!==c.toLowerCase())if("set-cookie"===c.toLowerCase())for(let d of(0,f.splitCookiesString)(a))b.appendHeader(c,d);else{let e=void 0!==b.getHeader(c);(d.includes(c.toLowerCase())||!e)&&b.appendHeader(c,a)}});let{originalResponse:i}=b;c.body&&"HEAD"!==a.method?await (0,e.pipeToNodeResponse)(c.body,i,g):i.end()}}},96487:()=>{},99526:(a,b,c)=>{"use strict";c.d(b,{DL:()=>k,Y3:()=>j,mi:()=>g,oi:()=>h,pp:()=>i});let d=["openai-responses","openai-completions"],e=[/\/chat\/completions(?:$|[?#])/i,/deepseek/i,/moonshot|kimi/i,/dashscope|aliyun|qwen/i,/zhipu|bigmodel|chatglm|glm/i,/siliconflow/i,/volcengine|ark\.cn|doubao/i,/baichuan/i,/minimax/i,/stepfun|step-api/i,/lingyiwanwu|yi-api/i],f=[/api\.openai\.com/i,/\/responses(?:$|[?#])/i];function g(a){return"string"==typeof a&&d.includes(a)}function h(a,b,c="openai-responses"){let d=`${b??""} ${a??""}`.toLowerCase();return d.trim()?f.some(a=>a.test(d))?"openai-responses":e.some(a=>a.test(d))?"openai-completions":c:c}function i(a,b,c){return g(a)?a:h(b,c)}function j(a,b,c,d){let e=a.toLowerCase(),f=`${d??""} ${c??""}`.toLowerCase();return/deepseek|kimi|moonshot|qwen|glm|zhipu|chatglm|siliconflow|doubao|yi-|llama|mistral|baichuan|minimax/.test(e)?"openai-completions":/gpt|o\d|openai/.test(e)?"openai-responses":/deeprouter|openrouter/.test(f)?void 0:b}function k(a,b,c){return"responses"===a?"openai-responses":"chat"===a||"chat_completions"===a||"chat-completions"===a?"openai-completions":b||c?h(b,c):void 0}}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,8477],()=>b(b.s=12236));module.exports=c})();
@@ -1 +1 @@
1
- (()=>{var a={};a.id=9787,a.ids=[9787],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},19453:(a,b,c)=>{"use strict";c.r(b),c.d(b,{handler:()=>Z,patchFetch:()=>Y,routeModule:()=>U,serverHooks:()=>X,workAsyncStorage:()=>V,workUnitAsyncStorage:()=>W});var d={};c.r(d),c.d(d,{POST:()=>T,dynamic:()=>S});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(23211);let w={contextWindow:2e5,maxTokens:16e3},x={contextWindow:2e5,maxTokens:16e3},y={contextWindow:128e3,maxTokens:8192},z={contextWindow:128e3,maxTokens:8192},A={contextWindow:8192,maxTokens:4096},B={contextWindow:2e5,maxTokens:16e3},C=["contextWindow","context_window","context_length","contextLength","max_context_length","maxContextLength","max_model_len","model_max_length","input_token_limit","max_input_tokens","maxInputTokens","num_ctx","n_ctx"],D=["maxTokens","max_tokens","max_output_tokens","maxOutputTokens","max_completion_tokens","maxCompletionTokens","output_token_limit","completion_token_limit"];function E(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}function F(a){return Array.from(new Set(a))}function G(a){return a.trim().replace(/\/+$/,"")}function H(a){return a.trim()?{authorization:`Bearer ${a.trim()}`}:{}}async function I(a,b=""){let c,d=H(b),e=[];for(let b of(c=G(a),F([`${c}/v1/models`,`${c}/models`,`${c}/api/models`,`${c}/api/tags`])))try{let a=await fetch(b,{method:"GET",headers:d,signal:AbortSignal.timeout(8e3)});if(200===a.status){let c=await a.json();return{endpoint:b,models:function(a){let b=function(a){if(Array.isArray(a))return a;if(!E(a))throw Error("Could not parse model response format");if(Array.isArray(a.data))return a.data;if(Array.isArray(a.models))return a.models;throw Error("Could not parse model response format")}(a),c=[];for(let a of b){if("string"==typeof a){c.push({id:a,name:a,ownedBy:"unknown"});continue}if(!E(a))continue;let b=R(a,["id","model_id","name","model"]);if(!b)continue;let d=L(a),e=M(a);c.push({id:b,name:R(a,["name"])??b,ownedBy:R(a,["owned_by","ownedBy"])??"unknown",...e?{input:e}:{},...d})}return c}(c)}}404!==a.status&&e.push(`${b}: HTTP ${a.status}`)}catch(a){e.push(`${b}: ${a instanceof Error?a.message:String(a)}`)}throw Error(e.length?e.join("; "):"Could not connect to any model endpoint")}async function J(a,b,c){let d=c.map(a=>({...a})),e=d.filter(a=>void 0===a.contextWindow||void 0===a.maxTokens);if(0===e.length)return d;for(let c of e){let d=await K(a,b,c.id);if(!d)continue;let e=L(d),f=M(d);c.contextWindow??=e.contextWindow,c.maxTokens??=e.maxTokens,c.input??=f}return d}async function K(a,b,c){let d=H(b),e=G(a),f=encodeURIComponent(c);for(let a of F([`${e}/v1/models/${f}`,`${e}/models/${f}`,`${e}/api/models/${f}`]))try{let b=await fetch(a,{method:"GET",headers:d,signal:AbortSignal.timeout(15e3)});if(200===b.status){let a=await b.json();if(E(a))return a}}catch{}try{let a=await fetch(`${e}/api/show`,{method:"POST",headers:{...d,"content-type":"application/json"},body:JSON.stringify({name:c}),signal:AbortSignal.timeout(15e3)});if(200===a.status){let b=await a.json();if(E(b))return b}}catch{}}function L(a){let b=P(a,C),c=P(a,D);return{...b?{contextWindow:b}:{},...c?{maxTokens:c}:{}}}function M(a){if(E(a)&&function a(b){if("string"==typeof b){let a;return"image"===(a=b.trim().toLowerCase())||"images"===a||"vision"===a||"visual"===a||"multimodal"===a}if("boolean"==typeof b||"number"==typeof b||null===b)return!1;if(Array.isArray(b))return b.some(b=>a(b));if(!E(b))return!1;for(let[c,d]of Object.entries(b)){let b=Q(c);if("boolean"==typeof d&&d&&N.has(b)||O.has(b)&&a(d))return!0}return!1}(a))return["text","image"]}let N=new Set(["image","images","vision","visual","multimodal"]),O=new Set(["input","inputs","inputmodalities","modalities","modality","supportedmodalities","capabilities","features","architecture","details","family"]);function P(a,b){if(Array.isArray(a)){for(let c of a){let a=P(c,b);if(a)return a}return}if(E(a)){for(let c of b)for(let[b,d]of Object.entries(a))if(function(a,b){let c=Q(a),d=Q(b);return c===d||c.endsWith(`.${d}`)}(b,c)){let a=function(a){if("boolean"==typeof a)return;if("number"==typeof a&&Number.isFinite(a)&&a>0)return Math.trunc(a);if("string"!=typeof a)return;let b=a.trim().toLowerCase().replace(/[, _]/g,""),c=/^(\d+(?:\.\d+)?)([km])?$/.exec(b);if(!c)return;let d=Number.parseFloat(c[1]);return"k"===c[2]&&(d*=1e3),"m"===c[2]&&(d*=1e6),d>0?Math.trunc(d):void 0}(d);if(a)return a}for(let c of Object.values(a)){let a=P(c,b);if(a)return a}}}function Q(a){return a.toLowerCase().replace(/[^a-z0-9.]/g,"")}function R(a,b){for(let c of b){let b=a[c];if("string"==typeof b&&b.trim())return b}}let S="force-dynamic";async function T(a){try{let b=await a.json(),c="string"==typeof b.baseUrl?G(b.baseUrl):"",d="string"==typeof b.apiKey?b.apiKey:"",e="string"==typeof b.provider?b.provider.trim():"";if(!c)return v.NextResponse.json({ok:!1,error:"Base URL is required"},{status:400});let f=await I(c,d),g=!1===b.enrich?f.models:await J(c,d,f.models),h=function(a,b=!1,c){return a.map(a=>{let d,e=(d=a.id.toLowerCase()).includes("claude")?{...w,...d.includes("thinking")||d.includes("reasoning")?{reasoning:!0}:{}}:d.includes("gpt")?{...x}:d.includes("deepseek")?{...y}:d.includes("qwen")?{...z}:d.includes("llama")?{...A}:{...B},f=function(a){if(a.input?.includes("image")||function(a,b,c){let d=[a,b,c].filter(Boolean).join(" ").toLowerCase();if(!d)return!1;let e=d.replace(/[^a-z0-9]+/g," ");return!!(/\b(?:vision|visual|multimodal|image|images|llava|pixtral|internvl|minicpmv|glm4v)\b/.test(e)||/(^|[^a-z0-9])(?:vl|v)(?:[^a-z0-9]|$)/.test(d)||/\bqwen[0-9.]*\s*vl\b|\bqwen\s*vl\b/.test(e)||/\bgpt\s*4o\b|\bgpt\s*4\s*1\b|\bo3\b|\bo4\b/.test(e)||/\bgemini\b|\bclaude\s*3\b|\bclaude\s*(?:sonnet|opus|haiku)\s*4\b/.test(e))}(a.id,a.name,a.ownedBy))return["text","image"]}(a);return{id:b&&c?`${c}/${a.id}`:a.id,name:a.name??a.id,...f?{input:f}:{},contextWindow:a.contextWindow??e.contextWindow,maxTokens:a.maxTokens??e.maxTokens,...e.reasoning?{reasoning:!0}:{}}})}(g,!1,e||void 0);return v.NextResponse.json({ok:!0,endpoint:f.endpoint,baseUrl:c,models:g,piModels:h})}catch(a){return v.NextResponse.json({ok:!1,error:a instanceof Error?a.message:String(a)},{status:500})}}let U=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/models-config/discover/route",pathname:"/api/models-config/discover",filename:"route",bundlePath:"app/api/models-config/discover/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/annodex/annodex/app/api/models-config/discover/route.ts",nextConfigOutput:"",userland:d}),{workAsyncStorage:V,workUnitAsyncStorage:W,serverHooks:X}=U;function Y(){return(0,g.patchFetch)({workAsyncStorage:V,workUnitAsyncStorage:W})}async function Z(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),U.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/models-config/discover/route";"/index"===d&&(d="/");let e=await U.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,params:v,nextConfig:w,parsedUrl:x,isDraftMode:y,prerenderManifest:z,routerServerContext:A,isOnDemandRevalidate:B,revalidateOnlyGenerated:C,resolvedPathname:D,clientReferenceManifest:E,serverActionsManifest:F}=e,G=(0,k.normalizeAppPath)(d),H=!!(z.dynamicRoutes[G]||z.routes[D]),I=async()=>((null==A?void 0:A.render404)?await A.render404(a,b,x,!1):b.end("This page could not be found"),null);if(H&&!y){let a=!!z.routes[D],b=z.dynamicRoutes[G];if(b&&!1===b.fallback&&!a){if(w.adapterPath)return await I();throw new t.NoFallbackError}}let J=null;!H||U.isDev||y||(J="/index"===(J=D)?"/":J);let K=!0===U.isDev||!H,L=H&&!K;F&&E&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:E,serverActionsManifest:F});let M=a.method||"GET",N=(0,i.getTracer)(),O=N.getActiveScopeSpan(),P=!!(null==A?void 0:A.isWrappedByNextServer),Q=!!(0,h.getRequestMeta)(a,"minimalMode"),R=(0,h.getRequestMeta)(a,"incrementalCache")||await U.getIncrementalCache(a,w,z,Q);null==R||R.resetRequestCache(),globalThis.__incrementalCache=R;let S={params:v,previewProps:z.preview,renderOpts:{experimental:{authInterrupts:!!w.experimental.authInterrupts},cacheComponents:!!w.cacheComponents,supportsDynamicResponse:K,incrementalCache:R,cacheLifeProfiles:w.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>U.onRequestError(a,b,d,e,A)},sharedContext:{buildId:g}},T=new l.NodeNextRequest(a),V=new l.NodeNextResponse(b),W=m.NextRequestAdapter.fromNodeNextRequest(T,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>U.handle(W,S).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=N.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let f=c.get("next.route");if(f){let b=`${M} ${f}`;a.setAttributes({"next.route":f,"http.route":f,"next.span_name":b}),a.updateName(b),e&&e!==a&&(e.setAttribute("http.route",f),e.updateName(b))}else a.updateName(`${M} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!Q&&B&&C&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await g(e);a.fetchMetrics=S.renderOpts.fetchMetrics;let h=S.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=S.renderOpts.collectedTags;if(!H)return await (0,p.I)(T,V,d,S.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);i&&(b[s.NEXT_CACHE_TAGS_HEADER]=i),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==S.renderOpts.collectedRevalidate&&!(S.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&S.renderOpts.collectedRevalidate,e=void 0===S.renderOpts.collectedExpire||S.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:S.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await U.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:L,isOnDemandRevalidate:B})},!1,A),b}},k=await U.handleResponse({req:a,nextConfig:w,cacheKey:J,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:z,isRoutePPREnabled:!1,isOnDemandRevalidate:B,revalidateOnlyGenerated:C,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:Q});if(!H)return null;if((null==k||null==(h=k.value)?void 0:h.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==k||null==(i=k.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});Q||b.setHeader("x-nextjs-cache",B?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),y&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,q.fromNodeOutgoingHttpHeaders)(k.value.headers);return Q&&H||l.delete(s.NEXT_CACHE_TAGS_HEADER),!k.cacheControl||b.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,r.getCacheControlHeader)(k.cacheControl)),await (0,p.I)(T,V,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};P&&O?await h(O):(e=N.getActiveScopeSpan(),await N.withPropagatedContext(a.headers,()=>N.trace(n.BaseServerSpan.handleRequest,{spanName:`${M} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":M,"http.target":a.url}},h),void 0,!P))}catch(b){if(b instanceof t.NoFallbackError||await U.onRequestError(a,b,{routerKind:"App Router",routePath:G,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:L,isOnDemandRevalidate:B})},!1,A),H)throw b;return await (0,p.I)(T,V,new Response(null,{status:500})),null}}},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},44870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},78335:()=>{},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},96487:()=>{}};var b=require("../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,1813],()=>b(b.s=19453));module.exports=c})();
1
+ (()=>{var a={};a.id=9787,a.ids=[9787],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},19453:(a,b,c)=>{"use strict";c.r(b),c.d(b,{handler:()=>$,patchFetch:()=>Z,routeModule:()=>V,serverHooks:()=>Y,workAsyncStorage:()=>W,workUnitAsyncStorage:()=>X});var d={};c.r(d),c.d(d,{POST:()=>U,dynamic:()=>T});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(23211),w=c(99526);let x={contextWindow:2e5,maxTokens:16e3},y={contextWindow:2e5,maxTokens:16e3},z={contextWindow:128e3,maxTokens:8192},A={contextWindow:128e3,maxTokens:8192},B={contextWindow:8192,maxTokens:4096},C={contextWindow:2e5,maxTokens:16e3},D=["contextWindow","context_window","context_length","contextLength","max_context_length","maxContextLength","max_model_len","model_max_length","input_token_limit","max_input_tokens","maxInputTokens","num_ctx","n_ctx"],E=["maxTokens","max_tokens","max_output_tokens","maxOutputTokens","max_completion_tokens","maxCompletionTokens","output_token_limit","completion_token_limit"];function F(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}function G(a){return Array.from(new Set(a))}function H(a){return a.trim().replace(/\/+$/,"")}function I(a){return a.trim()?{authorization:`Bearer ${a.trim()}`}:{}}async function J(a,b=""){let c,d=I(b),e=[];for(let b of(c=H(a),G([`${c}/v1/models`,`${c}/models`,`${c}/api/models`,`${c}/api/tags`])))try{let a=await fetch(b,{method:"GET",headers:d,signal:AbortSignal.timeout(8e3)});if(200===a.status){let c=await a.json();return{endpoint:b,models:function(a){let b=function(a){if(Array.isArray(a))return a;if(!F(a))throw Error("Could not parse model response format");if(Array.isArray(a.data))return a.data;if(Array.isArray(a.models))return a.models;throw Error("Could not parse model response format")}(a),c=[];for(let a of b){if("string"==typeof a){c.push({id:a,name:a,ownedBy:"unknown"});continue}if(!F(a))continue;let b=S(a,["id","model_id","name","model"]);if(!b)continue;let d=M(a),e=N(a);c.push({id:b,name:S(a,["name"])??b,ownedBy:S(a,["owned_by","ownedBy"])??"unknown",...e?{input:e}:{},...d})}return c}(c)}}404!==a.status&&e.push(`${b}: HTTP ${a.status}`)}catch(a){e.push(`${b}: ${a instanceof Error?a.message:String(a)}`)}throw Error(e.length?e.join("; "):"Could not connect to any model endpoint")}async function K(a,b,c){let d=c.map(a=>({...a})),e=d.filter(a=>void 0===a.contextWindow||void 0===a.maxTokens);if(0===e.length)return d;for(let c of e){let d=await L(a,b,c.id);if(!d)continue;let e=M(d),f=N(d);c.contextWindow??=e.contextWindow,c.maxTokens??=e.maxTokens,c.input??=f}return d}async function L(a,b,c){let d=I(b),e=H(a),f=encodeURIComponent(c);for(let a of G([`${e}/v1/models/${f}`,`${e}/models/${f}`,`${e}/api/models/${f}`]))try{let b=await fetch(a,{method:"GET",headers:d,signal:AbortSignal.timeout(15e3)});if(200===b.status){let a=await b.json();if(F(a))return a}}catch{}try{let a=await fetch(`${e}/api/show`,{method:"POST",headers:{...d,"content-type":"application/json"},body:JSON.stringify({name:c}),signal:AbortSignal.timeout(15e3)});if(200===a.status){let b=await a.json();if(F(b))return b}}catch{}}function M(a){let b=Q(a,D),c=Q(a,E);return{...b?{contextWindow:b}:{},...c?{maxTokens:c}:{}}}function N(a){if(F(a)&&function a(b){if("string"==typeof b){let a;return"image"===(a=b.trim().toLowerCase())||"images"===a||"vision"===a||"visual"===a||"multimodal"===a}if("boolean"==typeof b||"number"==typeof b||null===b)return!1;if(Array.isArray(b))return b.some(b=>a(b));if(!F(b))return!1;for(let[c,d]of Object.entries(b)){let b=R(c);if("boolean"==typeof d&&d&&O.has(b)||P.has(b)&&a(d))return!0}return!1}(a))return["text","image"]}let O=new Set(["image","images","vision","visual","multimodal"]),P=new Set(["input","inputs","inputmodalities","modalities","modality","supportedmodalities","capabilities","features","architecture","details","family"]);function Q(a,b){if(Array.isArray(a)){for(let c of a){let a=Q(c,b);if(a)return a}return}if(F(a)){for(let c of b)for(let[b,d]of Object.entries(a))if(function(a,b){let c=R(a),d=R(b);return c===d||c.endsWith(`.${d}`)}(b,c)){let a=function(a){if("boolean"==typeof a)return;if("number"==typeof a&&Number.isFinite(a)&&a>0)return Math.trunc(a);if("string"!=typeof a)return;let b=a.trim().toLowerCase().replace(/[, _]/g,""),c=/^(\d+(?:\.\d+)?)([km])?$/.exec(b);if(!c)return;let d=Number.parseFloat(c[1]);return"k"===c[2]&&(d*=1e3),"m"===c[2]&&(d*=1e6),d>0?Math.trunc(d):void 0}(d);if(a)return a}for(let c of Object.values(a)){let a=Q(c,b);if(a)return a}}}function R(a){return a.toLowerCase().replace(/[^a-z0-9.]/g,"")}function S(a,b){for(let c of b){let b=a[c];if("string"==typeof b&&b.trim())return b}}let T="force-dynamic";async function U(a){try{let b=await a.json(),c="string"==typeof b.baseUrl?H(b.baseUrl):"",d="string"==typeof b.apiKey?b.apiKey:"",e="string"==typeof b.provider?b.provider.trim():"";if(!c)return v.NextResponse.json({ok:!1,error:"Base URL is required"},{status:400});let f=await J(c,d),g=!1===b.enrich?f.models:await K(c,d,f.models),h=function(a,b=!1,c,d){let e=(0,w.oi)(d,c);return a.map(a=>{let f,g=(f=a.id.toLowerCase()).includes("claude")?{...x,...f.includes("thinking")||f.includes("reasoning")?{reasoning:!0}:{}}:f.includes("gpt")?{...y}:f.includes("deepseek")?{...z}:f.includes("qwen")?{...A}:f.includes("llama")?{...B}:{...C},h=function(a){if(a.input?.includes("image")||function(a,b,c){let d=[a,b,c].filter(Boolean).join(" ").toLowerCase();if(!d)return!1;let e=d.replace(/[^a-z0-9]+/g," ");return!!(/\b(?:vision|visual|multimodal|image|images|llava|pixtral|internvl|minicpmv|glm4v)\b/.test(e)||/(^|[^a-z0-9])(?:vl|v)(?:[^a-z0-9]|$)/.test(d)||/\bqwen[0-9.]*\s*vl\b|\bqwen\s*vl\b/.test(e)||/\bgpt\s*4o\b|\bgpt\s*4\s*1\b|\bo3\b|\bo4\b/.test(e)||/\bgemini\b|\bclaude\s*3\b|\bclaude\s*(?:sonnet|opus|haiku)\s*4\b/.test(e))}(a.id,a.name,a.ownedBy))return["text","image"]}(a),i=(0,w.Y3)(a.id,e,d,c);return{id:b&&c?`${c}/${a.id}`:a.id,name:a.name??a.id,...i&&i!==e?{api:i}:{},...h?{input:h}:{},contextWindow:a.contextWindow??g.contextWindow,maxTokens:a.maxTokens??g.maxTokens,...g.reasoning?{reasoning:!0}:{}}})}(g,!1,e||void 0,c);return v.NextResponse.json({ok:!0,endpoint:f.endpoint,baseUrl:c,models:g,piModels:h})}catch(a){return v.NextResponse.json({ok:!1,error:a instanceof Error?a.message:String(a)},{status:500})}}let V=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/models-config/discover/route",pathname:"/api/models-config/discover",filename:"route",bundlePath:"app/api/models-config/discover/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/annodex/annodex/app/api/models-config/discover/route.ts",nextConfigOutput:"",userland:d}),{workAsyncStorage:W,workUnitAsyncStorage:X,serverHooks:Y}=V;function Z(){return(0,g.patchFetch)({workAsyncStorage:W,workUnitAsyncStorage:X})}async function $(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),V.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/models-config/discover/route";"/index"===d&&(d="/");let e=await V.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,params:v,nextConfig:w,parsedUrl:x,isDraftMode:y,prerenderManifest:z,routerServerContext:A,isOnDemandRevalidate:B,revalidateOnlyGenerated:C,resolvedPathname:D,clientReferenceManifest:E,serverActionsManifest:F}=e,G=(0,k.normalizeAppPath)(d),H=!!(z.dynamicRoutes[G]||z.routes[D]),I=async()=>((null==A?void 0:A.render404)?await A.render404(a,b,x,!1):b.end("This page could not be found"),null);if(H&&!y){let a=!!z.routes[D],b=z.dynamicRoutes[G];if(b&&!1===b.fallback&&!a){if(w.adapterPath)return await I();throw new t.NoFallbackError}}let J=null;!H||V.isDev||y||(J="/index"===(J=D)?"/":J);let K=!0===V.isDev||!H,L=H&&!K;F&&E&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:E,serverActionsManifest:F});let M=a.method||"GET",N=(0,i.getTracer)(),O=N.getActiveScopeSpan(),P=!!(null==A?void 0:A.isWrappedByNextServer),Q=!!(0,h.getRequestMeta)(a,"minimalMode"),R=(0,h.getRequestMeta)(a,"incrementalCache")||await V.getIncrementalCache(a,w,z,Q);null==R||R.resetRequestCache(),globalThis.__incrementalCache=R;let S={params:v,previewProps:z.preview,renderOpts:{experimental:{authInterrupts:!!w.experimental.authInterrupts},cacheComponents:!!w.cacheComponents,supportsDynamicResponse:K,incrementalCache:R,cacheLifeProfiles:w.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>V.onRequestError(a,b,d,e,A)},sharedContext:{buildId:g}},T=new l.NodeNextRequest(a),U=new l.NodeNextResponse(b),W=m.NextRequestAdapter.fromNodeNextRequest(T,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>V.handle(W,S).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=N.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let f=c.get("next.route");if(f){let b=`${M} ${f}`;a.setAttributes({"next.route":f,"http.route":f,"next.span_name":b}),a.updateName(b),e&&e!==a&&(e.setAttribute("http.route",f),e.updateName(b))}else a.updateName(`${M} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!Q&&B&&C&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await g(e);a.fetchMetrics=S.renderOpts.fetchMetrics;let h=S.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=S.renderOpts.collectedTags;if(!H)return await (0,p.I)(T,U,d,S.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);i&&(b[s.NEXT_CACHE_TAGS_HEADER]=i),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==S.renderOpts.collectedRevalidate&&!(S.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&S.renderOpts.collectedRevalidate,e=void 0===S.renderOpts.collectedExpire||S.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:S.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await V.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:L,isOnDemandRevalidate:B})},!1,A),b}},k=await V.handleResponse({req:a,nextConfig:w,cacheKey:J,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:z,isRoutePPREnabled:!1,isOnDemandRevalidate:B,revalidateOnlyGenerated:C,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:Q});if(!H)return null;if((null==k||null==(h=k.value)?void 0:h.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==k||null==(i=k.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});Q||b.setHeader("x-nextjs-cache",B?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),y&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,q.fromNodeOutgoingHttpHeaders)(k.value.headers);return Q&&H||l.delete(s.NEXT_CACHE_TAGS_HEADER),!k.cacheControl||b.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,r.getCacheControlHeader)(k.cacheControl)),await (0,p.I)(T,U,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};P&&O?await h(O):(e=N.getActiveScopeSpan(),await N.withPropagatedContext(a.headers,()=>N.trace(n.BaseServerSpan.handleRequest,{spanName:`${M} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":M,"http.target":a.url}},h),void 0,!P))}catch(b){if(b instanceof t.NoFallbackError||await V.onRequestError(a,b,{routerKind:"App Router",routePath:G,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:L,isOnDemandRevalidate:B})},!1,A),H)throw b;return await (0,p.I)(T,U,new Response(null,{status:500})),null}}},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},44870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},78335:()=>{},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},96487:()=>{},99526:(a,b,c)=>{"use strict";c.d(b,{DL:()=>k,Y3:()=>j,mi:()=>g,oi:()=>h,pp:()=>i});let d=["openai-responses","openai-completions"],e=[/\/chat\/completions(?:$|[?#])/i,/deepseek/i,/moonshot|kimi/i,/dashscope|aliyun|qwen/i,/zhipu|bigmodel|chatglm|glm/i,/siliconflow/i,/volcengine|ark\.cn|doubao/i,/baichuan/i,/minimax/i,/stepfun|step-api/i,/lingyiwanwu|yi-api/i],f=[/api\.openai\.com/i,/\/responses(?:$|[?#])/i];function g(a){return"string"==typeof a&&d.includes(a)}function h(a,b,c="openai-responses"){let d=`${b??""} ${a??""}`.toLowerCase();return d.trim()?f.some(a=>a.test(d))?"openai-responses":e.some(a=>a.test(d))?"openai-completions":c:c}function i(a,b,c){return g(a)?a:h(b,c)}function j(a,b,c,d){let e=a.toLowerCase(),f=`${d??""} ${c??""}`.toLowerCase();return/deepseek|kimi|moonshot|qwen|glm|zhipu|chatglm|siliconflow|doubao|yi-|llama|mistral|baichuan|minimax/.test(e)?"openai-completions":/gpt|o\d|openai/.test(e)?"openai-responses":/deeprouter|openrouter/.test(f)?void 0:b}function k(a,b,c){return"responses"===a?"openai-responses":"chat"===a||"chat_completions"===a||"chat-completions"===a?"openai-completions":b||c?h(b,c):void 0}}};var b=require("../../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,1813],()=>b(b.s=19453));module.exports=c})();
@@ -1 +1 @@
1
- (()=>{var a={};a.id=7483,a.ids=[7483],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},21820:a=>{"use strict";a.exports=require("os")},29021:a=>{"use strict";a.exports=require("fs")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:a=>{"use strict";a.exports=require("path")},44870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},55132:(a,b,c)=>{"use strict";c.d(b,{AX:()=>u,Dw:()=>s,HO:()=>q,KR:()=>v,fZ:()=>w,lh:()=>t,rv:()=>m,u_:()=>r});var d=c(29021),e=c(33873),f=c(21820),g=c(18477),h=c(89035),i=c(99526);function j(){return process.env.ANNODEX_CONFIG_DIR??process.env.ANNOVIBE_CONFIG_DIR??(0,e.join)((0,f.homedir)(),".config","annodex")}function k(){return(0,e.join)(j(),"providers.json")}let l={"gpt-5-codex":{contextWindow:1048576,maxTokens:128e3},"gpt-5.1-codex-max":{contextWindow:1048576,maxTokens:128e3},"gpt-5.1-codex-mini":{contextWindow:1048576,maxTokens:128e3},"gpt-4.1-codex-max":{contextWindow:1048576,maxTokens:32768},"gpt-4.1-codex-mini":{contextWindow:1048576,maxTokens:32768},"deepseek-chat":{contextWindow:1048576,maxTokens:8192},"deepseek-reasoner":{contextWindow:1048576,maxTokens:8192},"deepseek-v3":{contextWindow:1048576,maxTokens:8192},"kimi-k2":{contextWindow:1048576,maxTokens:8192},"moonshot-v1-auto":{contextWindow:1048576,maxTokens:8192},"glm-4-plus":{contextWindow:128e3,maxTokens:4096},"glm-4-flash":{contextWindow:128e3,maxTokens:4096},"qwen-max":{contextWindow:1048576,maxTokens:8192},"qwen-plus":{contextWindow:1048576,maxTokens:8192},"qwen-turbo":{contextWindow:1048576,maxTokens:8192},"qwen3-235b-a22b":{contextWindow:131072,maxTokens:8192}};function m(a){return a?l[a]:void 0}function n(){return{providers:[],exists:!1}}function o(){let a=(0,e.join)((0,h.R)(),"config.toml");if(!(0,d.existsSync)(a))return null;try{let b=(0,d.readFileSync)(a,"utf-8");return(0,g.qg)(b)}catch{return null}}function p(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}function q(){let a=k();if(!(0,d.existsSync)(a))return n();try{let b=JSON.parse((0,d.readFileSync)(a,"utf-8"));return{providers:Array.isArray(b.providers)?b.providers.filter(a=>"string"==typeof a.id&&"string"==typeof a.baseUrl).map(a=>({id:a.id,name:"string"==typeof a.name?a.name:a.id,baseUrl:a.baseUrl.replace(/\/+$/,""),apiKey:"string"==typeof a.apiKey?a.apiKey:"",api:(0,i.pp)(a.api,a.baseUrl,a.id),requiresOpenAiAuth:"boolean"==typeof a.requiresOpenAiAuth?a.requiresOpenAiAuth:void 0,models:Array.isArray(a.models)?a.models.map(a=>(function(a){if(!p(a)||"string"!=typeof a.id)return null;let b=a.id.trim();return b?{id:b,name:"string"==typeof a.name&&a.name.trim()?a.name:b,api:(0,i.mi)(a.api)?a.api:void 0,reasoning:"boolean"==typeof a.reasoning?a.reasoning:void 0,thinkingLevelMap:function(a){if(!p(a))return;let b={};for(let[c,d]of Object.entries(a))c&&("string"==typeof d?b[c]=d:null===d&&(b[c]=null));return Object.keys(b).length?b:void 0}(a.thinkingLevelMap),input:function(a){if(!Array.isArray(a))return;let b=a.filter(a=>"string"==typeof a&&a.trim().length>0);return b.length?b:void 0}(a.input),contextWindow:"number"==typeof a.contextWindow?a.contextWindow:void 0,maxTokens:"number"==typeof a.maxTokens?a.maxTokens:void 0,compat:function(a){if(p(a))return Object.keys(a).length?a:void 0}(a.compat)}:null})(a)).filter(a=>null!==a):[]})):n().providers,defaultProvider:"string"==typeof b.defaultProvider?b.defaultProvider:void 0,defaultModel:"string"==typeof b.defaultModel?b.defaultModel:void 0,generativeUI:"boolean"==typeof b.generativeUI?b.generativeUI:void 0,exists:!0}}catch{return n()}}function r(a){let b=j();(0,d.existsSync)(b)||(0,d.mkdirSync)(b,{recursive:!0});let{exists:c,...e}=a;return(0,d.writeFileSync)(k(),JSON.stringify(e,null,2),"utf-8"),a}function s(){let a=q(),b=function(){let a=o();if(!a?.model_providers)return[];let b="string"==typeof a.model?a.model:"",c="string"==typeof a.model_provider?a.model_provider:"";return Object.entries(a.model_providers).filter(([,a])=>"string"==typeof a.base_url).map(([a,d])=>({id:a,name:d.name??a,baseUrl:(d.base_url??"").replace(/\/+$/,""),apiKey:"string"==typeof d.env_key?d.env_key:"",api:(0,i.DL)(d.wire_api,d.base_url,a),requiresOpenAiAuth:"boolean"==typeof d.requires_openai_auth?d.requires_openai_auth:void 0,models:a===c&&b?[{id:b,name:b}]:[]}))}(),c=function(){let a=o();if(!a)return{};let b="string"==typeof a.model&&a.model.trim()?a.model.trim():void 0,c="string"==typeof a.model_provider&&a.model_provider.trim()?a.model_provider.trim():void 0,d=c?a.model_providers?.[c]?.name??c:void 0;return{model:b,providerId:c,providerName:d}}(),d=new Set(a.providers.map(a=>a.id)),e=[...a.providers];for(let a of b)d.has(a.id)||(e.push(a),d.add(a.id));return{providers:e,defaultModel:c.model,defaultProvider:c.providerId,generativeUI:!1!==a.generativeUI,codexDefaults:c}}function t(a,b){return a.providers.find(a=>a.id===b)}function u(a,b,c){let d=b||a.defaultModel;if(!d)return null;let e=c?t(a,c):void 0;if(e)return 0===e.models.length||e.models.some(a=>a.id===d)?{provider:e,modelId:d}:null;let f=function(a,b){for(let c of a.providers)if(c.models.some(a=>a.id===b))return c}(a,d);return f?{provider:f,modelId:d}:null}function v(a){let b=[];for(let c of a.providers)for(let a of c.models){let d=l[a.id];b.push({provider:c.id,modelId:a.id,name:a.name||a.id,api:a.api,reasoning:a.reasoning,thinkingLevelMap:a.thinkingLevelMap,contextWindow:a.contextWindow??d?.contextWindow,maxTokens:a.maxTokens??d?.maxTokens,input:a.input,compat:a.compat})}return b}function w(a){if(!a.codexDefaults.model)return null;let b=u(a,a.codexDefaults.model,a.codexDefaults.providerId);return!b&&a.codexDefaults.providerId?{provider:a.codexDefaults.providerId,modelId:a.codexDefaults.model}:b?{provider:b.provider.id,modelId:b.modelId}:null}},56899:(a,b,c)=>{"use strict";c.r(b),c.d(b,{handler:()=>H,patchFetch:()=>G,routeModule:()=>C,serverHooks:()=>F,workAsyncStorage:()=>D,workUnitAsyncStorage:()=>E});var d={};c.r(d),c.d(d,{GET:()=>A,PUT:()=>B,dynamic:()=>y});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(23211),w=c(55132),x=c(99526);let y="force-dynamic";function z(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}async function A(){try{let a=(0,w.Dw)();return v.NextResponse.json({providers:Object.fromEntries(a.providers.map(a=>[a.id,{baseUrl:a.baseUrl,apiKey:a.apiKey,api:a.api??"openai-responses",requiresOpenAiAuth:a.requiresOpenAiAuth,models:a.models.map(a=>({id:a.id,name:a.name,api:a.api,reasoning:a.reasoning,thinkingLevelMap:a.thinkingLevelMap,input:a.input,contextWindow:a.contextWindow,maxTokens:a.maxTokens,compat:a.compat}))}])),defaultProvider:a.defaultProvider,defaultModel:a.defaultModel})}catch(a){return v.NextResponse.json({providers:{},error:String(a)},{status:500})}}async function B(a){try{let b=await a.json(),c=(0,w.HO)();return b.providers&&(c.providers=Object.entries(b.providers).filter(([,a])=>"string"==typeof a.baseUrl).map(([a,b])=>{let c=(b.baseUrl??"").replace(/\/+$/,"");return{id:a,name:a,baseUrl:c,api:(0,x.pp)(b.api,c,a),apiKey:"string"==typeof b.apiKey?b.apiKey:"",requiresOpenAiAuth:"boolean"==typeof b.requiresOpenAiAuth?b.requiresOpenAiAuth:void 0,models:Array.isArray(b.models)?b.models.filter(a=>"string"==typeof a.id).map(a=>{let b=a.id.trim();return{id:b,name:a.name||b,api:(0,x.mi)(a.api)?a.api:void 0,reasoning:"boolean"==typeof a.reasoning?a.reasoning:void 0,thinkingLevelMap:function(a){if(!z(a))return;let b={};for(let[c,d]of Object.entries(a))("string"==typeof d||null===d)&&(b[c]=d);return Object.keys(b).length?b:void 0}(a.thinkingLevelMap),input:function(a){if(!Array.isArray(a))return;let b=a.filter(a=>"string"==typeof a&&a.trim().length>0);return b.length?b:void 0}(a.input),contextWindow:"number"==typeof a.contextWindow?a.contextWindow:void 0,maxTokens:"number"==typeof a.maxTokens?a.maxTokens:void 0,compat:function(a){if(z(a))return Object.keys(a).length?a:void 0}(a.compat)}}).filter(a=>a.id):[]}})),delete c.defaultProvider,delete c.defaultModel,(0,w.u_)(c),v.NextResponse.json({success:!0})}catch(a){return v.NextResponse.json({error:String(a)},{status:500})}}let C=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/models-config/route",pathname:"/api/models-config",filename:"route",bundlePath:"app/api/models-config/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/annodex/annodex/app/api/models-config/route.ts",nextConfigOutput:"",userland:d}),{workAsyncStorage:D,workUnitAsyncStorage:E,serverHooks:F}=C;function G(){return(0,g.patchFetch)({workAsyncStorage:D,workUnitAsyncStorage:E})}async function H(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),C.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/models-config/route";"/index"===d&&(d="/");let e=await C.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,params:v,nextConfig:w,parsedUrl:x,isDraftMode:y,prerenderManifest:z,routerServerContext:A,isOnDemandRevalidate:B,revalidateOnlyGenerated:D,resolvedPathname:E,clientReferenceManifest:F,serverActionsManifest:G}=e,H=(0,k.normalizeAppPath)(d),I=!!(z.dynamicRoutes[H]||z.routes[E]),J=async()=>((null==A?void 0:A.render404)?await A.render404(a,b,x,!1):b.end("This page could not be found"),null);if(I&&!y){let a=!!z.routes[E],b=z.dynamicRoutes[H];if(b&&!1===b.fallback&&!a){if(w.adapterPath)return await J();throw new t.NoFallbackError}}let K=null;!I||C.isDev||y||(K="/index"===(K=E)?"/":K);let L=!0===C.isDev||!I,M=I&&!L;G&&F&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:F,serverActionsManifest:G});let N=a.method||"GET",O=(0,i.getTracer)(),P=O.getActiveScopeSpan(),Q=!!(null==A?void 0:A.isWrappedByNextServer),R=!!(0,h.getRequestMeta)(a,"minimalMode"),S=(0,h.getRequestMeta)(a,"incrementalCache")||await C.getIncrementalCache(a,w,z,R);null==S||S.resetRequestCache(),globalThis.__incrementalCache=S;let T={params:v,previewProps:z.preview,renderOpts:{experimental:{authInterrupts:!!w.experimental.authInterrupts},cacheComponents:!!w.cacheComponents,supportsDynamicResponse:L,incrementalCache:S,cacheLifeProfiles:w.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>C.onRequestError(a,b,d,e,A)},sharedContext:{buildId:g}},U=new l.NodeNextRequest(a),V=new l.NodeNextResponse(b),W=m.NextRequestAdapter.fromNodeNextRequest(U,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>C.handle(W,T).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=O.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let f=c.get("next.route");if(f){let b=`${N} ${f}`;a.setAttributes({"next.route":f,"http.route":f,"next.span_name":b}),a.updateName(b),e&&e!==a&&(e.setAttribute("http.route",f),e.updateName(b))}else a.updateName(`${N} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!R&&B&&D&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await g(e);a.fetchMetrics=T.renderOpts.fetchMetrics;let h=T.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=T.renderOpts.collectedTags;if(!I)return await (0,p.I)(U,V,d,T.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);i&&(b[s.NEXT_CACHE_TAGS_HEADER]=i),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==T.renderOpts.collectedRevalidate&&!(T.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&T.renderOpts.collectedRevalidate,e=void 0===T.renderOpts.collectedExpire||T.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:T.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await C.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:B})},!1,A),b}},k=await C.handleResponse({req:a,nextConfig:w,cacheKey:K,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:z,isRoutePPREnabled:!1,isOnDemandRevalidate:B,revalidateOnlyGenerated:D,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:R});if(!I)return null;if((null==k||null==(h=k.value)?void 0:h.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==k||null==(i=k.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});R||b.setHeader("x-nextjs-cache",B?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),y&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,q.fromNodeOutgoingHttpHeaders)(k.value.headers);return R&&I||l.delete(s.NEXT_CACHE_TAGS_HEADER),!k.cacheControl||b.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,r.getCacheControlHeader)(k.cacheControl)),await (0,p.I)(U,V,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};Q&&P?await h(P):(e=O.getActiveScopeSpan(),await O.withPropagatedContext(a.headers,()=>O.trace(n.BaseServerSpan.handleRequest,{spanName:`${N} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":N,"http.target":a.url}},h),void 0,!Q))}catch(b){if(b instanceof t.NoFallbackError||await C.onRequestError(a,b,{routerKind:"App Router",routePath:H,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:B})},!1,A),I)throw b;return await (0,p.I)(U,V,new Response(null,{status:500})),null}}},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},78335:()=>{},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},89035:(a,b,c)=>{"use strict";c.d(b,{R:()=>f});var d=c(33873),e=c(21820);function f(){return process.env.CODEX_HOME?.trim()||(0,d.join)((0,e.homedir)(),".codex")}},96487:()=>{},99526:(a,b,c)=>{"use strict";c.d(b,{DL:()=>j,mi:()=>g,pp:()=>i});let d=["openai-responses","openai-completions"],e=[/\/chat\/completions(?:$|[?#])/i,/deepseek/i,/deeprouter/i,/moonshot|kimi/i,/dashscope|aliyun|qwen/i,/zhipu|bigmodel|chatglm|glm/i,/siliconflow/i,/volcengine|ark\.cn|doubao/i,/baichuan/i,/minimax/i,/stepfun|step-api/i,/lingyiwanwu|yi-api/i],f=[/api\.openai\.com/i,/\/responses(?:$|[?#])/i];function g(a){return"string"==typeof a&&d.includes(a)}function h(a,b,c="openai-responses"){let d=`${b??""} ${a??""}`.toLowerCase();return d.trim()?f.some(a=>a.test(d))?"openai-responses":e.some(a=>a.test(d))?"openai-completions":c:c}function i(a,b,c){return g(a)?a:h(b,c)}function j(a,b,c){return"responses"===a?"openai-responses":"chat"===a||"chat_completions"===a||"chat-completions"===a?"openai-completions":b||c?h(b,c):void 0}}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,1813,8477],()=>b(b.s=56899));module.exports=c})();
1
+ (()=>{var a={};a.id=7483,a.ids=[7483],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},21820:a=>{"use strict";a.exports=require("os")},29021:a=>{"use strict";a.exports=require("fs")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:a=>{"use strict";a.exports=require("path")},44870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},55132:(a,b,c)=>{"use strict";c.d(b,{AX:()=>u,Dw:()=>s,HO:()=>q,KR:()=>v,fZ:()=>w,lh:()=>t,rv:()=>m,u_:()=>r});var d=c(29021),e=c(33873),f=c(21820),g=c(18477),h=c(89035),i=c(99526);function j(){return process.env.ANNODEX_CONFIG_DIR??process.env.ANNOVIBE_CONFIG_DIR??(0,e.join)((0,f.homedir)(),".config","annodex")}function k(){return(0,e.join)(j(),"providers.json")}let l={"gpt-5-codex":{contextWindow:1048576,maxTokens:128e3},"gpt-5.1-codex-max":{contextWindow:1048576,maxTokens:128e3},"gpt-5.1-codex-mini":{contextWindow:1048576,maxTokens:128e3},"gpt-4.1-codex-max":{contextWindow:1048576,maxTokens:32768},"gpt-4.1-codex-mini":{contextWindow:1048576,maxTokens:32768},"deepseek-chat":{contextWindow:1048576,maxTokens:8192},"deepseek-reasoner":{contextWindow:1048576,maxTokens:8192},"deepseek-v3":{contextWindow:1048576,maxTokens:8192},"kimi-k2":{contextWindow:1048576,maxTokens:8192},"moonshot-v1-auto":{contextWindow:1048576,maxTokens:8192},"glm-4-plus":{contextWindow:128e3,maxTokens:4096},"glm-4-flash":{contextWindow:128e3,maxTokens:4096},"qwen-max":{contextWindow:1048576,maxTokens:8192},"qwen-plus":{contextWindow:1048576,maxTokens:8192},"qwen-turbo":{contextWindow:1048576,maxTokens:8192},"qwen3-235b-a22b":{contextWindow:131072,maxTokens:8192}};function m(a){return a?l[a]:void 0}function n(){return{providers:[],exists:!1}}function o(){let a=(0,e.join)((0,h.R)(),"config.toml");if(!(0,d.existsSync)(a))return null;try{let b=(0,d.readFileSync)(a,"utf-8");return(0,g.qg)(b)}catch{return null}}function p(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}function q(){let a=k();if(!(0,d.existsSync)(a))return n();try{let b=JSON.parse((0,d.readFileSync)(a,"utf-8"));return{providers:Array.isArray(b.providers)?b.providers.filter(a=>"string"==typeof a.id&&"string"==typeof a.baseUrl).map(a=>({id:a.id,name:"string"==typeof a.name?a.name:a.id,baseUrl:a.baseUrl.replace(/\/+$/,""),apiKey:"string"==typeof a.apiKey?a.apiKey:"",api:(0,i.pp)(a.api,a.baseUrl,a.id),requiresOpenAiAuth:"boolean"==typeof a.requiresOpenAiAuth?a.requiresOpenAiAuth:void 0,models:Array.isArray(a.models)?a.models.map(a=>(function(a){if(!p(a)||"string"!=typeof a.id)return null;let b=a.id.trim();return b?{id:b,name:"string"==typeof a.name&&a.name.trim()?a.name:b,api:(0,i.mi)(a.api)?a.api:void 0,reasoning:"boolean"==typeof a.reasoning?a.reasoning:void 0,thinkingLevelMap:function(a){if(!p(a))return;let b={};for(let[c,d]of Object.entries(a))c&&("string"==typeof d?b[c]=d:null===d&&(b[c]=null));return Object.keys(b).length?b:void 0}(a.thinkingLevelMap),input:function(a){if(!Array.isArray(a))return;let b=a.filter(a=>"string"==typeof a&&a.trim().length>0);return b.length?b:void 0}(a.input),contextWindow:"number"==typeof a.contextWindow?a.contextWindow:void 0,maxTokens:"number"==typeof a.maxTokens?a.maxTokens:void 0,compat:function(a){if(p(a))return Object.keys(a).length?a:void 0}(a.compat)}:null})(a)).filter(a=>null!==a):[]})):n().providers,defaultProvider:"string"==typeof b.defaultProvider?b.defaultProvider:void 0,defaultModel:"string"==typeof b.defaultModel?b.defaultModel:void 0,generativeUI:"boolean"==typeof b.generativeUI?b.generativeUI:void 0,exists:!0}}catch{return n()}}function r(a){let b=j();(0,d.existsSync)(b)||(0,d.mkdirSync)(b,{recursive:!0});let{exists:c,...e}=a;return(0,d.writeFileSync)(k(),JSON.stringify(e,null,2),"utf-8"),a}function s(){let a=q(),b=function(){let a=o();if(!a?.model_providers)return[];let b="string"==typeof a.model?a.model:"",c="string"==typeof a.model_provider?a.model_provider:"";return Object.entries(a.model_providers).filter(([,a])=>"string"==typeof a.base_url).map(([a,f])=>({id:a,name:f.name??a,baseUrl:(f.base_url??"").replace(/\/+$/,""),apiKey:function(a){if("string"==typeof a.env_key&&a.env_key.trim())return a.env_key.trim();let b=function(){let a=(0,e.join)((0,h.R)(),"auth.json");if(!(0,d.existsSync)(a))return null;try{return JSON.parse((0,d.readFileSync)(a,"utf-8"))}catch{return null}}();return"string"==typeof b?.OPENAI_API_KEY&&b.OPENAI_API_KEY.trim()?b.OPENAI_API_KEY.trim():""}(f),api:(0,i.DL)(f.wire_api,f.base_url,a),requiresOpenAiAuth:"boolean"==typeof f.requires_openai_auth?f.requires_openai_auth:void 0,models:a===c&&b?[{id:b,name:b}]:[]}))}(),c=function(){let a=o();if(!a)return{};let b="string"==typeof a.model&&a.model.trim()?a.model.trim():void 0,c="string"==typeof a.model_provider&&a.model_provider.trim()?a.model_provider.trim():void 0,d=c?a.model_providers?.[c]?.name??c:void 0;return{model:b,providerId:c,providerName:d}}(),f=new Map(a.providers.map(a=>[a.id,a])),g=[...a.providers];for(let a of b){let b=f.get(a.id);if(b){let c=g.findIndex(b=>b.id===a.id),d=function(a,b){let c=new Set(a.models.map(a=>a.id));return{...a,name:a.name||b.name,baseUrl:a.baseUrl||b.baseUrl,apiKey:a.apiKey||b.apiKey,api:a.api??b.api,requiresOpenAiAuth:a.requiresOpenAiAuth??b.requiresOpenAiAuth,models:[...a.models,...b.models.filter(a=>!c.has(a.id))]}}(b,a);g[c]=d,f.set(a.id,d)}else g.push(a),f.set(a.id,a)}return{providers:g.map(a=>{let b;return b=a.models.map(b=>({...b,api:b.api??(0,i.Y3)(b.id,a.api,a.baseUrl,a.id)})),{...a,models:b}}),defaultModel:c.model,defaultProvider:c.providerId,generativeUI:!1!==a.generativeUI,codexDefaults:c}}function t(a,b){return a.providers.find(a=>a.id===b)}function u(a,b,c){let d=b||a.defaultModel;if(!d)return null;let e=c?t(a,c):void 0;if(e)return 0===e.models.length||e.models.some(a=>a.id===d)?{provider:e,modelId:d}:null;let f=function(a,b){for(let c of a.providers)if(c.models.some(a=>a.id===b))return c}(a,d);return f?{provider:f,modelId:d}:null}function v(a){let b=[];for(let c of a.providers)for(let a of c.models){let d=l[a.id];b.push({provider:c.id,modelId:a.id,name:a.name||a.id,api:a.api,reasoning:a.reasoning,thinkingLevelMap:a.thinkingLevelMap,contextWindow:a.contextWindow??d?.contextWindow,maxTokens:a.maxTokens??d?.maxTokens,input:a.input,compat:a.compat})}return b}function w(a){if(!a.codexDefaults.model)return null;let b=u(a,a.codexDefaults.model,a.codexDefaults.providerId);return!b&&a.codexDefaults.providerId?{provider:a.codexDefaults.providerId,modelId:a.codexDefaults.model}:b?{provider:b.provider.id,modelId:b.modelId}:null}},56899:(a,b,c)=>{"use strict";c.r(b),c.d(b,{handler:()=>H,patchFetch:()=>G,routeModule:()=>C,serverHooks:()=>F,workAsyncStorage:()=>D,workUnitAsyncStorage:()=>E});var d={};c.r(d),c.d(d,{GET:()=>A,PUT:()=>B,dynamic:()=>y});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(23211),w=c(55132),x=c(99526);let y="force-dynamic";function z(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}async function A(){try{let a=(0,w.Dw)();return v.NextResponse.json({providers:Object.fromEntries(a.providers.map(a=>[a.id,{baseUrl:a.baseUrl,apiKey:a.apiKey,api:a.api??"openai-responses",requiresOpenAiAuth:a.requiresOpenAiAuth,models:a.models.map(a=>({id:a.id,name:a.name,api:a.api,reasoning:a.reasoning,thinkingLevelMap:a.thinkingLevelMap,input:a.input,contextWindow:a.contextWindow,maxTokens:a.maxTokens,compat:a.compat}))}])),defaultProvider:a.defaultProvider,defaultModel:a.defaultModel})}catch(a){return v.NextResponse.json({providers:{},error:String(a)},{status:500})}}async function B(a){try{let b=await a.json(),c=(0,w.HO)();return b.providers&&(c.providers=Object.entries(b.providers).filter(([,a])=>"string"==typeof a.baseUrl).map(([a,b])=>{let c=(b.baseUrl??"").replace(/\/+$/,"");return{id:a,name:a,baseUrl:c,api:(0,x.pp)(b.api,c,a),apiKey:"string"==typeof b.apiKey?b.apiKey:"",requiresOpenAiAuth:"boolean"==typeof b.requiresOpenAiAuth?b.requiresOpenAiAuth:void 0,models:Array.isArray(b.models)?b.models.filter(a=>"string"==typeof a.id).map(a=>{let b=a.id.trim();return{id:b,name:a.name||b,api:(0,x.mi)(a.api)?a.api:void 0,reasoning:"boolean"==typeof a.reasoning?a.reasoning:void 0,thinkingLevelMap:function(a){if(!z(a))return;let b={};for(let[c,d]of Object.entries(a))("string"==typeof d||null===d)&&(b[c]=d);return Object.keys(b).length?b:void 0}(a.thinkingLevelMap),input:function(a){if(!Array.isArray(a))return;let b=a.filter(a=>"string"==typeof a&&a.trim().length>0);return b.length?b:void 0}(a.input),contextWindow:"number"==typeof a.contextWindow?a.contextWindow:void 0,maxTokens:"number"==typeof a.maxTokens?a.maxTokens:void 0,compat:function(a){if(z(a))return Object.keys(a).length?a:void 0}(a.compat)}}).filter(a=>a.id):[]}})),delete c.defaultProvider,delete c.defaultModel,(0,w.u_)(c),v.NextResponse.json({success:!0})}catch(a){return v.NextResponse.json({error:String(a)},{status:500})}}let C=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/models-config/route",pathname:"/api/models-config",filename:"route",bundlePath:"app/api/models-config/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/annodex/annodex/app/api/models-config/route.ts",nextConfigOutput:"",userland:d}),{workAsyncStorage:D,workUnitAsyncStorage:E,serverHooks:F}=C;function G(){return(0,g.patchFetch)({workAsyncStorage:D,workUnitAsyncStorage:E})}async function H(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),C.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/models-config/route";"/index"===d&&(d="/");let e=await C.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,params:v,nextConfig:w,parsedUrl:x,isDraftMode:y,prerenderManifest:z,routerServerContext:A,isOnDemandRevalidate:B,revalidateOnlyGenerated:D,resolvedPathname:E,clientReferenceManifest:F,serverActionsManifest:G}=e,H=(0,k.normalizeAppPath)(d),I=!!(z.dynamicRoutes[H]||z.routes[E]),J=async()=>((null==A?void 0:A.render404)?await A.render404(a,b,x,!1):b.end("This page could not be found"),null);if(I&&!y){let a=!!z.routes[E],b=z.dynamicRoutes[H];if(b&&!1===b.fallback&&!a){if(w.adapterPath)return await J();throw new t.NoFallbackError}}let K=null;!I||C.isDev||y||(K="/index"===(K=E)?"/":K);let L=!0===C.isDev||!I,M=I&&!L;G&&F&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:F,serverActionsManifest:G});let N=a.method||"GET",O=(0,i.getTracer)(),P=O.getActiveScopeSpan(),Q=!!(null==A?void 0:A.isWrappedByNextServer),R=!!(0,h.getRequestMeta)(a,"minimalMode"),S=(0,h.getRequestMeta)(a,"incrementalCache")||await C.getIncrementalCache(a,w,z,R);null==S||S.resetRequestCache(),globalThis.__incrementalCache=S;let T={params:v,previewProps:z.preview,renderOpts:{experimental:{authInterrupts:!!w.experimental.authInterrupts},cacheComponents:!!w.cacheComponents,supportsDynamicResponse:L,incrementalCache:S,cacheLifeProfiles:w.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>C.onRequestError(a,b,d,e,A)},sharedContext:{buildId:g}},U=new l.NodeNextRequest(a),V=new l.NodeNextResponse(b),W=m.NextRequestAdapter.fromNodeNextRequest(U,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>C.handle(W,T).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=O.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let f=c.get("next.route");if(f){let b=`${N} ${f}`;a.setAttributes({"next.route":f,"http.route":f,"next.span_name":b}),a.updateName(b),e&&e!==a&&(e.setAttribute("http.route",f),e.updateName(b))}else a.updateName(`${N} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!R&&B&&D&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await g(e);a.fetchMetrics=T.renderOpts.fetchMetrics;let h=T.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=T.renderOpts.collectedTags;if(!I)return await (0,p.I)(U,V,d,T.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);i&&(b[s.NEXT_CACHE_TAGS_HEADER]=i),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==T.renderOpts.collectedRevalidate&&!(T.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&T.renderOpts.collectedRevalidate,e=void 0===T.renderOpts.collectedExpire||T.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:T.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await C.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:B})},!1,A),b}},k=await C.handleResponse({req:a,nextConfig:w,cacheKey:K,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:z,isRoutePPREnabled:!1,isOnDemandRevalidate:B,revalidateOnlyGenerated:D,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:R});if(!I)return null;if((null==k||null==(h=k.value)?void 0:h.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==k||null==(i=k.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});R||b.setHeader("x-nextjs-cache",B?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),y&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,q.fromNodeOutgoingHttpHeaders)(k.value.headers);return R&&I||l.delete(s.NEXT_CACHE_TAGS_HEADER),!k.cacheControl||b.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,r.getCacheControlHeader)(k.cacheControl)),await (0,p.I)(U,V,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};Q&&P?await h(P):(e=O.getActiveScopeSpan(),await O.withPropagatedContext(a.headers,()=>O.trace(n.BaseServerSpan.handleRequest,{spanName:`${N} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":N,"http.target":a.url}},h),void 0,!Q))}catch(b){if(b instanceof t.NoFallbackError||await C.onRequestError(a,b,{routerKind:"App Router",routePath:H,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:B})},!1,A),I)throw b;return await (0,p.I)(U,V,new Response(null,{status:500})),null}}},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},78335:()=>{},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},89035:(a,b,c)=>{"use strict";c.d(b,{R:()=>f});var d=c(33873),e=c(21820);function f(){return process.env.CODEX_HOME?.trim()||(0,d.join)((0,e.homedir)(),".codex")}},96487:()=>{},99526:(a,b,c)=>{"use strict";c.d(b,{DL:()=>k,Y3:()=>j,mi:()=>g,oi:()=>h,pp:()=>i});let d=["openai-responses","openai-completions"],e=[/\/chat\/completions(?:$|[?#])/i,/deepseek/i,/moonshot|kimi/i,/dashscope|aliyun|qwen/i,/zhipu|bigmodel|chatglm|glm/i,/siliconflow/i,/volcengine|ark\.cn|doubao/i,/baichuan/i,/minimax/i,/stepfun|step-api/i,/lingyiwanwu|yi-api/i],f=[/api\.openai\.com/i,/\/responses(?:$|[?#])/i];function g(a){return"string"==typeof a&&d.includes(a)}function h(a,b,c="openai-responses"){let d=`${b??""} ${a??""}`.toLowerCase();return d.trim()?f.some(a=>a.test(d))?"openai-responses":e.some(a=>a.test(d))?"openai-completions":c:c}function i(a,b,c){return g(a)?a:h(b,c)}function j(a,b,c,d){let e=a.toLowerCase(),f=`${d??""} ${c??""}`.toLowerCase();return/deepseek|kimi|moonshot|qwen|glm|zhipu|chatglm|siliconflow|doubao|yi-|llama|mistral|baichuan|minimax/.test(e)?"openai-completions":/gpt|o\d|openai/.test(e)?"openai-responses":/deeprouter|openrouter/.test(f)?void 0:b}function k(a,b,c){return"responses"===a?"openai-responses":"chat"===a||"chat_completions"===a||"chat-completions"===a?"openai-completions":b||c?h(b,c):void 0}}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,1813,8477],()=>b(b.s=56899));module.exports=c})();
@@ -1 +1 @@
1
- (()=>{var a={};a.id=5177,a.ids=[5177],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},21820:a=>{"use strict";a.exports=require("os")},29021:a=>{"use strict";a.exports=require("fs")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:a=>{"use strict";a.exports=require("path")},44870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},53018:(a,b,c)=>{"use strict";c.r(b),c.d(b,{handler:()=>F,patchFetch:()=>E,routeModule:()=>A,serverHooks:()=>D,workAsyncStorage:()=>B,workUnitAsyncStorage:()=>C});var d={};c.r(d),c.d(d,{GET:()=>y,PUT:()=>z,dynamic:()=>x});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(23211),w=c(55132);let x="force-dynamic";async function y(){let a=(0,w.HO)(),b=(0,w.Dw)();return v.NextResponse.json({settings:{generativeUI:!1!==a.generativeUI,providers:a.providers.map(a=>({id:a.id,name:a.name,baseUrl:a.baseUrl,hasKey:!!a.apiKey,models:a.models})),defaultProvider:b.defaultProvider,defaultModel:b.defaultModel}})}async function z(a){try{let b=(await a.json()).settings;if(!b||"object"!=typeof b)return v.NextResponse.json({error:"Invalid settings"},{status:400});let c=(0,w.HO)();return c.exists||(c.providers=[]),"boolean"==typeof b.generativeUI&&(c.generativeUI=b.generativeUI),delete c.defaultProvider,delete c.defaultModel,(0,w.u_)(c),v.NextResponse.json({success:!0})}catch(a){return v.NextResponse.json({error:String(a)},{status:500})}}let A=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/settings/route",pathname:"/api/settings",filename:"route",bundlePath:"app/api/settings/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/annodex/annodex/app/api/settings/route.ts",nextConfigOutput:"",userland:d}),{workAsyncStorage:B,workUnitAsyncStorage:C,serverHooks:D}=A;function E(){return(0,g.patchFetch)({workAsyncStorage:B,workUnitAsyncStorage:C})}async function F(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),A.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/settings/route";"/index"===d&&(d="/");let e=await A.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,params:v,nextConfig:w,parsedUrl:x,isDraftMode:y,prerenderManifest:z,routerServerContext:B,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,resolvedPathname:E,clientReferenceManifest:F,serverActionsManifest:G}=e,H=(0,k.normalizeAppPath)(d),I=!!(z.dynamicRoutes[H]||z.routes[E]),J=async()=>((null==B?void 0:B.render404)?await B.render404(a,b,x,!1):b.end("This page could not be found"),null);if(I&&!y){let a=!!z.routes[E],b=z.dynamicRoutes[H];if(b&&!1===b.fallback&&!a){if(w.adapterPath)return await J();throw new t.NoFallbackError}}let K=null;!I||A.isDev||y||(K="/index"===(K=E)?"/":K);let L=!0===A.isDev||!I,M=I&&!L;G&&F&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:F,serverActionsManifest:G});let N=a.method||"GET",O=(0,i.getTracer)(),P=O.getActiveScopeSpan(),Q=!!(null==B?void 0:B.isWrappedByNextServer),R=!!(0,h.getRequestMeta)(a,"minimalMode"),S=(0,h.getRequestMeta)(a,"incrementalCache")||await A.getIncrementalCache(a,w,z,R);null==S||S.resetRequestCache(),globalThis.__incrementalCache=S;let T={params:v,previewProps:z.preview,renderOpts:{experimental:{authInterrupts:!!w.experimental.authInterrupts},cacheComponents:!!w.cacheComponents,supportsDynamicResponse:L,incrementalCache:S,cacheLifeProfiles:w.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>A.onRequestError(a,b,d,e,B)},sharedContext:{buildId:g}},U=new l.NodeNextRequest(a),V=new l.NodeNextResponse(b),W=m.NextRequestAdapter.fromNodeNextRequest(U,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>A.handle(W,T).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=O.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let f=c.get("next.route");if(f){let b=`${N} ${f}`;a.setAttributes({"next.route":f,"http.route":f,"next.span_name":b}),a.updateName(b),e&&e!==a&&(e.setAttribute("http.route",f),e.updateName(b))}else a.updateName(`${N} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!R&&C&&D&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await g(e);a.fetchMetrics=T.renderOpts.fetchMetrics;let h=T.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=T.renderOpts.collectedTags;if(!I)return await (0,p.I)(U,V,d,T.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);i&&(b[s.NEXT_CACHE_TAGS_HEADER]=i),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==T.renderOpts.collectedRevalidate&&!(T.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&T.renderOpts.collectedRevalidate,e=void 0===T.renderOpts.collectedExpire||T.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:T.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await A.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,B),b}},k=await A.handleResponse({req:a,nextConfig:w,cacheKey:K,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:z,isRoutePPREnabled:!1,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:R});if(!I)return null;if((null==k||null==(h=k.value)?void 0:h.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==k||null==(i=k.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});R||b.setHeader("x-nextjs-cache",C?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),y&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,q.fromNodeOutgoingHttpHeaders)(k.value.headers);return R&&I||l.delete(s.NEXT_CACHE_TAGS_HEADER),!k.cacheControl||b.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,r.getCacheControlHeader)(k.cacheControl)),await (0,p.I)(U,V,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};Q&&P?await h(P):(e=O.getActiveScopeSpan(),await O.withPropagatedContext(a.headers,()=>O.trace(n.BaseServerSpan.handleRequest,{spanName:`${N} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":N,"http.target":a.url}},h),void 0,!Q))}catch(b){if(b instanceof t.NoFallbackError||await A.onRequestError(a,b,{routerKind:"App Router",routePath:H,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,B),I)throw b;return await (0,p.I)(U,V,new Response(null,{status:500})),null}}},55132:(a,b,c)=>{"use strict";c.d(b,{AX:()=>u,Dw:()=>s,HO:()=>q,KR:()=>v,fZ:()=>w,lh:()=>t,rv:()=>m,u_:()=>r});var d=c(29021),e=c(33873),f=c(21820),g=c(18477),h=c(89035),i=c(99526);function j(){return process.env.ANNODEX_CONFIG_DIR??process.env.ANNOVIBE_CONFIG_DIR??(0,e.join)((0,f.homedir)(),".config","annodex")}function k(){return(0,e.join)(j(),"providers.json")}let l={"gpt-5-codex":{contextWindow:1048576,maxTokens:128e3},"gpt-5.1-codex-max":{contextWindow:1048576,maxTokens:128e3},"gpt-5.1-codex-mini":{contextWindow:1048576,maxTokens:128e3},"gpt-4.1-codex-max":{contextWindow:1048576,maxTokens:32768},"gpt-4.1-codex-mini":{contextWindow:1048576,maxTokens:32768},"deepseek-chat":{contextWindow:1048576,maxTokens:8192},"deepseek-reasoner":{contextWindow:1048576,maxTokens:8192},"deepseek-v3":{contextWindow:1048576,maxTokens:8192},"kimi-k2":{contextWindow:1048576,maxTokens:8192},"moonshot-v1-auto":{contextWindow:1048576,maxTokens:8192},"glm-4-plus":{contextWindow:128e3,maxTokens:4096},"glm-4-flash":{contextWindow:128e3,maxTokens:4096},"qwen-max":{contextWindow:1048576,maxTokens:8192},"qwen-plus":{contextWindow:1048576,maxTokens:8192},"qwen-turbo":{contextWindow:1048576,maxTokens:8192},"qwen3-235b-a22b":{contextWindow:131072,maxTokens:8192}};function m(a){return a?l[a]:void 0}function n(){return{providers:[],exists:!1}}function o(){let a=(0,e.join)((0,h.R)(),"config.toml");if(!(0,d.existsSync)(a))return null;try{let b=(0,d.readFileSync)(a,"utf-8");return(0,g.qg)(b)}catch{return null}}function p(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}function q(){let a=k();if(!(0,d.existsSync)(a))return n();try{let b=JSON.parse((0,d.readFileSync)(a,"utf-8"));return{providers:Array.isArray(b.providers)?b.providers.filter(a=>"string"==typeof a.id&&"string"==typeof a.baseUrl).map(a=>({id:a.id,name:"string"==typeof a.name?a.name:a.id,baseUrl:a.baseUrl.replace(/\/+$/,""),apiKey:"string"==typeof a.apiKey?a.apiKey:"",api:(0,i.pp)(a.api,a.baseUrl,a.id),requiresOpenAiAuth:"boolean"==typeof a.requiresOpenAiAuth?a.requiresOpenAiAuth:void 0,models:Array.isArray(a.models)?a.models.map(a=>(function(a){if(!p(a)||"string"!=typeof a.id)return null;let b=a.id.trim();return b?{id:b,name:"string"==typeof a.name&&a.name.trim()?a.name:b,api:(0,i.mi)(a.api)?a.api:void 0,reasoning:"boolean"==typeof a.reasoning?a.reasoning:void 0,thinkingLevelMap:function(a){if(!p(a))return;let b={};for(let[c,d]of Object.entries(a))c&&("string"==typeof d?b[c]=d:null===d&&(b[c]=null));return Object.keys(b).length?b:void 0}(a.thinkingLevelMap),input:function(a){if(!Array.isArray(a))return;let b=a.filter(a=>"string"==typeof a&&a.trim().length>0);return b.length?b:void 0}(a.input),contextWindow:"number"==typeof a.contextWindow?a.contextWindow:void 0,maxTokens:"number"==typeof a.maxTokens?a.maxTokens:void 0,compat:function(a){if(p(a))return Object.keys(a).length?a:void 0}(a.compat)}:null})(a)).filter(a=>null!==a):[]})):n().providers,defaultProvider:"string"==typeof b.defaultProvider?b.defaultProvider:void 0,defaultModel:"string"==typeof b.defaultModel?b.defaultModel:void 0,generativeUI:"boolean"==typeof b.generativeUI?b.generativeUI:void 0,exists:!0}}catch{return n()}}function r(a){let b=j();(0,d.existsSync)(b)||(0,d.mkdirSync)(b,{recursive:!0});let{exists:c,...e}=a;return(0,d.writeFileSync)(k(),JSON.stringify(e,null,2),"utf-8"),a}function s(){let a=q(),b=function(){let a=o();if(!a?.model_providers)return[];let b="string"==typeof a.model?a.model:"",c="string"==typeof a.model_provider?a.model_provider:"";return Object.entries(a.model_providers).filter(([,a])=>"string"==typeof a.base_url).map(([a,d])=>({id:a,name:d.name??a,baseUrl:(d.base_url??"").replace(/\/+$/,""),apiKey:"string"==typeof d.env_key?d.env_key:"",api:(0,i.DL)(d.wire_api,d.base_url,a),requiresOpenAiAuth:"boolean"==typeof d.requires_openai_auth?d.requires_openai_auth:void 0,models:a===c&&b?[{id:b,name:b}]:[]}))}(),c=function(){let a=o();if(!a)return{};let b="string"==typeof a.model&&a.model.trim()?a.model.trim():void 0,c="string"==typeof a.model_provider&&a.model_provider.trim()?a.model_provider.trim():void 0,d=c?a.model_providers?.[c]?.name??c:void 0;return{model:b,providerId:c,providerName:d}}(),d=new Set(a.providers.map(a=>a.id)),e=[...a.providers];for(let a of b)d.has(a.id)||(e.push(a),d.add(a.id));return{providers:e,defaultModel:c.model,defaultProvider:c.providerId,generativeUI:!1!==a.generativeUI,codexDefaults:c}}function t(a,b){return a.providers.find(a=>a.id===b)}function u(a,b,c){let d=b||a.defaultModel;if(!d)return null;let e=c?t(a,c):void 0;if(e)return 0===e.models.length||e.models.some(a=>a.id===d)?{provider:e,modelId:d}:null;let f=function(a,b){for(let c of a.providers)if(c.models.some(a=>a.id===b))return c}(a,d);return f?{provider:f,modelId:d}:null}function v(a){let b=[];for(let c of a.providers)for(let a of c.models){let d=l[a.id];b.push({provider:c.id,modelId:a.id,name:a.name||a.id,api:a.api,reasoning:a.reasoning,thinkingLevelMap:a.thinkingLevelMap,contextWindow:a.contextWindow??d?.contextWindow,maxTokens:a.maxTokens??d?.maxTokens,input:a.input,compat:a.compat})}return b}function w(a){if(!a.codexDefaults.model)return null;let b=u(a,a.codexDefaults.model,a.codexDefaults.providerId);return!b&&a.codexDefaults.providerId?{provider:a.codexDefaults.providerId,modelId:a.codexDefaults.model}:b?{provider:b.provider.id,modelId:b.modelId}:null}},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},78335:()=>{},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},89035:(a,b,c)=>{"use strict";c.d(b,{R:()=>f});var d=c(33873),e=c(21820);function f(){return process.env.CODEX_HOME?.trim()||(0,d.join)((0,e.homedir)(),".codex")}},96487:()=>{},99526:(a,b,c)=>{"use strict";c.d(b,{DL:()=>j,mi:()=>g,pp:()=>i});let d=["openai-responses","openai-completions"],e=[/\/chat\/completions(?:$|[?#])/i,/deepseek/i,/deeprouter/i,/moonshot|kimi/i,/dashscope|aliyun|qwen/i,/zhipu|bigmodel|chatglm|glm/i,/siliconflow/i,/volcengine|ark\.cn|doubao/i,/baichuan/i,/minimax/i,/stepfun|step-api/i,/lingyiwanwu|yi-api/i],f=[/api\.openai\.com/i,/\/responses(?:$|[?#])/i];function g(a){return"string"==typeof a&&d.includes(a)}function h(a,b,c="openai-responses"){let d=`${b??""} ${a??""}`.toLowerCase();return d.trim()?f.some(a=>a.test(d))?"openai-responses":e.some(a=>a.test(d))?"openai-completions":c:c}function i(a,b,c){return g(a)?a:h(b,c)}function j(a,b,c){return"responses"===a?"openai-responses":"chat"===a||"chat_completions"===a||"chat-completions"===a?"openai-completions":b||c?h(b,c):void 0}}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,1813,8477],()=>b(b.s=53018));module.exports=c})();
1
+ (()=>{var a={};a.id=5177,a.ids=[5177],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},21820:a=>{"use strict";a.exports=require("os")},29021:a=>{"use strict";a.exports=require("fs")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:a=>{"use strict";a.exports=require("path")},44870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},53018:(a,b,c)=>{"use strict";c.r(b),c.d(b,{handler:()=>F,patchFetch:()=>E,routeModule:()=>A,serverHooks:()=>D,workAsyncStorage:()=>B,workUnitAsyncStorage:()=>C});var d={};c.r(d),c.d(d,{GET:()=>y,PUT:()=>z,dynamic:()=>x});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(23211),w=c(55132);let x="force-dynamic";async function y(){let a=(0,w.HO)(),b=(0,w.Dw)();return v.NextResponse.json({settings:{generativeUI:!1!==a.generativeUI,providers:a.providers.map(a=>({id:a.id,name:a.name,baseUrl:a.baseUrl,hasKey:!!a.apiKey,models:a.models})),defaultProvider:b.defaultProvider,defaultModel:b.defaultModel}})}async function z(a){try{let b=(await a.json()).settings;if(!b||"object"!=typeof b)return v.NextResponse.json({error:"Invalid settings"},{status:400});let c=(0,w.HO)();return c.exists||(c.providers=[]),"boolean"==typeof b.generativeUI&&(c.generativeUI=b.generativeUI),delete c.defaultProvider,delete c.defaultModel,(0,w.u_)(c),v.NextResponse.json({success:!0})}catch(a){return v.NextResponse.json({error:String(a)},{status:500})}}let A=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/settings/route",pathname:"/api/settings",filename:"route",bundlePath:"app/api/settings/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/annodex/annodex/app/api/settings/route.ts",nextConfigOutput:"",userland:d}),{workAsyncStorage:B,workUnitAsyncStorage:C,serverHooks:D}=A;function E(){return(0,g.patchFetch)({workAsyncStorage:B,workUnitAsyncStorage:C})}async function F(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),A.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/settings/route";"/index"===d&&(d="/");let e=await A.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,params:v,nextConfig:w,parsedUrl:x,isDraftMode:y,prerenderManifest:z,routerServerContext:B,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,resolvedPathname:E,clientReferenceManifest:F,serverActionsManifest:G}=e,H=(0,k.normalizeAppPath)(d),I=!!(z.dynamicRoutes[H]||z.routes[E]),J=async()=>((null==B?void 0:B.render404)?await B.render404(a,b,x,!1):b.end("This page could not be found"),null);if(I&&!y){let a=!!z.routes[E],b=z.dynamicRoutes[H];if(b&&!1===b.fallback&&!a){if(w.adapterPath)return await J();throw new t.NoFallbackError}}let K=null;!I||A.isDev||y||(K="/index"===(K=E)?"/":K);let L=!0===A.isDev||!I,M=I&&!L;G&&F&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:F,serverActionsManifest:G});let N=a.method||"GET",O=(0,i.getTracer)(),P=O.getActiveScopeSpan(),Q=!!(null==B?void 0:B.isWrappedByNextServer),R=!!(0,h.getRequestMeta)(a,"minimalMode"),S=(0,h.getRequestMeta)(a,"incrementalCache")||await A.getIncrementalCache(a,w,z,R);null==S||S.resetRequestCache(),globalThis.__incrementalCache=S;let T={params:v,previewProps:z.preview,renderOpts:{experimental:{authInterrupts:!!w.experimental.authInterrupts},cacheComponents:!!w.cacheComponents,supportsDynamicResponse:L,incrementalCache:S,cacheLifeProfiles:w.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>A.onRequestError(a,b,d,e,B)},sharedContext:{buildId:g}},U=new l.NodeNextRequest(a),V=new l.NodeNextResponse(b),W=m.NextRequestAdapter.fromNodeNextRequest(U,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>A.handle(W,T).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=O.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let f=c.get("next.route");if(f){let b=`${N} ${f}`;a.setAttributes({"next.route":f,"http.route":f,"next.span_name":b}),a.updateName(b),e&&e!==a&&(e.setAttribute("http.route",f),e.updateName(b))}else a.updateName(`${N} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!R&&C&&D&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await g(e);a.fetchMetrics=T.renderOpts.fetchMetrics;let h=T.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=T.renderOpts.collectedTags;if(!I)return await (0,p.I)(U,V,d,T.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);i&&(b[s.NEXT_CACHE_TAGS_HEADER]=i),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==T.renderOpts.collectedRevalidate&&!(T.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&T.renderOpts.collectedRevalidate,e=void 0===T.renderOpts.collectedExpire||T.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:T.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await A.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,B),b}},k=await A.handleResponse({req:a,nextConfig:w,cacheKey:K,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:z,isRoutePPREnabled:!1,isOnDemandRevalidate:C,revalidateOnlyGenerated:D,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:R});if(!I)return null;if((null==k||null==(h=k.value)?void 0:h.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==k||null==(i=k.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});R||b.setHeader("x-nextjs-cache",C?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),y&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,q.fromNodeOutgoingHttpHeaders)(k.value.headers);return R&&I||l.delete(s.NEXT_CACHE_TAGS_HEADER),!k.cacheControl||b.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,r.getCacheControlHeader)(k.cacheControl)),await (0,p.I)(U,V,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};Q&&P?await h(P):(e=O.getActiveScopeSpan(),await O.withPropagatedContext(a.headers,()=>O.trace(n.BaseServerSpan.handleRequest,{spanName:`${N} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":N,"http.target":a.url}},h),void 0,!Q))}catch(b){if(b instanceof t.NoFallbackError||await A.onRequestError(a,b,{routerKind:"App Router",routePath:H,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:C})},!1,B),I)throw b;return await (0,p.I)(U,V,new Response(null,{status:500})),null}}},55132:(a,b,c)=>{"use strict";c.d(b,{AX:()=>u,Dw:()=>s,HO:()=>q,KR:()=>v,fZ:()=>w,lh:()=>t,rv:()=>m,u_:()=>r});var d=c(29021),e=c(33873),f=c(21820),g=c(18477),h=c(89035),i=c(99526);function j(){return process.env.ANNODEX_CONFIG_DIR??process.env.ANNOVIBE_CONFIG_DIR??(0,e.join)((0,f.homedir)(),".config","annodex")}function k(){return(0,e.join)(j(),"providers.json")}let l={"gpt-5-codex":{contextWindow:1048576,maxTokens:128e3},"gpt-5.1-codex-max":{contextWindow:1048576,maxTokens:128e3},"gpt-5.1-codex-mini":{contextWindow:1048576,maxTokens:128e3},"gpt-4.1-codex-max":{contextWindow:1048576,maxTokens:32768},"gpt-4.1-codex-mini":{contextWindow:1048576,maxTokens:32768},"deepseek-chat":{contextWindow:1048576,maxTokens:8192},"deepseek-reasoner":{contextWindow:1048576,maxTokens:8192},"deepseek-v3":{contextWindow:1048576,maxTokens:8192},"kimi-k2":{contextWindow:1048576,maxTokens:8192},"moonshot-v1-auto":{contextWindow:1048576,maxTokens:8192},"glm-4-plus":{contextWindow:128e3,maxTokens:4096},"glm-4-flash":{contextWindow:128e3,maxTokens:4096},"qwen-max":{contextWindow:1048576,maxTokens:8192},"qwen-plus":{contextWindow:1048576,maxTokens:8192},"qwen-turbo":{contextWindow:1048576,maxTokens:8192},"qwen3-235b-a22b":{contextWindow:131072,maxTokens:8192}};function m(a){return a?l[a]:void 0}function n(){return{providers:[],exists:!1}}function o(){let a=(0,e.join)((0,h.R)(),"config.toml");if(!(0,d.existsSync)(a))return null;try{let b=(0,d.readFileSync)(a,"utf-8");return(0,g.qg)(b)}catch{return null}}function p(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}function q(){let a=k();if(!(0,d.existsSync)(a))return n();try{let b=JSON.parse((0,d.readFileSync)(a,"utf-8"));return{providers:Array.isArray(b.providers)?b.providers.filter(a=>"string"==typeof a.id&&"string"==typeof a.baseUrl).map(a=>({id:a.id,name:"string"==typeof a.name?a.name:a.id,baseUrl:a.baseUrl.replace(/\/+$/,""),apiKey:"string"==typeof a.apiKey?a.apiKey:"",api:(0,i.pp)(a.api,a.baseUrl,a.id),requiresOpenAiAuth:"boolean"==typeof a.requiresOpenAiAuth?a.requiresOpenAiAuth:void 0,models:Array.isArray(a.models)?a.models.map(a=>(function(a){if(!p(a)||"string"!=typeof a.id)return null;let b=a.id.trim();return b?{id:b,name:"string"==typeof a.name&&a.name.trim()?a.name:b,api:(0,i.mi)(a.api)?a.api:void 0,reasoning:"boolean"==typeof a.reasoning?a.reasoning:void 0,thinkingLevelMap:function(a){if(!p(a))return;let b={};for(let[c,d]of Object.entries(a))c&&("string"==typeof d?b[c]=d:null===d&&(b[c]=null));return Object.keys(b).length?b:void 0}(a.thinkingLevelMap),input:function(a){if(!Array.isArray(a))return;let b=a.filter(a=>"string"==typeof a&&a.trim().length>0);return b.length?b:void 0}(a.input),contextWindow:"number"==typeof a.contextWindow?a.contextWindow:void 0,maxTokens:"number"==typeof a.maxTokens?a.maxTokens:void 0,compat:function(a){if(p(a))return Object.keys(a).length?a:void 0}(a.compat)}:null})(a)).filter(a=>null!==a):[]})):n().providers,defaultProvider:"string"==typeof b.defaultProvider?b.defaultProvider:void 0,defaultModel:"string"==typeof b.defaultModel?b.defaultModel:void 0,generativeUI:"boolean"==typeof b.generativeUI?b.generativeUI:void 0,exists:!0}}catch{return n()}}function r(a){let b=j();(0,d.existsSync)(b)||(0,d.mkdirSync)(b,{recursive:!0});let{exists:c,...e}=a;return(0,d.writeFileSync)(k(),JSON.stringify(e,null,2),"utf-8"),a}function s(){let a=q(),b=function(){let a=o();if(!a?.model_providers)return[];let b="string"==typeof a.model?a.model:"",c="string"==typeof a.model_provider?a.model_provider:"";return Object.entries(a.model_providers).filter(([,a])=>"string"==typeof a.base_url).map(([a,f])=>({id:a,name:f.name??a,baseUrl:(f.base_url??"").replace(/\/+$/,""),apiKey:function(a){if("string"==typeof a.env_key&&a.env_key.trim())return a.env_key.trim();let b=function(){let a=(0,e.join)((0,h.R)(),"auth.json");if(!(0,d.existsSync)(a))return null;try{return JSON.parse((0,d.readFileSync)(a,"utf-8"))}catch{return null}}();return"string"==typeof b?.OPENAI_API_KEY&&b.OPENAI_API_KEY.trim()?b.OPENAI_API_KEY.trim():""}(f),api:(0,i.DL)(f.wire_api,f.base_url,a),requiresOpenAiAuth:"boolean"==typeof f.requires_openai_auth?f.requires_openai_auth:void 0,models:a===c&&b?[{id:b,name:b}]:[]}))}(),c=function(){let a=o();if(!a)return{};let b="string"==typeof a.model&&a.model.trim()?a.model.trim():void 0,c="string"==typeof a.model_provider&&a.model_provider.trim()?a.model_provider.trim():void 0,d=c?a.model_providers?.[c]?.name??c:void 0;return{model:b,providerId:c,providerName:d}}(),f=new Map(a.providers.map(a=>[a.id,a])),g=[...a.providers];for(let a of b){let b=f.get(a.id);if(b){let c=g.findIndex(b=>b.id===a.id),d=function(a,b){let c=new Set(a.models.map(a=>a.id));return{...a,name:a.name||b.name,baseUrl:a.baseUrl||b.baseUrl,apiKey:a.apiKey||b.apiKey,api:a.api??b.api,requiresOpenAiAuth:a.requiresOpenAiAuth??b.requiresOpenAiAuth,models:[...a.models,...b.models.filter(a=>!c.has(a.id))]}}(b,a);g[c]=d,f.set(a.id,d)}else g.push(a),f.set(a.id,a)}return{providers:g.map(a=>{let b;return b=a.models.map(b=>({...b,api:b.api??(0,i.Y3)(b.id,a.api,a.baseUrl,a.id)})),{...a,models:b}}),defaultModel:c.model,defaultProvider:c.providerId,generativeUI:!1!==a.generativeUI,codexDefaults:c}}function t(a,b){return a.providers.find(a=>a.id===b)}function u(a,b,c){let d=b||a.defaultModel;if(!d)return null;let e=c?t(a,c):void 0;if(e)return 0===e.models.length||e.models.some(a=>a.id===d)?{provider:e,modelId:d}:null;let f=function(a,b){for(let c of a.providers)if(c.models.some(a=>a.id===b))return c}(a,d);return f?{provider:f,modelId:d}:null}function v(a){let b=[];for(let c of a.providers)for(let a of c.models){let d=l[a.id];b.push({provider:c.id,modelId:a.id,name:a.name||a.id,api:a.api,reasoning:a.reasoning,thinkingLevelMap:a.thinkingLevelMap,contextWindow:a.contextWindow??d?.contextWindow,maxTokens:a.maxTokens??d?.maxTokens,input:a.input,compat:a.compat})}return b}function w(a){if(!a.codexDefaults.model)return null;let b=u(a,a.codexDefaults.model,a.codexDefaults.providerId);return!b&&a.codexDefaults.providerId?{provider:a.codexDefaults.providerId,modelId:a.codexDefaults.model}:b?{provider:b.provider.id,modelId:b.modelId}:null}},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},78335:()=>{},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},89035:(a,b,c)=>{"use strict";c.d(b,{R:()=>f});var d=c(33873),e=c(21820);function f(){return process.env.CODEX_HOME?.trim()||(0,d.join)((0,e.homedir)(),".codex")}},96487:()=>{},99526:(a,b,c)=>{"use strict";c.d(b,{DL:()=>k,Y3:()=>j,mi:()=>g,oi:()=>h,pp:()=>i});let d=["openai-responses","openai-completions"],e=[/\/chat\/completions(?:$|[?#])/i,/deepseek/i,/moonshot|kimi/i,/dashscope|aliyun|qwen/i,/zhipu|bigmodel|chatglm|glm/i,/siliconflow/i,/volcengine|ark\.cn|doubao/i,/baichuan/i,/minimax/i,/stepfun|step-api/i,/lingyiwanwu|yi-api/i],f=[/api\.openai\.com/i,/\/responses(?:$|[?#])/i];function g(a){return"string"==typeof a&&d.includes(a)}function h(a,b,c="openai-responses"){let d=`${b??""} ${a??""}`.toLowerCase();return d.trim()?f.some(a=>a.test(d))?"openai-responses":e.some(a=>a.test(d))?"openai-completions":c:c}function i(a,b,c){return g(a)?a:h(b,c)}function j(a,b,c,d){let e=a.toLowerCase(),f=`${d??""} ${c??""}`.toLowerCase();return/deepseek|kimi|moonshot|qwen|glm|zhipu|chatglm|siliconflow|doubao|yi-|llama|mistral|baichuan|minimax/.test(e)?"openai-completions":/gpt|o\d|openai/.test(e)?"openai-responses":/deeprouter|openrouter/.test(f)?void 0:b}function k(a,b,c){return"responses"===a?"openai-responses":"chat"===a||"chat_completions"===a||"chat-completions"===a?"openai-completions":b||c?h(b,c):void 0}}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,1813,8477],()=>b(b.s=53018));module.exports=c})();
@@ -1 +1 @@
1
- (()=>{var a={};a.id=2922,a.ids=[2922],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},21820:a=>{"use strict";a.exports=require("os")},29021:a=>{"use strict";a.exports=require("fs")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:a=>{"use strict";a.exports=require("path")},44870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},65833:(a,b,c)=>{"use strict";c.d(b,{AQ:()=>f,C3:()=>d,JD:()=>e});let d="annodex",e="@seqyuan/annodex",f="annodex update"},78335:()=>{},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},95052:(a,b,c)=>{"use strict";c.r(b),c.d(b,{handler:()=>N,patchFetch:()=>M,routeModule:()=>I,serverHooks:()=>L,workAsyncStorage:()=>J,workUnitAsyncStorage:()=>K});var d={};c.r(d),c.d(d,{GET:()=>H,dynamic:()=>D});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(23211),w=c(65833),x=c(29021),y=c(33873),z=c(21820);function A(a){return"string"==typeof a&&a.length>0?a:null}function B(a){return Number.isInteger(a)&&Number(a)>0?Number(a):null}function C(a){if(!a)return!1;try{return process.kill(a,0),!0}catch{return!1}}let D="force-dynamic",E="0.1.4",F=null;async function G(){if(F&&F.expiresAt>Date.now())return F.value;let a=new AbortController,b=setTimeout(()=>a.abort(),3500);try{let b=await fetch(`https://registry.npmjs.org/${encodeURIComponent(w.JD)}/latest`,{cache:"no-store",signal:a.signal});if(!b.ok)return F={value:null,expiresAt:Date.now()+3e5},null;let c=await b.json(),d="string"==typeof c.version?c.version:null;return F={value:d,expiresAt:Date.now()+3e5},d}catch{return F={value:null,expiresAt:Date.now()+6e4},null}finally{clearTimeout(b)}}async function H(){let a=await G(),b={current:E,latest:a,updateAvailable:!!(a&&a!==E),updateCommand:w.AQ,runtime:function(){let a=function(){let a,b=(a=function(...a){for(let b of a){let a=process.env[b];if(void 0!==a)return a}}("ANNODEX_CONFIG_DIR","ANNOVIBE_CONFIG_DIR")??(0,y.join)((0,z.homedir)(),".config","annodex"),[(0,y.join)(a,"annodex.json"),(0,y.join)(a,"annovibe.json"),(0,y.join)(a,"pidex.json")]).find(a=>(0,x.existsSync)(a));if(!b)return null;try{return JSON.parse((0,x.readFileSync)(b,"utf8"))}catch{return null}}();if(!a)return null;let b=B(a.supervisorPid),c=B(a.nextPid),d=C(b),e=C(c),f=d||e;return{running:f,status:d?"running":e?"orphaned":"stopped",version:A(a.version),url:A(a.url),port:A(a.port),hostname:A(a.hostname),supervisorPid:d?b:null,nextPid:e?c:null,startedAt:f?A(a.startedAt):null,readyAt:f?A(a.readyAt):null,restartPending:f&&!!a.restartPending,installedVersion:f?A(a.installedVersion):null,restartDetectedAt:f?A(a.restartDetectedAt):null,restartStartedAt:f?A(a.restartStartedAt):null,updatedAt:A(a.updatedAt)}}()};return v.NextResponse.json(b)}let I=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/version/route",pathname:"/api/version",filename:"route",bundlePath:"app/api/version/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/annodex/annodex/app/api/version/route.ts",nextConfigOutput:"",userland:d}),{workAsyncStorage:J,workUnitAsyncStorage:K,serverHooks:L}=I;function M(){return(0,g.patchFetch)({workAsyncStorage:J,workUnitAsyncStorage:K})}async function N(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),I.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/version/route";"/index"===d&&(d="/");let e=await I.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,params:v,nextConfig:w,parsedUrl:x,isDraftMode:y,prerenderManifest:z,routerServerContext:A,isOnDemandRevalidate:B,revalidateOnlyGenerated:C,resolvedPathname:D,clientReferenceManifest:E,serverActionsManifest:F}=e,G=(0,k.normalizeAppPath)(d),H=!!(z.dynamicRoutes[G]||z.routes[D]),J=async()=>((null==A?void 0:A.render404)?await A.render404(a,b,x,!1):b.end("This page could not be found"),null);if(H&&!y){let a=!!z.routes[D],b=z.dynamicRoutes[G];if(b&&!1===b.fallback&&!a){if(w.adapterPath)return await J();throw new t.NoFallbackError}}let K=null;!H||I.isDev||y||(K="/index"===(K=D)?"/":K);let L=!0===I.isDev||!H,M=H&&!L;F&&E&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:E,serverActionsManifest:F});let N=a.method||"GET",O=(0,i.getTracer)(),P=O.getActiveScopeSpan(),Q=!!(null==A?void 0:A.isWrappedByNextServer),R=!!(0,h.getRequestMeta)(a,"minimalMode"),S=(0,h.getRequestMeta)(a,"incrementalCache")||await I.getIncrementalCache(a,w,z,R);null==S||S.resetRequestCache(),globalThis.__incrementalCache=S;let T={params:v,previewProps:z.preview,renderOpts:{experimental:{authInterrupts:!!w.experimental.authInterrupts},cacheComponents:!!w.cacheComponents,supportsDynamicResponse:L,incrementalCache:S,cacheLifeProfiles:w.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>I.onRequestError(a,b,d,e,A)},sharedContext:{buildId:g}},U=new l.NodeNextRequest(a),V=new l.NodeNextResponse(b),W=m.NextRequestAdapter.fromNodeNextRequest(U,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>I.handle(W,T).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=O.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let f=c.get("next.route");if(f){let b=`${N} ${f}`;a.setAttributes({"next.route":f,"http.route":f,"next.span_name":b}),a.updateName(b),e&&e!==a&&(e.setAttribute("http.route",f),e.updateName(b))}else a.updateName(`${N} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!R&&B&&C&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await g(e);a.fetchMetrics=T.renderOpts.fetchMetrics;let h=T.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=T.renderOpts.collectedTags;if(!H)return await (0,p.I)(U,V,d,T.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);i&&(b[s.NEXT_CACHE_TAGS_HEADER]=i),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==T.renderOpts.collectedRevalidate&&!(T.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&T.renderOpts.collectedRevalidate,e=void 0===T.renderOpts.collectedExpire||T.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:T.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await I.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:B})},!1,A),b}},k=await I.handleResponse({req:a,nextConfig:w,cacheKey:K,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:z,isRoutePPREnabled:!1,isOnDemandRevalidate:B,revalidateOnlyGenerated:C,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:R});if(!H)return null;if((null==k||null==(h=k.value)?void 0:h.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==k||null==(i=k.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});R||b.setHeader("x-nextjs-cache",B?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),y&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,q.fromNodeOutgoingHttpHeaders)(k.value.headers);return R&&H||l.delete(s.NEXT_CACHE_TAGS_HEADER),!k.cacheControl||b.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,r.getCacheControlHeader)(k.cacheControl)),await (0,p.I)(U,V,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};Q&&P?await h(P):(e=O.getActiveScopeSpan(),await O.withPropagatedContext(a.headers,()=>O.trace(n.BaseServerSpan.handleRequest,{spanName:`${N} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":N,"http.target":a.url}},h),void 0,!Q))}catch(b){if(b instanceof t.NoFallbackError||await I.onRequestError(a,b,{routerKind:"App Router",routePath:G,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:B})},!1,A),H)throw b;return await (0,p.I)(U,V,new Response(null,{status:500})),null}}},96487:()=>{}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,1813],()=>b(b.s=95052));module.exports=c})();
1
+ (()=>{var a={};a.id=2922,a.ids=[2922],a.modules={261:a=>{"use strict";a.exports=require("next/dist/shared/lib/router/utils/app-paths")},3295:a=>{"use strict";a.exports=require("next/dist/server/app-render/after-task-async-storage.external.js")},10846:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-page.runtime.prod.js")},21820:a=>{"use strict";a.exports=require("os")},29021:a=>{"use strict";a.exports=require("fs")},29294:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-async-storage.external.js")},33873:a=>{"use strict";a.exports=require("path")},44870:a=>{"use strict";a.exports=require("next/dist/compiled/next-server/app-route.runtime.prod.js")},63033:a=>{"use strict";a.exports=require("next/dist/server/app-render/work-unit-async-storage.external.js")},65833:(a,b,c)=>{"use strict";c.d(b,{AQ:()=>f,C3:()=>d,JD:()=>e});let d="annodex",e="@seqyuan/annodex",f="annodex update"},78335:()=>{},86439:a=>{"use strict";a.exports=require("next/dist/shared/lib/no-fallback-error.external")},95052:(a,b,c)=>{"use strict";c.r(b),c.d(b,{handler:()=>N,patchFetch:()=>M,routeModule:()=>I,serverHooks:()=>L,workAsyncStorage:()=>J,workUnitAsyncStorage:()=>K});var d={};c.r(d),c.d(d,{GET:()=>H,dynamic:()=>D});var e=c(19225),f=c(84006),g=c(8317),h=c(99373),i=c(34775),j=c(24235),k=c(261),l=c(54365),m=c(90771),n=c(73461),o=c(67798),p=c(92280),q=c(62018),r=c(45696),s=c(47929),t=c(86439),u=c(37527),v=c(23211),w=c(65833),x=c(29021),y=c(33873),z=c(21820);function A(a){return"string"==typeof a&&a.length>0?a:null}function B(a){return Number.isInteger(a)&&Number(a)>0?Number(a):null}function C(a){if(!a)return!1;try{return process.kill(a,0),!0}catch{return!1}}let D="force-dynamic",E="0.1.5",F=null;async function G(){if(F&&F.expiresAt>Date.now())return F.value;let a=new AbortController,b=setTimeout(()=>a.abort(),3500);try{let b=await fetch(`https://registry.npmjs.org/${encodeURIComponent(w.JD)}/latest`,{cache:"no-store",signal:a.signal});if(!b.ok)return F={value:null,expiresAt:Date.now()+3e5},null;let c=await b.json(),d="string"==typeof c.version?c.version:null;return F={value:d,expiresAt:Date.now()+3e5},d}catch{return F={value:null,expiresAt:Date.now()+6e4},null}finally{clearTimeout(b)}}async function H(){let a=await G(),b={current:E,latest:a,updateAvailable:!!(a&&a!==E),updateCommand:w.AQ,runtime:function(){let a=function(){let a,b=(a=function(...a){for(let b of a){let a=process.env[b];if(void 0!==a)return a}}("ANNODEX_CONFIG_DIR","ANNOVIBE_CONFIG_DIR")??(0,y.join)((0,z.homedir)(),".config","annodex"),[(0,y.join)(a,"annodex.json"),(0,y.join)(a,"annovibe.json"),(0,y.join)(a,"pidex.json")]).find(a=>(0,x.existsSync)(a));if(!b)return null;try{return JSON.parse((0,x.readFileSync)(b,"utf8"))}catch{return null}}();if(!a)return null;let b=B(a.supervisorPid),c=B(a.nextPid),d=C(b),e=C(c),f=d||e;return{running:f,status:d?"running":e?"orphaned":"stopped",version:A(a.version),url:A(a.url),port:A(a.port),hostname:A(a.hostname),supervisorPid:d?b:null,nextPid:e?c:null,startedAt:f?A(a.startedAt):null,readyAt:f?A(a.readyAt):null,restartPending:f&&!!a.restartPending,installedVersion:f?A(a.installedVersion):null,restartDetectedAt:f?A(a.restartDetectedAt):null,restartStartedAt:f?A(a.restartStartedAt):null,updatedAt:A(a.updatedAt)}}()};return v.NextResponse.json(b)}let I=new e.AppRouteRouteModule({definition:{kind:f.RouteKind.APP_ROUTE,page:"/api/version/route",pathname:"/api/version",filename:"route",bundlePath:"app/api/version/route"},distDir:".next",relativeProjectDir:"",resolvedPagePath:"/home/runner/work/annodex/annodex/app/api/version/route.ts",nextConfigOutput:"",userland:d}),{workAsyncStorage:J,workUnitAsyncStorage:K,serverHooks:L}=I;function M(){return(0,g.patchFetch)({workAsyncStorage:J,workUnitAsyncStorage:K})}async function N(a,b,c){c.requestMeta&&(0,h.setRequestMeta)(a,c.requestMeta),I.isDev&&(0,h.addRequestMeta)(a,"devRequestTimingInternalsEnd",process.hrtime.bigint());let d="/api/version/route";"/index"===d&&(d="/");let e=await I.prepare(a,b,{srcPage:d,multiZoneDraftMode:!1});if(!e)return b.statusCode=400,b.end("Bad Request"),null==c.waitUntil||c.waitUntil.call(c,Promise.resolve()),null;let{buildId:g,params:v,nextConfig:w,parsedUrl:x,isDraftMode:y,prerenderManifest:z,routerServerContext:A,isOnDemandRevalidate:B,revalidateOnlyGenerated:C,resolvedPathname:D,clientReferenceManifest:E,serverActionsManifest:F}=e,G=(0,k.normalizeAppPath)(d),H=!!(z.dynamicRoutes[G]||z.routes[D]),J=async()=>((null==A?void 0:A.render404)?await A.render404(a,b,x,!1):b.end("This page could not be found"),null);if(H&&!y){let a=!!z.routes[D],b=z.dynamicRoutes[G];if(b&&!1===b.fallback&&!a){if(w.adapterPath)return await J();throw new t.NoFallbackError}}let K=null;!H||I.isDev||y||(K="/index"===(K=D)?"/":K);let L=!0===I.isDev||!H,M=H&&!L;F&&E&&(0,j.setManifestsSingleton)({page:d,clientReferenceManifest:E,serverActionsManifest:F});let N=a.method||"GET",O=(0,i.getTracer)(),P=O.getActiveScopeSpan(),Q=!!(null==A?void 0:A.isWrappedByNextServer),R=!!(0,h.getRequestMeta)(a,"minimalMode"),S=(0,h.getRequestMeta)(a,"incrementalCache")||await I.getIncrementalCache(a,w,z,R);null==S||S.resetRequestCache(),globalThis.__incrementalCache=S;let T={params:v,previewProps:z.preview,renderOpts:{experimental:{authInterrupts:!!w.experimental.authInterrupts},cacheComponents:!!w.cacheComponents,supportsDynamicResponse:L,incrementalCache:S,cacheLifeProfiles:w.cacheLife,waitUntil:c.waitUntil,onClose:a=>{b.on("close",a)},onAfterTaskError:void 0,onInstrumentationRequestError:(b,c,d,e)=>I.onRequestError(a,b,d,e,A)},sharedContext:{buildId:g}},U=new l.NodeNextRequest(a),V=new l.NodeNextResponse(b),W=m.NextRequestAdapter.fromNodeNextRequest(U,(0,m.signalFromNodeResponse)(b));try{let e,g=async a=>I.handle(W,T).finally(()=>{if(!a)return;a.setAttributes({"http.status_code":b.statusCode,"next.rsc":!1});let c=O.getRootSpanAttributes();if(!c)return;if(c.get("next.span_type")!==n.BaseServerSpan.handleRequest)return void console.warn(`Unexpected root span type '${c.get("next.span_type")}'. Please report this Next.js issue https://github.com/vercel/next.js`);let f=c.get("next.route");if(f){let b=`${N} ${f}`;a.setAttributes({"next.route":f,"http.route":f,"next.span_name":b}),a.updateName(b),e&&e!==a&&(e.setAttribute("http.route",f),e.updateName(b))}else a.updateName(`${N} ${d}`)}),h=async e=>{var h,i;let j=async({previousCacheEntry:f})=>{try{if(!R&&B&&C&&!f)return b.statusCode=404,b.setHeader("x-nextjs-cache","REVALIDATED"),b.end("This page could not be found"),null;let d=await g(e);a.fetchMetrics=T.renderOpts.fetchMetrics;let h=T.renderOpts.pendingWaitUntil;h&&c.waitUntil&&(c.waitUntil(h),h=void 0);let i=T.renderOpts.collectedTags;if(!H)return await (0,p.I)(U,V,d,T.renderOpts.pendingWaitUntil),null;{let a=await d.blob(),b=(0,q.toNodeOutgoingHttpHeaders)(d.headers);i&&(b[s.NEXT_CACHE_TAGS_HEADER]=i),!b["content-type"]&&a.type&&(b["content-type"]=a.type);let c=void 0!==T.renderOpts.collectedRevalidate&&!(T.renderOpts.collectedRevalidate>=s.INFINITE_CACHE)&&T.renderOpts.collectedRevalidate,e=void 0===T.renderOpts.collectedExpire||T.renderOpts.collectedExpire>=s.INFINITE_CACHE?void 0:T.renderOpts.collectedExpire;return{value:{kind:u.CachedRouteKind.APP_ROUTE,status:d.status,body:Buffer.from(await a.arrayBuffer()),headers:b},cacheControl:{revalidate:c,expire:e}}}}catch(b){throw(null==f?void 0:f.isStale)&&await I.onRequestError(a,b,{routerKind:"App Router",routePath:d,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:B})},!1,A),b}},k=await I.handleResponse({req:a,nextConfig:w,cacheKey:K,routeKind:f.RouteKind.APP_ROUTE,isFallback:!1,prerenderManifest:z,isRoutePPREnabled:!1,isOnDemandRevalidate:B,revalidateOnlyGenerated:C,responseGenerator:j,waitUntil:c.waitUntil,isMinimalMode:R});if(!H)return null;if((null==k||null==(h=k.value)?void 0:h.kind)!==u.CachedRouteKind.APP_ROUTE)throw Object.defineProperty(Error(`Invariant: app-route received invalid cache entry ${null==k||null==(i=k.value)?void 0:i.kind}`),"__NEXT_ERROR_CODE",{value:"E701",enumerable:!1,configurable:!0});R||b.setHeader("x-nextjs-cache",B?"REVALIDATED":k.isMiss?"MISS":k.isStale?"STALE":"HIT"),y&&b.setHeader("Cache-Control","private, no-cache, no-store, max-age=0, must-revalidate");let l=(0,q.fromNodeOutgoingHttpHeaders)(k.value.headers);return R&&H||l.delete(s.NEXT_CACHE_TAGS_HEADER),!k.cacheControl||b.getHeader("Cache-Control")||l.get("Cache-Control")||l.set("Cache-Control",(0,r.getCacheControlHeader)(k.cacheControl)),await (0,p.I)(U,V,new Response(k.value.body,{headers:l,status:k.value.status||200})),null};Q&&P?await h(P):(e=O.getActiveScopeSpan(),await O.withPropagatedContext(a.headers,()=>O.trace(n.BaseServerSpan.handleRequest,{spanName:`${N} ${d}`,kind:i.SpanKind.SERVER,attributes:{"http.method":N,"http.target":a.url}},h),void 0,!Q))}catch(b){if(b instanceof t.NoFallbackError||await I.onRequestError(a,b,{routerKind:"App Router",routePath:G,routeType:"route",revalidateReason:(0,o.c)({isStaticGeneration:M,isOnDemandRevalidate:B})},!1,A),H)throw b;return await (0,p.I)(U,V,new Response(null,{status:500})),null}}},96487:()=>{}};var b=require("../../../webpack-runtime.js");b.C(a);var c=b.X(0,[4741,1813],()=>b(b.s=95052));module.exports=c})();
@@ -1 +1 @@
1
- <!DOCTYPE html><html lang="en" class="__variable_66b8ca"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/7deddc85b7ffd1dc-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/ec14413c594b3356-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/45029451a1d7255d.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-fcf4a889ecbd753c.js"/><script src="/_next/static/chunks/4bd1b696-e356ca5ba0218e27.js" async=""></script><script src="/_next/static/chunks/3794-123fdf632563f469.js" async=""></script><script src="/_next/static/chunks/main-app-45a0f19af99d61b6.js" async=""></script><script src="/_next/static/chunks/363642f4-043c1475ab9af70e.js" async=""></script><script src="/_next/static/chunks/8771-3e14b6810486df1f.js" async=""></script><script src="/_next/static/chunks/app/page-6a323838773771aa.js" async=""></script><meta name="next-size-adjust" content=""/><title>annodex</title><meta name="description" content="AI-native bioinformatics workspace by Annoroad"/><link rel="icon" href="/favicon.ico?8aa486c701a3d218" type="image/x-icon" sizes="512x512"/><script>(function(){try{var t=localStorage.getItem("annodex-theme");if(t==="dark")document.documentElement.classList.add("dark")}catch(e){}})();</script><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body style="height:100dvh;display:flex;flex-direction:column"><div hidden=""><!--$--><!--/$--></div><!--$!--><template data-dgst="BAILOUT_TO_CLIENT_SIDE_RENDERING"></template><!--/$--><!--$--><!--/$--><script src="/_next/static/chunks/webpack-fcf4a889ecbd753c.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[57121,[],\"\"]\n3:I[74581,[],\"\"]\n4:\"$Sreact.suspense\"\n5:I[60604,[\"6079\",\"static/chunks/363642f4-043c1475ab9af70e.js\",\"8771\",\"static/chunks/8771-3e14b6810486df1f.js\",\"8974\",\"static/chunks/app/page-6a323838773771aa.js\"],\"AppShell\"]\n6:I[90484,[],\"OutletBoundary\"]\n8:I[90484,[],\"ViewportBoundary\"]\na:I[90484,[],\"MetadataBoundary\"]\nc:I[27123,[],\"default\",1]\n:HL[\"/_next/static/media/7deddc85b7ffd1dc-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/ec14413c594b3356-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/css/45029451a1d7255d.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{}]},\"$undefined\",\"$undefined\",16],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/45029451a1d7255d.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"__variable_66b8ca\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"head\",null,{\"children\":[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"(function(){try{var t=localStorage.getItem(\\\"annodex-theme\\\");if(t===\\\"dark\\\")document.documentElement.classList.add(\\\"dark\\\")}catch(e){}})();\"}}]}],[\"$\",\"body\",null,{\"style\":{\"height\":\"100dvh\",\"display\":\"flex\",\"flexDirection\":\"column\"},\"children\":[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"$4\",null,{\"children\":[\"$\",\"$L5\",null,{}]}],null,[\"$\",\"$L6\",null,{\"children\":[\"$\",\"$4\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@7\"}]}]]}],{},null,false,null]},null,false,null],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L8\",null,{\"children\":\"$L9\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$La\",null,{\"children\":[\"$\",\"$4\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lb\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$c\",[]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"71bQ0tM7oHMJrmueFtcay\"}\n"])</script><script>self.__next_f.push([1,"9:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"d:I[86869,[],\"IconMark\"]\n7:null\nb:[[\"$\",\"title\",\"0\",{\"children\":\"annodex\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"AI-native bioinformatics workspace by Annoroad\"}],[\"$\",\"link\",\"2\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?8aa486c701a3d218\",\"type\":\"image/x-icon\",\"sizes\":\"512x512\"}],[\"$\",\"$Ld\",\"3\",{}]]\n"])</script></body></html>
1
+ <!DOCTYPE html><html lang="en" class="__variable_66b8ca"><head><meta charSet="utf-8"/><meta name="viewport" content="width=device-width, initial-scale=1"/><link rel="preload" href="/_next/static/media/7deddc85b7ffd1dc-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="preload" href="/_next/static/media/ec14413c594b3356-s.p.woff2" as="font" crossorigin="" type="font/woff2"/><link rel="stylesheet" href="/_next/static/css/45029451a1d7255d.css" data-precedence="next"/><link rel="preload" as="script" fetchPriority="low" href="/_next/static/chunks/webpack-fcf4a889ecbd753c.js"/><script src="/_next/static/chunks/4bd1b696-e356ca5ba0218e27.js" async=""></script><script src="/_next/static/chunks/3794-123fdf632563f469.js" async=""></script><script src="/_next/static/chunks/main-app-45a0f19af99d61b6.js" async=""></script><script src="/_next/static/chunks/363642f4-043c1475ab9af70e.js" async=""></script><script src="/_next/static/chunks/8771-3e14b6810486df1f.js" async=""></script><script src="/_next/static/chunks/app/page-222c90470be7f8ed.js" async=""></script><meta name="next-size-adjust" content=""/><title>annodex</title><meta name="description" content="AI-native bioinformatics workspace by Annoroad"/><link rel="icon" href="/favicon.ico?8aa486c701a3d218" type="image/x-icon" sizes="512x512"/><script>(function(){try{var t=localStorage.getItem("annodex-theme");if(t==="dark")document.documentElement.classList.add("dark")}catch(e){}})();</script><script src="/_next/static/chunks/polyfills-42372ed130431b0a.js" noModule=""></script></head><body style="height:100dvh;display:flex;flex-direction:column"><div hidden=""><!--$--><!--/$--></div><!--$!--><template data-dgst="BAILOUT_TO_CLIENT_SIDE_RENDERING"></template><!--/$--><!--$--><!--/$--><script src="/_next/static/chunks/webpack-fcf4a889ecbd753c.js" id="_R_" async=""></script><script>(self.__next_f=self.__next_f||[]).push([0])</script><script>self.__next_f.push([1,"1:\"$Sreact.fragment\"\n2:I[57121,[],\"\"]\n3:I[74581,[],\"\"]\n4:\"$Sreact.suspense\"\n5:I[60604,[\"6079\",\"static/chunks/363642f4-043c1475ab9af70e.js\",\"8771\",\"static/chunks/8771-3e14b6810486df1f.js\",\"8974\",\"static/chunks/app/page-222c90470be7f8ed.js\"],\"AppShell\"]\n6:I[90484,[],\"OutletBoundary\"]\n8:I[90484,[],\"ViewportBoundary\"]\na:I[90484,[],\"MetadataBoundary\"]\nc:I[27123,[],\"default\",1]\n:HL[\"/_next/static/media/7deddc85b7ffd1dc-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/media/ec14413c594b3356-s.p.woff2\",\"font\",{\"crossOrigin\":\"\",\"type\":\"font/woff2\"}]\n:HL[\"/_next/static/css/45029451a1d7255d.css\",\"style\"]\n"])</script><script>self.__next_f.push([1,"0:{\"P\":null,\"c\":[\"\",\"\"],\"q\":\"\",\"i\":false,\"f\":[[[\"\",{\"children\":[\"__PAGE__\",{}]},\"$undefined\",\"$undefined\",16],[[\"$\",\"$1\",\"c\",{\"children\":[[[\"$\",\"link\",\"0\",{\"rel\":\"stylesheet\",\"href\":\"/_next/static/css/45029451a1d7255d.css\",\"precedence\":\"next\",\"crossOrigin\":\"$undefined\",\"nonce\":\"$undefined\"}]],[\"$\",\"html\",null,{\"lang\":\"en\",\"className\":\"__variable_66b8ca\",\"suppressHydrationWarning\":true,\"children\":[[\"$\",\"head\",null,{\"children\":[\"$\",\"script\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"(function(){try{var t=localStorage.getItem(\\\"annodex-theme\\\");if(t===\\\"dark\\\")document.documentElement.classList.add(\\\"dark\\\")}catch(e){}})();\"}}]}],[\"$\",\"body\",null,{\"style\":{\"height\":\"100dvh\",\"display\":\"flex\",\"flexDirection\":\"column\"},\"children\":[\"$\",\"$L2\",null,{\"parallelRouterKey\":\"children\",\"error\":\"$undefined\",\"errorStyles\":\"$undefined\",\"errorScripts\":\"$undefined\",\"template\":[\"$\",\"$L3\",null,{}],\"templateStyles\":\"$undefined\",\"templateScripts\":\"$undefined\",\"notFound\":[[[\"$\",\"title\",null,{\"children\":\"404: This page could not be found.\"}],[\"$\",\"div\",null,{\"style\":{\"fontFamily\":\"system-ui,\\\"Segoe UI\\\",Roboto,Helvetica,Arial,sans-serif,\\\"Apple Color Emoji\\\",\\\"Segoe UI Emoji\\\"\",\"height\":\"100vh\",\"textAlign\":\"center\",\"display\":\"flex\",\"flexDirection\":\"column\",\"alignItems\":\"center\",\"justifyContent\":\"center\"},\"children\":[\"$\",\"div\",null,{\"children\":[[\"$\",\"style\",null,{\"dangerouslySetInnerHTML\":{\"__html\":\"body{color:#000;background:#fff;margin:0}.next-error-h1{border-right:1px solid rgba(0,0,0,.3)}@media (prefers-color-scheme:dark){body{color:#fff;background:#000}.next-error-h1{border-right:1px solid rgba(255,255,255,.3)}}\"}}],[\"$\",\"h1\",null,{\"className\":\"next-error-h1\",\"style\":{\"display\":\"inline-block\",\"margin\":\"0 20px 0 0\",\"padding\":\"0 23px 0 0\",\"fontSize\":24,\"fontWeight\":500,\"verticalAlign\":\"top\",\"lineHeight\":\"49px\"},\"children\":404}],[\"$\",\"div\",null,{\"style\":{\"display\":\"inline-block\"},\"children\":[\"$\",\"h2\",null,{\"style\":{\"fontSize\":14,\"fontWeight\":400,\"lineHeight\":\"49px\",\"margin\":0},\"children\":\"This page could not be found.\"}]}]]}]}]],[]],\"forbidden\":\"$undefined\",\"unauthorized\":\"$undefined\"}]}]]}]]}],{\"children\":[[\"$\",\"$1\",\"c\",{\"children\":[[\"$\",\"$4\",null,{\"children\":[\"$\",\"$L5\",null,{}]}],null,[\"$\",\"$L6\",null,{\"children\":[\"$\",\"$4\",null,{\"name\":\"Next.MetadataOutlet\",\"children\":\"$@7\"}]}]]}],{},null,false,null]},null,false,null],[\"$\",\"$1\",\"h\",{\"children\":[null,[\"$\",\"$L8\",null,{\"children\":\"$L9\"}],[\"$\",\"div\",null,{\"hidden\":true,\"children\":[\"$\",\"$La\",null,{\"children\":[\"$\",\"$4\",null,{\"name\":\"Next.Metadata\",\"children\":\"$Lb\"}]}]}],[\"$\",\"meta\",null,{\"name\":\"next-size-adjust\",\"content\":\"\"}]]}],false]],\"m\":\"$undefined\",\"G\":[\"$c\",[]],\"S\":true,\"h\":null,\"s\":\"$undefined\",\"l\":\"$undefined\",\"p\":\"$undefined\",\"d\":\"$undefined\",\"b\":\"ZjzxirYs2-A0VkOP-UaAI\"}\n"])</script><script>self.__next_f.push([1,"9:[[\"$\",\"meta\",\"0\",{\"charSet\":\"utf-8\"}],[\"$\",\"meta\",\"1\",{\"name\":\"viewport\",\"content\":\"width=device-width, initial-scale=1\"}]]\n"])</script><script>self.__next_f.push([1,"d:I[86869,[],\"IconMark\"]\n7:null\nb:[[\"$\",\"title\",\"0\",{\"children\":\"annodex\"}],[\"$\",\"meta\",\"1\",{\"name\":\"description\",\"content\":\"AI-native bioinformatics workspace by Annoroad\"}],[\"$\",\"link\",\"2\",{\"rel\":\"icon\",\"href\":\"/favicon.ico?8aa486c701a3d218\",\"type\":\"image/x-icon\",\"sizes\":\"512x512\"}],[\"$\",\"$Ld\",\"3\",{}]]\n"])</script></body></html>