@seqyuan/annodex 0.1.7 → 0.1.9

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 (93) hide show
  1. package/.next/BUILD_ID +1 -1
  2. package/.next/app-path-routes-manifest.json +8 -8
  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/agent/[id]/events/route.js +1 -1
  26. package/.next/server/app/api/agent/[id]/events/route.js.nft.json +1 -1
  27. package/.next/server/app/api/agent/[id]/route.js +1 -1
  28. package/.next/server/app/api/agent/[id]/route.js.nft.json +1 -1
  29. package/.next/server/app/api/agent/new/route.js +1 -1
  30. package/.next/server/app/api/agent/new/route.js.nft.json +1 -1
  31. package/.next/server/app/api/auth/all-providers/route.js +1 -1
  32. package/.next/server/app/api/auth/all-providers/route.js.nft.json +1 -1
  33. package/.next/server/app/api/files/[...path]/route.js +1 -1
  34. package/.next/server/app/api/files/[...path]/route.js.nft.json +1 -1
  35. package/.next/server/app/api/internal/runtime/route.js +1 -1
  36. package/.next/server/app/api/internal/runtime/route.js.nft.json +1 -1
  37. package/.next/server/app/api/models/route.js +1 -1
  38. package/.next/server/app/api/models/route.js.nft.json +1 -1
  39. package/.next/server/app/api/models-config/discover/route.js +1 -1
  40. package/.next/server/app/api/models-config/route.js +1 -1
  41. package/.next/server/app/api/models-config/route.js.nft.json +1 -1
  42. package/.next/server/app/api/models-config/test/route.js +1 -1
  43. package/.next/server/app/api/models-config/test/route.js.nft.json +1 -1
  44. package/.next/server/app/api/projects/route.js +1 -1
  45. package/.next/server/app/api/projects/route.js.nft.json +1 -1
  46. package/.next/server/app/api/reports/[id]/route.js +1 -1
  47. package/.next/server/app/api/reports/[id]/route.js.nft.json +1 -1
  48. package/.next/server/app/api/search/route.js +1 -1
  49. package/.next/server/app/api/search/route.js.nft.json +1 -1
  50. package/.next/server/app/api/sessions/[id]/context/route.js +1 -1
  51. package/.next/server/app/api/sessions/[id]/context/route.js.nft.json +1 -1
  52. package/.next/server/app/api/sessions/[id]/route.js +1 -1
  53. package/.next/server/app/api/sessions/[id]/route.js.nft.json +1 -1
  54. package/.next/server/app/api/sessions/route.js +1 -1
  55. package/.next/server/app/api/sessions/route.js.nft.json +1 -1
  56. package/.next/server/app/api/settings/route.js +1 -1
  57. package/.next/server/app/api/settings/route.js.nft.json +1 -1
  58. package/.next/server/app/api/version/route.js +1 -1
  59. package/.next/server/app/index.html +1 -1
  60. package/.next/server/app/index.rsc +2 -2
  61. package/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
  62. package/.next/server/app/index.segments/_full.segment.rsc +2 -2
  63. package/.next/server/app/index.segments/_head.segment.rsc +1 -1
  64. package/.next/server/app/index.segments/_index.segment.rsc +1 -1
  65. package/.next/server/app/index.segments/_tree.segment.rsc +1 -1
  66. package/.next/server/app/login/page_client-reference-manifest.js +1 -1
  67. package/.next/server/app/login.html +1 -1
  68. package/.next/server/app/login.rsc +1 -1
  69. package/.next/server/app/login.segments/_full.segment.rsc +1 -1
  70. package/.next/server/app/login.segments/_head.segment.rsc +1 -1
  71. package/.next/server/app/login.segments/_index.segment.rsc +1 -1
  72. package/.next/server/app/login.segments/_tree.segment.rsc +1 -1
  73. package/.next/server/app/login.segments/login/__PAGE__.segment.rsc +1 -1
  74. package/.next/server/app/login.segments/login.segment.rsc +1 -1
  75. package/.next/server/app/page.js +2 -2
  76. package/.next/server/app/page_client-reference-manifest.js +1 -1
  77. package/.next/server/app-paths-manifest.json +8 -8
  78. package/.next/server/chunks/402.js +2 -2
  79. package/.next/server/chunks/4768.js +1 -0
  80. package/.next/server/chunks/5399.js +8 -0
  81. package/.next/server/chunks/6429.js +1 -1
  82. package/.next/server/middleware-build-manifest.js +1 -1
  83. package/.next/server/pages/404.html +1 -1
  84. package/.next/server/pages/500.html +1 -1
  85. package/.next/server/server-reference-manifest.json +1 -1
  86. package/.next/static/chunks/app/{page-9092fdeb41a8f0be.js → page-47177ea493e3ea9d.js} +2 -2
  87. package/.next/trace +74 -74
  88. package/.next/trace-build +1 -1
  89. package/package.json +1 -1
  90. package/public/favicon.svg +23 -11
  91. package/.next/server/chunks/6268.js +0 -8
  92. /package/.next/static/{XihUtUHNef-reOU9iMI21 → SS2GjBJIhOGFQaf7erK3G}/_buildManifest.js +0 -0
  93. /package/.next/static/{XihUtUHNef-reOU9iMI21 → SS2GjBJIhOGFQaf7erK3G}/_ssgManifest.js +0 -0
package/.next/trace-build CHANGED
@@ -1 +1 @@
1
- [{"name":"run-webpack","duration":54695243,"timestamp":663207714,"id":14,"parentId":1,"tags":{},"startTime":1780463734919,"traceId":"202e59dd5d688453"},{"name":"run-typescript","duration":7764689,"timestamp":717907128,"id":7538,"parentId":1,"tags":{},"startTime":1780463789618,"traceId":"202e59dd5d688453"},{"name":"static-check","duration":596272,"timestamp":725688591,"id":7541,"parentId":1,"tags":{},"startTime":1780463797400,"traceId":"202e59dd5d688453"},{"name":"static-generation","duration":6018905,"timestamp":726867561,"id":7621,"parentId":1,"tags":{},"startTime":1780463798579,"traceId":"202e59dd5d688453"},{"name":"collect-build-traces","duration":12716587,"timestamp":726288269,"id":7618,"parentId":1,"tags":{},"startTime":1780463797999,"traceId":"202e59dd5d688453"},{"name":"telemetry-flush","duration":61,"timestamp":739008154,"id":7630,"parentId":1,"tags":{},"startTime":1780463810719,"traceId":"202e59dd5d688453"},{"name":"next-build","duration":75948922,"timestamp":663059305,"id":1,"tags":{"buildMode":"default","version":"16.2.1","bundler":"webpack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1780463734770,"traceId":"202e59dd5d688453"}]
1
+ [{"name":"run-webpack","duration":51390622,"timestamp":57661601,"id":14,"parentId":1,"tags":{},"startTime":1780469461995,"traceId":"4fd4d78d688a2865"},{"name":"run-typescript","duration":7185343,"timestamp":109057136,"id":7538,"parentId":1,"tags":{},"startTime":1780469513390,"traceId":"4fd4d78d688a2865"},{"name":"static-check","duration":563293,"timestamp":116257690,"id":7541,"parentId":1,"tags":{},"startTime":1780469520591,"traceId":"4fd4d78d688a2865"},{"name":"static-generation","duration":5638147,"timestamp":117596404,"id":7621,"parentId":1,"tags":{},"startTime":1780469521930,"traceId":"4fd4d78d688a2865"},{"name":"collect-build-traces","duration":11684988,"timestamp":116824222,"id":7618,"parentId":1,"tags":{},"startTime":1780469521157,"traceId":"4fd4d78d688a2865"},{"name":"telemetry-flush","duration":50,"timestamp":128512434,"id":7630,"parentId":1,"tags":{},"startTime":1780469532846,"traceId":"4fd4d78d688a2865"},{"name":"next-build","duration":71006960,"timestamp":57505535,"id":1,"tags":{"buildMode":"default","version":"16.2.1","bundler":"webpack","has-custom-webpack-config":"false","use-build-worker":"true"},"startTime":1780469461839,"traceId":"4fd4d78d688a2865"}]
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@seqyuan/annodex",
3
- "version": "0.1.7",
3
+ "version": "0.1.9",
4
4
  "description": "AI-native bioinformatics workspace by Annoroad",
5
5
  "license": "MIT",
6
6
  "bin": {
@@ -1,14 +1,26 @@
1
1
  <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 64 64">
2
2
  <rect width="64" height="64" rx="12" fill="#0b1220"/>
3
- <g fill="#f8fafc">
4
- <rect x="14" y="13" width="8" height="30" rx="4"/>
5
- <rect x="25" y="7" width="8" height="36" rx="4"/>
6
- <rect x="39" y="7" width="8" height="36" rx="4"/>
7
- <rect x="50" y="14" width="8" height="29" rx="4"/>
8
- <path d="M18 38h38v8c0 7.7-6.3 14-14 14H31c-8.3 0-15-6.7-15-15v-5.8c.6-.1 1.3-.2 2-.2Z"/>
9
- <path d="M17.7 42.6 8.6 36.7a5.4 5.4 0 0 1-1.6-7.2 4.9 4.9 0 0 1 6.9-1.4l11.2 7.1Z"/>
10
- </g>
11
- <path d="M34.3 6h4.4v35h-4.4Z" fill="#0b1220"/>
12
- <path d="M23.2 13h1.8v27h-1.8Zm24 1h1.8v26h-1.8Z" fill="#0b1220" opacity=".85"/>
13
- <path d="M21 49h33v4H22.7c-.8-1.2-1.4-2.5-1.7-4Z" fill="#34d399"/>
3
+
4
+ <!-- Palm base -->
5
+ <path d="M16 42c0 12 6 18 16 18s16-6 16-18v-8H16v8Z" fill="#f8fafc"/>
6
+ <rect x="16" y="34" width="32" height="8" rx="4" fill="#f8fafc"/>
7
+
8
+ <!-- Thumb - angled outward -->
9
+ <rect x="4" y="20" width="12" height="28" rx="6" fill="#f8fafc" transform="rotate(-22 10 34)"/>
10
+
11
+ <!-- Index finger -->
12
+ <rect x="15" y="3" width="8" height="33" rx="4" fill="#f8fafc"/>
13
+ <!-- Middle finger -->
14
+ <rect x="23" y="3" width="8" height="33" rx="4" fill="#f8fafc"/>
15
+
16
+ <!-- Vulcan V gap -->
17
+ <polygon points="31,0 37,0 33,40 35,40" fill="#0b1220"/>
18
+
19
+ <!-- Ring finger -->
20
+ <rect x="33" y="3" width="8" height="33" rx="4" fill="#f8fafc"/>
21
+ <!-- Pinky finger -->
22
+ <rect x="41" y="3" width="8" height="33" rx="4" fill="#f8fafc"/>
23
+
24
+ <!-- Brand accent -->
25
+ <path d="M16 54h32v4c-2 4-10 6-16 6s-14-2-16-6v-4Z" fill="#34d399"/>
14
26
  </svg>
@@ -1,8 +0,0 @@
1
- exports.id=6268,exports.ids=[6268],exports.modules={55399:(a,b,c)=>{"use strict";c.d(b,{F6:()=>M,s3:()=>O,xh:()=>L});var d=c(81630),e=c(55591),f=c(55511),g=c(1932);let h="<think>",i="</think>",j=["logit_bias","logprobs","metadata","n","response_format","seed","service_tier","top_logprobs","user"],k={deepseek:{supportsEffort:!0,thinkingParam:"thinking",effortParam:"reasoning_effort",effortMap:{off:null,minimal:"high",low:"high",medium:"high",high:"high",xhigh:"max"}},kimi:{supportsEffort:!1,thinkingParam:"thinking",effortMap:{off:null,minimal:"enabled",low:"enabled",medium:"enabled",high:"enabled",xhigh:"enabled"}},qwen:{supportsEffort:!1,thinkingParam:"enable_thinking",effortMap:{off:null,minimal:"enabled",low:"enabled",medium:"enabled",high:"enabled",xhigh:"enabled"}},glm:{supportsEffort:!0,thinkingParam:"thinking",effortParam:"reasoning_effort",effortMap:{off:null,minimal:"low",low:"low",medium:"medium",high:"high",xhigh:"high"}},openrouter:{supportsEffort:!0,effortParam:"reasoning.effort",effortMap:{off:null,minimal:"minimal",low:"low",medium:"medium",high:"high",xhigh:"xhigh"}},generic:{supportsEffort:!1,thinkingParam:"thinking",effortMap:{off:null,minimal:"enabled",low:"enabled",medium:"enabled",high:"enabled",xhigh:"enabled"}}};function l(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}function m(a){return"string"==typeof a&&a.trim()?a:void 0}function n(a){if("string"==typeof a)return o(a);try{return JSON.stringify(a??"")}catch{return String(a??"")}}function o(a){let b=a.trim();if(!b)return a;try{return JSON.stringify(JSON.parse(b))}catch{return a}}function p(a,b){let c=b?.trim();return c?a?a.includes(c)?a:`${a}
2
-
3
- ${c}`:c:a}function q(a){let b=l(a)?{...a}:{};return b.type||(b.type="object"),"object"===b.type&&(l(b.properties)||(b.properties={}),Array.isArray(b.required)||(b.required=[])),b}function r(a,b){return a?b?a.endsWith("__")||b.startsWith("__")?`${a}${b}`:`${a}__${b}`:a:b}function s(a){let b={specs:new Map};if(!Array.isArray(a))return b;let c=a=>{a.chatName&&b.specs.set(a.chatName,a)};for(let b of a){if(!l(b))continue;let a=m(b.type)??"function";if("namespace"===a){let a=m(b.name)??"";for(let d of Array.isArray(b.tools)?b.tools:[]){if(!l(d))continue;let b=l(d.function)?d.function:void 0,e=m(d.name)??m(b?.name);e&&c({chatName:r(a,e),originalName:e,namespace:a,kind:"function"})}continue}let d=l(b.function)?b.function:void 0,e=m(b.name)??m(d?.name)??("function"!==a?a:void 0);e&&c({chatName:e,originalName:e,kind:"custom"===a?"custom":"function"})}return b}function t(a,b){let c=m(a.name)??"unknown_tool",d=m(a.namespace)??"",e=d?r(d,c):c;return b.specs.has(e)?e:c}function u(a){if(!l(a))return;let b=m(a.reasoning_content)??m(a.reasoning)??m(a.text);if(b)return b;let c=a.summary;if(Array.isArray(c)){let a=c.map(a=>l(a)?m(a.text)??m(a.summary):void 0).filter(a=>!!a);if(a.length)return a.join("\n\n")}let d=a.reasoning_details;if(Array.isArray(d)){let a=[];for(let b of d){if(!l(b))continue;let c=m(b.summary)??m(b.text);if(c&&a.push(c),Array.isArray(b.parts)){for(let c of b.parts)if(l(c)){let b=m(c.text);b&&a.push(b)}}}if(a.length)return a.join("\n\n")}}function v(a,b,c,d){let e,f=a[a.length-1],g=f?.role!=="assistant"||f.tool_call_id?(e={role:"assistant",content:null},a.push(e),e):f;g.tool_calls=[...g.tool_calls??[],b],!g.reasoning_content?.trim()&&(c?.trim()||d)&&(g.reasoning_content=c?.trim()||"tool call")}function w(a){if(!a)return"off";let b=a.trim().toLowerCase();return"xhigh"===b||"max"===b?"xhigh":"high"===b?"high":"medium"===b?"medium":"low"===b?"low":"minimal"===b?"minimal":"off"===b||"none"===b||"disabled"===b||"false"===b?"off":"medium"}function x(a){return"length"===a?"incomplete":"completed"}function y(){return{input_tokens:0,output_tokens:0,total_tokens:0}}function z(a){if(!l(a))return y();let b=Number(a.prompt_tokens??a.input_tokens??0),c=Number(a.completion_tokens??a.output_tokens??0),d=Number(a.total_tokens??b+c),e={input_tokens:b,output_tokens:c,total_tokens:d};return l(a.prompt_tokens_details)&&(e.input_tokens_details=a.prompt_tokens_details),l(a.completion_tokens_details)&&(e.output_tokens_details=a.completion_tokens_details),e}function A(a,b){return{id:`rs_${a}`,type:"reasoning",reasoning_content:b,summary:[{type:"summary_text",text:b}]}}function B(a){try{let b=JSON.parse(a);if(l(b)&&"string"==typeof b.input)return b.input}catch{}return a}function C(a,b,c,d,e){let f=e.specs.get(b);if(f?.kind==="custom")return{id:`ctc_${a}`,type:"custom_tool_call",status:d,call_id:a,name:f.originalName,input:B(c)};let g={id:`fc_${a}`,type:"function_call",status:d,call_id:a,name:f?.originalName??b,arguments:c};return f?.namespace&&(g.namespace=f.namespace),g}function D(a,b){return`event: ${a}
4
- data: ${JSON.stringify(b)}
5
-
6
- `}function E(a,b,c=[]){return{id:a.responseId,object:"response",created_at:a.createdAt,status:b,model:a.model,output:c,usage:a.finalUsage??y()}}function F(a){return a.nextOutputIndex++}function G(a,b){if(!b)return[];let c=[];return a.reasoningStarted||(a.reasoningStarted=!0,a.reasoningOutputIndex=F(a),c.push(D("response.output_item.added",{type:"response.output_item.added",output_index:a.reasoningOutputIndex,item:{id:a.reasoningId,type:"reasoning",status:"in_progress",reasoning_content:"",summary:[]}})),c.push(D("response.reasoning_summary_part.added",{type:"response.reasoning_summary_part.added",item_id:a.reasoningId,output_index:a.reasoningOutputIndex,summary_index:0,part:{type:"summary_text",text:""}}))),a.reasoningText+=b,c.push(D("response.reasoning_summary_text.delta",{type:"response.reasoning_summary_text.delta",item_id:a.reasoningId,output_index:a.reasoningOutputIndex??0,summary_index:0,delta:b})),c}function H(a){if(!a.reasoningStarted||a.reasoningDone)return[];let b=a.reasoningOutputIndex??0,c=A(a.responseId,a.reasoningText);return a.outputItems.push({outputIndex:b,item:c}),a.reasoningDone=!0,[D("response.reasoning_summary_text.done",{type:"response.reasoning_summary_text.done",item_id:a.reasoningId,output_index:b,summary_index:0,text:a.reasoningText}),D("response.reasoning_summary_part.done",{type:"response.reasoning_summary_part.done",item_id:a.reasoningId,output_index:b,summary_index:0,part:{type:"summary_text",text:a.reasoningText}}),D("response.output_item.done",{type:"response.output_item.done",output_index:b,item:c})]}function I(a,b){if(!b)return[];let c=[];return a.textStarted||(a.textStarted=!0,a.messageOutputIndex=F(a),c.push(D("response.output_item.added",{type:"response.output_item.added",output_index:a.messageOutputIndex,item:{id:a.messageId,type:"message",status:"in_progress",role:"assistant",content:[]}}))),a.contentStarted||(a.contentStarted=!0,c.push(D("response.content_part.added",{type:"response.content_part.added",item_id:a.messageId,output_index:a.messageOutputIndex??0,content_index:0,part:{type:"output_text",text:"",annotations:[]}}))),a.text+=b,c.push(D("response.output_text.delta",{type:"response.output_text.delta",item_id:a.messageId,output_index:a.messageOutputIndex??0,content_index:0,delta:b})),c}function J(a){let b=[];if(!a.inlineThinkBuffer)return b;if("reasoning"===a.inlineThinkMode){let c=a.inlineThinkBuffer.indexOf(i),d=-1===c?a.inlineThinkBuffer:a.inlineThinkBuffer.slice(0,c),e=-1===c?"":a.inlineThinkBuffer.slice(c+i.length);b.push(...G(a,d)),b.push(...H(a)),b.push(...I(a,e))}else b.push(...H(a)),b.push(...I(a,a.inlineThinkBuffer));return a.inlineThinkBuffer="",a.inlineThinkMode="text",b}function K(a,b,c){let d=c.specs.get(b);return`${d?.kind==="custom"?"ctc":"fc"}_${a}`}function L(a){let b,c=a.trim().replace(/#+$/,"").replace(/\/+$/,"");if(!c||/\/chat\/completions$/i.test(c))return c;let d=(c.split("://")[1]??c).includes("/")||(b=c.split("/").pop()??"",/^v\d+/i.test(b))?`${c}/chat/completions`:`${c}/v1/chat/completions`;for(;d.includes("/v1/v1/");)d=d.replace("/v1/v1/","/v1/");return d}class M{constructor(a){this.server=null,this.port=0,this.targetUrl=L(a.targetUrl),this.apiKey=a.apiKey,this.defaultThinking=a.defaultThinking??"disabled",a.port&&(this.port=a.port)}async start(){return new Promise((a,b)=>{this.server=(0,d.createServer)((a,b)=>this.handleRequest(a,b)),this.server.on("error",b),this.server.listen(this.port,"127.0.0.1",()=>{let c=this.server?.address();c&&"object"==typeof c?(this.port=c.port,a(this.port)):b(Error("Failed to get server address"))})})}async stop(){return new Promise(a=>{this.server?(this.server.close(()=>a()),this.server=null):a()})}getPort(){return this.port}getBaseUrl(){return`http://127.0.0.1:${this.port}/v1`}handleRequest(a,b){if("/health"===a.url){b.writeHead(200,{"Content-Type":"application/json"}),b.end(JSON.stringify({status:"ok",target:this.targetUrl}));return}if("POST"!==a.method||!a.url?.startsWith("/v1/responses")){b.writeHead(404),b.end();return}let c=[];a.on("data",a=>c.push(a)),a.on("end",()=>{try{let a=JSON.parse(Buffer.concat(c).toString());this.proxyRequest(a,b)}catch{b.writeHead(400,{"Content-Type":"application/json"}),b.end(JSON.stringify({error:{message:"Invalid JSON",type:"invalid_request_error"}}))}})}proxyRequest(a,b){let c=s(a.tools),y=function(a,b,c=s(a.tools),d){var e,f;let g,h=[],i="string"==typeof(e=a.instructions)?e:Array.isArray(e)?e.map(a=>"string"==typeof a?a:l(a)?m(a.text):void 0).filter(a=>!!a).join("\n\n"):"";i&&h.push({role:"system",content:i}),!function(a,b,c,d){let e,f;for(let g of"string"==typeof a?[a]:Array.isArray(a)?a:l(a)?[a]:[]){if("string"==typeof g){b.push({role:"user",content:g}),e=void 0;continue}if(!l(g))continue;let a=m(g.type);if("reasoning"===a){e=p(e,u(g)),f=p(f,u(g));continue}if("function_call"===a){let a=function(a,b){let c=m(a.call_id)??m(a.id);return c?{id:c,type:"function",function:{name:t(a,b),arguments:n(a.arguments??{})}}:null}(g,c);a&&(v(b,a,p(e,u(g))??f,d),e=void 0);continue}if("custom_tool_call"===a||"tool_search_call"===a){let a=function(a,b){let c=m(a.call_id)??m(a.id);if(!c)return null;let d=t(a,b),e=a.input??a.arguments??"";return{id:c,type:"function",function:{name:d,arguments:"string"==typeof e?JSON.stringify({input:e}):n(e)}}}(g,c);a&&(v(b,a,p(e,u(g))??f,d),e=void 0);continue}if("function_call_output"===a||"custom_tool_call_output"===a||"tool_search_output"===a){let a=m(g.call_id);if(!a)continue;let c=g.output??g.content??g;b.push({role:"tool",tool_call_id:a,content:"string"==typeof c?c:n(c)}),e=void 0;continue}if("tool_call"===a&&l(g.tool_use)){let a=g.tool_use,c=m(a.id),h=m(a.name);c&&h&&(v(b,{id:c,type:"function",function:{name:h,arguments:n(a.input??{})}},e??f,d),e=void 0);continue}if("tool_result"===a&&l(g.content)){let a=m(g.content.tool_use_id);a&&b.push({role:"tool",tool_call_id:a,content:n(g.content.content??"")}),e=void 0;continue}if("message"===a||void 0!==g.role||void 0!==g.content){let a=function(a){let b="string"==typeof a?a.trim().toLowerCase():"user";return"system"===b||"developer"===b?"system":"assistant"===b?"assistant":"tool"===b?"tool":"user"}(g.role),c=function(a){if(null===a||"string"==typeof a||!Array.isArray(a))return a;let b=[],c=[],d=!1;for(let e of a){if(!l(e))continue;let a=m(e.type)??"";if("input_text"===a||"output_text"===a||"text"===a){let a=m(e.text);a&&(b.push(a),c.push({type:"text",text:a}));continue}if("refusal"===a){let a=m(e.refusal);a&&b.push(a);continue}if("input_image"===a&&e.image_url){d=!0;let a=l(e.image_url)?e.image_url:{url:String(e.image_url)};c.push({type:"image_url",image_url:a})}}return d?c:b.join("\n")}(g.content),d={role:a,content:"assistant"===a&&(null===c||Array.isArray(c)&&0===c.length)?"":c};if("assistant"===a){let a=p(e,u(g));a&&(d.reasoning_content=a,f=p(f,a))}else e=void 0;b.push(d)}}for(let a of b)d&&"assistant"===a.role&&a.tool_calls?.length&&!a.reasoning_content?.trim()&&(a.reasoning_content="tool call")}(a.input,h,c,(f=a.model,g=`${f??""} ${d??""}`.toLowerCase(),/deepseek|kimi|moonshot|siliconflow/.test(g)));let o={model:a.model||"deepseek-chat",messages:function(a){let b=[],c=[];for(let d of a)"system"===d.role&&"string"==typeof d.content&&d.content.trim()?b.push(d.content):c.push(d);return b.length?[{role:"system",content:b.join("\n\n")},...c]:c}(h)};void 0!==a.max_output_tokens&&(o.max_tokens=a.max_output_tokens),void 0!==a.max_tokens&&(o.max_tokens=a.max_tokens),void 0!==a.max_completion_tokens&&(o.max_completion_tokens=a.max_completion_tokens),void 0!==a.temperature&&(o.temperature=a.temperature),void 0!==a.top_p&&(o.top_p=a.top_p),void 0!==a.stream&&(o.stream=a.stream),void 0!==a.stop&&(o.stop=a.stop),void 0!==a.frequency_penalty&&(o.frequency_penalty=a.frequency_penalty),void 0!==a.presence_penalty&&(o.presence_penalty=a.presence_penalty),function(a,b,c,d){var e;let f,g,h=k[e=b.model,f=(e??"").toLowerCase(),g=`${f} ${d??""}`.toLowerCase(),f.includes("openrouter")||f.includes("deeprouter")||g.includes("openrouter")||g.includes("deeprouter")?"openrouter":g.includes("deepseek")||g.includes("siliconflow")?"deepseek":g.includes("kimi")||g.includes("moonshot")?"kimi":g.includes("qwen")?"qwen":g.includes("glm")||g.includes("zhipu")||g.includes("chatglm")?"glm":"generic"]??k.generic,i=void 0!==b.reasoning,j=w(c);i&&(j=b.reasoning&&!1!==b.reasoning.enabled?w(b.reasoning.effort):"off");let l=h.effortMap[j];if(null===l){i&&"reasoning.effort"===h.effortParam&&(a.reasoning={effort:"none"});return}"enable_thinking"===h.thinkingParam?a.enable_thinking=!0:"thinking"===h.thinkingParam&&(a.thinking={type:"enabled"}),h.supportsEffort&&"enabled"!==l&&("reasoning.effort"===h.effortParam?a.reasoning={effort:l}:a.reasoning_effort=l)}(o,a,b,d);let x=function(a,b){if(!Array.isArray(a))return[];let c=[],d=new Set,e=(a,b,e)=>{!a||d.has(a)||(d.add(a),c.push({type:"function",function:{name:a,...b?{description:b}:{},parameters:e}}))};for(let c of a){if(!l(c))continue;let a=m(c.type)??"function";if("namespace"===a){let a=m(c.name)??"",b=m(c.description);for(let d of Array.isArray(c.tools)?c.tools:[]){if(!l(d))continue;let c=l(d.function)?d.function:void 0,f=m(d.name)??m(c?.name);if(f)e(r(a,f),function(a,b){let c=a?.trim()??"",d=b?.trim()??"";if(c||d)return c?d?`${c}
7
-
8
- ${d}`:c:d}(b,m(d.description)??m(c?.description)),q(d.parameters??c?.parameters??d.input_schema??d.schema))}continue}let d=l(c.function)?c.function:void 0,f=m(c.name)??m(d?.name)??("function"!==a?a:void 0);if(!f)continue;let g=b.specs.get(f);e(f,m(c.description)??m(d?.description),g?.kind==="custom"?{type:"object",properties:{input:{type:"string"}},required:["input"],additionalProperties:!1}:q(c.parameters??d?.parameters??c.input_schema??c.schema))}return c}(a.tools,c);if(x.length){o.tools=x,void 0!==a.parallel_tool_calls&&(o.parallel_tool_calls=a.parallel_tool_calls);let b=function(a,b){if("string"==typeof a||!l(a))return a;let c=m(a.type);if("auto"===c||"none"===c||"required"===c)return c;let d=l(a.function)?a.function:void 0,e=m(a.namespace)??m(d?.namespace)??"",f=m(a.name)??m(d?.name);if(!f)return;let g=e?r(e,f):f;if(b.specs.has(g)||b.specs.has(f))return{type:"function",function:{name:g}}}(a.tool_choice,c);void 0!==b&&(o.tool_choice=b)}for(let b of j)void 0!==a[b]&&(o[b]=a[b]);return o.stream&&(o.stream_options={...l(a.stream_options)?a.stream_options:{},include_usage:!0}),o}(a,this.defaultThinking,c,this.targetUrl),L=new g.URL(this.targetUrl),M="https:"===L.protocol,N=(M?e.request:d.request)({hostname:L.hostname,port:L.port||(M?443:80),path:L.pathname+L.search,method:"POST",headers:{"Content-Type":"application/json",Authorization:`Bearer ${this.apiKey}`}},a=>{let d=a.statusCode??502,e=String(a.headers["content-type"]??""),g=!0===y.stream||e.includes("text/event-stream");if(d<200||d>=300){let c=[];a.on("data",a=>c.push(a)),a.on("end",()=>{let a=function(a,b,c){let d,e=c.toString("utf8").slice(0,1024),f="upstream_error",g=a;if(b?.toLowerCase().includes("json"))try{let a=JSON.parse(c.toString("utf8")),b=l(a)&&l(a.error)?a.error:a;l(b)&&(e=m(b.message)??m(b.detail)??e,f=m(b.type)??m(b.error_type)??f,g=b.code??g,d=b.param)}catch{}let h={message:e||`Upstream returned HTTP ${a}`,type:f,code:g};return void 0!==d&&(h.param=d),{error:h}}(d,e,Buffer.concat(c));b.writeHead(d,{"Content-Type":"application/json"}),b.end(JSON.stringify(a))});return}if(g){var j;let d,e,g=(j=y.model,{responseId:d=`resp_${(0,f.randomBytes)(12).toString("hex")}`,messageId:`msg_${(0,f.randomBytes)(12).toString("hex")}`,reasoningId:`rs_${d}`,createdAt:Math.floor(Date.now()/1e3),model:j||"deepseek-chat",text:"",textStarted:!1,contentStarted:!1,messageOutputIndex:null,reasoningText:"",reasoningStarted:!1,reasoningDone:!1,reasoningOutputIndex:null,inlineThinkMode:"detecting",inlineThinkBuffer:"",nextOutputIndex:0,toolCalls:[],outputItems:[],finalUsage:null,finishReason:null,toolContext:c});b.writeHead(200,{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}),b.write(D("response.created",{type:"response.created",response:e=E(g,"in_progress")})+D("response.in_progress",{type:"response.in_progress",response:e}));let k={value:""};a.on("data",a=>(function(a,b,c,d){for(a.value+=b.toString("utf8");a.value.includes("\n");){let b=a.value.indexOf("\n"),e=a.value.slice(0,b).trim();if(a.value=a.value.slice(b+1),!(!e||e.startsWith(":"))&&"data: [DONE]"!==e&&e.startsWith("data: "))try{let a=JSON.parse(e.slice(6));if(l(a))for(let b of function(a,b){let c=[],d=m(a.model);d&&(b.model=d),l(a.usage)&&(b.finalUsage=z(a.usage));let e=Array.isArray(a.choices)?a.choices:[],f=l(e[0])?e[0]:void 0;if(!f)return c;"string"==typeof f.finish_reason&&(b.finishReason=f.finish_reason);let g=l(f.delta)?f.delta:{},j=m(g.reasoning_content)??m(g.reasoning);j&&c.push(...G(b,j));let k="string"==typeof g.content?g.content:"";if(k&&c.push(...function(a,b){if(!b)return[];let c=[];if("text"===a.inlineThinkMode)return c.push(...H(a)),c.push(...I(a,b)),c;if(a.inlineThinkBuffer+=b,"detecting"===a.inlineThinkMode){let b=a.inlineThinkBuffer.trimStart();if(!b)return c;if(b.startsWith(h))a.inlineThinkMode="reasoning",a.inlineThinkBuffer=b.slice(h.length);else{if(h.startsWith(b))return c;a.inlineThinkMode="text";let d=a.inlineThinkBuffer;return a.inlineThinkBuffer="",c.push(...H(a)),c.push(...I(a,d)),c}}if("reasoning"===a.inlineThinkMode){let b=a.inlineThinkBuffer.indexOf(i);if(-1===b)return c;let d=a.inlineThinkBuffer.slice(0,b),e=a.inlineThinkBuffer.slice(b+i.length);a.inlineThinkBuffer="",a.inlineThinkMode="text",c.push(...G(a,d)),c.push(...H(a)),c.push(...I(a,e))}return c}(b,k)),Array.isArray(g.tool_calls))for(let a of(c.push(...J(b)),c.push(...H(b)),g.tool_calls))l(a)&&c.push(...function(a,b){let c=[],d="number"==typeof b.index?b.index:a.toolCalls.length,e=l(b.function)?b.function:{},f=a.toolCalls[d],g=m(b.id),h=m(e.name),i="string"==typeof e.arguments?e.arguments:"";if(!f){let b=g??`call_${d}`,e=h??"unknown_tool";f={outputIndex:F(a),itemId:K(b,e,a.toolContext),callId:b,name:e,arguments:"",done:!1},a.toolCalls[d]=f,c.push(D("response.output_item.added",{type:"response.output_item.added",output_index:f.outputIndex,item:C(f.callId,f.name,"","in_progress",a.toolContext)}))}if(g&&(f.callId=g),h&&"unknown_tool"===f.name&&(f.name=h,f.itemId=K(f.callId,f.name,a.toolContext)),i){f.arguments+=i;let b=a.toolContext.specs.get(f.name);b?.kind!=="custom"&&c.push(D("response.function_call_arguments.delta",{type:"response.function_call_arguments.delta",item_id:f.itemId,output_index:f.outputIndex,delta:i}))}return c}(b,a));return c}(a,c))d.write(b)}catch{}}})(k,a,g,b)),a.on("end",()=>{let a,c,d,e;for(let f of((a=[]).push(...J(g)),a.push(...H(g)),a.push(...function(a){if(!a.textStarted)return[];let b=a.messageOutputIndex??0,c={id:a.messageId,type:"message",status:"completed",role:"assistant",content:[{type:"output_text",text:a.text,annotations:[]}]};return a.outputItems.push({outputIndex:b,item:c}),[D("response.output_text.done",{type:"response.output_text.done",item_id:a.messageId,output_index:b,content_index:0,text:a.text}),D("response.content_part.done",{type:"response.content_part.done",item_id:a.messageId,output_index:b,content_index:0,part:{type:"output_text",text:a.text,annotations:[]}}),D("response.output_item.done",{type:"response.output_item.done",output_index:b,item:c})]}(g)),a.push(...function(a){let b=[];for(let c of a.toolCalls){if(!c||c.done)continue;c.done=!0;let d=o(c.arguments),e=a.toolContext.specs.get(c.name);if(e?.kind==="custom"){let a=B(d);a&&b.push(D("response.custom_tool_call_input.delta",{type:"response.custom_tool_call_input.delta",item_id:c.itemId,output_index:c.outputIndex,delta:a})),b.push(D("response.custom_tool_call_input.done",{type:"response.custom_tool_call_input.done",item_id:c.itemId,output_index:c.outputIndex,input:a}))}else b.push(D("response.function_call_arguments.done",{type:"response.function_call_arguments.done",item_id:c.itemId,output_index:c.outputIndex,arguments:d}));let f=C(c.callId,c.name,d,"completed",a.toolContext);a.outputItems.push({outputIndex:c.outputIndex,item:f}),b.push(D("response.output_item.done",{type:"response.output_item.done",output_index:c.outputIndex,item:f}))}return b}(g)),c=[...g.outputItems].sort((a,b)=>a.outputIndex-b.outputIndex).map(a=>a.item),d=x(g.finishReason),e=E(g,d,c),"incomplete"===d&&(e.incomplete_details={reason:"max_output_tokens"}),a.push(D("response.completed",{type:"response.completed",response:e})),a.push("data: [DONE]\n\n"),a))b.write(f);b.end()}),a.on("error",()=>b.end());return}let k=[];a.on("data",a=>k.push(a)),a.on("end",()=>{try{let a=JSON.parse(Buffer.concat(k).toString()),d=function(a,b,c){let d=`resp_${(0,f.randomBytes)(12).toString("hex")}`,e=Array.isArray(a.choices)?a.choices:[],g=l(e[0])?e[0]:{},h=l(g.message)?g.message:{},i=[],j=u(h);j&&i.push(A(d,j));let k="string"==typeof h.content?h.content:"";for(let a of(k&&i.push({id:`msg_${(0,f.randomBytes)(12).toString("hex")}`,type:"message",status:"completed",role:"assistant",content:[{type:"output_text",text:k,annotations:[]}]}),Array.isArray(h.tool_calls)?h.tool_calls:[])){if(!l(a))continue;let b=l(a.function)?a.function:{},d=m(a.id)??`call_${i.length}`,e=m(b.name)??"unknown_tool",f=o("string"==typeof b.arguments?b.arguments:"{}");i.push(C(d,e,f,"completed",c))}let n=x(m(g.finish_reason)),p={id:d,object:"response",created_at:"number"==typeof a.created?a.created:Math.floor(Date.now()/1e3),status:n,model:m(a.model)??b,output:i,usage:z(a.usage)};return"incomplete"===n&&(p.incomplete_details={reason:"max_output_tokens"}),p}(a,y.model,c);b.writeHead(200,{"Content-Type":"application/json"}),b.end(JSON.stringify(d))}catch{b.writeHead(502,{"Content-Type":"application/json"}),b.end(JSON.stringify({error:{message:"Invalid upstream JSON",type:"upstream_error"}}))}})});N.on("error",a=>{b.writeHead(502,{"Content-Type":"application/json"}),b.end(JSON.stringify({error:{message:`Upstream error: ${a.message}`,type:"upstream_error"}}))}),N.write(JSON.stringify(y)),N.end()}}let N=[/deepseek/i,/moonshot/i,/zhipu|bigmodel/i,/qwen/i,/kimi/i,/minimax/i,/siliconflow/i,/openrouter/i,/deeprouter/i,/crazyrouter/i,/therouter/i,/together/i,/groq/i,/dashscope/i,/lingyiwanwu|yi-api/i,/stepfun|step-api/i,/baichuan/i,/\/chat\/completions(?:$|[?#])/i];function O(a){if(!a)return!1;let b=a.toLowerCase();return!b.includes("api.openai.com")&&N.some(a=>a.test(b))}},78335:()=>{},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,/deeprouter|openrouter/i,/crazyrouter|therouter/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)?"openai-completions":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}}};