@treasuredata/tdx 0.8.11 → 0.9.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 (180) hide show
  1. package/dist/bin.js +1 -1
  2. package/dist/build-info.json +2 -2
  3. package/dist/cli-categories.d.ts +1 -1
  4. package/dist/cli-categories.js +1 -1
  5. package/dist/cli-categories.js.map +1 -1
  6. package/dist/cli.d.ts.map +1 -1
  7. package/dist/cli.js +1 -1
  8. package/dist/cli.js.map +1 -1
  9. package/dist/client/cdp-api-client.js +1 -1
  10. package/dist/client/engage-api-client.js +1 -1
  11. package/dist/client/http-client.js +1 -1
  12. package/dist/client/llm-api-client.d.ts +88 -0
  13. package/dist/client/llm-api-client.d.ts.map +1 -1
  14. package/dist/client/llm-api-client.js +1 -1
  15. package/dist/client/llm-api-client.js.map +1 -1
  16. package/dist/client/rate-limiter.js +1 -1
  17. package/dist/client/td-api-client.js +1 -1
  18. package/dist/client/trino-api-client.js +1 -1
  19. package/dist/client/workflow-client.js +1 -1
  20. package/dist/commands/activations.js +1 -1
  21. package/dist/commands/agent-command.d.ts +32 -0
  22. package/dist/commands/agent-command.d.ts.map +1 -0
  23. package/dist/commands/agent-command.js +1 -0
  24. package/dist/commands/agent-command.js.map +1 -0
  25. package/dist/commands/api-command.js +1 -1
  26. package/dist/commands/auth-command.js +1 -1
  27. package/dist/commands/chat-command.d.ts +3 -2
  28. package/dist/commands/chat-command.d.ts.map +1 -1
  29. package/dist/commands/chat-command.js +1 -1
  30. package/dist/commands/chat-command.js.map +1 -1
  31. package/dist/commands/claude-command.d.ts +23 -0
  32. package/dist/commands/claude-command.d.ts.map +1 -1
  33. package/dist/commands/claude-command.js +1 -1
  34. package/dist/commands/claude-command.js.map +1 -1
  35. package/dist/commands/claude-statusline-command.js +1 -1
  36. package/dist/commands/claude-usage-command.js +1 -1
  37. package/dist/commands/command.js +1 -1
  38. package/dist/commands/connection-command.js +1 -1
  39. package/dist/commands/context-command.js +1 -1
  40. package/dist/commands/databases.js +1 -1
  41. package/dist/commands/describe.js +1 -1
  42. package/dist/commands/engage-command.js +1 -1
  43. package/dist/commands/job-command.js +1 -1
  44. package/dist/commands/journey-command.d.ts +12 -0
  45. package/dist/commands/journey-command.d.ts.map +1 -1
  46. package/dist/commands/journey-command.js +1 -1
  47. package/dist/commands/journey-command.js.map +1 -1
  48. package/dist/commands/llm-command.d.ts +8 -4
  49. package/dist/commands/llm-command.d.ts.map +1 -1
  50. package/dist/commands/llm-command.js +1 -1
  51. package/dist/commands/llm-command.js.map +1 -1
  52. package/dist/commands/llm-proxy.js +1 -1
  53. package/dist/commands/parent-segment-command.js +1 -1
  54. package/dist/commands/profiles-command.js +1 -1
  55. package/dist/commands/query-command.js +1 -1
  56. package/dist/commands/segment-command.js +1 -1
  57. package/dist/commands/segment-create-command.js +1 -1
  58. package/dist/commands/segment-fields-command.js +1 -1
  59. package/dist/commands/segment-pull-command.js +1 -1
  60. package/dist/commands/segment-push-command.d.ts.map +1 -1
  61. package/dist/commands/segment-push-command.js +1 -1
  62. package/dist/commands/segment-push-command.js.map +1 -1
  63. package/dist/commands/segment-update-command.js +1 -1
  64. package/dist/commands/segment-use-command.js +1 -1
  65. package/dist/commands/segments.d.ts.map +1 -1
  66. package/dist/commands/segments.js +1 -1
  67. package/dist/commands/segments.js.map +1 -1
  68. package/dist/commands/show.js +1 -1
  69. package/dist/commands/tables.js +1 -1
  70. package/dist/commands/use-command.d.ts +1 -0
  71. package/dist/commands/use-command.d.ts.map +1 -1
  72. package/dist/commands/use-command.js +1 -1
  73. package/dist/commands/use-command.js.map +1 -1
  74. package/dist/commands/user-command.js +1 -1
  75. package/dist/commands/workflow-command.js +1 -1
  76. package/dist/core/auth.js +1 -1
  77. package/dist/core/config.d.ts +32 -0
  78. package/dist/core/config.d.ts.map +1 -1
  79. package/dist/core/config.js +1 -1
  80. package/dist/core/config.js.map +1 -1
  81. package/dist/core/connection-cache.js +1 -1
  82. package/dist/core/credential-cache.js +1 -1
  83. package/dist/core/global-context.d.ts +1 -0
  84. package/dist/core/global-context.d.ts.map +1 -1
  85. package/dist/core/global-context.js +1 -1
  86. package/dist/core/global-context.js.map +1 -1
  87. package/dist/core/keychain.js +1 -1
  88. package/dist/core/profile.js +1 -1
  89. package/dist/core/project-config.js +1 -1
  90. package/dist/core/session.d.ts +1 -0
  91. package/dist/core/session.d.ts.map +1 -1
  92. package/dist/core/session.js +1 -1
  93. package/dist/core/session.js.map +1 -1
  94. package/dist/core/user-cache.js +1 -1
  95. package/dist/index.js +1 -1
  96. package/dist/proxy/anthropic-adapter.js +1 -1
  97. package/dist/proxy/claude-usage-tracker.js +1 -1
  98. package/dist/proxy/context-signature.js +1 -1
  99. package/dist/proxy/conversation-utils.js +1 -1
  100. package/dist/proxy/server.js +1 -1
  101. package/dist/proxy/session-cache.js +1 -1
  102. package/dist/sdk/agent/agent-yaml.d.ts +386 -0
  103. package/dist/sdk/agent/agent-yaml.d.ts.map +1 -0
  104. package/dist/sdk/agent/agent-yaml.js +1 -0
  105. package/dist/sdk/agent/agent-yaml.js.map +1 -0
  106. package/dist/sdk/api.js +1 -1
  107. package/dist/sdk/connection.js +1 -1
  108. package/dist/sdk/engage.js +1 -1
  109. package/dist/sdk/errors.d.ts +6 -0
  110. package/dist/sdk/errors.d.ts.map +1 -1
  111. package/dist/sdk/errors.js +1 -1
  112. package/dist/sdk/errors.js.map +1 -1
  113. package/dist/sdk/index.js +1 -1
  114. package/dist/sdk/job.js +1 -1
  115. package/dist/sdk/journey.js +1 -1
  116. package/dist/sdk/llm.d.ts +114 -0
  117. package/dist/sdk/llm.d.ts.map +1 -1
  118. package/dist/sdk/llm.js +1 -1
  119. package/dist/sdk/llm.js.map +1 -1
  120. package/dist/sdk/query.js +1 -1
  121. package/dist/sdk/segment/child-segment-yaml.d.ts +4 -0
  122. package/dist/sdk/segment/child-segment-yaml.d.ts.map +1 -1
  123. package/dist/sdk/segment/child-segment-yaml.js +1 -1
  124. package/dist/sdk/segment/child-segment-yaml.js.map +1 -1
  125. package/dist/sdk/segment/journey-yaml.d.ts +13 -1
  126. package/dist/sdk/segment/journey-yaml.d.ts.map +1 -1
  127. package/dist/sdk/segment/journey-yaml.js +1 -1
  128. package/dist/sdk/segment/journey-yaml.js.map +1 -1
  129. package/dist/sdk/segment/parent-segment-preview.js +1 -1
  130. package/dist/sdk/segment/parent-segment-yaml.js +1 -1
  131. package/dist/sdk/segment.js +1 -1
  132. package/dist/sdk/user.js +1 -1
  133. package/dist/sdk/workflow.js +1 -1
  134. package/dist/types/endpoints.d.ts +17 -0
  135. package/dist/types/endpoints.d.ts.map +1 -1
  136. package/dist/types/endpoints.js +1 -1
  137. package/dist/types/endpoints.js.map +1 -1
  138. package/dist/types/index.js +1 -1
  139. package/dist/types/llm.d.ts +203 -0
  140. package/dist/types/llm.d.ts.map +1 -1
  141. package/dist/utils/agent-config.d.ts +124 -0
  142. package/dist/utils/agent-config.d.ts.map +1 -0
  143. package/dist/utils/agent-config.js +1 -0
  144. package/dist/utils/agent-config.js.map +1 -0
  145. package/dist/utils/agent-ref-parser.js +1 -1
  146. package/dist/utils/async.js +1 -1
  147. package/dist/utils/chat-cache.js +1 -1
  148. package/dist/utils/colors.js +1 -1
  149. package/dist/utils/command-output.js +1 -1
  150. package/dist/utils/constants.js +1 -1
  151. package/dist/utils/diff.js +1 -1
  152. package/dist/utils/fields-display.js +1 -1
  153. package/dist/utils/file-permissions.js +1 -1
  154. package/dist/utils/format-detector.js +1 -1
  155. package/dist/utils/formatters.js +1 -1
  156. package/dist/utils/journey-utils.js +1 -1
  157. package/dist/utils/json-loader.js +1 -1
  158. package/dist/utils/llm-backup-utils.js +1 -1
  159. package/dist/utils/model-aliases.js +1 -1
  160. package/dist/utils/model-factors.js +1 -1
  161. package/dist/utils/option-validation.js +1 -1
  162. package/dist/utils/port.js +1 -1
  163. package/dist/utils/process.js +1 -1
  164. package/dist/utils/prompt.js +1 -1
  165. package/dist/utils/segment-path-parser.js +1 -1
  166. package/dist/utils/segment-ref-parser.js +1 -1
  167. package/dist/utils/spinner.js +1 -1
  168. package/dist/utils/sql-parser.js +1 -1
  169. package/dist/utils/sse-parser.js +1 -1
  170. package/dist/utils/string-utils.js +1 -1
  171. package/dist/utils/table-ref-parser.js +1 -1
  172. package/dist/utils/tdx-config.js +1 -1
  173. package/dist/utils/tdx-logger.js +1 -1
  174. package/dist/utils/tree-formatter.d.ts +2 -0
  175. package/dist/utils/tree-formatter.d.ts.map +1 -1
  176. package/dist/utils/tree-formatter.js +1 -1
  177. package/dist/utils/tree-formatter.js.map +1 -1
  178. package/dist/utils/version-check.js +1 -1
  179. package/dist/utils/workflow-utils.js +1 -1
  180. package/package.json +1 -1
@@ -1 +1 @@
1
- const a59_0x14c4cf=a59_0x58e4;(function(_0x265541,_0x3eb169){const _0x5d167e=a59_0x58e4,_0x174c75=_0x265541();while(!![]){try{const _0x5330a6=-parseInt(_0x5d167e(0x1c9))/0x1+parseInt(_0x5d167e(0x24c))/0x2*(-parseInt(_0x5d167e(0x203))/0x3)+parseInt(_0x5d167e(0x1d3))/0x4+-parseInt(_0x5d167e(0x217))/0x5*(-parseInt(_0x5d167e(0x245))/0x6)+-parseInt(_0x5d167e(0x235))/0x7+-parseInt(_0x5d167e(0x208))/0x8*(-parseInt(_0x5d167e(0x1b2))/0x9)+-parseInt(_0x5d167e(0x1c3))/0xa*(parseInt(_0x5d167e(0x1e5))/0xb);if(_0x5330a6===_0x3eb169)break;else _0x174c75['push'](_0x174c75['shift']());}catch(_0x4ffedd){_0x174c75['push'](_0x174c75['shift']());}}}(a59_0x416b,0x81a3c));import a59_0x9ca4dd from'fastify';import a59_0x4acdca from'@fastify/cors';import{ErrorCode,SDKError}from'../sdk/index.js';import{transformTDStreamToAnthropic,formatAnthropicSSE,generateMessageId,generateToolPrompt,extractToolResults,estimateInputTokensFromRequest}from'./anthropic-adapter.js';import{colorizeJSON,colorizeJSONCompact}from'../utils/colors.js';import{extractModelAlias,resolveModelAlias}from'../utils/model-aliases.js';import{SessionCache}from'./session-cache.js';import{appendUsageEntry}from'./claude-usage-tracker.js';import{calculateContextSignature}from'./context-signature.js';function a59_0x58e4(_0x29c1fc,_0x41ceba){_0x29c1fc=_0x29c1fc-0x1a4;const _0x416b91=a59_0x416b();let _0x58e40f=_0x416b91[_0x29c1fc];return _0x58e40f;}import{formatConversationHistory,calculateConversationDelta,extractLastUserMessage}from'./conversation-utils.js';function extractSessionUUID(_0x47ecb5){const _0x531b79=a59_0x58e4,_0xe6e7a4=_0x47ecb5[_0x531b79(0x201)](/_session_([a-f0-9-]+)$/i);if(_0xe6e7a4)return _0xe6e7a4[0x1];return _0x47ecb5;}function a59_0x416b(){const _0x39fb0c=[']\x20model:\x20','[session:\x20','Context:','keep-alive',']\x20Created\x20new\x20chat\x20for\x20model\x20','type','delete','handleRouteError','\x0a---\x0a\x0a','budget_tokens','data','profile','error','setErrorHandler','1434VlPZBY','text/event-stream','setupMiddleware','validateMessageRequest','agentCache','catch','INVALID_REQUEST','23234XUFufG','unknown','\x20->\x20','header:\x20','config','Failed\x20to\x20log\x20usage\x20entry\x20on\x20error:\x20','clear','[PROXY\x20ERROR]\x20Chat\x20stream\x20is\x20undefined',':\x20estimated\x20input_tokens=','\x20messages,\x20','chats','user_id','messages','stream','end','info','embeddedSystemPrompts','raw','headers','/v1/messages/count_tokens','Failed\x20to\x20log\x20usage\x20entry:\x20','agentId','http://localhost:','Content-Type',')\x20to\x20stay\x20under\x20','getOrCreateDefaultAgent','isUserError','Final\x20message\x20is\x20empty\x20after\x20construction\x20-\x20starting\x20fresh\x20conversation','logger','Reset\x20chat\x20state\x20to\x20recover\x20on\x20next\x20request',':\x20messages=','1179MkbQQX','[PROXY\x20ERROR]\x20Unhandled\x20error\x20in\x20','tools','server','now','Failed\x20to\x20initialize\x20chat\x20stream.\x20Please\x20try\x20again.','/health','lastUsedAt','llm','register','Validation\x20failed:\x20messages\x20array\x20is\x20required\x20and\x20must\x20not\x20be\x20empty','getOrCreateSession','createPromise','\x20(reasoning:\x20','dev-us01','http://',',\x20system_prompts=','19390gyLdEP','Embedded\x20in\x20chat\x20-\x20system\x20prompts:\x20','System\x20prompts:\x20','api_error','[CONTEXT\x20LENGTH\x20ERROR]\x20','set','157551oGAGzU','write','url','no-cache','push','text','\x20chars.\x20Cleared\x20chat\x20state\x20for\x20session\x20','Creating/looking\x20up\x20agent\x20for:\x20','Model\x20normalization:\x20','context','3077836kgqFvP','Chat\x20ID:\x20','get','has','[PROXY\x20ERROR]\x20Non-streaming\x20responses\x20are\x20not\x20yet\x20supported','getAddress','address','isArray','tdx','not_supported_error','\x0a\x0a<conversation_history>\x0a','Reset\x20chat\x20ID\x20to\x20recover\x20on\x20next\x20request','...\x22',',\x20tools:\x20','Non-streaming\x20responses\x20are\x20not\x20yet\x20supported','Failed\x20to\x20reconstruct\x20message\x20-\x20all\x20parts\x20are\x20empty,\x20using\x20fallback','creating','TD\x20LLM\x20Proxy\x20Server','231KdpKha','send','Embedding','attributes','GET','originalMessage','embeddedToolsByName','post','POST','join','new\x20tool(s)','usage','Evicted\x20oldest\x20chat\x20(signature:\x20','anthropic-version','length','metadata','model',',\x20context:\x20','string','name','add','warn',',\x20model=','system','stringify','sessionCache','setupRoutes',',\x20context\x20signature:\x20','match','filter','66XFtfTJ','trim',',\x20tools=','map','\x20|\x20','36536TaiDLC','Unknown\x20error','Concurrent\x20chat\x20creation\x20failed,\x20will\x20fall\x20back\x20to\x20lazy\x20creation:','handleCountTokens','\x0a</conversation_history>','Failed\x20to\x20extract\x20tool\x20results:','debug','startChat','New\x20-\x20system\x20prompts:\x20','request_too_large','Agent\x20cached:\x20','replace','event','cleanupExpiredChats','code','8065wsohps','Final\x20message\x20reconstructed\x20after\x20context\x20reset:','chat','trace','handleMessages',']\x20Continue\x20chat\x20for\x20model\x20','toISOString',',\x20context=','OPTIONS','size','/v1/messages','Proxy\x20server\x20started\x20at\x20localhost:','\x20tools,\x20message_size=','cleanupInterval','Validation\x20failed:\x20tools\x20must\x20be\x20an\x20array\x20if\x20provided','listen','site','0.0.0.0',']\x20Building\x20a\x20new\x20context\x20for\x20model\x20','output_tokens','thinking','port','substring','message','projectId','chatId','message_delta','Waiting\x20for\x20concurrent\x20chat\x20creation\x20for\x20context:\x20','\x20SSE\x20events.','body','5378765HVpTUO','Debug\x20info:'];a59_0x416b=function(){return _0x39fb0c;};return a59_0x416b();}function clearChatState(_0x53e974){const _0x521adb=a59_0x58e4;_0x53e974[_0x521adb(0x230)]='',_0x53e974[_0x521adb(0x25c)][_0x521adb(0x252)](),_0x53e974[_0x521adb(0x1eb)][_0x521adb(0x252)]();}function mapBudgetTokensToReasoningEffort(_0x96b3f,_0x2ad9eb){const _0x4cb12e=a59_0x58e4;if(_0x2ad9eb!==_0x4cb12e(0x1c0))return 0x0;if(!_0x96b3f||_0x96b3f===0x0)return 0x0;if(_0x96b3f<=0x400)return 0x1;if(_0x96b3f<=0x800)return 0x2;if(_0x96b3f<=0x1000)return 0x3;return 0x4;}const MAX_CHATS_PER_SESSION=0xa,CACHE_EXPIRATION_MS=0xa*0x3c*0x3e8,CLEANUP_INTERVAL_MS=0x3c*0x3e8;export class ProxyServer{[a59_0x14c4cf(0x1b5)];[a59_0x14c4cf(0x1fe)];['agentCache'];['config'];[a59_0x14c4cf(0x224)];[a59_0x14c4cf(0x1af)];constructor(_0x7fe77e){const _0x411c60=a59_0x14c4cf;this['logger']=_0x7fe77e['logger'],this[_0x411c60(0x250)]=_0x7fe77e,this['sessionCache']=new SessionCache({'maxChatsPerSession':MAX_CHATS_PER_SESSION,'cacheExpirationMs':CACHE_EXPIRATION_MS}),this[_0x411c60(0x249)]=new Map(),this[_0x411c60(0x1b5)]=a59_0x9ca4dd({'logger':![],'bodyLimit':0x40*0x400*0x400}),this[_0x411c60(0x247)](),this[_0x411c60(0x1ff)]();}async['getAgentForModel'](_0x5b1d6d,_0x1ea83d=0x0){const _0x36cbc6=a59_0x14c4cf,_0x3ff65f=extractModelAlias(_0x5b1d6d),_0x4b4310=resolveModelAlias(_0x3ff65f),_0x46d355=_0x4b4310+'_'+_0x1ea83d;let _0x350d8f=this[_0x36cbc6(0x249)][_0x36cbc6(0x1d5)](_0x46d355);if(!_0x350d8f){this['logger'][_0x36cbc6(0x20e)](_0x36cbc6(0x1d1)+_0x5b1d6d+'\x20->\x20'+_0x3ff65f+_0x36cbc6(0x24e)+_0x4b4310),this[_0x36cbc6(0x1af)][_0x36cbc6(0x20e)](_0x36cbc6(0x1d0)+_0x4b4310+_0x36cbc6(0x1bf)+_0x1ea83d+')');const _0x7a2a78=await this['config'][_0x36cbc6(0x1db)][_0x36cbc6(0x1ba)][_0x36cbc6(0x1ac)](_0x4b4310,_0x1ea83d);_0x350d8f=_0x7a2a78['id'],this[_0x36cbc6(0x249)][_0x36cbc6(0x1c8)](_0x46d355,_0x350d8f),this[_0x36cbc6(0x1af)][_0x36cbc6(0x20e)](_0x36cbc6(0x212)+_0x46d355+_0x36cbc6(0x24e)+_0x350d8f+'\x20('+_0x7a2a78[_0x36cbc6(0x1e8)][_0x36cbc6(0x1f8)]+')');}return _0x350d8f;}[a59_0x14c4cf(0x215)](){const _0x1b816f=a59_0x14c4cf;this[_0x1b816f(0x1fe)][_0x1b816f(0x215)]();}['setupMiddleware'](){const _0x438673=a59_0x14c4cf;this['server'][_0x438673(0x1bb)](a59_0x4acdca,{'origin':!![],'methods':[_0x438673(0x1e9),_0x438673(0x1ed),_0x438673(0x21f)],'allowedHeaders':[_0x438673(0x1aa),'Authorization',_0x438673(0x1f2),'x-api-key']}),this['server'][_0x438673(0x244)]((_0x193762,_0x4dc005,_0xf567af)=>{const _0x160321=_0x438673;this[_0x160321(0x23e)](_0x193762,_0x4dc005,_0xf567af);});}['handleRouteError'](_0xd66c59,_0xb4ce0e,_0x47e28e){const _0x211f49=a59_0x14c4cf;if(_0xd66c59 instanceof SDKError){const _0x20cd83=_0xd66c59[_0x211f49(0x1ad)]()?0x190:0x1f4;_0x47e28e[_0x211f49(0x216)](_0x20cd83)[_0x211f49(0x1e6)]({'type':'error','error':{'type':_0xd66c59[_0x211f49(0x216)],'message':_0xd66c59[_0x211f49(0x1ea)],'helpText':_0xd66c59['helpText']}});}else{const _0x437368=_0xd66c59 instanceof Error?_0xd66c59[_0x211f49(0x22e)]:_0x211f49(0x209);this[_0x211f49(0x1af)][_0x211f49(0x243)](_0x211f49(0x1b3)+_0xb4ce0e['method']+'\x20'+_0xb4ce0e['url']+':',_0xd66c59),_0x47e28e[_0x211f49(0x216)](0x1f4)[_0x211f49(0x1e6)]({'type':'error','error':{'type':_0x211f49(0x1c6),'message':_0x437368}});}}['setupRoutes'](){const _0x5802cd=a59_0x14c4cf;this[_0x5802cd(0x1b5)]['get'](_0x5802cd(0x1b8),async()=>{const _0x1e22ba=_0x5802cd;return{'status':'ok','message':_0x1e22ba(0x1e4)};}),this[_0x5802cd(0x1b5)][_0x5802cd(0x1ec)](_0x5802cd(0x221),async(_0x2a1b76,_0x27f2eb)=>{const _0x2e899b=_0x5802cd;return this[_0x2e899b(0x21b)](_0x2a1b76,_0x27f2eb)[_0x2e899b(0x24a)](_0x298c6c=>{const _0x506938=_0x2e899b;this[_0x506938(0x23e)](_0x298c6c,_0x2a1b76,_0x27f2eb);});}),this[_0x5802cd(0x1b5)][_0x5802cd(0x1ec)](_0x5802cd(0x1a6),async(_0x37ed50,_0x35c05b)=>{const _0x174e55=_0x5802cd;return this[_0x174e55(0x20b)](_0x37ed50)[_0x174e55(0x24a)](_0x1a528f=>{this['handleRouteError'](_0x1a528f,_0x37ed50,_0x35c05b);});});}[a59_0x14c4cf(0x248)](_0x55a3c6){const _0x3edfa5=a59_0x14c4cf;if(!_0x55a3c6[_0x3edfa5(0x258)]||!Array[_0x3edfa5(0x1da)](_0x55a3c6[_0x3edfa5(0x258)])||_0x55a3c6[_0x3edfa5(0x258)][_0x3edfa5(0x1f3)]===0x0)throw new SDKError(ErrorCode['INVALID_REQUEST'],_0x3edfa5(0x1bc));if(_0x55a3c6[_0x3edfa5(0x1b4)]&&!Array[_0x3edfa5(0x1da)](_0x55a3c6[_0x3edfa5(0x1b4)]))throw new SDKError(ErrorCode[_0x3edfa5(0x24b)],_0x3edfa5(0x225));}async[a59_0x14c4cf(0x21b)](_0x1295e8,_0x12bd7a){const _0x709bbe=a59_0x14c4cf,_0x201a88=_0x1295e8[_0x709bbe(0x234)];this[_0x709bbe(0x248)](_0x201a88);const _0x233ac6=_0x201a88[_0x709bbe(0x258)]?.['length']??0x0,_0x1918e5=_0x201a88['model']||_0x709bbe(0x24d);this['logger'][_0x709bbe(0x25b)](_0x1295e8['method']+'\x20'+_0x1295e8[_0x709bbe(0x1cb)]+_0x709bbe(0x1b1)+_0x233ac6+_0x709bbe(0x1fb)+_0x1918e5),this[_0x709bbe(0x1af)][_0x709bbe(0x20e)](_0x709bbe(0x24f)+colorizeJSONCompact(_0x1295e8[_0x709bbe(0x1a5)]));this['logger'][_0x709bbe(0x21a)]&&this[_0x709bbe(0x1af)][_0x709bbe(0x21a)](colorizeJSON(_0x201a88,{'color':!![]}));const _0x2617ab=_0x201a88[_0x709bbe(0x1f4)]?.[_0x709bbe(0x257)]||'default',_0x5c990f=extractSessionUUID(_0x2617ab),_0x118aa1=this[_0x709bbe(0x1fe)][_0x709bbe(0x1bd)](_0x5c990f,this[_0x709bbe(0x250)][_0x709bbe(0x22f)]),_0x4a2329=[];if(_0x201a88[_0x709bbe(0x1fc)]){if(typeof _0x201a88[_0x709bbe(0x1fc)]===_0x709bbe(0x1f7))_0x4a2329['push'](_0x201a88[_0x709bbe(0x1fc)]);else{if(Array[_0x709bbe(0x1da)](_0x201a88[_0x709bbe(0x1fc)]))for(const _0x53a0ec of _0x201a88['system']){_0x53a0ec[_0x709bbe(0x23c)]===_0x709bbe(0x1ce)&&_0x53a0ec[_0x709bbe(0x1ce)]&&_0x4a2329[_0x709bbe(0x1cd)](_0x53a0ec[_0x709bbe(0x1ce)]);}}}const _0x8d136e=_0x201a88[_0x709bbe(0x1b4)]||[],_0x356642=_0x201a88[_0x709bbe(0x22b)]?.[_0x709bbe(0x240)],_0x4510f6=mapBudgetTokensToReasoningEffort(_0x356642,this[_0x709bbe(0x250)][_0x709bbe(0x227)]),_0x36db8e=calculateContextSignature(_0x201a88[_0x709bbe(0x1f5)],_0x4a2329,_0x8d136e,_0x4510f6);let _0x109aed=_0x118aa1[_0x709bbe(0x256)][_0x709bbe(0x1d5)](_0x36db8e);const _0x173c52=!_0x109aed;if(!_0x109aed){const _0x154729=await this['getAgentForModel'](_0x201a88[_0x709bbe(0x1f5)],_0x4510f6);_0x109aed={'chatId':'','agentId':_0x154729,'contextSignature':_0x36db8e,'embeddedSystemPrompts':new Set(),'embeddedToolsByName':new Map(),'messageHistory':[],'lastUsedAt':Date['now']()},_0x118aa1[_0x709bbe(0x256)][_0x709bbe(0x1c8)](_0x36db8e,_0x109aed);if(_0x118aa1[_0x709bbe(0x256)]['size']>MAX_CHATS_PER_SESSION){let _0x30ef82=null,_0x55dbf2=Date[_0x709bbe(0x1b6)]();for(const [_0x391d8b,_0x47589a]of _0x118aa1[_0x709bbe(0x256)]){_0x47589a[_0x709bbe(0x1b9)]<_0x55dbf2&&(_0x55dbf2=_0x47589a[_0x709bbe(0x1b9)],_0x30ef82=_0x391d8b);}_0x30ef82&&(_0x118aa1['chats'][_0x709bbe(0x23d)](_0x30ef82),this[_0x709bbe(0x1af)]['debug'](_0x709bbe(0x1f1)+_0x30ef82+_0x709bbe(0x1ab)+MAX_CHATS_PER_SESSION+'\x20limit'));}}else _0x109aed['lastUsedAt']=Date['now']();if(!_0x109aed[_0x709bbe(0x230)]){if(_0x109aed[_0x709bbe(0x1e3)]&&_0x109aed[_0x709bbe(0x1be)]){this[_0x709bbe(0x1af)][_0x709bbe(0x20e)](_0x709bbe(0x232)+_0x36db8e);try{_0x109aed[_0x709bbe(0x230)]=await _0x109aed['createPromise'];}catch(_0x5ef0f3){this['logger'][_0x709bbe(0x243)](_0x709bbe(0x20a),_0x5ef0f3);}}else{if(!_0x109aed[_0x709bbe(0x1e3)]){_0x109aed['creating']=!![],_0x109aed[_0x709bbe(0x1be)]=((async()=>{const _0x4acd47=_0x709bbe;try{const _0x348b06=await this[_0x4acd47(0x250)][_0x4acd47(0x1db)]['llm'][_0x4acd47(0x20f)](_0x109aed[_0x4acd47(0x1a8)]);return this[_0x4acd47(0x1af)][_0x4acd47(0x25b)]('['+_0x348b06['id']+_0x4acd47(0x23b)+_0x201a88['model']+_0x4acd47(0x21e)+_0x36db8e),_0x348b06['id'];}catch(_0x3a0ef3){this['logger'][_0x4acd47(0x243)]('Failed\x20to\x20create\x20chat,\x20will\x20fall\x20back\x20to\x20lazy\x20creation:',_0x3a0ef3);throw _0x3a0ef3;}finally{_0x109aed[_0x4acd47(0x1e3)]=![],_0x109aed['createPromise']=undefined;}})());try{_0x109aed['chatId']=await _0x109aed[_0x709bbe(0x1be)];}catch{}}}}const _0x4e50e1=_0x4a2329[_0x709bbe(0x202)](_0x10fe45=>!_0x109aed[_0x709bbe(0x25c)][_0x709bbe(0x1d6)](_0x10fe45)),_0x238baa=_0x8d136e[_0x709bbe(0x202)](_0x12b2be=>!_0x109aed['embeddedToolsByName'][_0x709bbe(0x1d6)](_0x12b2be[_0x709bbe(0x1f8)]));this[_0x709bbe(0x1af)][_0x709bbe(0x20e)](_0x709bbe(0x238)+_0x5c990f+_0x709bbe(0x237)+_0x201a88[_0x709bbe(0x1f5)]+_0x709bbe(0x200)+_0x36db8e+',\x20is\x20new\x20context:\x20'+_0x173c52),this[_0x709bbe(0x1af)][_0x709bbe(0x20e)](_0x709bbe(0x1d4)+_0x109aed['chatId']),this[_0x709bbe(0x1af)][_0x709bbe(0x20e)](_0x709bbe(0x1c5)+_0x4a2329[_0x709bbe(0x1f3)]+_0x709bbe(0x1e0)+_0x8d136e[_0x709bbe(0x1f3)]),this[_0x709bbe(0x1af)][_0x709bbe(0x20e)](_0x709bbe(0x1c4)+_0x109aed['embeddedSystemPrompts'][_0x709bbe(0x220)]+_0x709bbe(0x1e0)+_0x109aed[_0x709bbe(0x1eb)][_0x709bbe(0x220)]),this[_0x709bbe(0x1af)][_0x709bbe(0x20e)](_0x709bbe(0x210)+_0x4e50e1[_0x709bbe(0x1f3)]+_0x709bbe(0x1e0)+_0x238baa[_0x709bbe(0x1f3)]);_0x4e50e1[_0x709bbe(0x1f3)]>0x0&&this['logger'][_0x709bbe(0x20e)]('Added\x20system\x20prompt\x20previews:',_0x4e50e1[_0x709bbe(0x206)](_0x434d2b=>_0x434d2b['substring'](0x0,0x32)+'...')[_0x709bbe(0x1ee)](_0x709bbe(0x207)));_0x238baa[_0x709bbe(0x1f3)]>0x0&&this[_0x709bbe(0x1af)]['debug']('Added\x20tool\x20names:',_0x238baa[_0x709bbe(0x206)](_0x1ba643=>_0x1ba643[_0x709bbe(0x1f8)])[_0x709bbe(0x1ee)](',\x20'));const _0x5f2c74=calculateConversationDelta(_0x201a88[_0x709bbe(0x258)],_0x109aed['messageHistory']),_0x192844=extractLastUserMessage(_0x5f2c74,_0x201a88['messages']);if(_0x192844[_0x709bbe(0x243)])throw new SDKError(ErrorCode[_0x709bbe(0x24b)],_0x192844[_0x709bbe(0x243)]);const _0x1d0a5b=_0x192844[_0x709bbe(0x1ce)]||'',_0x579be7=()=>{const _0xbef593=_0x709bbe,_0x51dd3c=[];_0x4a2329[_0xbef593(0x1f3)]>0x0&&_0x51dd3c[_0xbef593(0x1cd)](_0x4a2329['join']('\x0a\x0a'));_0x8d136e[_0xbef593(0x1f3)]>0x0&&_0x51dd3c[_0xbef593(0x1cd)](generateToolPrompt(_0x8d136e));if(_0x201a88[_0xbef593(0x258)]&&_0x201a88[_0xbef593(0x258)][_0xbef593(0x1f3)]>0x1){const _0x530d61=formatConversationHistory(_0x201a88[_0xbef593(0x258)]);_0x530d61&&_0x51dd3c[_0xbef593(0x1cd)](_0xbef593(0x1dd)+_0x530d61+_0xbef593(0x20c));}return _0x51dd3c[_0xbef593(0x1cd)](_0x1d0a5b),_0x51dd3c['filter'](_0x2bce80=>_0x2bce80&&_0x2bce80[_0xbef593(0x204)]())[_0xbef593(0x1ee)]('\x0a---\x0a\x0a');};let _0x5bdeb6;if(_0x173c52){this['logger'][_0x709bbe(0x25b)]('['+_0x109aed[_0x709bbe(0x230)]+_0x709bbe(0x229)+_0x201a88[_0x709bbe(0x1f5)]+_0x709bbe(0x1c2)+_0x4a2329[_0x709bbe(0x1f3)]+_0x709bbe(0x205)+_0x8d136e['length']+',\x20tool_names=['+_0x8d136e[_0x709bbe(0x206)](_0x1441fa=>_0x1441fa[_0x709bbe(0x1f8)])[_0x709bbe(0x1ee)](',\x20')+']'),_0x5bdeb6=_0x579be7();for(const _0x423d5e of _0x4a2329){_0x109aed[_0x709bbe(0x25c)]['add'](_0x423d5e);}for(const _0x58bcf7 of _0x8d136e){_0x109aed['embeddedToolsByName']['set'](_0x58bcf7[_0x709bbe(0x1f8)],_0x58bcf7);}}else{const _0x1beae2=[];_0x4e50e1[_0x709bbe(0x1f3)]>0x0&&(_0x1beae2[_0x709bbe(0x1cd)](_0x4e50e1['join']('\x0a\x0a')),this[_0x709bbe(0x1af)]['debug'](_0x709bbe(0x1e7),_0x4e50e1[_0x709bbe(0x1f3)],'new\x20system\x20prompt(s)'));if(_0x238baa[_0x709bbe(0x1f3)]>0x0)try{_0x1beae2[_0x709bbe(0x1cd)](generateToolPrompt(_0x238baa)),this[_0x709bbe(0x1af)][_0x709bbe(0x20e)](_0x709bbe(0x1e7),_0x238baa[_0x709bbe(0x1f3)],_0x709bbe(0x1ef));}catch(_0x59ea86){this[_0x709bbe(0x1af)]['error']('Failed\x20to\x20generate\x20tool\x20prompt:',_0x59ea86);}try{const _0x459f81=extractToolResults(_0x5f2c74);_0x459f81&&(_0x1beae2[_0x709bbe(0x1cd)](_0x459f81),this[_0x709bbe(0x1af)][_0x709bbe(0x20e)]('Including\x20tool\x20results'));}catch(_0x3f2bfb){this[_0x709bbe(0x1af)]['error'](_0x709bbe(0x20d),_0x3f2bfb);}_0x1beae2[_0x709bbe(0x1cd)](_0x1d0a5b);const _0x43e1c2=_0x1beae2[_0x709bbe(0x202)](_0x31e80a=>_0x31e80a&&_0x31e80a[_0x709bbe(0x204)]());_0x5bdeb6=_0x43e1c2[_0x709bbe(0x1f3)]>0x0?_0x43e1c2[_0x709bbe(0x1ee)](_0x709bbe(0x23f)):_0x1d0a5b;for(const _0xcbb15f of _0x4e50e1){_0x109aed[_0x709bbe(0x25c)][_0x709bbe(0x1f9)](_0xcbb15f);}for(const _0x51fd7a of _0x238baa){_0x109aed[_0x709bbe(0x1eb)][_0x709bbe(0x1c8)](_0x51fd7a[_0x709bbe(0x1f8)],_0x51fd7a);}}(!_0x5bdeb6||!_0x5bdeb6[_0x709bbe(0x204)]())&&(this['logger'][_0x709bbe(0x1fa)](_0x709bbe(0x1ae)),this[_0x709bbe(0x1af)][_0x709bbe(0x1fa)](_0x709bbe(0x239),{'isNewContext':_0x173c52,'userMessageLength':_0x1d0a5b?.[_0x709bbe(0x1f3)]||0x0,'systemPromptsCount':_0x4a2329['length'],'toolsCount':_0x8d136e[_0x709bbe(0x1f3)],'messagesCount':_0x201a88['messages']?.['length']||0x0,'newMessagesCount':_0x5f2c74[_0x709bbe(0x1f3)]}),clearChatState(_0x109aed),_0x5bdeb6=_0x579be7(),(!_0x5bdeb6||!_0x5bdeb6['trim']())&&(this['logger'][_0x709bbe(0x243)](_0x709bbe(0x1e2)),this[_0x709bbe(0x1af)][_0x709bbe(0x243)](_0x709bbe(0x236),{'systemPromptsCount':_0x4a2329[_0x709bbe(0x1f3)],'toolsCount':_0x8d136e['length'],'messagesCount':_0x201a88['messages']?.[_0x709bbe(0x1f3)]||0x0,'userMessageLength':_0x1d0a5b?.[_0x709bbe(0x1f3)]||0x0}),_0x5bdeb6='continue'),this[_0x709bbe(0x1af)]['info'](_0x709bbe(0x218),_0x5bdeb6['substring'](0x0,0x64)+'...'));const _0xf18eb5=_0x201a88[_0x709bbe(0x259)]!==![];if(_0xf18eb5){_0x12bd7a[_0x709bbe(0x1a4)]['writeHead'](0xc8,{'Content-Type':_0x709bbe(0x246),'Cache-Control':_0x709bbe(0x1cc),'Connection':_0x709bbe(0x23a),'X-Accel-Buffering':'no'});const _0x542827=generateMessageId();let _0x2da68a=0x0,_0x3c56b8=0x0;try{if(_0x109aed['chatId']){const _0x1caf7e=_0x5bdeb6[_0x709bbe(0x22d)](0x0,0x32)[_0x709bbe(0x213)](/\n/g,'\x20');this['logger'][_0x709bbe(0x25b)]('['+_0x109aed[_0x709bbe(0x230)]+_0x709bbe(0x21c)+_0x201a88['model']+_0x709bbe(0x21e)+_0x36db8e+',\x20'+_0x201a88['messages'][_0x709bbe(0x1f3)]+_0x709bbe(0x255)+_0x4a2329[_0x709bbe(0x1f3)]+'\x20system\x20prompts,\x20'+_0x8d136e['length']+_0x709bbe(0x223)+_0x5bdeb6['length']+',\x20\x22'+_0x1caf7e+_0x709bbe(0x1df));}const _0x204e0a=this[_0x709bbe(0x250)][_0x709bbe(0x1db)][_0x709bbe(0x1ba)][_0x709bbe(0x219)](_0x5bdeb6,{'chatId':_0x109aed[_0x709bbe(0x230)]||undefined,'agentId':_0x109aed['chatId']?undefined:_0x109aed[_0x709bbe(0x1a8)]});if(!_0x204e0a){this[_0x709bbe(0x1af)]['error'](_0x709bbe(0x253)),this[_0x709bbe(0x1af)][_0x709bbe(0x243)](_0x709bbe(0x239),JSON[_0x709bbe(0x1fd)]({'chatId':_0x109aed[_0x709bbe(0x230)],'agentId':_0x109aed[_0x709bbe(0x1a8)],'model':_0x201a88['model'],'sessionId':_0x5c990f,'contextSignature':_0x36db8e})),_0x109aed[_0x709bbe(0x230)]='',this[_0x709bbe(0x1af)][_0x709bbe(0x1fa)](_0x709bbe(0x1de));const _0x3e9caf=formatAnthropicSSE({'type':_0x709bbe(0x243),'error':{'type':'api_error','message':_0x709bbe(0x1b7)},'request_id':_0x542827});_0x12bd7a['raw'][_0x709bbe(0x1ca)](_0x3e9caf),_0x12bd7a['raw'][_0x709bbe(0x25a)]();return;}_0x109aed['messageHistory']=_0x201a88[_0x709bbe(0x258)];const _0x580906=_0x109aed;async function*_0x519936(_0x5bb3b9){const _0x3e11d7=_0x709bbe;for await(const _0x4e17b4 of _0x5bb3b9){if(_0x4e17b4['type']===_0x3e11d7(0x1f4))_0x4e17b4[_0x3e11d7(0x241)][_0x3e11d7(0x230)]&&!_0x580906[_0x3e11d7(0x230)]&&(_0x580906['chatId']=_0x4e17b4[_0x3e11d7(0x241)][_0x3e11d7(0x230)]);else _0x4e17b4[_0x3e11d7(0x23c)]===_0x3e11d7(0x214)&&(yield _0x4e17b4[_0x3e11d7(0x241)]);}}const _0x445c45=_0x519936(_0x204e0a);_0x2da68a=estimateInputTokensFromRequest(_0x201a88);const _0x325cb6=transformTDStreamToAnthropic(_0x445c45,_0x542827,_0x201a88[_0x709bbe(0x1f5)],this[_0x709bbe(0x1af)],_0x1d0a5b,_0x2da68a),_0x23e22e=_0x5bdeb6[_0x709bbe(0x1f3)];let _0x5d245e=0x0;for await(const _0x23d8cd of _0x325cb6){const _0x87b7db=formatAnthropicSSE(_0x23d8cd);_0x5d245e++,this[_0x709bbe(0x1af)][_0x709bbe(0x20e)](colorizeJSONCompact(_0x23d8cd,{'color':!![]})),_0x23d8cd['type']==='error'&&_0x23d8cd[_0x709bbe(0x243)][_0x709bbe(0x23c)]===_0x709bbe(0x211)&&(clearChatState(_0x109aed),this[_0x709bbe(0x1af)][_0x709bbe(0x1fa)](_0x709bbe(0x1c7)+_0x23d8cd[_0x709bbe(0x243)]['message']+'\x20Input\x20size:\x20'+_0x23e22e+_0x709bbe(0x1cf)+_0x5c990f+_0x709bbe(0x1f6)+_0x36db8e)),_0x23d8cd['type']===_0x709bbe(0x231)&&_0x23d8cd['usage']?.[_0x709bbe(0x22a)]&&(_0x3c56b8=_0x23d8cd[_0x709bbe(0x1f0)][_0x709bbe(0x22a)]),_0x12bd7a[_0x709bbe(0x1a4)][_0x709bbe(0x1ca)](_0x87b7db);}this[_0x709bbe(0x1af)][_0x709bbe(0x20e)]('Stream\x20complete.\x20Sent\x20'+_0x5d245e+_0x709bbe(0x233)),appendUsageEntry(_0x5c990f,{'timestamp':new Date()[_0x709bbe(0x21d)](),'model':_0x201a88[_0x709bbe(0x1f5)],'inputTokens':_0x2da68a,'outputTokens':_0x3c56b8,'contextSignature':_0x36db8e,'profile':this[_0x709bbe(0x250)][_0x709bbe(0x1db)]?.[_0x709bbe(0x1d2)]?.[_0x709bbe(0x242)],'chatId':_0x109aed[_0x709bbe(0x230)]||undefined})[_0x709bbe(0x24a)](_0x40e9d8=>{const _0x306574=_0x709bbe;this[_0x306574(0x1af)][_0x306574(0x1fa)](_0x306574(0x1a7)+_0x40e9d8);}),_0x12bd7a[_0x709bbe(0x1a4)][_0x709bbe(0x25a)]();}catch(_0x4f22d3){(_0x2da68a>0x0||_0x3c56b8>0x0)&&appendUsageEntry(_0x5c990f,{'timestamp':new Date()['toISOString'](),'model':_0x201a88[_0x709bbe(0x1f5)],'inputTokens':_0x2da68a,'outputTokens':_0x3c56b8,'contextSignature':_0x36db8e,'profile':this[_0x709bbe(0x250)]['tdx']?.[_0x709bbe(0x1d2)]?.[_0x709bbe(0x242)],'chatId':_0x109aed['chatId']||undefined})[_0x709bbe(0x24a)](_0x13a22c=>{const _0x8c079b=_0x709bbe;this[_0x8c079b(0x1af)]['warn'](_0x8c079b(0x251)+_0x13a22c);});const _0xbaf04d=_0x4f22d3 instanceof Error?_0x4f22d3[_0x709bbe(0x22e)]:_0x709bbe(0x209);this[_0x709bbe(0x1af)]['error']('[PROXY\x20ERROR]\x20Streaming\x20error:',_0x4f22d3),this[_0x709bbe(0x1af)]['error'](_0x709bbe(0x239),JSON['stringify']({'chatId':_0x109aed['chatId'],'agentId':_0x109aed[_0x709bbe(0x1a8)],'model':_0x201a88[_0x709bbe(0x1f5)],'sessionId':_0x5c990f,'contextSignature':_0x36db8e})),_0x109aed[_0x709bbe(0x230)]='',this['logger'][_0x709bbe(0x1fa)](_0x709bbe(0x1b0));const _0x4b6f37=formatAnthropicSSE({'type':_0x709bbe(0x243),'error':{'type':_0x709bbe(0x1c6),'message':_0xbaf04d},'request_id':_0x542827});_0x12bd7a['raw']['write'](_0x4b6f37),_0x12bd7a[_0x709bbe(0x1a4)][_0x709bbe(0x25a)]();}}else this[_0x709bbe(0x1af)][_0x709bbe(0x243)](_0x709bbe(0x1d7)),_0x12bd7a['code'](0x1f5)['send']({'type':_0x709bbe(0x243),'error':{'type':_0x709bbe(0x1dc),'message':_0x709bbe(0x1e1)}});}async[a59_0x14c4cf(0x20b)](_0x3c9de2){const _0x4987f2=a59_0x14c4cf,_0x51a5dc=_0x3c9de2[_0x4987f2(0x234)],_0x146c7e=estimateInputTokensFromRequest(_0x51a5dc);return this[_0x4987f2(0x1af)][_0x4987f2(0x25b)](_0x3c9de2['method']+'\x20'+_0x3c9de2[_0x4987f2(0x1cb)]+_0x4987f2(0x254)+_0x146c7e),{'input_tokens':_0x146c7e};}async['start'](){const _0x555e7a=a59_0x14c4cf;try{await this['server'][_0x555e7a(0x226)]({'port':this['config']['port'],'host':_0x555e7a(0x228)}),this[_0x555e7a(0x1af)][_0x555e7a(0x25b)](_0x555e7a(0x222)+this[_0x555e7a(0x250)][_0x555e7a(0x22c)]),this[_0x555e7a(0x224)]=setInterval(()=>{const _0x5ef26e=_0x555e7a;this[_0x5ef26e(0x215)]();},CLEANUP_INTERVAL_MS),this[_0x555e7a(0x1af)][_0x555e7a(0x20e)]('Started\x20cache\x20cleanup\x20interval\x20(runs\x20every\x20'+CLEANUP_INTERVAL_MS/0x3e8+'s,\x20expires\x20after\x20'+CACHE_EXPIRATION_MS/0x3e8+'s)');}catch(_0x422257){const _0x4897c9=_0x422257 instanceof Error?_0x422257['message']:_0x555e7a(0x209);throw new Error('Failed\x20to\x20start\x20proxy\x20server:\x20'+_0x4897c9);}}async['stop'](){const _0x4a04f8=a59_0x14c4cf;this['cleanupInterval']&&(clearInterval(this[_0x4a04f8(0x224)]),this[_0x4a04f8(0x224)]=undefined),await this[_0x4a04f8(0x1b5)]['close']();}[a59_0x14c4cf(0x1d8)](){const _0x40325f=a59_0x14c4cf,_0x5be18c=this[_0x40325f(0x1b5)][_0x40325f(0x1b5)][_0x40325f(0x1d9)]();if(typeof _0x5be18c===_0x40325f(0x1f7))return _0x5be18c;if(_0x5be18c)return _0x40325f(0x1c1)+_0x5be18c['address']+':'+_0x5be18c[_0x40325f(0x22c)];return _0x40325f(0x1a9)+this[_0x40325f(0x250)][_0x40325f(0x22c)];}}
1
+ const a60_0x4ad324=a60_0x6059;(function(_0x221478,_0x4b59e7){const _0x8a4d71=a60_0x6059,_0x845d1=_0x221478();while(!![]){try{const _0x522364=-parseInt(_0x8a4d71(0x20a))/0x1*(-parseInt(_0x8a4d71(0x1db))/0x2)+-parseInt(_0x8a4d71(0x25a))/0x3+-parseInt(_0x8a4d71(0x229))/0x4+parseInt(_0x8a4d71(0x235))/0x5*(-parseInt(_0x8a4d71(0x1f3))/0x6)+parseInt(_0x8a4d71(0x248))/0x7*(-parseInt(_0x8a4d71(0x250))/0x8)+-parseInt(_0x8a4d71(0x24d))/0x9+parseInt(_0x8a4d71(0x25f))/0xa;if(_0x522364===_0x4b59e7)break;else _0x845d1['push'](_0x845d1['shift']());}catch(_0x4e0059){_0x845d1['push'](_0x845d1['shift']());}}}(a60_0x398a,0xb0a18));import a60_0x2e0e6e from'fastify';import a60_0x1e68b4 from'@fastify/cors';import{ErrorCode,SDKError}from'../sdk/index.js';import{transformTDStreamToAnthropic,formatAnthropicSSE,generateMessageId,generateToolPrompt,extractToolResults,estimateInputTokensFromRequest}from'./anthropic-adapter.js';import{colorizeJSON,colorizeJSONCompact}from'../utils/colors.js';import{extractModelAlias,resolveModelAlias}from'../utils/model-aliases.js';import{SessionCache}from'./session-cache.js';import{appendUsageEntry}from'./claude-usage-tracker.js';import{calculateContextSignature}from'./context-signature.js';function a60_0x398a(){const _0xcb6560=[':\x20estimated\x20input_tokens=','Debug\x20info:','http://localhost:','send','Failed\x20to\x20create\x20chat,\x20will\x20fall\x20back\x20to\x20lazy\x20creation:','end','size','...','180273VymjIr','getAddress','stringify',',\x20context\x20signature:\x20','\x20SSE\x20events.','config','code',',\x20context:\x20','isArray','catch','chatId','Proxy\x20server\x20started\x20at\x20localhost:','Evicted\x20oldest\x20chat\x20(signature:\x20','raw','message',']\x20Continue\x20chat\x20for\x20model\x20','getAgentForModel','/health','\x20messages,\x20','...\x22','Model\x20normalization:\x20','method','Unknown\x20error','handleCountTokens','[PROXY\x20ERROR]\x20Streaming\x20error:',']\x20model:\x20','Content-Type',',\x20is\x20new\x20context:\x20','replace',']\x20Building\x20a\x20new\x20context\x20for\x20model\x20','write','1737100gYGGIL','Added\x20tool\x20names:','Chat\x20ID:\x20','cleanupExpiredChats','agentId','[PROXY\x20ERROR]\x20Chat\x20stream\x20is\x20undefined','url','handleRouteError','metadata','start','anthropic-version','body','345aIUbjw','new\x20tool(s)','POST','api_error','/v1/messages','server','request_too_large',',\x20context=','event','Including\x20tool\x20results','data','embeddedSystemPrompts',',\x20\x22','context','stop','chat','TD\x20LLM\x20Proxy\x20Server','Stream\x20complete.\x20Sent\x20','push','1218IToHFG','logger','toISOString',',\x20tools=','warn','2083725dylBLt','creating','tools','44448JxXjMP','Failed\x20to\x20log\x20usage\x20entry:\x20','continue','substring','\x20->\x20','[CONTEXT\x20LENGTH\x20ERROR]\x20','setupRoutes','startChat',']\x20Created\x20new\x20chat\x20for\x20model\x20','Context:','1488828PJblRi','new\x20system\x20prompt(s)','text','setupMiddleware','handleMessages','24306710OkaduA','chats','embeddedToolsByName','Final\x20message\x20reconstructed\x20after\x20context\x20reset:','System\x20prompts:\x20','header:\x20','Non-streaming\x20responses\x20are\x20not\x20yet\x20supported','unknown','tdx','now','Creating/looking\x20up\x20agent\x20for:\x20','agentCache','cleanupInterval','port','length','lastUsedAt',')\x20to\x20stay\x20under\x20',',\x20tools:\x20',':\x20messages=','set','filter','default','messages','originalMessage','get','/v1/messages/count_tokens','debug','listen','Started\x20cache\x20cleanup\x20interval\x20(runs\x20every\x20','name','x-api-key','Added\x20system\x20prompt\x20previews:','model','writeHead','\x20limit','add','helpText','\x20Input\x20size:\x20','type','Failed\x20to\x20start\x20proxy\x20server:\x20','\x0a</conversation_history>','[session:\x20','register','Waiting\x20for\x20concurrent\x20chat\x20creation\x20for\x20context:\x20','0.0.0.0',',\x20system_prompts=','error','output_tokens','INVALID_REQUEST','14VbUJIm','trace','join','Failed\x20to\x20extract\x20tool\x20results:','sessionCache','post','usage','\x0a---\x0a\x0a','createPromise','trim','has','delete','keep-alive','Failed\x20to\x20log\x20usage\x20entry\x20on\x20error:\x20','Failed\x20to\x20generate\x20tool\x20prompt:','setErrorHandler','system','close','\x20(reasoning:\x20','profile','Final\x20message\x20is\x20empty\x20after\x20construction\x20-\x20starting\x20fresh\x20conversation','attributes','\x20tools,\x20message_size=','headers','73068xnHhxK','string','Concurrent\x20chat\x20creation\x20failed,\x20will\x20fall\x20back\x20to\x20lazy\x20creation:','projectId','dev-us01','Embedding','\x20chars.\x20Cleared\x20chat\x20state\x20for\x20session\x20','llm','text/event-stream','info',',\x20tool_names=[','map','not_supported_error','user_id','\x20|\x20'];a60_0x398a=function(){return _0xcb6560;};return a60_0x398a();}import{formatConversationHistory,calculateConversationDelta,extractLastUserMessage}from'./conversation-utils.js';function extractSessionUUID(_0x39d745){const _0x8daa79=_0x39d745['match'](/_session_([a-f0-9-]+)$/i);if(_0x8daa79)return _0x8daa79[0x1];return _0x39d745;}function a60_0x6059(_0x16b448,_0x378bf5){_0x16b448=_0x16b448-0x1da;const _0x398ac8=a60_0x398a();let _0x605918=_0x398ac8[_0x16b448];return _0x605918;}function clearChatState(_0x3d2c93){const _0x701a03=a60_0x6059;_0x3d2c93['chatId']='',_0x3d2c93[_0x701a03(0x240)]['clear'](),_0x3d2c93[_0x701a03(0x261)]['clear']();}function mapBudgetTokensToReasoningEffort(_0x6f0039,_0x3138f0){const _0x42433b=a60_0x6059;if(_0x3138f0!==_0x42433b(0x1f7))return 0x0;if(!_0x6f0039||_0x6f0039===0x0)return 0x0;if(_0x6f0039<=0x400)return 0x1;if(_0x6f0039<=0x800)return 0x2;if(_0x6f0039<=0x1000)return 0x3;return 0x4;}const MAX_CHATS_PER_SESSION=0xa,CACHE_EXPIRATION_MS=0xa*0x3c*0x3e8,CLEANUP_INTERVAL_MS=0x3c*0x3e8;export class ProxyServer{['server'];[a60_0x4ad324(0x1df)];['agentCache'];[a60_0x4ad324(0x20f)];[a60_0x4ad324(0x26b)];[a60_0x4ad324(0x249)];constructor(_0x1685df){const _0xe8a5d2=a60_0x4ad324;this[_0xe8a5d2(0x249)]=_0x1685df[_0xe8a5d2(0x249)],this[_0xe8a5d2(0x20f)]=_0x1685df,this[_0xe8a5d2(0x1df)]=new SessionCache({'maxChatsPerSession':MAX_CHATS_PER_SESSION,'cacheExpirationMs':CACHE_EXPIRATION_MS}),this[_0xe8a5d2(0x26a)]=new Map(),this[_0xe8a5d2(0x23a)]=a60_0x2e0e6e({'logger':![],'bodyLimit':0x40*0x400*0x400}),this[_0xe8a5d2(0x25d)](),this['setupRoutes']();}async[a60_0x4ad324(0x21a)](_0x11a687,_0x5b1efd=0x0){const _0x2593cb=a60_0x4ad324,_0x417cb5=extractModelAlias(_0x11a687),_0x13829a=resolveModelAlias(_0x417cb5),_0x4981f8=_0x13829a+'_'+_0x5b1efd;let _0xc0addd=this[_0x2593cb(0x26a)][_0x2593cb(0x277)](_0x4981f8);if(!_0xc0addd){this[_0x2593cb(0x249)][_0x2593cb(0x279)](_0x2593cb(0x21e)+_0x11a687+'\x20->\x20'+_0x417cb5+_0x2593cb(0x254)+_0x13829a),this[_0x2593cb(0x249)][_0x2593cb(0x279)](_0x2593cb(0x269)+_0x13829a+_0x2593cb(0x1ed)+_0x5b1efd+')');const _0x3a5add=await this[_0x2593cb(0x20f)][_0x2593cb(0x267)][_0x2593cb(0x1fa)]['getOrCreateDefaultAgent'](_0x13829a,_0x5b1efd);_0xc0addd=_0x3a5add['id'],this[_0x2593cb(0x26a)]['set'](_0x4981f8,_0xc0addd),this[_0x2593cb(0x249)]['debug']('Agent\x20cached:\x20'+_0x4981f8+_0x2593cb(0x254)+_0xc0addd+'\x20('+_0x3a5add[_0x2593cb(0x1f0)][_0x2593cb(0x27c)]+')');}return _0xc0addd;}[a60_0x4ad324(0x22c)](){const _0x1f04d0=a60_0x4ad324;this[_0x1f04d0(0x1df)][_0x1f04d0(0x22c)]();}['setupMiddleware'](){const _0x52d691=a60_0x4ad324;this[_0x52d691(0x23a)][_0x52d691(0x289)](a60_0x1e68b4,{'origin':!![],'methods':['GET',_0x52d691(0x237),'OPTIONS'],'allowedHeaders':[_0x52d691(0x224),'Authorization',_0x52d691(0x233),_0x52d691(0x27d)]}),this[_0x52d691(0x23a)][_0x52d691(0x1ea)]((_0x4f611d,_0x4d5e18,_0x5380b8)=>{this['handleRouteError'](_0x4f611d,_0x4d5e18,_0x5380b8);});}[a60_0x4ad324(0x230)](_0x4c7479,_0x26146d,_0x50b7ec){const _0x85e97a=a60_0x4ad324;if(_0x4c7479 instanceof SDKError){const _0x224424=_0x4c7479['isUserError']()?0x190:0x1f4;_0x50b7ec[_0x85e97a(0x210)](_0x224424)[_0x85e97a(0x205)]({'type':_0x85e97a(0x28d),'error':{'type':_0x4c7479[_0x85e97a(0x210)],'message':_0x4c7479[_0x85e97a(0x276)],'helpText':_0x4c7479[_0x85e97a(0x283)]}});}else{const _0x323b7d=_0x4c7479 instanceof Error?_0x4c7479['message']:_0x85e97a(0x220);this['logger']['error']('[PROXY\x20ERROR]\x20Unhandled\x20error\x20in\x20'+_0x26146d[_0x85e97a(0x21f)]+'\x20'+_0x26146d[_0x85e97a(0x22f)]+':',_0x4c7479),_0x50b7ec[_0x85e97a(0x210)](0x1f4)[_0x85e97a(0x205)]({'type':'error','error':{'type':_0x85e97a(0x238),'message':_0x323b7d}});}}[a60_0x4ad324(0x256)](){const _0xf38c17=a60_0x4ad324;this[_0xf38c17(0x23a)]['get'](_0xf38c17(0x21b),async()=>{const _0x5d83d8=_0xf38c17;return{'status':'ok','message':_0x5d83d8(0x245)};}),this[_0xf38c17(0x23a)][_0xf38c17(0x1e0)](_0xf38c17(0x239),async(_0x379505,_0x580120)=>{const _0x3d9e6e=_0xf38c17;return this[_0x3d9e6e(0x25e)](_0x379505,_0x580120)[_0x3d9e6e(0x213)](_0x3554f1=>{const _0x4a8e00=_0x3d9e6e;this[_0x4a8e00(0x230)](_0x3554f1,_0x379505,_0x580120);});}),this[_0xf38c17(0x23a)][_0xf38c17(0x1e0)](_0xf38c17(0x278),async(_0x29a358,_0x170bab)=>{const _0xcd536b=_0xf38c17;return this[_0xcd536b(0x221)](_0x29a358)[_0xcd536b(0x213)](_0xff364a=>{const _0x3d4647=_0xcd536b;this[_0x3d4647(0x230)](_0xff364a,_0x29a358,_0x170bab);});});}['validateMessageRequest'](_0x5cc3b4){const _0x5d6f70=a60_0x4ad324;if(!_0x5cc3b4[_0x5d6f70(0x275)]||!Array['isArray'](_0x5cc3b4['messages'])||_0x5cc3b4[_0x5d6f70(0x275)][_0x5d6f70(0x26d)]===0x0)throw new SDKError(ErrorCode[_0x5d6f70(0x1da)],'Validation\x20failed:\x20messages\x20array\x20is\x20required\x20and\x20must\x20not\x20be\x20empty');if(_0x5cc3b4[_0x5d6f70(0x24f)]&&!Array[_0x5d6f70(0x212)](_0x5cc3b4[_0x5d6f70(0x24f)]))throw new SDKError(ErrorCode[_0x5d6f70(0x1da)],'Validation\x20failed:\x20tools\x20must\x20be\x20an\x20array\x20if\x20provided');}async[a60_0x4ad324(0x25e)](_0x2a891b,_0x2334ea){const _0x16d1d1=a60_0x4ad324,_0x375216=_0x2a891b[_0x16d1d1(0x234)];this['validateMessageRequest'](_0x375216);const _0x42a780=_0x375216[_0x16d1d1(0x275)]?.[_0x16d1d1(0x26d)]??0x0,_0x3c22cf=_0x375216[_0x16d1d1(0x27f)]||_0x16d1d1(0x266);this['logger']['info'](_0x2a891b[_0x16d1d1(0x21f)]+'\x20'+_0x2a891b['url']+_0x16d1d1(0x271)+_0x42a780+',\x20model='+_0x3c22cf),this[_0x16d1d1(0x249)][_0x16d1d1(0x279)](_0x16d1d1(0x264)+colorizeJSONCompact(_0x2a891b[_0x16d1d1(0x1f2)]));this['logger'][_0x16d1d1(0x1dc)]&&this[_0x16d1d1(0x249)][_0x16d1d1(0x1dc)](colorizeJSON(_0x375216,{'color':!![]}));const _0x17a825=_0x375216[_0x16d1d1(0x231)]?.[_0x16d1d1(0x200)]||_0x16d1d1(0x274),_0x35a4d1=extractSessionUUID(_0x17a825),_0x41a32d=this[_0x16d1d1(0x1df)]['getOrCreateSession'](_0x35a4d1,this[_0x16d1d1(0x20f)][_0x16d1d1(0x1f6)]),_0x26bc24=[];if(_0x375216['system']){if(typeof _0x375216['system']===_0x16d1d1(0x1f4))_0x26bc24['push'](_0x375216[_0x16d1d1(0x1eb)]);else{if(Array[_0x16d1d1(0x212)](_0x375216[_0x16d1d1(0x1eb)]))for(const _0x3a0edc of _0x375216[_0x16d1d1(0x1eb)]){_0x3a0edc[_0x16d1d1(0x285)]===_0x16d1d1(0x25c)&&_0x3a0edc['text']&&_0x26bc24['push'](_0x3a0edc[_0x16d1d1(0x25c)]);}}}const _0x1c1258=_0x375216['tools']||[],_0x3d1e99=_0x375216['thinking']?.['budget_tokens'],_0x3265b9=mapBudgetTokensToReasoningEffort(_0x3d1e99,this['config']['site']),_0x3f2a18=calculateContextSignature(_0x375216[_0x16d1d1(0x27f)],_0x26bc24,_0x1c1258,_0x3265b9);let _0x3e7001=_0x41a32d[_0x16d1d1(0x260)][_0x16d1d1(0x277)](_0x3f2a18);const _0x4facee=!_0x3e7001;if(!_0x3e7001){const _0xaf6943=await this[_0x16d1d1(0x21a)](_0x375216['model'],_0x3265b9);_0x3e7001={'chatId':'','agentId':_0xaf6943,'contextSignature':_0x3f2a18,'embeddedSystemPrompts':new Set(),'embeddedToolsByName':new Map(),'messageHistory':[],'lastUsedAt':Date['now']()},_0x41a32d[_0x16d1d1(0x260)][_0x16d1d1(0x272)](_0x3f2a18,_0x3e7001);if(_0x41a32d[_0x16d1d1(0x260)][_0x16d1d1(0x208)]>MAX_CHATS_PER_SESSION){let _0x1cead6=null,_0x3c9022=Date['now']();for(const [_0xcfb9ab,_0x457fc8]of _0x41a32d[_0x16d1d1(0x260)]){_0x457fc8[_0x16d1d1(0x26e)]<_0x3c9022&&(_0x3c9022=_0x457fc8[_0x16d1d1(0x26e)],_0x1cead6=_0xcfb9ab);}_0x1cead6&&(_0x41a32d['chats'][_0x16d1d1(0x1e6)](_0x1cead6),this['logger']['debug'](_0x16d1d1(0x216)+_0x1cead6+_0x16d1d1(0x26f)+MAX_CHATS_PER_SESSION+_0x16d1d1(0x281)));}}else _0x3e7001[_0x16d1d1(0x26e)]=Date[_0x16d1d1(0x268)]();if(!_0x3e7001[_0x16d1d1(0x214)]){if(_0x3e7001['creating']&&_0x3e7001[_0x16d1d1(0x1e3)]){this[_0x16d1d1(0x249)][_0x16d1d1(0x279)](_0x16d1d1(0x28a)+_0x3f2a18);try{_0x3e7001[_0x16d1d1(0x214)]=await _0x3e7001['createPromise'];}catch(_0x50f361){this[_0x16d1d1(0x249)][_0x16d1d1(0x28d)](_0x16d1d1(0x1f5),_0x50f361);}}else{if(!_0x3e7001[_0x16d1d1(0x24e)]){_0x3e7001[_0x16d1d1(0x24e)]=!![],_0x3e7001[_0x16d1d1(0x1e3)]=((async()=>{const _0x379009=_0x16d1d1;try{const _0x5870cc=await this[_0x379009(0x20f)]['tdx']['llm'][_0x379009(0x257)](_0x3e7001[_0x379009(0x22d)]);return this['logger'][_0x379009(0x1fc)]('['+_0x5870cc['id']+_0x379009(0x258)+_0x375216[_0x379009(0x27f)]+_0x379009(0x23c)+_0x3f2a18),_0x5870cc['id'];}catch(_0x3fc40c){this[_0x379009(0x249)][_0x379009(0x28d)](_0x379009(0x206),_0x3fc40c);throw _0x3fc40c;}finally{_0x3e7001['creating']=![],_0x3e7001['createPromise']=undefined;}})());try{_0x3e7001['chatId']=await _0x3e7001[_0x16d1d1(0x1e3)];}catch{}}}}const _0x414e52=_0x26bc24['filter'](_0x34a0e7=>!_0x3e7001[_0x16d1d1(0x240)]['has'](_0x34a0e7)),_0x16cf6a=_0x1c1258[_0x16d1d1(0x273)](_0x54b12b=>!_0x3e7001[_0x16d1d1(0x261)][_0x16d1d1(0x1e5)](_0x54b12b[_0x16d1d1(0x27c)]));this[_0x16d1d1(0x249)][_0x16d1d1(0x279)](_0x16d1d1(0x288)+_0x35a4d1+_0x16d1d1(0x223)+_0x375216['model']+_0x16d1d1(0x20d)+_0x3f2a18+_0x16d1d1(0x225)+_0x4facee),this[_0x16d1d1(0x249)][_0x16d1d1(0x279)](_0x16d1d1(0x22b)+_0x3e7001['chatId']),this[_0x16d1d1(0x249)]['debug'](_0x16d1d1(0x263)+_0x26bc24[_0x16d1d1(0x26d)]+_0x16d1d1(0x270)+_0x1c1258[_0x16d1d1(0x26d)]),this[_0x16d1d1(0x249)][_0x16d1d1(0x279)]('Embedded\x20in\x20chat\x20-\x20system\x20prompts:\x20'+_0x3e7001[_0x16d1d1(0x240)][_0x16d1d1(0x208)]+_0x16d1d1(0x270)+_0x3e7001['embeddedToolsByName']['size']),this[_0x16d1d1(0x249)]['debug']('New\x20-\x20system\x20prompts:\x20'+_0x414e52[_0x16d1d1(0x26d)]+_0x16d1d1(0x270)+_0x16cf6a[_0x16d1d1(0x26d)]);_0x414e52[_0x16d1d1(0x26d)]>0x0&&this[_0x16d1d1(0x249)]['debug'](_0x16d1d1(0x27e),_0x414e52[_0x16d1d1(0x1fe)](_0x504d85=>_0x504d85[_0x16d1d1(0x253)](0x0,0x32)+_0x16d1d1(0x209))['join'](_0x16d1d1(0x201)));_0x16cf6a[_0x16d1d1(0x26d)]>0x0&&this['logger'][_0x16d1d1(0x279)](_0x16d1d1(0x22a),_0x16cf6a[_0x16d1d1(0x1fe)](_0x1cf755=>_0x1cf755[_0x16d1d1(0x27c)])[_0x16d1d1(0x1dd)](',\x20'));const _0x185c6c=calculateConversationDelta(_0x375216['messages'],_0x3e7001['messageHistory']),_0x13bbd0=extractLastUserMessage(_0x185c6c,_0x375216[_0x16d1d1(0x275)]);if(_0x13bbd0[_0x16d1d1(0x28d)])throw new SDKError(ErrorCode[_0x16d1d1(0x1da)],_0x13bbd0['error']);const _0x3cbb09=_0x13bbd0[_0x16d1d1(0x25c)]||'',_0x4ab4de=()=>{const _0x6babf7=_0x16d1d1,_0x2e9bf1=[];_0x26bc24[_0x6babf7(0x26d)]>0x0&&_0x2e9bf1[_0x6babf7(0x247)](_0x26bc24[_0x6babf7(0x1dd)]('\x0a\x0a'));_0x1c1258[_0x6babf7(0x26d)]>0x0&&_0x2e9bf1[_0x6babf7(0x247)](generateToolPrompt(_0x1c1258));if(_0x375216['messages']&&_0x375216['messages']['length']>0x1){const _0x28f972=formatConversationHistory(_0x375216['messages']);_0x28f972&&_0x2e9bf1[_0x6babf7(0x247)]('\x0a\x0a<conversation_history>\x0a'+_0x28f972+_0x6babf7(0x287));}return _0x2e9bf1[_0x6babf7(0x247)](_0x3cbb09),_0x2e9bf1[_0x6babf7(0x273)](_0x5dbd43=>_0x5dbd43&&_0x5dbd43[_0x6babf7(0x1e4)]())[_0x6babf7(0x1dd)](_0x6babf7(0x1e2));};let _0x30e7ee;if(_0x4facee){this[_0x16d1d1(0x249)][_0x16d1d1(0x1fc)]('['+_0x3e7001['chatId']+_0x16d1d1(0x227)+_0x375216[_0x16d1d1(0x27f)]+_0x16d1d1(0x28c)+_0x26bc24[_0x16d1d1(0x26d)]+_0x16d1d1(0x24b)+_0x1c1258[_0x16d1d1(0x26d)]+_0x16d1d1(0x1fd)+_0x1c1258[_0x16d1d1(0x1fe)](_0x1d7098=>_0x1d7098['name'])[_0x16d1d1(0x1dd)](',\x20')+']'),_0x30e7ee=_0x4ab4de();for(const _0x200b03 of _0x26bc24){_0x3e7001[_0x16d1d1(0x240)][_0x16d1d1(0x282)](_0x200b03);}for(const _0x36d4b8 of _0x1c1258){_0x3e7001[_0x16d1d1(0x261)]['set'](_0x36d4b8[_0x16d1d1(0x27c)],_0x36d4b8);}}else{const _0x39978c=[];_0x414e52[_0x16d1d1(0x26d)]>0x0&&(_0x39978c[_0x16d1d1(0x247)](_0x414e52[_0x16d1d1(0x1dd)]('\x0a\x0a')),this['logger']['debug'](_0x16d1d1(0x1f8),_0x414e52['length'],_0x16d1d1(0x25b)));if(_0x16cf6a[_0x16d1d1(0x26d)]>0x0)try{_0x39978c['push'](generateToolPrompt(_0x16cf6a)),this[_0x16d1d1(0x249)][_0x16d1d1(0x279)](_0x16d1d1(0x1f8),_0x16cf6a[_0x16d1d1(0x26d)],_0x16d1d1(0x236));}catch(_0x25944e){this[_0x16d1d1(0x249)]['error'](_0x16d1d1(0x1e9),_0x25944e);}try{const _0x291fbb=extractToolResults(_0x185c6c);_0x291fbb&&(_0x39978c['push'](_0x291fbb),this[_0x16d1d1(0x249)][_0x16d1d1(0x279)](_0x16d1d1(0x23e)));}catch(_0x477904){this[_0x16d1d1(0x249)]['error'](_0x16d1d1(0x1de),_0x477904);}_0x39978c[_0x16d1d1(0x247)](_0x3cbb09);const _0x2a1a98=_0x39978c[_0x16d1d1(0x273)](_0x5414dd=>_0x5414dd&&_0x5414dd[_0x16d1d1(0x1e4)]());_0x30e7ee=_0x2a1a98[_0x16d1d1(0x26d)]>0x0?_0x2a1a98[_0x16d1d1(0x1dd)](_0x16d1d1(0x1e2)):_0x3cbb09;for(const _0x3b9353 of _0x414e52){_0x3e7001['embeddedSystemPrompts'][_0x16d1d1(0x282)](_0x3b9353);}for(const _0x3f150d of _0x16cf6a){_0x3e7001[_0x16d1d1(0x261)]['set'](_0x3f150d[_0x16d1d1(0x27c)],_0x3f150d);}}(!_0x30e7ee||!_0x30e7ee[_0x16d1d1(0x1e4)]())&&(this[_0x16d1d1(0x249)][_0x16d1d1(0x24c)](_0x16d1d1(0x1ef)),this[_0x16d1d1(0x249)][_0x16d1d1(0x24c)](_0x16d1d1(0x259),{'isNewContext':_0x4facee,'userMessageLength':_0x3cbb09?.['length']||0x0,'systemPromptsCount':_0x26bc24[_0x16d1d1(0x26d)],'toolsCount':_0x1c1258[_0x16d1d1(0x26d)],'messagesCount':_0x375216['messages']?.[_0x16d1d1(0x26d)]||0x0,'newMessagesCount':_0x185c6c['length']}),clearChatState(_0x3e7001),_0x30e7ee=_0x4ab4de(),(!_0x30e7ee||!_0x30e7ee[_0x16d1d1(0x1e4)]())&&(this[_0x16d1d1(0x249)][_0x16d1d1(0x28d)]('Failed\x20to\x20reconstruct\x20message\x20-\x20all\x20parts\x20are\x20empty,\x20using\x20fallback'),this['logger'][_0x16d1d1(0x28d)](_0x16d1d1(0x203),{'systemPromptsCount':_0x26bc24[_0x16d1d1(0x26d)],'toolsCount':_0x1c1258[_0x16d1d1(0x26d)],'messagesCount':_0x375216['messages']?.[_0x16d1d1(0x26d)]||0x0,'userMessageLength':_0x3cbb09?.[_0x16d1d1(0x26d)]||0x0}),_0x30e7ee=_0x16d1d1(0x252)),this['logger'][_0x16d1d1(0x1fc)](_0x16d1d1(0x262),_0x30e7ee[_0x16d1d1(0x253)](0x0,0x64)+'...'));const _0x1ec1d1=_0x375216['stream']!==![];if(_0x1ec1d1){_0x2334ea[_0x16d1d1(0x217)][_0x16d1d1(0x280)](0xc8,{'Content-Type':_0x16d1d1(0x1fb),'Cache-Control':'no-cache','Connection':_0x16d1d1(0x1e7),'X-Accel-Buffering':'no'});const _0x1802dd=generateMessageId();let _0x5cd23b=0x0,_0x4d41f2=0x0;try{if(_0x3e7001[_0x16d1d1(0x214)]){const _0xa700da=_0x30e7ee[_0x16d1d1(0x253)](0x0,0x32)[_0x16d1d1(0x226)](/\n/g,'\x20');this[_0x16d1d1(0x249)][_0x16d1d1(0x1fc)]('['+_0x3e7001[_0x16d1d1(0x214)]+_0x16d1d1(0x219)+_0x375216[_0x16d1d1(0x27f)]+_0x16d1d1(0x23c)+_0x3f2a18+',\x20'+_0x375216[_0x16d1d1(0x275)][_0x16d1d1(0x26d)]+_0x16d1d1(0x21c)+_0x26bc24[_0x16d1d1(0x26d)]+'\x20system\x20prompts,\x20'+_0x1c1258[_0x16d1d1(0x26d)]+_0x16d1d1(0x1f1)+_0x30e7ee['length']+_0x16d1d1(0x241)+_0xa700da+_0x16d1d1(0x21d));}const _0x1127f0=this[_0x16d1d1(0x20f)][_0x16d1d1(0x267)]['llm'][_0x16d1d1(0x244)](_0x30e7ee,{'chatId':_0x3e7001['chatId']||undefined,'agentId':_0x3e7001[_0x16d1d1(0x214)]?undefined:_0x3e7001[_0x16d1d1(0x22d)]});if(!_0x1127f0){this[_0x16d1d1(0x249)][_0x16d1d1(0x28d)](_0x16d1d1(0x22e)),this['logger'][_0x16d1d1(0x28d)]('Context:',JSON[_0x16d1d1(0x20c)]({'chatId':_0x3e7001[_0x16d1d1(0x214)],'agentId':_0x3e7001['agentId'],'model':_0x375216['model'],'sessionId':_0x35a4d1,'contextSignature':_0x3f2a18})),_0x3e7001[_0x16d1d1(0x214)]='',this[_0x16d1d1(0x249)]['warn']('Reset\x20chat\x20ID\x20to\x20recover\x20on\x20next\x20request');const _0x365061=formatAnthropicSSE({'type':_0x16d1d1(0x28d),'error':{'type':'api_error','message':'Failed\x20to\x20initialize\x20chat\x20stream.\x20Please\x20try\x20again.'},'request_id':_0x1802dd});_0x2334ea[_0x16d1d1(0x217)][_0x16d1d1(0x228)](_0x365061),_0x2334ea['raw'][_0x16d1d1(0x207)]();return;}_0x3e7001['messageHistory']=_0x375216[_0x16d1d1(0x275)];const _0x12ec02=_0x3e7001;async function*_0x3efb47(_0x2f9020){const _0xb2d40e=_0x16d1d1;for await(const _0x2f04f1 of _0x2f9020){if(_0x2f04f1['type']===_0xb2d40e(0x231))_0x2f04f1['data'][_0xb2d40e(0x214)]&&!_0x12ec02[_0xb2d40e(0x214)]&&(_0x12ec02[_0xb2d40e(0x214)]=_0x2f04f1[_0xb2d40e(0x23f)]['chatId']);else _0x2f04f1[_0xb2d40e(0x285)]===_0xb2d40e(0x23d)&&(yield _0x2f04f1[_0xb2d40e(0x23f)]);}}const _0x288111=_0x3efb47(_0x1127f0);_0x5cd23b=estimateInputTokensFromRequest(_0x375216);const _0x405f7b=transformTDStreamToAnthropic(_0x288111,_0x1802dd,_0x375216[_0x16d1d1(0x27f)],this[_0x16d1d1(0x249)],_0x3cbb09,_0x5cd23b),_0x3083f1=_0x30e7ee[_0x16d1d1(0x26d)];let _0x37cdfd=0x0;for await(const _0x59293d of _0x405f7b){const _0x47f087=formatAnthropicSSE(_0x59293d);_0x37cdfd++,this[_0x16d1d1(0x249)][_0x16d1d1(0x279)](colorizeJSONCompact(_0x59293d,{'color':!![]})),_0x59293d['type']===_0x16d1d1(0x28d)&&_0x59293d[_0x16d1d1(0x28d)]['type']===_0x16d1d1(0x23b)&&(clearChatState(_0x3e7001),this[_0x16d1d1(0x249)][_0x16d1d1(0x24c)](_0x16d1d1(0x255)+_0x59293d[_0x16d1d1(0x28d)][_0x16d1d1(0x218)]+_0x16d1d1(0x284)+_0x3083f1+_0x16d1d1(0x1f9)+_0x35a4d1+_0x16d1d1(0x211)+_0x3f2a18)),_0x59293d[_0x16d1d1(0x285)]==='message_delta'&&_0x59293d[_0x16d1d1(0x1e1)]?.[_0x16d1d1(0x28e)]&&(_0x4d41f2=_0x59293d['usage']['output_tokens']),_0x2334ea[_0x16d1d1(0x217)][_0x16d1d1(0x228)](_0x47f087);}this[_0x16d1d1(0x249)][_0x16d1d1(0x279)](_0x16d1d1(0x246)+_0x37cdfd+_0x16d1d1(0x20e)),appendUsageEntry(_0x35a4d1,{'timestamp':new Date()[_0x16d1d1(0x24a)](),'model':_0x375216[_0x16d1d1(0x27f)],'inputTokens':_0x5cd23b,'outputTokens':_0x4d41f2,'contextSignature':_0x3f2a18,'profile':this[_0x16d1d1(0x20f)][_0x16d1d1(0x267)]?.[_0x16d1d1(0x242)]?.[_0x16d1d1(0x1ee)],'chatId':_0x3e7001[_0x16d1d1(0x214)]||undefined})[_0x16d1d1(0x213)](_0x1a236a=>{const _0x442643=_0x16d1d1;this[_0x442643(0x249)][_0x442643(0x24c)](_0x442643(0x251)+_0x1a236a);}),_0x2334ea[_0x16d1d1(0x217)]['end']();}catch(_0x53c5bd){(_0x5cd23b>0x0||_0x4d41f2>0x0)&&appendUsageEntry(_0x35a4d1,{'timestamp':new Date()[_0x16d1d1(0x24a)](),'model':_0x375216[_0x16d1d1(0x27f)],'inputTokens':_0x5cd23b,'outputTokens':_0x4d41f2,'contextSignature':_0x3f2a18,'profile':this[_0x16d1d1(0x20f)]['tdx']?.[_0x16d1d1(0x242)]?.['profile'],'chatId':_0x3e7001[_0x16d1d1(0x214)]||undefined})[_0x16d1d1(0x213)](_0x3b3297=>{const _0x3544cf=_0x16d1d1;this[_0x3544cf(0x249)][_0x3544cf(0x24c)](_0x3544cf(0x1e8)+_0x3b3297);});const _0xc74b4f=_0x53c5bd instanceof Error?_0x53c5bd[_0x16d1d1(0x218)]:_0x16d1d1(0x220);this[_0x16d1d1(0x249)][_0x16d1d1(0x28d)](_0x16d1d1(0x222),_0x53c5bd),this[_0x16d1d1(0x249)][_0x16d1d1(0x28d)]('Context:',JSON[_0x16d1d1(0x20c)]({'chatId':_0x3e7001['chatId'],'agentId':_0x3e7001[_0x16d1d1(0x22d)],'model':_0x375216[_0x16d1d1(0x27f)],'sessionId':_0x35a4d1,'contextSignature':_0x3f2a18})),_0x3e7001[_0x16d1d1(0x214)]='',this[_0x16d1d1(0x249)]['warn']('Reset\x20chat\x20state\x20to\x20recover\x20on\x20next\x20request');const _0x3bc04e=formatAnthropicSSE({'type':_0x16d1d1(0x28d),'error':{'type':_0x16d1d1(0x238),'message':_0xc74b4f},'request_id':_0x1802dd});_0x2334ea[_0x16d1d1(0x217)][_0x16d1d1(0x228)](_0x3bc04e),_0x2334ea['raw'][_0x16d1d1(0x207)]();}}else this[_0x16d1d1(0x249)][_0x16d1d1(0x28d)]('[PROXY\x20ERROR]\x20Non-streaming\x20responses\x20are\x20not\x20yet\x20supported'),_0x2334ea[_0x16d1d1(0x210)](0x1f5)[_0x16d1d1(0x205)]({'type':_0x16d1d1(0x28d),'error':{'type':_0x16d1d1(0x1ff),'message':_0x16d1d1(0x265)}});}async[a60_0x4ad324(0x221)](_0x55b887){const _0x1ecc91=a60_0x4ad324,_0x8b016=_0x55b887[_0x1ecc91(0x234)],_0x587a03=estimateInputTokensFromRequest(_0x8b016);return this[_0x1ecc91(0x249)][_0x1ecc91(0x1fc)](_0x55b887[_0x1ecc91(0x21f)]+'\x20'+_0x55b887[_0x1ecc91(0x22f)]+_0x1ecc91(0x202)+_0x587a03),{'input_tokens':_0x587a03};}async[a60_0x4ad324(0x232)](){const _0xa569b8=a60_0x4ad324;try{await this[_0xa569b8(0x23a)][_0xa569b8(0x27a)]({'port':this[_0xa569b8(0x20f)]['port'],'host':_0xa569b8(0x28b)}),this[_0xa569b8(0x249)][_0xa569b8(0x1fc)](_0xa569b8(0x215)+this[_0xa569b8(0x20f)][_0xa569b8(0x26c)]),this[_0xa569b8(0x26b)]=setInterval(()=>{const _0x1ad244=_0xa569b8;this[_0x1ad244(0x22c)]();},CLEANUP_INTERVAL_MS),this['logger']['debug'](_0xa569b8(0x27b)+CLEANUP_INTERVAL_MS/0x3e8+'s,\x20expires\x20after\x20'+CACHE_EXPIRATION_MS/0x3e8+'s)');}catch(_0x2649b8){const _0x2f49f4=_0x2649b8 instanceof Error?_0x2649b8[_0xa569b8(0x218)]:_0xa569b8(0x220);throw new Error(_0xa569b8(0x286)+_0x2f49f4);}}async[a60_0x4ad324(0x243)](){const _0x1f8529=a60_0x4ad324;this[_0x1f8529(0x26b)]&&(clearInterval(this[_0x1f8529(0x26b)]),this['cleanupInterval']=undefined),await this['server'][_0x1f8529(0x1ec)]();}[a60_0x4ad324(0x20b)](){const _0x4c29ff=a60_0x4ad324,_0xd2e707=this[_0x4c29ff(0x23a)][_0x4c29ff(0x23a)]['address']();if(typeof _0xd2e707===_0x4c29ff(0x1f4))return _0xd2e707;if(_0xd2e707)return'http://'+_0xd2e707['address']+':'+_0xd2e707[_0x4c29ff(0x26c)];return _0x4c29ff(0x204)+this[_0x4c29ff(0x20f)]['port'];}}
@@ -1 +1 @@
1
- function a60_0x159f(_0x3d0fa3,_0x58865b){_0x3d0fa3=_0x3d0fa3-0x1e1;const _0x26738c=a60_0x2673();let _0x159f1e=_0x26738c[_0x3d0fa3];return _0x159f1e;}const a60_0x56cfc2=a60_0x159f;function a60_0x2673(){const _0xa73a6e=['373528ldYxne','delete','chats','Session\x20','clear','394002ZTQxDM','2766230ejHrTO','now','getOrCreateChat','6VUNooV','724850mRIeTx','77487XiHOig','config','set','getOrCreateSession','9008912QUdmrC','189003ehNHpu','130CcVJbR','size','68faBmYF','getTotalChatCount','get','push','24aCjJUe','sessions','lastUsedAt','getSession'];a60_0x2673=function(){return _0xa73a6e;};return a60_0x2673();}(function(_0x10a7bc,_0x4375ba){const _0x2969c6=a60_0x159f,_0x29ed70=_0x10a7bc();while(!![]){try{const _0xb406be=-parseInt(_0x2969c6(0x1f4))/0x1*(parseInt(_0x2969c6(0x1ed))/0x2)+-parseInt(_0x2969c6(0x1ef))/0x3*(parseInt(_0x2969c6(0x1f7))/0x4)+-parseInt(_0x2969c6(0x1ea))/0x5+-parseInt(_0x2969c6(0x1fb))/0x6*(-parseInt(_0x2969c6(0x1ee))/0x7)+parseInt(_0x2969c6(0x1e4))/0x8+parseInt(_0x2969c6(0x1e9))/0x9*(parseInt(_0x2969c6(0x1f5))/0xa)+parseInt(_0x2969c6(0x1f3))/0xb;if(_0xb406be===_0x4375ba)break;else _0x29ed70['push'](_0x29ed70['shift']());}catch(_0x3485bc){_0x29ed70['push'](_0x29ed70['shift']());}}}(a60_0x2673,0x46b71));export class SessionCache{[a60_0x56cfc2(0x1e1)];[a60_0x56cfc2(0x1f0)];constructor(_0x31c1dc){const _0x5d35d4=a60_0x56cfc2;this[_0x5d35d4(0x1f0)]=_0x31c1dc,this[_0x5d35d4(0x1e1)]=new Map();}[a60_0x56cfc2(0x1f2)](_0x48ef8e,_0x396ee1){const _0x283586=a60_0x56cfc2;let _0x4d09ce=this[_0x283586(0x1e1)][_0x283586(0x1f9)](_0x48ef8e);return!_0x4d09ce&&(_0x4d09ce={'projectId':_0x396ee1,'chats':new Map()},this[_0x283586(0x1e1)][_0x283586(0x1f1)](_0x48ef8e,_0x4d09ce)),_0x4d09ce;}[a60_0x56cfc2(0x1e3)](_0x1810a2){const _0x4b0c24=a60_0x56cfc2;return this['sessions'][_0x4b0c24(0x1f9)](_0x1810a2);}[a60_0x56cfc2(0x1ec)](_0x471a5c,_0x3800bb,_0x5e9efa){const _0x33c078=a60_0x56cfc2,_0x49d111=this[_0x33c078(0x1e1)]['get'](_0x471a5c);if(!_0x49d111)throw new Error(_0x33c078(0x1e7)+_0x471a5c+'\x20not\x20found');let _0xa83581=_0x49d111[_0x33c078(0x1e6)][_0x33c078(0x1f9)](_0x3800bb);if(!_0xa83581){_0xa83581={'chatId':'','agentId':_0x5e9efa,'contextSignature':_0x3800bb,'embeddedSystemPrompts':new Set(),'embeddedToolsByName':new Map(),'messageHistory':[],'lastUsedAt':Date[_0x33c078(0x1eb)]()},_0x49d111['chats'][_0x33c078(0x1f1)](_0x3800bb,_0xa83581);if(_0x49d111[_0x33c078(0x1e6)]['size']>this[_0x33c078(0x1f0)]['maxChatsPerSession']){let _0x3a9639=null,_0x37d99b=Date['now']();for(const [_0x30ed59,_0x2c41eb]of _0x49d111[_0x33c078(0x1e6)]){_0x2c41eb[_0x33c078(0x1e2)]<_0x37d99b&&(_0x37d99b=_0x2c41eb[_0x33c078(0x1e2)],_0x3a9639=_0x30ed59);}_0x3a9639&&_0x49d111[_0x33c078(0x1e6)][_0x33c078(0x1e5)](_0x3a9639);}}else _0xa83581[_0x33c078(0x1e2)]=Date[_0x33c078(0x1eb)]();return _0xa83581;}['cleanupExpiredChats'](){const _0x2599fe=a60_0x56cfc2,_0xe66a4c=Date[_0x2599fe(0x1eb)]();let _0x27369b=0x0;for(const [_0x5ae5cf,_0x2b9c5a]of this[_0x2599fe(0x1e1)]){const _0x55fd4c=[];for(const [_0x51c204,_0x30a029]of _0x2b9c5a[_0x2599fe(0x1e6)]){_0xe66a4c-_0x30a029[_0x2599fe(0x1e2)]>this[_0x2599fe(0x1f0)]['cacheExpirationMs']&&_0x55fd4c[_0x2599fe(0x1fa)](_0x51c204);}for(const _0x2c3d4c of _0x55fd4c){_0x2b9c5a[_0x2599fe(0x1e6)]['delete'](_0x2c3d4c),_0x27369b++;}_0x2b9c5a['chats'][_0x2599fe(0x1f6)]===0x0&&this[_0x2599fe(0x1e1)]['delete'](_0x5ae5cf);}return _0x27369b;}['getSessionCount'](){return this['sessions']['size'];}[a60_0x56cfc2(0x1f8)](){const _0x3a0f75=a60_0x56cfc2;let _0x4d3826=0x0;for(const _0xa841cf of this[_0x3a0f75(0x1e1)]['values']()){_0x4d3826+=_0xa841cf[_0x3a0f75(0x1e6)][_0x3a0f75(0x1f6)];}return _0x4d3826;}[a60_0x56cfc2(0x1e8)](){const _0x1c318e=a60_0x56cfc2;this[_0x1c318e(0x1e1)]['clear']();}}
1
+ const a61_0x55113a=a61_0x2042;function a61_0x2042(_0x4b3eae,_0x33c72b){_0x4b3eae=_0x4b3eae-0x170;const _0x420729=a61_0x4207();let _0x204230=_0x420729[_0x4b3eae];return _0x204230;}(function(_0x3abad0,_0x284dd9){const _0x5c7c74=a61_0x2042,_0xd0cbf4=_0x3abad0();while(!![]){try{const _0x5bae1e=-parseInt(_0x5c7c74(0x185))/0x1*(parseInt(_0x5c7c74(0x180))/0x2)+parseInt(_0x5c7c74(0x174))/0x3*(-parseInt(_0x5c7c74(0x17d))/0x4)+-parseInt(_0x5c7c74(0x173))/0x5+-parseInt(_0x5c7c74(0x17c))/0x6*(parseInt(_0x5c7c74(0x172))/0x7)+-parseInt(_0x5c7c74(0x18b))/0x8*(-parseInt(_0x5c7c74(0x17e))/0x9)+-parseInt(_0x5c7c74(0x17a))/0xa+parseInt(_0x5c7c74(0x18c))/0xb;if(_0x5bae1e===_0x284dd9)break;else _0xd0cbf4['push'](_0xd0cbf4['shift']());}catch(_0x45dbfb){_0xd0cbf4['push'](_0xd0cbf4['shift']());}}}(a61_0x4207,0x7f50c));export class SessionCache{[a61_0x55113a(0x181)];[a61_0x55113a(0x175)];constructor(_0x3011c6){const _0x40a4e1=a61_0x55113a;this[_0x40a4e1(0x175)]=_0x3011c6,this[_0x40a4e1(0x181)]=new Map();}[a61_0x55113a(0x17b)](_0x4368d5,_0x14ffc1){const _0x571ecc=a61_0x55113a;let _0x4362dc=this['sessions']['get'](_0x4368d5);return!_0x4362dc&&(_0x4362dc={'projectId':_0x14ffc1,'chats':new Map()},this[_0x571ecc(0x181)][_0x571ecc(0x182)](_0x4368d5,_0x4362dc)),_0x4362dc;}[a61_0x55113a(0x179)](_0x4271d4){const _0x1ffab8=a61_0x55113a;return this[_0x1ffab8(0x181)][_0x1ffab8(0x183)](_0x4271d4);}['getOrCreateChat'](_0x1d8af2,_0x3d49e2,_0x4aaea4){const _0x2031a1=a61_0x55113a,_0x1474c2=this[_0x2031a1(0x181)]['get'](_0x1d8af2);if(!_0x1474c2)throw new Error(_0x2031a1(0x178)+_0x1d8af2+_0x2031a1(0x176));let _0x1d6e85=_0x1474c2[_0x2031a1(0x187)]['get'](_0x3d49e2);if(!_0x1d6e85){_0x1d6e85={'chatId':'','agentId':_0x4aaea4,'contextSignature':_0x3d49e2,'embeddedSystemPrompts':new Set(),'embeddedToolsByName':new Map(),'messageHistory':[],'lastUsedAt':Date['now']()},_0x1474c2[_0x2031a1(0x187)][_0x2031a1(0x182)](_0x3d49e2,_0x1d6e85);if(_0x1474c2[_0x2031a1(0x187)][_0x2031a1(0x188)]>this['config'][_0x2031a1(0x184)]){let _0x48e036=null,_0x41d249=Date['now']();for(const [_0x36a113,_0x561340]of _0x1474c2['chats']){_0x561340[_0x2031a1(0x18d)]<_0x41d249&&(_0x41d249=_0x561340[_0x2031a1(0x18d)],_0x48e036=_0x36a113);}_0x48e036&&_0x1474c2[_0x2031a1(0x187)][_0x2031a1(0x17f)](_0x48e036);}}else _0x1d6e85['lastUsedAt']=Date['now']();return _0x1d6e85;}[a61_0x55113a(0x171)](){const _0x3aa770=a61_0x55113a,_0x356c67=Date[_0x3aa770(0x186)]();let _0x469d97=0x0;for(const [_0x1fa7d9,_0x517b99]of this[_0x3aa770(0x181)]){const _0x9aae76=[];for(const [_0x1573c8,_0x442cde]of _0x517b99[_0x3aa770(0x187)]){_0x356c67-_0x442cde['lastUsedAt']>this[_0x3aa770(0x175)]['cacheExpirationMs']&&_0x9aae76[_0x3aa770(0x170)](_0x1573c8);}for(const _0x14ba08 of _0x9aae76){_0x517b99[_0x3aa770(0x187)][_0x3aa770(0x17f)](_0x14ba08),_0x469d97++;}_0x517b99[_0x3aa770(0x187)][_0x3aa770(0x188)]===0x0&&this[_0x3aa770(0x181)]['delete'](_0x1fa7d9);}return _0x469d97;}[a61_0x55113a(0x189)](){return this['sessions']['size'];}['getTotalChatCount'](){const _0x4ea71c=a61_0x55113a;let _0x184646=0x0;for(const _0x5dff02 of this['sessions'][_0x4ea71c(0x177)]()){_0x184646+=_0x5dff02[_0x4ea71c(0x187)][_0x4ea71c(0x188)];}return _0x184646;}[a61_0x55113a(0x18a)](){const _0x3cf962=a61_0x55113a;this[_0x3cf962(0x181)][_0x3cf962(0x18a)]();}}function a61_0x4207(){const _0x39185a=['31417oYeJOs','now','chats','size','getSessionCount','clear','2456ZwkCUX','24921424PZVhVB','lastUsedAt','push','cleanupExpiredChats','66647GgCJwj','1247930JozaSZ','11031EoWxzt','config','\x20not\x20found','values','Session\x20','getSession','6229330XfrxXd','getOrCreateSession','6dIMhgY','68dcnJRb','5112KfzANX','delete','62kewdLb','sessions','set','get','maxChatsPerSession'];a61_0x4207=function(){return _0x39185a;};return a61_0x4207();}
@@ -0,0 +1,386 @@
1
+ /**
2
+ * Agent YAML Schema Types and Conversion Utilities
3
+ *
4
+ * This module provides a human-friendly YAML format for agent configuration
5
+ * and utilities to convert between YAML and API formats.
6
+ *
7
+ * YAML Format:
8
+ * ```yaml
9
+ * name: My Support Agent
10
+ * description: Customer support assistant
11
+ * model: claude-4.5-sonnet
12
+ * temperature: 0.7
13
+ * max_tool_iterations: 5
14
+ * reasoning_effort: medium
15
+ *
16
+ * tools:
17
+ * - type: knowledge_base
18
+ * target: '@ref(type: "knowledge_base", name: "support-kb")'
19
+ * target_function: SEARCH
20
+ * function_name: search_knowledge
21
+ * function_description: Search the support knowledge base
22
+ * ```
23
+ */
24
+ import type { AgentFull, AgentTool, AgentVariable, AgentOutput, KnowledgeBase, LLMPrompt, Integration, IntegrationAction } from '../../types/llm.js';
25
+ /**
26
+ * Migrate deprecated model names to current versions
27
+ * @param modelType - The model type from YAML or API
28
+ * @returns The migrated model type (or original if not deprecated)
29
+ */
30
+ export declare function migrateModelType(modelType: string): string;
31
+ /**
32
+ * Resource types that can be referenced
33
+ */
34
+ export type RefType = 'knowledge_base' | 'agent' | 'web_search_tool' | 'image_generator' | 'prompt';
35
+ /**
36
+ * Parsed reference from @ref(...) syntax
37
+ */
38
+ export interface ParsedRef {
39
+ type: RefType;
40
+ name: string;
41
+ }
42
+ /**
43
+ * Parse @ref(...) string to ParsedRef
44
+ * @param refString - String like '@ref(type: "agent", name: "my-agent")'
45
+ * @returns Parsed reference or null if not a valid reference
46
+ */
47
+ export declare function parseRef(refString: string): ParsedRef | null;
48
+ /**
49
+ * Create @ref(...) string from type and name
50
+ * @param type - Resource type
51
+ * @param name - Resource name
52
+ * @returns Reference string like '@ref(type: "agent", name: "my-agent")'
53
+ */
54
+ export declare function toRef(type: RefType, name: string): string;
55
+ /**
56
+ * Check if a string is a reference
57
+ */
58
+ export declare function isRef(value: unknown): boolean;
59
+ /**
60
+ * Get agent dependency names from an AgentYaml
61
+ * Returns names of agents that this agent depends on via agent tools
62
+ */
63
+ export declare function getAgentDependencies(agentYaml: AgentYaml): string[];
64
+ /**
65
+ * Check if an agent can be pushed (all its agent dependencies are satisfied)
66
+ *
67
+ * @param agentYaml - Agent YAML to check
68
+ * @param availableAgentNames - Set of agent names that are available (existing + already pushed)
69
+ * @returns true if all agent dependencies are satisfied
70
+ */
71
+ export declare function canPushAgent(agentYaml: AgentYaml, availableAgentNames: Set<string>): boolean;
72
+ /**
73
+ * Result of resolving agent dependencies
74
+ */
75
+ export interface AgentDependencyResult<T extends {
76
+ yaml: AgentYaml;
77
+ }> {
78
+ /** Agents in dependency order (can be pushed) */
79
+ resolved: T[];
80
+ /** Agents with unresolved dependencies (circular or missing) */
81
+ unresolved: Array<{
82
+ agent: T;
83
+ missingDeps: string[];
84
+ }>;
85
+ }
86
+ /**
87
+ * Resolve agent dependencies and return agents in push order
88
+ *
89
+ * Uses iterative approach to handle agent-to-agent dependencies.
90
+ * Detects circular dependencies and reports missing dependencies.
91
+ *
92
+ * @param agents - List of agents with their YAML
93
+ * @param initialAvailable - Set of agent names already available (e.g., existing on server)
94
+ * @returns Resolved agents in order and unresolved agents with their missing deps
95
+ */
96
+ export declare function resolveAgentDependencies<T extends {
97
+ yaml: AgentYaml;
98
+ }>(agents: T[], initialAvailable?: Set<string>): AgentDependencyResult<T>;
99
+ /**
100
+ * Reasoning effort level
101
+ */
102
+ export type ReasoningEffort = 'none' | 'minimal' | 'low' | 'medium' | 'high';
103
+ /**
104
+ * Convert reasoning effort string to API number
105
+ */
106
+ export declare function reasoningEffortToApi(effort: ReasoningEffort | undefined): number | undefined;
107
+ /**
108
+ * Convert API reasoning effort number to string
109
+ */
110
+ export declare function reasoningEffortFromApi(value: number | undefined): ReasoningEffort | undefined;
111
+ /**
112
+ * Tool type in YAML format
113
+ */
114
+ export type YamlToolType = 'knowledge_base' | 'agent' | 'web_search' | 'image_gen';
115
+ /**
116
+ * Output definition in YAML format
117
+ */
118
+ export interface YamlAgentOutput {
119
+ name: string;
120
+ function_name: string;
121
+ function_description?: string;
122
+ json_schema: string;
123
+ }
124
+ /**
125
+ * Tool definition in YAML format
126
+ */
127
+ export interface YamlAgentTool {
128
+ type: YamlToolType;
129
+ /** Reference to target resource: '@ref(type: "knowledge_base", name: "my-kb")' */
130
+ target: string;
131
+ target_function: string;
132
+ function_name: string;
133
+ function_description: string;
134
+ output_mode?: 'full' | 'summary';
135
+ prompt_schema?: string;
136
+ prompt_template?: string;
137
+ }
138
+ /**
139
+ * Variable definition in YAML format
140
+ */
141
+ export interface YamlAgentVariable {
142
+ name: string;
143
+ /** Reference to knowledge base: '@ref(type: "knowledge_base", name: "my-kb")' */
144
+ target_knowledge_base: string;
145
+ target_function: string;
146
+ function_arguments: string;
147
+ }
148
+ /**
149
+ * Complete agent YAML schema
150
+ */
151
+ export interface AgentYaml {
152
+ name: string;
153
+ description?: string;
154
+ model: string;
155
+ temperature?: number;
156
+ max_tool_iterations?: number;
157
+ reasoning_effort?: ReasoningEffort;
158
+ /** Short starter message (use starter_message.md for long messages) */
159
+ starter_message?: string;
160
+ outputs?: YamlAgentOutput[];
161
+ tools?: YamlAgentTool[];
162
+ variables?: YamlAgentVariable[];
163
+ }
164
+ /**
165
+ * Knowledge base table in YAML format
166
+ */
167
+ export interface YamlKnowledgeBaseTable {
168
+ name: string;
169
+ td_query: string;
170
+ enable_data?: boolean;
171
+ enable_data_index?: boolean;
172
+ }
173
+ /**
174
+ * Knowledge base YAML schema
175
+ */
176
+ export interface KnowledgeBaseYaml {
177
+ name: string;
178
+ database: string;
179
+ tables: YamlKnowledgeBaseTable[];
180
+ }
181
+ /**
182
+ * Prompt YAML schema
183
+ */
184
+ export interface PromptYaml {
185
+ name: string;
186
+ /** Reference to agent: '@ref(type: "agent", name: "my-agent")' */
187
+ agent: string;
188
+ system_prompt: string;
189
+ template: string;
190
+ json_schema_hint?: string;
191
+ }
192
+ /**
193
+ * Integration action in YAML format
194
+ */
195
+ export interface YamlIntegrationAction {
196
+ /** Reference to prompt: '@ref(type: "prompt", name: "my-prompt")' */
197
+ prompt: string;
198
+ chat_widget_type: string;
199
+ chat_widget_label: string;
200
+ ui_tags?: unknown[];
201
+ webhook_text_url?: string;
202
+ slack_request_url?: string;
203
+ }
204
+ /**
205
+ * Integration YAML schema
206
+ */
207
+ export interface IntegrationYaml {
208
+ name: string;
209
+ service_type: string;
210
+ slack_message_mode?: string;
211
+ chat_ignore_managed_actions?: boolean;
212
+ chat_welcome_message?: string;
213
+ webhook_cors_origins?: {
214
+ origin: string;
215
+ }[];
216
+ actions?: YamlIntegrationAction[];
217
+ }
218
+ /**
219
+ * Validate agent YAML structure
220
+ */
221
+ export declare function validateAgentYaml(obj: unknown, filePath?: string): AgentYaml;
222
+ /**
223
+ * Validate knowledge base YAML structure
224
+ */
225
+ export declare function validateKnowledgeBaseYaml(obj: unknown, filePath?: string): KnowledgeBaseYaml;
226
+ /**
227
+ * Validate prompt YAML structure
228
+ */
229
+ export declare function validatePromptYaml(obj: unknown, filePath?: string): PromptYaml;
230
+ /**
231
+ * Validate integration YAML structure
232
+ */
233
+ export declare function validateIntegrationYaml(obj: unknown, filePath?: string): IntegrationYaml;
234
+ /**
235
+ * Parse YAML string to AgentYaml with validation
236
+ */
237
+ export declare function parseAgentYaml(content: string, filePath?: string): AgentYaml;
238
+ /**
239
+ * Parse YAML string to KnowledgeBaseYaml with validation
240
+ */
241
+ export declare function parseKnowledgeBaseYaml(content: string, filePath?: string): KnowledgeBaseYaml;
242
+ /**
243
+ * Parse YAML string to PromptYaml with validation
244
+ */
245
+ export declare function parsePromptYaml(content: string, filePath?: string): PromptYaml;
246
+ /**
247
+ * Parse YAML string to IntegrationYaml with validation
248
+ */
249
+ export declare function parseIntegrationYaml(content: string, filePath?: string): IntegrationYaml;
250
+ /**
251
+ * Convert AgentYaml to YAML string with stable field ordering
252
+ */
253
+ export declare function toAgentYamlString(agent: AgentYaml): string;
254
+ /**
255
+ * Convert KnowledgeBaseYaml to YAML string
256
+ */
257
+ export declare function toKnowledgeBaseYamlString(kb: KnowledgeBaseYaml): string;
258
+ /**
259
+ * Convert PromptYaml to YAML string
260
+ */
261
+ export declare function toPromptYamlString(prompt: PromptYaml): string;
262
+ /**
263
+ * Convert IntegrationYaml to YAML string
264
+ */
265
+ export declare function toIntegrationYamlString(integration: IntegrationYaml): string;
266
+ /**
267
+ * Context for YAML to API conversion (provides ID resolution)
268
+ */
269
+ export interface YamlToApiContext {
270
+ projectId: string;
271
+ resolveKnowledgeBaseId: (name: string) => Promise<string | undefined>;
272
+ resolveAgentId: (name: string) => Promise<string | undefined>;
273
+ resolveWebSearchToolId: (name: string) => Promise<string | undefined>;
274
+ resolveImageGeneratorId: (name: string) => Promise<string | undefined>;
275
+ resolvePromptId: (name: string) => Promise<string | undefined>;
276
+ }
277
+ /**
278
+ * Context for API to YAML conversion (provides name resolution)
279
+ */
280
+ export interface ApiToYamlContext {
281
+ resolveKnowledgeBaseName: (id: string) => Promise<string | undefined>;
282
+ resolveAgentName: (id: string) => Promise<string | undefined>;
283
+ resolveWebSearchToolName: (id: string) => Promise<string | undefined>;
284
+ resolveImageGeneratorName: (id: string) => Promise<string | undefined>;
285
+ resolvePromptName: (id: string) => Promise<string | undefined>;
286
+ }
287
+ /**
288
+ * Convert API AgentFull to AgentYaml format
289
+ */
290
+ export declare function apiAgentToYaml(agent: AgentFull, ctx: ApiToYamlContext): Promise<{
291
+ yaml: AgentYaml;
292
+ systemPrompt: string;
293
+ starterMessage?: string;
294
+ }>;
295
+ /**
296
+ * Convert API KnowledgeBase to KnowledgeBaseYaml format
297
+ */
298
+ export declare function apiKnowledgeBaseToYaml(kb: KnowledgeBase): KnowledgeBaseYaml;
299
+ /**
300
+ * Convert API LLMPrompt to PromptYaml format
301
+ */
302
+ export declare function apiPromptToYaml(prompt: LLMPrompt, ctx: ApiToYamlContext): Promise<PromptYaml | null>;
303
+ /**
304
+ * Convert API Integration to IntegrationYaml format
305
+ */
306
+ export declare function apiIntegrationToYaml(integration: Integration, ctx: ApiToYamlContext): Promise<IntegrationYaml>;
307
+ /**
308
+ * Convert AgentYaml to API create request format
309
+ */
310
+ export declare function yamlAgentToApi(agentYaml: AgentYaml, systemPrompt: string, starterMessage: string | undefined, ctx: YamlToApiContext): Promise<{
311
+ name: string;
312
+ description?: string;
313
+ projectId: string;
314
+ systemPrompt: string;
315
+ starterMessage?: string;
316
+ modelType: string;
317
+ maxToolIterations: number;
318
+ temperature: number;
319
+ reasoningEffort?: number;
320
+ outputs: AgentOutput[];
321
+ tools: AgentTool[];
322
+ variables: AgentVariable[];
323
+ }>;
324
+ /**
325
+ * Convert KnowledgeBaseYaml to API create request format
326
+ */
327
+ export declare function yamlKnowledgeBaseToApi(kb: KnowledgeBaseYaml, projectId: string): {
328
+ projectId: string;
329
+ name: string;
330
+ tdDatabaseName: string;
331
+ tables: {
332
+ name: string;
333
+ tdQuery: string;
334
+ enableData: boolean;
335
+ enableDataIndex: boolean;
336
+ }[];
337
+ };
338
+ /**
339
+ * Convert PromptYaml to API create request format
340
+ */
341
+ export declare function yamlPromptToApi(prompt: PromptYaml, projectId: string, ctx: YamlToApiContext): Promise<{
342
+ projectId: string;
343
+ agentId: string;
344
+ name: string;
345
+ systemPrompt: string;
346
+ template: string;
347
+ jsonSchemaHint?: string;
348
+ } | null>;
349
+ /**
350
+ * Convert IntegrationYaml to API create request format
351
+ */
352
+ export declare function yamlIntegrationToApi(integration: IntegrationYaml, projectId: string, ctx: YamlToApiContext): Promise<{
353
+ projectId: string;
354
+ serviceType: string;
355
+ slackMessageMode: string;
356
+ chatIgnoreManagedActions: boolean;
357
+ chatWelcomeMessage: string;
358
+ webhookCorsOrigins?: {
359
+ origin: string;
360
+ }[];
361
+ actions: IntegrationAction[];
362
+ }>;
363
+ /**
364
+ * Normalize a name for filesystem use
365
+ * - Convert to lowercase
366
+ * - Replace spaces and special characters with hyphens
367
+ * - Remove consecutive hyphens
368
+ * - Example: "My Support Agent (v2)" -> "my-support-agent-v2"
369
+ */
370
+ export declare function normalizeName(name: string): string;
371
+ /**
372
+ * Helper class to generate unique normalized names by tracking used names
373
+ * and appending numeric suffixes when collisions occur.
374
+ *
375
+ * Example: If "my-agent" is already used, the next collision returns "my-agent-2"
376
+ */
377
+ export declare class UniqueNameGenerator {
378
+ private usedNames;
379
+ /**
380
+ * Get a unique normalized name, appending a suffix if the name is already used
381
+ * @param name - Original name to normalize
382
+ * @returns Unique normalized name
383
+ */
384
+ getUniqueName(name: string): string;
385
+ }
386
+ //# sourceMappingURL=agent-yaml.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-yaml.d.ts","sourceRoot":"","sources":["../../../src/sdk/agent/agent-yaml.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAIH,OAAO,KAAK,EACV,SAAS,EACT,SAAS,EACT,aAAa,EACb,WAAW,EACX,aAAa,EACb,SAAS,EACT,WAAW,EACX,iBAAiB,EAClB,MAAM,oBAAoB,CAAC;AAe5B;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAE1D;AAMD;;GAEG;AACH,MAAM,MAAM,OAAO,GAAG,gBAAgB,GAAG,OAAO,GAAG,iBAAiB,GAAG,iBAAiB,GAAG,QAAQ,CAAC;AAEpG;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,OAAO,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAOD;;;;GAIG;AACH,wBAAgB,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,IAAI,CAQ5D;AAED;;;;;GAKG;AACH,wBAAgB,KAAK,CAAC,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED;;GAEG;AACH,wBAAgB,KAAK,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAE7C;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,EAAE,CAWnE;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,SAAS,EAAE,SAAS,EAAE,mBAAmB,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,OAAO,CAG5F;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB,CAAC,CAAC,SAAS;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE;IAClE,iDAAiD;IACjD,QAAQ,EAAE,CAAC,EAAE,CAAC;IACd,gEAAgE;IAChE,UAAU,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,CAAC,CAAC;QAAC,WAAW,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC,CAAC;CACxD;AAED;;;;;;;;;GASG;AACH,wBAAgB,wBAAwB,CAAC,CAAC,SAAS;IAAE,IAAI,EAAE,SAAS,CAAA;CAAE,EACpE,MAAM,EAAE,CAAC,EAAE,EACX,gBAAgB,GAAE,GAAG,CAAC,MAAM,CAAa,GACxC,qBAAqB,CAAC,CAAC,CAAC,CAkC1B;AAMD;;GAEG;AACH,MAAM,MAAM,eAAe,GAAG,MAAM,GAAG,SAAS,GAAG,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;AAE7E;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,eAAe,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,CAU5F;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,GAAG,eAAe,GAAG,SAAS,CAU7F;AAED;;GAEG;AACH,MAAM,MAAM,YAAY,GAAG,gBAAgB,GAAG,OAAO,GAAG,YAAY,GAAG,WAAW,CAAC;AAEnF;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,aAAa,EAAE,MAAM,CAAC;IACtB,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,YAAY,CAAC;IACnB,kFAAkF;IAClF,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACjC,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,iFAAiF;IACjF,qBAAqB,EAAE,MAAM,CAAC;IAC9B,eAAe,EAAE,MAAM,CAAC;IACxB,kBAAkB,EAAE,MAAM,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,gBAAgB,CAAC,EAAE,eAAe,CAAC;IACnC,uEAAuE;IACvE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,OAAO,CAAC,EAAE,eAAe,EAAE,CAAC;IAC5B,KAAK,CAAC,EAAE,aAAa,EAAE,CAAC;IACxB,SAAS,CAAC,EAAE,iBAAiB,EAAE,CAAC;CACjC;AAMD;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,sBAAsB,EAAE,CAAC;CAClC;AAMD;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,kEAAkE;IAClE,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAMD;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,qEAAqE;IACrE,MAAM,EAAE,MAAM,CAAC;IACf,gBAAgB,EAAE,MAAM,CAAC;IACzB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,OAAO,CAAC,EAAE,OAAO,EAAE,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,2BAA2B,CAAC,EAAE,OAAO,CAAC;IACtC,oBAAoB,CAAC,EAAE,MAAM,CAAC;IAC9B,oBAAoB,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC5C,OAAO,CAAC,EAAE,qBAAqB,EAAE,CAAC;CACnC;AAMD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CA8E5E;AAyID;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,iBAAiB,CAkC5F;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,UAAU,CAkD9E;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,GAAG,EAAE,OAAO,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,eAAe,CA2BxF;AAMD;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAY5E;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,iBAAiB,CAY5F;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,UAAU,CAY9E;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,EAAE,MAAM,GAAG,eAAe,CAYxF;AAMD;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,SAAS,GAAG,MAAM,CAuB1D;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,EAAE,EAAE,iBAAiB,GAAG,MAAM,CAOvE;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,UAAU,GAAG,MAAM,CAO7D;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,eAAe,GAAG,MAAM,CAO5E;AAMD;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,sBAAsB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACtE,cAAc,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAC9D,sBAAsB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACtE,uBAAuB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACvE,eAAe,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;CAChE;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,wBAAwB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACtE,gBAAgB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IAC9D,wBAAwB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACtE,yBAAyB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;IACvE,iBAAiB,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAAC;CAChE;AAMD;;GAEG;AACH,wBAAsB,cAAc,CAClC,KAAK,EAAE,SAAS,EAChB,GAAG,EAAE,gBAAgB,GACpB,OAAO,CAAC;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,cAAc,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CA2D7E;AAyDD;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,EAAE,EAAE,aAAa,GAAG,iBAAiB,CAW3E;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,SAAS,EACjB,GAAG,EAAE,gBAAgB,GACpB,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAgB5B;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,WAAW,EAAE,WAAW,EACxB,GAAG,EAAE,gBAAgB,GACpB,OAAO,CAAC,eAAe,CAAC,CAmC1B;AAMD;;GAEG;AACH,wBAAsB,cAAc,CAClC,SAAS,EAAE,SAAS,EACpB,YAAY,EAAE,MAAM,EACpB,cAAc,EAAE,MAAM,GAAG,SAAS,EAClC,GAAG,EAAE,gBAAgB,GACpB,OAAO,CAAC;IACT,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,KAAK,EAAE,SAAS,EAAE,CAAC;IACnB,SAAS,EAAE,aAAa,EAAE,CAAC;CAC5B,CAAC,CAiDD;AAqDD;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,EAAE,EAAE,iBAAiB,EACrB,SAAS,EAAE,MAAM,GAChB;IACD,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,OAAO,CAAC;QAAC,eAAe,EAAE,OAAO,CAAA;KAAE,EAAE,CAAC;CAC5F,CAYA;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,UAAU,EAClB,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,gBAAgB,GACpB,OAAO,CAAC;IACT,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,GAAG,IAAI,CAAC,CAeR;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CACxC,WAAW,EAAE,eAAe,EAC5B,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,gBAAgB,GACpB,OAAO,CAAC;IACT,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,CAAC;IACzB,wBAAwB,EAAE,OAAO,CAAC;IAClC,kBAAkB,EAAE,MAAM,CAAC;IAC3B,kBAAkB,CAAC,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC1C,OAAO,EAAE,iBAAiB,EAAE,CAAC;CAC9B,CAAC,CA4BD;AAMD;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAMlD;AAED;;;;;GAKG;AACH,qBAAa,mBAAmB;IAC9B,OAAO,CAAC,SAAS,CAAqB;IAEtC;;;;OAIG;IACH,aAAa,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;CAgBpC"}