zen-code 4.9.1 → 4.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (123) hide show
  1. package/dist/app.js +175 -166
  2. package/dist/chunk-075hks9v.js +1 -0
  3. package/dist/chunk-0fj768k4.js +112 -0
  4. package/dist/chunk-19mf2aa7.js +1 -0
  5. package/dist/chunk-1mq2jmfy.js +2 -0
  6. package/dist/chunk-1v863afn.js +278 -0
  7. package/dist/chunk-1vn8d8b8.js +1 -0
  8. package/dist/{chunk-mmq834zt.js → chunk-1w19w1bm.js} +1 -1
  9. package/dist/chunk-3dnayvgx.js +224 -0
  10. package/dist/chunk-4hg13vwj.js +1 -0
  11. package/dist/chunk-4scrkcqv.js +1 -0
  12. package/dist/chunk-54cdhhqm.js +1 -0
  13. package/dist/chunk-5m4yb9av.js +91 -0
  14. package/dist/chunk-5yd4ntp6.js +8 -0
  15. package/dist/{chunk-b52b0t16.js → chunk-6scjjkn3.js} +1 -1
  16. package/dist/chunk-7jatn15w.js +2 -0
  17. package/dist/{chunk-4nsg4vcd.js → chunk-7w9y11hj.js} +1 -1
  18. package/dist/chunk-7yzv6385.js +1 -0
  19. package/dist/{chunk-g377vrpj.js → chunk-875hayaj.js} +3 -3
  20. package/dist/chunk-8bs8r50r.js +1 -0
  21. package/dist/chunk-8waww0j9.js +6 -0
  22. package/dist/chunk-8ysg0rga.js +1 -0
  23. package/dist/chunk-9czhw5k6.js +4 -0
  24. package/dist/chunk-9tgp14v7.js +16 -0
  25. package/dist/chunk-a239dn0b.js +1 -0
  26. package/dist/chunk-arv4h3h1.js +2 -0
  27. package/dist/chunk-b2551zfb.js +2 -0
  28. package/dist/chunk-b9emn03n.js +1 -0
  29. package/dist/chunk-bm7578sn.js +1 -0
  30. package/dist/{chunk-1y82m5kn.js → chunk-bytq4kd1.js} +3 -125
  31. package/dist/chunk-c2wfgbj6.js +1 -0
  32. package/dist/{chunk-gcm4jp0d.js → chunk-cef4vbtb.js} +1 -1
  33. package/dist/chunk-cnzhxgn5.js +4 -0
  34. package/dist/chunk-d2770b2z.js +1 -0
  35. package/dist/chunk-d72063sm.js +2 -0
  36. package/dist/{chunk-9k5d9vf1.js → chunk-d988tv30.js} +1 -1
  37. package/dist/{chunk-va71tsw3.js → chunk-dx9k6sdd.js} +3 -3
  38. package/dist/chunk-e6ggkg36.js +2 -0
  39. package/dist/chunk-fjqtrakn.js +1 -0
  40. package/dist/chunk-gbfpab0j.js +1 -0
  41. package/dist/chunk-gkvx829z.js +1 -0
  42. package/dist/{chunk-9dahn9h7.js → chunk-gwf8b14k.js} +1 -1
  43. package/dist/chunk-gz7fz9fg.js +1 -0
  44. package/dist/chunk-h0q3dvnv.js +5 -0
  45. package/dist/chunk-h0qb9jk1.js +1 -0
  46. package/dist/chunk-h9y136h8.js +1 -0
  47. package/dist/chunk-hrcxdj3c.js +54 -0
  48. package/dist/chunk-hz9yw7cs.js +166 -0
  49. package/dist/chunk-j4y5rjne.js +79 -0
  50. package/dist/chunk-k12y05c3.js +3 -0
  51. package/dist/chunk-k6fxqssr.js +18 -0
  52. package/dist/{chunk-rncpxz1b.js → chunk-kmxdq21k.js} +2 -2
  53. package/dist/chunk-mcb8rewr.js +213 -0
  54. package/dist/{chunk-wn43r152.js → chunk-mm9w91rj.js} +1 -1
  55. package/dist/chunk-mv0xzmq8.js +2 -0
  56. package/dist/chunk-n849zsd3.js +1 -0
  57. package/dist/chunk-nm253hhf.js +81 -0
  58. package/dist/chunk-prg6489q.js +1 -0
  59. package/dist/{chunk-cggjws6a.js → chunk-pxdgy0vr.js} +1 -1
  60. package/dist/chunk-qhzm2qw9.js +2 -0
  61. package/dist/{chunk-98f6hg43.js → chunk-qmxtys9q.js} +1 -1
  62. package/dist/chunk-r0cfe5c1.js +294 -0
  63. package/dist/chunk-rtjytfhh.js +1 -0
  64. package/dist/chunk-s7ttf0pm.js +2 -0
  65. package/dist/chunk-t01t72t2.js +140 -0
  66. package/dist/{chunk-ns6tjjkq.js → chunk-t0f66x64.js} +1 -1
  67. package/dist/chunk-tn356gwf.js +93 -0
  68. package/dist/chunk-vd8kwzra.js +41 -0
  69. package/dist/chunk-vhn13anh.js +233 -0
  70. package/dist/chunk-vnewbtjy.js +1 -0
  71. package/dist/chunk-wbm7rn9w.js +2 -0
  72. package/dist/chunk-wd3gkd45.js +3 -0
  73. package/dist/chunk-whdf0vbb.js +1 -0
  74. package/dist/{chunk-j7a40ww9.js → chunk-ws232ksq.js} +2 -2
  75. package/dist/{chunk-8g2zdcy0.js → chunk-yerf10k7.js} +1 -1
  76. package/dist/{chunk-heasksrr.js → chunk-yzv3n8mw.js} +2 -2
  77. package/dist/chunk-z3e4c424.js +2 -0
  78. package/dist/chunk-znw7fpep.js +6 -0
  79. package/dist/chunk-zq2g4rfd.js +1 -0
  80. package/dist/cli.js +1 -1
  81. package/dist/nonInteractive.js +314 -4
  82. package/dist/zen-keyboard.js +1 -1
  83. package/package.json +37 -37
  84. package/dist/chunk-02vv5584.js +0 -1
  85. package/dist/chunk-13nyfrmm.js +0 -310
  86. package/dist/chunk-1edvf7b5.js +0 -1
  87. package/dist/chunk-1rmnbdef.js +0 -1
  88. package/dist/chunk-1ttywx0y.js +0 -6
  89. package/dist/chunk-30sq2w0d.js +0 -8
  90. package/dist/chunk-32ase1cw.js +0 -2
  91. package/dist/chunk-3490ntd8.js +0 -1
  92. package/dist/chunk-3pcybja5.js +0 -7
  93. package/dist/chunk-5rr85f28.js +0 -1
  94. package/dist/chunk-5x8nxw0t.js +0 -137
  95. package/dist/chunk-6rfc36jg.js +0 -1
  96. package/dist/chunk-76h8pe7x.js +0 -2
  97. package/dist/chunk-7kdvr78m.js +0 -31
  98. package/dist/chunk-8z38ybz7.js +0 -1
  99. package/dist/chunk-b8dxq9rq.js +0 -1
  100. package/dist/chunk-cjqarwdn.js +0 -1
  101. package/dist/chunk-cs73xbzz.js +0 -1
  102. package/dist/chunk-cyexd09c.js +0 -2
  103. package/dist/chunk-ep2es95e.js +0 -81
  104. package/dist/chunk-f8ewggk1.js +0 -1
  105. package/dist/chunk-g7pm00z7.js +0 -253
  106. package/dist/chunk-hfve7nf5.js +0 -2
  107. package/dist/chunk-j9aysaeb.js +0 -1
  108. package/dist/chunk-jbf8ve63.js +0 -3
  109. package/dist/chunk-jfhc5c0d.js +0 -1
  110. package/dist/chunk-jxsfzfac.js +0 -2
  111. package/dist/chunk-kba8akjs.js +0 -2
  112. package/dist/chunk-m76ya904.js +0 -1
  113. package/dist/chunk-mjzeawnq.js +0 -6
  114. package/dist/chunk-nwy6n6b6.js +0 -274
  115. package/dist/chunk-qd305hg1.js +0 -1
  116. package/dist/chunk-qez6ejd4.js +0 -1
  117. package/dist/chunk-r2h3x9zv.js +0 -2
  118. package/dist/chunk-rz3b356n.js +0 -1
  119. package/dist/chunk-trjpzw1n.js +0 -91
  120. package/dist/chunk-xhnvpygg.js +0 -2
  121. package/dist/chunk-xkz5z0zn.js +0 -1
  122. package/dist/chunk-zwxjkwqd.js +0 -26
  123. package/dist/chunk-zz32kgt2.js +0 -1
package/dist/app.js CHANGED
@@ -1,52 +1,66 @@
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
- `;U+=`data: ${_}
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}
8
-
9
- `;if(Z+=`**描述:**
10
- ${$.description}
11
-
12
- `,$.agentType)Z+=`**建议 Agent 类型:** ${$.agentType}
13
-
14
- `;if($.estimatedTime)Z+=`**预估时间:** ${$.estimatedTime}
15
-
16
- `;if($.complexity)Z+=`**复杂度:** ${$.complexity}
17
-
18
- `;if($.dependencies&&$.dependencies.length>0)Z+=`**依赖任务:**
19
- ${$.dependencies.map((Y)=>`- ${Y}`).join(`
20
- `)}
21
-
22
- `;if($.acceptanceCriteria&&$.acceptanceCriteria.length>0)Z+=`**验收标准:**
23
- ${$.acceptanceCriteria.map((Y,J)=>`${J+1}. ${Y}`).join(`
24
- `)}
25
-
26
- `;if($.children&&$.children.length>0)Z+=`**子任务:**
27
- `,$.children.forEach((Y,J)=>{if(Z+=`
28
- ### 子任务 ${J+1}: ${Y.title}
29
- `,Z+=`${Y.description}
30
- `,Y.acceptanceCriteria&&Y.acceptanceCriteria.length>0)Z+=`验收标准:
31
- ${Y.acceptanceCriteria.map((X)=>`- ${X}`).join(`
1
+ import{h as c7,i as p7}from"./chunk-ws232ksq.js";import{j as p1,k as i9}from"./chunk-d72063sm.js";import{l as w1,m as c9}from"./chunk-5yd4ntp6.js";import{o as RZ,p as S8,q as I0,s as R0,t as V8,u as $4}from"./chunk-e6ggkg36.js";import{A as d1,B as d9,v as W6,w as R1,x as T1,y as h1,z as V6}from"./chunk-7jatn15w.js";import"./chunk-yzv3n8mw.js";import{D as V7,E as o4,F as i7,G as l9,H as R9,I as F8,J as S0,K as VZ}from"./chunk-4hg13vwj.js";import{L as Q7,M as y6,N as M7,P as L9,Q as A9,R as M0}from"./chunk-kmxdq21k.js";import{S as h6,T as SK,V as g6,W as w8,Y as M8}from"./chunk-dx9k6sdd.js";import"./chunk-cnzhxgn5.js";import{te as b7}from"./chunk-bytq4kd1.js";import{we as C$,xe as s4}from"./chunk-k12y05c3.js";import{Ae as T6,Be as w,Ce as N,De as _6,Ee as O8,Ge as P9,He as F7,Ie as H7,Je as i0,Ke as b0,Le as V,Me as y0,Oe as p4,Qe as u9,Re as AX,ye as e,ze as LX}from"./chunk-1v863afn.js";import{Ue as Z5}from"./chunk-9czhw5k6.js";import"./chunk-vhn13anh.js";import{$e as j8,We as f7,Xe as y7,Ye as S$,Ze as tY,_e as eY,af as n6,bf as r6,cf as D7,df as k7,ff as Z9}from"./chunk-mcb8rewr.js";import"./chunk-d2770b2z.js";import"./chunk-mv0xzmq8.js";import"./chunk-znw7fpep.js";import"./chunk-pxdgy0vr.js";import"./chunk-k6fxqssr.js";import{pf as i5,qf as o5}from"./chunk-0fj768k4.js";import"./chunk-1mq2jmfy.js";import"./chunk-3dnayvgx.js";import"./chunk-8waww0j9.js";import"./chunk-h0q3dvnv.js";import"./chunk-hrcxdj3c.js";import"./chunk-9tgp14v7.js";import"./chunk-hz9yw7cs.js";import"./chunk-tn356gwf.js";import"./chunk-n849zsd3.js";import"./chunk-t01t72t2.js";import{Lk as q}from"./chunk-b2551zfb.js";import{vl as j}from"./chunk-vd8kwzra.js";import"./chunk-qhzm2qw9.js";import{El as AQ,zl as $9}from"./chunk-arv4h3h1.js";import{Fl as B,Hl as B7,Jl as YW,Kl as f0}from"./chunk-z3e4c424.js";class K7{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 S4;var eZ=YW(()=>{S4=new K7});var P7=B7((O3,M$)=>{var k=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},A1=-1,C1=1,s=0;k.Diff=function($,Z){return[$,Z]};k.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 k.Diff(s,$)];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 k.Diff(s,Q));if(z)G.push(new k.Diff(s,z));return this.diff_cleanupMerge(G),G};k.prototype.diff_compute_=function($,Z,X,Y){var J;if(!$)return[new k.Diff(C1,Z)];if(!Z)return[new k.Diff(A1,$)];var W=$.length>Z.length?$:Z,K=$.length>Z.length?Z:$,Q=W.indexOf(K);if(Q!=-1){if(J=[new k.Diff(C1,W.substring(0,Q)),new k.Diff(s,K),new k.Diff(C1,W.substring(Q+K.length))],$.length>Z.length)J[0][0]=J[2][0]=A1;return J}if(K.length==1)return[new k.Diff(A1,$),new k.Diff(C1,Z)];var z=this.diff_halfMatch_($,Z);if(z){var G=z[0],O=z[1],H=z[2],U=z[3],M=z[4],A=this.diff_main(G,H,X,Y),F=this.diff_main(O,U,X,Y);return A.concat([new k.Diff(s,M)],F)}if(X&&$.length>100&&Z.length>100)return this.diff_lineMode_($,Z,Y);return this.diff_bisect_($,Z,Y)};k.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 k.Diff(s,""));var K=0,Q=0,z=0,G="",O="";while(K<W.length){switch(W[K][0]){case C1:z++,O+=W[K][1];break;case A1:Q++,G+=W[K][1];break;case s:if(Q>=1&&z>=1){W.splice(K-Q-z,Q+z),K=K-Q-z;var H=this.diff_main(G,O,!1,X);for(var U=H.length-1;U>=0;U--)W.splice(K,0,H[U]);K=K+H.length}z=0,Q=0,G="",O="";break}K++}return W.pop(),W};k.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 H=Y-J,U=H%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 T=-S+M;T<=S-A;T+=2){var p=K+T,f;if(T==-S||T!=S&&z[p-1]<z[p+1])f=z[p+1];else f=z[p-1]+1;var a=f-T;while(f<Y&&a<J&&$.charAt(f)==Z.charAt(a))f++,a++;if(z[p]=f,f>Y)A+=2;else if(a>J)M+=2;else if(U){var b=K+H-T;if(b>=0&&b<Q&&G[b]!=-1){var _=Y-G[b];if(f>=_)return this.diff_bisectSplit_($,Z,f,a,X)}}}for(var Z1=-S+F;Z1<=S-P;Z1+=2){var b=K+Z1,_;if(Z1==-S||Z1!=S&&G[b-1]<G[b+1])_=G[b+1];else _=G[b-1]+1;var E=_-Z1;while(_<Y&&E<J&&$.charAt(Y-_-1)==Z.charAt(J-E-1))_++,E++;if(G[b]=_,_>Y)P+=2;else if(E>J)F+=2;else if(!U){var p=K+H-Z1;if(p>=0&&p<Q&&z[p]!=-1){var f=z[p],a=K+f-p;if(_=Y-_,f>=_)return this.diff_bisectSplit_($,Z,f,a,X)}}}}return[new k.Diff(A1,$),new k.Diff(C1,Z)]};k.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)};k.prototype.diff_linesToChars_=function($,Z){var X=[],Y={};X[0]="";function J(z){var G="",O=0,H=-1,U=X.length;while(H<z.length-1){if(H=z.indexOf(`
2
+ `,O),H==-1)H=z.length-1;var M=z.substring(O,H+1);if(Y.hasOwnProperty?Y.hasOwnProperty(M):Y[M]!==void 0)G+=String.fromCharCode(Y[M]);else{if(U==W)M=z.substring(O),H=z.length;G+=String.fromCharCode(U),Y[M]=U,X[U++]=M}O=H+1}return G}var W=40000,K=J($);W=65535;var Q=J(Z);return{chars1:K,chars2:Q,lineArray:X}};k.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("")}};k.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};k.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};k.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++}};k.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)),T=-1,p="",f,a,b,_;while((T=F.indexOf(S,T+1))!=-1){var Z1=J.diff_commonPrefix(A.substring(P),F.substring(T)),E=J.diff_commonSuffix(A.substring(0,P),F.substring(0,T));if(p.length<E+Z1)p=F.substring(T-E,T)+F.substring(T,T+Z1),f=A.substring(0,P-E),a=A.substring(P+Z1),b=F.substring(0,T-E),_=F.substring(T+Z1)}if(p.length*2>=A.length)return[f,a,b,_,p];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,H,U;if($.length>Z.length)G=z[0],O=z[1],H=z[2],U=z[3];else H=z[0],U=z[1],G=z[2],O=z[3];var M=z[4];return[G,O,H,U,M]};k.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]==s)X[Y++]=W,K=z,Q=G,z=0,G=0,J=$[W][1];else{if($[W][0]==C1)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 k.Diff(A1,J)),$[X[Y-1]+1][0]=C1,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]==A1&&$[W][0]==C1){var O=$[W-1][1],H=$[W][1],U=this.diff_commonOverlap_(O,H),M=this.diff_commonOverlap_(H,O);if(U>=M){if(U>=O.length/2||U>=H.length/2)$.splice(W,0,new k.Diff(s,H.substring(0,U))),$[W-1][1]=O.substring(0,O.length-U),$[W+1][1]=H.substring(U),W++}else if(M>=O.length/2||M>=H.length/2)$.splice(W,0,new k.Diff(s,O.substring(0,M))),$[W-1][0]=C1,$[W-1][1]=H.substring(0,H.length-M),$[W+1][0]=A1,$[W+1][1]=O.substring(M),W++;W++}W++}};k.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(k.nonAlphaNumericRegex_),T=P.match(k.nonAlphaNumericRegex_),p=S&&F.match(k.whitespaceRegex_),f=T&&P.match(k.whitespaceRegex_),a=p&&F.match(k.linebreakRegex_),b=f&&P.match(k.linebreakRegex_),_=a&&M.match(k.blanklineEndRegex_),Z1=b&&A.match(k.blanklineStartRegex_);if(_||Z1)return 5;else if(a||b)return 4;else if(S&&!p&&f)return 3;else if(p||f)return 2;else if(S||T)return 1;return 0}var X=1;while(X<$.length-1){if($[X-1][0]==s&&$[X+1][0]==s){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,H=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>=H)H=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++}};k.nonAlphaNumericRegex_=/[^a-zA-Z0-9]/;k.whitespaceRegex_=/\s/;k.linebreakRegex_=/[\r\n]/;k.blanklineEndRegex_=/\n\r?\n$/;k.blanklineStartRegex_=/^\r?\n\r?\n/;k.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]==s){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]==A1)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 k.Diff(A1,J)),$[X[Y-1]+1][0]=C1,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($)};k.prototype.diff_cleanupMerge=function($){$.push(new k.Diff(s,""));var Z=0,X=0,Y=0,J="",W="",K;while(Z<$.length)switch($[Z][0]){case C1:Y++,W+=$[Z][1],Z++;break;case A1:X++,J+=$[Z][1],Z++;break;case s: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]==s)$[Z-X-Y-1][1]+=W.substring(0,K);else $.splice(0,0,new k.Diff(s,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 k.Diff(A1,J)),Z++;if(W.length)$.splice(Z,0,new k.Diff(C1,W)),Z++;Z++}else if(Z!==0&&$[Z-1][0]==s)$[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]==s&&$[Z+1][0]==s){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($)};k.prototype.diff_xIndex=function($,Z){var X=0,Y=0,J=0,W=0,K;for(K=0;K<$.length;K++){if($[K][0]!==C1)X+=$[K][1].length;if($[K][0]!==A1)Y+=$[K][1].length;if(X>Z)break;J=X,W=Y}if($.length!=K&&$[K][0]===A1)return W;return W+(Z-J)};k.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,"&amp;").replace(Y,"&lt;").replace(J,"&gt;").replace(W,"&para;<br>");switch(Q){case C1:Z[K]='<ins style="background:#e6ffe6;">'+G+"</ins>";break;case A1:Z[K]='<del style="background:#ffe6e6;">'+G+"</del>";break;case s:Z[K]="<span>"+G+"</span>";break}}return Z.join("")};k.prototype.diff_text1=function($){var Z=[];for(var X=0;X<$.length;X++)if($[X][0]!==C1)Z[X]=$[X][1];return Z.join("")};k.prototype.diff_text2=function($){var Z=[];for(var X=0;X<$.length;X++)if($[X][0]!==A1)Z[X]=$[X][1];return Z.join("")};k.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 C1:X+=K.length;break;case A1:Y+=K.length;break;case s:Z+=Math.max(X,Y),X=0,Y=0;break}}return Z+=Math.max(X,Y),Z};k.prototype.diff_toDelta=function($){var Z=[];for(var X=0;X<$.length;X++)switch($[X][0]){case C1:Z[X]="+"+encodeURI($[X][1]);break;case A1:Z[X]="-"+$[X][1].length;break;case s:Z[X]="="+$[X][1].length;break}return Z.join("\t").replace(/%20/g," ")};k.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 k.Diff(C1,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 k.Diff(s,G);else X[Y++]=new k.Diff(A1,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};k.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)};k.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(f,a){var b=f/Z.length,_=Math.abs(X-a);if(!J.Match_Distance)return _?1:b;return b+_/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,H=Z.length+$.length,U;for(var M=0;M<Z.length;M++){G=0,O=H;while(G<O){if(W(M,X+O)<=K)G=O;else H=O;O=Math.floor((H-G)/2+G)}H=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 T=Y[$.charAt(S-1)];if(M===0)P[S]=(P[S+1]<<1|1)&T;else P[S]=(P[S+1]<<1|1)&T|((U[S+1]|U[S])<<1|1)|U[S+1];if(P[S]&z){var p=W(M,S-1);if(p<=K)if(K=p,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};k.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};k.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 k.Diff(s,J));var W=Z.substring($.start2+$.length1,$.start2+$.length1+Y);if(W)$.diffs.push(new k.Diff(s,W));$.start1-=J.length,$.start2-=J.length,$.length1+=J.length+W.length,$.length2+=J.length+W.length};k.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 k.patch_obj,Q=0,z=0,G=0,O=Y,H=Y;for(var U=0;U<J.length;U++){var M=J[U][0],A=J[U][1];if(!Q&&M!==s)K.start1=z,K.start2=G;switch(M){case C1:K.diffs[Q++]=J[U],K.length2+=A.length,H=H.substring(0,G)+A+H.substring(G);break;case A1:K.length1+=A.length,K.diffs[Q++]=J[U],H=H.substring(0,G)+H.substring(G+A.length);break;case s: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 k.patch_obj,Q=0,O=H,z=G}break}if(M!==C1)z+=A.length;if(M!==A1)G+=A.length}if(Q)this.patch_addContext_(K,O),W.push(K);return W};k.prototype.patch_deepCopy=function($){var Z=[];for(var X=0;X<$.length;X++){var Y=$[X],J=new k.patch_obj;J.diffs=[];for(var W=0;W<Y.diffs.length;W++)J.diffs[W]=new k.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};k.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 H=this.diff_main(Q,O,!1);if(Q.length>this.Match_MaxBits&&this.diff_levenshtein(H)/Q.length>this.Patch_DeleteThreshold)J[W]=!1;else{this.diff_cleanupSemanticLossless(H);var U=0,M;for(var A=0;A<$[W].diffs.length;A++){var F=$[W].diffs[A];if(F[0]!==s)M=this.diff_xIndex(H,U);if(F[0]===C1)Z=Z.substring(0,z+M)+F[1]+Z.substring(z+M);else if(F[0]===A1)Z=Z.substring(0,z+M)+Z.substring(z+this.diff_xIndex(H,U+F[1].length));if(F[0]!==A1)U+=F[1].length}}}}}return Z=Z.substring(X.length,Z.length-X.length),[Z,J]};k.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]!=s)W.unshift(new k.Diff(s,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]!=s)W.push(new k.Diff(s,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};k.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 k.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 k.Diff(s,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===C1)Q.length2+=O.length,W+=O.length,Q.diffs.push(Y.diffs.shift()),z=!1;else if(G===A1&&Q.diffs.length==1&&Q.diffs[0][0]==s&&O.length>2*Z)Q.length1+=O.length,J+=O.length,z=!1,Q.diffs.push(new k.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===s)Q.length2+=O.length,W+=O.length;else z=!1;if(Q.diffs.push(new k.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 H=this.diff_text1(Y.diffs).substring(0,this.Patch_Margin);if(H!=="")if(Q.length1+=H.length,Q.length2+=H.length,Q.diffs.length!==0&&Q.diffs[Q.diffs.length-1][0]===s)Q.diffs[Q.diffs.length-1][1]+=H;else Q.diffs.push(new k.Diff(s,H));if(!z)$.splice(++X,0,Q)}}};k.prototype.patch_toText=function($){var Z=[];for(var X=0;X<$.length;X++)Z[X]=$[X];return Z.join("")};k.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 k.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 k.Diff(A1,z));else if(Q=="+")K.diffs.push(new k.Diff(C1,z));else if(Q==" ")K.diffs.push(new k.Diff(s,z));else if(Q=="@")break;else if(Q==="");else throw Error('Invalid patch mode "'+Q+'" in: '+z);Y++}}return Z};k.patch_obj=function(){this.diffs=[],this.start1=null,this.start2=null,this.length1=0,this.length2=0};k.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 C1:Y="+";break;case A1:Y="-";break;case s:Y=" ";break}X[J+1]=Y+encodeURI(this.diffs[J][1])+`
5
+ `}return X.join("").replace(/%20/g," ")};M$.exports=k;M$.exports.diff_match_patch=k;M$.exports.DIFF_DELETE=A1;M$.exports.DIFF_INSERT=C1;M$.exports.DIFF_EQUAL=s});var W9=B7((J9,q8)=>{(($,Z)=>{if(typeof define==="function"&&define.amd)define([],Z);else if(typeof q8==="object"&&q8.exports)q8.exports=Z();else $.fuzzysort=Z()})(J9,($)=>{var Z=(R,L)=>{if(!R||!L)return P1;var y=M(R);if(!q4(L))L=U(L);var x=y.bitflags;if((x&L._bitflags)!==x)return P1;return F(y,L)},X=(R,L,y)=>{if(!R)return y?.all?A(L,y):t0;var x=M(R),u=x.bitflags,h=x.containsSpace,D=O(y?.threshold||0),l=y?.limit||PZ,c=0,z1=0,Y1=L.length;function W0(y4){if(c<l)j4.add(y4),++c;else if(++z1,y4._score>j4.peek()._score)j4.replaceTop(y4)}if(y?.key){var l1=y.key;for(var G1=0;G1<Y1;++G1){var s1=L[G1],N1=D4(s1,l1);if(!N1)continue;if(!q4(N1))N1=U(N1);if((u&N1._bitflags)!==u)continue;var M1=F(x,N1);if(M1===P1)continue;if(M1._score<D)continue;M1.obj=s1,W0(M1)}}else if(y?.keys){var A4=y.keys,L0=A4.length;$:for(var G1=0;G1<Y1;++G1){var s1=L[G1];{var i1=0;for(var J1=0;J1<L0;++J1){var l1=A4[J1],N1=D4(s1,l1);if(!N1){a1[J1]=J0;continue}if(!q4(N1))N1=U(N1);a1[J1]=N1,i1|=N1._bitflags}if((u&i1)!==u)continue}if(h)for(let U1=0;U1<x.spaceSearches.length;U1++)n[U1]=f1;for(var J1=0;J1<L0;++J1){if(N1=a1[J1],N1===J0){Y0[J1]=J0;continue}if(Y0[J1]=F(x,N1,!1,h),Y0[J1]===P1){Y0[J1]=J0;continue}if(h)for(let q1=0;q1<x.spaceSearches.length;q1++){if(Q1[q1]>-1000){if(n[q1]>f1){var u1=(n[q1]+Q1[q1])/4;if(u1>n[q1])n[q1]=u1}}if(Q1[q1]>n[q1])n[q1]=Q1[q1]}}if(h){for(let U1=0;U1<x.spaceSearches.length;U1++)if(n[U1]===f1)continue $}else{var X1=!1;for(let U1=0;U1<L0;U1++)if(Y0[U1]._score!==f1){X1=!0;break}if(!X1)continue}var O0=new Q(L0);for(let U1=0;U1<L0;U1++)O0[U1]=Y0[U1];if(h){var I1=0;for(let U1=0;U1<x.spaceSearches.length;U1++)I1+=n[U1]}else{var I1=f1;for(let q1=0;q1<L0;q1++){var M1=O0[q1];if(M1._score>-1000){if(I1>f1){var u1=(I1+M1._score)/4;if(u1>I1)I1=u1}}if(M1._score>I1)I1=M1._score}}if(O0.obj=s1,O0._score=I1,y?.scoreFn){if(I1=y.scoreFn(O0),!I1)continue;I1=O(I1),O0._score=I1}if(I1<D)continue;W0(O0)}}else for(var G1=0;G1<Y1;++G1){var N1=L[G1];if(!N1)continue;if(!q4(N1))N1=U(N1);if((u&N1._bitflags)!==u)continue;var M1=F(x,N1);if(M1===P1)continue;if(M1._score<D)continue;W0(M1)}if(c===0)return t0;var F4=Array(c);for(var G1=c-1;G1>=0;--G1)F4[G1]=j4.poll();return F4.total=c+z1,F4},Y=(R,L="<b>",y="</b>")=>{var x=typeof L==="function"?L:void 0,u=R.target,h=u.length,D=R.indexes,l="",c=0,z1=0,Y1=!1,W0=[];for(var l1=0;l1<h;++l1){var G1=u[l1];if(D[z1]===l1){if(++z1,!Y1)if(Y1=!0,x)W0.push(l),l="";else l+=L;if(z1===D.length){if(x)l+=G1,W0.push(x(l,c++)),l="",W0.push(u.substr(l1+1));else l+=G1+y+u.substr(l1+1);break}}else if(Y1)if(Y1=!1,x)W0.push(x(l,c++)),l="";else l+=y;l+=G1}return x?W0:l},J=(R)=>{if(typeof R==="number")R=""+R;else if(typeof R!=="string")R="";var L=T(R);return z(R,{_targetLower:L._lower,_targetLowerCodes:L.lowerCodes,_bitflags:L.bitflags})},W=()=>{a.clear(),b.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??P1,y._score=L._score??f1,y._indexes=L._indexes??[],y._targetLower=L._targetLower??"",y._targetLowerCodes=L._targetLowerCodes??P1,y._nextBeginningIndexes=L._nextBeginningIndexes??P1,y._bitflags=L._bitflags??0,y},G=(R)=>{if(R===f1)return 0;if(R>1)return R;return Math.E**(((-R+1)**0.04307-1)*-2)},O=(R)=>{if(R===0)return f1;if(R>1)return R;return 1-Math.pow(Math.log(R)/-2+1,23.218017181332716)},H=(R)=>{if(typeof R==="number")R=""+R;else if(typeof R!=="string")R="";R=R.trim();var L=T(R),y=[];if(L.containsSpace){var x=R.split(/\s+/);x=[...new Set(x)];for(var u=0;u<x.length;u++){if(x[u]==="")continue;var h=T(x[u]);y.push({lowerCodes:h.lowerCodes,_lower:x[u].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=a.get(R);if(L!==void 0)return L;return L=J(R),a.set(R,L),L},M=(R)=>{if(R.length>999)return H(R);var L=b.get(R);if(L!==void 0)return L;return L=H(R),b.set(R,L),L},A=(R,L)=>{var y=[];y.total=R.length;var x=L?.limit||PZ;if(L?.key)for(var u=0;u<R.length;u++){var h=R[u],D=D4(h,L.key);if(D==P1)continue;if(!q4(D))D=U(D);var l=z(D.target,{_score:D._score,obj:h});if(y.push(l),y.length>=x)return y}else if(L?.keys)for(var u=0;u<R.length;u++){var h=R[u],c=new Q(L.keys.length);for(var z1=L.keys.length-1;z1>=0;--z1){var D=D4(h,L.keys[z1]);if(!D){c[z1]=J0;continue}if(!q4(D))D=U(D);D._score=f1,D._indexes.len=0,c[z1]=D}if(c.obj=h,c._score=f1,y.push(c),y.length>=x)return y}else for(var u=0;u<R.length;u++){var D=R[u];if(D==P1)continue;if(!q4(D))D=U(D);if(D._score=f1,D._indexes.len=0,y.push(D),y.length>=x)return y}return y},F=(R,L,y=!1,x=!1)=>{if(y===!1&&R.containsSpace)return P(R,L,x);var{_lower:u,lowerCodes:h}=R,D=h[0],l=L._targetLowerCodes,c=h.length,z1=l.length,G1=0,Y1=0,W0=0;for(;;){var l1=D===l[Y1];if(l1){if(_[W0++]=Y1,++G1,G1===c)break;D=h[G1]}if(++Y1,Y1>=z1)return P1}var G1=0,s1=!1,N1=0,M1=L._nextBeginningIndexes;if(M1===P1)M1=L._nextBeginningIndexes=f(L.target);Y1=_[0]===0?0:M1[_[0]-1];var A4=0;if(Y1!==z1)for(;;)if(Y1>=z1){if(G1<=0)break;if(++A4,A4>200)break;--G1;var L0=Z1[--N1];Y1=M1[L0]}else{var l1=h[G1]===l[Y1];if(l1){if(Z1[N1++]=Y1,++G1,G1===c){s1=!0;break}++Y1}else Y1=M1[Y1]}var i1=c<=1?-1:L._targetLower.indexOf(u,_[0]),J1=!!~i1,u1=!J1?!1:i1===0||L._nextBeginningIndexes[i1-1]===i1;if(J1&&!u1)for(var X1=0;X1<M1.length;X1=M1[X1]){if(X1<=i1)continue;for(var O0=0;O0<c;O0++)if(h[O0]!==L._targetLowerCodes[X1+O0])break;if(O0===c){i1=X1,u1=!0;break}}var I1=(U1)=>{var q1=0,f6=0;for(var e0=1;e0<c;++e0)if(U1[e0]-U1[e0-1]!==1)q1-=U1[e0],++f6;var o9=U1[c-1]-U1[0]-(c-1);if(q1-=(12+o9)*f6,U1[0]!==0)q1-=U1[0]*U1[0]*0.2;if(!s1)q1*=1000;else{var L8=1;for(var e0=M1[0];e0<z1;e0=M1[e0])++L8;if(L8>24)q1*=(L8-24)*10}if(q1-=(z1-c)/2,J1)q1/=1+c*c*1;if(u1)q1/=1+c*c*1;return q1-=(z1-c)/2,q1};if(!s1){if(J1)for(var X1=0;X1<c;++X1)_[X1]=i1+X1;var F4=_,y4=I1(F4)}else if(u1){for(var X1=0;X1<c;++X1)_[X1]=i1+X1;var F4=_,y4=I1(_)}else var F4=Z1,y4=I1(Z1);L._score=y4;for(var X1=0;X1<c;++X1)L._indexes[X1]=F4[X1];L._indexes.len=c;let LZ=new K;return LZ.target=L.target,LZ._score=L._score,LZ._indexes=L._indexes,LZ},P=(R,L,y)=>{var x=new Set,u=0,h=P1,D=0,l=R.spaceSearches,c=l.length,z1=0,Y1=()=>{for(let u1=z1-1;u1>=0;u1--)L._nextBeginningIndexes[E[u1*2+0]]=E[u1*2+1]},W0=!1;for(var J1=0;J1<c;++J1){Q1[J1]=f1;var l1=l[J1];if(h=F(l1,L),y){if(h===P1)continue;W0=!0}else if(h===P1)return Y1(),P1;var G1=J1===c-1;if(!G1){var s1=h._indexes,N1=!0;for(let X1=0;X1<s1.len-1;X1++)if(s1[X1+1]-s1[X1]!==1){N1=!1;break}if(N1){var M1=s1[s1.len-1]+1,A4=L._nextBeginningIndexes[M1-1];for(let X1=M1-1;X1>=0;X1--){if(A4!==L._nextBeginningIndexes[X1])break;L._nextBeginningIndexes[X1]=M1,E[z1*2+0]=X1,E[z1*2+1]=A4,z1++}}}if(u+=h._score/c,Q1[J1]=h._score/c,h._indexes[0]<D)u-=(D-h._indexes[0])*2;D=h._indexes[0];for(var L0=0;L0<h._indexes.len;++L0)x.add(h._indexes[L0])}if(y&&!W0)return P1;Y1();var i1=F(R,L,!0);if(i1!==P1&&i1._score>u){if(y)for(var J1=0;J1<c;++J1)Q1[J1]=i1._score/c;return i1}if(y)h=L;h._score=u;var J1=0;for(let u1 of x)h._indexes[J1++]=u1;return h._indexes.len=J1,h},S=(R)=>R.replace(/\p{Script=Latin}+/gu,(L)=>L.normalize("NFD")).replace(/[\u0300-\u036f]/g,""),T=(R)=>{R=S(R);var L=R.length,y=R.toLowerCase(),x=[],u=0,h=!1;for(var D=0;D<L;++D){var l=x[D]=y.charCodeAt(D);if(l===32){h=!0;continue}var c=l>=97&&l<=122?l-97:l>=48&&l<=57?26:l<=127?30:31;u|=1<<c}return{lowerCodes:x,bitflags:u,containsSpace:h,_lower:y}},p=(R)=>{var L=R.length,y=[],x=0,u=!1,h=!1;for(var D=0;D<L;++D){var l=R.charCodeAt(D),c=l>=65&&l<=90,z1=c||l>=97&&l<=122||l>=48&&l<=57,Y1=c&&!u||!h||!z1;if(u=c,h=z1,Y1)y[x++]=D}return y},f=(R)=>{R=S(R);var L=R.length,y=p(R),x=[],u=y[0],h=0;for(var D=0;D<L;++D)if(u>D)x[D]=u;else u=y[++h],x[D]=u===void 0?L:u;return x},a=new Map,b=new Map,_=[],Z1=[],E=[],n=[],Q1=[],a1=[],Y0=[],D4=(R,L)=>{var y=R[L];if(y!==void 0)return y;if(typeof L==="function")return L(R);var x=L;if(!Array.isArray(L))x=L.split(".");var u=x.length,h=-1;while(R&&++h<u)R=R[x[h]];return R},q4=(R)=>{return typeof R==="object"&&typeof R._bitflags==="number"},PZ=1/0,f1=-PZ,t0=[];t0.total=0;var P1=null,J0=J(""),P$=(R)=>{var L=[],y=0,x={},u=(h)=>{for(var D=0,l=L[D],c=1;c<y;){var z1=c+1;D=c,z1<y&&L[z1]._score<L[c]._score&&(D=z1),L[D-1>>1]=L[D],c=1+(D<<1)}for(var Y1=D-1>>1;D>0&&l._score<L[Y1]._score;Y1=(D=Y1)-1>>1)L[D]=L[Y1];L[D]=l};return x.add=(h)=>{var D=y;L[y++]=h;for(var l=D-1>>1;D>0&&h._score<L[l]._score;l=(D=l)-1>>1)L[D]=L[l];L[D]=h},x.poll=(h)=>{if(y!==0){var D=L[0];return L[0]=L[--y],u(),D}},x.peek=(h)=>{if(y!==0)return L[0]},x.replaceTop=(h)=>{L[0]=h,u()},x},j4=P$();return{single:Z,go:X,prepare:J,cleanup:W}})});var x6=B(V(),1),n9=new h6({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 m6({children:$}){return x6.jsxDEV(g6,{client:n9,children:$},void 0,!1,void 0,this)}async function u6($,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 R0.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 c6={async search($){let Z=Object.entries(RZ).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(RZ).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 I0($,X)).getGraphAsync({...X,xray:Z?.xray??void 0})).toJSON()},async getSchemas($){let X=(await I0($,{})).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(RZ).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()}}},R8=()=>{let $=()=>{return R0.globalThreadsManager};return{assistants:c6,get threads(){return R0.globalThreadsManager},runs:{list(Z,X){return $().listRuns(Z,X)},async cancel(Z,X,Y,J){return await R0.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 $4(J,W,Y,{attempt:0,getGraph:I0}))yield Q;let K=await W;await u6(J,Z,X,K.run_id)}catch(K){try{let Q=await W;await u6(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 R0.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:H}=G;if(yield{id:G.id,event:O,data:H},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 E4=($,Z)=>$.constructor.name===Z.name,o1=new Map;o1.set(j.ZodBoolean.name,()=>!1),o1.set(j.ZodNumber.name,()=>0),o1.set(j.ZodString.name,()=>""),o1.set(j.ZodArray.name,()=>[]),o1.set(j.ZodRecord.name,()=>({})),o1.set(j.ZodDefault.name,($)=>$.def.defaultValue),o1.set(j.ZodPipe.name,($)=>L$($.def.in)),o1.set(j.ZodOptional.name,($)=>E4($.def.innerType,j.ZodDefault)?$.def.innerType.def.defaultValue:void 0),o1.set(j.ZodTuple.name,($)=>{let Z=[];for(let X of $.def.items)Z.push(L$(X));return Z}),o1.set(j.ZodPipe.name,($)=>L$($.def.in)),o1.set(j.ZodUnion.name,($)=>L$($.def.options[0])),o1.set(j.ZodObject.name,($)=>v4($)),o1.set(j.ZodRecord.name,($)=>v4($)),o1.set(j.ZodIntersection.name,($)=>v4($));function L$($){let Z=$.constructor.name;if(!o1.has(Z)){console.warn("getSchemaDefaultForField: Unhandled type",$.constructor.name);return}return o1.get(Z)($)}function v4($){if(E4($,j.ZodRecord))return{};if(E4($,j.ZodPipe))return v4($.def.in);if(E4($,j.ZodIntersection))return{...v4($.def.left),...v4($.def.right)};if(E4($,j.ZodUnion)){for(let Z of $.def.options)if(E4(Z,j.ZodObject))return v4(Z);return console.warn("getSchemaDefaultObject: No object found in union, returning empty object"),{}}return E4($,j.ZodObject)?Object.fromEntries(Object.entries($.shape).map(([Z,X])=>[Z,L$(X)]).filter((Z)=>Z[1]!==void 0)):(console.warn(`getSchemaDefaultObject: Expected object schema, got ${$.constructor.name}`),{})}var Wz=j.object({task_store:j.record(j.string(),j.any()).default({})}),Kz=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 $1=R8(),r9=q.object({thread_id:q.string().optional(),thread_ts:q.string().optional()}).catchall(q.unknown()),$$=q.object({tags:q.array(q.string()).optional(),recursion_limit:q.number().int().optional(),configurable:r9.optional()}).catchall(q.unknown()).describe("The configuration of an assistant.");q.object({assistant_id:q.string(),graph_id:q.string(),config:$$,created_at:q.string(),updated_at:q.string(),metadata:q.object({}).catchall(q.any())});var d0=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()),p6=q.object({node:q.string(),input:q.unknown().optional()}),k8=q.object({update:q.union([q.any(),q.array(q.tuple([q.string(),q.any()]))]).nullable().optional(),resume:q.unknown().optional(),goto:q.union([p6,q.array(p6),q.string(),q.array(q.string())]).optional()});q.object({limit:q.number().int().optional(),offset:q.number().int().optional()});var K0=q.object({thread_id:q.string()}),R$=q.object({thread_id:q.string(),run_id:q.string()}),a9=q.object({graph_id:q.string().optional(),metadata:d0.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()}),s9=q.object({graph_id:q.string().optional(),metadata:d0.optional()}),t9=q.object({xray:q.union([q.string(),q.boolean(),q.number()]).optional()}),d6=q.object({name:q.string().optional(),description:q.string().optional(),metadata:d0.optional(),config:$$.optional()}).optional(),e9=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:d0.optional(),config:$$.optional(),if_exists:q.enum(["raise","do_nothing"]).optional()}),$Y=q.object({assistant_id:q.union([q.string(),q.string()]),checkpoint_id:q.string().optional(),input:q.any().optional(),command:k8.optional(),metadata:d0.optional(),config:$$.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."),ZY=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()}),XY=q.object({wait:q.coerce.boolean().optional().default(!1),action:q.enum(["interrupt","rollback"]).optional().default("interrupt")}),YY=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()}),JY=q.object({thread_id:q.string().describe("The ID of thread. If not provided, an ID is generated.").optional(),metadata:d0.optional(),if_exists:q.union([q.literal("raise"),q.literal("do_nothing")]).optional()}).describe("Payload for creating a thread."),l6=q.object({ids:q.array(q.string()).describe("List of thread IDs to include. Others are excluded.").optional(),metadata:d0.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 WY=q.object({metadata:d0.optional(),status:q.enum(["idle","busy","interrupted","error"]).optional(),values:q.any().optional()}).describe("Payload for patching a thread."),i6=q.object({assistant_id:q.string(),input:q.any().optional(),command:k8.optional(),metadata:d0.optional(),config:$$.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)."),KY=q.object({cancel_on_disconnect:q.coerce.boolean().optional().default(!1)}),QY=q.object({cancel_on_disconnect:q.coerce.boolean().optional().default(!1)}),SZ=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:k8.optional(),metadata:d0.optional().describe("Metadata to assign to the run."),config:$$.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."),zY=q.array(SZ).min(1).describe("Payload for creating a batch of stateless runs."),GY=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)}),OY=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 D1($,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 D0($){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 o($,Z){let X=$.safeParse(Z);if(!X.success)throw new T8(X.error.issues);return X.data}class T8 extends Error{errors;constructor($){super("Validation failed");this.name="ValidationError",this.errors=$}}function W1($,Z=200,X){return new Response(JSON.stringify($),{status:Z,headers:{"Content-Type":"application/json",...X}})}function r($,Z=500){if($ instanceof T8)return W1({error:"Validation Error",details:$.errors},400);return W1({error:$ instanceof Error?$.message:"Unknown error"},Z)}function b8($){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 H="";if(O)H+=`id: ${O}
6
+ `;if(G)H+=`event: ${G}
7
+ `;H+=`data: ${z}
8
+
9
+ `,Z.enqueue(K.encode(H))}catch(H){if(!X&&!Y.signal.aborted)throw H}},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 I8($,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 HY($,Z){try{let X=await $.json(),Y=o(a9,X),J=await $1.assistants.search(h1(Y));return W1(J,200,{"X-Pagination-Total":"0"})}catch(X){return r(X)}}async function NY($,Z){try{let X=await $.json(),Y=o(s9,X),J=await $1.assistants.count(h1(Y));return W1(J)}catch(X){return r(X)}}async function UY($,Z){try{let J=new URL($.url).pathname.split("/").filter((K)=>K)[1],W=await $1.assistants.get(J);return W1(W)}catch(X){return r(X)}}async function wY($,Z){try{let J=new URL($.url).pathname.split("/").filter((W)=>W)[1];return await $1.assistants.delete(J),W1({})}catch(X){return r(X)}}async function MY($,Z){try{let J=new URL($.url).pathname.split("/").filter((z)=>z)[1],W=await $.json(),K=o(d6,W),Q=await $1.assistants.update(J,h1(K));return W1(Q)}catch(X){return r(X)}}async function qY($,Z){try{let J=new URL($.url).pathname.split("/").filter((z)=>z)[1],W=D0($.url),{xray:K}=o(t9,W),Q=await $1.assistants.getGraph(J,{xray:K!==void 0?K==="true":void 0});return W1(Q)}catch(X){return r(X)}}async function AY($,Z){return r({},501)}async function FY($,Z){return r({},501)}async function CY($,Z){try{let J=new URL($.url).pathname.split("/").filter((K)=>K)[1],W=await $1.assistants.getSchemas(J);return W1(W)}catch(X){return r(X)}}async function BY($,Z){try{let J=new URL($.url).pathname.split("/").filter((z)=>z)[1],W=await $.json(),K=o(d6,W),Q=await $1.assistants.getVersions(J,h1(K));return W1(Q)}catch(X){return r(X)}}async function PY($,Z){try{let J=new URL($.url).pathname.split("/").filter((z)=>z)[1],W=D0($.url),K=W.version?parseInt(W.version):1,Q=await $1.assistants.setLatest(J,K);return W1(Q)}catch(X){return r(X)}}async function LY($,Z){try{let X=await $.json(),Y=o(e9,X),J=await $1.assistants.create(h1(Y));return W1(J)}catch(X){return r(X)}}async function RY($,Z){try{let X=await $.json(),Y=o(JY,X),J=await $1.threads.create(h1(Y));return W1(J)}catch(X){return r(X)}}async function SY($,Z){try{let X=await $.json(),Y=o(l6,X),J=await $1.threads.search(h1(Y));return W1(J,200,{"X-Pagination-Total":J.length.toString()})}catch(X){return r(X)}}async function VY($,Z){try{let X=await $.json(),Y=o(l6.partial(),X),J=await $1.threads.count(h1(Y));return W1(J)}catch(X){return r(X)}}async function kY($,Z){try{let X=D1($.url,"/threads/:thread_id"),{thread_id:Y}=o(K0,X),J=await $1.threads.get(Y);return W1(J)}catch(X){return r(X)}}async function TY($,Z){try{let X=D1($.url,"/threads/:thread_id"),{thread_id:Y}=o(K0,X),J=await $.json(),W=o(WY,J),K=await $1.threads.patch(Y,h1(W));return W1(K)}catch(X){return r(X)}}async function bY($,Z){try{let X=D1($.url,"/threads/:thread_id"),{thread_id:Y}=o(K0,X);return await $1.threads.delete(Y),new Response(null,{status:204})}catch(X){return r(X)}}async function IY($,Z){try{let X=D1($.url,"/threads/:thread_id/state"),{thread_id:Y}=o(K0,X),J=D0($.url),W={subgraphs:J.subgraphs==="true"||J.subgraphs===!0},K=await $1.threads.getState(Y,W);return W1(K)}catch(X){return r(X)}}async function DY($,Z){try{let X=D1($.url,"/threads/:thread_id/state"),{thread_id:Y}=o(K0,X),J=await $.json(),W=await $1.threads.updateState(Y,h1(J));return W1(W)}catch(X){return r(X)}}async function jY($,Z){try{let X=D1($.url,"/threads/:thread_id/state/checkpoint"),{thread_id:Y}=o(K0,X),J=await $.json(),W=D0($.url),K={subgraphs:W.subgraphs==="true"||W.subgraphs===!0,...J},Q=await $1.threads.getState(Y,K);return W1(Q)}catch(X){return r(X)}}async function yY($,Z){try{let X=D1($.url,"/threads/:thread_id/history"),{thread_id:Y}=o(K0,X),J=D0($.url),W={limit:J.limit?parseInt(J.limit,10):void 0,before:J.before},K=await $1.threads.getStateHistory(Y,W);return W1(K)}catch(X){return r(X)}}async function EY($,Z){try{let X=D1($.url,"/threads/:thread_id/history"),{thread_id:Y}=o(K0,X),J=await $.json(),W={limit:J.limit,before:J.before},K=await $1.threads.getStateHistory(Y,W);return W1(K)}catch(X){return r(X)}}async function vY($,Z){try{let X=D1($.url,"/threads/:thread_id/copy"),{thread_id:Y}=o(K0,X),J=await $1.threads.copy(Y);return W1(J)}catch(X){return r(X)}}async function _Y($,Z){try{let X=D1($.url,"/threads/:thread_id/stream"),{thread_id:Y}=o(K0,X),J=D0($.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 r(X)}}async function fY($,Z){try{let X=D1($.url,"/threads/:thread_id/runs/stream"),{thread_id:Y}=o(K0,X),J=await $.json(),W=o($Y,J);return b8(I8(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=$1.runs.stream(Y,W.assistant_id,h1(W));for await(let{event:H,data:U}of z){if(G||K.signal.aborted)break;await K.writeSSE({data:V8(U)??"",event:H})}}catch(H){if(!K.signal.aborted&&!G)throw H}finally{if(K.signal.removeEventListener("abort",O),z){try{await z.return(void 0)}catch(H){}z=null}}}))}catch(X){return r(X)}}async function hY($,Z){try{let X=D1($.url,"/threads/:thread_id/runs/:run_id/stream"),{thread_id:Y,run_id:J}=o(R$,X),W=D0($.url),{cancel_on_disconnect:K,last_event_id:Q,stream_mode:z}=o(YY,W);return b8(I8(async(G)=>{let O=new AbortController,H=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{H=$1.runs.joinStream(Y,J,{signal:O.signal,cancelOnDisconnect:K,lastEventId:Q,streamMode:z?[z]:void 0});for await(let{event:P,data:S,id:T}of H){if(U||G.signal.aborted||O.signal.aborted)break;await G.writeSSE({data:V8(S)??"",event:P,id:T})}}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(T){}if(H){try{await H.return(void 0)}catch(P){}H=null}}}))}catch(X){return r(X)}}async function gY($,Z){try{let X=D1($.url,"/threads/:thread_id/runs"),{thread_id:Y}=o(K0,X),J=D0($.url),{limit:W,offset:K,status:Q}=o(ZY,J),z=await $1.runs.list(Y,{limit:W,offset:K,status:Q});return W1(z)}catch(X){return r(X)}}async function mY($,Z){try{let X=D1($.url,"/threads/:thread_id/runs/:run_id/cancel"),{thread_id:Y,run_id:J}=o(R$,X),W=D0($.url),{wait:K,action:Q}=o(XY,W),z=$1.runs.cancel(Y,J,K,Q);if(K)await z;return new Response(null,{status:K?204:202})}catch(X){return r(X)}}async function xY($,Z){try{let X=D1($.url,"/threads/:thread_id/runs"),{thread_id:Y}=o(K0,X),J=await $.json(),W=o(i6,J),K=h1(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=$1.threads,G=await z.createRun(Y,W.assistant_id,K);return(async()=>{let O=!1;try{for await(let H of $4(z,G,K,{attempt:0,getGraph:I0}));}catch(H){console.error("Background run error:",H)}finally{if(!O){O=!0;try{await R0.globalMessageQueue.removeQueue(G.run_id)}catch(H){}}}})(),W1(G,200,{"Content-Location":`/threads/${Y}/runs/${G.run_id}`})}catch(X){return r(X)}}async function uY($,Z){try{let X=D1($.url,"/threads/:thread_id/runs/wait"),{thread_id:Y}=o(K0,X),J=await $.json(),W=o(i6,J),K=D0($.url),{cancel_on_disconnect:Q}=o(KY,K),z=h1(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=$1.threads,H=await O.createRun(Y,W.assistant_id,z),U={};for await(let{event:M,data:A}of $4(O,H,z,{attempt:0,getGraph:I0}))if(M==="end"||M==="writes/value"){if(A&&typeof A==="object")Object.assign(U,A)}return W1(U,200,{"Content-Location":`/threads/${Y}/runs/${H.run_id}`})}catch(X){return r(X)}}async function cY($,Z){try{let X=D1($.url,"/threads/:thread_id/runs/:run_id"),{thread_id:Y,run_id:J}=o(R$,X),K=(await $1.runs.list(Y,{limit:1000})).find((Q)=>Q.run_id===J);if(!K)return r(Error("Run not found"),404);return W1(K)}catch(X){return r(X)}}async function pY($,Z){try{let X=D1($.url,"/threads/:thread_id/runs/:run_id"),{thread_id:Y,run_id:J}=o(R$,X);return await $1.threads.updateRun(J,{status:"deleted"}),new Response(null,{status:204})}catch(X){return r(X)}}async function dY($,Z){try{let X=D1($.url,"/threads/:thread_id/runs/:run_id/join"),{thread_id:Y,run_id:J}=o(R$,X),W=D0($.url),{cancel_on_disconnect:K}=o(QY,W),z=(await $1.runs.list(Y,{limit:1000})).find((H)=>H.run_id===J);if(!z)return r(Error("Run not found"),404);if(z.status==="success"||z.status==="error")return W1({});let G=new AbortController;if(K){let H=()=>{G.abort("Client disconnected")};$.signal?.addEventListener("abort",H)}let O={};for await(let{event:H,data:U}of $1.runs.joinStream(Y,J,{signal:G.signal,cancelOnDisconnect:K}))if(H.event==="end"||H.event==="writes/value"){if(U&&typeof U==="object")Object.assign(O,U)}return W1(O)}catch(X){return r(X)}}async function lY($,Z){try{let X=await $.json(),Y=o(SZ,X),J=h1(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=$1.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 $4(K,z,J,{attempt:0,getGraph:I0}));}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 R0.globalMessageQueue.removeQueue(z.run_id)}catch(O){}}}})(),W1(z,200,{"Content-Location":`/threads/${Q.thread_id}/runs/${z.run_id}`})}catch(X){return r(X)}}async function iY($,Z){try{let X=await $.json(),Y=o(SZ,X),J=h1(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=$1.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 b8(I8(async(G)=>{try{for await(let O of $4(K,z,J,{attempt:0,getGraph:I0}))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 r(X)}}async function oY($,Z){try{let X=await $.json(),Y=o(SZ,X),J=h1(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=$1.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:H}of $4(K,z,J,{attempt:0,getGraph:I0}))if(O==="end"||O==="writes/value"){if(H&&typeof H==="object")Object.assign(G,H)}}finally{try{await K.delete(Q.thread_id)}catch(O){console.error("Error cleaning up temporary thread:",O)}}return W1(G,200,{"Content-Location":`/threads/${Q.thread_id}/runs/${z.run_id}`})}catch(X){return r(X)}}async function nY($,Z){try{let X=await $.json(),Y=o(zY,X),J=$1.threads,W=[],K=Y.map(async(z)=>{try{let G=h1(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 H=await J.create({metadata:{...G.metadata,temporary:!0}});G.config.configurable.graph_id=z.assistant_id,G.config.configurable.thread_id=H.thread_id,G.temporary=!0;let U=await J.createRun(H.thread_id,z.assistant_id,G);return(async()=>{let M=!1;try{for await(let A of $4(J,U,G,{attempt:0,getGraph:I0}));}catch(A){console.error("Batch run error:",A)}finally{try{await J.delete(H.thread_id)}catch(A){console.error("Error cleaning up temporary thread:",A)}if(!M){M=!0;try{await R0.globalMessageQueue.removeQueue(U.run_id)}catch(A){}}}})(),{thread_id:H.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),W1(W,200)}catch(X){return r(X)}}async function rY($,Z){try{let X=await $.json(),Y=o(OY,X),J=new URL($.url),W=o(GY,{action:J.searchParams.get("action")||"interrupt"}),K=$1.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{$1.runs.cancel(z,O.run_id,W.wait,W.action),Q.push(O.run_id)}catch(H){console.error(`Error cancelling run ${O.run_id}:`,H)}}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 r(X)}}var aY=[{method:"POST",pattern:/^\/assistants\/search$/,handler:HY},{method:"POST",pattern:/^\/assistants\/count$/,handler:NY},{method:"GET",pattern:/^\/assistants\/[^/]+$/,handler:UY},{method:"DELETE",pattern:/^\/assistants\/[^/]+$/,handler:wY},{method:"PATCH",pattern:/^\/assistants\/[^/]+$/,handler:MY},{method:"GET",pattern:/^\/assistants\/[^/]+\/graph$/,handler:qY},{method:"GET",pattern:/^\/assistants\/[^/]+\/subgraphs$/,handler:AY},{method:"GET",pattern:/^\/assistants\/[^/]+\/subgraphs\/[^/]+$/,handler:FY},{method:"GET",pattern:/^\/assistants\/[^/]+\/schemas$/,handler:CY},{method:"POST",pattern:/^\/assistants\/[^/]+\/versions$/,handler:BY},{method:"POST",pattern:/^\/assistants\/[^/]+\/latest$/,handler:PY},{method:"POST",pattern:/^\/assistants$/,handler:LY},{method:"POST",pattern:/^\/threads$/,handler:RY},{method:"POST",pattern:/^\/threads\/search$/,handler:SY},{method:"POST",pattern:/^\/threads\/count$/,handler:VY},{method:"GET",pattern:/^\/threads\/[^/]+$/,handler:kY},{method:"PATCH",pattern:/^\/threads\/[^/]+$/,handler:TY},{method:"DELETE",pattern:/^\/threads\/[^/]+$/,handler:bY},{method:"GET",pattern:/^\/threads\/[^/]+\/state$/,handler:IY},{method:"POST",pattern:/^\/threads\/[^/]+\/state$/,handler:DY},{method:"POST",pattern:/^\/threads\/[^/]+\/state\/checkpoint$/,handler:jY},{method:"GET",pattern:/^\/threads\/[^/]+\/history$/,handler:yY},{method:"POST",pattern:/^\/threads\/[^/]+\/history$/,handler:EY},{method:"POST",pattern:/^\/threads\/[^/]+\/copy$/,handler:vY},{method:"GET",pattern:/^\/threads\/[^/]+\/stream$/,handler:_Y},{method:"POST",pattern:/^\/threads\/[^/]+\/runs$/,handler:xY},{method:"POST",pattern:/^\/threads\/[^/]+\/runs\/stream$/,handler:fY},{method:"POST",pattern:/^\/threads\/[^/]+\/runs\/wait$/,handler:uY},{method:"POST",pattern:/^\/threads\/[^/]+\/runs\/[^/]+\/cancel$/,handler:mY},{method:"GET",pattern:/^\/threads\/[^/]+\/runs$/,handler:gY},{method:"GET",pattern:/^\/threads\/[^/]+\/runs\/[^/]+$/,handler:cY},{method:"DELETE",pattern:/^\/threads\/[^/]+\/runs\/[^/]+$/,handler:pY},{method:"GET",pattern:/^\/threads\/[^/]+\/runs\/[^/]+\/join$/,handler:dY},{method:"GET",pattern:/^\/threads\/[^/]+\/runs\/[^/]+\/stream$/,handler:hY},{method:"POST",pattern:/^\/runs$/,handler:lY},{method:"POST",pattern:/^\/runs\/stream$/,handler:iY},{method:"POST",pattern:/^\/runs\/wait$/,handler:oY},{method:"POST",pattern:/^\/runs\/batch$/,handler:nY},{method:"POST",pattern:/^\/runs\/cancel$/,handler:rY}],sY=($)=>{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 o6($,Z={}){$=sY($);try{await R0.initGlobal();let Y=new URL($.url).pathname,J=$.method;for(let W of aY)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),r(X)}}var a6=B(tY(),1),s6=B(eY(),1);import*as V$ from"node:os";import{dirname as t6,join as $J}from"node:path";import{pipeline as ZJ}from"node:stream/promises";import{fileURLToPath as XJ}from"node:url";var{mkdir:y8,createWriteStream:YJ,move:JJ}=s6.default,e6=t6(XJ(import.meta.url)),WJ="microsoft/ripgrep-prebuilt",D8=process.env.RIPGREP_VERSION||"v15.0.0",KJ=()=>{let $=process.env.npm_config_arch||V$.arch(),Z=process.env.platform||V$.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)}},QJ=async($,Z)=>{try{let X=n6(),Y=await fetch($);if(!Y.ok)throw Error(`HTTP ${Y.status}: ${Y.statusText}`);await ZJ(Y.body,YJ(X)),await y8(t6(Z),{recursive:!0}),await JJ(X,Z)}catch(X){throw console.error(`Failed to download "${$}"`),X}},zJ=async($,Z)=>{try{await y8(Z,{recursive:!0}),await a6.default($,{dir:Z})}catch(X){throw console.error(`Failed to unzip "${$}"`),X}},GJ=async($,Z)=>{try{await y8(Z,{recursive:!0}),await S$("tar",["xvf",$,"-C",Z])}catch(X){throw console.error(`Failed to extract "${$}"`),X}},OJ=async($)=>{if($==="android")try{return await S$("pkg",["install","ripgrep","-y"]),!0}catch(Z){return console.info("Could not install ripgrep via pkg. Falling back to download."),!1}return!1},HJ=$J(e6,`rg${process.platform==="win32"?".exe":""}`),$5=async($)=>{if(await j8(HJ)){console.log("rg cached");return}let Z=process.env.platform||V$.platform();if(Z==="android"){if(await OJ(Z))return}let X=KJ(),J=`${process.env.RIPGREP_PREBUILT_BINARIES_MIRROR||`https://v6.gh-proxy.org/https://github.com/${WJ}/releases/download`}/${D8}/ripgrep-${D8}-${X}`,W=`${r6}/vscode-ripgrep/ripgrep-${D8}-${X}`,K=$??e6;if(!await j8(W))await QJ(J,W);else console.info(`File ${W} has been cached`);if(W.endsWith(".tar.gz"))await GJ(W,K);else if(W.endsWith(".zip"))await zJ(W,K);else throw Error(`Invalid downloadPath ${W}`)};await $5();S8("code",Z5);var X5=($,Z={})=>{return o6(new Request($,Z),{})};function I($,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 E8=function(){let{crypto:$}=globalThis;if($?.randomUUID)return E8=$.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 Z4($){return typeof $==="object"&&$!==null&&(("name"in $)&&$.name==="AbortError"||("message"in $)&&String($.message).includes("FetchRequestCanceledException"))}var k$=($)=>{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 m extends Error{}class j1 extends m{constructor($,Z,X,Y){super(`${j1.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 _4({message:X,cause:k$(Z)});let J=Z;if($===400)return new b$($,J,X,Y);if($===401)return new I$($,J,X,Y);if($===403)return new D$($,J,X,Y);if($===404)return new j$($,J,X,Y);if($===409)return new y$($,J,X,Y);if($===422)return new E$($,J,X,Y);if($===429)return new v$($,J,X,Y);if($>=500)return new _$($,J,X,Y);return new j1($,J,X,Y)}}class n1 extends j1{constructor({message:$}={}){super(void 0,void 0,$||"Request was aborted.",void 0)}}class _4 extends j1{constructor({message:$,cause:Z}){super(void 0,void 0,$||"Connection error.",void 0);if(Z)this.cause=Z}}class T$ extends _4{constructor({message:$}={}){super({message:$??"Request timed out."})}}class b$ extends j1{}class I$ extends j1{}class D$ extends j1{}class j$ extends j1{}class y$ extends j1{}class E$ extends j1{}class v$ extends j1{}class _$ extends j1{}var UJ=/^[a-z][a-z0-9+.-]*:/i,Y5=($)=>{return UJ.test($)},v8=($)=>(v8=Array.isArray,v8($)),_8=v8;function kZ($){if(typeof $!=="object")return{};return $??{}}function J5($){if(!$)return!0;for(let Z in $)return!1;return!0}function W5($,Z){return Object.prototype.hasOwnProperty.call($,Z)}var K5=($,Z)=>{if(typeof Z!=="number"||!Number.isInteger(Z))throw new m(`${$} must be an integer`);if(Z<0)throw new m(`${$} must be a positive integer`);return Z};var TZ=($)=>{try{return JSON.parse($)}catch(Z){return}};var Q5=($)=>new Promise((Z)=>setTimeout(Z,$));var C4="0.71.2";var H5=()=>{return typeof window<"u"&&typeof window.document<"u"&&typeof navigator<"u"};function wJ(){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 MJ=()=>{let $=wJ();if($==="deno")return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":C4,"X-Stainless-OS":G5(Deno.build.os),"X-Stainless-Arch":z5(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":C4,"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":C4,"X-Stainless-OS":G5(globalThis.process.platform??"unknown"),"X-Stainless-Arch":z5(globalThis.process.arch??"unknown"),"X-Stainless-Runtime":"node","X-Stainless-Runtime-Version":globalThis.process.version??"unknown"};let Z=qJ();if(Z)return{"X-Stainless-Lang":"js","X-Stainless-Package-Version":C4,"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":C4,"X-Stainless-OS":"Unknown","X-Stainless-Arch":"unknown","X-Stainless-Runtime":"unknown","X-Stainless-Runtime-Version":"unknown"}};function qJ(){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 z5=($)=>{if($==="x32")return"x32";if($==="x86_64"||$==="x64")return"x64";if($==="arm")return"arm";if($==="aarch64"||$==="arm64")return"arm64";if($)return`other:${$}`;return"unknown"},G5=($)=>{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"},O5,N5=()=>{return O5??(O5=MJ())};function U5(){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 f8(...$){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 bZ($){let Z=Symbol.asyncIterator in $?$[Symbol.asyncIterator]():$[Symbol.iterator]();return f8({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 f$($){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 w5($){if($===null||typeof $!=="object")return;if($[Symbol.asyncIterator]){await $[Symbol.asyncIterator]().return?.();return}let Z=$.getReader(),X=Z.cancel();Z.releaseLock(),await X}var M5=({headers:$,body:Z})=>{return{bodyHeaders:{"content-type":"application/json"},body:JSON.stringify(Z)}};function F5($){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 q5;function h$($){let Z;return(q5??(Z=new globalThis.TextEncoder,q5=Z.encode.bind(Z)))($)}var A5;function h8($){let Z;return(A5??(Z=new globalThis.TextDecoder,A5=Z.decode.bind(Z)))($)}var H0,N0;class B4{constructor(){H0.set(this,void 0),N0.set(this,void 0),I(this,H0,new Uint8Array,"f"),I(this,N0,null,"f")}decode($){if($==null)return[];let Z=$ instanceof ArrayBuffer?new Uint8Array($):typeof $==="string"?h$($):$;I(this,H0,F5([C(this,H0,"f"),Z]),"f");let X=[],Y;while((Y=CJ(C(this,H0,"f"),C(this,N0,"f")))!=null){if(Y.carriage&&C(this,N0,"f")==null){I(this,N0,Y.index,"f");continue}if(C(this,N0,"f")!=null&&(Y.index!==C(this,N0,"f")+1||Y.carriage)){X.push(h8(C(this,H0,"f").subarray(0,C(this,N0,"f")-1))),I(this,H0,C(this,H0,"f").subarray(C(this,N0,"f")),"f"),I(this,N0,null,"f");continue}let J=C(this,N0,"f")!==null?Y.preceding-1:Y.preceding,W=h8(C(this,H0,"f").subarray(0,J));X.push(W),I(this,H0,C(this,H0,"f").subarray(Y.index),"f"),I(this,N0,null,"f")}return X}flush(){if(!C(this,H0,"f").length)return[];return this.decode(`
12
+ `)}}H0=new WeakMap,N0=new WeakMap;B4.NEWLINE_CHARS=new Set([`
13
+ `,"\r"]);B4.NEWLINE_REGEXP=/\r\n|[\n\r]/g;function CJ($,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 C5($){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 DZ={off:0,error:200,warn:300,info:400,debug:500},g8=($,Z,X)=>{if(!$)return;if(W5(DZ,$))return $;g1(X).warn(`${Z} was set to ${JSON.stringify($)}, expected one of ${JSON.stringify(Object.keys(DZ))}`);return};function g$(){}function IZ($,Z,X){if(!Z||DZ[$]>DZ[X])return g$;else return Z[$].bind(Z)}var BJ={error:g$,warn:g$,info:g$,debug:g$},B5=new WeakMap;function g1($){let Z=$.logger,X=$.logLevel??"off";if(!Z)return BJ;let Y=B5.get(Z);if(Y&&Y[0]===X)return Y[1];let J={error:IZ("error",Z,X),warn:IZ("warn",Z,X),info:IZ("info",Z,X),debug:IZ("debug",Z,X)};return B5.set(Z,[X,J]),J}var X4=($)=>{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 m$;class U0{constructor($,Z,X){this.iterator=$,m$.set(this,void 0),this.controller=Z,I(this,m$,X,"f")}static fromSSEResponse($,Z,X){let Y=!1,J=X?g1(X):console;async function*W(){if(Y)throw new m("Cannot iterate over a consumed stream, use `.tee()` to split the stream.");Y=!0;let K=!1;try{for await(let Q of PJ($,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 j1(void 0,TZ(Q.data)??Q.data,void 0,$.headers)}K=!0}catch(Q){if(Z4(Q))return;throw Q}finally{if(!K)Z.abort()}}return new U0(W,Z,X)}static fromReadableStream($,Z,X){let Y=!1;async function*J(){let K=new B4,Q=f$($);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 m("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(Z4(Q))return;throw Q}finally{if(!K)Z.abort()}}return new U0(W,Z,X)}[(m$=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 U0(()=>Y($),this.controller,C(this,m$,"f")),new U0(()=>Y(Z),this.controller,C(this,m$,"f"))]}toReadableStream(){let $=this,Z;return f8({async start(){Z=$[Symbol.asyncIterator]()},async pull(X){try{let{value:Y,done:J}=await Z.next();if(J)return X.close();let W=h$(JSON.stringify(Y)+`
14
+ `);X.enqueue(W)}catch(Y){X.error(Y)}},async cancel(){await Z.return?.()}})}}async function*PJ($,Z){if(!$.body){if(Z.abort(),typeof globalThis.navigator<"u"&&globalThis.navigator.product==="ReactNative")throw new m("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 m("Attempted to iterate over a response with no body")}let X=new P5,Y=new B4,J=f$($.body);for await(let W of LJ(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*LJ($){let Z=new Uint8Array;for await(let X of $){if(X==null)continue;let Y=X instanceof ArrayBuffer?new Uint8Array(X):typeof X==="string"?h$(X):X,J=new Uint8Array(Z.length+Y.length);J.set(Z),J.set(Y,Z.length),Z=J;let W;while((W=C5(Z))!==-1)yield Z.slice(0,W),Z=Z.slice(W)}if(Z.length>0)yield Z}class P5{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]=RJ($,":");if(Y.startsWith(" "))Y=Y.substring(1);if(Z==="event")this.event=Y;else if(Z==="data")this.data.push(Y);return null}}function RJ($,Z){let X=$.indexOf(Z);if(X!==-1)return[$.substring(0,X),Z,$.substring(X+Z.length)];return[$,"",""]}async function jZ($,Z){let{response:X,requestLogID:Y,retryOfRequestLogID:J,startTime:W}=Z,K=await(async()=>{if(Z.options.stream){if(g1($).debug("response",X.status,X.url,X.headers,X.body),Z.options.__streamClass)return Z.options.__streamClass.fromSSEResponse(X,Z.controller);return U0.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 H=await X.json();return m8(H,X)}return await X.text()})();return g1($).debug(`[${Y}] response parsed`,X4({retryOfRequestLogID:J,url:X.url,status:X.status,body:K,durationMs:Date.now()-W})),K}function m8($,Z){if(!$||typeof $!=="object"||Array.isArray($))return $;return Object.defineProperty($,"_request_id",{value:Z.headers.get("request-id"),enumerable:!1})}var x$;class f4 extends Promise{constructor($,Z,X=jZ){super((Y)=>{Y(null)});this.responsePromise=Z,this.parseResponse=X,x$.set(this,void 0),I(this,x$,$,"f")}_thenUnwrap($){return new f4(C(this,x$,"f"),this.responsePromise,async(Z,X)=>m8($(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,x$,"f"),$));return this.parsedPromise}then($,Z){return this.parse().then($,Z)}catch($){return this.parse().catch($)}finally($){return this.parse().finally($)}}x$=new WeakMap;var yZ;class x8{constructor($,Z,X,Y){yZ.set(this,void 0),I(this,yZ,$,"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 m("No next page expected; please check `.hasNextPage()` before calling `.getNextPage()`.");return await C(this,yZ,"f").requestAPIList(this.constructor,$)}async*iterPages(){let $=this;yield $;while($.hasNextPage())$=await $.getNextPage(),yield $}async*[(yZ=new WeakMap,Symbol.asyncIterator)](){for await(let $ of this.iterPages())for(let Z of $.getPaginatedItems())yield Z}}class EZ extends f4{constructor($,Z,X){super($,Z,async(Y,J)=>new X(Y,J.response,await jZ(Y,J),J.options))}async*[Symbol.asyncIterator](){let $=await this;for await(let Z of $)yield Z}}class j0 extends x8{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:{...kZ(this.options.query),before_id:Z}}}let $=this.last_id;if(!$)return null;return{...this.options,query:{...kZ(this.options.query),after_id:$}}}}class u$ extends x8{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:{...kZ(this.options.query),page:$}}}}var c8=()=>{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 h4($,Z,X){return c8(),new File($,Z??"unknown_file",X)}function c$($){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 p8=($)=>$!=null&&typeof $==="object"&&typeof $[Symbol.asyncIterator]==="function";var Z$=async($,Z)=>{return{...$,body:await kJ($.body,Z)}},L5=new WeakMap;function VJ($){let Z=typeof $==="function"?$:$.fetch,X=L5.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 L5.set(Z,Y),Y}var kJ=async($,Z)=>{if(!await VJ(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])=>u8(X,Y,J))),X},TJ=($)=>$ instanceof Blob&&("name"in $);var u8=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,h4([await X.blob()],c$(X),Y))}else if(p8(X))$.append(Z,h4([await new Response(bZ(X)).blob()],c$(X)));else if(TJ(X))$.append(Z,h4([X],c$(X),{type:X.type}));else if(Array.isArray(X))await Promise.all(X.map((Y)=>u8($,Z+"[]",Y)));else if(typeof X==="object")await Promise.all(Object.entries(X).map(([Y,J])=>u8($,`${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 R5=($)=>$!=null&&typeof $==="object"&&typeof $.size==="number"&&typeof $.type==="string"&&typeof $.text==="function"&&typeof $.slice==="function"&&typeof $.arrayBuffer==="function",bJ=($)=>$!=null&&typeof $==="object"&&typeof $.name==="string"&&typeof $.lastModified==="number"&&R5($),IJ=($)=>$!=null&&typeof $==="object"&&typeof $.url==="string"&&typeof $.blob==="function";async function vZ($,Z,X){if(c8(),$=await $,Z||(Z=c$($)),bJ($)){if($ instanceof File&&Z==null&&X==null)return $;return h4([await $.arrayBuffer()],Z??$.name,{type:$.type,lastModified:$.lastModified,...X})}if(IJ($)){let J=await $.blob();return Z||(Z=new URL($.url).pathname.split(/[\\/]/).pop()),h4(await d8(J),Z,X)}let Y=await d8($);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 h4(Y,Z,X)}async function d8($){let Z=[];if(typeof $==="string"||ArrayBuffer.isView($)||$ instanceof ArrayBuffer)Z.push($);else if(R5($))Z.push($ instanceof Blob?$:await $.arrayBuffer());else if(p8($))for await(let X of $)Z.push(...await d8(X));else{let X=$?.constructor?.name;throw Error(`Unexpected data type: ${typeof $}${X?`; constructor: ${X}`:""}${DJ($)}`)}return Z}function DJ($){if(typeof $!=="object"||$===null)return"";return`; props: [${Object.getOwnPropertyNames($).map((X)=>`"${X}"`).join(", ")}]`}class S1{constructor($){this._client=$}}var S5=Symbol.for("brand.privateNullableHeaders");function*yJ($){if(!$)return;if(S5 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(_8($))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=_8(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 i=($)=>{let Z=new Headers,X=new Set;for(let Y of $){let J=new Set;for(let[W,K]of yJ(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{[S5]:!0,values:Z,nulls:X}};function k5($){return $.replace(/[^A-Za-z0-9\-._~!$&'()*+,;=:@]+/g,encodeURIComponent)}var V5=Object.freeze(Object.create(null)),EJ=($=k5)=>function(X,...Y){if(X.length===1)return X[0];let J=!1,W=[],K=X.reduce((O,H,U)=>{if(/[?#]/.test(H))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??V5)??V5)?.toString))A=M+"",W.push({start:O.length+H.length,length:A.length,error:`Value of type ${Object.prototype.toString.call(M).slice(8,-1)} is not a valid path parameter`});return O+H+(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,H)=>O.start-H.start),W.length>0){let O=0,H=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 m(`Path parameters result in path with invalid segments:
16
+ ${W.map((U)=>U.error).join(`
32
17
  `)}
33
- `}),Z+=`
34
- `;return Z.trim()}function J4($){let{sendMessage:Z,createNewChat:Y}=$1(),{extraParams:J}=Z1(),{closePanel:X}=$,K=z$.useMemo(()=>{return{...J,is_in_task:!0}},[J]);return{handleExecuteTask:z$.useCallback((W)=>{let O=[{type:"human",content:`${U8(W)}
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
- ${F.selected.join(`
38
- - `)}`;if(F.customInput&&F.customInput.trim())L+=(L?`
39
- `:"")+`User Custom Input: ${F.customInput}`}$.sendResumeData({type:"respond",message:L||"User made a selection"}),J(X,{resultSent:!0})}};_();let O=setInterval(_,100);return()=>clearInterval(O)},[X,Y,J,$]),$.state==="interrupted"&&!$.output)return c0.jsxDEV(z,{flexDirection:"column",children:c0.jsxDEV(z,{paddingX:1,children:c0.jsxDEV(G,{color:"yellow",children:"⏳ 等待用户选择..."},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);if($.output)return c0.jsxDEV(G,{color:"yellow",children:$.output},void 0,!1,void 0,this);return null},M4=l({name:"ask_user_questions",description:"Ask the user a question with selectable options",parameters:I8,handler:n.waitForUIDone,render($){return c0.jsxDEV(k8,{tool:$},void 0,!1,void 0,this)}});var v0=A(D(),1);var e0=A(M(),1),u0=({content:$,maxLines:Z=10,borderColor:Y="cyan",borderStyle:J="single",marginTop:X=0,paddingX:K=0,showOmittedInfo:Q=!0})=>{let{stdout:W}=R4();if(!$)return null;let _=W.columns,O=$.split(`
40
- `).map((F)=>F.slice(0,_-10)),N=Math.max(0,O.length-Z),U=O.slice(-Z).join(`
41
- `);return e0.jsxDEV(z,{flexDirection:"column",width:_-5,children:e0.jsxDEV(z,{borderStyle:J,borderColor:Y,borderLeft:!1,borderRight:!1,flexDirection:"column",paddingX:K,marginTop:X,children:[Q&&N>0&&e0.jsxDEV(G,{color:"gray",dimColor:!0,children:["... ",N," lines omitted ..."]},void 0,!0,void 0,this),e0.jsxDEV(G,{dimColor:!0,children:U},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)};var w1=A(M(),1),y8=({tool:$})=>{let{addInteraction:Z,getInteractions:Y,updateInteraction:J}=k1(),[X,K]=v0.useState(null),Q=v0.useRef(!1),W=$.getHumanInTheLoopData();if(v0.useEffect(()=>{if(W?.reviewConfig&&$.state==="interrupted"&&!X&&!Q.current){let O=$.getInputRepaired()?.description,N={type:"approval",toolCall:{name:$.message.name,args:$.getInputRepaired()},editableFields:["args"]},U=Z(N,{tool:$,metadata:{title:`Approve ${$.message.name}`,description:O,groupKey:"approvals"}});K(U.id)}},[W,$,X,Z]),v0.useEffect(()=>{if(!X||Q.current)return;let O=()=>{let F=Y().find((L)=>L.id===X);if(F&&(F.state==="submitted"||F.state==="edited"||F.state==="cancelled")&&!F.resultSent){Q.current=!0;let L=F.result;if(L){if(L.status==="approved")$.sendResumeData({type:"approve"});else if(L.status==="edited"){let q={name:$.message.name,args:L.editedArgs};$.sendResumeData({type:"edit",edited_action:q})}else if(L.status==="rejected"){let q=L.message||"User rejected to run this tool";$.sendResumeData({type:"reject",message:q})}}J(X,{resultSent:!0})}};O();let N=setInterval(O,100);return()=>clearInterval(N)},[X,Y,J,$]),W?.reviewConfig&&X&&!$.output)return w1.jsxDEV(z,{flexDirection:"column",children:w1.jsxDEV(z,{paddingX:1,paddingY:1,children:w1.jsxDEV(G,{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 w1.jsxDEV(z,{flexDirection:"column",children:(()=>{if(!$.output)return null;return w1.jsxDEV(u0,{content:$.output,maxLines:5,borderColor:"cyan"},void 0,!1,void 0,this)})()},void 0,!1,void 0,this)},T8=({tool:$})=>{let Z=$.getInputRepaired(),Y=typeof Z?.command==="string"?Z.command:String(Z?.command??""),J=Y.length>50?Y.substring(0,50)+"...":Y;return w1.jsxDEV(z,{paddingX:1,children:[w1.jsxDEV(G,{color:"magenta",children:"Run "},void 0,!1,void 0,this),w1.jsxDEV(G,{dimColor:!0,children:"("},void 0,!1,void 0,this),w1.jsxDEV(G,{color:"magenta",children:J},void 0,!1,void 0,this),w1.jsxDEV(G,{dimColor:!0,children:")"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},b4=l({name:"terminal",description:"",parameters:{},handler:n.waitForUIDone,render($){return w1.jsxDEV(z,{flexDirection:"column",children:[w1.jsxDEV(T8,{tool:$},void 0,!1,void 0,this),w1.jsxDEV(y8,{tool:$},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}});import{diff_match_patch as D8}from"diff-match-patch";function V8($,Z,Y){if($===Z)return[{type:"unchanged",content:$,lineNumbers:{old:1,new:1}}];let J=new D8,X=J.diff_main($,Z);J.diff_cleanupSemantic(X);let K=[],Q=1,W=1,_=[];for(let[R,P]of X){if(P==="")continue;let S=P.split(`
42
- `),u=P.endsWith(`
43
- `);for(let m=0;m<S.length;m++){let t=S[m];if(t===""&&(m<S.length-1||!u))continue;let v={type:R===0?"unchanged":R===-1?"added":"removed",content:t};if(R===0)v.lineNumbers={old:Q,new:W},Q++,W++;else if(R===-1)v.lineNumbers={new:W},W++;else if(R===1)v.lineNumbers={old:Q},Q++;_.push(v)}}if(!Y?.maxLines)return _;let O=Y.maxLines,N=Y.contextLines||3,U=_.map((R,P)=>R.type!=="unchanged"?P:-1).filter((R)=>R!==-1);if(U.length===0||_.length<=O)return _;let F=[],L=0,q=[],w=[];for(let R=0;R<U.length;R++)if(w.length===0)w.push(U[R]);else{let P=w[w.length-1];if(U[R]-P<=1)w.push(U[R]);else q.push([...w]),w=[U[R]]}if(w.length>0)q.push(w);for(let R of q){if(L>=O)break;let P=R[0],S=R[R.length-1],u=Math.max(0,P-N),m=Math.min(_.length-1,S+N),t=m-u+1;if(L+t>O&&L>0){F.push({type:"unchanged",content:"..."});break}for(let v=u;v<=m;v++){if(L>=O){if(v<m)F.push({type:"unchanged",content:"..."});break}F.push(_[v]),L++}if(R===q[q.length-1]&&L<_.length){let v=_.length-m-1;if(v>0)F.push({type:"unchanged",content:`... (${v} more lines)`})}}return F}function B4($,Z=1000){return $=$||"",$.length>Z||$.split(`
44
- `).length>50}function P4($,Z,Y){let J=B4($)||B4(Z),K=Y!==void 0&&"maxLines"in Y?Y.maxLines:J?10:20,Q=Y?.contextLines??(J?1:3);return V8($,Z,{maxLines:K,contextLines:Q})}var x0=A(M(),1),j8=["sky","primary"];function h8($){let Z=$%2;return S0(j8[Z])}function E8($){let Z=[];if($.startsWith("/"))Z.push({type:"separator",value:"/"}),$=$.slice(1);let Y=$.split("/");return Y.forEach((J,X)=>{if(J)Z.push({type:"segment",value:J});if(X<Y.length-1)Z.push({type:"separator",value:"/"})}),Z}var g8=({path:$,color:Z="cyan",line:Y,rainbow:J=!1})=>{let X=f4($)??"",K=Y!==void 0?`:${Y}`:"";if(!J)return x0.jsxDEV(G,{color:S0(Z),children:[X,K]},void 0,!0,void 0,this);let Q=E8(X),W=-1;for(let O=Q.length-1;O>=0;O--)if(Q[O].type==="segment"){W=O;break}let _=0;return x0.jsxDEV(G,{children:[Q.map((O,N)=>{if(O.type==="separator")return x0.jsxDEV(G,{dimColor:!0,color:"gray",children:O.value},`sep-${N}`,!1,void 0,this);let U=N===W,F=h8(_);return _++,x0.jsxDEV(G,{color:F,dimColor:!U,children:O.value},`seg-${N}`,!1,void 0,this)}),K&&x0.jsxDEV(G,{color:"gray",children:K},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},P1=g8;var X1=A(M(),1),p8=C4.schema,v4=l({name:"edit_file",description:"Performs exact string replacements in files with diff visualization",parameters:p8.shape,handler:n.waitForUIDone,render($){let Z=$.getInputRepaired(),Y=$.output,J=typeof Z?.file_path==="string"?Z.file_path:String(Z?.file_path??""),X=typeof Z?.old_string==="string"?Z.old_string:"",K=typeof Z?.new_string==="string"?Z.new_string:"",Q=X.length>0&&K.length>0&&X!==K,W=typeof Y==="string"?Y:"",_=0,O=0;if(Q){let N=P4(X,K,{maxLines:void 0});for(let U of N){if(U.type==="removed")_++;if(U.type==="added")O++}}return X1.jsxDEV(z,{flexDirection:"column",paddingX:1,children:[X1.jsxDEV(z,{children:[X1.jsxDEV(G,{color:"yellow",children:"Edit "},void 0,!1,void 0,this),X1.jsxDEV(G,{dimColor:!0,children:"("},void 0,!1,void 0,this),X1.jsxDEV(P1,{path:J,rainbow:!0},void 0,!1,void 0,this),X1.jsxDEV(G,{dimColor:!0,children:")"},void 0,!1,void 0,this),Q&&X1.jsxDEV(X1.Fragment,{children:[X1.jsxDEV(G,{color:"gray",children:" ("},void 0,!1,void 0,this),X1.jsxDEV(G,{color:"red",children:["-",_]},void 0,!0,void 0,this),X1.jsxDEV(G,{color:"gray",children:"/"},void 0,!1,void 0,this),X1.jsxDEV(G,{color:"green",children:["+",O]},void 0,!0,void 0,this),X1.jsxDEV(G,{color:"gray",children:")"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),W&&W.startsWith("Error:")&&X1.jsxDEV(z,{marginTop:0,marginLeft:1,marginBottom:1,children:X1.jsxDEV(G,{color:"red",children:W},void 0,!1,void 0,this)},void 0,!1,void 0,this),!W&&X1.jsxDEV(z,{marginTop:0,children:X1.jsxDEV(G,{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 E1=A(M(),1),m8=["pending","in_progress","completed"],c8={pending:"gray",in_progress:"yellow",completed:"green"},u8={pending:"○",in_progress:"◐",completed:"✓"};function x8($,Z){let Y=$&&typeof $==="object"?$:{},J=typeof Y.id==="string"?Y.id:String(Z),X=typeof Y.content==="string"?Y.content:String(Y.content??""),K=m8.includes(Y.status)?Y.status:"pending";return{id:J,content:X,status:K}}var I4=l({name:"todo_write",description:"Use this tool to create and manage a structured task list",parameters:S4.shape,handler:n.waitForUIDone,render($){let Z=$.getInputRepaired(),J=(Z&&Array.isArray(Z.todos)?Z.todos:[]).map(x8);if(!Z)return E1.jsxDEV(z,{flexDirection:"column",borderStyle:"round",borderColor:"red",children:E1.jsxDEV(G,{color:"red",children:"Error: Invalid todo data structure"},void 0,!1,void 0,this)},void 0,!1,void 0,this);return E1.jsxDEV(z,{flexDirection:"column",paddingY:1,children:E1.jsxDEV(z,{flexDirection:"column",marginTop:0,children:(()=>{if(J.length===0)return E1.jsxDEV(z,{paddingX:1,children:E1.jsxDEV(G,{color:"gray",children:"No tasks in todo list"},void 0,!1,void 0,this)},void 0,!1,void 0,this);return E1.jsxDEV(z,{flexDirection:"column",marginTop:0,children:J.map((K,Q)=>E1.jsxDEV(z,{paddingX:1,paddingY:0,children:[E1.jsxDEV(G,{color:c8[K.status],bold:!0,children:[u8[K.status]," "]},void 0,!0,void 0,this),E1.jsxDEV(G,{color:K.status==="in_progress"?"white":"gray",children:[Q+1,". ",K.content]},void 0,!0,void 0,this)]},K.id,!0,void 0,this))},void 0,!1,void 0,this)})()},void 0,!1,void 0,this)},void 0,!1,void 0,this)}});var g1=A(M(),1),d8=k4.schema,y4=l({name:"read_file",description:"Reads a file from the local filesystem",parameters:d8.shape,handler:n.waitForUIDone,render($){let Z=$.getInputRepaired(),Y=$.output;if(!Y)return g1.jsxDEV(g1.Fragment,{},void 0,!1,void 0,this);let K=(typeof Y==="string"?Y:String(Y??"")).split(`
45
- `).length,Q=typeof Z?.file_path==="string"?Z.file_path:String(Z?.file_path??"");return g1.jsxDEV(z,{flexDirection:"column",paddingX:1,children:g1.jsxDEV(z,{children:[g1.jsxDEV(G,{color:"blue",children:"Read "},void 0,!1,void 0,this),g1.jsxDEV(G,{dimColor:!0,children:"("},void 0,!1,void 0,this),g1.jsxDEV(P1,{path:Q,rainbow:!0},void 0,!1,void 0,this),g1.jsxDEV(G,{dimColor:!0,children:")"},void 0,!1,void 0,this),g1.jsxDEV(G,{color:"gray",dimColor:!0,children:[" ","(",K," lines)"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)}});var p1=A(M(),1),l8=T4.schema,D4=l({name:"glob_files",description:"Find files by name patterns",parameters:l8.shape,handler:n.waitForUIDone,render($){let Z=$.getInputRepaired(),Y=$.output;if(!Y)return p1.jsxDEV(p1.Fragment,{},void 0,!1,void 0,this);let X=Y.split(`
46
- `).filter(Boolean).length,K=typeof Z?.pattern==="string"?Z.pattern:String(Z?.pattern??"");return p1.jsxDEV(z,{flexDirection:"column",paddingX:1,children:p1.jsxDEV(G,{children:[p1.jsxDEV(G,{color:"cyan",children:"Glob "},void 0,!1,void 0,this),p1.jsxDEV(G,{dimColor:!0,children:"("},void 0,!1,void 0,this),p1.jsxDEV(P1,{path:K,rainbow:!0},void 0,!1,void 0,this),p1.jsxDEV(G,{dimColor:!0,children:")"},void 0,!1,void 0,this),p1.jsxDEV(G,{color:"gray",dimColor:!0,children:[" ","(",X," files)"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)}});import{z as I0}from"zod";var _1=A(M(),1),i8=I0.object({args:I0.array(I0.string()).optional().describe("ripgrep 参数数组,格式为 [OPTIONS...] PATTERN [PATH...]"),pattern:I0.string().optional().describe("搜索模式(结构化参数)"),path:I0.string().optional().describe("搜索路径(结构化参数)"),description:I0.string().optional().describe("操作描述"),head_limit:I0.number().optional().describe("限制输出行数")}),V4=l({name:"search_files_rg",description:"Ripgrep - fast text search tool",parameters:i8.shape,handler:n.waitForUIDone,render($){let Z=$.getInputRepaired(),Y=$.output;if(!Y)return _1.jsxDEV(_1.Fragment,{},void 0,!1,void 0,this);let K=(typeof Y==="string"?Y:String(Y??"")).split(`
47
- `).filter(Boolean).length,Q=typeof Z?.pattern==="string"?Z.pattern:void 0,W=typeof Z?.path==="string"?Z.path:void 0;if(!Q&&Z?.args){let N=(Array.isArray(Z.args)?Z.args:[]).filter((U)=>typeof U==="string").filter((U)=>!U.startsWith("-"));if(N.length>0){if(W=N[N.length-1],N.length>1)Q=N[N.length-2]}}return _1.jsxDEV(z,{flexDirection:"column",paddingX:1,children:_1.jsxDEV(G,{children:[_1.jsxDEV(G,{color:"magenta",children:"Ripgrep "},void 0,!1,void 0,this),Q&&_1.jsxDEV(_1.Fragment,{children:[_1.jsxDEV(G,{dimColor:!0,children:"("},void 0,!1,void 0,this),_1.jsxDEV(P1,{path:Q,color:"magenta"},void 0,!1,void 0,this),_1.jsxDEV(G,{dimColor:!0,children:")"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),W&&W!=="./"&&_1.jsxDEV(_1.Fragment,{children:[_1.jsxDEV(G,{dimColor:!0,children:" in "},void 0,!1,void 0,this),_1.jsxDEV(P1,{path:W,rainbow:!0},void 0,!1,void 0,this)]},void 0,!0,void 0,this),_1.jsxDEV(G,{color:"gray",dimColor:!0,children:[" ","(",K," matches)"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)}});import{z as A$}from"zod";var s1=A(M(),1),o8=A$.object({description:A$.string().optional(),file_path:A$.string(),content:A$.string()}),j4=l({name:"write_file",description:"Writes a file to the local filesystem",parameters:o8.shape,handler:n.waitForUIDone,render($){let Z=$.getInputRepaired(),Y=$.output,J=typeof Z?.content==="string"?Z.content:String(Z?.content??""),X=typeof Z?.file_path==="string"?Z.file_path:String(Z?.file_path??""),K=J.split(`
48
- `).length,Q=typeof Y==="string"?Y:"";return s1.jsxDEV(z,{flexDirection:"column",paddingX:1,children:[s1.jsxDEV(z,{children:[s1.jsxDEV(G,{color:"green",children:"Write "},void 0,!1,void 0,this),s1.jsxDEV(G,{dimColor:!0,children:"("},void 0,!1,void 0,this),s1.jsxDEV(P1,{path:X,rainbow:!0},void 0,!1,void 0,this),s1.jsxDEV(G,{dimColor:!0,children:")"},void 0,!1,void 0,this),s1.jsxDEV(G,{dimColor:!0,children:[" (",K," lines)"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),Q&&Q.startsWith("Error:")&&s1.jsxDEV(z,{marginTop:0,marginLeft:1,marginBottom:1,children:s1.jsxDEV(G,{color:"red",children:Q},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}});var N1=A(M(),1),r8=h4.schema,E4=l({name:"folder_operations",description:"Unified folder operations tool supporting create, list, delete, and existence check",parameters:r8.shape,render($){let Z=$.getInputRepaired(),Y=$.output;if(!Y)return N1.jsxDEV(N1.Fragment,{},void 0,!1,void 0,this);let J=typeof Y==="string"?Y:String(Y??""),X=typeof Z?.operation==="string"?Z.operation:String(Z?.operation??""),K=typeof Z?.folder_path==="string"?Z.folder_path:String(Z?.folder_path??""),W={create:"green",list:"blue",exists:"yellow",delete:"red"}[X]??"cyan",O=J.split(`
49
- `).map((N,U)=>{if(N.match(/\d+ \w+|[\d-]+ [\d:]+/))return N1.jsxDEV(G,{dimColor:!0,children:N},U,!1,void 0,this);if(N.includes("✓")||N.includes("successfully")||N.includes("created")||N.includes("deleted"))return N1.jsxDEV(G,{color:"green",children:N},U,!1,void 0,this);if(N.includes("✗")||N.includes("Error")||N.includes("not found")||N.includes("failed"))return N1.jsxDEV(G,{color:"red",children:N},U,!1,void 0,this);if(N.startsWith("/")||N.includes("/:"))return N1.jsxDEV(G,{color:"cyan",children:N},U,!1,void 0,this);return N1.jsxDEV(G,{children:N},U,!1,void 0,this)});return N1.jsxDEV(z,{flexDirection:"column",paddingX:1,children:N1.jsxDEV(z,{children:[N1.jsxDEV(G,{bold:!0,color:W,children:[X,"Folder"]},void 0,!0,void 0,this),N1.jsxDEV(G,{dimColor:!0,children:" ("},void 0,!1,void 0,this),N1.jsxDEV(P1,{path:K,rainbow:!0},void 0,!1,void 0,this),N1.jsxDEV(G,{dimColor:!0,children:")"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)}});import{z as n8}from"zod";var Q1=A(M(),1),a8=n8.object({}),g4=l({name:"load_mcp_tools",description:`加载并查询所有可用的 MCP 工具列表。
18
+ ${K}
19
+ ${H}`)}return K},L1=EJ(k5);class p$ extends S1{list($={},Z){let{betas:X,...Y}=$??{};return this._client.getAPIList("/v1/files",j0,{query:Y,...Z,headers:i([{"anthropic-beta":[...X??[],"files-api-2025-04-14"].toString()},Z?.headers])})}delete($,Z={},X){let{betas:Y}=Z??{};return this._client.delete(L1`/v1/files/${$}`,{...X,headers:i([{"anthropic-beta":[...Y??[],"files-api-2025-04-14"].toString()},X?.headers])})}download($,Z={},X){let{betas:Y}=Z??{};return this._client.get(L1`/v1/files/${$}/content`,{...X,headers:i([{"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(L1`/v1/files/${$}`,{...X,headers:i([{"anthropic-beta":[...Y??[],"files-api-2025-04-14"].toString()},X?.headers])})}upload($,Z){let{betas:X,...Y}=$;return this._client.post("/v1/files",Z$({body:Y,...Z,headers:i([{"anthropic-beta":[...X??[],"files-api-2025-04-14"].toString()},Z?.headers])},this._client))}}class d$ extends S1{retrieve($,Z={},X){let{betas:Y}=Z??{};return this._client.get(L1`/v1/models/${$}?beta=true`,{...X,headers:i([{...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",j0,{query:Y,...Z,headers:i([{...X?.toString()!=null?{"anthropic-beta":X?.toString()}:void 0},Z?.headers])})}}var _Z={"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 l8($,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 i8($,Z,X)}function i8($,Z,X){let Y=null,J=$.content.map((W)=>{if(W.type==="text"){let K=fJ(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 fJ($,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 m(`Failed to parse structured output: ${X}`)}}var hJ=($)=>{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},X$=($)=>{if($.length===0)return $;let Z=$[$.length-1];switch(Z.type){case"separator":return $=$.slice(0,$.length-1),X$($);break;case"number":let X=Z.value[Z.value.length-1];if(X==="."||X==="-")return $=$.slice(0,$.length-1),X$($);case"string":let Y=$[$.length-2];if(Y?.type==="delimiter")return $=$.slice(0,$.length-1),X$($);else if(Y?.type==="brace"&&Y.value==="{")return $=$.slice(0,$.length-1),X$($);break;case"delimiter":return $=$.slice(0,$.length-1),X$($);break}return $},gJ=($)=>{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 $},mJ=($)=>{let Z="";return $.map((X)=>{switch(X.type){case"string":Z+='"'+X.value+'"';break;default:Z+=X.value;break}}),Z},fZ=($)=>JSON.parse(mJ(gJ(X$(hJ($)))));var V0,P4,Y$,l$,hZ,i$,o$,gZ,n$,Y4,r$,mZ,xZ,g4,uZ,cZ,a$,o8,T5,pZ,n8,r8,a8,b5,I5="__json_buf";function D5($){return $.type==="tool_use"||$.type==="server_tool_use"||$.type==="mcp_tool_use"}class s${constructor($,Z){V0.add(this),this.messages=[],this.receivedMessages=[],P4.set(this,void 0),Y$.set(this,null),this.controller=new AbortController,l$.set(this,void 0),hZ.set(this,()=>{}),i$.set(this,()=>{}),o$.set(this,void 0),gZ.set(this,()=>{}),n$.set(this,()=>{}),Y4.set(this,{}),r$.set(this,!1),mZ.set(this,!1),xZ.set(this,!1),g4.set(this,!1),uZ.set(this,void 0),cZ.set(this,void 0),a$.set(this,void 0),pZ.set(this,(X)=>{if(I(this,mZ,!0,"f"),Z4(X))X=new n1;if(X instanceof n1)return I(this,xZ,!0,"f"),this._emit("abort",X);if(X instanceof m)return this._emit("error",X);if(X instanceof Error){let Y=new m(X.message);return Y.cause=X,this._emit("error",Y)}return this._emit("error",new m(String(X)))}),I(this,l$,new Promise((X,Y)=>{I(this,hZ,X,"f"),I(this,i$,Y,"f")}),"f"),I(this,o$,new Promise((X,Y)=>{I(this,gZ,X,"f"),I(this,n$,Y,"f")}),"f"),C(this,l$,"f").catch(()=>{}),C(this,o$,"f").catch(()=>{}),I(this,Y$,$,"f"),I(this,a$,Z?.logger??console,"f")}get response(){return C(this,uZ,"f")}get request_id(){return C(this,cZ,"f")}async withResponse(){I(this,g4,!0,"f");let $=await C(this,l$,"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 s$(null);return Z._run(()=>Z._fromReadableStream($)),Z}static createMessage($,Z,X,{logger:Y}={}){let J=new s$(Z,{logger:Y});for(let W of Z.messages)J._addMessageParam(W);return I(J,Y$,{...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,pZ,"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,V0,"m",n8).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,V0,"m",r8).call(this,Q);if(K.controller.signal?.aborted)throw new n1;C(this,V0,"m",a8).call(this)}finally{if(Y&&J)Y.removeEventListener("abort",J)}}_connected($){if(this.ended)return;I(this,uZ,$,"f"),I(this,cZ,$?.headers.get("request-id"),"f"),C(this,hZ,"f").call(this,$),this._emit("connect")}get ended(){return C(this,r$,"f")}get errored(){return C(this,mZ,"f")}get aborted(){return C(this,xZ,"f")}abort(){this.controller.abort()}on($,Z){return(C(this,Y4,"f")[$]||(C(this,Y4,"f")[$]=[])).push({listener:Z}),this}off($,Z){let X=C(this,Y4,"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,Y4,"f")[$]||(C(this,Y4,"f")[$]=[])).push({listener:Z,once:!0}),this}emitted($){return new Promise((Z,X)=>{if(I(this,g4,!0,"f"),$!=="error")this.once("error",X);this.once($,Z)})}async done(){I(this,g4,!0,"f"),await C(this,o$,"f")}get currentMessage(){return C(this,P4,"f")}async finalMessage(){return await this.done(),C(this,V0,"m",o8).call(this)}async finalText(){return await this.done(),C(this,V0,"m",T5).call(this)}_emit($,...Z){if(C(this,r$,"f"))return;if($==="end")I(this,r$,!0,"f"),C(this,gZ,"f").call(this);let X=C(this,Y4,"f")[$];if(X)C(this,Y4,"f")[$]=X.filter((Y)=>!Y.once),X.forEach(({listener:Y})=>Y(...Z));if($==="abort"){let Y=Z[0];if(!C(this,g4,"f")&&!X?.length)Promise.reject(Y);C(this,i$,"f").call(this,Y),C(this,n$,"f").call(this,Y),this._emit("end");return}if($==="error"){let Y=Z[0];if(!C(this,g4,"f")&&!X?.length)Promise.reject(Y);C(this,i$,"f").call(this,Y),C(this,n$,"f").call(this,Y),this._emit("end")}}_emitFinal(){if(this.receivedMessages.at(-1))this._emit("finalMessage",C(this,V0,"m",o8).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,V0,"m",n8).call(this),this._connected(null);let J=U0.fromReadableStream($,this.controller);for await(let W of J)C(this,V0,"m",r8).call(this,W);if(J.controller.signal?.aborted)throw new n1;C(this,V0,"m",a8).call(this)}finally{if(X&&Y)X.removeEventListener("abort",Y)}}[(P4=new WeakMap,Y$=new WeakMap,l$=new WeakMap,hZ=new WeakMap,i$=new WeakMap,o$=new WeakMap,gZ=new WeakMap,n$=new WeakMap,Y4=new WeakMap,r$=new WeakMap,mZ=new WeakMap,xZ=new WeakMap,g4=new WeakMap,uZ=new WeakMap,cZ=new WeakMap,a$=new WeakMap,pZ=new WeakMap,V0=new WeakSet,o8=function(){if(this.receivedMessages.length===0)throw new m("stream ended without producing a Message with role=assistant");return this.receivedMessages.at(-1)},T5=function(){if(this.receivedMessages.length===0)throw new m("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 m("stream ended without producing a content block with type=text");return Z.join(" ")},n8=function(){if(this.ended)return;I(this,P4,void 0,"f")},r8=function(Z){if(this.ended)return;let X=C(this,V0,"m",b5).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(D5(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:j5(Z.delta)}break}case"message_stop":{this._addMessageParam(X),this._addMessage(l8(X,C(this,Y$,"f"),{logger:C(this,a$,"f")}),!0);break}case"content_block_stop":{this._emit("contentBlock",X.content.at(-1));break}case"message_start":{I(this,P4,X,"f");break}case"content_block_start":case"message_delta":break}},a8=function(){if(this.ended)throw new m("stream has ended, this shouldn't happen");let Z=C(this,P4,"f");if(!Z)throw new m("request ended without sending any chunks");return I(this,P4,void 0,"f"),l8(Z,C(this,Y$,"f"),{logger:C(this,a$,"f")})},b5=function(Z){let X=C(this,P4,"f");if(Z.type==="message_start"){if(X)throw new m(`Unexpected event order, got ${Z.type} before receiving "message_stop"`);return Z.message}if(!X)throw new m(`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&&D5(Y)){let J=Y[I5]||"";J+=Z.delta.partial_json;let W={...Y};if(Object.defineProperty(W,I5,{value:J,enumerable:!1,writable:!0}),J)try{W.input=fZ(J)}catch(K){let Q=new m(`Unable to parse tool parameter JSON from model. Please retry your request or adjust your prompt. Error: ${K}. JSON: ${J}`);C(this,pZ,"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:j5(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 U0(this[Symbol.asyncIterator].bind(this),this.controller).toReadableStream()}}function j5($){}var y5=1e5,E5=`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 t$,J$,m4,y1,e$,w0,J4,L4,$Z,v5,s8;function _5(){let $,Z;return{promise:new Promise((Y,J)=>{$=Y,Z=J}),resolve:$,reject:Z}}class ZZ{constructor($,Z,X){t$.add(this),this.client=$,J$.set(this,!1),m4.set(this,!1),y1.set(this,void 0),e$.set(this,void 0),w0.set(this,void 0),J4.set(this,void 0),L4.set(this,void 0),$Z.set(this,0),I(this,y1,{params:{...Z,messages:structuredClone(Z.messages)}},"f"),I(this,e$,{...X,headers:i([{"x-stainless-helper":"BetaToolRunner"},X?.headers])},"f"),I(this,L4,_5(),"f")}async*[(J$=new WeakMap,m4=new WeakMap,y1=new WeakMap,e$=new WeakMap,w0=new WeakMap,J4=new WeakMap,L4=new WeakMap,$Z=new WeakMap,t$=new WeakSet,v5=async function(){let Z=C(this,y1,"f").params.compactionControl;if(!Z||!Z.enabled)return!1;let X=0;if(C(this,w0,"f")!==void 0)try{let z=await C(this,w0,"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??y5;if(X<Y)return!1;let J=Z.model??C(this,y1,"f").params.model,W=Z.summaryPrompt??E5,K=C(this,y1,"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,y1,"f").params.max_tokens},{headers:{"x-stainless-helper":"compaction"}});if(Q.content[0]?.type!=="text")throw new m("Expected text response for compaction");return C(this,y1,"f").params.messages=[{role:"user",content:Q.content}],!0},Symbol.asyncIterator)](){var $;if(C(this,J$,"f"))throw new m("Cannot iterate over a consumed stream");I(this,J$,!0,"f"),I(this,m4,!0,"f"),I(this,J4,void 0,"f");try{while(!0){let Z;try{if(C(this,y1,"f").params.max_iterations&&C(this,$Z,"f")>=C(this,y1,"f").params.max_iterations)break;I(this,m4,!1,"f"),I(this,J4,void 0,"f"),I(this,$Z,($=C(this,$Z,"f"),$++,$),"f"),I(this,w0,void 0,"f");let{max_iterations:X,compactionControl:Y,...J}=C(this,y1,"f").params;if(J.stream)Z=this.client.beta.messages.stream({...J},C(this,e$,"f")),I(this,w0,Z.finalMessage(),"f"),C(this,w0,"f").catch(()=>{}),yield Z;else I(this,w0,this.client.beta.messages.create({...J,stream:!1},C(this,e$,"f")),"f"),yield C(this,w0,"f");if(!await C(this,t$,"m",v5).call(this)){if(!C(this,m4,"f")){let{role:Q,content:z}=await C(this,w0,"f");C(this,y1,"f").params.messages.push({role:Q,content:z})}let K=await C(this,t$,"m",s8).call(this,C(this,y1,"f").params.messages.at(-1));if(K)C(this,y1,"f").params.messages.push(K);else if(!C(this,m4,"f"))break}}finally{if(Z)Z.abort()}}if(!C(this,w0,"f"))throw new m("ToolRunner concluded without a message from the server");C(this,L4,"f").resolve(await C(this,w0,"f"))}catch(Z){throw I(this,J$,!1,"f"),C(this,L4,"f").promise.catch(()=>{}),C(this,L4,"f").reject(Z),I(this,L4,_5(),"f"),Z}}setMessagesParams($){if(typeof $==="function")C(this,y1,"f").params=$(C(this,y1,"f").params);else C(this,y1,"f").params=$;I(this,m4,!0,"f"),I(this,J4,void 0,"f")}async generateToolResponse(){let $=await C(this,w0,"f")??this.params.messages.at(-1);if(!$)return null;return C(this,t$,"m",s8).call(this,$)}done(){return C(this,L4,"f").promise}async runUntilDone(){if(!C(this,J$,"f"))for await(let $ of this);return this.done()}get params(){return C(this,y1,"f").params}pushMessages(...$){this.setMessagesParams((Z)=>({...Z,messages:[...Z.messages,...$]}))}then($,Z){return this.runUntilDone().then($,Z)}}s8=async function(Z){if(C(this,J4,"f")!==void 0)return C(this,J4,"f");return I(this,J4,xJ(C(this,y1,"f").params,Z),"f"),C(this,J4,"f")};async function xJ($,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 W${constructor($,Z){this.iterator=$,this.controller=Z}async*decoder(){let $=new B4;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 m("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 m("Attempted to iterate over a response with no body")}return new W$(f$($.body),Z)}}class XZ extends S1{create($,Z){let{betas:X,...Y}=$;return this._client.post("/v1/messages/batches?beta=true",{body:Y,...Z,headers:i([{"anthropic-beta":[...X??[],"message-batches-2024-09-24"].toString()},Z?.headers])})}retrieve($,Z={},X){let{betas:Y}=Z??{};return this._client.get(L1`/v1/messages/batches/${$}?beta=true`,{...X,headers:i([{"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",j0,{query:Y,...Z,headers:i([{"anthropic-beta":[...X??[],"message-batches-2024-09-24"].toString()},Z?.headers])})}delete($,Z={},X){let{betas:Y}=Z??{};return this._client.delete(L1`/v1/messages/batches/${$}?beta=true`,{...X,headers:i([{"anthropic-beta":[...Y??[],"message-batches-2024-09-24"].toString()},X?.headers])})}cancel($,Z={},X){let{betas:Y}=Z??{};return this._client.post(L1`/v1/messages/batches/${$}/cancel?beta=true`,{...X,headers:i([{"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 m(`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:i([{"anthropic-beta":[...J??[],"message-batches-2024-09-24"].toString(),Accept:"application/binary"},X?.headers]),stream:!0,__binaryResponse:!0})._thenUnwrap((W,K)=>W$.fromResponse(K.response,K.controller))}}var f5={"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 x4 extends S1{constructor(){super(...arguments);this.batches=new XZ(this._client)}create($,Z){let{betas:X,...Y}=$;if(Y.model in f5)console.warn(`The model '${Y.model}' is deprecated and will reach end-of-life on ${f5[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=_Z[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:i([{...X?.toString()!=null?{"anthropic-beta":X?.toString()}:void 0},Z?.headers]),stream:$.stream??!1})}parse($,Z){return Z={...Z,headers:i([{"anthropic-beta":[...$.betas??[],"structured-outputs-2025-11-13"].toString()},Z?.headers])},this.create($,Z).then((X)=>i8(X,$,{logger:this._client.logger??console}))}stream($,Z){return s$.createMessage(this,$,Z)}countTokens($,Z){let{betas:X,...Y}=$;return this._client.post("/v1/messages/count_tokens?beta=true",{body:Y,...Z,headers:i([{"anthropic-beta":[...X??[],"token-counting-2024-11-01"].toString()},Z?.headers])})}toolRunner($,Z){return new ZZ(this._client,$,Z)}}x4.Batches=XZ;x4.BetaToolRunner=ZZ;class YZ extends S1{create($,Z={},X){let{betas:Y,...J}=Z??{};return this._client.post(L1`/v1/skills/${$}/versions?beta=true`,Z$({body:J,...X,headers:i([{"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(L1`/v1/skills/${Y}/versions/${$}?beta=true`,{...X,headers:i([{"anthropic-beta":[...J??[],"skills-2025-10-02"].toString()},X?.headers])})}list($,Z={},X){let{betas:Y,...J}=Z??{};return this._client.getAPIList(L1`/v1/skills/${$}/versions?beta=true`,u$,{query:J,...X,headers:i([{"anthropic-beta":[...Y??[],"skills-2025-10-02"].toString()},X?.headers])})}delete($,Z,X){let{skill_id:Y,betas:J}=Z;return this._client.delete(L1`/v1/skills/${Y}/versions/${$}?beta=true`,{...X,headers:i([{"anthropic-beta":[...J??[],"skills-2025-10-02"].toString()},X?.headers])})}}class K$ extends S1{constructor(){super(...arguments);this.versions=new YZ(this._client)}create($={},Z){let{betas:X,...Y}=$??{};return this._client.post("/v1/skills?beta=true",Z$({body:Y,...Z,headers:i([{"anthropic-beta":[...X??[],"skills-2025-10-02"].toString()},Z?.headers])},this._client))}retrieve($,Z={},X){let{betas:Y}=Z??{};return this._client.get(L1`/v1/skills/${$}?beta=true`,{...X,headers:i([{"anthropic-beta":[...Y??[],"skills-2025-10-02"].toString()},X?.headers])})}list($={},Z){let{betas:X,...Y}=$??{};return this._client.getAPIList("/v1/skills?beta=true",u$,{query:Y,...Z,headers:i([{"anthropic-beta":[...X??[],"skills-2025-10-02"].toString()},Z?.headers])})}delete($,Z={},X){let{betas:Y}=Z??{};return this._client.delete(L1`/v1/skills/${$}?beta=true`,{...X,headers:i([{"anthropic-beta":[...Y??[],"skills-2025-10-02"].toString()},X?.headers])})}}K$.Versions=YZ;class l0 extends S1{constructor(){super(...arguments);this.models=new d$(this._client),this.messages=new x4(this._client),this.files=new p$(this._client),this.skills=new K$(this._client)}}l0.Models=d$;l0.Messages=x4;l0.Files=p$;l0.Skills=K$;class Q$ extends S1{create($,Z){let{betas:X,...Y}=$;return this._client.post("/v1/complete",{body:Y,timeout:this._client._options.timeout??600000,...Z,headers:i([{...X?.toString()!=null?{"anthropic-beta":X?.toString()}:void 0},Z?.headers]),stream:$.stream??!1})}}var k0,R4,JZ,dZ,WZ,KZ,lZ,QZ,W4,zZ,iZ,oZ,u4,nZ,rZ,t8,h5,e8,$6,Z6,X6,g5,m5="__json_buf";function x5($){return $.type==="tool_use"||$.type==="server_tool_use"}class GZ{constructor(){k0.add(this),this.messages=[],this.receivedMessages=[],R4.set(this,void 0),this.controller=new AbortController,JZ.set(this,void 0),dZ.set(this,()=>{}),WZ.set(this,()=>{}),KZ.set(this,void 0),lZ.set(this,()=>{}),QZ.set(this,()=>{}),W4.set(this,{}),zZ.set(this,!1),iZ.set(this,!1),oZ.set(this,!1),u4.set(this,!1),nZ.set(this,void 0),rZ.set(this,void 0),e8.set(this,($)=>{if(I(this,iZ,!0,"f"),Z4($))$=new n1;if($ instanceof n1)return I(this,oZ,!0,"f"),this._emit("abort",$);if($ instanceof m)return this._emit("error",$);if($ instanceof Error){let Z=new m($.message);return Z.cause=$,this._emit("error",Z)}return this._emit("error",new m(String($)))}),I(this,JZ,new Promise(($,Z)=>{I(this,dZ,$,"f"),I(this,WZ,Z,"f")}),"f"),I(this,KZ,new Promise(($,Z)=>{I(this,lZ,$,"f"),I(this,QZ,Z,"f")}),"f"),C(this,JZ,"f").catch(()=>{}),C(this,KZ,"f").catch(()=>{})}get response(){return C(this,nZ,"f")}get request_id(){return C(this,rZ,"f")}async withResponse(){I(this,u4,!0,"f");let $=await C(this,JZ,"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 GZ;return Z._run(()=>Z._fromReadableStream($)),Z}static createMessage($,Z,X){let Y=new GZ;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,e8,"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,k0,"m",$6).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,k0,"m",Z6).call(this,Q);if(K.controller.signal?.aborted)throw new n1;C(this,k0,"m",X6).call(this)}finally{if(Y&&J)Y.removeEventListener("abort",J)}}_connected($){if(this.ended)return;I(this,nZ,$,"f"),I(this,rZ,$?.headers.get("request-id"),"f"),C(this,dZ,"f").call(this,$),this._emit("connect")}get ended(){return C(this,zZ,"f")}get errored(){return C(this,iZ,"f")}get aborted(){return C(this,oZ,"f")}abort(){this.controller.abort()}on($,Z){return(C(this,W4,"f")[$]||(C(this,W4,"f")[$]=[])).push({listener:Z}),this}off($,Z){let X=C(this,W4,"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,W4,"f")[$]||(C(this,W4,"f")[$]=[])).push({listener:Z,once:!0}),this}emitted($){return new Promise((Z,X)=>{if(I(this,u4,!0,"f"),$!=="error")this.once("error",X);this.once($,Z)})}async done(){I(this,u4,!0,"f"),await C(this,KZ,"f")}get currentMessage(){return C(this,R4,"f")}async finalMessage(){return await this.done(),C(this,k0,"m",t8).call(this)}async finalText(){return await this.done(),C(this,k0,"m",h5).call(this)}_emit($,...Z){if(C(this,zZ,"f"))return;if($==="end")I(this,zZ,!0,"f"),C(this,lZ,"f").call(this);let X=C(this,W4,"f")[$];if(X)C(this,W4,"f")[$]=X.filter((Y)=>!Y.once),X.forEach(({listener:Y})=>Y(...Z));if($==="abort"){let Y=Z[0];if(!C(this,u4,"f")&&!X?.length)Promise.reject(Y);C(this,WZ,"f").call(this,Y),C(this,QZ,"f").call(this,Y),this._emit("end");return}if($==="error"){let Y=Z[0];if(!C(this,u4,"f")&&!X?.length)Promise.reject(Y);C(this,WZ,"f").call(this,Y),C(this,QZ,"f").call(this,Y),this._emit("end")}}_emitFinal(){if(this.receivedMessages.at(-1))this._emit("finalMessage",C(this,k0,"m",t8).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,k0,"m",$6).call(this),this._connected(null);let J=U0.fromReadableStream($,this.controller);for await(let W of J)C(this,k0,"m",Z6).call(this,W);if(J.controller.signal?.aborted)throw new n1;C(this,k0,"m",X6).call(this)}finally{if(X&&Y)X.removeEventListener("abort",Y)}}[(R4=new WeakMap,JZ=new WeakMap,dZ=new WeakMap,WZ=new WeakMap,KZ=new WeakMap,lZ=new WeakMap,QZ=new WeakMap,W4=new WeakMap,zZ=new WeakMap,iZ=new WeakMap,oZ=new WeakMap,u4=new WeakMap,nZ=new WeakMap,rZ=new WeakMap,e8=new WeakMap,k0=new WeakSet,t8=function(){if(this.receivedMessages.length===0)throw new m("stream ended without producing a Message with role=assistant");return this.receivedMessages.at(-1)},h5=function(){if(this.receivedMessages.length===0)throw new m("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 m("stream ended without producing a content block with type=text");return Z.join(" ")},$6=function(){if(this.ended)return;I(this,R4,void 0,"f")},Z6=function(Z){if(this.ended)return;let X=C(this,k0,"m",g5).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(x5(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:u5(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":{I(this,R4,X,"f");break}case"content_block_start":case"message_delta":break}},X6=function(){if(this.ended)throw new m("stream has ended, this shouldn't happen");let Z=C(this,R4,"f");if(!Z)throw new m("request ended without sending any chunks");return I(this,R4,void 0,"f"),Z},g5=function(Z){let X=C(this,R4,"f");if(Z.type==="message_start"){if(X)throw new m(`Unexpected event order, got ${Z.type} before receiving "message_stop"`);return Z.message}if(!X)throw new m(`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&&x5(Y)){let J=Y[m5]||"";J+=Z.delta.partial_json;let W={...Y};if(Object.defineProperty(W,m5,{value:J,enumerable:!1,writable:!0}),J)W.input=fZ(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:u5(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 U0(this[Symbol.asyncIterator].bind(this),this.controller).toReadableStream()}}function u5($){}class OZ extends S1{create($,Z){return this._client.post("/v1/messages/batches",{body:$,...Z})}retrieve($,Z){return this._client.get(L1`/v1/messages/batches/${$}`,Z)}list($={},Z){return this._client.getAPIList("/v1/messages/batches",j0,{query:$,...Z})}delete($,Z){return this._client.delete(L1`/v1/messages/batches/${$}`,Z)}cancel($,Z){return this._client.post(L1`/v1/messages/batches/${$}/cancel`,Z)}async results($,Z){let X=await this.retrieve($);if(!X.results_url)throw new m(`No batch \`results_url\`; Has it finished processing? ${X.processing_status} - ${X.id}`);return this._client.get(X.results_url,{...Z,headers:i([{Accept:"application/binary"},Z?.headers]),stream:!0,__binaryResponse:!0})._thenUnwrap((Y,J)=>W$.fromResponse(J.response,J.controller))}}class c4 extends S1{constructor(){super(...arguments);this.batches=new OZ(this._client)}create($,Z){if($.model in c5)console.warn(`The model '${$.model}' is deprecated and will reach end-of-life on ${c5[$.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=_Z[$.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 GZ.createMessage(this,$,Z)}countTokens($,Z){return this._client.post("/v1/messages/count_tokens",{body:$,...Z})}}var c5={"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"};c4.Batches=OZ;class z$ extends S1{retrieve($,Z={},X){let{betas:Y}=Z??{};return this._client.get(L1`/v1/models/${$}`,{...X,headers:i([{...Y?.toString()!=null?{"anthropic-beta":Y?.toString()}:void 0},X?.headers])})}list($={},Z){let{betas:X,...Y}=$??{};return this._client.getAPIList("/v1/models",j0,{query:Y,...Z,headers:i([{...X?.toString()!=null?{"anthropic-beta":X?.toString()}:void 0},Z?.headers])})}}var HZ=($)=>{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 Y6,J6,aZ,p5,d5="\\n\\nHuman:",l5="\\n\\nAssistant:";class k1{constructor({baseURL:$=HZ("ANTHROPIC_BASE_URL"),apiKey:Z=HZ("ANTHROPIC_API_KEY")??null,authToken:X=HZ("ANTHROPIC_AUTH_TOKEN")??null,...Y}={}){Y6.add(this),aZ.set(this,void 0);let J={apiKey:Z,authToken:X,...Y,baseURL:$||"https://api.anthropic.com"};if(!J.dangerouslyAllowBrowser&&H5())throw new m(`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??J6.DEFAULT_TIMEOUT,this.logger=J.logger??console;let W="warn";this.logLevel=W,this.logLevel=g8(J.logLevel,"ClientOptions.logLevel",this)??g8(HZ("ANTHROPIC_LOG"),"process.env['ANTHROPIC_LOG']",this)??W,this.fetchOptions=J.fetchOptions,this.maxRetries=J.maxRetries??2,this.fetch=J.fetch??U5(),I(this,aZ,M5,"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 i([await this.apiKeyAuth($),await this.bearerAuth($)])}async apiKeyAuth($){if(this.apiKey==null)return;return i([{"X-Api-Key":this.apiKey}])}async bearerAuth($){if(this.authToken==null)return;return i([{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 m(`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 ${C4}`}defaultIdempotencyKey(){return`stainless-node-retry-${E8()}`}makeStatusError($,Z,X,Y){return j1.generate($,Z,X,Y)}buildURL($,Z,X){let Y=!C(this,Y6,"m",p5).call(this)&&X||this.baseURL,J=Y5($)?new URL($):new URL(Y+(Y.endsWith("/")&&$.startsWith("/")?$.slice(1):$)),W=this.defaultQuery();if(!J5(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 m("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 f4(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(g1(this).debug(`[${z}] sending request`,X4({retryOfRequestLogID:X,method:Y.method,url:K,options:Y,headers:W.headers})),Y.signal?.aborted)throw new n1;let H=new AbortController,U=await this.fetchWithTimeout(K,W,Q,H).catch(k$),M=Date.now();if(U instanceof globalThis.Error){let P=`retrying, ${Z} attempts remaining`;if(Y.signal?.aborted)throw new n1;let S=Z4(U)||/timed? ?out/i.test(String(U)+("cause"in U?String(U.cause):""));if(Z)return g1(this).info(`[${z}] connection ${S?"timed out":"failed"} - ${P}`),g1(this).debug(`[${z}] connection ${S?"timed out":"failed"} (${P})`,X4({retryOfRequestLogID:X,url:K,durationMs:M-O,message:U.message})),this.retryRequest(Y,Z,X??z);if(g1(this).info(`[${z}] connection ${S?"timed out":"failed"} - error; no more retries left`),g1(this).debug(`[${z}] connection ${S?"timed out":"failed"} (error; no more retries left)`,X4({retryOfRequestLogID:X,url:K,durationMs:M-O,message:U.message})),S)throw new T$;throw new _4({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 b=`retrying, ${Z} attempts remaining`;return await w5(U.body),g1(this).info(`${F} - ${b}`),g1(this).debug(`[${z}] response error (${b})`,X4({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";g1(this).info(`${F} - ${S}`);let T=await U.text().catch((b)=>k$(b).message),p=TZ(T),f=p?void 0:T;throw g1(this).debug(`[${z}] response error (${S})`,X4({retryOfRequestLogID:X,url:U.url,status:U.status,headers:U.headers,message:f,durationMs:Date.now()-O})),this.makeStatusError(U.status,p,f,U.headers)}return g1(this).info(F),g1(this).debug(`[${z}] response start`,X4({retryOfRequestLogID:X,url:U.url,status:U.status,headers:U.headers,durationMs:M-O})),{response:U,options:Y,controller:H,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 EZ(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 Q5(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 m("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)K5("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=i([J,{Accept:"application/json","User-Agent":this.getUserAgent(),"X-Stainless-Retry-Count":String(Y),...$.timeout?{"X-Stainless-Timeout":String(Math.trunc($.timeout/1000))}:{},...N5(),...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=i([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:bZ($)};else return C(this,aZ,"f").call(this,{body:$,headers:X})}}J6=k1,aZ=new WeakMap,Y6=new WeakSet,p5=function(){return this.baseURL!=="https://api.anthropic.com"};k1.Anthropic=J6;k1.HUMAN_PROMPT=d5;k1.AI_PROMPT=l5;k1.DEFAULT_TIMEOUT=600000;k1.AnthropicError=m;k1.APIError=j1;k1.APIConnectionError=_4;k1.APIConnectionTimeoutError=T$;k1.APIUserAbortError=n1;k1.NotFoundError=j$;k1.ConflictError=y$;k1.RateLimitError=v$;k1.BadRequestError=b$;k1.AuthenticationError=I$;k1.InternalServerError=_$;k1.PermissionDeniedError=D$;k1.UnprocessableEntityError=E$;k1.toFile=vZ;class K4 extends k1{constructor(){super(...arguments);this.completions=new Q$(this),this.messages=new c4(this),this.models=new z$(this),this.beta=new l0(this)}}K4.Completions=Q$;K4.Messages=c4;K4.Models=z$;K4.Beta=l0;var oJ=async()=>{if(!process.env.ANTHROPIC_API_KEY)return[];let $=[];try{for await(let Z of new K4().beta.models.list())$.push({id:Z.id,name:Z.display_name,provider:"anthropic"})}catch(Z){console.error("Failed to fetch Anthropic models:",Z)}return $},nJ=async()=>{if(!process.env.OPENAI_API_KEY)return[];try{return await new i5().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:",$),[]}},rJ=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 o5($).getGenerativeModel({model:"gemini-1.5-flash"}),Z}catch(X){return console.error("Failed to verify Gemini API key:",X),[]}},n5=async()=>{return(await Promise.all([oJ().catch(()=>[]),nJ().catch(()=>[]),rJ().catch(()=>[])])).flat()};var sZ=B(e(),1);function r5({tools:$,setTools:Z}){let X=sZ.useRef(!1);sZ.useEffect(()=>{if(!X.current)Z($),X.current=!0},[$,Z])}var s5=B(e(),1);function a5($){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 t5({config:$}){return s5.useMemo(()=>{if(!$)return{validation:null,needsSetup:!0,isValid:!1};let Z=a5($);return{validation:Z,needsSetup:Z.needsSetup,isValid:!Z.needsSetup}},[$])}var e5=B(e(),1);function $7({shouldFocus:$}){let Z=i0();e5.useEffect(()=>{if($)Z.focus("global-input")},[$,Z])}var T0=B(e(),1);function Z7(){let[$,Z]=T0.useState("chat"),X=i0(),Y=T0.useCallback(()=>{Z("history")},[]),J=T0.useCallback(()=>{Z("knowledge")},[]),W=T0.useCallback(()=>{Z("settings")},[]),K=T0.useCallback(()=>{Z("model-provider")},[]),Q=T0.useCallback(()=>{Z("agent")},[]),z=T0.useCallback(()=>{Z("mcp")},[]),G=T0.useCallback(()=>{Z("process")},[]),O=T0.useCallback(()=>{Z("errors")},[]),H=T0.useCallback(()=>{Z("chat"),X.focus("global-input")},[X]);return{activeView:$,isChatView:$==="chat",switchToHistory:Y,switchToKnowledge:J,switchToSettings:W,switchToModelProvider:K,switchToAgent:Q,switchToMcp:z,switchToProcess:G,switchToErrors:O,closePanel:H}}var tZ=B(e(),1),J7=B(V(),1),X7=tZ.createContext(void 0),G$=()=>{let $=tZ.useContext(X7);if($===void 0)throw Error("useChatPanel must be used within ChatPanelProvider. Make sure your component is a child of ChatController.");return $},Y7=({children:$,value:Z})=>{return J7.jsxDEV(X7.Provider,{value:Z,children:$},void 0,!1,void 0,this)};var l4=B(e(),1);var W7=($)=>{return $.additional_kwargs?.reasoning_content||Array.isArray($.content)&&$.content.find((Z)=>Z.type==="thinking")?.thinking},O$=($)=>{return typeof $.content==="string"?$.content:$.content?.filter((Z)=>{return Z.type==="text"}).map((Z)=>Z.text).join("")};eZ();var K6=B(e(),1),B1=B(V(),1),JW={approve:"green",reject:"red",edit:"yellow",modify:"cyan"},WW=($)=>{return JW[$.toLowerCase()]||"white"},z7=({request:$,allowedDecisions:Z=["approve","edit","reject"],onApprove:X,onEdit:Y,onReject:J,autoFocus:W=!0})=>{let[K,Q]=K6.useState("approve"),{value:z,setTrue:G,setFalse:O}=Q7(!1),[H,U]=K6.useState(""),M=i0(),A=$.messageIndex,F=$.description;b0((b,_)=>{if(z&&_.escape)S()},{isActive:z});let P=()=>{if(!H.trim())return;if(K==="edit")try{let b=JSON.parse(H);Y(b)}catch(b){console.error("Invalid JSON:",b);return}else{let b=`User rejected to run this tool, reason: ${H}`;J(b)}O(),U("")},S=()=>{O(),U("")},T=([b])=>{if(b==="approve"){X(),M.focus("global-input");return}if(Q(b),G(),b==="edit")U(JSON.stringify($.toolCall.args,null,2));else U("")},p=Z.map((b)=>({label:b,value:b}));return z?(()=>{let b=WW(K),_=K==="edit";return B1.jsxDEV(w,{flexDirection:"column",paddingX:1,marginTop:0,children:[B1.jsxDEV(w,{flexDirection:"column",marginBottom:1,children:[B1.jsxDEV(N,{color:b,bold:!0,children:[K.toUpperCase()," MODE - ",$.toolCall.name]},void 0,!0,void 0,this),A!==void 0&&B1.jsxDEV(N,{color:"gray",dimColor:!0,children:["Message Index: ",A]},void 0,!0,void 0,this),F&&B1.jsxDEV(N,{color:"gray",dimColor:!0,children:["Description: ",F]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),_?B1.jsxDEV(w,{flexDirection:"column",marginTop:0,children:[B1.jsxDEV(N,{color:"yellow",dimColor:!0,children:"Editing action arguments (JSON format):"},void 0,!1,void 0,this),B1.jsxDEV(w,{paddingX:1,children:B1.jsxDEV(y0,{value:H,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):B1.jsxDEV(w,{flexDirection:"column",marginTop:0,children:[B1.jsxDEV(N,{color:"cyan",dimColor:!0,children:"Enter additional message for this action:"},void 0,!1,void 0,this),B1.jsxDEV(w,{padding:1,children:B1.jsxDEV(y0,{value:H,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),B1.jsxDEV(w,{marginTop:0,children:B1.jsxDEV(N,{color:"gray",children:[B1.jsxDEV(N,{color:b,bold:!0,children:"↵"},void 0,!1,void 0,this)," ","Submit |",B1.jsxDEV(N,{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)})():(()=>B1.jsxDEV(w,{flexDirection:"column",paddingX:1,children:[B1.jsxDEV(w,{flexDirection:"column",marginBottom:1,children:[B1.jsxDEV(N,{color:"cyan",bold:!0,children:$.toolCall.name},void 0,!1,void 0,this),A!==void 0&&B1.jsxDEV(N,{color:"gray",dimColor:!0,children:["Message Index: ",A]},void 0,!0,void 0,this),F&&B1.jsxDEV(N,{color:"gray",dimColor:!0,children:["Description: ",F]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),B1.jsxDEV(w,{children:B1.jsxDEV(p4,{singleSelect:!0,options:p,onSubmit:T,autoFocus:W},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this))()};var $8=B(e(),1),G7=B(V(),1),Q6={type:"approval",render($,Z){let{content:X,metadata:Y}=$,J=i0(),W=$8.useCallback(()=>{Z({state:"submitted",result:{status:"approved"}}),J.focus("global-input")},[Z,J]),K=$8.useCallback((G)=>{Z({state:"edited",result:{status:"edited",editedArgs:G}}),J.focus("global-input")},[Z,J]),Q=$8.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 G7.jsxDEV(z7,{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 z6=B(e(),1);var KW={title:{maxWidth:60,ellipsis:"…"},description:{maxWidth:80,ellipsis:"…"},optionLabel:{maxWidth:50,ellipsis:"…"},tabLabel:{maxWidth:30,ellipsis:"…"},fullTitle:{maxWidth:80,ellipsis:"…"}},QW=($,Z=20,X="…")=>{if(!$)return"";if($.length<=Z)return $;return $.substring(0,Z-X.length)+X},H$=($,Z)=>{let X=KW[Z];return QW($,X.maxWidth,X.ellipsis)};var Q4=B(V(),1),zW=($)=>{return H$($,"optionLabel")},G6={type:"selection",render($,Z){let{content:X,metadata:Y,result:J}=$,[W,K]=z6.useState(J?.selected||[]),[Q,z]=z6.useState(J?.customInput||""),G=X.options.map((P)=>({label:zW(P.label),value:P.value})),O=(P,S)=>{Z({result:{selected:P??W,customInput:S??Q}})},H=(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?H$(Y.title,"title"):null,F=Y?.description?H$(Y.description,"description"):null;return Q4.jsxDEV(w,{flexDirection:"column",paddingX:1,children:[A&&Q4.jsxDEV(w,{marginBottom:1,children:Q4.jsxDEV(N,{color:"cyan",bold:!0,children:A},void 0,!1,void 0,this)},void 0,!1,void 0,this),F&&Q4.jsxDEV(w,{marginBottom:1,children:Q4.jsxDEV(N,{dimColor:!0,children:F},void 0,!1,void 0,this)},void 0,!1,void 0,this),Q4.jsxDEV(p4,{options:G,singleSelect:X.singleSelect,values:W,onChange:H,onSubmit:M,autoFocus:!0},void 0,!1,void 0,this),X.allowCustomInput&&Q4.jsxDEV(w,{marginTop:1,flexDirection:"column",children:Q4.jsxDEV(y0,{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 O7=B(e(),1);var o0=B(V(),1),O6={type:"input",render($,Z){let{content:X,metadata:Y}=$,[J,W]=O7.useState(X.defaultValue||""),K=()=>{Z({state:"submitted",result:{value:J}})};return o0.jsxDEV(w,{flexDirection:"column",paddingX:1,children:[Y?.title&&o0.jsxDEV(w,{marginBottom:1,children:o0.jsxDEV(N,{color:"cyan",bold:!0,children:Y.title},void 0,!1,void 0,this)},void 0,!1,void 0,this),Y?.description&&o0.jsxDEV(w,{marginBottom:1,children:o0.jsxDEV(N,{dimColor:!0,children:Y.description},void 0,!1,void 0,this)},void 0,!1,void 0,this),o0.jsxDEV(w,{children:[o0.jsxDEV(y0,{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&&o0.jsxDEV(w,{marginTop:1,children:o0.jsxDEV(N,{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 d4=B(V(),1),H6={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 d4.jsxDEV(w,{flexDirection:"column",paddingX:1,children:[Y?.title&&d4.jsxDEV(w,{marginBottom:1,children:d4.jsxDEV(N,{color:X.danger?"red":"cyan",bold:!0,children:Y.title},void 0,!1,void 0,this)},void 0,!1,void 0,this),d4.jsxDEV(w,{marginBottom:1,children:d4.jsxDEV(N,{children:X.message},void 0,!1,void 0,this)},void 0,!1,void 0,this),d4.jsxDEV(p4,{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 GW=B(e(),1);var OW=B(V(),1);var n0=B(e(),1);var N$=B(e(),1);var E1=B(V(),1),N7=({items:$,defaultIndex:Z=0,onChange:X,disabled:Y=!1,autoFocus:J=!0,variant:W="line"})=>{let{isFocused:K}=H7({autoFocus:J}),[Q,z]=N$.useState(Z),G=N$.default.useMemo(()=>`tabs-${Math.random().toString(36).substring(2,9)}`,[]),O=N$.useCallback((M)=>{if(M<0||M>=$.length||$[M].disabled)return;z(M),X?.(M,$[M])},[$,X]);b0((M,A)=>{if(Y)return;if(A.leftArrow)O(Q-1);else if(A.rightArrow)O(Q+1)},{isActive:!Y});let H=()=>{return $.map((M,A)=>{let F=A===Q,P=K&&!Y,S;if(W==="line")S=E1.jsxDEV(w,{marginRight:1,children:[E1.jsxDEV(N,{color:M.disabled?"gray":F?P?"green":"cyan":"gray",bold:F&&P,children:M.label},void 0,!1,void 0,this),F&&E1.jsxDEV(N,{color:P?"green":"cyan",children:"_"},void 0,!1,void 0,this)]},`${G}-${M.id}`,!0,void 0,this);else if(W==="enclosed"){let T=A===0||F?"┌":"─",p=A===$.length-1||F?"┐":"─",f=A===0||F?"│":" ",a=A===$.length-1||F?"│":" ",b=F?"─":" ",_=F?" ":"",Z1=M.disabled?"gray":F?P?"green":"cyan":"gray";S=E1.jsxDEV(w,{children:E1.jsxDEV(w,{flexDirection:"column",children:[E1.jsxDEV(w,{children:[E1.jsxDEV(N,{color:Z1,children:T},void 0,!1,void 0,this),E1.jsxDEV(N,{color:Z1,bold:F&&P,children:[_,M.label,_]},void 0,!0,void 0,this),E1.jsxDEV(N,{color:Z1,children:p},void 0,!1,void 0,this)]},void 0,!0,void 0,this),F&&E1.jsxDEV(w,{children:[E1.jsxDEV(N,{color:Z1,children:f},void 0,!1,void 0,this),E1.jsxDEV(N,{color:Z1,children:b.repeat(M.label.length+2)},void 0,!1,void 0,this),E1.jsxDEV(N,{color:Z1,children:a},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 T=F?"●":"○";S=E1.jsxDEV(w,{marginRight:2,children:E1.jsxDEV(N,{color:M.disabled?"gray":F?P?"green":"cyan":"gray",bold:F&&P,children:[T," ",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 E1.jsxDEV(w,{marginTop:1,paddingX:2,paddingY:1,flexDirection:"column",children:M.content},void 0,!1,void 0,this)};return E1.jsxDEV(w,{flexDirection:"column",flexGrow:1,children:[E1.jsxDEV(w,{children:H()},void 0,!1,void 0,this),$.some((M)=>M.content)&&U()]},void 0,!0,void 0,this)};var U7=B(e(),1);var w7=B(V(),1),N6=({interaction:$,renderer:Z,onChange:X})=>{let Y=U7.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 w7.jsxDEV(w,{backgroundColor:J,paddingX:Y.layout.padding,marginBottom:1,flexDirection:"column",children:Z.render({...$,config:Y},X)},void 0,!1,void 0,this)};eZ();var z4=B(V(),1),HW=($)=>{return H$($,"fullTitle")},U6=()=>{let $=S0(),[Z,X]=n0.useState(null),{focusNext:Y,focus:J}=i0(),W=n0.useMemo(()=>{return $.getInteractions()},[$.getInteractions()]);n0.useEffect(()=>{if(W.length>0&&!Z)X(W[0].id)},[W,Z]);let K=n0.useMemo(()=>{return W.map((H)=>{let U={idle:"\uD83D\uDD04",active:"\uD83D\uDD04",submitted:"✅",edited:"⛔",cancelled:"\uD83D\uDEAB"}[H.state]||"",M=HW(H.metadata.title||H.content.type);return{id:H.id,label:`${U} ${M}`,content:null}})},[W]),Q=n0.useCallback((H,U)=>{X(U.id)},[]),z=n0.useCallback((H)=>{if(W.every((F)=>F.state==="submitted"||F.state==="edited"||F.state==="cancelled")){J("global-input");return}let A=(W.findIndex((F)=>F.id===H)+1)%W.length;X(W[A].id)},[W,J]),G=M7(()=>{Y()});M0(G,Z?100:null);let O=()=>{if(!Z)return null;let H=W.find((M)=>M.id===Z);if(!H)return null;let U=S4.get(H.content.type);if(!U)return z4.jsxDEV(w,{paddingX:1,children:z4.jsxDEV(N,{color:"red",children:["Unknown renderer: ",H.content.type]},void 0,!0,void 0,this)},void 0,!1,void 0,this);return z4.jsxDEV(N6,{interaction:H,renderer:U,onChange:(M)=>{if($.updateInteraction(H.id,M),M.state==="submitted"||M.state==="edited"||M.state==="cancelled")z(H.id)}},H.id,!1,void 0,this)};if(W.length===0)return null;return z4.jsxDEV(w,{flexDirection:"column",width:"100%",children:[z4.jsxDEV(w,{justifyContent:"space-between",paddingX:1,marginBottom:1,children:z4.jsxDEV(N,{color:"cyan",bold:!0,children:["Interactions (",W.length,")"]},void 0,!0,void 0,this)},void 0,!1,void 0,this),z4.jsxDEV(w,{paddingX:1,marginBottom:1,children:z4.jsxDEV(N7,{items:K,defaultIndex:K.findIndex((H)=>H.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)};eZ();function q7(){S4.register("approval",Q6),S4.register("selection",G6),S4.register("input",O6),S4.register("confirm",H6)}q7();var U$=B(V(),1),NW=j.object({label:j.string().min(1).max(50).describe("选项显示文本,简洁明了(1-50 字符)")}),UW=j.object({description:j.string().min(1).describe("向用户提出的问题,清晰具体,包含必要的上下文"),type:j.enum(["single_select","multi_select"]).describe("选择类型:single_select(单选)或 multi_select(多选)"),options:j.array(NW).min(2).max(6).describe("选项列表,至少 2 个,最多 6 个"),allow_custom_input:j.boolean().default(!0).describe("是否允许用户输入自定义文本,默认 true"),placeholder:j.string().optional().describe("自定义输入框的占位符文本")}),wW=({tool:$})=>{let{addInteraction:Z,getInteractions:X,updateInteraction:Y}=S0(),[J,W]=l4.useState(null),K=l4.useRef(!1),Q=$.getInputRepaired();if(l4.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",H={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(H,{tool:$,metadata:{title:typeof Q.description==="string"&&Q.description?Q.description:"请选择一个选项",groupKey:"user-input"}});W(U.id)}},[$,J,Z,Q]),l4.useEffect(()=>{if(!J||K.current)return;let z=()=>{let H=X().find((U)=>U.id===J);if(H&&(H.state==="submitted"||H.state==="edited"||H.state==="cancelled")&&!H.resultSent){K.current=!0;let U=H.result,M="";if(U){if(U.selected&&U.selected.length>0)M+=`User selected:
51
+ ${U.selected.join(`
52
+ - `)}`;if(U.customInput&&U.customInput.trim())M+=(M?`
53
+ `:"")+`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 U$.jsxDEV(w,{flexDirection:"column",children:U$.jsxDEV(w,{paddingX:1,children:U$.jsxDEV(N,{color:"yellow",children:"⏳ 等待用户选择..."},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this);if($.output)return U$.jsxDEV(N,{color:"yellow",children:$.output},void 0,!1,void 0,this);return null},A7=R1({name:"ask_user_questions",description:"Ask the user a question with selectable options",parameters:UW,handler:T1.waitForUIDone,render($){return U$.jsxDEV(wW,{tool:$},void 0,!1,void 0,this)}});var i4=B(e(),1);var NZ=B(V(),1),w$=({content:$,maxLines:Z=10,borderColor:X="cyan",borderStyle:Y="single",marginTop:J=0,paddingX:W=0,showOmittedInfo:K=!0})=>{let{stdout:Q}=F7();if(!$)return null;let z=Q.columns,G=$.split(`
54
+ `).map((U)=>U.slice(0,z-10)),O=Math.max(0,G.length-Z),H=G.slice(-Z).join(`
55
+ `);return NZ.jsxDEV(w,{flexDirection:"column",width:z-5,children:NZ.jsxDEV(w,{borderStyle:Y,borderColor:X,borderLeft:!1,borderRight:!1,flexDirection:"column",paddingX:W,marginTop:J,children:[K&&O>0&&NZ.jsxDEV(N,{color:"gray",dimColor:!0,children:["... ",O," lines omitted ..."]},void 0,!0,void 0,this),NZ.jsxDEV(N,{dimColor:!0,children:H},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)};var Q0=B(V(),1),MW=({tool:$})=>{let{addInteraction:Z,getInteractions:X,updateInteraction:Y}=S0(),[J,W]=i4.useState(null),K=i4.useRef(!1),Q=$.getHumanInTheLoopData();if(i4.useEffect(()=>{if(Q?.reviewConfig&&$.state==="interrupted"&&!J&&!K.current){let G=$.getInputRepaired()?.description,O={type:"approval",toolCall:{name:$.message.name,args:$.getInputRepaired()},editableFields:["args"]},H=Z(O,{tool:$,metadata:{title:`Approve ${$.message.name}`,description:G,groupKey:"approvals"}});W(H.id)}},[Q,$,J,Z]),i4.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 Q0.jsxDEV(w,{flexDirection:"column",children:Q0.jsxDEV(w,{paddingX:1,paddingY:1,children:Q0.jsxDEV(N,{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 Q0.jsxDEV(w,{flexDirection:"column",children:(()=>{if(!$.output)return null;return Q0.jsxDEV(w$,{content:$.output,maxLines:5,borderColor:"cyan"},void 0,!1,void 0,this)})()},void 0,!1,void 0,this)},qW=({tool:$})=>{let Z=$.getInputRepaired(),X=typeof Z?.command==="string"?Z.command:String(Z?.command??""),Y=X.length>50?X.substring(0,50)+"...":X;return Q0.jsxDEV(w,{paddingX:1,children:[Q0.jsxDEV(N,{color:"magenta",children:"Run "},void 0,!1,void 0,this),Q0.jsxDEV(N,{dimColor:!0,children:"("},void 0,!1,void 0,this),Q0.jsxDEV(N,{color:"magenta",children:Y},void 0,!1,void 0,this),Q0.jsxDEV(N,{dimColor:!0,children:")"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},C7=R1({name:"terminal",description:"",parameters:{},handler:T1.waitForUIDone,render($){return Q0.jsxDEV(w,{flexDirection:"column",children:[Q0.jsxDEV(qW,{tool:$},void 0,!1,void 0,this),Q0.jsxDEV(MW,{tool:$},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}});var R7=B(P7(),1);function AW($,Z,X){if($===Z)return[{type:"unchanged",content:$,lineNumbers:{old:1,new:1}}];let Y=new R7.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 T=S.split(`
56
+ `),p=S.endsWith(`
57
+ `);for(let f=0;f<T.length;f++){let a=T[f];if(a===""&&(f<T.length-1||!p))continue;let b={type:P===0?"unchanged":P===-1?"added":"removed",content:a};if(P===0)b.lineNumbers={old:K,new:Q},K++,Q++;else if(P===-1)b.lineNumbers={new:Q},Q++;else if(P===1)b.lineNumbers={old:K},K++;z.push(b)}}if(!X?.maxLines)return z;let G=X.maxLines,O=X.contextLines||3,H=z.map((P,S)=>P.type!=="unchanged"?S:-1).filter((P)=>P!==-1);if(H.length===0||z.length<=G)return z;let U=[],M=0,A=[],F=[];for(let P=0;P<H.length;P++)if(F.length===0)F.push(H[P]);else{let S=F[F.length-1];if(H[P]-S<=1)F.push(H[P]);else A.push([...F]),F=[H[P]]}if(F.length>0)A.push(F);for(let P of A){if(M>=G)break;let S=P[0],T=P[P.length-1],p=Math.max(0,S-O),f=Math.min(z.length-1,T+O),a=f-p+1;if(M+a>G&&M>0){U.push({type:"unchanged",content:"..."});break}for(let b=p;b<=f;b++){if(M>=G){if(b<f)U.push({type:"unchanged",content:"..."});break}U.push(z[b]),M++}if(P===A[A.length-1]&&M<z.length){let b=z.length-f-1;if(b>0)U.push({type:"unchanged",content:`... (${b} more lines)`})}}return U}function L7($,Z=1000){return $=$||"",$.length>Z||$.split(`
58
+ `).length>50}function S7($,Z,X){let Y=L7($)||L7(Z),W=X!==void 0&&"maxLines"in X?X.maxLines:Y?10:20,K=X?.contextLines??(Y?1:3);return AW($,Z,{maxLines:W,contextLines:K})}var q$=B(V(),1),FW=["sky","primary"];function CW($){let Z=$%2;return o4(FW[Z])}function BW($){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 PW=({path:$,color:Z="cyan",line:X,rainbow:Y=!1})=>{let J=V7($)??"",W=X!==void 0?`:${X}`:"";if(!Y)return q$.jsxDEV(N,{color:o4(Z),children:[J,W]},void 0,!0,void 0,this);let K=BW(J),Q=-1;for(let G=K.length-1;G>=0;G--)if(K[G].type==="segment"){Q=G;break}let z=0;return q$.jsxDEV(N,{children:[K.map((G,O)=>{if(G.type==="separator")return q$.jsxDEV(N,{dimColor:!0,color:"gray",children:G.value},`sep-${O}`,!1,void 0,this);let H=O===Q,U=CW(z);return z++,q$.jsxDEV(N,{color:U,dimColor:!H,children:G.value},`seg-${O}`,!1,void 0,this)}),W&&q$.jsxDEV(N,{color:"gray",children:W},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},q0=PW;var v1=B(V(),1),LW=k7.schema,T7=R1({name:"edit_file",description:"Performs exact string replacements in files with diff visualization",parameters:LW.shape,handler:T1.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=S7(J,W,{maxLines:void 0});for(let H of O){if(H.type==="removed")z++;if(H.type==="added")G++}}return v1.jsxDEV(w,{flexDirection:"column",paddingX:1,children:[v1.jsxDEV(w,{children:[v1.jsxDEV(N,{color:"yellow",children:"Edit "},void 0,!1,void 0,this),v1.jsxDEV(N,{dimColor:!0,children:"("},void 0,!1,void 0,this),v1.jsxDEV(q0,{path:Y,rainbow:!0},void 0,!1,void 0,this),v1.jsxDEV(N,{dimColor:!0,children:")"},void 0,!1,void 0,this),K&&v1.jsxDEV(v1.Fragment,{children:[v1.jsxDEV(N,{color:"gray",children:" ("},void 0,!1,void 0,this),v1.jsxDEV(N,{color:"red",children:["-",z]},void 0,!0,void 0,this),v1.jsxDEV(N,{color:"gray",children:"/"},void 0,!1,void 0,this),v1.jsxDEV(N,{color:"green",children:["+",G]},void 0,!0,void 0,this),v1.jsxDEV(N,{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:")&&v1.jsxDEV(w,{marginTop:0,marginLeft:1,marginBottom:1,children:v1.jsxDEV(N,{color:"red",children:Q},void 0,!1,void 0,this)},void 0,!1,void 0,this),!Q&&v1.jsxDEV(w,{marginTop:0,children:v1.jsxDEV(N,{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 E0=B(V(),1),RW=["pending","in_progress","completed"],SW={pending:"gray",in_progress:"yellow",completed:"green"},VW={pending:"○",in_progress:"◐",completed:"✓"};function kW($,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=RW.includes(X.status)?X.status:"pending";return{id:Y,content:J,status:W}}var I7=R1({name:"todo_write",description:"Use this tool to create and manage a structured task list",parameters:b7.shape,handler:T1.waitForUIDone,render($){let Z=$.getInputRepaired(),Y=(Z&&Array.isArray(Z.todos)?Z.todos:[]).map(kW);if(!Z)return E0.jsxDEV(w,{flexDirection:"column",borderStyle:"round",borderColor:"red",children:E0.jsxDEV(N,{color:"red",children:"Error: Invalid todo data structure"},void 0,!1,void 0,this)},void 0,!1,void 0,this);return E0.jsxDEV(w,{flexDirection:"column",paddingY:1,children:E0.jsxDEV(w,{flexDirection:"column",marginTop:0,children:(()=>{if(Y.length===0)return E0.jsxDEV(w,{paddingX:1,children:E0.jsxDEV(N,{color:"gray",children:"No tasks in todo list"},void 0,!1,void 0,this)},void 0,!1,void 0,this);return E0.jsxDEV(w,{flexDirection:"column",marginTop:0,children:Y.map((W,K)=>E0.jsxDEV(w,{paddingX:1,paddingY:0,children:[E0.jsxDEV(N,{color:SW[W.status],bold:!0,children:[VW[W.status]," "]},void 0,!0,void 0,this),E0.jsxDEV(N,{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 v0=B(V(),1),TW=D7.schema,j7=R1({name:"read_file",description:"Reads a file from the local filesystem",parameters:TW.shape,handler:T1.waitForUIDone,render($){let Z=$.getInputRepaired(),X=$.output;if(!X)return v0.jsxDEV(v0.Fragment,{},void 0,!1,void 0,this);let W=(typeof X==="string"?X:String(X??"")).split(`
59
+ `).length,K=typeof Z?.file_path==="string"?Z.file_path:String(Z?.file_path??"");return v0.jsxDEV(w,{flexDirection:"column",paddingX:1,children:v0.jsxDEV(w,{children:[v0.jsxDEV(N,{color:"blue",children:"Read "},void 0,!1,void 0,this),v0.jsxDEV(N,{dimColor:!0,children:"("},void 0,!1,void 0,this),v0.jsxDEV(q0,{path:K,rainbow:!0},void 0,!1,void 0,this),v0.jsxDEV(N,{dimColor:!0,children:")"},void 0,!1,void 0,this),v0.jsxDEV(N,{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 _0=B(V(),1),bW=y7.schema,E7=R1({name:"glob_files",description:"Find files by name patterns",parameters:bW.shape,handler:T1.waitForUIDone,render($){let Z=$.getInputRepaired(),X=$.output;if(!X)return _0.jsxDEV(_0.Fragment,{},void 0,!1,void 0,this);let J=X.split(`
60
+ `).filter(Boolean).length,W=typeof Z?.pattern==="string"?Z.pattern:String(Z?.pattern??"");return _0.jsxDEV(w,{flexDirection:"column",paddingX:1,children:_0.jsxDEV(N,{children:[_0.jsxDEV(N,{color:"cyan",children:"Glob "},void 0,!1,void 0,this),_0.jsxDEV(N,{dimColor:!0,children:"("},void 0,!1,void 0,this),_0.jsxDEV(q0,{path:W,rainbow:!0},void 0,!1,void 0,this),_0.jsxDEV(N,{dimColor:!0,children:")"},void 0,!1,void 0,this),_0.jsxDEV(N,{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 c1=B(V(),1),IW=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("限制输出行数")}),v7=R1({name:"search_files_rg",description:"Ripgrep - fast text search tool",parameters:IW.shape,handler:T1.waitForUIDone,render($){let Z=$.getInputRepaired(),X=$.output;if(!X)return c1.jsxDEV(c1.Fragment,{},void 0,!1,void 0,this);let W=(typeof X==="string"?X:String(X??"")).split(`
61
+ `).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((H)=>typeof H==="string").filter((H)=>!H.startsWith("-"));if(O.length>0){if(Q=O[O.length-1],O.length>1)K=O[O.length-2]}}return c1.jsxDEV(w,{flexDirection:"column",paddingX:1,children:c1.jsxDEV(N,{children:[c1.jsxDEV(N,{color:"magenta",children:"Ripgrep "},void 0,!1,void 0,this),K&&c1.jsxDEV(c1.Fragment,{children:[c1.jsxDEV(N,{dimColor:!0,children:"("},void 0,!1,void 0,this),c1.jsxDEV(q0,{path:K,color:"magenta"},void 0,!1,void 0,this),c1.jsxDEV(N,{dimColor:!0,children:")"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),Q&&Q!=="./"&&c1.jsxDEV(c1.Fragment,{children:[c1.jsxDEV(N,{dimColor:!0,children:" in "},void 0,!1,void 0,this),c1.jsxDEV(q0,{path:Q,rainbow:!0},void 0,!1,void 0,this)]},void 0,!0,void 0,this),c1.jsxDEV(N,{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 r0=B(V(),1),DW=j.object({description:j.string().optional(),file_path:j.string(),content:j.string()}),_7=R1({name:"write_file",description:"Writes a file to the local filesystem",parameters:DW.shape,handler:T1.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(`
62
+ `).length,K=typeof X==="string"?X:"";return r0.jsxDEV(w,{flexDirection:"column",paddingX:1,children:[r0.jsxDEV(w,{children:[r0.jsxDEV(N,{color:"green",children:"Write "},void 0,!1,void 0,this),r0.jsxDEV(N,{dimColor:!0,children:"("},void 0,!1,void 0,this),r0.jsxDEV(q0,{path:J,rainbow:!0},void 0,!1,void 0,this),r0.jsxDEV(N,{dimColor:!0,children:")"},void 0,!1,void 0,this),r0.jsxDEV(N,{dimColor:!0,children:[" (",W," lines)"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),K&&K.startsWith("Error:")&&r0.jsxDEV(w,{marginTop:0,marginLeft:1,marginBottom:1,children:r0.jsxDEV(N,{color:"red",children:K},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}});var t1=B(V(),1),jW=f7.schema,h7=R1({name:"folder_operations",description:"Unified folder operations tool supporting create, list, delete, and existence check",parameters:jW.shape,render($){let Z=$.getInputRepaired(),X=$.output;if(!X)return t1.jsxDEV(t1.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(`
63
+ `).map((O,H)=>{if(O.match(/\d+ \w+|[\d-]+ [\d:]+/))return t1.jsxDEV(N,{dimColor:!0,children:O},H,!1,void 0,this);if(O.includes("✓")||O.includes("successfully")||O.includes("created")||O.includes("deleted"))return t1.jsxDEV(N,{color:"green",children:O},H,!1,void 0,this);if(O.includes("✗")||O.includes("Error")||O.includes("not found")||O.includes("failed"))return t1.jsxDEV(N,{color:"red",children:O},H,!1,void 0,this);if(O.startsWith("/")||O.includes("/:"))return t1.jsxDEV(N,{color:"cyan",children:O},H,!1,void 0,this);return t1.jsxDEV(N,{children:O},H,!1,void 0,this)});return t1.jsxDEV(w,{flexDirection:"column",paddingX:1,children:t1.jsxDEV(w,{children:[t1.jsxDEV(N,{bold:!0,color:Q,children:[J,"Folder"]},void 0,!0,void 0,this),t1.jsxDEV(N,{dimColor:!0,children:" ("},void 0,!1,void 0,this),t1.jsxDEV(q0,{path:W,rainbow:!0},void 0,!1,void 0,this),t1.jsxDEV(N,{dimColor:!0,children:")"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},void 0,!1,void 0,this)}});var m1=B(V(),1),yW=j.object({}),g7=R1({name:"load_mcp_tools",description:`加载并查询所有可用的 MCP 工具列表。
50
64
 
51
65
  返回:
52
66
  - tools: MCP 工具列表,每个工具包含 name, description, schema
@@ -57,7 +71,7 @@ ${F.selected.join(`
57
71
  - 获取工具的参数格式
58
72
  - 检查 MCP 连接状态
59
73
 
60
- 重要:工具列表是动态的,建议在需要时调用此命令获取最新信息。`,parameters:a8.shape,handler:n.waitForUIDone,render($){let Z=$.output,Y=typeof Z==="string"?Z:"",J=null;try{J=JSON.parse(Y)}catch(W){}let X=Array.isArray(J?.tools)?J.tools:[],K=Array.isArray(J?.status?.servers)?J.status.servers.filter((W)=>typeof W==="string"):[],Q=typeof J?.status?.toolCount==="number"?J.status.toolCount:void 0;return Q1.jsxDEV(z,{flexDirection:"column",children:[Q1.jsxDEV(z,{children:Q1.jsxDEV(G,{color:"blue",bold:!0,children:"load_mcp_tools"},void 0,!1,void 0,this)},void 0,!1,void 0,this),J?.status&&Q1.jsxDEV(z,{flexDirection:"column",marginTop:1,children:[Q1.jsxDEV(G,{color:"green",children:"✓ MCP 已连接"},void 0,!1,void 0,this),K.length>0&&Q1.jsxDEV(z,{marginLeft:2,children:Q1.jsxDEV(G,{color:"gray",children:["服务器: ",K.join(", ")]},void 0,!0,void 0,this)},void 0,!1,void 0,this),Q!==void 0&&Q1.jsxDEV(z,{marginLeft:2,children:Q1.jsxDEV(G,{color:"gray",children:["工具数量: ",Q]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),X.length>0&&Q1.jsxDEV(z,{flexDirection:"column",marginTop:1,children:[Q1.jsxDEV(G,{color:"gray",dimColor:!0,children:["可用工具 (",X.length,"):"]},void 0,!0,void 0,this),X.slice(0,5).map((W,_)=>{let O=typeof W?.name==="string"?W.name:String(W?.name??""),N=typeof W?.description==="string"?W.description:"";return Q1.jsxDEV(z,{marginLeft:2,children:[Q1.jsxDEV(G,{color:"cyan",children:O},void 0,!1,void 0,this),N&&Q1.jsxDEV(G,{color:"gray",dimColor:!0,children:[" ","- ",N.slice(0,50),N.length>50?"...":""]},void 0,!0,void 0,this)]},_,!0,void 0,this)}),X.length>5&&Q1.jsxDEV(z,{marginLeft:2,children:Q1.jsxDEV(G,{color:"gray",dimColor:!0,children:["... 还有 ",X.length-5," 个工具"]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),Y&&Q1.jsxDEV(u0,{content:Y,maxLines:10,borderColor:"gray"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}});import{z as k0}from"zod";var M1=A(M(),1),s8=k0.object({commands:k0.array(k0.object({name:k0.string().describe("MCP 工具名称"),args:k0.record(k0.string(),k0.any()).describe("工具参数,JSON 对象格式")})).describe("要执行的 MCP 工具列表")}),p4=l({name:"execute_mcp_tool",description:`执行一个或多个 MCP 工具。
74
+ 重要:工具列表是动态的,建议在需要时调用此命令获取最新信息。`,parameters:yW.shape,handler:T1.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 m1.jsxDEV(w,{flexDirection:"column",children:[m1.jsxDEV(w,{children:m1.jsxDEV(N,{color:"blue",bold:!0,children:"load_mcp_tools"},void 0,!1,void 0,this)},void 0,!1,void 0,this),Y?.status&&m1.jsxDEV(w,{flexDirection:"column",marginTop:1,children:[m1.jsxDEV(N,{color:"green",children:"✓ MCP 已连接"},void 0,!1,void 0,this),W.length>0&&m1.jsxDEV(w,{marginLeft:2,children:m1.jsxDEV(N,{color:"gray",children:["服务器: ",W.join(", ")]},void 0,!0,void 0,this)},void 0,!1,void 0,this),K!==void 0&&m1.jsxDEV(w,{marginLeft:2,children:m1.jsxDEV(N,{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&&m1.jsxDEV(w,{flexDirection:"column",marginTop:1,children:[m1.jsxDEV(N,{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 m1.jsxDEV(w,{marginLeft:2,children:[m1.jsxDEV(N,{color:"cyan",children:G},void 0,!1,void 0,this),O&&m1.jsxDEV(N,{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&&m1.jsxDEV(w,{marginLeft:2,children:m1.jsxDEV(N,{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&&m1.jsxDEV(w$,{content:X,maxLines:10,borderColor:"gray"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}});var z0=B(V(),1),EW=j.object({commands:j.array(j.object({name:j.string().describe("MCP 工具名称"),args:j.record(j.string(),j.any()).describe("工具参数,JSON 对象格式")})).describe("要执行的 MCP 工具列表")}),m7=R1({name:"execute_mcp_tool",description:`执行一个或多个 MCP 工具。
61
75
 
62
76
  使用格式:
63
77
  - commands: MCP 工具数组,每个工具包含 name 和 args
@@ -69,112 +83,107 @@ ${F.selected.join(`
69
83
  重要:
70
84
  - 所有工具独立执行,失败不影响其他工具
71
85
  - 返回结果按命令顺序排列
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",$3).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},qY=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,wY=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,Y3=/^( {2,}|\\)\n(?!\s*$)/,MY=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,f$=/[\p{P}\p{S}]/u,N6=/[\s\p{P}\p{S}]/u,X3=/[^\s\p{P}\p{S}]/u,RY=E(/^((?![*_])punctSpace)/,"u").replace(/punctSpace/g,N6).getRegex(),J3=/(?!~)[\p{P}\p{S}]/u,bY=/(?!~)[\s\p{P}\p{S}]/u,BY=/(?:[^\s\p{P}\p{S}]|~)/u,PY=E(/link|precode-code|html/,"g").replace("link",/\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-",KY?"(?<!`)()":"(^^|[^`])").replace("code",/(?<b>`+)[^`]+\k<b>(?!`)/).replace("html",/<(?! )[^<>]*?>/).getRegex(),K3=/^(?:\*+(?:((?!\*)punct)|[^\s*]))|^_+(?:((?!_)punct)|([^\s_]))/,fY=E(K3,"u").replace(/punct/g,f$).getRegex(),CY=E(K3,"u").replace(/punct/g,J3).getRegex(),Q3="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",vY=E(Q3,"gu").replace(/notPunctSpace/g,X3).replace(/punctSpace/g,N6).replace(/punct/g,f$).getRegex(),SY=E(Q3,"gu").replace(/notPunctSpace/g,BY).replace(/punctSpace/g,bY).replace(/punct/g,J3).getRegex(),IY=E("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,X3).replace(/punctSpace/g,N6).replace(/punct/g,f$).getRegex(),kY=E(/\\(punct)/,"gu").replace(/punct/g,f$).getRegex(),yY=E(/^<(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(),TY=E(O6).replace("(?:-->|$)","-->").getRegex(),DY=E("^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",TY).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),R$=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+[^`]*?`+(?!`)|[^\[\]\\`])*?/,VY=E(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]*(?:\n[ \t]*)?)(title))?\s*\)/).replace("label",R$).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),W3=E(/^!?\[(label)\]\[(ref)\]/).replace("label",R$).replace("ref",G6).getRegex(),_3=E(/^!?\[(ref)\](?:\[\])?/).replace("ref",G6).getRegex(),jY=E("reflink|nolink(?!\\()","g").replace("reflink",W3).replace("nolink",_3).getRegex(),o4=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,z6={_backpedal:X$,anyPunctuation:kY,autolink:yY,blockSkip:PY,br:Y3,code:wY,del:X$,emStrongLDelim:fY,emStrongRDelimAst:vY,emStrongRDelimUnd:IY,escape:qY,link:VY,nolink:_3,punctuation:RY,reflink:W3,reflinkSearch:jY,tag:DY,text:MY,url:X$},hY={...z6,link:E(/^!?\[(label)\]\((.*?)\)/).replace("label",R$).getRegex(),reflink:E(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",R$).getRegex()},K6={...z6,emStrongRDelimAst:SY,emStrongLDelim:CY,url:E(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol",o4).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:E(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace("protocol",o4).getRegex()},EY={...K6,br:E(Y3).replace("{2,}","*").getRegex(),text:E(K6.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},M$={normal:U6,gfm:LY,pedantic:AY},$$={normal:z6,gfm:K6,breaks:EY,pedantic:hY},gY={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},r4=($)=>gY[$];function e1($,Z){if(Z){if(z1.escapeTest.test($))return $.replace(z1.escapeReplace,r4)}else if(z1.escapeTestNoEncode.test($))return $.replace(z1.escapeReplaceNoEncode,r4);return $}function n4($){try{$=encodeURI($).replace(z1.percentDecode,"%")}catch{return null}return $}function a4($,Z){let Y=$.replace(z1.findPipe,(K,Q,W)=>{let _=!1,O=Q;for(;--O>=0&&W[O]==="\\";)_=!_;return _?"|":" |"}),J=Y.split(z1.splitPipe),X=0;if(J[0].trim()||J.shift(),J.length>0&&!J.at(-1)?.trim()&&J.pop(),Z)if(J.length>Z)J.splice(Z);else for(;J.length<Z;)J.push("");for(;X<J.length;X++)J[X]=J[X].trim().replace(z1.slashPipe,"|");return J}function Z$($,Z,Y){let J=$.length;if(J===0)return"";let X=0;for(;X<J;){let K=$.charAt(J-X-1);if(K===Z&&!Y)X++;else if(K!==Z&&Y)X++;else break}return $.slice(0,J-X)}function pY($,Z){if($.indexOf(Z[1])===-1)return-1;let Y=0;for(let J=0;J<$.length;J++)if($[J]==="\\")J++;else if($[J]===Z[0])Y++;else if($[J]===Z[1]&&(Y--,Y<0))return J;return Y>0?-2:-1}function s4($,Z,Y,J,X){let K=Z.href,Q=Z.title||null,W=$[1].replace(X.other.outputLinkReplace,"$1");J.state.inLink=!0;let _={type:$[0].charAt(0)==="!"?"image":"link",raw:Y,href:K,title:Q,text:W,tokens:J.inlineTokens(W)};return J.state.inLink=!1,_}function mY($,Z,Y){let J=$.match(Y.other.indentCodeCompensation);if(J===null)return Z;let X=J[1];return Z.split(`
74
- `).map((K)=>{let Q=K.match(Y.other.beginningSpace);if(Q===null)return K;let[W]=Q;return W.length>=X.length?K.slice(X.length):K}).join(`
75
- `)}var b$=class{options;rules;lexer;constructor($){this.options=$||T0}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 Y=Z[0].replace(this.rules.other.codeRemoveIndent,"");return{type:"code",raw:Z[0],codeBlockStyle:"indented",text:this.options.pedantic?Y:Z$(Y,`
76
- `)}}}fences($){let Z=this.rules.block.fences.exec($);if(Z){let Y=Z[0],J=mY(Y,Z[3]||"",this.rules);return{type:"code",raw:Y,lang:Z[2]?Z[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):Z[2],text:J}}}heading($){let Z=this.rules.block.heading.exec($);if(Z){let Y=Z[2].trim();if(this.rules.other.endingHash.test(Y)){let J=Z$(Y,"#");(this.options.pedantic||!J||this.rules.other.endingSpaceChar.test(J))&&(Y=J.trim())}return{type:"heading",raw:Z[0],depth:Z[1].length,text:Y,tokens:this.lexer.inline(Y)}}}hr($){let Z=this.rules.block.hr.exec($);if(Z)return{type:"hr",raw:Z$(Z[0],`
77
- `)}}blockquote($){let Z=this.rules.block.blockquote.exec($);if(Z){let Y=Z$(Z[0],`
86
+ - 适合批量执行 MCP 相关操作`,parameters:EW.shape,handler:T1.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 z0.jsxDEV(w,{flexDirection:"column",children:[z0.jsxDEV(w,{children:z0.jsxDEV(N,{color:"blue",bold:!0,children:"execute_mcp_tool"},void 0,!1,void 0,this)},void 0,!1,void 0,this),W.length>0&&z0.jsxDEV(w,{flexDirection:"column",marginTop:1,children:[z0.jsxDEV(N,{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 z0.jsxDEV(w,{marginLeft:2,children:[z0.jsxDEV(N,{color:"yellow",children:[Q+1,"."]},void 0,!0,void 0,this),z0.jsxDEV(N,{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)&&z0.jsxDEV(w,{flexDirection:"column",marginTop:1,children:J.results.map((K,Q)=>z0.jsxDEV(w,{marginLeft:2,children:K?.error?z0.jsxDEV(N,{color:"red",children:["✗ ",typeof K.tool==="string"?K.tool:""]},void 0,!0,void 0,this):z0.jsxDEV(N,{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&&z0.jsxDEV(w$,{content:Y,maxLines:10,borderColor:"gray"},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}});var A0=B(V(),1),vW=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")}),_W=({tool:$})=>{let Z=$.getInputRepaired(),X=typeof Z?.subagent_id==="string"?Z.subagent_id:String(Z?.subagent_id??""),Y=Z?.task_description,J=Y?Y.slice(0,50):"",W=Y&&Y.length>50;return A0.jsxDEV(w,{paddingX:1,flexDirection:"column",children:[A0.jsxDEV(w,{children:[A0.jsxDEV(N,{color:"yellow",children:"Task "},void 0,!1,void 0,this),A0.jsxDEV(N,{dimColor:!0,children:"→ "},void 0,!1,void 0,this),A0.jsxDEV(N,{color:"cyan",children:["@",X]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),A0.jsxDEV(w,{children:[A0.jsxDEV(N,{dimColor:!0,children:" "},void 0,!1,void 0,this),A0.jsxDEV(N,{color:"gray",italic:!0,children:[J,W&&A0.jsxDEV(N,{color:"dim",children:"..."},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)},fW=({tool:$})=>{return A0.jsxDEV(w,{flexDirection:"column",children:A0.jsxDEV(_W,{tool:$},void 0,!1,void 0,this)},void 0,!1,void 0,this)},x7=R1({name:"task",description:"Launch a subagent to handle complex tasks autonomously",parameters:vW.shape,handler:T1.waitForUIDone,render($){return A0.jsxDEV(fW,{tool:$},void 0,!1,void 0,this)}});var u7=[C7,A7,T7,I7,j7,E7,v7,_7,h7,g7,m7,x7];var V1=B(e(),1);var v=B(V(),1),hW=({validation:$,onComplete:Z})=>{let{config:X,updateConfig:Y}=p1(),[J,W]=V1.useState("welcome"),[K,Q]=V1.useState(!1),[z,G]=V1.useState(null),[O,H]=V1.useState(0),[U,M]=V1.useState(null),A=V1.useRef(!0),F=V1.useRef([]),P=V1.useRef(O),S=X?.providers||[];V1.useEffect(()=>{F.current=S},[S]),V1.useEffect(()=>{P.current=O},[O]);let T=S[O],p=V1.useCallback(()=>M(null),[]);M0(p,U?3000:null);let f=V1.useCallback(()=>{A.current=!0,G(null),Q(!0),M(null)},[]),a=V1.useCallback(()=>{let E=F.current,n=P.current,Q1=E[n];if(!Q1)return;A.current=!1,G(Q1),Q(!0),M(null)},[]),b=V1.useCallback(()=>{Q(!1),G(null),M(null)},[]),_=V1.useCallback(async(E)=>{let n=F.current,Q1=A.current,a1=Q1?[...n,E]:n.map((Y0)=>Y0.id===E.id?E:Y0);if(await Y({providers:a1}),M(Q1?`已添加 Provider: ${E.id}`:`已更新 Provider: ${E.id}`),Q1){let Y0=a1.findIndex((D4)=>D4.id===E.id);H(Y0>=0?Y0:0)}b()},[Y,b]),Z1=V1.useCallback(()=>{if(!T||!T.apiKey){M("请先配置 Provider 的 API Key");return}Y({provider_id:T.id,provider_type:T.type}).then(()=>{W("model")})},[T,Y]);if(b0((E,n)=>{if(n.return||E===" ")W("provider")},{isActive:J==="welcome"}),b0((E,n)=>{if(K)return;if(n.upArrow)H((Q1)=>Q1>0?Q1-1:S.length-1);else if(n.downArrow)H((Q1)=>Q1<S.length-1?Q1+1:0);else if(E==="n"||E==="N")f();else if((E==="e"||E==="E"||n.return)&&T)a();else if(E==="s"||E==="S")Z1()},{isActive:J==="provider"}),J==="welcome")return v.jsxDEV(w,{flexDirection:"column",paddingX:2,paddingY:1,width:"100%",children:[v.jsxDEV(w,{marginBottom:1,children:v.jsxDEV(N,{bold:!0,color:"cyan",children:"欢迎使用 Zen Code"},void 0,!1,void 0,this)},void 0,!1,void 0,this),v.jsxDEV(w,{marginBottom:1,children:v.jsxDEV(N,{color:"yellow",children:$.reason||"需要进行初始配置"},void 0,!1,void 0,this)},void 0,!1,void 0,this),v.jsxDEV(w,{flexDirection:"column",marginBottom:1,children:[v.jsxDEV(N,{dimColor:!0,children:"接下来将引导你完成:"},void 0,!1,void 0,this),v.jsxDEV(N,{dimColor:!0,children:" 1. 配置 Provider(API 服务提供商)"},void 0,!1,void 0,this),v.jsxDEV(N,{dimColor:!0,children:" 2. 选择 Model(AI 模型)"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),v.jsxDEV(w,{children:v.jsxDEV(N,{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 v.jsxDEV(w,{flexDirection:"column",width:"100%",children:[v.jsxDEV(w,{paddingX:2,paddingY:1,children:v.jsxDEV(N,{bold:!0,color:"cyan",children:"步骤 1/2: Provider 配置"},void 0,!1,void 0,this)},void 0,!1,void 0,this),K?v.jsxDEV(p7,{provider:z||void 0,onCancel:b,onSave:_},void 0,!1,void 0,this):v.jsxDEV(v.Fragment,{children:v.jsxDEV(w,{flexDirection:"column",paddingX:2,gap:1,children:[S.length===0?v.jsxDEV(w,{paddingY:1,children:v.jsxDEV(N,{color:"yellow",children:"未配置任何 Provider,请按 'n' 新增"},void 0,!1,void 0,this)},void 0,!1,void 0,this):S.map((E,n)=>{let Q1=!!E.apiKey,a1=Q1?"green":"yellow";return v.jsxDEV(w,{marginBottom:0,gap:1,children:[v.jsxDEV(N,{color:n===O?"cyan":"gray",bold:n===O,children:n===O?">":" "},void 0,!1,void 0,this),v.jsxDEV(N,{bold:n===O,color:n===O?"cyan":void 0,children:E.id},void 0,!1,void 0,this),v.jsxDEV(N,{color:"gray",dimColor:n!==O,children:[" ",E.type]},void 0,!0,void 0,this),v.jsxDEV(N,{color:a1,dimColor:n!==O,children:[" ","[",Q1?"已配置":"未配置","]"]},void 0,!0,void 0,this)]},E.id,!0,void 0,this)}),v.jsxDEV(w,{marginTop:1,children:[v.jsxDEV(N,{color:"gray",dimColor:!0,children:[v.jsxDEV(N,{color:"cyan",children:"↑↓"},void 0,!1,void 0,this)," 导航 ",v.jsxDEV(N,{color:"cyan",children:"n"},void 0,!1,void 0,this)," 新增"," ",v.jsxDEV(N,{color:"cyan",children:"e/Enter"},void 0,!1,void 0,this)," 编辑"," "]},void 0,!0,void 0,this),S.some((E)=>E.apiKey)&&v.jsxDEV(N,{children:[v.jsxDEV(N,{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&&v.jsxDEV(w,{paddingX:2,paddingY:0,children:v.jsxDEV(N,{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 v.jsxDEV(gW,{onComplete:Z,onBack:()=>W("provider")},void 0,!1,void 0,this);return null},gW=({onComplete:$,onBack:Z})=>{let{config:X,updateConfig:Y}=p1(),[J,W]=V1.useState(0),K=V1.useMemo(()=>{return X?.providers.find((H)=>H.id===X.provider_id)||null},[X?.providers,X?.provider_id]),{data:Q=[],isLoading:z,error:G}=c7({provider:K,enabled:!!K?.apiKey}),O=Q[J];if(b0((H,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||H==="b"||H==="B")Z();else if((U.return||H===" ")&&O)Y({model_id:O.id}).then(()=>{$()})},{isActive:!z&&!G&&X!==null}),z)return v.jsxDEV(w,{flexDirection:"column",paddingX:2,paddingY:1,children:[v.jsxDEV(N,{bold:!0,color:"cyan",children:"步骤 2/2: Model 选择"},void 0,!1,void 0,this),v.jsxDEV(w,{marginTop:1,children:v.jsxDEV(N,{color:"gray",children:"加载模型列表中..."},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this);if(G)return v.jsxDEV(w,{flexDirection:"column",paddingX:2,paddingY:1,children:[v.jsxDEV(N,{bold:!0,color:"cyan",children:"步骤 2/2: Model 选择"},void 0,!1,void 0,this),v.jsxDEV(w,{marginTop:1,children:v.jsxDEV(N,{color:"red",children:["加载失败: ",G.message]},void 0,!0,void 0,this)},void 0,!1,void 0,this),v.jsxDEV(w,{marginTop:1,children:v.jsxDEV(N,{color:"gray",dimColor:!0,children:["按 ",v.jsxDEV(N,{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 v.jsxDEV(w,{flexDirection:"column",width:"100%",children:[v.jsxDEV(w,{paddingX:2,paddingY:1,children:[v.jsxDEV(N,{bold:!0,color:"cyan",children:"步骤 2/2: Model 选择"},void 0,!1,void 0,this),K&&v.jsxDEV(N,{dimColor:!0,children:[" ","- ",K.id," (",K.type,")"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),v.jsxDEV(w,{flexDirection:"column",paddingX:2,gap:0,children:Q.map((H,U)=>v.jsxDEV(w,{marginBottom:0,gap:1,children:[v.jsxDEV(N,{color:U===J?"cyan":"gray",bold:U===J,children:U===J?">":" "},void 0,!1,void 0,this),v.jsxDEV(N,{bold:U===J,color:U===J?"cyan":void 0,children:H.id},void 0,!1,void 0,this),H.name!==H.id&&v.jsxDEV(N,{dimColor:U!==J,children:["(",H.name,")"]},void 0,!0,void 0,this)]},H.id,!0,void 0,this))},void 0,!1,void 0,this),v.jsxDEV(w,{marginTop:1,paddingX:2,children:v.jsxDEV(N,{color:"gray",dimColor:!0,children:[v.jsxDEV(N,{color:"cyan",children:"↑↓"},void 0,!1,void 0,this)," 导航 ",v.jsxDEV(N,{color:"cyan",children:"Enter/Space"},void 0,!1,void 0,this)," 确认"," ",v.jsxDEV(N,{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)},d7=hW;var A$=B(V(),1),mW=({children:$})=>{let{extraParams:Z,toggleCompactMode:X,config:Y}=p1(),{setTools:J,loading:W}=d1(),{hasPendingInteractions:K}=S0();r5({tools:u7,setTools:J});let{needsSetup:Q,validation:z}=t5({config:Y});$7({shouldFocus:!W});let G=Z7(),{isChatView:O}=G;if(b0((U,M)=>{if(M.ctrl&&U==="o"&&O&&!W)X();else if(M.ctrl&&U==="z"&&globalThis.Bun)import("v8").then((A)=>{A.writeHeapSnapshot("my-application.heapsnapshot")})},{isActive:O}),Q&&z)return A$.jsxDEV(w1,{name:"SetupWizard",fallback:null,children:A$.jsxDEV(d7,{validation:z,onComplete:G.closePanel},void 0,!1,void 0,this)},void 0,!1,void 0,this);let H={activeView:G.activeView,isChatView:G.isChatView,switchToHistory:G.switchToHistory,switchToKnowledge:G.switchToKnowledge,switchToSettings:G.switchToSettings,switchToModelProvider:G.switchToModelProvider,switchToAgent:G.switchToAgent,switchToMcp:G.switchToMcp,switchToProcess:G.switchToProcess,switchToErrors:G.switchToErrors,closePanel:G.closePanel,hasPendingInteractions:K};return A$.jsxDEV(w1,{name:"ChatPanelContext",fallback:null,children:A$.jsxDEV(Y7,{value:H,children:$},void 0,!1,void 0,this)},void 0,!1,void 0,this)},l7=({children:$})=>{return A$.jsxDEV(mW,{children:$},void 0,!1,void 0,this)};var S9=B(e(),1);var H8=B(e(),1);var G4=B(V(),1),xW=({content:$,messageNumber:Z})=>{let X=i7(),Y=()=>{if(typeof $==="string")return G4.jsxDEV(N,{color:"white",children:$},void 0,!1,void 0,this);if(Array.isArray($))return $.filter((J)=>J.type==="text").map((J,W)=>G4.jsxDEV(N,{color:"white",children:J.text},void 0,!1,void 0,this));return G4.jsxDEV(N,{color:"white",children:JSON.stringify($)},void 0,!1,void 0,this)};return G4.jsxDEV(w,{flexDirection:"column",children:[G4.jsxDEV(w,{children:G4.jsxDEV(N,{color:o4("amber"),children:[Z," ",X]},void 0,!0,void 0,this)},void 0,!1,void 0,this),G4.jsxDEV(w,{children:G4.jsxDEV(N,{color:"gray",children:["└─ ",Y()]},void 0,!0,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},Z8=xW;var g=B(SK(),1);function M6(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var r4=M6();function e7($){r4=$}var qZ={exec:()=>null};function K1($,Z=""){let X=typeof $=="string"?$:$.source,Y={replace:(J,W)=>{let K=typeof W=="string"?W:W.source;return K=K.replace(e1.caret,"$1"),X=X.replace(J,K),Y},getRegex:()=>new RegExp(X,Z)};return Y}var uW=(()=>{try{return!!new RegExp("(?<=1)(?<!1)")}catch{return!1}})(),e1={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")},cW=/^(?:[ \t]*(?:\n|$))+/,pW=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,dW=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,AZ=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,lW=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,q6=/(?:[*+-]|\d{1,9}[.)])/,$X=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,ZX=K1($X).replace(/bull/g,q6).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(),iW=K1($X).replace(/bull/g,q6).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(),A6=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,oW=/^[^\n]+/,F6=/(?!\s*\])(?:\\[\s\S]|[^\[\]\\])+/,nW=K1(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",F6).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),rW=K1(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,q6).getRegex(),K8="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",C6=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,aW=K1("^ {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",C6).replace("tag",K8).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),XX=K1(A6).replace("hr",AZ).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",K8).getRegex(),sW=K1(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",XX).getRegex(),B6={blockquote:sW,code:pW,def:nW,fences:dW,heading:lW,hr:AZ,html:aW,lheading:ZX,list:rW,newline:cW,paragraph:XX,table:qZ,text:oW},o7=K1("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",AZ).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",K8).getRegex(),tW={...B6,lheading:iW,table:o7,paragraph:K1(A6).replace("hr",AZ).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",o7).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",K8).getRegex()},eW={...B6,html:K1(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",C6).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:qZ,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:K1(A6).replace("hr",AZ).replace("heading",` *#{1,6} *[^
87
+ ]`).replace("lheading",ZX).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},$K=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,ZK=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,YX=/^( {2,}|\\)\n(?!\s*$)/,XK=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,Q8=/[\p{P}\p{S}]/u,P6=/[\s\p{P}\p{S}]/u,JX=/[^\s\p{P}\p{S}]/u,YK=K1(/^((?![*_])punctSpace)/,"u").replace(/punctSpace/g,P6).getRegex(),WX=/(?!~)[\p{P}\p{S}]/u,JK=/(?!~)[\s\p{P}\p{S}]/u,WK=/(?:[^\s\p{P}\p{S}]|~)/u,KK=K1(/link|precode-code|html/,"g").replace("link",/\[(?:[^\[\]`]|(?<a>`+)[^`]+\k<a>(?!`))*?\]\((?:\\[\s\S]|[^\\\(\)]|\((?:\\[\s\S]|[^\\\(\)])*\))*\)/).replace("precode-",uW?"(?<!`)()":"(^^|[^`])").replace("code",/(?<b>`+)[^`]+\k<b>(?!`)/).replace("html",/<(?! )[^<>]*?>/).getRegex(),KX=/^(?:\*+(?:((?!\*)punct)|[^\s*]))|^_+(?:((?!_)punct)|([^\s_]))/,QK=K1(KX,"u").replace(/punct/g,Q8).getRegex(),zK=K1(KX,"u").replace(/punct/g,WX).getRegex(),QX="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",GK=K1(QX,"gu").replace(/notPunctSpace/g,JX).replace(/punctSpace/g,P6).replace(/punct/g,Q8).getRegex(),OK=K1(QX,"gu").replace(/notPunctSpace/g,WK).replace(/punctSpace/g,JK).replace(/punct/g,WX).getRegex(),HK=K1("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,JX).replace(/punctSpace/g,P6).replace(/punct/g,Q8).getRegex(),NK=K1(/\\(punct)/,"gu").replace(/punct/g,Q8).getRegex(),UK=K1(/^<(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(),wK=K1(C6).replace("(?:-->|$)","-->").getRegex(),MK=K1("^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",wK).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),Y8=/(?:\[(?:\\[\s\S]|[^\[\]\\])*\]|\\[\s\S]|`+[^`]*?`+(?!`)|[^\[\]\\`])*?/,qK=K1(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]*(?:\n[ \t]*)?)(title))?\s*\)/).replace("label",Y8).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),zX=K1(/^!?\[(label)\]\[(ref)\]/).replace("label",Y8).replace("ref",F6).getRegex(),GX=K1(/^!?\[(ref)\](?:\[\])?/).replace("ref",F6).getRegex(),AK=K1("reflink|nolink(?!\\()","g").replace("reflink",zX).replace("nolink",GX).getRegex(),n7=/[hH][tT][tT][pP][sS]?|[fF][tT][pP]/,L6={_backpedal:qZ,anyPunctuation:NK,autolink:UK,blockSkip:KK,br:YX,code:ZK,del:qZ,emStrongLDelim:QK,emStrongRDelimAst:GK,emStrongRDelimUnd:HK,escape:$K,link:qK,nolink:GX,punctuation:YK,reflink:zX,reflinkSearch:AK,tag:MK,text:XK,url:qZ},FK={...L6,link:K1(/^!?\[(label)\]\((.*?)\)/).replace("label",Y8).getRegex(),reflink:K1(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",Y8).getRegex()},w6={...L6,emStrongRDelimAst:OK,emStrongLDelim:zK,url:K1(/^((?:protocol):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/).replace("protocol",n7).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:K1(/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|protocol:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/).replace("protocol",n7).getRegex()},CK={...w6,br:K1(YX).replace("{2,}","*").getRegex(),text:K1(w6.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},X8={normal:B6,gfm:tW,pedantic:eW},UZ={normal:L6,gfm:w6,breaks:CK,pedantic:FK},BK={"&":"&amp;","<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#39;"},r7=($)=>BK[$];function a0($,Z){if(Z){if(e1.escapeTest.test($))return $.replace(e1.escapeReplace,r7)}else if(e1.escapeTestNoEncode.test($))return $.replace(e1.escapeReplaceNoEncode,r7);return $}function a7($){try{$=encodeURI($).replace(e1.percentDecode,"%")}catch{return null}return $}function s7($,Z){let X=$.replace(e1.findPipe,(W,K,Q)=>{let z=!1,G=K;for(;--G>=0&&Q[G]==="\\";)z=!z;return z?"|":" |"}),Y=X.split(e1.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(e1.slashPipe,"|");return Y}function wZ($,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 PK($,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 t7($,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 LK($,Z,X){let Y=$.match(X.other.indentCodeCompensation);if(Y===null)return Z;let J=Y[1];return Z.split(`
88
+ `).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(`
89
+ `)}var J8=class{options;rules;lexer;constructor($){this.options=$||r4}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:wZ(X,`
90
+ `)}}}fences($){let Z=this.rules.block.fences.exec($);if(Z){let X=Z[0],Y=LK(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=wZ(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:wZ(Z[0],`
91
+ `)}}blockquote($){let Z=this.rules.block.blockquote.exec($);if(Z){let X=wZ(Z[0],`
78
92
  `).split(`
79
- `),J="",X="",K=[];for(;Y.length>0;){let Q=!1,W=[],_;for(_=0;_<Y.length;_++)if(this.rules.other.blockquoteStart.test(Y[_]))W.push(Y[_]),Q=!0;else if(!Q)W.push(Y[_]);else break;Y=Y.slice(_);let O=W.join(`
80
- `),N=O.replace(this.rules.other.blockquoteSetextReplace,`
81
- $1`).replace(this.rules.other.blockquoteSetextReplace2,"");J=J?`${J}
82
- ${O}`:O,X=X?`${X}
83
- ${N}`:N;let U=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTokens(N,K,!0),this.lexer.state.top=U,Y.length===0)break;let F=K.at(-1);if(F?.type==="code")break;if(F?.type==="blockquote"){let L=F,q=L.raw+`
84
- `+Y.join(`
85
- `),w=this.blockquote(q);K[K.length-1]=w,J=J.substring(0,J.length-L.raw.length)+w.raw,X=X.substring(0,X.length-L.text.length)+w.text;break}else if(F?.type==="list"){let L=F,q=L.raw+`
86
- `+Y.join(`
87
- `),w=this.list(q);K[K.length-1]=w,J=J.substring(0,J.length-F.raw.length)+w.raw,X=X.substring(0,X.length-L.raw.length)+w.raw,Y=q.substring(K.at(-1).raw.length).split(`
88
- `);continue}}return{type:"blockquote",raw:J,tokens:K,text:X}}}list($){let Z=this.rules.block.list.exec($);if(Z){let Y=Z[1].trim(),J=Y.length>1,X={type:"list",raw:"",ordered:J,start:J?+Y.slice(0,-1):"",loose:!1,items:[]};Y=J?`\\d{1,9}\\${Y.slice(-1)}`:`\\${Y}`,this.options.pedantic&&(Y=J?Y:"[*+-]");let K=this.rules.other.listItemRegex(Y),Q=!1;for(;$;){let _=!1,O="",N="";if(!(Z=K.exec($))||this.rules.block.hr.test($))break;O=Z[0],$=$.substring(O.length);let U=Z[2].split(`
89
- `,1)[0].replace(this.rules.other.listReplaceTabs,(P)=>" ".repeat(3*P.length)),F=$.split(`
90
- `,1)[0],L=!U.trim(),q=0;if(this.options.pedantic?(q=2,N=U.trimStart()):L?q=Z[1].length+1:(q=Z[2].search(this.rules.other.nonSpaceChar),q=q>4?1:q,N=U.slice(q),q+=Z[1].length),L&&this.rules.other.blankLine.test(F)&&(O+=F+`
91
- `,$=$.substring(F.length+1),_=!0),!_){let P=this.rules.other.nextBulletRegex(q),S=this.rules.other.hrRegex(q),u=this.rules.other.fencesBeginRegex(q),m=this.rules.other.headingBeginRegex(q),t=this.rules.other.htmlBeginRegex(q);for(;$;){let v=$.split(`
92
- `,1)[0],i;if(F=v,this.options.pedantic?(F=F.replace(this.rules.other.listReplaceNesting," "),i=F):i=F.replace(this.rules.other.tabCharGlobal," "),u.test(F)||m.test(F)||t.test(F)||P.test(F)||S.test(F))break;if(i.search(this.rules.other.nonSpaceChar)>=q||!F.trim())N+=`
93
- `+i.slice(q);else{if(L||U.replace(this.rules.other.tabCharGlobal," ").search(this.rules.other.nonSpaceChar)>=4||u.test(U)||m.test(U)||S.test(U))break;N+=`
94
- `+F}!L&&!F.trim()&&(L=!0),O+=v+`
95
- `,$=$.substring(v.length+1),U=i.slice(q)}}X.loose||(Q?X.loose=!0:this.rules.other.doubleBlankLine.test(O)&&(Q=!0));let w=null,R;this.options.gfm&&(w=this.rules.other.listIsTask.exec(N),w&&(R=w[0]!=="[ ] ",N=N.replace(this.rules.other.listReplaceTask,""))),X.items.push({type:"list_item",raw:O,task:!!w,checked:R,loose:!1,text:N,tokens:[]}),X.raw+=O}let W=X.items.at(-1);if(W)W.raw=W.raw.trimEnd(),W.text=W.text.trimEnd();else return;X.raw=X.raw.trimEnd();for(let _=0;_<X.items.length;_++)if(this.lexer.state.top=!1,X.items[_].tokens=this.lexer.blockTokens(X.items[_].text,[]),!X.loose){let O=X.items[_].tokens.filter((U)=>U.type==="space"),N=O.length>0&&O.some((U)=>this.rules.other.anyLine.test(U.raw));X.loose=N}if(X.loose)for(let _=0;_<X.items.length;_++)X.items[_].loose=!0;return X}}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 Y=Z[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal," "),J=Z[2]?Z[2].replace(this.rules.other.hrefBrackets,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",X=Z[3]?Z[3].substring(1,Z[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):Z[3];return{type:"def",tag:Y,raw:Z[0],href:J,title:X}}}table($){let Z=this.rules.block.table.exec($);if(!Z||!this.rules.other.tableDelimiter.test(Z[2]))return;let Y=a4(Z[1]),J=Z[2].replace(this.rules.other.tableAlignChars,"").split("|"),X=Z[3]?.trim()?Z[3].replace(this.rules.other.tableRowBlankLine,"").split(`
96
- `):[],K={type:"table",raw:Z[0],header:[],align:[],rows:[]};if(Y.length===J.length){for(let Q of J)this.rules.other.tableAlignRight.test(Q)?K.align.push("right"):this.rules.other.tableAlignCenter.test(Q)?K.align.push("center"):this.rules.other.tableAlignLeft.test(Q)?K.align.push("left"):K.align.push(null);for(let Q=0;Q<Y.length;Q++)K.header.push({text:Y[Q],tokens:this.lexer.inline(Y[Q]),header:!0,align:K.align[Q]});for(let Q of X)K.rows.push(a4(Q,K.header.length).map((W,_)=>({text:W,tokens:this.lexer.inline(W),header:!1,align:K.align[_]})));return K}}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 Y=Z[1].charAt(Z[1].length-1)===`
97
- `?Z[1].slice(0,-1):Z[1];return{type:"paragraph",raw:Z[0],text:Y,tokens:this.lexer.inline(Y)}}}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 Y=Z[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(Y)){if(!this.rules.other.endAngleBracket.test(Y))return;let K=Z$(Y.slice(0,-1),"\\");if((Y.length-K.length)%2===0)return}else{let K=pY(Z[2],"()");if(K===-2)return;if(K>-1){let Q=(Z[0].indexOf("!")===0?5:4)+Z[1].length+K;Z[2]=Z[2].substring(0,K),Z[0]=Z[0].substring(0,Q).trim(),Z[3]=""}}let J=Z[2],X="";if(this.options.pedantic){let K=this.rules.other.pedanticHrefTitle.exec(J);K&&(J=K[1],X=K[3])}else X=Z[3]?Z[3].slice(1,-1):"";return J=J.trim(),this.rules.other.startAngleBracket.test(J)&&(this.options.pedantic&&!this.rules.other.endAngleBracket.test(Y)?J=J.slice(1):J=J.slice(1,-1)),s4(Z,{href:J&&J.replace(this.rules.inline.anyPunctuation,"$1"),title:X&&X.replace(this.rules.inline.anyPunctuation,"$1")},Z[0],this.lexer,this.rules)}}reflink($,Z){let Y;if((Y=this.rules.inline.reflink.exec($))||(Y=this.rules.inline.nolink.exec($))){let J=(Y[2]||Y[1]).replace(this.rules.other.multipleSpaceGlobal," "),X=Z[J.toLowerCase()];if(!X){let K=Y[0].charAt(0);return{type:"text",raw:K,text:K}}return s4(Y,X,Y[0],this.lexer,this.rules)}}emStrong($,Z,Y=""){let J=this.rules.inline.emStrongLDelim.exec($);if(!J||J[3]&&Y.match(this.rules.other.unicodeAlphaNumeric))return;if(!(J[1]||J[2])||!Y||this.rules.inline.punctuation.exec(Y)){let X=[...J[0]].length-1,K,Q,W=X,_=0,O=J[0][0]==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(O.lastIndex=0,Z=Z.slice(-1*$.length+X);(J=O.exec(Z))!=null;){if(K=J[1]||J[2]||J[3]||J[4]||J[5]||J[6],!K)continue;if(Q=[...K].length,J[3]||J[4]){W+=Q;continue}else if((J[5]||J[6])&&X%3&&!((X+Q)%3)){_+=Q;continue}if(W-=Q,W>0)continue;Q=Math.min(Q,Q+W+_);let N=[...J[0]][0].length,U=$.slice(0,X+J.index+N+Q);if(Math.min(X,Q)%2){let L=U.slice(1,-1);return{type:"em",raw:U,text:L,tokens:this.lexer.inlineTokens(L)}}let F=U.slice(2,-2);return{type:"strong",raw:U,text:F,tokens:this.lexer.inlineTokens(F)}}}}codespan($){let Z=this.rules.inline.code.exec($);if(Z){let Y=Z[2].replace(this.rules.other.newLineCharGlobal," "),J=this.rules.other.nonSpaceChar.test(Y),X=this.rules.other.startingSpaceChar.test(Y)&&this.rules.other.endingSpaceChar.test(Y);return J&&X&&(Y=Y.substring(1,Y.length-1)),{type:"codespan",raw:Z[0],text:Y}}}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 Y,J;return Z[2]==="@"?(Y=Z[1],J="mailto:"+Y):(Y=Z[1],J=Y),{type:"link",raw:Z[0],text:Y,href:J,tokens:[{type:"text",raw:Y,text:Y}]}}}url($){let Z;if(Z=this.rules.inline.url.exec($)){let Y,J;if(Z[2]==="@")Y=Z[0],J="mailto:"+Y;else{let X;do X=Z[0],Z[0]=this.rules.inline._backpedal.exec(Z[0])?.[0]??"";while(X!==Z[0]);Y=Z[0],Z[1]==="www."?J="http://"+Z[0]:J=Z[0]}return{type:"link",raw:Z[0],text:Y,href:J,tokens:[{type:"text",raw:Y,text:Y}]}}}inlineText($){let Z=this.rules.inline.text.exec($);if(Z){let Y=this.lexer.state.inRawBlock;return{type:"text",raw:Z[0],text:Z[0],escaped:Y}}}},m1=class ${tokens;options;state;tokenizer;inlineQueue;constructor(Z){this.tokens=[],this.tokens.links=Object.create(null),this.options=Z||T0,this.options.tokenizer=this.options.tokenizer||new b$,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 Y={other:z1,block:M$.normal,inline:$$.normal};this.options.pedantic?(Y.block=M$.pedantic,Y.inline=$$.pedantic):this.options.gfm&&(Y.block=M$.gfm,this.options.breaks?Y.inline=$$.breaks:Y.inline=$$.gfm),this.tokenizer.rules=Y}static get rules(){return{block:M$,inline:$$}}static lex(Z,Y){return new $(Y).lex(Z)}static lexInline(Z,Y){return new $(Y).inlineTokens(Z)}lex(Z){Z=Z.replace(z1.carriageReturn,`
98
- `),this.blockTokens(Z,this.tokens);for(let Y=0;Y<this.inlineQueue.length;Y++){let J=this.inlineQueue[Y];this.inlineTokens(J.src,J.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(Z,Y=[],J=!1){for(this.options.pedantic&&(Z=Z.replace(z1.tabCharGlobal," ").replace(z1.spaceLine,""));Z;){let X;if(this.options.extensions?.block?.some((Q)=>(X=Q.call({lexer:this},Z,Y))?(Z=Z.substring(X.raw.length),Y.push(X),!0):!1))continue;if(X=this.tokenizer.space(Z)){Z=Z.substring(X.raw.length);let Q=Y.at(-1);X.raw.length===1&&Q!==void 0?Q.raw+=`
99
- `:Y.push(X);continue}if(X=this.tokenizer.code(Z)){Z=Z.substring(X.raw.length);let Q=Y.at(-1);Q?.type==="paragraph"||Q?.type==="text"?(Q.raw+=(Q.raw.endsWith(`
93
+ `),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(`
94
+ `),O=G.replace(this.rules.other.blockquoteSetextReplace,`
95
+ $1`).replace(this.rules.other.blockquoteSetextReplace2,"");Y=Y?`${Y}
96
+ ${G}`:G,J=J?`${J}
97
+ ${O}`:O;let H=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTokens(O,W,!0),this.lexer.state.top=H,X.length===0)break;let U=W.at(-1);if(U?.type==="code")break;if(U?.type==="blockquote"){let M=U,A=M.raw+`
98
+ `+X.join(`
99
+ `),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+`
100
+ `+X.join(`
101
+ `),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(`
102
+ `);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 H=Z[2].split(`
103
+ `,1)[0].replace(this.rules.other.listReplaceTabs,(S)=>" ".repeat(3*S.length)),U=$.split(`
104
+ `,1)[0],M=!H.trim(),A=0;if(this.options.pedantic?(A=2,O=H.trimStart()):M?A=Z[1].length+1:(A=Z[2].search(this.rules.other.nonSpaceChar),A=A>4?1:A,O=H.slice(A),A+=Z[1].length),M&&this.rules.other.blankLine.test(U)&&(G+=U+`
105
+ `,$=$.substring(U.length+1),z=!0),!z){let S=this.rules.other.nextBulletRegex(A),T=this.rules.other.hrRegex(A),p=this.rules.other.fencesBeginRegex(A),f=this.rules.other.headingBeginRegex(A),a=this.rules.other.htmlBeginRegex(A);for(;$;){let b=$.split(`
106
+ `,1)[0],_;if(U=b,this.options.pedantic?(U=U.replace(this.rules.other.listReplaceNesting," "),_=U):_=U.replace(this.rules.other.tabCharGlobal," "),p.test(U)||f.test(U)||a.test(U)||S.test(U)||T.test(U))break;if(_.search(this.rules.other.nonSpaceChar)>=A||!U.trim())O+=`
107
+ `+_.slice(A);else{if(M||H.replace(this.rules.other.tabCharGlobal," ").search(this.rules.other.nonSpaceChar)>=4||p.test(H)||f.test(H)||T.test(H))break;O+=`
108
+ `+U}!M&&!U.trim()&&(M=!0),G+=b+`
109
+ `,$=$.substring(b.length+1),H=_.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((H)=>H.type==="space"),O=G.length>0&&G.some((H)=>this.rules.other.anyLine.test(H.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=s7(Z[1]),Y=Z[2].replace(this.rules.other.tableAlignChars,"").split("|"),J=Z[3]?.trim()?Z[3].replace(this.rules.other.tableRowBlankLine,"").split(`
110
+ `):[],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(s7(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)===`
111
+ `?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=wZ(X.slice(0,-1),"\\");if((X.length-W.length)%2===0)return}else{let W=PK(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)),t7(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 t7(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,H=$.slice(0,J+Y.index+O+K);if(Math.min(J,K)%2){let M=H.slice(1,-1);return{type:"em",raw:H,text:M,tokens:this.lexer.inlineTokens(M)}}let U=H.slice(2,-2);return{type:"strong",raw:H,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}}}},h0=class ${tokens;options;state;tokenizer;inlineQueue;constructor(Z){this.tokens=[],this.tokens.links=Object.create(null),this.options=Z||r4,this.options.tokenizer=this.options.tokenizer||new J8,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:e1,block:X8.normal,inline:UZ.normal};this.options.pedantic?(X.block=X8.pedantic,X.inline=UZ.pedantic):this.options.gfm&&(X.block=X8.gfm,this.options.breaks?X.inline=UZ.breaks:X.inline=UZ.gfm),this.tokenizer.rules=X}static get rules(){return{block:X8,inline:UZ}}static lex(Z,X){return new $(X).lex(Z)}static lexInline(Z,X){return new $(X).inlineTokens(Z)}lex(Z){Z=Z.replace(e1.carriageReturn,`
112
+ `),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(e1.tabCharGlobal," ").replace(e1.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+=`
113
+ `: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
114
  `)?"":`
101
- `)+X.raw,Q.text+=`
102
- `+X.text,this.inlineQueue.at(-1).src=Q.text):Y.push(X);continue}if(X=this.tokenizer.fences(Z)){Z=Z.substring(X.raw.length),Y.push(X);continue}if(X=this.tokenizer.heading(Z)){Z=Z.substring(X.raw.length),Y.push(X);continue}if(X=this.tokenizer.hr(Z)){Z=Z.substring(X.raw.length),Y.push(X);continue}if(X=this.tokenizer.blockquote(Z)){Z=Z.substring(X.raw.length),Y.push(X);continue}if(X=this.tokenizer.list(Z)){Z=Z.substring(X.raw.length),Y.push(X);continue}if(X=this.tokenizer.html(Z)){Z=Z.substring(X.raw.length),Y.push(X);continue}if(X=this.tokenizer.def(Z)){Z=Z.substring(X.raw.length);let Q=Y.at(-1);Q?.type==="paragraph"||Q?.type==="text"?(Q.raw+=(Q.raw.endsWith(`
115
+ `)+J.raw,K.text+=`
116
+ `+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
117
  `)?"":`
104
- `)+X.raw,Q.text+=`
105
- `+X.raw,this.inlineQueue.at(-1).src=Q.text):this.tokens.links[X.tag]||(this.tokens.links[X.tag]={href:X.href,title:X.title},Y.push(X));continue}if(X=this.tokenizer.table(Z)){Z=Z.substring(X.raw.length),Y.push(X);continue}if(X=this.tokenizer.lheading(Z)){Z=Z.substring(X.raw.length),Y.push(X);continue}let K=Z;if(this.options.extensions?.startBlock){let Q=1/0,W=Z.slice(1),_;this.options.extensions.startBlock.forEach((O)=>{_=O.call({lexer:this},W),typeof _=="number"&&_>=0&&(Q=Math.min(Q,_))}),Q<1/0&&Q>=0&&(K=Z.substring(0,Q+1))}if(this.state.top&&(X=this.tokenizer.paragraph(K))){let Q=Y.at(-1);J&&Q?.type==="paragraph"?(Q.raw+=(Q.raw.endsWith(`
118
+ `)+J.raw,K.text+=`
119
+ `+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
120
  `)?"":`
107
- `)+X.raw,Q.text+=`
108
- `+X.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=Q.text):Y.push(X),J=K.length!==Z.length,Z=Z.substring(X.raw.length);continue}if(X=this.tokenizer.text(Z)){Z=Z.substring(X.raw.length);let Q=Y.at(-1);Q?.type==="text"?(Q.raw+=(Q.raw.endsWith(`
121
+ `)+J.raw,K.text+=`
122
+ `+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
123
  `)?"":`
110
- `)+X.raw,Q.text+=`
111
- `+X.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=Q.text):Y.push(X);continue}if(Z){let Q="Infinite loop on byte: "+Z.charCodeAt(0);if(this.options.silent){console.error(Q);break}else throw Error(Q)}}return this.state.top=!0,Y}inline(Z,Y=[]){return this.inlineQueue.push({src:Z,tokens:Y}),Y}inlineTokens(Z,Y=[]){let J=Z,X=null;if(this.tokens.links){let _=Object.keys(this.tokens.links);if(_.length>0)for(;(X=this.tokenizer.rules.inline.reflinkSearch.exec(J))!=null;)_.includes(X[0].slice(X[0].lastIndexOf("[")+1,-1))&&(J=J.slice(0,X.index)+"["+"a".repeat(X[0].length-2)+"]"+J.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(X=this.tokenizer.rules.inline.anyPunctuation.exec(J))!=null;)J=J.slice(0,X.index)+"++"+J.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);let K;for(;(X=this.tokenizer.rules.inline.blockSkip.exec(J))!=null;)K=X[2]?X[2].length:0,J=J.slice(0,X.index+K)+"["+"a".repeat(X[0].length-K-2)+"]"+J.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);J=this.options.hooks?.emStrongMask?.call({lexer:this},J)??J;let Q=!1,W="";for(;Z;){Q||(W=""),Q=!1;let _;if(this.options.extensions?.inline?.some((N)=>(_=N.call({lexer:this},Z,Y))?(Z=Z.substring(_.raw.length),Y.push(_),!0):!1))continue;if(_=this.tokenizer.escape(Z)){Z=Z.substring(_.raw.length),Y.push(_);continue}if(_=this.tokenizer.tag(Z)){Z=Z.substring(_.raw.length),Y.push(_);continue}if(_=this.tokenizer.link(Z)){Z=Z.substring(_.raw.length),Y.push(_);continue}if(_=this.tokenizer.reflink(Z,this.tokens.links)){Z=Z.substring(_.raw.length);let N=Y.at(-1);_.type==="text"&&N?.type==="text"?(N.raw+=_.raw,N.text+=_.text):Y.push(_);continue}if(_=this.tokenizer.emStrong(Z,J,W)){Z=Z.substring(_.raw.length),Y.push(_);continue}if(_=this.tokenizer.codespan(Z)){Z=Z.substring(_.raw.length),Y.push(_);continue}if(_=this.tokenizer.br(Z)){Z=Z.substring(_.raw.length),Y.push(_);continue}if(_=this.tokenizer.del(Z)){Z=Z.substring(_.raw.length),Y.push(_);continue}if(_=this.tokenizer.autolink(Z)){Z=Z.substring(_.raw.length),Y.push(_);continue}if(!this.state.inLink&&(_=this.tokenizer.url(Z))){Z=Z.substring(_.raw.length),Y.push(_);continue}let O=Z;if(this.options.extensions?.startInline){let N=1/0,U=Z.slice(1),F;this.options.extensions.startInline.forEach((L)=>{F=L.call({lexer:this},U),typeof F=="number"&&F>=0&&(N=Math.min(N,F))}),N<1/0&&N>=0&&(O=Z.substring(0,N+1))}if(_=this.tokenizer.inlineText(O)){Z=Z.substring(_.raw.length),_.raw.slice(-1)!=="_"&&(W=_.raw.slice(-1)),Q=!0;let N=Y.at(-1);N?.type==="text"?(N.raw+=_.raw,N.text+=_.text):Y.push(_);continue}if(Z){let N="Infinite loop on byte: "+Z.charCodeAt(0);if(this.options.silent){console.error(N);break}else throw Error(N)}}return Y}},B$=class{options;parser;constructor($){this.options=$||T0}space($){return""}code({text:$,lang:Z,escaped:Y}){let J=(Z||"").match(z1.notSpaceStart)?.[0],X=$.replace(z1.endingNewline,"")+`
112
- `;return J?'<pre><code class="language-'+e1(J)+'">'+(Y?X:e1(X,!0))+`</code></pre>
113
- `:"<pre><code>"+(Y?X:e1(X,!0))+`</code></pre>
124
+ `)+J.raw,K.text+=`
125
+ `+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,H=Z.slice(1),U;this.options.extensions.startInline.forEach((M)=>{U=M.call({lexer:this},H),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}},W8=class{options;parser;constructor($){this.options=$||r4}space($){return""}code({text:$,lang:Z,escaped:X}){let Y=(Z||"").match(e1.notSpaceStart)?.[0],J=$.replace(e1.endingNewline,"")+`
126
+ `;return Y?'<pre><code class="language-'+a0(Y)+'">'+(X?J:a0(J,!0))+`</code></pre>
127
+ `:"<pre><code>"+(X?J:a0(J,!0))+`</code></pre>
114
128
  `}blockquote({tokens:$}){return`<blockquote>
115
129
  ${this.parser.parse($)}</blockquote>
116
130
  `}html({text:$}){return $}def($){return""}heading({tokens:$,depth:Z}){return`<h${Z}>${this.parser.parseInline($)}</h${Z}>
117
131
  `}hr($){return`<hr>
118
- `}list($){let{ordered:Z,start:Y}=$,J="";for(let Q=0;Q<$.items.length;Q++){let W=$.items[Q];J+=this.listitem(W)}let X=Z?"ol":"ul",K=Z&&Y!==1?' start="'+Y+'"':"";return"<"+X+K+`>
119
- `+J+"</"+X+`>
120
- `}listitem($){let Z="";if($.task){let Y=this.checkbox({checked:!!$.checked});$.loose?$.tokens[0]?.type==="paragraph"?($.tokens[0].text=Y+" "+$.tokens[0].text,$.tokens[0].tokens&&$.tokens[0].tokens.length>0&&$.tokens[0].tokens[0].type==="text"&&($.tokens[0].tokens[0].text=Y+" "+e1($.tokens[0].tokens[0].text),$.tokens[0].tokens[0].escaped=!0)):$.tokens.unshift({type:"text",raw:Y+" ",text:Y+" ",escaped:!0}):Z+=Y+" "}return Z+=this.parser.parse($.tokens,!!$.loose),`<li>${Z}</li>
132
+ `}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+`>
133
+ `+Y+"</"+J+`>
134
+ `}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+" "+a0($.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
135
  `}checkbox({checked:$}){return"<input "+($?'checked="" ':"")+'disabled="" type="checkbox">'}paragraph({tokens:$}){return`<p>${this.parser.parseInline($)}</p>
122
- `}table($){let Z="",Y="";for(let X=0;X<$.header.length;X++)Y+=this.tablecell($.header[X]);Z+=this.tablerow({text:Y});let J="";for(let X=0;X<$.rows.length;X++){let K=$.rows[X];Y="";for(let Q=0;Q<K.length;Q++)Y+=this.tablecell(K[Q]);J+=this.tablerow({text:Y})}return J&&(J=`<tbody>${J}</tbody>`),`<table>
136
+ `}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
137
  <thead>
124
138
  `+Z+`</thead>
125
- `+J+`</table>
139
+ `+Y+`</table>
126
140
  `}tablerow({text:$}){return`<tr>
127
141
  ${$}</tr>
128
- `}tablecell($){let Z=this.parser.parseInline($.tokens),Y=$.header?"th":"td";return($.align?`<${Y} align="${$.align}">`:`<${Y}>`)+Z+`</${Y}>
129
- `}strong({tokens:$}){return`<strong>${this.parser.parseInline($)}</strong>`}em({tokens:$}){return`<em>${this.parser.parseInline($)}</em>`}codespan({text:$}){return`<code>${e1($,!0)}</code>`}br($){return"<br>"}del({tokens:$}){return`<del>${this.parser.parseInline($)}</del>`}link({href:$,title:Z,tokens:Y}){let J=this.parser.parseInline(Y),X=n4($);if(X===null)return J;$=X;let K='<a href="'+$+'"';return Z&&(K+=' title="'+e1(Z)+'"'),K+=">"+J+"</a>",K}image({href:$,title:Z,text:Y,tokens:J}){J&&(Y=this.parser.parseInline(J,this.parser.textRenderer));let X=n4($);if(X===null)return e1(Y);$=X;let K=`<img src="${$}" alt="${Y}"`;return Z&&(K+=` title="${e1(Z)}"`),K+=">",K}text($){return"tokens"in $&&$.tokens?this.parser.parseInline($.tokens):("escaped"in $)&&$.escaped?$.text:e1($.text)}},H6=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""}},c1=class ${options;renderer;textRenderer;constructor(Z){this.options=Z||T0,this.options.renderer=this.options.renderer||new B$,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new H6}static parse(Z,Y){return new $(Y).parse(Z)}static parseInline(Z,Y){return new $(Y).parseInline(Z)}parse(Z,Y=!0){let J="";for(let X=0;X<Z.length;X++){let K=Z[X];if(this.options.extensions?.renderers?.[K.type]){let W=K,_=this.options.extensions.renderers[W.type].call({parser:this},W);if(_!==!1||!["space","hr","heading","code","table","blockquote","list","html","def","paragraph","text"].includes(W.type)){J+=_||"";continue}}let Q=K;switch(Q.type){case"space":{J+=this.renderer.space(Q);continue}case"hr":{J+=this.renderer.hr(Q);continue}case"heading":{J+=this.renderer.heading(Q);continue}case"code":{J+=this.renderer.code(Q);continue}case"table":{J+=this.renderer.table(Q);continue}case"blockquote":{J+=this.renderer.blockquote(Q);continue}case"list":{J+=this.renderer.list(Q);continue}case"html":{J+=this.renderer.html(Q);continue}case"def":{J+=this.renderer.def(Q);continue}case"paragraph":{J+=this.renderer.paragraph(Q);continue}case"text":{let W=Q,_=this.renderer.text(W);for(;X+1<Z.length&&Z[X+1].type==="text";)W=Z[++X],_+=`
130
- `+this.renderer.text(W);Y?J+=this.renderer.paragraph({type:"paragraph",raw:_,text:_,tokens:[{type:"text",raw:_,text:_,escaped:!0}]}):J+=_;continue}default:{let W='Token with "'+Q.type+'" type was not found.';if(this.options.silent)return console.error(W),"";throw Error(W)}}}return J}parseInline(Z,Y=this.renderer){let J="";for(let X=0;X<Z.length;X++){let K=Z[X];if(this.options.extensions?.renderers?.[K.type]){let W=this.options.extensions.renderers[K.type].call({parser:this},K);if(W!==!1||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(K.type)){J+=W||"";continue}}let Q=K;switch(Q.type){case"escape":{J+=Y.text(Q);break}case"html":{J+=Y.html(Q);break}case"link":{J+=Y.link(Q);break}case"image":{J+=Y.image(Q);break}case"strong":{J+=Y.strong(Q);break}case"em":{J+=Y.em(Q);break}case"codespan":{J+=Y.codespan(Q);break}case"br":{J+=Y.br(Q);break}case"del":{J+=Y.del(Q);break}case"text":{J+=Y.text(Q);break}default:{let W='Token with "'+Q.type+'" type was not found.';if(this.options.silent)return console.error(W),"";throw Error(W)}}}return J}},Y$=class{options;block;constructor($){this.options=$||T0}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?m1.lex:m1.lexInline}provideParser(){return this.block?c1.parse:c1.parseInline}},cY=class{defaults=Q6();options=this.setOptions;parse=this.parseMarkdown(!0);parseInline=this.parseMarkdown(!1);Parser=c1;Renderer=B$;TextRenderer=H6;Lexer=m1;Tokenizer=b$;Hooks=Y$;constructor(...$){this.use(...$)}walkTokens($,Z){let Y=[];for(let J of $)switch(Y=Y.concat(Z.call(this,J)),J.type){case"table":{let X=J;for(let K of X.header)Y=Y.concat(this.walkTokens(K.tokens,Z));for(let K of X.rows)for(let Q of K)Y=Y.concat(this.walkTokens(Q.tokens,Z));break}case"list":{let X=J;Y=Y.concat(this.walkTokens(X.items,Z));break}default:{let X=J;this.defaults.extensions?.childTokens?.[X.type]?this.defaults.extensions.childTokens[X.type].forEach((K)=>{let Q=X[K].flat(1/0);Y=Y.concat(this.walkTokens(Q,Z))}):X.tokens&&(Y=Y.concat(this.walkTokens(X.tokens,Z)))}}return Y}use(...$){let Z=this.defaults.extensions||{renderers:{},childTokens:{}};return $.forEach((Y)=>{let J={...Y};if(J.async=this.defaults.async||J.async||!1,Y.extensions&&(Y.extensions.forEach((X)=>{if(!X.name)throw Error("extension name required");if("renderer"in X){let K=Z.renderers[X.name];K?Z.renderers[X.name]=function(...Q){let W=X.renderer.apply(this,Q);return W===!1&&(W=K.apply(this,Q)),W}:Z.renderers[X.name]=X.renderer}if("tokenizer"in X){if(!X.level||X.level!=="block"&&X.level!=="inline")throw Error("extension level must be 'block' or 'inline'");let K=Z[X.level];K?K.unshift(X.tokenizer):Z[X.level]=[X.tokenizer],X.start&&(X.level==="block"?Z.startBlock?Z.startBlock.push(X.start):Z.startBlock=[X.start]:X.level==="inline"&&(Z.startInline?Z.startInline.push(X.start):Z.startInline=[X.start]))}"childTokens"in X&&X.childTokens&&(Z.childTokens[X.name]=X.childTokens)}),J.extensions=Z),Y.renderer){let X=this.defaults.renderer||new B$(this.defaults);for(let K in Y.renderer){if(!(K in X))throw Error(`renderer '${K}' does not exist`);if(["options","parser"].includes(K))continue;let Q=K,W=Y.renderer[Q],_=X[Q];X[Q]=(...O)=>{let N=W.apply(X,O);return N===!1&&(N=_.apply(X,O)),N||""}}J.renderer=X}if(Y.tokenizer){let X=this.defaults.tokenizer||new b$(this.defaults);for(let K in Y.tokenizer){if(!(K in X))throw Error(`tokenizer '${K}' does not exist`);if(["options","rules","lexer"].includes(K))continue;let Q=K,W=Y.tokenizer[Q],_=X[Q];X[Q]=(...O)=>{let N=W.apply(X,O);return N===!1&&(N=_.apply(X,O)),N}}J.tokenizer=X}if(Y.hooks){let X=this.defaults.hooks||new Y$;for(let K in Y.hooks){if(!(K in X))throw Error(`hook '${K}' does not exist`);if(["options","block"].includes(K))continue;let Q=K,W=Y.hooks[Q],_=X[Q];Y$.passThroughHooks.has(K)?X[Q]=(O)=>{if(this.defaults.async&&Y$.passThroughHooksRespectAsync.has(K))return(async()=>{let U=await W.call(X,O);return _.call(X,U)})();let N=W.call(X,O);return _.call(X,N)}:X[Q]=(...O)=>{if(this.defaults.async)return(async()=>{let U=await W.apply(X,O);return U===!1&&(U=await _.apply(X,O)),U})();let N=W.apply(X,O);return N===!1&&(N=_.apply(X,O)),N}}J.hooks=X}if(Y.walkTokens){let X=this.defaults.walkTokens,K=Y.walkTokens;J.walkTokens=function(Q){let W=[];return W.push(K.call(this,Q)),X&&(W=W.concat(X.call(this,Q))),W}}this.defaults={...this.defaults,...J}}),this}setOptions($){return this.defaults={...this.defaults,...$},this}lexer($,Z){return m1.lex($,Z??this.defaults)}parser($,Z){return c1.parse($,Z??this.defaults)}parseMarkdown($){return(Z,Y)=>{let J={...Y},X={...this.defaults,...J},K=this.onError(!!X.silent,!!X.async);if(this.defaults.async===!0&&J.async===!1)return K(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 K(Error("marked(): input parameter is undefined or null"));if(typeof Z!="string")return K(Error("marked(): input parameter is of type "+Object.prototype.toString.call(Z)+", string expected"));if(X.hooks&&(X.hooks.options=X,X.hooks.block=$),X.async)return(async()=>{let Q=X.hooks?await X.hooks.preprocess(Z):Z,W=await(X.hooks?await X.hooks.provideLexer():$?m1.lex:m1.lexInline)(Q,X),_=X.hooks?await X.hooks.processAllTokens(W):W;X.walkTokens&&await Promise.all(this.walkTokens(_,X.walkTokens));let O=await(X.hooks?await X.hooks.provideParser():$?c1.parse:c1.parseInline)(_,X);return X.hooks?await X.hooks.postprocess(O):O})().catch(K);try{X.hooks&&(Z=X.hooks.preprocess(Z));let Q=(X.hooks?X.hooks.provideLexer():$?m1.lex:m1.lexInline)(Z,X);X.hooks&&(Q=X.hooks.processAllTokens(Q)),X.walkTokens&&this.walkTokens(Q,X.walkTokens);let W=(X.hooks?X.hooks.provideParser():$?c1.parse:c1.parseInline)(Q,X);return X.hooks&&(W=X.hooks.postprocess(W)),W}catch(Q){return K(Q)}}}onError($,Z){return(Y)=>{if(Y.message+=`
131
- Please report this to https://github.com/markedjs/marked.`,$){let J="<p>An error occurred:</p><pre>"+e1(Y.message+"",!0)+"</pre>";return Z?Promise.resolve(J):J}if(Z)return Promise.reject(Y);throw Y}}},y0=new cY;function p($,Z){return y0.parse($,Z)}p.options=p.setOptions=function($){return y0.setOptions($),p.defaults=y0.defaults,t4(p.defaults),p};p.getDefaults=Q6;p.defaults=T0;p.use=function(...$){return y0.use(...$),p.defaults=y0.defaults,t4(p.defaults),p};p.walkTokens=function($,Z){return y0.walkTokens($,Z)};p.parseInline=y0.parseInline;p.Parser=c1;p.parser=c1.parse;p.Renderer=B$;p.TextRenderer=H6;p.Lexer=m1;p.lexer=m1.lex;p.Tokenizer=b$;p.Hooks=Y$;p.parse=p;var{options:PQ,setOptions:fQ,use:CQ,walkTokens:vQ,parseInline:SQ}=p;var IQ=c1.parse,kQ=m1.lex;var D0=A(D(),1),H1={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}},xY=["color","backgroundColor","dimColor","bold","italic","underline","strikethrough","inverse","wrap"],dY=["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 R1($){if(!$)return{};let Z={};for(let Y of xY)if(Y in $)Z[Y]=$[Y];return Z}function _0($){if(!$)return{};let Z={};for(let Y of dY)if(Y in $)Z[Y]=$[Y];return Z}function F1($,Z){if(!$&&!Z)return{};if(!$)return Z;if(!Z)return $;return{...$,...Z}}function f1($,Z,Y){if(!$||$.length===0)return null;return $.map((J,X)=>{let K=`inline-${X}`;switch(J.type){case"text":case"escape":{let Q=J;if("tokens"in Q&&Q.tokens)return B.jsx(G,{children:f1(Q.tokens,Z,Y)},K);return B.jsx(G,{children:Q.text},K)}case"strong":{let Q=J,W=F1(H1.strong,Z.strong);if(Y.strong)return B.jsx(G,{children:Y.strong(f1(Q.tokens,Z,Y),Q)},K);return B.jsx(G,{...R1(W),children:f1(Q.tokens,Z,Y)},K)}case"em":{let Q=J,W=F1(H1.em,Z.em);if(Y.em)return B.jsx(G,{children:Y.em(f1(Q.tokens,Z,Y),Q)},K);return B.jsx(G,{...R1(W),children:f1(Q.tokens,Z,Y)},K)}case"del":{let Q=J,W=F1(H1.del,Z.del);if(Y.del)return B.jsx(G,{children:Y.del(f1(Q.tokens,Z,Y),Q)},K);return B.jsx(G,{...R1(W),children:f1(Q.tokens,Z,Y)},K)}case"codespan":{let Q=J,W=F1(H1.codespan,Z.codespan);if(Y.codespan)return B.jsx(G,{children:Y.codespan(Q.text,Q)},K);return B.jsx(G,{...R1(W),children:Q.text},K)}case"link":{let Q=J,W=F1(H1.link,Z.link);if(Y.link)return B.jsx(G,{children:Y.link(Q.text,Q.href,Q.title,Q)},K);return B.jsxs(G,{...R1(W),children:[Q.text,Q.href&&` (${Q.href})`]},K)}case"image":{let Q=J,W=F1(H1.image,Z.image);if(Y.image)return B.jsx(G,{children:Y.image(Q.text,Q.href,Q.title,Q)},K);return B.jsxs(G,{...R1(W),children:["[Image: ",Q.text||Q.href,"]"]},K)}case"br":return B.jsx(G,{children:`
132
- `},K);default:if("text"in J)return B.jsx(G,{children:J.text},K);return null}})}function G3($,Z,Y,J){switch($.type){case"heading":{let X=$,K=`h${X.depth}`,Q=`h${X.depth}`,W=Y[K];if(W)return W(X.text,X);let _=F1(H1[Q],Z[Q]),O=typeof _.showSharp=="boolean"?_.showSharp:Boolean(J);return B.jsx(z,{..._0(_),children:B.jsxs(G,{...R1(_),children:[O&&`${"#".repeat(X.depth)} `,f1(X.tokens,Z,Y)]})})}case"paragraph":{let X=$,K=F1(H1.paragraph,Z.paragraph),Q=f1(X.tokens,Z,Y);if(Y.paragraph)return Y.paragraph(Q,X);return B.jsx(z,{..._0(K),children:B.jsx(G,{...R1(K),children:Q})})}case"code":{let X=$,K=F1(H1.code,Z.code);if(Y.code)return Y.code(X.text,X.lang,X);return B.jsx(z,{..._0(K),children:B.jsx(G,{...R1(K),children:X.text})})}case"blockquote":{let X=$,K=F1(H1.blockquote,Z.blockquote);if(Y.blockquote){let Q=X.tokens.map((W,_)=>B.jsx(z,{children:G3(W,Z,Y,J)},`bq-${_}`));return Y.blockquote(Q,X)}return B.jsx(z,{..._0(K),children:B.jsx(z,{flexDirection:"column",children:X.tokens.map((Q,W)=>B.jsx(G,{...R1(K),children:Q.type==="paragraph"?f1(Q.tokens,Z,Y):Q.text||""},`bq-text-${W}`))})})}case"list":{let X=$,K=F1(H1.list,Z.list),Q=F1(H1.listItem,Z.listItem),W=Q.bullet||"●",_=X.items.map((O,N)=>{let U=typeof X.start=="number"?X.start:1,F=X.ordered?`${U+N}. `:`${W} `,L=f1(O.tokens,Z,Y);if(Y.listItem)return B.jsx(z,{..._0(Q),children:Y.listItem(L,O)},`li-${N}`);return B.jsx(z,{..._0(Q),children:B.jsxs(G,{...R1(Q),children:[F,L]})},`li-${N}`)});if(Y.list)return Y.list(_,X.ordered,X);return B.jsx(z,{flexDirection:"column",..._0(K),children:_})}case"hr":{let X=$,K=F1(H1.hr,Z.hr),Q=K.char||"─",W=K.width||40;if(Y.hr)return Y.hr(X);return B.jsx(z,{..._0(K),children:B.jsx(G,{...R1(K),children:Q.repeat(W)})})}case"table":{let X=$,K=F1(H1.table,Z.table),Q=F1(H1.tableCell,Z.tableCell),W=(w)=>w.map((R)=>{if("text"in R)return R.text;return""}).join(""),_=X.header.map((w,R)=>{let P=W(w.tokens).length,S=Math.max(...X.rows.map((u)=>{let m=u[R]?.tokens;return m?W(m).length:0}),0);return Math.max(P,S,3)}),O=B.jsxs(G,{dimColor:!0,children:["┌─",_.map((w)=>"─".repeat(w)).join("─┬─"),"─┐"]}),N=B.jsxs(G,{children:[B.jsx(G,{dimColor:!0,children:"│ "}),X.header.map((w,R)=>{let P=f1(w.tokens,Z,Y),S=W(w.tokens);return B.jsxs(G,{children:[B.jsxs(G,{bold:!0,...R1(Q),children:[P," ".repeat(Math.max(0,(_[R]||3)-S.length))]}),B.jsxs(G,{dimColor:!0,children:[" ","│",R<X.header.length-1?" ":""]})]},`th-${R}`)})]}),U=B.jsxs(G,{dimColor:!0,children:["├─",_.map((w)=>"─".repeat(w)).join("─┼─"),"─┤"]}),F=X.rows.map((w,R)=>B.jsxs(G,{children:[B.jsx(G,{dimColor:!0,children:"│ "}),w.map((P,S)=>{let u=f1(P.tokens,Z,Y),m=W(P.tokens),t=_[S]||3;return B.jsxs(G,{children:[B.jsxs(G,{...R1(Q),children:[u," ".repeat(Math.max(0,t-m.length))]}),B.jsxs(G,{dimColor:!0,children:[" │",S<w.length-1?" ":""]})]},`td-${R}-${S}`)})]},`tr-${R}`)),L=B.jsxs(G,{dimColor:!0,children:["└─",_.map((w)=>"─".repeat(w)).join("─┴─"),"─┘"]}),q=B.jsxs(B.Fragment,{children:[O,N,U,F,L]});if(Y.table)return Y.table(N,F,X);return B.jsx(z,{flexDirection:"column",..._0(K),children:q})}case"space":return B.jsx(G,{children:`
133
- `});case"html":return B.jsx(G,{dimColor:!0,children:$.text});default:if("text"in $)return B.jsx(G,{children:$.text});return null}}var O3=D0.memo(function({token:$,styles:Z,renderers:Y,showSharp:J}){return B.jsx(B.Fragment,{children:G3($,Z,Y,J)})},($,Z)=>$.token===Z.token);O3.displayName="MemoizedBlock";function lY({children:$,id:Z,styles:Y={},renderers:J={},showSharp:X=!1}){let K=D0.useId(),Q=Z||K,W=D0.useMemo(()=>p.lexer($,{silent:!0,gfm:!0}),[$]);return B.jsx(z,{flexDirection:"column",children:W.map((_,O)=>B.jsx(O3,{token:_,styles:Y,renderers:J,showSharp:X},`${Q}-block-${O}`))})}var U3=D0.memo(lY);U3.displayName="Markdown";var iY=U3,N3=iY;var z3=A(D(),1);var K$=A(M(),1),H3=({children:$,color:Z,dim:Y,bold:J,italic:X})=>{let K=z3.useMemo(()=>{return $.split(`
134
- `).map((Q)=>Q===""?`
135
- `:Q)},[$]);return K$.jsxDEV(K$.Fragment,{children:K.map((Q,W)=>K$.jsxDEV(G,{color:Z,dimColor:Y,bold:J,italic:X,children:Q},W,!1,void 0,this))},void 0,!1,void 0,this)};var C$=A(D(),1),F6=A(M(),1),oY=($,Z,Y=5)=>{if(!Z||!$||$.trim()==="")return $;let J=$.split(`
136
- `);if(J.length<=Y)return $;let X=J.length-Y,K=J.slice(-Y);return`\x1B[33m${X} rows hidden...\x1B[0m
137
- ${K.join(`
138
- `)}`},rY=({children:$,simple:Z,loading:Y,maxRows:J=5})=>{let X=C$.useMemo(()=>{return oY($,Y,J)},[$,Y,J]);if(Z)return F6.jsxDEV(H3,{children:X},void 0,!1,void 0,this);return F6.jsxDEV(N3,{children:X},void 0,!1,void 0,this)},F3=C$.memo(rY);var C1=A(M(),1),nY=({message:$,messageNumber:Z,loading:Y})=>{let X=_4($),K=g0($);if(!K)return C1.jsxDEV(C1.Fragment,{},void 0,!1,void 0,this);return C1.jsxDEV(z,{flexDirection:"column",children:[C1.jsxDEV(z,{paddingBottom:0,marginBottom:1,children:C1.jsxDEV(G,{color:S0("teal"),children:[Z," ","Zen Code"]},void 0,!0,void 0,this)},void 0,!1,void 0,this),X&&C1.jsxDEV(aY,{thinking:X,visible:K.trim().length===0},void 0,!1,void 0,this),C1.jsxDEV(F3,{simple:!1,loading:Y,children:K},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},aY=({thinking:$,visible:Z})=>{let Y=$.split(`
139
- `);return C1.jsxDEV(z,{flexDirection:"column",marginBottom:1,children:[C1.jsxDEV(z,{paddingBottom:0,children:C1.jsxDEV(G,{color:"gray",bold:!0,children:["Think ",Y.length," rows"]},void 0,!0,void 0,this)},void 0,!1,void 0,this),Z&&C1.jsxDEV(L3,{content:$,maxLines:3},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},v$=nY;var q3=A(D(),1);var C=A(M(),1),A3=["yellow","magenta","blue"],sY=($)=>{let Z=0;for(let J=0;J<$.length;J++)Z=$.charCodeAt(J)+((Z<<5)-Z);let Y=Math.abs(Z%A3.length);return A3[Y]},tY=($)=>{return{success:"✓",completed:"✓",ok:"✓",error:"✗",failed:"✗",pending:"⏳",in_progress:"⏳",running:"⏳",cancelled:"⏹"}[$]||"⏳"},eY=($,Z=4,Y=100)=>{let J=$.split(`
140
- `),X=(W)=>{if(W.length<=Y)return W;return W.substring(0,Y)+`... (${W.length-Y} more chars)`};if(J.length<=Z)return J.map(X).join(`
141
- `);let K=J.slice(0,2).map(X),Q=J.slice(J.length-3).map(X);return[...K,`... and more ${J.length-5} lines`,...Q].join(`
142
- `)},$5=({content:$})=>{let Z=(Y,J=0,X=0)=>{let Q=" ".repeat(J);if(X>=3)return C.jsxDEV(G,{dimColor:!0,children:"{...} (truncated)"},void 0,!1,void 0,this);if(Y===null)return C.jsxDEV(G,{color:"gray",children:"null"},void 0,!1,void 0,this);if(typeof Y!=="object"){let O=JSON.stringify(Y);if(typeof Y==="string"&&O.length>102){let N=O.substring(1,101);return C.jsxDEV(G,{children:[C.jsxDEV(G,{color:"cyan",children:['"',N,'..."']},void 0,!0,void 0,this)," ",C.jsxDEV(G,{dimColor:!0,children:["(truncated, ",O.length-2," chars)"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}if(typeof Y==="string")return C.jsxDEV(G,{color:"cyan",children:O},void 0,!1,void 0,this);else if(typeof Y==="number")return C.jsxDEV(G,{color:"yellow",children:Y},void 0,!1,void 0,this);else if(typeof Y==="boolean")return C.jsxDEV(G,{color:"magenta",children:Y.toString()},void 0,!1,void 0,this);else return C.jsxDEV(G,{children:O},void 0,!1,void 0,this)}if(Array.isArray(Y)){if(Y.length===0)return C.jsxDEV(G,{color:"gray",children:"[]"},void 0,!1,void 0,this);let O=5;return C.jsxDEV(C.Fragment,{children:[`
143
- `,Y.slice(0,O).map((N,U)=>C.jsxDEV(G,{children:[C.jsxDEV(G,{children:Q},void 0,!1,void 0,this),C.jsxDEV(G,{color:"green",children:"- "},void 0,!1,void 0,this)," ",Z(N,J+1,X+1),U<Math.min(Y.length,O)-1?`
144
- `:""]},void 0,!0,void 0,this)),Y.length>O&&C.jsxDEV(G,{children:[`
145
- `,C.jsxDEV(G,{children:Q},void 0,!1,void 0,this),C.jsxDEV(G,{dimColor:!0,children:["... (",Y.length-O," more)"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)}let W=Object.keys(Y);if(W.length===0)return C.jsxDEV(G,{color:"gray"},void 0,!1,void 0,this);let _=5;return C.jsxDEV(C.Fragment,{children:[W.slice(0,_).map((O,N)=>C.jsxDEV(G,{children:[C.jsxDEV(G,{children:Q},void 0,!1,void 0,this),C.jsxDEV(G,{color:"blue",children:O},void 0,!1,void 0,this)," ",C.jsxDEV(G,{color:"gray",children:": "},void 0,!1,void 0,this)," ",Z(Y[O],J+1,X+1),N<Math.min(W.length,_)-1?`
146
- `:""]},void 0,!0,void 0,this)),W.length>_&&C.jsxDEV(G,{children:[`
147
- `,C.jsxDEV(G,{children:Q},void 0,!1,void 0,this),C.jsxDEV(G,{dimColor:!0,children:["... (",W.length-_," more)"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)};return C.jsxDEV(G,{children:Z($)},void 0,!1,void 0,this)},Z5=({message:$,messageNumber:Z})=>{let{getToolUIRender:Y,client:J}=$1(),X=new a$($,J),K=X.getInputRepaired(),Q=K?.title?`: ${K.title}`:K?.description?`: ${K.description}`:"",W=$.name?Y($.name):null,_=sY($.name||"");return _=$.status==="error"?"red":"yellow",q3.default.useEffect(()=>{if($.status==="error"&&$.name)import("./chunk-ns6tjjkq.js").then(({logToolError:O,logTerminalError:N,logAgentError:U})=>{let F=L6($.content),L=typeof F==="string"?F:JSON.stringify(F);if($.name==="terminal"){let q=K?.command||"unknown";N(q,L)}else if($.name.startsWith("Agent:"))U($.name,L);else O($.name,L)}).catch((O)=>{console.warn("Failed to log error:",O)})},[$.status,$.name,$.content,K?.command]),C.jsxDEV(g,{children:C.jsxDEV(z,{flexDirection:"column",children:[C.jsxDEV(z,{children:[C.jsxDEV(G,{color:_,children:[Z," ",$.name,C.jsxDEV(G,{color:"gray",children:Q},void 0,!1,void 0,this)]},void 0,!0,void 0,this),C.jsxDEV(G,{children:[" ",tY($?.status)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),W?C.jsxDEV(z,{children:[C.jsxDEV(G,{color:"gray",children:"└─ "},void 0,!1,void 0,this),C.jsxDEV(z,{flexDirection:"column",children:W($)},void 0,!1,void 0,this)]},void 0,!0,void 0,this):C.jsxDEV(z,{flexDirection:"column",paddingTop:0,children:[C.jsxDEV(z,{children:[C.jsxDEV(G,{color:"gray",children:"└─ "},void 0,!1,void 0,this),C.jsxDEV($5,{content:X.getInputRepaired()},void 0,!1,void 0,this)]},void 0,!0,void 0,this),C.jsxDEV(z,{paddingTop:0,paddingBottom:0,children:[C.jsxDEV(G,{color:"gray",children:"└─ "},void 0,!1,void 0,this),C.jsxDEV(G,{dimColor:!0,italic:!0,children:eY(L6($.content))},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),$.sub_messages?.length?C.jsxDEV(z,{children:[C.jsxDEV(G,{color:"gray",children:"└─ "},void 0,!1,void 0,this),C.jsxDEV(G,{color:_,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)},w3=Z5;var w0=A(M(),1),M3=I$.memo(function({renderMessages:Z,startIndex:Y,staticKey:J,loading:X}){let[K,Q]=I$.useState(!1);B1(()=>Q(!0),K?null:0);let W=(U,F,L,q)=>w0.jsxDEV(z,{flexDirection:"column",paddingLeft:1,paddingBottom:1,children:U.type==="human"?w0.jsxDEV(w$,{content:U.content,messageNumber:F+1+Y},void 0,!1,void 0,this):U.type==="tool"?w0.jsxDEV(w3,{message:U,messageNumber:F+1+Y},void 0,!1,void 0,this):w0.jsxDEV(v$,{message:U,messageNumber:F+1+Y,loading:X},void 0,!1,void 0,this)},U.id?`${q}-${U.id}`:`${q}-msg-${F}`,!1,void 0,this),_=Z.findIndex((U)=>{if(U.type==="tool"&&!U.done&&!["success","error"].includes(U.status))return!0;return!1});if(_===-1)_=Z.length-1;let O=Z.slice(0,_),N=Z.slice(_);if(!K)return w0.jsxDEV(z,{flexDirection:"column",children:Z.map((U,F)=>W(U,F,F===_,"init"))},void 0,!1,void 0,this);return w0.jsxDEV(z,{flexDirection:"column",children:[w0.jsxDEV(S$,{items:O,children:(U,F)=>W(U,F,!1,"hist")},J,!1,void 0,this),N.map((U,F)=>W(U,O.length+F,!0,"curr"))]},void 0,!0,void 0,this)});var M0=A(D(),1);var i0=A(D(),1);var k$=A(M(),1),Y5=({staticKey:$,children:Z,delay:Y=1})=>{let[J,X]=i0.useState(!0),K=i0.useRef(!0);return i0.useEffect(()=>{X(!1),K.current=!0},[$]),B1(()=>{if(K.current)X(!0),K.current=!1},J?null:Y),k$.jsxDEV(k$.Fragment,{children:J?Z():null},void 0,!1,void 0,this)},R3=Y5;var a=A(M(),1),X5=M0.memo(function({toolGroup:Z,groupId:Y,getToolUIRender:J,depth:X=0,loading:K}){if(X>1)return null;return a.jsxDEV(z,{flexDirection:"column",children:Z.map((Q,W)=>{let _=Q.name?J(Q.name):null;if(!_)return null;let O=Q.sub_messages?.length||0,N=Q.sub_messages?.slice(-4)||[],U=O-N.length;return a.jsxDEV(M0.Fragment,{children:[a.jsxDEV(()=>{return a.jsxDEV(g,{fallback:Q.name+" is error",children:_(Q)},void 0,!1,void 0,this)},{},void 0,!1,void 0,this),N.length?a.jsxDEV(a.Fragment,{children:[U>0&&a.jsxDEV(z,{paddingLeft:2,children:a.jsxDEV(G,{dimColor:!0,children:["... ",U," more submessage",U>1?"s":""]},void 0,!0,void 0,this)},void 0,!1,void 0,this),a.jsxDEV(A6,{renderMessages:N,startIndex:1,depth:X+1,staticKey:`sub-d${X}-i${W}`,getToolUIRender:J,loading:K},void 0,!1,void 0,this)]},void 0,!0,void 0,this):null]},`${Y}-${W}-${Q.status}`,!0,void 0,this)})},void 0,!1,void 0,this)}),b3=M0.memo(function({message:Z,displayIndex:Y,isCurrent:J,startIndex:X=0,getToolUIRender:K,depth:Q=0,loading:W}){return a.jsxDEV(z,{flexDirection:"column",paddingBottom:1,children:[Z.type==="human"?a.jsxDEV(w$,{content:Z.content,messageNumber:Y+1+X},void 0,!1,void 0,this):null,Z.type==="ai"?a.jsxDEV(v$,{message:Z,messageNumber:Y+1+X,loading:W},void 0,!1,void 0,this):null,Z.type==="group"&&a.jsxDEV(a.Fragment,{children:a.jsxDEV(X5,{toolGroup:Z.toolGroup,groupId:Z.id,getToolUIRender:K,depth:Q,loading:W},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)}),B3=($)=>{if($.type!=="ai")return!0;try{let Z=g0($);return!!(Z&&Z.trim().length>0)}catch{return!1}},A6=M0.memo(function({renderMessages:Z,startIndex:Y,staticKey:J,depth:X=0,getToolUIRender:K,loading:Q}){let W=M0.useMemo(()=>{let U=0;return Z.filter((F)=>{if(F.type==="ai")return B3(F);return!0}).reduce((F,L)=>{if(L.type==="tool"){let q=F[F.length-1];if(q&&q.type==="group"&&q.toolGroup.length<5)q.toolGroup.push(L);else F.push({id:`tool-group-${U++}`,type:"group",toolGroup:[L]})}else F.push(L);return F},[])},[Z,B3]),_=W.length-1;if(_===-1)_=W.length-1;if(!Q)_=W.length;let O=W.slice(0,_),N=W.slice(_);return a.jsxDEV(z,{flexDirection:"column",children:[a.jsxDEV(R3,{staticKey:`${J} ${O.length}`,children:()=>a.jsxDEV(S$,{items:O,children:(U,F)=>a.jsxDEV(b3,{message:U,displayIndex:F,isCurrent:!1,startIndex:Y,getToolUIRender:K,depth:X,loading:Q},U.id?`hist-${U.id}`:`hist-msg-${X}-${F}`,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this),N.map((U,F)=>a.jsxDEV(b3,{message:U,displayIndex:O.length+F,isCurrent:!0,startIndex:Y,getToolUIRender:K,depth:X,loading:Q},U.id?`curr-${U.id}`:`curr-msg-${X}-${O.length}-${F}`,!1,void 0,this))]},void 0,!0,void 0,this)});var f=A(M(),1),J5=()=>{let $=q$(),Z=new Date().toLocaleDateString(),{extraParams:Y,AVAILABLE_MODELS:J,config:X}=Z1(),K=Y.mcp_config||{},Q=Object.keys(K).length,W=P3(),_=process.platform,O=_==="darwin"?"macOS":_==="win32"?"Windows":"Linux",N=process.cwd(),U=X?.provider_id||process.env.MODEL_PROVIDER||"openai",L=!!X?.providers?.find((R)=>R.id===U)?.apiKey,q=J.length>0,w=L&&q;return f.jsxDEV(z,{flexDirection:"column",borderStyle:"round",borderColor:"cyan",paddingX:1,marginBottom:1,children:[f.jsxDEV(z,{flexDirection:"row",justifyContent:"space-between",borderBottom:!1,children:[f.jsxDEV(G,{color:"cyan",bold:!0,children:"ZEN CODE"},void 0,!1,void 0,this),f.jsxDEV(G,{color:"gray",children:Z},void 0,!1,void 0,this)]},void 0,!0,void 0,this),f.jsxDEV(z,{flexDirection:"row",marginTop:1,gap:2,children:[f.jsxDEV(z,{flexDirection:"column",children:f.jsxDEV(G,{color:"cyan",children:`███████╗███████╗███╗ ██╗
148
- ╚══███╔╝██╔════╝████╗ ██║
149
- ███╔╝ █████╗ ██╔██╗ ██║
150
- ███╔╝ ██╔══╝ ██║╚██╗██║
151
- ███████╗███████╗██║ ╚████║
152
- ╚══════╝╚══════╝╚═╝ ╚═══╝`},void 0,!1,void 0,this)},void 0,!1,void 0,this),f.jsxDEV(z,{flexDirection:"column",justifyContent:"center",flexGrow:1,children:[f.jsxDEV(z,{marginBottom:1,children:w?f.jsxDEV(G,{color:"green",bold:!0,children:[" ","[ SYSTEM ONLINE ]"]},void 0,!0,void 0,this):f.jsxDEV(G,{color:"red",bold:!0,children:[" ","[ CONFIG REQUIRED ]"]},void 0,!0,void 0,this)},void 0,!1,void 0,this),f.jsxDEV(z,{flexDirection:"column",gap:0,children:[f.jsxDEV(z,{children:[f.jsxDEV(G,{color:"blue",children:"USER::"},void 0,!1,void 0,this),f.jsxDEV(G,{color:"white",children:$},void 0,!1,void 0,this)]},void 0,!0,void 0,this),f.jsxDEV(z,{children:[f.jsxDEV(G,{color:"blue",children:"ARCH::"},void 0,!1,void 0,this),f.jsxDEV(G,{color:"white",children:process.arch},void 0,!1,void 0,this)]},void 0,!0,void 0,this),f.jsxDEV(z,{children:[f.jsxDEV(G,{color:"blue",children:"PLATFORM::"},void 0,!1,void 0,this),f.jsxDEV(G,{color:"white",children:O},void 0,!1,void 0,this)]},void 0,!0,void 0,this),f.jsxDEV(z,{children:[f.jsxDEV(G,{color:"blue",children:"NODE::"},void 0,!1,void 0,this),f.jsxDEV(G,{color:"white",children:process.version},void 0,!1,void 0,this)]},void 0,!0,void 0,this),f.jsxDEV(z,{children:[f.jsxDEV(G,{color:"blue",children:"TERM::"},void 0,!1,void 0,this),f.jsxDEV(G,{color:"white",children:W},void 0,!1,void 0,this)]},void 0,!0,void 0,this),f.jsxDEV(z,{children:[f.jsxDEV(G,{color:"blue",children:[U?.toUpperCase(),"::"]},void 0,!0,void 0,this),f.jsxDEV(G,{color:q?"white":"red",children:q?Y.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),f.jsxDEV(z,{marginTop:1,paddingX:1,flexDirection:"column",gap:0,children:[f.jsxDEV(z,{children:f.jsxDEV(G,{color:"blue",children:"WORKING_DIR ::"},void 0,!1,void 0,this)},void 0,!1,void 0,this),f.jsxDEV(z,{children:f.jsxDEV(G,{color:"gray",children:N},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),!w&&f.jsxDEV(z,{marginTop:1,paddingX:1,flexDirection:"column",gap:0,children:[f.jsxDEV(G,{color:"red",bold:!0,children:["⚠️ 需要配置 ",U==="anthropic"?"Anthropic":"OpenAI"," API:"]},void 0,!0,void 0,this),!L&&f.jsxDEV(G,{color:"yellow",children:" • 请使用 /m 进入模型配置面板"},void 0,!1,void 0,this),!q&&f.jsxDEV(G,{color:"yellow",children:" • 请确保网络连接正常以获取模型列表"},void 0,!1,void 0,this),f.jsxDEV(G,{color:"gray",children:" • 配置后使用 /m 查看可用模型"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),f.jsxDEV(z,{marginTop:1,paddingTop:1,borderTop:!1,flexDirection:"row",justifyContent:"space-between",children:[f.jsxDEV(z,{gap:3,children:[f.jsxDEV(z,{children:[f.jsxDEV(G,{color:"green",children:"●"},void 0,!1,void 0,this),f.jsxDEV(G,{color:"white",dimColor:!0,children:[" ","AGENTS"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),f.jsxDEV(z,{children:[f.jsxDEV(G,{color:Q>0?"green":"gray",children:"●"},void 0,!1,void 0,this),f.jsxDEV(G,{color:"white",dimColor:!0,children:[" ","MCP (",Q,")"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),f.jsxDEV(z,{children:[w?f.jsxDEV(G,{color:"yellow",bold:!0,children:">>> WAITING_FOR_INPUT"},void 0,!1,void 0,this):f.jsxDEV(G,{color:"red",bold:!0,children:">>> CONFIGURATION_NEEDED"},void 0,!1,void 0,this),f.jsxDEV(G,{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)},f3=J5;var E$=A(D(),1);var W$=A(D(),1);class C3{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 Y=$.trim().slice(1).split(/\s+/),J=Y[0],X=Y.slice(1);return{command:J,args:X}}async executeCommand($,Z){let Y=this.parseCommand($);if(!Y)return{success:!1,message:"无效的命令格式"};let{command:J,args:X}=Y,K=this.getCommand(J);if(!K)return{success:!1,message:`未知命令: /${J}`};if(K.requiresArgs&&X.length===0)return{success:!1,message:`命令 /${J} 需要参数。用法: ${K.usage||`/${J} <args>`}`};if(K.validateArgs&&!K.validateArgs(X))return{success:!1,message:`命令 /${J} 参数无效。用法: ${K.usage||`/${J} <args>`}`};try{return await K.execute(X,Z)}catch(Q){return{success:!1,message:`命令执行失败: ${Q instanceof Error?Q.message:String(Q)}`}}}getSuggestions($){if(!$.startsWith("/"))return[];let Z=$.slice(1).toLowerCase(),Y=[];if(Z===""){let W=["new","history","task","agent","model","settings","mcp","knowledge","summarize","template","plan","interview","help"];for(let _ of W){let O=this.commands.get(_);if(O)Y.push({command:_,displayText:`/${_}`,description:O.description})}return Y.slice(0,10)}let J=new Set(["history","knowledge","help","init","model","config"]),X=[],K=[];for(let[W,_]of this.commands){let O=W.toLowerCase();if(O.startsWith(Z))X.push({command:W,displayText:`/${W}`,description:_.description});else if(O.includes(Z))K.push({command:W,displayText:`/${W}`,description:_.description});if(_.aliases)for(let N of _.aliases){let U=N.toLowerCase();if(U.startsWith(Z))X.push({command:W,displayText:`/${N}`,description:`${_.description} (别名)`});else if(U.includes(Z))K.push({command:W,displayText:`/${N}`,description:`${_.description} (别名)`})}}let Q=(W,_)=>{let O=J.has(W.command)?1:0,N=J.has(_.command)?1:0;if(O!==N)return N-O;return W.displayText.length-_.displayText.length};return X.sort(Q),K.sort(Q),Y.push(...X,...K),Y.slice(0,10)}getHelp($){if($){let Y=this.getCommand($);if(!Y)return`未找到命令: /${$}`;let J=`命令: /${Y.name}
153
- `;if(J+=`描述: ${Y.description}
154
- `,Y.usage)J+=`用法: ${Y.usage}
155
- `;if(Y.aliases&&Y.aliases.length>0)J+=`别名: ${Y.aliases.map((X)=>`/${X}`).join(", ")}
156
- `;return J}let Z=`可用命令:
157
- `;for(let Y of this.getAllCommands())Z+=` /${Y.name} - ${Y.description}
142
+ `}tablecell($){let Z=this.parser.parseInline($.tokens),X=$.header?"th":"td";return($.align?`<${X} align="${$.align}">`:`<${X}>`)+Z+`</${X}>
143
+ `}strong({tokens:$}){return`<strong>${this.parser.parseInline($)}</strong>`}em({tokens:$}){return`<em>${this.parser.parseInline($)}</em>`}codespan({text:$}){return`<code>${a0($,!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=a7($);if(J===null)return Y;$=J;let W='<a href="'+$+'"';return Z&&(W+=' title="'+a0(Z)+'"'),W+=">"+Y+"</a>",W}image({href:$,title:Z,text:X,tokens:Y}){Y&&(X=this.parser.parseInline(Y,this.parser.textRenderer));let J=a7($);if(J===null)return a0(X);$=J;let W=`<img src="${$}" alt="${X}"`;return Z&&(W+=` title="${a0(Z)}"`),W+=">",W}text($){return"tokens"in $&&$.tokens?this.parser.parseInline($.tokens):("escaped"in $)&&$.escaped?$.text:a0($.text)}},R6=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""}},g0=class ${options;renderer;textRenderer;constructor(Z){this.options=Z||r4,this.options.renderer=this.options.renderer||new W8,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new R6}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+=`
144
+ `+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}},MZ=class{options;block;constructor($){this.options=$||r4}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?h0.lex:h0.lexInline}provideParser(){return this.block?g0.parse:g0.parseInline}},RK=class{defaults=M6();options=this.setOptions;parse=this.parseMarkdown(!0);parseInline=this.parseMarkdown(!1);Parser=g0;Renderer=W8;TextRenderer=R6;Lexer=h0;Tokenizer=J8;Hooks=MZ;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 W8(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 J8(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 MZ;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];MZ.passThroughHooks.has(W)?J[K]=(G)=>{if(this.defaults.async&&MZ.passThroughHooksRespectAsync.has(W))return(async()=>{let H=await Q.call(J,G);return z.call(J,H)})();let O=Q.call(J,G);return z.call(J,O)}:J[K]=(...G)=>{if(this.defaults.async)return(async()=>{let H=await Q.apply(J,G);return H===!1&&(H=await z.apply(J,G)),H})();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 h0.lex($,Z??this.defaults)}parser($,Z){return g0.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():$?h0.lex:h0.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():$?g0.parse:g0.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():$?h0.lex:h0.lexInline)(Z,J);J.hooks&&(K=J.hooks.processAllTokens(K)),J.walkTokens&&this.walkTokens(K,J.walkTokens);let Q=(J.hooks?J.hooks.provideParser():$?g0.parse:g0.parseInline)(K,J);return J.hooks&&(Q=J.hooks.postprocess(Q)),Q}catch(K){return W(K)}}}onError($,Z){return(X)=>{if(X.message+=`
145
+ Please report this to https://github.com/markedjs/marked.`,$){let Y="<p>An error occurred:</p><pre>"+a0(X.message+"",!0)+"</pre>";return Z?Promise.resolve(Y):Y}if(Z)return Promise.reject(X);throw X}}},n4=new RK;function O1($,Z){return n4.parse($,Z)}O1.options=O1.setOptions=function($){return n4.setOptions($),O1.defaults=n4.defaults,e7(O1.defaults),O1};O1.getDefaults=M6;O1.defaults=r4;O1.use=function(...$){return n4.use(...$),O1.defaults=n4.defaults,e7(O1.defaults),O1};O1.walkTokens=function($,Z){return n4.walkTokens($,Z)};O1.parseInline=n4.parseInline;O1.Parser=g0;O1.parser=g0.parse;O1.Renderer=W8;O1.TextRenderer=R6;O1.Lexer=h0;O1.lexer=h0.lex;O1.Tokenizer=J8;O1.Hooks=MZ;O1.parse=O1;var{options:s2,setOptions:t2,use:e2,walkTokens:$w,parseInline:Zw}=O1;var Xw=g0.parse,Yw=h0.lex;var a4=B(e(),1),$0={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}},VK=["color","backgroundColor","dimColor","bold","italic","underline","strikethrough","inverse","wrap"],kK=["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 G0($){if(!$)return{};let Z={};for(let X of VK)if(X in $)Z[X]=$[X];return Z}function O4($){if(!$)return{};let Z={};for(let X of kK)if(X in $)Z[X]=$[X];return Z}function Z0($,Z){if(!$&&!Z)return{};if(!$)return Z;if(!Z)return $;return{...$,...Z}}function F0($,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 g.jsx(N,{children:F0(K.tokens,Z,X)},W);return g.jsx(N,{children:K.text},W)}case"strong":{let K=Y,Q=Z0($0.strong,Z.strong);if(X.strong)return g.jsx(N,{children:X.strong(F0(K.tokens,Z,X),K)},W);return g.jsx(N,{...G0(Q),children:F0(K.tokens,Z,X)},W)}case"em":{let K=Y,Q=Z0($0.em,Z.em);if(X.em)return g.jsx(N,{children:X.em(F0(K.tokens,Z,X),K)},W);return g.jsx(N,{...G0(Q),children:F0(K.tokens,Z,X)},W)}case"del":{let K=Y,Q=Z0($0.del,Z.del);if(X.del)return g.jsx(N,{children:X.del(F0(K.tokens,Z,X),K)},W);return g.jsx(N,{...G0(Q),children:F0(K.tokens,Z,X)},W)}case"codespan":{let K=Y,Q=Z0($0.codespan,Z.codespan);if(X.codespan)return g.jsx(N,{children:X.codespan(K.text,K)},W);return g.jsx(N,{...G0(Q),children:K.text},W)}case"link":{let K=Y,Q=Z0($0.link,Z.link);if(X.link)return g.jsx(N,{children:X.link(K.text,K.href,K.title,K)},W);return g.jsxs(N,{...G0(Q),children:[K.text,K.href&&` (${K.href})`]},W)}case"image":{let K=Y,Q=Z0($0.image,Z.image);if(X.image)return g.jsx(N,{children:X.image(K.text,K.href,K.title,K)},W);return g.jsxs(N,{...G0(Q),children:["[Image: ",K.text||K.href,"]"]},W)}case"br":return g.jsx(N,{children:`
146
+ `},W);default:if("text"in Y)return g.jsx(N,{children:Y.text},W);return null}})}function OX($,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=Z0($0[K],Z[K]),G=typeof z.showSharp=="boolean"?z.showSharp:Boolean(Y);return g.jsx(w,{...O4(z),children:g.jsxs(N,{...G0(z),children:[G&&`${"#".repeat(J.depth)} `,F0(J.tokens,Z,X)]})})}case"paragraph":{let J=$,W=Z0($0.paragraph,Z.paragraph),K=F0(J.tokens,Z,X);if(X.paragraph)return X.paragraph(K,J);return g.jsx(w,{...O4(W),children:g.jsx(N,{...G0(W),children:K})})}case"code":{let J=$,W=Z0($0.code,Z.code);if(X.code)return X.code(J.text,J.lang,J);return g.jsx(w,{...O4(W),children:g.jsx(N,{...G0(W),children:J.text})})}case"blockquote":{let J=$,W=Z0($0.blockquote,Z.blockquote);if(X.blockquote){let K=J.tokens.map((Q,z)=>g.jsx(w,{children:OX(Q,Z,X,Y)},`bq-${z}`));return X.blockquote(K,J)}return g.jsx(w,{...O4(W),children:g.jsx(w,{flexDirection:"column",children:J.tokens.map((K,Q)=>g.jsx(N,{...G0(W),children:K.type==="paragraph"?F0(K.tokens,Z,X):K.text||""},`bq-text-${Q}`))})})}case"list":{let J=$,W=Z0($0.list,Z.list),K=Z0($0.listItem,Z.listItem),Q=K.bullet||"●",z=J.items.map((G,O)=>{let H=typeof J.start=="number"?J.start:1,U=J.ordered?`${H+O}. `:`${Q} `,M=F0(G.tokens,Z,X);if(X.listItem)return g.jsx(w,{...O4(K),children:X.listItem(M,G)},`li-${O}`);return g.jsx(w,{...O4(K),children:g.jsxs(N,{...G0(K),children:[U,M]})},`li-${O}`)});if(X.list)return X.list(z,J.ordered,J);return g.jsx(w,{flexDirection:"column",...O4(W),children:z})}case"hr":{let J=$,W=Z0($0.hr,Z.hr),K=W.char||"─",Q=W.width||40;if(X.hr)return X.hr(J);return g.jsx(w,{...O4(W),children:g.jsx(N,{...G0(W),children:K.repeat(Q)})})}case"table":{let J=$,W=Z0($0.table,Z.table),K=Z0($0.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,T=Math.max(...J.rows.map((p)=>{let f=p[P]?.tokens;return f?Q(f).length:0}),0);return Math.max(S,T,3)}),G=g.jsxs(N,{dimColor:!0,children:["┌─",z.map((F)=>"─".repeat(F)).join("─┬─"),"─┐"]}),O=g.jsxs(N,{children:[g.jsx(N,{dimColor:!0,children:"│ "}),J.header.map((F,P)=>{let S=F0(F.tokens,Z,X),T=Q(F.tokens);return g.jsxs(N,{children:[g.jsxs(N,{bold:!0,...G0(K),children:[S," ".repeat(Math.max(0,(z[P]||3)-T.length))]}),g.jsxs(N,{dimColor:!0,children:[" ","│",P<J.header.length-1?" ":""]})]},`th-${P}`)})]}),H=g.jsxs(N,{dimColor:!0,children:["├─",z.map((F)=>"─".repeat(F)).join("─┼─"),"─┤"]}),U=J.rows.map((F,P)=>g.jsxs(N,{children:[g.jsx(N,{dimColor:!0,children:"│ "}),F.map((S,T)=>{let p=F0(S.tokens,Z,X),f=Q(S.tokens),a=z[T]||3;return g.jsxs(N,{children:[g.jsxs(N,{...G0(K),children:[p," ".repeat(Math.max(0,a-f.length))]}),g.jsxs(N,{dimColor:!0,children:[" │",T<F.length-1?" ":""]})]},`td-${P}-${T}`)})]},`tr-${P}`)),M=g.jsxs(N,{dimColor:!0,children:["└─",z.map((F)=>"─".repeat(F)).join("─┴─"),"─┘"]}),A=g.jsxs(g.Fragment,{children:[G,O,H,U,M]});if(X.table)return X.table(O,U,J);return g.jsx(w,{flexDirection:"column",...O4(W),children:A})}case"space":return g.jsx(N,{children:`
147
+ `});case"html":return g.jsx(N,{dimColor:!0,children:$.text});default:if("text"in $)return g.jsx(N,{children:$.text});return null}}var HX=a4.memo(function({token:$,styles:Z,renderers:X,showSharp:Y}){return g.jsx(g.Fragment,{children:OX($,Z,X,Y)})},($,Z)=>$.token===Z.token);HX.displayName="MemoizedBlock";function TK({children:$,id:Z,styles:X={},renderers:Y={},showSharp:J=!1}){let W=a4.useId(),K=Z||W,Q=a4.useMemo(()=>O1.lexer($,{silent:!0,gfm:!0}),[$]);return g.jsx(w,{flexDirection:"column",children:Q.map((z,G)=>g.jsx(HX,{token:z,styles:X,renderers:Y,showSharp:J},`${K}-block-${G}`))})}var NX=a4.memo(TK);NX.displayName="Markdown";var bK=NX,UX=bK;var wX=B(e(),1);var FZ=B(V(),1),MX=({children:$,color:Z,dim:X,bold:Y,italic:J})=>{let W=wX.useMemo(()=>{return $.split(`
148
+ `).map((K)=>K===""?`
149
+ `:K)},[$]);return FZ.jsxDEV(FZ.Fragment,{children:W.map((K,Q)=>FZ.jsxDEV(N,{color:Z,dimColor:X,bold:Y,italic:J,children:K},Q,!1,void 0,this))},void 0,!1,void 0,this)};var z8=B(e(),1),S6=B(V(),1),IK=($,Z,X=5)=>{if(!Z||!$||$.trim()==="")return $;let Y=$.split(`
150
+ `);if(Y.length<=X)return $;let J=Y.length-X,W=Y.slice(-X);return`\x1B[33m${J} rows hidden...\x1B[0m
151
+ ${W.join(`
152
+ `)}`},DK=({children:$,simple:Z,loading:X,maxRows:Y=5})=>{let J=z8.useMemo(()=>{return IK($,X,Y)},[$,X,Y]);if(Z)return S6.jsxDEV(MX,{children:J},void 0,!1,void 0,this);return S6.jsxDEV(UX,{children:J},void 0,!1,void 0,this)},qX=z8.memo(DK);var C0=B(V(),1),jK=({message:$,messageNumber:Z,loading:X})=>{let J=W7($),W=O$($);if(!W)return C0.jsxDEV(C0.Fragment,{},void 0,!1,void 0,this);return C0.jsxDEV(w,{flexDirection:"column",children:[C0.jsxDEV(w,{paddingBottom:0,marginBottom:1,children:C0.jsxDEV(N,{color:o4("teal"),children:[Z," ","Zen Code"]},void 0,!0,void 0,this)},void 0,!1,void 0,this),J&&C0.jsxDEV(yK,{thinking:J,visible:W.trim().length===0},void 0,!1,void 0,this),C0.jsxDEV(qX,{simple:!1,loading:X,children:W},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},yK=({thinking:$,visible:Z})=>{let X=$.split(`
153
+ `);return C0.jsxDEV(w,{flexDirection:"column",marginBottom:1,children:[C0.jsxDEV(w,{paddingBottom:0,children:C0.jsxDEV(N,{color:"gray",bold:!0,children:["Think ",X.length," rows"]},void 0,!0,void 0,this)},void 0,!1,void 0,this),Z&&C0.jsxDEV(AX,{content:$,maxLines:3},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},G8=jK;var CX=B(e(),1);var d=B(V(),1),FX=["yellow","magenta","blue"],EK=($)=>{let Z=0;for(let Y=0;Y<$.length;Y++)Z=$.charCodeAt(Y)+((Z<<5)-Z);let X=Math.abs(Z%FX.length);return FX[X]},vK=($)=>{return{success:"✓",completed:"✓",ok:"✓",error:"✗",failed:"✗",pending:"⏳",in_progress:"⏳",running:"⏳",cancelled:"⏹"}[$]||"⏳"},_K=($,Z=4,X=100)=>{let Y=$.split(`
154
+ `),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(`
155
+ `);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(`
156
+ `)},fK=({content:$})=>{let Z=(X,Y=0,J=0)=>{let K=" ".repeat(Y);if(J>=3)return d.jsxDEV(N,{dimColor:!0,children:"{...} (truncated)"},void 0,!1,void 0,this);if(X===null)return d.jsxDEV(N,{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 d.jsxDEV(N,{children:[d.jsxDEV(N,{color:"cyan",children:['"',O,'..."']},void 0,!0,void 0,this)," ",d.jsxDEV(N,{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 d.jsxDEV(N,{color:"cyan",children:G},void 0,!1,void 0,this);else if(typeof X==="number")return d.jsxDEV(N,{color:"yellow",children:X},void 0,!1,void 0,this);else if(typeof X==="boolean")return d.jsxDEV(N,{color:"magenta",children:X.toString()},void 0,!1,void 0,this);else return d.jsxDEV(N,{children:G},void 0,!1,void 0,this)}if(Array.isArray(X)){if(X.length===0)return d.jsxDEV(N,{color:"gray",children:"[]"},void 0,!1,void 0,this);let G=5;return d.jsxDEV(d.Fragment,{children:[`
157
+ `,X.slice(0,G).map((O,H)=>d.jsxDEV(N,{children:[d.jsxDEV(N,{children:K},void 0,!1,void 0,this),d.jsxDEV(N,{color:"green",children:"- "},void 0,!1,void 0,this)," ",Z(O,Y+1,J+1),H<Math.min(X.length,G)-1?`
158
+ `:""]},void 0,!0,void 0,this)),X.length>G&&d.jsxDEV(N,{children:[`
159
+ `,d.jsxDEV(N,{children:K},void 0,!1,void 0,this),d.jsxDEV(N,{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 d.jsxDEV(N,{color:"gray"},void 0,!1,void 0,this);let z=5;return d.jsxDEV(d.Fragment,{children:[Q.slice(0,z).map((G,O)=>d.jsxDEV(N,{children:[d.jsxDEV(N,{children:K},void 0,!1,void 0,this),d.jsxDEV(N,{color:"blue",children:G},void 0,!1,void 0,this)," ",d.jsxDEV(N,{color:"gray",children:": "},void 0,!1,void 0,this)," ",Z(X[G],Y+1,J+1),O<Math.min(Q.length,z)-1?`
160
+ `:""]},void 0,!0,void 0,this)),Q.length>z&&d.jsxDEV(N,{children:[`
161
+ `,d.jsxDEV(N,{children:K},void 0,!1,void 0,this),d.jsxDEV(N,{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 d.jsxDEV(N,{children:Z($)},void 0,!1,void 0,this)},hK=({message:$,messageNumber:Z})=>{let{getToolUIRender:X,client:Y}=d1(),J=new W6($,Y),W=J.getInputRepaired(),K=W?.title?`: ${W.title}`:W?.description?`: ${W.description}`:"",Q=$.name?X($.name):null,z=EK($.name||"");return z=$.status==="error"?"red":"yellow",CX.default.useEffect(()=>{if($.status==="error"&&$.name)import("./chunk-t0f66x64.js").then(({logToolError:G,logTerminalError:O,logAgentError:H})=>{let U=V6($.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:"))H($.name,M);else G($.name,M)}).catch((G)=>{console.warn("Failed to log error:",G)})},[$.status,$.name,$.content,W?.command]),d.jsxDEV(w1,{children:d.jsxDEV(w,{flexDirection:"column",children:[d.jsxDEV(w,{children:[d.jsxDEV(N,{color:z,children:[Z," ",$.name,d.jsxDEV(N,{color:"gray",children:K},void 0,!1,void 0,this)]},void 0,!0,void 0,this),d.jsxDEV(N,{children:[" ",vK($?.status)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),Q?d.jsxDEV(w,{children:[d.jsxDEV(N,{color:"gray",children:"└─ "},void 0,!1,void 0,this),d.jsxDEV(w,{flexDirection:"column",children:Q($)},void 0,!1,void 0,this)]},void 0,!0,void 0,this):d.jsxDEV(w,{flexDirection:"column",paddingTop:0,children:[d.jsxDEV(w,{children:[d.jsxDEV(N,{color:"gray",children:"└─ "},void 0,!1,void 0,this),d.jsxDEV(fK,{content:J.getInputRepaired()},void 0,!1,void 0,this)]},void 0,!0,void 0,this),d.jsxDEV(w,{paddingTop:0,paddingBottom:0,children:[d.jsxDEV(N,{color:"gray",children:"└─ "},void 0,!1,void 0,this),d.jsxDEV(N,{dimColor:!0,italic:!0,children:_K(V6($.content))},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),$.sub_messages?.length?d.jsxDEV(w,{children:[d.jsxDEV(N,{color:"gray",children:"└─ "},void 0,!1,void 0,this),d.jsxDEV(N,{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)},BX=hK;var V4=B(V(),1),PX=H8.memo(function({renderMessages:Z,startIndex:X,staticKey:Y,loading:J}){let[W,K]=H8.useState(!1);M0(()=>K(!0),W?null:0);let Q=(H,U,M,A)=>V4.jsxDEV(w,{flexDirection:"column",paddingLeft:1,paddingBottom:1,children:H.type==="human"?V4.jsxDEV(Z8,{content:H.content,messageNumber:U+1+X},void 0,!1,void 0,this):H.type==="tool"?V4.jsxDEV(BX,{message:H,messageNumber:U+1+X},void 0,!1,void 0,this):V4.jsxDEV(G8,{message:H,messageNumber:U+1+X,loading:J},void 0,!1,void 0,this)},H.id?`${A}-${H.id}`:`${A}-msg-${U}`,!1,void 0,this),z=Z.findIndex((H)=>{if(H.type==="tool"&&!H.done&&!["success","error"].includes(H.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 V4.jsxDEV(w,{flexDirection:"column",children:Z.map((H,U)=>Q(H,U,U===z,"init"))},void 0,!1,void 0,this);return V4.jsxDEV(w,{flexDirection:"column",children:[V4.jsxDEV(O8,{items:G,children:(H,U)=>Q(H,U,!1,"hist")},Y,!1,void 0,this),O.map((H,U)=>Q(H,G.length+U,!0,"curr"))]},void 0,!0,void 0,this)});var k4=B(e(),1);var F$=B(e(),1);var N8=B(V(),1),gK=({staticKey:$,children:Z,delay:X=1})=>{let[Y,J]=F$.useState(!0),W=F$.useRef(!0);return F$.useEffect(()=>{J(!1),W.current=!0},[$]),M0(()=>{if(W.current)process.stdout.write(LX),J(!0),W.current=!1},Y?null:X),N8.jsxDEV(N8.Fragment,{children:Y?Z():null},void 0,!1,void 0,this)},RX=gK;var b1=B(V(),1),mK=k4.memo(function({toolGroup:Z,groupId:X,getToolUIRender:Y,depth:J=0,loading:W}){if(J>1)return null;return b1.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||[],O=G.length;return b1.jsxDEV(k4.Fragment,{children:[b1.jsxDEV(()=>{return b1.jsxDEV(w1,{fallback:K.name+" is error",children:z(K)},void 0,!1,void 0,this)},{},void 0,!1,void 0,this),G.length?b1.jsxDEV(b1.Fragment,{children:O>0&&b1.jsxDEV(w,{paddingLeft:2,children:b1.jsxDEV(N,{dimColor:!0,children:["... ",O," more submessage",O>1?"s":""]},void 0,!0,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this):null]},`${X}-${Q}-${K.status}`,!0,void 0,this)})},void 0,!1,void 0,this)}),SX=k4.memo(function({message:Z,displayIndex:X,isCurrent:Y,startIndex:J=0,getToolUIRender:W,depth:K=0,loading:Q}){return b1.jsxDEV(w,{flexDirection:"column",paddingBottom:1,children:[Z.type==="human"?b1.jsxDEV(Z8,{content:Z.content,messageNumber:X+1+J},void 0,!1,void 0,this):null,Z.type==="ai"?b1.jsxDEV(G8,{message:Z,messageNumber:X+1+J,loading:Q},void 0,!1,void 0,this):null,Z.type==="group"&&b1.jsxDEV(b1.Fragment,{children:b1.jsxDEV(mK,{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)}),VX=($)=>{if($.type!=="ai")return!0;try{let Z=O$($);return!!(Z&&Z.trim().length>0)}catch{return!1}},kX=k4.memo(function({renderMessages:Z,startIndex:X,staticKey:Y,depth:J=0,getToolUIRender:W,loading:K}){let Q=k4.useMemo(()=>{let H=0;return Z.filter((U)=>{if(U.type==="ai")return VX(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-${H++}`,type:"group",toolGroup:[M]})}else U.push(M);return U},[])},[Z,VX]),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 b1.jsxDEV(w,{flexDirection:"column",children:[b1.jsxDEV(RX,{staticKey:`${Y} ${G.length}`,children:()=>b1.jsxDEV(O8,{items:G,children:(H,U)=>b1.jsxDEV(SX,{message:H,displayIndex:U,isCurrent:!1,startIndex:X,getToolUIRender:W,depth:J,loading:K},H.id?`hist-${H.id}`:`hist-msg-${J}-${U}`,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this),O.map((H,U)=>b1.jsxDEV(SX,{message:H,displayIndex:G.length+U,isCurrent:!0,startIndex:X,getToolUIRender:W,depth:J,loading:K},H.id?`curr-${H.id}`:`curr-msg-${J}-${G.length}-${U}`,!1,void 0,this))]},void 0,!0,void 0,this)});var TX={name:"zen-code",version:"4.10.0",description:"",main:"./dist/cli.js",bin:"./dist/cli.js",files:["dist"],scripts:{dev:"bun run --smol src/cli.ts",build:"bun run bun.build.ts",prepublishOnly:"bun run build",test:"vitest","test:ui":"vitest --ui","test:coverage":"vitest --coverage"},keywords:[],author:"KonghaYao",license:"Apache-2.0",dependencies:{},devDependencies:{"@anthropic-ai/sdk":"^0.71.2","@codegraph/agent":"workspace:^","@codegraph/config":"workspace:^","@codegraph/union-client":"workspace:^","@google/generative-ai":"^0.24.1","@inkjs/ui":"^2.0.0","@langchain/anthropic":"^1.3.22","@langchain/core":"^1.1.31","@langchain/google-genai":"^2.1.18","@langchain/langgraph":"^1.2.1","@langchain/mcp-adapters":"^1.1.1","@langchain/openai":"^1.2.12","@langgraph-js/agent-middlewares":"workspace:^","@langgraph-js/pure-graph":"^3.3.0","@langgraph-js/sdk":"^4.6.4","@langgraph-js/standard-agent":"workspace:^","@nanostores/react":"^1.0.0","@tanstack/react-query":"^5.90.21","@testing-library/react":"^16.3.2","@testing-library/user-event":"^14.6.1","@types/diff-match-patch":"^1.0.36","@types/fs-extra":"^11.0.4","@types/node-notifier":"^8.0.5","@types/react":"^19.2.14","@vitejs/plugin-react":"^5.1.2","ansi-escapes":"^7.3.0",chalk:"^5.6.2","diff-match-patch":"^1.0.5",execa:"^9.6.1","extract-zip":"^2.0.1","fs-extra":"^11.3.3",fuzzysort:"^3.1.0","happy-dom":"^20.3.9",ink:"^6.8.0","ink-markdown-es":"^1.4.0","ink-pro":"workspace:^","ink-spinner":"^5.0.0","ink-syntax-highlight":"^2.0.2",kysely:"^0.28.11","kysely-bun-worker":"^1.2.1","kysely-wasm":"^1.2.1",langchain:"^1.2.30",lowdb:"^7.0.1",marked:"^17.0.3",micromatch:"^4.0.8","node-notifier":"^10.0.1","node-sqlite3-wasm":"^0.8.53",openai:"^6.16.0","path-exists":"^5.0.0",pidusage:"^4","proper-lockfile":"^4.1.2",react:"^19.2.3","react-devtools-core":"^7.0.1","string-width":"^8.1.0",tempy:"^3.1.0","usehooks-ts":"^3.1.1",vite:"^7.3.1","vite-bundle-analyzer":"^1.3.2","vite-plugin-static-copy":"^3.1.4",vitest:"^4.0.18","xdg-basedir":"^5.1.0",yaml:"^2.8.2",zod:"^4.3.5"},babel:{presets:["@babel/preset-react"]}};var H1=B(V(),1),uK=[[[" ▓▓ ▓▓ ","yellow"]],[[" ▓▓▓▓▓▓▓▓ ","yellow"]],[[" ▓▓ ","yellow"],[">","cyan"],[" ","yellow"],["<","cyan"],[" ▓▓ ","yellow"]],[[" ▓▓▓▓▓▓▓▓▓▓ ","yellow"]],[["▓▓▓▓▓","cyan"],["▓▓","yellow"],["▓▓▓▓▓","cyan"]],[[" ▓▓▓▓","cyan"],["▓▓","yellow"],["▓▓▓▓ ","cyan"]],[[" ▀▀▀▀▀▀▀▀ ","gray"]]],bX=[["/model","模型"],["/mcp","MCP"],["/agent","Agent"],["/new","新对话"],["/plan","规划"],["/settings","设置"],["/help","帮助"]],U8=({label:$,value:Z,valueColor:X="white"})=>H1.jsxDEV(w,{gap:1,children:[H1.jsxDEV(N,{color:"blue",dimColor:!0,children:$.padEnd(10)},void 0,!1,void 0,this),H1.jsxDEV(N,{color:X,children:Z},void 0,!1,void 0,this)]},void 0,!0,void 0,this),cK=()=>{let{AVAILABLE_MODELS:$,config:Z,extraParams:X}=p1(),Y=Z?.provider_id||process.env.MODEL_PROVIDER||"openai",W=!!Z?.providers?.find((A)=>A.id===Y)?.apiKey,K=$.length>0,Q=W&&K,z=X?.model_id||Z?.model_id||"—",G=X?.switch_command||"default",O=process.cwd(),H=4,U=bX.slice(0,4),M=bX.slice(4);return H1.jsxDEV(w,{flexDirection:"column",paddingX:1,marginBottom:1,children:[H1.jsxDEV(w,{justifyContent:"space-between",marginBottom:1,children:[H1.jsxDEV(w,{gap:2,children:[H1.jsxDEV(N,{color:"cyan",bold:!0,children:"ZEN CODE"},void 0,!1,void 0,this),H1.jsxDEV(N,{dimColor:!0,children:["v",TX.version]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),H1.jsxDEV(N,{color:Q?"green":"red",bold:!0,children:Q?"● ONLINE":"● OFFLINE"},void 0,!1,void 0,this)]},void 0,!0,void 0,this),H1.jsxDEV(w,{flexDirection:"row",gap:3,children:[H1.jsxDEV(w,{flexDirection:"column",alignItems:"center",children:uK.map((A,F)=>H1.jsxDEV(w,{children:A.map(([P,S],T)=>H1.jsxDEV(N,{color:S,children:P},T,!1,void 0,this))},F,!1,void 0,this))},void 0,!1,void 0,this),H1.jsxDEV(w,{flexDirection:"column",justifyContent:"center",gap:0,children:[H1.jsxDEV(U8,{label:"Provider",value:Y,valueColor:"cyan"},void 0,!1,void 0,this),H1.jsxDEV(U8,{label:"Model",value:z,valueColor:"yellow"},void 0,!1,void 0,this),H1.jsxDEV(U8,{label:"Agent",value:G,valueColor:"magenta"},void 0,!1,void 0,this),H1.jsxDEV(U8,{label:"CWD",value:O.length>40?"…"+O.slice(-39):O,valueColor:"gray"},void 0,!1,void 0,this),!Q&&H1.jsxDEV(w,{marginTop:1,children:H1.jsxDEV(N,{color:"yellow",children:!W?"⚠ 运行 /model 配置 API Key":"⚠ 运行 /model 检查模型列表"},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),H1.jsxDEV(w,{flexDirection:"column",gap:0,borderTop:!0,borderStyle:"single",borderBottom:!0,borderLeft:!1,borderRight:!1,children:[H1.jsxDEV(w,{gap:4,children:U.map(([A,F])=>H1.jsxDEV(w,{gap:1,children:[H1.jsxDEV(N,{color:"cyan",children:A},void 0,!1,void 0,this),H1.jsxDEV(N,{dimColor:!0,children:F},void 0,!1,void 0,this)]},A,!0,void 0,this))},void 0,!1,void 0,this),H1.jsxDEV(w,{gap:4,children:M.map(([A,F])=>H1.jsxDEV(w,{gap:1,children:[H1.jsxDEV(N,{color:"cyan",children:A},void 0,!1,void 0,this),H1.jsxDEV(N,{dimColor:!0,children:F},void 0,!1,void 0,this)]},A,!0,void 0,this))},void 0,!1,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)},IX=cK;var B8=B(e(),1);var BZ=B(e(),1);class DX{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 H=O.toLowerCase();if(H.startsWith(Z))J.push({command:Q,displayText:`/${O}`,description:`${z.description} (别名)`});else if(H.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}
162
+ `;if(Y+=`描述: ${X.description}
163
+ `,X.usage)Y+=`用法: ${X.usage}
164
+ `;if(X.aliases&&X.aliases.length>0)Y+=`别名: ${X.aliases.map((J)=>`/${J}`).join(", ")}
165
+ `;return Y}let Z=`可用命令:
166
+ `;for(let X of this.getAllCommands())Z+=` /${X.name} - ${X.description}
158
167
  `;return Z+=`
159
- 使用 /help <命令名> 获取具体命令的帮助信息`,Z}}var G0=new C3;var v3={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 K5={name:"new",description:"初始化新的对话会话",aliases:["new","n"],usage:"/new [主题]",execute:async($,Z)=>{let Y=$.join(" ");if(await Z.createNewChat(),Y){let J=`我想开始一个关于 "${Y}" 的新对话。`;return Z.sendMessage([{type:"human",content:J}]),{success:!0,message:`已创建新对话,主题: ${Y}`,shouldClearInput:!0}}return{success:!0,message:"已创建新对话",shouldClearInput:!0}}},Q5={name:"help",description:"显示命令帮助信息",aliases:["h","?"],usage:"/help [命令名]",execute:async($,Z)=>{let Y=$[0];return{success:!0,message:G0.getHelp(Y),shouldClearInput:!0}}},W5={name:"task",description:"打开任务看板面板",aliases:["tasks","kanban"],usage:"/task",execute:async($,Z)=>{return Z.switchToTask?.(),{success:!0,message:"打开任务看板",shouldClearInput:!0}}},_5={name:"process",description:"打开进程管理器面板",aliases:["ps","proc"],usage:"/process",execute:async($,Z)=>{return Z.switchToProcess?.(),{success:!0,message:"打开进程管理器",shouldClearInput:!0}}},S3=[K5,Q5,W5,v3,_5];import{readFileSync as G5,readdirSync as O5}from"fs";import{join as I3}from"path";var Q$=null;function U5($){let Z=$.split(`
160
- `);if(Z[0]!=="---")return{metadata:{},content:$};let Y=Z.indexOf("---",1);if(Y===-1)return{metadata:{},content:$};let J=Z.slice(1,Y),X={};for(let Q of J){let W=Q.match(/^(\w+):\s*(.+)$/);if(W){let[,_,O]=W;if(_==="name")X.name=O.trim();if(_==="description")X.description=O.trim()}}let K=Z.slice(Y+1).join(`
161
- `).trim();return{metadata:X,content:K}}function k3($,Z){let Y=new Map;try{let J=O5($,{withFileTypes:!0});for(let X of J){let K=I3($,X.name);if(X.isDirectory())k3(K,Z).forEach((W)=>Y.set(W.name,W));else if(X.name.endsWith(".md"))try{let Q=G5(K,"utf-8"),{metadata:W,content:_}=U5(Q),O=W.name||X.name.replace(/\.md$/,"");if(!W.name)console.warn(`Template missing "name" in frontmatter: ${K}`);Y.set(O,{name:O,description:W.description||"No description",content:_,path:K})}catch(Q){console.warn(`Failed to read template file: ${K}`,Q)}}}catch(J){if(J.code!=="ENOENT")console.warn(`Error scanning templates directory: ${$}`,J)}return Y}function y3(){Q$=null}function T3($="./.claude/templates"){if(Q$)return Array.from(Q$.values());let Z=$.startsWith("/")?$:I3(process.cwd(),$);return Q$=k3(Z,Z),Array.from(Q$.values())}var N5={name:"status",description:"显示当前聊天状态信息",aliases:["stat","info"],execute:async($,Z)=>{return{success:!0,message:[`当前代理: ${Z.client?.availableAssistants.find((X)=>X.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(`
162
- `),shouldClearInput:!0}}},z5={name:"template",description:"插入预定义的消息模板",aliases:["tpl","t"],usage:"/template <模板名>",execute:async($,Z)=>{let Y=$[0];if($.includes("--refresh"))return y3(),{success:!0,message:"模板缓存已清除",shouldClearInput:!0};let J=T3();if(!Y){if(J.length===0)return{success:!0,message:"当前没有可用的模板。可以在 ./.claude/templates/ 目录下创建 .md 模板文件。",shouldClearInput:!0};return{success:!0,message:`可用模板:
163
- ${J.map((Q)=>` - ${Q.name}: ${Q.description}`).join(`
168
+ 使用 /help <命令名> 获取具体命令的帮助信息`,Z}}var H4=new DX;var jX={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 pK={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}}},dK={name:"help",description:"显示命令帮助信息",aliases:["h","?"],usage:"/help [命令名]",execute:async($,Z)=>{let X=$[0];return{success:!0,message:H4.getHelp(X),shouldClearInput:!0}}},lK={name:"process",description:"打开进程管理器面板",aliases:["ps","proc"],usage:"/process",execute:async($,Z)=>{return Z.switchToProcess?.(),{success:!0,message:"打开进程管理器",shouldClearInput:!0}}},yX=[pK,dK,jX,lK];import{readFileSync as iK,readdirSync as oK}from"fs";import{join as EX}from"path";var CZ=null;function nK($){let Z=$.split(`
169
+ `);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(`
170
+ `).trim();return{metadata:J,content:W}}function vX($,Z){let X=new Map;try{let Y=oK($,{withFileTypes:!0});for(let J of Y){let W=EX($,J.name);if(J.isDirectory())vX(W,Z).forEach((Q)=>X.set(Q.name,Q));else if(J.name.endsWith(".md"))try{let K=iK(W,"utf-8"),{metadata:Q,content:z}=nK(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 _X(){CZ=null}function fX($="./.claude/templates"){if(CZ)return Array.from(CZ.values());let Z=$.startsWith("/")?$:EX(process.cwd(),$);return CZ=vX(Z,Z),Array.from(CZ.values())}var rK={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(`
171
+ `),shouldClearInput:!0}}},aK={name:"template",description:"插入预定义的消息模板",aliases:["tpl","t"],usage:"/template <模板名>",execute:async($,Z)=>{let X=$[0];if($.includes("--refresh"))return _X(),{success:!0,message:"模板缓存已清除",shouldClearInput:!0};let Y=fX();if(!X){if(Y.length===0)return{success:!0,message:"当前没有可用的模板。可以在 ./.claude/templates/ 目录下创建 .md 模板文件。",shouldClearInput:!0};return{success:!0,message:`可用模板:
172
+ ${Y.map((K)=>` - ${K.name}: ${K.description}`).join(`
164
173
  `)}
165
174
 
166
- 使用 /template <name> 插入模板`,shouldClearInput:!0}}let X=J.find((K)=>K.name===Y);if(!X){let K=J.map((Q)=>Q.name).join(", ");return{success:!1,message:`未找到模板 "${Y}"。可用模板: ${K||"(无)"}`}}return Z.setUserInput(X.content),{success:!0,message:`已插入模板: ${X.name}
167
- ${X.description}`,shouldClearInput:!1}}},H5={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(`
168
- `),shouldClearInput:!0};let Y=$[0],J=["enable_thinking","stream_refresh_interval","provider_id","model_id","compact_mode"];if(!J.includes(Y))return{success:!1,message:`无效的配置项: ${Y}
169
- 可用配置项: ${J.join(", ")}`,shouldClearInput:!0};if($.length===1){let K;switch(Y){case"model_id":K=Z.extraParams?.model_id;break;case"provider_id":K=Z.extraParams?.provider_id;break;case"enable_thinking":K=Z.extraParams?.enable_thinking??!0;break;case"compact_mode":K=Z.compactMode??!1;break;case"stream_refresh_interval":K=Z.extraParams?.stream_refresh_interval;break}return{success:!0,message:`${Y}: ${K??"未设置"}`,shouldClearInput:!0}}let X=$.slice(1).join(" ");if(Y==="enable_thinking"||Y==="compact_mode"){if(X==="true"||X==="1"||X==="yes")X=!0;else if(X==="false"||X==="0"||X==="no")X=!1}if(Y==="stream_refresh_interval"){let K=parseInt(X,10);if(!isNaN(K))X=K}try{if(!Z.updateConfig)return{success:!1,message:"无法访问配置更新功能",shouldClearInput:!0};await Z.updateConfig({[Y]:X});let K=`配置已更新: ${Y} = ${X} 重启程序生效`;if(Y==="model_id"||Y==="provider_id")K+=`
170
-
171
- 提示: 更换模型或提供商后,请重启程序以确保完整生效`;return{success:!0,message:K,shouldClearInput:!0}}catch(K){return{success:!1,message:`配置更新失败: ${K instanceof Error?K.message:String(K)}`,shouldClearInput:!0}}}},F5={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(`
172
- `),shouldClearInput:!0};let Y=$[0];try{let X=(Z.extraParams||{}).mcp_config||{};switch(Y){case"list":{let K=Object.keys(X);if(K.length===0)return{success:!0,message:"当前未配置任何 MCP 服务器",shouldClearInput:!0};return{success:!0,message:`已配置的 MCP 服务器:
173
- ${K.map((W)=>{return` - ${W}`}).join(`
174
- `)}`,shouldClearInput:!0}}case"add":{if($.length<2)return{success:!1,message:"用法: /mcp add <name> <json_string>",shouldClearInput:!0};let[K,Q,...W]=$,_=W.join(""),O={...X,[Q]:JSON.parse(_)};if(!Z.updateConfig)return{success:!1,message:"无法访问配置更新功能",shouldClearInput:!0};return await Z.updateConfig({mcp_config:O}),{success:!0,message:`MCP 服务器 "${Q}" 已添加`,shouldClearInput:!0}}case"remove":{if($.length<2)return{success:!1,message:"用法: /mcp remove <name>",shouldClearInput:!0};let K=$[1];if(!X[K])return{success:!1,message:`MCP 服务器 "${K}" 不存在`,shouldClearInput:!0};let Q={...X};if(delete Q[K],!Z.updateConfig)return{success:!1,message:"无法访问配置更新功能",shouldClearInput:!0};return await Z.updateConfig({mcp_config:Q}),{success:!0,message:`MCP 服务器 "${K}" 已移除
175
- 重启程序生效`,shouldClearInput:!0}}case"get":{if($.length<2)return{success:!1,message:"用法: /mcp get <name>",shouldClearInput:!0};let K=$[1],Q=X[K];if(!Q)return{success:!1,message:`MCP 服务器 "${K}" 不存在`,shouldClearInput:!0};return{success:!0,message:[`MCP 服务器: ${K}`,` URL: ${Q.url}`,` Headers: ${JSON.stringify(Q.headers||{},null,2)}`].join(`
176
- `),shouldClearInput:!0}}default:return{success:!1,message:`未知操作: ${Y}
177
- 可用操作: list, add, remove, get`,shouldClearInput:!0}}}catch(J){return{success:!1,message:`MCP 操作失败: ${J instanceof Error?J.message:String(J)}`,shouldClearInput:!0}}}},L5={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 Y=Z.renderMessages.length;try{let J={...Z.extraParams,switch_command:"smart_memory"};return await Z.sendMessage([],{extraParams:J}),{success:!0,message:`正在智能分析 ${Y} 条消息并提取记忆...`,shouldClearInput:!0}}catch(J){return{success:!1,message:`总结失败: ${J instanceof Error?J.message:String(J)}`,shouldClearInput:!0}}}},A5={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}}},q5={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}}},w5={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}}},M5={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}}},R5={name:"ralph",description:"进入循环模式,持续发送响应直到返回 <COMPLETE></COMPLETE>",aliases:[],usage:"/ralph <text>",requiresArgs:!0,execute:async($,Z)=>{let Y=$.join(" ");if(!Y.trim())return{success:!1,message:"请提供要循环的文本内容",shouldClearInput:!0};if(Z.startRalphLoop)return Z.startRalphLoop(Y),{success:!0,message:`进入 Ralph 循环模式: "${Y}"`,shouldClearInput:!0};return{success:!1,message:"Ralph 循环功能不可用",shouldClearInput:!0}}},D3=[N5,z5,H5,F5,L5,A5,q5,w5,M5,R5];var b5={name:"agent",description:"打开 Agent 选择面板",aliases:["a"],usage:"/agent",execute:async($,Z)=>{if(Z.switchToAgent)Z.switchToAgent();return{success:!0,message:"打开 Agent 面板",shouldClearInput:!0}}},V3=[b5];var B5=`
175
+ 使用 /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}
176
+ ${J.description}`,shouldClearInput:!1}}},sK={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(`
177
+ `),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}
178
+ 可用配置项: ${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+=`
179
+
180
+ 提示: 更换模型或提供商后,请重启程序以确保完整生效`;return{success:!0,message:W,shouldClearInput:!0}}catch(W){return{success:!1,message:`配置更新失败: ${W instanceof Error?W.message:String(W)}`,shouldClearInput:!0}}}},tK={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(`
181
+ `),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 服务器:
182
+ ${W.map((Q)=>{return` - ${Q}`}).join(`
183
+ `)}`,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}" 已移除
184
+ 重启程序生效`,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(`
185
+ `),shouldClearInput:!0}}default:return{success:!1,message:`未知操作: ${X}
186
+ 可用操作: list, add, remove, get`,shouldClearInput:!0}}}catch(Y){return{success:!1,message:`MCP 操作失败: ${Y instanceof Error?Y.message:String(Y)}`,shouldClearInput:!0}}}},eK={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}}}},$Q={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}}},ZQ={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}}},XQ={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}}},YQ={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}}},JQ={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}}},hX=[rK,aK,sK,tK,eK,$Q,ZQ,XQ,YQ,JQ];var WQ={name:"agent",description:"打开 Agent 选择面板",aliases:["a"],usage:"/agent",execute:async($,Z)=>{if(Z.switchToAgent)Z.switchToAgent();return{success:!0,message:"打开 Agent 面板",shouldClearInput:!0}}},gX=[WQ];var KQ=`
178
187
  [Interview Mode Activated]
179
188
 
180
189
  I want to clarify requirements through guided questions.
@@ -193,8 +202,8 @@ After getting answers:
193
202
  ---
194
203
 
195
204
  User's original message:
196
- `,P5={name:"interview",description:"Start Interview mode to clarify requirements through questions",aliases:["i"],usage:"/interview [your request]",requiresArgs:!0,execute:async($,Z)=>{let Y=$.join(" ").trim();if(!Y)return{success:!1,message:`❌ Interview 模式需要提供任务描述
197
- 用法: /interview [your request]`};let J=B5+Y;return Z.sendMessage([{type:"human",content:J}],{extraParams:Z.extraParams}),{success:!0,message:"\uD83D\uDCCB Interview mode activated",shouldClearInput:!0}}},j3=[P5];var f5=`
205
+ `,QQ={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 模式需要提供任务描述
206
+ 用法: /interview [your request]`};let Y=KQ+X;return Z.sendMessage([{type:"human",content:Y}],{extraParams:Z.extraParams}),{success:!0,message:"\uD83D\uDCCB Interview mode activated",shouldClearInput:!0}}},mX=[QQ];var zQ=`
198
207
  [Plan Mode Activated]
199
208
 
200
209
  I want to create a comprehensive implementation plan for this task.
@@ -217,8 +226,8 @@ After the plan is created, ask if I want to execute it immediately or save for l
217
226
  ---
218
227
 
219
228
  User's original request:
220
- `,C5={name:"plan",description:"Enter Plan mode to create detailed implementation plans",aliases:["p"],usage:"/plan [your task description]",requiresArgs:!0,execute:async($,Z)=>{let Y=$.join(" ").trim();if(!Y)return{success:!1,message:`❌ Plan 模式需要提供任务描述
221
- 用法: /plan [your task description]`};let J=f5+Y;return Z.sendMessage([{type:"human",content:J}],{extraParams:Z.extraParams}),{success:!0,message:"\uD83D\uDCCB Plan mode activated",shouldClearInput:!0}}},h3=[C5];var E3=`
229
+ `,GQ={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 模式需要提供任务描述
230
+ 用法: /plan [your task description]`};let Y=zQ+X;return Z.sendMessage([{type:"human",content:Y}],{extraParams:Z.extraParams}),{success:!0,message:"\uD83D\uDCCB Plan mode activated",shouldClearInput:!0}}},xX=[GQ];var uX=`
222
231
  [Create AGENTS.md Mode Activated]
223
232
 
224
233
  I want to create or update the AGENTS.md file for this project.
@@ -250,7 +259,7 @@ After the AGENTS.md is created or updated, provide a summary of the changes made
250
259
  ---
251
260
 
252
261
  User's request:
253
- `,v5={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 Y=$.join(" ").trim();if(!Y)return{success:!1,message:"❌ 需要提供描述或目标。例如: /create-agent-md 初始化项目指南文档",shouldClearInput:!1};let J=E3+Y;return Z.sendMessage([{type:"human",content:J}],{extraParams:Z.extraParams}),{success:!0,message:"\uD83D\uDCDD AGENTS.md creation mode activated",shouldClearInput:!0}}},S5={name:"init-agents-md",description:"快速初始化 AGENTS.md 项目指南文档",aliases:["iam","init-agents"],usage:"/init-agents-md",requiresArgs:!1,execute:async($,Z)=>{let J=E3+"初始化项目 AGENTS.md 指南文档";return Z.sendMessage([{type:"human",content:J}],{extraParams:Z.extraParams}),{success:!0,message:"\uD83D\uDCDD 开始初始化 AGENTS.md...",shouldClearInput:!0}}},g3=[v5,S5];var p3={name:"compact-message",description:"切换紧凑消息显示模式 (紧凑模式显示简化的消息预览)",aliases:["cm"],usage:"/compact-message",requiresArgs:!1,execute:async($,Z)=>{try{let{updateConfig:Y,compactMode:J}=Z;if(!Y)return{success:!1,message:"配置更新功能不可用"};let X=J??!1;return await Y({compact_mode:!X}),{success:!0,message:!X?"紧凑模式已启用":"紧凑模式已关闭",shouldClearInput:!0}}catch(Y){return{success:!1,message:`切换紧凑模式失败: ${Y instanceof Error?Y.message:String(Y)}`}}}};var m3={name:"mcp",description:"打开 MCP 服务器配置面板",aliases:[],usage:"/mcp",execute:async($,Z)=>{return Z.switchToMcp?.(),{success:!0,message:"打开 MCP 配置面板",shouldClearInput:!0}}};var c3={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 I5=`
262
+ `,OQ={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=uX+X;return Z.sendMessage([{type:"human",content:Y}],{extraParams:Z.extraParams}),{success:!0,message:"\uD83D\uDCDD AGENTS.md creation mode activated",shouldClearInput:!0}}},HQ={name:"init-agents-md",description:"快速初始化 AGENTS.md 项目指南文档",aliases:["iam","init-agents"],usage:"/init-agents-md",requiresArgs:!1,execute:async($,Z)=>{let Y=uX+"初始化项目 AGENTS.md 指南文档";return Z.sendMessage([{type:"human",content:Y}],{extraParams:Z.extraParams}),{success:!0,message:"\uD83D\uDCDD 开始初始化 AGENTS.md...",shouldClearInput:!0}}},cX=[OQ,HQ];var pX={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 dX={name:"mcp",description:"打开 MCP 服务器配置面板",aliases:[],usage:"/mcp",execute:async($,Z)=>{return Z.switchToMcp?.(),{success:!0,message:"打开 MCP 配置面板",shouldClearInput:!0}}};var lX={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 NQ=`
254
263
  [Memory Organization Mode Activated]
255
264
 
256
265
  I want to organize and manage the .claude/memories folder.
@@ -304,31 +313,31 @@ Provide a detailed report of:
304
313
 
305
314
  ---
306
315
 
307
- `,k5={name:"memory-clear",description:"整理 .claude/memories 文件夹,清理、合并和优化项目记忆",aliases:["mem-clean","clean-memory"],usage:"/memory-clear",execute:async($,Z)=>{let Y=$.join(" ").trim(),J=I5+(Y?`Additional context: ${Y}
316
+ `,UQ={name:"memory-clear",description:"整理 .claude/memories 文件夹,清理、合并和优化项目记忆",aliases:["mem-clean","clean-memory"],usage:"/memory-clear",execute:async($,Z)=>{let X=$.join(" ").trim(),Y=NQ+(X?`Additional context: ${X}
308
317
 
309
- ---`:"开始整理记忆文件夹。");return Z.sendMessage([{type:"human",content:J}],{extraParams:Z.extraParams}),{success:!0,message:"\uD83E\uDDE0 记忆整理模式已激活 - 正在分析 .claude/memories 文件夹...",shouldClearInput:!0}}},u3=[k5];function u1($){if($===0)return"0 B";let Z=1024,Y=["B","KB","MB","GB"],J=Math.floor(Math.log($)/Math.log(Z));return parseFloat(($/Math.pow(Z,J)).toFixed(2))+" "+Y[J]}function q6(){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 x3(){return typeof Bun<"u"}function y5(){let $=q6();if(x3()&&typeof Bun.gc==="function"){Bun.gc(!0);let Z=q6(),Y=$.heapUsed-Z.heapUsed;return{success:!0,before:$,after:Z,freed:Y,message:`GC 执行成功,释放了 ${u1(Math.max(0,Y))} 内存`}}if(globalThis.global&&typeof globalThis.global.gc==="function"){globalThis.global.gc();let Z=q6(),Y=$.heapUsed-Z.heapUsed;return{success:!0,before:$,after:Z,freed:Y,message:`GC 执行成功,释放了 ${u1(Math.max(0,Y))} 内存`}}return{success:!1,before:$,message:`/gc 命令仅在 Bun 或者 node --expose-gc 可用
310
- `+"当前内存使用: "+u1($.heapUsed)+" / "+u1($.heapTotal)}}function T5(){let $=[];if(!x3())$.push("/gc 命令仅支持 Bun 运行时,请使用 bun 启动应用");else $.push("当前运行在 Bun 环境,/gc 命令已就绪");return $.join(`
311
- `)}var d3={name:"gc",description:"手动触发垃圾回收,减少内存占用",aliases:["garbage-collect","mem-opt","memory"],usage:"/gc",execute:async($,Z)=>{let Y=$.includes("-v")||$.includes("--verbose"),J=y5(),X=`\uD83D\uDDD1️ ${J.message}
312
- `;if(J.before&&J.after){if(X+=`
318
+ ---`:"开始整理记忆文件夹。");return Z.sendMessage([{type:"human",content:Y}],{extraParams:Z.extraParams}),{success:!0,message:"\uD83E\uDDE0 记忆整理模式已激活 - 正在分析 .claude/memories 文件夹...",shouldClearInput:!0}}},iX=[UQ];function m0($){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 k6(){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 oX(){return typeof Bun<"u"}function wQ(){let $=k6();if(oX()&&typeof Bun.gc==="function"){Bun.gc(!0);let Z=k6(),X=$.heapUsed-Z.heapUsed;return{success:!0,before:$,after:Z,freed:X,message:`GC 执行成功,释放了 ${m0(Math.max(0,X))} 内存`}}if(globalThis.global&&typeof globalThis.global.gc==="function"){globalThis.global.gc();let Z=k6(),X=$.heapUsed-Z.heapUsed;return{success:!0,before:$,after:Z,freed:X,message:`GC 执行成功,释放了 ${m0(Math.max(0,X))} 内存`}}return{success:!1,before:$,message:`/gc 命令仅在 Bun 或者 node --expose-gc 可用
319
+ `+"当前内存使用: "+m0($.heapUsed)+" / "+m0($.heapTotal)}}function MQ(){let $=[];if(!oX())$.push("/gc 命令仅支持 Bun 运行时,请使用 bun 启动应用");else $.push("当前运行在 Bun 环境,/gc 命令已就绪");return $.join(`
320
+ `)}var nX={name:"gc",description:"手动触发垃圾回收,减少内存占用",aliases:["garbage-collect","mem-opt","memory"],usage:"/gc",execute:async($,Z)=>{let X=$.includes("-v")||$.includes("--verbose"),Y=wQ(),J=`\uD83D\uDDD1️ ${Y.message}
321
+ `;if(Y.before&&Y.after){if(J+=`
313
322
  \uD83D\uDCCA 内存统计:
314
- `,X+=` Before: ${u1(J.before.heapUsed)} / ${u1(J.before.heapTotal)}
315
- `,X+=` After: ${u1(J.after.heapUsed)} / ${u1(J.after.heapTotal)}
316
- `,J.freed!==void 0&&J.freed>0)X+=` Freed: ${u1(J.freed)}
317
- `}else if(J.before)X+=`
318
- \uD83D\uDCCA 当前内存使用: ${u1(J.before.heapUsed)} / ${u1(J.before.heapTotal)}
319
- `;if(!J.success||Y)X+=`
323
+ `,J+=` Before: ${m0(Y.before.heapUsed)} / ${m0(Y.before.heapTotal)}
324
+ `,J+=` After: ${m0(Y.after.heapUsed)} / ${m0(Y.after.heapTotal)}
325
+ `,Y.freed!==void 0&&Y.freed>0)J+=` Freed: ${m0(Y.freed)}
326
+ `}else if(Y.before)J+=`
327
+ \uD83D\uDCCA 当前内存使用: ${m0(Y.before.heapUsed)} / ${m0(Y.before.heapTotal)}
328
+ `;if(!Y.success||X)J+=`
320
329
  \uD83D\uDCA1 提示:
321
- `,X+=` ${T5().replace(/\n/g,`
330
+ `,J+=` ${MQ().replace(/\n/g,`
322
331
  `)}
323
- `;return{success:J.success,message:X,shouldClearInput:!0}}};var l3={name:"errors",description:"打开错误日志面板",aliases:["error","err"],usage:"/errors",execute:async($,Z)=>{return Z.switchToErrors?.(),{success:!0,message:"打开错误日志面板",shouldClearInput:!0}}};[...S3,...D3,...V3,...j3,...h3,...g3,...u3,p3,m3,c3,d3,l3].forEach(($)=>{G0.register($)});var O0=A(M(),1),i3=($)=>{let{onCommandExecuted:Z,switchToHistory:Y,switchToKnowledge:J,switchToSettings:X,switchToAgent:K,closePanel:Q,switchToTask:W,switchToModelProvider:_,switchToMcp:O,switchToProcess:N,switchToErrors:U}=$,{userInput:F,setUserInput:L,sendMessage:q,currentAgent:w,client:R,createNewChat:P,renderMessages:S}=$1(),{extraParams:u,updateConfig:m,AVAILABLE_MODELS:t,compactMode:v}=Z1(),[i,r]=W$.useState(null),[I,j]=W$.useState(null);B1(()=>{r(null)},i?3000:null),B1(()=>{j(null)},I?5000:null);let x=F.startsWith("/"),A1=x?G0.getSuggestions(F):[],F0=x,p$=W$.useCallback(async(_$)=>{let r0=_$||F;if(!G0.isCommand(r0))return!1;try{let n0={userInput:r0,setUserInput:L,sendMessage(m$,y6={}){return q(m$,{extraParams:{...u,...y6.extraParams},...y6,metadata:r1})},currentAgent:w,client:R,extraParams:u,createNewChat(){return P(r1)},updateConfig:m,AVAILABLE_MODELS:t,renderMessages:S,compactMode:v,switchToHistory:Y,switchToKnowledge:J,switchToSettings:X,switchToModelProvider:_,switchToAgent:K,switchToTask:W,switchToMcp:O,switchToProcess:N,switchToErrors:U,closePanel:Q,startRalphLoop:$.startRalphLoop},L0=await G0.executeCommand(r0,n0);if(!L0.success)r(L0.message||"命令执行失败");else if(L0.message)j(L0.message);if(L0.shouldClearInput)L("");if(L0.shouldSendMessage&&L0.messageContent){let m$=[{type:"human",content:L0.messageContent}];q(m$,{extraParams:u})}return Z?.(),!0}catch(n0){return r(`命令执行错误: ${n0 instanceof Error?n0.message:String(n0)}`),!0}},[F,L,q,w,R,u,P,Z,t,v,Y,J,X,_,K,W,O,N,U,Q,$.startRalphLoop]);return{isCommandInput:x,commandSuggestions:A1,showCommandHint:F0,commandError:i,executeCommand:p$,CommandHintUI:()=>{if(!F0||A1.length===0)return null;return O0.jsxDEV(z,{marginBottom:1,flexDirection:"column",children:[O0.jsxDEV(G,{color:"yellow",bold:!0,children:"命令建议:"},void 0,!1,void 0,this),A1.slice(0,5).map((_$,r0)=>O0.jsxDEV(G,{color:"cyan",children:[_$.displayText," - ",_$.description]},r0,!0,void 0,this)),A1.length>5&&O0.jsxDEV(G,{color:"gray",children:["...还有 ",A1.length-5," 个命令"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)},CommandErrorUI:()=>{if(!i)return null;return O0.jsxDEV(z,{marginBottom:1,children:O0.jsxDEV(G,{color:"red",children:["❌ ",i]},void 0,!0,void 0,this)},void 0,!1,void 0,this)},CommandSuccessUI:()=>{if(!I)return null;return O0.jsxDEV(z,{marginBottom:1,children:O0.jsxDEV(G,{color:"green",children:["✅ ",I]},void 0,!0,void 0,this)},void 0,!1,void 0,this)}}};function o3({manager:$,enabled:Z=!0}){return y$({queryKey:T$.skills.list(),queryFn:async()=>{if(!$)throw Error("ConfigManager not initialized");return await $.listSkills()},enabled:Z&&!!$,staleTime:120000})}var D5=[{id:"agents/default",name:"Jarvis",description:"代码实现助手"},{id:"agents/manager",name:"Manager",description:"任务管理员"}];function r3({enabled:$=!0}={}){return y$({queryKey:T$.agents.list(),queryFn:async()=>{return D5},enabled:$,staleTime:300000})}var x1=A(D(),1);function n3({loading:$,renderMessages:Z,sendMessage:Y,setUserInput:J,extraParams:X}){let[K,Q]=x1.useState(null),[W,_]=x1.useState(!1),O=x1.useRef(!1),N=x1.useRef(0),U=x1.useCallback(async(L)=>{if(!L)return;let q=O.current?`
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.]`:"",w=[{type:"human",content:L+q}];await Y(w,{extraParams:X,metadata:r1})},[Y,X]);B1(()=>{if(K)U(K);_(!1)},W?100:null);let F=x1.useCallback((L)=>{Q(L),O.current=!0,N.current=0,_(!0)},[]);return x1.useEffect(()=>{if(O.current&&K&&!$){let L=Z.length;if(L>N.current){N.current=L;let q=Z[L-1],w=g0(q);if(typeof w==="string"&&w.includes("<COMPLETE></COMPLETE>"))O.current=!1,Q(null),J0("Ralph 循环完成");else U(K)}}},[$,Z,K,U]),{ralphLoopText:K,startRalphLoop:F,sendTextMessage:U}}var $0=A(D(),1);import{execa as E5}from"execa";var G1=[];for(let $=0;$<256;++$)G1.push(($+256).toString(16).slice(1));function a3($,Z=0){return(G1[$[Z+0]]+G1[$[Z+1]]+G1[$[Z+2]]+G1[$[Z+3]]+"-"+G1[$[Z+4]]+G1[$[Z+5]]+"-"+G1[$[Z+6]]+G1[$[Z+7]]+"-"+G1[$[Z+8]]+G1[$[Z+9]]+"-"+G1[$[Z+10]]+G1[$[Z+11]]+G1[$[Z+12]]+G1[$[Z+13]]+G1[$[Z+14]]+G1[$[Z+15]]).toLowerCase()}import{randomFillSync as V5}from"crypto";var V$=new Uint8Array(256),D$=V$.length;function w6(){if(D$>V$.length-16)V5(V$),D$=0;return V$.slice(D$,D$+=16)}import{randomUUID as j5}from"crypto";var M6={randomUUID:j5};function h5($,Z,Y){if(M6.randomUUID&&!Z&&!$)return M6.randomUUID();$=$||{};let J=$.random??$.rng?.()??w6();if(J.length<16)throw Error("Random bytes length must be >= 16");if(J[6]=J[6]&15|64,J[8]=J[8]&63|128,Z){if(Y=Y||0,Y<0||Y+16>Z.length)throw RangeError(`UUID byte range ${Y}:${Y+15} is out of buffer bounds`);for(let X=0;X<16;++X)Z[Y+X]=J[X];return Z}return a3(J)}var R6=h5;var g5=new Map;async function t3($){let{command:Z,cwd:Y,timeout:J}=$,X=R6();try{let K=process.platform==="win32",_=E5(K?"cmd.exe":"/bin/bash",[...K?["/d","/s","/c"]:["-c"],Z],{cwd:Y,detached:!0,reject:!1,windowsVerbatimArguments:K,timeout:J});if(!_.pid)return{id:X,pid:0,output:"Error: Failed to start command",status:"failed",exitCode:-1};let O={process:_,stdout:[],stderr:[],command:Z,startTime:Date.now()};s3.set(_.pid,O),g5.set(X,_.pid);let N=[];_.stdout?.on("data",(F)=>{let L=F.toString();N.push(L),O.stdout.push(L)}),_.stderr?.on("data",(F)=>{let L=F.toString();N.push(L),O.stderr.push(L)}),_.on("close",(F)=>{O.status=F===0?"completed":"failed",O.exitCode=F}),await new Promise((F)=>setTimeout(F,100));let U=O.status||"running";return{id:X,pid:_.pid,output:N.join(""),status:U,exitCode:O.exitCode}}catch(K){let Q=K instanceof Error?K.message:"Unknown error";return{id:X,pid:0,output:`Error: ${Q}`,status:"failed",exitCode:-1}}}var p5=["vim","nano","less","more","top","htop","git commit","git rebase -i","crontab -e","vi","emacs"],m5=($)=>{let Z=$.toLowerCase().trim(),Y=Z.split(/\s+/);for(let J of p5)if(Z===J||Z.startsWith(J+" "))return`⚠️ 交互式命令不支持,请使用非交互模式:
326
- `+' 例如: git commit -m "message" 或使用 --no-edit 参数';if(Y[0]==="git"&&Y[1]==="commit"){if(!(Y.includes("-m")||Y.includes("--message")||Y.includes("--amend")||Y.includes("--no-edit")))return`⚠️ 交互式命令不支持,请使用非交互模式:
327
- `+' 例如: git commit -m "message" 或使用 --no-edit 参数'}return null};var e3=()=>{let[$,Z]=$0.useState(null),[Y,J]=$0.useState(!1),X=$0.useRef(null);$0.useEffect(()=>{return()=>{if(X.current)clearTimeout(X.current)}},[]);let K=$0.useCallback(()=>{if(Z(null),J(!1),X.current)clearTimeout(X.current),X.current=null},[]);return{executeCommand:$0.useCallback(async(W)=>{let _=W.trim();if(!_)return null;let O=m5(_);if(O)return Z({id:"",command:_,output:O,status:"failed"}),J(!1),$;J(!0);try{let N=await t3({command:_,cwd:process.cwd()}),U={id:N.id,command:_,output:N.output||"",status:N.status||"completed",exitCode:N.exitCode,pid:N.pid};if(Z(U),J(!1),U.status==="completed"||U.status==="failed")X.current=setTimeout(()=>{K()},5000);return U}catch(N){let U=N instanceof Error?N.message:"Unknown error",F={id:"",command:_,output:`Error executing command: ${U}`,status:"failed"};return Z(F),J(!1),X.current=setTimeout(()=>{K()},5000),F}},[K,$]),activeCommand:$,clearOutput:K,isExecuting:Y}};var W1=A(D(),1);var V0=A(D(),1);import b6 from"fuzzysort";function c5($,Z){if(Z===0)return!0;let Y=$[Z-1];return Y===" "||Y===`
328
- `||Y==="\t"}function u5($,Z){let Y=Z+1;while(Y<$.length&&!/[\s\n\t]/.test($[Y]))Y++;return $.slice(Z+1,Y)}function x5($,Z,Y){if(!Z)return $.slice(0,Y).map((Q)=>({skill:Q,result:null}));let J=$.map((Q)=>({skill:Q,name:b6.prepare(Q.name.toLowerCase()),description:b6.prepare((Q.description||"").toLowerCase())}));return b6.go(Z.toLowerCase(),J,{key:"name",limit:Y,threshold:-1e4}).map((Q)=>({skill:Q.obj.skill,result:Q}))}function $Z({skills:$,maxSuggestions:Z=5}){let[Y,J]=V0.useState({visible:!1,query:"",filteredSkills:[],triggerPosition:-1}),X=V0.useCallback((O,N)=>{let U=O.lastIndexOf("#");if(U===-1){J((q)=>({...q,visible:!1,query:"",filteredSkills:[],triggerPosition:-1}));return}if(!c5(O,U)){J((q)=>({...q,visible:!1,query:"",filteredSkills:[],triggerPosition:-1}));return}let F=u5(O,U),L=x5($,F,Z);if(L.length===1&&L[0].skill.name.toLowerCase()===F.toLowerCase()){J((q)=>({...q,visible:!1,query:"",filteredSkills:[],triggerPosition:-1}));return}J((q)=>({...q,visible:!0,query:F,filteredSkills:L,triggerPosition:U}))},[$.length,Z]),K=V0.useCallback(()=>{if(!Y.visible||Y.filteredSkills.length===0)return null;return Y.filteredSkills[0]?.skill??null},[Y.visible,Y.filteredSkills]),Q=V0.useCallback((O)=>{let N=K();if(!N)return O;let U=O.slice(0,Y.triggerPosition),F=O.slice(Y.triggerPosition+1+Y.query.length);return`${U}#${N.name} ${F}`},[K,Y.triggerPosition,Y.query]),W=V0.useCallback(()=>{J((O)=>({...O,visible:!1,query:"",filteredSkills:[],triggerPosition:-1}))},[]),_=Y.visible&&Y.filteredSkills.length>0;return{state:Y,checkTrigger:X,getFirstSkill:K,complete:Q,hide:W,isActive:_}}var j0=A(D(),1);function d5($,Z){if(Z===0)return!0;let Y=$[Z-1];return Y===" "||Y===`
329
- `||Y==="\t"}function l5($,Z){let Y=Z+1;while(Y<$.length&&!/[\s\n\t]/.test($[Y]))Y++;return $.slice(Z+1,Y)}function i5($,Z,Y){let J=Z.toLowerCase(),X=$.filter((K)=>{let Q=K.name.toLowerCase(),W=K.id.toLowerCase();return Q.startsWith(J)||W.includes(J)});return X.sort((K,Q)=>K.name.localeCompare(Q.name)),X.slice(0,Y)}function ZZ({agents:$,maxSuggestions:Z=5}){let[Y,J]=j0.useState({visible:!1,query:"",filteredAgents:[],triggerPosition:-1}),X=j0.useCallback((O,N)=>{let U=O.lastIndexOf("@");if(U===-1){J((q)=>({...q,visible:!1,query:"",filteredAgents:[],triggerPosition:-1}));return}if(!d5(O,U)){J((q)=>({...q,visible:!1,query:"",filteredAgents:[],triggerPosition:-1}));return}let F=l5(O,U),L=i5($,F,Z);if(L.length===1&&L[0].name.toLowerCase()===F.toLowerCase()){J((q)=>({...q,visible:!1,query:"",filteredAgents:[],triggerPosition:-1}));return}J((q)=>({...q,visible:!0,query:F,filteredAgents:L,triggerPosition:U}))},[$.length,Z]),K=j0.useCallback(()=>{if(!Y.visible||Y.filteredAgents.length===0)return null;return Y.filteredAgents[0]??null},[Y.visible,Y.filteredAgents]),Q=j0.useCallback((O)=>{let N=K();if(!N)return O;let U=O.slice(0,Y.triggerPosition),F=O.slice(Y.triggerPosition+1+Y.query.length);return`${U}@${N.name} ${F}`},[K,Y.triggerPosition,Y.query]),W=j0.useCallback(()=>{J((O)=>({...O,visible:!1,query:"",filteredAgents:[],triggerPosition:-1}))},[]),_=Y.visible&&Y.filteredAgents.length>0;return{state:Y,checkTrigger:X,getFirstAgent:K,complete:Q,hide:W,isActive:_}}var YZ=A(D(),1);var v1=A(M(),1);function o5({name:$,result:Z}){if(!Z)return v1.jsxDEV(G,{color:"cyan",children:$},void 0,!1,void 0,this);let Y=Z.highlight((J)=>v1.jsxDEV(G,{color:"green",bold:!0,children:J},void 0,!1,void 0,this));if(Array.isArray(Y))return v1.jsxDEV(G,{color:"cyan",children:Y.map((J,X)=>{if(typeof J==="string")return v1.jsxDEV(G,{children:J},`p-${X}`,!1,void 0,this);return v1.jsxDEV(YZ.default.Fragment,{children:J},`m-${X}`,!1,void 0,this)})},void 0,!1,void 0,this);return v1.jsxDEV(G,{color:"cyan",children:$},void 0,!1,void 0,this)}var XZ=({visible:$,skills:Z,query:Y,maxVisible:J=5})=>{if(!$||Z.length===0)return null;let X=Z.slice(0,J);return v1.jsxDEV(z,{marginBottom:1,flexDirection:"column",children:[v1.jsxDEV(G,{color:"yellow",bold:!0,children:"技能建议 (按 → 补全):"},void 0,!1,void 0,this),X.map(({skill:K,result:Q})=>v1.jsxDEV(z,{children:[v1.jsxDEV(G,{children:" #"},void 0,!1,void 0,this),v1.jsxDEV(o5,{name:K.name,result:Q},void 0,!1,void 0,this)]},K.name,!0,void 0,this)),Z.length>J&&v1.jsxDEV(G,{color:"gray",children:["...还有 ",Z.length-J," 个技能"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)};var L1=A(M(),1);function r5({name:$,query:Z}){if(!Z)return L1.jsxDEV(G,{color:"magenta",children:$},void 0,!1,void 0,this);let Y=$.toLowerCase(),J=Z.toLowerCase();if(Y.startsWith(J))return L1.jsxDEV(L1.Fragment,{children:[L1.jsxDEV(G,{color:"green",bold:!0,children:$.slice(0,Z.length)},void 0,!1,void 0,this),L1.jsxDEV(G,{color:"magenta",children:$.slice(Z.length)},void 0,!1,void 0,this)]},void 0,!0,void 0,this);return L1.jsxDEV(G,{color:"magenta",children:$},void 0,!1,void 0,this)}var JZ=({visible:$,agents:Z,query:Y,maxVisible:J=5})=>{if(!$||Z.length===0)return null;let X=Z.slice(0,J);return L1.jsxDEV(z,{marginBottom:1,flexDirection:"column",children:[L1.jsxDEV(G,{color:"yellow",bold:!0,children:"Agent 建议 (按 → 补全):"},void 0,!1,void 0,this),X.map((K)=>L1.jsxDEV(z,{children:[L1.jsxDEV(G,{children:" @"},void 0,!1,void 0,this),L1.jsxDEV(r5,{name:K.name,query:Y},void 0,!1,void 0,this),L1.jsxDEV(G,{dimColor:!0,children:[" - ",K.description]},void 0,!0,void 0,this)]},K.id,!0,void 0,this)),Z.length>J&&L1.jsxDEV(G,{color:"gray",children:["...还有 ",Z.length-J," 个 Agent"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)};import KZ from"chalk";function n5($){if($.length===0)return[];let Z=[];if($.startsWith("/")){let Y=$.indexOf(" ");if(Y===-1)return Z.push({type:"command",value:$}),Z;let J=$.slice(0,Y),X=$.slice(Y);return Z.push({type:"command",value:J}),Z.push(...QZ(X,"args")),Z}return Z.push(...QZ($,"text")),Z}function QZ($,Z){let Y=[],J=/(^|(?<=\s))(#[\w-]+)/g,X=0,K;while((K=J.exec($))!==null){let Q=K[2],W=K.index+K[1].length;if(W>X)Y.push({type:Z,value:$.slice(X,W)});Y.push({type:"skill",value:Q}),X=W+Q.length}if(X<$.length)Y.push({type:Z,value:$.slice(X)});return Y}function a5($){return $.map(({type:Z,value:Y})=>{switch(Z){case"command":return KZ.cyan.bold(Y);case"args":return Y;case"skill":return KZ.green.bold(Y);case"text":return Y}}).join("")}function WZ($){if($.length===0)return $;let Z=n5($);return a5(Z)}var GZ=A(D(),1);function OZ(){let{extraParams:$}=Z1(),{sendMessage:Z,loading:Y}=$1(),{bufferedMessage:J,clearBuffer:X}=j$(),K=_Z();GZ.useEffect(()=>{if(!Y&&J.trim()){let Q=[{type:"human",content:J}];X(),Z(Q,{extraParams:$}).then(()=>{J0("Zen Code 完成任务")}).catch((W)=>{console.error("Failed to send buffered message:",W)})}},[Y,J,Z,$,X,K])}var U0=A(M(),1),UZ=({value:$,onChange:Z,onSubmit:Y,loading:J,placeholder:X="输入消息...",commandHandler:K,skills:Q=[],agents:W=[]})=>{OZ();let{bufferedMessage:_,setBufferedMessage:O,clearBuffer:N}=j$(),[U,F]=W1.useState($),L=W1.useRef(!1),q=$Z({skills:Q,maxSuggestions:5}),w=ZZ({agents:W,maxSuggestions:5});W1.useEffect(()=>{if($!==U)L.current=!0,F($)},[$]);let R=W1.useMemo(()=>U.startsWith("/"),[U]),P=W1.useMemo(()=>U.startsWith("/")&&!U.includes(" "),[U]);W1.useEffect(()=>{if(!P)q.checkTrigger(U),w.checkTrigger(U)},[U,P]);let S=W1.useCallback((I)=>{if(L.current){L.current=!1;return}F(I),Z(I)},[Z]),u=W1.useCallback((I)=>{if(!I.trim())return;if(q.hide(),w.hide(),R){Y(I),F("");return}if(J)O(I),F("");else Y(I),F("")},[R,J,Y,O,q,w]),m=W1.useCallback(()=>{if(w.isActive){w.hide();return}if(q.isActive){q.hide();return}if(_)N();else F("")},[_,N,q.isActive,w.isActive]),t=W1.useCallback(()=>{if(!R||!K.commandSuggestions||K.commandSuggestions.length===0)return!1;let j=K.commandSuggestions[0],A1=(j.displayText||j.command||"")+" ";return S(A1),!0},[R,K.commandSuggestions,S]),v=W1.useCallback(()=>{if(!q.isActive)return!1;let I=q.complete(U);return S(I),q.hide(),!0},[q.isActive,U,S]),i=W1.useCallback(()=>{if(!w.isActive)return!1;let I=w.complete(U);return S(I),w.hide(),!0},[w.isActive,U,S]),r=W1.useMemo(()=>{if(J)return _?"按 Esc 清空缓冲区":"AI 响应中,Enter 将消息加入缓冲区";if(R)return"输入命令... (试试 /help,按 → 补全第一个建议)";if(w.isActive)return"按 → 补全 Agent";if(q.isActive)return"按 → 补全技能";return X},[J,_,R,w.isActive,q.isActive,X]);return U0.jsxDEV(z,{flexDirection:"column",children:[_&&U0.jsxDEV(z,{padding:1,children:U0.jsxDEV(G,{color:"yellow",children:["\uD83D\uDCDD 缓冲区: ",_.slice(0,50),_.length>50?"...":""]},void 0,!0,void 0,this)},void 0,!1,void 0,this),U0.jsxDEV(K.CommandHintUI,{},void 0,!1,void 0,this),U0.jsxDEV(JZ,{visible:w.state.visible,agents:w.state.filteredAgents,query:w.state.query},void 0,!1,void 0,this),U0.jsxDEV(XZ,{visible:q.state.visible,skills:q.state.filteredSkills,query:q.state.query},void 0,!1,void 0,this),U0.jsxDEV(z,{paddingY:1,children:U0.jsxDEV(h1,{id:"global-input",value:U,onChange:S,onSubmit:u,colorizeContent:WZ,onHotKey:(I,j)=>{if(j.escape)return m(),!1;if(j.rightArrow){if(w.isActive){if(i())return!1}if(q.isActive){if(v())return!1}if(t())return!1}return!0},placeholder:r},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)};var h$=A(D(),1);var U1=A(M(),1);var s5=($)=>{switch($){case"running":return{icon:"⏳",color:"yellow"};case"completed":return{icon:"✓",color:"green"};case"failed":return{icon:"✗",color:"red"}}},t5=($,Z=10)=>{if(!$)return"";let Y=$.split(`
330
- `);if(Y.length<=Z)return $;return[...Y.slice(0,Z),"... (more)"].join(`
331
- `)},B6=h$.memo(({commandResult:$,onClose:Z,onStop:Y})=>{let{exit:J}=NZ();if(h$.useEffect(()=>{let w=(R)=>{if(R.key==="escape")Z()};return process.stdin.on("keypress",w),()=>{process.stdin.off("keypress",w)}},[Z]),!$)return null;let{command:X,output:K,status:Q,pid:W}=$,{icon:_,color:O}=s5(Q),N=t5(K,10),U=U1.jsxDEV(z,{justifyContent:"space-between",children:[U1.jsxDEV(z,{children:U1.jsxDEV(G,{bold:!0,color:"cyan",children:["\uD83D\uDCDF $ ",X]},void 0,!0,void 0,this)},void 0,!1,void 0,this),U1.jsxDEV(z,{children:[Q==="running"&&Y&&U1.jsxDEV(G,{bold:!0,color:"red",children:[" ","[⏹ 停止]"]},void 0,!0,void 0,this),U1.jsxDEV(G,{bold:!0,color:"gray",children:[" ","[×]"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),F=U1.jsxDEV(z,{flexDirection:"column",marginTop:0,children:N.split(`
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(`
332
+ `;return{success:Y.success,message:J,shouldClearInput:!0}}};var rX={name:"errors",description:"打开错误日志面板",aliases:["error","err"],usage:"/errors",execute:async($,Z)=>{return Z.switchToErrors?.(),{success:!0,message:"打开错误日志面板",shouldClearInput:!0}}};[...yX,...hX,...gX,...mX,...xX,...cX,...iX,pX,dX,lX,nX,rX].forEach(($)=>{H4.register($)});var N4=B(V(),1),aX=($)=>{let{onCommandExecuted:Z,switchToHistory:X,switchToKnowledge:Y,switchToSettings:J,switchToAgent:W,closePanel:K,switchToModelProvider:Q,switchToMcp:z,switchToProcess:G,switchToErrors:O}=$,{userInput:H,setUserInput:U,sendMessage:M,currentAgent:A,client:F,createNewChat:P,renderMessages:S}=d1(),{extraParams:T,updateConfig:p,AVAILABLE_MODELS:f,compactMode:a}=p1(),[b,_]=BZ.useState(null),[Z1,E]=BZ.useState(null);M0(()=>{_(null)},b?3000:null),M0(()=>{E(null)},Z1?5000:null);let n=H.startsWith("/"),Q1=n?H4.getSuggestions(H):[],a1=n,Y0=BZ.useCallback(async(f1)=>{let t0=f1||H;if(!H4.isCommand(t0))return!1;try{let P1={userInput:t0,setUserInput:U,sendMessage(P$,j4={}){return M(P$,{extraParams:{...T,...j4.extraParams},...j4,metadata:s4})},currentAgent:A,client:F,extraParams:T,createNewChat(){return P(s4)},updateConfig:p,AVAILABLE_MODELS:f,renderMessages:S,compactMode:a,switchToHistory:X,switchToKnowledge:Y,switchToSettings:J,switchToModelProvider:Q,switchToAgent:W,switchToMcp:z,switchToProcess:G,switchToErrors:O,closePanel:K,startRalphLoop:$.startRalphLoop},J0=await H4.executeCommand(t0,P1);if(!J0.success)_(J0.message||"命令执行失败");else if(J0.message)E(J0.message);if(J0.shouldClearInput)U("");if(J0.shouldSendMessage&&J0.messageContent){let P$=[{type:"human",content:J0.messageContent}];M(P$,{extraParams:T})}return Z?.(),!0}catch(P1){return _(`命令执行错误: ${P1 instanceof Error?P1.message:String(P1)}`),!0}},[H,U,M,A,F,T,P,Z,f,a,X,Y,J,Q,W,z,G,O,K,$.startRalphLoop]);return{isCommandInput:n,commandSuggestions:Q1,showCommandHint:a1,commandError:b,executeCommand:Y0,CommandHintUI:()=>{if(!a1||Q1.length===0)return null;return N4.jsxDEV(w,{marginBottom:1,flexDirection:"column",children:[N4.jsxDEV(N,{color:"yellow",bold:!0,children:"命令建议:"},void 0,!1,void 0,this),Q1.slice(0,5).map((f1,t0)=>N4.jsxDEV(N,{color:"cyan",children:[f1.displayText," - ",f1.description]},t0,!0,void 0,this)),Q1.length>5&&N4.jsxDEV(N,{color:"gray",children:["...还有 ",Q1.length-5," 个命令"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)},CommandErrorUI:()=>{if(!b)return null;return N4.jsxDEV(w,{marginBottom:1,children:N4.jsxDEV(N,{color:"red",children:["❌ ",b]},void 0,!0,void 0,this)},void 0,!1,void 0,this)},CommandSuccessUI:()=>{if(!Z1)return null;return N4.jsxDEV(w,{marginBottom:1,children:N4.jsxDEV(N,{color:"green",children:["✅ ",Z1]},void 0,!0,void 0,this)},void 0,!1,void 0,this)}}};function sX({manager:$,enabled:Z=!0}){return w8({queryKey:M8.skills.list(),queryFn:async()=>{if(!$)throw Error("ConfigManager not initialized");return await $.listSkills()},enabled:Z&&!!$,staleTime:120000})}var qQ=[{id:"agents/default",name:"Jarvis",description:"代码实现助手"},{id:"agents/manager",name:"Manager",description:"任务管理员"}];function tX({enabled:$=!0}={}){return w8({queryKey:M8.agents.list(),queryFn:async()=>{return qQ},enabled:$,staleTime:300000})}var x0=B(e(),1);function eX({loading:$,renderMessages:Z,sendMessage:X,setUserInput:Y,extraParams:J}){let[W,K]=x0.useState(null),[Q,z]=x0.useState(!1),G=x0.useRef(!1),O=x0.useRef(0),H=x0.useCallback(async(M)=>{if(!M)return;let A=G.current?`
333
+
334
+ [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:s4})},[X,J]);M0(()=>{if(W)H(W);z(!1)},Q?100:null);let U=x0.useCallback((M)=>{K(M),G.current=!0,O.current=0,z(!0)},[]);return x0.useEffect(()=>{if(G.current&&W&&!$){let M=Z.length;if(M>O.current){O.current=M;let A=Z[M-1],F=O$(A);if(typeof F==="string"&&F.includes("<COMPLETE></COMPLETE>"))G.current=!1,K(null),C$("Ralph 循环完成");else H(W)}}},[$,Z,W,H]),{ralphLoopText:W,startRalphLoop:U,sendTextMessage:H}}var s0=B(e(),1);AQ();var FQ=new Map;async function X9($){let{command:Z,cwd:X,timeout:Y}=$,J=$9();try{let W=process.platform==="win32",z=S$(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()};Z9.set(z.pid,G),FQ.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 H=G.status||"running";return{id:J,pid:z.pid,output:O.join(""),status:H,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 CQ=["vim","nano","less","more","top","htop","git rebase -i","crontab -e","vi","emacs"],BQ=($)=>{let Z=$.toLowerCase().trim(),X=Z.split(/\s+/);for(let Y of CQ)if(Z===Y||Z.startsWith(Y+" "))return`⚠️ 交互式命令不支持,请使用非交互模式:
335
+ `+' 例如: 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`⚠️ 交互式命令不支持,请使用非交互模式:
336
+ `+' 例如: git commit -m "message" 或使用 --no-edit 参数'}return null};var Y9=()=>{let[$,Z]=s0.useState(null),[X,Y]=s0.useState(!1),J=s0.useRef(null);s0.useEffect(()=>{return()=>{if(J.current)clearTimeout(J.current)}},[]);let W=s0.useCallback(()=>{if(Z(null),Y(!1),J.current)clearTimeout(J.current),J.current=null},[]);return{executeCommand:s0.useCallback(async(Q)=>{let z=Q.trim();if(!z)return null;let G=BQ(z);if(G)return Z({id:"",command:z,output:G,status:"failed"}),Y(!1),$;Y(!0);try{let O=await X9({command:z,cwd:process.cwd()}),H={id:O.id,command:z,output:O.output||"",status:O.status||"completed",exitCode:O.exitCode,pid:O.pid};if(Z(H),Y(!1),H.status==="completed"||H.status==="failed")J.current=setTimeout(()=>{W()},5000);return H}catch(O){let H=O instanceof Error?O.message:"Unknown error",U={id:"",command:z,output:`Error executing command: ${H}`,status:"failed"};return Z(U),Y(!1),J.current=setTimeout(()=>{W()},5000),U}},[W,$]),activeCommand:$,clearOutput:W,isExecuting:X}};var x1=B(e(),1);var t4=B(e(),1),A8=B(W9(),1);function K9($,Z){if(Z===0)return!0;let X=$[Z-1];return X===" "||X===`
337
+ `||X==="\t"}function Q9($,Z){let X=Z+1;while(X<$.length&&!/[\s\n\t]/.test($[X]))X++;return $.slice(Z+1,X)}function PQ($,Z,X){if(!Z)return $.slice(0,X).map((K)=>({skill:K,result:null}));let Y=$.map((K)=>({skill:K,name:A8.default.prepare(K.name.toLowerCase()),description:A8.default.prepare((K.description||"").toLowerCase())}));return A8.default.go(Z.toLowerCase(),Y,{key:"name",limit:X,threshold:-1e4}).map((K)=>({skill:K.obj.skill,result:K}))}function z9({skills:$,maxSuggestions:Z=5}){let[X,Y]=t4.useState({visible:!1,query:"",filteredSkills:[],triggerPosition:-1}),J=t4.useCallback((G,O)=>{let H=G.lastIndexOf("#");if(H===-1){Y((A)=>({...A,visible:!1,query:"",filteredSkills:[],triggerPosition:-1}));return}if(!K9(G,H)){Y((A)=>({...A,visible:!1,query:"",filteredSkills:[],triggerPosition:-1}));return}let U=Q9(G,H),M=PQ($,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:H}))},[$.length,Z]),W=t4.useCallback(()=>{if(!X.visible||X.filteredSkills.length===0)return null;return X.filteredSkills[0]?.skill??null},[X.visible,X.filteredSkills]),K=t4.useCallback((G)=>{let O=W();if(!O)return G;let H=G.lastIndexOf("#");if(H===-1||!K9(G,H))return G;let U=Q9(G,H),M=G.slice(0,H),A=G.slice(H+1+U.length);return`${M}#${O.name} ${A.trimStart()}`},[W]),Q=t4.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 e4=B(e(),1);function G9($,Z){if(Z===0)return!0;let X=$[Z-1];return X===" "||X===`
338
+ `||X==="\t"}function O9($,Z){let X=Z+1;while(X<$.length&&!/[\s\n\t]/.test($[X]))X++;return $.slice(Z+1,X)}function LQ($,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 H9({agents:$,maxSuggestions:Z=5}){let[X,Y]=e4.useState({visible:!1,query:"",filteredAgents:[],triggerPosition:-1}),J=e4.useCallback((G,O)=>{let H=G.lastIndexOf("@");if(H===-1){Y((A)=>({...A,visible:!1,query:"",filteredAgents:[],triggerPosition:-1}));return}if(!G9(G,H)){Y((A)=>({...A,visible:!1,query:"",filteredAgents:[],triggerPosition:-1}));return}let U=O9(G,H),M=LQ($,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:H}))},[$.length,Z]),W=e4.useCallback(()=>{if(!X.visible||X.filteredAgents.length===0)return null;return X.filteredAgents[0]??null},[X.visible,X.filteredAgents]),K=e4.useCallback((G)=>{let O=W();if(!O)return G;let H=G.lastIndexOf("@");if(H===-1||!G9(G,H))return G;let U=O9(G,H),M=G.slice(0,H),A=G.slice(H+1+U.length);return`${M}@${O.name} ${A.trimStart()}`},[W]),Q=e4.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 N9=B(e(),1);var B0=B(V(),1);function RQ({name:$,result:Z}){if(!Z)return B0.jsxDEV(N,{color:"cyan",children:$},void 0,!1,void 0,this);let X=Z.highlight((Y)=>B0.jsxDEV(N,{color:"green",bold:!0,children:Y},void 0,!1,void 0,this));if(Array.isArray(X))return B0.jsxDEV(N,{color:"cyan",children:X.map((Y,J)=>{if(typeof Y==="string")return B0.jsxDEV(N,{children:Y},`p-${J}`,!1,void 0,this);return B0.jsxDEV(N9.default.Fragment,{children:Y},`m-${J}`,!1,void 0,this)})},void 0,!1,void 0,this);return B0.jsxDEV(N,{color:"cyan",children:$},void 0,!1,void 0,this)}var U9=({visible:$,skills:Z,query:X,maxVisible:Y=5})=>{if(!$||Z.length===0)return null;let J=Z.slice(0,Y);return B0.jsxDEV(w,{marginBottom:1,flexDirection:"column",children:[B0.jsxDEV(N,{color:"yellow",bold:!0,children:"技能建议 (按 → 补全):"},void 0,!1,void 0,this),J.map(({skill:W,result:K},Q)=>B0.jsxDEV(w,{children:[B0.jsxDEV(N,{color:Q===0?"yellow":void 0,children:Q===0?" #":" #"},void 0,!1,void 0,this),B0.jsxDEV(RQ,{name:W.name,result:K},void 0,!1,void 0,this)]},W.name,!0,void 0,this)),Z.length>Y&&B0.jsxDEV(N,{color:"gray",children:["...还有 ",Z.length-Y," 个技能"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)};var X0=B(V(),1);function SQ({name:$,query:Z}){if(!Z)return X0.jsxDEV(N,{color:"magenta",children:$},void 0,!1,void 0,this);let X=$.toLowerCase(),Y=Z.toLowerCase();if(X.startsWith(Y))return X0.jsxDEV(X0.Fragment,{children:[X0.jsxDEV(N,{color:"green",bold:!0,children:$.slice(0,Z.length)},void 0,!1,void 0,this),X0.jsxDEV(N,{color:"magenta",children:$.slice(Z.length)},void 0,!1,void 0,this)]},void 0,!0,void 0,this);return X0.jsxDEV(N,{color:"magenta",children:$},void 0,!1,void 0,this)}var w9=({visible:$,agents:Z,query:X,maxVisible:Y=5})=>{if(!$||Z.length===0)return null;let J=Z.slice(0,Y);return X0.jsxDEV(w,{marginBottom:1,flexDirection:"column",children:[X0.jsxDEV(N,{color:"yellow",bold:!0,children:"Agent 建议 (按 → 补全):"},void 0,!1,void 0,this),J.map((W,K)=>X0.jsxDEV(w,{children:[X0.jsxDEV(N,{color:K===0?"yellow":void 0,children:K===0?" @":" @"},void 0,!1,void 0,this),X0.jsxDEV(SQ,{name:W.name,query:X},void 0,!1,void 0,this),X0.jsxDEV(N,{dimColor:!0,children:[" - ",W.description]},void 0,!0,void 0,this)]},W.id,!0,void 0,this)),Z.length>Y&&X0.jsxDEV(N,{color:"gray",children:["...还有 ",Z.length-Y," 个 Agent"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)};function VQ($){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(...M9(J,"args")),Z}return Z.push(...M9($,"text")),Z}function M9($,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 kQ($){return $.map(({type:Z,value:X})=>{switch(Z){case"command":return T6.cyan.bold(X);case"args":return X;case"skill":return T6.green.bold(X);case"text":return X}}).join("")}function q9($){if($.length===0)return $;let Z=VQ($);return kQ(Z)}var F9=B(e(),1);function C9(){let{extraParams:$}=p1(),{sendMessage:Z,loading:X}=d1(),{bufferedMessage:Y,clearBuffer:J}=F8(),W=A9();F9.useEffect(()=>{if(!X&&Y.trim()){let K=[{type:"human",content:Y}];J(),Z(K,{extraParams:$}).then(()=>{C$("Zen Code 完成任务")}).catch((Q)=>{console.error("Failed to send buffered message:",Q)})}},[X,Y,Z,$,J,W])}var U4=B(V(),1),B9=({value:$,onChange:Z,onSubmit:X,loading:Y,placeholder:J="输入消息...",commandHandler:W,skills:K=[],agents:Q=[]})=>{C9();let{bufferedMessage:z,setBufferedMessage:G,clearBuffer:O}=F8(),[H,U]=x1.useState($),M=x1.useRef(!1),A=z9({skills:K,maxSuggestions:5}),F=H9({agents:Q,maxSuggestions:5});x1.useEffect(()=>{if($!==H)M.current=!0,U($)},[$]);let P=x1.useMemo(()=>H.startsWith("/"),[H]),S=x1.useMemo(()=>H.startsWith("/")&&!H.includes(" "),[H]);x1.useEffect(()=>{if(!S)A.checkTrigger(H),F.checkTrigger(H)},[H,S]);let T=x1.useCallback((E)=>{if(M.current){M.current=!1;return}U(E),Z(E)},[Z]),p=x1.useCallback((E)=>{if(!E.trim())return;if(A.hide(),F.hide(),P){X(E),U("");return}if(Y)G(E),U("");else X(E),U("")},[P,Y,X,G,A,F]),f=x1.useCallback(()=>{if(F.isActive){F.hide();return}if(A.isActive){A.hide();return}if(z)O();else U("")},[z,O,A.isActive,F.isActive]),a=x1.useCallback(()=>{if(!P||!W.commandSuggestions||W.commandSuggestions.length===0)return!1;let n=W.commandSuggestions[0],a1=(n.displayText||n.command||"")+" ";return T(a1),!0},[P,W.commandSuggestions,T]),b=x1.useCallback(()=>{if(!A.isActive)return!1;let E=A.complete(H);return T(E),A.hide(),!0},[A.isActive,A.complete,A.hide,H,T]),_=x1.useCallback(()=>{if(!F.isActive)return!1;let E=F.complete(H);return T(E),F.hide(),!0},[F.isActive,F.complete,F.hide,H,T]),Z1=x1.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 U4.jsxDEV(w,{flexDirection:"column",children:[z&&U4.jsxDEV(w,{padding:1,children:U4.jsxDEV(N,{color:"yellow",children:["\uD83D\uDCDD 缓冲区: ",z.slice(0,50),z.length>50?"...":""]},void 0,!0,void 0,this)},void 0,!1,void 0,this),U4.jsxDEV(W.CommandHintUI,{},void 0,!1,void 0,this),U4.jsxDEV(w9,{visible:F.state.visible,agents:F.state.filteredAgents,query:F.state.query},void 0,!1,void 0,this),U4.jsxDEV(U9,{visible:A.state.visible,skills:A.state.filteredSkills,query:A.state.query},void 0,!1,void 0,this),U4.jsxDEV(w,{paddingY:1,children:U4.jsxDEV(y0,{id:"global-input",value:H,onChange:T,onSubmit:p,colorizeContent:q9,onHotKey:(E,n)=>{if(n.escape)return f(),!1;if(n.rightArrow){if(F.isActive){if(_())return!1}if(A.isActive){if(b())return!1}if(a())return!1}return!0},placeholder:Z1},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)};var C8=B(e(),1);var r1=B(V(),1);var TQ=($)=>{switch($){case"running":return{icon:"⏳",color:"yellow"};case"completed":return{icon:"✓",color:"green"};case"failed":return{icon:"✗",color:"red"}}},bQ=($,Z=10)=>{if(!$)return"";let X=$.split(`
339
+ `);if(X.length<=Z)return $;return[...X.slice(0,Z),"... (more)"].join(`
340
+ `)},b6=C8.memo(({commandResult:$,onClose:Z,onStop:X})=>{let{exit:Y}=P9();if(C8.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=bQ(W,10),H=r1.jsxDEV(w,{justifyContent:"space-between",children:[r1.jsxDEV(w,{children:r1.jsxDEV(N,{bold:!0,color:"cyan",children:["\uD83D\uDCDF $ ",J]},void 0,!0,void 0,this)},void 0,!1,void 0,this),r1.jsxDEV(w,{children:[K==="running"&&X&&r1.jsxDEV(N,{bold:!0,color:"red",children:[" ","[⏹ 停止]"]},void 0,!0,void 0,this),r1.jsxDEV(N,{bold:!0,color:"gray",children:[" ","[×]"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),U=r1.jsxDEV(w,{flexDirection:"column",marginTop:0,children:O.split(`
341
+ `).map((F,P)=>r1.jsxDEV(w,{children:r1.jsxDEV(N,{color:"gray",children:F},void 0,!1,void 0,this)},P,!1,void 0,this))},void 0,!1,void 0,this),M=r1.jsxDEV(w,{justifyContent:"space-between",marginTop:0,children:[r1.jsxDEV(N,{color:G,children:[z," ",K==="running"?"Running...":K.charAt(0).toUpperCase()+K.slice(1)]},void 0,!0,void 0,this),Q&&r1.jsxDEV(N,{color:"gray",children:["PID: ",Q]},void 0,!0,void 0,this)]},void 0,!0,void 0,this);return r1.jsxDEV(w,{flexDirection:"column",paddingX:1,paddingY:0,borderStyle:"single",borderColor:"gray",width:"100%",children:[H,r1.jsxDEV(w,{children:r1.jsxDEV(N,{color:"gray",children:"────────────────────────────────────────────────────────"},void 0,!1,void 0,this)},void 0,!1,void 0,this),O&&U,M]},void 0,!0,void 0,this)});b6.displayName="ShellOutputPreview";var B$=B(V(),1),I6=B8.memo(()=>{let{userInput:$,setUserInput:Z,loading:X,renderMessages:Y,sendMessage:J}=d1(),{extraParams:W,manager:K}=p1(),{executeCommand:Q,activeCommand:z,clearOutput:G,isExecuting:O}=Y9(),{switchToHistory:H,switchToKnowledge:U,switchToSettings:M,switchToModelProvider:A,switchToAgent:F,switchToMcp:P,switchToProcess:S,switchToErrors:T,closePanel:p}=G$(),{data:f=[]}=sX({manager:K}),{data:a=[]}=tX(),{startRalphLoop:b}=eX({loading:X,renderMessages:Y,sendMessage:J,setUserInput:Z,extraParams:W}),_=aX({extraParams:W,switchToHistory:H,switchToKnowledge:U,switchToSettings:M,switchToModelProvider:A,switchToAgent:F,switchToMcp:P,switchToProcess:S,switchToErrors:T,closePanel:p,startRalphLoop:b}),Z1=B8.useCallback(async(E)=>{if(!E)return;if(E.startsWith("!")){let n=E.slice(1).trim();if(n)await Q(n),Z("");return}if(E.startsWith("/")){if(await _.executeCommand(E)){Z("");return}}await J([{type:"human",content:E}],{extraParams:W,metadata:s4}),C$("Zen Code 完成任务")},[_,Z,Q,W,J]);return B$.jsxDEV(w,{flexDirection:"column",paddingX:0,paddingY:0,borderColor:"grey",borderTop:!0,borderStyle:"single",borderLeft:!1,borderBottom:!1,borderRight:!1,children:[z&&B$.jsxDEV(b6,{commandResult:z,onClose:G},void 0,!1,void 0,this),B$.jsxDEV(_.CommandErrorUI,{},void 0,!1,void 0,this),B$.jsxDEV(_.CommandSuccessUI,{},void 0,!1,void 0,this),B$.jsxDEV(B9,{value:$,onChange:Z,onSubmit:Z1,loading:X,commandHandler:{isCommandInput:_.isCommandInput,CommandHintUI:_.CommandHintUI,commandSuggestions:_.commandSuggestions},skills:f,agents:a},void 0,!1,void 0,this)]},void 0,!0,void 0,this)});I6.displayName="ChatInput";var P0=B(V(),1),IQ=()=>{let{renderMessages:$,currentChatId:Z,getToolUIRender:X,loading:Y}=d1(),{compactMode:J}=p1(),[W]=L9($,500),K=S9.useCallback((Q)=>X(Q),[X]);return P0.jsxDEV(w,{flexDirection:"column",flexGrow:1,paddingX:0,paddingY:0,children:W.length===0?P0.jsxDEV(IX,{},void 0,!1,void 0,this):J?P0.jsxDEV(kX,{renderMessages:W,startIndex:0,staticKey:Z,getToolUIRender:K,loading:Y},Z,!1,void 0,this):P0.jsxDEV(PX,{loading:Y,renderMessages:W,startIndex:0,staticKey:Z},void 0,!1,void 0,this)},void 0,!1,void 0,this)},D6=()=>{let{hasPendingInteractions:$}=S0();return P0.jsxDEV(w,{flexDirection:"column",flexGrow:1,children:[P0.jsxDEV(w1,{name:"ChatMessages",fallback:null,children:P0.jsxDEV(IQ,{},void 0,!1,void 0,this)},void 0,!1,void 0,this),P0.jsxDEV(R9,{children:P0.jsxDEV(w1,{name:"InteractionArea",fallback:null,children:$?P0.jsxDEV(w,{paddingX:0,paddingY:0,children:P0.jsxDEV(U6,{},void 0,!1,void 0,this)},void 0,!1,void 0,this):P0.jsxDEV(I6,{},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this)};D6.displayName="ChatMain";var u0=B(e(),1);var w4=B(e(),1),V9=w4.lazy(()=>import("./chunk-075hks9v.js").then(($)=>({default:$.default}))),k9=w4.lazy(()=>import("./chunk-whdf0vbb.js").then(($)=>({default:$.default}))),T9=w4.lazy(()=>import("./chunk-gz7fz9fg.js").then(($)=>({default:$.default}))),b9=w4.lazy(()=>import("./chunk-4scrkcqv.js").then(($)=>({default:$.default}))),I9=w4.lazy(()=>import("./chunk-54cdhhqm.js").then(($)=>({default:$.default}))),D9=w4.lazy(()=>import("./chunk-mm9w91rj.js").then(($)=>({default:$.default}))),j9=w4.lazy(()=>import("./chunk-wd3gkd45.js").then(($)=>({default:$.default}))),y9=w4.lazy(()=>import("./chunk-bm7578sn.js").then(($)=>({default:$.default})));var t=B(V(),1),T4=()=>t.jsxDEV(w,{paddingX:1,paddingY:1,children:t.jsxDEV(N,{color:"grey",children:"Loading..."},void 0,!1,void 0,this)},void 0,!1,void 0,this),b4=($)=>t.jsxDEV(w,{paddingX:1,paddingY:1,children:[t.jsxDEV(N,{color:"red",children:["✗ ",$," panel error"]},void 0,!0,void 0,this),t.jsxDEV(w,{marginTop:1,children:t.jsxDEV(N,{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),j6=u0.memo(()=>{let{activeView:$,closePanel:Z}=G$();return t.jsxDEV(w,{flexGrow:1,flexDirection:"row",children:[$==="history"&&t.jsxDEV(u0.Suspense,{fallback:t.jsxDEV(T4,{},void 0,!1,void 0,this),children:t.jsxDEV(w1,{name:"HistoryPanel",fallback:b4("History"),children:t.jsxDEV(V9,{onClose:Z},void 0,!1,void 0,this)},"history-panel",!1,void 0,this)},"history-suspense",!1,void 0,this),$==="knowledge"&&t.jsxDEV(u0.Suspense,{fallback:t.jsxDEV(T4,{},void 0,!1,void 0,this),children:t.jsxDEV(w1,{name:"KnowledgePanel",fallback:b4("Knowledge"),children:t.jsxDEV(k9,{onClose:Z},void 0,!1,void 0,this)},"knowledge-panel",!1,void 0,this)},"knowledge-suspense",!1,void 0,this),$==="settings"&&t.jsxDEV(u0.Suspense,{fallback:t.jsxDEV(T4,{},void 0,!1,void 0,this),children:t.jsxDEV(w1,{name:"SettingsPanel",fallback:b4("Settings"),children:t.jsxDEV(T9,{onClose:Z},void 0,!1,void 0,this)},"settings-panel",!1,void 0,this)},"settings-suspense",!1,void 0,this),$==="model-provider"&&t.jsxDEV(u0.Suspense,{fallback:t.jsxDEV(T4,{},void 0,!1,void 0,this),children:t.jsxDEV(w1,{name:"ModelProviderPanel",fallback:b4("Model Provider"),children:t.jsxDEV(b9,{onClose:Z},void 0,!1,void 0,this)},"model-provider-panel",!1,void 0,this)},"model-provider-suspense",!1,void 0,this),$==="agent"&&t.jsxDEV(u0.Suspense,{fallback:t.jsxDEV(T4,{},void 0,!1,void 0,this),children:t.jsxDEV(w1,{name:"AgentPanel",fallback:b4("Agent"),children:t.jsxDEV(I9,{onClose:Z},void 0,!1,void 0,this)},"agent-panel",!1,void 0,this)},"agent-suspense",!1,void 0,this),$==="mcp"&&t.jsxDEV(u0.Suspense,{fallback:t.jsxDEV(T4,{},void 0,!1,void 0,this),children:t.jsxDEV(w1,{name:"McpPanel",fallback:b4("MCP"),children:t.jsxDEV(D9,{onClose:Z},void 0,!1,void 0,this)},"mcp-panel",!1,void 0,this)},"mcp-suspense",!1,void 0,this),$==="process"&&t.jsxDEV(u0.Suspense,{fallback:t.jsxDEV(T4,{},void 0,!1,void 0,this),children:t.jsxDEV(w1,{name:"ProcessPanel",fallback:b4("Process"),children:t.jsxDEV(j9,{onClose:Z},void 0,!1,void 0,this)},"process-panel",!1,void 0,this)},"process-suspense",!1,void 0,this),$==="errors"&&t.jsxDEV(u0.Suspense,{fallback:t.jsxDEV(T4,{},void 0,!1,void 0,this),children:t.jsxDEV(w1,{name:"ErrorPanel",fallback:b4("Errors"),children:t.jsxDEV(y9,{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)});j6.displayName="LazyChatViewManager";var I4=B(e(),1);var E9=B(e(),1);var P8=B(V(),1),v9=()=>{let{renderMessages:$}=d1(),Z=E9.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 P8.jsxDEV(w,{paddingX:1,children:[P8.jsxDEV(N,{color:"green",bold:!0,children:"MCP"},void 0,!1,void 0,this),P8.jsxDEV(N,{color:"cyan",children:[" ",Z.toolCount]},void 0,!0,void 0,this)]},void 0,!0,void 0,this)};var c0=B(e(),1);function E6($){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 _9($){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 f9($){let[Z,X]=c0.useState(0),Y=c0.useRef(null);return c0.useEffect(()=>{if($)Y.current=Date.now(),X(0);else Y.current=null,X(0)},[$]),y6(()=>{if(Y.current)X(Date.now()-Y.current)},$?1000:null),Z}function h9(){let[$,Z]=c0.useState({cpuPercent:0,memoryRSS:0,memoryHeapUsed:0,memoryHeapTotal:0}),X=c0.useRef(process.cpuUsage()),Y=c0.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 c0.useEffect(()=>{J()},[]),y6(J,2000),$}function g9($){if($<50)return"green";if($<80)return"yellow";return"red"}function m9($,Z){if(Z===0)return"gray";let X=$/Z*100;if(X<50)return"green";if(X<80)return"yellow";return"red"}var M4=B(V(),1),DQ=()=>{let $=h9(),Z=g9($.cpuPercent),X=m9($.memoryHeapUsed,$.memoryHeapTotal);return M4.jsxDEV(w,{paddingX:1,width:"100%",children:M4.jsxDEV(w,{gap:2,children:[M4.jsxDEV(w,{children:[M4.jsxDEV(N,{dimColor:!0,children:"CPU:"},void 0,!1,void 0,this),M4.jsxDEV(N,{color:Z,children:[" ",$.cpuPercent.toFixed(0),"%"]},void 0,!0,void 0,this)]},void 0,!0,void 0,this),M4.jsxDEV(w,{children:[M4.jsxDEV(N,{dimColor:!0,children:"MEM:"},void 0,!1,void 0,this),M4.jsxDEV(N,{color:X,children:[E6($.memoryHeapUsed),"/",E6($.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)},x9=DQ;var _1=B(V(),1);import jQ from"path";var yQ=()=>{let{extraParams:$,compactMode:Z,showDetailedInfo:X}=p1(),{currentChatId:Y,renderMessages:J}=d1(),{loading:W,stopGeneration:K}=d1(),Q=process.env.YOLO_MODE==="true",[z,G]=I4.useState(0);I4.useEffect(()=>{let F=async()=>{let S=await c9.getProcessList();G(S.length)};F();let P=setInterval(F,2000);return()=>clearInterval(P)},[]);let O=I4.useCallback((F,P)=>{if(P.ctrl&&F==="c")process.exit()},[W,K]);b0(O);let H=f9(W),U=I4.default.useMemo(()=>{return jQ.basename(process.cwd())},[]),A=(J?.length||0)>100;return _1.jsxDEV(w,{flexDirection:"column",width:"100%",children:[_1.jsxDEV(w,{paddingX:1,paddingY:0,justifyContent:"space-between",width:"100%",marginBottom:1,children:[_1.jsxDEV(w,{gap:1,children:[W&&_1.jsxDEV(N,{color:"yellow",bold:!0,children:_1.jsxDEV(u9,{text:"LOADING"},void 0,!1,void 0,this)},void 0,!1,void 0,this),!W&&_1.jsxDEV(N,{color:"magenta",bold:!0,children:"Zen Code"},void 0,!1,void 0,this),_1.jsxDEV(N,{color:"cyan",bold:!0,children:[" ",$.model_id]},void 0,!0,void 0,this),_1.jsxDEV(N,{color:"yellow",bold:!0,children:[" ","@",$.switch_command||"default"]},void 0,!0,void 0,this),!Z&&_1.jsxDEV(N,{color:"blue",bold:!0,children:[" ","[FULL]"]},void 0,!0,void 0,this),Q&&_1.jsxDEV(N,{color:"red",bold:!0,children:[" ","YOLO"]},void 0,!0,void 0,this),_1.jsxDEV(v9,{},void 0,!1,void 0,this),z>0&&_1.jsxDEV(N,{color:"magenta",bold:!0,children:[" ","● BG (",z,")"]},void 0,!0,void 0,this),A&&_1.jsxDEV(N,{color:"red",bold:!0,children:[" ","/summary"]},void 0,!0,void 0,this),_1.jsxDEV(N,{color:"green",bold:!0,children:J.length},void 0,!1,void 0,this),_1.jsxDEV(N,{color:"blue",children:U},void 0,!1,void 0,this)]},void 0,!0,void 0,this),W&&_1.jsxDEV(w,{children:_1.jsxDEV(N,{color:"yellow",children:_9(H)},void 0,!1,void 0,this)},void 0,!1,void 0,this)]},void 0,!0,void 0,this),X&&_1.jsxDEV(x9,{},void 0,!1,void 0,this)]},void 0,!0,void 0,this)},p9=yQ;var F1=B(V(),1),EQ=()=>{let{activeView:$}=G$();return F1.jsxDEV(w,{flexDirection:"column",width:"100%",children:[F1.jsxDEV(w,{flexGrow:1,flexDirection:"row",children:[F1.jsxDEV(w1,{name:"ChatMain",fallback:F1.jsxDEV(N,{color:"yellow",children:"Chat view unavailable"},void 0,!1,void 0,this),children:$==="chat"?F1.jsxDEV(D6,{},void 0,!1,void 0,this):null},"chat-main-view",!1,void 0,this),F1.jsxDEV(w1,{name:"PanelView",fallback:F1.jsxDEV(N,{color:"yellow",children:"Panel unavailable"},void 0,!1,void 0,this),children:$!=="chat"?F1.jsxDEV(j6,{},void 0,!1,void 0,this):null},"panel-view",!1,void 0,this)]},void 0,!0,void 0,this),F1.jsxDEV(w1,{name:"StatusBar",fallback:null,children:F1.jsxDEV(p9,{},void 0,!1,void 0,this)},"status-bar",!1,void 0,this)]},void 0,!0,void 0,this)},vQ=()=>{return F1.jsxDEV(w1,{name:"Chat",children:F1.jsxDEV(l7,{children:F1.jsxDEV(EQ,{},void 0,!1,void 0,this)},void 0,!1,void 0,this)},void 0,!1,void 0,this)},_Q=({children:$})=>{return F1.jsxDEV(d9,{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-t0f66x64.js").then(({logAgentError:Y})=>{Y("ChatProvider",Z)}).catch(()=>{})},fetch:X5,autoRestoreLastSession:!0,historyFilter:{metadata:{path:process.cwd()}},children:$},void 0,!1,void 0,this)},fQ=()=>{return F1.jsxDEV(w1,{name:"AppRoot",children:F1.jsxDEV(w1,{name:"TanStackQueryProvider",children:F1.jsxDEV(m6,{children:F1.jsxDEV(w1,{name:"SettingsProvider",children:F1.jsxDEV(i9,{get_allowed_models:n5,children:F1.jsxDEV(_Q,{children:F1.jsxDEV(w1,{name:"ApprovalProvider",children:F1.jsxDEV(l9,{children:F1.jsxDEV(w1,{name:"InteractionProvider",children:F1.jsxDEV(VZ,{children:F1.jsxDEV(vQ,{},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)},hQ=()=>F1.jsxDEV(fQ,{},void 0,!1,void 0,this),v6=hQ;var p0=B(V(),1),gQ=({error:$})=>p0.jsxDEV(w,{flexDirection:"column",padding:2,borderStyle:"double",borderColor:"red",children:[p0.jsxDEV(N,{color:"red",bold:!0,children:"✗ Application Crashed"},void 0,!1,void 0,this),p0.jsxDEV(w,{marginTop:1,children:p0.jsxDEV(N,{color:"red",children:$.message},void 0,!1,void 0,this)},void 0,!1,void 0,this),p0.jsxDEV(w,{marginTop:1,children:p0.jsxDEV(N,{color:"gray",children:["Stack: ",$.stack?.split(`
333
342
  `).slice(0,3).join(`
334
- `)]},void 0,!0,void 0,this)},void 0,!1,void 0,this),l1.jsxDEV(z,{marginTop:1,children:l1.jsxDEV(G,{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{k6(l1.jsxDEV(I6,{},void 0,!1,void 0,this),{exitOnCtrlC:!1})}catch($){console.error("Critical rendering error:",$),k6(l1.jsxDEV(_X,{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:",$)});
343
+ `)]},void 0,!0,void 0,this)},void 0,!1,void 0,this),p0.jsxDEV(w,{marginTop:1,children:p0.jsxDEV(N,{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{_6(p0.jsxDEV(v6,{},void 0,!1,void 0,this),{exitOnCtrlC:!1})}catch($){console.error("Critical rendering error:",$),_6(p0.jsxDEV(gQ,{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:",$)});