@seqyuan/annodex 0.1.15 → 0.1.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.next/BUILD_ID +1 -1
- package/.next/app-path-routes-manifest.json +6 -6
- package/.next/build-manifest.json +2 -2
- package/.next/prerender-manifest.json +3 -3
- package/.next/required-server-files.js +1 -1
- package/.next/required-server-files.json +1 -1
- package/.next/server/app/_global-error/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_global-error.html +1 -1
- package/.next/server/app/_global-error.rsc +1 -1
- package/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/_not-found/page_client-reference-manifest.js +1 -1
- package/.next/server/app/_not-found.html +1 -1
- package/.next/server/app/_not-found.rsc +1 -1
- package/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/api/internal/runtime/route.js +1 -1
- package/.next/server/app/api/version/route.js +1 -1
- package/.next/server/app/index.html +1 -1
- package/.next/server/app/index.rsc +2 -2
- package/.next/server/app/index.segments/__PAGE__.segment.rsc +2 -2
- package/.next/server/app/index.segments/_full.segment.rsc +2 -2
- package/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/.next/server/app/index.segments/_index.segment.rsc +1 -1
- package/.next/server/app/index.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/login/page_client-reference-manifest.js +1 -1
- package/.next/server/app/login.html +1 -1
- package/.next/server/app/login.rsc +1 -1
- package/.next/server/app/login.segments/_full.segment.rsc +1 -1
- package/.next/server/app/login.segments/_head.segment.rsc +1 -1
- package/.next/server/app/login.segments/_index.segment.rsc +1 -1
- package/.next/server/app/login.segments/_tree.segment.rsc +1 -1
- package/.next/server/app/login.segments/login/__PAGE__.segment.rsc +1 -1
- package/.next/server/app/login.segments/login.segment.rsc +1 -1
- package/.next/server/app/page.js +2 -2
- package/.next/server/app/page_client-reference-manifest.js +1 -1
- package/.next/server/app-paths-manifest.json +6 -6
- package/.next/server/chunks/402.js +2 -2
- package/.next/server/chunks/5399.js +3 -3
- package/.next/server/chunks/6429.js +2 -2
- package/.next/server/middleware-build-manifest.js +1 -1
- package/.next/server/next-font-manifest.js +1 -1
- package/.next/server/next-font-manifest.json +1 -1
- package/.next/server/pages/404.html +1 -1
- package/.next/server/pages/500.html +1 -1
- package/.next/server/server-reference-manifest.json +1 -1
- package/.next/static/chunks/app/{page-7e4ccb89945e0a6e.js → page-0cd6a2a3db4c55f7.js} +2 -2
- package/package.json +1 -1
- /package/.next/static/{SGOlQ0pD2HoCY-G5Gob0q → iFhjJ27Z6gc8gnveAak2F}/_buildManifest.js +0 -0
- /package/.next/static/{SGOlQ0pD2HoCY-G5Gob0q → iFhjJ27Z6gc8gnveAak2F}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/page"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"27123":{"*":{"id":"81921","name":"*","chunks":[],"async":false}},"42309":{"*":{"id":"28447","name":"*","chunks":[],"async":false}},"57121":{"*":{"id":"35421","name":"*","chunks":[],"async":false}},"60604":{"*":{"id":"41993","name":"*","chunks":[],"async":false}},"61304":{"*":{"id":"60440","name":"*","chunks":[],"async":false}},"64777":{"*":{"id":"82265","name":"*","chunks":[],"async":false}},"74581":{"*":{"id":"61335","name":"*","chunks":[],"async":false}},"78616":{"*":{"id":"84342","name":"*","chunks":[],"async":false}},"86869":{"*":{"id":"74661","name":"*","chunks":[],"async":false}},"90484":{"*":{"id":"70664","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/home/runner/work/annodex/annodex/node_modules/next/dist/client/components/builtin/global-error.js":{"id":27123,"name":"*","chunks":[],"async":false},"/home/runner/work/annodex/annodex/node_modules/next/dist/esm/client/components/builtin/global-error.js":{"id":27123,"name":"*","chunks":[],"async":false},"/home/runner/work/annodex/annodex/node_modules/next/dist/client/components/client-page.js":{"id":61304,"name":"*","chunks":[],"async":false},"/home/runner/work/annodex/annodex/node_modules/next/dist/esm/client/components/client-page.js":{"id":61304,"name":"*","chunks":[],"async":false},"/home/runner/work/annodex/annodex/node_modules/next/dist/client/components/client-segment.js":{"id":78616,"name":"*","chunks":[],"async":false},"/home/runner/work/annodex/annodex/node_modules/next/dist/esm/client/components/client-segment.js":{"id":78616,"name":"*","chunks":[],"async":false},"/home/runner/work/annodex/annodex/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":64777,"name":"*","chunks":[],"async":false},"/home/runner/work/annodex/annodex/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":64777,"name":"*","chunks":[],"async":false},"/home/runner/work/annodex/annodex/node_modules/next/dist/client/components/layout-router.js":{"id":57121,"name":"*","chunks":[],"async":false},"/home/runner/work/annodex/annodex/node_modules/next/dist/esm/client/components/layout-router.js":{"id":57121,"name":"*","chunks":[],"async":false},"/home/runner/work/annodex/annodex/node_modules/next/dist/client/components/render-from-template-context.js":{"id":74581,"name":"*","chunks":[],"async":false},"/home/runner/work/annodex/annodex/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":74581,"name":"*","chunks":[],"async":false},"/home/runner/work/annodex/annodex/node_modules/next/dist/lib/framework/boundary-components.js":{"id":90484,"name":"*","chunks":[],"async":false},"/home/runner/work/annodex/annodex/node_modules/next/dist/esm/lib/framework/boundary-components.js":{"id":90484,"name":"*","chunks":[],"async":false},"/home/runner/work/annodex/annodex/node_modules/next/dist/lib/metadata/generate/icon-mark.js":{"id":86869,"name":"*","chunks":[],"async":false},"/home/runner/work/annodex/annodex/node_modules/next/dist/esm/lib/metadata/generate/icon-mark.js":{"id":86869,"name":"*","chunks":[],"async":false},"/home/runner/work/annodex/annodex/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"Noto_Sans_Mono\",\"arguments\":[{\"subsets\":[\"latin\",\"cyrillic\"],\"variable\":\"--font-noto-mono\",\"display\":\"swap\"}],\"variableName\":\"notoSansMono\"}":{"id":83683,"name":"*","chunks":["7177","static/chunks/app/layout-be148b7ae915b22a.js"],"async":false},"/home/runner/work/annodex/annodex/app/globals.css":{"id":66872,"name":"*","chunks":["7177","static/chunks/app/layout-be148b7ae915b22a.js"],"async":false},"/home/runner/work/annodex/annodex/app/login/page.tsx":{"id":42309,"name":"*","chunks":[],"async":false},"/home/runner/work/annodex/annodex/components/AppShell.tsx":{"id":60604,"name":"*","chunks":["6079","static/chunks/363642f4-043c1475ab9af70e.js","8771","static/chunks/8771-3e14b6810486df1f.js","8974","static/chunks/app/page-
|
|
1
|
+
globalThis.__RSC_MANIFEST=(globalThis.__RSC_MANIFEST||{});globalThis.__RSC_MANIFEST["/page"]={"moduleLoading":{"prefix":"/_next/"},"ssrModuleMapping":{"27123":{"*":{"id":"81921","name":"*","chunks":[],"async":false}},"42309":{"*":{"id":"28447","name":"*","chunks":[],"async":false}},"57121":{"*":{"id":"35421","name":"*","chunks":[],"async":false}},"60604":{"*":{"id":"41993","name":"*","chunks":[],"async":false}},"61304":{"*":{"id":"60440","name":"*","chunks":[],"async":false}},"64777":{"*":{"id":"82265","name":"*","chunks":[],"async":false}},"74581":{"*":{"id":"61335","name":"*","chunks":[],"async":false}},"78616":{"*":{"id":"84342","name":"*","chunks":[],"async":false}},"86869":{"*":{"id":"74661","name":"*","chunks":[],"async":false}},"90484":{"*":{"id":"70664","name":"*","chunks":[],"async":false}}},"edgeSSRModuleMapping":{},"clientModules":{"/home/runner/work/annodex/annodex/node_modules/next/dist/client/components/builtin/global-error.js":{"id":27123,"name":"*","chunks":[],"async":false},"/home/runner/work/annodex/annodex/node_modules/next/dist/esm/client/components/builtin/global-error.js":{"id":27123,"name":"*","chunks":[],"async":false},"/home/runner/work/annodex/annodex/node_modules/next/dist/client/components/client-page.js":{"id":61304,"name":"*","chunks":[],"async":false},"/home/runner/work/annodex/annodex/node_modules/next/dist/esm/client/components/client-page.js":{"id":61304,"name":"*","chunks":[],"async":false},"/home/runner/work/annodex/annodex/node_modules/next/dist/client/components/client-segment.js":{"id":78616,"name":"*","chunks":[],"async":false},"/home/runner/work/annodex/annodex/node_modules/next/dist/esm/client/components/client-segment.js":{"id":78616,"name":"*","chunks":[],"async":false},"/home/runner/work/annodex/annodex/node_modules/next/dist/client/components/http-access-fallback/error-boundary.js":{"id":64777,"name":"*","chunks":[],"async":false},"/home/runner/work/annodex/annodex/node_modules/next/dist/esm/client/components/http-access-fallback/error-boundary.js":{"id":64777,"name":"*","chunks":[],"async":false},"/home/runner/work/annodex/annodex/node_modules/next/dist/client/components/layout-router.js":{"id":57121,"name":"*","chunks":[],"async":false},"/home/runner/work/annodex/annodex/node_modules/next/dist/esm/client/components/layout-router.js":{"id":57121,"name":"*","chunks":[],"async":false},"/home/runner/work/annodex/annodex/node_modules/next/dist/client/components/render-from-template-context.js":{"id":74581,"name":"*","chunks":[],"async":false},"/home/runner/work/annodex/annodex/node_modules/next/dist/esm/client/components/render-from-template-context.js":{"id":74581,"name":"*","chunks":[],"async":false},"/home/runner/work/annodex/annodex/node_modules/next/dist/lib/framework/boundary-components.js":{"id":90484,"name":"*","chunks":[],"async":false},"/home/runner/work/annodex/annodex/node_modules/next/dist/esm/lib/framework/boundary-components.js":{"id":90484,"name":"*","chunks":[],"async":false},"/home/runner/work/annodex/annodex/node_modules/next/dist/lib/metadata/generate/icon-mark.js":{"id":86869,"name":"*","chunks":[],"async":false},"/home/runner/work/annodex/annodex/node_modules/next/dist/esm/lib/metadata/generate/icon-mark.js":{"id":86869,"name":"*","chunks":[],"async":false},"/home/runner/work/annodex/annodex/node_modules/next/font/google/target.css?{\"path\":\"app/layout.tsx\",\"import\":\"Noto_Sans_Mono\",\"arguments\":[{\"subsets\":[\"latin\",\"cyrillic\"],\"variable\":\"--font-noto-mono\",\"display\":\"swap\"}],\"variableName\":\"notoSansMono\"}":{"id":83683,"name":"*","chunks":["7177","static/chunks/app/layout-be148b7ae915b22a.js"],"async":false},"/home/runner/work/annodex/annodex/app/globals.css":{"id":66872,"name":"*","chunks":["7177","static/chunks/app/layout-be148b7ae915b22a.js"],"async":false},"/home/runner/work/annodex/annodex/app/login/page.tsx":{"id":42309,"name":"*","chunks":[],"async":false},"/home/runner/work/annodex/annodex/components/AppShell.tsx":{"id":60604,"name":"*","chunks":["6079","static/chunks/363642f4-043c1475ab9af70e.js","8771","static/chunks/8771-3e14b6810486df1f.js","8974","static/chunks/app/page-0cd6a2a3db4c55f7.js"],"async":false}},"entryCSSFiles":{"/home/runner/work/annodex/annodex/":[],"/home/runner/work/annodex/annodex/app/layout":[{"inlined":false,"path":"static/css/45029451a1d7255d.css"}],"/home/runner/work/annodex/annodex/app/page":[]},"rscModuleMapping":{"27123":{"*":{"id":"95547","name":"*","chunks":[],"async":false}},"42309":{"*":{"id":"69613","name":"*","chunks":[],"async":false}},"57121":{"*":{"id":"98099","name":"*","chunks":[],"async":false}},"60604":{"*":{"id":"35790","name":"*","chunks":[],"async":false}},"61304":{"*":{"id":"15098","name":"*","chunks":[],"async":false}},"64777":{"*":{"id":"33859","name":"*","chunks":[],"async":false}},"66872":{"*":{"id":"82704","name":"*","chunks":[],"async":false}},"74581":{"*":{"id":"16237","name":"*","chunks":[],"async":false}},"78616":{"*":{"id":"47644","name":"*","chunks":[],"async":false}},"86869":{"*":{"id":"36675","name":"*","chunks":[],"async":false}},"90484":{"*":{"id":"98562","name":"*","chunks":[],"async":false}}},"edgeRscModuleMapping":{}};
|
|
@@ -17,23 +17,23 @@
|
|
|
17
17
|
"/api/sessions/route": "app/api/sessions/route.js",
|
|
18
18
|
"/api/soul/route": "app/api/soul/route.js",
|
|
19
19
|
"/api/agent/[id]/events/route": "app/api/agent/[id]/events/route.js",
|
|
20
|
-
"/api/auth/api-key/[provider]/route": "app/api/auth/api-key/[provider]/route.js",
|
|
21
20
|
"/api/auth/login/[provider]/route": "app/api/auth/login/[provider]/route.js",
|
|
22
21
|
"/api/auth/logout/[provider]/route": "app/api/auth/logout/[provider]/route.js",
|
|
22
|
+
"/api/auth/api-key/[provider]/route": "app/api/auth/api-key/[provider]/route.js",
|
|
23
23
|
"/api/auth/all-providers/route": "app/api/auth/all-providers/route.js",
|
|
24
24
|
"/api/auth/providers/route": "app/api/auth/providers/route.js",
|
|
25
|
-
"/api/models-config/discover/route": "app/api/models-config/discover/route.js",
|
|
26
25
|
"/api/internal/runtime/route": "app/api/internal/runtime/route.js",
|
|
26
|
+
"/api/models-config/discover/route": "app/api/models-config/discover/route.js",
|
|
27
27
|
"/api/models-config/route": "app/api/models-config/route.js",
|
|
28
|
-
"/api/models/route": "app/api/models/route.js",
|
|
29
28
|
"/api/models-config/test/route": "app/api/models-config/test/route.js",
|
|
30
29
|
"/api/reports/[id]/route": "app/api/reports/[id]/route.js",
|
|
31
|
-
"/api/
|
|
30
|
+
"/api/models/route": "app/api/models/route.js",
|
|
32
31
|
"/api/settings/route": "app/api/settings/route.js",
|
|
32
|
+
"/api/sessions/[id]/route": "app/api/sessions/[id]/route.js",
|
|
33
|
+
"/api/skills/install/route": "app/api/skills/install/route.js",
|
|
33
34
|
"/api/version/route": "app/api/version/route.js",
|
|
34
|
-
"/api/skills/route": "app/api/skills/route.js",
|
|
35
35
|
"/api/skills/search/route": "app/api/skills/search/route.js",
|
|
36
|
-
"/api/skills/
|
|
36
|
+
"/api/skills/route": "app/api/skills/route.js",
|
|
37
37
|
"/login/page": "app/login/page.js",
|
|
38
38
|
"/page": "app/page.js"
|
|
39
39
|
}
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
"use strict";exports.id=402,exports.ids=[402],exports.modules={26257:(a,b,c)=>{c.d(b,{s:()=>n,yJ:()=>m,zZ:()=>l});var d=c(29021),e=c(33873),f=c(21820);function g(){return(0,e.join)(process.env.ANNODEX_CONFIG_DIR??process.env.ANNOVIBE_CONFIG_DIR??(0,e.join)((0,f.homedir)(),".config","annodex"),"session-runtime.json")}function h(){return{version:1,sessions:{}}}function i(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}function j(){let a=g();if(!(0,d.existsSync)(a))return h();try{let b=JSON.parse((0,d.readFileSync)(a,"utf-8"));if(!i(b)||!i(b.sessions))return h();let c={};for(let[a,d]of Object.entries(b.sessions)){let b=function(a){if(!i(a)||"string"!=typeof a.sessionId)return null;let b=a.sessionId.trim();return b?{sessionId:b,cwd:"string"==typeof a.cwd&&a.cwd.trim()?a.cwd:void 0,provider:"string"==typeof a.provider&&a.provider.trim()?a.provider:void 0,modelId:"string"==typeof a.modelId&&a.modelId.trim()?a.modelId:void 0,thinkingLevel:"string"==typeof a.thinkingLevel&&a.thinkingLevel.trim()?a.thinkingLevel:void 0,updatedAt:"string"==typeof a.updatedAt?a.updatedAt:new Date(0).toISOString()}:null}(d);b&&b.sessionId===a&&(c[a]=b)}return{version:1,sessions:c}}catch{return h()}}function k(a){let b=g(),c=(0,e.dirname)(b);(0,d.existsSync)(c)||(0,d.mkdirSync)(c,{recursive:!0}),(0,d.writeFileSync)(b,JSON.stringify(a,null,2),"utf-8")}function l(a){return a?j().sessions[a]??null:null}function m(a,b){let c=j(),d={...c.sessions[a]??{sessionId:a,updatedAt:new Date(0).toISOString()},sessionId:a,updatedAt:new Date().toISOString()};return void 0!==b.cwd&&(d.cwd=b.cwd),void 0!==b.provider&&(d.provider=b.provider),void 0!==b.modelId&&(d.modelId=b.modelId),void 0!==b.thinkingLevel&&(d.thinkingLevel=b.thinkingLevel),c.sessions[a]=d,k(c),d}function n(a){let b=j();b.sessions[a]&&(delete b.sessions[a],k(b))}},39006:a=>{a.exports={rE:"0.1.15"}},40402:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{$M:()=>n,BR:()=>q,PF:()=>t,Qx:()=>s,T0:()=>L,aU:()=>M,bd:()=>O,dQ:()=>u,os:()=>r,r1:()=>K});var e=c(33873),f=c(29021),g=c(46983),h=c(89035),i=c(26257),j=c(65369),k=c(72801),l=c(55132),m=a([g]);function n(){let a=process.env.HOME??process.env.USERPROFILE??"/tmp";return(0,e.join)(a,".config","annodex")}function o(){return globalThis.__annodexSessionPathCache||(globalThis.__annodexSessionPathCache=new Map),globalThis.__annodexSessionPathCache}function p(a,b){o().set(a,b)}function q(a){o().delete(a)}async function r(a){let b=o().get(a);return b||(K(a)?.cwd??null)}function s(a){let b=(0,i.zZ)(a),c=P(a),d={provider:b?.provider??c?.provider,modelId:b?.modelId??c?.modelId,thinkingLevel:b?.thinkingLevel??c?.thinkingLevel};return d.provider||d.modelId||d.thinkingLevel?d:null}function t(a){return!!O(a)}async function u(a={}){return function(a={}){var b;let c,d,g=[],h=new Set,i=a.cwd?.trim()?w(a.cwd):void 0,j=v();if(!(0,f.existsSync)(j))return g;let k=function(){let a=E();if(!(0,f.existsSync)(a))return{version:1,records:{}};try{let b=JSON.parse((0,f.readFileSync)(a,"utf-8"));return{version:1,records:b.records&&"object"==typeof b.records?b.records:{}}}catch{return{version:1,records:{}}}}(),l={};for(let a of x(j)){let b=D(a);if(!b)continue;let c=k.records[a],d=c&&c.size===b.size&&c.mtimeMs===b.mtimeMs?c:null;if(!d){let c=H(a);if(!c)continue;d=J(a,c,b)}if(!d)continue;l[a]=d;let e={...d.summary,modified:new Date(d.mtimeMs).toISOString(),cwdExists:(0,f.existsSync)(d.summary.cwd)};p(e.id,e.cwd),(!i||w(e.cwd)===i)&&(!e||h.has(e.id)||(h.add(e.id),g.push(e)))}return b={version:1,records:l},c=E(),d=(0,e.dirname)(c),(0,f.existsSync)(d)||(0,f.mkdirSync)(d,{recursive:!0}),(0,f.writeFileSync)(c,JSON.stringify(b,null,2),"utf-8"),g.sort((a,b)=>b.modified.localeCompare(a.modified))}(a)}function v(){return(0,e.join)((0,h.R)(),"sessions")}function w(a){let b=a.trim();return b.replace(/[\\/]+$/,"")||b}function x(a,b=[]){try{for(let c of(0,f.readdirSync)(a,{withFileTypes:!0})){let d=(0,e.join)(a,c.name);c.isDirectory()?x(d,b):c.isFile()&&c.name.endsWith(".jsonl")&&b.push(d)}}catch{}return b}function y(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}function z(a){try{let b=JSON.parse(a);return y(b)?b:null}catch{return null}}function A(a){return y(a.payload)?a.payload:null}function B(a,b){let c=a[b];return"string"==typeof c&&c.trim()?c:void 0}function C(a,b=!1){if(a)try{return(0,l.wB)((0,l.Dw)(),a,{preferCodex:b})}catch{return a}}function D(a){try{let b=(0,f.statSync)(a);return{size:Number(b.size),mtimeMs:Number(b.mtimeMs),modified:b.mtime.toISOString()}}catch{return null}}function E(){return(0,e.join)(n(),"session-history-cache.json")}function F(a,b=65536){let c=null;try{c=(0,f.openSync)(a,"r");let d=Buffer.alloc(b),e=(0,f.readSync)(c,d,0,b,0);return d.subarray(0,e).toString("utf-8")}catch{return""}finally{if(null!==c)try{(0,f.closeSync)(c)}catch{}}}function G(a){try{return JSON.parse(`"${a}"`)}catch{return a}}function H(a){let b=F(a);if(!/"type"\s*:\s*"session_meta"/.test(b))return null;let c=b.split(/\r?\n/,1)[0]??"",d=z(c),e=(d?A(d):null)??d;if(e){let a=B(e,"id"),b=B(e,"cwd");if(a&&b){let c=y(e.source)&&y(e.source.subagent)&&y(e.source.subagent.thread_spawn)?B(e.source.subagent.thread_spawn,"parent_thread_id"):void 0;return{id:a,cwd:w(b),created:B(e,"timestamp")??B(d??{},"timestamp")??new Date(0).toISOString(),modelProvider:C(B(e,"model_provider"),!0),parentSessionId:B(e,"forked_from_id")??c}}}let f=/"id"\s*:\s*"((?:\\.|[^"\\])*)"/.exec(b),g=/"cwd"\s*:\s*"((?:\\.|[^"\\])*)"/.exec(b),h=/"timestamp"\s*:\s*"((?:\\.|[^"\\])*)"/.exec(b),i=/"model_provider"\s*:\s*"((?:\\.|[^"\\])*)"/.exec(b),j=/"forked_from_id"\s*:\s*"((?:\\.|[^"\\])*)"/.exec(b),k=f?G(f[1]):null,l=g?w(G(g[1])):null;if(!k||!l)return null;let m=h?G(h[1]):new Date(0).toISOString();return{id:k,cwd:l,created:m,modelProvider:C(i?G(i[1]):void 0,!0),parentSessionId:j?G(j[1]):void 0}}function I(a,b){return a||function(a){let b=a.trim();if(!b||b.includes("AGENTS.md instructions"))return"";let c=b.lastIndexOf("<environment_context>"),d=(c>=0?b.slice(c).replace(/^<environment_context>[\s\S]*?<\/environment_context>\s*/m,"").trim():b).replace(/\s+/g," ").trim();return d.length>180?`${d.slice(0,180)}...`:d}(b)||a}function J(a,b,c){let d,e,g=F(a,2097152);if(!g)return null;let h=g.split("\n").filter(a=>a.trim()),j="",k=0,l=0;for(let a of h){let b=z(a);if(!b)continue;let c=A(b)??b;if("event_msg"===b.type){let a=c.type;("user_message"===a||"agent_message"===a)&&k++,"user_message"===a&&"string"==typeof c.message&&(j=I(j,c.message));continue}if("response_item"===b.type&&"message"===c.type){var m;let a=c.role;("user"===a||"assistant"===a)&&l++,"user"===a&&(j=I(j,(m=c.content,"string"==typeof m?m:Array.isArray(m)?m.map(a=>y(a)?"string"==typeof a.text?a.text:"string"==typeof a.content?a.content:"":"").filter(Boolean).join("\n"):"")));continue}"turn_context"===b.type&&(d=B(c,"model")??d,e=B(c,"effort")??e)}p(b.id,b.cwd);let n={id:b.id,path:a,cwd:b.cwd,cwdExists:(0,f.existsSync)(b.cwd),created:b.created,modified:c.modified,messageCount:k||l||+!!j,firstMessage:j||"(no messages)",parentSessionId:b.parentSessionId},o={provider:b.modelProvider,modelId:d,thinkingLevel:e},q=(0,i.zZ)(b.id),r={cwd:b.cwd,provider:q?.provider??o.provider,modelId:q?.modelId??o.modelId,thinkingLevel:q?.thinkingLevel??o.thinkingLevel};return(r.provider||r.modelId||r.thinkingLevel)&&(0,i.yJ)(b.id,{cwd:r.cwd,provider:r.provider,modelId:r.modelId,thinkingLevel:r.thinkingLevel}),{filePath:a,size:c.size,mtimeMs:c.mtimeMs,summary:n,model:o}}function K(a){let b=v();if(!a||!(0,f.existsSync)(b))return null;let c=x(b);for(let b of[...c.filter(b=>b.includes(a)),...c.filter(b=>!b.includes(a))]){let c=D(b);if(!c)continue;let d=H(b);if(d?.id!==a)continue;let e=J(b,d,c);if(!e)break;return{...e.summary,modified:new Date(e.mtimeMs).toISOString(),cwdExists:(0,f.existsSync)(e.summary.cwd)}}return null}async function L(a,b,c){var d,e;let h,m,n=(0,g.DY)(b);m=n||await (0,g.gu)(b,(0,g.H3)((0,l.Dw)().providers));let o=null;try{o=await (0,g.nj)(m,a)}finally{n||(0,g.sM)(m)}if(!o)return{context:{messages:[],entryIds:[],thinkingLevel:"off",model:null,subagentRuns:[],sessionStats:null,contextUsage:null},tree:[],leafId:null,thread:null};p(o.id,o.cwd||b),(o.model||o.modelProvider)&&(0,i.yJ)(o.id,{cwd:o.cwd||b,provider:(0,g.g8)(o.modelProvider),modelId:o.model});let q=P(o.id),r=(0,i.zZ)(o.id),s=r?.provider??q?.provider,t=r?.modelId??q?.modelId,u=r?.thinkingLevel??q?.thinkingLevel,v=(0,g.g8)(o.modelProvider),w=o.model?{provider:s??v??"codex",modelId:t??o.model}:t?{provider:s??"codex",modelId:t}:null,x=N(o,w),y=c?(d=x,e=c,(h=d.findIndex(a=>a.id===e))>=0?d.slice(0,h+1):d):x,B=(0,k.l)(O(o.id),t??o.model),C=new Map;for(let a of y)a.turnId&&"assistant"===a.message.role&&a.message.content.some(a=>"text"===a.type&&a.text.trim())&&C.set(a.turnId,a.id);let D=[],E=[];for(let a of y){let b=a.message;if(a.turnId&&"assistant"===b.role&&C.get(a.turnId)===a.id){let c=B.messageUsageByTurnId.get(a.turnId);D.push(c?{...b,usage:c}:b)}else D.push(b);E.push(a.id)}let F=y[y.length-1]?.id??x[x.length-1]?.id??null,G=o.model?{provider:s??v??"codex",modelId:t??o.model}:t?{provider:s??"codex",modelId:t}:null;return{context:{messages:D,entryIds:E,thinkingLevel:u??"off",model:G,subagentRuns:(0,j.oO)(function(a){if(!a)return[];let b=[];for(let c of a.turns??[])for(let d of c.items)"collabAgentToolCall"===d.type&&b.push(...(0,j.k8)(d,a.updatedAt?1e3*a.updatedAt:void 0));return b}(o),function(a){let b=O(a);if(!b)return[];let c="";try{c=(0,f.readFileSync)(b,"utf-8")}catch{return[]}if(!c)return[];let d=[];for(let a of c.split("\n")){if(!a.trim()||!a.includes("collab_"))continue;let b=z(a);if(!b||"event_msg"!==b.type)continue;let c=A(b);c&&d.push(...(0,j.nG)(c,function(a){if("string"!=typeof a||!a)return;let b=Date.parse(a);return Number.isFinite(b)?b:void 0}(b.timestamp)))}return d}(a)),sessionStats:B.sessionStats,contextUsage:B.contextUsage},tree:function(a){let b=new Map,c=new Map,d=0;for(let e of a)b.set(e.id,e),e.parentId?c.set(e.parentId,(c.get(e.parentId)??0)+1):d++;let e=d>1;if(!e){for(let a of c.values())if(a>1){e=!0;break}}if(!e)return[];let f=new Set;for(let b of a){let a=c.get(b.id)??0,e=b.parentId?c.get(b.parentId)??0:d;(!b.parentId||0===a||a>1||e>1)&&f.add(b.id)}let g=new Map,h=[];for(let b of a)f.has(b.id)&&g.set(b.id,{entry:b,children:[]});for(let c of a){if(!f.has(c.id))continue;let a=g.get(c.id);if(!a)continue;let d=c.parentId;for(;d&&!f.has(d);)d=b.get(d)?.parentId??null;d&&g.has(d)?g.get(d).children.push(a):h.push(a)}return h}(x),leafId:F,thread:o}}async function M(a,b){let c=await L(a,b),d=(0,i.zZ)(a),e=P(a),f=d?.provider??e?.provider,h=d?.modelId??e?.modelId,j=(0,g.g8)(c.thread?.modelProvider),k=c.thread?.model?{provider:f??j??"codex",modelId:h??c.thread.model}:h?{provider:f??"codex",modelId:h}:null;return N(c.thread,k)}function N(a,b){if(!a)return[];let c=[],d=null;for(let f of a.turns??[]){var e;let g=(e=a.updatedAt,"number"==typeof e&&Number.isFinite(e)?new Date(1e3*e).toISOString():"string"==typeof e&&e?e:new Date(0).toISOString());for(let e of f.items){let h=function(a,b,c){if("userMessage"===a.type)return{role:"user",content:function(a){let b=[];for(let c of a)"text"===c.type?b.push({type:"text",text:c.text}):"image"===c.type?b.push({type:"text",text:`[image] ${c.url.slice(0,120)}`}):"localImage"===c.type?b.push({type:"text",text:`[image] ${c.path}`}):"mention"===c.type?b.push({type:"text",text:`@${c.path}`}):"skill"===c.type&&b.push({type:"text",text:`$${c.name}`});return 0===b.length?"":1===b.length?b[0].text:b}(a.content??[])};if("agentMessage"===a.type)return{role:"assistant",content:[{type:"text",text:a.text??""}],model:b.model??c?.modelId??"",provider:b.modelProvider??c?.provider??""};if("reasoning"===a.type){let d=[...a.summary??[],...a.content??[]].join("\n").trim();return d?{role:"assistant",content:[{type:"thinking",thinking:d}],model:b.model??c?.modelId??"",provider:b.modelProvider??c?.provider??""}:null}if("commandExecution"===a.type){let b=[a.aggregatedOutput??"",null!==a.exitCode&&void 0!==a.exitCode?`Exit code: ${a.exitCode}`:""].filter(Boolean).join("\n");return Q(a.id,"bash",b,"failed"===a.status||"declined"===a.status)}if("fileChange"===a.type)return Q(a.id,"edit",JSON.stringify(a.changes??[]),"failed"===a.status||"declined"===a.status);if("mcpToolCall"===a.type)return Q(a.id,a.tool||a.server||"mcp",JSON.stringify(a.result??a.error??""),!!a.error);if("dynamicToolCall"===a.type)return Q(a.id,a.tool||"tool",JSON.stringify(a.contentItems??[]),!1===a.success);if("collabAgentToolCall"===a.type){let c=(0,j.k8)(a,b.updatedAt?1e3*b.updatedAt:void 0);return{role:"custom",customType:"subagent-progress",content:"Agent progress updated",display:!1,details:{runs:c},timestamp:b.updatedAt?1e3*b.updatedAt:void 0}}return null}(e,a,b);if(!h)continue;let i={type:"message",id:e.id,parentId:d,timestamp:g,message:h,turnId:f.id};c.push(i),d=e.id}}return c}function O(a){let b=v();if(!a||!(0,f.existsSync)(b))return null;let c=x(b);return c.find(b=>b.includes(a))??c.find(b=>{let c=H(b);return c?.id===a})??null}function P(a){let b,c,d,e=O(a);if(!e)return null;let f="";try{f=F(e,2097152)}catch{return null}for(let a of f.split("\n")){if(!a.trim())continue;let e=z(a);if(!e)continue;let f=A(e)??e;if("session_meta"===e.type){b=C(B(f,"model_provider"),!0)??b;continue}"turn_context"===e.type&&(c=B(f,"model")??c,d=B(f,"effort")??d)}return b||c||d?{provider:b,modelId:c,thinkingLevel:d}:null}function Q(a,b,c,d){return{role:"toolResult",toolCallId:a,toolName:b,content:[{type:"text",text:c}],isError:d}}g=(m.then?(await m)():m)[0],d()}catch(a){d(a)}})},46983:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{DY:()=>F,H3:()=>w,g8:()=>u,gu:()=>C,kW:()=>v,nj:()=>E,nt:()=>q,pU:()=>p,sM:()=>D});var e=c(79646),f=c(55511),g=c(56220),h=c(29021),i=c(33873),j=c(91645),k=c(55399),l=c(65833),m=c(99526),n=c(39006),o=a([g]);function p(a){let b="string"==typeof a?.status?a.status.toLowerCase():"";return"inprogress"===b||"in_progress"===b||"running"===b||"pending"===b||"queued"===b}function q(a){return!!a?.turns?.some(a=>p(a))}g=(o.then?(await o)():o)[0];class G{constructor(a,b,c){this.cwd=a,this.url=b,this.serverKey=c,this.ws=null,this.pending=new Map,this.nextId=1,this.notificationHandlers=new Map,this.reconnectAttempts=0,this.maxReconnectAttempts=5,this.reconnectDelay=1e3,this._closed=!1}isConnected(){return this.ws?.readyState===g.WebSocket.OPEN}isClosed(){return this._closed}async connect(){let{default:a}=await Promise.resolve().then(c.bind(c,56220)),b=this.url;return this._closed=!1,new Promise((c,d)=>{let e=new a(b);this.ws=e,e.on("open",()=>{this.reconnectAttempts=0,this.initialize().then(c).catch(d)}),e.on("message",a=>{try{let b=JSON.parse(a.toString());this.handleMessage(b)}catch{}}),e.on("close",()=>{this.handleDisconnect()}),e.on("error",a=>{0===this.reconnectAttempts&&d(a)})})}async initialize(){let a=await this.request("initialize",{clientInfo:{name:"annodex",title:l.C3,version:n.rE},capabilities:{experimentalApi:!0}});this.serverInfo=a}request(a,b,c=3e5){if(!this.ws||this.ws.readyState!==g.WebSocket.OPEN)return Promise.reject(Error(`Codex server not connected (method: ${a})`));let d=this.nextId++;return new Promise((e,f)=>{let g=setTimeout(()=>{this.pending.delete(d),f(Error(`Request timeout: ${a}`))},c);this.pending.set(d,{resolve:e,reject:f,timer:g}),this.ws.send(JSON.stringify({jsonrpc:"2.0",id:d,method:a,params:b}))})}onNotification(a,b){let c=this.notificationHandlers.get(a)??[];return c.push(b),this.notificationHandlers.set(a,c),()=>{let c=this.notificationHandlers.get(a);if(c){let a=c.indexOf(b);-1!==a&&c.splice(a,1)}}}handleMessage(a){if("method"in a&&"id"in a)return void this.respondToServerRequest(a);if("method"in a&&!("id"in a)){let b=this.notificationHandlers.get(a.method);if(b)for(let c of[...b])c(a.params);return}if("id"in a&&("result"in a||"error"in a)){let b=this.pending.get(a.id);b&&(clearTimeout(b.timer),this.pending.delete(a.id),"error"in a&&a.error?b.reject(Error(a.error.message??"JSON-RPC error")):b.resolve(a.result))}}respondToServerRequest(a){if(!this.ws||this.ws.readyState!==g.WebSocket.OPEN)return;let b=function(a){switch(a){case"item/commandExecution/requestApproval":case"item/fileChange/requestApproval":return{decision:"decline"};case"applyPatchApproval":case"execCommandApproval":return{decision:"denied"};case"item/tool/requestUserInput":return{answers:{}};case"mcpServer/elicitation/request":return{action:"decline",content:null,_meta:null};case"item/permissions/requestApproval":return{permissions:{},scope:"turn"};case"item/tool/call":return{contentItems:[],success:!1};case"account/chatgptAuthTokens/refresh":return{accessToken:"",chatgptAccountId:"",chatgptPlanType:null};default:return{}}}(a.method),c={jsonrpc:"2.0",id:a.id,result:b};this.ws.send(JSON.stringify(c))}handleDisconnect(){for(let[,a]of this.pending)clearTimeout(a.timer),a.reject(Error("Codex server disconnected"));if(this.pending.clear(),!this._closed&&this.reconnectAttempts<this.maxReconnectAttempts){this.reconnectAttempts++;let a=this.reconnectDelay*Math.pow(2,this.reconnectAttempts-1);setTimeout(()=>{this._closed||this.connect().catch(()=>{})},a)}}close(){this._closed=!0,this.ws?.close(),this.ws=null}}function r(a){if(a.connection?.close(),a.process?.pid)try{"win32"!==process.platform?process.kill(-a.process.pid,"SIGTERM"):a.process.kill("SIGTERM")}catch{try{a.process.kill("SIGTERM")}catch{}}for(let b of a.compatProxies)b.stop().catch(()=>{})}function s(){if(!globalThis.__codexServers){globalThis.__codexServers=new Map;let a=()=>{globalThis.__codexServers?.forEach(a=>{r(a)})};process.once("exit",a),process.once("SIGINT",a),process.once("SIGTERM",a)}return globalThis.__codexServers}function t(a,b,c){if(!c)return a;let d="openai-completions"===c?"chat":"openai-responses"===c?"responses":"";if(!d)return a;let e=(0,f.createHash)("sha256").update(`${a}\0${b}\0${c}`).digest("hex").slice(0,10);return`${a}#${d}-${e}`}function u(a){if(a)return a.replace(/#(?:chat|responses)-[a-f0-9]{10}$/i,"")}function v(a,b,c){let d=a.find(a=>a.id===b),e=d?.models.find(a=>a.id===c),f=d?(0,m.pp)(d.api,d.baseUrl,d.id):void 0,g=e?.api;return{provider:g&&g!==f?t(b,c,g):b,modelId:c}}function w(a){let b=[],c=new Set,d=a=>{c.has(a.configKey)||(c.add(a.configKey),b.push(a))};for(let b of a){let a=b.baseUrl.trim().replace(/\/+$/,"");if(!a)continue;let c=(0,m.pp)(b.api,a,b.id),e={name:b.name,apiKey:b.apiKey||void 0,baseUrl:a,requiresOpenAiAuth:b.requiresOpenAiAuth};for(let a of(d({id:b.id,configKey:b.id,...e,api:b.api,reasoningConfig:b.reasoningConfig}),b.models)){if(!a.api||a.api===c)continue;let f=t(b.id,a.id,a.api);d({id:f,configKey:f,...e,name:`${b.name} (${"openai-completions"===a.api?"Chat":"Responses"})`,api:a.api,reasoningConfig:a.reasoningConfig??b.reasoningConfig})}}return{workspace:!0,contextWindow:function(a){let b=0;for(let c of a)for(let a of c.models)"number"==typeof a.contextWindow&&a.contextWindow>b&&(b=a.contextWindow);return b>0?b:void 0}(a),providers:b}}function x(a){let b=a?.trim();if(b){if(b.startsWith("!"))try{return(0,e.execSync)(b.slice(1),{encoding:"utf8",stdio:["ignore","pipe","ignore"],timeout:1e4}).trim()||void 0}catch{return}return/^[A-Za-z_][A-Za-z0-9_]*$/.test(b)&&process.env[b]?process.env[b]:b}}function y(a){return JSON.stringify(a)}function z(a){return/^[A-Za-z0-9_-]+$/.test(a)?a:y(a)}function A(a,b){if(b)return"responses";let c=(0,m.pp)(a);return"openai-responses"===c?"responses":"openai-completions"===c?"chat":null}async function B(a,b,c,d){let e,g=a.baseUrl?.trim().replace(/\/+$/,"")||"",h=x(a.apiKey),i=(0,m.pp)(a.api,g,a.id),j="openai-completions"===i,l=!1;if(j&&g&&h&&(0,k.s3)(g)){let b=(0,k.xh)(g),e=new k.F6({targetUrl:b,apiKey:h,defaultThinking:d??"disabled",reasoningConfig:a.reasoningConfig});try{await e.start(),c.push(e),g=e.getBaseUrl(),l=!0,console.log(`[codex-server] Compat proxy started on port ${e.getPort()} for ${b}`)}catch(a){console.error("[codex-server] Failed to start compat proxy:",a)}}if(h){var n;let c;n=a.id,c=(0,f.createHash)("sha256").update(n).digest("hex").slice(0,16).toUpperCase(),b[e=`ANNODEX_PROVIDER_${c}_API_KEY`]=h}return{id:a.id,name:a.name,baseUrl:g,wireApi:A(i,l),envKey:e,requiresOpenAiAuth:a.requiresOpenAiAuth??!!h}}async function C(a,b){let c=s(),d=a.replace(/\/+$/,"")||a,g=function(a,b){let c=a.replace(/\/+$/,"")||a;if(b?.workspace){let a=(0,f.createHash)("sha256").update(JSON.stringify(b.providers??[])).digest("hex").slice(0,16),d=b?.contextWindow?String(b.contextWindow):"default";return`${c}\0workspace\0${d}\0${a}`}let d=b?.providerId||b?.baseUrl||"default",e=b?.baseUrl?.replace(/\/+$/,"")||"default",g=b?.api||"default",h=b?.apiKey||"default",i=b?.contextWindow?String(b.contextWindow):"default",j=b?.reasoningConfig?`${b.reasoningConfig.thinkingParam??""}|${b.reasoningConfig.effortParam??""}|${b.reasoningConfig.effortValueMode??""}`:"default";return`${c}\0${d}\0${e}\0${g}\0${h}\0${i}\0${j}`}(d,b),l=c.get(g);if(l?.connection?.isConnected())return l.refCount++,l.connection;if(l?.startPromise)try{let a=await l.startPromise,b=c.get(g);return b&&b.refCount++,a}catch{}else l&&(r(l),c.delete(g));let n=await new Promise((a,b)=>{let c=(0,j.createServer)();c.unref(),c.on("error",b),c.listen(0,"127.0.0.1",()=>{let d=c.address();c.close(()=>{d&&"object"==typeof d?a(d.port):b(Error("Failed to allocate a local port"))})})}),o=`ws://127.0.0.1:${n}`,p=function(){let a=process.cwd();for(let b of[(0,i.join)(a,"node_modules",".bin","codex"),(0,i.join)(a,"..","..","node_modules",".bin","codex")])if((0,h.existsSync)(b))return b;return"codex"}(),q=(async()=>{let a=[],f=null,h=b?.baseUrl||void 0,i=x(b?.apiKey),j=b?.requiresOpenAiAuth??!!i,l=(0,m.pp)(b?.api,h,b?.providerId),q="openai-completions"===l,r=!1;if(q&&h&&i&&(0,k.s3)(h)){let c=(0,k.xh)(h);f=new k.F6({targetUrl:c,apiKey:i,defaultThinking:b?.thinkingLevel??"disabled",reasoningConfig:b?.reasoningConfig});try{await f.start(),a.push(f),h=f.getBaseUrl(),r=!0,console.log(`[codex-server] Compat proxy started on port ${f.getPort()} for ${c}`)}catch(a){console.error("[codex-server] Failed to start compat proxy:",a),f=null}}let s={...process.env};i&&!b?.workspace&&(s.OPENAI_API_KEY=i),h&&(s.OPENAI_BASE_URL=h);let t=[];if(b?.contextWindow&&b.contextWindow>0&&t.push("-c",`model_context_window=${b.contextWindow}`),b?.workspace){let c=[];for(let d of b.providers??[])d.id&&d.baseUrl&&c.push(await B(d,s,a,b.thinkingLevel));for(let a of c)!function(a,b){if(!b.id||!b.baseUrl)return;let c=z(b.id);a.push("-c",`model_providers.${c}.name=${y(b.name||b.id)}`),a.push("-c",`model_providers.${c}.base_url=${y(b.baseUrl.replace(/\/+$/,""))}`),b.wireApi&&a.push("-c",`model_providers.${c}.wire_api=${y(b.wireApi)}`),a.push("-c",`model_providers.${c}.requires_openai_auth=${b.requiresOpenAiAuth?"true":"false"}`),b.envKey&&a.push("-c",`model_providers.${c}.env_key=${y(b.envKey)}`)}(t,a)}else if(b?.providerId&&h){let a=z(b.providerId),c=A(l,r);t.push("-c",`model_provider=${y(b.providerId)}`),t.push("-c",`model_providers.${a}.name=${y(b.providerId)}`),t.push("-c",`model_providers.${a}.base_url=${y(h.replace(/\/+$/,""))}`),c&&t.push("-c",`model_providers.${a}.wire_api=${y(c)}`),t.push("-c",`model_providers.${a}.requires_openai_auth=${j?"true":"false"}`)}let u=[...t,"app-server","--listen",o],v=null,w=(0,e.spawn)(p,u,{cwd:d,stdio:["ignore","pipe","pipe"],env:s,detached:"win32"!==process.platform}),C=[];w.stderr?.on("data",a=>{C.push(a.toString())}),w.stdout?.on("data",()=>{}),w.on("error",a=>{console.error(`[codex-server] Process error for ${d}:`,a.message)}),w.on("exit",()=>{let b=c.get(g);if(b?.process===w){for(let b of(c.delete(g),a))b.stop().catch(()=>{});v?.close()}}),await new Promise(a=>setTimeout(a,500)),v=new G(d,o,g);for(let b=0;b<10;b++)try{await v.connect();break}catch{if(b<9)await new Promise(a=>setTimeout(a,500));else{try{"win32"!==process.platform?process.kill(-w.pid,"SIGTERM"):w.kill("SIGTERM")}catch{w.kill("SIGTERM")}for(let b of a)await b.stop().catch(()=>{});let b=C.join("");throw Error(`Failed to connect to codex app-server after 10 attempts.
|
|
2
|
-
stderr: ${b.slice(-500)}`)}}let D={process:w,connection:v,compatProxies:a,port:n,cwd:d,workspace:!!b?.workspace,refCount:1,startPromise:null};return c.set(g,D),v})(),t={process:null,connection:null,compatProxies:[],port:n,cwd:d,workspace:!!b?.workspace,refCount:0,startPromise:q};c.set(g,t);try{return await q}catch(a){throw c.delete(g),a}}function D(a){let b=s(),c=b.get(a.serverKey);c&&(c.refCount--,c.refCount<=0&&(r(c),b.delete(a.serverKey)))}async function E(a,b){return(await a.request("thread/read",{threadId:b,includeTurns:!0})).thread??null}function F(a){let b=s(),c=a.replace(/\/+$/,"")||a;for(let a of b.values())if(a.cwd===c&&a.workspace&&a.connection?.isConnected())return a.connection}d()}catch(a){d(a)}})},65369:(a,b,c)=>{function d(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}function e(a){return"string"==typeof a&&a.trim()?a:void 0}function f(a,b=1200){return a.length>b?`${a.slice(0,b)}...`:a}function g(a){if("string"==typeof a)return f(a);if(null!=a)try{return f(JSON.stringify(a))}catch{return f(String(a))}}function h(a){if(d(a)){if("completed"in a)return"completed";if("failed"in a||"error"in a)return"failed";if("paused"in a||"blocked"in a)return"paused";if("not_found"in a)return"not_found";if("running"in a||"in_progress"in a||"pending"in a)return"running"}let b="string"==typeof a?a.toLowerCase().trim():"";return"completed"===b||"complete"===b||"done"===b||"success"===b||"succeeded"===b?"completed":"failed"===b||"failure"===b||"error"===b||"cancelled"===b||"canceled"===b?"failed":"paused"===b||"blocked"===b||"interrupted"===b?"paused":"not_found"===b||"not-found"===b||"missing"===b?"not_found":("pending"===b||"pending_init"===b||"starting"===b||"started"===b,"running")}function i(a){if(d(a))return g(a.completed??a.failed??a.error??a.blocked??a.paused??a.running??a.pending)}function j(a,b){let c=e(a.thread_id)??e(a.threadId)??e(a.id)??b.threadId,d=e(a.agent_nickname)??e(a.agentNickname)??e(a.nickname)??e(a.agent)??b.agent??"agent",f=a.status??a.state??b.status;return{id:e(a.call_id)??e(a.callId)??c??b.id??d,agent:d,status:h(f),role:e(a.agent_role)??e(a.agentRole)??e(a.role)??b.role,task:e(a.prompt)??e(a.task)??b.task,summary:i(f)??e(a.summary)??b.summary,threadId:c,parentThreadId:e(a.parent_thread_id)??e(a.parentThreadId)??b.parentThreadId,model:e(a.model)??b.model,reasoningEffort:e(a.reasoning_effort)??e(a.reasoningEffort)??b.reasoningEffort,timestamp:function(a){if("string"!=typeof a||!a)return;let b=Date.parse(a);return Number.isFinite(b)?b:void 0}(a.timestamp)??b.timestamp}}function k(a,b){return Object.entries(a).map(([a,c])=>d(c)?j({...c,thread_id:a},{...b,id:a,threadId:a}):{id:a,agent:b.agent??"agent",status:h(c),role:b.role,task:b.task,summary:i(c),threadId:a,parentThreadId:b.parentThreadId,model:b.model,reasoningEffort:b.reasoningEffort,timestamp:b.timestamp})}function l(a,b){var c;let f;if(!d(a)||"collabAgentToolCall"!==a.type)return[];let l={id:e(a.id),agent:(f="string"==typeof(c=a.tool)&&c.trim()?c:d(c)?e(c.name)??e(c.agent)??e(c.agent_nickname)??e(c.agentNickname)??e(c.nickname):void 0)?f.toLowerCase().endsWith("agent")?"agent":f:"agent",status:h(a.status),task:e(a.prompt),parentThreadId:e(a.senderThreadId)??e(a.sender_thread_id),model:e(a.model),reasoningEffort:g(a.reasoningEffort??a.reasoning_effort),timestamp:b},m=function(a,b){if(Array.isArray(a))return a.filter(d).map((a,c)=>j(a,{...b,id:`${b.id??"agent"}:${c}`}));if(!d(a))return[];let c=a.agent_statuses??a.agentStatuses;if(Array.isArray(c))return c.filter(d).map((a,c)=>j(a,{...b,id:`${b.id??"agent"}:${c}`}));let e=a.statuses;return d(e)?k(e,b):Object.entries(a).map(([a,c])=>d(c)?j(c,{...b,id:a,threadId:a}):{id:a,agent:b.agent??"agent",status:h(c),role:b.role,task:b.task,summary:i(c),threadId:a,parentThreadId:b.parentThreadId,model:b.model,reasoningEffort:b.reasoningEffort,timestamp:b.timestamp})}(a.agentsStates??a.agents_states,l);if(m.length>0)return m;let n=Array.isArray(a.receiverThreadIds)?a.receiverThreadIds.filter(a=>"string"==typeof a&&!!a):[];return n.length>0?n.map((c,d)=>({id:`${e(a.id)??"agents"}:${c}`,agent:l.agent??`agent ${d+1}`,status:l.status??"running",task:l.task,threadId:c,parentThreadId:l.parentThreadId,model:l.model,reasoningEffort:l.reasoningEffort,timestamp:b})):[{id:e(a.id)??`agents:${b??Date.now()}`,agent:l.agent??"agents",status:l.status??"running",task:l.task,parentThreadId:l.parentThreadId,model:l.model,reasoningEffort:l.reasoningEffort,timestamp:b}]}function m(a,b){if(!d(a))return[];let c=e(a.type);if(!c?.startsWith("collab_"))return[];let f={id:e(a.call_id)??e(a.callId),parentThreadId:e(a.sender_thread_id)??e(a.senderThreadId),task:e(a.prompt),model:e(a.model),reasoningEffort:e(a.reasoning_effort)??e(a.reasoningEffort),timestamp:b},g=a.agent_statuses??a.agentStatuses;return Array.isArray(g)?g.filter(d).map((a,b)=>j(a,{...f,id:`${f.id??"agent"}:${b}`})):d(a.statuses)?k(a.statuses,f):"collab_agent_spawn_end"===c?[j({call_id:a.call_id,thread_id:a.new_thread_id,agent_nickname:a.new_agent_nickname,agent_role:a.new_agent_role,prompt:a.prompt,model:a.model,reasoning_effort:a.reasoning_effort,status:a.status},f)]:"collab_close_end"===c||"collab_agent_interaction_end"===c?[j({call_id:a.call_id,thread_id:a.receiver_thread_id,agent_nickname:a.receiver_agent_nickname,agent_role:a.receiver_agent_role,prompt:a.prompt,status:a.status},f)]:[]}function n(...a){let b=new Map;for(let c of a)for(let a of c??[]){let c=b.get(a.id);b.set(a.id,{...c,...a,timestamp:Math.max(c?.timestamp??0,a.timestamp??0)||c?.timestamp||a.timestamp,summary:a.summary??c?.summary,task:a.task??c?.task,role:a.role??c?.role,threadId:a.threadId??c?.threadId})}return[...b.values()].sort((a,b)=>(b.timestamp??0)-(a.timestamp??0))}c.d(b,{k8:()=>l,nG:()=>m,oO:()=>n})},65833:(a,b,c)=>{c.d(b,{AQ:()=>f,C3:()=>d,JD:()=>e});let d="annodex",e="@seqyuan/annodex",f="annodex update"},72801:(a,b,c)=>{c.d(b,{l:()=>k});var d=c(29021),e=c(55132);function f(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}function g(a){return"number"==typeof a&&Number.isFinite(a)?a:0}function h(a){if(!f(a))return{inputTokens:0,outputTokens:0,totalTokens:0,cachedTokens:0};let b=g(a.input_tokens??a.prompt_tokens??a.promptTokenCount),c=g(a.output_tokens??a.completion_tokens??a.candidatesTokenCount),d=g(a.cached_input_tokens??a.cache_read_input_tokens??a.prompt_cache_hit_tokens??(f(a.input_tokens_details)?a.input_tokens_details.cached_tokens:void 0)??(f(a.prompt_tokens_details)?a.prompt_tokens_details.cached_tokens:void 0)??a.cachedContentTokenCount),e=g(a.total_tokens??a.totalTokens)||b+c;return{inputTokens:b,outputTokens:c,totalTokens:e,cachedTokens:d}}function i(a){return a.inputTokens>0||a.outputTokens>0||a.totalTokens>0||a.cachedTokens>0}function j(a){if(!a)return 0;let b=(0,e.rv)(a);if(b?.contextWindow)return b.contextWindow;try{let b=(0,e.KR)((0,e.Dw)()).find(b=>b.modelId===a);return b?.contextWindow??0}catch{return 0}}function k(a,b){if(!a||!(0,d.existsSync)(a))return{messageUsageByTurnId:new Map,sessionStats:null,contextUsage:null};let c="";try{c=(0,d.readFileSync)(a,"utf-8")}catch{return{messageUsageByTurnId:new Map,sessionStats:null,contextUsage:null}}let e=[],k=null,l=b??null,m="";for(let a of c.split("\n")){if(!a.trim())continue;let b=function(a){try{let b=JSON.parse(a);return f(b)?b:null}catch{return null}}(a);if(!b)continue;let c=(f(b.payload)?b.payload:null)??b;if("turn_context"===b.type){k="string"==typeof c.turn_id?c.turn_id:null,"string"==typeof c.model&&c.model.trim()&&(l=c.model);continue}if("event_msg"!==b.type||"token_count"!==c.type||!f(c.info))continue;let d=h(c.info.last_token_usage),n=h(c.info.total_token_usage),o=g(c.info.model_context_window)||j(l),p=n.totalTokens||d.totalTokens;if(!i(d)&&!i(n)&&p<=0)continue;let q={turnId:k,observedAt:"string"==typeof b.timestamp?b.timestamp:"",last:d,total:n,contextWindow:o},r=[q.turnId??"",q.last.inputTokens,q.last.outputTokens,q.last.totalTokens,q.last.cachedTokens,q.total.inputTokens,q.total.outputTokens,q.total.totalTokens,q.total.cachedTokens,q.contextWindow].join("|");r!==m&&(m=r,e.push(q))}let n=new Map;for(let a of e)a.turnId&&n.set(a.turnId,a);let o=new Map;for(let[a,b]of n)o.set(a,function(a){let b=a.last.inputTokens;return{input:b,output:a.last.outputTokens,cacheRead:a.last.cachedTokens,cacheWrite:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}}}(b));let p=e[e.length-1],q=p?.total,r=q?.inputTokens??0,s=q?.outputTokens??0,t=q?.cachedTokens??0,u=p?.contextWindow??j(l),v=p&&(p.last.totalTokens||p.last.inputTokens)||null;return{messageUsageByTurnId:o,sessionStats:r+s+t>0?{tokens:{input:r,output:s,cacheRead:t,cacheWrite:0},cost:0}:null,contextUsage:u>0?{percent:null!==v?Math.min(100,v/u*100):null,contextWindow:u,tokens:v}:null}}}};
|
|
1
|
+
"use strict";exports.id=402,exports.ids=[402],exports.modules={26257:(a,b,c)=>{c.d(b,{s:()=>n,yJ:()=>m,zZ:()=>l});var d=c(29021),e=c(33873),f=c(21820);function g(){return(0,e.join)(process.env.ANNODEX_CONFIG_DIR??process.env.ANNOVIBE_CONFIG_DIR??(0,e.join)((0,f.homedir)(),".config","annodex"),"session-runtime.json")}function h(){return{version:1,sessions:{}}}function i(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}function j(){let a=g();if(!(0,d.existsSync)(a))return h();try{let b=JSON.parse((0,d.readFileSync)(a,"utf-8"));if(!i(b)||!i(b.sessions))return h();let c={};for(let[a,d]of Object.entries(b.sessions)){let b=function(a){if(!i(a)||"string"!=typeof a.sessionId)return null;let b=a.sessionId.trim();return b?{sessionId:b,cwd:"string"==typeof a.cwd&&a.cwd.trim()?a.cwd:void 0,provider:"string"==typeof a.provider&&a.provider.trim()?a.provider:void 0,modelId:"string"==typeof a.modelId&&a.modelId.trim()?a.modelId:void 0,thinkingLevel:"string"==typeof a.thinkingLevel&&a.thinkingLevel.trim()?a.thinkingLevel:void 0,updatedAt:"string"==typeof a.updatedAt?a.updatedAt:new Date(0).toISOString()}:null}(d);b&&b.sessionId===a&&(c[a]=b)}return{version:1,sessions:c}}catch{return h()}}function k(a){let b=g(),c=(0,e.dirname)(b);(0,d.existsSync)(c)||(0,d.mkdirSync)(c,{recursive:!0}),(0,d.writeFileSync)(b,JSON.stringify(a,null,2),"utf-8")}function l(a){return a?j().sessions[a]??null:null}function m(a,b){let c=j(),d={...c.sessions[a]??{sessionId:a,updatedAt:new Date(0).toISOString()},sessionId:a,updatedAt:new Date().toISOString()};return void 0!==b.cwd&&(d.cwd=b.cwd),void 0!==b.provider&&(d.provider=b.provider),void 0!==b.modelId&&(d.modelId=b.modelId),void 0!==b.thinkingLevel&&(d.thinkingLevel=b.thinkingLevel),c.sessions[a]=d,k(c),d}function n(a){let b=j();b.sessions[a]&&(delete b.sessions[a],k(b))}},39006:a=>{a.exports={rE:"0.1.17"}},40402:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{$M:()=>o,BR:()=>r,PF:()=>u,Qx:()=>t,T0:()=>O,aU:()=>P,bd:()=>R,dQ:()=>v,os:()=>s,r1:()=>N});var e=c(33873),f=c(29021),g=c(46983),h=c(89035),i=c(26257),j=c(65369),k=c(72801),l=c(55132),m=c(54167),n=a([g]);function o(){let a=process.env.HOME??process.env.USERPROFILE??"/tmp";return(0,e.join)(a,".config","annodex")}function p(){return globalThis.__annodexSessionPathCache||(globalThis.__annodexSessionPathCache=new Map),globalThis.__annodexSessionPathCache}function q(a,b){p().set(a,b)}function r(a){p().delete(a)}async function s(a){let b=p().get(a);return b||(N(a)?.cwd??null)}function t(a){let b=F((0,i.zZ)(a)),c=F(S(a)),d={provider:b?.provider??c?.provider,modelId:b?.modelId??c?.modelId,thinkingLevel:b?.thinkingLevel??c?.thinkingLevel};return d.provider||d.modelId||d.thinkingLevel?d:null}function u(a){return!!R(a)}async function v(a={}){return function(a={}){var b;let c,d,g=[],h=new Set,i=a.cwd?.trim()?x(a.cwd):void 0,j=w();if(!(0,f.existsSync)(j))return g;let k=function(){let a=H();if(!(0,f.existsSync)(a))return{version:1,records:{}};try{let b=JSON.parse((0,f.readFileSync)(a,"utf-8"));return{version:1,records:b.records&&"object"==typeof b.records?b.records:{}}}catch{return{version:1,records:{}}}}(),l={};for(let a of y(j)){let b=G(a);if(!b)continue;let c=k.records[a],d=c&&c.size===b.size&&c.mtimeMs===b.mtimeMs?c:null;if(!d){let c=K(a);if(!c)continue;d=M(a,c,b)}if(!d)continue;l[a]=d;let e={...d.summary,modified:new Date(d.mtimeMs).toISOString(),cwdExists:(0,f.existsSync)(d.summary.cwd)};q(e.id,e.cwd),(!i||x(e.cwd)===i)&&(!e||h.has(e.id)||(h.add(e.id),g.push(e)))}return b={version:1,records:l},c=H(),d=(0,e.dirname)(c),(0,f.existsSync)(d)||(0,f.mkdirSync)(d,{recursive:!0}),(0,f.writeFileSync)(c,JSON.stringify(b,null,2),"utf-8"),g.sort((a,b)=>b.modified.localeCompare(a.modified))}(a)}function w(){return(0,e.join)((0,h.R)(),"sessions")}function x(a){let b=a.trim();return b.replace(/[\\/]+$/,"")||b}function y(a,b=[]){try{for(let c of(0,f.readdirSync)(a,{withFileTypes:!0})){let d=(0,e.join)(a,c.name);c.isDirectory()?y(d,b):c.isFile()&&c.name.endsWith(".jsonl")&&b.push(d)}}catch{}return b}function z(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}function A(a){try{let b=JSON.parse(a);return z(b)?b:null}catch{return null}}function B(a){return z(a.payload)?a.payload:null}function C(a,b){let c=a[b];return"string"==typeof c&&c.trim()?c:void 0}function D(a,b=!1){if(a)try{return(0,l.wB)((0,l.Dw)(),a,{preferCodex:b})}catch{return a}}function E(a){if(!a)return{};if(a.modelProvider===m.so)try{let b=(0,m.w5)((0,l.Dw)().providers,a.modelProvider,a.model);if(b.provider!==m.so)return b}catch{}return{provider:(0,g.g8)(a.modelProvider),modelId:a.model}}function F(a){if(!a)return null;if(a.provider!==m.so)return a;try{let b=(0,m.w5)((0,l.Dw)().providers,a.provider,a.modelId);if(b.provider!==m.so)return{...a,provider:b.provider,modelId:b.modelId}}catch{}return a}function G(a){try{let b=(0,f.statSync)(a);return{size:Number(b.size),mtimeMs:Number(b.mtimeMs),modified:b.mtime.toISOString()}}catch{return null}}function H(){return(0,e.join)(o(),"session-history-cache.json")}function I(a,b=65536){let c=null;try{c=(0,f.openSync)(a,"r");let d=Buffer.alloc(b),e=(0,f.readSync)(c,d,0,b,0);return d.subarray(0,e).toString("utf-8")}catch{return""}finally{if(null!==c)try{(0,f.closeSync)(c)}catch{}}}function J(a){try{return JSON.parse(`"${a}"`)}catch{return a}}function K(a){let b=I(a);if(!/"type"\s*:\s*"session_meta"/.test(b))return null;let c=b.split(/\r?\n/,1)[0]??"",d=A(c),e=(d?B(d):null)??d;if(e){let a=C(e,"id"),b=C(e,"cwd");if(a&&b){let c=z(e.source)&&z(e.source.subagent)&&z(e.source.subagent.thread_spawn)?C(e.source.subagent.thread_spawn,"parent_thread_id"):void 0;return{id:a,cwd:x(b),created:C(e,"timestamp")??C(d??{},"timestamp")??new Date(0).toISOString(),modelProvider:D(C(e,"model_provider"),!0),parentSessionId:C(e,"forked_from_id")??c}}}let f=/"id"\s*:\s*"((?:\\.|[^"\\])*)"/.exec(b),g=/"cwd"\s*:\s*"((?:\\.|[^"\\])*)"/.exec(b),h=/"timestamp"\s*:\s*"((?:\\.|[^"\\])*)"/.exec(b),i=/"model_provider"\s*:\s*"((?:\\.|[^"\\])*)"/.exec(b),j=/"forked_from_id"\s*:\s*"((?:\\.|[^"\\])*)"/.exec(b),k=f?J(f[1]):null,l=g?x(J(g[1])):null;if(!k||!l)return null;let m=h?J(h[1]):new Date(0).toISOString();return{id:k,cwd:l,created:m,modelProvider:D(i?J(i[1]):void 0,!0),parentSessionId:j?J(j[1]):void 0}}function L(a,b){return a||function(a){let b=a.trim();if(!b||b.includes("AGENTS.md instructions"))return"";let c=b.lastIndexOf("<environment_context>"),d=(c>=0?b.slice(c).replace(/^<environment_context>[\s\S]*?<\/environment_context>\s*/m,"").trim():b).replace(/\s+/g," ").trim();return d.length>180?`${d.slice(0,180)}...`:d}(b)||a}function M(a,b,c){let d,e,g=I(a,2097152);if(!g)return null;let h=g.split("\n").filter(a=>a.trim()),j="",k=0,l=0;for(let a of h){let b=A(a);if(!b)continue;let c=B(b)??b;if("event_msg"===b.type){let a=c.type;("user_message"===a||"agent_message"===a)&&k++,"user_message"===a&&"string"==typeof c.message&&(j=L(j,c.message));continue}if("response_item"===b.type&&"message"===c.type){var m;let a=c.role;("user"===a||"assistant"===a)&&l++,"user"===a&&(j=L(j,(m=c.content,"string"==typeof m?m:Array.isArray(m)?m.map(a=>z(a)?"string"==typeof a.text?a.text:"string"==typeof a.content?a.content:"":"").filter(Boolean).join("\n"):"")));continue}"turn_context"===b.type&&(d=C(c,"model")??d,e=C(c,"effort")??e)}q(b.id,b.cwd);let n={id:b.id,path:a,cwd:b.cwd,cwdExists:(0,f.existsSync)(b.cwd),created:b.created,modified:c.modified,messageCount:k||l||+!!j,firstMessage:j||"(no messages)",parentSessionId:b.parentSessionId},o=E({model:d,modelProvider:b.modelProvider}),p={provider:o.provider??b.modelProvider,modelId:o.modelId??d,thinkingLevel:e},r=F((0,i.zZ)(b.id)),s={cwd:b.cwd,provider:r?.provider??p.provider,modelId:r?.modelId??p.modelId,thinkingLevel:r?.thinkingLevel??p.thinkingLevel};return(s.provider||s.modelId||s.thinkingLevel)&&(0,i.yJ)(b.id,{cwd:s.cwd,provider:s.provider,modelId:s.modelId,thinkingLevel:s.thinkingLevel}),{filePath:a,size:c.size,mtimeMs:c.mtimeMs,summary:n,model:p}}function N(a){let b=w();if(!a||!(0,f.existsSync)(b))return null;let c=y(b);for(let b of[...c.filter(b=>b.includes(a)),...c.filter(b=>!b.includes(a))]){let c=G(b);if(!c)continue;let d=K(b);if(d?.id!==a)continue;let e=M(b,d,c);if(!e)break;return{...e.summary,modified:new Date(e.mtimeMs).toISOString(),cwdExists:(0,f.existsSync)(e.summary.cwd)}}return null}async function O(a,b,c){var d,e;let h,m,n=(0,g.DY)(b);m=n||await (0,g.gu)(b,(0,g.H3)((0,l.Dw)().providers));let o=null;try{o=await (0,g.nj)(m,a)}finally{n||(0,g.sM)(m)}if(!o)return{context:{messages:[],entryIds:[],thinkingLevel:"off",model:null,subagentRuns:[],sessionStats:null,contextUsage:null},tree:[],leafId:null,thread:null};q(o.id,o.cwd||b);let p=(0,i.zZ)(o.id),r=E(o);(r.modelId||r.provider)&&(!p?.provider||!p?.modelId)&&(0,i.yJ)(o.id,{cwd:o.cwd||b,provider:p?.provider??r.provider,modelId:p?.modelId??r.modelId});let s=F(S(o.id)),t=F((0,i.zZ)(o.id)),u=t?.provider??s?.provider,v=t?.modelId??s?.modelId,w=t?.thinkingLevel??s?.thinkingLevel,x=r.provider,y=r.modelId,z=o.model?{provider:u??x??"codex",modelId:v??y??o.model}:v?{provider:u??"codex",modelId:v}:null,C=Q(o,z),D=c?(d=C,e=c,(h=d.findIndex(a=>a.id===e))>=0?d.slice(0,h+1):d):C,G=(0,k.l)(R(o.id),v??o.model),H=new Map;for(let a of D)a.turnId&&"assistant"===a.message.role&&a.message.content.some(a=>"text"===a.type&&a.text.trim())&&H.set(a.turnId,a.id);let I=[],J=[];for(let a of D){let b=a.message;if(a.turnId&&"assistant"===b.role&&H.get(a.turnId)===a.id){let c=G.messageUsageByTurnId.get(a.turnId);I.push(c?{...b,usage:c}:b)}else I.push(b);J.push(a.id)}let K=D[D.length-1]?.id??C[C.length-1]?.id??null,L=o.model?{provider:u??x??"codex",modelId:v??y??o.model}:v?{provider:u??"codex",modelId:v}:null;return{context:{messages:I,entryIds:J,thinkingLevel:w??"off",model:L,subagentRuns:(0,j.oO)(function(a){if(!a)return[];let b=[];for(let c of a.turns??[])for(let d of c.items)"collabAgentToolCall"===d.type&&b.push(...(0,j.k8)(d,a.updatedAt?1e3*a.updatedAt:void 0));return b}(o),function(a){let b=R(a);if(!b)return[];let c="";try{c=(0,f.readFileSync)(b,"utf-8")}catch{return[]}if(!c)return[];let d=[];for(let a of c.split("\n")){if(!a.trim()||!a.includes("collab_"))continue;let b=A(a);if(!b||"event_msg"!==b.type)continue;let c=B(b);c&&d.push(...(0,j.nG)(c,function(a){if("string"!=typeof a||!a)return;let b=Date.parse(a);return Number.isFinite(b)?b:void 0}(b.timestamp)))}return d}(a)),sessionStats:G.sessionStats,contextUsage:G.contextUsage},tree:function(a){let b=new Map,c=new Map,d=0;for(let e of a)b.set(e.id,e),e.parentId?c.set(e.parentId,(c.get(e.parentId)??0)+1):d++;let e=d>1;if(!e){for(let a of c.values())if(a>1){e=!0;break}}if(!e)return[];let f=new Set;for(let b of a){let a=c.get(b.id)??0,e=b.parentId?c.get(b.parentId)??0:d;(!b.parentId||0===a||a>1||e>1)&&f.add(b.id)}let g=new Map,h=[];for(let b of a)f.has(b.id)&&g.set(b.id,{entry:b,children:[]});for(let c of a){if(!f.has(c.id))continue;let a=g.get(c.id);if(!a)continue;let d=c.parentId;for(;d&&!f.has(d);)d=b.get(d)?.parentId??null;d&&g.has(d)?g.get(d).children.push(a):h.push(a)}return h}(C),leafId:K,thread:o}}async function P(a,b){let c=await O(a,b),d=F((0,i.zZ)(a)),e=F(S(a)),f=d?.provider??e?.provider,g=d?.modelId??e?.modelId,h=E(c.thread),j=h.provider,k=h.modelId,l=c.thread?.model?{provider:f??j??"codex",modelId:g??k??c.thread.model}:g?{provider:f??"codex",modelId:g}:null;return Q(c.thread,l)}function Q(a,b){if(!a)return[];let c=[],d=null;for(let f of a.turns??[]){var e;let g=(e=a.updatedAt,"number"==typeof e&&Number.isFinite(e)?new Date(1e3*e).toISOString():"string"==typeof e&&e?e:new Date(0).toISOString());for(let e of f.items){let h=function(a,b,c){if("userMessage"===a.type)return{role:"user",content:function(a){let b=[];for(let c of a)"text"===c.type?b.push({type:"text",text:c.text}):"image"===c.type?b.push({type:"text",text:`[image] ${c.url.slice(0,120)}`}):"localImage"===c.type?b.push({type:"text",text:`[image] ${c.path}`}):"mention"===c.type?b.push({type:"text",text:`@${c.path}`}):"skill"===c.type&&b.push({type:"text",text:`$${c.name}`});return 0===b.length?"":1===b.length?b[0].text:b}(a.content??[])};if("agentMessage"===a.type){let d=c??E(b);return{role:"assistant",content:[{type:"text",text:a.text??""}],model:d.modelId??"",provider:d.provider??""}}if("reasoning"===a.type){let d=[...a.summary??[],...a.content??[]].join("\n").trim();if(!d)return null;let e=c??E(b);return{role:"assistant",content:[{type:"thinking",thinking:d}],model:e.modelId??"",provider:e.provider??""}}if("commandExecution"===a.type){let b=[a.aggregatedOutput??"",null!==a.exitCode&&void 0!==a.exitCode?`Exit code: ${a.exitCode}`:""].filter(Boolean).join("\n");return T(a.id,"bash",b,"failed"===a.status||"declined"===a.status)}if("fileChange"===a.type)return T(a.id,"edit",JSON.stringify(a.changes??[]),"failed"===a.status||"declined"===a.status);if("mcpToolCall"===a.type)return T(a.id,a.tool||a.server||"mcp",JSON.stringify(a.result??a.error??""),!!a.error);if("dynamicToolCall"===a.type)return T(a.id,a.tool||"tool",JSON.stringify(a.contentItems??[]),!1===a.success);if("collabAgentToolCall"===a.type){let c=(0,j.k8)(a,b.updatedAt?1e3*b.updatedAt:void 0);return{role:"custom",customType:"subagent-progress",content:"Agent progress updated",display:!1,details:{runs:c},timestamp:b.updatedAt?1e3*b.updatedAt:void 0}}return null}(e,a,b);if(!h)continue;let i={type:"message",id:e.id,parentId:d,timestamp:g,message:h,turnId:f.id};c.push(i),d=e.id}}return c}function R(a){let b=w();if(!a||!(0,f.existsSync)(b))return null;let c=y(b);return c.find(b=>b.includes(a))??c.find(b=>{let c=K(b);return c?.id===a})??null}function S(a){let b,c,d,e=R(a);if(!e)return null;let f="";try{f=I(e,2097152)}catch{return null}for(let a of f.split("\n")){if(!a.trim())continue;let e=A(a);if(!e)continue;let f=B(e)??e;if("session_meta"===e.type){b=D(C(f,"model_provider"),!0)??b;continue}"turn_context"===e.type&&(c=C(f,"model")??c,d=C(f,"effort")??d)}return b||c||d?{provider:b,modelId:c,thinkingLevel:d}:null}function T(a,b,c,d){return{role:"toolResult",toolCallId:a,toolName:b,content:[{type:"text",text:c}],isError:d}}g=(n.then?(await n)():n)[0],d()}catch(a){d(a)}})},46983:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{DY:()=>F,H3:()=>w,g8:()=>u,gu:()=>C,kW:()=>v,nj:()=>E,nt:()=>r,pU:()=>q,sM:()=>D});var e=c(79646),f=c(55511),g=c(56220),h=c(29021),i=c(33873),j=c(91645),k=c(55399),l=c(54167),m=c(65833),n=c(99526),o=c(39006),p=a([g]);function q(a){let b="string"==typeof a?.status?a.status.toLowerCase():"";return"inprogress"===b||"in_progress"===b||"running"===b||"pending"===b||"queued"===b}function r(a){return!!a?.turns?.some(a=>q(a))}g=(p.then?(await p)():p)[0];class G{constructor(a,b,c){this.cwd=a,this.url=b,this.serverKey=c,this.ws=null,this.pending=new Map,this.nextId=1,this.notificationHandlers=new Map,this.reconnectAttempts=0,this.maxReconnectAttempts=5,this.reconnectDelay=1e3,this._closed=!1}isConnected(){return this.ws?.readyState===g.WebSocket.OPEN}isClosed(){return this._closed}async connect(){let{default:a}=await Promise.resolve().then(c.bind(c,56220)),b=this.url;return this._closed=!1,new Promise((c,d)=>{let e=new a(b);this.ws=e,e.on("open",()=>{this.reconnectAttempts=0,this.initialize().then(c).catch(d)}),e.on("message",a=>{try{let b=JSON.parse(a.toString());this.handleMessage(b)}catch{}}),e.on("close",()=>{this.handleDisconnect()}),e.on("error",a=>{0===this.reconnectAttempts&&d(a)})})}async initialize(){let a=await this.request("initialize",{clientInfo:{name:"annodex",title:m.C3,version:o.rE},capabilities:{experimentalApi:!0}});this.serverInfo=a}request(a,b,c=3e5){if(!this.ws||this.ws.readyState!==g.WebSocket.OPEN)return Promise.reject(Error(`Codex server not connected (method: ${a})`));let d=this.nextId++;return new Promise((e,f)=>{let g=setTimeout(()=>{this.pending.delete(d),f(Error(`Request timeout: ${a}`))},c);this.pending.set(d,{resolve:e,reject:f,timer:g}),this.ws.send(JSON.stringify({jsonrpc:"2.0",id:d,method:a,params:b}))})}onNotification(a,b){let c=this.notificationHandlers.get(a)??[];return c.push(b),this.notificationHandlers.set(a,c),()=>{let c=this.notificationHandlers.get(a);if(c){let a=c.indexOf(b);-1!==a&&c.splice(a,1)}}}handleMessage(a){if("method"in a&&"id"in a)return void this.respondToServerRequest(a);if("method"in a&&!("id"in a)){let b=this.notificationHandlers.get(a.method);if(b)for(let c of[...b])c(a.params);return}if("id"in a&&("result"in a||"error"in a)){let b=this.pending.get(a.id);b&&(clearTimeout(b.timer),this.pending.delete(a.id),"error"in a&&a.error?b.reject(Error(a.error.message??"JSON-RPC error")):b.resolve(a.result))}}respondToServerRequest(a){if(!this.ws||this.ws.readyState!==g.WebSocket.OPEN)return;let b=function(a){switch(a){case"item/commandExecution/requestApproval":case"item/fileChange/requestApproval":return{decision:"decline"};case"applyPatchApproval":case"execCommandApproval":return{decision:"denied"};case"item/tool/requestUserInput":return{answers:{}};case"mcpServer/elicitation/request":return{action:"decline",content:null,_meta:null};case"item/permissions/requestApproval":return{permissions:{},scope:"turn"};case"item/tool/call":return{contentItems:[],success:!1};case"account/chatgptAuthTokens/refresh":return{accessToken:"",chatgptAccountId:"",chatgptPlanType:null};default:return{}}}(a.method),c={jsonrpc:"2.0",id:a.id,result:b};this.ws.send(JSON.stringify(c))}handleDisconnect(){for(let[,a]of this.pending)clearTimeout(a.timer),a.reject(Error("Codex server disconnected"));if(this.pending.clear(),!this._closed&&this.reconnectAttempts<this.maxReconnectAttempts){this.reconnectAttempts++;let a=this.reconnectDelay*Math.pow(2,this.reconnectAttempts-1);setTimeout(()=>{this._closed||this.connect().catch(()=>{})},a)}}close(){this._closed=!0,this.ws?.close(),this.ws=null}}function s(a){if(a.connection?.close(),a.process?.pid)try{"win32"!==process.platform?process.kill(-a.process.pid,"SIGTERM"):a.process.kill("SIGTERM")}catch{try{a.process.kill("SIGTERM")}catch{}}for(let b of a.compatProxies)b.stop().catch(()=>{});for(let b of a.annodexRouters)b.stop().catch(()=>{})}function t(){if(!globalThis.__codexServers){globalThis.__codexServers=new Map;let a=()=>{globalThis.__codexServers?.forEach(a=>{s(a)})};process.once("exit",a),process.once("SIGINT",a),process.once("SIGTERM",a)}return globalThis.__codexServers}function u(a){if(a)return a.replace(/#(?:chat|responses)-[a-f0-9]{10}$/i,"")}function v(a,b,c){let d=a.find(a=>a.id===b);return{provider:l.so,modelId:d?(0,l.XO)(b,c):c}}function w(a){return{workspace:!0,contextWindow:function(a){let b=0;for(let c of a)for(let a of c.models)"number"==typeof a.contextWindow&&a.contextWindow>b&&(b=a.contextWindow);return b>0?b:void 0}(a),routerProviders:a,providers:[{id:l.so,name:"Annodex Router",baseUrl:"__annodex_router__",api:"openai-responses",requiresOpenAiAuth:!1}]}}function x(a){let b=a?.trim();if(b){if(b.startsWith("!"))try{return(0,e.execSync)(b.slice(1),{encoding:"utf8",stdio:["ignore","pipe","ignore"],timeout:1e4}).trim()||void 0}catch{return}return/^[A-Za-z_][A-Za-z0-9_]*$/.test(b)&&process.env[b]?process.env[b]:b}}function y(a){return JSON.stringify(a)}function z(a){return/^[A-Za-z0-9_-]+$/.test(a)?a:y(a)}function A(a,b){if(b)return"responses";let c=(0,n.pp)(a);return"openai-responses"===c?"responses":"openai-completions"===c?"chat":null}async function B(a,b,c,d,e,g){let h,i=a.baseUrl?.trim().replace(/\/+$/,"")||"";if(a.id===l.so&&"__annodex_router__"===i){let a=new l.Po({providers:e??[],defaultThinking:g??"disabled"});await a.start(),d.push(a),i=a.getBaseUrl(),console.log(`[codex-server] Annodex router started on port ${a.getPort()}`)}let j=x(a.apiKey),m=(0,n.pp)(a.api,i,a.id),o="openai-completions"===m,p=!1;if(o&&i&&j&&(0,k.s3)(i)){let b=(0,k.xh)(i),d=new k.F6({targetUrl:b,apiKey:j,defaultThinking:g??"disabled",reasoningConfig:a.reasoningConfig});try{await d.start(),c.push(d),i=d.getBaseUrl(),p=!0,console.log(`[codex-server] Compat proxy started on port ${d.getPort()} for ${b}`)}catch(a){console.error("[codex-server] Failed to start compat proxy:",a)}}if(j){var q;let c;q=a.id,c=(0,f.createHash)("sha256").update(q).digest("hex").slice(0,16).toUpperCase(),b[h=`ANNODEX_PROVIDER_${c}_API_KEY`]=j}return{id:a.id,name:a.name,baseUrl:i,wireApi:A(m,p),envKey:h,requiresOpenAiAuth:a.requiresOpenAiAuth??!!j}}async function C(a,b){let c=t(),d=a.replace(/\/+$/,"")||a,g=function(a,b){let c=a.replace(/\/+$/,"")||a;if(b?.workspace){let a=JSON.stringify({providers:b.providers??[],routerProviders:b.routerProviders??[]}),d=(0,f.createHash)("sha256").update(a).digest("hex").slice(0,16),e=b?.contextWindow?String(b.contextWindow):"default";return`${c}\0workspace\0${e}\0${d}`}let d=b?.providerId||b?.baseUrl||"default",e=b?.baseUrl?.replace(/\/+$/,"")||"default",g=b?.api||"default",h=b?.apiKey||"default",i=b?.contextWindow?String(b.contextWindow):"default",j=b?.reasoningConfig?`${b.reasoningConfig.thinkingParam??""}|${b.reasoningConfig.effortParam??""}|${b.reasoningConfig.effortValueMode??""}`:"default";return`${c}\0${d}\0${e}\0${g}\0${h}\0${i}\0${j}`}(d,b),l=c.get(g);if(l?.connection?.isConnected())return l.refCount++,l.connection;if(l?.startPromise)try{let a=await l.startPromise,b=c.get(g);return b&&b.refCount++,a}catch{}else l&&(s(l),c.delete(g));let m=await new Promise((a,b)=>{let c=(0,j.createServer)();c.unref(),c.on("error",b),c.listen(0,"127.0.0.1",()=>{let d=c.address();c.close(()=>{d&&"object"==typeof d?a(d.port):b(Error("Failed to allocate a local port"))})})}),o=`ws://127.0.0.1:${m}`,p=function(){let a=process.cwd();for(let b of[(0,i.join)(a,"node_modules",".bin","codex"),(0,i.join)(a,"..","..","node_modules",".bin","codex")])if((0,h.existsSync)(b))return b;return"codex"}(),q=(async()=>{let a=[],f=[],h=null,i=b?.baseUrl||void 0,j=x(b?.apiKey),l=b?.requiresOpenAiAuth??!!j,q=(0,n.pp)(b?.api,i,b?.providerId),r="openai-completions"===q,s=!1;if(r&&i&&j&&(0,k.s3)(i)){let c=(0,k.xh)(i);h=new k.F6({targetUrl:c,apiKey:j,defaultThinking:b?.thinkingLevel??"disabled",reasoningConfig:b?.reasoningConfig});try{await h.start(),a.push(h),i=h.getBaseUrl(),s=!0,console.log(`[codex-server] Compat proxy started on port ${h.getPort()} for ${c}`)}catch(a){console.error("[codex-server] Failed to start compat proxy:",a),h=null}}let t={...process.env};j&&!b?.workspace&&(t.OPENAI_API_KEY=j),i&&(t.OPENAI_BASE_URL=i);let u=[];if(b?.contextWindow&&b.contextWindow>0&&u.push("-c",`model_context_window=${b.contextWindow}`),b?.workspace){let c=[];for(let d of b.providers??[])d.id&&d.baseUrl&&c.push(await B(d,t,a,f,b.routerProviders,b.thinkingLevel));for(let a of c)!function(a,b){if(!b.id||!b.baseUrl)return;let c=z(b.id);a.push("-c",`model_providers.${c}.name=${y(b.name||b.id)}`),a.push("-c",`model_providers.${c}.base_url=${y(b.baseUrl.replace(/\/+$/,""))}`),b.wireApi&&a.push("-c",`model_providers.${c}.wire_api=${y(b.wireApi)}`),a.push("-c",`model_providers.${c}.requires_openai_auth=${b.requiresOpenAiAuth?"true":"false"}`),b.envKey&&a.push("-c",`model_providers.${c}.env_key=${y(b.envKey)}`)}(u,a)}else if(b?.providerId&&i){let a=z(b.providerId),c=A(q,s);u.push("-c",`model_provider=${y(b.providerId)}`),u.push("-c",`model_providers.${a}.name=${y(b.providerId)}`),u.push("-c",`model_providers.${a}.base_url=${y(i.replace(/\/+$/,""))}`),c&&u.push("-c",`model_providers.${a}.wire_api=${y(c)}`),u.push("-c",`model_providers.${a}.requires_openai_auth=${l?"true":"false"}`)}let v=[...u,"app-server","--listen",o],w=null,C=(0,e.spawn)(p,v,{cwd:d,stdio:["ignore","pipe","pipe"],env:t,detached:"win32"!==process.platform}),D=[];C.stderr?.on("data",a=>{D.push(a.toString())}),C.stdout?.on("data",()=>{}),C.on("error",a=>{console.error(`[codex-server] Process error for ${d}:`,a.message)}),C.on("exit",()=>{let b=c.get(g);if(b?.process===C){for(let b of(c.delete(g),a))b.stop().catch(()=>{});for(let a of f)a.stop().catch(()=>{});w?.close()}}),await new Promise(a=>setTimeout(a,500)),w=new G(d,o,g);for(let b=0;b<10;b++)try{await w.connect();break}catch{if(b<9)await new Promise(a=>setTimeout(a,500));else{try{"win32"!==process.platform?process.kill(-C.pid,"SIGTERM"):C.kill("SIGTERM")}catch{C.kill("SIGTERM")}for(let b of a)await b.stop().catch(()=>{});for(let a of f)await a.stop().catch(()=>{});let b=D.join("");throw Error(`Failed to connect to codex app-server after 10 attempts.
|
|
2
|
+
stderr: ${b.slice(-500)}`)}}let E={process:C,connection:w,compatProxies:a,annodexRouters:f,port:m,cwd:d,workspace:!!b?.workspace,refCount:1,startPromise:null};return c.set(g,E),w})(),r={process:null,connection:null,compatProxies:[],annodexRouters:[],port:m,cwd:d,workspace:!!b?.workspace,refCount:0,startPromise:q};c.set(g,r);try{return await q}catch(a){throw c.delete(g),a}}function D(a){let b=t(),c=b.get(a.serverKey);c&&(c.refCount--,c.refCount<=0&&(s(c),b.delete(a.serverKey)))}async function E(a,b){return(await a.request("thread/read",{threadId:b,includeTurns:!0})).thread??null}function F(a){let b=t(),c=a.replace(/\/+$/,"")||a;for(let a of b.values())if(a.cwd===c&&a.workspace&&a.connection?.isConnected())return a.connection}d()}catch(a){d(a)}})},54167:(a,b,c)=>{c.d(b,{Po:()=>o,XO:()=>l,so:()=>k,w5:()=>n});var d=c(81630),e=c(55591),f=c(79646),g=c(55511),h=c(1932),i=c(99526),j=c(55399);let k="annodex-router";function l(a,b){let c=(0,g.createHash)("sha256").update(`${a}\0${b}`).digest("hex").slice(0,10),d=a.replace(/[^A-Za-z0-9_.-]+/g,"-"),e=b.replace(/[^A-Za-z0-9_.-]+/g,"-");return`annodex-${d}-${e}-${c}`}function m(a){let b=[];for(let c of a){let a=c.baseUrl.trim().replace(/\/+$/,"");if(!a)continue;let d=(0,i.pp)(c.api,a,c.id);for(let e of c.models.length?c.models:[{id:c.id,name:c.name||c.id}]){let g=(0,i.pp)(e.api??d,a,c.id);("openai-responses"===g||"openai-completions"===g)&&b.push({key:l(c.id,e.id),providerId:c.id,modelId:e.id,upstreamModelId:e.id,baseUrl:a,apiKey:function(a){let b=a?.trim();if(b){if(b.startsWith("!"))try{return(0,f.execSync)(b.slice(1),{encoding:"utf8",stdio:["ignore","pipe","ignore"],timeout:1e4}).trim()||void 0}catch{return}return/^[A-Za-z_][A-Za-z0-9_]*$/.test(b)&&process.env[b]?process.env[b]:b}}(c.apiKey),api:g,requiresOpenAiAuth:c.requiresOpenAiAuth,reasoningConfig:e.reasoningConfig??c.reasoningConfig})}}return b}function n(a,b,c){if(b!==k)return{provider:b??void 0,modelId:c??void 0};let d=function(a,b){if(b)return m(a).find(a=>a.key===b)}(a,c);return d?{provider:d.providerId,modelId:d.modelId}:{provider:b??void 0,modelId:c??void 0}}class o{constructor(a){for(const b of(this.server=null,this.port=0,this.targets=new Map,this.defaultThinking=a.defaultThinking??"disabled",a.port&&(this.port=a.port),m(a.providers)))this.targets.set(b.key,b)}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 annodex router 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",models:this.targets.size}));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="string"==typeof a.model?a.model:"",d=this.targets.get(c);if(!d){b.writeHead(404,{"Content-Type":"application/json"}),b.end(JSON.stringify({error:{message:`Unknown Annodex router model: ${c}`,type:"invalid_request_error"}}));return}let e={...a,model:d.upstreamModelId};"openai-completions"===d.api?(0,j.y3)(e,b,{targetUrl:d.baseUrl,apiKey:d.apiKey??"",defaultThinking:this.defaultThinking,reasoningConfig:d.reasoningConfig}):this.proxyResponsesNative(e,d,b)}proxyResponsesNative(a,b,c){let f=new h.URL(function(a){let b=a.trim().replace(/\/+$/,"");if(!b||/\/responses$/i.test(b))return b;let c=(b.split("://")[1]??b).includes("/")?`${b}/responses`:`${b}/v1/responses`;for(;c.includes("/v1/v1/");)c=c.replace("/v1/v1/","/v1/");return c}(b.baseUrl)),g="https:"===f.protocol,i=(g?e.request:d.request)({hostname:f.hostname,port:f.port||(g?443:80),path:f.pathname+f.search,method:"POST",headers:{"Content-Type":"application/json",...b.apiKey?{Authorization:`Bearer ${b.apiKey}`}:{}}},b=>{let d={},e=b.headers["content-type"];if("string"==typeof e)d["Content-Type"]=e;else d["Content-Type"]="object"!=typeof a||null===a||Array.isArray(a)||!0!==a.stream?"application/json":"text/event-stream";c.writeHead(b.statusCode??502,d),b.pipe(c)});i.on("error",a=>{c.writeHead(502,{"Content-Type":"application/json"}),c.end(JSON.stringify({error:{message:`Upstream error: ${a.message}`,type:"upstream_error"}}))}),i.write(JSON.stringify(a)),i.end()}}},65369:(a,b,c)=>{function d(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}function e(a){return"string"==typeof a&&a.trim()?a:void 0}function f(a,b=1200){return a.length>b?`${a.slice(0,b)}...`:a}function g(a){if("string"==typeof a)return f(a);if(null!=a)try{return f(JSON.stringify(a))}catch{return f(String(a))}}function h(a){if(d(a)){if("completed"in a)return"completed";if("failed"in a||"error"in a)return"failed";if("paused"in a||"blocked"in a)return"paused";if("not_found"in a)return"not_found";if("running"in a||"in_progress"in a||"pending"in a)return"running"}let b="string"==typeof a?a.toLowerCase().trim():"";return"completed"===b||"complete"===b||"done"===b||"success"===b||"succeeded"===b?"completed":"failed"===b||"failure"===b||"error"===b||"cancelled"===b||"canceled"===b?"failed":"paused"===b||"blocked"===b||"interrupted"===b?"paused":"not_found"===b||"not-found"===b||"missing"===b?"not_found":("pending"===b||"pending_init"===b||"starting"===b||"started"===b,"running")}function i(a){if(d(a))return g(a.completed??a.failed??a.error??a.blocked??a.paused??a.running??a.pending)}function j(a,b){let c=e(a.thread_id)??e(a.threadId)??e(a.id)??b.threadId,d=e(a.agent_nickname)??e(a.agentNickname)??e(a.nickname)??e(a.agent)??b.agent??"agent",f=a.status??a.state??b.status;return{id:e(a.call_id)??e(a.callId)??c??b.id??d,agent:d,status:h(f),role:e(a.agent_role)??e(a.agentRole)??e(a.role)??b.role,task:e(a.prompt)??e(a.task)??b.task,summary:i(f)??e(a.summary)??b.summary,threadId:c,parentThreadId:e(a.parent_thread_id)??e(a.parentThreadId)??b.parentThreadId,model:e(a.model)??b.model,reasoningEffort:e(a.reasoning_effort)??e(a.reasoningEffort)??b.reasoningEffort,timestamp:function(a){if("string"!=typeof a||!a)return;let b=Date.parse(a);return Number.isFinite(b)?b:void 0}(a.timestamp)??b.timestamp}}function k(a,b){return Object.entries(a).map(([a,c])=>d(c)?j({...c,thread_id:a},{...b,id:a,threadId:a}):{id:a,agent:b.agent??"agent",status:h(c),role:b.role,task:b.task,summary:i(c),threadId:a,parentThreadId:b.parentThreadId,model:b.model,reasoningEffort:b.reasoningEffort,timestamp:b.timestamp})}function l(a,b){var c;let f;if(!d(a)||"collabAgentToolCall"!==a.type)return[];let l={id:e(a.id),agent:(f="string"==typeof(c=a.tool)&&c.trim()?c:d(c)?e(c.name)??e(c.agent)??e(c.agent_nickname)??e(c.agentNickname)??e(c.nickname):void 0)?f.toLowerCase().endsWith("agent")?"agent":f:"agent",status:h(a.status),task:e(a.prompt),parentThreadId:e(a.senderThreadId)??e(a.sender_thread_id),model:e(a.model),reasoningEffort:g(a.reasoningEffort??a.reasoning_effort),timestamp:b},m=function(a,b){if(Array.isArray(a))return a.filter(d).map((a,c)=>j(a,{...b,id:`${b.id??"agent"}:${c}`}));if(!d(a))return[];let c=a.agent_statuses??a.agentStatuses;if(Array.isArray(c))return c.filter(d).map((a,c)=>j(a,{...b,id:`${b.id??"agent"}:${c}`}));let e=a.statuses;return d(e)?k(e,b):Object.entries(a).map(([a,c])=>d(c)?j(c,{...b,id:a,threadId:a}):{id:a,agent:b.agent??"agent",status:h(c),role:b.role,task:b.task,summary:i(c),threadId:a,parentThreadId:b.parentThreadId,model:b.model,reasoningEffort:b.reasoningEffort,timestamp:b.timestamp})}(a.agentsStates??a.agents_states,l);if(m.length>0)return m;let n=Array.isArray(a.receiverThreadIds)?a.receiverThreadIds.filter(a=>"string"==typeof a&&!!a):[];return n.length>0?n.map((c,d)=>({id:`${e(a.id)??"agents"}:${c}`,agent:l.agent??`agent ${d+1}`,status:l.status??"running",task:l.task,threadId:c,parentThreadId:l.parentThreadId,model:l.model,reasoningEffort:l.reasoningEffort,timestamp:b})):[{id:e(a.id)??`agents:${b??Date.now()}`,agent:l.agent??"agents",status:l.status??"running",task:l.task,parentThreadId:l.parentThreadId,model:l.model,reasoningEffort:l.reasoningEffort,timestamp:b}]}function m(a,b){if(!d(a))return[];let c=e(a.type);if(!c?.startsWith("collab_"))return[];let f={id:e(a.call_id)??e(a.callId),parentThreadId:e(a.sender_thread_id)??e(a.senderThreadId),task:e(a.prompt),model:e(a.model),reasoningEffort:e(a.reasoning_effort)??e(a.reasoningEffort),timestamp:b},g=a.agent_statuses??a.agentStatuses;return Array.isArray(g)?g.filter(d).map((a,b)=>j(a,{...f,id:`${f.id??"agent"}:${b}`})):d(a.statuses)?k(a.statuses,f):"collab_agent_spawn_end"===c?[j({call_id:a.call_id,thread_id:a.new_thread_id,agent_nickname:a.new_agent_nickname,agent_role:a.new_agent_role,prompt:a.prompt,model:a.model,reasoning_effort:a.reasoning_effort,status:a.status},f)]:"collab_close_end"===c||"collab_agent_interaction_end"===c?[j({call_id:a.call_id,thread_id:a.receiver_thread_id,agent_nickname:a.receiver_agent_nickname,agent_role:a.receiver_agent_role,prompt:a.prompt,status:a.status},f)]:[]}function n(...a){let b=new Map;for(let c of a)for(let a of c??[]){let c=b.get(a.id);b.set(a.id,{...c,...a,timestamp:Math.max(c?.timestamp??0,a.timestamp??0)||c?.timestamp||a.timestamp,summary:a.summary??c?.summary,task:a.task??c?.task,role:a.role??c?.role,threadId:a.threadId??c?.threadId})}return[...b.values()].sort((a,b)=>(b.timestamp??0)-(a.timestamp??0))}c.d(b,{k8:()=>l,nG:()=>m,oO:()=>n})},65833:(a,b,c)=>{c.d(b,{AQ:()=>f,C3:()=>d,JD:()=>e});let d="annodex",e="@seqyuan/annodex",f="annodex update"},72801:(a,b,c)=>{c.d(b,{l:()=>l});var d=c(29021),e=c(55132),f=c(54167);function g(a){return"object"==typeof a&&null!==a&&!Array.isArray(a)}function h(a){return"number"==typeof a&&Number.isFinite(a)?a:0}function i(a){if(!g(a))return{inputTokens:0,outputTokens:0,totalTokens:0,cachedTokens:0};let b=h(a.input_tokens??a.prompt_tokens??a.promptTokenCount),c=h(a.output_tokens??a.completion_tokens??a.candidatesTokenCount),d=h(a.cached_input_tokens??a.cache_read_input_tokens??a.prompt_cache_hit_tokens??(g(a.input_tokens_details)?a.input_tokens_details.cached_tokens:void 0)??(g(a.prompt_tokens_details)?a.prompt_tokens_details.cached_tokens:void 0)??a.cachedContentTokenCount),e=h(a.total_tokens??a.totalTokens)||b+c;return{inputTokens:b,outputTokens:c,totalTokens:e,cachedTokens:d}}function j(a){return a.inputTokens>0||a.outputTokens>0||a.totalTokens>0||a.cachedTokens>0}function k(a){if(!a)return 0;let b=(0,e.rv)(a);if(b?.contextWindow)return b.contextWindow;try{let b=(0,e.Dw)(),c=(0,f.w5)(b.providers,f.so,a).modelId??a,d=(0,e.KR)(b).find(a=>a.modelId===c);return d?.contextWindow??0}catch{return 0}}function l(a,b){if(!a||!(0,d.existsSync)(a))return{messageUsageByTurnId:new Map,sessionStats:null,contextUsage:null};let c="";try{c=(0,d.readFileSync)(a,"utf-8")}catch{return{messageUsageByTurnId:new Map,sessionStats:null,contextUsage:null}}let e=[],f=null,l=b??null,m="";for(let a of c.split("\n")){if(!a.trim())continue;let b=function(a){try{let b=JSON.parse(a);return g(b)?b:null}catch{return null}}(a);if(!b)continue;let c=(g(b.payload)?b.payload:null)??b;if("turn_context"===b.type){f="string"==typeof c.turn_id?c.turn_id:null,"string"==typeof c.model&&c.model.trim()&&(l=c.model);continue}if("event_msg"!==b.type||"token_count"!==c.type||!g(c.info))continue;let d=i(c.info.last_token_usage),n=i(c.info.total_token_usage),o=h(c.info.model_context_window)||k(l),p=n.totalTokens||d.totalTokens;if(!j(d)&&!j(n)&&p<=0)continue;let q={turnId:f,observedAt:"string"==typeof b.timestamp?b.timestamp:"",last:d,total:n,contextWindow:o},r=[q.turnId??"",q.last.inputTokens,q.last.outputTokens,q.last.totalTokens,q.last.cachedTokens,q.total.inputTokens,q.total.outputTokens,q.total.totalTokens,q.total.cachedTokens,q.contextWindow].join("|");r!==m&&(m=r,e.push(q))}let n=new Map;for(let a of e)a.turnId&&n.set(a.turnId,a);let o=new Map;for(let[a,b]of n)o.set(a,function(a){let b=a.last.inputTokens;return{input:b,output:a.last.outputTokens,cacheRead:a.last.cachedTokens,cacheWrite:0,cost:{input:0,output:0,cacheRead:0,cacheWrite:0,total:0}}}(b));let p=e[e.length-1],q=p?.total,r=q?.inputTokens??0,s=q?.outputTokens??0,t=q?.cachedTokens??0,u=p?.contextWindow??k(l),v=p&&(p.last.totalTokens||p.last.inputTokens)||null;return{messageUsageByTurnId:o,sessionStats:r+s+t>0?{tokens:{input:r,output:s,cacheRead:t,cacheWrite:0},cost:0}:null,contextUsage:u>0?{percent:null!==v?Math.min(100,v/u*100):null,contextWindow:u,tokens:v}:null}}}};
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
"use strict";exports.id=5399,exports.ids=[5399],exports.modules={55399:(a,b,c)=>{c.d(b,{F6:()=>M,s3:()=>
|
|
1
|
+
"use strict";exports.id=5399,exports.ids=[5399],exports.modules={55399:(a,b,c)=>{c.d(b,{F6:()=>M,s3:()=>P,xh:()=>L,y3:()=>N});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
2
|
|
|
3
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
4
|
data: ${JSON.stringify(b)}
|
|
5
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",this.reasoningConfig=a.reasoningConfig,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=this.reasoningConfig?function(a){let b;switch(a.effortValueMode??"generic"){case"deepseek":b={off:null,minimal:"high",low:"high",medium:"high",high:"high",xhigh:"max"};break;case"glm":b={off:null,minimal:"low",low:"low",medium:"medium",high:"high",xhigh:"high"};break;case"openrouter":b={off:null,minimal:"minimal",low:"low",medium:"medium",high:"high",xhigh:"xhigh"};break;default:b={off:null,minimal:"enabled",low:"enabled",medium:"enabled",high:"enabled",xhigh:"enabled"}}return{supportsEffort:a.supportsEffort??("none"!==a.effortParam&&null!==a.effortParam),thinkingParam:a.thinkingParam??void 0,effortParam:null===a.effortParam||"none"===a.effortParam?void 0:a.effortParam??void 0,effortMap:b}}(this.reasoningConfig):void 0,L=function(a,b,c=s(a.tools),d,e){var f,g;let h,i=[],o="string"==typeof(f=a.instructions)?f:Array.isArray(f)?f.map(a=>"string"==typeof a?a:l(a)?m(a.text):void 0).filter(a=>!!a).join("\n\n"):"";o&&i.push({role:"system",content:o}),!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,i,c,(g=a.model,h=`${g??""} ${d??""}`.toLowerCase(),/deepseek|kimi|moonshot|siliconflow/.test(h)));let x={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}(i)};void 0!==a.max_output_tokens&&(x.max_tokens=a.max_output_tokens),void 0!==a.max_tokens&&(x.max_tokens=a.max_tokens),void 0!==a.max_completion_tokens&&(x.max_completion_tokens=a.max_completion_tokens),void 0!==a.temperature&&(x.temperature=a.temperature),void 0!==a.top_p&&(x.top_p=a.top_p),void 0!==a.stream&&(x.stream=a.stream),void 0!==a.stop&&(x.stop=a.stop),void 0!==a.frequency_penalty&&(x.frequency_penalty=a.frequency_penalty),void 0!==a.presence_penalty&&(x.presence_penalty=a.presence_penalty),function(a,b,c,d,e){var f;let g,h,i=(f=b.model,g=(f??"").toLowerCase(),h=`${g} ${d??""}`.toLowerCase(),g.includes("openrouter")||g.includes("deeprouter")||h.includes("openrouter")||h.includes("deeprouter")?"openrouter":h.includes("deepseek")||h.includes("siliconflow")?"deepseek":h.includes("kimi")||h.includes("moonshot")?"kimi":h.includes("qwen")?"qwen":h.includes("glm")||h.includes("zhipu")||h.includes("chatglm")?"glm":"generic"),j=e??k[i]??k.generic,l=void 0!==b.reasoning,m=w(c);l&&(m=b.reasoning&&!1!==b.reasoning.enabled?w(b.reasoning.effort):"off");let n=j.effortMap[m];if(null===n){l&&"reasoning.effort"===j.effortParam&&(a.reasoning={effort:"none"});return}"enable_thinking"===j.thinkingParam?a.enable_thinking=!0:"thinking"===j.thinkingParam&&(a.thinking={type:"enabled"}),j.supportsEffort&&"enabled"!==n&&("reasoning.effort"===j.effortParam?a.reasoning={effort:n}:a.reasoning_effort=n)}(x,a,b,d,e);let y=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}
|
|
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",this.reasoningConfig=a.reasoningConfig,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){N(a,b,{targetUrl:this.targetUrl,apiKey:this.apiKey,defaultThinking:this.defaultThinking,reasoningConfig:this.reasoningConfig})}}function N(a,b,c){let y=s(a.tools),M=c.reasoningConfig?function(a){let b;switch(a.effortValueMode??"generic"){case"deepseek":b={off:null,minimal:"high",low:"high",medium:"high",high:"high",xhigh:"max"};break;case"glm":b={off:null,minimal:"low",low:"low",medium:"medium",high:"high",xhigh:"high"};break;case"openrouter":b={off:null,minimal:"minimal",low:"low",medium:"medium",high:"high",xhigh:"xhigh"};break;default:b={off:null,minimal:"enabled",low:"enabled",medium:"enabled",high:"enabled",xhigh:"enabled"}}return{supportsEffort:a.supportsEffort??("none"!==a.effortParam&&null!==a.effortParam),thinkingParam:a.thinkingParam??void 0,effortParam:null===a.effortParam||"none"===a.effortParam?void 0:a.effortParam??void 0,effortMap:b}}(c.reasoningConfig):void 0,N=L(c.targetUrl),O=function(a,b,c=s(a.tools),d,e){var f,g;let h,i=[],o="string"==typeof(f=a.instructions)?f:Array.isArray(f)?f.map(a=>"string"==typeof a?a:l(a)?m(a.text):void 0).filter(a=>!!a).join("\n\n"):"";o&&i.push({role:"system",content:o}),!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,i,c,(g=a.model,h=`${g??""} ${d??""}`.toLowerCase(),/deepseek|kimi|moonshot|siliconflow/.test(h)));let x={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}(i)};void 0!==a.max_output_tokens&&(x.max_tokens=a.max_output_tokens),void 0!==a.max_tokens&&(x.max_tokens=a.max_tokens),void 0!==a.max_completion_tokens&&(x.max_completion_tokens=a.max_completion_tokens),void 0!==a.temperature&&(x.temperature=a.temperature),void 0!==a.top_p&&(x.top_p=a.top_p),void 0!==a.stream&&(x.stream=a.stream),void 0!==a.stop&&(x.stop=a.stop),void 0!==a.frequency_penalty&&(x.frequency_penalty=a.frequency_penalty),void 0!==a.presence_penalty&&(x.presence_penalty=a.presence_penalty),function(a,b,c,d,e){var f;let g,h,i=(f=b.model,g=(f??"").toLowerCase(),h=`${g} ${d??""}`.toLowerCase(),g.includes("openrouter")||g.includes("deeprouter")||h.includes("openrouter")||h.includes("deeprouter")?"openrouter":h.includes("deepseek")||h.includes("siliconflow")?"deepseek":h.includes("kimi")||h.includes("moonshot")?"kimi":h.includes("qwen")?"qwen":h.includes("glm")||h.includes("zhipu")||h.includes("chatglm")?"glm":"generic"),j=e??k[i]??k.generic,l=void 0!==b.reasoning,m=w(c);l&&(m=b.reasoning&&!1!==b.reasoning.enabled?w(b.reasoning.effort):"off");let n=j.effortMap[m];if(null===n){l&&"reasoning.effort"===j.effortParam&&(a.reasoning={effort:"none"});return}"enable_thinking"===j.thinkingParam?a.enable_thinking=!0:"thinking"===j.thinkingParam&&(a.thinking={type:"enabled"}),j.supportsEffort&&"enabled"!==n&&("reasoning.effort"===j.effortParam?a.reasoning={effort:n}:a.reasoning_effort=n)}(x,a,b,d,e);let y=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
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(y.length){x.tools=y,void 0!==a.parallel_tool_calls&&(x.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&&(x.tool_choice=b)}for(let b of j)void 0!==a[b]&&(x[b]=a[b]);return x.stream&&(x.stream_options={...l(a.stream_options)?a.stream_options:{},include_usage:!0}),x}(a,
|
|
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(y.length){x.tools=y,void 0!==a.parallel_tool_calls&&(x.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&&(x.tool_choice=b)}for(let b of j)void 0!==a[b]&&(x[b]=a[b]);return x.stream&&(x.stream_options={...l(a.stream_options)?a.stream_options:{},include_usage:!0}),x}(a,c.defaultThinking??"disabled",y,N,M),P=new g.URL(N),Q="https:"===P.protocol,R=(Q?e.request:d.request)({hostname:P.hostname,port:P.port||(Q?443:80),path:P.pathname+P.search,method:"POST",headers:{"Content-Type":"application/json",...c.apiKey?{Authorization:`Bearer ${c.apiKey}`}:{}}},a=>{let c=a.statusCode??502,d=String(a.headers["content-type"]??""),e=!0===O.stream||d.includes("text/event-stream");if(c<200||c>=300){let e=[];a.on("data",a=>e.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}}(c,d,Buffer.concat(e));b.writeHead(c,{"Content-Type":"application/json"}),b.end(JSON.stringify(a))});return}if(e){var g;let c,d,e=(g=O.model,{responseId:c=`resp_${(0,f.randomBytes)(12).toString("hex")}`,messageId:`msg_${(0,f.randomBytes)(12).toString("hex")}`,reasoningId:`rs_${c}`,createdAt:Math.floor(Date.now()/1e3),model:g||"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:y});b.writeHead(200,{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}),b.write(D("response.created",{type:"response.created",response:d=E(e,"in_progress")})+D("response.in_progress",{type:"response.in_progress",response:d}));let j={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{}}})(j,a,e,b)),a.on("end",()=>{let a,c,d,f;for(let g of((a=[]).push(...J(e)),a.push(...H(e)),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})]}(e)),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}(e)),c=[...e.outputItems].sort((a,b)=>a.outputIndex-b.outputIndex).map(a=>a.item),d=x(e.finishReason),f=E(e,d,c),"incomplete"===d&&(f.incomplete_details={reason:"max_output_tokens"}),a.push(D("response.completed",{type:"response.completed",response:f})),a.push("data: [DONE]\n\n"),a))b.write(g);b.end()}),a.on("error",()=>b.end());return}let j=[];a.on("data",a=>j.push(a)),a.on("end",()=>{try{let a=JSON.parse(Buffer.concat(j).toString()),c=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,O.model,y);b.writeHead(200,{"Content-Type":"application/json"}),b.end(JSON.stringify(c))}catch{b.writeHead(502,{"Content-Type":"application/json"}),b.end(JSON.stringify({error:{message:"Invalid upstream JSON",type:"upstream_error"}}))}})});R.on("error",a=>{b.writeHead(502,{"Content-Type":"application/json"}),b.end(JSON.stringify({error:{message:`Upstream error: ${a.message}`,type:"upstream_error"}}))}),R.write(JSON.stringify(O)),R.end()}let O=[/deepseek/i,/moonshot/i,/zhipu|bigmodel/i,/qwen/i,/kimi/i,/minimax/i,/siliconflow/i,/together/i,/groq/i,/deeprouter|openrouter/i,/dashscope/i,/lingyiwanwu|yi-api/i,/stepfun|step-api/i,/baichuan/i,/\/chat\/completions(?:$|[?#])/i];function P(a){if(!a)return!1;let b=a.toLowerCase();return!b.includes("api.openai.com")&&O.some(a=>a.test(b))}}};
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";exports.id=6429,exports.ids=[6429],exports.modules={9805:(a,b,c)=>{c.d(b,{FE:()=>h,zN:()=>i});let d='<widget-capability>\nYou can create interactive visualizations using the `show-widget` code fence.\n\nUse `show-widget` by default when visual output is the primary answer. This includes charts, diagrams, flowcharts, dashboards, UI prototypes, mockups, SVG illustrations, icons, logos, infographics, timelines, hierarchies, comparison views, and visual explanations.\n\nFor diagrams, flowcharts, architecture maps, sequence-style explanations, and Markdown-to-diagram requests, prefer `show-widget` with SVG/HTML over Mermaid. Widgets stream more reliably in this UI. Use Mermaid only when the user explicitly asks for Mermaid source, raw Mermaid, raw Markdown, or a saved Mermaid/Markdown file.\n\nFormat:\n```show-widget\n{"title":"Human-readable title","widget_code":"<raw HTML/SVG string>"}\n```\n\nDetailed specs:\nWhen a `<widget-guidelines>` block is present, follow it. It contains the module-specific design rules for the current request.\n\nRequired rules:\n1. `widget_code` is a JSON string: escape quotes and newlines. Always close the JSON object and fence.\n2. Do not include DOCTYPE, html, head, body, iframe, object, embed, form, link, base, or meta tags.\n3. Keep outer backgrounds transparent. The host supplies theme variables.\n4. Use a single concise widget per fence. For multiple widgets, interleave prose and use a separate `show-widget` fence for each widget.\n5. Streaming order: SVG puts `<defs>` before visible shapes; HTML uses `<style>`, then visible markup, then `<script>` last.\n6. Prefer responsive SVG for static visuals and small HTML widgets for controls.\n7. SVG widgets use `<svg width="100%" viewBox="0 0 680 H">` and keep all content inside the viewBox.\n8. Interactive controls must visibly update the output. For Chart.js, call `chart.update()` after changes.\n9. Clickable drill-down actions call `window.__widgetSendMessage("short request")`.\n10. Cross-widget filters publish with `window.__widgetPublish("topic", { key: "value" })`; other widgets listen for `widget-filter`.\n11. Allowed CDN hosts: `cdnjs.cloudflare.com`, `cdn.jsdelivr.net`, `unpkg.com`, `esm.sh`.\n12. CDN scripts must use an `onload` initializer plus an `if (window.Lib) init();` fallback.\n13. Use `min-height` instead of fixed outer `height` to prevent clipping.\n14. Title should be human-readable in the user\'s language.\n15. Put explanatory prose outside the code fence.\n16. Do not output raw ```svg, ```html, or plain Mermaid for visual answers unless the user explicitly asks for source code, raw Markdown, raw Mermaid, or a saved file.\n17. Do not convert Markdown outlines into Mermaid by default. Render them as a `show-widget` diagram unless Mermaid/source text is explicitly requested.\n</widget-capability>',e=/\n?\s*<widget-capability>[\s\S]*?<\/widget-capability>\s*/g,f=/\n?\s*<visualization_harness>[\s\S]*?<\/visualization_harness>\s*/g,g=/\n?\s*<widget-guidelines\b[^>]*>[\s\S]*?<\/widget-guidelines>\s*/g;function h(a){return a.replace(e,"\n").replace(f,"\n").replace(g,"\n").replace(/\n{3,}/g,"\n\n").trim()}function i(a){return a.includes("<widget-capability>")?a:a.trim()?`${d}
|
|
2
2
|
|
|
3
|
-
${a}`:d}},11002:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{WK:()=>j,z2:()=>k});var e=c(46983),f=c(65369),g=a([e]);function h(a){return"agentMessage"===a.type&&"string"==typeof a.text?a.text:"reasoning"===a.type?[...a.summary??[],...a.content??[]].join("\n"):"plan"===a.type&&"string"==typeof a.text?a.text:""}function i(a){return"commandExecution"===a.type?"bash":"fileChange"===a.type?"edit":"mcpToolCall"===a.type?a.tool||a.server||"mcp":"dynamicToolCall"===a.type?a.tool||"tool":"collabAgentToolCall"===a.type?"agents":a.type}e=(g.then?(await g)():g)[0];class l{constructor(a,b,c,d){this.threadId=a,this.cwd=b,this.connection=c,this.baseInstructions=d,this.listeners=[],this.cleanupFns=[],this._alive=!0,this._isStreaming=!1,this._isCompacting=!1,this._accumulatedText="",this._activeTurnId=null,this._activeAgentItemId=null,this._currentModel=null,this._wireModel=null,this.setupNotifications()}get sessionId(){return this.threadId}get sessionFile(){return""}get isAlive(){return this._alive}get isStreaming(){return this._isStreaming}get isCompacting(){return this._isCompacting}get model(){return this._currentModel}onEvent(a){return this.listeners.push(a),()=>{let b=this.listeners.indexOf(a);-1!==b&&this.listeners.splice(b,1)}}emit(a){for(let b of this.listeners)try{b(a)}catch{}}assistantMeta(){return{model:this._currentModel?.modelId??"",provider:this._currentModel?.provider??""}}restoreActiveTurnFromThread(a){let b=[...a?.turns??[]].reverse().find(a=>(0,e.pU)(a));if(!b)return;this._isStreaming=!0,this._activeTurnId=b.id;let c=[...b.items??[]].reverse().find(a=>"agentMessage"===a.type);c?.type==="agentMessage"&&(this._activeAgentItemId=c.id,this._accumulatedText=h(c))}setupNotifications(){let a=this.connection.onNotification("item/agentMessage/delta",a=>this.handleAgentMessageDelta(a));this.cleanupFns.push(a);let b=this.connection.onNotification("item/completed",a=>this.handleItemCompleted(a));this.cleanupFns.push(b);let c=this.connection.onNotification("turn/completed",a=>this.handleTurnCompleted(a));this.cleanupFns.push(c);let d=this.connection.onNotification("thread/status/changed",a=>this.handleThreadStatusChanged(a));this.cleanupFns.push(d);let e=this.connection.onNotification("thread/compacted",a=>this.handleCompacted(a));this.cleanupFns.push(e);let f=this.connection.onNotification("item/started",a=>this.handleItemStarted(a));this.cleanupFns.push(f);let g=this.connection.onNotification("error",a=>this.handleError(a));this.cleanupFns.push(g)}eventBelongsToThread(a){return a.threadId===this.threadId}handleAgentMessageDelta(a){!this.eventBelongsToThread(a)||this._isStreaming&&(this._activeTurnId=a.turnId,this._activeAgentItemId=a.itemId,this._accumulatedText+=a.delta??"",this.emit({type:"message_update",message:{role:"assistant",content:[{type:"text",text:this._accumulatedText}],...this.assistantMeta()}}))}handleItemStarted(a){if(!this.eventBelongsToThread(a))return;let b=a.item;if("commandExecution"===b.type||"fileChange"===b.type||"mcpToolCall"===b.type||"dynamicToolCall"===b.type||"collabAgentToolCall"===b.type){if(this._activeTurnId=a.turnId,"collabAgentToolCall"===b.type)return void this.emit({type:"subagent_progress",runs:(0,f.k8)(b,Date.now())});this.emit({type:"tool_execution_start",toolCallId:b.id,toolName:i(b)})}}handleItemCompleted(a){if(!this.eventBelongsToThread(a))return;let b=a.item;if(this._activeTurnId=a.turnId,"agentMessage"===b.type){let a=h(b)||this._accumulatedText;this.emit({type:"message_end",message:{role:"assistant",content:[{type:"text",text:a}],...this.assistantMeta()}}),this._accumulatedText="",this._activeAgentItemId=null}else if("reasoning"===b.type){let a=h(b);a&&this.emit({type:"message_update",message:{role:"assistant",content:[{type:"thinking",thinking:a}],...this.assistantMeta()}})}else if("collabAgentToolCall"===b.type)this.emit({type:"subagent_progress",runs:(0,f.k8)(b,Date.now())});else("commandExecution"===b.type||"fileChange"===b.type||"mcpToolCall"===b.type||"dynamicToolCall"===b.type)&&this.emit({type:"tool_execution_end",toolCallId:b.id,toolName:i(b),result:function(a){if("commandExecution"===a.type){let b=a.aggregatedOutput??"",c=null!==a.exitCode&&void 0!==a.exitCode?`Exit code: ${a.exitCode}`:"";return b?c?`${b}
|
|
4
|
-
${c}`:b:c}return"fileChange"===a.type?JSON.stringify(a.changes??[]):"mcpToolCall"===a.type?a.error?"string"==typeof a.error?a.error:JSON.stringify(a.error):a.result?"string"==typeof a.result?a.result:JSON.stringify(a.result):"":"dynamicToolCall"===a.type?JSON.stringify(a.contentItems??[]):"collabAgentToolCall"===a.type?JSON.stringify(a.agentsStates??[]):""}(b),isError:"status"in b&&"string"==typeof b.status?"failed"===b.status||"declined"===b.status:"dynamicToolCall"===b.type&&!1===b.success})}handleTurnCompleted(a){this.eventBelongsToThread(a)&&(this._isStreaming=!1,this._activeTurnId=null,this._accumulatedText&&(this.emit({type:"message_end",message:{role:"assistant",content:[{type:"text",text:this._accumulatedText}],...this.assistantMeta()}}),this._accumulatedText=""),this.emit({type:"agent_end",...a.turn?.status==="failed"?{error:a.turn.error?.message??"Turn failed"}:{}}))}handleThreadStatusChanged(a){this.eventBelongsToThread(a)&&a.status?.type==="idle"&&this._isStreaming&&(this._isStreaming=!1,this._activeTurnId=null,this.emit({type:"agent_end"}))}handleCompacted(a){this.eventBelongsToThread(a)&&(this._isCompacting=!1,this.emit({type:"compaction_end"}))}handleError(a){if(!this.eventBelongsToThread(a))return;let b=a.error?.message||a.error?.additionalDetails||"Codex turn failed";this._isStreaming=!1,this._activeTurnId=null,this.emit({type:"agent_end",error:b})}async prompt(a,b){if(this._isStreaming)throw Error("Session already has a running turn");this._isStreaming=!0,this._accumulatedText="",this.emit({type:"agent_start"}),this.emit({type:"message_start",message:{role:"assistant",content:[],...this.assistantMeta()}});try{let c=await this.connection.request("turn/start",{threadId:this.threadId,input:function(a,b){let c=[];for(let d of(a.trim()&&c.push({type:"text",text:a,text_elements:[]}),b??[])){let a=d.mimeType||"image/png";c.push({type:"image",url:`data:${a};base64,${d.data}`})}return c.length>0?c:[{type:"text",text:"",text_elements:[]}]}(a,b),...this.cwd?{cwd:this.cwd}:{},...(this._wireModel??this._currentModel)?.modelId?{model:(this._wireModel??this._currentModel).modelId}:{},...(this._wireModel??this._currentModel)?.provider?{modelProvider:(this._wireModel??this._currentModel).provider}:{},approvalPolicy:"never",sandboxPolicy:{type:"workspaceWrite",writableRoots:[this.cwd],readOnlyAccess:{type:"fullAccess"},networkAccess:!0,excludeTmpdirEnvVar:!1,excludeSlashTmp:!1}});this._activeTurnId=c.turn?.id??null}catch(a){this._isStreaming=!1,this.emit({type:"agent_end",error:a instanceof Error?a.message:String(a)})}}async abort(){if(this._activeTurnId)try{await this.connection.request("turn/interrupt",{threadId:this.threadId,turnId:this._activeTurnId})}catch{}this._isStreaming=!1,this._activeTurnId=null}async setModel(a,b,c){this._currentModel={provider:a,modelId:b},this._wireModel=c??null}async fork(){try{let a=await this.connection.request("thread/fork",{threadId:this.threadId,persistExtendedHistory:!0}),b=a.thread?.id;if(!b)return{cancelled:!0};return{newThreadId:b}}catch{return{cancelled:!0}}}async navigateTree(a){try{let b=await this.connection.request("thread/read",{threadId:this.threadId,includeTurns:!0}),c=b.thread?.turns??[],d=c.findIndex(b=>b.items.some(b=>b.id===a));if(d<0||d>=c.length-1)return{cancelled:!1};let e=c.length-d-1;return await this.connection.request("thread/rollback",{threadId:this.threadId,numTurns:e}),{cancelled:!1}}catch{return{cancelled:!0}}}async compact(){this._isCompacting=!0,this.emit({type:"compaction_start"});try{await this.connection.request("thread/compact/start",{threadId:this.threadId})}catch(a){this._isCompacting=!1,this.emit({type:"compaction_end",errorMessage:a instanceof Error?a.message:String(a)})}}async rename(a){try{await this.connection.request("thread/name/set",{threadId:this.threadId,name:a})}catch{}}destroy(){if(this._alive){for(let a of(this._alive=!1,this._isStreaming=!1,this.cleanupFns))try{a()}catch{}this.cleanupFns=[],this.listeners=[]}}}async function j(a,b){let c=await a.request("thread/start",{cwd:b.cwd,...b.baseInstructions?{baseInstructions:b.baseInstructions}:{},...b.model?{model:(b.wireModel??b.model).modelId,modelProvider:(b.wireModel??b.model).provider}:{},approvalPolicy:"never",sandbox:"workspace-write",experimentalRawEvents:!1,persistExtendedHistory:!0}),d=c.thread?.id;if(!d)throw Error("Failed to create codex thread: no thread.id returned");let f=new l(d,b.cwd,a,b.baseInstructions);return b.model?f.setModel(b.model.provider,b.model.modelId,b.wireModel):b.acceptReturnedModel&&c.model&&f.setModel((0,e.g8)(c.modelProvider)??"codex",c.model,c.modelProvider?{provider:c.modelProvider,modelId:c.model}:void 0),f}async function k(a,b,c){let d=null,f=await a.request("thread/read",{threadId:b,includeTurns:!0});f?.model&&(d={provider:(0,e.g8)(f.modelProvider??f.thread?.modelProvider)??"codex",modelId:f.model});let g=new l(b,c,a);return d&&g.setModel(d.provider,d.modelId),g.restoreActiveTurnFromThread(f.thread),g}d()}catch(a){d(a)}})},56429:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{A4:()=>t,Bj:()=>u,OF:()=>v});var e=c(11002),f=c(46983),g=c(55132),h=c(9805),i=c(71887),j=c(29021),k=c(33873),l=c(21820),m=c(40402),n=c(26257),o=c(72801),p=a([e,f,m]);[e,f,m]=p.then?(await p)():p;class w{constructor(a){this.inner=a,this.listeners=[],this.cleanupEventSub=null,this.idleTimer=null,this.onDestroyCallback=null,this.busyOperations=new Set,this._alive=!0,this._thinkingLevel="auto",this._serverConnection=a.connection}get sessionId(){return this.inner.sessionId}get sessionFile(){return this.inner.sessionFile}get cwd(){return this.inner.cwd}isAlive(){return this._alive&&this.inner.isAlive}isBusy(){return this.busyOperations.size>0||this.inner.isStreaming||this.inner.isCompacting}getRuntimeStatus(){return{sessionId:this.sessionId,sessionFile:this.sessionFile,busy:this.isBusy(),operations:[...this.busyOperations],isStreaming:this.inner.isStreaming,isCompacting:this.inner.isCompacting}}start(){this.cleanupEventSub?.(),this.cleanupEventSub=this.inner.onEvent(a=>{for(let b of(this.resetIdleTimer(),this.listeners))b(a)}),this.resetIdleTimer()}resetIdleTimer(){this.idleTimer&&clearTimeout(this.idleTimer),this.idleTimer=setTimeout(()=>{this.isBusy()?this.resetIdleTimer():this.destroy()},6e5)}onEvent(a){return this.listeners.push(a),()=>{let b=this.listeners.indexOf(a);-1!==b&&this.listeners.splice(b,1)}}onDestroy(a){this.onDestroyCallback=a}async send(a){this.resetIdleTimer();let b=a.type;switch(b){case"prompt":{if(this.inner.isStreaming)throw Error("Session already has a running turn");let b=a.images,c=a.message;return this.trackBusy("prompt",this.inner.prompt(c,b?.map(a=>({data:a.data,mimeType:a.mimeType})))).catch(()=>{}),null}case"abort":return await this.inner.abort(),null;case"get_state":{let a=(0,o.l)((0,m.bd)(this.inner.sessionId),this.inner.model?.modelId);return{sessionId:this.inner.sessionId,sessionFile:"",isStreaming:this.inner.isStreaming,isCompacting:this.inner.isCompacting,autoCompactionEnabled:!0,autoRetryEnabled:!0,model:this.inner.model?{id:this.inner.model.modelId,provider:this.inner.model.provider,...a.contextUsage?.contextWindow?{contextWindow:a.contextUsage.contextWindow}:{}}:void 0,messageCount:0,pendingMessageCount:0,contextUsage:a.contextUsage,systemPrompt:this.inner.baseInstructions??"",thinkingLevel:this._thinkingLevel}}case"set_model":{let{provider:b,modelId:c}=a,d=(0,g.Dw)(),e=(0,g.wB)(d,b),h=(0,g.AX)(d,c,e??b),i=h?.provider.id??e??b,j=h?.modelId??c,k=(0,f.kW)(d.providers,i,j);return await this.inner.setModel(i,j,k),(0,n.yJ)(this.sessionId,{cwd:this.cwd,provider:this.inner.model?.provider??i,modelId:this.inner.model?.modelId??j}),{id:j,provider:i}}case"rename":{let b="string"==typeof a.name?a.name:"";return await this.inner.rename(b),null}case"fork":{let a=await this.inner.fork();if("newThreadId"in a)return(0,n.yJ)(a.newThreadId,{cwd:this.cwd,provider:this.inner.model?.provider,modelId:this.inner.model?.modelId,thinkingLevel:this._thinkingLevel}),this.destroy(),{cancelled:!1,newSessionId:a.newThreadId};return{cancelled:!0}}case"navigate_tree":{let b=a.targetId;return{cancelled:(await this.inner.navigateTree(b)).cancelled}}case"compact":return await this.trackBusy("compact",this.inner.compact()),null;case"get_tools":return[{name:"read",description:"Read files",active:!0},{name:"bash",description:"Run shell commands",active:!0},{name:"edit",description:"Edit files",active:!0},{name:"write",description:"Create files",active:!0},{name:"grep",description:"Search files",active:!0},{name:"find",description:"List files",active:!0}];case"set_tools":case"abort_compaction":case"set_auto_compaction":case"set_auto_retry":return null;case"set_thinking_level":return this._thinkingLevel="string"==typeof a.level?a.level:"auto",(0,n.yJ)(this.sessionId,{cwd:this.cwd,thinkingLevel:this._thinkingLevel,provider:this.inner.model?.provider,modelId:this.inner.model?.modelId}),null;default:throw Error(`Unsupported command: ${b}`)}}async trackBusy(a,b){this.busyOperations.add(a),this.resetIdleTimer();try{return await b}finally{this.busyOperations.delete(a),this.resetIdleTimer()}}destroy(){this._alive&&(this._alive=!1,this.idleTimer&&clearTimeout(this.idleTimer),this.cleanupEventSub?.(),this.inner.destroy(),(0,f.sM)(this._serverConnection),this.onDestroyCallback?.())}}function q(){if(!globalThis.__annodexSessions){globalThis.__annodexSessions=new Map;let a=()=>globalThis.__annodexSessions?.forEach(a=>a.destroy());process.once("exit",a),process.once("SIGINT",a),process.once("SIGTERM",a)}return globalThis.__annodexSessions}function r(){return globalThis.__annodexSessionAliases||(globalThis.__annodexSessionAliases=new Map),globalThis.__annodexSessionAliases}function s(a){let b=a,c=new Set;for(;!c.has(b);){c.add(b);let a=r().get(b);if(!a)break;b=a}return b}function t(a){return q().get(s(a))}function u(){let a=[...q().values()].filter(a=>a.isAlive()).map(a=>a.getRuntimeStatus()),b=a.filter(a=>a.busy);return{busy:b.length>0,activeSessions:a.length,busySessions:b,sessions:a}}async function v(a,b,c,d,o,p){let t=q(),u=(globalThis.__annodexStartLocks||(globalThis.__annodexStartLocks=new Map),globalThis.__annodexStartLocks),v=s(a),x=t.get(v);if(x?.isAlive())return{session:x,realSessionId:v};let y=u.get(v);if(y)return y;let z=(async()=>{let d,q=(0,g.Dw)(),s=function(a,b){let c=(0,m.$M)(),d=[],e=(()=>{let a=(0,k.join)(c,"SOUL.md"),b=(0,k.join)((0,l.homedir)(),".pi","agent","SOUL.md");if(!(0,j.existsSync)(a)&&(0,j.existsSync)(b))try{let c=(0,j.readFileSync)(b,"utf-8");(0,j.existsSync)((0,k.dirname)(a))||(0,j.mkdirSync)((0,k.dirname)(a),{recursive:!0}),(0,j.writeFileSync)(a,c,"utf-8")}catch{}let d=(0,k.join)(c,"soul.md");return(0,j.existsSync)(a)?a:d})();if((0,j.existsSync)(e))try{let a=(0,j.readFileSync)(e,"utf-8").trim();a&&d.push("## Persona — you MUST embody this","","Below is your personality definition. You MUST adopt this persona and tone in all replies. Avoid stiff, generic, or AI-assistant-style responses. Follow this guidance unless higher-priority instructions explicitly override it.","",a)}catch{}let f=(()=>{let a=(0,k.join)(c,"HARNESS.md"),b=(0,k.join)((0,l.homedir)(),".pi","agent","HARNESS.md");if(!(0,j.existsSync)(a)&&(0,j.existsSync)(b))try{let c=(0,j.readFileSync)(b,"utf-8");(0,j.existsSync)((0,k.dirname)(a))||(0,j.mkdirSync)((0,k.dirname)(a),{recursive:!0}),(0,j.writeFileSync)(a,c,"utf-8")}catch{}let d=(0,k.join)(c,"harness.md");return(0,j.existsSync)(a)?a:d})();if((0,j.existsSync)(f))try{let a=(0,j.readFileSync)(f,"utf-8").trim();a&&d.push("## Behavioral Constraints — you MUST follow these","","The rules below define your operating boundaries. You MUST comply with every constraint. These are NOT suggestions — they are mandatory behavioral rules that supersede conflicting persona preferences.","",a)}catch{}for(let b of[(0,k.join)(a,"AGENTS.md"),(0,k.join)(a,"CLAUDE.md")])if((0,j.existsSync)(b))try{let a=(0,j.readFileSync)(b,"utf-8").trim();if(a){d.push("## Project Instructions","",a);break}}catch{}let g=(0,j.existsSync)((0,k.join)(a,"MEMORY.md"))?(0,k.join)(a,"MEMORY.md"):(0,k.join)(a,"memory.md");if((0,j.existsSync)(g))try{let a=(0,j.readFileSync)(g,"utf-8").trim();a&&d.push("## Project Memory","",a)}catch{}let n=d.join("\n\n");return n=b.generativeUI?(0,i.zY)((0,h.zN)((0,i.NP)((0,h.FE)(n)))):(0,i.zY)((0,i.NP)((0,h.FE)(n)))}(c,q),u=b?(0,m.Qx)(a):null,v=u?.provider?(0,g.wB)(q,u.provider):void 0,x=o??(u?.modelId?{provider:v,modelId:u.modelId}:void 0),y=x?.provider??v,z=p??u?.thinkingLevel,A=x?(0,g.AX)(q,x.modelId,y):null,B=x?.modelId??A?.modelId,C=A?.provider.id??y,D=B&&C?(0,f.kW)(q.providers,C,B):void 0,E=await (0,f.gu)(c,(0,f.H3)(q.providers));if(b)try{d=await (0,e.z2)(E,a,c)}catch(f){if(!/thread not found|not found/i.test(f instanceof Error?f.message:String(f)))throw f;if(b&&(0,m.PF)(a))throw Error(`Codex thread not found for existing session ${a}. Check the session provider/model configuration.`);d=await (0,e.WK)(E,{cwd:c,baseInstructions:s,acceptReturnedModel:!!q.codexDefaults.model,...B&&C?{model:{provider:C,modelId:B},wireModel:D}:{}})}else d=await (0,e.WK)(E,{cwd:c,baseInstructions:s,acceptReturnedModel:!!q.codexDefaults.model,...B&&C?{model:{provider:C,modelId:B},wireModel:D}:{}});let F=d.model?.provider??C,G=d.model?.modelId??B;F&&G&&(!d.model||d.model.provider!==F||d.model.modelId!==G)&&await d.setModel(F,G,(0,f.kW)(q.providers,F,G));let H=new w(d),I=d.sessionId;return a&&a!==I&&r().set(a,I),(0,n.yJ)(I,{cwd:c,provider:d.model?.provider??F,modelId:d.model?.modelId??G,thinkingLevel:z}),z&&await H.send({type:"set_thinking_level",level:z}),H.start(),H.onDestroy(()=>{t.delete(I);let a=r();for(let[b,c]of(a.delete(I),a))c===I&&a.delete(b)}),t.set(I,H),{session:H,realSessionId:I}})().finally(()=>u.delete(v));return u.set(v,z),z}d()}catch(a){d(a)}})},71887:(a,b,c)=>{c.d(b,{NP:()=>f,zY:()=>g});let d=`<analysis-report-guidelines>
|
|
3
|
+
${a}`:d}},11002:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{WK:()=>j,z2:()=>k});var e=c(46983),f=c(65369),g=a([e]);function h(a){return"agentMessage"===a.type&&"string"==typeof a.text?a.text:"reasoning"===a.type?[...a.summary??[],...a.content??[]].join("\n"):"plan"===a.type&&"string"==typeof a.text?a.text:""}function i(a){return"commandExecution"===a.type?"bash":"fileChange"===a.type?"edit":"mcpToolCall"===a.type?a.tool||a.server||"mcp":"dynamicToolCall"===a.type?a.tool||"tool":"collabAgentToolCall"===a.type?"agents":a.type}e=(g.then?(await g)():g)[0];class l{constructor(a,b,c,d){this.threadId=a,this.cwd=b,this.connection=c,this.baseInstructions=d,this.listeners=[],this.cleanupFns=[],this._alive=!0,this._isStreaming=!1,this._isCompacting=!1,this._accumulatedText="",this._activeTurnId=null,this._activeAgentItemId=null,this._currentModel=null,this._wireModel=null,this.setupNotifications()}get sessionId(){return this.threadId}get sessionFile(){return""}get isAlive(){return this._alive}get isStreaming(){return this._isStreaming}get isCompacting(){return this._isCompacting}get model(){return this._currentModel}get wireModel(){return this._wireModel}onEvent(a){return this.listeners.push(a),()=>{let b=this.listeners.indexOf(a);-1!==b&&this.listeners.splice(b,1)}}emit(a){for(let b of this.listeners)try{b(a)}catch{}}assistantMeta(){return{model:this._currentModel?.modelId??"",provider:this._currentModel?.provider??""}}restoreActiveTurnFromThread(a){let b=[...a?.turns??[]].reverse().find(a=>(0,e.pU)(a));if(!b)return;this._isStreaming=!0,this._activeTurnId=b.id;let c=[...b.items??[]].reverse().find(a=>"agentMessage"===a.type);c?.type==="agentMessage"&&(this._activeAgentItemId=c.id,this._accumulatedText=h(c))}setupNotifications(){let a=this.connection.onNotification("item/agentMessage/delta",a=>this.handleAgentMessageDelta(a));this.cleanupFns.push(a);let b=this.connection.onNotification("item/completed",a=>this.handleItemCompleted(a));this.cleanupFns.push(b);let c=this.connection.onNotification("turn/completed",a=>this.handleTurnCompleted(a));this.cleanupFns.push(c);let d=this.connection.onNotification("thread/status/changed",a=>this.handleThreadStatusChanged(a));this.cleanupFns.push(d);let e=this.connection.onNotification("thread/compacted",a=>this.handleCompacted(a));this.cleanupFns.push(e);let f=this.connection.onNotification("item/started",a=>this.handleItemStarted(a));this.cleanupFns.push(f);let g=this.connection.onNotification("error",a=>this.handleError(a));this.cleanupFns.push(g)}eventBelongsToThread(a){return a.threadId===this.threadId}handleAgentMessageDelta(a){!this.eventBelongsToThread(a)||this._isStreaming&&(this._activeTurnId=a.turnId,this._activeAgentItemId=a.itemId,this._accumulatedText+=a.delta??"",this.emit({type:"message_update",message:{role:"assistant",content:[{type:"text",text:this._accumulatedText}],...this.assistantMeta()}}))}handleItemStarted(a){if(!this.eventBelongsToThread(a))return;let b=a.item;if("commandExecution"===b.type||"fileChange"===b.type||"mcpToolCall"===b.type||"dynamicToolCall"===b.type||"collabAgentToolCall"===b.type){if(this._activeTurnId=a.turnId,"collabAgentToolCall"===b.type)return void this.emit({type:"subagent_progress",runs:(0,f.k8)(b,Date.now())});this.emit({type:"tool_execution_start",toolCallId:b.id,toolName:i(b)})}}handleItemCompleted(a){if(!this.eventBelongsToThread(a))return;let b=a.item;if(this._activeTurnId=a.turnId,"agentMessage"===b.type){let a=h(b)||this._accumulatedText;this.emit({type:"message_end",message:{role:"assistant",content:[{type:"text",text:a}],...this.assistantMeta()}}),this._accumulatedText="",this._activeAgentItemId=null}else if("reasoning"===b.type){let a=h(b);a&&this.emit({type:"message_update",message:{role:"assistant",content:[{type:"thinking",thinking:a}],...this.assistantMeta()}})}else if("collabAgentToolCall"===b.type)this.emit({type:"subagent_progress",runs:(0,f.k8)(b,Date.now())});else("commandExecution"===b.type||"fileChange"===b.type||"mcpToolCall"===b.type||"dynamicToolCall"===b.type)&&this.emit({type:"tool_execution_end",toolCallId:b.id,toolName:i(b),result:function(a){if("commandExecution"===a.type){let b=a.aggregatedOutput??"",c=null!==a.exitCode&&void 0!==a.exitCode?`Exit code: ${a.exitCode}`:"";return b?c?`${b}
|
|
4
|
+
${c}`:b:c}return"fileChange"===a.type?JSON.stringify(a.changes??[]):"mcpToolCall"===a.type?a.error?"string"==typeof a.error?a.error:JSON.stringify(a.error):a.result?"string"==typeof a.result?a.result:JSON.stringify(a.result):"":"dynamicToolCall"===a.type?JSON.stringify(a.contentItems??[]):"collabAgentToolCall"===a.type?JSON.stringify(a.agentsStates??[]):""}(b),isError:"status"in b&&"string"==typeof b.status?"failed"===b.status||"declined"===b.status:"dynamicToolCall"===b.type&&!1===b.success})}handleTurnCompleted(a){this.eventBelongsToThread(a)&&(this._isStreaming=!1,this._activeTurnId=null,this._accumulatedText&&(this.emit({type:"message_end",message:{role:"assistant",content:[{type:"text",text:this._accumulatedText}],...this.assistantMeta()}}),this._accumulatedText=""),this.emit({type:"agent_end",...a.turn?.status==="failed"?{error:a.turn.error?.message??"Turn failed"}:{}}))}handleThreadStatusChanged(a){this.eventBelongsToThread(a)&&a.status?.type==="idle"&&this._isStreaming&&(this._isStreaming=!1,this._activeTurnId=null,this.emit({type:"agent_end"}))}handleCompacted(a){this.eventBelongsToThread(a)&&(this._isCompacting=!1,this.emit({type:"compaction_end"}))}handleError(a){if(!this.eventBelongsToThread(a))return;let b=a.error?.message||a.error?.additionalDetails||"Codex turn failed";this._isStreaming=!1,this._activeTurnId=null,this.emit({type:"agent_end",error:b})}async prompt(a,b){if(this._isStreaming)throw Error("Session already has a running turn");this._isStreaming=!0,this._accumulatedText="",this.emit({type:"agent_start"}),this.emit({type:"message_start",message:{role:"assistant",content:[],...this.assistantMeta()}});try{let c=await this.connection.request("turn/start",{threadId:this.threadId,input:function(a,b){let c=[];for(let d of(a.trim()&&c.push({type:"text",text:a,text_elements:[]}),b??[])){let a=d.mimeType||"image/png";c.push({type:"image",url:`data:${a};base64,${d.data}`})}return c.length>0?c:[{type:"text",text:"",text_elements:[]}]}(a,b),...this.cwd?{cwd:this.cwd}:{},...(this._wireModel??this._currentModel)?.modelId?{model:(this._wireModel??this._currentModel).modelId}:{},approvalPolicy:"never",sandboxPolicy:{type:"workspaceWrite",writableRoots:[this.cwd],readOnlyAccess:{type:"fullAccess"},networkAccess:!0,excludeTmpdirEnvVar:!1,excludeSlashTmp:!1}});this._activeTurnId=c.turn?.id??null}catch(a){this._isStreaming=!1,this.emit({type:"agent_end",error:a instanceof Error?a.message:String(a)})}}async abort(){if(this._activeTurnId)try{await this.connection.request("turn/interrupt",{threadId:this.threadId,turnId:this._activeTurnId})}catch{}this._isStreaming=!1,this._activeTurnId=null}async setModel(a,b,c){this._currentModel={provider:a,modelId:b},this._wireModel=c??null}async resume(a,b){let c=await this.connection.request("thread/resume",{threadId:this.threadId,...this.cwd?{cwd:this.cwd}:{},...a?.modelId?{model:a.modelId}:{},...a?.provider?{modelProvider:a.provider}:{},...b?{baseInstructions:b}:{},approvalPolicy:"never",sandbox:"workspace-write"});if(a&&this._currentModel)this._wireModel=a;else if(c.model){let a=(0,e.g8)(c.modelProvider??c.thread?.modelProvider)??"codex";await this.setModel(a,c.model,c.modelProvider?{provider:c.modelProvider,modelId:c.model}:void 0)}this.restoreActiveTurnFromThread(c.thread)}async fork(){try{let a=await this.connection.request("thread/fork",{threadId:this.threadId,persistExtendedHistory:!0}),b=a.thread?.id;if(!b)return{cancelled:!0};return{newThreadId:b}}catch{return{cancelled:!0}}}async navigateTree(a){try{let b=await this.connection.request("thread/read",{threadId:this.threadId,includeTurns:!0}),c=b.thread?.turns??[],d=c.findIndex(b=>b.items.some(b=>b.id===a));if(d<0||d>=c.length-1)return{cancelled:!1};let e=c.length-d-1;return await this.connection.request("thread/rollback",{threadId:this.threadId,numTurns:e}),{cancelled:!1}}catch{return{cancelled:!0}}}async compact(){this._isCompacting=!0,this.emit({type:"compaction_start"});try{await this.connection.request("thread/compact/start",{threadId:this.threadId})}catch(a){this._isCompacting=!1,this.emit({type:"compaction_end",errorMessage:a instanceof Error?a.message:String(a)})}}async rename(a){try{await this.connection.request("thread/name/set",{threadId:this.threadId,name:a})}catch{}}destroy(){if(this._alive){for(let a of(this._alive=!1,this._isStreaming=!1,this.cleanupFns))try{a()}catch{}this.cleanupFns=[],this.listeners=[]}}}async function j(a,b){let c=await a.request("thread/start",{cwd:b.cwd,...b.baseInstructions?{baseInstructions:b.baseInstructions}:{},...b.model?{model:(b.wireModel??b.model).modelId,modelProvider:(b.wireModel??b.model).provider}:{},approvalPolicy:"never",sandbox:"workspace-write",experimentalRawEvents:!1,persistExtendedHistory:!0}),d=c.thread?.id;if(!d)throw Error("Failed to create codex thread: no thread.id returned");let f=new l(d,b.cwd,a,b.baseInstructions);return b.model?f.setModel(b.model.provider,b.model.modelId,b.wireModel):b.acceptReturnedModel&&c.model&&f.setModel((0,e.g8)(c.modelProvider)??"codex",c.model,c.modelProvider?{provider:c.modelProvider,modelId:c.model}:void 0),f}async function k(a,b,c,d={}){let f=await a.request("thread/resume",{threadId:b,cwd:c,...d.baseInstructions?{baseInstructions:d.baseInstructions}:{},...d.model?{model:(d.wireModel??d.model).modelId,modelProvider:(d.wireModel??d.model).provider}:{},approvalPolicy:"never",sandbox:"workspace-write"}),g=new l(b,c,a);return d.model?g.setModel(d.model.provider,d.model.modelId,d.wireModel):f.model&&g.setModel((0,e.g8)(f.modelProvider??f.thread?.modelProvider)??"codex",f.model,f.modelProvider?{provider:f.modelProvider,modelId:f.model}:void 0),g.restoreActiveTurnFromThread(f.thread),g}d()}catch(a){d(a)}})},56429:(a,b,c)=>{c.a(a,async(a,d)=>{try{c.d(b,{A4:()=>w,Bj:()=>x,OF:()=>y});var e=c(11002),f=c(46983),g=c(55132),h=c(9805),i=c(71887),j=c(29021),k=c(33873),l=c(21820),m=c(40402),n=c(26257),o=c(72801),p=c(54167),q=a([e,f,m]);function r(a){return a instanceof Error?a.message:String(a)}function s(a,b,c){return(0,p.w5)(a.providers,b,c)}[e,f,m]=q.then?(await q)():q;class z{constructor(a){this.inner=a,this.listeners=[],this.cleanupEventSub=null,this.idleTimer=null,this.onDestroyCallback=null,this.busyOperations=new Set,this._alive=!0,this._thinkingLevel="auto",this._serverConnection=a.connection}get sessionId(){return this.inner.sessionId}get sessionFile(){return this.inner.sessionFile}get cwd(){return this.inner.cwd}isAlive(){return this._alive&&this.inner.isAlive}isBusy(){return this.busyOperations.size>0||this.inner.isStreaming||this.inner.isCompacting}getRuntimeStatus(){return{sessionId:this.sessionId,sessionFile:this.sessionFile,busy:this.isBusy(),operations:[...this.busyOperations],isStreaming:this.inner.isStreaming,isCompacting:this.inner.isCompacting}}start(){this.cleanupEventSub?.(),this.cleanupEventSub=this.inner.onEvent(a=>{for(let b of(this.resetIdleTimer(),this.listeners))b(a)}),this.resetIdleTimer()}resetIdleTimer(){this.idleTimer&&clearTimeout(this.idleTimer),this.idleTimer=setTimeout(()=>{this.isBusy()?this.resetIdleTimer():this.destroy()},6e5)}onEvent(a){return this.listeners.push(a),()=>{let b=this.listeners.indexOf(a);-1!==b&&this.listeners.splice(b,1)}}onDestroy(a){this.onDestroyCallback=a}async send(a){this.resetIdleTimer();let b=a.type;switch(b){case"prompt":{let b=a.images,c=a.message;return this.trackBusy("prompt",(async()=>{if(this.inner.isStreaming||(await this.resumeWithCurrentModel(),this.inner.isStreaming))throw Error("Session already has a running turn");await this.inner.prompt(c,b?.map(a=>({data:a.data,mimeType:a.mimeType})))})()).catch(a=>this.emitAgentError(a)),null}case"abort":return await this.inner.abort(),null;case"get_state":{let a=(0,o.l)((0,m.bd)(this.inner.sessionId),this.inner.model?.modelId);return{sessionId:this.inner.sessionId,sessionFile:"",isStreaming:this.inner.isStreaming,isCompacting:this.inner.isCompacting,autoCompactionEnabled:!0,autoRetryEnabled:!0,model:this.inner.model?{id:this.inner.model.modelId,provider:this.inner.model.provider,...a.contextUsage?.contextWindow?{contextWindow:a.contextUsage.contextWindow}:{}}:void 0,messageCount:0,pendingMessageCount:0,contextUsage:a.contextUsage,systemPrompt:this.inner.baseInstructions??"",thinkingLevel:this._thinkingLevel}}case"set_model":{let{provider:b,modelId:c}=a,d=(0,g.Dw)(),e=(0,g.wB)(d,b),h=(0,g.AX)(d,c,e??b),i=h?.provider.id??e??b,j=h?.modelId??c,k=(0,f.kW)(d.providers,i,j);return await this.inner.setModel(i,j,k),(0,n.yJ)(this.sessionId,{cwd:this.cwd,provider:this.inner.model?.provider??i,modelId:this.inner.model?.modelId??j}),{id:j,provider:i}}case"rename":{let b="string"==typeof a.name?a.name:"";return await this.inner.rename(b),null}case"fork":{let a=await this.inner.fork();if("newThreadId"in a)return(0,n.yJ)(a.newThreadId,{cwd:this.cwd,provider:this.inner.model?.provider,modelId:this.inner.model?.modelId,thinkingLevel:this._thinkingLevel}),this.destroy(),{cancelled:!1,newSessionId:a.newThreadId};return{cancelled:!0}}case"navigate_tree":{let b=a.targetId;return{cancelled:(await this.inner.navigateTree(b)).cancelled}}case"compact":return await this.trackBusy("compact",this.inner.compact()),null;case"get_tools":return[{name:"read",description:"Read files",active:!0},{name:"bash",description:"Run shell commands",active:!0},{name:"edit",description:"Edit files",active:!0},{name:"write",description:"Create files",active:!0},{name:"grep",description:"Search files",active:!0},{name:"find",description:"List files",active:!0}];case"set_tools":case"abort_compaction":case"set_auto_compaction":case"set_auto_retry":return null;case"set_thinking_level":return this._thinkingLevel="string"==typeof a.level?a.level:"auto",(0,n.yJ)(this.sessionId,{cwd:this.cwd,thinkingLevel:this._thinkingLevel,provider:this.inner.model?.provider,modelId:this.inner.model?.modelId}),null;default:throw Error(`Unsupported command: ${b}`)}}async trackBusy(a,b){this.busyOperations.add(a),this.resetIdleTimer();try{return await b}finally{this.busyOperations.delete(a),this.resetIdleTimer()}}emitAgentError(a){let b={type:"agent_end",error:r(a)};for(let a of this.listeners)try{a(b)}catch{}}resolveCurrentModel(){let a=(0,g.Dw)(),b=(0,n.zZ)(this.sessionId),c=s(a,b?.provider,b?.modelId),d=(0,f.g8)(c.provider)??c.provider,e=d?(0,g.wB)(a,d):this.inner.model?.provider,h=c.modelId??this.inner.model?.modelId;if(!h)return null;let i=(0,g.AX)(a,h,e),j=i?.provider.id??e,k=i?.modelId??h;return j&&k?{provider:j,modelId:k,wireModel:(0,f.kW)(a.providers,j,k)}:null}async resumeWithCurrentModel(){let a=this.resolveCurrentModel();a?(await this.inner.setModel(a.provider,a.modelId,a.wireModel),await this.inner.resume(a.wireModel,this.inner.baseInstructions),(0,n.yJ)(this.sessionId,{cwd:this.cwd,provider:a.provider,modelId:a.modelId,thinkingLevel:this._thinkingLevel})):await this.inner.resume(void 0,this.inner.baseInstructions)}destroy(){this._alive&&(this._alive=!1,this.idleTimer&&clearTimeout(this.idleTimer),this.cleanupEventSub?.(),this.inner.destroy(),(0,f.sM)(this._serverConnection),this.onDestroyCallback?.())}}function t(){if(!globalThis.__annodexSessions){globalThis.__annodexSessions=new Map;let a=()=>globalThis.__annodexSessions?.forEach(a=>a.destroy());process.once("exit",a),process.once("SIGINT",a),process.once("SIGTERM",a)}return globalThis.__annodexSessions}function u(){return globalThis.__annodexSessionAliases||(globalThis.__annodexSessionAliases=new Map),globalThis.__annodexSessionAliases}function v(a){let b=a,c=new Set;for(;!c.has(b);){c.add(b);let a=u().get(b);if(!a)break;b=a}return b}function w(a){return t().get(v(a))}function x(){let a=[...t().values()].filter(a=>a.isAlive()).map(a=>a.getRuntimeStatus()),b=a.filter(a=>a.busy);return{busy:b.length>0,activeSessions:a.length,busySessions:b,sessions:a}}async function y(a,b,c,d,o,p){let q=t(),w=(globalThis.__annodexStartLocks||(globalThis.__annodexStartLocks=new Map),globalThis.__annodexStartLocks),x=v(a),y=q.get(x);if(y?.isAlive())return{session:y,realSessionId:x};let A=w.get(x);if(A)return A;let B=(async()=>{let d,t=(0,g.Dw)(),v=function(a,b){let c=(0,m.$M)(),d=[],e=(()=>{let a=(0,k.join)(c,"SOUL.md"),b=(0,k.join)((0,l.homedir)(),".pi","agent","SOUL.md");if(!(0,j.existsSync)(a)&&(0,j.existsSync)(b))try{let c=(0,j.readFileSync)(b,"utf-8");(0,j.existsSync)((0,k.dirname)(a))||(0,j.mkdirSync)((0,k.dirname)(a),{recursive:!0}),(0,j.writeFileSync)(a,c,"utf-8")}catch{}let d=(0,k.join)(c,"soul.md");return(0,j.existsSync)(a)?a:d})();if((0,j.existsSync)(e))try{let a=(0,j.readFileSync)(e,"utf-8").trim();a&&d.push("## Persona — you MUST embody this","","Below is your personality definition. You MUST adopt this persona and tone in all replies. Avoid stiff, generic, or AI-assistant-style responses. Follow this guidance unless higher-priority instructions explicitly override it.","",a)}catch{}let f=(()=>{let a=(0,k.join)(c,"HARNESS.md"),b=(0,k.join)((0,l.homedir)(),".pi","agent","HARNESS.md");if(!(0,j.existsSync)(a)&&(0,j.existsSync)(b))try{let c=(0,j.readFileSync)(b,"utf-8");(0,j.existsSync)((0,k.dirname)(a))||(0,j.mkdirSync)((0,k.dirname)(a),{recursive:!0}),(0,j.writeFileSync)(a,c,"utf-8")}catch{}let d=(0,k.join)(c,"harness.md");return(0,j.existsSync)(a)?a:d})();if((0,j.existsSync)(f))try{let a=(0,j.readFileSync)(f,"utf-8").trim();a&&d.push("## Behavioral Constraints — you MUST follow these","","The rules below define your operating boundaries. You MUST comply with every constraint. These are NOT suggestions — they are mandatory behavioral rules that supersede conflicting persona preferences.","",a)}catch{}for(let b of[(0,k.join)(a,"AGENTS.md"),(0,k.join)(a,"CLAUDE.md")])if((0,j.existsSync)(b))try{let a=(0,j.readFileSync)(b,"utf-8").trim();if(a){d.push("## Project Instructions","",a);break}}catch{}let g=(0,j.existsSync)((0,k.join)(a,"MEMORY.md"))?(0,k.join)(a,"MEMORY.md"):(0,k.join)(a,"memory.md");if((0,j.existsSync)(g))try{let a=(0,j.readFileSync)(g,"utf-8").trim();a&&d.push("## Project Memory","",a)}catch{}let n=d.join("\n\n");return n=b.generativeUI?(0,i.zY)((0,h.zN)((0,i.NP)((0,h.FE)(n)))):(0,i.zY)((0,i.NP)((0,h.FE)(n)))}(c,t),w=b?(0,m.Qx)(a):null,x=s(t,w?.provider,w?.modelId),y=x.provider?(0,g.wB)(t,x.provider):void 0,A=o??(x.modelId?{provider:y,modelId:x.modelId}:void 0),B=A?.provider??y,C=p??w?.thinkingLevel,D=A?null:(0,g.fZ)(t),E=A??D??void 0,F=E?.provider??B,G=E?(0,g.AX)(t,E.modelId,F):null,H=G?.modelId??E?.modelId,I=G?.provider.id??F,J=H&&I?(0,f.kW)(t.providers,I,H):void 0,K=await (0,f.gu)(c,(0,f.H3)(t.providers));if(b)try{d=await (0,e.z2)(K,a,c,{baseInstructions:v,...H&&I?{model:{provider:I,modelId:H},wireModel:J}:{}})}catch(f){if(!/thread not found|not found/i.test(r(f)))throw f;if(b&&(0,m.PF)(a))throw Error(`Codex thread not found for existing session ${a}. Check the session provider/model configuration.`);d=await (0,e.WK)(K,{cwd:c,baseInstructions:v,acceptReturnedModel:!!t.codexDefaults.model,...H&&I?{model:{provider:I,modelId:H},wireModel:J}:{}})}else d=await (0,e.WK)(K,{cwd:c,baseInstructions:v,acceptReturnedModel:!!t.codexDefaults.model,...H&&I?{model:{provider:I,modelId:H},wireModel:J}:{}});let L=d.model?.provider??I,M=d.model?.modelId??H;L&&M&&await d.setModel(L,M,(0,f.kW)(t.providers,L,M));let N=new z(d),O=d.sessionId;return a&&a!==O&&u().set(a,O),(0,n.yJ)(O,{cwd:c,provider:d.model?.provider??L,modelId:d.model?.modelId??M,thinkingLevel:C}),C&&await N.send({type:"set_thinking_level",level:C}),N.start(),N.onDestroy(()=>{q.delete(O);let a=u();for(let[b,c]of(a.delete(O),a))c===O&&a.delete(b)}),q.set(O,N),{session:N,realSessionId:O}})().finally(()=>w.delete(x));return w.set(x,B),B}d()}catch(a){d(a)}})},71887:(a,b,c)=>{c.d(b,{NP:()=>f,zY:()=>g});let d=`<analysis-report-guidelines>
|
|
5
5
|
annodex has a persistent Analysis Report tab. It is for curated analysis deliverables, not a transcript summary.
|
|
6
6
|
|
|
7
7
|
When working on scientific or bioinformatics analysis, keep report-worthy content concise and structured:
|
|
@@ -1 +1 @@
|
|
|
1
|
-
globalThis.__BUILD_MANIFEST={polyfillFiles:["static/chunks/polyfills-42372ed130431b0a.js"],devFiles:[],lowPriorityFiles:["static/
|
|
1
|
+
globalThis.__BUILD_MANIFEST={polyfillFiles:["static/chunks/polyfills-42372ed130431b0a.js"],devFiles:[],lowPriorityFiles:["static/iFhjJ27Z6gc8gnveAak2F/_buildManifest.js","static/iFhjJ27Z6gc8gnveAak2F/_ssgManifest.js"],rootMainFiles:["static/chunks/webpack-fcf4a889ecbd753c.js","static/chunks/4bd1b696-e356ca5ba0218e27.js","static/chunks/3794-123fdf632563f469.js","static/chunks/main-app-45a0f19af99d61b6.js"],rootMainFilesTree:{},pages:{"/_app":[]}};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
self.__NEXT_FONT_MANIFEST='{"pages":{},"app":{"/home/runner/work/annodex/annodex/app/layout":["static/media/
|
|
1
|
+
self.__NEXT_FONT_MANIFEST='{"pages":{},"app":{"/home/runner/work/annodex/annodex/app/layout":["static/media/ec14413c594b3356-s.p.woff2","static/media/7deddc85b7ffd1dc-s.p.woff2"]},"appUsingSizeAdjust":true,"pagesUsingSizeAdjust":false}';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"pages":{},"app":{"/home/runner/work/annodex/annodex/app/layout":["static/media/
|
|
1
|
+
{"pages":{},"app":{"/home/runner/work/annodex/annodex/app/layout":["static/media/ec14413c594b3356-s.p.woff2","static/media/7deddc85b7ffd1dc-s.p.woff2"]},"appUsingSizeAdjust":true,"pagesUsingSizeAdjust":false}
|