zen-code 4.9.1 → 4.9.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/app.js +187 -144
- package/dist/{chunk-4nsg4vcd.js → chunk-0pss3s5r.js} +1 -1
- package/dist/chunk-0sxrk9sx.js +1 -0
- package/dist/{chunk-gcm4jp0d.js → chunk-0zk0m93z.js} +1 -1
- package/dist/chunk-178yjjsx.js +1 -0
- package/dist/chunk-1p9xzvpt.js +3 -0
- package/dist/{chunk-hfve7nf5.js → chunk-2eh0sv3s.js} +2 -2
- package/dist/chunk-43xrz4wp.js +2 -0
- package/dist/chunk-48ce2wt0.js +1 -0
- package/dist/chunk-48vkm1yn.js +5 -0
- package/dist/{chunk-va71tsw3.js → chunk-55nx49pj.js} +2 -2
- package/dist/chunk-578m1dhj.js +2 -0
- package/dist/{chunk-trjpzw1n.js → chunk-5dsevrtz.js} +3 -3
- package/dist/{chunk-1y82m5kn.js → chunk-62zh99t6.js} +4 -4
- package/dist/chunk-66890qd3.js +2 -0
- package/dist/{chunk-9k5d9vf1.js → chunk-6nfpdtn6.js} +1 -1
- package/dist/chunk-738m8242.js +53 -0
- package/dist/{chunk-98f6hg43.js → chunk-8f2zh5h6.js} +2 -2
- package/dist/{chunk-jbf8ve63.js → chunk-8ty2zfve.js} +1 -1
- package/dist/{chunk-9dahn9h7.js → chunk-94jawhw7.js} +1 -1
- package/dist/chunk-98wjxsna.js +79 -0
- package/dist/chunk-9b7nj74j.js +1 -0
- package/dist/{chunk-wn43r152.js → chunk-9k64296h.js} +1 -1
- package/dist/chunk-9x562s6p.js +1 -0
- package/dist/chunk-a90fm6gz.js +278 -0
- package/dist/chunk-ac5t2ywn.js +100 -0
- package/dist/chunk-ad2hbq42.js +1 -0
- package/dist/chunk-afhxxkmv.js +16 -0
- package/dist/chunk-b4vvgbav.js +1 -0
- package/dist/{chunk-g7pm00z7.js → chunk-b9pcntkv.js} +9 -9
- package/dist/chunk-c7y5efa0.js +1 -0
- package/dist/chunk-cbjnwrt7.js +2 -0
- package/dist/{chunk-g377vrpj.js → chunk-ce53j63y.js} +1 -1
- package/dist/{chunk-kba8akjs.js → chunk-dcs1r9as.js} +1 -1
- package/dist/chunk-dcwnpdtk.js +9 -0
- package/dist/{chunk-b52b0t16.js → chunk-dxec2q4t.js} +1 -1
- package/dist/{chunk-13nyfrmm.js → chunk-e3tyc24s.js} +1 -1
- package/dist/{chunk-ep2es95e.js → chunk-e8hp8d68.js} +3 -3
- package/dist/chunk-fkrydbn4.js +18 -0
- package/dist/chunk-frhhpxxy.js +2 -0
- package/dist/{chunk-ns6tjjkq.js → chunk-fw3nrwpf.js} +1 -1
- package/dist/chunk-gyhxdxb4.js +1 -0
- package/dist/chunk-h1enhch1.js +2 -0
- package/dist/chunk-hcnx1j2z.js +1 -0
- package/dist/chunk-hfegb4pr.js +2 -0
- package/dist/{chunk-mmq834zt.js → chunk-hfypkhky.js} +1 -1
- package/dist/chunk-hmemx3cw.js +2 -0
- package/dist/chunk-hra0748z.js +2 -0
- package/dist/chunk-hsev32dg.js +4 -0
- package/dist/chunk-hyf24r36.js +2 -0
- package/dist/chunk-jb4yt88g.js +6 -0
- package/dist/chunk-jjcmm167.js +1 -0
- package/dist/chunk-jrepjpft.js +2 -0
- package/dist/chunk-k38fjqj7.js +140 -0
- package/dist/{chunk-cs73xbzz.js → chunk-kym9tb01.js} +1 -1
- package/dist/chunk-mt1g6g89.js +1 -0
- package/dist/chunk-p0vzbr7s.js +585 -0
- package/dist/{chunk-heasksrr.js → chunk-pndhbee8.js} +2 -2
- package/dist/{chunk-cggjws6a.js → chunk-pwrscdkf.js} +1 -1
- package/dist/{chunk-j7a40ww9.js → chunk-r019959h.js} +2 -2
- package/dist/chunk-r10bn684.js +1 -0
- package/dist/{chunk-30sq2w0d.js → chunk-r3pe49q4.js} +3 -3
- package/dist/chunk-r4tq44hr.js +1 -0
- package/dist/chunk-rjrnaka2.js +1 -0
- package/dist/{chunk-8g2zdcy0.js → chunk-rt5mpgbg.js} +2 -2
- package/dist/chunk-rztre6k0.js +1 -0
- package/dist/chunk-s77qbhtz.js +3 -0
- package/dist/chunk-t7rwtc17.js +1 -0
- package/dist/chunk-v8g52kan.js +1 -0
- package/dist/chunk-vd6c87cm.js +2 -0
- package/dist/{chunk-rncpxz1b.js → chunk-vfwbx331.js} +2 -2
- package/dist/chunk-vh9zd1v3.js +5 -0
- package/dist/chunk-w2hbsa9j.js +86 -0
- package/dist/chunk-wabmqprd.js +184 -0
- package/dist/chunk-wpy5r9ma.js +40 -0
- package/dist/chunk-x552nspp.js +6 -0
- package/dist/chunk-x90r4sje.js +1 -0
- package/dist/chunk-yndex7hs.js +1 -0
- package/dist/{chunk-7kdvr78m.js → chunk-yqwxbcc7.js} +4 -4
- package/dist/chunk-z8n7y37k.js +1 -0
- package/dist/chunk-zr7sx9hd.js +1 -0
- package/dist/chunk-zxqmghzf.js +1 -0
- package/dist/cli.js +1 -1
- package/dist/nonInteractive.js +2 -2
- package/dist/zen-keyboard.js +1 -1
- package/package.json +1 -1
- package/dist/chunk-02vv5584.js +0 -1
- package/dist/chunk-1edvf7b5.js +0 -1
- package/dist/chunk-1rmnbdef.js +0 -1
- package/dist/chunk-1ttywx0y.js +0 -6
- package/dist/chunk-32ase1cw.js +0 -2
- package/dist/chunk-3490ntd8.js +0 -1
- package/dist/chunk-3pcybja5.js +0 -7
- package/dist/chunk-5rr85f28.js +0 -1
- package/dist/chunk-5x8nxw0t.js +0 -137
- package/dist/chunk-6rfc36jg.js +0 -1
- package/dist/chunk-76h8pe7x.js +0 -2
- package/dist/chunk-8z38ybz7.js +0 -1
- package/dist/chunk-b8dxq9rq.js +0 -1
- package/dist/chunk-cjqarwdn.js +0 -1
- package/dist/chunk-cyexd09c.js +0 -2
- package/dist/chunk-f8ewggk1.js +0 -1
- package/dist/chunk-j9aysaeb.js +0 -1
- package/dist/chunk-jfhc5c0d.js +0 -1
- package/dist/chunk-jxsfzfac.js +0 -2
- package/dist/chunk-m76ya904.js +0 -1
- package/dist/chunk-mjzeawnq.js +0 -6
- package/dist/chunk-nwy6n6b6.js +0 -274
- package/dist/chunk-qd305hg1.js +0 -1
- package/dist/chunk-qez6ejd4.js +0 -1
- package/dist/chunk-r2h3x9zv.js +0 -2
- package/dist/chunk-rz3b356n.js +0 -1
- package/dist/chunk-xhnvpygg.js +0 -2
- package/dist/chunk-xkz5z0zn.js +0 -1
- package/dist/chunk-zwxjkwqd.js +0 -26
- package/dist/chunk-zz32kgt2.js +0 -1
package/dist/app.js
CHANGED
|
@@ -1,10 +1,53 @@
|
|
|
1
|
-
import{d as u4,e as x4}from"./chunk-j7a40ww9.js";import{f as g,g as VZ}from"./chunk-30sq2w0d.js";import{i as G$,j as u$,k as V1,m as I1,n as x$,o as Y0}from"./chunk-32ase1cw.js";import{p as a$,q as l,r as n,s as K1,t as L6,u as $1,v as hZ}from"./chunk-mjzeawnq.js";import"./chunk-heasksrr.js";import{A as q$,B as EZ,C as HZ,D as j$,E as k1,F as U$,x as f4,y as P3,z as S0}from"./chunk-cs73xbzz.js";import{G as O4,H as v6,I as q4,K as zZ,L as _Z,M as B1}from"./chunk-rncpxz1b.js";import{N as Z1,O as gZ}from"./chunk-hfve7nf5.js";import{P as T6,Q as uY,S as D6,T as y$,V as T$}from"./chunk-va71tsw3.js";import"./chunk-jxsfzfac.js";import{ca as J0,da as r1}from"./chunk-02vv5584.js";import{ea as D,fa as z,ga as G,ha as k6,ia as S$,ka as NZ,la as R4,ma as H4,na as o1,oa as y1,pa as M,qa as h1,sa as P0,ua as DZ,va as L3}from"./chunk-nwy6n6b6.js";import{Ca as r6}from"./chunk-g7pm00z7.js";import{Da as S4}from"./chunk-1y82m5kn.js";import{Fa as h4,Ga as T4,Ha as k4,Ia as C4,Ka as s3}from"./chunk-5x8nxw0t.js";import"./chunk-zwxjkwqd.js";import"./chunk-13nyfrmm.js";import"./chunk-5rr85f28.js";import"./chunk-cggjws6a.js";import"./chunk-cyexd09c.js";import"./chunk-r2h3x9zv.js";import"./chunk-1ttywx0y.js";import{ub as A,xb as w8,yb as T1}from"./chunk-kba8akjs.js";class G4{renderers=new Map;register($,Z){this.renderers.set($,Z)}get($){return this.renderers.get($)}has($){return this.renderers.has($)}list(){return Array.from(this.renderers.keys())}unregister($){this.renderers.delete($)}clear(){this.renderers.clear()}}var A0;var F$=w8(()=>{A0=new G4});var j6=A(M(),1),pZ=new T6({defaultOptions:{queries:{retry:($,Z)=>{if(Z instanceof TypeError&&Z.message.includes("fetch"))return $<2;return!1},refetchOnWindowFocus:!1,refetchOnMount:!0,refetchOnReconnect:!1,staleTime:300000,gcTime:600000,networkMode:"online"},mutations:{retry:1,networkMode:"online"}}});function V6({children:$}){return j6.jsxDEV(D6,{client:pZ,children:$},void 0,!1,void 0,this)}async function h6($,Z,Y,J){let X={threadId:Z,graphId:Y,runId:J};try{let Q=(await $.get(Z)).values;if(!Q?.messages||!Array.isArray(Q.messages)||Q.messages.length===0)return;let _=await I1.getTitleGenerator()(Q,{thread_id:Z,graph_id:Y,run_id:J});if(_){if(!await $.setTitleIfNull(Z,_))return}}catch(K){console.warn("Failed to generate thread title:",{...X,error:K instanceof Error?K.message:String(K)})}}var E6={async search($){let Z=Object.entries(G$).map(([K,Q])=>({assistant_id:K,graph_id:K,config:{},metadata:{},version:1,name:K,description:"",created_at:new Date().toISOString(),updated_at:new Date().toISOString()}));if($?.graphId)Z=Z.filter((K)=>K.graph_id===$.graphId);if($?.metadata&&Object.keys($.metadata).length>0)Z=Z.filter((K)=>{return Object.entries($.metadata).every(([Q,W])=>{return K.metadata&&K.metadata[Q]===W})});if($?.sortBy)Z.sort((K,Q)=>{let W=K[$.sortBy],_=Q[$.sortBy],O=W<_?-1:W>_?1:0;return $.sortOrder==="desc"?-O:O});let Y=$?.offset??0,J=$?.limit;return J?Z.slice(Y,Y+J):Z.slice(Y)},async count($){return(await this.search($)).length},async get($){if(!Object.entries(G$).find(([Y,J])=>Y===$))throw Error(`Assistant not found: ${$}`);return{assistant_id:$,graph_id:$,config:{},created_at:new Date().toISOString(),updated_at:new Date().toISOString(),metadata:{},version:1,name:$,description:""}},async delete($){throw Error("Deleting assistants is not supported. Assistants are generated from registered graphs.")},async update($,Z){throw Error("Updating assistants is not supported. Assistants are generated from registered graphs.")},async getGraph($,Z){let Y={};return(await(await V1($,Y)).getGraphAsync({...Y,xray:Z?.xray??void 0})).toJSON()},async getSchemas($){let Y=(await V1($,{})).builder;return console.log(Y),{graph_id:$,state_schema:Y._inputDefinition,input_schema:Y._inputDefinition,output_schema:Y._outputDefinition,config_schema:Y._configSchema,context_schema:Y._configSchema}},async getVersions($,Z){let Y=await this.get($),J=Z?.offset??0,X=Z?.limit;return X?[Y].slice(J,J+X):[Y].slice(J)},async setLatest($,Z){let Y=await this.get($);return Y.version=Z,Y},async create($){if(console.warn("⚠️ Creating assistants is not supported. Assistants are generated from registered graphs. Returning mock data."),!Object.keys(G$).includes($.graphId)){if($.ifExists==="raise")throw Error(`Graph not found: ${$.graphId}`)}return{assistant_id:$.assistantId||$.graphId,graph_id:$.graphId,name:$.name||$.graphId,description:$.description||"",metadata:$.metadata||{},config:$.config||{},version:1,created_at:new Date().toISOString(),updated_at:new Date().toISOString()}}},c$=()=>{let $=()=>{return I1.globalThreadsManager};return{assistants:E6,get threads(){return I1.globalThreadsManager},runs:{list(Z,Y){return $().listRuns(Z,Y)},async cancel(Z,Y,J,X){return await I1.globalMessageQueue.cancelQueue(Y)},async*stream(Z,Y,J){J.config={...J.config??{},configurable:{...J.config?.configurable??{},graph_id:Y,thread_id:Z}};let X=$(),K=X.createRun(Z,Y,J);try{for await(let W of Y0(X,K,J,{attempt:0,getGraph:V1}))yield W;let Q=await K;await h6(X,Z,Y,Q.run_id)}catch(Q){try{let W=await K;await h6(X,Z,Y,W.run_id)}catch{}throw Q}},async*joinStream(Z,Y,J){let X=J&&typeof J==="object"&&"signal"in J?J:{},K=(J instanceof AbortSignal?J:X.signal)||new AbortController().signal,Q=null,W=null;try{Q=await I1.globalMessageQueue.getQueue(Y);let _=await Q.getAll();for(let O of _){if(K.aborted)return;if(yield{id:O.id,event:O.event,data:O.data},O.event==="__stream_end__"||O.event==="__stream_error__"||O.event==="__stream_cancel__")return}W=Q.onDataReceive();for await(let O of W){if(K.aborted)break;let{event:N,data:U}=O;if(yield{id:O.id,event:N,data:U},O.event==="__stream_end__"||O.event==="__stream_error__"||O.event==="__stream_cancel__")break}}catch(_){if(!(_ instanceof Error)||!_.message.includes("does not exist"))console.warn("Join stream failed:",_)}finally{if(W)try{await W.return(void 0)}catch(_){}}}}}};import{entrypoint as RX,getPreviousState as bX,getConfig as BX,Command as PX}from"@langchain/langgraph";import{schemaMetaRegistry as CX}from"@langchain/langgraph/zod";import{z as s}from"zod";var b0=($,Z)=>$.constructor.name===Z.name,O1=new Map;O1.set(s.ZodBoolean.name,()=>!1),O1.set(s.ZodNumber.name,()=>0),O1.set(s.ZodString.name,()=>""),O1.set(s.ZodArray.name,()=>[]),O1.set(s.ZodRecord.name,()=>({})),O1.set(s.ZodDefault.name,($)=>$.def.defaultValue),O1.set(s.ZodPipe.name,($)=>a0($.def.in)),O1.set(s.ZodOptional.name,($)=>b0($.def.innerType,s.ZodDefault)?$.def.innerType.def.defaultValue:void 0),O1.set(s.ZodTuple.name,($)=>{let Z=[];for(let Y of $.def.items)Z.push(a0(Y));return Z}),O1.set(s.ZodPipe.name,($)=>a0($.def.in)),O1.set(s.ZodUnion.name,($)=>a0($.def.options[0])),O1.set(s.ZodObject.name,($)=>B0($)),O1.set(s.ZodRecord.name,($)=>B0($)),O1.set(s.ZodIntersection.name,($)=>B0($));function a0($){let Z=$.constructor.name;if(!O1.has(Z)){console.warn("getSchemaDefaultForField: Unhandled type",$.constructor.name);return}return O1.get(Z)($)}function B0($){if(b0($,s.ZodRecord))return{};if(b0($,s.ZodPipe))return B0($.def.in);if(b0($,s.ZodIntersection))return{...B0($.def.left),...B0($.def.right)};if(b0($,s.ZodUnion)){for(let Z of $.def.options)if(b0(Z,s.ZodObject))return B0(Z);return console.warn("getSchemaDefaultObject: No object found in union, returning empty object"),{}}return b0($,s.ZodObject)?Object.fromEntries(Object.entries($.shape).map(([Z,Y])=>[Z,a0(Y)]).filter((Z)=>Z[1]!==void 0)):(console.warn(`getSchemaDefaultObject: Expected object schema, got ${$.constructor.name}`),{})}import{tool as IX,HumanMessage as kX}from"langchain";import{z as X0}from"zod";var TX=X0.object({task_store:X0.record(X0.string(),X0.any()).default({})}),DX=X0.object({task_id:X0.string().optional().describe("The task id to ask the subagent, if not provided, will use the tool call id"),subagent_id:X0.string(),task_description:X0.string().describe("Describe the user state and what you want the subagent to do."),data_transfer:X0.any().optional().describe("Data to transfer to the subagent.")});import H from"zod";var V=c$(),mZ=H.object({thread_id:H.string().optional(),thread_ts:H.string().optional()}).catchall(H.unknown()),h0=H.object({tags:H.array(H.string()).optional(),recursion_limit:H.number().int().optional(),configurable:mZ.optional()}).catchall(H.unknown()).describe("The configuration of an assistant.");H.object({assistant_id:H.string(),graph_id:H.string(),config:h0,created_at:H.string(),updated_at:H.string(),metadata:H.object({}).catchall(H.any())});var i1=H.object({source:H.union([H.literal("input"),H.literal("loop"),H.literal("update"),H.string()]).optional(),step:H.number().optional(),writes:H.any().nullable().optional(),parents:H.any().optional()}).catchall(H.unknown()),g6=H.object({node:H.string(),input:H.unknown().optional()}),d$=H.object({update:H.union([H.any(),H.array(H.tuple([H.string(),H.any()]))]).nullable().optional(),resume:H.unknown().optional(),goto:H.union([g6,H.array(g6),H.string(),H.array(H.string())]).optional()});H.object({limit:H.number().int().optional(),offset:H.number().int().optional()});var q1=H.object({thread_id:H.string()}),s0=H.object({thread_id:H.string(),run_id:H.string()}),cZ=H.object({graph_id:H.string().optional(),metadata:i1.optional(),limit:H.number().int().optional(),offset:H.number().int().optional(),sort_by:H.enum(["assistant_id","graph_id","name","created_at","updated_at"]).optional(),sort_order:H.enum(["asc","desc"]).optional()}),uZ=H.object({graph_id:H.string().optional(),metadata:i1.optional()}),xZ=H.object({xray:H.union([H.string(),H.boolean(),H.number()]).optional()}),p6=H.object({name:H.string().optional(),description:H.string().optional(),metadata:i1.optional(),config:h0.optional()}).optional(),dZ=H.object({assistant_id:H.string().optional(),graph_id:H.string().describe("The ID of graph to create an assistant from."),name:H.string().optional(),description:H.string().optional(),metadata:i1.optional(),config:h0.optional(),if_exists:H.enum(["raise","do_nothing"]).optional()}),lZ=H.object({assistant_id:H.union([H.string(),H.string()]),checkpoint_id:H.string().optional(),input:H.any().optional(),command:d$.optional(),metadata:i1.optional(),config:h0.optional(),webhook:H.string().optional(),interrupt_before:H.union([H.literal("*"),H.array(H.string())]).optional(),interrupt_after:H.union([H.literal("*"),H.array(H.string())]).optional(),on_disconnect:H.enum(["cancel","continue"]).optional().default("continue"),multitask_strategy:H.enum(["reject","rollback","interrupt","enqueue"]).optional(),stream_mode:H.array(H.enum(["values","messages","messages-tuple","updates","events","debug","custom"])).optional(),stream_subgraphs:H.boolean().optional(),stream_resumable:H.boolean().optional(),after_seconds:H.number().optional(),if_not_exists:H.enum(["create","reject"]).optional(),on_completion:H.enum(["complete","continue"]).optional(),feedback_keys:H.array(H.string()).optional(),langsmith_tracer:H.unknown().optional()}).describe("Payload for creating a stateful run."),iZ=H.object({limit:H.coerce.number().int().optional().default(10),offset:H.coerce.number().int().optional().default(0),status:H.enum(["pending","running","error","success","timeout","interrupted"]).optional()}),oZ=H.object({wait:H.coerce.boolean().optional().default(!1),action:H.enum(["interrupt","rollback"]).optional().default("interrupt")}),rZ=H.object({cancel_on_disconnect:H.coerce.boolean().optional().default(!1),last_event_id:H.string().optional(),stream_mode:H.enum(["values","messages","messages-tuple","updates","events","debug","custom"]).optional()}),nZ=H.object({thread_id:H.string().describe("The ID of thread. If not provided, an ID is generated.").optional(),metadata:i1.optional(),if_exists:H.union([H.literal("raise"),H.literal("do_nothing")]).optional()}).describe("Payload for creating a thread."),m6=H.object({ids:H.array(H.string()).describe("List of thread IDs to include. Others are excluded.").optional(),metadata:i1.describe("Metadata to search for.").optional(),status:H.enum(["idle","busy","interrupted","error"]).describe("Filter by thread status.").optional(),values:H.any().describe("Filter by thread values.").optional(),limit:H.number().int().gte(1).lte(1000).describe("Maximum number to return.").optional(),offset:H.number().int().gte(0).describe("Offset to start from.").optional(),sort_by:H.enum(["thread_id","status","created_at","updated_at"]).describe("Sort by field.").optional(),sort_order:H.enum(["asc","desc"]).describe("Sort order.").optional(),select:H.array(H.enum(["thread_id","created_at","updated_at","metadata","config","context","status","values","interrupts","title"])).describe("Specify which fields to return. If not provided, all fields are returned.").optional(),without_details:H.boolean().describe("Whether to return values.").optional()}).describe("Payload for listing threads.");H.object({values:H.union([H.record(H.string(),H.unknown()),H.array(H.record(H.string(),H.unknown()))]).nullish()}).describe("Payload for adding state to a thread.");var aZ=H.object({metadata:i1.optional(),status:H.enum(["idle","busy","interrupted","error"]).optional(),values:H.any().optional()}).describe("Payload for patching a thread."),c6=H.object({assistant_id:H.string(),input:H.any().optional(),command:d$.optional(),metadata:i1.optional(),config:h0.optional(),webhook:H.string().optional(),interrupt_before:H.union([H.literal("*"),H.array(H.string())]).optional(),interrupt_after:H.union([H.literal("*"),H.array(H.string())]).optional(),on_disconnect:H.enum(["cancel","continue"]).optional().default("continue"),multitask_strategy:H.enum(["reject","rollback","interrupt","enqueue"]).optional(),stream_mode:H.array(H.enum(["values","messages","messages-tuple","updates","events","debug","custom"])).optional(),stream_subgraphs:H.boolean().optional(),stream_resumable:H.boolean().optional(),after_seconds:H.number().optional(),if_not_exists:H.enum(["create","reject"]).optional(),on_completion:H.enum(["complete","continue"]).optional(),feedback_keys:H.array(H.string()).optional(),langsmith_tracer:H.unknown().optional()}).describe("Payload for creating a run (background/wait)."),sZ=H.object({cancel_on_disconnect:H.coerce.boolean().optional().default(!1)}),tZ=H.object({cancel_on_disconnect:H.coerce.boolean().optional().default(!1)}),O$=H.object({assistant_id:H.string().describe("The assistant ID or graph name to run."),input:H.any().optional().describe("The input to the graph."),command:d$.optional(),metadata:i1.optional().describe("Metadata to assign to the run."),config:h0.optional(),context:H.object({}).catchall(H.any()).optional().describe("Static context added to the assistant."),webhook:H.string().optional(),interrupt_before:H.union([H.literal("*"),H.array(H.string())]).optional(),interrupt_after:H.union([H.literal("*"),H.array(H.string())]).optional(),stream_mode:H.union([H.enum(["values","messages","messages-tuple","tasks","checkpoints","updates","events","debug","custom"]),H.array(H.enum(["values","messages","messages-tuple","tasks","checkpoints","updates","events","debug","custom"]))]).optional().default(["values"]),feedback_keys:H.array(H.string()).optional(),stream_subgraphs:H.boolean().optional().default(!1),stream_resumable:H.boolean().optional().default(!1)}).describe("Payload for creating a stateless run."),eZ=H.array(O$).min(1).describe("Payload for creating a batch of stateless runs."),$2=H.object({action:H.enum(["interrupt","rollback"]).optional().default("interrupt").describe("Action to take when cancelling the run."),wait:H.coerce.boolean().optional().default(!1)}),Z2=H.union([H.object({status:H.enum(["pending","running","all"]).describe("Filter runs by status to cancel.")}),H.object({thread_id:H.string().describe("The ID of the thread containing runs to cancel.")}),H.object({run_ids:H.array(H.string()).min(1).describe("List of run IDs to cancel.")})]);function e($,Z){let Y=Z.split("/").filter((K)=>K),J=new URL($).pathname.split("/").filter((K)=>K),X={};return Y.forEach((K,Q)=>{if(K.startsWith(":")){let W=K.slice(1);X[W]=J[Q]}}),X}function j1($){let Z=new URL($).searchParams,Y={};return Z.forEach((J,X)=>{if(!isNaN(Number(J))&&J!=="")Y[X]=Number(J);else if(J==="true"||J==="false")Y[X]=J==="true";else Y[X]=J}),Y}function y($,Z){let Y=$.safeParse(Z);if(!Y.success)throw new l$(Y.error.issues);return Y.data}class l$ extends Error{errors;constructor($){super("Validation failed");this.name="ValidationError",this.errors=$}}function h($,Z=200,Y){return new Response(JSON.stringify($),{status:Z,headers:{"Content-Type":"application/json",...Y}})}function T($,Z=500){if($ instanceof l$)return h({error:"Validation Error",details:$.errors},400);return h({error:$ instanceof Error?$.message:"Unknown error"},Z)}function i$($){let Z,Y=!1,J=new AbortController,X=new ReadableStream({async start(K){Z=K;let Q=new TextEncoder,W={signal:J.signal,writeSSE:async({data:_,event:O,id:N})=>{if(Y||J.signal.aborted)return;try{let U="";if(N)U+=`id: ${N}
|
|
2
|
-
`;if(O)U+=`event: ${O}
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
`,Z.enqueue(Q.encode(U))}catch(U){if(!Y&&!J.signal.aborted)throw U}},close:()=>{if(!Y){Y=!0;try{Z.close()}catch(_){}}}};try{await $(W)}catch(_){if(!J.signal.aborted)console.error("SSE stream error:",_)}finally{if(!Y){Y=!0;try{Z.close()}catch(_){}}}},cancel(){if(Y=!0,!J.signal.aborted)J.abort("Client disconnected")}});return new Response(X,{headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}function o$($,Z=process.env.HEARTBEAT_INTERVAL?parseInt(process.env.HEARTBEAT_INTERVAL):1500){return async(Y)=>{let J=null,X=!1,K=()=>{if(J)clearInterval(J),J=null},Q=()=>{K(),J=setInterval(async()=>{if(Y.signal.aborted||X){K();return}try{await Y.writeSSE({event:"ping",data:"{}"})}catch(O){K()}},Z)},W=()=>{K()};Y.signal.addEventListener("abort",W);let _={signal:Y.signal,writeSSE:async(O)=>{if(Y.signal.aborted)return;if(K(),await Y.writeSSE(O),!Y.signal.aborted)Q()},close:()=>{K(),Y.close()}};Q();try{await $(_)}finally{X=!0,K(),Y.signal.removeEventListener("abort",W)}}}async function Y2($,Z){try{let Y=await $.json(),J=y(cZ,Y),X=await V.assistants.search(K1(J));return h(X,200,{"X-Pagination-Total":"0"})}catch(Y){return T(Y)}}async function X2($,Z){try{let Y=await $.json(),J=y(uZ,Y),X=await V.assistants.count(K1(J));return h(X)}catch(Y){return T(Y)}}async function J2($,Z){try{let X=new URL($.url).pathname.split("/").filter((Q)=>Q)[1],K=await V.assistants.get(X);return h(K)}catch(Y){return T(Y)}}async function K2($,Z){try{let X=new URL($.url).pathname.split("/").filter((K)=>K)[1];return await V.assistants.delete(X),h({})}catch(Y){return T(Y)}}async function Q2($,Z){try{let X=new URL($.url).pathname.split("/").filter((_)=>_)[1],K=await $.json(),Q=y(p6,K),W=await V.assistants.update(X,K1(Q));return h(W)}catch(Y){return T(Y)}}async function W2($,Z){try{let X=new URL($.url).pathname.split("/").filter((_)=>_)[1],K=j1($.url),{xray:Q}=y(xZ,K),W=await V.assistants.getGraph(X,{xray:Q!==void 0?Q==="true":void 0});return h(W)}catch(Y){return T(Y)}}async function _2($,Z){return T({},501)}async function G2($,Z){return T({},501)}async function O2($,Z){try{let X=new URL($.url).pathname.split("/").filter((Q)=>Q)[1],K=await V.assistants.getSchemas(X);return h(K)}catch(Y){return T(Y)}}async function U2($,Z){try{let X=new URL($.url).pathname.split("/").filter((_)=>_)[1],K=await $.json(),Q=y(p6,K),W=await V.assistants.getVersions(X,K1(Q));return h(W)}catch(Y){return T(Y)}}async function N2($,Z){try{let X=new URL($.url).pathname.split("/").filter((_)=>_)[1],K=j1($.url),Q=K.version?parseInt(K.version):1,W=await V.assistants.setLatest(X,Q);return h(W)}catch(Y){return T(Y)}}async function z2($,Z){try{let Y=await $.json(),J=y(dZ,Y),X=await V.assistants.create(K1(J));return h(X)}catch(Y){return T(Y)}}async function H2($,Z){try{let Y=await $.json(),J=y(nZ,Y),X=await V.threads.create(K1(J));return h(X)}catch(Y){return T(Y)}}async function F2($,Z){try{let Y=await $.json(),J=y(m6,Y),X=await V.threads.search(K1(J));return h(X,200,{"X-Pagination-Total":X.length.toString()})}catch(Y){return T(Y)}}async function L2($,Z){try{let Y=await $.json(),J=y(m6.partial(),Y),X=await V.threads.count(K1(J));return h(X)}catch(Y){return T(Y)}}async function A2($,Z){try{let Y=e($.url,"/threads/:thread_id"),{thread_id:J}=y(q1,Y),X=await V.threads.get(J);return h(X)}catch(Y){return T(Y)}}async function q2($,Z){try{let Y=e($.url,"/threads/:thread_id"),{thread_id:J}=y(q1,Y),X=await $.json(),K=y(aZ,X),Q=await V.threads.patch(J,K1(K));return h(Q)}catch(Y){return T(Y)}}async function w2($,Z){try{let Y=e($.url,"/threads/:thread_id"),{thread_id:J}=y(q1,Y);return await V.threads.delete(J),new Response(null,{status:204})}catch(Y){return T(Y)}}async function M2($,Z){try{let Y=e($.url,"/threads/:thread_id/state"),{thread_id:J}=y(q1,Y),X=j1($.url),K={subgraphs:X.subgraphs==="true"||X.subgraphs===!0},Q=await V.threads.getState(J,K);return h(Q)}catch(Y){return T(Y)}}async function R2($,Z){try{let Y=e($.url,"/threads/:thread_id/state"),{thread_id:J}=y(q1,Y),X=await $.json(),K=await V.threads.updateState(J,K1(X));return h(K)}catch(Y){return T(Y)}}async function b2($,Z){try{let Y=e($.url,"/threads/:thread_id/state/checkpoint"),{thread_id:J}=y(q1,Y),X=await $.json(),K=j1($.url),Q={subgraphs:K.subgraphs==="true"||K.subgraphs===!0,...X},W=await V.threads.getState(J,Q);return h(W)}catch(Y){return T(Y)}}async function B2($,Z){try{let Y=e($.url,"/threads/:thread_id/history"),{thread_id:J}=y(q1,Y),X=j1($.url),K={limit:X.limit?parseInt(X.limit,10):void 0,before:X.before},Q=await V.threads.getStateHistory(J,K);return h(Q)}catch(Y){return T(Y)}}async function P2($,Z){try{let Y=e($.url,"/threads/:thread_id/history"),{thread_id:J}=y(q1,Y),X=await $.json(),K={limit:X.limit,before:X.before},Q=await V.threads.getStateHistory(J,K);return h(Q)}catch(Y){return T(Y)}}async function f2($,Z){try{let Y=e($.url,"/threads/:thread_id/copy"),{thread_id:J}=y(q1,Y),X=await V.threads.copy(J);return h(X)}catch(Y){return T(Y)}}async function C2($,Z){try{let Y=e($.url,"/threads/:thread_id/stream"),{thread_id:J}=y(q1,Y),X=j1($.url),K={lastEventId:$.headers.get("Last-Event-ID")||X.last_event_id,streamModes:X.stream_modes?Array.isArray(X.stream_modes)?X.stream_modes:[X.stream_modes]:void 0};return new Response(`data: {"status": "stream_ready"}
|
|
6
|
-
|
|
7
|
-
`,{headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}catch(Y){return T(Y)}}async function v2($,Z){try{let Y=e($.url,"/threads/:thread_id/runs/stream"),{thread_id:J}=y(q1,Y),X=await $.json(),K=y(lZ,X);return i$(o$(async(Q)=>{K.config=K.config||{},K.config.configurable=K.config.configurable||{};let W=Z?.langgraph_context;if(W)Object.assign(K.config.configurable,W);let _=null,O=!1,N=()=>{O=!0};Q.signal.addEventListener("abort",N);try{_=V.runs.stream(J,K.assistant_id,K1(K));for await(let{event:U,data:F}of _){if(O||Q.signal.aborted)break;await Q.writeSSE({data:x$(F)??"",event:U})}}catch(U){if(!Q.signal.aborted&&!O)throw U}finally{if(Q.signal.removeEventListener("abort",N),_){try{await _.return(void 0)}catch(U){}_=null}}}))}catch(Y){return T(Y)}}async function S2($,Z){try{let Y=e($.url,"/threads/:thread_id/runs/:run_id/stream"),{thread_id:J,run_id:X}=y(s0,Y),K=j1($.url),{cancel_on_disconnect:Q,last_event_id:W,stream_mode:_}=y(rZ,K);return i$(o$(async(O)=>{let N=new AbortController,U=null,F=!1,L=[],q=()=>{N.abort("Client disconnected")};if($.signal)$.signal.addEventListener("abort",q),L.push({signal:$.signal,handler:q});let w=()=>{F=!0,N.abort("SSE stream closed")};O.signal.addEventListener("abort",w),L.push({signal:O.signal,handler:w});try{U=V.runs.joinStream(J,X,{signal:N.signal,cancelOnDisconnect:Q,lastEventId:W,streamMode:_?[_]:void 0});for await(let{event:R,data:P,id:S}of U){if(F||O.signal.aborted||N.signal.aborted)break;await O.writeSSE({data:x$(P)??"",event:R,id:S})}}catch(R){if(!(N.signal.aborted||O.signal.aborted)&&!(R instanceof Error&&R.message.includes("user cancel")))console.error("Join stream error:",R),await O.writeSSE({event:"error",data:JSON.stringify({error:R instanceof Error?R.message:"Unknown error"})})}finally{for(let{signal:R,handler:P}of L)try{R.removeEventListener("abort",P)}catch(S){}if(U){try{await U.return(void 0)}catch(R){}U=null}}}))}catch(Y){return T(Y)}}async function I2($,Z){try{let Y=e($.url,"/threads/:thread_id/runs"),{thread_id:J}=y(q1,Y),X=j1($.url),{limit:K,offset:Q,status:W}=y(iZ,X),_=await V.runs.list(J,{limit:K,offset:Q,status:W});return h(_)}catch(Y){return T(Y)}}async function k2($,Z){try{let Y=e($.url,"/threads/:thread_id/runs/:run_id/cancel"),{thread_id:J,run_id:X}=y(s0,Y),K=j1($.url),{wait:Q,action:W}=y(oZ,K),_=V.runs.cancel(J,X,Q,W);if(Q)await _;return new Response(null,{status:Q?204:202})}catch(Y){return T(Y)}}async function y2($,Z){try{let Y=e($.url,"/threads/:thread_id/runs"),{thread_id:J}=y(q1,Y),X=await $.json(),K=y(c6,X),Q=K1(K);Q.config=Q.config||{},Q.config.configurable=Q.config.configurable||{};let W=Z?.langgraph_context;if(W)Object.assign(Q.config.configurable,W);Q.config.configurable.graph_id=K.assistant_id,Q.config.configurable.thread_id=J;let _=V.threads,O=await _.createRun(J,K.assistant_id,Q);return(async()=>{let N=!1;try{for await(let U of Y0(_,O,Q,{attempt:0,getGraph:V1}));}catch(U){console.error("Background run error:",U)}finally{if(!N){N=!0;try{await I1.globalMessageQueue.removeQueue(O.run_id)}catch(U){}}}})(),h(O,200,{"Content-Location":`/threads/${J}/runs/${O.run_id}`})}catch(Y){return T(Y)}}async function T2($,Z){try{let Y=e($.url,"/threads/:thread_id/runs/wait"),{thread_id:J}=y(q1,Y),X=await $.json(),K=y(c6,X),Q=j1($.url),{cancel_on_disconnect:W}=y(sZ,Q),_=K1(K);_.config=_.config||{},_.config.configurable=_.config.configurable||{};let O=Z?.langgraph_context;if(O)Object.assign(_.config.configurable,O);_.config.configurable.graph_id=K.assistant_id,_.config.configurable.thread_id=J;let N=V.threads,U=await N.createRun(J,K.assistant_id,_),F={};for await(let{event:L,data:q}of Y0(N,U,_,{attempt:0,getGraph:V1}))if(L==="end"||L==="writes/value"){if(q&&typeof q==="object")Object.assign(F,q)}return h(F,200,{"Content-Location":`/threads/${J}/runs/${U.run_id}`})}catch(Y){return T(Y)}}async function D2($,Z){try{let Y=e($.url,"/threads/:thread_id/runs/:run_id"),{thread_id:J,run_id:X}=y(s0,Y),Q=(await V.runs.list(J,{limit:1000})).find((W)=>W.run_id===X);if(!Q)return T(Error("Run not found"),404);return h(Q)}catch(Y){return T(Y)}}async function V2($,Z){try{let Y=e($.url,"/threads/:thread_id/runs/:run_id"),{thread_id:J,run_id:X}=y(s0,Y);return await V.threads.updateRun(X,{status:"deleted"}),new Response(null,{status:204})}catch(Y){return T(Y)}}async function j2($,Z){try{let Y=e($.url,"/threads/:thread_id/runs/:run_id/join"),{thread_id:J,run_id:X}=y(s0,Y),K=j1($.url),{cancel_on_disconnect:Q}=y(tZ,K),_=(await V.runs.list(J,{limit:1000})).find((U)=>U.run_id===X);if(!_)return T(Error("Run not found"),404);if(_.status==="success"||_.status==="error")return h({});let O=new AbortController;if(Q){let U=()=>{O.abort("Client disconnected")};$.signal?.addEventListener("abort",U)}let N={};for await(let{event:U,data:F}of V.runs.joinStream(J,X,{signal:O.signal,cancelOnDisconnect:Q}))if(U.event==="end"||U.event==="writes/value"){if(F&&typeof F==="object")Object.assign(N,F)}return h(N)}catch(Y){return T(Y)}}async function h2($,Z){try{let Y=await $.json(),J=y(O$,Y),X=K1(J);X.config=X.config||{},X.config.configurable=X.config.configurable||{};let K=Z?.langgraph_context;if(K)Object.assign(X.config.configurable,K);let Q=V.threads,W=await Q.create({metadata:{...X.metadata,temporary:!0}});X.config.configurable.graph_id=J.assistant_id,X.config.configurable.thread_id=W.thread_id,X.temporary=!0;let _=await Q.createRun(W.thread_id,J.assistant_id,X);return(async()=>{let O=!1;try{for await(let N of Y0(Q,_,X,{attempt:0,getGraph:V1}));}catch(N){console.error("Stateless run error:",N)}finally{try{await Q.delete(W.thread_id)}catch(N){console.error("Error cleaning up temporary thread:",N)}if(!O){O=!0;try{await I1.globalMessageQueue.removeQueue(_.run_id)}catch(N){}}}})(),h(_,200,{"Content-Location":`/threads/${W.thread_id}/runs/${_.run_id}`})}catch(Y){return T(Y)}}async function E2($,Z){try{let Y=await $.json(),J=y(O$,Y),X=K1(J);X.config=X.config||{},X.config.configurable=X.config.configurable||{};let K=Z?.langgraph_context;if(K)Object.assign(X.config.configurable,K);let Q=V.threads,W=await Q.create({metadata:{...X.metadata,temporary:!0}});X.config.configurable.graph_id=J.assistant_id,X.config.configurable.thread_id=W.thread_id,X.temporary=!0;let _=await Q.createRun(W.thread_id,J.assistant_id,X);return i$(o$(async(O)=>{try{for await(let N of Y0(Q,_,X,{attempt:0,getGraph:V1}))await O.writeSSE({data:JSON.stringify(N),event:"data"})}catch(N){if(N instanceof Error&&N.name!=="AbortError")throw console.error("Stream error:",N),N}finally{try{await Q.delete(W.thread_id)}catch(N){console.error("Error cleaning up temporary thread:",N)}}}))}catch(Y){return T(Y)}}async function g2($,Z){try{let Y=await $.json(),J=y(O$,Y),X=K1(J);X.config=X.config||{},X.config.configurable=X.config.configurable||{};let K=Z?.langgraph_context;if(K)Object.assign(X.config.configurable,K);let Q=V.threads,W=await Q.create({metadata:{...X.metadata,temporary:!0}});X.config.configurable.graph_id=J.assistant_id,X.config.configurable.thread_id=W.thread_id,X.temporary=!0;let _=await Q.createRun(W.thread_id,J.assistant_id,X),O={};try{for await(let{event:N,data:U}of Y0(Q,_,X,{attempt:0,getGraph:V1}))if(N==="end"||N==="writes/value"){if(U&&typeof U==="object")Object.assign(O,U)}}finally{try{await Q.delete(W.thread_id)}catch(N){console.error("Error cleaning up temporary thread:",N)}}return h(O,200,{"Content-Location":`/threads/${W.thread_id}/runs/${_.run_id}`})}catch(Y){return T(Y)}}async function p2($,Z){try{let Y=await $.json(),J=y(eZ,Y),X=V.threads,K=[],Q=J.map(async(_)=>{try{let O=K1(_);O.config=O.config||{},O.config.configurable=O.config.configurable||{};let N=Z?.langgraph_context;if(N)Object.assign(O.config.configurable,N);let U=await X.create({metadata:{...O.metadata,temporary:!0}});O.config.configurable.graph_id=_.assistant_id,O.config.configurable.thread_id=U.thread_id,O.temporary=!0;let F=await X.createRun(U.thread_id,_.assistant_id,O);return(async()=>{let L=!1;try{for await(let q of Y0(X,F,O,{attempt:0,getGraph:V1}));}catch(q){console.error("Batch run error:",q)}finally{try{await X.delete(U.thread_id)}catch(q){console.error("Error cleaning up temporary thread:",q)}if(!L){L=!0;try{await I1.globalMessageQueue.removeQueue(F.run_id)}catch(q){}}}})(),{thread_id:U.thread_id,run_id:F.run_id}}catch(O){return console.error("Batch run creation error:",O),{error:(O instanceof Error?O.message:"Unknown error")||"Unknown error"}}}),W=await Promise.all(Q);return K.push(...W),h(K,200)}catch(Y){return T(Y)}}async function m2($,Z){try{let Y=await $.json(),J=y(Z2,Y),X=new URL($.url),K=y($2,{action:X.searchParams.get("action")||"interrupt"}),Q=V.threads,W=[];if("run_ids"in J&&J.run_ids)for(let _ of J.run_ids)try{console.warn(`Cancel by run_id ${_} not fully implemented yet`)}catch(O){console.error(`Error cancelling run ${_}:`,O)}else if("thread_id"in J&&J.thread_id){let _=J.thread_id;try{let O=await Q.listRuns(_,{limit:1000,offset:0});for(let N of O)try{V.runs.cancel(_,N.run_id,K.wait,K.action),W.push(N.run_id)}catch(U){console.error(`Error cancelling run ${N.run_id}:`,U)}}catch(O){console.error(`Error listing runs for thread ${_}:`,O)}}else if("status"in J&&J.status)console.warn(`Cancel by status ${J.status} not fully implemented yet`);return new Response(null,{status:204})}catch(Y){return T(Y)}}var c2=[{method:"POST",pattern:/^\/assistants\/search$/,handler:Y2},{method:"POST",pattern:/^\/assistants\/count$/,handler:X2},{method:"GET",pattern:/^\/assistants\/[^/]+$/,handler:J2},{method:"DELETE",pattern:/^\/assistants\/[^/]+$/,handler:K2},{method:"PATCH",pattern:/^\/assistants\/[^/]+$/,handler:Q2},{method:"GET",pattern:/^\/assistants\/[^/]+\/graph$/,handler:W2},{method:"GET",pattern:/^\/assistants\/[^/]+\/subgraphs$/,handler:_2},{method:"GET",pattern:/^\/assistants\/[^/]+\/subgraphs\/[^/]+$/,handler:G2},{method:"GET",pattern:/^\/assistants\/[^/]+\/schemas$/,handler:O2},{method:"POST",pattern:/^\/assistants\/[^/]+\/versions$/,handler:U2},{method:"POST",pattern:/^\/assistants\/[^/]+\/latest$/,handler:N2},{method:"POST",pattern:/^\/assistants$/,handler:z2},{method:"POST",pattern:/^\/threads$/,handler:H2},{method:"POST",pattern:/^\/threads\/search$/,handler:F2},{method:"POST",pattern:/^\/threads\/count$/,handler:L2},{method:"GET",pattern:/^\/threads\/[^/]+$/,handler:A2},{method:"PATCH",pattern:/^\/threads\/[^/]+$/,handler:q2},{method:"DELETE",pattern:/^\/threads\/[^/]+$/,handler:w2},{method:"GET",pattern:/^\/threads\/[^/]+\/state$/,handler:M2},{method:"POST",pattern:/^\/threads\/[^/]+\/state$/,handler:R2},{method:"POST",pattern:/^\/threads\/[^/]+\/state\/checkpoint$/,handler:b2},{method:"GET",pattern:/^\/threads\/[^/]+\/history$/,handler:B2},{method:"POST",pattern:/^\/threads\/[^/]+\/history$/,handler:P2},{method:"POST",pattern:/^\/threads\/[^/]+\/copy$/,handler:f2},{method:"GET",pattern:/^\/threads\/[^/]+\/stream$/,handler:C2},{method:"POST",pattern:/^\/threads\/[^/]+\/runs$/,handler:y2},{method:"POST",pattern:/^\/threads\/[^/]+\/runs\/stream$/,handler:v2},{method:"POST",pattern:/^\/threads\/[^/]+\/runs\/wait$/,handler:T2},{method:"POST",pattern:/^\/threads\/[^/]+\/runs\/[^/]+\/cancel$/,handler:k2},{method:"GET",pattern:/^\/threads\/[^/]+\/runs$/,handler:I2},{method:"GET",pattern:/^\/threads\/[^/]+\/runs\/[^/]+$/,handler:D2},{method:"DELETE",pattern:/^\/threads\/[^/]+\/runs\/[^/]+$/,handler:V2},{method:"GET",pattern:/^\/threads\/[^/]+\/runs\/[^/]+\/join$/,handler:j2},{method:"GET",pattern:/^\/threads\/[^/]+\/runs\/[^/]+\/stream$/,handler:S2},{method:"POST",pattern:/^\/runs$/,handler:h2},{method:"POST",pattern:/^\/runs\/stream$/,handler:E2},{method:"POST",pattern:/^\/runs\/wait$/,handler:g2},{method:"POST",pattern:/^\/runs\/batch$/,handler:p2},{method:"POST",pattern:/^\/runs\/cancel$/,handler:m2}],u2=($)=>{let Z=new URL($.url).pathname.toString(),Y="";if(Z.includes("/threads"))Y=Z.split("/threads")[0];else if(Z.includes("/assistants"))Y=Z.split("/assistants")[0];return new Request($.url.replace(Y,""),{method:$.method,headers:$.headers,body:$.body,duplex:$.duplex})};async function u6($,Z={}){$=u2($);try{await I1.initGlobal();let J=new URL($.url).pathname,X=$.method;for(let K of c2)if(K.method===X&&K.pattern.test(J))return await K.handler($,Z);return new Response("Not Found",{status:404})}catch(Y){return console.error("Request error:",Y),T(Y)}}import{execa as d6}from"execa";import x2 from"extract-zip";import d2 from"fs-extra";import*as t0 from"node:os";import{dirname as l6,join as l2}from"node:path";import{pipeline as i2}from"node:stream/promises";import{fileURLToPath as o2}from"node:url";import{pathExists as x6}from"path-exists";import{temporaryFile as r2}from"tempy";import{xdgCache as n2}from"xdg-basedir";var{mkdir:n$,createWriteStream:a2,move:s2}=d2,i6=l6(o2(import.meta.url)),t2="microsoft/ripgrep-prebuilt",r$=process.env.RIPGREP_VERSION||"v15.0.0",e2=()=>{let $=process.env.npm_config_arch||t0.arch(),Z=process.env.platform||t0.platform();switch(Z){case"darwin":switch($){case"arm64":return"aarch64-apple-darwin.tar.gz";default:return"x86_64-apple-darwin.tar.gz"}case"win32":switch($){case"x64":return"x86_64-pc-windows-msvc.zip";case"arm":return"aarch64-pc-windows-msvc.zip";default:return"i686-pc-windows-msvc.zip"}case"linux":switch($){case"x64":return"x86_64-unknown-linux-musl.tar.gz";case"arm":case"armv7l":return"arm-unknown-linux-gnueabihf.tar.gz";case"arm64":return"aarch64-unknown-linux-gnu.tar.gz";case"ppc64":return"powerpc64le-unknown-linux-gnu.tar.gz";case"s390x":return"s390x-unknown-linux-gnu.tar.gz";default:return"i686-unknown-linux-musl.tar.gz"}default:throw Error("Unknown platform: "+Z)}},$8=async($,Z)=>{try{let Y=r2(),J=await fetch($);if(!J.ok)throw Error(`HTTP ${J.status}: ${J.statusText}`);await i2(J.body,a2(Y)),await n$(l6(Z),{recursive:!0}),await s2(Y,Z)}catch(Y){throw console.error(`Failed to download "${$}"`),Y}},Z8=async($,Z)=>{try{await n$(Z,{recursive:!0}),await x2($,{dir:Z})}catch(Y){throw console.error(`Failed to unzip "${$}"`),Y}},Y8=async($,Z)=>{try{await n$(Z,{recursive:!0}),await d6("tar",["xvf",$,"-C",Z])}catch(Y){throw console.error(`Failed to extract "${$}"`),Y}},X8=async($)=>{if($==="android")try{return await d6("pkg",["install","ripgrep","-y"]),!0}catch(Z){return console.info("Could not install ripgrep via pkg. Falling back to download."),!1}return!1},J8=l2(i6,`rg${process.platform==="win32"?".exe":""}`),o6=async($)=>{if(await x6(J8)){console.log("rg cached");return}let Z=process.env.platform||t0.platform();if(Z==="android"){if(await X8(Z))return}let Y=e2(),X=`${process.env.RIPGREP_PREBUILT_BINARIES_MIRROR||`https://v6.gh-proxy.org/https://github.com/${t2}/releases/download`}/${r$}/ripgrep-${r$}-${Y}`,K=`${n2}/vscode-ripgrep/ripgrep-${r$}-${Y}`,Q=$??i6;if(!await x6(K))await $8(X,K);else console.info(`File ${K} has been cached`);if(K.endsWith(".tar.gz"))await Y8(K,Q);else if(K.endsWith(".zip"))await Z8(K,Q);else throw Error(`Invalid downloadPath ${K}`)};await o6();u$("code",r6);var n6=($,Z={})=>{return u6(new Request($,Z),{})};import K8 from"openai";import Q8 from"@anthropic-ai/sdk";import{GoogleGenerativeAI as W8}from"@google/generative-ai";var _8=async()=>{if(!process.env.ANTHROPIC_API_KEY)return[];let $=[];try{for await(let Z of new Q8().beta.models.list())$.push({id:Z.id,name:Z.display_name,provider:"anthropic"})}catch(Z){console.error("Failed to fetch Anthropic models:",Z)}return $},G8=async()=>{if(!process.env.OPENAI_API_KEY)return[];try{return await new K8().models.list().then(($)=>$.data.map((Z)=>{return{id:Z.id,name:Z.id,provider:"openai"}}).sort((Z,Y)=>Z.id.localeCompare(Y.id)))}catch($){return console.error("Failed to fetch OpenAI models:",$),[]}},O8=async()=>{let $=process.env.GEMINI_API_KEY;if(!$)return[];let Z=[{id:"gemini-2.5-flash-preview-06-17",name:"Gemini 2.5 Flash Preview (06-17)",provider:"gemini"},{id:"gemini-2.5-pro-preview-06-05",name:"Gemini 2.5 Pro Preview (06-05)",provider:"gemini"},{id:"gemini-2.0-flash",name:"Gemini 2.0 Flash",provider:"gemini"},{id:"gemini-2.0-flash-lite",name:"Gemini 2.0 Flash Lite",provider:"gemini"},{id:"gemini-1.5-flash",name:"Gemini 1.5 Flash",provider:"gemini"},{id:"gemini-1.5-flash-8b",name:"Gemini 1.5 Flash 8B",provider:"gemini"},{id:"gemini-1.5-pro",name:"Gemini 1.5 Pro",provider:"gemini"},{id:"gemini-1.0-pro",name:"Gemini 1.0 Pro",provider:"gemini"},{id:"gemini-2.0-flash-exp",name:"Gemini 2.0 Flash Experimental",provider:"gemini"},{id:"gemini-exp-1206",name:"Gemini Experimental 1206",provider:"gemini"},{id:"gemini-2.5-pro-exp-03-25",name:"Gemini 2.5 Pro Experimental (03-25)",provider:"gemini"},{id:"gemini-2.5-flash-preview-05-20",name:"Gemini 2.5 Flash Preview (05-20)",provider:"gemini"}];try{return await new W8($).getGenerativeModel({model:"gemini-1.5-flash"}),Z}catch(Y){return console.error("Failed to verify Gemini API key:",Y),[]}},a6=async()=>{return(await Promise.all([_8().catch(()=>[]),G8().catch(()=>[]),O8().catch(()=>[])])).flat()};var N$=A(D(),1);function s6({tools:$,setTools:Z}){let Y=N$.useRef(!1);N$.useEffect(()=>{if(!Y.current)Z($),Y.current=!0},[$,Z])}var e6=A(D(),1);function t6($){if(!$)return{isValid:!1,needsSetup:!0,reason:"未找到配置文件"};if(!$.providers||$.providers.length===0)return{isValid:!1,needsSetup:!0,reason:"未配置任何 Provider"};let Z=$.providers.find((Y)=>Y.id===$.provider_id);if(!Z)return{isValid:!1,needsSetup:!0,reason:`Provider "${$.provider_id}" 不存在`,invalidProviderRef:!0};if(!Z.apiKey||Z.apiKey.trim()==="")return{isValid:!1,needsSetup:!0,reason:`Provider "${$.provider_id}" 未配置 API Key`,missingApiKey:!0};return{isValid:!0,needsSetup:!1}}function $4({config:$}){return e6.useMemo(()=>{if(!$)return{validation:null,needsSetup:!0,isValid:!1};let Z=t6($);return{validation:Z,needsSetup:Z.needsSetup,isValid:!Z.needsSetup}},[$])}var Z4=A(D(),1);function Y4({shouldFocus:$}){let Z=o1();Z4.useEffect(()=>{if($)Z.focus("global-input")},[$,Z])}var b1=A(D(),1);function X4(){let[$,Z]=b1.useState("chat"),Y=o1(),J=b1.useCallback(()=>{Z("history")},[]),X=b1.useCallback(()=>{Z("knowledge")},[]),K=b1.useCallback(()=>{Z("settings")},[]),Q=b1.useCallback(()=>{Z("model-provider")},[]),W=b1.useCallback(()=>{Z("agent")},[]),_=b1.useCallback(()=>{Z("task")},[]),O=b1.useCallback(()=>{Z("mcp")},[]),N=b1.useCallback(()=>{Z("process")},[]),U=b1.useCallback(()=>{Z("errors")},[]),F=b1.useCallback(()=>{Z("chat"),Y.focus("global-input")},[Y]);return{activeView:$,isChatView:$==="chat",switchToHistory:J,switchToKnowledge:X,switchToSettings:K,switchToModelProvider:Q,switchToAgent:W,switchToTask:_,switchToMcp:O,switchToProcess:N,switchToErrors:U,closePanel:F}}var z$=A(D(),1);function U8($){let Z=`# 任务:${$.title}
|
|
1
|
+
import{h as H$,i as g9}from"./chunk-r3pe49q4.js";import{j as K8,k as R$,l as k$,m as m$,n as T8,o as E$,p as x9}from"./chunk-hmemx3cw.js";import{q as I7,r as k5,s as aZ,t as XX,u as u9,v as F9,w as CX,x as R1,y as V4}from"./chunk-kym9tb01.js";import{A as i7,z as l7}from"./chunk-r019959h.js";import{B as O7,C as v8,D as F7,F as A9,G as N9,H as M1}from"./chunk-vfwbx331.js";import{I as v$,J as c9}from"./chunk-2eh0sv3s.js";import{K as m8,L as PK,N as x8,O as MX,Q as qX}from"./chunk-55nx49pj.js";import{S as R4,T as VX,U as D1,W as L1,X as TX,Y as XZ}from"./chunk-vd6c87cm.js";import"./chunk-pndhbee8.js";import"./chunk-hsev32dg.js";import{we as GZ,xe as o1}from"./chunk-s77qbhtz.js";import{Ae as w,Be as H,Ce as h8,De as NX,Fe as q9,Ge as P7,He as w7,Ie as i1,Je as T1,Ke as V,Le as E1,Ne as iZ,Pe as h9,Qe as C5,ye as Z$,ze as b8}from"./chunk-a90fm6gz.js";import{Ve as Y6}from"./chunk-b9pcntkv.js";import{We as j7}from"./chunk-62zh99t6.js";import{$e as nY,Ye as m7,Ze as _7,_e as S0,af as rY,bf as yX,cf as a8,df as s8,ef as E7,ff as b7,hf as $9}from"./chunk-wabmqprd.js";import{lf as e5,mf as r6}from"./chunk-738m8242.js";import"./chunk-e3tyc24s.js";import"./chunk-ad2hbq42.js";import"./chunk-pwrscdkf.js";import"./chunk-fkrydbn4.js";import{Wf as n6}from"./chunk-p0vzbr7s.js";import"./chunk-x552nspp.js";import"./chunk-48vkm1yn.js";import"./chunk-afhxxkmv.js";import{_g as q}from"./chunk-43xrz4wp.js";import"./chunk-ac5t2ywn.js";import"./chunk-dcwnpdtk.js";import{ri as j}from"./chunk-cbjnwrt7.js";import"./chunk-vh9zd1v3.js";import"./chunk-w2hbsa9j.js";import"./chunk-rztre6k0.js";import"./chunk-wpy5r9ma.js";import"./chunk-frhhpxxy.js";import"./chunk-h1enhch1.js";import"./chunk-hyf24r36.js";import"./chunk-578m1dhj.js";import"./chunk-1p9xzvpt.js";import"./chunk-hra0748z.js";import"./chunk-jb4yt88g.js";import"./chunk-k38fjqj7.js";import{pq as B,qq as R7,sq as $W,tq as k1}from"./chunk-dcs1r9as.js";class G7{renderers=new Map;register($,Z){this.renderers.set($,Z)}get($){return this.renderers.get($)}has($){return this.renderers.has($)}list(){return Array.from(this.renderers.keys())}unregister($){this.renderers.delete($)}clear(){this.renderers.clear()}}var jZ;var $X=$W(()=>{jZ=new G7});var S7=R7((w3,A0)=>{var T=function(){this.Diff_Timeout=1,this.Diff_EditCost=4,this.Match_Threshold=0.5,this.Match_Distance=1000,this.Patch_DeleteThreshold=0.5,this.Patch_Margin=4,this.Match_MaxBits=32},A$=-1,C$=1,$$=0;T.Diff=function($,Z){return[$,Z]};T.prototype.diff_main=function($,Z,X,Y){if(typeof Y>"u")if(this.Diff_Timeout<=0)Y=Number.MAX_VALUE;else Y=new Date().getTime()+this.Diff_Timeout*1000;var J=Y;if($==null||Z==null)throw Error("Null input. (diff_main)");if($==Z){if($)return[new T.Diff($$,$)];return[]}if(typeof X>"u")X=!0;var W=X,K=this.diff_commonPrefix($,Z),Q=$.substring(0,K);$=$.substring(K),Z=Z.substring(K),K=this.diff_commonSuffix($,Z);var z=$.substring($.length-K);$=$.substring(0,$.length-K),Z=Z.substring(0,Z.length-K);var G=this.diff_compute_($,Z,W,J);if(Q)G.unshift(new T.Diff($$,Q));if(z)G.push(new T.Diff($$,z));return this.diff_cleanupMerge(G),G};T.prototype.diff_compute_=function($,Z,X,Y){var J;if(!$)return[new T.Diff(C$,Z)];if(!Z)return[new T.Diff(A$,$)];var W=$.length>Z.length?$:Z,K=$.length>Z.length?Z:$,Q=W.indexOf(K);if(Q!=-1){if(J=[new T.Diff(C$,W.substring(0,Q)),new T.Diff($$,K),new T.Diff(C$,W.substring(Q+K.length))],$.length>Z.length)J[0][0]=J[2][0]=A$;return J}if(K.length==1)return[new T.Diff(A$,$),new T.Diff(C$,Z)];var z=this.diff_halfMatch_($,Z);if(z){var G=z[0],O=z[1],N=z[2],U=z[3],M=z[4],A=this.diff_main(G,N,X,Y),F=this.diff_main(O,U,X,Y);return A.concat([new T.Diff($$,M)],F)}if(X&&$.length>100&&Z.length>100)return this.diff_lineMode_($,Z,Y);return this.diff_bisect_($,Z,Y)};T.prototype.diff_lineMode_=function($,Z,X){var Y=this.diff_linesToChars_($,Z);$=Y.chars1,Z=Y.chars2;var J=Y.lineArray,W=this.diff_main($,Z,!1,X);this.diff_charsToLines_(W,J),this.diff_cleanupSemantic(W),W.push(new T.Diff($$,""));var K=0,Q=0,z=0,G="",O="";while(K<W.length){switch(W[K][0]){case C$:z++,O+=W[K][1];break;case A$:Q++,G+=W[K][1];break;case $$:if(Q>=1&&z>=1){W.splice(K-Q-z,Q+z),K=K-Q-z;var N=this.diff_main(G,O,!1,X);for(var U=N.length-1;U>=0;U--)W.splice(K,0,N[U]);K=K+N.length}z=0,Q=0,G="",O="";break}K++}return W.pop(),W};T.prototype.diff_bisect_=function($,Z,X){var Y=$.length,J=Z.length,W=Math.ceil((Y+J)/2),K=W,Q=2*W,z=Array(Q),G=Array(Q);for(var O=0;O<Q;O++)z[O]=-1,G[O]=-1;z[K+1]=0,G[K+1]=0;var N=Y-J,U=N%2!=0,M=0,A=0,F=0,P=0;for(var S=0;S<W;S++){if(new Date().getTime()>X)break;for(var k=-S+M;k<=S-A;k+=2){var m=K+k,h;if(k==-S||k!=S&&z[m-1]<z[m+1])h=z[m+1];else h=z[m-1]+1;var e=h-k;while(h<Y&&e<J&&$.charAt(h)==Z.charAt(e))h++,e++;if(z[m]=h,h>Y)A+=2;else if(e>J)M+=2;else if(U){var I=K+N-k;if(I>=0&&I<Q&&G[I]!=-1){var x=Y-G[I];if(h>=x)return this.diff_bisectSplit_($,Z,h,e,X)}}}for(var s=-S+F;s<=S-P;s+=2){var I=K+s,x;if(s==-S||s!=S&&G[I-1]<G[I+1])x=G[I+1];else x=G[I-1]+1;var v=x-s;while(x<Y&&v<J&&$.charAt(Y-x-1)==Z.charAt(J-v-1))x++,v++;if(G[I]=x,x>Y)P+=2;else if(v>J)F+=2;else if(!U){var m=K+N-s;if(m>=0&&m<Q&&z[m]!=-1){var h=z[m],e=K+h-m;if(x=Y-x,h>=x)return this.diff_bisectSplit_($,Z,h,e,X)}}}}return[new T.Diff(A$,$),new T.Diff(C$,Z)]};T.prototype.diff_bisectSplit_=function($,Z,X,Y,J){var W=$.substring(0,X),K=Z.substring(0,Y),Q=$.substring(X),z=Z.substring(Y),G=this.diff_main(W,K,!1,J),O=this.diff_main(Q,z,!1,J);return G.concat(O)};T.prototype.diff_linesToChars_=function($,Z){var X=[],Y={};X[0]="";function J(z){var G="",O=0,N=-1,U=X.length;while(N<z.length-1){if(N=z.indexOf(`
|
|
2
|
+
`,O),N==-1)N=z.length-1;var M=z.substring(O,N+1);if(Y.hasOwnProperty?Y.hasOwnProperty(M):Y[M]!==void 0)G+=String.fromCharCode(Y[M]);else{if(U==W)M=z.substring(O),N=z.length;G+=String.fromCharCode(U),Y[M]=U,X[U++]=M}O=N+1}return G}var W=40000,K=J($);W=65535;var Q=J(Z);return{chars1:K,chars2:Q,lineArray:X}};T.prototype.diff_charsToLines_=function($,Z){for(var X=0;X<$.length;X++){var Y=$[X][1],J=[];for(var W=0;W<Y.length;W++)J[W]=Z[Y.charCodeAt(W)];$[X][1]=J.join("")}};T.prototype.diff_commonPrefix=function($,Z){if(!$||!Z||$.charAt(0)!=Z.charAt(0))return 0;var X=0,Y=Math.min($.length,Z.length),J=Y,W=0;while(X<J){if($.substring(W,J)==Z.substring(W,J))X=J,W=X;else Y=J;J=Math.floor((Y-X)/2+X)}return J};T.prototype.diff_commonSuffix=function($,Z){if(!$||!Z||$.charAt($.length-1)!=Z.charAt(Z.length-1))return 0;var X=0,Y=Math.min($.length,Z.length),J=Y,W=0;while(X<J){if($.substring($.length-J,$.length-W)==Z.substring(Z.length-J,Z.length-W))X=J,W=X;else Y=J;J=Math.floor((Y-X)/2+X)}return J};T.prototype.diff_commonOverlap_=function($,Z){var X=$.length,Y=Z.length;if(X==0||Y==0)return 0;if(X>Y)$=$.substring(X-Y);else if(X<Y)Z=Z.substring(0,X);var J=Math.min(X,Y);if($==Z)return J;var W=0,K=1;while(!0){var Q=$.substring(J-K),z=Z.indexOf(Q);if(z==-1)return W;if(K+=z,z==0||$.substring(J-K)==Z.substring(0,K))W=K,K++}};T.prototype.diff_halfMatch_=function($,Z){if(this.Diff_Timeout<=0)return null;var X=$.length>Z.length?$:Z,Y=$.length>Z.length?Z:$;if(X.length<4||Y.length*2<X.length)return null;var J=this;function W(A,F,P){var S=A.substring(P,P+Math.floor(A.length/4)),k=-1,m="",h,e,I,x;while((k=F.indexOf(S,k+1))!=-1){var s=J.diff_commonPrefix(A.substring(P),F.substring(k)),v=J.diff_commonSuffix(A.substring(0,P),F.substring(0,k));if(m.length<v+s)m=F.substring(k-v,k)+F.substring(k,k+s),h=A.substring(0,P-v),e=A.substring(P+s),I=F.substring(0,k-v),x=F.substring(k+s)}if(m.length*2>=A.length)return[h,e,I,x,m];else return null}var K=W(X,Y,Math.ceil(X.length/4)),Q=W(X,Y,Math.ceil(X.length/2)),z;if(!K&&!Q)return null;else if(!Q)z=K;else if(!K)z=Q;else z=K[4].length>Q[4].length?K:Q;var G,O,N,U;if($.length>Z.length)G=z[0],O=z[1],N=z[2],U=z[3];else N=z[0],U=z[1],G=z[2],O=z[3];var M=z[4];return[G,O,N,U,M]};T.prototype.diff_cleanupSemantic=function($){var Z=!1,X=[],Y=0,J=null,W=0,K=0,Q=0,z=0,G=0;while(W<$.length){if($[W][0]==$$)X[Y++]=W,K=z,Q=G,z=0,G=0,J=$[W][1];else{if($[W][0]==C$)z+=$[W][1].length;else G+=$[W][1].length;if(J&&J.length<=Math.max(K,Q)&&J.length<=Math.max(z,G))$.splice(X[Y-1],0,new T.Diff(A$,J)),$[X[Y-1]+1][0]=C$,Y--,Y--,W=Y>0?X[Y-1]:-1,K=0,Q=0,z=0,G=0,J=null,Z=!0}W++}if(Z)this.diff_cleanupMerge($);this.diff_cleanupSemanticLossless($),W=1;while(W<$.length){if($[W-1][0]==A$&&$[W][0]==C$){var O=$[W-1][1],N=$[W][1],U=this.diff_commonOverlap_(O,N),M=this.diff_commonOverlap_(N,O);if(U>=M){if(U>=O.length/2||U>=N.length/2)$.splice(W,0,new T.Diff($$,N.substring(0,U))),$[W-1][1]=O.substring(0,O.length-U),$[W+1][1]=N.substring(U),W++}else if(M>=O.length/2||M>=N.length/2)$.splice(W,0,new T.Diff($$,O.substring(0,M))),$[W-1][0]=C$,$[W-1][1]=N.substring(0,N.length-M),$[W+1][0]=A$,$[W+1][1]=O.substring(M),W++;W++}W++}};T.prototype.diff_cleanupSemanticLossless=function($){function Z(M,A){if(!M||!A)return 6;var F=M.charAt(M.length-1),P=A.charAt(0),S=F.match(T.nonAlphaNumericRegex_),k=P.match(T.nonAlphaNumericRegex_),m=S&&F.match(T.whitespaceRegex_),h=k&&P.match(T.whitespaceRegex_),e=m&&F.match(T.linebreakRegex_),I=h&&P.match(T.linebreakRegex_),x=e&&M.match(T.blanklineEndRegex_),s=I&&A.match(T.blanklineStartRegex_);if(x||s)return 5;else if(e||I)return 4;else if(S&&!m&&h)return 3;else if(m||h)return 2;else if(S||k)return 1;return 0}var X=1;while(X<$.length-1){if($[X-1][0]==$$&&$[X+1][0]==$$){var Y=$[X-1][1],J=$[X][1],W=$[X+1][1],K=this.diff_commonSuffix(Y,J);if(K){var Q=J.substring(J.length-K);Y=Y.substring(0,Y.length-K),J=Q+J.substring(0,J.length-K),W=Q+W}var z=Y,G=J,O=W,N=Z(Y,J)+Z(J,W);while(J.charAt(0)===W.charAt(0)){Y+=J.charAt(0),J=J.substring(1)+W.charAt(0),W=W.substring(1);var U=Z(Y,J)+Z(J,W);if(U>=N)N=U,z=Y,G=J,O=W}if($[X-1][1]!=z){if(z)$[X-1][1]=z;else $.splice(X-1,1),X--;if($[X][1]=G,O)$[X+1][1]=O;else $.splice(X+1,1),X--}}X++}};T.nonAlphaNumericRegex_=/[^a-zA-Z0-9]/;T.whitespaceRegex_=/\s/;T.linebreakRegex_=/[\r\n]/;T.blanklineEndRegex_=/\n\r?\n$/;T.blanklineStartRegex_=/^\r?\n\r?\n/;T.prototype.diff_cleanupEfficiency=function($){var Z=!1,X=[],Y=0,J=null,W=0,K=!1,Q=!1,z=!1,G=!1;while(W<$.length){if($[W][0]==$$){if($[W][1].length<this.Diff_EditCost&&(z||G))X[Y++]=W,K=z,Q=G,J=$[W][1];else Y=0,J=null;z=G=!1}else{if($[W][0]==A$)G=!0;else z=!0;if(J&&(K&&Q&&z&&G||J.length<this.Diff_EditCost/2&&K+Q+z+G==3)){if($.splice(X[Y-1],0,new T.Diff(A$,J)),$[X[Y-1]+1][0]=C$,Y--,J=null,K&&Q)z=G=!0,Y=0;else Y--,W=Y>0?X[Y-1]:-1,z=G=!1;Z=!0}}W++}if(Z)this.diff_cleanupMerge($)};T.prototype.diff_cleanupMerge=function($){$.push(new T.Diff($$,""));var Z=0,X=0,Y=0,J="",W="",K;while(Z<$.length)switch($[Z][0]){case C$:Y++,W+=$[Z][1],Z++;break;case A$:X++,J+=$[Z][1],Z++;break;case $$:if(X+Y>1){if(X!==0&&Y!==0){if(K=this.diff_commonPrefix(W,J),K!==0){if(Z-X-Y>0&&$[Z-X-Y-1][0]==$$)$[Z-X-Y-1][1]+=W.substring(0,K);else $.splice(0,0,new T.Diff($$,W.substring(0,K))),Z++;W=W.substring(K),J=J.substring(K)}if(K=this.diff_commonSuffix(W,J),K!==0)$[Z][1]=W.substring(W.length-K)+$[Z][1],W=W.substring(0,W.length-K),J=J.substring(0,J.length-K)}if(Z-=X+Y,$.splice(Z,X+Y),J.length)$.splice(Z,0,new T.Diff(A$,J)),Z++;if(W.length)$.splice(Z,0,new T.Diff(C$,W)),Z++;Z++}else if(Z!==0&&$[Z-1][0]==$$)$[Z-1][1]+=$[Z][1],$.splice(Z,1);else Z++;Y=0,X=0,J="",W="";break}if($[$.length-1][1]==="")$.pop();var Q=!1;Z=1;while(Z<$.length-1){if($[Z-1][0]==$$&&$[Z+1][0]==$$){if($[Z][1].substring($[Z][1].length-$[Z-1][1].length)==$[Z-1][1])$[Z][1]=$[Z-1][1]+$[Z][1].substring(0,$[Z][1].length-$[Z-1][1].length),$[Z+1][1]=$[Z-1][1]+$[Z+1][1],$.splice(Z-1,1),Q=!0;else if($[Z][1].substring(0,$[Z+1][1].length)==$[Z+1][1])$[Z-1][1]+=$[Z+1][1],$[Z][1]=$[Z][1].substring($[Z+1][1].length)+$[Z+1][1],$.splice(Z+1,1),Q=!0}Z++}if(Q)this.diff_cleanupMerge($)};T.prototype.diff_xIndex=function($,Z){var X=0,Y=0,J=0,W=0,K;for(K=0;K<$.length;K++){if($[K][0]!==C$)X+=$[K][1].length;if($[K][0]!==A$)Y+=$[K][1].length;if(X>Z)break;J=X,W=Y}if($.length!=K&&$[K][0]===A$)return W;return W+(Z-J)};T.prototype.diff_prettyHtml=function($){var Z=[],X=/&/g,Y=/</g,J=/>/g,W=/\n/g;for(var K=0;K<$.length;K++){var Q=$[K][0],z=$[K][1],G=z.replace(X,"&").replace(Y,"<").replace(J,">").replace(W,"¶<br>");switch(Q){case C$:Z[K]='<ins style="background:#e6ffe6;">'+G+"</ins>";break;case A$:Z[K]='<del style="background:#ffe6e6;">'+G+"</del>";break;case $$:Z[K]="<span>"+G+"</span>";break}}return Z.join("")};T.prototype.diff_text1=function($){var Z=[];for(var X=0;X<$.length;X++)if($[X][0]!==C$)Z[X]=$[X][1];return Z.join("")};T.prototype.diff_text2=function($){var Z=[];for(var X=0;X<$.length;X++)if($[X][0]!==A$)Z[X]=$[X][1];return Z.join("")};T.prototype.diff_levenshtein=function($){var Z=0,X=0,Y=0;for(var J=0;J<$.length;J++){var W=$[J][0],K=$[J][1];switch(W){case C$:X+=K.length;break;case A$:Y+=K.length;break;case $$:Z+=Math.max(X,Y),X=0,Y=0;break}}return Z+=Math.max(X,Y),Z};T.prototype.diff_toDelta=function($){var Z=[];for(var X=0;X<$.length;X++)switch($[X][0]){case C$:Z[X]="+"+encodeURI($[X][1]);break;case A$:Z[X]="-"+$[X][1].length;break;case $$:Z[X]="="+$[X][1].length;break}return Z.join("\t").replace(/%20/g," ")};T.prototype.diff_fromDelta=function($,Z){var X=[],Y=0,J=0,W=Z.split(/\t/g);for(var K=0;K<W.length;K++){var Q=W[K].substring(1);switch(W[K].charAt(0)){case"+":try{X[Y++]=new T.Diff(C$,decodeURI(Q))}catch(O){throw Error("Illegal escape in diff_fromDelta: "+Q)}break;case"-":case"=":var z=parseInt(Q,10);if(isNaN(z)||z<0)throw Error("Invalid number in diff_fromDelta: "+Q);var G=$.substring(J,J+=z);if(W[K].charAt(0)=="=")X[Y++]=new T.Diff($$,G);else X[Y++]=new T.Diff(A$,G);break;default:if(W[K])throw Error("Invalid diff operation in diff_fromDelta: "+W[K])}}if(J!=$.length)throw Error("Delta length ("+J+") does not equal source text length ("+$.length+").");return X};T.prototype.match_main=function($,Z,X){if($==null||Z==null||X==null)throw Error("Null input. (match_main)");if(X=Math.max(0,Math.min(X,$.length)),$==Z)return 0;else if(!$.length)return-1;else if($.substring(X,X+Z.length)==Z)return X;else return this.match_bitap_($,Z,X)};T.prototype.match_bitap_=function($,Z,X){if(Z.length>this.Match_MaxBits)throw Error("Pattern too long for this browser.");var Y=this.match_alphabet_(Z),J=this;function W(h,e){var I=h/Z.length,x=Math.abs(X-e);if(!J.Match_Distance)return x?1:I;return I+x/J.Match_Distance}var K=this.Match_Threshold,Q=$.indexOf(Z,X);if(Q!=-1){if(K=Math.min(W(0,Q),K),Q=$.lastIndexOf(Z,X+Z.length),Q!=-1)K=Math.min(W(0,Q),K)}var z=1<<Z.length-1;Q=-1;var G,O,N=Z.length+$.length,U;for(var M=0;M<Z.length;M++){G=0,O=N;while(G<O){if(W(M,X+O)<=K)G=O;else N=O;O=Math.floor((N-G)/2+G)}N=O;var A=Math.max(1,X-O+1),F=Math.min(X+O,$.length)+Z.length,P=Array(F+2);P[F+1]=(1<<M)-1;for(var S=F;S>=A;S--){var k=Y[$.charAt(S-1)];if(M===0)P[S]=(P[S+1]<<1|1)&k;else P[S]=(P[S+1]<<1|1)&k|((U[S+1]|U[S])<<1|1)|U[S+1];if(P[S]&z){var m=W(M,S-1);if(m<=K)if(K=m,Q=S-1,Q>X)A=Math.max(1,2*X-Q);else break}}if(W(M+1,X)>K)break;U=P}return Q};T.prototype.match_alphabet_=function($){var Z={};for(var X=0;X<$.length;X++)Z[$.charAt(X)]=0;for(var X=0;X<$.length;X++)Z[$.charAt(X)]|=1<<$.length-X-1;return Z};T.prototype.patch_addContext_=function($,Z){if(Z.length==0)return;if($.start2===null)throw Error("patch not initialized");var X=Z.substring($.start2,$.start2+$.length1),Y=0;while(Z.indexOf(X)!=Z.lastIndexOf(X)&&X.length<this.Match_MaxBits-this.Patch_Margin-this.Patch_Margin)Y+=this.Patch_Margin,X=Z.substring($.start2-Y,$.start2+$.length1+Y);Y+=this.Patch_Margin;var J=Z.substring($.start2-Y,$.start2);if(J)$.diffs.unshift(new T.Diff($$,J));var W=Z.substring($.start2+$.length1,$.start2+$.length1+Y);if(W)$.diffs.push(new T.Diff($$,W));$.start1-=J.length,$.start2-=J.length,$.length1+=J.length+W.length,$.length2+=J.length+W.length};T.prototype.patch_make=function($,Z,X){var Y,J;if(typeof $=="string"&&typeof Z=="string"&&typeof X>"u"){if(Y=$,J=this.diff_main(Y,Z,!0),J.length>2)this.diff_cleanupSemantic(J),this.diff_cleanupEfficiency(J)}else if($&&typeof $=="object"&&typeof Z>"u"&&typeof X>"u")J=$,Y=this.diff_text1(J);else if(typeof $=="string"&&Z&&typeof Z=="object"&&typeof X>"u")Y=$,J=Z;else if(typeof $=="string"&&typeof Z=="string"&&X&&typeof X=="object")Y=$,J=X;else throw Error("Unknown call format to patch_make.");if(J.length===0)return[];var W=[],K=new T.patch_obj,Q=0,z=0,G=0,O=Y,N=Y;for(var U=0;U<J.length;U++){var M=J[U][0],A=J[U][1];if(!Q&&M!==$$)K.start1=z,K.start2=G;switch(M){case C$:K.diffs[Q++]=J[U],K.length2+=A.length,N=N.substring(0,G)+A+N.substring(G);break;case A$:K.length1+=A.length,K.diffs[Q++]=J[U],N=N.substring(0,G)+N.substring(G+A.length);break;case $$:if(A.length<=2*this.Patch_Margin&&Q&&J.length!=U+1)K.diffs[Q++]=J[U],K.length1+=A.length,K.length2+=A.length;else if(A.length>=2*this.Patch_Margin){if(Q)this.patch_addContext_(K,O),W.push(K),K=new T.patch_obj,Q=0,O=N,z=G}break}if(M!==C$)z+=A.length;if(M!==A$)G+=A.length}if(Q)this.patch_addContext_(K,O),W.push(K);return W};T.prototype.patch_deepCopy=function($){var Z=[];for(var X=0;X<$.length;X++){var Y=$[X],J=new T.patch_obj;J.diffs=[];for(var W=0;W<Y.diffs.length;W++)J.diffs[W]=new T.Diff(Y.diffs[W][0],Y.diffs[W][1]);J.start1=Y.start1,J.start2=Y.start2,J.length1=Y.length1,J.length2=Y.length2,Z[X]=J}return Z};T.prototype.patch_apply=function($,Z){if($.length==0)return[Z,[]];$=this.patch_deepCopy($);var X=this.patch_addPadding($);Z=X+Z+X,this.patch_splitMax($);var Y=0,J=[];for(var W=0;W<$.length;W++){var K=$[W].start2+Y,Q=this.diff_text1($[W].diffs),z,G=-1;if(Q.length>this.Match_MaxBits){if(z=this.match_main(Z,Q.substring(0,this.Match_MaxBits),K),z!=-1){if(G=this.match_main(Z,Q.substring(Q.length-this.Match_MaxBits),K+Q.length-this.Match_MaxBits),G==-1||z>=G)z=-1}}else z=this.match_main(Z,Q,K);if(z==-1)J[W]=!1,Y-=$[W].length2-$[W].length1;else{J[W]=!0,Y=z-K;var O;if(G==-1)O=Z.substring(z,z+Q.length);else O=Z.substring(z,G+this.Match_MaxBits);if(Q==O)Z=Z.substring(0,z)+this.diff_text2($[W].diffs)+Z.substring(z+Q.length);else{var N=this.diff_main(Q,O,!1);if(Q.length>this.Match_MaxBits&&this.diff_levenshtein(N)/Q.length>this.Patch_DeleteThreshold)J[W]=!1;else{this.diff_cleanupSemanticLossless(N);var U=0,M;for(var A=0;A<$[W].diffs.length;A++){var F=$[W].diffs[A];if(F[0]!==$$)M=this.diff_xIndex(N,U);if(F[0]===C$)Z=Z.substring(0,z+M)+F[1]+Z.substring(z+M);else if(F[0]===A$)Z=Z.substring(0,z+M)+Z.substring(z+this.diff_xIndex(N,U+F[1].length));if(F[0]!==A$)U+=F[1].length}}}}}return Z=Z.substring(X.length,Z.length-X.length),[Z,J]};T.prototype.patch_addPadding=function($){var Z=this.Patch_Margin,X="";for(var Y=1;Y<=Z;Y++)X+=String.fromCharCode(Y);for(var Y=0;Y<$.length;Y++)$[Y].start1+=Z,$[Y].start2+=Z;var J=$[0],W=J.diffs;if(W.length==0||W[0][0]!=$$)W.unshift(new T.Diff($$,X)),J.start1-=Z,J.start2-=Z,J.length1+=Z,J.length2+=Z;else if(Z>W[0][1].length){var K=Z-W[0][1].length;W[0][1]=X.substring(W[0][1].length)+W[0][1],J.start1-=K,J.start2-=K,J.length1+=K,J.length2+=K}if(J=$[$.length-1],W=J.diffs,W.length==0||W[W.length-1][0]!=$$)W.push(new T.Diff($$,X)),J.length1+=Z,J.length2+=Z;else if(Z>W[W.length-1][1].length){var K=Z-W[W.length-1][1].length;W[W.length-1][1]+=X.substring(0,K),J.length1+=K,J.length2+=K}return X};T.prototype.patch_splitMax=function($){var Z=this.Match_MaxBits;for(var X=0;X<$.length;X++){if($[X].length1<=Z)continue;var Y=$[X];$.splice(X--,1);var{start1:J,start2:W}=Y,K="";while(Y.diffs.length!==0){var Q=new T.patch_obj,z=!0;if(Q.start1=J-K.length,Q.start2=W-K.length,K!=="")Q.length1=Q.length2=K.length,Q.diffs.push(new T.Diff($$,K));while(Y.diffs.length!==0&&Q.length1<Z-this.Patch_Margin){var G=Y.diffs[0][0],O=Y.diffs[0][1];if(G===C$)Q.length2+=O.length,W+=O.length,Q.diffs.push(Y.diffs.shift()),z=!1;else if(G===A$&&Q.diffs.length==1&&Q.diffs[0][0]==$$&&O.length>2*Z)Q.length1+=O.length,J+=O.length,z=!1,Q.diffs.push(new T.Diff(G,O)),Y.diffs.shift();else{if(O=O.substring(0,Z-Q.length1-this.Patch_Margin),Q.length1+=O.length,J+=O.length,G===$$)Q.length2+=O.length,W+=O.length;else z=!1;if(Q.diffs.push(new T.Diff(G,O)),O==Y.diffs[0][1])Y.diffs.shift();else Y.diffs[0][1]=Y.diffs[0][1].substring(O.length)}}K=this.diff_text2(Q.diffs),K=K.substring(K.length-this.Patch_Margin);var N=this.diff_text1(Y.diffs).substring(0,this.Patch_Margin);if(N!=="")if(Q.length1+=N.length,Q.length2+=N.length,Q.diffs.length!==0&&Q.diffs[Q.diffs.length-1][0]===$$)Q.diffs[Q.diffs.length-1][1]+=N;else Q.diffs.push(new T.Diff($$,N));if(!z)$.splice(++X,0,Q)}}};T.prototype.patch_toText=function($){var Z=[];for(var X=0;X<$.length;X++)Z[X]=$[X];return Z.join("")};T.prototype.patch_fromText=function($){var Z=[];if(!$)return Z;var X=$.split(`
|
|
3
|
+
`),Y=0,J=/^@@ -(\d+),?(\d*) \+(\d+),?(\d*) @@$/;while(Y<X.length){var W=X[Y].match(J);if(!W)throw Error("Invalid patch string: "+X[Y]);var K=new T.patch_obj;if(Z.push(K),K.start1=parseInt(W[1],10),W[2]==="")K.start1--,K.length1=1;else if(W[2]=="0")K.length1=0;else K.start1--,K.length1=parseInt(W[2],10);if(K.start2=parseInt(W[3],10),W[4]==="")K.start2--,K.length2=1;else if(W[4]=="0")K.length2=0;else K.start2--,K.length2=parseInt(W[4],10);Y++;while(Y<X.length){var Q=X[Y].charAt(0);try{var z=decodeURI(X[Y].substring(1))}catch(G){throw Error("Illegal escape in patch_fromText: "+z)}if(Q=="-")K.diffs.push(new T.Diff(A$,z));else if(Q=="+")K.diffs.push(new T.Diff(C$,z));else if(Q==" ")K.diffs.push(new T.Diff($$,z));else if(Q=="@")break;else if(Q==="");else throw Error('Invalid patch mode "'+Q+'" in: '+z);Y++}}return Z};T.patch_obj=function(){this.diffs=[],this.start1=null,this.start2=null,this.length1=0,this.length2=0};T.patch_obj.prototype.toString=function(){var $,Z;if(this.length1===0)$=this.start1+",0";else if(this.length1==1)$=this.start1+1;else $=this.start1+1+","+this.length1;if(this.length2===0)Z=this.start2+",0";else if(this.length2==1)Z=this.start2+1;else Z=this.start2+1+","+this.length2;var X=["@@ -"+$+" +"+Z+` @@
|
|
4
|
+
`],Y;for(var J=0;J<this.diffs.length;J++){switch(this.diffs[J][0]){case C$:Y="+";break;case A$:Y="-";break;case $$:Y=" ";break}X[J+1]=Y+encodeURI(this.diffs[J][1])+`
|
|
5
|
+
`}return X.join("").replace(/%20/g," ")};A0.exports=T;A0.exports.diff_match_patch=T;A0.exports.DIFF_DELETE=A$;A0.exports.DIFF_INSERT=C$;A0.exports.DIFF_EQUAL=$$});var J9=R7((Y9,AX)=>{(($,Z)=>{if(typeof define==="function"&&define.amd)define([],Z);else if(typeof AX==="object"&&AX.exports)AX.exports=Z();else $.fuzzysort=Z()})(Y9,($)=>{var Z=(R,L)=>{if(!R||!L)return P$;var y=M(R);if(!PZ(L))L=U(L);var u=y.bitflags;if((u&L._bitflags)!==u)return P$;return F(y,L)},X=(R,L,y)=>{if(!R)return y?.all?A(L,y):LZ;var u=M(R),c=u.bitflags,_=u.containsSpace,D=O(y?.threshold||0),i=y?.limit||P4,p=0,G$=0,W$=L.length;function J1(_Z){if(p<i)RZ.add(_Z),++p;else if(++G$,_Z._score>RZ.peek()._score)RZ.replaceTop(_Z)}if(y?.key){var l$=y.key;for(var O$=0;O$<W$;++O$){var s$=L[O$],U$=BZ(s$,l$);if(!U$)continue;if(!PZ(U$))U$=U(U$);if((c&U$._bitflags)!==c)continue;var M$=F(u,U$);if(M$===P$)continue;if(M$._score<D)continue;M$.obj=s$,J1(M$)}}else if(y?.keys){var SZ=y.keys,P1=SZ.length;$:for(var O$=0;O$<W$;++O$){var s$=L[O$];{var i$=0;for(var K$=0;K$<P1;++K$){var l$=SZ[K$],U$=BZ(s$,l$);if(!U$){g$[K$]=b1;continue}if(!PZ(U$))U$=U(U$);g$[K$]=U$,i$|=U$._bitflags}if((c&i$)!==c)continue}if(_)for(let w$=0;w$<u.spaceSearches.length;w$++)n[w$]=Y1;for(var K$=0;K$<P1;++K$){if(U$=g$[K$],U$===b1){a$[K$]=b1;continue}if(a$[K$]=F(u,U$,!1,_),a$[K$]===P$){a$[K$]=b1;continue}if(_)for(let q$=0;q$<u.spaceSearches.length;q$++){if(J$[q$]>-1000){if(n[q$]>Y1){var p$=(n[q$]+J$[q$])/4;if(p$>n[q$])n[q$]=p$}}if(J$[q$]>n[q$])n[q$]=J$[q$]}}if(_){for(let w$=0;w$<u.spaceSearches.length;w$++)if(n[w$]===Y1)continue $}else{var Y$=!1;for(let w$=0;w$<P1;w$++)if(a$[w$]._score!==Y1){Y$=!0;break}if(!Y$)continue}var G1=new Q(P1);for(let w$=0;w$<P1;w$++)G1[w$]=a$[w$];if(_){var b$=0;for(let w$=0;w$<u.spaceSearches.length;w$++)b$+=n[w$]}else{var b$=Y1;for(let q$=0;q$<P1;q$++){var M$=G1[q$];if(M$._score>-1000){if(b$>Y1){var p$=(b$+M$._score)/4;if(p$>b$)b$=p$}}if(M$._score>b$)b$=M$._score}}if(G1.obj=s$,G1._score=b$,y?.scoreFn){if(b$=y.scoreFn(G1),!b$)continue;b$=O(b$),G1._score=b$}if(b$<D)continue;J1(G1)}}else for(var O$=0;O$<W$;++O$){var U$=L[O$];if(!U$)continue;if(!PZ(U$))U$=U(U$);if((c&U$._bitflags)!==c)continue;var M$=F(u,U$);if(M$===P$)continue;if(M$._score<D)continue;J1(M$)}if(p===0)return LZ;var VZ=Array(p);for(var O$=p-1;O$>=0;--O$)VZ[O$]=RZ.poll();return VZ.total=p+G$,VZ},Y=(R,L="<b>",y="</b>")=>{var u=typeof L==="function"?L:void 0,c=R.target,_=c.length,D=R.indexes,i="",p=0,G$=0,W$=!1,J1=[];for(var l$=0;l$<_;++l$){var O$=c[l$];if(D[G$]===l$){if(++G$,!W$)if(W$=!0,u)J1.push(i),i="";else i+=L;if(G$===D.length){if(u)i+=O$,J1.push(u(i,p++)),i="",J1.push(c.substr(l$+1));else i+=O$+y+c.substr(l$+1);break}}else if(W$)if(W$=!1,u)J1.push(u(i,p++)),i="";else i+=y;i+=O$}return u?J1:i},J=(R)=>{if(typeof R==="number")R=""+R;else if(typeof R!=="string")R="";var L=k(R);return z(R,{_targetLower:L._lower,_targetLowerCodes:L.lowerCodes,_bitflags:L.bitflags})},W=()=>{e.clear(),I.clear()};class K{get["indexes"](){return this._indexes.slice(0,this._indexes.len).sort((R,L)=>R-L)}set["indexes"](R){return this._indexes=R}["highlight"](R,L){return Y(this,R,L)}get["score"](){return G(this._score)}set["score"](R){this._score=O(R)}}class Q extends Array{get["score"](){return G(this._score)}set["score"](R){this._score=O(R)}}var z=(R,L)=>{let y=new K;return y.target=R,y.obj=L.obj??P$,y._score=L._score??Y1,y._indexes=L._indexes??[],y._targetLower=L._targetLower??"",y._targetLowerCodes=L._targetLowerCodes??P$,y._nextBeginningIndexes=L._nextBeginningIndexes??P$,y._bitflags=L._bitflags??0,y},G=(R)=>{if(R===Y1)return 0;if(R>1)return R;return Math.E**(((-R+1)**0.04307-1)*-2)},O=(R)=>{if(R===0)return Y1;if(R>1)return R;return 1-Math.pow(Math.log(R)/-2+1,23.218017181332716)},N=(R)=>{if(typeof R==="number")R=""+R;else if(typeof R!=="string")R="";R=R.trim();var L=k(R),y=[];if(L.containsSpace){var u=R.split(/\s+/);u=[...new Set(u)];for(var c=0;c<u.length;c++){if(u[c]==="")continue;var _=k(u[c]);y.push({lowerCodes:_.lowerCodes,_lower:u[c].toLowerCase(),containsSpace:!1})}}return{lowerCodes:L.lowerCodes,_lower:L._lower,containsSpace:L.containsSpace,bitflags:L.bitflags,spaceSearches:y}},U=(R)=>{if(R.length>999)return J(R);var L=e.get(R);if(L!==void 0)return L;return L=J(R),e.set(R,L),L},M=(R)=>{if(R.length>999)return N(R);var L=I.get(R);if(L!==void 0)return L;return L=N(R),I.set(R,L),L},A=(R,L)=>{var y=[];y.total=R.length;var u=L?.limit||P4;if(L?.key)for(var c=0;c<R.length;c++){var _=R[c],D=BZ(_,L.key);if(D==P$)continue;if(!PZ(D))D=U(D);var i=z(D.target,{_score:D._score,obj:_});if(y.push(i),y.length>=u)return y}else if(L?.keys)for(var c=0;c<R.length;c++){var _=R[c],p=new Q(L.keys.length);for(var G$=L.keys.length-1;G$>=0;--G$){var D=BZ(_,L.keys[G$]);if(!D){p[G$]=b1;continue}if(!PZ(D))D=U(D);D._score=Y1,D._indexes.len=0,p[G$]=D}if(p.obj=_,p._score=Y1,y.push(p),y.length>=u)return y}else for(var c=0;c<R.length;c++){var D=R[c];if(D==P$)continue;if(!PZ(D))D=U(D);if(D._score=Y1,D._indexes.len=0,y.push(D),y.length>=u)return y}return y},F=(R,L,y=!1,u=!1)=>{if(y===!1&&R.containsSpace)return P(R,L,u);var{_lower:c,lowerCodes:_}=R,D=_[0],i=L._targetLowerCodes,p=_.length,G$=i.length,O$=0,W$=0,J1=0;for(;;){var l$=D===i[W$];if(l$){if(x[J1++]=W$,++O$,O$===p)break;D=_[O$]}if(++W$,W$>=G$)return P$}var O$=0,s$=!1,U$=0,M$=L._nextBeginningIndexes;if(M$===P$)M$=L._nextBeginningIndexes=h(L.target);W$=x[0]===0?0:M$[x[0]-1];var SZ=0;if(W$!==G$)for(;;)if(W$>=G$){if(O$<=0)break;if(++SZ,SZ>200)break;--O$;var P1=s[--U$];W$=M$[P1]}else{var l$=_[O$]===i[W$];if(l$){if(s[U$++]=W$,++O$,O$===p){s$=!0;break}++W$}else W$=M$[W$]}var i$=p<=1?-1:L._targetLower.indexOf(c,x[0]),K$=!!~i$,p$=!K$?!1:i$===0||L._nextBeginningIndexes[i$-1]===i$;if(K$&&!p$)for(var Y$=0;Y$<M$.length;Y$=M$[Y$]){if(Y$<=i$)continue;for(var G1=0;G1<p;G1++)if(_[G1]!==L._targetLowerCodes[Y$+G1])break;if(G1===p){i$=Y$,p$=!0;break}}var b$=(w$)=>{var q$=0,g8=0;for(var ZZ=1;ZZ<p;++ZZ)if(w$[ZZ]-w$[ZZ-1]!==1)q$-=w$[ZZ],++g8;var p9=w$[p-1]-w$[0]-(p-1);if(q$-=(12+p9)*g8,w$[0]!==0)q$-=w$[0]*w$[0]*0.2;if(!s$)q$*=1000;else{var RX=1;for(var ZZ=M$[0];ZZ<G$;ZZ=M$[ZZ])++RX;if(RX>24)q$*=(RX-24)*10}if(q$-=(G$-p)/2,K$)q$/=1+p*p*1;if(p$)q$/=1+p*p*1;return q$-=(G$-p)/2,q$};if(!s$){if(K$)for(var Y$=0;Y$<p;++Y$)x[Y$]=i$+Y$;var VZ=x,_Z=b$(VZ)}else if(p$){for(var Y$=0;Y$<p;++Y$)x[Y$]=i$+Y$;var VZ=x,_Z=b$(x)}else var VZ=s,_Z=b$(s);L._score=_Z;for(var Y$=0;Y$<p;++Y$)L._indexes[Y$]=VZ[Y$];L._indexes.len=p;let L4=new K;return L4.target=L.target,L4._score=L._score,L4._indexes=L._indexes,L4},P=(R,L,y)=>{var u=new Set,c=0,_=P$,D=0,i=R.spaceSearches,p=i.length,G$=0,W$=()=>{for(let p$=G$-1;p$>=0;p$--)L._nextBeginningIndexes[v[p$*2+0]]=v[p$*2+1]},J1=!1;for(var K$=0;K$<p;++K$){J$[K$]=Y1;var l$=i[K$];if(_=F(l$,L),y){if(_===P$)continue;J1=!0}else if(_===P$)return W$(),P$;var O$=K$===p-1;if(!O$){var s$=_._indexes,U$=!0;for(let Y$=0;Y$<s$.len-1;Y$++)if(s$[Y$+1]-s$[Y$]!==1){U$=!1;break}if(U$){var M$=s$[s$.len-1]+1,SZ=L._nextBeginningIndexes[M$-1];for(let Y$=M$-1;Y$>=0;Y$--){if(SZ!==L._nextBeginningIndexes[Y$])break;L._nextBeginningIndexes[Y$]=M$,v[G$*2+0]=Y$,v[G$*2+1]=SZ,G$++}}}if(c+=_._score/p,J$[K$]=_._score/p,_._indexes[0]<D)c-=(D-_._indexes[0])*2;D=_._indexes[0];for(var P1=0;P1<_._indexes.len;++P1)u.add(_._indexes[P1])}if(y&&!J1)return P$;W$();var i$=F(R,L,!0);if(i$!==P$&&i$._score>c){if(y)for(var K$=0;K$<p;++K$)J$[K$]=i$._score/p;return i$}if(y)_=L;_._score=c;var K$=0;for(let p$ of u)_._indexes[K$++]=p$;return _._indexes.len=K$,_},S=(R)=>R.replace(/\p{Script=Latin}+/gu,(L)=>L.normalize("NFD")).replace(/[\u0300-\u036f]/g,""),k=(R)=>{R=S(R);var L=R.length,y=R.toLowerCase(),u=[],c=0,_=!1;for(var D=0;D<L;++D){var i=u[D]=y.charCodeAt(D);if(i===32){_=!0;continue}var p=i>=97&&i<=122?i-97:i>=48&&i<=57?26:i<=127?30:31;c|=1<<p}return{lowerCodes:u,bitflags:c,containsSpace:_,_lower:y}},m=(R)=>{var L=R.length,y=[],u=0,c=!1,_=!1;for(var D=0;D<L;++D){var i=R.charCodeAt(D),p=i>=65&&i<=90,G$=p||i>=97&&i<=122||i>=48&&i<=57,W$=p&&!c||!_||!G$;if(c=p,_=G$,W$)y[u++]=D}return y},h=(R)=>{R=S(R);var L=R.length,y=m(R),u=[],c=y[0],_=0;for(var D=0;D<L;++D)if(c>D)u[D]=c;else c=y[++_],u[D]=c===void 0?L:c;return u},e=new Map,I=new Map,x=[],s=[],v=[],n=[],J$=[],g$=[],a$=[],BZ=(R,L)=>{var y=R[L];if(y!==void 0)return y;if(typeof L==="function")return L(R);var u=L;if(!Array.isArray(L))u=L.split(".");var c=u.length,_=-1;while(R&&++_<c)R=R[u[_]];return R},PZ=(R)=>{return typeof R==="object"&&typeof R._bitflags==="number"},P4=1/0,Y1=-P4,LZ=[];LZ.total=0;var P$=null,b1=J(""),p1=(R)=>{var L=[],y=0,u={},c=(_)=>{for(var D=0,i=L[D],p=1;p<y;){var G$=p+1;D=p,G$<y&&L[G$]._score<L[p]._score&&(D=G$),L[D-1>>1]=L[D],p=1+(D<<1)}for(var W$=D-1>>1;D>0&&i._score<L[W$]._score;W$=(D=W$)-1>>1)L[D]=L[W$];L[D]=i};return u.add=(_)=>{var D=y;L[y++]=_;for(var i=D-1>>1;D>0&&_._score<L[i]._score;i=(D=i)-1>>1)L[D]=L[i];L[D]=_},u.poll=(_)=>{if(y!==0){var D=L[0];return L[0]=L[--y],c(),D}},u.peek=(_)=>{if(y!==0)return L[0]},u.replaceTop=(_)=>{L[0]=_,c()},u},RZ=p1();return{single:Z,go:X,prepare:J,cleanup:W}})});var c8=B(V(),1),d9=new m8({defaultOptions:{queries:{retry:($,Z)=>{if(Z instanceof TypeError&&Z.message.includes("fetch"))return $<2;return!1},refetchOnWindowFocus:!1,refetchOnMount:!0,refetchOnReconnect:!1,staleTime:300000,gcTime:600000,networkMode:"online"},mutations:{retry:1,networkMode:"online"}}});function u8({children:$}){return c8.jsxDEV(x8,{client:d9,children:$},void 0,!1,void 0,this)}async function p8($,Z,X,Y){let J={threadId:Z,graphId:X,runId:Y};try{let K=(await $.get(Z)).values;if(!K?.messages||!Array.isArray(K.messages)||K.messages.length===0)return;let z=await L1.getTitleGenerator()(K,{thread_id:Z,graph_id:X,run_id:Y});if(z){if(!await $.setTitleIfNull(Z,z))return}}catch(W){console.warn("Failed to generate thread title:",{...J,error:W instanceof Error?W.message:String(W)})}}var d8={async search($){let Z=Object.entries(R4).map(([W,K])=>({assistant_id:W,graph_id:W,config:{},metadata:{},version:1,name:W,description:"",created_at:new Date().toISOString(),updated_at:new Date().toISOString()}));if($?.graphId)Z=Z.filter((W)=>W.graph_id===$.graphId);if($?.metadata&&Object.keys($.metadata).length>0)Z=Z.filter((W)=>{return Object.entries($.metadata).every(([K,Q])=>{return W.metadata&&W.metadata[K]===Q})});if($?.sortBy)Z.sort((W,K)=>{let Q=W[$.sortBy],z=K[$.sortBy],G=Q<z?-1:Q>z?1:0;return $.sortOrder==="desc"?-G:G});let X=$?.offset??0,Y=$?.limit;return Y?Z.slice(X,X+Y):Z.slice(X)},async count($){return(await this.search($)).length},async get($){if(!Object.entries(R4).find(([X,Y])=>X===$))throw Error(`Assistant not found: ${$}`);return{assistant_id:$,graph_id:$,config:{},created_at:new Date().toISOString(),updated_at:new Date().toISOString(),metadata:{},version:1,name:$,description:""}},async delete($){throw Error("Deleting assistants is not supported. Assistants are generated from registered graphs.")},async update($,Z){throw Error("Updating assistants is not supported. Assistants are generated from registered graphs.")},async getGraph($,Z){let X={};return(await(await D1($,X)).getGraphAsync({...X,xray:Z?.xray??void 0})).toJSON()},async getSchemas($){let X=(await D1($,{})).builder;return console.log(X),{graph_id:$,state_schema:X._inputDefinition,input_schema:X._inputDefinition,output_schema:X._outputDefinition,config_schema:X._configSchema,context_schema:X._configSchema}},async getVersions($,Z){let X=await this.get($),Y=Z?.offset??0,J=Z?.limit;return J?[X].slice(Y,Y+J):[X].slice(Y)},async setLatest($,Z){let X=await this.get($);return X.version=Z,X},async create($){if(console.warn("⚠️ Creating assistants is not supported. Assistants are generated from registered graphs. Returning mock data."),!Object.keys(R4).includes($.graphId)){if($.ifExists==="raise")throw Error(`Graph not found: ${$.graphId}`)}return{assistant_id:$.assistantId||$.graphId,graph_id:$.graphId,name:$.name||$.graphId,description:$.description||"",metadata:$.metadata||{},config:$.config||{},version:1,created_at:new Date().toISOString(),updated_at:new Date().toISOString()}}},SX=()=>{let $=()=>{return L1.globalThreadsManager};return{assistants:d8,get threads(){return L1.globalThreadsManager},runs:{list(Z,X){return $().listRuns(Z,X)},async cancel(Z,X,Y,J){return await L1.globalMessageQueue.cancelQueue(X)},async*stream(Z,X,Y){Y.config={...Y.config??{},configurable:{...Y.config?.configurable??{},graph_id:X,thread_id:Z}};let J=$(),W=J.createRun(Z,X,Y);try{for await(let Q of XZ(J,W,Y,{attempt:0,getGraph:D1}))yield Q;let K=await W;await p8(J,Z,X,K.run_id)}catch(K){try{let Q=await W;await p8(J,Z,X,Q.run_id)}catch{}throw K}},async*joinStream(Z,X,Y){let J=Y&&typeof Y==="object"&&"signal"in Y?Y:{},W=(Y instanceof AbortSignal?Y:J.signal)||new AbortController().signal,K=null,Q=null;try{K=await L1.globalMessageQueue.getQueue(X);let z=await K.getAll();for(let G of z){if(W.aborted)return;if(yield{id:G.id,event:G.event,data:G.data},G.event==="__stream_end__"||G.event==="__stream_error__"||G.event==="__stream_cancel__")return}Q=K.onDataReceive();for await(let G of Q){if(W.aborted)break;let{event:O,data:N}=G;if(yield{id:G.id,event:O,data:N},G.event==="__stream_end__"||G.event==="__stream_error__"||G.event==="__stream_cancel__")break}}catch(z){if(!(z instanceof Error)||!z.message.includes("does not exist"))console.warn("Join stream failed:",z)}finally{if(Q)try{await Q.return(void 0)}catch(z){}}}}}};var fZ=($,Z)=>$.constructor.name===Z.name,o$=new Map;o$.set(j.ZodBoolean.name,()=>!1),o$.set(j.ZodNumber.name,()=>0),o$.set(j.ZodString.name,()=>""),o$.set(j.ZodArray.name,()=>[]),o$.set(j.ZodRecord.name,()=>({})),o$.set(j.ZodDefault.name,($)=>$.def.defaultValue),o$.set(j.ZodPipe.name,($)=>L0($.def.in)),o$.set(j.ZodOptional.name,($)=>fZ($.def.innerType,j.ZodDefault)?$.def.innerType.def.defaultValue:void 0),o$.set(j.ZodTuple.name,($)=>{let Z=[];for(let X of $.def.items)Z.push(L0(X));return Z}),o$.set(j.ZodPipe.name,($)=>L0($.def.in)),o$.set(j.ZodUnion.name,($)=>L0($.def.options[0])),o$.set(j.ZodObject.name,($)=>hZ($)),o$.set(j.ZodRecord.name,($)=>hZ($)),o$.set(j.ZodIntersection.name,($)=>hZ($));function L0($){let Z=$.constructor.name;if(!o$.has(Z)){console.warn("getSchemaDefaultForField: Unhandled type",$.constructor.name);return}return o$.get(Z)($)}function hZ($){if(fZ($,j.ZodRecord))return{};if(fZ($,j.ZodPipe))return hZ($.def.in);if(fZ($,j.ZodIntersection))return{...hZ($.def.left),...hZ($.def.right)};if(fZ($,j.ZodUnion)){for(let Z of $.def.options)if(fZ(Z,j.ZodObject))return hZ(Z);return console.warn("getSchemaDefaultObject: No object found in union, returning empty object"),{}}return fZ($,j.ZodObject)?Object.fromEntries(Object.entries($.shape).map(([Z,X])=>[Z,L0(X)]).filter((Z)=>Z[1]!==void 0)):(console.warn(`getSchemaDefaultObject: Expected object schema, got ${$.constructor.name}`),{})}var Jz=j.object({task_store:j.record(j.string(),j.any()).default({})}),Wz=j.object({task_id:j.string().optional().describe("The task id to ask the subagent, if not provided, will use the tool call id"),subagent_id:j.string(),task_description:j.string().describe("Describe the user state and what you want the subagent to do."),data_transfer:j.any().optional().describe("Data to transfer to the subagent.")});var X$=SX(),l9=q.object({thread_id:q.string().optional(),thread_ts:q.string().optional()}).catchall(q.unknown()),X0=q.object({tags:q.array(q.string()).optional(),recursion_limit:q.number().int().optional(),configurable:l9.optional()}).catchall(q.unknown()).describe("The configuration of an assistant.");q.object({assistant_id:q.string(),graph_id:q.string(),config:X0,created_at:q.string(),updated_at:q.string(),metadata:q.object({}).catchall(q.any())});var d1=q.object({source:q.union([q.literal("input"),q.literal("loop"),q.literal("update"),q.string()]).optional(),step:q.number().optional(),writes:q.any().nullable().optional(),parents:q.any().optional()}).catchall(q.unknown()),l8=q.object({node:q.string(),input:q.unknown().optional()}),kX=q.object({update:q.union([q.any(),q.array(q.tuple([q.string(),q.any()]))]).nullable().optional(),resume:q.unknown().optional(),goto:q.union([l8,q.array(l8),q.string(),q.array(q.string())]).optional()});q.object({limit:q.number().int().optional(),offset:q.number().int().optional()});var W1=q.object({thread_id:q.string()}),R0=q.object({thread_id:q.string(),run_id:q.string()}),i9=q.object({graph_id:q.string().optional(),metadata:d1.optional(),limit:q.number().int().optional(),offset:q.number().int().optional(),sort_by:q.enum(["assistant_id","graph_id","name","created_at","updated_at"]).optional(),sort_order:q.enum(["asc","desc"]).optional()}),o9=q.object({graph_id:q.string().optional(),metadata:d1.optional()}),n9=q.object({xray:q.union([q.string(),q.boolean(),q.number()]).optional()}),i8=q.object({name:q.string().optional(),description:q.string().optional(),metadata:d1.optional(),config:X0.optional()}).optional(),r9=q.object({assistant_id:q.string().optional(),graph_id:q.string().describe("The ID of graph to create an assistant from."),name:q.string().optional(),description:q.string().optional(),metadata:d1.optional(),config:X0.optional(),if_exists:q.enum(["raise","do_nothing"]).optional()}),a9=q.object({assistant_id:q.union([q.string(),q.string()]),checkpoint_id:q.string().optional(),input:q.any().optional(),command:kX.optional(),metadata:d1.optional(),config:X0.optional(),webhook:q.string().optional(),interrupt_before:q.union([q.literal("*"),q.array(q.string())]).optional(),interrupt_after:q.union([q.literal("*"),q.array(q.string())]).optional(),on_disconnect:q.enum(["cancel","continue"]).optional().default("continue"),multitask_strategy:q.enum(["reject","rollback","interrupt","enqueue"]).optional(),stream_mode:q.array(q.enum(["values","messages","messages-tuple","updates","events","debug","custom"])).optional(),stream_subgraphs:q.boolean().optional(),stream_resumable:q.boolean().optional(),after_seconds:q.number().optional(),if_not_exists:q.enum(["create","reject"]).optional(),on_completion:q.enum(["complete","continue"]).optional(),feedback_keys:q.array(q.string()).optional(),langsmith_tracer:q.unknown().optional()}).describe("Payload for creating a stateful run."),s9=q.object({limit:q.coerce.number().int().optional().default(10),offset:q.coerce.number().int().optional().default(0),status:q.enum(["pending","running","error","success","timeout","interrupted"]).optional()}),t9=q.object({wait:q.coerce.boolean().optional().default(!1),action:q.enum(["interrupt","rollback"]).optional().default("interrupt")}),e9=q.object({cancel_on_disconnect:q.coerce.boolean().optional().default(!1),last_event_id:q.string().optional(),stream_mode:q.enum(["values","messages","messages-tuple","updates","events","debug","custom"]).optional()}),$Y=q.object({thread_id:q.string().describe("The ID of thread. If not provided, an ID is generated.").optional(),metadata:d1.optional(),if_exists:q.union([q.literal("raise"),q.literal("do_nothing")]).optional()}).describe("Payload for creating a thread."),o8=q.object({ids:q.array(q.string()).describe("List of thread IDs to include. Others are excluded.").optional(),metadata:d1.describe("Metadata to search for.").optional(),status:q.enum(["idle","busy","interrupted","error"]).describe("Filter by thread status.").optional(),values:q.any().describe("Filter by thread values.").optional(),limit:q.number().int().gte(1).lte(1000).describe("Maximum number to return.").optional(),offset:q.number().int().gte(0).describe("Offset to start from.").optional(),sort_by:q.enum(["thread_id","status","created_at","updated_at"]).describe("Sort by field.").optional(),sort_order:q.enum(["asc","desc"]).describe("Sort order.").optional(),select:q.array(q.enum(["thread_id","created_at","updated_at","metadata","config","context","status","values","interrupts","title"])).describe("Specify which fields to return. If not provided, all fields are returned.").optional(),without_details:q.boolean().describe("Whether to return values.").optional()}).describe("Payload for listing threads.");q.object({values:q.union([q.record(q.string(),q.unknown()),q.array(q.record(q.string(),q.unknown()))]).nullish()}).describe("Payload for adding state to a thread.");var ZY=q.object({metadata:d1.optional(),status:q.enum(["idle","busy","interrupted","error"]).optional(),values:q.any().optional()}).describe("Payload for patching a thread."),n8=q.object({assistant_id:q.string(),input:q.any().optional(),command:kX.optional(),metadata:d1.optional(),config:X0.optional(),webhook:q.string().optional(),interrupt_before:q.union([q.literal("*"),q.array(q.string())]).optional(),interrupt_after:q.union([q.literal("*"),q.array(q.string())]).optional(),on_disconnect:q.enum(["cancel","continue"]).optional().default("continue"),multitask_strategy:q.enum(["reject","rollback","interrupt","enqueue"]).optional(),stream_mode:q.array(q.enum(["values","messages","messages-tuple","updates","events","debug","custom"])).optional(),stream_subgraphs:q.boolean().optional(),stream_resumable:q.boolean().optional(),after_seconds:q.number().optional(),if_not_exists:q.enum(["create","reject"]).optional(),on_completion:q.enum(["complete","continue"]).optional(),feedback_keys:q.array(q.string()).optional(),langsmith_tracer:q.unknown().optional()}).describe("Payload for creating a run (background/wait)."),XY=q.object({cancel_on_disconnect:q.coerce.boolean().optional().default(!1)}),YY=q.object({cancel_on_disconnect:q.coerce.boolean().optional().default(!1)}),S4=q.object({assistant_id:q.string().describe("The assistant ID or graph name to run."),input:q.any().optional().describe("The input to the graph."),command:kX.optional(),metadata:d1.optional().describe("Metadata to assign to the run."),config:X0.optional(),context:q.object({}).catchall(q.any()).optional().describe("Static context added to the assistant."),webhook:q.string().optional(),interrupt_before:q.union([q.literal("*"),q.array(q.string())]).optional(),interrupt_after:q.union([q.literal("*"),q.array(q.string())]).optional(),stream_mode:q.union([q.enum(["values","messages","messages-tuple","tasks","checkpoints","updates","events","debug","custom"]),q.array(q.enum(["values","messages","messages-tuple","tasks","checkpoints","updates","events","debug","custom"]))]).optional().default(["values"]),feedback_keys:q.array(q.string()).optional(),stream_subgraphs:q.boolean().optional().default(!1),stream_resumable:q.boolean().optional().default(!1)}).describe("Payload for creating a stateless run."),JY=q.array(S4).min(1).describe("Payload for creating a batch of stateless runs."),WY=q.object({action:q.enum(["interrupt","rollback"]).optional().default("interrupt").describe("Action to take when cancelling the run."),wait:q.coerce.boolean().optional().default(!1)}),KY=q.union([q.object({status:q.enum(["pending","running","all"]).describe("Filter runs by status to cancel.")}),q.object({thread_id:q.string().describe("The ID of the thread containing runs to cancel.")}),q.object({run_ids:q.array(q.string()).min(1).describe("List of run IDs to cancel.")})]);function D$($,Z){let X=Z.split("/").filter((W)=>W),Y=new URL($).pathname.split("/").filter((W)=>W),J={};return X.forEach((W,K)=>{if(W.startsWith(":")){let Q=W.slice(1);J[Q]=Y[K]}}),J}function j1($){let Z=new URL($).searchParams,X={};return Z.forEach((Y,J)=>{if(!isNaN(Number(Y))&&Y!=="")X[J]=Number(Y);else if(Y==="true"||Y==="false")X[J]=Y==="true";else X[J]=Y}),X}function a($,Z){let X=$.safeParse(Z);if(!X.success)throw new IX(X.error.issues);return X.data}class IX extends Error{errors;constructor($){super("Validation failed");this.name="ValidationError",this.errors=$}}function Q$($,Z=200,X){return new Response(JSON.stringify($),{status:Z,headers:{"Content-Type":"application/json",...X}})}function t($,Z=500){if($ instanceof IX)return Q$({error:"Validation Error",details:$.errors},400);return Q$({error:$ instanceof Error?$.message:"Unknown error"},Z)}function bX($){let Z,X=!1,Y=new AbortController,J=new ReadableStream({async start(W){Z=W;let K=new TextEncoder,Q={signal:Y.signal,writeSSE:async({data:z,event:G,id:O})=>{if(X||Y.signal.aborted)return;try{let N="";if(O)N+=`id: ${O}
|
|
6
|
+
`;if(G)N+=`event: ${G}
|
|
7
|
+
`;N+=`data: ${z}
|
|
8
|
+
|
|
9
|
+
`,Z.enqueue(K.encode(N))}catch(N){if(!X&&!Y.signal.aborted)throw N}},close:()=>{if(!X){X=!0;try{Z.close()}catch(z){}}}};try{await $(Q)}catch(z){if(!Y.signal.aborted)console.error("SSE stream error:",z)}finally{if(!X){X=!0;try{Z.close()}catch(z){}}}},cancel(){if(X=!0,!Y.signal.aborted)Y.abort("Client disconnected")}});return new Response(J,{headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}function DX($,Z=process.env.HEARTBEAT_INTERVAL?parseInt(process.env.HEARTBEAT_INTERVAL):1500){return async(X)=>{let Y=null,J=!1,W=()=>{if(Y)clearInterval(Y),Y=null},K=()=>{W(),Y=setInterval(async()=>{if(X.signal.aborted||J){W();return}try{await X.writeSSE({event:"ping",data:"{}"})}catch(G){W()}},Z)},Q=()=>{W()};X.signal.addEventListener("abort",Q);let z={signal:X.signal,writeSSE:async(G)=>{if(X.signal.aborted)return;if(W(),await X.writeSSE(G),!X.signal.aborted)K()},close:()=>{W(),X.close()}};K();try{await $(z)}finally{J=!0,W(),X.signal.removeEventListener("abort",Q)}}}async function QY($,Z){try{let X=await $.json(),Y=a(i9,X),J=await X$.assistants.search(m$(Y));return Q$(J,200,{"X-Pagination-Total":"0"})}catch(X){return t(X)}}async function zY($,Z){try{let X=await $.json(),Y=a(o9,X),J=await X$.assistants.count(m$(Y));return Q$(J)}catch(X){return t(X)}}async function GY($,Z){try{let J=new URL($.url).pathname.split("/").filter((K)=>K)[1],W=await X$.assistants.get(J);return Q$(W)}catch(X){return t(X)}}async function OY($,Z){try{let J=new URL($.url).pathname.split("/").filter((W)=>W)[1];return await X$.assistants.delete(J),Q$({})}catch(X){return t(X)}}async function HY($,Z){try{let J=new URL($.url).pathname.split("/").filter((z)=>z)[1],W=await $.json(),K=a(i8,W),Q=await X$.assistants.update(J,m$(K));return Q$(Q)}catch(X){return t(X)}}async function NY($,Z){try{let J=new URL($.url).pathname.split("/").filter((z)=>z)[1],W=j1($.url),{xray:K}=a(n9,W),Q=await X$.assistants.getGraph(J,{xray:K!==void 0?K==="true":void 0});return Q$(Q)}catch(X){return t(X)}}async function UY($,Z){return t({},501)}async function wY($,Z){return t({},501)}async function MY($,Z){try{let J=new URL($.url).pathname.split("/").filter((K)=>K)[1],W=await X$.assistants.getSchemas(J);return Q$(W)}catch(X){return t(X)}}async function qY($,Z){try{let J=new URL($.url).pathname.split("/").filter((z)=>z)[1],W=await $.json(),K=a(i8,W),Q=await X$.assistants.getVersions(J,m$(K));return Q$(Q)}catch(X){return t(X)}}async function AY($,Z){try{let J=new URL($.url).pathname.split("/").filter((z)=>z)[1],W=j1($.url),K=W.version?parseInt(W.version):1,Q=await X$.assistants.setLatest(J,K);return Q$(Q)}catch(X){return t(X)}}async function FY($,Z){try{let X=await $.json(),Y=a(r9,X),J=await X$.assistants.create(m$(Y));return Q$(J)}catch(X){return t(X)}}async function CY($,Z){try{let X=await $.json(),Y=a($Y,X),J=await X$.threads.create(m$(Y));return Q$(J)}catch(X){return t(X)}}async function BY($,Z){try{let X=await $.json(),Y=a(o8,X),J=await X$.threads.search(m$(Y));return Q$(J,200,{"X-Pagination-Total":J.length.toString()})}catch(X){return t(X)}}async function PY($,Z){try{let X=await $.json(),Y=a(o8.partial(),X),J=await X$.threads.count(m$(Y));return Q$(J)}catch(X){return t(X)}}async function LY($,Z){try{let X=D$($.url,"/threads/:thread_id"),{thread_id:Y}=a(W1,X),J=await X$.threads.get(Y);return Q$(J)}catch(X){return t(X)}}async function RY($,Z){try{let X=D$($.url,"/threads/:thread_id"),{thread_id:Y}=a(W1,X),J=await $.json(),W=a(ZY,J),K=await X$.threads.patch(Y,m$(W));return Q$(K)}catch(X){return t(X)}}async function SY($,Z){try{let X=D$($.url,"/threads/:thread_id"),{thread_id:Y}=a(W1,X);return await X$.threads.delete(Y),new Response(null,{status:204})}catch(X){return t(X)}}async function VY($,Z){try{let X=D$($.url,"/threads/:thread_id/state"),{thread_id:Y}=a(W1,X),J=j1($.url),W={subgraphs:J.subgraphs==="true"||J.subgraphs===!0},K=await X$.threads.getState(Y,W);return Q$(K)}catch(X){return t(X)}}async function TY($,Z){try{let X=D$($.url,"/threads/:thread_id/state"),{thread_id:Y}=a(W1,X),J=await $.json(),W=await X$.threads.updateState(Y,m$(J));return Q$(W)}catch(X){return t(X)}}async function kY($,Z){try{let X=D$($.url,"/threads/:thread_id/state/checkpoint"),{thread_id:Y}=a(W1,X),J=await $.json(),W=j1($.url),K={subgraphs:W.subgraphs==="true"||W.subgraphs===!0,...J},Q=await X$.threads.getState(Y,K);return Q$(Q)}catch(X){return t(X)}}async function IY($,Z){try{let X=D$($.url,"/threads/:thread_id/history"),{thread_id:Y}=a(W1,X),J=j1($.url),W={limit:J.limit?parseInt(J.limit,10):void 0,before:J.before},K=await X$.threads.getStateHistory(Y,W);return Q$(K)}catch(X){return t(X)}}async function bY($,Z){try{let X=D$($.url,"/threads/:thread_id/history"),{thread_id:Y}=a(W1,X),J=await $.json(),W={limit:J.limit,before:J.before},K=await X$.threads.getStateHistory(Y,W);return Q$(K)}catch(X){return t(X)}}async function DY($,Z){try{let X=D$($.url,"/threads/:thread_id/copy"),{thread_id:Y}=a(W1,X),J=await X$.threads.copy(Y);return Q$(J)}catch(X){return t(X)}}async function jY($,Z){try{let X=D$($.url,"/threads/:thread_id/stream"),{thread_id:Y}=a(W1,X),J=j1($.url),W={lastEventId:$.headers.get("Last-Event-ID")||J.last_event_id,streamModes:J.stream_modes?Array.isArray(J.stream_modes)?J.stream_modes:[J.stream_modes]:void 0};return new Response(`data: {"status": "stream_ready"}
|
|
10
|
+
|
|
11
|
+
`,{headers:{"Content-Type":"text/event-stream","Cache-Control":"no-cache",Connection:"keep-alive"}})}catch(X){return t(X)}}async function yY($,Z){try{let X=D$($.url,"/threads/:thread_id/runs/stream"),{thread_id:Y}=a(W1,X),J=await $.json(),W=a(a9,J);return bX(DX(async(K)=>{W.config=W.config||{},W.config.configurable=W.config.configurable||{};let Q=Z?.langgraph_context;if(Q)Object.assign(W.config.configurable,Q);let z=null,G=!1,O=()=>{G=!0};K.signal.addEventListener("abort",O);try{z=X$.runs.stream(Y,W.assistant_id,m$(W));for await(let{event:N,data:U}of z){if(G||K.signal.aborted)break;await K.writeSSE({data:TX(U)??"",event:N})}}catch(N){if(!K.signal.aborted&&!G)throw N}finally{if(K.signal.removeEventListener("abort",O),z){try{await z.return(void 0)}catch(N){}z=null}}}))}catch(X){return t(X)}}async function EY($,Z){try{let X=D$($.url,"/threads/:thread_id/runs/:run_id/stream"),{thread_id:Y,run_id:J}=a(R0,X),W=j1($.url),{cancel_on_disconnect:K,last_event_id:Q,stream_mode:z}=a(e9,W);return bX(DX(async(G)=>{let O=new AbortController,N=null,U=!1,M=[],A=()=>{O.abort("Client disconnected")};if($.signal)$.signal.addEventListener("abort",A),M.push({signal:$.signal,handler:A});let F=()=>{U=!0,O.abort("SSE stream closed")};G.signal.addEventListener("abort",F),M.push({signal:G.signal,handler:F});try{N=X$.runs.joinStream(Y,J,{signal:O.signal,cancelOnDisconnect:K,lastEventId:Q,streamMode:z?[z]:void 0});for await(let{event:P,data:S,id:k}of N){if(U||G.signal.aborted||O.signal.aborted)break;await G.writeSSE({data:TX(S)??"",event:P,id:k})}}catch(P){if(!(O.signal.aborted||G.signal.aborted)&&!(P instanceof Error&&P.message.includes("user cancel")))console.error("Join stream error:",P),await G.writeSSE({event:"error",data:JSON.stringify({error:P instanceof Error?P.message:"Unknown error"})})}finally{for(let{signal:P,handler:S}of M)try{P.removeEventListener("abort",S)}catch(k){}if(N){try{await N.return(void 0)}catch(P){}N=null}}}))}catch(X){return t(X)}}async function vY($,Z){try{let X=D$($.url,"/threads/:thread_id/runs"),{thread_id:Y}=a(W1,X),J=j1($.url),{limit:W,offset:K,status:Q}=a(s9,J),z=await X$.runs.list(Y,{limit:W,offset:K,status:Q});return Q$(z)}catch(X){return t(X)}}async function _Y($,Z){try{let X=D$($.url,"/threads/:thread_id/runs/:run_id/cancel"),{thread_id:Y,run_id:J}=a(R0,X),W=j1($.url),{wait:K,action:Q}=a(t9,W),z=X$.runs.cancel(Y,J,K,Q);if(K)await z;return new Response(null,{status:K?204:202})}catch(X){return t(X)}}async function fY($,Z){try{let X=D$($.url,"/threads/:thread_id/runs"),{thread_id:Y}=a(W1,X),J=await $.json(),W=a(n8,J),K=m$(W);K.config=K.config||{},K.config.configurable=K.config.configurable||{};let Q=Z?.langgraph_context;if(Q)Object.assign(K.config.configurable,Q);K.config.configurable.graph_id=W.assistant_id,K.config.configurable.thread_id=Y;let z=X$.threads,G=await z.createRun(Y,W.assistant_id,K);return(async()=>{let O=!1;try{for await(let N of XZ(z,G,K,{attempt:0,getGraph:D1}));}catch(N){console.error("Background run error:",N)}finally{if(!O){O=!0;try{await L1.globalMessageQueue.removeQueue(G.run_id)}catch(N){}}}})(),Q$(G,200,{"Content-Location":`/threads/${Y}/runs/${G.run_id}`})}catch(X){return t(X)}}async function hY($,Z){try{let X=D$($.url,"/threads/:thread_id/runs/wait"),{thread_id:Y}=a(W1,X),J=await $.json(),W=a(n8,J),K=j1($.url),{cancel_on_disconnect:Q}=a(XY,K),z=m$(W);z.config=z.config||{},z.config.configurable=z.config.configurable||{};let G=Z?.langgraph_context;if(G)Object.assign(z.config.configurable,G);z.config.configurable.graph_id=W.assistant_id,z.config.configurable.thread_id=Y;let O=X$.threads,N=await O.createRun(Y,W.assistant_id,z),U={};for await(let{event:M,data:A}of XZ(O,N,z,{attempt:0,getGraph:D1}))if(M==="end"||M==="writes/value"){if(A&&typeof A==="object")Object.assign(U,A)}return Q$(U,200,{"Content-Location":`/threads/${Y}/runs/${N.run_id}`})}catch(X){return t(X)}}async function gY($,Z){try{let X=D$($.url,"/threads/:thread_id/runs/:run_id"),{thread_id:Y,run_id:J}=a(R0,X),K=(await X$.runs.list(Y,{limit:1000})).find((Q)=>Q.run_id===J);if(!K)return t(Error("Run not found"),404);return Q$(K)}catch(X){return t(X)}}async function mY($,Z){try{let X=D$($.url,"/threads/:thread_id/runs/:run_id"),{thread_id:Y,run_id:J}=a(R0,X);return await X$.threads.updateRun(J,{status:"deleted"}),new Response(null,{status:204})}catch(X){return t(X)}}async function xY($,Z){try{let X=D$($.url,"/threads/:thread_id/runs/:run_id/join"),{thread_id:Y,run_id:J}=a(R0,X),W=j1($.url),{cancel_on_disconnect:K}=a(YY,W),z=(await X$.runs.list(Y,{limit:1000})).find((N)=>N.run_id===J);if(!z)return t(Error("Run not found"),404);if(z.status==="success"||z.status==="error")return Q$({});let G=new AbortController;if(K){let N=()=>{G.abort("Client disconnected")};$.signal?.addEventListener("abort",N)}let O={};for await(let{event:N,data:U}of X$.runs.joinStream(Y,J,{signal:G.signal,cancelOnDisconnect:K}))if(N.event==="end"||N.event==="writes/value"){if(U&&typeof U==="object")Object.assign(O,U)}return Q$(O)}catch(X){return t(X)}}async function uY($,Z){try{let X=await $.json(),Y=a(S4,X),J=m$(Y);J.config=J.config||{},J.config.configurable=J.config.configurable||{};let W=Z?.langgraph_context;if(W)Object.assign(J.config.configurable,W);let K=X$.threads,Q=await K.create({metadata:{...J.metadata,temporary:!0}});J.config.configurable.graph_id=Y.assistant_id,J.config.configurable.thread_id=Q.thread_id,J.temporary=!0;let z=await K.createRun(Q.thread_id,Y.assistant_id,J);return(async()=>{let G=!1;try{for await(let O of XZ(K,z,J,{attempt:0,getGraph:D1}));}catch(O){console.error("Stateless run error:",O)}finally{try{await K.delete(Q.thread_id)}catch(O){console.error("Error cleaning up temporary thread:",O)}if(!G){G=!0;try{await L1.globalMessageQueue.removeQueue(z.run_id)}catch(O){}}}})(),Q$(z,200,{"Content-Location":`/threads/${Q.thread_id}/runs/${z.run_id}`})}catch(X){return t(X)}}async function cY($,Z){try{let X=await $.json(),Y=a(S4,X),J=m$(Y);J.config=J.config||{},J.config.configurable=J.config.configurable||{};let W=Z?.langgraph_context;if(W)Object.assign(J.config.configurable,W);let K=X$.threads,Q=await K.create({metadata:{...J.metadata,temporary:!0}});J.config.configurable.graph_id=Y.assistant_id,J.config.configurable.thread_id=Q.thread_id,J.temporary=!0;let z=await K.createRun(Q.thread_id,Y.assistant_id,J);return bX(DX(async(G)=>{try{for await(let O of XZ(K,z,J,{attempt:0,getGraph:D1}))await G.writeSSE({data:JSON.stringify(O),event:"data"})}catch(O){if(O instanceof Error&&O.name!=="AbortError")throw console.error("Stream error:",O),O}finally{try{await K.delete(Q.thread_id)}catch(O){console.error("Error cleaning up temporary thread:",O)}}}))}catch(X){return t(X)}}async function pY($,Z){try{let X=await $.json(),Y=a(S4,X),J=m$(Y);J.config=J.config||{},J.config.configurable=J.config.configurable||{};let W=Z?.langgraph_context;if(W)Object.assign(J.config.configurable,W);let K=X$.threads,Q=await K.create({metadata:{...J.metadata,temporary:!0}});J.config.configurable.graph_id=Y.assistant_id,J.config.configurable.thread_id=Q.thread_id,J.temporary=!0;let z=await K.createRun(Q.thread_id,Y.assistant_id,J),G={};try{for await(let{event:O,data:N}of XZ(K,z,J,{attempt:0,getGraph:D1}))if(O==="end"||O==="writes/value"){if(N&&typeof N==="object")Object.assign(G,N)}}finally{try{await K.delete(Q.thread_id)}catch(O){console.error("Error cleaning up temporary thread:",O)}}return Q$(G,200,{"Content-Location":`/threads/${Q.thread_id}/runs/${z.run_id}`})}catch(X){return t(X)}}async function dY($,Z){try{let X=await $.json(),Y=a(JY,X),J=X$.threads,W=[],K=Y.map(async(z)=>{try{let G=m$(z);G.config=G.config||{},G.config.configurable=G.config.configurable||{};let O=Z?.langgraph_context;if(O)Object.assign(G.config.configurable,O);let N=await J.create({metadata:{...G.metadata,temporary:!0}});G.config.configurable.graph_id=z.assistant_id,G.config.configurable.thread_id=N.thread_id,G.temporary=!0;let U=await J.createRun(N.thread_id,z.assistant_id,G);return(async()=>{let M=!1;try{for await(let A of XZ(J,U,G,{attempt:0,getGraph:D1}));}catch(A){console.error("Batch run error:",A)}finally{try{await J.delete(N.thread_id)}catch(A){console.error("Error cleaning up temporary thread:",A)}if(!M){M=!0;try{await L1.globalMessageQueue.removeQueue(U.run_id)}catch(A){}}}})(),{thread_id:N.thread_id,run_id:U.run_id}}catch(G){return console.error("Batch run creation error:",G),{error:(G instanceof Error?G.message:"Unknown error")||"Unknown error"}}}),Q=await Promise.all(K);return W.push(...Q),Q$(W,200)}catch(X){return t(X)}}async function lY($,Z){try{let X=await $.json(),Y=a(KY,X),J=new URL($.url),W=a(WY,{action:J.searchParams.get("action")||"interrupt"}),K=X$.threads,Q=[];if("run_ids"in Y&&Y.run_ids)for(let z of Y.run_ids)try{console.warn(`Cancel by run_id ${z} not fully implemented yet`)}catch(G){console.error(`Error cancelling run ${z}:`,G)}else if("thread_id"in Y&&Y.thread_id){let z=Y.thread_id;try{let G=await K.listRuns(z,{limit:1000,offset:0});for(let O of G)try{X$.runs.cancel(z,O.run_id,W.wait,W.action),Q.push(O.run_id)}catch(N){console.error(`Error cancelling run ${O.run_id}:`,N)}}catch(G){console.error(`Error listing runs for thread ${z}:`,G)}}else if("status"in Y&&Y.status)console.warn(`Cancel by status ${Y.status} not fully implemented yet`);return new Response(null,{status:204})}catch(X){return t(X)}}var iY=[{method:"POST",pattern:/^\/assistants\/search$/,handler:QY},{method:"POST",pattern:/^\/assistants\/count$/,handler:zY},{method:"GET",pattern:/^\/assistants\/[^/]+$/,handler:GY},{method:"DELETE",pattern:/^\/assistants\/[^/]+$/,handler:OY},{method:"PATCH",pattern:/^\/assistants\/[^/]+$/,handler:HY},{method:"GET",pattern:/^\/assistants\/[^/]+\/graph$/,handler:NY},{method:"GET",pattern:/^\/assistants\/[^/]+\/subgraphs$/,handler:UY},{method:"GET",pattern:/^\/assistants\/[^/]+\/subgraphs\/[^/]+$/,handler:wY},{method:"GET",pattern:/^\/assistants\/[^/]+\/schemas$/,handler:MY},{method:"POST",pattern:/^\/assistants\/[^/]+\/versions$/,handler:qY},{method:"POST",pattern:/^\/assistants\/[^/]+\/latest$/,handler:AY},{method:"POST",pattern:/^\/assistants$/,handler:FY},{method:"POST",pattern:/^\/threads$/,handler:CY},{method:"POST",pattern:/^\/threads\/search$/,handler:BY},{method:"POST",pattern:/^\/threads\/count$/,handler:PY},{method:"GET",pattern:/^\/threads\/[^/]+$/,handler:LY},{method:"PATCH",pattern:/^\/threads\/[^/]+$/,handler:RY},{method:"DELETE",pattern:/^\/threads\/[^/]+$/,handler:SY},{method:"GET",pattern:/^\/threads\/[^/]+\/state$/,handler:VY},{method:"POST",pattern:/^\/threads\/[^/]+\/state$/,handler:TY},{method:"POST",pattern:/^\/threads\/[^/]+\/state\/checkpoint$/,handler:kY},{method:"GET",pattern:/^\/threads\/[^/]+\/history$/,handler:IY},{method:"POST",pattern:/^\/threads\/[^/]+\/history$/,handler:bY},{method:"POST",pattern:/^\/threads\/[^/]+\/copy$/,handler:DY},{method:"GET",pattern:/^\/threads\/[^/]+\/stream$/,handler:jY},{method:"POST",pattern:/^\/threads\/[^/]+\/runs$/,handler:fY},{method:"POST",pattern:/^\/threads\/[^/]+\/runs\/stream$/,handler:yY},{method:"POST",pattern:/^\/threads\/[^/]+\/runs\/wait$/,handler:hY},{method:"POST",pattern:/^\/threads\/[^/]+\/runs\/[^/]+\/cancel$/,handler:_Y},{method:"GET",pattern:/^\/threads\/[^/]+\/runs$/,handler:vY},{method:"GET",pattern:/^\/threads\/[^/]+\/runs\/[^/]+$/,handler:gY},{method:"DELETE",pattern:/^\/threads\/[^/]+\/runs\/[^/]+$/,handler:mY},{method:"GET",pattern:/^\/threads\/[^/]+\/runs\/[^/]+\/join$/,handler:xY},{method:"GET",pattern:/^\/threads\/[^/]+\/runs\/[^/]+\/stream$/,handler:EY},{method:"POST",pattern:/^\/runs$/,handler:uY},{method:"POST",pattern:/^\/runs\/stream$/,handler:cY},{method:"POST",pattern:/^\/runs\/wait$/,handler:pY},{method:"POST",pattern:/^\/runs\/batch$/,handler:dY},{method:"POST",pattern:/^\/runs\/cancel$/,handler:lY}],oY=($)=>{let Z=new URL($.url).pathname.toString(),X="";if(Z.includes("/threads"))X=Z.split("/threads")[0];else if(Z.includes("/assistants"))X=Z.split("/assistants")[0];return new Request($.url.replace(X,""),{method:$.method,headers:$.headers,body:$.body,duplex:$.duplex})};async function r8($,Z={}){$=oY($);try{await L1.initGlobal();let Y=new URL($.url).pathname,J=$.method;for(let W of iY)if(W.method===J&&W.pattern.test(Y))return await W.handler($,Z);return new Response("Not Found",{status:404})}catch(X){return console.error("Request error:",X),t(X)}}var t8=B(nY(),1),e8=B(rY(),1);import*as V0 from"node:os";import{dirname as $6,join as aY}from"node:path";import{pipeline as sY}from"node:stream/promises";import{fileURLToPath as tY}from"node:url";var{mkdir:EX,createWriteStream:eY,move:$J}=e8.default,Z6=$6(tY(import.meta.url)),ZJ="microsoft/ripgrep-prebuilt",jX=process.env.RIPGREP_VERSION||"v15.0.0",XJ=()=>{let $=process.env.npm_config_arch||V0.arch(),Z=process.env.platform||V0.platform();switch(Z){case"darwin":switch($){case"arm64":return"aarch64-apple-darwin.tar.gz";default:return"x86_64-apple-darwin.tar.gz"}case"win32":switch($){case"x64":return"x86_64-pc-windows-msvc.zip";case"arm":return"aarch64-pc-windows-msvc.zip";default:return"i686-pc-windows-msvc.zip"}case"linux":switch($){case"x64":return"x86_64-unknown-linux-musl.tar.gz";case"arm":case"armv7l":return"arm-unknown-linux-gnueabihf.tar.gz";case"arm64":return"aarch64-unknown-linux-gnu.tar.gz";case"ppc64":return"powerpc64le-unknown-linux-gnu.tar.gz";case"s390x":return"s390x-unknown-linux-gnu.tar.gz";default:return"i686-unknown-linux-musl.tar.gz"}default:throw Error("Unknown platform: "+Z)}},YJ=async($,Z)=>{try{let X=a8(),Y=await fetch($);if(!Y.ok)throw Error(`HTTP ${Y.status}: ${Y.statusText}`);await sY(Y.body,eY(X)),await EX($6(Z),{recursive:!0}),await $J(X,Z)}catch(X){throw console.error(`Failed to download "${$}"`),X}},JJ=async($,Z)=>{try{await EX(Z,{recursive:!0}),await t8.default($,{dir:Z})}catch(X){throw console.error(`Failed to unzip "${$}"`),X}},WJ=async($,Z)=>{try{await EX(Z,{recursive:!0}),await S0("tar",["xvf",$,"-C",Z])}catch(X){throw console.error(`Failed to extract "${$}"`),X}},KJ=async($)=>{if($==="android")try{return await S0("pkg",["install","ripgrep","-y"]),!0}catch(Z){return console.info("Could not install ripgrep via pkg. Falling back to download."),!1}return!1},QJ=aY(Z6,`rg${process.platform==="win32"?".exe":""}`),X6=async($)=>{if(await yX(QJ)){console.log("rg cached");return}let Z=process.env.platform||V0.platform();if(Z==="android"){if(await KJ(Z))return}let X=XJ(),J=`${process.env.RIPGREP_PREBUILT_BINARIES_MIRROR||`https://v6.gh-proxy.org/https://github.com/${ZJ}/releases/download`}/${jX}/ripgrep-${jX}-${X}`,W=`${s8}/vscode-ripgrep/ripgrep-${jX}-${X}`,K=$??Z6;if(!await yX(W))await YJ(J,W);else console.info(`File ${W} has been cached`);if(W.endsWith(".tar.gz"))await WJ(W,K);else if(W.endsWith(".zip"))await JJ(W,K);else throw Error(`Invalid downloadPath ${W}`)};await X6();VX("code",Y6);var J6=($,Z={})=>{return r8(new Request($,Z),{})};function b($,Z,X,Y,J){if(Y==="m")throw TypeError("Private method is not writable");if(Y==="a"&&!J)throw TypeError("Private accessor was defined without a setter");if(typeof Z==="function"?$!==Z||!J:!Z.has($))throw TypeError("Cannot write private member to an object whose class did not declare it");return Y==="a"?J.call($,X):J?J.value=X:Z.set($,X),X}function C($,Z,X,Y){if(X==="a"&&!Y)throw TypeError("Private accessor was defined without a getter");if(typeof Z==="function"?$!==Z||!Y:!Z.has($))throw TypeError("Cannot read private member from an object whose class did not declare it");return X==="m"?Y:X==="a"?Y.call($):Y?Y.value:Z.get($)}var vX=function(){let{crypto:$}=globalThis;if($?.randomUUID)return vX=$.randomUUID.bind($),$.randomUUID();let Z=new Uint8Array(1),X=$?()=>$.getRandomValues(Z)[0]:()=>Math.random()*255&255;return"10000000-1000-4000-8000-100000000000".replace(/[018]/g,(Y)=>(+Y^X()&15>>+Y/4).toString(16))};function YZ($){return typeof $==="object"&&$!==null&&(("name"in $)&&$.name==="AbortError"||("message"in $)&&String($.message).includes("FetchRequestCanceledException"))}var T0=($)=>{if($ instanceof Error)return $;if(typeof $==="object"&&$!==null){try{if(Object.prototype.toString.call($)==="[object Error]"){let Z=Error($.message,$.cause?{cause:$.cause}:{});if($.stack)Z.stack=$.stack;if($.cause&&!Z.cause)Z.cause=$.cause;if($.name)Z.name=$.name;return Z}}catch{}try{return Error(JSON.stringify($))}catch{}}return Error($)};class g extends Error{}class j$ extends g{constructor($,Z,X,Y){super(`${j$.makeMessage($,Z,X)}`);this.status=$,this.headers=Y,this.requestID=Y?.get("request-id"),this.error=Z}static makeMessage($,Z,X){let Y=Z?.message?typeof Z.message==="string"?Z.message:JSON.stringify(Z.message):Z?JSON.stringify(Z):X;if($&&Y)return`${$} ${Y}`;if($)return`${$} status code (no body)`;if(Y)return Y;return"(no status code or body)"}static generate($,Z,X,Y){if(!$||!Y)return new gZ({message:X,cause:T0(Z)});let J=Z;if($===400)return new I0($,J,X,Y);if($===401)return new b0($,J,X,Y);if($===403)return new D0($,J,X,Y);if($===404)return new j0($,J,X,Y);if($===409)return new y0($,J,X,Y);if($===422)return new E0($,J,X,Y);if($===429)return new v0($,J,X,Y);if($>=500)return new _0($,J,X,Y);return new j$($,J,X,Y)}}class n$ extends j${constructor({message:$}={}){super(void 0,void 0,$||"Request was aborted.",void 0)}}class gZ extends j${constructor({message:$,cause:Z}){super(void 0,void 0,$||"Connection error.",void 0);if(Z)this.cause=Z}}class k0 extends gZ{constructor({message:$}={}){super({message:$??"Request timed out."})}}class I0 extends j${}class b0 extends j${}class D0 extends j${}class j0 extends j${}class y0 extends j${}class E0 extends j${}class v0 extends j${}class _0 extends j${}var GJ=/^[a-z][a-z0-9+.-]*:/i,W6=($)=>{return GJ.test($)},_X=($)=>(_X=Array.isArray,_X($)),fX=_X;function T4($){if(typeof $!=="object")return{};return $??{}}function K6($){if(!$)return!0;for(let Z in $)return!1;return!0}function Q6($,Z){return Object.prototype.hasOwnProperty.call($,Z)}var z6=($,Z)=>{if(typeof Z!=="number"||!Number.isInteger(Z))throw new g(`${$} must be an integer`);if(Z<0)throw new g(`${$} must be a positive integer`);return Z};var k4=($)=>{try{return JSON.parse($)}catch(Z){return}};var G6=($)=>new Promise((Z)=>setTimeout(Z,$));var TZ="0.71.2";var U6=()=>{return typeof window<"u"&&typeof window.document<"u"&&typeof navigator<"u"};function OJ(){if(typeof Deno<"u"&&Deno.build!=null)return"deno";if(typeof EdgeRuntime<"u")return"edge";if(Object.prototype.toString.call(typeof globalThis.process<"u"?globalThis.process:0)==="[object process]")return"node";return"unknown"}var HJ=()=>{let $=OJ();if($==="deno")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":TZ,"X-Stainless-OS":H6(Deno.build.os),"X-Stainless-Arch":O6(Deno.build.arch),"X-Stainless-Runtime":"deno","X-Stainless-Runtime-Version":typeof Deno.version==="string"?Deno.version:Deno.version?.deno??"unknown"};if(typeof EdgeRuntime<"u")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":TZ,"X-Stainless-OS":"Unknown","X-Stainless-Arch":`other:${EdgeRuntime}`,"X-Stainless-Runtime":"edge","X-Stainless-Runtime-Version":globalThis.process.version};if($==="node")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":TZ,"X-Stainless-OS":H6(globalThis.process.platform??"unknown"),"X-Stainless-Arch":O6(globalThis.process.arch??"unknown"),"X-Stainless-Runtime":"node","X-Stainless-Runtime-Version":globalThis.process.version??"unknown"};let Z=NJ();if(Z)return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":TZ,"X-Stainless-OS":"Unknown","X-Stainless-Arch":"unknown","X-Stainless-Runtime":`browser:${Z.browser}`,"X-Stainless-Runtime-Version":Z.version};return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":TZ,"X-Stainless-OS":"Unknown","X-Stainless-Arch":"unknown","X-Stainless-Runtime":"unknown","X-Stainless-Runtime-Version":"unknown"}};function NJ(){if(typeof navigator>"u"||!navigator)return null;let $=[{key:"edge",pattern:/Edge(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"ie",pattern:/MSIE(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"ie",pattern:/Trident(?:.*rv\:(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"chrome",pattern:/Chrome(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"firefox",pattern:/Firefox(?:\W+(\d+)\.(\d+)(?:\.(\d+))?)?/},{key:"safari",pattern:/(?:Version\W+(\d+)\.(\d+)(?:\.(\d+))?)?(?:\W+Mobile\S*)?\W+Safari/}];for(let{key:Z,pattern:X}of $){let Y=X.exec(navigator.userAgent);if(Y){let J=Y[1]||0,W=Y[2]||0,K=Y[3]||0;return{browser:Z,version:`${J}.${W}.${K}`}}}return null}var O6=($)=>{if($==="x32")return"x32";if($==="x86_64"||$==="x64")return"x64";if($==="arm")return"arm";if($==="aarch64"||$==="arm64")return"arm64";if($)return`other:${$}`;return"unknown"},H6=($)=>{if($=$.toLowerCase(),$.includes("ios"))return"iOS";if($==="android")return"Android";if($==="darwin")return"MacOS";if($==="win32")return"Windows";if($==="freebsd")return"FreeBSD";if($==="openbsd")return"OpenBSD";if($==="linux")return"Linux";if($)return`Other:${$}`;return"Unknown"},N6,w6=()=>{return N6??(N6=HJ())};function M6(){if(typeof fetch<"u")return fetch;throw Error("`fetch` is not defined as a global; Either pass `fetch` to the client, `new Anthropic({ fetch })` or polyfill the global, `globalThis.fetch = fetch`")}function hX(...$){let Z=globalThis.ReadableStream;if(typeof Z>"u")throw Error("`ReadableStream` is not defined as a global; You will need to polyfill it, `globalThis.ReadableStream = ReadableStream`");return new Z(...$)}function I4($){let Z=Symbol.asyncIterator in $?$[Symbol.asyncIterator]():$[Symbol.iterator]();return hX({start(){},async pull(X){let{done:Y,value:J}=await Z.next();if(Y)X.close();else X.enqueue(J)},async cancel(){await Z.return?.()}})}function f0($){if($[Symbol.asyncIterator])return $;let Z=$.getReader();return{async next(){try{let X=await Z.read();if(X?.done)Z.releaseLock();return X}catch(X){throw Z.releaseLock(),X}},async return(){let X=Z.cancel();return Z.releaseLock(),await X,{done:!0,value:void 0}},[Symbol.asyncIterator](){return this}}}async function q6($){if($===null||typeof $!=="object")return;if($[Symbol.asyncIterator]){await $[Symbol.asyncIterator]().return?.();return}let Z=$.getReader(),X=Z.cancel();Z.releaseLock(),await X}var A6=({headers:$,body:Z})=>{return{bodyHeaders:{"content-type":"application/json"},body:JSON.stringify(Z)}};function B6($){let Z=0;for(let J of $)Z+=J.length;let X=new Uint8Array(Z),Y=0;for(let J of $)X.set(J,Y),Y+=J.length;return X}var F6;function h0($){let Z;return(F6??(Z=new globalThis.TextEncoder,F6=Z.encode.bind(Z)))($)}var C6;function gX($){let Z;return(C6??(Z=new globalThis.TextDecoder,C6=Z.decode.bind(Z)))($)}var O1,H1;class kZ{constructor(){O1.set(this,void 0),H1.set(this,void 0),b(this,O1,new Uint8Array,"f"),b(this,H1,null,"f")}decode($){if($==null)return[];let Z=$ instanceof ArrayBuffer?new Uint8Array($):typeof $==="string"?h0($):$;b(this,O1,B6([C(this,O1,"f"),Z]),"f");let X=[],Y;while((Y=MJ(C(this,O1,"f"),C(this,H1,"f")))!=null){if(Y.carriage&&C(this,H1,"f")==null){b(this,H1,Y.index,"f");continue}if(C(this,H1,"f")!=null&&(Y.index!==C(this,H1,"f")+1||Y.carriage)){X.push(gX(C(this,O1,"f").subarray(0,C(this,H1,"f")-1))),b(this,O1,C(this,O1,"f").subarray(C(this,H1,"f")),"f"),b(this,H1,null,"f");continue}let J=C(this,H1,"f")!==null?Y.preceding-1:Y.preceding,W=gX(C(this,O1,"f").subarray(0,J));X.push(W),b(this,O1,C(this,O1,"f").subarray(Y.index),"f"),b(this,H1,null,"f")}return X}flush(){if(!C(this,O1,"f").length)return[];return this.decode(`
|
|
12
|
+
`)}}O1=new WeakMap,H1=new WeakMap;kZ.NEWLINE_CHARS=new Set([`
|
|
13
|
+
`,"\r"]);kZ.NEWLINE_REGEXP=/\r\n|[\n\r]/g;function MJ($,Z){for(let J=Z??0;J<$.length;J++){if($[J]===10)return{preceding:J,index:J+1,carriage:!1};if($[J]===13)return{preceding:J,index:J+1,carriage:!0}}return null}function P6($){for(let Y=0;Y<$.length-1;Y++){if($[Y]===10&&$[Y+1]===10)return Y+2;if($[Y]===13&&$[Y+1]===13)return Y+2;if($[Y]===13&&$[Y+1]===10&&Y+3<$.length&&$[Y+2]===13&&$[Y+3]===10)return Y+4}return-1}var D4={off:0,error:200,warn:300,info:400,debug:500},mX=($,Z,X)=>{if(!$)return;if(Q6(D4,$))return $;x$(X).warn(`${Z} was set to ${JSON.stringify($)}, expected one of ${JSON.stringify(Object.keys(D4))}`);return};function g0(){}function b4($,Z,X){if(!Z||D4[$]>D4[X])return g0;else return Z[$].bind(Z)}var qJ={error:g0,warn:g0,info:g0,debug:g0},L6=new WeakMap;function x$($){let Z=$.logger,X=$.logLevel??"off";if(!Z)return qJ;let Y=L6.get(Z);if(Y&&Y[0]===X)return Y[1];let J={error:b4("error",Z,X),warn:b4("warn",Z,X),info:b4("info",Z,X),debug:b4("debug",Z,X)};return L6.set(Z,[X,J]),J}var JZ=($)=>{if($.options)$.options={...$.options},delete $.options.headers;if($.headers)$.headers=Object.fromEntries(($.headers instanceof Headers?[...$.headers]:Object.entries($.headers)).map(([Z,X])=>[Z,Z.toLowerCase()==="x-api-key"||Z.toLowerCase()==="authorization"||Z.toLowerCase()==="cookie"||Z.toLowerCase()==="set-cookie"?"***":X]));if("retryOfRequestLogID"in $){if($.retryOfRequestLogID)$.retryOf=$.retryOfRequestLogID;delete $.retryOfRequestLogID}return $};var m0;class N1{constructor($,Z,X){this.iterator=$,m0.set(this,void 0),this.controller=Z,b(this,m0,X,"f")}static fromSSEResponse($,Z,X){let Y=!1,J=X?x$(X):console;async function*W(){if(Y)throw new g("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");Y=!0;let K=!1;try{for await(let Q of AJ($,Z)){if(Q.event==="completion")try{yield JSON.parse(Q.data)}catch(z){throw J.error("Could not parse message into JSON:",Q.data),J.error("From chunk:",Q.raw),z}if(Q.event==="message_start"||Q.event==="message_delta"||Q.event==="message_stop"||Q.event==="content_block_start"||Q.event==="content_block_delta"||Q.event==="content_block_stop")try{yield JSON.parse(Q.data)}catch(z){throw J.error("Could not parse message into JSON:",Q.data),J.error("From chunk:",Q.raw),z}if(Q.event==="ping")continue;if(Q.event==="error")throw new j$(void 0,k4(Q.data)??Q.data,void 0,$.headers)}K=!0}catch(Q){if(YZ(Q))return;throw Q}finally{if(!K)Z.abort()}}return new N1(W,Z,X)}static fromReadableStream($,Z,X){let Y=!1;async function*J(){let K=new kZ,Q=f0($);for await(let z of Q)for(let G of K.decode(z))yield G;for(let z of K.flush())yield z}async function*W(){if(Y)throw new g("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");Y=!0;let K=!1;try{for await(let Q of J()){if(K)continue;if(Q)yield JSON.parse(Q)}K=!0}catch(Q){if(YZ(Q))return;throw Q}finally{if(!K)Z.abort()}}return new N1(W,Z,X)}[(m0=new WeakMap,Symbol.asyncIterator)](){return this.iterator()}tee(){let $=[],Z=[],X=this.iterator(),Y=(J)=>{return{next:()=>{if(J.length===0){let W=X.next();$.push(W),Z.push(W)}return J.shift()}}};return[new N1(()=>Y($),this.controller,C(this,m0,"f")),new N1(()=>Y(Z),this.controller,C(this,m0,"f"))]}toReadableStream(){let $=this,Z;return hX({async start(){Z=$[Symbol.asyncIterator]()},async pull(X){try{let{value:Y,done:J}=await Z.next();if(J)return X.close();let W=h0(JSON.stringify(Y)+`
|
|
14
|
+
`);X.enqueue(W)}catch(Y){X.error(Y)}},async cancel(){await Z.return?.()}})}}async function*AJ($,Z){if(!$.body){if(Z.abort(),typeof globalThis.navigator<"u"&&globalThis.navigator.product==="ReactNative")throw new g("The default react-native fetch implementation does not support streaming. Please use expo/fetch: https://docs.expo.dev/versions/latest/sdk/expo/#expofetch-api");throw new g("Attempted to iterate over a response with no body")}let X=new R6,Y=new kZ,J=f0($.body);for await(let W of FJ(J))for(let K of Y.decode(W)){let Q=X.decode(K);if(Q)yield Q}for(let W of Y.flush()){let K=X.decode(W);if(K)yield K}}async function*FJ($){let Z=new Uint8Array;for await(let X of $){if(X==null)continue;let Y=X instanceof ArrayBuffer?new Uint8Array(X):typeof X==="string"?h0(X):X,J=new Uint8Array(Z.length+Y.length);J.set(Z),J.set(Y,Z.length),Z=J;let W;while((W=P6(Z))!==-1)yield Z.slice(0,W),Z=Z.slice(W)}if(Z.length>0)yield Z}class R6{constructor(){this.event=null,this.data=[],this.chunks=[]}decode($){if($.endsWith("\r"))$=$.substring(0,$.length-1);if(!$){if(!this.event&&!this.data.length)return null;let J={event:this.event,data:this.data.join(`
|
|
15
|
+
`),raw:this.chunks};return this.event=null,this.data=[],this.chunks=[],J}if(this.chunks.push($),$.startsWith(":"))return null;let[Z,X,Y]=CJ($,":");if(Y.startsWith(" "))Y=Y.substring(1);if(Z==="event")this.event=Y;else if(Z==="data")this.data.push(Y);return null}}function CJ($,Z){let X=$.indexOf(Z);if(X!==-1)return[$.substring(0,X),Z,$.substring(X+Z.length)];return[$,"",""]}async function j4($,Z){let{response:X,requestLogID:Y,retryOfRequestLogID:J,startTime:W}=Z,K=await(async()=>{if(Z.options.stream){if(x$($).debug("response",X.status,X.url,X.headers,X.body),Z.options.__streamClass)return Z.options.__streamClass.fromSSEResponse(X,Z.controller);return N1.fromSSEResponse(X,Z.controller)}if(X.status===204)return null;if(Z.options.__binaryResponse)return X;let z=X.headers.get("content-type")?.split(";")[0]?.trim();if(z?.includes("application/json")||z?.endsWith("+json")){let N=await X.json();return xX(N,X)}return await X.text()})();return x$($).debug(`[${Y}] response parsed`,JZ({retryOfRequestLogID:J,url:X.url,status:X.status,body:K,durationMs:Date.now()-W})),K}function xX($,Z){if(!$||typeof $!=="object"||Array.isArray($))return $;return Object.defineProperty($,"_request_id",{value:Z.headers.get("request-id"),enumerable:!1})}var x0;class mZ extends Promise{constructor($,Z,X=j4){super((Y)=>{Y(null)});this.responsePromise=Z,this.parseResponse=X,x0.set(this,void 0),b(this,x0,$,"f")}_thenUnwrap($){return new mZ(C(this,x0,"f"),this.responsePromise,async(Z,X)=>xX($(await this.parseResponse(Z,X),X),X.response))}asResponse(){return this.responsePromise.then(($)=>$.response)}async withResponse(){let[$,Z]=await Promise.all([this.parse(),this.asResponse()]);return{data:$,response:Z,request_id:Z.headers.get("request-id")}}parse(){if(!this.parsedPromise)this.parsedPromise=this.responsePromise.then(($)=>this.parseResponse(C(this,x0,"f"),$));return this.parsedPromise}then($,Z){return this.parse().then($,Z)}catch($){return this.parse().catch($)}finally($){return this.parse().finally($)}}x0=new WeakMap;var y4;class uX{constructor($,Z,X,Y){y4.set(this,void 0),b(this,y4,$,"f"),this.options=Y,this.response=Z,this.body=X}hasNextPage(){if(!this.getPaginatedItems().length)return!1;return this.nextPageRequestOptions()!=null}async getNextPage(){let $=this.nextPageRequestOptions();if(!$)throw new g("No next page expected; please check `.hasNextPage()` before calling `.getNextPage()`.");return await C(this,y4,"f").requestAPIList(this.constructor,$)}async*iterPages(){let $=this;yield $;while($.hasNextPage())$=await $.getNextPage(),yield $}async*[(y4=new WeakMap,Symbol.asyncIterator)](){for await(let $ of this.iterPages())for(let Z of $.getPaginatedItems())yield Z}}class E4 extends mZ{constructor($,Z,X){super($,Z,async(Y,J)=>new X(Y,J.response,await j4(Y,J),J.options))}async*[Symbol.asyncIterator](){let $=await this;for await(let Z of $)yield Z}}class y1 extends uX{constructor($,Z,X,Y){super($,Z,X,Y);this.data=X.data||[],this.has_more=X.has_more||!1,this.first_id=X.first_id||null,this.last_id=X.last_id||null}getPaginatedItems(){return this.data??[]}hasNextPage(){if(this.has_more===!1)return!1;return super.hasNextPage()}nextPageRequestOptions(){if(this.options.query?.before_id){let Z=this.first_id;if(!Z)return null;return{...this.options,query:{...T4(this.options.query),before_id:Z}}}let $=this.last_id;if(!$)return null;return{...this.options,query:{...T4(this.options.query),after_id:$}}}}class u0 extends uX{constructor($,Z,X,Y){super($,Z,X,Y);this.data=X.data||[],this.has_more=X.has_more||!1,this.next_page=X.next_page||null}getPaginatedItems(){return this.data??[]}hasNextPage(){if(this.has_more===!1)return!1;return super.hasNextPage()}nextPageRequestOptions(){let $=this.next_page;if(!$)return null;return{...this.options,query:{...T4(this.options.query),page:$}}}}var pX=()=>{if(typeof File>"u"){let{process:$}=globalThis,Z=typeof $?.versions?.node==="string"&&parseInt($.versions.node.split("."))<20;throw Error("`File` is not defined as a global, which is required for file uploads."+(Z?" Update to Node 20 LTS or newer, or set `globalThis.File` to `import('node:buffer').File`.":""))}};function xZ($,Z,X){return pX(),new File($,Z??"unknown_file",X)}function c0($){return(typeof $==="object"&&$!==null&&(("name"in $)&&$.name&&String($.name)||("url"in $)&&$.url&&String($.url)||("filename"in $)&&$.filename&&String($.filename)||("path"in $)&&$.path&&String($.path))||"").split(/[\\/]/).pop()||void 0}var dX=($)=>$!=null&&typeof $==="object"&&typeof $[Symbol.asyncIterator]==="function";var Y0=async($,Z)=>{return{...$,body:await LJ($.body,Z)}},S6=new WeakMap;function PJ($){let Z=typeof $==="function"?$:$.fetch,X=S6.get(Z);if(X)return X;let Y=(async()=>{try{let J="Response"in Z?Z.Response:(await Z("data:,")).constructor,W=new FormData;if(W.toString()===await new J(W).text())return!1;return!0}catch{return!0}})();return S6.set(Z,Y),Y}var LJ=async($,Z)=>{if(!await PJ(Z))throw TypeError("The provided fetch function does not support file uploads with the current global FormData class.");let X=new FormData;return await Promise.all(Object.entries($||{}).map(([Y,J])=>cX(X,Y,J))),X},RJ=($)=>$ instanceof Blob&&("name"in $);var cX=async($,Z,X)=>{if(X===void 0)return;if(X==null)throw TypeError(`Received null for "${Z}"; to pass null in FormData, you must use the string 'null'`);if(typeof X==="string"||typeof X==="number"||typeof X==="boolean")$.append(Z,String(X));else if(X instanceof Response){let Y={},J=X.headers.get("Content-Type");if(J)Y={type:J};$.append(Z,xZ([await X.blob()],c0(X),Y))}else if(dX(X))$.append(Z,xZ([await new Response(I4(X)).blob()],c0(X)));else if(RJ(X))$.append(Z,xZ([X],c0(X),{type:X.type}));else if(Array.isArray(X))await Promise.all(X.map((Y)=>cX($,Z+"[]",Y)));else if(typeof X==="object")await Promise.all(Object.entries(X).map(([Y,J])=>cX($,`${Z}[${Y}]`,J)));else throw TypeError(`Invalid value given to form, expected a string, number, boolean, object, Array, File or Blob but got ${X} instead`)};var V6=($)=>$!=null&&typeof $==="object"&&typeof $.size==="number"&&typeof $.type==="string"&&typeof $.text==="function"&&typeof $.slice==="function"&&typeof $.arrayBuffer==="function",SJ=($)=>$!=null&&typeof $==="object"&&typeof $.name==="string"&&typeof $.lastModified==="number"&&V6($),VJ=($)=>$!=null&&typeof $==="object"&&typeof $.url==="string"&&typeof $.blob==="function";async function v4($,Z,X){if(pX(),$=await $,Z||(Z=c0($)),SJ($)){if($ instanceof File&&Z==null&&X==null)return $;return xZ([await $.arrayBuffer()],Z??$.name,{type:$.type,lastModified:$.lastModified,...X})}if(VJ($)){let J=await $.blob();return Z||(Z=new URL($.url).pathname.split(/[\\/]/).pop()),xZ(await lX(J),Z,X)}let Y=await lX($);if(!X?.type){let J=Y.find((W)=>typeof W==="object"&&("type"in W)&&W.type);if(typeof J==="string")X={...X,type:J}}return xZ(Y,Z,X)}async function lX($){let Z=[];if(typeof $==="string"||ArrayBuffer.isView($)||$ instanceof ArrayBuffer)Z.push($);else if(V6($))Z.push($ instanceof Blob?$:await $.arrayBuffer());else if(dX($))for await(let X of $)Z.push(...await lX(X));else{let X=$?.constructor?.name;throw Error(`Unexpected data type: ${typeof $}${X?`; constructor: ${X}`:""}${TJ($)}`)}return Z}function TJ($){if(typeof $!=="object"||$===null)return"";return`; props: [${Object.getOwnPropertyNames($).map((X)=>`"${X}"`).join(", ")}]`}class S${constructor($){this._client=$}}var T6=Symbol.for("brand.privateNullableHeaders");function*IJ($){if(!$)return;if(T6 in $){let{values:Y,nulls:J}=$;yield*Y.entries();for(let W of J)yield[W,null];return}let Z=!1,X;if($ instanceof Headers)X=$.entries();else if(fX($))X=$;else Z=!0,X=Object.entries($??{});for(let Y of X){let J=Y[0];if(typeof J!=="string")throw TypeError("expected header name to be a string");let W=fX(Y[1])?Y[1]:[Y[1]],K=!1;for(let Q of W){if(Q===void 0)continue;if(Z&&!K)K=!0,yield[J,null];yield[J,Q]}}}var o=($)=>{let Z=new Headers,X=new Set;for(let Y of $){let J=new Set;for(let[W,K]of IJ(Y)){let Q=W.toLowerCase();if(!J.has(Q))Z.delete(W),J.add(Q);if(K===null)Z.delete(W),X.add(Q);else Z.append(W,K),X.delete(Q)}}return{[T6]:!0,values:Z,nulls:X}};function I6($){return $.replace(/[^A-Za-z0-9\-._~!$&'()*+,;=:@]+/g,encodeURIComponent)}var k6=Object.freeze(Object.create(null)),bJ=($=I6)=>function(X,...Y){if(X.length===1)return X[0];let J=!1,W=[],K=X.reduce((O,N,U)=>{if(/[?#]/.test(N))J=!0;let M=Y[U],A=(J?encodeURIComponent:$)(""+M);if(U!==Y.length&&(M==null||typeof M==="object"&&M.toString===Object.getPrototypeOf(Object.getPrototypeOf(M.hasOwnProperty??k6)??k6)?.toString))A=M+"",W.push({start:O.length+N.length,length:A.length,error:`Value of type ${Object.prototype.toString.call(M).slice(8,-1)} is not a valid path parameter`});return O+N+(U===Y.length?"":A)},""),Q=K.split(/[?#]/,1)[0],z=/(?<=^|\/)(?:\.|%2e){1,2}(?=\/|$)/gi,G;while((G=z.exec(Q))!==null)W.push({start:G.index,length:G[0].length,error:`Value "${G[0]}" can't be safely passed as a path parameter`});if(W.sort((O,N)=>O.start-N.start),W.length>0){let O=0,N=W.reduce((U,M)=>{let A=" ".repeat(M.start-O),F="^".repeat(M.length);return O=M.start+M.length,U+A+F},"");throw new g(`Path parameters result in path with invalid segments:
|
|
16
|
+
${W.map((U)=>U.error).join(`
|
|
17
|
+
`)}
|
|
18
|
+
${K}
|
|
19
|
+
${N}`)}return K},L$=bJ(I6);class p0 extends S${list($={},Z){let{betas:X,...Y}=$??{};return this._client.getAPIList("/v1/files",y1,{query:Y,...Z,headers:o([{"anthropic-beta":[...X??[],"files-api-2025-04-14"].toString()},Z?.headers])})}delete($,Z={},X){let{betas:Y}=Z??{};return this._client.delete(L$`/v1/files/${$}`,{...X,headers:o([{"anthropic-beta":[...Y??[],"files-api-2025-04-14"].toString()},X?.headers])})}download($,Z={},X){let{betas:Y}=Z??{};return this._client.get(L$`/v1/files/${$}/content`,{...X,headers:o([{"anthropic-beta":[...Y??[],"files-api-2025-04-14"].toString(),Accept:"application/binary"},X?.headers]),__binaryResponse:!0})}retrieveMetadata($,Z={},X){let{betas:Y}=Z??{};return this._client.get(L$`/v1/files/${$}`,{...X,headers:o([{"anthropic-beta":[...Y??[],"files-api-2025-04-14"].toString()},X?.headers])})}upload($,Z){let{betas:X,...Y}=$;return this._client.post("/v1/files",Y0({body:Y,...Z,headers:o([{"anthropic-beta":[...X??[],"files-api-2025-04-14"].toString()},Z?.headers])},this._client))}}class d0 extends S${retrieve($,Z={},X){let{betas:Y}=Z??{};return this._client.get(L$`/v1/models/${$}?beta=true`,{...X,headers:o([{...Y?.toString()!=null?{"anthropic-beta":Y?.toString()}:void 0},X?.headers])})}list($={},Z){let{betas:X,...Y}=$??{};return this._client.getAPIList("/v1/models?beta=true",y1,{query:Y,...Z,headers:o([{...X?.toString()!=null?{"anthropic-beta":X?.toString()}:void 0},Z?.headers])})}}var _4={"claude-opus-4-20250514":8192,"claude-opus-4-0":8192,"claude-4-opus-20250514":8192,"anthropic.claude-opus-4-20250514-v1:0":8192,"claude-opus-4@20250514":8192,"claude-opus-4-1-20250805":8192,"anthropic.claude-opus-4-1-20250805-v1:0":8192,"claude-opus-4-1@20250805":8192};function iX($,Z,X){if(!Z||!("parse"in(Z.output_format??{})))return{...$,content:$.content.map((Y)=>{if(Y.type==="text"){let J=Object.defineProperty({...Y},"parsed_output",{value:null,enumerable:!1});return Object.defineProperty(J,"parsed",{get(){return X.logger.warn("The `parsed` property on `text` blocks is deprecated, please use `parsed_output` instead."),null},enumerable:!1})}return Y}),parsed_output:null};return oX($,Z,X)}function oX($,Z,X){let Y=null,J=$.content.map((W)=>{if(W.type==="text"){let K=yJ(Z,W.text);if(Y===null)Y=K;let Q=Object.defineProperty({...W},"parsed_output",{value:K,enumerable:!1});return Object.defineProperty(Q,"parsed",{get(){return X.logger.warn("The `parsed` property on `text` blocks is deprecated, please use `parsed_output` instead."),K},enumerable:!1})}return W});return{...$,content:J,parsed_output:Y}}function yJ($,Z){if($.output_format?.type!=="json_schema")return null;try{if("parse"in $.output_format)return $.output_format.parse(Z);return JSON.parse(Z)}catch(X){throw new g(`Failed to parse structured output: ${X}`)}}var EJ=($)=>{let Z=0,X=[];while(Z<$.length){let Y=$[Z];if(Y==="\\"){Z++;continue}if(Y==="{"){X.push({type:"brace",value:"{"}),Z++;continue}if(Y==="}"){X.push({type:"brace",value:"}"}),Z++;continue}if(Y==="["){X.push({type:"paren",value:"["}),Z++;continue}if(Y==="]"){X.push({type:"paren",value:"]"}),Z++;continue}if(Y===":"){X.push({type:"separator",value:":"}),Z++;continue}if(Y===","){X.push({type:"delimiter",value:","}),Z++;continue}if(Y==='"'){let Q="",z=!1;Y=$[++Z];while(Y!=='"'){if(Z===$.length){z=!0;break}if(Y==="\\"){if(Z++,Z===$.length){z=!0;break}Q+=Y+$[Z],Y=$[++Z]}else Q+=Y,Y=$[++Z]}if(Y=$[++Z],!z)X.push({type:"string",value:Q});continue}if(Y&&/\s/.test(Y)){Z++;continue}let W=/[0-9]/;if(Y&&W.test(Y)||Y==="-"||Y==="."){let Q="";if(Y==="-")Q+=Y,Y=$[++Z];while(Y&&W.test(Y)||Y===".")Q+=Y,Y=$[++Z];X.push({type:"number",value:Q});continue}let K=/[a-z]/i;if(Y&&K.test(Y)){let Q="";while(Y&&K.test(Y)){if(Z===$.length)break;Q+=Y,Y=$[++Z]}if(Q=="true"||Q=="false"||Q==="null")X.push({type:"name",value:Q});else{Z++;continue}continue}Z++}return X},J0=($)=>{if($.length===0)return $;let Z=$[$.length-1];switch(Z.type){case"separator":return $=$.slice(0,$.length-1),J0($);break;case"number":let X=Z.value[Z.value.length-1];if(X==="."||X==="-")return $=$.slice(0,$.length-1),J0($);case"string":let Y=$[$.length-2];if(Y?.type==="delimiter")return $=$.slice(0,$.length-1),J0($);else if(Y?.type==="brace"&&Y.value==="{")return $=$.slice(0,$.length-1),J0($);break;case"delimiter":return $=$.slice(0,$.length-1),J0($);break}return $},vJ=($)=>{let Z=[];if($.map((X)=>{if(X.type==="brace")if(X.value==="{")Z.push("}");else Z.splice(Z.lastIndexOf("}"),1);if(X.type==="paren")if(X.value==="[")Z.push("]");else Z.splice(Z.lastIndexOf("]"),1)}),Z.length>0)Z.reverse().map((X)=>{if(X==="}")$.push({type:"brace",value:"}"});else if(X==="]")$.push({type:"paren",value:"]"})});return $},_J=($)=>{let Z="";return $.map((X)=>{switch(X.type){case"string":Z+='"'+X.value+'"';break;default:Z+=X.value;break}}),Z},f4=($)=>JSON.parse(_J(vJ(J0(EJ($)))));var S1,IZ,W0,l0,h4,i0,o0,g4,n0,WZ,r0,m4,x4,uZ,u4,c4,a0,nX,b6,p4,rX,aX,sX,D6,j6="__json_buf";function y6($){return $.type==="tool_use"||$.type==="server_tool_use"||$.type==="mcp_tool_use"}class s0{constructor($,Z){S1.add(this),this.messages=[],this.receivedMessages=[],IZ.set(this,void 0),W0.set(this,null),this.controller=new AbortController,l0.set(this,void 0),h4.set(this,()=>{}),i0.set(this,()=>{}),o0.set(this,void 0),g4.set(this,()=>{}),n0.set(this,()=>{}),WZ.set(this,{}),r0.set(this,!1),m4.set(this,!1),x4.set(this,!1),uZ.set(this,!1),u4.set(this,void 0),c4.set(this,void 0),a0.set(this,void 0),p4.set(this,(X)=>{if(b(this,m4,!0,"f"),YZ(X))X=new n$;if(X instanceof n$)return b(this,x4,!0,"f"),this._emit("abort",X);if(X instanceof g)return this._emit("error",X);if(X instanceof Error){let Y=new g(X.message);return Y.cause=X,this._emit("error",Y)}return this._emit("error",new g(String(X)))}),b(this,l0,new Promise((X,Y)=>{b(this,h4,X,"f"),b(this,i0,Y,"f")}),"f"),b(this,o0,new Promise((X,Y)=>{b(this,g4,X,"f"),b(this,n0,Y,"f")}),"f"),C(this,l0,"f").catch(()=>{}),C(this,o0,"f").catch(()=>{}),b(this,W0,$,"f"),b(this,a0,Z?.logger??console,"f")}get response(){return C(this,u4,"f")}get request_id(){return C(this,c4,"f")}async withResponse(){b(this,uZ,!0,"f");let $=await C(this,l0,"f");if(!$)throw Error("Could not resolve a `Response` object");return{data:this,response:$,request_id:$.headers.get("request-id")}}static fromReadableStream($){let Z=new s0(null);return Z._run(()=>Z._fromReadableStream($)),Z}static createMessage($,Z,X,{logger:Y}={}){let J=new s0(Z,{logger:Y});for(let W of Z.messages)J._addMessageParam(W);return b(J,W0,{...Z,stream:!0},"f"),J._run(()=>J._createMessage($,{...Z,stream:!0},{...X,headers:{...X?.headers,"X-Stainless-Helper-Method":"stream"}})),J}_run($){$().then(()=>{this._emitFinal(),this._emit("end")},C(this,p4,"f"))}_addMessageParam($){this.messages.push($)}_addMessage($,Z=!0){if(this.receivedMessages.push($),Z)this._emit("message",$)}async _createMessage($,Z,X){let Y=X?.signal,J;if(Y){if(Y.aborted)this.controller.abort();J=this.controller.abort.bind(this.controller),Y.addEventListener("abort",J)}try{C(this,S1,"m",rX).call(this);let{response:W,data:K}=await $.create({...Z,stream:!0},{...X,signal:this.controller.signal}).withResponse();this._connected(W);for await(let Q of K)C(this,S1,"m",aX).call(this,Q);if(K.controller.signal?.aborted)throw new n$;C(this,S1,"m",sX).call(this)}finally{if(Y&&J)Y.removeEventListener("abort",J)}}_connected($){if(this.ended)return;b(this,u4,$,"f"),b(this,c4,$?.headers.get("request-id"),"f"),C(this,h4,"f").call(this,$),this._emit("connect")}get ended(){return C(this,r0,"f")}get errored(){return C(this,m4,"f")}get aborted(){return C(this,x4,"f")}abort(){this.controller.abort()}on($,Z){return(C(this,WZ,"f")[$]||(C(this,WZ,"f")[$]=[])).push({listener:Z}),this}off($,Z){let X=C(this,WZ,"f")[$];if(!X)return this;let Y=X.findIndex((J)=>J.listener===Z);if(Y>=0)X.splice(Y,1);return this}once($,Z){return(C(this,WZ,"f")[$]||(C(this,WZ,"f")[$]=[])).push({listener:Z,once:!0}),this}emitted($){return new Promise((Z,X)=>{if(b(this,uZ,!0,"f"),$!=="error")this.once("error",X);this.once($,Z)})}async done(){b(this,uZ,!0,"f"),await C(this,o0,"f")}get currentMessage(){return C(this,IZ,"f")}async finalMessage(){return await this.done(),C(this,S1,"m",nX).call(this)}async finalText(){return await this.done(),C(this,S1,"m",b6).call(this)}_emit($,...Z){if(C(this,r0,"f"))return;if($==="end")b(this,r0,!0,"f"),C(this,g4,"f").call(this);let X=C(this,WZ,"f")[$];if(X)C(this,WZ,"f")[$]=X.filter((Y)=>!Y.once),X.forEach(({listener:Y})=>Y(...Z));if($==="abort"){let Y=Z[0];if(!C(this,uZ,"f")&&!X?.length)Promise.reject(Y);C(this,i0,"f").call(this,Y),C(this,n0,"f").call(this,Y),this._emit("end");return}if($==="error"){let Y=Z[0];if(!C(this,uZ,"f")&&!X?.length)Promise.reject(Y);C(this,i0,"f").call(this,Y),C(this,n0,"f").call(this,Y),this._emit("end")}}_emitFinal(){if(this.receivedMessages.at(-1))this._emit("finalMessage",C(this,S1,"m",nX).call(this))}async _fromReadableStream($,Z){let X=Z?.signal,Y;if(X){if(X.aborted)this.controller.abort();Y=this.controller.abort.bind(this.controller),X.addEventListener("abort",Y)}try{C(this,S1,"m",rX).call(this),this._connected(null);let J=N1.fromReadableStream($,this.controller);for await(let W of J)C(this,S1,"m",aX).call(this,W);if(J.controller.signal?.aborted)throw new n$;C(this,S1,"m",sX).call(this)}finally{if(X&&Y)X.removeEventListener("abort",Y)}}[(IZ=new WeakMap,W0=new WeakMap,l0=new WeakMap,h4=new WeakMap,i0=new WeakMap,o0=new WeakMap,g4=new WeakMap,n0=new WeakMap,WZ=new WeakMap,r0=new WeakMap,m4=new WeakMap,x4=new WeakMap,uZ=new WeakMap,u4=new WeakMap,c4=new WeakMap,a0=new WeakMap,p4=new WeakMap,S1=new WeakSet,nX=function(){if(this.receivedMessages.length===0)throw new g("stream ended without producing a Message with role=assistant");return this.receivedMessages.at(-1)},b6=function(){if(this.receivedMessages.length===0)throw new g("stream ended without producing a Message with role=assistant");let Z=this.receivedMessages.at(-1).content.filter((X)=>X.type==="text").map((X)=>X.text);if(Z.length===0)throw new g("stream ended without producing a content block with type=text");return Z.join(" ")},rX=function(){if(this.ended)return;b(this,IZ,void 0,"f")},aX=function(Z){if(this.ended)return;let X=C(this,S1,"m",D6).call(this,Z);switch(this._emit("streamEvent",Z,X),Z.type){case"content_block_delta":{let Y=X.content.at(-1);switch(Z.delta.type){case"text_delta":{if(Y.type==="text")this._emit("text",Z.delta.text,Y.text||"");break}case"citations_delta":{if(Y.type==="text")this._emit("citation",Z.delta.citation,Y.citations??[]);break}case"input_json_delta":{if(y6(Y)&&Y.input)this._emit("inputJson",Z.delta.partial_json,Y.input);break}case"thinking_delta":{if(Y.type==="thinking")this._emit("thinking",Z.delta.thinking,Y.thinking);break}case"signature_delta":{if(Y.type==="thinking")this._emit("signature",Y.signature);break}default:E6(Z.delta)}break}case"message_stop":{this._addMessageParam(X),this._addMessage(iX(X,C(this,W0,"f"),{logger:C(this,a0,"f")}),!0);break}case"content_block_stop":{this._emit("contentBlock",X.content.at(-1));break}case"message_start":{b(this,IZ,X,"f");break}case"content_block_start":case"message_delta":break}},sX=function(){if(this.ended)throw new g("stream has ended, this shouldn't happen");let Z=C(this,IZ,"f");if(!Z)throw new g("request ended without sending any chunks");return b(this,IZ,void 0,"f"),iX(Z,C(this,W0,"f"),{logger:C(this,a0,"f")})},D6=function(Z){let X=C(this,IZ,"f");if(Z.type==="message_start"){if(X)throw new g(`Unexpected event order, got ${Z.type} before receiving "message_stop"`);return Z.message}if(!X)throw new g(`Unexpected event order, got ${Z.type} before "message_start"`);switch(Z.type){case"message_stop":return X;case"message_delta":if(X.container=Z.delta.container,X.stop_reason=Z.delta.stop_reason,X.stop_sequence=Z.delta.stop_sequence,X.usage.output_tokens=Z.usage.output_tokens,X.context_management=Z.context_management,Z.usage.input_tokens!=null)X.usage.input_tokens=Z.usage.input_tokens;if(Z.usage.cache_creation_input_tokens!=null)X.usage.cache_creation_input_tokens=Z.usage.cache_creation_input_tokens;if(Z.usage.cache_read_input_tokens!=null)X.usage.cache_read_input_tokens=Z.usage.cache_read_input_tokens;if(Z.usage.server_tool_use!=null)X.usage.server_tool_use=Z.usage.server_tool_use;return X;case"content_block_start":return X.content.push(Z.content_block),X;case"content_block_delta":{let Y=X.content.at(Z.index);switch(Z.delta.type){case"text_delta":{if(Y?.type==="text")X.content[Z.index]={...Y,text:(Y.text||"")+Z.delta.text};break}case"citations_delta":{if(Y?.type==="text")X.content[Z.index]={...Y,citations:[...Y.citations??[],Z.delta.citation]};break}case"input_json_delta":{if(Y&&y6(Y)){let J=Y[j6]||"";J+=Z.delta.partial_json;let W={...Y};if(Object.defineProperty(W,j6,{value:J,enumerable:!1,writable:!0}),J)try{W.input=f4(J)}catch(K){let Q=new g(`Unable to parse tool parameter JSON from model. Please retry your request or adjust your prompt. Error: ${K}. JSON: ${J}`);C(this,p4,"f").call(this,Q)}X.content[Z.index]=W}break}case"thinking_delta":{if(Y?.type==="thinking")X.content[Z.index]={...Y,thinking:Y.thinking+Z.delta.thinking};break}case"signature_delta":{if(Y?.type==="thinking")X.content[Z.index]={...Y,signature:Z.delta.signature};break}default:E6(Z.delta)}return X}case"content_block_stop":return X}},Symbol.asyncIterator)](){let $=[],Z=[],X=!1;return this.on("streamEvent",(Y)=>{let J=Z.shift();if(J)J.resolve(Y);else $.push(Y)}),this.on("end",()=>{X=!0;for(let Y of Z)Y.resolve(void 0);Z.length=0}),this.on("abort",(Y)=>{X=!0;for(let J of Z)J.reject(Y);Z.length=0}),this.on("error",(Y)=>{X=!0;for(let J of Z)J.reject(Y);Z.length=0}),{next:async()=>{if(!$.length){if(X)return{value:void 0,done:!0};return new Promise((J,W)=>Z.push({resolve:J,reject:W})).then((J)=>J?{value:J,done:!1}:{value:void 0,done:!0})}return{value:$.shift(),done:!1}},return:async()=>{return this.abort(),{value:void 0,done:!0}}}}toReadableStream(){return new N1(this[Symbol.asyncIterator].bind(this),this.controller).toReadableStream()}}function E6($){}var v6=1e5,_6=`You have been working on the task described above but have not yet completed it. Write a continuation summary that will allow you (or another instance of yourself) to resume work efficiently in a future context window where the conversation history will be replaced with this summary. Your summary should be structured, concise, and actionable. Include:
|
|
20
|
+
1. Task Overview
|
|
21
|
+
The user's core request and success criteria
|
|
22
|
+
Any clarifications or constraints they specified
|
|
23
|
+
2. Current State
|
|
24
|
+
What has been completed so far
|
|
25
|
+
Files created, modified, or analyzed (with paths if relevant)
|
|
26
|
+
Key outputs or artifacts produced
|
|
27
|
+
3. Important Discoveries
|
|
28
|
+
Technical constraints or requirements uncovered
|
|
29
|
+
Decisions made and their rationale
|
|
30
|
+
Errors encountered and how they were resolved
|
|
31
|
+
What approaches were tried that didn't work (and why)
|
|
32
|
+
4. Next Steps
|
|
33
|
+
Specific actions needed to complete the task
|
|
34
|
+
Any blockers or open questions to resolve
|
|
35
|
+
Priority order if multiple steps remain
|
|
36
|
+
5. Context to Preserve
|
|
37
|
+
User preferences or style requirements
|
|
38
|
+
Domain-specific details that aren't obvious
|
|
39
|
+
Any promises made to the user
|
|
40
|
+
Be concise but complete—err on the side of including information that would prevent duplicate work or repeated mistakes. Write in a way that enables immediate resumption of the task.
|
|
41
|
+
Wrap your summary in <summary></summary> tags.`;var t0,K0,cZ,y$,e0,U1,KZ,bZ,$4,f6,tX;function h6(){let $,Z;return{promise:new Promise((Y,J)=>{$=Y,Z=J}),resolve:$,reject:Z}}class Z4{constructor($,Z,X){t0.add(this),this.client=$,K0.set(this,!1),cZ.set(this,!1),y$.set(this,void 0),e0.set(this,void 0),U1.set(this,void 0),KZ.set(this,void 0),bZ.set(this,void 0),$4.set(this,0),b(this,y$,{params:{...Z,messages:structuredClone(Z.messages)}},"f"),b(this,e0,{...X,headers:o([{"x-stainless-helper":"BetaToolRunner"},X?.headers])},"f"),b(this,bZ,h6(),"f")}async*[(K0=new WeakMap,cZ=new WeakMap,y$=new WeakMap,e0=new WeakMap,U1=new WeakMap,KZ=new WeakMap,bZ=new WeakMap,$4=new WeakMap,t0=new WeakSet,f6=async function(){let Z=C(this,y$,"f").params.compactionControl;if(!Z||!Z.enabled)return!1;let X=0;if(C(this,U1,"f")!==void 0)try{let z=await C(this,U1,"f");X=z.usage.input_tokens+(z.usage.cache_creation_input_tokens??0)+(z.usage.cache_read_input_tokens??0)+z.usage.output_tokens}catch{return!1}let Y=Z.contextTokenThreshold??v6;if(X<Y)return!1;let J=Z.model??C(this,y$,"f").params.model,W=Z.summaryPrompt??_6,K=C(this,y$,"f").params.messages;if(K[K.length-1].role==="assistant"){let z=K[K.length-1];if(Array.isArray(z.content)){let G=z.content.filter((O)=>O.type!=="tool_use");if(G.length===0)K.pop();else z.content=G}}let Q=await this.client.beta.messages.create({model:J,messages:[...K,{role:"user",content:[{type:"text",text:W}]}],max_tokens:C(this,y$,"f").params.max_tokens},{headers:{"x-stainless-helper":"compaction"}});if(Q.content[0]?.type!=="text")throw new g("Expected text response for compaction");return C(this,y$,"f").params.messages=[{role:"user",content:Q.content}],!0},Symbol.asyncIterator)](){var $;if(C(this,K0,"f"))throw new g("Cannot iterate over a consumed stream");b(this,K0,!0,"f"),b(this,cZ,!0,"f"),b(this,KZ,void 0,"f");try{while(!0){let Z;try{if(C(this,y$,"f").params.max_iterations&&C(this,$4,"f")>=C(this,y$,"f").params.max_iterations)break;b(this,cZ,!1,"f"),b(this,KZ,void 0,"f"),b(this,$4,($=C(this,$4,"f"),$++,$),"f"),b(this,U1,void 0,"f");let{max_iterations:X,compactionControl:Y,...J}=C(this,y$,"f").params;if(J.stream)Z=this.client.beta.messages.stream({...J},C(this,e0,"f")),b(this,U1,Z.finalMessage(),"f"),C(this,U1,"f").catch(()=>{}),yield Z;else b(this,U1,this.client.beta.messages.create({...J,stream:!1},C(this,e0,"f")),"f"),yield C(this,U1,"f");if(!await C(this,t0,"m",f6).call(this)){if(!C(this,cZ,"f")){let{role:Q,content:z}=await C(this,U1,"f");C(this,y$,"f").params.messages.push({role:Q,content:z})}let K=await C(this,t0,"m",tX).call(this,C(this,y$,"f").params.messages.at(-1));if(K)C(this,y$,"f").params.messages.push(K);else if(!C(this,cZ,"f"))break}}finally{if(Z)Z.abort()}}if(!C(this,U1,"f"))throw new g("ToolRunner concluded without a message from the server");C(this,bZ,"f").resolve(await C(this,U1,"f"))}catch(Z){throw b(this,K0,!1,"f"),C(this,bZ,"f").promise.catch(()=>{}),C(this,bZ,"f").reject(Z),b(this,bZ,h6(),"f"),Z}}setMessagesParams($){if(typeof $==="function")C(this,y$,"f").params=$(C(this,y$,"f").params);else C(this,y$,"f").params=$;b(this,cZ,!0,"f"),b(this,KZ,void 0,"f")}async generateToolResponse(){let $=await C(this,U1,"f")??this.params.messages.at(-1);if(!$)return null;return C(this,t0,"m",tX).call(this,$)}done(){return C(this,bZ,"f").promise}async runUntilDone(){if(!C(this,K0,"f"))for await(let $ of this);return this.done()}get params(){return C(this,y$,"f").params}pushMessages(...$){this.setMessagesParams((Z)=>({...Z,messages:[...Z.messages,...$]}))}then($,Z){return this.runUntilDone().then($,Z)}}tX=async function(Z){if(C(this,KZ,"f")!==void 0)return C(this,KZ,"f");return b(this,KZ,fJ(C(this,y$,"f").params,Z),"f"),C(this,KZ,"f")};async function fJ($,Z=$.messages.at(-1)){if(!Z||Z.role!=="assistant"||!Z.content||typeof Z.content==="string")return null;let X=Z.content.filter((J)=>J.type==="tool_use");if(X.length===0)return null;return{role:"user",content:await Promise.all(X.map(async(J)=>{let W=$.tools.find((K)=>("name"in K?K.name:K.mcp_server_name)===J.name);if(!W||!("run"in W))return{type:"tool_result",tool_use_id:J.id,content:`Error: Tool '${J.name}' not found`,is_error:!0};try{let K=J.input;if("parse"in W&&W.parse)K=W.parse(K);let Q=await W.run(K);return{type:"tool_result",tool_use_id:J.id,content:Q}}catch(K){return{type:"tool_result",tool_use_id:J.id,content:`Error: ${K instanceof Error?K.message:String(K)}`,is_error:!0}}}))}}class Q0{constructor($,Z){this.iterator=$,this.controller=Z}async*decoder(){let $=new kZ;for await(let Z of this.iterator)for(let X of $.decode(Z))yield JSON.parse(X);for(let Z of $.flush())yield JSON.parse(Z)}[Symbol.asyncIterator](){return this.decoder()}static fromResponse($,Z){if(!$.body){if(Z.abort(),typeof globalThis.navigator<"u"&&globalThis.navigator.product==="ReactNative")throw new g("The default react-native fetch implementation does not support streaming. Please use expo/fetch: https://docs.expo.dev/versions/latest/sdk/expo/#expofetch-api");throw new g("Attempted to iterate over a response with no body")}return new Q0(f0($.body),Z)}}class X4 extends S${create($,Z){let{betas:X,...Y}=$;return this._client.post("/v1/messages/batches?beta=true",{body:Y,...Z,headers:o([{"anthropic-beta":[...X??[],"message-batches-2024-09-24"].toString()},Z?.headers])})}retrieve($,Z={},X){let{betas:Y}=Z??{};return this._client.get(L$`/v1/messages/batches/${$}?beta=true`,{...X,headers:o([{"anthropic-beta":[...Y??[],"message-batches-2024-09-24"].toString()},X?.headers])})}list($={},Z){let{betas:X,...Y}=$??{};return this._client.getAPIList("/v1/messages/batches?beta=true",y1,{query:Y,...Z,headers:o([{"anthropic-beta":[...X??[],"message-batches-2024-09-24"].toString()},Z?.headers])})}delete($,Z={},X){let{betas:Y}=Z??{};return this._client.delete(L$`/v1/messages/batches/${$}?beta=true`,{...X,headers:o([{"anthropic-beta":[...Y??[],"message-batches-2024-09-24"].toString()},X?.headers])})}cancel($,Z={},X){let{betas:Y}=Z??{};return this._client.post(L$`/v1/messages/batches/${$}/cancel?beta=true`,{...X,headers:o([{"anthropic-beta":[...Y??[],"message-batches-2024-09-24"].toString()},X?.headers])})}async results($,Z={},X){let Y=await this.retrieve($);if(!Y.results_url)throw new g(`No batch \`results_url\`; Has it finished processing? ${Y.processing_status} - ${Y.id}`);let{betas:J}=Z??{};return this._client.get(Y.results_url,{...X,headers:o([{"anthropic-beta":[...J??[],"message-batches-2024-09-24"].toString(),Accept:"application/binary"},X?.headers]),stream:!0,__binaryResponse:!0})._thenUnwrap((W,K)=>Q0.fromResponse(K.response,K.controller))}}var g6={"claude-1.3":"November 6th, 2024","claude-1.3-100k":"November 6th, 2024","claude-instant-1.1":"November 6th, 2024","claude-instant-1.1-100k":"November 6th, 2024","claude-instant-1.2":"November 6th, 2024","claude-3-sonnet-20240229":"July 21st, 2025","claude-3-opus-20240229":"January 5th, 2026","claude-2.1":"July 21st, 2025","claude-2.0":"July 21st, 2025","claude-3-7-sonnet-latest":"February 19th, 2026","claude-3-7-sonnet-20250219":"February 19th, 2026"};class pZ extends S${constructor(){super(...arguments);this.batches=new X4(this._client)}create($,Z){let{betas:X,...Y}=$;if(Y.model in g6)console.warn(`The model '${Y.model}' is deprecated and will reach end-of-life on ${g6[Y.model]}
|
|
42
|
+
Please migrate to a newer model. Visit https://docs.anthropic.com/en/docs/resources/model-deprecations for more information.`);let J=this._client._options.timeout;if(!Y.stream&&J==null){let W=_4[Y.model]??void 0;J=this._client.calculateNonstreamingTimeout(Y.max_tokens,W)}return this._client.post("/v1/messages?beta=true",{body:Y,timeout:J??600000,...Z,headers:o([{...X?.toString()!=null?{"anthropic-beta":X?.toString()}:void 0},Z?.headers]),stream:$.stream??!1})}parse($,Z){return Z={...Z,headers:o([{"anthropic-beta":[...$.betas??[],"structured-outputs-2025-11-13"].toString()},Z?.headers])},this.create($,Z).then((X)=>oX(X,$,{logger:this._client.logger??console}))}stream($,Z){return s0.createMessage(this,$,Z)}countTokens($,Z){let{betas:X,...Y}=$;return this._client.post("/v1/messages/count_tokens?beta=true",{body:Y,...Z,headers:o([{"anthropic-beta":[...X??[],"token-counting-2024-11-01"].toString()},Z?.headers])})}toolRunner($,Z){return new Z4(this._client,$,Z)}}pZ.Batches=X4;pZ.BetaToolRunner=Z4;class Y4 extends S${create($,Z={},X){let{betas:Y,...J}=Z??{};return this._client.post(L$`/v1/skills/${$}/versions?beta=true`,Y0({body:J,...X,headers:o([{"anthropic-beta":[...Y??[],"skills-2025-10-02"].toString()},X?.headers])},this._client))}retrieve($,Z,X){let{skill_id:Y,betas:J}=Z;return this._client.get(L$`/v1/skills/${Y}/versions/${$}?beta=true`,{...X,headers:o([{"anthropic-beta":[...J??[],"skills-2025-10-02"].toString()},X?.headers])})}list($,Z={},X){let{betas:Y,...J}=Z??{};return this._client.getAPIList(L$`/v1/skills/${$}/versions?beta=true`,u0,{query:J,...X,headers:o([{"anthropic-beta":[...Y??[],"skills-2025-10-02"].toString()},X?.headers])})}delete($,Z,X){let{skill_id:Y,betas:J}=Z;return this._client.delete(L$`/v1/skills/${Y}/versions/${$}?beta=true`,{...X,headers:o([{"anthropic-beta":[...J??[],"skills-2025-10-02"].toString()},X?.headers])})}}class z0 extends S${constructor(){super(...arguments);this.versions=new Y4(this._client)}create($={},Z){let{betas:X,...Y}=$??{};return this._client.post("/v1/skills?beta=true",Y0({body:Y,...Z,headers:o([{"anthropic-beta":[...X??[],"skills-2025-10-02"].toString()},Z?.headers])},this._client))}retrieve($,Z={},X){let{betas:Y}=Z??{};return this._client.get(L$`/v1/skills/${$}?beta=true`,{...X,headers:o([{"anthropic-beta":[...Y??[],"skills-2025-10-02"].toString()},X?.headers])})}list($={},Z){let{betas:X,...Y}=$??{};return this._client.getAPIList("/v1/skills?beta=true",u0,{query:Y,...Z,headers:o([{"anthropic-beta":[...X??[],"skills-2025-10-02"].toString()},Z?.headers])})}delete($,Z={},X){let{betas:Y}=Z??{};return this._client.delete(L$`/v1/skills/${$}?beta=true`,{...X,headers:o([{"anthropic-beta":[...Y??[],"skills-2025-10-02"].toString()},X?.headers])})}}z0.Versions=Y4;class l1 extends S${constructor(){super(...arguments);this.models=new d0(this._client),this.messages=new pZ(this._client),this.files=new p0(this._client),this.skills=new z0(this._client)}}l1.Models=d0;l1.Messages=pZ;l1.Files=p0;l1.Skills=z0;class G0 extends S${create($,Z){let{betas:X,...Y}=$;return this._client.post("/v1/complete",{body:Y,timeout:this._client._options.timeout??600000,...Z,headers:o([{...X?.toString()!=null?{"anthropic-beta":X?.toString()}:void 0},Z?.headers]),stream:$.stream??!1})}}var V1,DZ,J4,d4,W4,K4,l4,Q4,QZ,z4,i4,o4,dZ,n4,r4,eX,m6,$8,Z8,X8,Y8,x6,u6="__json_buf";function c6($){return $.type==="tool_use"||$.type==="server_tool_use"}class G4{constructor(){V1.add(this),this.messages=[],this.receivedMessages=[],DZ.set(this,void 0),this.controller=new AbortController,J4.set(this,void 0),d4.set(this,()=>{}),W4.set(this,()=>{}),K4.set(this,void 0),l4.set(this,()=>{}),Q4.set(this,()=>{}),QZ.set(this,{}),z4.set(this,!1),i4.set(this,!1),o4.set(this,!1),dZ.set(this,!1),n4.set(this,void 0),r4.set(this,void 0),$8.set(this,($)=>{if(b(this,i4,!0,"f"),YZ($))$=new n$;if($ instanceof n$)return b(this,o4,!0,"f"),this._emit("abort",$);if($ instanceof g)return this._emit("error",$);if($ instanceof Error){let Z=new g($.message);return Z.cause=$,this._emit("error",Z)}return this._emit("error",new g(String($)))}),b(this,J4,new Promise(($,Z)=>{b(this,d4,$,"f"),b(this,W4,Z,"f")}),"f"),b(this,K4,new Promise(($,Z)=>{b(this,l4,$,"f"),b(this,Q4,Z,"f")}),"f"),C(this,J4,"f").catch(()=>{}),C(this,K4,"f").catch(()=>{})}get response(){return C(this,n4,"f")}get request_id(){return C(this,r4,"f")}async withResponse(){b(this,dZ,!0,"f");let $=await C(this,J4,"f");if(!$)throw Error("Could not resolve a `Response` object");return{data:this,response:$,request_id:$.headers.get("request-id")}}static fromReadableStream($){let Z=new G4;return Z._run(()=>Z._fromReadableStream($)),Z}static createMessage($,Z,X){let Y=new G4;for(let J of Z.messages)Y._addMessageParam(J);return Y._run(()=>Y._createMessage($,{...Z,stream:!0},{...X,headers:{...X?.headers,"X-Stainless-Helper-Method":"stream"}})),Y}_run($){$().then(()=>{this._emitFinal(),this._emit("end")},C(this,$8,"f"))}_addMessageParam($){this.messages.push($)}_addMessage($,Z=!0){if(this.receivedMessages.push($),Z)this._emit("message",$)}async _createMessage($,Z,X){let Y=X?.signal,J;if(Y){if(Y.aborted)this.controller.abort();J=this.controller.abort.bind(this.controller),Y.addEventListener("abort",J)}try{C(this,V1,"m",Z8).call(this);let{response:W,data:K}=await $.create({...Z,stream:!0},{...X,signal:this.controller.signal}).withResponse();this._connected(W);for await(let Q of K)C(this,V1,"m",X8).call(this,Q);if(K.controller.signal?.aborted)throw new n$;C(this,V1,"m",Y8).call(this)}finally{if(Y&&J)Y.removeEventListener("abort",J)}}_connected($){if(this.ended)return;b(this,n4,$,"f"),b(this,r4,$?.headers.get("request-id"),"f"),C(this,d4,"f").call(this,$),this._emit("connect")}get ended(){return C(this,z4,"f")}get errored(){return C(this,i4,"f")}get aborted(){return C(this,o4,"f")}abort(){this.controller.abort()}on($,Z){return(C(this,QZ,"f")[$]||(C(this,QZ,"f")[$]=[])).push({listener:Z}),this}off($,Z){let X=C(this,QZ,"f")[$];if(!X)return this;let Y=X.findIndex((J)=>J.listener===Z);if(Y>=0)X.splice(Y,1);return this}once($,Z){return(C(this,QZ,"f")[$]||(C(this,QZ,"f")[$]=[])).push({listener:Z,once:!0}),this}emitted($){return new Promise((Z,X)=>{if(b(this,dZ,!0,"f"),$!=="error")this.once("error",X);this.once($,Z)})}async done(){b(this,dZ,!0,"f"),await C(this,K4,"f")}get currentMessage(){return C(this,DZ,"f")}async finalMessage(){return await this.done(),C(this,V1,"m",eX).call(this)}async finalText(){return await this.done(),C(this,V1,"m",m6).call(this)}_emit($,...Z){if(C(this,z4,"f"))return;if($==="end")b(this,z4,!0,"f"),C(this,l4,"f").call(this);let X=C(this,QZ,"f")[$];if(X)C(this,QZ,"f")[$]=X.filter((Y)=>!Y.once),X.forEach(({listener:Y})=>Y(...Z));if($==="abort"){let Y=Z[0];if(!C(this,dZ,"f")&&!X?.length)Promise.reject(Y);C(this,W4,"f").call(this,Y),C(this,Q4,"f").call(this,Y),this._emit("end");return}if($==="error"){let Y=Z[0];if(!C(this,dZ,"f")&&!X?.length)Promise.reject(Y);C(this,W4,"f").call(this,Y),C(this,Q4,"f").call(this,Y),this._emit("end")}}_emitFinal(){if(this.receivedMessages.at(-1))this._emit("finalMessage",C(this,V1,"m",eX).call(this))}async _fromReadableStream($,Z){let X=Z?.signal,Y;if(X){if(X.aborted)this.controller.abort();Y=this.controller.abort.bind(this.controller),X.addEventListener("abort",Y)}try{C(this,V1,"m",Z8).call(this),this._connected(null);let J=N1.fromReadableStream($,this.controller);for await(let W of J)C(this,V1,"m",X8).call(this,W);if(J.controller.signal?.aborted)throw new n$;C(this,V1,"m",Y8).call(this)}finally{if(X&&Y)X.removeEventListener("abort",Y)}}[(DZ=new WeakMap,J4=new WeakMap,d4=new WeakMap,W4=new WeakMap,K4=new WeakMap,l4=new WeakMap,Q4=new WeakMap,QZ=new WeakMap,z4=new WeakMap,i4=new WeakMap,o4=new WeakMap,dZ=new WeakMap,n4=new WeakMap,r4=new WeakMap,$8=new WeakMap,V1=new WeakSet,eX=function(){if(this.receivedMessages.length===0)throw new g("stream ended without producing a Message with role=assistant");return this.receivedMessages.at(-1)},m6=function(){if(this.receivedMessages.length===0)throw new g("stream ended without producing a Message with role=assistant");let Z=this.receivedMessages.at(-1).content.filter((X)=>X.type==="text").map((X)=>X.text);if(Z.length===0)throw new g("stream ended without producing a content block with type=text");return Z.join(" ")},Z8=function(){if(this.ended)return;b(this,DZ,void 0,"f")},X8=function(Z){if(this.ended)return;let X=C(this,V1,"m",x6).call(this,Z);switch(this._emit("streamEvent",Z,X),Z.type){case"content_block_delta":{let Y=X.content.at(-1);switch(Z.delta.type){case"text_delta":{if(Y.type==="text")this._emit("text",Z.delta.text,Y.text||"");break}case"citations_delta":{if(Y.type==="text")this._emit("citation",Z.delta.citation,Y.citations??[]);break}case"input_json_delta":{if(c6(Y)&&Y.input)this._emit("inputJson",Z.delta.partial_json,Y.input);break}case"thinking_delta":{if(Y.type==="thinking")this._emit("thinking",Z.delta.thinking,Y.thinking);break}case"signature_delta":{if(Y.type==="thinking")this._emit("signature",Y.signature);break}default:p6(Z.delta)}break}case"message_stop":{this._addMessageParam(X),this._addMessage(X,!0);break}case"content_block_stop":{this._emit("contentBlock",X.content.at(-1));break}case"message_start":{b(this,DZ,X,"f");break}case"content_block_start":case"message_delta":break}},Y8=function(){if(this.ended)throw new g("stream has ended, this shouldn't happen");let Z=C(this,DZ,"f");if(!Z)throw new g("request ended without sending any chunks");return b(this,DZ,void 0,"f"),Z},x6=function(Z){let X=C(this,DZ,"f");if(Z.type==="message_start"){if(X)throw new g(`Unexpected event order, got ${Z.type} before receiving "message_stop"`);return Z.message}if(!X)throw new g(`Unexpected event order, got ${Z.type} before "message_start"`);switch(Z.type){case"message_stop":return X;case"message_delta":if(X.stop_reason=Z.delta.stop_reason,X.stop_sequence=Z.delta.stop_sequence,X.usage.output_tokens=Z.usage.output_tokens,Z.usage.input_tokens!=null)X.usage.input_tokens=Z.usage.input_tokens;if(Z.usage.cache_creation_input_tokens!=null)X.usage.cache_creation_input_tokens=Z.usage.cache_creation_input_tokens;if(Z.usage.cache_read_input_tokens!=null)X.usage.cache_read_input_tokens=Z.usage.cache_read_input_tokens;if(Z.usage.server_tool_use!=null)X.usage.server_tool_use=Z.usage.server_tool_use;return X;case"content_block_start":return X.content.push({...Z.content_block}),X;case"content_block_delta":{let Y=X.content.at(Z.index);switch(Z.delta.type){case"text_delta":{if(Y?.type==="text")X.content[Z.index]={...Y,text:(Y.text||"")+Z.delta.text};break}case"citations_delta":{if(Y?.type==="text")X.content[Z.index]={...Y,citations:[...Y.citations??[],Z.delta.citation]};break}case"input_json_delta":{if(Y&&c6(Y)){let J=Y[u6]||"";J+=Z.delta.partial_json;let W={...Y};if(Object.defineProperty(W,u6,{value:J,enumerable:!1,writable:!0}),J)W.input=f4(J);X.content[Z.index]=W}break}case"thinking_delta":{if(Y?.type==="thinking")X.content[Z.index]={...Y,thinking:Y.thinking+Z.delta.thinking};break}case"signature_delta":{if(Y?.type==="thinking")X.content[Z.index]={...Y,signature:Z.delta.signature};break}default:p6(Z.delta)}return X}case"content_block_stop":return X}},Symbol.asyncIterator)](){let $=[],Z=[],X=!1;return this.on("streamEvent",(Y)=>{let J=Z.shift();if(J)J.resolve(Y);else $.push(Y)}),this.on("end",()=>{X=!0;for(let Y of Z)Y.resolve(void 0);Z.length=0}),this.on("abort",(Y)=>{X=!0;for(let J of Z)J.reject(Y);Z.length=0}),this.on("error",(Y)=>{X=!0;for(let J of Z)J.reject(Y);Z.length=0}),{next:async()=>{if(!$.length){if(X)return{value:void 0,done:!0};return new Promise((J,W)=>Z.push({resolve:J,reject:W})).then((J)=>J?{value:J,done:!1}:{value:void 0,done:!0})}return{value:$.shift(),done:!1}},return:async()=>{return this.abort(),{value:void 0,done:!0}}}}toReadableStream(){return new N1(this[Symbol.asyncIterator].bind(this),this.controller).toReadableStream()}}function p6($){}class O4 extends S${create($,Z){return this._client.post("/v1/messages/batches",{body:$,...Z})}retrieve($,Z){return this._client.get(L$`/v1/messages/batches/${$}`,Z)}list($={},Z){return this._client.getAPIList("/v1/messages/batches",y1,{query:$,...Z})}delete($,Z){return this._client.delete(L$`/v1/messages/batches/${$}`,Z)}cancel($,Z){return this._client.post(L$`/v1/messages/batches/${$}/cancel`,Z)}async results($,Z){let X=await this.retrieve($);if(!X.results_url)throw new g(`No batch \`results_url\`; Has it finished processing? ${X.processing_status} - ${X.id}`);return this._client.get(X.results_url,{...Z,headers:o([{Accept:"application/binary"},Z?.headers]),stream:!0,__binaryResponse:!0})._thenUnwrap((Y,J)=>Q0.fromResponse(J.response,J.controller))}}class lZ extends S${constructor(){super(...arguments);this.batches=new O4(this._client)}create($,Z){if($.model in d6)console.warn(`The model '${$.model}' is deprecated and will reach end-of-life on ${d6[$.model]}
|
|
43
|
+
Please migrate to a newer model. Visit https://docs.anthropic.com/en/docs/resources/model-deprecations for more information.`);let X=this._client._options.timeout;if(!$.stream&&X==null){let Y=_4[$.model]??void 0;X=this._client.calculateNonstreamingTimeout($.max_tokens,Y)}return this._client.post("/v1/messages",{body:$,timeout:X??600000,...Z,stream:$.stream??!1})}stream($,Z){return G4.createMessage(this,$,Z)}countTokens($,Z){return this._client.post("/v1/messages/count_tokens",{body:$,...Z})}}var d6={"claude-1.3":"November 6th, 2024","claude-1.3-100k":"November 6th, 2024","claude-instant-1.1":"November 6th, 2024","claude-instant-1.1-100k":"November 6th, 2024","claude-instant-1.2":"November 6th, 2024","claude-3-sonnet-20240229":"July 21st, 2025","claude-3-opus-20240229":"January 5th, 2026","claude-2.1":"July 21st, 2025","claude-2.0":"July 21st, 2025","claude-3-7-sonnet-latest":"February 19th, 2026","claude-3-7-sonnet-20250219":"February 19th, 2026"};lZ.Batches=O4;class O0 extends S${retrieve($,Z={},X){let{betas:Y}=Z??{};return this._client.get(L$`/v1/models/${$}`,{...X,headers:o([{...Y?.toString()!=null?{"anthropic-beta":Y?.toString()}:void 0},X?.headers])})}list($={},Z){let{betas:X,...Y}=$??{};return this._client.getAPIList("/v1/models",y1,{query:Y,...Z,headers:o([{...X?.toString()!=null?{"anthropic-beta":X?.toString()}:void 0},Z?.headers])})}}var H4=($)=>{if(typeof globalThis.process<"u")return globalThis.process.env?.[$]?.trim()??void 0;if(typeof globalThis.Deno<"u")return globalThis.Deno.env?.get?.($)?.trim();return};var J8,W8,a4,l6,i6="\\n\\nHuman:",o6="\\n\\nAssistant:";class T${constructor({baseURL:$=H4("ANTHROPIC_BASE_URL"),apiKey:Z=H4("ANTHROPIC_API_KEY")??null,authToken:X=H4("ANTHROPIC_AUTH_TOKEN")??null,...Y}={}){J8.add(this),a4.set(this,void 0);let J={apiKey:Z,authToken:X,...Y,baseURL:$||"https://api.anthropic.com"};if(!J.dangerouslyAllowBrowser&&U6())throw new g(`It looks like you're running in a browser-like environment.
|
|
44
|
+
|
|
45
|
+
This is disabled by default, as it risks exposing your secret API credentials to attackers.
|
|
46
|
+
If you understand the risks and have appropriate mitigations in place,
|
|
47
|
+
you can set the \`dangerouslyAllowBrowser\` option to \`true\`, e.g.,
|
|
48
|
+
|
|
49
|
+
new Anthropic({ apiKey, dangerouslyAllowBrowser: true });
|
|
50
|
+
`);this.baseURL=J.baseURL,this.timeout=J.timeout??W8.DEFAULT_TIMEOUT,this.logger=J.logger??console;let W="warn";this.logLevel=W,this.logLevel=mX(J.logLevel,"ClientOptions.logLevel",this)??mX(H4("ANTHROPIC_LOG"),"process.env['ANTHROPIC_LOG']",this)??W,this.fetchOptions=J.fetchOptions,this.maxRetries=J.maxRetries??2,this.fetch=J.fetch??M6(),b(this,a4,A6,"f"),this._options=J,this.apiKey=typeof Z==="string"?Z:null,this.authToken=X}withOptions($){return new this.constructor({...this._options,baseURL:this.baseURL,maxRetries:this.maxRetries,timeout:this.timeout,logger:this.logger,logLevel:this.logLevel,fetch:this.fetch,fetchOptions:this.fetchOptions,apiKey:this.apiKey,authToken:this.authToken,...$})}defaultQuery(){return this._options.defaultQuery}validateHeaders({values:$,nulls:Z}){if($.get("x-api-key")||$.get("authorization"))return;if(this.apiKey&&$.get("x-api-key"))return;if(Z.has("x-api-key"))return;if(this.authToken&&$.get("authorization"))return;if(Z.has("authorization"))return;throw Error('Could not resolve authentication method. Expected either apiKey or authToken to be set. Or for one of the "X-Api-Key" or "Authorization" headers to be explicitly omitted')}async authHeaders($){return o([await this.apiKeyAuth($),await this.bearerAuth($)])}async apiKeyAuth($){if(this.apiKey==null)return;return o([{"X-Api-Key":this.apiKey}])}async bearerAuth($){if(this.authToken==null)return;return o([{Authorization:`Bearer ${this.authToken}`}])}stringifyQuery($){return Object.entries($).filter(([Z,X])=>typeof X<"u").map(([Z,X])=>{if(typeof X==="string"||typeof X==="number"||typeof X==="boolean")return`${encodeURIComponent(Z)}=${encodeURIComponent(X)}`;if(X===null)return`${encodeURIComponent(Z)}=`;throw new g(`Cannot stringify type ${typeof X}; Expected string, number, boolean, or null. If you need to pass nested query parameters, you can manually encode them, e.g. { query: { 'foo[key1]': value1, 'foo[key2]': value2 } }, and please open a GitHub issue requesting better support for your use case.`)}).join("&")}getUserAgent(){return`${this.constructor.name}/JS ${TZ}`}defaultIdempotencyKey(){return`stainless-node-retry-${vX()}`}makeStatusError($,Z,X,Y){return j$.generate($,Z,X,Y)}buildURL($,Z,X){let Y=!C(this,J8,"m",l6).call(this)&&X||this.baseURL,J=W6($)?new URL($):new URL(Y+(Y.endsWith("/")&&$.startsWith("/")?$.slice(1):$)),W=this.defaultQuery();if(!K6(W))Z={...W,...Z};if(typeof Z==="object"&&Z&&!Array.isArray(Z))J.search=this.stringifyQuery(Z);return J.toString()}_calculateNonstreamingTimeout($){if(3600*$/128000>600)throw new g("Streaming is required for operations that may take longer than 10 minutes. See https://github.com/anthropics/anthropic-sdk-typescript#streaming-responses for more details");return 600000}async prepareOptions($){}async prepareRequest($,{url:Z,options:X}){}get($,Z){return this.methodRequest("get",$,Z)}post($,Z){return this.methodRequest("post",$,Z)}patch($,Z){return this.methodRequest("patch",$,Z)}put($,Z){return this.methodRequest("put",$,Z)}delete($,Z){return this.methodRequest("delete",$,Z)}methodRequest($,Z,X){return this.request(Promise.resolve(X).then((Y)=>{return{method:$,path:Z,...Y}}))}request($,Z=null){return new mZ(this,this.makeRequest($,Z,void 0))}async makeRequest($,Z,X){let Y=await $,J=Y.maxRetries??this.maxRetries;if(Z==null)Z=J;await this.prepareOptions(Y);let{req:W,url:K,timeout:Q}=await this.buildRequest(Y,{retryCount:J-Z});await this.prepareRequest(W,{url:K,options:Y});let z="log_"+(Math.random()*16777216|0).toString(16).padStart(6,"0"),G=X===void 0?"":`, retryOf: ${X}`,O=Date.now();if(x$(this).debug(`[${z}] sending request`,JZ({retryOfRequestLogID:X,method:Y.method,url:K,options:Y,headers:W.headers})),Y.signal?.aborted)throw new n$;let N=new AbortController,U=await this.fetchWithTimeout(K,W,Q,N).catch(T0),M=Date.now();if(U instanceof globalThis.Error){let P=`retrying, ${Z} attempts remaining`;if(Y.signal?.aborted)throw new n$;let S=YZ(U)||/timed? ?out/i.test(String(U)+("cause"in U?String(U.cause):""));if(Z)return x$(this).info(`[${z}] connection ${S?"timed out":"failed"} - ${P}`),x$(this).debug(`[${z}] connection ${S?"timed out":"failed"} (${P})`,JZ({retryOfRequestLogID:X,url:K,durationMs:M-O,message:U.message})),this.retryRequest(Y,Z,X??z);if(x$(this).info(`[${z}] connection ${S?"timed out":"failed"} - error; no more retries left`),x$(this).debug(`[${z}] connection ${S?"timed out":"failed"} (error; no more retries left)`,JZ({retryOfRequestLogID:X,url:K,durationMs:M-O,message:U.message})),S)throw new k0;throw new gZ({cause:U})}let A=[...U.headers.entries()].filter(([P])=>P==="request-id").map(([P,S])=>", "+P+": "+JSON.stringify(S)).join(""),F=`[${z}${G}${A}] ${W.method} ${K} ${U.ok?"succeeded":"failed"} with status ${U.status} in ${M-O}ms`;if(!U.ok){let P=await this.shouldRetry(U);if(Z&&P){let I=`retrying, ${Z} attempts remaining`;return await q6(U.body),x$(this).info(`${F} - ${I}`),x$(this).debug(`[${z}] response error (${I})`,JZ({retryOfRequestLogID:X,url:U.url,status:U.status,headers:U.headers,durationMs:M-O})),this.retryRequest(Y,Z,X??z,U.headers)}let S=P?"error; no more retries left":"error; not retryable";x$(this).info(`${F} - ${S}`);let k=await U.text().catch((I)=>T0(I).message),m=k4(k),h=m?void 0:k;throw x$(this).debug(`[${z}] response error (${S})`,JZ({retryOfRequestLogID:X,url:U.url,status:U.status,headers:U.headers,message:h,durationMs:Date.now()-O})),this.makeStatusError(U.status,m,h,U.headers)}return x$(this).info(F),x$(this).debug(`[${z}] response start`,JZ({retryOfRequestLogID:X,url:U.url,status:U.status,headers:U.headers,durationMs:M-O})),{response:U,options:Y,controller:N,requestLogID:z,retryOfRequestLogID:X,startTime:O}}getAPIList($,Z,X){return this.requestAPIList(Z,{method:"get",path:$,...X})}requestAPIList($,Z){let X=this.makeRequest(Z,null,void 0);return new E4(this,X,$)}async fetchWithTimeout($,Z,X,Y){let{signal:J,method:W,...K}=Z||{};if(J)J.addEventListener("abort",()=>Y.abort());let Q=setTimeout(()=>Y.abort(),X),z=globalThis.ReadableStream&&K.body instanceof globalThis.ReadableStream||typeof K.body==="object"&&K.body!==null&&Symbol.asyncIterator in K.body,G={signal:Y.signal,...z?{duplex:"half"}:{},method:"GET",...K};if(W)G.method=W.toUpperCase();try{return await this.fetch.call(void 0,$,G)}finally{clearTimeout(Q)}}async shouldRetry($){let Z=$.headers.get("x-should-retry");if(Z==="true")return!0;if(Z==="false")return!1;if($.status===408)return!0;if($.status===409)return!0;if($.status===429)return!0;if($.status>=500)return!0;return!1}async retryRequest($,Z,X,Y){let J,W=Y?.get("retry-after-ms");if(W){let Q=parseFloat(W);if(!Number.isNaN(Q))J=Q}let K=Y?.get("retry-after");if(K&&!J){let Q=parseFloat(K);if(!Number.isNaN(Q))J=Q*1000;else J=Date.parse(K)-Date.now()}if(!(J&&0<=J&&J<60000)){let Q=$.maxRetries??this.maxRetries;J=this.calculateDefaultRetryTimeoutMillis(Z,Q)}return await G6(J),this.makeRequest($,Z-1,X)}calculateDefaultRetryTimeoutMillis($,Z){let J=Z-$,W=Math.min(0.5*Math.pow(2,J),8),K=1-Math.random()*0.25;return W*K*1000}calculateNonstreamingTimeout($,Z){if(3600000*$/128000>600000||Z!=null&&$>Z)throw new g("Streaming is required for operations that may take longer than 10 minutes. See https://github.com/anthropics/anthropic-sdk-typescript#long-requests for more details");return 600000}async buildRequest($,{retryCount:Z=0}={}){let X={...$},{method:Y,path:J,query:W,defaultBaseURL:K}=X,Q=this.buildURL(J,W,K);if("timeout"in X)z6("timeout",X.timeout);X.timeout=X.timeout??this.timeout;let{bodyHeaders:z,body:G}=this.buildBody({options:X}),O=await this.buildHeaders({options:$,method:Y,bodyHeaders:z,retryCount:Z});return{req:{method:Y,headers:O,...X.signal&&{signal:X.signal},...globalThis.ReadableStream&&G instanceof globalThis.ReadableStream&&{duplex:"half"},...G&&{body:G},...this.fetchOptions??{},...X.fetchOptions??{}},url:Q,timeout:X.timeout}}async buildHeaders({options:$,method:Z,bodyHeaders:X,retryCount:Y}){let J={};if(this.idempotencyHeader&&Z!=="get"){if(!$.idempotencyKey)$.idempotencyKey=this.defaultIdempotencyKey();J[this.idempotencyHeader]=$.idempotencyKey}let W=o([J,{Accept:"application/json","User-Agent":this.getUserAgent(),"X-Stainless-Retry-Count":String(Y),...$.timeout?{"X-Stainless-Timeout":String(Math.trunc($.timeout/1000))}:{},...w6(),...this._options.dangerouslyAllowBrowser?{"anthropic-dangerous-direct-browser-access":"true"}:void 0,"anthropic-version":"2023-06-01"},await this.authHeaders($),this._options.defaultHeaders,X,$.headers]);return this.validateHeaders(W),W.values}buildBody({options:{body:$,headers:Z}}){if(!$)return{bodyHeaders:void 0,body:void 0};let X=o([Z]);if(ArrayBuffer.isView($)||$ instanceof ArrayBuffer||$ instanceof DataView||typeof $==="string"&&X.values.has("content-type")||globalThis.Blob&&$ instanceof globalThis.Blob||$ instanceof FormData||$ instanceof URLSearchParams||globalThis.ReadableStream&&$ instanceof globalThis.ReadableStream)return{bodyHeaders:void 0,body:$};else if(typeof $==="object"&&((Symbol.asyncIterator in $)||(Symbol.iterator in $)&&("next"in $)&&typeof $.next==="function"))return{bodyHeaders:void 0,body:I4($)};else return C(this,a4,"f").call(this,{body:$,headers:X})}}W8=T$,a4=new WeakMap,J8=new WeakSet,l6=function(){return this.baseURL!=="https://api.anthropic.com"};T$.Anthropic=W8;T$.HUMAN_PROMPT=i6;T$.AI_PROMPT=o6;T$.DEFAULT_TIMEOUT=600000;T$.AnthropicError=g;T$.APIError=j$;T$.APIConnectionError=gZ;T$.APIConnectionTimeoutError=k0;T$.APIUserAbortError=n$;T$.NotFoundError=j0;T$.ConflictError=y0;T$.RateLimitError=v0;T$.BadRequestError=I0;T$.AuthenticationError=b0;T$.InternalServerError=_0;T$.PermissionDeniedError=D0;T$.UnprocessableEntityError=E0;T$.toFile=v4;class zZ extends T${constructor(){super(...arguments);this.completions=new G0(this),this.messages=new lZ(this),this.models=new O0(this),this.beta=new l1(this)}}zZ.Completions=G0;zZ.Messages=lZ;zZ.Models=O0;zZ.Beta=l1;var pJ=async()=>{if(!process.env.ANTHROPIC_API_KEY)return[];let $=[];try{for await(let Z of new zZ().beta.models.list())$.push({id:Z.id,name:Z.display_name,provider:"anthropic"})}catch(Z){console.error("Failed to fetch Anthropic models:",Z)}return $},dJ=async()=>{if(!process.env.OPENAI_API_KEY)return[];try{return await new n6().models.list().then(($)=>$.data.map((Z)=>{return{id:Z.id,name:Z.id,provider:"openai"}}).sort((Z,X)=>Z.id.localeCompare(X.id)))}catch($){return console.error("Failed to fetch OpenAI models:",$),[]}},lJ=async()=>{let $=process.env.GEMINI_API_KEY;if(!$)return[];let Z=[{id:"gemini-2.5-flash-preview-06-17",name:"Gemini 2.5 Flash Preview (06-17)",provider:"gemini"},{id:"gemini-2.5-pro-preview-06-05",name:"Gemini 2.5 Pro Preview (06-05)",provider:"gemini"},{id:"gemini-2.0-flash",name:"Gemini 2.0 Flash",provider:"gemini"},{id:"gemini-2.0-flash-lite",name:"Gemini 2.0 Flash Lite",provider:"gemini"},{id:"gemini-1.5-flash",name:"Gemini 1.5 Flash",provider:"gemini"},{id:"gemini-1.5-flash-8b",name:"Gemini 1.5 Flash 8B",provider:"gemini"},{id:"gemini-1.5-pro",name:"Gemini 1.5 Pro",provider:"gemini"},{id:"gemini-1.0-pro",name:"Gemini 1.0 Pro",provider:"gemini"},{id:"gemini-2.0-flash-exp",name:"Gemini 2.0 Flash Experimental",provider:"gemini"},{id:"gemini-exp-1206",name:"Gemini Experimental 1206",provider:"gemini"},{id:"gemini-2.5-pro-exp-03-25",name:"Gemini 2.5 Pro Experimental (03-25)",provider:"gemini"},{id:"gemini-2.5-flash-preview-05-20",name:"Gemini 2.5 Flash Preview (05-20)",provider:"gemini"}];try{return await new r6($).getGenerativeModel({model:"gemini-1.5-flash"}),Z}catch(X){return console.error("Failed to verify Gemini API key:",X),[]}},a6=async()=>{return(await Promise.all([pJ().catch(()=>[]),dJ().catch(()=>[]),lJ().catch(()=>[])])).flat()};var s4=B(Z$(),1);function s6({tools:$,setTools:Z}){let X=s4.useRef(!1);s4.useEffect(()=>{if(!X.current)Z($),X.current=!0},[$,Z])}var e6=B(Z$(),1);function t6($){if(!$)return{isValid:!1,needsSetup:!0,reason:"未找到配置文件"};if(!$.providers||$.providers.length===0)return{isValid:!1,needsSetup:!0,reason:"未配置任何 Provider"};let Z=$.providers.find((X)=>X.id===$.provider_id);if(!Z)return{isValid:!1,needsSetup:!0,reason:`Provider "${$.provider_id}" 不存在`,invalidProviderRef:!0};if(!Z.apiKey||Z.apiKey.trim()==="")return{isValid:!1,needsSetup:!0,reason:`Provider "${$.provider_id}" 未配置 API Key`,missingApiKey:!0};return{isValid:!0,needsSetup:!1}}function $7({config:$}){return e6.useMemo(()=>{if(!$)return{validation:null,needsSetup:!0,isValid:!1};let Z=t6($);return{validation:Z,needsSetup:Z.needsSetup,isValid:!Z.needsSetup}},[$])}var Z7=B(Z$(),1);function X7({shouldFocus:$}){let Z=i1();Z7.useEffect(()=>{if($)Z.focus("global-input")},[$,Z])}var w1=B(Z$(),1);function Y7(){let[$,Z]=w1.useState("chat"),X=i1(),Y=w1.useCallback(()=>{Z("history")},[]),J=w1.useCallback(()=>{Z("knowledge")},[]),W=w1.useCallback(()=>{Z("settings")},[]),K=w1.useCallback(()=>{Z("model-provider")},[]),Q=w1.useCallback(()=>{Z("agent")},[]),z=w1.useCallback(()=>{Z("task")},[]),G=w1.useCallback(()=>{Z("mcp")},[]),O=w1.useCallback(()=>{Z("process")},[]),N=w1.useCallback(()=>{Z("errors")},[]),U=w1.useCallback(()=>{Z("chat"),X.focus("global-input")},[X]);return{activeView:$,isChatView:$==="chat",switchToHistory:Y,switchToKnowledge:J,switchToSettings:W,switchToModelProvider:K,switchToAgent:Q,switchToTask:z,switchToMcp:G,switchToProcess:O,switchToErrors:N,closePanel:U}}var t4=B(Z$(),1);function iJ($){let Z=`# 任务:${$.title}
|
|
8
51
|
|
|
9
52
|
`;if(Z+=`**描述:**
|
|
10
53
|
${$.description}
|
|
@@ -16,37 +59,37 @@ ${$.description}
|
|
|
16
59
|
`;if($.complexity)Z+=`**复杂度:** ${$.complexity}
|
|
17
60
|
|
|
18
61
|
`;if($.dependencies&&$.dependencies.length>0)Z+=`**依赖任务:**
|
|
19
|
-
${$.dependencies.map((
|
|
62
|
+
${$.dependencies.map((X)=>`- ${X}`).join(`
|
|
20
63
|
`)}
|
|
21
64
|
|
|
22
65
|
`;if($.acceptanceCriteria&&$.acceptanceCriteria.length>0)Z+=`**验收标准:**
|
|
23
|
-
${$.acceptanceCriteria.map((Y
|
|
66
|
+
${$.acceptanceCriteria.map((X,Y)=>`${Y+1}. ${X}`).join(`
|
|
24
67
|
`)}
|
|
25
68
|
|
|
26
69
|
`;if($.children&&$.children.length>0)Z+=`**子任务:**
|
|
27
|
-
`,$.children.forEach((Y
|
|
28
|
-
### 子任务 ${
|
|
29
|
-
`,Z+=`${
|
|
30
|
-
`,
|
|
31
|
-
${
|
|
70
|
+
`,$.children.forEach((X,Y)=>{if(Z+=`
|
|
71
|
+
### 子任务 ${Y+1}: ${X.title}
|
|
72
|
+
`,Z+=`${X.description}
|
|
73
|
+
`,X.acceptanceCriteria&&X.acceptanceCriteria.length>0)Z+=`验收标准:
|
|
74
|
+
${X.acceptanceCriteria.map((J)=>`- ${J}`).join(`
|
|
32
75
|
`)}
|
|
33
76
|
`}),Z+=`
|
|
34
|
-
`;return Z.trim()}function
|
|
35
|
-
|
|
36
|
-
请你先写一个 TODO LIST 然后开始这个任务,最后完成任务的时候,使用 commit_task`}];Y(r1).then(()=>{return Z(O,{extraParams:K,metadata:r1})}).then(()=>{J0("任务已发送给 Agent"),X()}).catch((N)=>{console.error("Task execution failed:",N),J0("任务执行失败")})},[Z,Y,K,X])}}var H$=A(D(),1),W4=A(M(),1),K4=H$.createContext(void 0),E0=()=>{let $=H$.useContext(K4);if($===void 0)throw Error("useChatPanel must be used within ChatPanelProvider. Make sure your component is a child of ChatController.");return $},Q4=({children:$,value:Z})=>{return W4.jsxDEV(K4.Provider,{value:Z,children:$},void 0,!1,void 0,this)};var C0=A(D(),1);var _4=($)=>{return $.additional_kwargs?.reasoning_content||Array.isArray($.content)&&$.content.find((Z)=>Z.type==="thinking")?.thinking},g0=($)=>{return typeof $.content==="string"?$.content:$.content?.filter((Z)=>{return Z.type==="text"}).map((Z)=>Z.text).join("")};F$();var s$=A(D(),1),d=A(M(),1),M8={approve:"green",reject:"red",edit:"yellow",modify:"cyan"},R8=($)=>{return M8[$.toLowerCase()]||"white"},U4=({request:$,allowedDecisions:Z=["approve","edit","reject"],onApprove:Y,onEdit:J,onReject:X,autoFocus:K=!0})=>{let[Q,W]=s$.useState("approve"),{value:_,setTrue:O,setFalse:N}=O4(!1),[U,F]=s$.useState(""),L=o1(),q=$.messageIndex,w=$.description;y1((v,i)=>{if(_&&i.escape)P()},{isActive:_});let R=()=>{if(!U.trim())return;if(Q==="edit")try{let v=JSON.parse(U);J(v)}catch(v){console.error("Invalid JSON:",v);return}else{let v=`User rejected to run this tool, reason: ${U}`;X(v)}N(),F("")},P=()=>{N(),F("")},S=([v])=>{if(v==="approve"){Y(),L.focus("global-input");return}if(W(v),O(),v==="edit")F(JSON.stringify($.toolCall.args,null,2));else F("")},u=Z.map((v)=>({label:v,value:v}));return _?(()=>{let v=R8(Q),i=Q==="edit";return d.jsxDEV(z,{flexDirection:"column",paddingX:1,marginTop:0,children:[d.jsxDEV(z,{flexDirection:"column",marginBottom:1,children:[d.jsxDEV(G,{color:v,bold:!0,children:[Q.toUpperCase()," MODE - ",$.toolCall.name]},void 0,!0,void 0,this),q!==void 0&&d.jsxDEV(G,{color:"gray",dimColor:!0,children:["Message Index: ",q]},void 0,!0,void 0,this),w&&d.jsxDEV(G,{color:"gray",dimColor:!0,children:["Description: ",w]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),i?d.jsxDEV(z,{flexDirection:"column",marginTop:0,children:[d.jsxDEV(G,{color:"yellow",dimColor:!0,children:"Editing action arguments (JSON format):"},void 0,!1,void 0,this),d.jsxDEV(z,{paddingX:1,children:d.jsxDEV(h1,{value:U,onChange:F,onSubmit:R,placeholder:"Enter JSON...",autoFocus:!0},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this):d.jsxDEV(z,{flexDirection:"column",marginTop:0,children:[d.jsxDEV(G,{color:"cyan",dimColor:!0,children:"Enter additional message for this action:"},void 0,!1,void 0,this),d.jsxDEV(z,{padding:1,children:d.jsxDEV(h1,{value:U,onChange:F,onSubmit:R,placeholder:"Enter message...",autoFocus:!0},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),d.jsxDEV(z,{marginTop:0,children:d.jsxDEV(G,{color:"gray",children:[d.jsxDEV(G,{color:v,bold:!0,children:"↵"},void 0,!1,void 0,this)," ","Submit |",d.jsxDEV(G,{color:"red",bold:!0,children:[" ","Esc"]},void 0,!0,void 0,this)," ","Cancel"]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)})():(()=>d.jsxDEV(z,{flexDirection:"column",paddingX:1,children:[d.jsxDEV(z,{flexDirection:"column",marginBottom:1,children:[d.jsxDEV(G,{color:"cyan",bold:!0,children:$.toolCall.name},void 0,!1,void 0,this),q!==void 0&&d.jsxDEV(G,{color:"gray",dimColor:!0,children:["Message Index: ",q]},void 0,!0,void 0,this),w&&d.jsxDEV(G,{color:"gray",dimColor:!0,children:["Description: ",w]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),d.jsxDEV(z,{children:d.jsxDEV(P0,{singleSelect:!0,options:u,onSubmit:S,autoFocus:K},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this))()};var L$=A(D(),1),N4=A(M(),1),t$={type:"approval",render($,Z){let{content:Y,metadata:J}=$,X=o1(),K=L$.useCallback(()=>{Z({state:"submitted",result:{status:"approved"}}),X.focus("global-input")},[Z,X]),Q=L$.useCallback((O)=>{Z({state:"edited",result:{status:"edited",editedArgs:O}}),X.focus("global-input")},[Z,X]),W=L$.useCallback((O)=>{Z({state:"cancelled",result:{status:"rejected",message:O}}),X.focus("global-input")},[Z,X]),_={id:$.id,toolCall:Y.toolCall,status:$.state==="submitted"?"approved":$.state==="edited"?"edited":$.state==="cancelled"?"rejected":"pending",createdAt:$.createdAt,messageIndex:J.messageIndex,description:J.description};return N4.jsxDEV(U4,{request:_,allowedDecisions:["approve","edit","reject"],onApprove:K,onEdit:Q,onReject:W,autoFocus:!0},$.id,!1,void 0,this)},defaultConfig:{layout:{border:!1,padding:0},interaction:{autoSubmit:!1,allowSkip:!1}}};var e$=A(D(),1);var b8={title:{maxWidth:60,ellipsis:"…"},description:{maxWidth:80,ellipsis:"…"},optionLabel:{maxWidth:50,ellipsis:"…"},tabLabel:{maxWidth:30,ellipsis:"…"},fullTitle:{maxWidth:80,ellipsis:"…"}},B8=($,Z=20,Y="…")=>{if(!$)return"";if($.length<=Z)return $;return $.substring(0,Z-Y.length)+Y},p0=($,Z)=>{let Y=b8[Z];return B8($,Y.maxWidth,Y.ellipsis)};var K0=A(M(),1),P8=($)=>{return p0($,"optionLabel")},$6={type:"selection",render($,Z){let{content:Y,metadata:J,result:X}=$,[K,Q]=e$.useState(X?.selected||[]),[W,_]=e$.useState(X?.customInput||""),O=Y.options.map((R)=>({label:P8(R.label),value:R.value})),N=(R,P)=>{Z({result:{selected:R??K,customInput:P??W}})},U=(R)=>{Q(R),N(R,void 0)},F=(R)=>{_(R),N(void 0,R)},L=()=>{Z({state:"submitted",result:{selected:K,customInput:W}})},q=J?.title?p0(J.title,"title"):null,w=J?.description?p0(J.description,"description"):null;return K0.jsxDEV(z,{flexDirection:"column",paddingX:1,children:[q&&K0.jsxDEV(z,{marginBottom:1,children:K0.jsxDEV(G,{color:"cyan",bold:!0,children:q},void 0,!1,void 0,this)},void 0,!1,void 0,this),w&&K0.jsxDEV(z,{marginBottom:1,children:K0.jsxDEV(G,{dimColor:!0,children:w},void 0,!1,void 0,this)},void 0,!1,void 0,this),K0.jsxDEV(P0,{options:O,singleSelect:Y.singleSelect,values:K,onChange:U,onSubmit:L,autoFocus:!0},void 0,!1,void 0,this),Y.allowCustomInput&&K0.jsxDEV(z,{marginTop:1,flexDirection:"column",children:K0.jsxDEV(h1,{value:W,onChange:F,onSubmit:L,placeholder:Y.placeholder||"Type custom option...",autoFocus:!1},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},validate($){if($.options.length===0)return"At least one option is required";if($.singleSelect&&$.maxSelections&&$.maxSelections>1)return"Single select cannot have maxSelections > 1";return},defaultConfig:{layout:{border:!1,padding:1},interaction:{autoSubmit:!1}}};var z4=A(D(),1);var n1=A(M(),1),Z6={type:"input",render($,Z){let{content:Y,metadata:J}=$,[X,K]=z4.useState(Y.defaultValue||""),Q=()=>{Z({state:"submitted",result:{value:X}})};return n1.jsxDEV(z,{flexDirection:"column",paddingX:1,children:[J?.title&&n1.jsxDEV(z,{marginBottom:1,children:n1.jsxDEV(G,{color:"cyan",bold:!0,children:J.title},void 0,!1,void 0,this)},void 0,!1,void 0,this),J?.description&&n1.jsxDEV(z,{marginBottom:1,children:n1.jsxDEV(G,{dimColor:!0,children:J.description},void 0,!1,void 0,this)},void 0,!1,void 0,this),n1.jsxDEV(z,{children:[n1.jsxDEV(h1,{value:X,onChange:K,onSubmit:Q,placeholder:Y.placeholder,autoFocus:!0},void 0,!1,void 0,this),")"]},void 0,!0,void 0,this),Y.maxLength&&n1.jsxDEV(z,{marginTop:1,children:n1.jsxDEV(G,{dimColor:!0,children:["Max length: ",Y.maxLength]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},validate($){if($.validation?.pattern&&$.defaultValue){if(!$.validation.pattern.test($.defaultValue))return"Input does not match required pattern"}if($.validation?.minLength&&$.defaultValue&&$.defaultValue.length<$.validation.minLength)return`Input must be at least ${$.validation.minLength} characters`;return},defaultConfig:{layout:{border:!1,padding:1},interaction:{autoSubmit:!1}}};var f0=A(M(),1),Y6={type:"confirm",render($,Z){let{content:Y,metadata:J}=$,X=()=>{Z({state:"submitted",result:{confirmed:!0}})},K=()=>{Z({state:"cancelled",result:{confirmed:!1}})},Q=[{label:Y.confirmLabel||"Confirm",value:"confirm"},{label:Y.cancelLabel||"Cancel",value:"cancel"}],W=([_])=>{if(_==="confirm")X();else K()};return f0.jsxDEV(z,{flexDirection:"column",paddingX:1,children:[J?.title&&f0.jsxDEV(z,{marginBottom:1,children:f0.jsxDEV(G,{color:Y.danger?"red":"cyan",bold:!0,children:J.title},void 0,!1,void 0,this)},void 0,!1,void 0,this),f0.jsxDEV(z,{marginBottom:1,children:f0.jsxDEV(G,{children:Y.message},void 0,!1,void 0,this)},void 0,!1,void 0,this),f0.jsxDEV(P0,{options:Q,singleSelect:!0,onSubmit:W,autoFocus:!0},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},defaultConfig:{layout:{border:!1,padding:1},interaction:{autoSubmit:!1}}};var f8=A(D(),1);var C8=A(M(),1);var a1=A(D(),1);var m0=A(D(),1);var Y1=A(M(),1),F4=({items:$,defaultIndex:Z=0,onChange:Y,disabled:J=!1,autoFocus:X=!0,variant:K="line"})=>{let{isFocused:Q}=H4({autoFocus:X}),[W,_]=m0.useState(Z),O=m0.default.useMemo(()=>`tabs-${Math.random().toString(36).substring(2,9)}`,[]),N=m0.useCallback((L)=>{if(L<0||L>=$.length||$[L].disabled)return;_(L),Y?.(L,$[L])},[$,Y]);y1((L,q)=>{if(J)return;if(q.leftArrow)N(W-1);else if(q.rightArrow)N(W+1)},{isActive:!J});let U=()=>{return $.map((L,q)=>{let w=q===W,R=Q&&!J,P;if(K==="line")P=Y1.jsxDEV(z,{marginRight:1,children:[Y1.jsxDEV(G,{color:L.disabled?"gray":w?R?"green":"cyan":"gray",bold:w&&R,children:L.label},void 0,!1,void 0,this),w&&Y1.jsxDEV(G,{color:R?"green":"cyan",children:"_"},void 0,!1,void 0,this)]},`${O}-${L.id}`,!0,void 0,this);else if(K==="enclosed"){let S=q===0||w?"┌":"─",u=q===$.length-1||w?"┐":"─",m=q===0||w?"│":" ",t=q===$.length-1||w?"│":" ",v=w?"─":" ",i=w?" ":"",r=L.disabled?"gray":w?R?"green":"cyan":"gray";P=Y1.jsxDEV(z,{children:Y1.jsxDEV(z,{flexDirection:"column",children:[Y1.jsxDEV(z,{children:[Y1.jsxDEV(G,{color:r,children:S},void 0,!1,void 0,this),Y1.jsxDEV(G,{color:r,bold:w&&R,children:[i,L.label,i]},void 0,!0,void 0,this),Y1.jsxDEV(G,{color:r,children:u},void 0,!1,void 0,this)]},void 0,!0,void 0,this),w&&Y1.jsxDEV(z,{children:[Y1.jsxDEV(G,{color:r,children:m},void 0,!1,void 0,this),Y1.jsxDEV(G,{color:r,children:v.repeat(L.label.length+2)},void 0,!1,void 0,this),Y1.jsxDEV(G,{color:r,children:t},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)},`${O}-${L.id}`,!1,void 0,this)}else{let S=w?"●":"○";P=Y1.jsxDEV(z,{marginRight:2,children:Y1.jsxDEV(G,{color:L.disabled?"gray":w?R?"green":"cyan":"gray",bold:w&&R,children:[S," ",L.label]},void 0,!0,void 0,this)},`${O}-${L.id}`,!1,void 0,this)}return P})},F=()=>{let L=$[W];if(!L?.content)return null;return Y1.jsxDEV(z,{marginTop:1,paddingX:2,paddingY:1,flexDirection:"column",children:L.content},void 0,!1,void 0,this)};return Y1.jsxDEV(z,{flexDirection:"column",flexGrow:1,children:[Y1.jsxDEV(z,{children:U()},void 0,!1,void 0,this),$.some((L)=>L.content)&&F()]},void 0,!0,void 0,this)};var L4=A(D(),1);var A4=A(M(),1),X6=({interaction:$,renderer:Z,onChange:Y})=>{let J=L4.useMemo(()=>{return{layout:{border:!1,padding:0,...Z.defaultConfig?.layout,...$.config.layout},interaction:{autoSubmit:!1,allowSkip:!1,showPreview:!0,...Z.defaultConfig?.interaction,...$.config.interaction},style:{...Z.defaultConfig?.style,...$.config.style}}},[$.config,Z.defaultConfig]),X=J.style.backgroundColor;return A4.jsxDEV(z,{backgroundColor:X,paddingX:J.layout.padding,marginBottom:1,flexDirection:"column",children:Z.render({...$,config:J},Y)},void 0,!1,void 0,this)};F$();var Q0=A(M(),1),v8=($)=>{return p0($,"fullTitle")},J6=()=>{let $=k1(),[Z,Y]=a1.useState(null),{focusNext:J,focus:X}=o1(),K=a1.useMemo(()=>{return $.getInteractions()},[$.getInteractions()]);a1.useEffect(()=>{if(K.length>0&&!Z)Y(K[0].id)},[K,Z]);let Q=a1.useMemo(()=>{return K.map((U)=>{let F={idle:"\uD83D\uDD04",active:"\uD83D\uDD04",submitted:"✅",edited:"⛔",cancelled:"\uD83D\uDEAB"}[U.state]||"",L=v8(U.metadata.title||U.content.type);return{id:U.id,label:`${F} ${L}`,content:null}})},[K]),W=a1.useCallback((U,F)=>{Y(F.id)},[]),_=a1.useCallback((U)=>{if(K.every((w)=>w.state==="submitted"||w.state==="edited"||w.state==="cancelled")){X("global-input");return}let q=(K.findIndex((w)=>w.id===U)+1)%K.length;Y(K[q].id)},[K,X]),O=q4(()=>{J()});B1(O,Z?100:null);let N=()=>{if(!Z)return null;let U=K.find((L)=>L.id===Z);if(!U)return null;let F=A0.get(U.content.type);if(!F)return Q0.jsxDEV(z,{paddingX:1,children:Q0.jsxDEV(G,{color:"red",children:["Unknown renderer: ",U.content.type]},void 0,!0,void 0,this)},void 0,!1,void 0,this);return Q0.jsxDEV(X6,{interaction:U,renderer:F,onChange:(L)=>{if($.updateInteraction(U.id,L),L.state==="submitted"||L.state==="edited"||L.state==="cancelled")_(U.id)}},U.id,!1,void 0,this)};if(K.length===0)return null;return Q0.jsxDEV(z,{flexDirection:"column",width:"100%",children:[Q0.jsxDEV(z,{justifyContent:"space-between",paddingX:1,marginBottom:1,children:Q0.jsxDEV(G,{color:"cyan",bold:!0,children:["Interactions (",K.length,")"]},void 0,!0,void 0,this)},void 0,!1,void 0,this),Q0.jsxDEV(z,{paddingX:1,marginBottom:1,children:Q0.jsxDEV(F4,{items:Q,defaultIndex:Q.findIndex((U)=>U.id===Z),onChange:W,autoFocus:!0,variant:"line"},Z,!1,void 0,this)},void 0,!1,void 0,this),N()]},void 0,!0,void 0,this)};F$();function w4(){A0.register("approval",t$),A0.register("selection",$6),A0.register("input",Z6),A0.register("confirm",Y6)}w4();var c0=A(M(),1);import{z as q0}from"zod";var S8=q0.object({label:q0.string().min(1).max(50).describe("选项显示文本,简洁明了(1-50 字符)")}),I8=q0.object({description:q0.string().min(1).describe("向用户提出的问题,清晰具体,包含必要的上下文"),type:q0.enum(["single_select","multi_select"]).describe("选择类型:single_select(单选)或 multi_select(多选)"),options:q0.array(S8).min(2).max(6).describe("选项列表,至少 2 个,最多 6 个"),allow_custom_input:q0.boolean().default(!0).describe("是否允许用户输入自定义文本,默认 true"),placeholder:q0.string().optional().describe("自定义输入框的占位符文本")}),k8=({tool:$})=>{let{addInteraction:Z,getInteractions:Y,updateInteraction:J}=k1(),[X,K]=C0.useState(null),Q=C0.useRef(!1),W=$.getInputRepaired();if(C0.useEffect(()=>{if($.state==="interrupted"&&!X&&!Q.current){let O=(Array.isArray(W.options)?W.options:[]).map((L)=>{let q=L&&typeof L==="object"&&typeof L.label==="string"?L.label:String(L??"");return{label:q,value:q}}),N=W.type==="single_select",U={type:"selection",options:O,singleSelect:N,allowCustomInput:typeof W.allow_custom_input==="boolean"?W.allow_custom_input:!0,placeholder:typeof W.placeholder==="string"?W.placeholder:void 0},F=Z(U,{tool:$,metadata:{title:typeof W.description==="string"&&W.description?W.description:"请选择一个选项",groupKey:"user-input"}});K(F.id)}},[$,X,Z,W]),C0.useEffect(()=>{if(!X||Q.current)return;let _=()=>{let U=Y().find((F)=>F.id===X);if(U&&(U.state==="submitted"||U.state==="edited"||U.state==="cancelled")&&!U.resultSent){Q.current=!0;let F=U.result,L="";if(F){if(F.selected&&F.selected.length>0)L+=`User selected:
|
|
37
|
-
${
|
|
38
|
-
- `)}`;if(
|
|
39
|
-
`:"")+`User Custom Input: ${
|
|
40
|
-
`).map((
|
|
41
|
-
`);return
|
|
42
|
-
`),
|
|
43
|
-
`);for(let
|
|
44
|
-
`).length>50}function
|
|
45
|
-
`).length,
|
|
46
|
-
`).filter(Boolean).length,
|
|
47
|
-
`).filter(Boolean).length,
|
|
48
|
-
`).length,
|
|
49
|
-
`).map((N
|
|
77
|
+
`;return Z.trim()}function J7($){let{sendMessage:Z,createNewChat:X}=E$(),{extraParams:Y}=v$(),{closePanel:J}=$,W=t4.useMemo(()=>{return{...Y,is_in_task:!0}},[Y]);return{handleExecuteTask:t4.useCallback((Q)=>{let G=[{type:"human",content:`${iJ(Q)}
|
|
78
|
+
|
|
79
|
+
请你先写一个 TODO LIST 然后开始这个任务,最后完成任务的时候,使用 commit_task`}];X(o1).then(()=>{return Z(G,{extraParams:W,metadata:o1})}).then(()=>{GZ("任务已发送给 Agent"),J()}).catch((O)=>{console.error("Task execution failed:",O),GZ("任务执行失败")})},[Z,X,W,J])}}var e4=B(Z$(),1),Q7=B(V(),1),W7=e4.createContext(void 0),H0=()=>{let $=e4.useContext(W7);if($===void 0)throw Error("useChatPanel must be used within ChatPanelProvider. Make sure your component is a child of ChatController.");return $},K7=({children:$,value:Z})=>{return Q7.jsxDEV(W7.Provider,{value:Z,children:$},void 0,!1,void 0,this)};var nZ=B(Z$(),1);var z7=($)=>{return $.additional_kwargs?.reasoning_content||Array.isArray($.content)&&$.content.find((Z)=>Z.type==="thinking")?.thinking},N0=($)=>{return typeof $.content==="string"?$.content:$.content?.filter((Z)=>{return Z.type==="text"}).map((Z)=>Z.text).join("")};$X();var Q8=B(Z$(),1),B$=B(V(),1),ZW={approve:"green",reject:"red",edit:"yellow",modify:"cyan"},XW=($)=>{return ZW[$.toLowerCase()]||"white"},H7=({request:$,allowedDecisions:Z=["approve","edit","reject"],onApprove:X,onEdit:Y,onReject:J,autoFocus:W=!0})=>{let[K,Q]=Q8.useState("approve"),{value:z,setTrue:G,setFalse:O}=O7(!1),[N,U]=Q8.useState(""),M=i1(),A=$.messageIndex,F=$.description;T1((I,x)=>{if(z&&x.escape)S()},{isActive:z});let P=()=>{if(!N.trim())return;if(K==="edit")try{let I=JSON.parse(N);Y(I)}catch(I){console.error("Invalid JSON:",I);return}else{let I=`User rejected to run this tool, reason: ${N}`;J(I)}O(),U("")},S=()=>{O(),U("")},k=([I])=>{if(I==="approve"){X(),M.focus("global-input");return}if(Q(I),G(),I==="edit")U(JSON.stringify($.toolCall.args,null,2));else U("")},m=Z.map((I)=>({label:I,value:I}));return z?(()=>{let I=XW(K),x=K==="edit";return B$.jsxDEV(w,{flexDirection:"column",paddingX:1,marginTop:0,children:[B$.jsxDEV(w,{flexDirection:"column",marginBottom:1,children:[B$.jsxDEV(H,{color:I,bold:!0,children:[K.toUpperCase()," MODE - ",$.toolCall.name]},void 0,!0,void 0,this),A!==void 0&&B$.jsxDEV(H,{color:"gray",dimColor:!0,children:["Message Index: ",A]},void 0,!0,void 0,this),F&&B$.jsxDEV(H,{color:"gray",dimColor:!0,children:["Description: ",F]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),x?B$.jsxDEV(w,{flexDirection:"column",marginTop:0,children:[B$.jsxDEV(H,{color:"yellow",dimColor:!0,children:"Editing action arguments (JSON format):"},void 0,!1,void 0,this),B$.jsxDEV(w,{paddingX:1,children:B$.jsxDEV(E1,{value:N,onChange:U,onSubmit:P,placeholder:"Enter JSON...",autoFocus:!0},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this):B$.jsxDEV(w,{flexDirection:"column",marginTop:0,children:[B$.jsxDEV(H,{color:"cyan",dimColor:!0,children:"Enter additional message for this action:"},void 0,!1,void 0,this),B$.jsxDEV(w,{padding:1,children:B$.jsxDEV(E1,{value:N,onChange:U,onSubmit:P,placeholder:"Enter message...",autoFocus:!0},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),B$.jsxDEV(w,{marginTop:0,children:B$.jsxDEV(H,{color:"gray",children:[B$.jsxDEV(H,{color:I,bold:!0,children:"↵"},void 0,!1,void 0,this)," ","Submit |",B$.jsxDEV(H,{color:"red",bold:!0,children:[" ","Esc"]},void 0,!0,void 0,this)," ","Cancel"]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)})():(()=>B$.jsxDEV(w,{flexDirection:"column",paddingX:1,children:[B$.jsxDEV(w,{flexDirection:"column",marginBottom:1,children:[B$.jsxDEV(H,{color:"cyan",bold:!0,children:$.toolCall.name},void 0,!1,void 0,this),A!==void 0&&B$.jsxDEV(H,{color:"gray",dimColor:!0,children:["Message Index: ",A]},void 0,!0,void 0,this),F&&B$.jsxDEV(H,{color:"gray",dimColor:!0,children:["Description: ",F]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),B$.jsxDEV(w,{children:B$.jsxDEV(iZ,{singleSelect:!0,options:m,onSubmit:k,autoFocus:W},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this))()};var ZX=B(Z$(),1),N7=B(V(),1),z8={type:"approval",render($,Z){let{content:X,metadata:Y}=$,J=i1(),W=ZX.useCallback(()=>{Z({state:"submitted",result:{status:"approved"}}),J.focus("global-input")},[Z,J]),K=ZX.useCallback((G)=>{Z({state:"edited",result:{status:"edited",editedArgs:G}}),J.focus("global-input")},[Z,J]),Q=ZX.useCallback((G)=>{Z({state:"cancelled",result:{status:"rejected",message:G}}),J.focus("global-input")},[Z,J]),z={id:$.id,toolCall:X.toolCall,status:$.state==="submitted"?"approved":$.state==="edited"?"edited":$.state==="cancelled"?"rejected":"pending",createdAt:$.createdAt,messageIndex:Y.messageIndex,description:Y.description};return N7.jsxDEV(H7,{request:z,allowedDecisions:["approve","edit","reject"],onApprove:W,onEdit:K,onReject:Q,autoFocus:!0},$.id,!1,void 0,this)},defaultConfig:{layout:{border:!1,padding:0},interaction:{autoSubmit:!1,allowSkip:!1}}};var G8=B(Z$(),1);var YW={title:{maxWidth:60,ellipsis:"…"},description:{maxWidth:80,ellipsis:"…"},optionLabel:{maxWidth:50,ellipsis:"…"},tabLabel:{maxWidth:30,ellipsis:"…"},fullTitle:{maxWidth:80,ellipsis:"…"}},JW=($,Z=20,X="…")=>{if(!$)return"";if($.length<=Z)return $;return $.substring(0,Z-X.length)+X},U0=($,Z)=>{let X=YW[Z];return JW($,X.maxWidth,X.ellipsis)};var OZ=B(V(),1),WW=($)=>{return U0($,"optionLabel")},O8={type:"selection",render($,Z){let{content:X,metadata:Y,result:J}=$,[W,K]=G8.useState(J?.selected||[]),[Q,z]=G8.useState(J?.customInput||""),G=X.options.map((P)=>({label:WW(P.label),value:P.value})),O=(P,S)=>{Z({result:{selected:P??W,customInput:S??Q}})},N=(P)=>{K(P),O(P,void 0)},U=(P)=>{z(P),O(void 0,P)},M=()=>{Z({state:"submitted",result:{selected:W,customInput:Q}})},A=Y?.title?U0(Y.title,"title"):null,F=Y?.description?U0(Y.description,"description"):null;return OZ.jsxDEV(w,{flexDirection:"column",paddingX:1,children:[A&&OZ.jsxDEV(w,{marginBottom:1,children:OZ.jsxDEV(H,{color:"cyan",bold:!0,children:A},void 0,!1,void 0,this)},void 0,!1,void 0,this),F&&OZ.jsxDEV(w,{marginBottom:1,children:OZ.jsxDEV(H,{dimColor:!0,children:F},void 0,!1,void 0,this)},void 0,!1,void 0,this),OZ.jsxDEV(iZ,{options:G,singleSelect:X.singleSelect,values:W,onChange:N,onSubmit:M,autoFocus:!0},void 0,!1,void 0,this),X.allowCustomInput&&OZ.jsxDEV(w,{marginTop:1,flexDirection:"column",children:OZ.jsxDEV(E1,{value:Q,onChange:U,onSubmit:M,placeholder:X.placeholder||"Type custom option...",autoFocus:!1},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},validate($){if($.options.length===0)return"At least one option is required";if($.singleSelect&&$.maxSelections&&$.maxSelections>1)return"Single select cannot have maxSelections > 1";return},defaultConfig:{layout:{border:!1,padding:1},interaction:{autoSubmit:!1}}};var U7=B(Z$(),1);var n1=B(V(),1),H8={type:"input",render($,Z){let{content:X,metadata:Y}=$,[J,W]=U7.useState(X.defaultValue||""),K=()=>{Z({state:"submitted",result:{value:J}})};return n1.jsxDEV(w,{flexDirection:"column",paddingX:1,children:[Y?.title&&n1.jsxDEV(w,{marginBottom:1,children:n1.jsxDEV(H,{color:"cyan",bold:!0,children:Y.title},void 0,!1,void 0,this)},void 0,!1,void 0,this),Y?.description&&n1.jsxDEV(w,{marginBottom:1,children:n1.jsxDEV(H,{dimColor:!0,children:Y.description},void 0,!1,void 0,this)},void 0,!1,void 0,this),n1.jsxDEV(w,{children:[n1.jsxDEV(E1,{value:J,onChange:W,onSubmit:K,placeholder:X.placeholder,autoFocus:!0},void 0,!1,void 0,this),")"]},void 0,!0,void 0,this),X.maxLength&&n1.jsxDEV(w,{marginTop:1,children:n1.jsxDEV(H,{dimColor:!0,children:["Max length: ",X.maxLength]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},validate($){if($.validation?.pattern&&$.defaultValue){if(!$.validation.pattern.test($.defaultValue))return"Input does not match required pattern"}if($.validation?.minLength&&$.defaultValue&&$.defaultValue.length<$.validation.minLength)return`Input must be at least ${$.validation.minLength} characters`;return},defaultConfig:{layout:{border:!1,padding:1},interaction:{autoSubmit:!1}}};var oZ=B(V(),1),N8={type:"confirm",render($,Z){let{content:X,metadata:Y}=$,J=()=>{Z({state:"submitted",result:{confirmed:!0}})},W=()=>{Z({state:"cancelled",result:{confirmed:!1}})},K=[{label:X.confirmLabel||"Confirm",value:"confirm"},{label:X.cancelLabel||"Cancel",value:"cancel"}],Q=([z])=>{if(z==="confirm")J();else W()};return oZ.jsxDEV(w,{flexDirection:"column",paddingX:1,children:[Y?.title&&oZ.jsxDEV(w,{marginBottom:1,children:oZ.jsxDEV(H,{color:X.danger?"red":"cyan",bold:!0,children:Y.title},void 0,!1,void 0,this)},void 0,!1,void 0,this),oZ.jsxDEV(w,{marginBottom:1,children:oZ.jsxDEV(H,{children:X.message},void 0,!1,void 0,this)},void 0,!1,void 0,this),oZ.jsxDEV(iZ,{options:K,singleSelect:!0,onSubmit:Q,autoFocus:!0},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},defaultConfig:{layout:{border:!1,padding:1},interaction:{autoSubmit:!1}}};var KW=B(Z$(),1);var QW=B(V(),1);var r1=B(Z$(),1);var w0=B(Z$(),1);var _$=B(V(),1),M7=({items:$,defaultIndex:Z=0,onChange:X,disabled:Y=!1,autoFocus:J=!0,variant:W="line"})=>{let{isFocused:K}=w7({autoFocus:J}),[Q,z]=w0.useState(Z),G=w0.default.useMemo(()=>`tabs-${Math.random().toString(36).substring(2,9)}`,[]),O=w0.useCallback((M)=>{if(M<0||M>=$.length||$[M].disabled)return;z(M),X?.(M,$[M])},[$,X]);T1((M,A)=>{if(Y)return;if(A.leftArrow)O(Q-1);else if(A.rightArrow)O(Q+1)},{isActive:!Y});let N=()=>{return $.map((M,A)=>{let F=A===Q,P=K&&!Y,S;if(W==="line")S=_$.jsxDEV(w,{marginRight:1,children:[_$.jsxDEV(H,{color:M.disabled?"gray":F?P?"green":"cyan":"gray",bold:F&&P,children:M.label},void 0,!1,void 0,this),F&&_$.jsxDEV(H,{color:P?"green":"cyan",children:"_"},void 0,!1,void 0,this)]},`${G}-${M.id}`,!0,void 0,this);else if(W==="enclosed"){let k=A===0||F?"┌":"─",m=A===$.length-1||F?"┐":"─",h=A===0||F?"│":" ",e=A===$.length-1||F?"│":" ",I=F?"─":" ",x=F?" ":"",s=M.disabled?"gray":F?P?"green":"cyan":"gray";S=_$.jsxDEV(w,{children:_$.jsxDEV(w,{flexDirection:"column",children:[_$.jsxDEV(w,{children:[_$.jsxDEV(H,{color:s,children:k},void 0,!1,void 0,this),_$.jsxDEV(H,{color:s,bold:F&&P,children:[x,M.label,x]},void 0,!0,void 0,this),_$.jsxDEV(H,{color:s,children:m},void 0,!1,void 0,this)]},void 0,!0,void 0,this),F&&_$.jsxDEV(w,{children:[_$.jsxDEV(H,{color:s,children:h},void 0,!1,void 0,this),_$.jsxDEV(H,{color:s,children:I.repeat(M.label.length+2)},void 0,!1,void 0,this),_$.jsxDEV(H,{color:s,children:e},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)},`${G}-${M.id}`,!1,void 0,this)}else{let k=F?"●":"○";S=_$.jsxDEV(w,{marginRight:2,children:_$.jsxDEV(H,{color:M.disabled?"gray":F?P?"green":"cyan":"gray",bold:F&&P,children:[k," ",M.label]},void 0,!0,void 0,this)},`${G}-${M.id}`,!1,void 0,this)}return S})},U=()=>{let M=$[Q];if(!M?.content)return null;return _$.jsxDEV(w,{marginTop:1,paddingX:2,paddingY:1,flexDirection:"column",children:M.content},void 0,!1,void 0,this)};return _$.jsxDEV(w,{flexDirection:"column",flexGrow:1,children:[_$.jsxDEV(w,{children:N()},void 0,!1,void 0,this),$.some((M)=>M.content)&&U()]},void 0,!0,void 0,this)};var q7=B(Z$(),1);var A7=B(V(),1),U8=({interaction:$,renderer:Z,onChange:X})=>{let Y=q7.useMemo(()=>{return{layout:{border:!1,padding:0,...Z.defaultConfig?.layout,...$.config.layout},interaction:{autoSubmit:!1,allowSkip:!1,showPreview:!0,...Z.defaultConfig?.interaction,...$.config.interaction},style:{...Z.defaultConfig?.style,...$.config.style}}},[$.config,Z.defaultConfig]),J=Y.style.backgroundColor;return A7.jsxDEV(w,{backgroundColor:J,paddingX:Y.layout.padding,marginBottom:1,flexDirection:"column",children:Z.render({...$,config:Y},X)},void 0,!1,void 0,this)};$X();var HZ=B(V(),1),zW=($)=>{return U0($,"fullTitle")},w8=()=>{let $=R1(),[Z,X]=r1.useState(null),{focusNext:Y,focus:J}=i1(),W=r1.useMemo(()=>{return $.getInteractions()},[$.getInteractions()]);r1.useEffect(()=>{if(W.length>0&&!Z)X(W[0].id)},[W,Z]);let K=r1.useMemo(()=>{return W.map((N)=>{let U={idle:"\uD83D\uDD04",active:"\uD83D\uDD04",submitted:"✅",edited:"⛔",cancelled:"\uD83D\uDEAB"}[N.state]||"",M=zW(N.metadata.title||N.content.type);return{id:N.id,label:`${U} ${M}`,content:null}})},[W]),Q=r1.useCallback((N,U)=>{X(U.id)},[]),z=r1.useCallback((N)=>{if(W.every((F)=>F.state==="submitted"||F.state==="edited"||F.state==="cancelled")){J("global-input");return}let A=(W.findIndex((F)=>F.id===N)+1)%W.length;X(W[A].id)},[W,J]),G=F7(()=>{Y()});M1(G,Z?100:null);let O=()=>{if(!Z)return null;let N=W.find((M)=>M.id===Z);if(!N)return null;let U=jZ.get(N.content.type);if(!U)return HZ.jsxDEV(w,{paddingX:1,children:HZ.jsxDEV(H,{color:"red",children:["Unknown renderer: ",N.content.type]},void 0,!0,void 0,this)},void 0,!1,void 0,this);return HZ.jsxDEV(U8,{interaction:N,renderer:U,onChange:(M)=>{if($.updateInteraction(N.id,M),M.state==="submitted"||M.state==="edited"||M.state==="cancelled")z(N.id)}},N.id,!1,void 0,this)};if(W.length===0)return null;return HZ.jsxDEV(w,{flexDirection:"column",width:"100%",children:[HZ.jsxDEV(w,{justifyContent:"space-between",paddingX:1,marginBottom:1,children:HZ.jsxDEV(H,{color:"cyan",bold:!0,children:["Interactions (",W.length,")"]},void 0,!0,void 0,this)},void 0,!1,void 0,this),HZ.jsxDEV(w,{paddingX:1,marginBottom:1,children:HZ.jsxDEV(M7,{items:K,defaultIndex:K.findIndex((N)=>N.id===Z),onChange:Q,autoFocus:!0,variant:"line"},Z,!1,void 0,this)},void 0,!1,void 0,this),O()]},void 0,!0,void 0,this)};$X();function C7(){jZ.register("approval",z8),jZ.register("selection",O8),jZ.register("input",H8),jZ.register("confirm",N8)}C7();var M0=B(V(),1),GW=j.object({label:j.string().min(1).max(50).describe("选项显示文本,简洁明了(1-50 字符)")}),OW=j.object({description:j.string().min(1).describe("向用户提出的问题,清晰具体,包含必要的上下文"),type:j.enum(["single_select","multi_select"]).describe("选择类型:single_select(单选)或 multi_select(多选)"),options:j.array(GW).min(2).max(6).describe("选项列表,至少 2 个,最多 6 个"),allow_custom_input:j.boolean().default(!0).describe("是否允许用户输入自定义文本,默认 true"),placeholder:j.string().optional().describe("自定义输入框的占位符文本")}),HW=({tool:$})=>{let{addInteraction:Z,getInteractions:X,updateInteraction:Y}=R1(),[J,W]=nZ.useState(null),K=nZ.useRef(!1),Q=$.getInputRepaired();if(nZ.useEffect(()=>{if($.state==="interrupted"&&!J&&!K.current){let G=(Array.isArray(Q.options)?Q.options:[]).map((M)=>{let A=M&&typeof M==="object"&&typeof M.label==="string"?M.label:String(M??"");return{label:A,value:A}}),O=Q.type==="single_select",N={type:"selection",options:G,singleSelect:O,allowCustomInput:typeof Q.allow_custom_input==="boolean"?Q.allow_custom_input:!0,placeholder:typeof Q.placeholder==="string"?Q.placeholder:void 0},U=Z(N,{tool:$,metadata:{title:typeof Q.description==="string"&&Q.description?Q.description:"请选择一个选项",groupKey:"user-input"}});W(U.id)}},[$,J,Z,Q]),nZ.useEffect(()=>{if(!J||K.current)return;let z=()=>{let N=X().find((U)=>U.id===J);if(N&&(N.state==="submitted"||N.state==="edited"||N.state==="cancelled")&&!N.resultSent){K.current=!0;let U=N.result,M="";if(U){if(U.selected&&U.selected.length>0)M+=`User selected:
|
|
80
|
+
${U.selected.join(`
|
|
81
|
+
- `)}`;if(U.customInput&&U.customInput.trim())M+=(M?`
|
|
82
|
+
`:"")+`User Custom Input: ${U.customInput}`}$.sendResumeData({type:"respond",message:M||"User made a selection"}),Y(J,{resultSent:!0})}};z();let G=setInterval(z,100);return()=>clearInterval(G)},[J,X,Y,$]),$.state==="interrupted"&&!$.output)return M0.jsxDEV(w,{flexDirection:"column",children:M0.jsxDEV(w,{paddingX:1,children:M0.jsxDEV(H,{color:"yellow",children:"⏳ 等待用户选择..."},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);if($.output)return M0.jsxDEV(H,{color:"yellow",children:$.output},void 0,!1,void 0,this);return null},B7=R$({name:"ask_user_questions",description:"Ask the user a question with selectable options",parameters:OW,handler:k$.waitForUIDone,render($){return M0.jsxDEV(HW,{tool:$},void 0,!1,void 0,this)}});var rZ=B(Z$(),1);var N4=B(V(),1),q0=({content:$,maxLines:Z=10,borderColor:X="cyan",borderStyle:Y="single",marginTop:J=0,paddingX:W=0,showOmittedInfo:K=!0})=>{let{stdout:Q}=P7();if(!$)return null;let z=Q.columns,G=$.split(`
|
|
83
|
+
`).map((U)=>U.slice(0,z-10)),O=Math.max(0,G.length-Z),N=G.slice(-Z).join(`
|
|
84
|
+
`);return N4.jsxDEV(w,{flexDirection:"column",width:z-5,children:N4.jsxDEV(w,{borderStyle:Y,borderColor:X,borderLeft:!1,borderRight:!1,flexDirection:"column",paddingX:W,marginTop:J,children:[K&&O>0&&N4.jsxDEV(H,{color:"gray",dimColor:!0,children:["... ",O," lines omitted ..."]},void 0,!0,void 0,this),N4.jsxDEV(H,{dimColor:!0,children:N},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)};var K1=B(V(),1),NW=({tool:$})=>{let{addInteraction:Z,getInteractions:X,updateInteraction:Y}=R1(),[J,W]=rZ.useState(null),K=rZ.useRef(!1),Q=$.getHumanInTheLoopData();if(rZ.useEffect(()=>{if(Q?.reviewConfig&&$.state==="interrupted"&&!J&&!K.current){let G=$.getInputRepaired()?.description,O={type:"approval",toolCall:{name:$.message.name,args:$.getInputRepaired()},editableFields:["args"]},N=Z(O,{tool:$,metadata:{title:`Approve ${$.message.name}`,description:G,groupKey:"approvals"}});W(N.id)}},[Q,$,J,Z]),rZ.useEffect(()=>{if(!J||K.current)return;let G=()=>{let U=X().find((M)=>M.id===J);if(U&&(U.state==="submitted"||U.state==="edited"||U.state==="cancelled")&&!U.resultSent){K.current=!0;let M=U.result;if(M){if(M.status==="approved")$.sendResumeData({type:"approve"});else if(M.status==="edited"){let A={name:$.message.name,args:M.editedArgs};$.sendResumeData({type:"edit",edited_action:A})}else if(M.status==="rejected"){let A=M.message||"User rejected to run this tool";$.sendResumeData({type:"reject",message:A})}}Y(J,{resultSent:!0})}};G();let O=setInterval(G,100);return()=>clearInterval(O)},[J,X,Y,$]),Q?.reviewConfig&&J&&!$.output)return K1.jsxDEV(w,{flexDirection:"column",children:K1.jsxDEV(w,{paddingX:1,paddingY:1,children:K1.jsxDEV(H,{color:"yellow",children:"⏳ Wait for Approval"},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);return K1.jsxDEV(w,{flexDirection:"column",children:(()=>{if(!$.output)return null;return K1.jsxDEV(q0,{content:$.output,maxLines:5,borderColor:"cyan"},void 0,!1,void 0,this)})()},void 0,!1,void 0,this)},UW=({tool:$})=>{let Z=$.getInputRepaired(),X=typeof Z?.command==="string"?Z.command:String(Z?.command??""),Y=X.length>50?X.substring(0,50)+"...":X;return K1.jsxDEV(w,{paddingX:1,children:[K1.jsxDEV(H,{color:"magenta",children:"Run "},void 0,!1,void 0,this),K1.jsxDEV(H,{dimColor:!0,children:"("},void 0,!1,void 0,this),K1.jsxDEV(H,{color:"magenta",children:Y},void 0,!1,void 0,this),K1.jsxDEV(H,{dimColor:!0,children:")"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},L7=R$({name:"terminal",description:"",parameters:{},handler:k$.waitForUIDone,render($){return K1.jsxDEV(w,{flexDirection:"column",children:[K1.jsxDEV(UW,{tool:$},void 0,!1,void 0,this),K1.jsxDEV(NW,{tool:$},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}});var T7=B(S7(),1);function wW($,Z,X){if($===Z)return[{type:"unchanged",content:$,lineNumbers:{old:1,new:1}}];let Y=new T7.diff_match_patch,J=Y.diff_main($,Z);Y.diff_cleanupSemantic(J);let W=[],K=1,Q=1,z=[];for(let[P,S]of J){if(S==="")continue;let k=S.split(`
|
|
85
|
+
`),m=S.endsWith(`
|
|
86
|
+
`);for(let h=0;h<k.length;h++){let e=k[h];if(e===""&&(h<k.length-1||!m))continue;let I={type:P===0?"unchanged":P===-1?"added":"removed",content:e};if(P===0)I.lineNumbers={old:K,new:Q},K++,Q++;else if(P===-1)I.lineNumbers={new:Q},Q++;else if(P===1)I.lineNumbers={old:K},K++;z.push(I)}}if(!X?.maxLines)return z;let G=X.maxLines,O=X.contextLines||3,N=z.map((P,S)=>P.type!=="unchanged"?S:-1).filter((P)=>P!==-1);if(N.length===0||z.length<=G)return z;let U=[],M=0,A=[],F=[];for(let P=0;P<N.length;P++)if(F.length===0)F.push(N[P]);else{let S=F[F.length-1];if(N[P]-S<=1)F.push(N[P]);else A.push([...F]),F=[N[P]]}if(F.length>0)A.push(F);for(let P of A){if(M>=G)break;let S=P[0],k=P[P.length-1],m=Math.max(0,S-O),h=Math.min(z.length-1,k+O),e=h-m+1;if(M+e>G&&M>0){U.push({type:"unchanged",content:"..."});break}for(let I=m;I<=h;I++){if(M>=G){if(I<h)U.push({type:"unchanged",content:"..."});break}U.push(z[I]),M++}if(P===A[A.length-1]&&M<z.length){let I=z.length-h-1;if(I>0)U.push({type:"unchanged",content:`... (${I} more lines)`})}}return U}function V7($,Z=1000){return $=$||"",$.length>Z||$.split(`
|
|
87
|
+
`).length>50}function k7($,Z,X){let Y=V7($)||V7(Z),W=X!==void 0&&"maxLines"in X?X.maxLines:Y?10:20,K=X?.contextLines??(Y?1:3);return wW($,Z,{maxLines:W,contextLines:K})}var F0=B(V(),1),MW=["sky","primary"];function qW($){let Z=$%2;return aZ(MW[Z])}function AW($){let Z=[];if($.startsWith("/"))Z.push({type:"separator",value:"/"}),$=$.slice(1);let X=$.split("/");return X.forEach((Y,J)=>{if(Y)Z.push({type:"segment",value:Y});if(J<X.length-1)Z.push({type:"separator",value:"/"})}),Z}var FW=({path:$,color:Z="cyan",line:X,rainbow:Y=!1})=>{let J=I7($)??"",W=X!==void 0?`:${X}`:"";if(!Y)return F0.jsxDEV(H,{color:aZ(Z),children:[J,W]},void 0,!0,void 0,this);let K=AW(J),Q=-1;for(let G=K.length-1;G>=0;G--)if(K[G].type==="segment"){Q=G;break}let z=0;return F0.jsxDEV(H,{children:[K.map((G,O)=>{if(G.type==="separator")return F0.jsxDEV(H,{dimColor:!0,color:"gray",children:G.value},`sep-${O}`,!1,void 0,this);let N=O===Q,U=qW(z);return z++,F0.jsxDEV(H,{color:U,dimColor:!N,children:G.value},`seg-${O}`,!1,void 0,this)}),W&&F0.jsxDEV(H,{color:"gray",children:W},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},q1=FW;var f$=B(V(),1),CW=b7.schema,D7=R$({name:"edit_file",description:"Performs exact string replacements in files with diff visualization",parameters:CW.shape,handler:k$.waitForUIDone,render($){let Z=$.getInputRepaired(),X=$.output,Y=typeof Z?.file_path==="string"?Z.file_path:String(Z?.file_path??""),J=typeof Z?.old_string==="string"?Z.old_string:"",W=typeof Z?.new_string==="string"?Z.new_string:"",K=J.length>0&&W.length>0&&J!==W,Q=typeof X==="string"?X:"",z=0,G=0;if(K){let O=k7(J,W,{maxLines:void 0});for(let N of O){if(N.type==="removed")z++;if(N.type==="added")G++}}return f$.jsxDEV(w,{flexDirection:"column",paddingX:1,children:[f$.jsxDEV(w,{children:[f$.jsxDEV(H,{color:"yellow",children:"Edit "},void 0,!1,void 0,this),f$.jsxDEV(H,{dimColor:!0,children:"("},void 0,!1,void 0,this),f$.jsxDEV(q1,{path:Y,rainbow:!0},void 0,!1,void 0,this),f$.jsxDEV(H,{dimColor:!0,children:")"},void 0,!1,void 0,this),K&&f$.jsxDEV(f$.Fragment,{children:[f$.jsxDEV(H,{color:"gray",children:" ("},void 0,!1,void 0,this),f$.jsxDEV(H,{color:"red",children:["-",z]},void 0,!0,void 0,this),f$.jsxDEV(H,{color:"gray",children:"/"},void 0,!1,void 0,this),f$.jsxDEV(H,{color:"green",children:["+",G]},void 0,!0,void 0,this),f$.jsxDEV(H,{color:"gray",children:")"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),Q&&Q.startsWith("Error:")&&f$.jsxDEV(w,{marginTop:0,marginLeft:1,marginBottom:1,children:f$.jsxDEV(H,{color:"red",children:Q},void 0,!1,void 0,this)},void 0,!1,void 0,this),!Q&&f$.jsxDEV(w,{marginTop:0,children:f$.jsxDEV(H,{color:"gray",children:"Press Enter to confirm, Ctrl+C to cancel"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}});var v1=B(V(),1),BW=["pending","in_progress","completed"],PW={pending:"gray",in_progress:"yellow",completed:"green"},LW={pending:"○",in_progress:"◐",completed:"✓"};function RW($,Z){let X=$&&typeof $==="object"?$:{},Y=typeof X.id==="string"?X.id:String(Z),J=typeof X.content==="string"?X.content:String(X.content??""),W=BW.includes(X.status)?X.status:"pending";return{id:Y,content:J,status:W}}var y7=R$({name:"todo_write",description:"Use this tool to create and manage a structured task list",parameters:j7.shape,handler:k$.waitForUIDone,render($){let Z=$.getInputRepaired(),Y=(Z&&Array.isArray(Z.todos)?Z.todos:[]).map(RW);if(!Z)return v1.jsxDEV(w,{flexDirection:"column",borderStyle:"round",borderColor:"red",children:v1.jsxDEV(H,{color:"red",children:"Error: Invalid todo data structure"},void 0,!1,void 0,this)},void 0,!1,void 0,this);return v1.jsxDEV(w,{flexDirection:"column",paddingY:1,children:v1.jsxDEV(w,{flexDirection:"column",marginTop:0,children:(()=>{if(Y.length===0)return v1.jsxDEV(w,{paddingX:1,children:v1.jsxDEV(H,{color:"gray",children:"No tasks in todo list"},void 0,!1,void 0,this)},void 0,!1,void 0,this);return v1.jsxDEV(w,{flexDirection:"column",marginTop:0,children:Y.map((W,K)=>v1.jsxDEV(w,{paddingX:1,paddingY:0,children:[v1.jsxDEV(H,{color:PW[W.status],bold:!0,children:[LW[W.status]," "]},void 0,!0,void 0,this),v1.jsxDEV(H,{color:W.status==="in_progress"?"white":"gray",children:[K+1,". ",W.content]},void 0,!0,void 0,this)]},W.id,!0,void 0,this))},void 0,!1,void 0,this)})()},void 0,!1,void 0,this)},void 0,!1,void 0,this)}});var _1=B(V(),1),SW=E7.schema,v7=R$({name:"read_file",description:"Reads a file from the local filesystem",parameters:SW.shape,handler:k$.waitForUIDone,render($){let Z=$.getInputRepaired(),X=$.output;if(!X)return _1.jsxDEV(_1.Fragment,{},void 0,!1,void 0,this);let W=(typeof X==="string"?X:String(X??"")).split(`
|
|
88
|
+
`).length,K=typeof Z?.file_path==="string"?Z.file_path:String(Z?.file_path??"");return _1.jsxDEV(w,{flexDirection:"column",paddingX:1,children:_1.jsxDEV(w,{children:[_1.jsxDEV(H,{color:"blue",children:"Read "},void 0,!1,void 0,this),_1.jsxDEV(H,{dimColor:!0,children:"("},void 0,!1,void 0,this),_1.jsxDEV(q1,{path:K,rainbow:!0},void 0,!1,void 0,this),_1.jsxDEV(H,{dimColor:!0,children:")"},void 0,!1,void 0,this),_1.jsxDEV(H,{color:"gray",dimColor:!0,children:[" ","(",W," lines)"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)}});var f1=B(V(),1),VW=_7.schema,f7=R$({name:"glob_files",description:"Find files by name patterns",parameters:VW.shape,handler:k$.waitForUIDone,render($){let Z=$.getInputRepaired(),X=$.output;if(!X)return f1.jsxDEV(f1.Fragment,{},void 0,!1,void 0,this);let J=X.split(`
|
|
89
|
+
`).filter(Boolean).length,W=typeof Z?.pattern==="string"?Z.pattern:String(Z?.pattern??"");return f1.jsxDEV(w,{flexDirection:"column",paddingX:1,children:f1.jsxDEV(H,{children:[f1.jsxDEV(H,{color:"cyan",children:"Glob "},void 0,!1,void 0,this),f1.jsxDEV(H,{dimColor:!0,children:"("},void 0,!1,void 0,this),f1.jsxDEV(q1,{path:W,rainbow:!0},void 0,!1,void 0,this),f1.jsxDEV(H,{dimColor:!0,children:")"},void 0,!1,void 0,this),f1.jsxDEV(H,{color:"gray",dimColor:!0,children:[" ","(",J," files)"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)}});var d$=B(V(),1),TW=j.object({args:j.array(j.string()).optional().describe("ripgrep 参数数组,格式为 [OPTIONS...] PATTERN [PATH...]"),pattern:j.string().optional().describe("搜索模式(结构化参数)"),path:j.string().optional().describe("搜索路径(结构化参数)"),description:j.string().optional().describe("操作描述"),head_limit:j.number().optional().describe("限制输出行数")}),h7=R$({name:"search_files_rg",description:"Ripgrep - fast text search tool",parameters:TW.shape,handler:k$.waitForUIDone,render($){let Z=$.getInputRepaired(),X=$.output;if(!X)return d$.jsxDEV(d$.Fragment,{},void 0,!1,void 0,this);let W=(typeof X==="string"?X:String(X??"")).split(`
|
|
90
|
+
`).filter(Boolean).length,K=typeof Z?.pattern==="string"?Z.pattern:void 0,Q=typeof Z?.path==="string"?Z.path:void 0;if(!K&&Z?.args){let O=(Array.isArray(Z.args)?Z.args:[]).filter((N)=>typeof N==="string").filter((N)=>!N.startsWith("-"));if(O.length>0){if(Q=O[O.length-1],O.length>1)K=O[O.length-2]}}return d$.jsxDEV(w,{flexDirection:"column",paddingX:1,children:d$.jsxDEV(H,{children:[d$.jsxDEV(H,{color:"magenta",children:"Ripgrep "},void 0,!1,void 0,this),K&&d$.jsxDEV(d$.Fragment,{children:[d$.jsxDEV(H,{dimColor:!0,children:"("},void 0,!1,void 0,this),d$.jsxDEV(q1,{path:K,color:"magenta"},void 0,!1,void 0,this),d$.jsxDEV(H,{dimColor:!0,children:")"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),Q&&Q!=="./"&&d$.jsxDEV(d$.Fragment,{children:[d$.jsxDEV(H,{dimColor:!0,children:" in "},void 0,!1,void 0,this),d$.jsxDEV(q1,{path:Q,rainbow:!0},void 0,!1,void 0,this)]},void 0,!0,void 0,this),d$.jsxDEV(H,{color:"gray",dimColor:!0,children:[" ","(",W," matches)"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)}});var a1=B(V(),1),kW=j.object({description:j.string().optional(),file_path:j.string(),content:j.string()}),g7=R$({name:"write_file",description:"Writes a file to the local filesystem",parameters:kW.shape,handler:k$.waitForUIDone,render($){let Z=$.getInputRepaired(),X=$.output,Y=typeof Z?.content==="string"?Z.content:String(Z?.content??""),J=typeof Z?.file_path==="string"?Z.file_path:String(Z?.file_path??""),W=Y.split(`
|
|
91
|
+
`).length,K=typeof X==="string"?X:"";return a1.jsxDEV(w,{flexDirection:"column",paddingX:1,children:[a1.jsxDEV(w,{children:[a1.jsxDEV(H,{color:"green",children:"Write "},void 0,!1,void 0,this),a1.jsxDEV(H,{dimColor:!0,children:"("},void 0,!1,void 0,this),a1.jsxDEV(q1,{path:J,rainbow:!0},void 0,!1,void 0,this),a1.jsxDEV(H,{dimColor:!0,children:")"},void 0,!1,void 0,this),a1.jsxDEV(H,{dimColor:!0,children:[" (",W," lines)"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),K&&K.startsWith("Error:")&&a1.jsxDEV(w,{marginTop:0,marginLeft:1,marginBottom:1,children:a1.jsxDEV(H,{color:"red",children:K},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}});var t$=B(V(),1),IW=m7.schema,x7=R$({name:"folder_operations",description:"Unified folder operations tool supporting create, list, delete, and existence check",parameters:IW.shape,render($){let Z=$.getInputRepaired(),X=$.output;if(!X)return t$.jsxDEV(t$.Fragment,{},void 0,!1,void 0,this);let Y=typeof X==="string"?X:String(X??""),J=typeof Z?.operation==="string"?Z.operation:String(Z?.operation??""),W=typeof Z?.folder_path==="string"?Z.folder_path:String(Z?.folder_path??""),Q={create:"green",list:"blue",exists:"yellow",delete:"red"}[J]??"cyan",G=Y.split(`
|
|
92
|
+
`).map((O,N)=>{if(O.match(/\d+ \w+|[\d-]+ [\d:]+/))return t$.jsxDEV(H,{dimColor:!0,children:O},N,!1,void 0,this);if(O.includes("✓")||O.includes("successfully")||O.includes("created")||O.includes("deleted"))return t$.jsxDEV(H,{color:"green",children:O},N,!1,void 0,this);if(O.includes("✗")||O.includes("Error")||O.includes("not found")||O.includes("failed"))return t$.jsxDEV(H,{color:"red",children:O},N,!1,void 0,this);if(O.startsWith("/")||O.includes("/:"))return t$.jsxDEV(H,{color:"cyan",children:O},N,!1,void 0,this);return t$.jsxDEV(H,{children:O},N,!1,void 0,this)});return t$.jsxDEV(w,{flexDirection:"column",paddingX:1,children:t$.jsxDEV(w,{children:[t$.jsxDEV(H,{bold:!0,color:Q,children:[J,"Folder"]},void 0,!0,void 0,this),t$.jsxDEV(H,{dimColor:!0,children:" ("},void 0,!1,void 0,this),t$.jsxDEV(q1,{path:W,rainbow:!0},void 0,!1,void 0,this),t$.jsxDEV(H,{dimColor:!0,children:")"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)}});var u$=B(V(),1),bW=j.object({}),u7=R$({name:"load_mcp_tools",description:`加载并查询所有可用的 MCP 工具列表。
|
|
50
93
|
|
|
51
94
|
返回:
|
|
52
95
|
- tools: MCP 工具列表,每个工具包含 name, description, schema
|
|
@@ -57,7 +100,7 @@ ${F.selected.join(`
|
|
|
57
100
|
- 获取工具的参数格式
|
|
58
101
|
- 检查 MCP 连接状态
|
|
59
102
|
|
|
60
|
-
重要:工具列表是动态的,建议在需要时调用此命令获取最新信息。`,parameters:
|
|
103
|
+
重要:工具列表是动态的,建议在需要时调用此命令获取最新信息。`,parameters:bW.shape,handler:k$.waitForUIDone,render($){let Z=$.output,X=typeof Z==="string"?Z:"",Y=null;try{Y=JSON.parse(X)}catch(Q){}let J=Array.isArray(Y?.tools)?Y.tools:[],W=Array.isArray(Y?.status?.servers)?Y.status.servers.filter((Q)=>typeof Q==="string"):[],K=typeof Y?.status?.toolCount==="number"?Y.status.toolCount:void 0;return u$.jsxDEV(w,{flexDirection:"column",children:[u$.jsxDEV(w,{children:u$.jsxDEV(H,{color:"blue",bold:!0,children:"load_mcp_tools"},void 0,!1,void 0,this)},void 0,!1,void 0,this),Y?.status&&u$.jsxDEV(w,{flexDirection:"column",marginTop:1,children:[u$.jsxDEV(H,{color:"green",children:"✓ MCP 已连接"},void 0,!1,void 0,this),W.length>0&&u$.jsxDEV(w,{marginLeft:2,children:u$.jsxDEV(H,{color:"gray",children:["服务器: ",W.join(", ")]},void 0,!0,void 0,this)},void 0,!1,void 0,this),K!==void 0&&u$.jsxDEV(w,{marginLeft:2,children:u$.jsxDEV(H,{color:"gray",children:["工具数量: ",K]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),J.length>0&&u$.jsxDEV(w,{flexDirection:"column",marginTop:1,children:[u$.jsxDEV(H,{color:"gray",dimColor:!0,children:["可用工具 (",J.length,"):"]},void 0,!0,void 0,this),J.slice(0,5).map((Q,z)=>{let G=typeof Q?.name==="string"?Q.name:String(Q?.name??""),O=typeof Q?.description==="string"?Q.description:"";return u$.jsxDEV(w,{marginLeft:2,children:[u$.jsxDEV(H,{color:"cyan",children:G},void 0,!1,void 0,this),O&&u$.jsxDEV(H,{color:"gray",dimColor:!0,children:[" ","- ",O.slice(0,50),O.length>50?"...":""]},void 0,!0,void 0,this)]},z,!0,void 0,this)}),J.length>5&&u$.jsxDEV(w,{marginLeft:2,children:u$.jsxDEV(H,{color:"gray",dimColor:!0,children:["... 还有 ",J.length-5," 个工具"]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),X&&u$.jsxDEV(q0,{content:X,maxLines:10,borderColor:"gray"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}});var Q1=B(V(),1),DW=j.object({commands:j.array(j.object({name:j.string().describe("MCP 工具名称"),args:j.record(j.string(),j.any()).describe("工具参数,JSON 对象格式")})).describe("要执行的 MCP 工具列表")}),c7=R$({name:"execute_mcp_tool",description:`执行一个或多个 MCP 工具。
|
|
61
104
|
|
|
62
105
|
使用格式:
|
|
63
106
|
- commands: MCP 工具数组,每个工具包含 name 和 args
|
|
@@ -69,112 +112,112 @@ ${F.selected.join(`
|
|
|
69
112
|
重要:
|
|
70
113
|
- 所有工具独立执行,失败不影响其他工具
|
|
71
114
|
- 返回结果按命令顺序排列
|
|
72
|
-
- 适合批量执行 MCP 相关操作`,parameters:s8.shape,handler:n.waitForUIDone,render($){let Z=$.getInputRepaired(),Y=$.output,J=typeof Y==="string"?Y:"",X=null;try{X=JSON.parse(J)}catch(Q){}let K=Array.isArray(Z?.commands)?Z.commands:[];return M1.jsxDEV(z,{flexDirection:"column",children:[M1.jsxDEV(z,{children:M1.jsxDEV(G,{color:"blue",bold:!0,children:"execute_mcp_tool"},void 0,!1,void 0,this)},void 0,!1,void 0,this),K.length>0&&M1.jsxDEV(z,{flexDirection:"column",marginTop:1,children:[M1.jsxDEV(G,{color:"gray",dimColor:!0,children:["执行 ",K.length," 个 MCP 工具:"]},void 0,!0,void 0,this),K.map((Q,W)=>{let _=Q&&typeof Q==="object"&&typeof Q.name==="string"?Q.name:String(Q?.name??"");return M1.jsxDEV(z,{marginLeft:2,children:[M1.jsxDEV(G,{color:"yellow",children:[W+1,"."]},void 0,!0,void 0,this),M1.jsxDEV(G,{color:"cyan",children:_},void 0,!1,void 0,this)]},W,!0,void 0,this)})]},void 0,!0,void 0,this),Array.isArray(X?.results)&&M1.jsxDEV(z,{flexDirection:"column",marginTop:1,children:X.results.map((Q,W)=>M1.jsxDEV(z,{marginLeft:2,children:Q?.error?M1.jsxDEV(G,{color:"red",children:["✗ ",typeof Q.tool==="string"?Q.tool:""]},void 0,!0,void 0,this):M1.jsxDEV(G,{color:"green",children:["✓ ",typeof Q.tool==="string"?Q.tool:""]},void 0,!0,void 0,this)},W,!1,void 0,this))},void 0,!1,void 0,this),J&&M1.jsxDEV(u0,{content:J,maxLines:10,borderColor:"gray"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}});var t1=A(M(),1);import{z as d0}from"zod";var t8=d0.object({task_id:d0.string().optional().describe("The task id to ask the subagent"),subagent_id:d0.string().describe("The id of subagent to use"),subagent_type:d0.string().describe("The type of subagent to use (general-purpose, statusline-setup, output-style-setup)"),task_description:d0.string().describe("Describe what you want the subagent to do"),data_transfer:d0.any().optional().describe("Data to transfer to the subagent")}),e8=({tool:$})=>{let Z=$.getInputRepaired(),Y=typeof Z?.subagent_id==="string"?Z.subagent_id:String(Z?.subagent_id??"");return t1.jsxDEV(z,{paddingX:1,flexDirection:"column",children:t1.jsxDEV(z,{children:[t1.jsxDEV(G,{color:"yellow",children:"Task "},void 0,!1,void 0,this),t1.jsxDEV(G,{dimColor:!0,children:"("},void 0,!1,void 0,this),t1.jsxDEV(G,{color:"cyan",children:Y},void 0,!1,void 0,this),t1.jsxDEV(G,{dimColor:!0,children:")"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)},$Y=({tool:$})=>{return t1.jsxDEV(z,{flexDirection:"column",children:t1.jsxDEV(e8,{tool:$},void 0,!1,void 0,this)},void 0,!1,void 0,this)},m4=l({name:"task",description:"Launch a subagent to handle complex tasks autonomously",parameters:t8.shape,handler:n.waitForUIDone,render($){return t1.jsxDEV($Y,{tool:$},void 0,!1,void 0,this)}});var c4=[b4,M4,v4,I4,y4,D4,V4,j4,E4,g4,p4,m4];var o=A(D(),1);var b=A(M(),1),ZY=({validation:$,onComplete:Z})=>{let{config:Y,updateConfig:J}=Z1(),[X,K]=o.useState("welcome"),[Q,W]=o.useState(!1),[_,O]=o.useState(null),[N,U]=o.useState(0),[F,L]=o.useState(null),q=o.useRef(!0),w=o.useRef([]),R=o.useRef(N),P=Y?.providers||[];o.useEffect(()=>{w.current=P},[P]),o.useEffect(()=>{R.current=N},[N]);let S=P[N],u=o.useCallback(()=>L(null),[]);B1(u,F?3000:null);let m=o.useCallback(()=>{q.current=!0,O(null),W(!0),L(null)},[]),t=o.useCallback(()=>{let I=w.current,j=R.current,x=I[j];if(!x)return;q.current=!1,O(x),W(!0),L(null)},[]),v=o.useCallback(()=>{W(!1),O(null),L(null)},[]),i=o.useCallback(async(I)=>{let j=w.current,x=q.current,A1=x?[...j,I]:j.map((F0)=>F0.id===I.id?I:F0);if(await J({providers:A1}),L(x?`已添加 Provider: ${I.id}`:`已更新 Provider: ${I.id}`),x){let F0=A1.findIndex((p$)=>p$.id===I.id);U(F0>=0?F0:0)}v()},[J,v]),r=o.useCallback(()=>{if(!S||!S.apiKey){L("请先配置 Provider 的 API Key");return}J({provider_id:S.id,provider_type:S.type}).then(()=>{K("model")})},[S,J]);if(y1((I,j)=>{if(j.return||I===" ")K("provider")},{isActive:X==="welcome"}),y1((I,j)=>{if(Q)return;if(j.upArrow)U((x)=>x>0?x-1:P.length-1);else if(j.downArrow)U((x)=>x<P.length-1?x+1:0);else if(I==="n"||I==="N")m();else if((I==="e"||I==="E"||j.return)&&S)t();else if(I==="s"||I==="S")r()},{isActive:X==="provider"}),X==="welcome")return b.jsxDEV(z,{flexDirection:"column",paddingX:2,paddingY:1,width:"100%",children:[b.jsxDEV(z,{marginBottom:1,children:b.jsxDEV(G,{bold:!0,color:"cyan",children:"欢迎使用 Zen Code"},void 0,!1,void 0,this)},void 0,!1,void 0,this),b.jsxDEV(z,{marginBottom:1,children:b.jsxDEV(G,{color:"yellow",children:$.reason||"需要进行初始配置"},void 0,!1,void 0,this)},void 0,!1,void 0,this),b.jsxDEV(z,{flexDirection:"column",marginBottom:1,children:[b.jsxDEV(G,{dimColor:!0,children:"接下来将引导你完成:"},void 0,!1,void 0,this),b.jsxDEV(G,{dimColor:!0,children:" 1. 配置 Provider(API 服务提供商)"},void 0,!1,void 0,this),b.jsxDEV(G,{dimColor:!0,children:" 2. 选择 Model(AI 模型)"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),b.jsxDEV(z,{children:b.jsxDEV(G,{color:"green",bold:!0,children:"按 Enter 开始配置"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this);if(X==="provider")return b.jsxDEV(z,{flexDirection:"column",width:"100%",children:[b.jsxDEV(z,{paddingX:2,paddingY:1,children:b.jsxDEV(G,{bold:!0,color:"cyan",children:"步骤 1/2: Provider 配置"},void 0,!1,void 0,this)},void 0,!1,void 0,this),Q?b.jsxDEV(x4,{provider:_||void 0,onCancel:v,onSave:i},void 0,!1,void 0,this):b.jsxDEV(b.Fragment,{children:b.jsxDEV(z,{flexDirection:"column",paddingX:2,gap:1,children:[P.length===0?b.jsxDEV(z,{paddingY:1,children:b.jsxDEV(G,{color:"yellow",children:"未配置任何 Provider,请按 'n' 新增"},void 0,!1,void 0,this)},void 0,!1,void 0,this):P.map((I,j)=>{let x=!!I.apiKey,A1=x?"green":"yellow";return b.jsxDEV(z,{marginBottom:0,gap:1,children:[b.jsxDEV(G,{color:j===N?"cyan":"gray",bold:j===N,children:j===N?">":" "},void 0,!1,void 0,this),b.jsxDEV(G,{bold:j===N,color:j===N?"cyan":void 0,children:I.id},void 0,!1,void 0,this),b.jsxDEV(G,{color:"gray",dimColor:j!==N,children:[" ",I.type]},void 0,!0,void 0,this),b.jsxDEV(G,{color:A1,dimColor:j!==N,children:[" ","[",x?"已配置":"未配置","]"]},void 0,!0,void 0,this)]},I.id,!0,void 0,this)}),b.jsxDEV(z,{marginTop:1,children:[b.jsxDEV(G,{color:"gray",dimColor:!0,children:[b.jsxDEV(G,{color:"cyan",children:"↑↓"},void 0,!1,void 0,this)," 导航 ",b.jsxDEV(G,{color:"cyan",children:"n"},void 0,!1,void 0,this)," 新增"," ",b.jsxDEV(G,{color:"cyan",children:"e/Enter"},void 0,!1,void 0,this)," 编辑"," "]},void 0,!0,void 0,this),P.some((I)=>I.apiKey)&&b.jsxDEV(G,{children:[b.jsxDEV(G,{color:"green",children:"s"},void 0,!1,void 0,this)," 下一步"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this),F&&b.jsxDEV(z,{paddingX:2,paddingY:0,children:b.jsxDEV(G,{color:"green",children:F},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this);if(X==="model")return b.jsxDEV(YY,{onComplete:Z,onBack:()=>K("provider")},void 0,!1,void 0,this);return null},YY=({onComplete:$,onBack:Z})=>{let{config:Y,updateConfig:J}=Z1(),[X,K]=o.useState(0),Q=o.useMemo(()=>{return Y?.providers.find((U)=>U.id===Y.provider_id)||null},[Y?.providers,Y?.provider_id]),{data:W=[],isLoading:_,error:O}=u4({provider:Q,enabled:!!Q?.apiKey}),N=W[X];if(y1((U,F)=>{if(F.upArrow)K((L)=>L>0?L-1:W.length-1);else if(F.downArrow)K((L)=>L<W.length-1?L+1:0);else if(F.escape||U==="b"||U==="B")Z();else if((F.return||U===" ")&&N)J({model_id:N.id}).then(()=>{$()})},{isActive:!_&&!O&&Y!==null}),_)return b.jsxDEV(z,{flexDirection:"column",paddingX:2,paddingY:1,children:[b.jsxDEV(G,{bold:!0,color:"cyan",children:"步骤 2/2: Model 选择"},void 0,!1,void 0,this),b.jsxDEV(z,{marginTop:1,children:b.jsxDEV(G,{color:"gray",children:"加载模型列表中..."},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this);if(O)return b.jsxDEV(z,{flexDirection:"column",paddingX:2,paddingY:1,children:[b.jsxDEV(G,{bold:!0,color:"cyan",children:"步骤 2/2: Model 选择"},void 0,!1,void 0,this),b.jsxDEV(z,{marginTop:1,children:b.jsxDEV(G,{color:"red",children:["加载失败: ",O.message]},void 0,!0,void 0,this)},void 0,!1,void 0,this),b.jsxDEV(z,{marginTop:1,children:b.jsxDEV(G,{color:"gray",dimColor:!0,children:["按 ",b.jsxDEV(G,{color:"cyan",children:"Esc"},void 0,!1,void 0,this)," 返回上一步"]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this);return b.jsxDEV(z,{flexDirection:"column",width:"100%",children:[b.jsxDEV(z,{paddingX:2,paddingY:1,children:[b.jsxDEV(G,{bold:!0,color:"cyan",children:"步骤 2/2: Model 选择"},void 0,!1,void 0,this),Q&&b.jsxDEV(G,{dimColor:!0,children:[" ","- ",Q.id," (",Q.type,")"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),b.jsxDEV(z,{flexDirection:"column",paddingX:2,gap:0,children:W.map((U,F)=>b.jsxDEV(z,{marginBottom:0,gap:1,children:[b.jsxDEV(G,{color:F===X?"cyan":"gray",bold:F===X,children:F===X?">":" "},void 0,!1,void 0,this),b.jsxDEV(G,{bold:F===X,color:F===X?"cyan":void 0,children:U.id},void 0,!1,void 0,this),U.name!==U.id&&b.jsxDEV(G,{dimColor:F!==X,children:["(",U.name,")"]},void 0,!0,void 0,this)]},U.id,!0,void 0,this))},void 0,!1,void 0,this),b.jsxDEV(z,{marginTop:1,paddingX:2,children:b.jsxDEV(G,{color:"gray",dimColor:!0,children:[b.jsxDEV(G,{color:"cyan",children:"↑↓"},void 0,!1,void 0,this)," 导航 ",b.jsxDEV(G,{color:"cyan",children:"Enter/Space"},void 0,!1,void 0,this)," 确认"," ",b.jsxDEV(G,{color:"cyan",children:"Esc/B"},void 0,!1,void 0,this)," 返回"]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},d4=ZY;var l0=A(M(),1),XY=({children:$})=>{let{extraParams:Z,toggleCompactMode:Y,config:J}=Z1(),{setTools:X,loading:K}=$1(),{hasPendingInteractions:Q}=k1();s6({tools:c4,setTools:X});let{needsSetup:W,validation:_}=$4({config:J});Y4({shouldFocus:!K});let O=X4(),{isChatView:N}=O,{handleExecuteTask:U}=J4({closePanel:O.closePanel});if(y1((L,q)=>{if(q.ctrl&&L==="o"&&N&&!K)Y();else if(q.ctrl&&L==="z"&&globalThis.Bun)import("v8").then((w)=>{w.writeHeapSnapshot("my-application.heapsnapshot")})},{isActive:N}),W&&_)return l0.jsxDEV(g,{name:"SetupWizard",fallback:null,children:l0.jsxDEV(d4,{validation:_,onComplete:O.closePanel},void 0,!1,void 0,this)},void 0,!1,void 0,this);let F={activeView:O.activeView,isChatView:O.isChatView,switchToHistory:O.switchToHistory,switchToKnowledge:O.switchToKnowledge,switchToSettings:O.switchToSettings,switchToModelProvider:O.switchToModelProvider,switchToAgent:O.switchToAgent,switchToTask:O.switchToTask,switchToMcp:O.switchToMcp,switchToProcess:O.switchToProcess,switchToErrors:O.switchToErrors,closePanel:O.closePanel,handleExecuteTask:U,hasPendingInteractions:Q};return l0.jsxDEV(g,{name:"ChatPanelContext",fallback:null,children:l0.jsxDEV(Q4,{value:F,children:$},void 0,!1,void 0,this)},void 0,!1,void 0,this)},l4=({children:$})=>{return l0.jsxDEV(XY,{children:$},void 0,!1,void 0,this)};var FZ=A(D(),1);var I$=A(D(),1);var W0=A(M(),1),JY=({content:$,messageNumber:Z})=>{let Y=q$(),J=()=>{if(typeof $==="string")return W0.jsxDEV(G,{color:"white",children:$},void 0,!1,void 0,this);if(Array.isArray($))return $.filter((X)=>X.type==="text").map((X,K)=>W0.jsxDEV(G,{color:"white",children:X.text},void 0,!1,void 0,this));return W0.jsxDEV(G,{color:"white",children:JSON.stringify($)},void 0,!1,void 0,this)};return W0.jsxDEV(z,{flexDirection:"column",children:[W0.jsxDEV(z,{children:W0.jsxDEV(G,{color:S0("amber"),children:[Z," ",Y]},void 0,!0,void 0,this)},void 0,!1,void 0,this),W0.jsxDEV(z,{children:W0.jsxDEV(G,{color:"gray",children:["└─ ",J()]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},w$=JY;var B=A(uY(),1);function Q6(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var T0=Q6();function t4($){T0=$}var X$={exec:()=>null};function E($,Z=""){let Y=typeof $=="string"?$:$.source,J={replace:(X,K)=>{let Q=typeof K=="string"?K:K.source;return Q=Q.replace(z1.caret,"$1"),Y=Y.replace(X,Q),J},getRegex:()=>new RegExp(Y,Z)};return J}var KY=(()=>{try{return!!new RegExp("(?<=1)(?<!1)")}catch{return!1}})(),z1={codeRemoveIndent:/^(?: {1,4}| {0,3}\t)/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceTabs:/^\t+/,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] /,listReplaceTask:/^\[[ xX]\] +/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,unescapeTest:/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:($)=>new RegExp(`^( {0,3}${$})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:($)=>new RegExp(`^ {0,${Math.min(3,$-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),hrRegex:($)=>new RegExp(`^ {0,${Math.min(3,$-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),fencesBeginRegex:($)=>new RegExp(`^ {0,${Math.min(3,$-1)}}(?:\`\`\`|~~~)`),headingBeginRegex:($)=>new RegExp(`^ {0,${Math.min(3,$-1)}}#`),htmlBeginRegex:($)=>new RegExp(`^ {0,${Math.min(3,$-1)}}<(?:[a-z].*>|!--)`,"i")},QY=/^(?:[ \t]*(?:\n|$))+/,WY=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,_Y=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,J$=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,GY=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,W6=/(?:[*+-]|\d{1,9}[.)])/,e4=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,$3=E(e4).replace(/bull/g,W6).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,"").getRegex(),OY=E(e4).replace(/bull/g,W6).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),_6=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,UY=/^[^\n]+/,G6=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,NY=E(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",G6).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),zY=E(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,W6).getRegex(),P$="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",O6=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,HY=E("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ \t]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ \t]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ \t]*)+\\n|$))","i").replace("comment",O6).replace("tag",P$).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),Z3=E(_6).replace("hr",J$).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",P$).getRegex(),FY=E(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",Z3).getRegex(),U6={blockquote:FY,code:WY,def:NY,fences:_Y,heading:GY,hr:J$,html:HY,lheading:$3,list:zY,newline:QY,paragraph:Z3,table:X$,text:UY},i4=E("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",J$).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3}\t)[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",P$).getRegex(),LY={...U6,lheading:OY,table:i4,paragraph:E(_6).replace("hr",J$).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",i4).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",P$).getRegex()},AY={...U6,html:E(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",O6).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:X$,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:E(_6).replace("hr",J$).replace("heading",` *#{1,6} *[^
|
|
73
|
-
]`).replace("lheading"
|
|
74
|
-
`).map((
|
|
75
|
-
`)}var
|
|
76
|
-
`)}}}fences($){let Z=this.rules.block.fences.exec($);if(Z){let
|
|
77
|
-
`)}}blockquote($){let Z=this.rules.block.blockquote.exec($);if(Z){let
|
|
115
|
+
- 适合批量执行 MCP 相关操作`,parameters:DW.shape,handler:k$.waitForUIDone,render($){let Z=$.getInputRepaired(),X=$.output,Y=typeof X==="string"?X:"",J=null;try{J=JSON.parse(Y)}catch(K){}let W=Array.isArray(Z?.commands)?Z.commands:[];return Q1.jsxDEV(w,{flexDirection:"column",children:[Q1.jsxDEV(w,{children:Q1.jsxDEV(H,{color:"blue",bold:!0,children:"execute_mcp_tool"},void 0,!1,void 0,this)},void 0,!1,void 0,this),W.length>0&&Q1.jsxDEV(w,{flexDirection:"column",marginTop:1,children:[Q1.jsxDEV(H,{color:"gray",dimColor:!0,children:["执行 ",W.length," 个 MCP 工具:"]},void 0,!0,void 0,this),W.map((K,Q)=>{let z=K&&typeof K==="object"&&typeof K.name==="string"?K.name:String(K?.name??"");return Q1.jsxDEV(w,{marginLeft:2,children:[Q1.jsxDEV(H,{color:"yellow",children:[Q+1,"."]},void 0,!0,void 0,this),Q1.jsxDEV(H,{color:"cyan",children:z},void 0,!1,void 0,this)]},Q,!0,void 0,this)})]},void 0,!0,void 0,this),Array.isArray(J?.results)&&Q1.jsxDEV(w,{flexDirection:"column",marginTop:1,children:J.results.map((K,Q)=>Q1.jsxDEV(w,{marginLeft:2,children:K?.error?Q1.jsxDEV(H,{color:"red",children:["✗ ",typeof K.tool==="string"?K.tool:""]},void 0,!0,void 0,this):Q1.jsxDEV(H,{color:"green",children:["✓ ",typeof K.tool==="string"?K.tool:""]},void 0,!0,void 0,this)},Q,!1,void 0,this))},void 0,!1,void 0,this),Y&&Q1.jsxDEV(q0,{content:Y,maxLines:10,borderColor:"gray"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}});var s1=B(V(),1),jW=j.object({task_id:j.string().optional().describe("The task id to ask the subagent"),subagent_id:j.string().describe("The id of subagent to use"),subagent_type:j.string().describe("The type of subagent to use (general-purpose, statusline-setup, output-style-setup)"),task_description:j.string().describe("Describe what you want the subagent to do"),data_transfer:j.any().optional().describe("Data to transfer to the subagent")}),yW=({tool:$})=>{let Z=$.getInputRepaired(),X=typeof Z?.subagent_id==="string"?Z.subagent_id:String(Z?.subagent_id??"");return s1.jsxDEV(w,{paddingX:1,flexDirection:"column",children:s1.jsxDEV(w,{children:[s1.jsxDEV(H,{color:"yellow",children:"Task "},void 0,!1,void 0,this),s1.jsxDEV(H,{dimColor:!0,children:"("},void 0,!1,void 0,this),s1.jsxDEV(H,{color:"cyan",children:X},void 0,!1,void 0,this),s1.jsxDEV(H,{dimColor:!0,children:")"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)},EW=({tool:$})=>{return s1.jsxDEV(w,{flexDirection:"column",children:s1.jsxDEV(yW,{tool:$},void 0,!1,void 0,this)},void 0,!1,void 0,this)},p7=R$({name:"task",description:"Launch a subagent to handle complex tasks autonomously",parameters:jW.shape,handler:k$.waitForUIDone,render($){return s1.jsxDEV(EW,{tool:$},void 0,!1,void 0,this)}});var d7=[L7,B7,D7,y7,v7,f7,h7,g7,x7,u7,c7,p7];var V$=B(Z$(),1);var E=B(V(),1),vW=({validation:$,onComplete:Z})=>{let{config:X,updateConfig:Y}=v$(),[J,W]=V$.useState("welcome"),[K,Q]=V$.useState(!1),[z,G]=V$.useState(null),[O,N]=V$.useState(0),[U,M]=V$.useState(null),A=V$.useRef(!0),F=V$.useRef([]),P=V$.useRef(O),S=X?.providers||[];V$.useEffect(()=>{F.current=S},[S]),V$.useEffect(()=>{P.current=O},[O]);let k=S[O],m=V$.useCallback(()=>M(null),[]);M1(m,U?3000:null);let h=V$.useCallback(()=>{A.current=!0,G(null),Q(!0),M(null)},[]),e=V$.useCallback(()=>{let v=F.current,n=P.current,J$=v[n];if(!J$)return;A.current=!1,G(J$),Q(!0),M(null)},[]),I=V$.useCallback(()=>{Q(!1),G(null),M(null)},[]),x=V$.useCallback(async(v)=>{let n=F.current,J$=A.current,g$=J$?[...n,v]:n.map((a$)=>a$.id===v.id?v:a$);if(await Y({providers:g$}),M(J$?`已添加 Provider: ${v.id}`:`已更新 Provider: ${v.id}`),J$){let a$=g$.findIndex((BZ)=>BZ.id===v.id);N(a$>=0?a$:0)}I()},[Y,I]),s=V$.useCallback(()=>{if(!k||!k.apiKey){M("请先配置 Provider 的 API Key");return}Y({provider_id:k.id,provider_type:k.type}).then(()=>{W("model")})},[k,Y]);if(T1((v,n)=>{if(n.return||v===" ")W("provider")},{isActive:J==="welcome"}),T1((v,n)=>{if(K)return;if(n.upArrow)N((J$)=>J$>0?J$-1:S.length-1);else if(n.downArrow)N((J$)=>J$<S.length-1?J$+1:0);else if(v==="n"||v==="N")h();else if((v==="e"||v==="E"||n.return)&&k)e();else if(v==="s"||v==="S")s()},{isActive:J==="provider"}),J==="welcome")return E.jsxDEV(w,{flexDirection:"column",paddingX:2,paddingY:1,width:"100%",children:[E.jsxDEV(w,{marginBottom:1,children:E.jsxDEV(H,{bold:!0,color:"cyan",children:"欢迎使用 Zen Code"},void 0,!1,void 0,this)},void 0,!1,void 0,this),E.jsxDEV(w,{marginBottom:1,children:E.jsxDEV(H,{color:"yellow",children:$.reason||"需要进行初始配置"},void 0,!1,void 0,this)},void 0,!1,void 0,this),E.jsxDEV(w,{flexDirection:"column",marginBottom:1,children:[E.jsxDEV(H,{dimColor:!0,children:"接下来将引导你完成:"},void 0,!1,void 0,this),E.jsxDEV(H,{dimColor:!0,children:" 1. 配置 Provider(API 服务提供商)"},void 0,!1,void 0,this),E.jsxDEV(H,{dimColor:!0,children:" 2. 选择 Model(AI 模型)"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),E.jsxDEV(w,{children:E.jsxDEV(H,{color:"green",bold:!0,children:"按 Enter 开始配置"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this);if(J==="provider")return E.jsxDEV(w,{flexDirection:"column",width:"100%",children:[E.jsxDEV(w,{paddingX:2,paddingY:1,children:E.jsxDEV(H,{bold:!0,color:"cyan",children:"步骤 1/2: Provider 配置"},void 0,!1,void 0,this)},void 0,!1,void 0,this),K?E.jsxDEV(i7,{provider:z||void 0,onCancel:I,onSave:x},void 0,!1,void 0,this):E.jsxDEV(E.Fragment,{children:E.jsxDEV(w,{flexDirection:"column",paddingX:2,gap:1,children:[S.length===0?E.jsxDEV(w,{paddingY:1,children:E.jsxDEV(H,{color:"yellow",children:"未配置任何 Provider,请按 'n' 新增"},void 0,!1,void 0,this)},void 0,!1,void 0,this):S.map((v,n)=>{let J$=!!v.apiKey,g$=J$?"green":"yellow";return E.jsxDEV(w,{marginBottom:0,gap:1,children:[E.jsxDEV(H,{color:n===O?"cyan":"gray",bold:n===O,children:n===O?">":" "},void 0,!1,void 0,this),E.jsxDEV(H,{bold:n===O,color:n===O?"cyan":void 0,children:v.id},void 0,!1,void 0,this),E.jsxDEV(H,{color:"gray",dimColor:n!==O,children:[" ",v.type]},void 0,!0,void 0,this),E.jsxDEV(H,{color:g$,dimColor:n!==O,children:[" ","[",J$?"已配置":"未配置","]"]},void 0,!0,void 0,this)]},v.id,!0,void 0,this)}),E.jsxDEV(w,{marginTop:1,children:[E.jsxDEV(H,{color:"gray",dimColor:!0,children:[E.jsxDEV(H,{color:"cyan",children:"↑↓"},void 0,!1,void 0,this)," 导航 ",E.jsxDEV(H,{color:"cyan",children:"n"},void 0,!1,void 0,this)," 新增"," ",E.jsxDEV(H,{color:"cyan",children:"e/Enter"},void 0,!1,void 0,this)," 编辑"," "]},void 0,!0,void 0,this),S.some((v)=>v.apiKey)&&E.jsxDEV(H,{children:[E.jsxDEV(H,{color:"green",children:"s"},void 0,!1,void 0,this)," 下一步"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this),U&&E.jsxDEV(w,{paddingX:2,paddingY:0,children:E.jsxDEV(H,{color:"green",children:U},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this);if(J==="model")return E.jsxDEV(_W,{onComplete:Z,onBack:()=>W("provider")},void 0,!1,void 0,this);return null},_W=({onComplete:$,onBack:Z})=>{let{config:X,updateConfig:Y}=v$(),[J,W]=V$.useState(0),K=V$.useMemo(()=>{return X?.providers.find((N)=>N.id===X.provider_id)||null},[X?.providers,X?.provider_id]),{data:Q=[],isLoading:z,error:G}=l7({provider:K,enabled:!!K?.apiKey}),O=Q[J];if(T1((N,U)=>{if(U.upArrow)W((M)=>M>0?M-1:Q.length-1);else if(U.downArrow)W((M)=>M<Q.length-1?M+1:0);else if(U.escape||N==="b"||N==="B")Z();else if((U.return||N===" ")&&O)Y({model_id:O.id}).then(()=>{$()})},{isActive:!z&&!G&&X!==null}),z)return E.jsxDEV(w,{flexDirection:"column",paddingX:2,paddingY:1,children:[E.jsxDEV(H,{bold:!0,color:"cyan",children:"步骤 2/2: Model 选择"},void 0,!1,void 0,this),E.jsxDEV(w,{marginTop:1,children:E.jsxDEV(H,{color:"gray",children:"加载模型列表中..."},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this);if(G)return E.jsxDEV(w,{flexDirection:"column",paddingX:2,paddingY:1,children:[E.jsxDEV(H,{bold:!0,color:"cyan",children:"步骤 2/2: Model 选择"},void 0,!1,void 0,this),E.jsxDEV(w,{marginTop:1,children:E.jsxDEV(H,{color:"red",children:["加载失败: ",G.message]},void 0,!0,void 0,this)},void 0,!1,void 0,this),E.jsxDEV(w,{marginTop:1,children:E.jsxDEV(H,{color:"gray",dimColor:!0,children:["按 ",E.jsxDEV(H,{color:"cyan",children:"Esc"},void 0,!1,void 0,this)," 返回上一步"]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this);return E.jsxDEV(w,{flexDirection:"column",width:"100%",children:[E.jsxDEV(w,{paddingX:2,paddingY:1,children:[E.jsxDEV(H,{bold:!0,color:"cyan",children:"步骤 2/2: Model 选择"},void 0,!1,void 0,this),K&&E.jsxDEV(H,{dimColor:!0,children:[" ","- ",K.id," (",K.type,")"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),E.jsxDEV(w,{flexDirection:"column",paddingX:2,gap:0,children:Q.map((N,U)=>E.jsxDEV(w,{marginBottom:0,gap:1,children:[E.jsxDEV(H,{color:U===J?"cyan":"gray",bold:U===J,children:U===J?">":" "},void 0,!1,void 0,this),E.jsxDEV(H,{bold:U===J,color:U===J?"cyan":void 0,children:N.id},void 0,!1,void 0,this),N.name!==N.id&&E.jsxDEV(H,{dimColor:U!==J,children:["(",N.name,")"]},void 0,!0,void 0,this)]},N.id,!0,void 0,this))},void 0,!1,void 0,this),E.jsxDEV(w,{marginTop:1,paddingX:2,children:E.jsxDEV(H,{color:"gray",dimColor:!0,children:[E.jsxDEV(H,{color:"cyan",children:"↑↓"},void 0,!1,void 0,this)," 导航 ",E.jsxDEV(H,{color:"cyan",children:"Enter/Space"},void 0,!1,void 0,this)," 确认"," ",E.jsxDEV(H,{color:"cyan",children:"Esc/B"},void 0,!1,void 0,this)," 返回"]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},o7=vW;var C0=B(V(),1),fW=({children:$})=>{let{extraParams:Z,toggleCompactMode:X,config:Y}=v$(),{setTools:J,loading:W}=E$(),{hasPendingInteractions:K}=R1();s6({tools:d7,setTools:J});let{needsSetup:Q,validation:z}=$7({config:Y});X7({shouldFocus:!W});let G=Y7(),{isChatView:O}=G,{handleExecuteTask:N}=J7({closePanel:G.closePanel});if(T1((M,A)=>{if(A.ctrl&&M==="o"&&O&&!W)X();else if(A.ctrl&&M==="z"&&globalThis.Bun)import("v8").then((F)=>{F.writeHeapSnapshot("my-application.heapsnapshot")})},{isActive:O}),Q&&z)return C0.jsxDEV(H$,{name:"SetupWizard",fallback:null,children:C0.jsxDEV(o7,{validation:z,onComplete:G.closePanel},void 0,!1,void 0,this)},void 0,!1,void 0,this);let U={activeView:G.activeView,isChatView:G.isChatView,switchToHistory:G.switchToHistory,switchToKnowledge:G.switchToKnowledge,switchToSettings:G.switchToSettings,switchToModelProvider:G.switchToModelProvider,switchToAgent:G.switchToAgent,switchToTask:G.switchToTask,switchToMcp:G.switchToMcp,switchToProcess:G.switchToProcess,switchToErrors:G.switchToErrors,closePanel:G.closePanel,handleExecuteTask:N,hasPendingInteractions:K};return C0.jsxDEV(H$,{name:"ChatPanelContext",fallback:null,children:C0.jsxDEV(K7,{value:U,children:$},void 0,!1,void 0,this)},void 0,!1,void 0,this)},n7=({children:$})=>{return C0.jsxDEV(fW,{children:$},void 0,!1,void 0,this)};var C9=B(Z$(),1);var UX=B(Z$(),1);var NZ=B(V(),1),hW=({content:$,messageNumber:Z})=>{let X=XX(),Y=()=>{if(typeof $==="string")return NZ.jsxDEV(H,{color:"white",children:$},void 0,!1,void 0,this);if(Array.isArray($))return $.filter((J)=>J.type==="text").map((J,W)=>NZ.jsxDEV(H,{color:"white",children:J.text},void 0,!1,void 0,this));return NZ.jsxDEV(H,{color:"white",children:JSON.stringify($)},void 0,!1,void 0,this)};return NZ.jsxDEV(w,{flexDirection:"column",children:[NZ.jsxDEV(w,{children:NZ.jsxDEV(H,{color:aZ("amber"),children:[Z," ",X]},void 0,!0,void 0,this)},void 0,!1,void 0,this),NZ.jsxDEV(w,{children:NZ.jsxDEV(H,{color:"gray",children:["└─ ",Y()]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},YX=hW;var f=B(PK(),1);function q8(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var tZ=q8();function Z5($){tZ=$}var q4={exec:()=>null};function z$($,Z=""){let X=typeof $=="string"?$:$.source,Y={replace:(J,W)=>{let K=typeof W=="string"?W:W.source;return K=K.replace(e$.caret,"$1"),X=X.replace(J,K),Y},getRegex:()=>new RegExp(X,Z)};return Y}var gW=(()=>{try{return!!new RegExp("(?<=1)(?<!1)")}catch{return!1}})(),e$={codeRemoveIndent:/^(?: {1,4}| {0,3}\t)/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceTabs:/^\t+/,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] /,listReplaceTask:/^\[[ xX]\] +/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,unescapeTest:/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:($)=>new RegExp(`^( {0,3}${$})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:($)=>new RegExp(`^ {0,${Math.min(3,$-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),hrRegex:($)=>new RegExp(`^ {0,${Math.min(3,$-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),fencesBeginRegex:($)=>new RegExp(`^ {0,${Math.min(3,$-1)}}(?:\`\`\`|~~~)`),headingBeginRegex:($)=>new RegExp(`^ {0,${Math.min(3,$-1)}}#`),htmlBeginRegex:($)=>new RegExp(`^ {0,${Math.min(3,$-1)}}<(?:[a-z].*>|!--)`,"i")},mW=/^(?:[ \t]*(?:\n|$))+/,xW=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,uW=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,A4=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,cW=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,A8=/(?:[*+-]|\d{1,9}[.)])/,X5=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,Y5=z$(X5).replace(/bull/g,A8).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,"").getRegex(),pW=z$(X5).replace(/bull/g,A8).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),F8=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,dW=/^[^\n]+/,C8=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,lW=z$(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",C8).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),iW=z$(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,A8).getRegex(),zX="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",B8=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,oW=z$("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ \t]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ \t]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ \t]*)+\\n|$))","i").replace("comment",B8).replace("tag",zX).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),J5=z$(F8).replace("hr",A4).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",zX).getRegex(),nW=z$(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",J5).getRegex(),P8={blockquote:nW,code:xW,def:lW,fences:uW,heading:cW,hr:A4,html:oW,lheading:Y5,list:iW,newline:mW,paragraph:J5,table:q4,text:dW},r7=z$("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",A4).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3}\t)[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",zX).getRegex(),rW={...P8,lheading:pW,table:r7,paragraph:z$(F8).replace("hr",A4).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",r7).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",zX).getRegex()},aW={...P8,html:z$(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",B8).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:q4,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:z$(F8).replace("hr",A4).replace("heading",` *#{1,6} *[^
|
|
116
|
+
]`).replace("lheading",Y5).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},sW=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,tW=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,W5=/^( {2,}|\\)\n(?!\s*$)/,eW=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,GX=/[\p{P}\p{S}]/u,L8=/[\s\p{P}\p{S}]/u,K5=/[^\s\p{P}\p{S}]/u,$K=z$(/^((?![*_])punctSpace)/,"u").replace(/punctSpace/g,L8).getRegex(),Q5=/(?!~)[\p{P}\p{S}]/u,ZK=/(?!~)[\s\p{P}\p{S}]/u,XK=/(?:[^\s\p{P}\p{S}]|~)/u,YK=z$(/link|precode-code|html/,"g").replace("link",/\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-",gW?"(?<!`)()":"(^^|[^`])").replace("code",/(?<b>`+)[^`]+\k<b>(?!`)/).replace("html",/<(?! )[^<>]*?>/).getRegex(),z5=/^(?:\*+(?:((?!\*)punct)|[^\s*]))|^_+(?:((?!_)punct)|([^\s_]))/,JK=z$(z5,"u").replace(/punct/g,GX).getRegex(),WK=z$(z5,"u").replace(/punct/g,Q5).getRegex(),G5="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",KK=z$(G5,"gu").replace(/notPunctSpace/g,K5).replace(/punctSpace/g,L8).replace(/punct/g,GX).getRegex(),QK=z$(G5,"gu").replace(/notPunctSpace/g,XK).replace(/punctSpace/g,ZK).replace(/punct/g,Q5).getRegex(),zK=z$("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,K5).replace(/punctSpace/g,L8).replace(/punct/g,GX).getRegex(),GK=z$(/\\(punct)/,"gu").replace(/punct/g,GX).getRegex(),OK=z$(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),HK=z$(B8).replace("(?:-->|$)","-->").getRegex(),NK=z$("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment",HK).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),WX=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+[^`]*?`+(?!`)|[^\[\]\\`])*?/,UK=z$(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]*(?:\n[ \t]*)?)(title))?\s*\)/).replace("label",WX).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),O5=z$(/^!?\[(label)\]\[(ref)\]/).replace("label",WX).replace("ref",C8).getRegex(),H5=z$(/^!?\[(ref)\](?:\[\])?/).replace("ref",C8).getRegex(),wK=z$("reflink|nolink(?!\\()","g").replace("reflink",O5).replace("nolink",H5).getRegex(),a7=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,R8={_backpedal:q4,anyPunctuation:GK,autolink:OK,blockSkip:YK,br:W5,code:tW,del:q4,emStrongLDelim:JK,emStrongRDelimAst:KK,emStrongRDelimUnd:zK,escape:sW,link:UK,nolink:H5,punctuation:$K,reflink:O5,reflinkSearch:wK,tag:NK,text:eW,url:q4},MK={...R8,link:z$(/^!?\[(label)\]\((.*?)\)/).replace("label",WX).getRegex(),reflink:z$(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",WX).getRegex()},M8={...R8,emStrongRDelimAst:QK,emStrongLDelim:WK,url:z$(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol",a7).replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\[\s\S]|[^\\])*?(?:\\[\s\S]|[^\s~\\]))\1(?=[^~]|$)/,text:z$(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace("protocol",a7).getRegex()},qK={...M8,br:z$(W5).replace("{2,}","*").getRegex(),text:z$(M8.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},JX={normal:P8,gfm:rW,pedantic:aW},U4={normal:R8,gfm:M8,breaks:qK,pedantic:MK},AK={"&":"&","<":"<",">":">",'"':""","'":"'"},s7=($)=>AK[$];function t1($,Z){if(Z){if(e$.escapeTest.test($))return $.replace(e$.escapeReplace,s7)}else if(e$.escapeTestNoEncode.test($))return $.replace(e$.escapeReplaceNoEncode,s7);return $}function t7($){try{$=encodeURI($).replace(e$.percentDecode,"%")}catch{return null}return $}function e7($,Z){let X=$.replace(e$.findPipe,(W,K,Q)=>{let z=!1,G=K;for(;--G>=0&&Q[G]==="\\";)z=!z;return z?"|":" |"}),Y=X.split(e$.splitPipe),J=0;if(Y[0].trim()||Y.shift(),Y.length>0&&!Y.at(-1)?.trim()&&Y.pop(),Z)if(Y.length>Z)Y.splice(Z);else for(;Y.length<Z;)Y.push("");for(;J<Y.length;J++)Y[J]=Y[J].trim().replace(e$.slashPipe,"|");return Y}function w4($,Z,X){let Y=$.length;if(Y===0)return"";let J=0;for(;J<Y;){let W=$.charAt(Y-J-1);if(W===Z&&!X)J++;else if(W!==Z&&X)J++;else break}return $.slice(0,Y-J)}function FK($,Z){if($.indexOf(Z[1])===-1)return-1;let X=0;for(let Y=0;Y<$.length;Y++)if($[Y]==="\\")Y++;else if($[Y]===Z[0])X++;else if($[Y]===Z[1]&&(X--,X<0))return Y;return X>0?-2:-1}function $5($,Z,X,Y,J){let W=Z.href,K=Z.title||null,Q=$[1].replace(J.other.outputLinkReplace,"$1");Y.state.inLink=!0;let z={type:$[0].charAt(0)==="!"?"image":"link",raw:X,href:W,title:K,text:Q,tokens:Y.inlineTokens(Q)};return Y.state.inLink=!1,z}function CK($,Z,X){let Y=$.match(X.other.indentCodeCompensation);if(Y===null)return Z;let J=Y[1];return Z.split(`
|
|
117
|
+
`).map((W)=>{let K=W.match(X.other.beginningSpace);if(K===null)return W;let[Q]=K;return Q.length>=J.length?W.slice(J.length):W}).join(`
|
|
118
|
+
`)}var KX=class{options;rules;lexer;constructor($){this.options=$||tZ}space($){let Z=this.rules.block.newline.exec($);if(Z&&Z[0].length>0)return{type:"space",raw:Z[0]}}code($){let Z=this.rules.block.code.exec($);if(Z){let X=Z[0].replace(this.rules.other.codeRemoveIndent,"");return{type:"code",raw:Z[0],codeBlockStyle:"indented",text:this.options.pedantic?X:w4(X,`
|
|
119
|
+
`)}}}fences($){let Z=this.rules.block.fences.exec($);if(Z){let X=Z[0],Y=CK(X,Z[3]||"",this.rules);return{type:"code",raw:X,lang:Z[2]?Z[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):Z[2],text:Y}}}heading($){let Z=this.rules.block.heading.exec($);if(Z){let X=Z[2].trim();if(this.rules.other.endingHash.test(X)){let Y=w4(X,"#");(this.options.pedantic||!Y||this.rules.other.endingSpaceChar.test(Y))&&(X=Y.trim())}return{type:"heading",raw:Z[0],depth:Z[1].length,text:X,tokens:this.lexer.inline(X)}}}hr($){let Z=this.rules.block.hr.exec($);if(Z)return{type:"hr",raw:w4(Z[0],`
|
|
120
|
+
`)}}blockquote($){let Z=this.rules.block.blockquote.exec($);if(Z){let X=w4(Z[0],`
|
|
78
121
|
`).split(`
|
|
79
|
-
`),
|
|
80
|
-
`),
|
|
81
|
-
$1`).replace(this.rules.other.blockquoteSetextReplace2,"");
|
|
82
|
-
${
|
|
83
|
-
${
|
|
84
|
-
`+
|
|
85
|
-
`),
|
|
86
|
-
`+
|
|
87
|
-
`),
|
|
88
|
-
`);continue}}return{type:"blockquote",raw:
|
|
89
|
-
`,1)[0].replace(this.rules.other.listReplaceTabs,(
|
|
90
|
-
`,1)[0],
|
|
91
|
-
`,$=$.substring(
|
|
92
|
-
`,1)[0],
|
|
93
|
-
`+
|
|
94
|
-
`+
|
|
95
|
-
`,$=$.substring(
|
|
96
|
-
`):[],
|
|
97
|
-
`?Z[1].slice(0,-1):Z[1];return{type:"paragraph",raw:Z[0],text:
|
|
98
|
-
`),this.blockTokens(Z,this.tokens);for(let
|
|
99
|
-
`:
|
|
122
|
+
`),Y="",J="",W=[];for(;X.length>0;){let K=!1,Q=[],z;for(z=0;z<X.length;z++)if(this.rules.other.blockquoteStart.test(X[z]))Q.push(X[z]),K=!0;else if(!K)Q.push(X[z]);else break;X=X.slice(z);let G=Q.join(`
|
|
123
|
+
`),O=G.replace(this.rules.other.blockquoteSetextReplace,`
|
|
124
|
+
$1`).replace(this.rules.other.blockquoteSetextReplace2,"");Y=Y?`${Y}
|
|
125
|
+
${G}`:G,J=J?`${J}
|
|
126
|
+
${O}`:O;let N=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTokens(O,W,!0),this.lexer.state.top=N,X.length===0)break;let U=W.at(-1);if(U?.type==="code")break;if(U?.type==="blockquote"){let M=U,A=M.raw+`
|
|
127
|
+
`+X.join(`
|
|
128
|
+
`),F=this.blockquote(A);W[W.length-1]=F,Y=Y.substring(0,Y.length-M.raw.length)+F.raw,J=J.substring(0,J.length-M.text.length)+F.text;break}else if(U?.type==="list"){let M=U,A=M.raw+`
|
|
129
|
+
`+X.join(`
|
|
130
|
+
`),F=this.list(A);W[W.length-1]=F,Y=Y.substring(0,Y.length-U.raw.length)+F.raw,J=J.substring(0,J.length-M.raw.length)+F.raw,X=A.substring(W.at(-1).raw.length).split(`
|
|
131
|
+
`);continue}}return{type:"blockquote",raw:Y,tokens:W,text:J}}}list($){let Z=this.rules.block.list.exec($);if(Z){let X=Z[1].trim(),Y=X.length>1,J={type:"list",raw:"",ordered:Y,start:Y?+X.slice(0,-1):"",loose:!1,items:[]};X=Y?`\\d{1,9}\\${X.slice(-1)}`:`\\${X}`,this.options.pedantic&&(X=Y?X:"[*+-]");let W=this.rules.other.listItemRegex(X),K=!1;for(;$;){let z=!1,G="",O="";if(!(Z=W.exec($))||this.rules.block.hr.test($))break;G=Z[0],$=$.substring(G.length);let N=Z[2].split(`
|
|
132
|
+
`,1)[0].replace(this.rules.other.listReplaceTabs,(S)=>" ".repeat(3*S.length)),U=$.split(`
|
|
133
|
+
`,1)[0],M=!N.trim(),A=0;if(this.options.pedantic?(A=2,O=N.trimStart()):M?A=Z[1].length+1:(A=Z[2].search(this.rules.other.nonSpaceChar),A=A>4?1:A,O=N.slice(A),A+=Z[1].length),M&&this.rules.other.blankLine.test(U)&&(G+=U+`
|
|
134
|
+
`,$=$.substring(U.length+1),z=!0),!z){let S=this.rules.other.nextBulletRegex(A),k=this.rules.other.hrRegex(A),m=this.rules.other.fencesBeginRegex(A),h=this.rules.other.headingBeginRegex(A),e=this.rules.other.htmlBeginRegex(A);for(;$;){let I=$.split(`
|
|
135
|
+
`,1)[0],x;if(U=I,this.options.pedantic?(U=U.replace(this.rules.other.listReplaceNesting," "),x=U):x=U.replace(this.rules.other.tabCharGlobal," "),m.test(U)||h.test(U)||e.test(U)||S.test(U)||k.test(U))break;if(x.search(this.rules.other.nonSpaceChar)>=A||!U.trim())O+=`
|
|
136
|
+
`+x.slice(A);else{if(M||N.replace(this.rules.other.tabCharGlobal," ").search(this.rules.other.nonSpaceChar)>=4||m.test(N)||h.test(N)||k.test(N))break;O+=`
|
|
137
|
+
`+U}!M&&!U.trim()&&(M=!0),G+=I+`
|
|
138
|
+
`,$=$.substring(I.length+1),N=x.slice(A)}}J.loose||(K?J.loose=!0:this.rules.other.doubleBlankLine.test(G)&&(K=!0));let F=null,P;this.options.gfm&&(F=this.rules.other.listIsTask.exec(O),F&&(P=F[0]!=="[ ] ",O=O.replace(this.rules.other.listReplaceTask,""))),J.items.push({type:"list_item",raw:G,task:!!F,checked:P,loose:!1,text:O,tokens:[]}),J.raw+=G}let Q=J.items.at(-1);if(Q)Q.raw=Q.raw.trimEnd(),Q.text=Q.text.trimEnd();else return;J.raw=J.raw.trimEnd();for(let z=0;z<J.items.length;z++)if(this.lexer.state.top=!1,J.items[z].tokens=this.lexer.blockTokens(J.items[z].text,[]),!J.loose){let G=J.items[z].tokens.filter((N)=>N.type==="space"),O=G.length>0&&G.some((N)=>this.rules.other.anyLine.test(N.raw));J.loose=O}if(J.loose)for(let z=0;z<J.items.length;z++)J.items[z].loose=!0;return J}}html($){let Z=this.rules.block.html.exec($);if(Z)return{type:"html",block:!0,raw:Z[0],pre:Z[1]==="pre"||Z[1]==="script"||Z[1]==="style",text:Z[0]}}def($){let Z=this.rules.block.def.exec($);if(Z){let X=Z[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal," "),Y=Z[2]?Z[2].replace(this.rules.other.hrefBrackets,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",J=Z[3]?Z[3].substring(1,Z[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):Z[3];return{type:"def",tag:X,raw:Z[0],href:Y,title:J}}}table($){let Z=this.rules.block.table.exec($);if(!Z||!this.rules.other.tableDelimiter.test(Z[2]))return;let X=e7(Z[1]),Y=Z[2].replace(this.rules.other.tableAlignChars,"").split("|"),J=Z[3]?.trim()?Z[3].replace(this.rules.other.tableRowBlankLine,"").split(`
|
|
139
|
+
`):[],W={type:"table",raw:Z[0],header:[],align:[],rows:[]};if(X.length===Y.length){for(let K of Y)this.rules.other.tableAlignRight.test(K)?W.align.push("right"):this.rules.other.tableAlignCenter.test(K)?W.align.push("center"):this.rules.other.tableAlignLeft.test(K)?W.align.push("left"):W.align.push(null);for(let K=0;K<X.length;K++)W.header.push({text:X[K],tokens:this.lexer.inline(X[K]),header:!0,align:W.align[K]});for(let K of J)W.rows.push(e7(K,W.header.length).map((Q,z)=>({text:Q,tokens:this.lexer.inline(Q),header:!1,align:W.align[z]})));return W}}lheading($){let Z=this.rules.block.lheading.exec($);if(Z)return{type:"heading",raw:Z[0],depth:Z[2].charAt(0)==="="?1:2,text:Z[1],tokens:this.lexer.inline(Z[1])}}paragraph($){let Z=this.rules.block.paragraph.exec($);if(Z){let X=Z[1].charAt(Z[1].length-1)===`
|
|
140
|
+
`?Z[1].slice(0,-1):Z[1];return{type:"paragraph",raw:Z[0],text:X,tokens:this.lexer.inline(X)}}}text($){let Z=this.rules.block.text.exec($);if(Z)return{type:"text",raw:Z[0],text:Z[0],tokens:this.lexer.inline(Z[0])}}escape($){let Z=this.rules.inline.escape.exec($);if(Z)return{type:"escape",raw:Z[0],text:Z[1]}}tag($){let Z=this.rules.inline.tag.exec($);if(Z)return!this.lexer.state.inLink&&this.rules.other.startATag.test(Z[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(Z[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(Z[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(Z[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:Z[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:Z[0]}}link($){let Z=this.rules.inline.link.exec($);if(Z){let X=Z[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(X)){if(!this.rules.other.endAngleBracket.test(X))return;let W=w4(X.slice(0,-1),"\\");if((X.length-W.length)%2===0)return}else{let W=FK(Z[2],"()");if(W===-2)return;if(W>-1){let K=(Z[0].indexOf("!")===0?5:4)+Z[1].length+W;Z[2]=Z[2].substring(0,W),Z[0]=Z[0].substring(0,K).trim(),Z[3]=""}}let Y=Z[2],J="";if(this.options.pedantic){let W=this.rules.other.pedanticHrefTitle.exec(Y);W&&(Y=W[1],J=W[3])}else J=Z[3]?Z[3].slice(1,-1):"";return Y=Y.trim(),this.rules.other.startAngleBracket.test(Y)&&(this.options.pedantic&&!this.rules.other.endAngleBracket.test(X)?Y=Y.slice(1):Y=Y.slice(1,-1)),$5(Z,{href:Y&&Y.replace(this.rules.inline.anyPunctuation,"$1"),title:J&&J.replace(this.rules.inline.anyPunctuation,"$1")},Z[0],this.lexer,this.rules)}}reflink($,Z){let X;if((X=this.rules.inline.reflink.exec($))||(X=this.rules.inline.nolink.exec($))){let Y=(X[2]||X[1]).replace(this.rules.other.multipleSpaceGlobal," "),J=Z[Y.toLowerCase()];if(!J){let W=X[0].charAt(0);return{type:"text",raw:W,text:W}}return $5(X,J,X[0],this.lexer,this.rules)}}emStrong($,Z,X=""){let Y=this.rules.inline.emStrongLDelim.exec($);if(!Y||Y[3]&&X.match(this.rules.other.unicodeAlphaNumeric))return;if(!(Y[1]||Y[2])||!X||this.rules.inline.punctuation.exec(X)){let J=[...Y[0]].length-1,W,K,Q=J,z=0,G=Y[0][0]==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(G.lastIndex=0,Z=Z.slice(-1*$.length+J);(Y=G.exec(Z))!=null;){if(W=Y[1]||Y[2]||Y[3]||Y[4]||Y[5]||Y[6],!W)continue;if(K=[...W].length,Y[3]||Y[4]){Q+=K;continue}else if((Y[5]||Y[6])&&J%3&&!((J+K)%3)){z+=K;continue}if(Q-=K,Q>0)continue;K=Math.min(K,K+Q+z);let O=[...Y[0]][0].length,N=$.slice(0,J+Y.index+O+K);if(Math.min(J,K)%2){let M=N.slice(1,-1);return{type:"em",raw:N,text:M,tokens:this.lexer.inlineTokens(M)}}let U=N.slice(2,-2);return{type:"strong",raw:N,text:U,tokens:this.lexer.inlineTokens(U)}}}}codespan($){let Z=this.rules.inline.code.exec($);if(Z){let X=Z[2].replace(this.rules.other.newLineCharGlobal," "),Y=this.rules.other.nonSpaceChar.test(X),J=this.rules.other.startingSpaceChar.test(X)&&this.rules.other.endingSpaceChar.test(X);return Y&&J&&(X=X.substring(1,X.length-1)),{type:"codespan",raw:Z[0],text:X}}}br($){let Z=this.rules.inline.br.exec($);if(Z)return{type:"br",raw:Z[0]}}del($){let Z=this.rules.inline.del.exec($);if(Z)return{type:"del",raw:Z[0],text:Z[2],tokens:this.lexer.inlineTokens(Z[2])}}autolink($){let Z=this.rules.inline.autolink.exec($);if(Z){let X,Y;return Z[2]==="@"?(X=Z[1],Y="mailto:"+X):(X=Z[1],Y=X),{type:"link",raw:Z[0],text:X,href:Y,tokens:[{type:"text",raw:X,text:X}]}}}url($){let Z;if(Z=this.rules.inline.url.exec($)){let X,Y;if(Z[2]==="@")X=Z[0],Y="mailto:"+X;else{let J;do J=Z[0],Z[0]=this.rules.inline._backpedal.exec(Z[0])?.[0]??"";while(J!==Z[0]);X=Z[0],Z[1]==="www."?Y="http://"+Z[0]:Y=Z[0]}return{type:"link",raw:Z[0],text:X,href:Y,tokens:[{type:"text",raw:X,text:X}]}}}inlineText($){let Z=this.rules.inline.text.exec($);if(Z){let X=this.lexer.state.inRawBlock;return{type:"text",raw:Z[0],text:Z[0],escaped:X}}}},h1=class ${tokens;options;state;tokenizer;inlineQueue;constructor(Z){this.tokens=[],this.tokens.links=Object.create(null),this.options=Z||tZ,this.options.tokenizer=this.options.tokenizer||new KX,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};let X={other:e$,block:JX.normal,inline:U4.normal};this.options.pedantic?(X.block=JX.pedantic,X.inline=U4.pedantic):this.options.gfm&&(X.block=JX.gfm,this.options.breaks?X.inline=U4.breaks:X.inline=U4.gfm),this.tokenizer.rules=X}static get rules(){return{block:JX,inline:U4}}static lex(Z,X){return new $(X).lex(Z)}static lexInline(Z,X){return new $(X).inlineTokens(Z)}lex(Z){Z=Z.replace(e$.carriageReturn,`
|
|
141
|
+
`),this.blockTokens(Z,this.tokens);for(let X=0;X<this.inlineQueue.length;X++){let Y=this.inlineQueue[X];this.inlineTokens(Y.src,Y.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(Z,X=[],Y=!1){for(this.options.pedantic&&(Z=Z.replace(e$.tabCharGlobal," ").replace(e$.spaceLine,""));Z;){let J;if(this.options.extensions?.block?.some((K)=>(J=K.call({lexer:this},Z,X))?(Z=Z.substring(J.raw.length),X.push(J),!0):!1))continue;if(J=this.tokenizer.space(Z)){Z=Z.substring(J.raw.length);let K=X.at(-1);J.raw.length===1&&K!==void 0?K.raw+=`
|
|
142
|
+
`:X.push(J);continue}if(J=this.tokenizer.code(Z)){Z=Z.substring(J.raw.length);let K=X.at(-1);K?.type==="paragraph"||K?.type==="text"?(K.raw+=(K.raw.endsWith(`
|
|
100
143
|
`)?"":`
|
|
101
|
-
`)+
|
|
102
|
-
`+
|
|
144
|
+
`)+J.raw,K.text+=`
|
|
145
|
+
`+J.text,this.inlineQueue.at(-1).src=K.text):X.push(J);continue}if(J=this.tokenizer.fences(Z)){Z=Z.substring(J.raw.length),X.push(J);continue}if(J=this.tokenizer.heading(Z)){Z=Z.substring(J.raw.length),X.push(J);continue}if(J=this.tokenizer.hr(Z)){Z=Z.substring(J.raw.length),X.push(J);continue}if(J=this.tokenizer.blockquote(Z)){Z=Z.substring(J.raw.length),X.push(J);continue}if(J=this.tokenizer.list(Z)){Z=Z.substring(J.raw.length),X.push(J);continue}if(J=this.tokenizer.html(Z)){Z=Z.substring(J.raw.length),X.push(J);continue}if(J=this.tokenizer.def(Z)){Z=Z.substring(J.raw.length);let K=X.at(-1);K?.type==="paragraph"||K?.type==="text"?(K.raw+=(K.raw.endsWith(`
|
|
103
146
|
`)?"":`
|
|
104
|
-
`)+
|
|
105
|
-
`+
|
|
147
|
+
`)+J.raw,K.text+=`
|
|
148
|
+
`+J.raw,this.inlineQueue.at(-1).src=K.text):this.tokens.links[J.tag]||(this.tokens.links[J.tag]={href:J.href,title:J.title},X.push(J));continue}if(J=this.tokenizer.table(Z)){Z=Z.substring(J.raw.length),X.push(J);continue}if(J=this.tokenizer.lheading(Z)){Z=Z.substring(J.raw.length),X.push(J);continue}let W=Z;if(this.options.extensions?.startBlock){let K=1/0,Q=Z.slice(1),z;this.options.extensions.startBlock.forEach((G)=>{z=G.call({lexer:this},Q),typeof z=="number"&&z>=0&&(K=Math.min(K,z))}),K<1/0&&K>=0&&(W=Z.substring(0,K+1))}if(this.state.top&&(J=this.tokenizer.paragraph(W))){let K=X.at(-1);Y&&K?.type==="paragraph"?(K.raw+=(K.raw.endsWith(`
|
|
106
149
|
`)?"":`
|
|
107
|
-
`)+
|
|
108
|
-
`+
|
|
150
|
+
`)+J.raw,K.text+=`
|
|
151
|
+
`+J.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=K.text):X.push(J),Y=W.length!==Z.length,Z=Z.substring(J.raw.length);continue}if(J=this.tokenizer.text(Z)){Z=Z.substring(J.raw.length);let K=X.at(-1);K?.type==="text"?(K.raw+=(K.raw.endsWith(`
|
|
109
152
|
`)?"":`
|
|
110
|
-
`)+
|
|
111
|
-
`+
|
|
112
|
-
`;return
|
|
113
|
-
`:"<pre><code>"+(
|
|
153
|
+
`)+J.raw,K.text+=`
|
|
154
|
+
`+J.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=K.text):X.push(J);continue}if(Z){let K="Infinite loop on byte: "+Z.charCodeAt(0);if(this.options.silent){console.error(K);break}else throw Error(K)}}return this.state.top=!0,X}inline(Z,X=[]){return this.inlineQueue.push({src:Z,tokens:X}),X}inlineTokens(Z,X=[]){let Y=Z,J=null;if(this.tokens.links){let z=Object.keys(this.tokens.links);if(z.length>0)for(;(J=this.tokenizer.rules.inline.reflinkSearch.exec(Y))!=null;)z.includes(J[0].slice(J[0].lastIndexOf("[")+1,-1))&&(Y=Y.slice(0,J.index)+"["+"a".repeat(J[0].length-2)+"]"+Y.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(J=this.tokenizer.rules.inline.anyPunctuation.exec(Y))!=null;)Y=Y.slice(0,J.index)+"++"+Y.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);let W;for(;(J=this.tokenizer.rules.inline.blockSkip.exec(Y))!=null;)W=J[2]?J[2].length:0,Y=Y.slice(0,J.index+W)+"["+"a".repeat(J[0].length-W-2)+"]"+Y.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);Y=this.options.hooks?.emStrongMask?.call({lexer:this},Y)??Y;let K=!1,Q="";for(;Z;){K||(Q=""),K=!1;let z;if(this.options.extensions?.inline?.some((O)=>(z=O.call({lexer:this},Z,X))?(Z=Z.substring(z.raw.length),X.push(z),!0):!1))continue;if(z=this.tokenizer.escape(Z)){Z=Z.substring(z.raw.length),X.push(z);continue}if(z=this.tokenizer.tag(Z)){Z=Z.substring(z.raw.length),X.push(z);continue}if(z=this.tokenizer.link(Z)){Z=Z.substring(z.raw.length),X.push(z);continue}if(z=this.tokenizer.reflink(Z,this.tokens.links)){Z=Z.substring(z.raw.length);let O=X.at(-1);z.type==="text"&&O?.type==="text"?(O.raw+=z.raw,O.text+=z.text):X.push(z);continue}if(z=this.tokenizer.emStrong(Z,Y,Q)){Z=Z.substring(z.raw.length),X.push(z);continue}if(z=this.tokenizer.codespan(Z)){Z=Z.substring(z.raw.length),X.push(z);continue}if(z=this.tokenizer.br(Z)){Z=Z.substring(z.raw.length),X.push(z);continue}if(z=this.tokenizer.del(Z)){Z=Z.substring(z.raw.length),X.push(z);continue}if(z=this.tokenizer.autolink(Z)){Z=Z.substring(z.raw.length),X.push(z);continue}if(!this.state.inLink&&(z=this.tokenizer.url(Z))){Z=Z.substring(z.raw.length),X.push(z);continue}let G=Z;if(this.options.extensions?.startInline){let O=1/0,N=Z.slice(1),U;this.options.extensions.startInline.forEach((M)=>{U=M.call({lexer:this},N),typeof U=="number"&&U>=0&&(O=Math.min(O,U))}),O<1/0&&O>=0&&(G=Z.substring(0,O+1))}if(z=this.tokenizer.inlineText(G)){Z=Z.substring(z.raw.length),z.raw.slice(-1)!=="_"&&(Q=z.raw.slice(-1)),K=!0;let O=X.at(-1);O?.type==="text"?(O.raw+=z.raw,O.text+=z.text):X.push(z);continue}if(Z){let O="Infinite loop on byte: "+Z.charCodeAt(0);if(this.options.silent){console.error(O);break}else throw Error(O)}}return X}},QX=class{options;parser;constructor($){this.options=$||tZ}space($){return""}code({text:$,lang:Z,escaped:X}){let Y=(Z||"").match(e$.notSpaceStart)?.[0],J=$.replace(e$.endingNewline,"")+`
|
|
155
|
+
`;return Y?'<pre><code class="language-'+t1(Y)+'">'+(X?J:t1(J,!0))+`</code></pre>
|
|
156
|
+
`:"<pre><code>"+(X?J:t1(J,!0))+`</code></pre>
|
|
114
157
|
`}blockquote({tokens:$}){return`<blockquote>
|
|
115
158
|
${this.parser.parse($)}</blockquote>
|
|
116
159
|
`}html({text:$}){return $}def($){return""}heading({tokens:$,depth:Z}){return`<h${Z}>${this.parser.parseInline($)}</h${Z}>
|
|
117
160
|
`}hr($){return`<hr>
|
|
118
|
-
`}list($){let{ordered:Z,start:
|
|
119
|
-
`+
|
|
120
|
-
`}listitem($){let Z="";if($.task){let
|
|
161
|
+
`}list($){let{ordered:Z,start:X}=$,Y="";for(let K=0;K<$.items.length;K++){let Q=$.items[K];Y+=this.listitem(Q)}let J=Z?"ol":"ul",W=Z&&X!==1?' start="'+X+'"':"";return"<"+J+W+`>
|
|
162
|
+
`+Y+"</"+J+`>
|
|
163
|
+
`}listitem($){let Z="";if($.task){let X=this.checkbox({checked:!!$.checked});$.loose?$.tokens[0]?.type==="paragraph"?($.tokens[0].text=X+" "+$.tokens[0].text,$.tokens[0].tokens&&$.tokens[0].tokens.length>0&&$.tokens[0].tokens[0].type==="text"&&($.tokens[0].tokens[0].text=X+" "+t1($.tokens[0].tokens[0].text),$.tokens[0].tokens[0].escaped=!0)):$.tokens.unshift({type:"text",raw:X+" ",text:X+" ",escaped:!0}):Z+=X+" "}return Z+=this.parser.parse($.tokens,!!$.loose),`<li>${Z}</li>
|
|
121
164
|
`}checkbox({checked:$}){return"<input "+($?'checked="" ':"")+'disabled="" type="checkbox">'}paragraph({tokens:$}){return`<p>${this.parser.parseInline($)}</p>
|
|
122
|
-
`}table($){let Z="",
|
|
165
|
+
`}table($){let Z="",X="";for(let J=0;J<$.header.length;J++)X+=this.tablecell($.header[J]);Z+=this.tablerow({text:X});let Y="";for(let J=0;J<$.rows.length;J++){let W=$.rows[J];X="";for(let K=0;K<W.length;K++)X+=this.tablecell(W[K]);Y+=this.tablerow({text:X})}return Y&&(Y=`<tbody>${Y}</tbody>`),`<table>
|
|
123
166
|
<thead>
|
|
124
167
|
`+Z+`</thead>
|
|
125
|
-
`+
|
|
168
|
+
`+Y+`</table>
|
|
126
169
|
`}tablerow({text:$}){return`<tr>
|
|
127
170
|
${$}</tr>
|
|
128
|
-
`}tablecell($){let Z=this.parser.parseInline($.tokens),
|
|
129
|
-
`}strong({tokens:$}){return`<strong>${this.parser.parseInline($)}</strong>`}em({tokens:$}){return`<em>${this.parser.parseInline($)}</em>`}codespan({text:$}){return`<code>${
|
|
130
|
-
`+this.renderer.text(
|
|
131
|
-
Please report this to https://github.com/markedjs/marked.`,$){let
|
|
132
|
-
`},
|
|
133
|
-
`});case"html":return
|
|
134
|
-
`).map((
|
|
135
|
-
`:
|
|
136
|
-
`);if(
|
|
137
|
-
${
|
|
138
|
-
`)}`},
|
|
139
|
-
`);return
|
|
140
|
-
`),
|
|
141
|
-
`);let
|
|
142
|
-
`)}
|
|
143
|
-
`,
|
|
144
|
-
`:""]},void 0,!0,void 0,this)),
|
|
145
|
-
`,
|
|
146
|
-
`:""]},void 0,!0,void 0,this)),
|
|
147
|
-
`,
|
|
171
|
+
`}tablecell($){let Z=this.parser.parseInline($.tokens),X=$.header?"th":"td";return($.align?`<${X} align="${$.align}">`:`<${X}>`)+Z+`</${X}>
|
|
172
|
+
`}strong({tokens:$}){return`<strong>${this.parser.parseInline($)}</strong>`}em({tokens:$}){return`<em>${this.parser.parseInline($)}</em>`}codespan({text:$}){return`<code>${t1($,!0)}</code>`}br($){return"<br>"}del({tokens:$}){return`<del>${this.parser.parseInline($)}</del>`}link({href:$,title:Z,tokens:X}){let Y=this.parser.parseInline(X),J=t7($);if(J===null)return Y;$=J;let W='<a href="'+$+'"';return Z&&(W+=' title="'+t1(Z)+'"'),W+=">"+Y+"</a>",W}image({href:$,title:Z,text:X,tokens:Y}){Y&&(X=this.parser.parseInline(Y,this.parser.textRenderer));let J=t7($);if(J===null)return t1(X);$=J;let W=`<img src="${$}" alt="${X}"`;return Z&&(W+=` title="${t1(Z)}"`),W+=">",W}text($){return"tokens"in $&&$.tokens?this.parser.parseInline($.tokens):("escaped"in $)&&$.escaped?$.text:t1($.text)}},S8=class{strong({text:$}){return $}em({text:$}){return $}codespan({text:$}){return $}del({text:$}){return $}html({text:$}){return $}text({text:$}){return $}link({text:$}){return""+$}image({text:$}){return""+$}br(){return""}},g1=class ${options;renderer;textRenderer;constructor(Z){this.options=Z||tZ,this.options.renderer=this.options.renderer||new QX,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new S8}static parse(Z,X){return new $(X).parse(Z)}static parseInline(Z,X){return new $(X).parseInline(Z)}parse(Z,X=!0){let Y="";for(let J=0;J<Z.length;J++){let W=Z[J];if(this.options.extensions?.renderers?.[W.type]){let Q=W,z=this.options.extensions.renderers[Q.type].call({parser:this},Q);if(z!==!1||!["space","hr","heading","code","table","blockquote","list","html","def","paragraph","text"].includes(Q.type)){Y+=z||"";continue}}let K=W;switch(K.type){case"space":{Y+=this.renderer.space(K);continue}case"hr":{Y+=this.renderer.hr(K);continue}case"heading":{Y+=this.renderer.heading(K);continue}case"code":{Y+=this.renderer.code(K);continue}case"table":{Y+=this.renderer.table(K);continue}case"blockquote":{Y+=this.renderer.blockquote(K);continue}case"list":{Y+=this.renderer.list(K);continue}case"html":{Y+=this.renderer.html(K);continue}case"def":{Y+=this.renderer.def(K);continue}case"paragraph":{Y+=this.renderer.paragraph(K);continue}case"text":{let Q=K,z=this.renderer.text(Q);for(;J+1<Z.length&&Z[J+1].type==="text";)Q=Z[++J],z+=`
|
|
173
|
+
`+this.renderer.text(Q);X?Y+=this.renderer.paragraph({type:"paragraph",raw:z,text:z,tokens:[{type:"text",raw:z,text:z,escaped:!0}]}):Y+=z;continue}default:{let Q='Token with "'+K.type+'" type was not found.';if(this.options.silent)return console.error(Q),"";throw Error(Q)}}}return Y}parseInline(Z,X=this.renderer){let Y="";for(let J=0;J<Z.length;J++){let W=Z[J];if(this.options.extensions?.renderers?.[W.type]){let Q=this.options.extensions.renderers[W.type].call({parser:this},W);if(Q!==!1||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(W.type)){Y+=Q||"";continue}}let K=W;switch(K.type){case"escape":{Y+=X.text(K);break}case"html":{Y+=X.html(K);break}case"link":{Y+=X.link(K);break}case"image":{Y+=X.image(K);break}case"strong":{Y+=X.strong(K);break}case"em":{Y+=X.em(K);break}case"codespan":{Y+=X.codespan(K);break}case"br":{Y+=X.br(K);break}case"del":{Y+=X.del(K);break}case"text":{Y+=X.text(K);break}default:{let Q='Token with "'+K.type+'" type was not found.';if(this.options.silent)return console.error(Q),"";throw Error(Q)}}}return Y}},M4=class{options;block;constructor($){this.options=$||tZ}static passThroughHooks=new Set(["preprocess","postprocess","processAllTokens","emStrongMask"]);static passThroughHooksRespectAsync=new Set(["preprocess","postprocess","processAllTokens"]);preprocess($){return $}postprocess($){return $}processAllTokens($){return $}emStrongMask($){return $}provideLexer(){return this.block?h1.lex:h1.lexInline}provideParser(){return this.block?g1.parse:g1.parseInline}},BK=class{defaults=q8();options=this.setOptions;parse=this.parseMarkdown(!0);parseInline=this.parseMarkdown(!1);Parser=g1;Renderer=QX;TextRenderer=S8;Lexer=h1;Tokenizer=KX;Hooks=M4;constructor(...$){this.use(...$)}walkTokens($,Z){let X=[];for(let Y of $)switch(X=X.concat(Z.call(this,Y)),Y.type){case"table":{let J=Y;for(let W of J.header)X=X.concat(this.walkTokens(W.tokens,Z));for(let W of J.rows)for(let K of W)X=X.concat(this.walkTokens(K.tokens,Z));break}case"list":{let J=Y;X=X.concat(this.walkTokens(J.items,Z));break}default:{let J=Y;this.defaults.extensions?.childTokens?.[J.type]?this.defaults.extensions.childTokens[J.type].forEach((W)=>{let K=J[W].flat(1/0);X=X.concat(this.walkTokens(K,Z))}):J.tokens&&(X=X.concat(this.walkTokens(J.tokens,Z)))}}return X}use(...$){let Z=this.defaults.extensions||{renderers:{},childTokens:{}};return $.forEach((X)=>{let Y={...X};if(Y.async=this.defaults.async||Y.async||!1,X.extensions&&(X.extensions.forEach((J)=>{if(!J.name)throw Error("extension name required");if("renderer"in J){let W=Z.renderers[J.name];W?Z.renderers[J.name]=function(...K){let Q=J.renderer.apply(this,K);return Q===!1&&(Q=W.apply(this,K)),Q}:Z.renderers[J.name]=J.renderer}if("tokenizer"in J){if(!J.level||J.level!=="block"&&J.level!=="inline")throw Error("extension level must be 'block' or 'inline'");let W=Z[J.level];W?W.unshift(J.tokenizer):Z[J.level]=[J.tokenizer],J.start&&(J.level==="block"?Z.startBlock?Z.startBlock.push(J.start):Z.startBlock=[J.start]:J.level==="inline"&&(Z.startInline?Z.startInline.push(J.start):Z.startInline=[J.start]))}"childTokens"in J&&J.childTokens&&(Z.childTokens[J.name]=J.childTokens)}),Y.extensions=Z),X.renderer){let J=this.defaults.renderer||new QX(this.defaults);for(let W in X.renderer){if(!(W in J))throw Error(`renderer '${W}' does not exist`);if(["options","parser"].includes(W))continue;let K=W,Q=X.renderer[K],z=J[K];J[K]=(...G)=>{let O=Q.apply(J,G);return O===!1&&(O=z.apply(J,G)),O||""}}Y.renderer=J}if(X.tokenizer){let J=this.defaults.tokenizer||new KX(this.defaults);for(let W in X.tokenizer){if(!(W in J))throw Error(`tokenizer '${W}' does not exist`);if(["options","rules","lexer"].includes(W))continue;let K=W,Q=X.tokenizer[K],z=J[K];J[K]=(...G)=>{let O=Q.apply(J,G);return O===!1&&(O=z.apply(J,G)),O}}Y.tokenizer=J}if(X.hooks){let J=this.defaults.hooks||new M4;for(let W in X.hooks){if(!(W in J))throw Error(`hook '${W}' does not exist`);if(["options","block"].includes(W))continue;let K=W,Q=X.hooks[K],z=J[K];M4.passThroughHooks.has(W)?J[K]=(G)=>{if(this.defaults.async&&M4.passThroughHooksRespectAsync.has(W))return(async()=>{let N=await Q.call(J,G);return z.call(J,N)})();let O=Q.call(J,G);return z.call(J,O)}:J[K]=(...G)=>{if(this.defaults.async)return(async()=>{let N=await Q.apply(J,G);return N===!1&&(N=await z.apply(J,G)),N})();let O=Q.apply(J,G);return O===!1&&(O=z.apply(J,G)),O}}Y.hooks=J}if(X.walkTokens){let J=this.defaults.walkTokens,W=X.walkTokens;Y.walkTokens=function(K){let Q=[];return Q.push(W.call(this,K)),J&&(Q=Q.concat(J.call(this,K))),Q}}this.defaults={...this.defaults,...Y}}),this}setOptions($){return this.defaults={...this.defaults,...$},this}lexer($,Z){return h1.lex($,Z??this.defaults)}parser($,Z){return g1.parse($,Z??this.defaults)}parseMarkdown($){return(Z,X)=>{let Y={...X},J={...this.defaults,...Y},W=this.onError(!!J.silent,!!J.async);if(this.defaults.async===!0&&Y.async===!1)return W(Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(typeof Z>"u"||Z===null)return W(Error("marked(): input parameter is undefined or null"));if(typeof Z!="string")return W(Error("marked(): input parameter is of type "+Object.prototype.toString.call(Z)+", string expected"));if(J.hooks&&(J.hooks.options=J,J.hooks.block=$),J.async)return(async()=>{let K=J.hooks?await J.hooks.preprocess(Z):Z,Q=await(J.hooks?await J.hooks.provideLexer():$?h1.lex:h1.lexInline)(K,J),z=J.hooks?await J.hooks.processAllTokens(Q):Q;J.walkTokens&&await Promise.all(this.walkTokens(z,J.walkTokens));let G=await(J.hooks?await J.hooks.provideParser():$?g1.parse:g1.parseInline)(z,J);return J.hooks?await J.hooks.postprocess(G):G})().catch(W);try{J.hooks&&(Z=J.hooks.preprocess(Z));let K=(J.hooks?J.hooks.provideLexer():$?h1.lex:h1.lexInline)(Z,J);J.hooks&&(K=J.hooks.processAllTokens(K)),J.walkTokens&&this.walkTokens(K,J.walkTokens);let Q=(J.hooks?J.hooks.provideParser():$?g1.parse:g1.parseInline)(K,J);return J.hooks&&(Q=J.hooks.postprocess(Q)),Q}catch(K){return W(K)}}}onError($,Z){return(X)=>{if(X.message+=`
|
|
174
|
+
Please report this to https://github.com/markedjs/marked.`,$){let Y="<p>An error occurred:</p><pre>"+t1(X.message+"",!0)+"</pre>";return Z?Promise.resolve(Y):Y}if(Z)return Promise.reject(X);throw X}}},sZ=new BK;function N$($,Z){return sZ.parse($,Z)}N$.options=N$.setOptions=function($){return sZ.setOptions($),N$.defaults=sZ.defaults,Z5(N$.defaults),N$};N$.getDefaults=q8;N$.defaults=tZ;N$.use=function(...$){return sZ.use(...$),N$.defaults=sZ.defaults,Z5(N$.defaults),N$};N$.walkTokens=function($,Z){return sZ.walkTokens($,Z)};N$.parseInline=sZ.parseInline;N$.Parser=g1;N$.parser=g1.parse;N$.Renderer=QX;N$.TextRenderer=S8;N$.Lexer=h1;N$.lexer=h1.lex;N$.Tokenizer=KX;N$.Hooks=M4;N$.parse=N$;var{options:Xw,setOptions:Yw,use:Jw,walkTokens:Ww,parseInline:Kw}=N$;var Qw=g1.parse,zw=h1.lex;var eZ=B(Z$(),1),$1={h1:{bold:!0,marginBottom:1,color:"#f74cc7ff"},h2:{bold:!0,marginBottom:1,color:"#326cfcff"},h3:{bold:!0,color:"#24ffedff"},h4:{bold:!0,color:"#e29418ff"},h5:{bold:!0,color:"#9fc214ff"},h6:{bold:!0,dimColor:!0,color:"#88eb2bff"},paragraph:{},blockquote:{paddingLeft:1,dimColor:!0,borderTop:!1,borderBottom:!1,borderRight:!1,borderStyle:"single",borderDimColor:!0},code:{marginTop:1,paddingX:2},codespan:{dimColor:!0},list:{},listItem:{bullet:"●",paddingLeft:2},hr:{char:"─",width:40,dimColor:!0},link:{color:"#343afcff",underline:!0},strong:{bold:!0},em:{italic:!0},del:{strikethrough:!0,dimColor:!0},image:{color:"blue"},table:{},tableCell:{paddingRight:2}},LK=["color","backgroundColor","dimColor","bold","italic","underline","strikethrough","inverse","wrap"],RK=["paddingLeft","paddingRight","paddingTop","paddingBottom","padding","paddingX","paddingY","marginLeft","marginRight","marginTop","marginBottom","margin","marginX","marginY","borderStyle","borderColor","borderTop","borderBottom","borderLeft","borderRight","borderDimColor","borderTopColor","borderBottomColor","borderLeftColor","borderRightColor","borderTopDimColor","borderBottomDimColor","borderLeftDimColor","borderRightDimColor"];function z1($){if(!$)return{};let Z={};for(let X of LK)if(X in $)Z[X]=$[X];return Z}function UZ($){if(!$)return{};let Z={};for(let X of RK)if(X in $)Z[X]=$[X];return Z}function Z1($,Z){if(!$&&!Z)return{};if(!$)return Z;if(!Z)return $;return{...$,...Z}}function A1($,Z,X){if(!$||$.length===0)return null;return $.map((Y,J)=>{let W=`inline-${J}`;switch(Y.type){case"text":case"escape":{let K=Y;if("tokens"in K&&K.tokens)return f.jsx(H,{children:A1(K.tokens,Z,X)},W);return f.jsx(H,{children:K.text},W)}case"strong":{let K=Y,Q=Z1($1.strong,Z.strong);if(X.strong)return f.jsx(H,{children:X.strong(A1(K.tokens,Z,X),K)},W);return f.jsx(H,{...z1(Q),children:A1(K.tokens,Z,X)},W)}case"em":{let K=Y,Q=Z1($1.em,Z.em);if(X.em)return f.jsx(H,{children:X.em(A1(K.tokens,Z,X),K)},W);return f.jsx(H,{...z1(Q),children:A1(K.tokens,Z,X)},W)}case"del":{let K=Y,Q=Z1($1.del,Z.del);if(X.del)return f.jsx(H,{children:X.del(A1(K.tokens,Z,X),K)},W);return f.jsx(H,{...z1(Q),children:A1(K.tokens,Z,X)},W)}case"codespan":{let K=Y,Q=Z1($1.codespan,Z.codespan);if(X.codespan)return f.jsx(H,{children:X.codespan(K.text,K)},W);return f.jsx(H,{...z1(Q),children:K.text},W)}case"link":{let K=Y,Q=Z1($1.link,Z.link);if(X.link)return f.jsx(H,{children:X.link(K.text,K.href,K.title,K)},W);return f.jsxs(H,{...z1(Q),children:[K.text,K.href&&` (${K.href})`]},W)}case"image":{let K=Y,Q=Z1($1.image,Z.image);if(X.image)return f.jsx(H,{children:X.image(K.text,K.href,K.title,K)},W);return f.jsxs(H,{...z1(Q),children:["[Image: ",K.text||K.href,"]"]},W)}case"br":return f.jsx(H,{children:`
|
|
175
|
+
`},W);default:if("text"in Y)return f.jsx(H,{children:Y.text},W);return null}})}function N5($,Z,X,Y){switch($.type){case"heading":{let J=$,W=`h${J.depth}`,K=`h${J.depth}`,Q=X[W];if(Q)return Q(J.text,J);let z=Z1($1[K],Z[K]),G=typeof z.showSharp=="boolean"?z.showSharp:Boolean(Y);return f.jsx(w,{...UZ(z),children:f.jsxs(H,{...z1(z),children:[G&&`${"#".repeat(J.depth)} `,A1(J.tokens,Z,X)]})})}case"paragraph":{let J=$,W=Z1($1.paragraph,Z.paragraph),K=A1(J.tokens,Z,X);if(X.paragraph)return X.paragraph(K,J);return f.jsx(w,{...UZ(W),children:f.jsx(H,{...z1(W),children:K})})}case"code":{let J=$,W=Z1($1.code,Z.code);if(X.code)return X.code(J.text,J.lang,J);return f.jsx(w,{...UZ(W),children:f.jsx(H,{...z1(W),children:J.text})})}case"blockquote":{let J=$,W=Z1($1.blockquote,Z.blockquote);if(X.blockquote){let K=J.tokens.map((Q,z)=>f.jsx(w,{children:N5(Q,Z,X,Y)},`bq-${z}`));return X.blockquote(K,J)}return f.jsx(w,{...UZ(W),children:f.jsx(w,{flexDirection:"column",children:J.tokens.map((K,Q)=>f.jsx(H,{...z1(W),children:K.type==="paragraph"?A1(K.tokens,Z,X):K.text||""},`bq-text-${Q}`))})})}case"list":{let J=$,W=Z1($1.list,Z.list),K=Z1($1.listItem,Z.listItem),Q=K.bullet||"●",z=J.items.map((G,O)=>{let N=typeof J.start=="number"?J.start:1,U=J.ordered?`${N+O}. `:`${Q} `,M=A1(G.tokens,Z,X);if(X.listItem)return f.jsx(w,{...UZ(K),children:X.listItem(M,G)},`li-${O}`);return f.jsx(w,{...UZ(K),children:f.jsxs(H,{...z1(K),children:[U,M]})},`li-${O}`)});if(X.list)return X.list(z,J.ordered,J);return f.jsx(w,{flexDirection:"column",...UZ(W),children:z})}case"hr":{let J=$,W=Z1($1.hr,Z.hr),K=W.char||"─",Q=W.width||40;if(X.hr)return X.hr(J);return f.jsx(w,{...UZ(W),children:f.jsx(H,{...z1(W),children:K.repeat(Q)})})}case"table":{let J=$,W=Z1($1.table,Z.table),K=Z1($1.tableCell,Z.tableCell),Q=(F)=>F.map((P)=>{if("text"in P)return P.text;return""}).join(""),z=J.header.map((F,P)=>{let S=Q(F.tokens).length,k=Math.max(...J.rows.map((m)=>{let h=m[P]?.tokens;return h?Q(h).length:0}),0);return Math.max(S,k,3)}),G=f.jsxs(H,{dimColor:!0,children:["┌─",z.map((F)=>"─".repeat(F)).join("─┬─"),"─┐"]}),O=f.jsxs(H,{children:[f.jsx(H,{dimColor:!0,children:"│ "}),J.header.map((F,P)=>{let S=A1(F.tokens,Z,X),k=Q(F.tokens);return f.jsxs(H,{children:[f.jsxs(H,{bold:!0,...z1(K),children:[S," ".repeat(Math.max(0,(z[P]||3)-k.length))]}),f.jsxs(H,{dimColor:!0,children:[" ","│",P<J.header.length-1?" ":""]})]},`th-${P}`)})]}),N=f.jsxs(H,{dimColor:!0,children:["├─",z.map((F)=>"─".repeat(F)).join("─┼─"),"─┤"]}),U=J.rows.map((F,P)=>f.jsxs(H,{children:[f.jsx(H,{dimColor:!0,children:"│ "}),F.map((S,k)=>{let m=A1(S.tokens,Z,X),h=Q(S.tokens),e=z[k]||3;return f.jsxs(H,{children:[f.jsxs(H,{...z1(K),children:[m," ".repeat(Math.max(0,e-h.length))]}),f.jsxs(H,{dimColor:!0,children:[" │",k<F.length-1?" ":""]})]},`td-${P}-${k}`)})]},`tr-${P}`)),M=f.jsxs(H,{dimColor:!0,children:["└─",z.map((F)=>"─".repeat(F)).join("─┴─"),"─┘"]}),A=f.jsxs(f.Fragment,{children:[G,O,N,U,M]});if(X.table)return X.table(O,U,J);return f.jsx(w,{flexDirection:"column",...UZ(W),children:A})}case"space":return f.jsx(H,{children:`
|
|
176
|
+
`});case"html":return f.jsx(H,{dimColor:!0,children:$.text});default:if("text"in $)return f.jsx(H,{children:$.text});return null}}var U5=eZ.memo(function({token:$,styles:Z,renderers:X,showSharp:Y}){return f.jsx(f.Fragment,{children:N5($,Z,X,Y)})},($,Z)=>$.token===Z.token);U5.displayName="MemoizedBlock";function SK({children:$,id:Z,styles:X={},renderers:Y={},showSharp:J=!1}){let W=eZ.useId(),K=Z||W,Q=eZ.useMemo(()=>N$.lexer($,{silent:!0,gfm:!0}),[$]);return f.jsx(w,{flexDirection:"column",children:Q.map((z,G)=>f.jsx(U5,{token:z,styles:X,renderers:Y,showSharp:J},`${K}-block-${G}`))})}var w5=eZ.memo(SK);w5.displayName="Markdown";var VK=w5,M5=VK;var q5=B(Z$(),1);var F4=B(V(),1),A5=({children:$,color:Z,dim:X,bold:Y,italic:J})=>{let W=q5.useMemo(()=>{return $.split(`
|
|
177
|
+
`).map((K)=>K===""?`
|
|
178
|
+
`:K)},[$]);return F4.jsxDEV(F4.Fragment,{children:W.map((K,Q)=>F4.jsxDEV(H,{color:Z,dimColor:X,bold:Y,italic:J,children:K},Q,!1,void 0,this))},void 0,!1,void 0,this)};var OX=B(Z$(),1),V8=B(V(),1),TK=($,Z,X=5)=>{if(!Z||!$||$.trim()==="")return $;let Y=$.split(`
|
|
179
|
+
`);if(Y.length<=X)return $;let J=Y.length-X,W=Y.slice(-X);return`\x1B[33m${J} rows hidden...\x1B[0m
|
|
180
|
+
${W.join(`
|
|
181
|
+
`)}`},kK=({children:$,simple:Z,loading:X,maxRows:Y=5})=>{let J=OX.useMemo(()=>{return TK($,X,Y)},[$,X,Y]);if(Z)return V8.jsxDEV(A5,{children:J},void 0,!1,void 0,this);return V8.jsxDEV(M5,{children:J},void 0,!1,void 0,this)},F5=OX.memo(kK);var F1=B(V(),1),IK=({message:$,messageNumber:Z,loading:X})=>{let J=z7($),W=N0($);if(!W)return F1.jsxDEV(F1.Fragment,{},void 0,!1,void 0,this);return F1.jsxDEV(w,{flexDirection:"column",children:[F1.jsxDEV(w,{paddingBottom:0,marginBottom:1,children:F1.jsxDEV(H,{color:aZ("teal"),children:[Z," ","Zen Code"]},void 0,!0,void 0,this)},void 0,!1,void 0,this),J&&F1.jsxDEV(bK,{thinking:J,visible:W.trim().length===0},void 0,!1,void 0,this),F1.jsxDEV(F5,{simple:!1,loading:X,children:W},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},bK=({thinking:$,visible:Z})=>{let X=$.split(`
|
|
182
|
+
`);return F1.jsxDEV(w,{flexDirection:"column",marginBottom:1,children:[F1.jsxDEV(w,{paddingBottom:0,children:F1.jsxDEV(H,{color:"gray",bold:!0,children:["Think ",X.length," rows"]},void 0,!0,void 0,this)},void 0,!1,void 0,this),Z&&F1.jsxDEV(C5,{content:$,maxLines:3},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},HX=IK;var P5=B(Z$(),1);var l=B(V(),1),B5=["yellow","magenta","blue"],DK=($)=>{let Z=0;for(let Y=0;Y<$.length;Y++)Z=$.charCodeAt(Y)+((Z<<5)-Z);let X=Math.abs(Z%B5.length);return B5[X]},jK=($)=>{return{success:"✓",completed:"✓",ok:"✓",error:"✗",failed:"✗",pending:"⏳",in_progress:"⏳",running:"⏳",cancelled:"⏹"}[$]||"⏳"},yK=($,Z=4,X=100)=>{let Y=$.split(`
|
|
183
|
+
`),J=(Q)=>{if(Q.length<=X)return Q;return Q.substring(0,X)+`... (${Q.length-X} more chars)`};if(Y.length<=Z)return Y.map(J).join(`
|
|
184
|
+
`);let W=Y.slice(0,2).map(J),K=Y.slice(Y.length-3).map(J);return[...W,`... and more ${Y.length-5} lines`,...K].join(`
|
|
185
|
+
`)},EK=({content:$})=>{let Z=(X,Y=0,J=0)=>{let K=" ".repeat(Y);if(J>=3)return l.jsxDEV(H,{dimColor:!0,children:"{...} (truncated)"},void 0,!1,void 0,this);if(X===null)return l.jsxDEV(H,{color:"gray",children:"null"},void 0,!1,void 0,this);if(typeof X!=="object"){let G=JSON.stringify(X);if(typeof X==="string"&&G.length>102){let O=G.substring(1,101);return l.jsxDEV(H,{children:[l.jsxDEV(H,{color:"cyan",children:['"',O,'..."']},void 0,!0,void 0,this)," ",l.jsxDEV(H,{dimColor:!0,children:["(truncated, ",G.length-2," chars)"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}if(typeof X==="string")return l.jsxDEV(H,{color:"cyan",children:G},void 0,!1,void 0,this);else if(typeof X==="number")return l.jsxDEV(H,{color:"yellow",children:X},void 0,!1,void 0,this);else if(typeof X==="boolean")return l.jsxDEV(H,{color:"magenta",children:X.toString()},void 0,!1,void 0,this);else return l.jsxDEV(H,{children:G},void 0,!1,void 0,this)}if(Array.isArray(X)){if(X.length===0)return l.jsxDEV(H,{color:"gray",children:"[]"},void 0,!1,void 0,this);let G=5;return l.jsxDEV(l.Fragment,{children:[`
|
|
186
|
+
`,X.slice(0,G).map((O,N)=>l.jsxDEV(H,{children:[l.jsxDEV(H,{children:K},void 0,!1,void 0,this),l.jsxDEV(H,{color:"green",children:"- "},void 0,!1,void 0,this)," ",Z(O,Y+1,J+1),N<Math.min(X.length,G)-1?`
|
|
187
|
+
`:""]},void 0,!0,void 0,this)),X.length>G&&l.jsxDEV(H,{children:[`
|
|
188
|
+
`,l.jsxDEV(H,{children:K},void 0,!1,void 0,this),l.jsxDEV(H,{dimColor:!0,children:["... (",X.length-G," more)"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}let Q=Object.keys(X);if(Q.length===0)return l.jsxDEV(H,{color:"gray"},void 0,!1,void 0,this);let z=5;return l.jsxDEV(l.Fragment,{children:[Q.slice(0,z).map((G,O)=>l.jsxDEV(H,{children:[l.jsxDEV(H,{children:K},void 0,!1,void 0,this),l.jsxDEV(H,{color:"blue",children:G},void 0,!1,void 0,this)," ",l.jsxDEV(H,{color:"gray",children:": "},void 0,!1,void 0,this)," ",Z(X[G],Y+1,J+1),O<Math.min(Q.length,z)-1?`
|
|
189
|
+
`:""]},void 0,!0,void 0,this)),Q.length>z&&l.jsxDEV(H,{children:[`
|
|
190
|
+
`,l.jsxDEV(H,{children:K},void 0,!1,void 0,this),l.jsxDEV(H,{dimColor:!0,children:["... (",Q.length-z," more)"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)};return l.jsxDEV(H,{children:Z($)},void 0,!1,void 0,this)},vK=({message:$,messageNumber:Z})=>{let{getToolUIRender:X,client:Y}=E$(),J=new K8($,Y),W=J.getInputRepaired(),K=W?.title?`: ${W.title}`:W?.description?`: ${W.description}`:"",Q=$.name?X($.name):null,z=DK($.name||"");return z=$.status==="error"?"red":"yellow",P5.default.useEffect(()=>{if($.status==="error"&&$.name)import("./chunk-fw3nrwpf.js").then(({logToolError:G,logTerminalError:O,logAgentError:N})=>{let U=T8($.content),M=typeof U==="string"?U:JSON.stringify(U);if($.name==="terminal"){let A=W?.command||"unknown";O(A,M)}else if($.name.startsWith("Agent:"))N($.name,M);else G($.name,M)}).catch((G)=>{console.warn("Failed to log error:",G)})},[$.status,$.name,$.content,W?.command]),l.jsxDEV(H$,{children:l.jsxDEV(w,{flexDirection:"column",children:[l.jsxDEV(w,{children:[l.jsxDEV(H,{color:z,children:[Z," ",$.name,l.jsxDEV(H,{color:"gray",children:K},void 0,!1,void 0,this)]},void 0,!0,void 0,this),l.jsxDEV(H,{children:[" ",jK($?.status)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),Q?l.jsxDEV(w,{children:[l.jsxDEV(H,{color:"gray",children:"└─ "},void 0,!1,void 0,this),l.jsxDEV(w,{flexDirection:"column",children:Q($)},void 0,!1,void 0,this)]},void 0,!0,void 0,this):l.jsxDEV(w,{flexDirection:"column",paddingTop:0,children:[l.jsxDEV(w,{children:[l.jsxDEV(H,{color:"gray",children:"└─ "},void 0,!1,void 0,this),l.jsxDEV(EK,{content:J.getInputRepaired()},void 0,!1,void 0,this)]},void 0,!0,void 0,this),l.jsxDEV(w,{paddingTop:0,paddingBottom:0,children:[l.jsxDEV(H,{color:"gray",children:"└─ "},void 0,!1,void 0,this),l.jsxDEV(H,{dimColor:!0,italic:!0,children:yK(T8($.content))},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),$.sub_messages?.length?l.jsxDEV(w,{children:[l.jsxDEV(H,{color:"gray",children:"└─ "},void 0,!1,void 0,this),l.jsxDEV(H,{color:z,dimColor:!0,children:["(hidden ",$.sub_messages.length," subagent messages)"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this):null]},void 0,!0,void 0,this)},void 0,!1,void 0,this)},L5=vK;var yZ=B(V(),1),R5=UX.memo(function({renderMessages:Z,startIndex:X,staticKey:Y,loading:J}){let[W,K]=UX.useState(!1);M1(()=>K(!0),W?null:0);let Q=(N,U,M,A)=>yZ.jsxDEV(w,{flexDirection:"column",paddingLeft:1,paddingBottom:1,children:N.type==="human"?yZ.jsxDEV(YX,{content:N.content,messageNumber:U+1+X},void 0,!1,void 0,this):N.type==="tool"?yZ.jsxDEV(L5,{message:N,messageNumber:U+1+X},void 0,!1,void 0,this):yZ.jsxDEV(HX,{message:N,messageNumber:U+1+X,loading:J},void 0,!1,void 0,this)},N.id?`${A}-${N.id}`:`${A}-msg-${U}`,!1,void 0,this),z=Z.findIndex((N)=>{if(N.type==="tool"&&!N.done&&!["success","error"].includes(N.status))return!0;return!1});if(z===-1)z=Z.length-1;let G=Z.slice(0,z),O=Z.slice(z);if(!W)return yZ.jsxDEV(w,{flexDirection:"column",children:Z.map((N,U)=>Q(N,U,U===z,"init"))},void 0,!1,void 0,this);return yZ.jsxDEV(w,{flexDirection:"column",children:[yZ.jsxDEV(NX,{items:G,children:(N,U)=>Q(N,U,!1,"hist")},Y,!1,void 0,this),O.map((N,U)=>Q(N,G.length+U,!0,"curr"))]},void 0,!0,void 0,this)});var EZ=B(Z$(),1);var B0=B(Z$(),1);var wX=B(V(),1),_K=({staticKey:$,children:Z,delay:X=1})=>{let[Y,J]=B0.useState(!0),W=B0.useRef(!0);return B0.useEffect(()=>{J(!1),W.current=!0},[$]),M1(()=>{if(W.current)J(!0),W.current=!1},Y?null:X),wX.jsxDEV(wX.Fragment,{children:Y?Z():null},void 0,!1,void 0,this)},S5=_K;var I$=B(V(),1),fK=EZ.memo(function({toolGroup:Z,groupId:X,getToolUIRender:Y,depth:J=0,loading:W}){if(J>1)return null;return I$.jsxDEV(w,{flexDirection:"column",children:Z.map((K,Q)=>{let z=K.name?Y(K.name):null;if(!z)return null;let G=K.sub_messages?.length||0,O=K.sub_messages?.slice(-4)||[],N=G-O.length;return I$.jsxDEV(EZ.Fragment,{children:[I$.jsxDEV(()=>{return I$.jsxDEV(H$,{fallback:K.name+" is error",children:z(K)},void 0,!1,void 0,this)},{},void 0,!1,void 0,this),O.length?I$.jsxDEV(I$.Fragment,{children:[N>0&&I$.jsxDEV(w,{paddingLeft:2,children:I$.jsxDEV(H,{dimColor:!0,children:["... ",N," more submessage",N>1?"s":""]},void 0,!0,void 0,this)},void 0,!1,void 0,this),I$.jsxDEV(k8,{renderMessages:O,startIndex:1,depth:J+1,staticKey:`sub-d${J}-i${Q}`,getToolUIRender:Y,loading:W},void 0,!1,void 0,this)]},void 0,!0,void 0,this):null]},`${X}-${Q}-${K.status}`,!0,void 0,this)})},void 0,!1,void 0,this)}),V5=EZ.memo(function({message:Z,displayIndex:X,isCurrent:Y,startIndex:J=0,getToolUIRender:W,depth:K=0,loading:Q}){return I$.jsxDEV(w,{flexDirection:"column",paddingBottom:1,children:[Z.type==="human"?I$.jsxDEV(YX,{content:Z.content,messageNumber:X+1+J},void 0,!1,void 0,this):null,Z.type==="ai"?I$.jsxDEV(HX,{message:Z,messageNumber:X+1+J,loading:Q},void 0,!1,void 0,this):null,Z.type==="group"&&I$.jsxDEV(I$.Fragment,{children:I$.jsxDEV(fK,{toolGroup:Z.toolGroup,groupId:Z.id,getToolUIRender:W,depth:K,loading:Q},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}),T5=($)=>{if($.type!=="ai")return!0;try{let Z=N0($);return!!(Z&&Z.trim().length>0)}catch{return!1}},k8=EZ.memo(function({renderMessages:Z,startIndex:X,staticKey:Y,depth:J=0,getToolUIRender:W,loading:K}){let Q=EZ.useMemo(()=>{let N=0;return Z.filter((U)=>{if(U.type==="ai")return T5(U);return!0}).reduce((U,M)=>{if(M.type==="tool"){let A=U[U.length-1];if(A&&A.type==="group"&&A.toolGroup.length<5)A.toolGroup.push(M);else U.push({id:`tool-group-${N++}`,type:"group",toolGroup:[M]})}else U.push(M);return U},[])},[Z,T5]),z=Q.length-1;if(z===-1)z=Q.length-1;if(!K)z=Q.length;let G=Q.slice(0,z),O=Q.slice(z);return I$.jsxDEV(w,{flexDirection:"column",children:[I$.jsxDEV(S5,{staticKey:`${Y} ${G.length}`,children:()=>I$.jsxDEV(NX,{items:G,children:(N,U)=>I$.jsxDEV(V5,{message:N,displayIndex:U,isCurrent:!1,startIndex:X,getToolUIRender:W,depth:J,loading:K},N.id?`hist-${N.id}`:`hist-msg-${J}-${U}`,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this),O.map((N,U)=>I$.jsxDEV(V5,{message:N,displayIndex:G.length+U,isCurrent:!0,startIndex:X,getToolUIRender:W,depth:J,loading:K},N.id?`curr-${N.id}`:`curr-msg-${J}-${G.length}-${U}`,!1,void 0,this))]},void 0,!0,void 0,this)});var d=B(V(),1),hK=()=>{let $=XX(),Z=new Date().toLocaleDateString(),{extraParams:X,AVAILABLE_MODELS:Y,config:J}=v$(),W=X.mcp_config||{},K=Object.keys(W).length,Q=k5(),z=process.platform,G=z==="darwin"?"macOS":z==="win32"?"Windows":"Linux",O=process.cwd(),N=J?.provider_id||process.env.MODEL_PROVIDER||"openai",M=!!J?.providers?.find((P)=>P.id===N)?.apiKey,A=Y.length>0,F=M&&A;return d.jsxDEV(w,{flexDirection:"column",borderStyle:"round",borderColor:"cyan",paddingX:1,marginBottom:1,children:[d.jsxDEV(w,{flexDirection:"row",justifyContent:"space-between",borderBottom:!1,children:[d.jsxDEV(H,{color:"cyan",bold:!0,children:"ZEN CODE"},void 0,!1,void 0,this),d.jsxDEV(H,{color:"gray",children:Z},void 0,!1,void 0,this)]},void 0,!0,void 0,this),d.jsxDEV(w,{flexDirection:"row",marginTop:1,gap:2,children:[d.jsxDEV(w,{flexDirection:"column",children:d.jsxDEV(H,{color:"cyan",children:`███████╗███████╗███╗ ██╗
|
|
148
191
|
╚══███╔╝██╔════╝████╗ ██║
|
|
149
192
|
███╔╝ █████╗ ██╔██╗ ██║
|
|
150
193
|
███╔╝ ██╔══╝ ██║╚██╗██║
|
|
151
194
|
███████╗███████╗██║ ╚████║
|
|
152
|
-
╚══════╝╚══════╝╚═╝ ╚═══╝`},void 0,!1,void 0,this)},void 0,!1,void 0,this),
|
|
153
|
-
`;if(
|
|
154
|
-
`,
|
|
155
|
-
`;if(
|
|
156
|
-
`;return
|
|
157
|
-
`;for(let
|
|
195
|
+
╚══════╝╚══════╝╚═╝ ╚═══╝`},void 0,!1,void 0,this)},void 0,!1,void 0,this),d.jsxDEV(w,{flexDirection:"column",justifyContent:"center",flexGrow:1,children:[d.jsxDEV(w,{marginBottom:1,children:F?d.jsxDEV(H,{color:"green",bold:!0,children:[" ","[ SYSTEM ONLINE ]"]},void 0,!0,void 0,this):d.jsxDEV(H,{color:"red",bold:!0,children:[" ","[ CONFIG REQUIRED ]"]},void 0,!0,void 0,this)},void 0,!1,void 0,this),d.jsxDEV(w,{flexDirection:"column",gap:0,children:[d.jsxDEV(w,{children:[d.jsxDEV(H,{color:"blue",children:"USER::"},void 0,!1,void 0,this),d.jsxDEV(H,{color:"white",children:$},void 0,!1,void 0,this)]},void 0,!0,void 0,this),d.jsxDEV(w,{children:[d.jsxDEV(H,{color:"blue",children:"ARCH::"},void 0,!1,void 0,this),d.jsxDEV(H,{color:"white",children:process.arch},void 0,!1,void 0,this)]},void 0,!0,void 0,this),d.jsxDEV(w,{children:[d.jsxDEV(H,{color:"blue",children:"PLATFORM::"},void 0,!1,void 0,this),d.jsxDEV(H,{color:"white",children:G},void 0,!1,void 0,this)]},void 0,!0,void 0,this),d.jsxDEV(w,{children:[d.jsxDEV(H,{color:"blue",children:"NODE::"},void 0,!1,void 0,this),d.jsxDEV(H,{color:"white",children:process.version},void 0,!1,void 0,this)]},void 0,!0,void 0,this),d.jsxDEV(w,{children:[d.jsxDEV(H,{color:"blue",children:"TERM::"},void 0,!1,void 0,this),d.jsxDEV(H,{color:"white",children:Q},void 0,!1,void 0,this)]},void 0,!0,void 0,this),d.jsxDEV(w,{children:[d.jsxDEV(H,{color:"blue",children:[N?.toUpperCase(),"::"]},void 0,!0,void 0,this),d.jsxDEV(H,{color:A?"white":"red",children:A?X.model_id:"无可用模型"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),d.jsxDEV(w,{marginTop:1,paddingX:1,flexDirection:"column",gap:0,children:[d.jsxDEV(w,{children:d.jsxDEV(H,{color:"blue",children:"WORKING_DIR ::"},void 0,!1,void 0,this)},void 0,!1,void 0,this),d.jsxDEV(w,{children:d.jsxDEV(H,{color:"gray",children:O},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),!F&&d.jsxDEV(w,{marginTop:1,paddingX:1,flexDirection:"column",gap:0,children:[d.jsxDEV(H,{color:"red",bold:!0,children:["⚠️ 需要配置 ",N==="anthropic"?"Anthropic":"OpenAI"," API:"]},void 0,!0,void 0,this),!M&&d.jsxDEV(H,{color:"yellow",children:" • 请使用 /m 进入模型配置面板"},void 0,!1,void 0,this),!A&&d.jsxDEV(H,{color:"yellow",children:" • 请确保网络连接正常以获取模型列表"},void 0,!1,void 0,this),d.jsxDEV(H,{color:"gray",children:" • 配置后使用 /m 查看可用模型"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),d.jsxDEV(w,{marginTop:1,paddingTop:1,borderTop:!1,flexDirection:"row",justifyContent:"space-between",children:[d.jsxDEV(w,{gap:3,children:[d.jsxDEV(w,{children:[d.jsxDEV(H,{color:"green",children:"●"},void 0,!1,void 0,this),d.jsxDEV(H,{color:"white",dimColor:!0,children:[" ","AGENTS"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),d.jsxDEV(w,{children:[d.jsxDEV(H,{color:K>0?"green":"gray",children:"●"},void 0,!1,void 0,this),d.jsxDEV(H,{color:"white",dimColor:!0,children:[" ","MCP (",K,")"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),d.jsxDEV(w,{children:[F?d.jsxDEV(H,{color:"yellow",bold:!0,children:">>> WAITING_FOR_INPUT"},void 0,!1,void 0,this):d.jsxDEV(H,{color:"red",bold:!0,children:">>> CONFIGURATION_NEEDED"},void 0,!1,void 0,this),d.jsxDEV(H,{color:"yellow",dimColor:!0,children:[" ","▌"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)},I5=hK;var PX=B(Z$(),1);var B4=B(Z$(),1);class b5{commands=new Map;aliases=new Map;register($){if(this.commands.set($.name,$),$.aliases)$.aliases.forEach((Z)=>{this.aliases.set(Z,$.name)})}getCommand($){let Z=this.aliases.get($)||$;return this.commands.get(Z)}getAllCommands(){return Array.from(this.commands.values())}isCommand($){return $.trim().startsWith("/")}parseCommand($){if(!this.isCommand($))return null;let X=$.trim().slice(1).split(/\s+/),Y=X[0],J=X.slice(1);return{command:Y,args:J}}async executeCommand($,Z){let X=this.parseCommand($);if(!X)return{success:!1,message:"无效的命令格式"};let{command:Y,args:J}=X,W=this.getCommand(Y);if(!W)return{success:!1,message:`未知命令: /${Y}`};if(W.requiresArgs&&J.length===0)return{success:!1,message:`命令 /${Y} 需要参数。用法: ${W.usage||`/${Y} <args>`}`};if(W.validateArgs&&!W.validateArgs(J))return{success:!1,message:`命令 /${Y} 参数无效。用法: ${W.usage||`/${Y} <args>`}`};try{return await W.execute(J,Z)}catch(K){return{success:!1,message:`命令执行失败: ${K instanceof Error?K.message:String(K)}`}}}getSuggestions($){if(!$.startsWith("/"))return[];let Z=$.slice(1).toLowerCase(),X=[];if(Z===""){let Q=["new","history","task","agent","model","settings","mcp","knowledge","summarize","template","plan","interview","help"];for(let z of Q){let G=this.commands.get(z);if(G)X.push({command:z,displayText:`/${z}`,description:G.description})}return X.slice(0,10)}let Y=new Set(["history","knowledge","help","init","model","config"]),J=[],W=[];for(let[Q,z]of this.commands){let G=Q.toLowerCase();if(G.startsWith(Z))J.push({command:Q,displayText:`/${Q}`,description:z.description});else if(G.includes(Z))W.push({command:Q,displayText:`/${Q}`,description:z.description});if(z.aliases)for(let O of z.aliases){let N=O.toLowerCase();if(N.startsWith(Z))J.push({command:Q,displayText:`/${O}`,description:`${z.description} (别名)`});else if(N.includes(Z))W.push({command:Q,displayText:`/${O}`,description:`${z.description} (别名)`})}}let K=(Q,z)=>{let G=Y.has(Q.command)?1:0,O=Y.has(z.command)?1:0;if(G!==O)return O-G;return Q.displayText.length-z.displayText.length};return J.sort(K),W.sort(K),X.push(...J,...W),X.slice(0,10)}getHelp($){if($){let X=this.getCommand($);if(!X)return`未找到命令: /${$}`;let Y=`命令: /${X.name}
|
|
196
|
+
`;if(Y+=`描述: ${X.description}
|
|
197
|
+
`,X.usage)Y+=`用法: ${X.usage}
|
|
198
|
+
`;if(X.aliases&&X.aliases.length>0)Y+=`别名: ${X.aliases.map((J)=>`/${J}`).join(", ")}
|
|
199
|
+
`;return Y}let Z=`可用命令:
|
|
200
|
+
`;for(let X of this.getAllCommands())Z+=` /${X.name} - ${X.description}
|
|
158
201
|
`;return Z+=`
|
|
159
|
-
使用 /help <命令名> 获取具体命令的帮助信息`,Z}}var
|
|
160
|
-
`);if(Z[0]!=="---")return{metadata:{},content:$};let
|
|
161
|
-
`).trim();return{metadata:
|
|
162
|
-
`),shouldClearInput:!0}}},
|
|
163
|
-
${
|
|
202
|
+
使用 /help <命令名> 获取具体命令的帮助信息`,Z}}var wZ=new b5;var D5={name:"settings",description:"打开 Settings 面板(Model 和 Provider 配置)",aliases:["s","model","settings","m"],usage:"/settings",execute:async($,Z)=>{return Z.switchToSettings?.(),{success:!0,message:"打开 Settings 面板",shouldClearInput:!0}}};var gK={name:"new",description:"初始化新的对话会话",aliases:["new","n"],usage:"/new [主题]",execute:async($,Z)=>{let X=$.join(" ");if(await Z.createNewChat(),X){let Y=`我想开始一个关于 "${X}" 的新对话。`;return Z.sendMessage([{type:"human",content:Y}]),{success:!0,message:`已创建新对话,主题: ${X}`,shouldClearInput:!0}}return{success:!0,message:"已创建新对话",shouldClearInput:!0}}},mK={name:"help",description:"显示命令帮助信息",aliases:["h","?"],usage:"/help [命令名]",execute:async($,Z)=>{let X=$[0];return{success:!0,message:wZ.getHelp(X),shouldClearInput:!0}}},xK={name:"task",description:"打开任务看板面板",aliases:["tasks","kanban"],usage:"/task",execute:async($,Z)=>{return Z.switchToTask?.(),{success:!0,message:"打开任务看板",shouldClearInput:!0}}},uK={name:"process",description:"打开进程管理器面板",aliases:["ps","proc"],usage:"/process",execute:async($,Z)=>{return Z.switchToProcess?.(),{success:!0,message:"打开进程管理器",shouldClearInput:!0}}},j5=[gK,mK,xK,D5,uK];import{readFileSync as cK,readdirSync as pK}from"fs";import{join as y5}from"path";var C4=null;function dK($){let Z=$.split(`
|
|
203
|
+
`);if(Z[0]!=="---")return{metadata:{},content:$};let X=Z.indexOf("---",1);if(X===-1)return{metadata:{},content:$};let Y=Z.slice(1,X),J={};for(let K of Y){let Q=K.match(/^(\w+):\s*(.+)$/);if(Q){let[,z,G]=Q;if(z==="name")J.name=G.trim();if(z==="description")J.description=G.trim()}}let W=Z.slice(X+1).join(`
|
|
204
|
+
`).trim();return{metadata:J,content:W}}function E5($,Z){let X=new Map;try{let Y=pK($,{withFileTypes:!0});for(let J of Y){let W=y5($,J.name);if(J.isDirectory())E5(W,Z).forEach((Q)=>X.set(Q.name,Q));else if(J.name.endsWith(".md"))try{let K=cK(W,"utf-8"),{metadata:Q,content:z}=dK(K),G=Q.name||J.name.replace(/\.md$/,"");if(!Q.name)console.warn(`Template missing "name" in frontmatter: ${W}`);X.set(G,{name:G,description:Q.description||"No description",content:z,path:W})}catch(K){console.warn(`Failed to read template file: ${W}`,K)}}}catch(Y){if(Y.code!=="ENOENT")console.warn(`Error scanning templates directory: ${$}`,Y)}return X}function v5(){C4=null}function _5($="./.claude/templates"){if(C4)return Array.from(C4.values());let Z=$.startsWith("/")?$:y5(process.cwd(),$);return C4=E5(Z,Z),Array.from(C4.values())}var lK={name:"status",description:"显示当前聊天状态信息",aliases:["stat","info"],execute:async($,Z)=>{return{success:!0,message:[`当前代理: ${Z.client?.availableAssistants.find((J)=>J.graph_id===Z.currentAgent)?.name||"未选择"} (${Z.currentAgent||"N/A"})`,`聊天ID: ${Z.client?.currentChatId?.slice(-8)||"N/A"}`,`可用代理数: ${Z.client?.availableAssistants?.length||0}`,`模型: ${Z.extraParams?.model_id||"N/A"}`].join(`
|
|
205
|
+
`),shouldClearInput:!0}}},iK={name:"template",description:"插入预定义的消息模板",aliases:["tpl","t"],usage:"/template <模板名>",execute:async($,Z)=>{let X=$[0];if($.includes("--refresh"))return v5(),{success:!0,message:"模板缓存已清除",shouldClearInput:!0};let Y=_5();if(!X){if(Y.length===0)return{success:!0,message:"当前没有可用的模板。可以在 ./.claude/templates/ 目录下创建 .md 模板文件。",shouldClearInput:!0};return{success:!0,message:`可用模板:
|
|
206
|
+
${Y.map((K)=>` - ${K.name}: ${K.description}`).join(`
|
|
164
207
|
`)}
|
|
165
208
|
|
|
166
|
-
使用 /template <name> 插入模板`,shouldClearInput:!0}}let
|
|
167
|
-
${
|
|
168
|
-
`),shouldClearInput:!0};let
|
|
169
|
-
可用配置项: ${
|
|
170
|
-
|
|
171
|
-
提示: 更换模型或提供商后,请重启程序以确保完整生效`;return{success:!0,message:
|
|
172
|
-
`),shouldClearInput:!0};let
|
|
173
|
-
${
|
|
174
|
-
`)}`,shouldClearInput:!0}}case"add":{if($.length<2)return{success:!1,message:"用法: /mcp add <name> <json_string>",shouldClearInput:!0};let[K
|
|
175
|
-
重启程序生效`,shouldClearInput:!0}}case"get":{if($.length<2)return{success:!1,message:"用法: /mcp get <name>",shouldClearInput:!0};let
|
|
176
|
-
`),shouldClearInput:!0}}default:return{success:!1,message:`未知操作: ${
|
|
177
|
-
可用操作: list, add, remove, get`,shouldClearInput:!0}}}catch(
|
|
209
|
+
使用 /template <name> 插入模板`,shouldClearInput:!0}}let J=Y.find((W)=>W.name===X);if(!J){let W=Y.map((K)=>K.name).join(", ");return{success:!1,message:`未找到模板 "${X}"。可用模板: ${W||"(无)"}`}}return Z.setUserInput(J.content),{success:!0,message:`已插入模板: ${J.name}
|
|
210
|
+
${J.description}`,shouldClearInput:!1}}},oK={name:"config",description:"查看或设置配置项",aliases:["cfg"],usage:"/config [key] [value]",execute:async($,Z)=>{if($.length===0)return{success:!0,message:["当前配置:",` model_id: ${Z.extraParams?.model_id||"N/A"}`,` provider_id: ${Z.extraParams?.provider_id||"N/A"}`,` enable_thinking: ${Z.extraParams?.enable_thinking??!0}`,` compact_mode: ${Z.compactMode??!1}`,` stream_refresh_interval: ${Z.extraParams?.stream_refresh_interval}`,"","使用方法:"," /config <key> <value> - 设置配置项"," /config <key> - 查看配置项","","可用配置项:"," model_id - 当前使用的模型 ID"," provider_id - 当前使用的 Provider ID"," enable_thinking - 启用思考模式 (true, false)"," compact_mode - 紧凑模式 (true, false)"," stream_refresh_interval - 流刷新间隔"].join(`
|
|
211
|
+
`),shouldClearInput:!0};let X=$[0],Y=["enable_thinking","stream_refresh_interval","provider_id","model_id","compact_mode"];if(!Y.includes(X))return{success:!1,message:`无效的配置项: ${X}
|
|
212
|
+
可用配置项: ${Y.join(", ")}`,shouldClearInput:!0};if($.length===1){let W;switch(X){case"model_id":W=Z.extraParams?.model_id;break;case"provider_id":W=Z.extraParams?.provider_id;break;case"enable_thinking":W=Z.extraParams?.enable_thinking??!0;break;case"compact_mode":W=Z.compactMode??!1;break;case"stream_refresh_interval":W=Z.extraParams?.stream_refresh_interval;break}return{success:!0,message:`${X}: ${W??"未设置"}`,shouldClearInput:!0}}let J=$.slice(1).join(" ");if(X==="enable_thinking"||X==="compact_mode"){if(J==="true"||J==="1"||J==="yes")J=!0;else if(J==="false"||J==="0"||J==="no")J=!1}if(X==="stream_refresh_interval"){let W=parseInt(J,10);if(!isNaN(W))J=W}try{if(!Z.updateConfig)return{success:!1,message:"无法访问配置更新功能",shouldClearInput:!0};await Z.updateConfig({[X]:J});let W=`配置已更新: ${X} = ${J} 重启程序生效`;if(X==="model_id"||X==="provider_id")W+=`
|
|
213
|
+
|
|
214
|
+
提示: 更换模型或提供商后,请重启程序以确保完整生效`;return{success:!0,message:W,shouldClearInput:!0}}catch(W){return{success:!1,message:`配置更新失败: ${W instanceof Error?W.message:String(W)}`,shouldClearInput:!0}}}},nK={name:"mcp",description:"管理 MCP 服务器配置",aliases:[],usage:"/mcp [list|add|remove|get] [args]",execute:async($,Z)=>{if($.length===0)return{success:!0,message:["MCP 配置管理命令:","","用法:"," /mcp list - 列出所有 MCP 服务器"," /mcp add <name> <json_string> - 添加 MCP 服务器 (传统格式)"," /mcp remove <name> - 移除 MCP 服务器"," /mcp get <name> - 查看 MCP 服务器详情","","示例 (JSON 格式):",' /mcp add context7 {"name":"context7","url":"https://mcp.context7.com/mcp"}',""].join(`
|
|
215
|
+
`),shouldClearInput:!0};let X=$[0];try{let J=(Z.extraParams||{}).mcp_config||{};switch(X){case"list":{let W=Object.keys(J);if(W.length===0)return{success:!0,message:"当前未配置任何 MCP 服务器",shouldClearInput:!0};return{success:!0,message:`已配置的 MCP 服务器:
|
|
216
|
+
${W.map((Q)=>{return` - ${Q}`}).join(`
|
|
217
|
+
`)}`,shouldClearInput:!0}}case"add":{if($.length<2)return{success:!1,message:"用法: /mcp add <name> <json_string>",shouldClearInput:!0};let[W,K,...Q]=$,z=Q.join(""),G={...J,[K]:JSON.parse(z)};if(!Z.updateConfig)return{success:!1,message:"无法访问配置更新功能",shouldClearInput:!0};return await Z.updateConfig({mcp_config:G}),{success:!0,message:`MCP 服务器 "${K}" 已添加`,shouldClearInput:!0}}case"remove":{if($.length<2)return{success:!1,message:"用法: /mcp remove <name>",shouldClearInput:!0};let W=$[1];if(!J[W])return{success:!1,message:`MCP 服务器 "${W}" 不存在`,shouldClearInput:!0};let K={...J};if(delete K[W],!Z.updateConfig)return{success:!1,message:"无法访问配置更新功能",shouldClearInput:!0};return await Z.updateConfig({mcp_config:K}),{success:!0,message:`MCP 服务器 "${W}" 已移除
|
|
218
|
+
重启程序生效`,shouldClearInput:!0}}case"get":{if($.length<2)return{success:!1,message:"用法: /mcp get <name>",shouldClearInput:!0};let W=$[1],K=J[W];if(!K)return{success:!1,message:`MCP 服务器 "${W}" 不存在`,shouldClearInput:!0};return{success:!0,message:[`MCP 服务器: ${W}`,` URL: ${K.url}`,` Headers: ${JSON.stringify(K.headers||{},null,2)}`].join(`
|
|
219
|
+
`),shouldClearInput:!0}}default:return{success:!1,message:`未知操作: ${X}
|
|
220
|
+
可用操作: list, add, remove, get`,shouldClearInput:!0}}}catch(Y){return{success:!1,message:`MCP 操作失败: ${Y instanceof Error?Y.message:String(Y)}`,shouldClearInput:!0}}}},rK={name:"summarize",description:"智能总结对话并提取有价值信息保存为记忆",aliases:["sum","summary","compact"],usage:"/sum",execute:async($,Z)=>{if(!Z.renderMessages||Z.renderMessages.length===0)return{success:!1,message:"当前会话没有消息可以总结",shouldClearInput:!0};let X=Z.renderMessages.length;try{let Y={...Z.extraParams,switch_command:"smart_memory"};return await Z.sendMessage([],{extraParams:Y}),{success:!0,message:`正在智能分析 ${X} 条消息并提取记忆...`,shouldClearInput:!0}}catch(Y){return{success:!1,message:`总结失败: ${Y instanceof Error?Y.message:String(Y)}`,shouldClearInput:!0}}}},aK={name:"history",description:"打开历史面板",aliases:["h"],execute:async($,Z)=>{if(Z.switchToHistory)return Z.switchToHistory(),{success:!0,message:"已打开历史面板",shouldClearInput:!0};return{success:!1,message:"面板切换功能不可用",shouldClearInput:!0}}},sK={name:"knowledge",description:"打开知识库面板",aliases:["k"],execute:async($,Z)=>{if(Z.switchToKnowledge)return Z.switchToKnowledge(),{success:!0,message:"已打开知识库面板",shouldClearInput:!0};return{success:!1,message:"面板切换功能不可用",shouldClearInput:!0}}},tK={name:"close",description:"关闭当前面板返回聊天",aliases:["c","q"],execute:async($,Z)=>{if(Z.closePanel)return Z.closePanel(),{success:!0,message:"已关闭面板",shouldClearInput:!0};return{success:!1,message:"面板关闭功能不可用",shouldClearInput:!0}}},eK={name:"model",description:"打开模型/Provider配置面板",aliases:["mp","m"],execute:async($,Z)=>{if(Z.switchToModelProvider)return Z.switchToModelProvider(),{success:!0,message:"已打开模型/Provider配置面板",shouldClearInput:!0};return{success:!1,message:"模型面板切换功能不可用",shouldClearInput:!0}}},$Q={name:"ralph",description:"进入循环模式,持续发送响应直到返回 <COMPLETE></COMPLETE>",aliases:[],usage:"/ralph <text>",requiresArgs:!0,execute:async($,Z)=>{let X=$.join(" ");if(!X.trim())return{success:!1,message:"请提供要循环的文本内容",shouldClearInput:!0};if(Z.startRalphLoop)return Z.startRalphLoop(X),{success:!0,message:`进入 Ralph 循环模式: "${X}"`,shouldClearInput:!0};return{success:!1,message:"Ralph 循环功能不可用",shouldClearInput:!0}}},f5=[lK,iK,oK,nK,rK,aK,sK,tK,eK,$Q];var ZQ={name:"agent",description:"打开 Agent 选择面板",aliases:["a"],usage:"/agent",execute:async($,Z)=>{if(Z.switchToAgent)Z.switchToAgent();return{success:!0,message:"打开 Agent 面板",shouldClearInput:!0}}},h5=[ZQ];var XQ=`
|
|
178
221
|
[Interview Mode Activated]
|
|
179
222
|
|
|
180
223
|
I want to clarify requirements through guided questions.
|
|
@@ -193,8 +236,8 @@ After getting answers:
|
|
|
193
236
|
---
|
|
194
237
|
|
|
195
238
|
User's original message:
|
|
196
|
-
`,
|
|
197
|
-
用法: /interview [your request]`};let
|
|
239
|
+
`,YQ={name:"interview",description:"Start Interview mode to clarify requirements through questions",aliases:["i"],usage:"/interview [your request]",requiresArgs:!0,execute:async($,Z)=>{let X=$.join(" ").trim();if(!X)return{success:!1,message:`❌ Interview 模式需要提供任务描述
|
|
240
|
+
用法: /interview [your request]`};let Y=XQ+X;return Z.sendMessage([{type:"human",content:Y}],{extraParams:Z.extraParams}),{success:!0,message:"\uD83D\uDCCB Interview mode activated",shouldClearInput:!0}}},g5=[YQ];var JQ=`
|
|
198
241
|
[Plan Mode Activated]
|
|
199
242
|
|
|
200
243
|
I want to create a comprehensive implementation plan for this task.
|
|
@@ -217,8 +260,8 @@ After the plan is created, ask if I want to execute it immediately or save for l
|
|
|
217
260
|
---
|
|
218
261
|
|
|
219
262
|
User's original request:
|
|
220
|
-
`,
|
|
221
|
-
用法: /plan [your task description]`};let
|
|
263
|
+
`,WQ={name:"plan",description:"Enter Plan mode to create detailed implementation plans",aliases:["p"],usage:"/plan [your task description]",requiresArgs:!0,execute:async($,Z)=>{let X=$.join(" ").trim();if(!X)return{success:!1,message:`❌ Plan 模式需要提供任务描述
|
|
264
|
+
用法: /plan [your task description]`};let Y=JQ+X;return Z.sendMessage([{type:"human",content:Y}],{extraParams:Z.extraParams}),{success:!0,message:"\uD83D\uDCCB Plan mode activated",shouldClearInput:!0}}},m5=[WQ];var x5=`
|
|
222
265
|
[Create AGENTS.md Mode Activated]
|
|
223
266
|
|
|
224
267
|
I want to create or update the AGENTS.md file for this project.
|
|
@@ -250,7 +293,7 @@ After the AGENTS.md is created or updated, provide a summary of the changes made
|
|
|
250
293
|
---
|
|
251
294
|
|
|
252
295
|
User's request:
|
|
253
|
-
`,
|
|
296
|
+
`,KQ={name:"create-agent-md",description:"Create or update AGENTS.md file with project guidelines",aliases:["agentmd","am"],usage:"/create-agent-md [description or goal for AGENTS.md]",requiresArgs:!0,execute:async($,Z)=>{let X=$.join(" ").trim();if(!X)return{success:!1,message:"❌ 需要提供描述或目标。例如: /create-agent-md 初始化项目指南文档",shouldClearInput:!1};let Y=x5+X;return Z.sendMessage([{type:"human",content:Y}],{extraParams:Z.extraParams}),{success:!0,message:"\uD83D\uDCDD AGENTS.md creation mode activated",shouldClearInput:!0}}},QQ={name:"init-agents-md",description:"快速初始化 AGENTS.md 项目指南文档",aliases:["iam","init-agents"],usage:"/init-agents-md",requiresArgs:!1,execute:async($,Z)=>{let Y=x5+"初始化项目 AGENTS.md 指南文档";return Z.sendMessage([{type:"human",content:Y}],{extraParams:Z.extraParams}),{success:!0,message:"\uD83D\uDCDD 开始初始化 AGENTS.md...",shouldClearInput:!0}}},u5=[KQ,QQ];var c5={name:"compact-message",description:"切换紧凑消息显示模式 (紧凑模式显示简化的消息预览)",aliases:["cm"],usage:"/compact-message",requiresArgs:!1,execute:async($,Z)=>{try{let{updateConfig:X,compactMode:Y}=Z;if(!X)return{success:!1,message:"配置更新功能不可用"};let J=Y??!1;return await X({compact_mode:!J}),{success:!0,message:!J?"紧凑模式已启用":"紧凑模式已关闭",shouldClearInput:!0}}catch(X){return{success:!1,message:`切换紧凑模式失败: ${X instanceof Error?X.message:String(X)}`}}}};var p5={name:"mcp",description:"打开 MCP 服务器配置面板",aliases:[],usage:"/mcp",execute:async($,Z)=>{return Z.switchToMcp?.(),{success:!0,message:"打开 MCP 配置面板",shouldClearInput:!0}}};var d5={name:"settings",description:"打开通用设置面板",aliases:["set"],usage:"/settings",execute:async($,Z)=>{if(Z.switchToSettings)return Z.switchToSettings(),{success:!0,message:"打开通用设置面板",shouldClearInput:!0};return{success:!1,message:"Settings 面板不可用",shouldClearInput:!0}}};var zQ=`
|
|
254
297
|
[Memory Organization Mode Activated]
|
|
255
298
|
|
|
256
299
|
I want to organize and manage the .claude/memories folder.
|
|
@@ -304,31 +347,31 @@ Provide a detailed report of:
|
|
|
304
347
|
|
|
305
348
|
---
|
|
306
349
|
|
|
307
|
-
`,
|
|
350
|
+
`,GQ={name:"memory-clear",description:"整理 .claude/memories 文件夹,清理、合并和优化项目记忆",aliases:["mem-clean","clean-memory"],usage:"/memory-clear",execute:async($,Z)=>{let X=$.join(" ").trim(),Y=zQ+(X?`Additional context: ${X}
|
|
308
351
|
|
|
309
|
-
---`:"开始整理记忆文件夹。");return Z.sendMessage([{type:"human",content:
|
|
310
|
-
`+"当前内存使用: "+
|
|
311
|
-
`)}var
|
|
312
|
-
`;if(
|
|
352
|
+
---`:"开始整理记忆文件夹。");return Z.sendMessage([{type:"human",content:Y}],{extraParams:Z.extraParams}),{success:!0,message:"\uD83E\uDDE0 记忆整理模式已激活 - 正在分析 .claude/memories 文件夹...",shouldClearInput:!0}}},l5=[GQ];function m1($){if($===0)return"0 B";let Z=1024,X=["B","KB","MB","GB"],Y=Math.floor(Math.log($)/Math.log(Z));return parseFloat(($/Math.pow(Z,Y)).toFixed(2))+" "+X[Y]}function I8(){let $=process.memoryUsage();return{heapTotal:$.heapTotal,heapUsed:$.heapUsed,external:$.external,rss:$.rss,heapUsedMB:($.heapUsed/1024/1024).toFixed(2),heapTotalMB:($.heapTotal/1024/1024).toFixed(2)}}function i5(){return typeof Bun<"u"}function OQ(){let $=I8();if(i5()&&typeof Bun.gc==="function"){Bun.gc(!0);let Z=I8(),X=$.heapUsed-Z.heapUsed;return{success:!0,before:$,after:Z,freed:X,message:`GC 执行成功,释放了 ${m1(Math.max(0,X))} 内存`}}if(globalThis.global&&typeof globalThis.global.gc==="function"){globalThis.global.gc();let Z=I8(),X=$.heapUsed-Z.heapUsed;return{success:!0,before:$,after:Z,freed:X,message:`GC 执行成功,释放了 ${m1(Math.max(0,X))} 内存`}}return{success:!1,before:$,message:`/gc 命令仅在 Bun 或者 node --expose-gc 可用
|
|
353
|
+
`+"当前内存使用: "+m1($.heapUsed)+" / "+m1($.heapTotal)}}function HQ(){let $=[];if(!i5())$.push("/gc 命令仅支持 Bun 运行时,请使用 bun 启动应用");else $.push("当前运行在 Bun 环境,/gc 命令已就绪");return $.join(`
|
|
354
|
+
`)}var o5={name:"gc",description:"手动触发垃圾回收,减少内存占用",aliases:["garbage-collect","mem-opt","memory"],usage:"/gc",execute:async($,Z)=>{let X=$.includes("-v")||$.includes("--verbose"),Y=OQ(),J=`\uD83D\uDDD1️ ${Y.message}
|
|
355
|
+
`;if(Y.before&&Y.after){if(J+=`
|
|
313
356
|
\uD83D\uDCCA 内存统计:
|
|
314
|
-
`,
|
|
315
|
-
`,
|
|
316
|
-
`,
|
|
317
|
-
`}else if(
|
|
318
|
-
\uD83D\uDCCA 当前内存使用: ${
|
|
319
|
-
`;if(!
|
|
357
|
+
`,J+=` Before: ${m1(Y.before.heapUsed)} / ${m1(Y.before.heapTotal)}
|
|
358
|
+
`,J+=` After: ${m1(Y.after.heapUsed)} / ${m1(Y.after.heapTotal)}
|
|
359
|
+
`,Y.freed!==void 0&&Y.freed>0)J+=` Freed: ${m1(Y.freed)}
|
|
360
|
+
`}else if(Y.before)J+=`
|
|
361
|
+
\uD83D\uDCCA 当前内存使用: ${m1(Y.before.heapUsed)} / ${m1(Y.before.heapTotal)}
|
|
362
|
+
`;if(!Y.success||X)J+=`
|
|
320
363
|
\uD83D\uDCA1 提示:
|
|
321
|
-
`,
|
|
364
|
+
`,J+=` ${HQ().replace(/\n/g,`
|
|
322
365
|
`)}
|
|
323
|
-
`;return{success:
|
|
324
|
-
|
|
325
|
-
[System Context: You are currently in Ralph loop mode. Continue executing the task based on previous context. Respond with <COMPLETE></COMPLETE> tag when the task is complete.]`:"",
|
|
326
|
-
`+' 例如: git commit -m "message" 或使用 --no-edit 参数';if(
|
|
327
|
-
`+' 例如: git commit -m "message" 或使用 --no-edit 参数'}return null};var
|
|
328
|
-
`||
|
|
329
|
-
`||
|
|
330
|
-
`);if(
|
|
331
|
-
`)},
|
|
332
|
-
`).map((w,R)=>U1.jsxDEV(z,{children:U1.jsxDEV(G,{color:"gray",children:w},void 0,!1,void 0,this)},R,!1,void 0,this))},void 0,!1,void 0,this),L=U1.jsxDEV(z,{justifyContent:"space-between",marginTop:0,children:[U1.jsxDEV(G,{color:O,children:[_," ",Q==="running"?"Running...":Q.charAt(0).toUpperCase()+Q.slice(1)]},void 0,!0,void 0,this),W&&U1.jsxDEV(G,{color:"gray",children:["PID: ",W]},void 0,!0,void 0,this)]},void 0,!0,void 0,this);return U1.jsxDEV(z,{flexDirection:"column",paddingX:1,paddingY:0,borderStyle:"single",borderColor:"gray",width:"100%",children:[U,U1.jsxDEV(z,{children:U1.jsxDEV(G,{color:"gray",children:"────────────────────────────────────────────────────────"},void 0,!1,void 0,this)},void 0,!1,void 0,this),N&&F,L]},void 0,!0,void 0,this)});B6.displayName="ShellOutputPreview";var o0=A(M(),1),P6=E$.memo(()=>{let{userInput:$,setUserInput:Z,loading:Y,renderMessages:J,sendMessage:X}=$1(),{extraParams:K,manager:Q}=Z1(),{executeCommand:W,activeCommand:_,clearOutput:O,isExecuting:N}=e3(),{switchToHistory:U,switchToKnowledge:F,switchToSettings:L,switchToModelProvider:q,switchToAgent:w,switchToTask:R,switchToMcp:P,switchToProcess:S,switchToErrors:u,closePanel:m}=E0(),{data:t=[]}=o3({manager:Q}),{data:v=[]}=r3(),{startRalphLoop:i}=n3({loading:Y,renderMessages:J,sendMessage:X,setUserInput:Z,extraParams:K}),r=i3({extraParams:K,switchToHistory:U,switchToKnowledge:F,switchToSettings:L,switchToModelProvider:q,switchToAgent:w,switchToTask:R,switchToMcp:P,switchToProcess:S,switchToErrors:u,closePanel:m,startRalphLoop:i}),I=E$.useCallback(async(j)=>{if(!j)return;if(j.startsWith("!")){let x=j.slice(1).trim();if(x)await W(x),Z("");return}if(j.startsWith("/")){if(await r.executeCommand(j)){Z("");return}}await X([{type:"human",content:j}],{extraParams:K,metadata:r1}),J0("Zen Code 完成任务")},[r,Z,W,K,X]);return o0.jsxDEV(z,{flexDirection:"column",paddingX:0,paddingY:0,borderColor:"grey",borderTop:!0,borderStyle:"single",borderLeft:!1,borderBottom:!1,borderRight:!1,children:[_&&o0.jsxDEV(B6,{commandResult:_,onClose:O},void 0,!1,void 0,this),o0.jsxDEV(r.CommandErrorUI,{},void 0,!1,void 0,this),o0.jsxDEV(r.CommandSuccessUI,{},void 0,!1,void 0,this),o0.jsxDEV(UZ,{value:$,onChange:Z,onSubmit:I,loading:Y,commandHandler:{isCommandInput:r.isCommandInput,CommandHintUI:r.CommandHintUI,commandSuggestions:r.commandSuggestions},skills:t,agents:v},void 0,!1,void 0,this)]},void 0,!0,void 0,this)});P6.displayName="ChatInput";var S1=A(M(),1),e5=()=>{let{renderMessages:$,currentChatId:Z,getToolUIRender:Y,loading:J}=$1(),{compactMode:X}=Z1(),[K]=zZ($,50),Q=FZ.useCallback((W)=>Y(W),[Y]);return S1.jsxDEV(z,{flexDirection:"column",flexGrow:1,paddingX:0,paddingY:0,children:[K.length===0&&S1.jsxDEV(f3,{},void 0,!1,void 0,this),K.length?X?S1.jsxDEV(A6,{renderMessages:K,startIndex:0,staticKey:Z,getToolUIRender:Q,loading:J},Z,!1,void 0,this):S1.jsxDEV(M3,{loading:J,renderMessages:K,startIndex:0,staticKey:Z},void 0,!1,void 0,this):null]},void 0,!0,void 0,this)},f6=()=>{let{hasPendingInteractions:$}=k1();return S1.jsxDEV(z,{flexDirection:"column",flexGrow:1,children:[S1.jsxDEV(g,{name:"ChatMessages",fallback:null,children:S1.jsxDEV(e5,{},void 0,!1,void 0,this)},void 0,!1,void 0,this),S1.jsxDEV(HZ,{children:S1.jsxDEV(g,{name:"InteractionArea",fallback:null,children:$?S1.jsxDEV(z,{paddingX:0,paddingY:0,children:S1.jsxDEV(J6,{},void 0,!1,void 0,this)},void 0,!1,void 0,this):S1.jsxDEV(P6,{},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)};f6.displayName="ChatMain";var D1=A(D(),1);var Z0=A(D(),1),LZ=Z0.lazy(()=>import("./chunk-b8dxq9rq.js").then(($)=>({default:$.default}))),AZ=Z0.lazy(()=>import("./chunk-cjqarwdn.js").then(($)=>({default:$.default}))),qZ=Z0.lazy(()=>import("./chunk-xkz5z0zn.js").then(($)=>({default:$.default}))),wZ=Z0.lazy(()=>import("./chunk-6rfc36jg.js").then(($)=>({default:$.default}))),MZ=Z0.lazy(()=>import("./chunk-zz32kgt2.js").then(($)=>({default:$.default}))),RZ=Z0.lazy(()=>import("./chunk-f8ewggk1.js").then(($)=>({default:$.default}))),bZ=Z0.lazy(()=>import("./chunk-wn43r152.js").then(($)=>({default:$.default}))),BZ=Z0.lazy(()=>import("./chunk-jbf8ve63.js").then(($)=>({default:$.default}))),PZ=Z0.lazy(()=>import("./chunk-j9aysaeb.js").then(($)=>({default:$.default})));var k=A(M(),1),N0=()=>k.jsxDEV(z,{paddingX:1,paddingY:1,children:k.jsxDEV(G,{color:"grey",children:"Loading..."},void 0,!1,void 0,this)},void 0,!1,void 0,this),z0=($)=>k.jsxDEV(z,{paddingX:1,paddingY:1,children:[k.jsxDEV(G,{color:"red",children:["✗ ",$," panel error"]},void 0,!0,void 0,this),k.jsxDEV(z,{marginTop:1,children:k.jsxDEV(G,{color:"gray",children:"Try reopening or press ESC to return"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),C6=D1.memo(()=>{let{activeView:$,closePanel:Z,handleExecuteTask:Y}=E0();return k.jsxDEV(z,{flexGrow:1,flexDirection:"row",children:[$==="history"&&k.jsxDEV(D1.Suspense,{fallback:k.jsxDEV(N0,{},void 0,!1,void 0,this),children:k.jsxDEV(g,{name:"HistoryPanel",fallback:z0("History"),children:k.jsxDEV(LZ,{onClose:Z},void 0,!1,void 0,this)},"history-panel",!1,void 0,this)},"history-suspense",!1,void 0,this),$==="knowledge"&&k.jsxDEV(D1.Suspense,{fallback:k.jsxDEV(N0,{},void 0,!1,void 0,this),children:k.jsxDEV(g,{name:"KnowledgePanel",fallback:z0("Knowledge"),children:k.jsxDEV(AZ,{onClose:Z},void 0,!1,void 0,this)},"knowledge-panel",!1,void 0,this)},"knowledge-suspense",!1,void 0,this),$==="settings"&&k.jsxDEV(D1.Suspense,{fallback:k.jsxDEV(N0,{},void 0,!1,void 0,this),children:k.jsxDEV(g,{name:"SettingsPanel",fallback:z0("Settings"),children:k.jsxDEV(qZ,{onClose:Z},void 0,!1,void 0,this)},"settings-panel",!1,void 0,this)},"settings-suspense",!1,void 0,this),$==="model-provider"&&k.jsxDEV(D1.Suspense,{fallback:k.jsxDEV(N0,{},void 0,!1,void 0,this),children:k.jsxDEV(g,{name:"ModelProviderPanel",fallback:z0("Model Provider"),children:k.jsxDEV(wZ,{onClose:Z},void 0,!1,void 0,this)},"model-provider-panel",!1,void 0,this)},"model-provider-suspense",!1,void 0,this),$==="agent"&&k.jsxDEV(D1.Suspense,{fallback:k.jsxDEV(N0,{},void 0,!1,void 0,this),children:k.jsxDEV(g,{name:"AgentPanel",fallback:z0("Agent"),children:k.jsxDEV(MZ,{onClose:Z},void 0,!1,void 0,this)},"agent-panel",!1,void 0,this)},"agent-suspense",!1,void 0,this),$==="task"&&k.jsxDEV(D1.Suspense,{fallback:k.jsxDEV(N0,{},void 0,!1,void 0,this),children:k.jsxDEV(g,{name:"TaskPanel",fallback:z0("Task"),children:k.jsxDEV(RZ,{onClose:Z,onExecuteTask:Y},void 0,!1,void 0,this)},"task-panel",!1,void 0,this)},"task-suspense",!1,void 0,this),$==="mcp"&&k.jsxDEV(D1.Suspense,{fallback:k.jsxDEV(N0,{},void 0,!1,void 0,this),children:k.jsxDEV(g,{name:"McpPanel",fallback:z0("MCP"),children:k.jsxDEV(bZ,{onClose:Z},void 0,!1,void 0,this)},"mcp-panel",!1,void 0,this)},"mcp-suspense",!1,void 0,this),$==="process"&&k.jsxDEV(D1.Suspense,{fallback:k.jsxDEV(N0,{},void 0,!1,void 0,this),children:k.jsxDEV(g,{name:"ProcessPanel",fallback:z0("Process"),children:k.jsxDEV(BZ,{onClose:Z},void 0,!1,void 0,this)},"process-panel",!1,void 0,this)},"process-suspense",!1,void 0,this),$==="errors"&&k.jsxDEV(D1.Suspense,{fallback:k.jsxDEV(N0,{},void 0,!1,void 0,this),children:k.jsxDEV(g,{name:"ErrorPanel",fallback:z0("Errors"),children:k.jsxDEV(PZ,{onClose:Z},void 0,!1,void 0,this)},"errors-panel",!1,void 0,this)},"errors-suspense",!1,void 0,this)]},void 0,!0,void 0,this)});C6.displayName="LazyChatViewManager";var R0=A(D(),1);var fZ=A(D(),1);var g$=A(M(),1),CZ=()=>{let{renderMessages:$}=$1(),Z=fZ.default.useMemo(()=>{if(!$)return null;for(let Y=$.length-1;Y>=0;Y--){let J=$[Y];if(J.role==="assistant"&&J.content)try{let K=(Array.isArray(J.content)?J.content:[{type:"text",text:J.content}]).find((Q)=>Q.type==="text")?.text||"";if(K.includes("load_mcp_tools"))try{let Q=JSON.parse(K);if(Q.status&&Q.status.toolCount!==void 0)return Q.status}catch(Q){}}catch(X){}}return null},[$]);if(!Z||Z.toolCount===0)return null;return g$.jsxDEV(z,{paddingX:1,children:[g$.jsxDEV(G,{color:"green",bold:!0,children:"MCP"},void 0,!1,void 0,this),g$.jsxDEV(G,{color:"cyan",children:[" ",Z.toolCount]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)};var d1=A(D(),1);function S6($){if($===0)return"0";if($<1024)return`${$}`;if($<1048576)return`${($/1024).toFixed(0)}K`;if($<1073741824)return`${($/1048576).toFixed(0)}M`;return`${($/1073741824).toFixed(1)}G`}function vZ($){let Z=Math.floor($/1000),Y=Math.floor(Z/3600),J=Math.floor(Z%3600/60),X=Z%60;if(Y>0)return`${Y}:${String(J).padStart(2,"0")}:${String(X).padStart(2,"0")}`;return`${String(J).padStart(2,"0")}:${String(X).padStart(2,"0")}`}function SZ($){let[Z,Y]=d1.useState(0),J=d1.useRef(null);return d1.useEffect(()=>{if($)J.current=Date.now(),Y(0);else J.current=null,Y(0)},[$]),v6(()=>{if(J.current)Y(Date.now()-J.current)},$?1000:null),Z}function IZ(){let[$,Z]=d1.useState({cpuPercent:0,memoryRSS:0,memoryHeapUsed:0,memoryHeapTotal:0}),Y=d1.useRef(process.cpuUsage()),J=d1.useRef(Date.now()),X=()=>{let K=Date.now(),Q=process.cpuUsage(),W=process.memoryUsage(),_=K-J.current,O=Q.user-Y.current.user,N=Q.system-Y.current.system,F=(O+N)/1000/_*100;Z({cpuPercent:Math.min(100,Math.max(0,F)),memoryRSS:W.rss,memoryHeapUsed:W.heapUsed,memoryHeapTotal:W.heapTotal}),Y.current=Q,J.current=K};return d1.useEffect(()=>{X()},[]),v6(X,2000),$}function kZ($){if($<50)return"green";if($<80)return"yellow";return"red"}function yZ($,Z){if(Z===0)return"gray";let Y=$/Z*100;if(Y<50)return"green";if(Y<80)return"yellow";return"red"}var H0=A(M(),1),$X=()=>{let $=IZ(),Z=kZ($.cpuPercent),Y=yZ($.memoryHeapUsed,$.memoryHeapTotal);return H0.jsxDEV(z,{paddingX:1,width:"100%",children:H0.jsxDEV(z,{gap:2,children:[H0.jsxDEV(z,{children:[H0.jsxDEV(G,{dimColor:!0,children:"CPU:"},void 0,!1,void 0,this),H0.jsxDEV(G,{color:Z,children:[" ",$.cpuPercent.toFixed(0),"%"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),H0.jsxDEV(z,{children:[H0.jsxDEV(G,{dimColor:!0,children:"MEM:"},void 0,!1,void 0,this),H0.jsxDEV(G,{color:Y,children:[S6($.memoryHeapUsed),"/",S6($.memoryRSS)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)},TZ=$X;var J1=A(M(),1);import ZX from"path";var YX=()=>{let{extraParams:$,compactMode:Z,showDetailedInfo:Y}=Z1(),{currentChatId:J,renderMessages:X}=$1(),{loading:K,stopGeneration:Q}=$1(),W=process.env.YOLO_MODE==="true",[_,O]=R0.useState(0);R0.useEffect(()=>{let w=async()=>{let P=await VZ.getProcessList();O(P.length)};w();let R=setInterval(w,2000);return()=>clearInterval(R)},[]);let N=R0.useCallback((w,R)=>{if(R.ctrl&&w==="c")process.exit()},[K,Q]);y1(N);let U=SZ(K),F=R0.default.useMemo(()=>{return ZX.basename(process.cwd())},[]),q=(X?.length||0)>100;return J1.jsxDEV(z,{flexDirection:"column",width:"100%",children:[J1.jsxDEV(z,{paddingX:1,paddingY:0,justifyContent:"space-between",width:"100%",marginBottom:1,children:[J1.jsxDEV(z,{gap:1,children:[K&&J1.jsxDEV(G,{color:"yellow",bold:!0,children:J1.jsxDEV(DZ,{text:"LOADING"},void 0,!1,void 0,this)},void 0,!1,void 0,this),!K&&J1.jsxDEV(G,{color:"magenta",bold:!0,children:"Zen Code"},void 0,!1,void 0,this),J1.jsxDEV(G,{color:"cyan",bold:!0,children:[" ",$.model_id]},void 0,!0,void 0,this),J1.jsxDEV(G,{color:"yellow",bold:!0,children:[" ","@",$.switch_command||"default"]},void 0,!0,void 0,this),!Z&&J1.jsxDEV(G,{color:"blue",bold:!0,children:[" ","[FULL]"]},void 0,!0,void 0,this),W&&J1.jsxDEV(G,{color:"red",bold:!0,children:[" ","YOLO"]},void 0,!0,void 0,this),J1.jsxDEV(CZ,{},void 0,!1,void 0,this),_>0&&J1.jsxDEV(G,{color:"magenta",bold:!0,children:[" ","● BG (",_,")"]},void 0,!0,void 0,this),q&&J1.jsxDEV(G,{color:"red",bold:!0,children:[" ","/summary"]},void 0,!0,void 0,this),J1.jsxDEV(G,{color:"green",bold:!0,children:X.length},void 0,!1,void 0,this),J1.jsxDEV(G,{color:"blue",children:F},void 0,!1,void 0,this)]},void 0,!0,void 0,this),K&&J1.jsxDEV(z,{children:J1.jsxDEV(G,{color:"yellow",children:vZ(U)},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),Y&&J1.jsxDEV(TZ,{},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},jZ=YX;var c=A(M(),1),XX=()=>{let{activeView:$}=E0();return c.jsxDEV(z,{flexDirection:"column",width:"100%",children:[c.jsxDEV(z,{flexGrow:1,flexDirection:"row",children:[c.jsxDEV(g,{name:"ChatMain",fallback:c.jsxDEV(G,{color:"yellow",children:"Chat view unavailable"},void 0,!1,void 0,this),children:$==="chat"?c.jsxDEV(f6,{},void 0,!1,void 0,this):null},"chat-main-view",!1,void 0,this),c.jsxDEV(g,{name:"PanelView",fallback:c.jsxDEV(G,{color:"yellow",children:"Panel unavailable"},void 0,!1,void 0,this),children:$!=="chat"?c.jsxDEV(C6,{},void 0,!1,void 0,this):null},"panel-view",!1,void 0,this)]},void 0,!0,void 0,this),c.jsxDEV(g,{name:"StatusBar",fallback:null,children:c.jsxDEV(jZ,{},void 0,!1,void 0,this)},"status-bar",!1,void 0,this)]},void 0,!0,void 0,this)},JX=()=>{return c.jsxDEV(g,{name:"Chat",children:c.jsxDEV(l4,{children:c.jsxDEV(XX,{},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)},KX=({children:$})=>{return c.jsxDEV(hZ,{apiUrl:"http://127.0.0.1:8123",defaultAgent:"code",defaultHeaders:{},withCredentials:!1,showHistory:!1,showGraph:!1,onInitError:(Z,Y)=>{console.error(Z,Y),import("./chunk-ns6tjjkq.js").then(({logAgentError:J})=>{J("ChatProvider",Z)}).catch(()=>{})},fetch:n6,autoRestoreLastSession:!0,historyFilter:{metadata:{path:process.cwd()}},children:$},void 0,!1,void 0,this)},QX=()=>{return c.jsxDEV(g,{name:"AppRoot",children:c.jsxDEV(g,{name:"TanStackQueryProvider",children:c.jsxDEV(V6,{children:c.jsxDEV(g,{name:"SettingsProvider",children:c.jsxDEV(gZ,{get_allowed_models:a6,children:c.jsxDEV(KX,{children:c.jsxDEV(g,{name:"ApprovalProvider",children:c.jsxDEV(EZ,{children:c.jsxDEV(g,{name:"InteractionProvider",children:c.jsxDEV(U$,{children:c.jsxDEV(JX,{},void 0,!1,void 0,this)},void 0,!1,void 0,this)},"interaction-provider",!1,void 0,this)},void 0,!1,void 0,this)},"approval-provider",!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)},"settings-provider",!1,void 0,this)},void 0,!1,void 0,this)},"tanstack-query-provider",!1,void 0,this)},"app-root",!1,void 0,this)},WX=()=>c.jsxDEV(QX,{},void 0,!1,void 0,this),I6=WX;var l1=A(M(),1),_X=({error:$})=>l1.jsxDEV(z,{flexDirection:"column",padding:2,borderStyle:"double",borderColor:"red",children:[l1.jsxDEV(G,{color:"red",bold:!0,children:"✗ Application Crashed"},void 0,!1,void 0,this),l1.jsxDEV(z,{marginTop:1,children:l1.jsxDEV(G,{color:"red",children:$.message},void 0,!1,void 0,this)},void 0,!1,void 0,this),l1.jsxDEV(z,{marginTop:1,children:l1.jsxDEV(G,{color:"gray",children:["Stack: ",$.stack?.split(`
|
|
366
|
+
`;return{success:Y.success,message:J,shouldClearInput:!0}}};var n5={name:"errors",description:"打开错误日志面板",aliases:["error","err"],usage:"/errors",execute:async($,Z)=>{return Z.switchToErrors?.(),{success:!0,message:"打开错误日志面板",shouldClearInput:!0}}};[...j5,...f5,...h5,...g5,...m5,...u5,...l5,c5,p5,d5,o5,n5].forEach(($)=>{wZ.register($)});var MZ=B(V(),1),r5=($)=>{let{onCommandExecuted:Z,switchToHistory:X,switchToKnowledge:Y,switchToSettings:J,switchToAgent:W,closePanel:K,switchToTask:Q,switchToModelProvider:z,switchToMcp:G,switchToProcess:O,switchToErrors:N}=$,{userInput:U,setUserInput:M,sendMessage:A,currentAgent:F,client:P,createNewChat:S,renderMessages:k}=E$(),{extraParams:m,updateConfig:h,AVAILABLE_MODELS:e,compactMode:I}=v$(),[x,s]=B4.useState(null),[v,n]=B4.useState(null);M1(()=>{s(null)},x?3000:null),M1(()=>{n(null)},v?5000:null);let J$=U.startsWith("/"),g$=J$?wZ.getSuggestions(U):[],a$=J$,BZ=B4.useCallback(async(LZ)=>{let P$=LZ||U;if(!wZ.isCommand(P$))return!1;try{let b1={userInput:P$,setUserInput:M,sendMessage(RZ,R={}){return A(RZ,{extraParams:{...m,...R.extraParams},...R,metadata:o1})},currentAgent:F,client:P,extraParams:m,createNewChat(){return S(o1)},updateConfig:h,AVAILABLE_MODELS:e,renderMessages:k,compactMode:I,switchToHistory:X,switchToKnowledge:Y,switchToSettings:J,switchToModelProvider:z,switchToAgent:W,switchToTask:Q,switchToMcp:G,switchToProcess:O,switchToErrors:N,closePanel:K,startRalphLoop:$.startRalphLoop},p1=await wZ.executeCommand(P$,b1);if(!p1.success)s(p1.message||"命令执行失败");else if(p1.message)n(p1.message);if(p1.shouldClearInput)M("");if(p1.shouldSendMessage&&p1.messageContent){let RZ=[{type:"human",content:p1.messageContent}];A(RZ,{extraParams:m})}return Z?.(),!0}catch(b1){return s(`命令执行错误: ${b1 instanceof Error?b1.message:String(b1)}`),!0}},[U,M,A,F,P,m,S,Z,e,I,X,Y,J,z,W,Q,G,O,N,K,$.startRalphLoop]);return{isCommandInput:J$,commandSuggestions:g$,showCommandHint:a$,commandError:x,executeCommand:BZ,CommandHintUI:()=>{if(!a$||g$.length===0)return null;return MZ.jsxDEV(w,{marginBottom:1,flexDirection:"column",children:[MZ.jsxDEV(H,{color:"yellow",bold:!0,children:"命令建议:"},void 0,!1,void 0,this),g$.slice(0,5).map((LZ,P$)=>MZ.jsxDEV(H,{color:"cyan",children:[LZ.displayText," - ",LZ.description]},P$,!0,void 0,this)),g$.length>5&&MZ.jsxDEV(H,{color:"gray",children:["...还有 ",g$.length-5," 个命令"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)},CommandErrorUI:()=>{if(!x)return null;return MZ.jsxDEV(w,{marginBottom:1,children:MZ.jsxDEV(H,{color:"red",children:["❌ ",x]},void 0,!0,void 0,this)},void 0,!1,void 0,this)},CommandSuccessUI:()=>{if(!v)return null;return MZ.jsxDEV(w,{marginBottom:1,children:MZ.jsxDEV(H,{color:"green",children:["✅ ",v]},void 0,!0,void 0,this)},void 0,!1,void 0,this)}}};function a5({manager:$,enabled:Z=!0}){return MX({queryKey:qX.skills.list(),queryFn:async()=>{if(!$)throw Error("ConfigManager not initialized");return await $.listSkills()},enabled:Z&&!!$,staleTime:120000})}var NQ=[{id:"agents/default",name:"Jarvis",description:"代码实现助手"},{id:"agents/manager",name:"Manager",description:"任务管理员"}];function s5({enabled:$=!0}={}){return MX({queryKey:qX.agents.list(),queryFn:async()=>{return NQ},enabled:$,staleTime:300000})}var x1=B(Z$(),1);function t5({loading:$,renderMessages:Z,sendMessage:X,setUserInput:Y,extraParams:J}){let[W,K]=x1.useState(null),[Q,z]=x1.useState(!1),G=x1.useRef(!1),O=x1.useRef(0),N=x1.useCallback(async(M)=>{if(!M)return;let A=G.current?`
|
|
367
|
+
|
|
368
|
+
[System Context: You are currently in Ralph loop mode. Continue executing the task based on previous context. Respond with <COMPLETE></COMPLETE> tag when the task is complete.]`:"",F=[{type:"human",content:M+A}];await X(F,{extraParams:J,metadata:o1})},[X,J]);M1(()=>{if(W)N(W);z(!1)},Q?100:null);let U=x1.useCallback((M)=>{K(M),G.current=!0,O.current=0,z(!0)},[]);return x1.useEffect(()=>{if(G.current&&W&&!$){let M=Z.length;if(M>O.current){O.current=M;let A=Z[M-1],F=N0(A);if(typeof F==="string"&&F.includes("<COMPLETE></COMPLETE>"))G.current=!1,K(null),GZ("Ralph 循环完成");else N(W)}}},[$,Z,W,N]),{ralphLoopText:W,startRalphLoop:U,sendTextMessage:N}}var e1=B(Z$(),1);var UQ=new Map;async function Z9($){let{command:Z,cwd:X,timeout:Y}=$,J=e5();try{let W=process.platform==="win32",z=S0(W?"cmd.exe":"/bin/bash",[...W?["/d","/s","/c"]:["-c"],Z],{cwd:X,detached:!0,reject:!1,windowsVerbatimArguments:W,timeout:Y});if(!z.pid)return{id:J,pid:0,output:"Error: Failed to start command",status:"failed",exitCode:-1};let G={process:z,stdout:[],stderr:[],command:Z,startTime:Date.now()};$9.set(z.pid,G),UQ.set(J,z.pid);let O=[];z.stdout?.on("data",(U)=>{let M=U.toString();O.push(M),G.stdout.push(M)}),z.stderr?.on("data",(U)=>{let M=U.toString();O.push(M),G.stderr.push(M)}),z.on("close",(U)=>{G.status=U===0?"completed":"failed",G.exitCode=U}),await new Promise((U)=>setTimeout(U,100));let N=G.status||"running";return{id:J,pid:z.pid,output:O.join(""),status:N,exitCode:G.exitCode}}catch(W){let K=W instanceof Error?W.message:"Unknown error";return{id:J,pid:0,output:`Error: ${K}`,status:"failed",exitCode:-1}}}var wQ=["vim","nano","less","more","top","htop","git commit","git rebase -i","crontab -e","vi","emacs"],MQ=($)=>{let Z=$.toLowerCase().trim(),X=Z.split(/\s+/);for(let Y of wQ)if(Z===Y||Z.startsWith(Y+" "))return`⚠️ 交互式命令不支持,请使用非交互模式:
|
|
369
|
+
`+' 例如: git commit -m "message" 或使用 --no-edit 参数';if(X[0]==="git"&&X[1]==="commit"){if(!(X.includes("-m")||X.includes("--message")||X.includes("--amend")||X.includes("--no-edit")))return`⚠️ 交互式命令不支持,请使用非交互模式:
|
|
370
|
+
`+' 例如: git commit -m "message" 或使用 --no-edit 参数'}return null};var X9=()=>{let[$,Z]=e1.useState(null),[X,Y]=e1.useState(!1),J=e1.useRef(null);e1.useEffect(()=>{return()=>{if(J.current)clearTimeout(J.current)}},[]);let W=e1.useCallback(()=>{if(Z(null),Y(!1),J.current)clearTimeout(J.current),J.current=null},[]);return{executeCommand:e1.useCallback(async(Q)=>{let z=Q.trim();if(!z)return null;let G=MQ(z);if(G)return Z({id:"",command:z,output:G,status:"failed"}),Y(!1),$;Y(!0);try{let O=await Z9({command:z,cwd:process.cwd()}),N={id:O.id,command:z,output:O.output||"",status:O.status||"completed",exitCode:O.exitCode,pid:O.pid};if(Z(N),Y(!1),N.status==="completed"||N.status==="failed")J.current=setTimeout(()=>{W()},5000);return N}catch(O){let N=O instanceof Error?O.message:"Unknown error",U={id:"",command:z,output:`Error executing command: ${N}`,status:"failed"};return Z(U),Y(!1),J.current=setTimeout(()=>{W()},5000),U}},[W,$]),activeCommand:$,clearOutput:W,isExecuting:X}};var c$=B(Z$(),1);var $0=B(Z$(),1),FX=B(J9(),1);function qQ($,Z){if(Z===0)return!0;let X=$[Z-1];return X===" "||X===`
|
|
371
|
+
`||X==="\t"}function AQ($,Z){let X=Z+1;while(X<$.length&&!/[\s\n\t]/.test($[X]))X++;return $.slice(Z+1,X)}function FQ($,Z,X){if(!Z)return $.slice(0,X).map((K)=>({skill:K,result:null}));let Y=$.map((K)=>({skill:K,name:FX.default.prepare(K.name.toLowerCase()),description:FX.default.prepare((K.description||"").toLowerCase())}));return FX.default.go(Z.toLowerCase(),Y,{key:"name",limit:X,threshold:-1e4}).map((K)=>({skill:K.obj.skill,result:K}))}function W9({skills:$,maxSuggestions:Z=5}){let[X,Y]=$0.useState({visible:!1,query:"",filteredSkills:[],triggerPosition:-1}),J=$0.useCallback((G,O)=>{let N=G.lastIndexOf("#");if(N===-1){Y((A)=>({...A,visible:!1,query:"",filteredSkills:[],triggerPosition:-1}));return}if(!qQ(G,N)){Y((A)=>({...A,visible:!1,query:"",filteredSkills:[],triggerPosition:-1}));return}let U=AQ(G,N),M=FQ($,U,Z);if(M.length===1&&M[0].skill.name.toLowerCase()===U.toLowerCase()){Y((A)=>({...A,visible:!1,query:"",filteredSkills:[],triggerPosition:-1}));return}Y((A)=>({...A,visible:!0,query:U,filteredSkills:M,triggerPosition:N}))},[$.length,Z]),W=$0.useCallback(()=>{if(!X.visible||X.filteredSkills.length===0)return null;return X.filteredSkills[0]?.skill??null},[X.visible,X.filteredSkills]),K=$0.useCallback((G)=>{let O=W();if(!O)return G;let N=G.slice(0,X.triggerPosition),U=G.slice(X.triggerPosition+1+X.query.length);return`${N}#${O.name} ${U}`},[W,X.triggerPosition,X.query]),Q=$0.useCallback(()=>{Y((G)=>({...G,visible:!1,query:"",filteredSkills:[],triggerPosition:-1}))},[]),z=X.visible&&X.filteredSkills.length>0;return{state:X,checkTrigger:J,getFirstSkill:W,complete:K,hide:Q,isActive:z}}var Z0=B(Z$(),1);function CQ($,Z){if(Z===0)return!0;let X=$[Z-1];return X===" "||X===`
|
|
372
|
+
`||X==="\t"}function BQ($,Z){let X=Z+1;while(X<$.length&&!/[\s\n\t]/.test($[X]))X++;return $.slice(Z+1,X)}function PQ($,Z,X){let Y=Z.toLowerCase(),J=$.filter((W)=>{let K=W.name.toLowerCase(),Q=W.id.toLowerCase();return K.startsWith(Y)||Q.includes(Y)});return J.sort((W,K)=>W.name.localeCompare(K.name)),J.slice(0,X)}function K9({agents:$,maxSuggestions:Z=5}){let[X,Y]=Z0.useState({visible:!1,query:"",filteredAgents:[],triggerPosition:-1}),J=Z0.useCallback((G,O)=>{let N=G.lastIndexOf("@");if(N===-1){Y((A)=>({...A,visible:!1,query:"",filteredAgents:[],triggerPosition:-1}));return}if(!CQ(G,N)){Y((A)=>({...A,visible:!1,query:"",filteredAgents:[],triggerPosition:-1}));return}let U=BQ(G,N),M=PQ($,U,Z);if(M.length===1&&M[0].name.toLowerCase()===U.toLowerCase()){Y((A)=>({...A,visible:!1,query:"",filteredAgents:[],triggerPosition:-1}));return}Y((A)=>({...A,visible:!0,query:U,filteredAgents:M,triggerPosition:N}))},[$.length,Z]),W=Z0.useCallback(()=>{if(!X.visible||X.filteredAgents.length===0)return null;return X.filteredAgents[0]??null},[X.visible,X.filteredAgents]),K=Z0.useCallback((G)=>{let O=W();if(!O)return G;let N=G.slice(0,X.triggerPosition),U=G.slice(X.triggerPosition+1+X.query.length);return`${N}@${O.name} ${U}`},[W,X.triggerPosition,X.query]),Q=Z0.useCallback(()=>{Y((G)=>({...G,visible:!1,query:"",filteredAgents:[],triggerPosition:-1}))},[]),z=X.visible&&X.filteredAgents.length>0;return{state:X,checkTrigger:J,getFirstAgent:W,complete:K,hide:Q,isActive:z}}var Q9=B(Z$(),1);var C1=B(V(),1);function LQ({name:$,result:Z}){if(!Z)return C1.jsxDEV(H,{color:"cyan",children:$},void 0,!1,void 0,this);let X=Z.highlight((Y)=>C1.jsxDEV(H,{color:"green",bold:!0,children:Y},void 0,!1,void 0,this));if(Array.isArray(X))return C1.jsxDEV(H,{color:"cyan",children:X.map((Y,J)=>{if(typeof Y==="string")return C1.jsxDEV(H,{children:Y},`p-${J}`,!1,void 0,this);return C1.jsxDEV(Q9.default.Fragment,{children:Y},`m-${J}`,!1,void 0,this)})},void 0,!1,void 0,this);return C1.jsxDEV(H,{color:"cyan",children:$},void 0,!1,void 0,this)}var z9=({visible:$,skills:Z,query:X,maxVisible:Y=5})=>{if(!$||Z.length===0)return null;let J=Z.slice(0,Y);return C1.jsxDEV(w,{marginBottom:1,flexDirection:"column",children:[C1.jsxDEV(H,{color:"yellow",bold:!0,children:"技能建议 (按 → 补全):"},void 0,!1,void 0,this),J.map(({skill:W,result:K})=>C1.jsxDEV(w,{children:[C1.jsxDEV(H,{children:" #"},void 0,!1,void 0,this),C1.jsxDEV(LQ,{name:W.name,result:K},void 0,!1,void 0,this)]},W.name,!0,void 0,this)),Z.length>Y&&C1.jsxDEV(H,{color:"gray",children:["...还有 ",Z.length-Y," 个技能"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)};var X1=B(V(),1);function RQ({name:$,query:Z}){if(!Z)return X1.jsxDEV(H,{color:"magenta",children:$},void 0,!1,void 0,this);let X=$.toLowerCase(),Y=Z.toLowerCase();if(X.startsWith(Y))return X1.jsxDEV(X1.Fragment,{children:[X1.jsxDEV(H,{color:"green",bold:!0,children:$.slice(0,Z.length)},void 0,!1,void 0,this),X1.jsxDEV(H,{color:"magenta",children:$.slice(Z.length)},void 0,!1,void 0,this)]},void 0,!0,void 0,this);return X1.jsxDEV(H,{color:"magenta",children:$},void 0,!1,void 0,this)}var G9=({visible:$,agents:Z,query:X,maxVisible:Y=5})=>{if(!$||Z.length===0)return null;let J=Z.slice(0,Y);return X1.jsxDEV(w,{marginBottom:1,flexDirection:"column",children:[X1.jsxDEV(H,{color:"yellow",bold:!0,children:"Agent 建议 (按 → 补全):"},void 0,!1,void 0,this),J.map((W)=>X1.jsxDEV(w,{children:[X1.jsxDEV(H,{children:" @"},void 0,!1,void 0,this),X1.jsxDEV(RQ,{name:W.name,query:X},void 0,!1,void 0,this),X1.jsxDEV(H,{dimColor:!0,children:[" - ",W.description]},void 0,!0,void 0,this)]},W.id,!0,void 0,this)),Z.length>Y&&X1.jsxDEV(H,{color:"gray",children:["...还有 ",Z.length-Y," 个 Agent"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)};function SQ($){if($.length===0)return[];let Z=[];if($.startsWith("/")){let X=$.indexOf(" ");if(X===-1)return Z.push({type:"command",value:$}),Z;let Y=$.slice(0,X),J=$.slice(X);return Z.push({type:"command",value:Y}),Z.push(...O9(J,"args")),Z}return Z.push(...O9($,"text")),Z}function O9($,Z){let X=[],Y=/(^|(?<=\s))(#[\w-]+)/g,J=0,W;while((W=Y.exec($))!==null){let K=W[2],Q=W.index+W[1].length;if(Q>J)X.push({type:Z,value:$.slice(J,Q)});X.push({type:"skill",value:K}),J=Q+K.length}if(J<$.length)X.push({type:Z,value:$.slice(J)});return X}function VQ($){return $.map(({type:Z,value:X})=>{switch(Z){case"command":return b8.cyan.bold(X);case"args":return X;case"skill":return b8.green.bold(X);case"text":return X}}).join("")}function H9($){if($.length===0)return $;let Z=SQ($);return VQ(Z)}var U9=B(Z$(),1);function w9(){let{extraParams:$}=v$(),{sendMessage:Z,loading:X}=E$(),{bufferedMessage:Y,clearBuffer:J}=CX(),W=N9();U9.useEffect(()=>{if(!X&&Y.trim()){let K=[{type:"human",content:Y}];J(),Z(K,{extraParams:$}).then(()=>{GZ("Zen Code 完成任务")}).catch((Q)=>{console.error("Failed to send buffered message:",Q)})}},[X,Y,Z,$,J,W])}var qZ=B(V(),1),M9=({value:$,onChange:Z,onSubmit:X,loading:Y,placeholder:J="输入消息...",commandHandler:W,skills:K=[],agents:Q=[]})=>{w9();let{bufferedMessage:z,setBufferedMessage:G,clearBuffer:O}=CX(),[N,U]=c$.useState($),M=c$.useRef(!1),A=W9({skills:K,maxSuggestions:5}),F=K9({agents:Q,maxSuggestions:5});c$.useEffect(()=>{if($!==N)M.current=!0,U($)},[$]);let P=c$.useMemo(()=>N.startsWith("/"),[N]),S=c$.useMemo(()=>N.startsWith("/")&&!N.includes(" "),[N]);c$.useEffect(()=>{if(!S)A.checkTrigger(N),F.checkTrigger(N)},[N,S]);let k=c$.useCallback((v)=>{if(M.current){M.current=!1;return}U(v),Z(v)},[Z]),m=c$.useCallback((v)=>{if(!v.trim())return;if(A.hide(),F.hide(),P){X(v),U("");return}if(Y)G(v),U("");else X(v),U("")},[P,Y,X,G,A,F]),h=c$.useCallback(()=>{if(F.isActive){F.hide();return}if(A.isActive){A.hide();return}if(z)O();else U("")},[z,O,A.isActive,F.isActive]),e=c$.useCallback(()=>{if(!P||!W.commandSuggestions||W.commandSuggestions.length===0)return!1;let n=W.commandSuggestions[0],g$=(n.displayText||n.command||"")+" ";return k(g$),!0},[P,W.commandSuggestions,k]),I=c$.useCallback(()=>{if(!A.isActive)return!1;let v=A.complete(N);return k(v),A.hide(),!0},[A.isActive,N,k]),x=c$.useCallback(()=>{if(!F.isActive)return!1;let v=F.complete(N);return k(v),F.hide(),!0},[F.isActive,N,k]),s=c$.useMemo(()=>{if(Y)return z?"按 Esc 清空缓冲区":"AI 响应中,Enter 将消息加入缓冲区";if(P)return"输入命令... (试试 /help,按 → 补全第一个建议)";if(F.isActive)return"按 → 补全 Agent";if(A.isActive)return"按 → 补全技能";return J},[Y,z,P,F.isActive,A.isActive,J]);return qZ.jsxDEV(w,{flexDirection:"column",children:[z&&qZ.jsxDEV(w,{padding:1,children:qZ.jsxDEV(H,{color:"yellow",children:["\uD83D\uDCDD 缓冲区: ",z.slice(0,50),z.length>50?"...":""]},void 0,!0,void 0,this)},void 0,!1,void 0,this),qZ.jsxDEV(W.CommandHintUI,{},void 0,!1,void 0,this),qZ.jsxDEV(G9,{visible:F.state.visible,agents:F.state.filteredAgents,query:F.state.query},void 0,!1,void 0,this),qZ.jsxDEV(z9,{visible:A.state.visible,skills:A.state.filteredSkills,query:A.state.query},void 0,!1,void 0,this),qZ.jsxDEV(w,{paddingY:1,children:qZ.jsxDEV(E1,{id:"global-input",value:N,onChange:k,onSubmit:m,colorizeContent:H9,onHotKey:(v,n)=>{if(n.escape)return h(),!1;if(n.rightArrow){if(F.isActive){if(x())return!1}if(A.isActive){if(I())return!1}if(e())return!1}return!0},placeholder:s},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)};var BX=B(Z$(),1);var r$=B(V(),1);var TQ=($)=>{switch($){case"running":return{icon:"⏳",color:"yellow"};case"completed":return{icon:"✓",color:"green"};case"failed":return{icon:"✗",color:"red"}}},kQ=($,Z=10)=>{if(!$)return"";let X=$.split(`
|
|
373
|
+
`);if(X.length<=Z)return $;return[...X.slice(0,Z),"... (more)"].join(`
|
|
374
|
+
`)},D8=BX.memo(({commandResult:$,onClose:Z,onStop:X})=>{let{exit:Y}=q9();if(BX.useEffect(()=>{let F=(P)=>{if(P.key==="escape")Z()};return process.stdin.on("keypress",F),()=>{process.stdin.off("keypress",F)}},[Z]),!$)return null;let{command:J,output:W,status:K,pid:Q}=$,{icon:z,color:G}=TQ(K),O=kQ(W,10),N=r$.jsxDEV(w,{justifyContent:"space-between",children:[r$.jsxDEV(w,{children:r$.jsxDEV(H,{bold:!0,color:"cyan",children:["\uD83D\uDCDF $ ",J]},void 0,!0,void 0,this)},void 0,!1,void 0,this),r$.jsxDEV(w,{children:[K==="running"&&X&&r$.jsxDEV(H,{bold:!0,color:"red",children:[" ","[⏹ 停止]"]},void 0,!0,void 0,this),r$.jsxDEV(H,{bold:!0,color:"gray",children:[" ","[×]"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),U=r$.jsxDEV(w,{flexDirection:"column",marginTop:0,children:O.split(`
|
|
375
|
+
`).map((F,P)=>r$.jsxDEV(w,{children:r$.jsxDEV(H,{color:"gray",children:F},void 0,!1,void 0,this)},P,!1,void 0,this))},void 0,!1,void 0,this),M=r$.jsxDEV(w,{justifyContent:"space-between",marginTop:0,children:[r$.jsxDEV(H,{color:G,children:[z," ",K==="running"?"Running...":K.charAt(0).toUpperCase()+K.slice(1)]},void 0,!0,void 0,this),Q&&r$.jsxDEV(H,{color:"gray",children:["PID: ",Q]},void 0,!0,void 0,this)]},void 0,!0,void 0,this);return r$.jsxDEV(w,{flexDirection:"column",paddingX:1,paddingY:0,borderStyle:"single",borderColor:"gray",width:"100%",children:[N,r$.jsxDEV(w,{children:r$.jsxDEV(H,{color:"gray",children:"────────────────────────────────────────────────────────"},void 0,!1,void 0,this)},void 0,!1,void 0,this),O&&U,M]},void 0,!0,void 0,this)});D8.displayName="ShellOutputPreview";var P0=B(V(),1),j8=PX.memo(()=>{let{userInput:$,setUserInput:Z,loading:X,renderMessages:Y,sendMessage:J}=E$(),{extraParams:W,manager:K}=v$(),{executeCommand:Q,activeCommand:z,clearOutput:G,isExecuting:O}=X9(),{switchToHistory:N,switchToKnowledge:U,switchToSettings:M,switchToModelProvider:A,switchToAgent:F,switchToTask:P,switchToMcp:S,switchToProcess:k,switchToErrors:m,closePanel:h}=H0(),{data:e=[]}=a5({manager:K}),{data:I=[]}=s5(),{startRalphLoop:x}=t5({loading:X,renderMessages:Y,sendMessage:J,setUserInput:Z,extraParams:W}),s=r5({extraParams:W,switchToHistory:N,switchToKnowledge:U,switchToSettings:M,switchToModelProvider:A,switchToAgent:F,switchToTask:P,switchToMcp:S,switchToProcess:k,switchToErrors:m,closePanel:h,startRalphLoop:x}),v=PX.useCallback(async(n)=>{if(!n)return;if(n.startsWith("!")){let J$=n.slice(1).trim();if(J$)await Q(J$),Z("");return}if(n.startsWith("/")){if(await s.executeCommand(n)){Z("");return}}await J([{type:"human",content:n}],{extraParams:W,metadata:o1}),GZ("Zen Code 完成任务")},[s,Z,Q,W,J]);return P0.jsxDEV(w,{flexDirection:"column",paddingX:0,paddingY:0,borderColor:"grey",borderTop:!0,borderStyle:"single",borderLeft:!1,borderBottom:!1,borderRight:!1,children:[z&&P0.jsxDEV(D8,{commandResult:z,onClose:G},void 0,!1,void 0,this),P0.jsxDEV(s.CommandErrorUI,{},void 0,!1,void 0,this),P0.jsxDEV(s.CommandSuccessUI,{},void 0,!1,void 0,this),P0.jsxDEV(M9,{value:$,onChange:Z,onSubmit:v,loading:X,commandHandler:{isCommandInput:s.isCommandInput,CommandHintUI:s.CommandHintUI,commandSuggestions:s.commandSuggestions},skills:e,agents:I},void 0,!1,void 0,this)]},void 0,!0,void 0,this)});j8.displayName="ChatInput";var B1=B(V(),1),IQ=()=>{let{renderMessages:$,currentChatId:Z,getToolUIRender:X,loading:Y}=E$(),{compactMode:J}=v$(),[W]=A9($,50),K=C9.useCallback((Q)=>X(Q),[X]);return B1.jsxDEV(w,{flexDirection:"column",flexGrow:1,paddingX:0,paddingY:0,children:[W.length===0&&B1.jsxDEV(I5,{},void 0,!1,void 0,this),W.length?J?B1.jsxDEV(k8,{renderMessages:W,startIndex:0,staticKey:Z,getToolUIRender:K,loading:Y},Z,!1,void 0,this):B1.jsxDEV(R5,{loading:Y,renderMessages:W,startIndex:0,staticKey:Z},void 0,!1,void 0,this):null]},void 0,!0,void 0,this)},y8=()=>{let{hasPendingInteractions:$}=R1();return B1.jsxDEV(w,{flexDirection:"column",flexGrow:1,children:[B1.jsxDEV(H$,{name:"ChatMessages",fallback:null,children:B1.jsxDEV(IQ,{},void 0,!1,void 0,this)},void 0,!1,void 0,this),B1.jsxDEV(F9,{children:B1.jsxDEV(H$,{name:"InteractionArea",fallback:null,children:$?B1.jsxDEV(w,{paddingX:0,paddingY:0,children:B1.jsxDEV(w8,{},void 0,!1,void 0,this)},void 0,!1,void 0,this):B1.jsxDEV(j8,{},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)};y8.displayName="ChatMain";var I1=B(Z$(),1);var $Z=B(Z$(),1),B9=$Z.lazy(()=>import("./chunk-mt1g6g89.js").then(($)=>({default:$.default}))),P9=$Z.lazy(()=>import("./chunk-b4vvgbav.js").then(($)=>({default:$.default}))),L9=$Z.lazy(()=>import("./chunk-jjcmm167.js").then(($)=>({default:$.default}))),R9=$Z.lazy(()=>import("./chunk-r10bn684.js").then(($)=>({default:$.default}))),S9=$Z.lazy(()=>import("./chunk-9x562s6p.js").then(($)=>({default:$.default}))),V9=$Z.lazy(()=>import("./chunk-z8n7y37k.js").then(($)=>({default:$.default}))),T9=$Z.lazy(()=>import("./chunk-9k64296h.js").then(($)=>({default:$.default}))),k9=$Z.lazy(()=>import("./chunk-8ty2zfve.js").then(($)=>({default:$.default}))),I9=$Z.lazy(()=>import("./chunk-zxqmghzf.js").then(($)=>({default:$.default})));var r=B(V(),1),AZ=()=>r.jsxDEV(w,{paddingX:1,paddingY:1,children:r.jsxDEV(H,{color:"grey",children:"Loading..."},void 0,!1,void 0,this)},void 0,!1,void 0,this),FZ=($)=>r.jsxDEV(w,{paddingX:1,paddingY:1,children:[r.jsxDEV(H,{color:"red",children:["✗ ",$," panel error"]},void 0,!0,void 0,this),r.jsxDEV(w,{marginTop:1,children:r.jsxDEV(H,{color:"gray",children:"Try reopening or press ESC to return"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),E8=I1.memo(()=>{let{activeView:$,closePanel:Z,handleExecuteTask:X}=H0();return r.jsxDEV(w,{flexGrow:1,flexDirection:"row",children:[$==="history"&&r.jsxDEV(I1.Suspense,{fallback:r.jsxDEV(AZ,{},void 0,!1,void 0,this),children:r.jsxDEV(H$,{name:"HistoryPanel",fallback:FZ("History"),children:r.jsxDEV(B9,{onClose:Z},void 0,!1,void 0,this)},"history-panel",!1,void 0,this)},"history-suspense",!1,void 0,this),$==="knowledge"&&r.jsxDEV(I1.Suspense,{fallback:r.jsxDEV(AZ,{},void 0,!1,void 0,this),children:r.jsxDEV(H$,{name:"KnowledgePanel",fallback:FZ("Knowledge"),children:r.jsxDEV(P9,{onClose:Z},void 0,!1,void 0,this)},"knowledge-panel",!1,void 0,this)},"knowledge-suspense",!1,void 0,this),$==="settings"&&r.jsxDEV(I1.Suspense,{fallback:r.jsxDEV(AZ,{},void 0,!1,void 0,this),children:r.jsxDEV(H$,{name:"SettingsPanel",fallback:FZ("Settings"),children:r.jsxDEV(L9,{onClose:Z},void 0,!1,void 0,this)},"settings-panel",!1,void 0,this)},"settings-suspense",!1,void 0,this),$==="model-provider"&&r.jsxDEV(I1.Suspense,{fallback:r.jsxDEV(AZ,{},void 0,!1,void 0,this),children:r.jsxDEV(H$,{name:"ModelProviderPanel",fallback:FZ("Model Provider"),children:r.jsxDEV(R9,{onClose:Z},void 0,!1,void 0,this)},"model-provider-panel",!1,void 0,this)},"model-provider-suspense",!1,void 0,this),$==="agent"&&r.jsxDEV(I1.Suspense,{fallback:r.jsxDEV(AZ,{},void 0,!1,void 0,this),children:r.jsxDEV(H$,{name:"AgentPanel",fallback:FZ("Agent"),children:r.jsxDEV(S9,{onClose:Z},void 0,!1,void 0,this)},"agent-panel",!1,void 0,this)},"agent-suspense",!1,void 0,this),$==="task"&&r.jsxDEV(I1.Suspense,{fallback:r.jsxDEV(AZ,{},void 0,!1,void 0,this),children:r.jsxDEV(H$,{name:"TaskPanel",fallback:FZ("Task"),children:r.jsxDEV(V9,{onClose:Z,onExecuteTask:X},void 0,!1,void 0,this)},"task-panel",!1,void 0,this)},"task-suspense",!1,void 0,this),$==="mcp"&&r.jsxDEV(I1.Suspense,{fallback:r.jsxDEV(AZ,{},void 0,!1,void 0,this),children:r.jsxDEV(H$,{name:"McpPanel",fallback:FZ("MCP"),children:r.jsxDEV(T9,{onClose:Z},void 0,!1,void 0,this)},"mcp-panel",!1,void 0,this)},"mcp-suspense",!1,void 0,this),$==="process"&&r.jsxDEV(I1.Suspense,{fallback:r.jsxDEV(AZ,{},void 0,!1,void 0,this),children:r.jsxDEV(H$,{name:"ProcessPanel",fallback:FZ("Process"),children:r.jsxDEV(k9,{onClose:Z},void 0,!1,void 0,this)},"process-panel",!1,void 0,this)},"process-suspense",!1,void 0,this),$==="errors"&&r.jsxDEV(I1.Suspense,{fallback:r.jsxDEV(AZ,{},void 0,!1,void 0,this),children:r.jsxDEV(H$,{name:"ErrorPanel",fallback:FZ("Errors"),children:r.jsxDEV(I9,{onClose:Z},void 0,!1,void 0,this)},"errors-panel",!1,void 0,this)},"errors-suspense",!1,void 0,this)]},void 0,!0,void 0,this)});E8.displayName="LazyChatViewManager";var vZ=B(Z$(),1);var b9=B(Z$(),1);var LX=B(V(),1),D9=()=>{let{renderMessages:$}=E$(),Z=b9.default.useMemo(()=>{if(!$)return null;for(let X=$.length-1;X>=0;X--){let Y=$[X];if(Y.role==="assistant"&&Y.content)try{let W=(Array.isArray(Y.content)?Y.content:[{type:"text",text:Y.content}]).find((K)=>K.type==="text")?.text||"";if(W.includes("load_mcp_tools"))try{let K=JSON.parse(W);if(K.status&&K.status.toolCount!==void 0)return K.status}catch(K){}}catch(J){}}return null},[$]);if(!Z||Z.toolCount===0)return null;return LX.jsxDEV(w,{paddingX:1,children:[LX.jsxDEV(H,{color:"green",bold:!0,children:"MCP"},void 0,!1,void 0,this),LX.jsxDEV(H,{color:"cyan",children:[" ",Z.toolCount]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)};var u1=B(Z$(),1);function _8($){if($===0)return"0";if($<1024)return`${$}`;if($<1048576)return`${($/1024).toFixed(0)}K`;if($<1073741824)return`${($/1048576).toFixed(0)}M`;return`${($/1073741824).toFixed(1)}G`}function j9($){let Z=Math.floor($/1000),X=Math.floor(Z/3600),Y=Math.floor(Z%3600/60),J=Z%60;if(X>0)return`${X}:${String(Y).padStart(2,"0")}:${String(J).padStart(2,"0")}`;return`${String(Y).padStart(2,"0")}:${String(J).padStart(2,"0")}`}function y9($){let[Z,X]=u1.useState(0),Y=u1.useRef(null);return u1.useEffect(()=>{if($)Y.current=Date.now(),X(0);else Y.current=null,X(0)},[$]),v8(()=>{if(Y.current)X(Date.now()-Y.current)},$?1000:null),Z}function E9(){let[$,Z]=u1.useState({cpuPercent:0,memoryRSS:0,memoryHeapUsed:0,memoryHeapTotal:0}),X=u1.useRef(process.cpuUsage()),Y=u1.useRef(Date.now()),J=()=>{let W=Date.now(),K=process.cpuUsage(),Q=process.memoryUsage(),z=W-Y.current,G=K.user-X.current.user,O=K.system-X.current.system,U=(G+O)/1000/z*100;Z({cpuPercent:Math.min(100,Math.max(0,U)),memoryRSS:Q.rss,memoryHeapUsed:Q.heapUsed,memoryHeapTotal:Q.heapTotal}),X.current=K,Y.current=W};return u1.useEffect(()=>{J()},[]),v8(J,2000),$}function v9($){if($<50)return"green";if($<80)return"yellow";return"red"}function _9($,Z){if(Z===0)return"gray";let X=$/Z*100;if(X<50)return"green";if(X<80)return"yellow";return"red"}var CZ=B(V(),1),bQ=()=>{let $=E9(),Z=v9($.cpuPercent),X=_9($.memoryHeapUsed,$.memoryHeapTotal);return CZ.jsxDEV(w,{paddingX:1,width:"100%",children:CZ.jsxDEV(w,{gap:2,children:[CZ.jsxDEV(w,{children:[CZ.jsxDEV(H,{dimColor:!0,children:"CPU:"},void 0,!1,void 0,this),CZ.jsxDEV(H,{color:Z,children:[" ",$.cpuPercent.toFixed(0),"%"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),CZ.jsxDEV(w,{children:[CZ.jsxDEV(H,{dimColor:!0,children:"MEM:"},void 0,!1,void 0,this),CZ.jsxDEV(H,{color:X,children:[_8($.memoryHeapUsed),"/",_8($.memoryRSS)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)},f9=bQ;var h$=B(V(),1);import DQ from"path";var jQ=()=>{let{extraParams:$,compactMode:Z,showDetailedInfo:X}=v$(),{currentChatId:Y,renderMessages:J}=E$(),{loading:W,stopGeneration:K}=E$(),Q=process.env.YOLO_MODE==="true",[z,G]=vZ.useState(0);vZ.useEffect(()=>{let F=async()=>{let S=await g9.getProcessList();G(S.length)};F();let P=setInterval(F,2000);return()=>clearInterval(P)},[]);let O=vZ.useCallback((F,P)=>{if(P.ctrl&&F==="c")process.exit()},[W,K]);T1(O);let N=y9(W),U=vZ.default.useMemo(()=>{return DQ.basename(process.cwd())},[]),A=(J?.length||0)>100;return h$.jsxDEV(w,{flexDirection:"column",width:"100%",children:[h$.jsxDEV(w,{paddingX:1,paddingY:0,justifyContent:"space-between",width:"100%",marginBottom:1,children:[h$.jsxDEV(w,{gap:1,children:[W&&h$.jsxDEV(H,{color:"yellow",bold:!0,children:h$.jsxDEV(h9,{text:"LOADING"},void 0,!1,void 0,this)},void 0,!1,void 0,this),!W&&h$.jsxDEV(H,{color:"magenta",bold:!0,children:"Zen Code"},void 0,!1,void 0,this),h$.jsxDEV(H,{color:"cyan",bold:!0,children:[" ",$.model_id]},void 0,!0,void 0,this),h$.jsxDEV(H,{color:"yellow",bold:!0,children:[" ","@",$.switch_command||"default"]},void 0,!0,void 0,this),!Z&&h$.jsxDEV(H,{color:"blue",bold:!0,children:[" ","[FULL]"]},void 0,!0,void 0,this),Q&&h$.jsxDEV(H,{color:"red",bold:!0,children:[" ","YOLO"]},void 0,!0,void 0,this),h$.jsxDEV(D9,{},void 0,!1,void 0,this),z>0&&h$.jsxDEV(H,{color:"magenta",bold:!0,children:[" ","● BG (",z,")"]},void 0,!0,void 0,this),A&&h$.jsxDEV(H,{color:"red",bold:!0,children:[" ","/summary"]},void 0,!0,void 0,this),h$.jsxDEV(H,{color:"green",bold:!0,children:J.length},void 0,!1,void 0,this),h$.jsxDEV(H,{color:"blue",children:U},void 0,!1,void 0,this)]},void 0,!0,void 0,this),W&&h$.jsxDEV(w,{children:h$.jsxDEV(H,{color:"yellow",children:j9(N)},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),X&&h$.jsxDEV(f9,{},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},m9=jQ;var F$=B(V(),1),yQ=()=>{let{activeView:$}=H0();return F$.jsxDEV(w,{flexDirection:"column",width:"100%",children:[F$.jsxDEV(w,{flexGrow:1,flexDirection:"row",children:[F$.jsxDEV(H$,{name:"ChatMain",fallback:F$.jsxDEV(H,{color:"yellow",children:"Chat view unavailable"},void 0,!1,void 0,this),children:$==="chat"?F$.jsxDEV(y8,{},void 0,!1,void 0,this):null},"chat-main-view",!1,void 0,this),F$.jsxDEV(H$,{name:"PanelView",fallback:F$.jsxDEV(H,{color:"yellow",children:"Panel unavailable"},void 0,!1,void 0,this),children:$!=="chat"?F$.jsxDEV(E8,{},void 0,!1,void 0,this):null},"panel-view",!1,void 0,this)]},void 0,!0,void 0,this),F$.jsxDEV(H$,{name:"StatusBar",fallback:null,children:F$.jsxDEV(m9,{},void 0,!1,void 0,this)},"status-bar",!1,void 0,this)]},void 0,!0,void 0,this)},EQ=()=>{return F$.jsxDEV(H$,{name:"Chat",children:F$.jsxDEV(n7,{children:F$.jsxDEV(yQ,{},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)},vQ=({children:$})=>{return F$.jsxDEV(x9,{apiUrl:"http://127.0.0.1:8123",defaultAgent:"code",defaultHeaders:{},withCredentials:!1,showHistory:!1,showGraph:!1,onInitError:(Z,X)=>{console.error(Z,X),import("./chunk-fw3nrwpf.js").then(({logAgentError:Y})=>{Y("ChatProvider",Z)}).catch(()=>{})},fetch:J6,autoRestoreLastSession:!0,historyFilter:{metadata:{path:process.cwd()}},children:$},void 0,!1,void 0,this)},_Q=()=>{return F$.jsxDEV(H$,{name:"AppRoot",children:F$.jsxDEV(H$,{name:"TanStackQueryProvider",children:F$.jsxDEV(u8,{children:F$.jsxDEV(H$,{name:"SettingsProvider",children:F$.jsxDEV(c9,{get_allowed_models:a6,children:F$.jsxDEV(vQ,{children:F$.jsxDEV(H$,{name:"ApprovalProvider",children:F$.jsxDEV(u9,{children:F$.jsxDEV(H$,{name:"InteractionProvider",children:F$.jsxDEV(V4,{children:F$.jsxDEV(EQ,{},void 0,!1,void 0,this)},void 0,!1,void 0,this)},"interaction-provider",!1,void 0,this)},void 0,!1,void 0,this)},"approval-provider",!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)},"settings-provider",!1,void 0,this)},void 0,!1,void 0,this)},"tanstack-query-provider",!1,void 0,this)},"app-root",!1,void 0,this)},fQ=()=>F$.jsxDEV(_Q,{},void 0,!1,void 0,this),f8=fQ;var c1=B(V(),1),hQ=({error:$})=>c1.jsxDEV(w,{flexDirection:"column",padding:2,borderStyle:"double",borderColor:"red",children:[c1.jsxDEV(H,{color:"red",bold:!0,children:"✗ Application Crashed"},void 0,!1,void 0,this),c1.jsxDEV(w,{marginTop:1,children:c1.jsxDEV(H,{color:"red",children:$.message},void 0,!1,void 0,this)},void 0,!1,void 0,this),c1.jsxDEV(w,{marginTop:1,children:c1.jsxDEV(H,{color:"gray",children:["Stack: ",$.stack?.split(`
|
|
333
376
|
`).slice(0,3).join(`
|
|
334
|
-
`)]},void 0,!0,void 0,this)},void 0,!1,void 0,this),
|
|
377
|
+
`)]},void 0,!0,void 0,this)},void 0,!1,void 0,this),c1.jsxDEV(w,{marginTop:1,children:c1.jsxDEV(H,{color:"blue",children:"Press Ctrl+C to exit"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this);try{h8(c1.jsxDEV(f8,{},void 0,!1,void 0,this),{exitOnCtrlC:!1})}catch($){console.error("Critical rendering error:",$),h8(c1.jsxDEV(hQ,{error:$},void 0,!1,void 0,this))}process.on("unhandledRejection",($,Z)=>{console.error("Unhandled Rejection at:",Z,"reason:",$)});process.on("uncaughtException",($)=>{console.error("Uncaught Exception:",$)});
|