@treasuredata/tdx 0.14.7 → 0.14.8

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 (139) hide show
  1. package/dist/bin.js +1 -1
  2. package/dist/build-info.json +3 -3
  3. package/dist/cli-categories.js +1 -1
  4. package/dist/cli.js +1 -1
  5. package/dist/commands/activations.js +1 -1
  6. package/dist/commands/agent-command.js +1 -1
  7. package/dist/commands/api-command.js +1 -1
  8. package/dist/commands/auth-command.js +1 -1
  9. package/dist/commands/chat-command.js +1 -1
  10. package/dist/commands/claude-command.js +1 -1
  11. package/dist/commands/claude-statusline-command.js +1 -1
  12. package/dist/commands/claude-usage-command.js +1 -1
  13. package/dist/commands/command.js +1 -1
  14. package/dist/commands/connection-command.js +1 -1
  15. package/dist/commands/databases.js +1 -1
  16. package/dist/commands/describe.js +1 -1
  17. package/dist/commands/engage-command.js +1 -1
  18. package/dist/commands/job-command.js +1 -1
  19. package/dist/commands/journey-command.js +1 -1
  20. package/dist/commands/journey-validate-command.js +1 -1
  21. package/dist/commands/llm-command.js +1 -1
  22. package/dist/commands/llm-proxy.js +1 -1
  23. package/dist/commands/parent-segment-command.js +1 -1
  24. package/dist/commands/profile-command.js +1 -1
  25. package/dist/commands/profiles-command.js +1 -1
  26. package/dist/commands/query-command.js +1 -1
  27. package/dist/commands/segment-command.js +1 -1
  28. package/dist/commands/segment-create-command.js +1 -1
  29. package/dist/commands/segment-fields-command.js +1 -1
  30. package/dist/commands/segment-pull-command.js +1 -1
  31. package/dist/commands/segment-push-command.js +1 -1
  32. package/dist/commands/segment-update-command.js +1 -1
  33. package/dist/commands/segment-use-command.js +1 -1
  34. package/dist/commands/segment-validate-command.js +1 -1
  35. package/dist/commands/segments.js +1 -1
  36. package/dist/commands/show.js +1 -1
  37. package/dist/commands/tables.js +1 -1
  38. package/dist/commands/unset-command.js +1 -1
  39. package/dist/commands/use-command.js +1 -1
  40. package/dist/commands/user-command.js +1 -1
  41. package/dist/commands/workflow-command.js +1 -1
  42. package/dist/core/auth.js +1 -1
  43. package/dist/core/command-output.js +1 -1
  44. package/dist/core/config.js +1 -1
  45. package/dist/core/connection-cache.js +1 -1
  46. package/dist/core/constants.js +1 -1
  47. package/dist/core/credential-cache.js +1 -1
  48. package/dist/core/global-context.js +1 -1
  49. package/dist/core/keychain.js +1 -1
  50. package/dist/core/profile.js +1 -1
  51. package/dist/core/project-config.js +1 -1
  52. package/dist/core/session.js +1 -1
  53. package/dist/core/user-cache.js +1 -1
  54. package/dist/core/version.js +1 -1
  55. package/dist/index.js +1 -1
  56. package/dist/proxy/anthropic-adapter.js +1 -1
  57. package/dist/proxy/claude-usage-tracker.js +1 -1
  58. package/dist/proxy/context-signature.js +1 -1
  59. package/dist/proxy/conversation-utils.js +1 -1
  60. package/dist/proxy/passthrough-server.js +1 -1
  61. package/dist/proxy/server.js +1 -1
  62. package/dist/proxy/session-cache.js +1 -1
  63. package/dist/proxy/sse-usage-parser.js +1 -1
  64. package/dist/sdk/agent/agent-config.js +1 -1
  65. package/dist/sdk/agent/agent-ref-parser.js +1 -1
  66. package/dist/sdk/agent/agent-yaml.js +1 -1
  67. package/dist/sdk/api.js +1 -1
  68. package/dist/sdk/client/cdp-api-client.js +1 -1
  69. package/dist/sdk/client/endpoints.js +1 -1
  70. package/dist/sdk/client/engage-api-client.js +1 -1
  71. package/dist/sdk/client/http-client.js +1 -1
  72. package/dist/sdk/client/llm-api-client.js +1 -1
  73. package/dist/sdk/client/rate-limiter.js +1 -1
  74. package/dist/sdk/client/td-api-client.js +1 -1
  75. package/dist/sdk/client/trino-api-client.js +1 -1
  76. package/dist/sdk/client/workflow-client.js +1 -1
  77. package/dist/sdk/connection-validator.js +1 -1
  78. package/dist/sdk/connection.js +1 -1
  79. package/dist/sdk/engage.js +1 -1
  80. package/dist/sdk/errors.js +1 -1
  81. package/dist/sdk/index.js +1 -1
  82. package/dist/sdk/io/index.js +1 -1
  83. package/dist/sdk/io/node-filesystem.js +1 -1
  84. package/dist/sdk/job.js +1 -1
  85. package/dist/sdk/journey.js +1 -1
  86. package/dist/sdk/llm/chat-cache.js +1 -1
  87. package/dist/sdk/llm/index.js +1 -1
  88. package/dist/sdk/llm/llm-backup-utils.js +1 -1
  89. package/dist/sdk/llm/model-aliases.js +1 -1
  90. package/dist/sdk/llm/model-factors.js +1 -1
  91. package/dist/sdk/query/index.js +1 -1
  92. package/dist/sdk/query/sql-parser.js +1 -1
  93. package/dist/sdk/segment/child-segment-yaml.js +1 -1
  94. package/dist/sdk/segment/fields-display.js +1 -1
  95. package/dist/sdk/segment/file-discovery.js +1 -1
  96. package/dist/sdk/segment/journey-utils.js +1 -1
  97. package/dist/sdk/segment/journey-yaml.js +1 -1
  98. package/dist/sdk/segment/parent-segment-preview.js +1 -1
  99. package/dist/sdk/segment/parent-segment-yaml.js +1 -1
  100. package/dist/sdk/segment/pull-workflow.js +1 -1
  101. package/dist/sdk/segment/push-workflow.js +1 -1
  102. package/dist/sdk/segment/resolution-context.js +1 -1
  103. package/dist/sdk/segment/segment-path-parser.js +1 -1
  104. package/dist/sdk/segment/segment-ref-parser.js +1 -1
  105. package/dist/sdk/segment/target-resolution.js +1 -1
  106. package/dist/sdk/segment/tdx-config.js +1 -1
  107. package/dist/sdk/segment/validate-files.js +1 -1
  108. package/dist/sdk/segment/yaml-validator.js +1 -1
  109. package/dist/sdk/segment.js +1 -1
  110. package/dist/sdk/types/index.js +1 -1
  111. package/dist/sdk/types/progress.js +1 -1
  112. package/dist/sdk/user.js +1 -1
  113. package/dist/sdk/util/format-detector.js +1 -1
  114. package/dist/sdk/util/formatters.js +1 -1
  115. package/dist/sdk/util/index.js +1 -1
  116. package/dist/sdk/util/tree-formatter.js +1 -1
  117. package/dist/sdk/workflow/clone-workflow.js +1 -1
  118. package/dist/sdk/workflow/index.js +1 -1
  119. package/dist/sdk/workflow/pull-workflow.js +1 -1
  120. package/dist/sdk/workflow/push-workflow.js +1 -1
  121. package/dist/sdk/workflow/tdx-config.js +1 -1
  122. package/dist/sdk/workflow/workflow-utils.js +1 -1
  123. package/dist/tdx +10 -0
  124. package/dist/utils/async.js +1 -1
  125. package/dist/utils/colors.js +1 -1
  126. package/dist/utils/diff.js +1 -1
  127. package/dist/utils/file-permissions.js +1 -1
  128. package/dist/utils/json-loader.js +1 -1
  129. package/dist/utils/option-validation.js +1 -1
  130. package/dist/utils/port.js +1 -1
  131. package/dist/utils/process.js +1 -1
  132. package/dist/utils/prompt.js +1 -1
  133. package/dist/utils/spinner.js +1 -1
  134. package/dist/utils/sse-parser.js +1 -1
  135. package/dist/utils/string-utils.js +1 -1
  136. package/dist/utils/table-ref-parser.js +1 -1
  137. package/dist/utils/tdx-logger.js +1 -1
  138. package/dist/utils/version-check.js +1 -1
  139. package/package.json +2 -2
@@ -1 +1 @@
1
- (function(_0x254cef,_0x1aa8a2){const _0x5d01cc=a54_0x4a27,_0x587ca7=_0x254cef();while(!![]){try{const _0x4d49af=-parseInt(_0x5d01cc(0x198))/0x1*(-parseInt(_0x5d01cc(0x17a))/0x2)+-parseInt(_0x5d01cc(0x19c))/0x3*(-parseInt(_0x5d01cc(0x177))/0x4)+parseInt(_0x5d01cc(0x1b1))/0x5+parseInt(_0x5d01cc(0x1ae))/0x6+-parseInt(_0x5d01cc(0x17d))/0x7*(-parseInt(_0x5d01cc(0x1b0))/0x8)+-parseInt(_0x5d01cc(0x186))/0x9*(-parseInt(_0x5d01cc(0x1d0))/0xa)+-parseInt(_0x5d01cc(0x1bb))/0xb*(parseInt(_0x5d01cc(0x1c6))/0xc);if(_0x4d49af===_0x1aa8a2)break;else _0x587ca7['push'](_0x587ca7['shift']());}catch(_0x3e9a69){_0x587ca7['push'](_0x587ca7['shift']());}}}(a54_0x1873,0xd67ef));import{SDKError,ErrorCode}from'../sdk/errors.js';import{calculateConversationDelta}from'./conversation-utils.js';export{calculateConversationDelta}from'./conversation-utils.js';function estimateTokenCount(_0x4a72d6){const _0x2fb321=a54_0x4a27;if(!_0x4a72d6||_0x4a72d6[_0x2fb321(0x1be)]===0x0)return 0x0;return Math[_0x2fb321(0x1c9)](_0x4a72d6[_0x2fb321(0x1be)]/3.7);}export function determineErrorType(_0x3c5f86,_0xe39375){const _0x247a59=a54_0x4a27,_0x42de05=_0x3c5f86['includes']('Input\x20is\x20too\x20long')||_0x3c5f86[_0x247a59(0x1c4)](_0x247a59(0x16b))||_0x3c5f86[_0x247a59(0x1c4)](_0x247a59(0x1dc));if(_0x42de05)return _0xe39375?.[_0x247a59(0x1bd)](_0x247a59(0x1da)+_0x3c5f86),_0x247a59(0x1e9);return _0xe39375?.[_0x247a59(0x1bd)](_0x247a59(0x1e1)+_0x3c5f86),'api_error';}export function estimateInputTokensFromRequest(_0x516356){const _0x551cfc=a54_0x4a27;let _0x555a35=0x0;if(typeof _0x516356['system']===_0x551cfc(0x18a))_0x555a35+=_0x516356[_0x551cfc(0x199)][_0x551cfc(0x1be)];else{if(Array[_0x551cfc(0x1cb)](_0x516356[_0x551cfc(0x199)]))for(const _0x556721 of _0x516356[_0x551cfc(0x199)]){_0x556721&&typeof _0x556721['text']===_0x551cfc(0x18a)&&(_0x555a35+=_0x556721['text'][_0x551cfc(0x1be)]);}}if(Array[_0x551cfc(0x1cb)](_0x516356[_0x551cfc(0x191)]))for(const _0x4cd05e of _0x516356[_0x551cfc(0x191)]){_0x4cd05e&&(_0x555a35+=_0x4cd05e[_0x551cfc(0x1c2)]?.[_0x551cfc(0x1be)]||0x0,_0x555a35+=_0x4cd05e[_0x551cfc(0x1eb)]?.[_0x551cfc(0x1be)]||0x0,_0x4cd05e[_0x551cfc(0x18b)]&&(_0x555a35+=JSON[_0x551cfc(0x1b4)](_0x4cd05e['input_schema'])[_0x551cfc(0x1be)]));}if(Array[_0x551cfc(0x1cb)](_0x516356[_0x551cfc(0x1bf)]))for(const _0x23bbfc of _0x516356[_0x551cfc(0x1bf)]){if(!_0x23bbfc)continue;if(typeof _0x23bbfc[_0x551cfc(0x1a8)]===_0x551cfc(0x18a))_0x555a35+=_0x23bbfc[_0x551cfc(0x1a8)][_0x551cfc(0x1be)];else{if(Array[_0x551cfc(0x1cb)](_0x23bbfc[_0x551cfc(0x1a8)]))for(const _0x2e3f4e of _0x23bbfc['content']){if(!_0x2e3f4e)continue;if(_0x2e3f4e[_0x551cfc(0x1cd)]===_0x551cfc(0x18d)&&_0x2e3f4e['text'])_0x555a35+=_0x2e3f4e['text'][_0x551cfc(0x1be)];else{if(_0x2e3f4e[_0x551cfc(0x1cd)]===_0x551cfc(0x18e)&&_0x2e3f4e[_0x551cfc(0x1a1)])_0x555a35+=JSON[_0x551cfc(0x1b4)](_0x2e3f4e[_0x551cfc(0x1a1)])[_0x551cfc(0x1be)];else{if(_0x2e3f4e[_0x551cfc(0x1cd)]===_0x551cfc(0x187)&&_0x2e3f4e['content']){if(typeof _0x2e3f4e[_0x551cfc(0x1a8)]===_0x551cfc(0x18a))_0x555a35+=_0x2e3f4e[_0x551cfc(0x1a8)][_0x551cfc(0x1be)];else{if(Array[_0x551cfc(0x1cb)](_0x2e3f4e['content']))for(const _0x4c87da of _0x2e3f4e[_0x551cfc(0x1a8)]){_0x4c87da&&_0x4c87da[_0x551cfc(0x1cd)]===_0x551cfc(0x18d)&&_0x4c87da[_0x551cfc(0x18d)]&&(_0x555a35+=_0x4c87da['text']['length']);}}}}}}}}return Math[_0x551cfc(0x1c9)](_0x555a35/3.7);}function a54_0x1873(){const _0x400508=['message_start','endIndex','1638210OfICUd','$1,\x22new_string\x22:$2}','32KISygR','4661715MhKBbM',',\x20ID:\x20','\x0a</tool_result>','stringify','Read','&lt;','Invalid\x20tools\x20type:\x20expected\x20array,\x20got\x20','slice','trim','toString','45216710bxZHaS','LLM_MALFORMED_MESSAGE','error','length','messages','reasoning','\x0a```','name','Task','includes','end_turn','12aajazN','[MULTIPLE\x20TOOL_USE]\x20Detected\x20','Glob','ceil','message_stop','isArray','No\x20user\x20message\x20found\x20in\x20request\x20delta','type','[MALFORMED\x20TOOL_USE]\x20Detected\x20malformed\x20XML\x20format\x20with\x20separate\x20id\x20tag.\x20Name:\x20','debug','550TYPkGo','join','Executing\x20only\x20the\x20last\x20one\x20(','\x0aOriginal\x20XML:\x0a','##\x20Tool:\x20','push','replace','Edit','Malformed\x20tool_use\x20JSON\x20detected','\x0aYou\x20are\x20`tdx\x20claude`,\x20an\x20extension\x20of\x20Claude\x20Code,\x20with\x20tdx\x20CLI\x20tools\x20(https://tdx.treasuredata.com/)\x20and\x20skills\x20to\x20access\x20Treasure\x20Data\x20and\x20CDP.\x0a\x0a#\x20How\x20to\x20Use\x20Tools\x0a\x0a-\x20**CRITICAL:**\x20Output\x20exactly\x20ONE\x20tool_use\x20per\x20response,\x20then\x20STOP\x20and\x20wait\x20for\x20the\x20result.\x20NEVER\x20output\x20multiple\x20tool_use\x20elements\x20-\x20call\x20tools\x20sequentially,\x20one\x20at\x20a\x20time.\x0a-\x20**CRITICAL:**\x20Each\x20tool_use\x20must\x20have\x20a\x20unique\x20ID\x20starting\x20with\x20\x22toolu_\x22\x20and\x20contain\x20JSON\x20parameters:\x20`<tool_use\x20name=\x22(tool\x20name)\x22\x20id=\x22toolu_xxx\x22>{JSON\x20parameters}</tool_use>`\x0a-\x20**CRITICAL:**\x20Follow\x20each\x20tool\x27s\x20JSON\x20schema\x20exactly\x20-\x20include\x20ALL\x20required\x20keys\x20with\x20correct\x20names\x0a-\x20BOTH\x20`name`\x20and\x20`id`\x20attributes\x20MUST\x20be\x20in\x20the\x20XML\x20opening\x20tag\x20(not\x20on\x20separate\x20lines)\x0a-\x20Parameters\x20must\x20be\x20JSON\x20(not\x20XML).\x20Ensure\x20all\x20strings\x20are\x20double\x20quoted.\x0a-\x20Tool\x20results\x20will\x20be\x20provided\x20as:\x20`<tool_result\x20tool_use_id=\x22<id>\x22>result</tool_result>`\x0a-\x20Once\x20you\x20receive\x20a\x20tool\x20result,\x20you\x20may\x20call\x20another\x20tool\x20or\x20continue\x20your\x20response\x0a-\x20**For\x20Treasure\x20Data\x20tasks**,\x20prefer\x20tdx-skills\x20when\x20available:\x0a\x20\x20-\x20**tdx-basic**:\x20Core\x20tdx\x20CLI\x20operations\x20(databases,\x20tables,\x20queries,\x20context\x20management)\x0a\x20\x20-\x20**parent-segment**:\x20Manage\x20CDP\x20parent\x20segments\x20with\x20YAML-based\x20configuration\x0a\x20\x20-\x20**segment**:\x20Manage\x20CDP\x20child\x20segments\x20with\x20rules,\x20activations,\x20and\x20folders\x0a\x20\x20-\x20**sql-skills**:\x20SQL\x20query\x20assistance\x0a\x20\x20-\x20**workflow-skills**:\x20Workflow\x20management\x0a\x0a**Example\x201\x20-\x20Simple\x20tool:**\x0a<tool_use\x20name=\x22calculator\x22\x20id=\x22toolu_abc123\x22>\x0a{\x22expression\x22:\x20\x2225\x20*\x204\x22}\x0a</tool_use>\x0a\x0a**Example\x202\x20-\x20Edit\x20tool\x20(ALL\x20keys\x20required):**\x0a<tool_use\x20name=\x22Edit\x22\x20id=\x22toolu_def456\x22>\x0a{\x22file_path\x22:\x20\x22test.ts\x22,\x20\x22old_string\x22:\x20\x22foo\x22,\x20\x22new_string\x22:\x20\x22bar\x22}\x0a</tool_use>\x0a\x0a**Example\x203\x20-\x20Multiline\x20strings\x20(escape\x20newlines):**\x0a<tool_use\x20name=\x22Edit\x22\x20id=\x22toolu_ghi789\x22>\x0a{\x22file_path\x22:\x20\x22test.ts\x22,\x20\x22old_string\x22:\x20\x22const\x20x\x20=\x201;\x22,\x20\x22new_string\x22:\x20\x22const\x20x\x20=\x201;\x5cnconst\x20y\x20=\x202;\x22}\x0a</tool_use>\x0a\x0a#\x20Available\x20Tools\x0a\x0a','[CONTEXT\x20LENGTH\x20ERROR]\x20','[MALFORMED\x20TOOL_USE]\x20Missing\x20id\x20attribute,\x20generated\x20fallback.\x20Name:\x20','maximum\x20context','Write','usage','now','filter','[API\x20ERROR]\x20','\x0a[After]:\x0a','parse','message','<tool_use','random','user','lastIndexOf','request_too_large','substring','description','context\x20length','NotebookEdit','warn','message_delta','tool_use_id','WebSearch','toLowerCase','&gt;','thinking','startIndex','WebFetch','[MALFORMED\x20TOOL_USE]\x20Extracted\x20from\x20flexible\x20pattern.\x20Name:\x20','8DWDvop','Tool\x20call\x20detected:\x20','sonnet','1154khocgw','model_context_window_exceeded','map','2388057qZbJxN','opus',').\x20Ignored:\x20','{\x22tool_use\x22:','[JSON\x20REPAIR]\x20Added\x20missing\x20\x22new_string\x22\x20key\x0a[Before]:\x0a','[MALFORMED\x20JSON]\x20Tool\x20use\x20JSON\x20could\x20not\x20be\x20parsed\x20or\x20repaired:\x0a','\x0a\x0a[tdx\x20error]\x20Malformed\x20tool_use\x20JSON\x20detected.\x20Please\x20fix\x20the\x20JSON\x20below:\x0a\x0a','Grep','\x20tool_use\x20blocks.\x20','56790bvicTZ','tool_result','Malformed\x20content:','</tool_use>','string','input_schema','TodoWrite','text','tool_use','toolu_generated_','exec','tools','Invalid\x20message.content\x20type\x20for\x20user\x20role:\x20expected\x20array,\x20got\x20','input_json_delta','content_block_delta','haiku','is_error','<tool_result\x20tool_use_id=\x22','2143bFlwbA','system','index','\x0adata:\x20','1253463LlbMrN','Invalid\x20message.content\x20type:\x20expected\x20string\x20or\x20array,\x20got\x20','indexOf','output_tokens','content_block_stop','input','content_block_start','\x20error=\x22true\x22','assistant','text_delta','msg_','\x20(generated)','content','pop','\x0a---\x0a','event:\x20'];a54_0x1873=function(){return _0x400508;};return a54_0x1873();}function generateMessageId(){const _0x136a04=a54_0x4a27;return _0x136a04(0x1a6)+Math[_0x136a04(0x1e6)]()[_0x136a04(0x1ba)](0x24)['substring'](0x2,0xf)+Math['random']()['toString'](0x24)['substring'](0x2,0xf);}export function extractTextFromAnthropicMessage(_0x170917){const _0x483d93=a54_0x4a27;if(typeof _0x170917['content']===_0x483d93(0x18a))return _0x170917[_0x483d93(0x1a8)];if(_0x170917[_0x483d93(0x1a8)]==null)return'';if(!Array[_0x483d93(0x1cb)](_0x170917[_0x483d93(0x1a8)]))throw new SDKError(ErrorCode[_0x483d93(0x1bc)],_0x483d93(0x19d)+typeof _0x170917['content']);return _0x170917[_0x483d93(0x1a8)]['filter'](_0x59d7d4=>_0x59d7d4&&_0x59d7d4['type']===_0x483d93(0x18d)&&_0x59d7d4[_0x483d93(0x18d)])['map'](_0x526828=>_0x526828['text'])[_0x483d93(0x1d1)]('\x0a');}function a54_0x4a27(_0x1fe56a,_0x5d9260){_0x1fe56a=_0x1fe56a-0x16b;const _0x187353=a54_0x1873();let _0x4a27d5=_0x187353[_0x1fe56a];return _0x4a27d5;}export function transformAnthropicRequestToTD(_0x53047f,_0xe26128){const _0x41edb8=a54_0x4a27,_0x154d78=calculateConversationDelta(_0x53047f[_0x41edb8(0x1bf)],_0xe26128),_0x3f03eb=_0x154d78[_0x41edb8(0x1e0)](_0x192799=>_0x192799['role']===_0x41edb8(0x1e7))['pop']();if(!_0x3f03eb)throw new Error(_0x41edb8(0x1cc));const _0x210a10=extractTextFromAnthropicMessage(_0x3f03eb);return{'userMessage':_0x210a10,'deltaMessages':_0x154d78};}export function formatAnthropicSSE(_0x3e1580){const _0x54c00d=a54_0x4a27;return _0x54c00d(0x1ab)+_0x3e1580[_0x54c00d(0x1cd)]+_0x54c00d(0x19b)+JSON[_0x54c00d(0x1b4)](_0x3e1580)+'\x0a\x0a';}export function mapAnthropicModelToTD(_0x36949a){const _0x51b86e=a54_0x4a27,_0x31a3a3={'sonnet':_0x51b86e(0x179),'claude-sonnet':_0x51b86e(0x179),'claude-3-5-sonnet':_0x51b86e(0x179),'claude-3-sonnet':'sonnet','haiku':_0x51b86e(0x195),'claude-haiku':_0x51b86e(0x195),'claude-3-5-haiku':'haiku','claude-3-haiku':_0x51b86e(0x195),'opus':_0x51b86e(0x17e),'claude-opus':'opus','claude-3-opus':_0x51b86e(0x17e)},_0x3e520e=_0x36949a[_0x51b86e(0x171)]();return _0x31a3a3[_0x3e520e]||_0x51b86e(0x179);}export function generateToolPrompt(_0xc8bb82){const _0x28fa3d=a54_0x4a27;if(_0xc8bb82==null)return'';if(!Array['isArray'](_0xc8bb82))throw new SDKError(ErrorCode[_0x28fa3d(0x1bc)],_0x28fa3d(0x1b7)+typeof _0xc8bb82);if(_0xc8bb82[_0x28fa3d(0x1be)]===0x0)return'';const _0x3f8fa6=_0xc8bb82[_0x28fa3d(0x1e0)](_0xf30ec9=>_0xf30ec9!=null)['map'](_0x5282a1=>{const _0x5c21da=_0x28fa3d,_0x4bdc58=JSON[_0x5c21da(0x1b4)](_0x5282a1['input_schema']);return _0x5c21da(0x1d4)+_0x5282a1[_0x5c21da(0x1c2)]+'\x0a\x0a**Description:**\x20'+(_0x5282a1['description']||'No\x20description')+'\x0a\x0a**Input\x20Schema:**\x0a```json\x0a'+_0x4bdc58+_0x5c21da(0x1c1);})[_0x28fa3d(0x1d1)]('\x0a\x0a');return _0x28fa3d(0x1d9)+_0x3f8fa6+_0x28fa3d(0x1aa);}function escapeXmlContent(_0x385b2c){const _0x55f0dc=a54_0x4a27;return _0x385b2c[_0x55f0dc(0x1d6)](/&/g,'&amp;')[_0x55f0dc(0x1d6)](/</g,_0x55f0dc(0x1b6))[_0x55f0dc(0x1d6)](/>/g,_0x55f0dc(0x172));}export function extractToolResults(_0x1bde88){const _0x26c2d5=a54_0x4a27;if(_0x1bde88==null)return'';if(!Array['isArray'](_0x1bde88))throw new SDKError(ErrorCode[_0x26c2d5(0x1bc)],'Invalid\x20messages\x20type:\x20expected\x20array,\x20got\x20'+typeof _0x1bde88);const _0x5582ba=[];for(const _0x405d0f of _0x1bde88){if(!_0x405d0f)continue;if(_0x405d0f['role']==='user'&&typeof _0x405d0f[_0x26c2d5(0x1a8)]!==_0x26c2d5(0x18a)){if(!Array[_0x26c2d5(0x1cb)](_0x405d0f[_0x26c2d5(0x1a8)]))throw new SDKError(ErrorCode[_0x26c2d5(0x1bc)],_0x26c2d5(0x192)+typeof _0x405d0f['content']);for(const _0x30dd4e of _0x405d0f[_0x26c2d5(0x1a8)]){if(!_0x30dd4e)continue;if(_0x30dd4e[_0x26c2d5(0x1cd)]===_0x26c2d5(0x187)&&_0x30dd4e[_0x26c2d5(0x16f)]){let _0x54a8d0='';if(typeof _0x30dd4e[_0x26c2d5(0x1a8)]===_0x26c2d5(0x18a))_0x54a8d0=_0x30dd4e[_0x26c2d5(0x1a8)];else _0x30dd4e[_0x26c2d5(0x1a8)]!=null&&Array[_0x26c2d5(0x1cb)](_0x30dd4e[_0x26c2d5(0x1a8)])&&(_0x54a8d0=_0x30dd4e['content'][_0x26c2d5(0x1e0)](_0x4e738d=>_0x4e738d&&_0x4e738d[_0x26c2d5(0x1cd)]===_0x26c2d5(0x18d)&&_0x4e738d[_0x26c2d5(0x18d)])[_0x26c2d5(0x17c)](_0x2ec121=>_0x2ec121[_0x26c2d5(0x18d)])[_0x26c2d5(0x1d1)]('\x0a'));const _0x3b52d4=escapeXmlContent(_0x54a8d0),_0x3187ce=_0x30dd4e[_0x26c2d5(0x196)]?_0x26c2d5(0x1a3):'';_0x5582ba[_0x26c2d5(0x1d5)](_0x26c2d5(0x197)+_0x30dd4e['tool_use_id']+'\x22'+_0x3187ce+'>\x0a'+_0x3b52d4+_0x26c2d5(0x1b3));}}}}if(_0x5582ba['length']===0x0)return'';return _0x5582ba[_0x26c2d5(0x1d1)]('\x0a\x0a');}function findJsonEndIndex(_0x22ed2a,_0x207a37){const _0x5bd888=a54_0x4a27;let _0x2aa87a=0x0,_0x4dfac4=![],_0x346024=![];for(let _0x30fc6e=_0x207a37;_0x30fc6e<_0x22ed2a[_0x5bd888(0x1be)];_0x30fc6e++){const _0xc7f068=_0x22ed2a[_0x30fc6e];if(_0x346024){_0x346024=![];continue;}if(_0xc7f068==='\x5c'){_0x346024=!![];continue;}if(_0xc7f068==='\x22'){_0x4dfac4=!_0x4dfac4;continue;}if(!_0x4dfac4){if(_0xc7f068==='{')_0x2aa87a++;else{if(_0xc7f068==='}'){_0x2aa87a--;if(_0x2aa87a===0x0)return _0x30fc6e+0x1;}}}}return-0x1;}function repairIncompleteJson(_0x2aab0a,_0x274012){const _0x2f19ad=a54_0x4a27;try{return JSON[_0x2f19ad(0x1e3)](_0x2aab0a),_0x2aab0a;}catch{let _0x816131=_0x2aab0a;const _0x49b2ca=/("old_string"\s*:\s*"[^"]*")\s*,\s*("(?:[^"\\]|\\.)*")\s*\}/,_0x1451b5=_0x49b2ca[_0x2f19ad(0x190)](_0x816131);if(_0x1451b5){_0x816131=_0x816131[_0x2f19ad(0x1d6)](_0x49b2ca,_0x2f19ad(0x1af));try{return JSON[_0x2f19ad(0x1e3)](_0x816131),_0x274012&&_0x274012[_0x2f19ad(0x16d)](_0x2f19ad(0x181)+_0x2aab0a+_0x2f19ad(0x1e2)+_0x816131),_0x816131;}catch{_0x816131=_0x2aab0a;}}const _0x5a625a=[];let _0x37a3bb=![],_0x5d4b76=![];for(const _0x38d171 of _0x2aab0a){if(_0x5d4b76){_0x5d4b76=![];continue;}if(_0x38d171==='\x5c'){_0x5d4b76=!![];continue;}if(_0x38d171==='\x22'){_0x37a3bb=!_0x37a3bb;continue;}if(!_0x37a3bb){if(_0x38d171==='{')_0x5a625a[_0x2f19ad(0x1d5)]('{');else{if(_0x38d171==='[')_0x5a625a[_0x2f19ad(0x1d5)]('[');else{if(_0x38d171==='}'&&_0x5a625a[_0x5a625a[_0x2f19ad(0x1be)]-0x1]==='{')_0x5a625a[_0x2f19ad(0x1a9)]();else _0x38d171===']'&&_0x5a625a[_0x5a625a[_0x2f19ad(0x1be)]-0x1]==='['&&_0x5a625a[_0x2f19ad(0x1a9)]();}}}}_0x816131=_0x2aab0a;_0x37a3bb&&(_0x816131+='\x22');while(_0x5a625a[_0x2f19ad(0x1be)]>0x0){const _0x58d73f=_0x5a625a['pop']();_0x816131+=_0x58d73f==='{'?'}':']';}try{return JSON[_0x2f19ad(0x1e3)](_0x816131),_0x274012&&_0x816131!==_0x2aab0a&&_0x274012[_0x2f19ad(0x16d)]('[JSON\x20REPAIR]\x20Successfully\x20repaired\x20malformed\x20JSON\x0a[Before]:\x0a'+_0x2aab0a+_0x2f19ad(0x1e2)+_0x816131),_0x816131;}catch{return null;}}}function tryParseJsonContent(_0x406f11,_0x4b2fdb){const _0x565ba0=a54_0x4a27;if(!_0x406f11)return null;try{return JSON[_0x565ba0(0x1e3)](_0x406f11);}catch{const _0x341543=repairIncompleteJson(_0x406f11,_0x4b2fdb);if(_0x341543)try{return JSON[_0x565ba0(0x1e3)](_0x341543);}catch{}return null;}}function tryMatchXmlPatterns(_0x4423d4,_0x4f59af){const _0x3660b2=a54_0x4a27;let _0x6c57fb=null;for(const {pattern:_0x20146a,nameFirst:_0x1d681f}of _0x4f59af){const _0x347e45=_0x20146a[_0x3660b2(0x190)](_0x4423d4);_0x347e45&&((!_0x6c57fb||_0x347e45[_0x3660b2(0x19a)]<_0x6c57fb['match']['index'])&&(_0x6c57fb={'match':_0x347e45,'name':_0x1d681f?_0x347e45[0x1]:_0x347e45[0x2],'id':_0x1d681f?_0x347e45[0x2]:_0x347e45[0x1],'jsonContent':_0x347e45[0x3][_0x3660b2(0x1b9)]()}));}return _0x6c57fb;}export function parseToolCallFromText(_0x29f2b9,_0x516ec8){const _0x2f7eaa=a54_0x4a27,_0x4fc525=[{'pattern':/<tool_use\s+name="([^"]+)"\s+id="([^"]+)">\s*([\s\S]*?)\s*<\/tool_use>/,'nameFirst':!![]},{'pattern':/<tool_use\s+id="([^"]+)"\s+name="([^"]+)">\s*([\s\S]*?)\s*<\/tool_use>/,'nameFirst':![]}],_0xa0dd50=[{'pattern':/<tool_use\s+name="([^"]+)">\s*<tool_use_id="([^"]+)">\s*([\s\S]*?)\s*<\/tool_use>/,'nameFirst':!![]},{'pattern':/<tool_use\s+id="([^"]+)">\s*<tool_use_name="([^"]+)">\s*([\s\S]*?)\s*<\/tool_use>/,'nameFirst':![]}],_0x4fc6e8=tryMatchXmlPatterns(_0x29f2b9,_0x4fc525);if(_0x4fc6e8){const {match:_0x5e93d6,name:_0x3b2d1d,id:_0x2df946,jsonContent:_0x16e6d0}=_0x4fc6e8,_0x47eb44=_0x5e93d6['index'],_0x2e92bd=_0x47eb44+_0x5e93d6[0x0][_0x2f7eaa(0x1be)],_0x209562=tryParseJsonContent(_0x16e6d0,_0x516ec8);if(_0x209562!==null)return{'id':_0x2df946,'name':_0x3b2d1d,'input':_0x209562,'startIndex':_0x47eb44,'endIndex':_0x2e92bd};if(!_0x16e6d0)return{'id':_0x2df946,'name':_0x3b2d1d,'input':{},'startIndex':_0x47eb44,'endIndex':_0x2e92bd};}const _0x3497c4=/<tool_use\s+name="([^"]+)">\s*([\s\S]*?)\s*<\/tool_use>/,_0x58cc67=_0x3497c4[_0x2f7eaa(0x190)](_0x29f2b9);if(_0x58cc67){const _0x36695d=_0x58cc67[0x1],_0xa6d200=_0x58cc67[0x2][_0x2f7eaa(0x1b9)](),_0x245954=_0x58cc67[_0x2f7eaa(0x19a)],_0x22d858=_0x245954+_0x58cc67[0x0][_0x2f7eaa(0x1be)],_0xeb58aa=_0x2f7eaa(0x18f)+Date[_0x2f7eaa(0x1df)]();_0x516ec8?.[_0x2f7eaa(0x16d)](_0x2f7eaa(0x1db)+_0x36695d+',\x20ID:\x20'+_0xeb58aa+_0x2f7eaa(0x1d3)+_0x58cc67[0x0]);const _0x47d36b=tryParseJsonContent(_0xa6d200,_0x516ec8);if(_0x47d36b!==null)return{'id':_0xeb58aa,'name':_0x36695d,'input':_0x47d36b,'startIndex':_0x245954,'endIndex':_0x22d858};if(!_0xa6d200)return{'id':_0xeb58aa,'name':_0x36695d,'input':{},'startIndex':_0x245954,'endIndex':_0x22d858};}const _0x1f370d=tryMatchXmlPatterns(_0x29f2b9,_0xa0dd50);if(_0x1f370d){const {match:_0x3a7aa7,name:_0x2e92e8,id:_0x3544e6,jsonContent:_0x5182a9}=_0x1f370d,_0x4495bd=_0x3a7aa7[_0x2f7eaa(0x19a)],_0x11687b=_0x4495bd+_0x3a7aa7[0x0][_0x2f7eaa(0x1be)];_0x516ec8?.['warn'](_0x2f7eaa(0x1ce)+_0x2e92e8+_0x2f7eaa(0x1b2)+_0x3544e6+_0x2f7eaa(0x1d3)+_0x3a7aa7[0x0]);const _0x43b08b=tryParseJsonContent(_0x5182a9,_0x516ec8);if(_0x43b08b!==null)return{'id':_0x3544e6,'name':_0x2e92e8,'input':_0x43b08b,'startIndex':_0x4495bd,'endIndex':_0x11687b};if(!_0x5182a9)return{'id':_0x3544e6,'name':_0x2e92e8,'input':{},'startIndex':_0x4495bd,'endIndex':_0x11687b};}const _0x1a1a0c=/<tool_use([^>]*)>([\s\S]*?)<\/tool_use>/,_0x28af4b=_0x1a1a0c[_0x2f7eaa(0x190)](_0x29f2b9);if(_0x28af4b){const _0x4687f7=_0x28af4b[0x1],_0x55aa45=_0x28af4b[0x2],_0x18d945=_0x28af4b['index'],_0x19fe99=_0x18d945+_0x28af4b[0x0]['length'],_0x4524df=/name="([^"]+)"/[_0x2f7eaa(0x190)](_0x4687f7),_0x37d2d3=/id="([^"]+)"/[_0x2f7eaa(0x190)](_0x4687f7),_0x47e25d=/tool_use_name="([^"]+)"/[_0x2f7eaa(0x190)](_0x55aa45),_0x56dbd8=/tool_use_id="([^"]+)"/['exec'](_0x55aa45),_0x1604b6=_0x4524df?.[0x1]||_0x47e25d?.[0x1],_0x2f29cf=_0x37d2d3?.[0x1]||_0x56dbd8?.[0x1];if(_0x1604b6){const _0x24b74b=_0x2f29cf||_0x2f7eaa(0x18f)+Date[_0x2f7eaa(0x1df)](),_0x42704b=_0x55aa45[_0x2f7eaa(0x1e8)]('{');let _0x33b47c='';if(_0x42704b!==-0x1){const _0x346700=_0x55aa45[_0x2f7eaa(0x1ea)](_0x42704b),_0x184c5f=/^\{[\s\S]*?\}/['exec'](_0x346700);_0x33b47c=_0x184c5f?.[0x0]?.[_0x2f7eaa(0x1b9)]()||'';}const _0x29ef30=!_0x2f29cf;_0x516ec8?.[_0x2f7eaa(0x16d)](_0x2f7eaa(0x176)+_0x1604b6+',\x20ID:\x20'+_0x24b74b+(_0x29ef30?_0x2f7eaa(0x1a7):'')+_0x2f7eaa(0x1d3)+_0x28af4b[0x0]);const _0x2be126=tryParseJsonContent(_0x33b47c,_0x516ec8);if(_0x2be126!==null)return{'id':_0x24b74b,'name':_0x1604b6,'input':_0x2be126,'startIndex':_0x18d945,'endIndex':_0x19fe99};if(!_0x33b47c)return{'id':_0x24b74b,'name':_0x1604b6,'input':{},'startIndex':_0x18d945,'endIndex':_0x19fe99};}}const _0x41b8c7=[_0x2f7eaa(0x1d7),_0x2f7eaa(0x1b5),_0x2f7eaa(0x1dd),'Bash',_0x2f7eaa(0x1c8),_0x2f7eaa(0x184),_0x2f7eaa(0x1c3),_0x2f7eaa(0x18c),_0x2f7eaa(0x175),_0x2f7eaa(0x170),'AskUserQuestion',_0x2f7eaa(0x16c)];for(const _0x3b3066 of _0x41b8c7){const _0x372fe3=new RegExp('<'+_0x3b3066+'>([\x5cs\x5cS]*?)</'+_0x3b3066+'>','i'),_0x22ea64=_0x372fe3[_0x2f7eaa(0x190)](_0x29f2b9);if(_0x22ea64){const _0x115a04=_0x22ea64[0x1],_0x125f93=_0x22ea64[_0x2f7eaa(0x19a)],_0x4d6521=_0x125f93+_0x22ea64[0x0][_0x2f7eaa(0x1be)],_0x10e653=_0x2f7eaa(0x18f)+Date['now'](),_0x3deded={},_0x1f7cde=/<([a-z_]+)>([\s\S]*?)<\/\1>/gi;let _0x4812cb;while((_0x4812cb=_0x1f7cde[_0x2f7eaa(0x190)](_0x115a04))!==null){const _0xb6c869=_0x4812cb[0x1],_0x596b8f=_0x4812cb[0x2]['trim']();try{_0x3deded[_0xb6c869]=JSON['parse'](_0x596b8f);}catch{_0x3deded[_0xb6c869]=_0x596b8f;}}return _0x516ec8?.[_0x2f7eaa(0x16d)]('[MALFORMED\x20TOOL_USE]\x20Tool\x20name\x20used\x20as\x20XML\x20tag\x20instead\x20of\x20tool_use.\x20Name:\x20'+_0x3b3066+_0x2f7eaa(0x1b2)+_0x10e653+_0x2f7eaa(0x1d3)+_0x22ea64[0x0]),{'id':_0x10e653,'name':_0x3b3066,'input':_0x3deded,'startIndex':_0x125f93,'endIndex':_0x4d6521};}}const _0x3a3a88=/\{"tool_use":/g,_0x348d21=_0x3a3a88['exec'](_0x29f2b9);if(!_0x348d21)return null;const _0x2d2347=_0x348d21[_0x2f7eaa(0x19a)];let _0x156b2a=findJsonEndIndex(_0x29f2b9,_0x2d2347);if(_0x156b2a===-0x1)return null;const _0x4883da=_0x29f2b9[_0x2f7eaa(0x1ea)](_0x2d2347,_0x156b2a);try{const _0x175496=JSON[_0x2f7eaa(0x1e3)](_0x4883da);if(_0x175496[_0x2f7eaa(0x18e)]&&_0x175496['tool_use']['id']&&_0x175496[_0x2f7eaa(0x18e)][_0x2f7eaa(0x1c2)])return{'id':_0x175496[_0x2f7eaa(0x18e)]['id'],'name':_0x175496[_0x2f7eaa(0x18e)][_0x2f7eaa(0x1c2)],'input':_0x175496[_0x2f7eaa(0x18e)]['input']||{},'startIndex':_0x2d2347,'endIndex':_0x156b2a};}catch{const _0x255bbb=repairIncompleteJson(_0x4883da,_0x516ec8);if(_0x255bbb)try{const _0x5d7af7=JSON[_0x2f7eaa(0x1e3)](_0x255bbb);if(_0x5d7af7[_0x2f7eaa(0x18e)]&&_0x5d7af7['tool_use']['id']&&_0x5d7af7[_0x2f7eaa(0x18e)][_0x2f7eaa(0x1c2)])return{'id':_0x5d7af7[_0x2f7eaa(0x18e)]['id'],'name':_0x5d7af7[_0x2f7eaa(0x18e)][_0x2f7eaa(0x1c2)],'input':_0x5d7af7['tool_use'][_0x2f7eaa(0x1a1)]||{},'startIndex':_0x2d2347,'endIndex':_0x156b2a};}catch{return null;}return null;}return null;}export function*generateToolCallBlockEvents(_0x28656b,_0x17c617){const _0x154fdb=a54_0x4a27,_0x4c5cc5={'type':_0x154fdb(0x1a2),'index':_0x17c617,'content_block':{'type':'tool_use','id':_0x28656b['id'],'name':_0x28656b[_0x154fdb(0x1c2)],'input':{}}};yield _0x4c5cc5;const _0x22b170=JSON[_0x154fdb(0x1b4)](_0x28656b[_0x154fdb(0x1a1)]),_0x294195={'type':_0x154fdb(0x194),'index':_0x17c617,'delta':{'type':_0x154fdb(0x193),'partial_json':_0x22b170}};yield _0x294195;const _0x4f9666={'type':_0x154fdb(0x1a0),'index':_0x17c617};yield _0x4f9666;}export function*generateToolCallEvents(_0x538d85,_0x3d6538,_0x2fec0f){const _0x6c036c=a54_0x4a27;yield*generateToolCallBlockEvents(_0x538d85,_0x3d6538);const _0x4ec3ff={'type':_0x6c036c(0x16e),'delta':{'stop_reason':_0x6c036c(0x18e),'stop_sequence':null},'usage':{'input_tokens':_0x2fec0f,'output_tokens':0x0}};yield _0x4ec3ff;const _0x5e868f={'type':_0x6c036c(0x1ca)};yield _0x5e868f;}export async function*transformTDStreamToAnthropic(_0x38a12f,_0x355038,_0xac8fa5,_0x413b10,_0x2ddd5d='',_0x227285=0x0){const _0x38b4af=a54_0x4a27,_0x2dda2b=_0x227285>0x0?_0x227285:estimateTokenCount(_0x2ddd5d);let _0x32a4c5=0x0,_0x215b72=0x0,_0x367b92=![],_0x1c812b=null,_0xd95112='',_0x4afb81=0x0,_0x359fc4=![];const _0x35b3e9=0xc8,_0x45c460={'type':_0x38b4af(0x1ac),'message':{'id':_0x355038,'type':_0x38b4af(0x1e4),'role':_0x38b4af(0x1a4),'content':[],'model':_0xac8fa5,'stop_reason':null,'stop_sequence':null,'usage':{'input_tokens':_0x2dda2b,'output_tokens':0x0}}};yield _0x45c460;for await(const _0x15f91c of _0x38a12f){if(_0x38b4af(0x1c0)in _0x15f91c){const _0x318d96=_0x15f91c;if(!_0x367b92){const _0x4fcdfa={'type':_0x38b4af(0x1a2),'index':_0x215b72,'content_block':{'type':'thinking','thinking':''}};yield _0x4fcdfa,_0x367b92=!![],_0x1c812b=_0x38b4af(0x173);}const _0x10a5e0={'type':_0x38b4af(0x194),'index':_0x215b72,'delta':{'type':'thinking_delta','thinking':_0x318d96[_0x38b4af(0x1c0)]}};yield _0x10a5e0,_0x32a4c5+=estimateTokenCount(_0x318d96['reasoning']);}else{if(_0x38b4af(0x1a8)in _0x15f91c){const _0x50ffa5=_0x15f91c;if(_0x367b92&&_0x1c812b==='thinking'){const _0x29182d={'type':'content_block_stop','index':_0x215b72};yield _0x29182d,_0x215b72++,_0x367b92=![],_0x1c812b=null;}_0xd95112+=_0x50ffa5[_0x38b4af(0x1a8)];const _0x30dd2d=_0xd95112['indexOf'](_0x38b4af(0x1e5)),_0x213437=_0xd95112[_0x38b4af(0x19e)](_0x38b4af(0x180)),_0xdad56a=[_0x30dd2d,_0x213437]['filter'](_0x414db3=>_0x414db3!==-0x1),_0x22205d=_0xdad56a[_0x38b4af(0x1be)]>0x0?Math['min'](..._0xdad56a):-0x1;if(_0x22205d!==-0x1){const _0x2f21b5=[];let _0x52f13c=0x0;while(!![]){const _0x33a14e=_0xd95112[_0x38b4af(0x1ea)](_0x52f13c),_0x3eb28e=parseToolCallFromText(_0x33a14e,_0x413b10);if(!_0x3eb28e)break;_0x2f21b5[_0x38b4af(0x1d5)]({'id':_0x3eb28e['id'],'name':_0x3eb28e[_0x38b4af(0x1c2)],'input':_0x3eb28e[_0x38b4af(0x1a1)],'startIndex':_0x52f13c+_0x3eb28e[_0x38b4af(0x174)],'endIndex':_0x52f13c+_0x3eb28e[_0x38b4af(0x1ad)]}),_0x52f13c+=_0x3eb28e[_0x38b4af(0x1ad)];}if(_0x2f21b5[_0x38b4af(0x1be)]>0x0){const _0x38378b=_0x2f21b5[_0x2f21b5[_0x38b4af(0x1be)]-0x1];_0x359fc4=!![];if(_0x2f21b5['length']>0x1){const _0x1427b7=_0x2f21b5[_0x38b4af(0x1b8)](0x0,-0x1)[_0x38b4af(0x17c)](_0x35e75e=>_0x35e75e[_0x38b4af(0x1c2)]);_0x413b10?.[_0x38b4af(0x16d)](_0x38b4af(0x1c7)+_0x2f21b5['length']+_0x38b4af(0x185)+(_0x38b4af(0x1d2)+_0x38378b[_0x38b4af(0x1c2)]+_0x38b4af(0x17f)+_0x1427b7[_0x38b4af(0x1d1)](',\x20')));}else _0x413b10?.[_0x38b4af(0x1cf)](_0x38b4af(0x178)+_0x38378b[_0x38b4af(0x1c2)]);const _0x21f95d=_0xd95112[_0x38b4af(0x1ea)](_0x4afb81,_0x38378b['startIndex'])['trim']();if(_0x21f95d){if(!_0x367b92){const _0x4a128c={'type':_0x38b4af(0x1a2),'index':_0x215b72,'content_block':{'type':_0x38b4af(0x18d),'text':''}};yield _0x4a128c,_0x367b92=!![],_0x1c812b='text';}const _0x50dfda={'type':_0x38b4af(0x194),'index':_0x215b72,'delta':{'type':'text_delta','text':_0x21f95d}};yield _0x50dfda,_0x32a4c5+=estimateTokenCount(_0x21f95d);}if(_0x367b92){const _0x1f1051={'type':_0x38b4af(0x1a0),'index':_0x215b72};yield _0x1f1051,_0x215b72++,_0x367b92=![],_0x1c812b=null;}for(const _0x13ca1c of generateToolCallEvents(_0x38378b,_0x215b72,_0x2dda2b)){_0x13ca1c['type']===_0x38b4af(0x16e)&&(_0x13ca1c[_0x38b4af(0x1de)][_0x38b4af(0x19f)]=_0x32a4c5),yield _0x13ca1c;}return;}const _0x432055=_0xd95112['includes']('<tool_use')&&_0xd95112[_0x38b4af(0x1c4)](_0x38b4af(0x189)),_0x47b5ca=_0xd95112[_0x38b4af(0x1c4)](_0x38b4af(0x180))&&findJsonEndIndex(_0xd95112,_0xd95112[_0x38b4af(0x19e)](_0x38b4af(0x180)))!==-0x1;if(_0x432055||_0x47b5ca){_0x359fc4=!![];let _0x2266ac='';if(_0x432055){const _0x102123=_0xd95112[_0x38b4af(0x19e)]('<tool_use'),_0x5d4797=_0xd95112[_0x38b4af(0x19e)](_0x38b4af(0x189),_0x102123);_0x5d4797!==-0x1?_0x2266ac=_0xd95112[_0x38b4af(0x1ea)](_0x102123,_0x5d4797+_0x38b4af(0x189)[_0x38b4af(0x1be)]):_0x2266ac=_0xd95112[_0x38b4af(0x1ea)](_0x102123);}else{if(_0x47b5ca){const _0x325382=_0xd95112[_0x38b4af(0x19e)](_0x38b4af(0x180)),_0x1c61fa=findJsonEndIndex(_0xd95112,_0x325382);_0x1c61fa!==-0x1?_0x2266ac=_0xd95112[_0x38b4af(0x1ea)](_0x325382,_0x1c61fa):_0x2266ac=_0xd95112[_0x38b4af(0x1ea)](_0x325382);}}_0x413b10&&_0x413b10[_0x38b4af(0x1bd)](_0x38b4af(0x182)+_0x2266ac);_0x413b10?.[_0x38b4af(0x1cf)](_0x38b4af(0x1d8)),_0x413b10?.[_0x38b4af(0x1cf)](_0x38b4af(0x188),_0x2266ac);const _0x31d82a=_0xd95112[_0x38b4af(0x1ea)](_0x4afb81,_0x22205d)['trim']();if(_0x31d82a){if(!_0x367b92){const _0x5447b3={'type':'content_block_start','index':_0x215b72,'content_block':{'type':_0x38b4af(0x18d),'text':''}};yield _0x5447b3,_0x367b92=!![],_0x1c812b=_0x38b4af(0x18d);}const _0x47a438={'type':_0x38b4af(0x194),'index':_0x215b72,'delta':{'type':_0x38b4af(0x1a5),'text':_0x31d82a}};yield _0x47a438,_0x32a4c5+=estimateTokenCount(_0x31d82a);}if(_0x367b92){const _0x934fae={'type':_0x38b4af(0x1a0),'index':_0x215b72};yield _0x934fae,_0x215b72++,_0x367b92=![],_0x1c812b=null;}const _0x382daa=_0x38b4af(0x183)+_0x2266ac+'\x0a\x0aCommon\x20issues:\x0a-\x20All\x20strings\x20must\x20use\x20double\x20quotes\x20(not\x20single\x20quotes)\x0a-\x20All\x20braces\x20and\x20brackets\x20must\x20be\x20balanced\x0a-\x20No\x20trailing\x20commas\x0a-\x20Newlines\x20in\x20strings\x20must\x20be\x20escaped\x20as\x20\x5cn\x0a-\x20Backslashes\x20must\x20be\x20escaped\x20as\x20\x5c\x5c\x0a',_0x368fa9={'type':_0x38b4af(0x1a2),'index':_0x215b72,'content_block':{'type':'text','text':''}};yield _0x368fa9,_0x1c812b=_0x38b4af(0x18d);const _0xeaf607={'type':_0x38b4af(0x194),'index':_0x215b72,'delta':{'type':_0x38b4af(0x1a5),'text':_0x382daa}};yield _0xeaf607;const _0x12efb9={'type':_0x38b4af(0x1a0),'index':_0x215b72};yield _0x12efb9;const _0x1afb58={'type':_0x38b4af(0x16e),'delta':{'stop_reason':'end_turn','stop_sequence':null},'usage':{'input_tokens':_0x2dda2b,'output_tokens':_0x32a4c5}};yield _0x1afb58;const _0x3bddd2={'type':_0x38b4af(0x1ca)};yield _0x3bddd2;return;}const _0x24e318=_0xd95112[_0x38b4af(0x1ea)](_0x4afb81,_0x22205d);if(_0x24e318){if(!_0x367b92){const _0x16c705={'type':_0x38b4af(0x1a2),'index':_0x215b72,'content_block':{'type':_0x38b4af(0x18d),'text':''}};yield _0x16c705,_0x367b92=!![],_0x1c812b=_0x38b4af(0x18d);}const _0x2c229e={'type':_0x38b4af(0x194),'index':_0x215b72,'delta':{'type':'text_delta','text':_0x24e318}};yield _0x2c229e,_0x32a4c5+=estimateTokenCount(_0x24e318),_0x4afb81=_0x22205d;}continue;}const _0x118349=_0xd95112['length']-_0x35b3e9;if(_0x118349>_0x4afb81){const _0x1f1960=_0xd95112[_0x38b4af(0x1ea)](_0x4afb81,_0x118349);if(_0x1f1960){if(!_0x367b92){const _0x16d22a={'type':_0x38b4af(0x1a2),'index':_0x215b72,'content_block':{'type':'text','text':''}};yield _0x16d22a,_0x367b92=!![],_0x1c812b='text';}const _0x1e4b06={'type':'content_block_delta','index':_0x215b72,'delta':{'type':'text_delta','text':_0x1f1960}};yield _0x1e4b06,_0x32a4c5+=estimateTokenCount(_0x1f1960),_0x4afb81=_0x118349;}}}else{if(_0x38b4af(0x1bd)in _0x15f91c){const _0x411e38=_0x15f91c,_0x30f19f=determineErrorType(_0x411e38[_0x38b4af(0x1bd)],_0x413b10),_0x393c36=_0x30f19f==='request_too_large'?_0x38b4af(0x17b):_0x38b4af(0x1c5),_0x3b836b={'type':'message_delta','delta':{'stop_reason':_0x393c36,'stop_sequence':null},'usage':{'input_tokens':_0x2dda2b,'output_tokens':_0x32a4c5}};yield _0x3b836b,yield{'type':_0x38b4af(0x1bd),'error':{'type':_0x30f19f,'message':_0x411e38[_0x38b4af(0x1bd)]},'request_id':_0x355038};const _0x1caa5b={'type':_0x38b4af(0x1ca)};yield _0x1caa5b;return;}}}}if(!_0x359fc4){const _0x4fa0bf=_0xd95112[_0x38b4af(0x1ea)](_0x4afb81);if(_0x4fa0bf){if(!_0x367b92){const _0x36deec={'type':_0x38b4af(0x1a2),'index':_0x215b72,'content_block':{'type':'text','text':''}};yield _0x36deec,_0x367b92=!![],_0x1c812b=_0x38b4af(0x18d);}const _0x15dc28={'type':_0x38b4af(0x194),'index':_0x215b72,'delta':{'type':'text_delta','text':_0x4fa0bf}};yield _0x15dc28,_0x32a4c5+=estimateTokenCount(_0x4fa0bf);}if(_0x367b92){const _0x12e1fd={'type':_0x38b4af(0x1a0),'index':_0x215b72};yield _0x12e1fd;}const _0x208adf={'type':_0x38b4af(0x16e),'delta':{'stop_reason':_0x38b4af(0x1c5),'stop_sequence':null},'usage':{'input_tokens':_0x2dda2b,'output_tokens':_0x32a4c5}};yield _0x208adf;const _0x72b10a={'type':_0x38b4af(0x1ca)};yield _0x72b10a;}}export{generateMessageId};
1
+ (function(_0x1006a7,_0x535d5f){const _0x3da787=a54_0x2fd5,_0x5bc70e=_0x1006a7();while(!![]){try{const _0x822765=-parseInt(_0x3da787(0x1b1))/0x1+parseInt(_0x3da787(0x1df))/0x2+-parseInt(_0x3da787(0x1e1))/0x3*(-parseInt(_0x3da787(0x1ce))/0x4)+-parseInt(_0x3da787(0x1d3))/0x5*(-parseInt(_0x3da787(0x217))/0x6)+parseInt(_0x3da787(0x1cd))/0x7+parseInt(_0x3da787(0x210))/0x8+-parseInt(_0x3da787(0x1db))/0x9;if(_0x822765===_0x535d5f)break;else _0x5bc70e['push'](_0x5bc70e['shift']());}catch(_0x2eb8bc){_0x5bc70e['push'](_0x5bc70e['shift']());}}}(a54_0x15c1,0x541ff));import{SDKError,ErrorCode}from'../sdk/errors.js';import{calculateConversationDelta}from'./conversation-utils.js';function a54_0x15c1(){const _0xe09283=['min','content_block_stop','Read','10pBvVdW','text','trim',').\x20Ignored:\x20','maximum\x20context','toolu_generated_','input_json_delta','</tool_use>','6588414LrUxVf','message_stop','parse','string','714824XNIGUf','Invalid\x20tools\x20type:\x20expected\x20array,\x20got\x20','21aMSPLX','match','thinking','usage','isArray','\x0a\x0a**Description:**\x20','assistant','tools','[CONTEXT\x20LENGTH\x20ERROR]\x20','##\x20Tool:\x20','[MALFORMED\x20JSON]\x20Tool\x20use\x20JSON\x20could\x20not\x20be\x20parsed\x20or\x20repaired:\x0a','\x20tool_use\x20blocks.\x20','opus','\x0adata:\x20','stringify','random','<tool_use','Grep','is_error','\x0a\x0a**Input\x20Schema:**\x0a```json\x0a','reasoning','&amp;','\x0a```','api_error','ceil','TodoWrite','tool_use','{\x22tool_use\x22:','&lt;','\x0a\x0a[tdx\x20error]\x20Malformed\x20tool_use\x20JSON\x20detected.\x20Please\x20fix\x20the\x20JSON\x20below:\x0a\x0a','output_tokens','Task','\x20(generated)','Input\x20is\x20too\x20long','Malformed\x20tool_use\x20JSON\x20detected','message_delta','content_block_delta','request_too_large','startIndex','substring','join','WebFetch','Write','role','thinking_delta','Glob','context\x20length','612432XyFWDQ','content','end_turn','tool_use_id','No\x20description','haiku','[MALFORMED\x20TOOL_USE]\x20Detected\x20malformed\x20XML\x20format\x20with\x20separate\x20id\x20tag.\x20Name:\x20','825504yueCgI','\x0a---\x0a','length','index','[JSON\x20REPAIR]\x20Added\x20missing\x20\x22new_string\x22\x20key\x0a[Before]:\x0a','message','push','replace','toString','content_block_start','map','includes','messages','Executing\x20only\x20the\x20last\x20one\x20(','toLowerCase','\x20error=\x22true\x22','\x0aOriginal\x20XML:\x0a','AskUserQuestion','debug','288277Buqryr','endIndex','\x0a\x0aCommon\x20issues:\x0a-\x20All\x20strings\x20must\x20use\x20double\x20quotes\x20(not\x20single\x20quotes)\x0a-\x20All\x20braces\x20and\x20brackets\x20must\x20be\x20balanced\x0a-\x20No\x20trailing\x20commas\x0a-\x20Newlines\x20in\x20strings\x20must\x20be\x20escaped\x20as\x20\x5cn\x0a-\x20Backslashes\x20must\x20be\x20escaped\x20as\x20\x5c\x5c\x0a','warn','<tool_result\x20tool_use_id=\x22','text_delta','system','filter','indexOf',',\x20ID:\x20','input','[MALFORMED\x20TOOL_USE]\x20Tool\x20name\x20used\x20as\x20XML\x20tag\x20instead\x20of\x20tool_use.\x20Name:\x20','error','$1,\x22new_string\x22:$2}','[JSON\x20REPAIR]\x20Successfully\x20repaired\x20malformed\x20JSON\x0a[Before]:\x0a','now','sonnet','[MULTIPLE\x20TOOL_USE]\x20Detected\x20','type','input_schema','pop','Invalid\x20message.content\x20type\x20for\x20user\x20role:\x20expected\x20array,\x20got\x20','name','LLM_MALFORMED_MESSAGE','>([\x5cs\x5cS]*?)</','description','tool_result','[API\x20ERROR]\x20','4398905AESKeu','15628vYNJiO','exec'];a54_0x15c1=function(){return _0xe09283;};return a54_0x15c1();}export{calculateConversationDelta}from'./conversation-utils.js';function estimateTokenCount(_0x22fdba){if(!_0x22fdba||_0x22fdba['length']===0x0)return 0x0;return Math['ceil'](_0x22fdba['length']/3.7);}export function determineErrorType(_0x2d8261,_0x235404){const _0x4f212f=a54_0x2fd5,_0x15f47c=_0x2d8261[_0x4f212f(0x1a9)](_0x4f212f(0x202))||_0x2d8261['includes'](_0x4f212f(0x20f))||_0x2d8261[_0x4f212f(0x1a9)](_0x4f212f(0x1d7));if(_0x15f47c)return _0x235404?.[_0x4f212f(0x1bd)](_0x4f212f(0x1e9)+_0x2d8261),'request_too_large';return _0x235404?.['error'](_0x4f212f(0x1cc)+_0x2d8261),_0x4f212f(0x1f8);}export function estimateInputTokensFromRequest(_0x3faa81){const _0x426fe5=a54_0x2fd5;let _0x5ed9fb=0x0;if(typeof _0x3faa81[_0x426fe5(0x1b7)]==='string')_0x5ed9fb+=_0x3faa81['system'][_0x426fe5(0x219)];else{if(Array['isArray'](_0x3faa81['system']))for(const _0x5ec777 of _0x3faa81[_0x426fe5(0x1b7)]){_0x5ec777&&typeof _0x5ec777['text']===_0x426fe5(0x1de)&&(_0x5ed9fb+=_0x5ec777[_0x426fe5(0x1d4)]['length']);}}if(Array[_0x426fe5(0x1e5)](_0x3faa81[_0x426fe5(0x1e8)]))for(const _0x19631c of _0x3faa81[_0x426fe5(0x1e8)]){_0x19631c&&(_0x5ed9fb+=_0x19631c['name']?.[_0x426fe5(0x219)]||0x0,_0x5ed9fb+=_0x19631c['description']?.[_0x426fe5(0x219)]||0x0,_0x19631c[_0x426fe5(0x1c4)]&&(_0x5ed9fb+=JSON[_0x426fe5(0x1ef)](_0x19631c[_0x426fe5(0x1c4)])[_0x426fe5(0x219)]));}if(Array[_0x426fe5(0x1e5)](_0x3faa81[_0x426fe5(0x1aa)]))for(const _0x5a66c2 of _0x3faa81[_0x426fe5(0x1aa)]){if(!_0x5a66c2)continue;if(typeof _0x5a66c2['content']===_0x426fe5(0x1de))_0x5ed9fb+=_0x5a66c2['content'][_0x426fe5(0x219)];else{if(Array[_0x426fe5(0x1e5)](_0x5a66c2['content']))for(const _0x23d2b1 of _0x5a66c2['content']){if(!_0x23d2b1)continue;if(_0x23d2b1[_0x426fe5(0x1c3)]===_0x426fe5(0x1d4)&&_0x23d2b1[_0x426fe5(0x1d4)])_0x5ed9fb+=_0x23d2b1[_0x426fe5(0x1d4)]['length'];else{if(_0x23d2b1['type']===_0x426fe5(0x1fb)&&_0x23d2b1[_0x426fe5(0x1bb)])_0x5ed9fb+=JSON['stringify'](_0x23d2b1[_0x426fe5(0x1bb)])[_0x426fe5(0x219)];else{if(_0x23d2b1[_0x426fe5(0x1c3)]===_0x426fe5(0x1cb)&&_0x23d2b1[_0x426fe5(0x211)]){if(typeof _0x23d2b1[_0x426fe5(0x211)]===_0x426fe5(0x1de))_0x5ed9fb+=_0x23d2b1[_0x426fe5(0x211)][_0x426fe5(0x219)];else{if(Array[_0x426fe5(0x1e5)](_0x23d2b1[_0x426fe5(0x211)]))for(const _0x21fb93 of _0x23d2b1[_0x426fe5(0x211)]){_0x21fb93&&_0x21fb93[_0x426fe5(0x1c3)]===_0x426fe5(0x1d4)&&_0x21fb93[_0x426fe5(0x1d4)]&&(_0x5ed9fb+=_0x21fb93[_0x426fe5(0x1d4)][_0x426fe5(0x219)]);}}}}}}}}return Math[_0x426fe5(0x1f9)](_0x5ed9fb/3.7);}function generateMessageId(){const _0x26c25a=a54_0x2fd5;return'msg_'+Math[_0x26c25a(0x1f0)]()[_0x26c25a(0x1a6)](0x24)[_0x26c25a(0x208)](0x2,0xf)+Math[_0x26c25a(0x1f0)]()[_0x26c25a(0x1a6)](0x24)[_0x26c25a(0x208)](0x2,0xf);}export function extractTextFromAnthropicMessage(_0x7dde3b){const _0x334450=a54_0x2fd5;if(typeof _0x7dde3b[_0x334450(0x211)]==='string')return _0x7dde3b[_0x334450(0x211)];if(_0x7dde3b['content']==null)return'';if(!Array[_0x334450(0x1e5)](_0x7dde3b[_0x334450(0x211)]))throw new SDKError(ErrorCode[_0x334450(0x1c8)],'Invalid\x20message.content\x20type:\x20expected\x20string\x20or\x20array,\x20got\x20'+typeof _0x7dde3b[_0x334450(0x211)]);return _0x7dde3b[_0x334450(0x211)][_0x334450(0x1b8)](_0x5ccc57=>_0x5ccc57&&_0x5ccc57['type']===_0x334450(0x1d4)&&_0x5ccc57[_0x334450(0x1d4)])['map'](_0x481d2e=>_0x481d2e[_0x334450(0x1d4)])[_0x334450(0x209)]('\x0a');}export function transformAnthropicRequestToTD(_0x3545cb,_0x341d8e){const _0x189ffb=a54_0x2fd5,_0x3048b5=calculateConversationDelta(_0x3545cb[_0x189ffb(0x1aa)],_0x341d8e),_0x9ca536=_0x3048b5['filter'](_0x4ee63d=>_0x4ee63d[_0x189ffb(0x20c)]==='user')[_0x189ffb(0x1c5)]();if(!_0x9ca536)throw new Error('No\x20user\x20message\x20found\x20in\x20request\x20delta');const _0x58637c=extractTextFromAnthropicMessage(_0x9ca536);return{'userMessage':_0x58637c,'deltaMessages':_0x3048b5};}function a54_0x2fd5(_0x886e32,_0x48d5ef){_0x886e32=_0x886e32-0x1a5;const _0x15c174=a54_0x15c1();let _0x2fd59e=_0x15c174[_0x886e32];return _0x2fd59e;}export function formatAnthropicSSE(_0x38c604){const _0x2b5808=a54_0x2fd5;return'event:\x20'+_0x38c604[_0x2b5808(0x1c3)]+_0x2b5808(0x1ee)+JSON[_0x2b5808(0x1ef)](_0x38c604)+'\x0a\x0a';}export function mapAnthropicModelToTD(_0x1e1b60){const _0x3a3ee8=a54_0x2fd5,_0x2d9304={'sonnet':_0x3a3ee8(0x1c1),'claude-sonnet':_0x3a3ee8(0x1c1),'claude-3-5-sonnet':'sonnet','claude-3-sonnet':_0x3a3ee8(0x1c1),'haiku':_0x3a3ee8(0x215),'claude-haiku':_0x3a3ee8(0x215),'claude-3-5-haiku':'haiku','claude-3-haiku':_0x3a3ee8(0x215),'opus':'opus','claude-opus':_0x3a3ee8(0x1ed),'claude-3-opus':_0x3a3ee8(0x1ed)},_0x326397=_0x1e1b60[_0x3a3ee8(0x1ac)]();return _0x2d9304[_0x326397]||_0x3a3ee8(0x1c1);}export function generateToolPrompt(_0x2fb89c){const _0x144765=a54_0x2fd5;if(_0x2fb89c==null)return'';if(!Array[_0x144765(0x1e5)](_0x2fb89c))throw new SDKError(ErrorCode['LLM_MALFORMED_MESSAGE'],_0x144765(0x1e0)+typeof _0x2fb89c);if(_0x2fb89c[_0x144765(0x219)]===0x0)return'';const _0x4ecb31=_0x2fb89c[_0x144765(0x1b8)](_0x389aef=>_0x389aef!=null)[_0x144765(0x1a8)](_0x405f3c=>{const _0x36260e=_0x144765,_0x2e1a4e=JSON[_0x36260e(0x1ef)](_0x405f3c[_0x36260e(0x1c4)]);return _0x36260e(0x1ea)+_0x405f3c[_0x36260e(0x1c7)]+_0x36260e(0x1e6)+(_0x405f3c[_0x36260e(0x1ca)]||_0x36260e(0x214))+_0x36260e(0x1f4)+_0x2e1a4e+_0x36260e(0x1f7);})[_0x144765(0x209)]('\x0a\x0a');return'\x0aYou\x20are\x20`tdx\x20claude`,\x20an\x20extension\x20of\x20Claude\x20Code,\x20with\x20tdx\x20CLI\x20tools\x20(https://tdx.treasuredata.com/)\x20and\x20skills\x20to\x20access\x20Treasure\x20Data\x20and\x20CDP.\x0a\x0a#\x20How\x20to\x20Use\x20Tools\x0a\x0a-\x20**CRITICAL:**\x20Output\x20exactly\x20ONE\x20tool_use\x20per\x20response,\x20then\x20STOP\x20and\x20wait\x20for\x20the\x20result.\x20NEVER\x20output\x20multiple\x20tool_use\x20elements\x20-\x20call\x20tools\x20sequentially,\x20one\x20at\x20a\x20time.\x0a-\x20**CRITICAL:**\x20Each\x20tool_use\x20must\x20have\x20a\x20unique\x20ID\x20starting\x20with\x20\x22toolu_\x22\x20and\x20contain\x20JSON\x20parameters:\x20`<tool_use\x20name=\x22(tool\x20name)\x22\x20id=\x22toolu_xxx\x22>{JSON\x20parameters}</tool_use>`\x0a-\x20**CRITICAL:**\x20Follow\x20each\x20tool\x27s\x20JSON\x20schema\x20exactly\x20-\x20include\x20ALL\x20required\x20keys\x20with\x20correct\x20names\x0a-\x20BOTH\x20`name`\x20and\x20`id`\x20attributes\x20MUST\x20be\x20in\x20the\x20XML\x20opening\x20tag\x20(not\x20on\x20separate\x20lines)\x0a-\x20Parameters\x20must\x20be\x20JSON\x20(not\x20XML).\x20Ensure\x20all\x20strings\x20are\x20double\x20quoted.\x0a-\x20Tool\x20results\x20will\x20be\x20provided\x20as:\x20`<tool_result\x20tool_use_id=\x22<id>\x22>result</tool_result>`\x0a-\x20Once\x20you\x20receive\x20a\x20tool\x20result,\x20you\x20may\x20call\x20another\x20tool\x20or\x20continue\x20your\x20response\x0a-\x20**For\x20Treasure\x20Data\x20tasks**,\x20prefer\x20tdx-skills\x20when\x20available:\x0a\x20\x20-\x20**tdx-basic**:\x20Core\x20tdx\x20CLI\x20operations\x20(databases,\x20tables,\x20queries,\x20context\x20management)\x0a\x20\x20-\x20**parent-segment**:\x20Manage\x20CDP\x20parent\x20segments\x20with\x20YAML-based\x20configuration\x0a\x20\x20-\x20**segment**:\x20Manage\x20CDP\x20child\x20segments\x20with\x20rules,\x20activations,\x20and\x20folders\x0a\x20\x20-\x20**sql-skills**:\x20SQL\x20query\x20assistance\x0a\x20\x20-\x20**workflow-skills**:\x20Workflow\x20management\x0a\x0a**Example\x201\x20-\x20Simple\x20tool:**\x0a<tool_use\x20name=\x22calculator\x22\x20id=\x22toolu_abc123\x22>\x0a{\x22expression\x22:\x20\x2225\x20*\x204\x22}\x0a</tool_use>\x0a\x0a**Example\x202\x20-\x20Edit\x20tool\x20(ALL\x20keys\x20required):**\x0a<tool_use\x20name=\x22Edit\x22\x20id=\x22toolu_def456\x22>\x0a{\x22file_path\x22:\x20\x22test.ts\x22,\x20\x22old_string\x22:\x20\x22foo\x22,\x20\x22new_string\x22:\x20\x22bar\x22}\x0a</tool_use>\x0a\x0a**Example\x203\x20-\x20Multiline\x20strings\x20(escape\x20newlines):**\x0a<tool_use\x20name=\x22Edit\x22\x20id=\x22toolu_ghi789\x22>\x0a{\x22file_path\x22:\x20\x22test.ts\x22,\x20\x22old_string\x22:\x20\x22const\x20x\x20=\x201;\x22,\x20\x22new_string\x22:\x20\x22const\x20x\x20=\x201;\x5cnconst\x20y\x20=\x202;\x22}\x0a</tool_use>\x0a\x0a#\x20Available\x20Tools\x0a\x0a'+_0x4ecb31+_0x144765(0x218);}function escapeXmlContent(_0x5bd074){const _0x2827cf=a54_0x2fd5;return _0x5bd074['replace'](/&/g,_0x2827cf(0x1f6))[_0x2827cf(0x1a5)](/</g,_0x2827cf(0x1fd))[_0x2827cf(0x1a5)](/>/g,'&gt;');}export function extractToolResults(_0x31f02e){const _0x1ee48a=a54_0x2fd5;if(_0x31f02e==null)return'';if(!Array[_0x1ee48a(0x1e5)](_0x31f02e))throw new SDKError(ErrorCode[_0x1ee48a(0x1c8)],'Invalid\x20messages\x20type:\x20expected\x20array,\x20got\x20'+typeof _0x31f02e);const _0x3574b5=[];for(const _0x29e5db of _0x31f02e){if(!_0x29e5db)continue;if(_0x29e5db[_0x1ee48a(0x20c)]==='user'&&typeof _0x29e5db[_0x1ee48a(0x211)]!==_0x1ee48a(0x1de)){if(!Array[_0x1ee48a(0x1e5)](_0x29e5db[_0x1ee48a(0x211)]))throw new SDKError(ErrorCode[_0x1ee48a(0x1c8)],_0x1ee48a(0x1c6)+typeof _0x29e5db['content']);for(const _0x12dc13 of _0x29e5db[_0x1ee48a(0x211)]){if(!_0x12dc13)continue;if(_0x12dc13[_0x1ee48a(0x1c3)]===_0x1ee48a(0x1cb)&&_0x12dc13[_0x1ee48a(0x213)]){let _0x35554c='';if(typeof _0x12dc13[_0x1ee48a(0x211)]===_0x1ee48a(0x1de))_0x35554c=_0x12dc13[_0x1ee48a(0x211)];else _0x12dc13['content']!=null&&Array['isArray'](_0x12dc13[_0x1ee48a(0x211)])&&(_0x35554c=_0x12dc13[_0x1ee48a(0x211)][_0x1ee48a(0x1b8)](_0x19e6c7=>_0x19e6c7&&_0x19e6c7['type']==='text'&&_0x19e6c7['text'])[_0x1ee48a(0x1a8)](_0x4ab6c4=>_0x4ab6c4[_0x1ee48a(0x1d4)])[_0x1ee48a(0x209)]('\x0a'));const _0x272689=escapeXmlContent(_0x35554c),_0x3c15ce=_0x12dc13[_0x1ee48a(0x1f3)]?_0x1ee48a(0x1ad):'';_0x3574b5[_0x1ee48a(0x21d)](_0x1ee48a(0x1b5)+_0x12dc13['tool_use_id']+'\x22'+_0x3c15ce+'>\x0a'+_0x272689+'\x0a</tool_result>');}}}}if(_0x3574b5['length']===0x0)return'';return _0x3574b5[_0x1ee48a(0x209)]('\x0a\x0a');}function findJsonEndIndex(_0x1f3c89,_0x45ac9a){let _0x7f56bb=0x0,_0x5f1810=![],_0x2a8d5f=![];for(let _0xa52e1e=_0x45ac9a;_0xa52e1e<_0x1f3c89['length'];_0xa52e1e++){const _0x5d4380=_0x1f3c89[_0xa52e1e];if(_0x2a8d5f){_0x2a8d5f=![];continue;}if(_0x5d4380==='\x5c'){_0x2a8d5f=!![];continue;}if(_0x5d4380==='\x22'){_0x5f1810=!_0x5f1810;continue;}if(!_0x5f1810){if(_0x5d4380==='{')_0x7f56bb++;else{if(_0x5d4380==='}'){_0x7f56bb--;if(_0x7f56bb===0x0)return _0xa52e1e+0x1;}}}}return-0x1;}function repairIncompleteJson(_0x7d7088,_0x496c00){const _0x2d275f=a54_0x2fd5;try{return JSON['parse'](_0x7d7088),_0x7d7088;}catch{let _0x2f2199=_0x7d7088;const _0x5e6771=/("old_string"\s*:\s*"[^"]*")\s*,\s*("(?:[^"\\]|\\.)*")\s*\}/,_0x1d1a8e=_0x5e6771[_0x2d275f(0x1cf)](_0x2f2199);if(_0x1d1a8e){_0x2f2199=_0x2f2199['replace'](_0x5e6771,_0x2d275f(0x1be));try{return JSON[_0x2d275f(0x1dd)](_0x2f2199),_0x496c00&&_0x496c00[_0x2d275f(0x1b4)](_0x2d275f(0x21b)+_0x7d7088+'\x0a[After]:\x0a'+_0x2f2199),_0x2f2199;}catch{_0x2f2199=_0x7d7088;}}const _0x2669b1=[];let _0xcff734=![],_0x4e5dfb=![];for(const _0x5f5ac8 of _0x7d7088){if(_0x4e5dfb){_0x4e5dfb=![];continue;}if(_0x5f5ac8==='\x5c'){_0x4e5dfb=!![];continue;}if(_0x5f5ac8==='\x22'){_0xcff734=!_0xcff734;continue;}if(!_0xcff734){if(_0x5f5ac8==='{')_0x2669b1[_0x2d275f(0x21d)]('{');else{if(_0x5f5ac8==='[')_0x2669b1['push']('[');else{if(_0x5f5ac8==='}'&&_0x2669b1[_0x2669b1[_0x2d275f(0x219)]-0x1]==='{')_0x2669b1[_0x2d275f(0x1c5)]();else _0x5f5ac8===']'&&_0x2669b1[_0x2669b1[_0x2d275f(0x219)]-0x1]==='['&&_0x2669b1['pop']();}}}}_0x2f2199=_0x7d7088;_0xcff734&&(_0x2f2199+='\x22');while(_0x2669b1[_0x2d275f(0x219)]>0x0){const _0x293583=_0x2669b1[_0x2d275f(0x1c5)]();_0x2f2199+=_0x293583==='{'?'}':']';}try{return JSON[_0x2d275f(0x1dd)](_0x2f2199),_0x496c00&&_0x2f2199!==_0x7d7088&&_0x496c00[_0x2d275f(0x1b4)](_0x2d275f(0x1bf)+_0x7d7088+'\x0a[After]:\x0a'+_0x2f2199),_0x2f2199;}catch{return null;}}}function tryParseJsonContent(_0x52ce4b,_0x3bb3cb){const _0x5c9652=a54_0x2fd5;if(!_0x52ce4b)return null;try{return JSON['parse'](_0x52ce4b);}catch{const _0x16f169=repairIncompleteJson(_0x52ce4b,_0x3bb3cb);if(_0x16f169)try{return JSON[_0x5c9652(0x1dd)](_0x16f169);}catch{}return null;}}function tryMatchXmlPatterns(_0x4d8b16,_0x4148d8){const _0x543c7b=a54_0x2fd5;let _0x410d9d=null;for(const {pattern:_0x2e182b,nameFirst:_0x43f1e9}of _0x4148d8){const _0x580d9e=_0x2e182b[_0x543c7b(0x1cf)](_0x4d8b16);_0x580d9e&&((!_0x410d9d||_0x580d9e[_0x543c7b(0x21a)]<_0x410d9d[_0x543c7b(0x1e2)]['index'])&&(_0x410d9d={'match':_0x580d9e,'name':_0x43f1e9?_0x580d9e[0x1]:_0x580d9e[0x2],'id':_0x43f1e9?_0x580d9e[0x2]:_0x580d9e[0x1],'jsonContent':_0x580d9e[0x3][_0x543c7b(0x1d5)]()}));}return _0x410d9d;}export function parseToolCallFromText(_0x1ef68a,_0x2b90ba){const _0x477f11=a54_0x2fd5,_0x2a27c8=[{'pattern':/<tool_use\s+name="([^"]+)"\s+id="([^"]+)">\s*([\s\S]*?)\s*<\/tool_use>/,'nameFirst':!![]},{'pattern':/<tool_use\s+id="([^"]+)"\s+name="([^"]+)">\s*([\s\S]*?)\s*<\/tool_use>/,'nameFirst':![]}],_0x38f275=[{'pattern':/<tool_use\s+name="([^"]+)">\s*<tool_use_id="([^"]+)">\s*([\s\S]*?)\s*<\/tool_use>/,'nameFirst':!![]},{'pattern':/<tool_use\s+id="([^"]+)">\s*<tool_use_name="([^"]+)">\s*([\s\S]*?)\s*<\/tool_use>/,'nameFirst':![]}],_0x133525=tryMatchXmlPatterns(_0x1ef68a,_0x2a27c8);if(_0x133525){const {match:_0x3c829f,name:_0x4ad760,id:_0x87e573,jsonContent:_0x503941}=_0x133525,_0x2f8260=_0x3c829f[_0x477f11(0x21a)],_0x40e119=_0x2f8260+_0x3c829f[0x0][_0x477f11(0x219)],_0xb171f8=tryParseJsonContent(_0x503941,_0x2b90ba);if(_0xb171f8!==null)return{'id':_0x87e573,'name':_0x4ad760,'input':_0xb171f8,'startIndex':_0x2f8260,'endIndex':_0x40e119};if(!_0x503941)return{'id':_0x87e573,'name':_0x4ad760,'input':{},'startIndex':_0x2f8260,'endIndex':_0x40e119};}const _0x33bec4=/<tool_use\s+name="([^"]+)">\s*([\s\S]*?)\s*<\/tool_use>/,_0x3c03bb=_0x33bec4[_0x477f11(0x1cf)](_0x1ef68a);if(_0x3c03bb){const _0x3efa19=_0x3c03bb[0x1],_0x12e76b=_0x3c03bb[0x2][_0x477f11(0x1d5)](),_0x1063bb=_0x3c03bb['index'],_0x5c5926=_0x1063bb+_0x3c03bb[0x0][_0x477f11(0x219)],_0x181183=_0x477f11(0x1d8)+Date['now']();_0x2b90ba?.['warn']('[MALFORMED\x20TOOL_USE]\x20Missing\x20id\x20attribute,\x20generated\x20fallback.\x20Name:\x20'+_0x3efa19+',\x20ID:\x20'+_0x181183+_0x477f11(0x1ae)+_0x3c03bb[0x0]);const _0x130725=tryParseJsonContent(_0x12e76b,_0x2b90ba);if(_0x130725!==null)return{'id':_0x181183,'name':_0x3efa19,'input':_0x130725,'startIndex':_0x1063bb,'endIndex':_0x5c5926};if(!_0x12e76b)return{'id':_0x181183,'name':_0x3efa19,'input':{},'startIndex':_0x1063bb,'endIndex':_0x5c5926};}const _0x21d33a=tryMatchXmlPatterns(_0x1ef68a,_0x38f275);if(_0x21d33a){const {match:_0x24cc7f,name:_0x2ea2cd,id:_0x451076,jsonContent:_0x22b969}=_0x21d33a,_0x5897a8=_0x24cc7f['index'],_0x3d5802=_0x5897a8+_0x24cc7f[0x0][_0x477f11(0x219)];_0x2b90ba?.[_0x477f11(0x1b4)](_0x477f11(0x216)+_0x2ea2cd+',\x20ID:\x20'+_0x451076+_0x477f11(0x1ae)+_0x24cc7f[0x0]);const _0x52dd7f=tryParseJsonContent(_0x22b969,_0x2b90ba);if(_0x52dd7f!==null)return{'id':_0x451076,'name':_0x2ea2cd,'input':_0x52dd7f,'startIndex':_0x5897a8,'endIndex':_0x3d5802};if(!_0x22b969)return{'id':_0x451076,'name':_0x2ea2cd,'input':{},'startIndex':_0x5897a8,'endIndex':_0x3d5802};}const _0x3dc3e8=/<tool_use([^>]*)>([\s\S]*?)<\/tool_use>/,_0x1fdd61=_0x3dc3e8[_0x477f11(0x1cf)](_0x1ef68a);if(_0x1fdd61){const _0x372190=_0x1fdd61[0x1],_0x42b5af=_0x1fdd61[0x2],_0x633b5f=_0x1fdd61[_0x477f11(0x21a)],_0x149d40=_0x633b5f+_0x1fdd61[0x0][_0x477f11(0x219)],_0x532ea4=/name="([^"]+)"/[_0x477f11(0x1cf)](_0x372190),_0x2415cf=/id="([^"]+)"/[_0x477f11(0x1cf)](_0x372190),_0x1ded06=/tool_use_name="([^"]+)"/[_0x477f11(0x1cf)](_0x42b5af),_0x3459f7=/tool_use_id="([^"]+)"/[_0x477f11(0x1cf)](_0x42b5af),_0x24ad41=_0x532ea4?.[0x1]||_0x1ded06?.[0x1],_0xb4674c=_0x2415cf?.[0x1]||_0x3459f7?.[0x1];if(_0x24ad41){const _0x446841=_0xb4674c||_0x477f11(0x1d8)+Date[_0x477f11(0x1c0)](),_0x422e50=_0x42b5af['lastIndexOf']('{');let _0x4ef36c='';if(_0x422e50!==-0x1){const _0x4fb327=_0x42b5af['substring'](_0x422e50),_0x54ac98=/^\{[\s\S]*?\}/[_0x477f11(0x1cf)](_0x4fb327);_0x4ef36c=_0x54ac98?.[0x0]?.[_0x477f11(0x1d5)]()||'';}const _0x2ae7f3=!_0xb4674c;_0x2b90ba?.[_0x477f11(0x1b4)]('[MALFORMED\x20TOOL_USE]\x20Extracted\x20from\x20flexible\x20pattern.\x20Name:\x20'+_0x24ad41+_0x477f11(0x1ba)+_0x446841+(_0x2ae7f3?_0x477f11(0x201):'')+_0x477f11(0x1ae)+_0x1fdd61[0x0]);const _0x5424b9=tryParseJsonContent(_0x4ef36c,_0x2b90ba);if(_0x5424b9!==null)return{'id':_0x446841,'name':_0x24ad41,'input':_0x5424b9,'startIndex':_0x633b5f,'endIndex':_0x149d40};if(!_0x4ef36c)return{'id':_0x446841,'name':_0x24ad41,'input':{},'startIndex':_0x633b5f,'endIndex':_0x149d40};}}const _0x1fdc93=['Edit',_0x477f11(0x1d2),_0x477f11(0x20b),'Bash',_0x477f11(0x20e),_0x477f11(0x1f2),_0x477f11(0x200),_0x477f11(0x1fa),_0x477f11(0x20a),'WebSearch',_0x477f11(0x1af),'NotebookEdit'];for(const _0x17463b of _0x1fdc93){const _0x1a4998=new RegExp('<'+_0x17463b+_0x477f11(0x1c9)+_0x17463b+'>','i'),_0x45067f=_0x1a4998[_0x477f11(0x1cf)](_0x1ef68a);if(_0x45067f){const _0x57ef93=_0x45067f[0x1],_0xbe297=_0x45067f[_0x477f11(0x21a)],_0x14509f=_0xbe297+_0x45067f[0x0][_0x477f11(0x219)],_0x1c4829=_0x477f11(0x1d8)+Date[_0x477f11(0x1c0)](),_0x5031dc={},_0x487f42=/<([a-z_]+)>([\s\S]*?)<\/\1>/gi;let _0x466113;while((_0x466113=_0x487f42[_0x477f11(0x1cf)](_0x57ef93))!==null){const _0x43a13c=_0x466113[0x1],_0x5bac8f=_0x466113[0x2][_0x477f11(0x1d5)]();try{_0x5031dc[_0x43a13c]=JSON[_0x477f11(0x1dd)](_0x5bac8f);}catch{_0x5031dc[_0x43a13c]=_0x5bac8f;}}return _0x2b90ba?.[_0x477f11(0x1b4)](_0x477f11(0x1bc)+_0x17463b+_0x477f11(0x1ba)+_0x1c4829+_0x477f11(0x1ae)+_0x45067f[0x0]),{'id':_0x1c4829,'name':_0x17463b,'input':_0x5031dc,'startIndex':_0xbe297,'endIndex':_0x14509f};}}const _0x52f4e4=/\{"tool_use":/g,_0x3e27da=_0x52f4e4[_0x477f11(0x1cf)](_0x1ef68a);if(!_0x3e27da)return null;const _0x3fb2bb=_0x3e27da[_0x477f11(0x21a)];let _0x3206eb=findJsonEndIndex(_0x1ef68a,_0x3fb2bb);if(_0x3206eb===-0x1)return null;const _0x2bc1dd=_0x1ef68a[_0x477f11(0x208)](_0x3fb2bb,_0x3206eb);try{const _0x4fa72e=JSON[_0x477f11(0x1dd)](_0x2bc1dd);if(_0x4fa72e[_0x477f11(0x1fb)]&&_0x4fa72e[_0x477f11(0x1fb)]['id']&&_0x4fa72e[_0x477f11(0x1fb)][_0x477f11(0x1c7)])return{'id':_0x4fa72e['tool_use']['id'],'name':_0x4fa72e[_0x477f11(0x1fb)]['name'],'input':_0x4fa72e[_0x477f11(0x1fb)][_0x477f11(0x1bb)]||{},'startIndex':_0x3fb2bb,'endIndex':_0x3206eb};}catch{const _0x4d7f9a=repairIncompleteJson(_0x2bc1dd,_0x2b90ba);if(_0x4d7f9a)try{const _0x1edf51=JSON[_0x477f11(0x1dd)](_0x4d7f9a);if(_0x1edf51[_0x477f11(0x1fb)]&&_0x1edf51[_0x477f11(0x1fb)]['id']&&_0x1edf51[_0x477f11(0x1fb)][_0x477f11(0x1c7)])return{'id':_0x1edf51[_0x477f11(0x1fb)]['id'],'name':_0x1edf51[_0x477f11(0x1fb)]['name'],'input':_0x1edf51[_0x477f11(0x1fb)][_0x477f11(0x1bb)]||{},'startIndex':_0x3fb2bb,'endIndex':_0x3206eb};}catch{return null;}return null;}return null;}export function*generateToolCallBlockEvents(_0x1c63bf,_0x5075d1){const _0x1cd5ee=a54_0x2fd5,_0x38ac0f={'type':'content_block_start','index':_0x5075d1,'content_block':{'type':_0x1cd5ee(0x1fb),'id':_0x1c63bf['id'],'name':_0x1c63bf['name'],'input':{}}};yield _0x38ac0f;const _0x2124b6=JSON[_0x1cd5ee(0x1ef)](_0x1c63bf[_0x1cd5ee(0x1bb)]),_0x113bce={'type':_0x1cd5ee(0x205),'index':_0x5075d1,'delta':{'type':_0x1cd5ee(0x1d9),'partial_json':_0x2124b6}};yield _0x113bce;const _0x4cd858={'type':_0x1cd5ee(0x1d1),'index':_0x5075d1};yield _0x4cd858;}export function*generateToolCallEvents(_0x2bbb56,_0x43af85,_0xc6d799){const _0x5627e3=a54_0x2fd5;yield*generateToolCallBlockEvents(_0x2bbb56,_0x43af85);const _0x1beee3={'type':'message_delta','delta':{'stop_reason':_0x5627e3(0x1fb),'stop_sequence':null},'usage':{'input_tokens':_0xc6d799,'output_tokens':0x0}};yield _0x1beee3;const _0x56ca09={'type':'message_stop'};yield _0x56ca09;}export async function*transformTDStreamToAnthropic(_0x123d03,_0x333e22,_0x5c81ff,_0x2ab8d6,_0x16cfb3='',_0x1a8852=0x0){const _0x408053=a54_0x2fd5,_0x48edf4=_0x1a8852>0x0?_0x1a8852:estimateTokenCount(_0x16cfb3);let _0xb8440f=0x0,_0x790e45=0x0,_0x41240e=![],_0x369efc=null,_0x22e169='',_0x4fe3b5=0x0,_0x40907f=![];const _0x51980a=0xc8,_0x595f95={'type':'message_start','message':{'id':_0x333e22,'type':_0x408053(0x21c),'role':_0x408053(0x1e7),'content':[],'model':_0x5c81ff,'stop_reason':null,'stop_sequence':null,'usage':{'input_tokens':_0x48edf4,'output_tokens':0x0}}};yield _0x595f95;for await(const _0x546fa0 of _0x123d03){if(_0x408053(0x1f5)in _0x546fa0){const _0x3ee6b6=_0x546fa0;if(!_0x41240e){const _0x270901={'type':_0x408053(0x1a7),'index':_0x790e45,'content_block':{'type':_0x408053(0x1e3),'thinking':''}};yield _0x270901,_0x41240e=!![],_0x369efc='thinking';}const _0x162137={'type':_0x408053(0x205),'index':_0x790e45,'delta':{'type':_0x408053(0x20d),'thinking':_0x3ee6b6[_0x408053(0x1f5)]}};yield _0x162137,_0xb8440f+=estimateTokenCount(_0x3ee6b6[_0x408053(0x1f5)]);}else{if(_0x408053(0x211)in _0x546fa0){const _0x24ffda=_0x546fa0;if(_0x41240e&&_0x369efc===_0x408053(0x1e3)){const _0x4d4eec={'type':_0x408053(0x1d1),'index':_0x790e45};yield _0x4d4eec,_0x790e45++,_0x41240e=![],_0x369efc=null;}_0x22e169+=_0x24ffda[_0x408053(0x211)];const _0x263aa9=_0x22e169[_0x408053(0x1b9)](_0x408053(0x1f1)),_0x42c90a=_0x22e169[_0x408053(0x1b9)](_0x408053(0x1fc)),_0x43c851=[_0x263aa9,_0x42c90a][_0x408053(0x1b8)](_0x46f6c9=>_0x46f6c9!==-0x1),_0xd72c29=_0x43c851[_0x408053(0x219)]>0x0?Math[_0x408053(0x1d0)](..._0x43c851):-0x1;if(_0xd72c29!==-0x1){const _0x23dde9=[];let _0x2fa801=0x0;while(!![]){const _0x3ef121=_0x22e169['substring'](_0x2fa801),_0x4f732b=parseToolCallFromText(_0x3ef121,_0x2ab8d6);if(!_0x4f732b)break;_0x23dde9[_0x408053(0x21d)]({'id':_0x4f732b['id'],'name':_0x4f732b[_0x408053(0x1c7)],'input':_0x4f732b[_0x408053(0x1bb)],'startIndex':_0x2fa801+_0x4f732b[_0x408053(0x207)],'endIndex':_0x2fa801+_0x4f732b[_0x408053(0x1b2)]}),_0x2fa801+=_0x4f732b[_0x408053(0x1b2)];}if(_0x23dde9['length']>0x0){const _0x4633e0=_0x23dde9[_0x23dde9[_0x408053(0x219)]-0x1];_0x40907f=!![];if(_0x23dde9[_0x408053(0x219)]>0x1){const _0x512260=_0x23dde9['slice'](0x0,-0x1)[_0x408053(0x1a8)](_0x401eb2=>_0x401eb2[_0x408053(0x1c7)]);_0x2ab8d6?.['warn'](_0x408053(0x1c2)+_0x23dde9[_0x408053(0x219)]+_0x408053(0x1ec)+(_0x408053(0x1ab)+_0x4633e0['name']+_0x408053(0x1d6)+_0x512260[_0x408053(0x209)](',\x20')));}else _0x2ab8d6?.[_0x408053(0x1b0)]('Tool\x20call\x20detected:\x20'+_0x4633e0[_0x408053(0x1c7)]);const _0x1f08cc=_0x22e169['substring'](_0x4fe3b5,_0x4633e0['startIndex'])[_0x408053(0x1d5)]();if(_0x1f08cc){if(!_0x41240e){const _0x166d51={'type':_0x408053(0x1a7),'index':_0x790e45,'content_block':{'type':_0x408053(0x1d4),'text':''}};yield _0x166d51,_0x41240e=!![],_0x369efc=_0x408053(0x1d4);}const _0x342c9f={'type':'content_block_delta','index':_0x790e45,'delta':{'type':_0x408053(0x1b6),'text':_0x1f08cc}};yield _0x342c9f,_0xb8440f+=estimateTokenCount(_0x1f08cc);}if(_0x41240e){const _0x3991a0={'type':_0x408053(0x1d1),'index':_0x790e45};yield _0x3991a0,_0x790e45++,_0x41240e=![],_0x369efc=null;}for(const _0x199e0c of generateToolCallEvents(_0x4633e0,_0x790e45,_0x48edf4)){_0x199e0c['type']==='message_delta'&&(_0x199e0c[_0x408053(0x1e4)][_0x408053(0x1ff)]=_0xb8440f),yield _0x199e0c;}return;}const _0x3f02af=_0x22e169[_0x408053(0x1a9)](_0x408053(0x1f1))&&_0x22e169[_0x408053(0x1a9)](_0x408053(0x1da)),_0x31e730=_0x22e169[_0x408053(0x1a9)](_0x408053(0x1fc))&&findJsonEndIndex(_0x22e169,_0x22e169[_0x408053(0x1b9)]('{\x22tool_use\x22:'))!==-0x1;if(_0x3f02af||_0x31e730){_0x40907f=!![];let _0x328b7a='';if(_0x3f02af){const _0x231725=_0x22e169[_0x408053(0x1b9)]('<tool_use'),_0x32b9a1=_0x22e169[_0x408053(0x1b9)](_0x408053(0x1da),_0x231725);_0x32b9a1!==-0x1?_0x328b7a=_0x22e169[_0x408053(0x208)](_0x231725,_0x32b9a1+_0x408053(0x1da)['length']):_0x328b7a=_0x22e169['substring'](_0x231725);}else{if(_0x31e730){const _0x3ef2b4=_0x22e169['indexOf'](_0x408053(0x1fc)),_0x3fc667=findJsonEndIndex(_0x22e169,_0x3ef2b4);_0x3fc667!==-0x1?_0x328b7a=_0x22e169['substring'](_0x3ef2b4,_0x3fc667):_0x328b7a=_0x22e169[_0x408053(0x208)](_0x3ef2b4);}}_0x2ab8d6&&_0x2ab8d6[_0x408053(0x1bd)](_0x408053(0x1eb)+_0x328b7a);_0x2ab8d6?.[_0x408053(0x1b0)](_0x408053(0x203)),_0x2ab8d6?.[_0x408053(0x1b0)]('Malformed\x20content:',_0x328b7a);const _0x15c1fc=_0x22e169['substring'](_0x4fe3b5,_0xd72c29)['trim']();if(_0x15c1fc){if(!_0x41240e){const _0x2b5043={'type':'content_block_start','index':_0x790e45,'content_block':{'type':'text','text':''}};yield _0x2b5043,_0x41240e=!![],_0x369efc=_0x408053(0x1d4);}const _0x362007={'type':_0x408053(0x205),'index':_0x790e45,'delta':{'type':_0x408053(0x1b6),'text':_0x15c1fc}};yield _0x362007,_0xb8440f+=estimateTokenCount(_0x15c1fc);}if(_0x41240e){const _0xc7e64b={'type':_0x408053(0x1d1),'index':_0x790e45};yield _0xc7e64b,_0x790e45++,_0x41240e=![],_0x369efc=null;}const _0x816b4f=_0x408053(0x1fe)+_0x328b7a+_0x408053(0x1b3),_0x9d431d={'type':_0x408053(0x1a7),'index':_0x790e45,'content_block':{'type':_0x408053(0x1d4),'text':''}};yield _0x9d431d,_0x369efc=_0x408053(0x1d4);const _0x5cc46c={'type':_0x408053(0x205),'index':_0x790e45,'delta':{'type':_0x408053(0x1b6),'text':_0x816b4f}};yield _0x5cc46c;const _0xc532d={'type':_0x408053(0x1d1),'index':_0x790e45};yield _0xc532d;const _0x26e090={'type':_0x408053(0x204),'delta':{'stop_reason':_0x408053(0x212),'stop_sequence':null},'usage':{'input_tokens':_0x48edf4,'output_tokens':_0xb8440f}};yield _0x26e090;const _0x28306b={'type':'message_stop'};yield _0x28306b;return;}const _0x42094f=_0x22e169[_0x408053(0x208)](_0x4fe3b5,_0xd72c29);if(_0x42094f){if(!_0x41240e){const _0x33a3a4={'type':_0x408053(0x1a7),'index':_0x790e45,'content_block':{'type':'text','text':''}};yield _0x33a3a4,_0x41240e=!![],_0x369efc=_0x408053(0x1d4);}const _0x456e5d={'type':'content_block_delta','index':_0x790e45,'delta':{'type':_0x408053(0x1b6),'text':_0x42094f}};yield _0x456e5d,_0xb8440f+=estimateTokenCount(_0x42094f),_0x4fe3b5=_0xd72c29;}continue;}const _0x298e8e=_0x22e169[_0x408053(0x219)]-_0x51980a;if(_0x298e8e>_0x4fe3b5){const _0x2ff221=_0x22e169[_0x408053(0x208)](_0x4fe3b5,_0x298e8e);if(_0x2ff221){if(!_0x41240e){const _0x4bb508={'type':_0x408053(0x1a7),'index':_0x790e45,'content_block':{'type':'text','text':''}};yield _0x4bb508,_0x41240e=!![],_0x369efc=_0x408053(0x1d4);}const _0x5ccdbd={'type':'content_block_delta','index':_0x790e45,'delta':{'type':_0x408053(0x1b6),'text':_0x2ff221}};yield _0x5ccdbd,_0xb8440f+=estimateTokenCount(_0x2ff221),_0x4fe3b5=_0x298e8e;}}}else{if(_0x408053(0x1bd)in _0x546fa0){const _0x3eeffa=_0x546fa0,_0x26b010=determineErrorType(_0x3eeffa['error'],_0x2ab8d6),_0x34dc25=_0x26b010===_0x408053(0x206)?'model_context_window_exceeded':_0x408053(0x212),_0x20062f={'type':_0x408053(0x204),'delta':{'stop_reason':_0x34dc25,'stop_sequence':null},'usage':{'input_tokens':_0x48edf4,'output_tokens':_0xb8440f}};yield _0x20062f,yield{'type':_0x408053(0x1bd),'error':{'type':_0x26b010,'message':_0x3eeffa[_0x408053(0x1bd)]},'request_id':_0x333e22};const _0xe20ed={'type':_0x408053(0x1dc)};yield _0xe20ed;return;}}}}if(!_0x40907f){const _0x520aee=_0x22e169[_0x408053(0x208)](_0x4fe3b5);if(_0x520aee){if(!_0x41240e){const _0x252932={'type':_0x408053(0x1a7),'index':_0x790e45,'content_block':{'type':'text','text':''}};yield _0x252932,_0x41240e=!![],_0x369efc=_0x408053(0x1d4);}const _0x35d51b={'type':'content_block_delta','index':_0x790e45,'delta':{'type':_0x408053(0x1b6),'text':_0x520aee}};yield _0x35d51b,_0xb8440f+=estimateTokenCount(_0x520aee);}if(_0x41240e){const _0xca3e72={'type':_0x408053(0x1d1),'index':_0x790e45};yield _0xca3e72;}const _0x1f8cde={'type':_0x408053(0x204),'delta':{'stop_reason':'end_turn','stop_sequence':null},'usage':{'input_tokens':_0x48edf4,'output_tokens':_0xb8440f}};yield _0x1f8cde;const _0x20f964={'type':_0x408053(0x1dc)};yield _0x20f964;}}export{generateMessageId};
@@ -1 +1 @@
1
- (function(_0x4a1e7c,_0x22fd44){const _0x565965=a55_0x9761,_0x1314fa=_0x4a1e7c();while(!![]){try{const _0x590fce=-parseInt(_0x565965(0x14e))/0x1*(-parseInt(_0x565965(0x13d))/0x2)+parseInt(_0x565965(0x113))/0x3+parseInt(_0x565965(0x12a))/0x4+-parseInt(_0x565965(0x120))/0x5+parseInt(_0x565965(0x11a))/0x6*(-parseInt(_0x565965(0x11f))/0x7)+parseInt(_0x565965(0x146))/0x8+parseInt(_0x565965(0x150))/0x9*(-parseInt(_0x565965(0x132))/0xa);if(_0x590fce===_0x22fd44)break;else _0x1314fa['push'](_0x1314fa['shift']());}catch(_0x5a4dc9){_0x1314fa['push'](_0x1314fa['shift']());}}}(a55_0x213e,0x445f9));import{readFile,writeFile,appendFile,mkdir,readdir,stat}from'node:fs/promises';function a55_0x213e(){const _0x29e611=['replace','tdx','182qgFtDy','680465nkUBnQ','timestamp','default','sort','filter','toISOString','getMonth','model','length','entryCount','2157272TulPWa','.jsonl','keys','init','monthChatUnits','daily','outputTokens','split','910OcmGRT','utf-8','warn','lastUpdatedAt','WARN','todayDate','credits','Invalid\x20session\x20ID:\x20path\x20traversal\x20detected','stringify','totalChatUnits','sessions','377506bSZhod','endsWith','getTime','lastUsedAt','object','getFullYear','.jsonl:','Failed\x20to\x20read\x20usage\x20file\x20','trim','244464ZXWosR','latestInputTokensByContext','inputTokens','parse','claude-usage','entries','stats-cache.json','values','1iWvXHZ','startsWith','71559yIcszN','Failed\x20to\x20process\x20session\x20','profile','1432956WKCaeI','.cache','message','slice','todayChatUnits','monthly','mtime','22290BSEpfJ','profiles','map'];a55_0x213e=function(){return _0x29e611;};return a55_0x213e();}import{existsSync}from'node:fs';import{join,resolve}from'node:path';import{homedir}from'node:os';import{getModelFactor,calculateChatUnit,calculateCredits}from'../sdk/llm/model-factors.js';import{TDXLogger,LogLevel}from'../utils/tdx-logger.js';let usageLogger=null;async function getLogger(){const _0x52565a=a55_0x9761;return!usageLogger&&(usageLogger=new TDXLogger(LogLevel[_0x52565a(0x136)],!![]),await usageLogger[_0x52565a(0x12d)]()),usageLogger;}function getUsageDir(){const _0x1ee24c=a55_0x9761;return join(homedir(),_0x1ee24c(0x114),_0x1ee24c(0x11e),_0x1ee24c(0x14a));}function sanitizeSessionId(_0x52bd88){const _0xf8351d=a55_0x9761;return _0x52bd88[_0xf8351d(0x11d)](/[^a-zA-Z0-9_-]/g,'_');}function getSafeJsonlPath(_0x27a39c){const _0x8847e2=a55_0x9761,_0x165fcd=getUsageDir(),_0x56234d=sanitizeSessionId(_0x27a39c),_0x5c678f=resolve(_0x165fcd,_0x56234d+'.jsonl');if(!_0x5c678f[_0x8847e2(0x14f)](_0x165fcd))throw new Error(_0x8847e2(0x139));return _0x5c678f;}function getStatsCachePath(){const _0xc4cb1b=a55_0x9761;return join(getUsageDir(),_0xc4cb1b(0x14c));}async function ensureUsageDir(){const _0x5d02a3=getUsageDir();!existsSync(_0x5d02a3)&&await mkdir(_0x5d02a3,{'recursive':!![]});}function a55_0x9761(_0x20da7b,_0x483b86){_0x20da7b=_0x20da7b-0x112;const _0x213efe=a55_0x213e();let _0x9761f9=_0x213efe[_0x20da7b];return _0x9761f9;}export async function appendUsageEntry(_0x555963,_0x2374e0){const _0x3b0cf5=a55_0x9761,_0x23b2ef=sanitizeSessionId(_0x555963);await ensureUsageDir();const _0x18308d=getSafeJsonlPath(_0x23b2ef),_0x4ba700=JSON[_0x3b0cf5(0x13a)](_0x2374e0)+'\x0a';await appendFile(_0x18308d,_0x4ba700,_0x3b0cf5(0x133));}async function readSessionJsonl(_0x209063){const _0x5d22f9=a55_0x9761,_0x552691=getSafeJsonlPath(_0x209063);if(!existsSync(_0x552691))return[];try{const _0x5d5e9c=await readFile(_0x552691,'utf-8'),_0x4a87ca=_0x5d5e9c[_0x5d22f9(0x145)]()[_0x5d22f9(0x131)]('\x0a')[_0x5d22f9(0x124)](Boolean);return _0x4a87ca['map'](_0x11c0db=>{const _0x540972=_0x5d22f9;try{return JSON[_0x540972(0x149)](_0x11c0db);}catch{return null;}})[_0x5d22f9(0x124)](_0x3ae499=>_0x3ae499!==null);}catch(_0x31c1fa){const _0x979180=await getLogger();return _0x979180[_0x5d22f9(0x134)](_0x5d22f9(0x144)+_0x209063+_0x5d22f9(0x143),_0x31c1fa instanceof Error?_0x31c1fa[_0x5d22f9(0x115)]:String(_0x31c1fa)),[];}}async function getAllSessionFiles(){const _0x5a4692=a55_0x9761,_0x577bd6=getUsageDir();if(!existsSync(_0x577bd6))return[];try{const _0x58ee4e=await readdir(_0x577bd6);return _0x58ee4e['filter'](_0x58a595=>_0x58a595[_0x5a4692(0x13e)](_0x5a4692(0x12b)))[_0x5a4692(0x11c)](_0x5b455a=>_0x5b455a[_0x5a4692(0x11d)](_0x5a4692(0x12b),''));}catch(_0x2099f5){const _0x5304a3=await getLogger();return _0x5304a3['warn']('Failed\x20to\x20read\x20usage\x20directory:',_0x2099f5 instanceof Error?_0x2099f5[_0x5a4692(0x115)]:String(_0x2099f5)),[];}}async function readStatsCache(){const _0x1edda1=a55_0x9761,_0x3f1b1d=getStatsCachePath();if(!existsSync(_0x3f1b1d))return null;try{const _0x15b202=await readFile(_0x3f1b1d,_0x1edda1(0x133));return JSON[_0x1edda1(0x149)](_0x15b202);}catch{return null;}}async function writeStatsCache(_0x224b35){const _0x3850f9=a55_0x9761;await ensureUsageDir();const _0x3b517c=getStatsCachePath();await writeFile(_0x3b517c,JSON['stringify'](_0x224b35,null,0x2),_0x3850f9(0x133));}async function isCacheUpToDate(_0x2b6740,_0x38bcc3){const _0x240719=a55_0x9761,_0x2b24d3=_0x2b6740[_0x240719(0x13c)][_0x38bcc3];if(!_0x2b24d3)return![];const _0x40c5d3=getSafeJsonlPath(_0x38bcc3);if(!existsSync(_0x40c5d3))return!![];try{const _0x55c9e2=await stat(_0x40c5d3),_0x3517cf=new Date(_0x2b24d3[_0x240719(0x135)])[_0x240719(0x13f)](),_0x572c41=_0x55c9e2[_0x240719(0x119)]['getTime']();return _0x3517cf>_0x572c41;}catch{return![];}}export async function rebuildCache(){const _0x524c04=a55_0x9761,_0x156e87=new Date(),_0x4ce598=_0x156e87[_0x524c04(0x125)]()[_0x524c04(0x116)](0x0,0xa),_0x40ff87=_0x156e87['toISOString']()[_0x524c04(0x116)](0x0,0x7),_0x2b5d0e={'daily':{},'monthly':{},'sessions':{},'profiles':{},'lastRebuiltAt':_0x156e87['toISOString']()},_0x2d6180=await getAllSessionFiles();for(const _0x28968e of _0x2d6180){try{const _0x44476c=await readSessionJsonl(_0x28968e);if(_0x44476c[_0x524c04(0x128)]===0x0)continue;let _0x2a7df9=0x0;const _0x5e1c0b={};let _0xf274='';for(const _0x5b9930 of _0x44476c){const _0x1770c7=getModelFactor(_0x5b9930[_0x524c04(0x127)]),_0x59efe8=calculateChatUnit(_0x5b9930[_0x524c04(0x148)],_0x5b9930[_0x524c04(0x130)],_0x1770c7);_0x2a7df9+=_0x59efe8;const _0x3ee1cc=_0x5b9930['contextSignature']||_0x524c04(0x122);_0x5e1c0b[_0x3ee1cc]=_0x5b9930[_0x524c04(0x148)];_0x5b9930[_0x524c04(0x121)]>_0xf274&&(_0xf274=_0x5b9930[_0x524c04(0x121)]);const _0x50bce9=_0x5b9930['timestamp'][_0x524c04(0x116)](0x0,0xa);!_0x2b5d0e[_0x524c04(0x12f)][_0x50bce9]&&(_0x2b5d0e['daily'][_0x50bce9]={'totalChatUnits':0x0,'entryCount':0x0});_0x2b5d0e['daily'][_0x50bce9][_0x524c04(0x13b)]+=_0x59efe8,_0x2b5d0e[_0x524c04(0x12f)][_0x50bce9][_0x524c04(0x129)]+=0x1;const _0x1d4b5a=_0x5b9930[_0x524c04(0x121)][_0x524c04(0x116)](0x0,0x7);!_0x2b5d0e[_0x524c04(0x118)][_0x1d4b5a]&&(_0x2b5d0e[_0x524c04(0x118)][_0x1d4b5a]={'totalChatUnits':0x0,'entryCount':0x0});_0x2b5d0e[_0x524c04(0x118)][_0x1d4b5a][_0x524c04(0x13b)]+=_0x59efe8,_0x2b5d0e['monthly'][_0x1d4b5a]['entryCount']+=0x1;const _0x5b3835=_0x5b9930[_0x524c04(0x112)]||'default';!_0x2b5d0e[_0x524c04(0x11b)][_0x5b3835]&&(_0x2b5d0e[_0x524c04(0x11b)][_0x5b3835]={'totalChatUnits':0x0,'entryCount':0x0,'lastUsedAt':'','todayChatUnits':0x0,'todayDate':_0x4ce598,'monthChatUnits':0x0,'month':_0x40ff87}),_0x2b5d0e[_0x524c04(0x11b)][_0x5b3835][_0x524c04(0x13b)]+=_0x59efe8,_0x2b5d0e[_0x524c04(0x11b)][_0x5b3835]['entryCount']+=0x1,_0x5b9930[_0x524c04(0x121)]>_0x2b5d0e[_0x524c04(0x11b)][_0x5b3835][_0x524c04(0x140)]&&(_0x2b5d0e[_0x524c04(0x11b)][_0x5b3835][_0x524c04(0x140)]=_0x5b9930[_0x524c04(0x121)]),_0x50bce9===_0x4ce598&&(_0x2b5d0e[_0x524c04(0x11b)][_0x5b3835][_0x524c04(0x117)]+=_0x59efe8),_0x1d4b5a===_0x40ff87&&(_0x2b5d0e[_0x524c04(0x11b)][_0x5b3835][_0x524c04(0x12e)]+=_0x59efe8);}_0x2b5d0e['sessions'][_0x28968e]={'totalChatUnits':_0x2a7df9,'latestInputTokensByContext':_0x5e1c0b,'createdAt':_0x44476c[0x0][_0x524c04(0x121)],'lastUpdatedAt':_0xf274};}catch(_0x57634f){const _0x434e3=await getLogger();_0x434e3[_0x524c04(0x134)](_0x524c04(0x151)+_0x28968e+':',_0x57634f instanceof Error?_0x57634f[_0x524c04(0x115)]:String(_0x57634f));continue;}}return cleanupOldEntries(_0x2b5d0e),await writeStatsCache(_0x2b5d0e),_0x2b5d0e;}function cleanupOldEntries(_0x325574){const _0x363d7c=a55_0x9761,_0x43f5ca=new Date(),_0x3c03a1=new Date(_0x43f5ca['getTime']()-0x7*0x18*0x3c*0x3c*0x3e8);for(const _0xa272b8 of Object[_0x363d7c(0x12c)](_0x325574[_0x363d7c(0x12f)])){new Date(_0xa272b8)<_0x3c03a1&&delete _0x325574[_0x363d7c(0x12f)][_0xa272b8];}const _0x12c411=new Date(_0x43f5ca[_0x363d7c(0x142)]()-0x1,_0x43f5ca[_0x363d7c(0x126)](),0x1);for(const _0xd6c45f of Object['keys'](_0x325574[_0x363d7c(0x118)])){const [_0x465350,_0x14f236]=_0xd6c45f[_0x363d7c(0x131)]('-')[_0x363d7c(0x11c)](Number),_0x30a171=new Date(_0x465350,_0x14f236-0x1,0x1);_0x30a171<_0x12c411&&delete _0x325574[_0x363d7c(0x118)][_0xd6c45f];}const _0xc85c04=new Date(_0x43f5ca['getTime']()-0x1e*0x18*0x3c*0x3c*0x3e8);for(const [_0x1df025,_0x2a7dfd]of Object['entries'](_0x325574[_0x363d7c(0x13c)])){new Date(_0x2a7dfd[_0x363d7c(0x135)])<_0xc85c04&&delete _0x325574[_0x363d7c(0x13c)][_0x1df025];}}export async function getOrUpdateCache(_0x2b87a1){const _0x43bc14=_0x2b87a1?sanitizeSessionId(_0x2b87a1):undefined,_0xa0a065=await readStatsCache();if(!_0xa0a065)return rebuildCache();if(_0x43bc14){const _0x43fb54=await isCacheUpToDate(_0xa0a065,_0x43bc14);if(!_0x43fb54)return rebuildCache();}return _0xa0a065;}export async function getSessionCredits(_0x14de35){const _0x1e0017=a55_0x9761,_0x36e76b=sanitizeSessionId(_0x14de35),_0x32938a=await getOrUpdateCache(_0x36e76b),_0x299bd6=_0x32938a[_0x1e0017(0x13c)][_0x36e76b];if(!_0x299bd6)return 0x0;return calculateCredits(_0x299bd6['totalChatUnits']);}export async function getTodayCredits(){const _0x45bd53=a55_0x9761,_0x249b09=await getOrUpdateCache(),_0x113cea=new Date()[_0x45bd53(0x125)]()[_0x45bd53(0x116)](0x0,0xa),_0x42352c=_0x249b09[_0x45bd53(0x12f)][_0x113cea];if(!_0x42352c)return 0x0;return calculateCredits(_0x42352c[_0x45bd53(0x13b)]);}export async function getMonthCredits(){const _0x50c37a=a55_0x9761,_0x37f6a7=await getOrUpdateCache(),_0x33530e=new Date()[_0x50c37a(0x125)]()[_0x50c37a(0x116)](0x0,0x7),_0x2a3060=_0x37f6a7[_0x50c37a(0x118)][_0x33530e];if(!_0x2a3060)return 0x0;return calculateCredits(_0x2a3060[_0x50c37a(0x13b)]);}export async function getSessionStats(_0x9de6ef){const _0xda93d5=a55_0x9761,_0x58411=sanitizeSessionId(_0x9de6ef),_0xe27378=await getOrUpdateCache(_0x58411);return _0xe27378[_0xda93d5(0x13c)][_0x58411]||null;}function getMaxLatestInputTokens(_0x29fb6d){const _0x885d42=a55_0x9761,_0x543f1d=Object[_0x885d42(0x14d)](_0x29fb6d);if(_0x543f1d['length']===0x0)return 0x0;return Math['max'](..._0x543f1d);}export async function getUsageStats(_0x31d4ff,_0x1db567){const _0x59f74a=a55_0x9761,_0x248194=sanitizeSessionId(_0x31d4ff),_0x5b1623=await getOrUpdateCache(_0x248194),_0x1dc6cb=_0x5b1623[_0x59f74a(0x13c)][_0x248194],_0x1f4332=new Date()[_0x59f74a(0x125)]()[_0x59f74a(0x116)](0x0,0xa),_0x12bbee=new Date()['toISOString']()['slice'](0x0,0x7);if(_0x1db567){const _0x404cf3=_0x5b1623[_0x59f74a(0x11b)]?.[_0x1db567],_0x1b2bce=_0x404cf3?.[_0x59f74a(0x137)]===_0x1f4332?calculateCredits(_0x404cf3[_0x59f74a(0x117)]):0x0,_0xa50cc7=_0x404cf3?.['month']===_0x12bbee?calculateCredits(_0x404cf3[_0x59f74a(0x12e)]):0x0;return{'sessionCredits':_0x1dc6cb?calculateCredits(_0x1dc6cb[_0x59f74a(0x13b)]):0x0,'todayCredits':_0x1b2bce,'monthCredits':_0xa50cc7,'latestInputTokens':_0x1dc6cb?getMaxLatestInputTokens(_0x1dc6cb[_0x59f74a(0x147)]):0x0};}return{'sessionCredits':_0x1dc6cb?calculateCredits(_0x1dc6cb['totalChatUnits']):0x0,'todayCredits':_0x5b1623[_0x59f74a(0x12f)][_0x1f4332]?calculateCredits(_0x5b1623[_0x59f74a(0x12f)][_0x1f4332][_0x59f74a(0x13b)]):0x0,'monthCredits':_0x5b1623[_0x59f74a(0x118)][_0x12bbee]?calculateCredits(_0x5b1623[_0x59f74a(0x118)][_0x12bbee][_0x59f74a(0x13b)]):0x0,'latestInputTokens':_0x1dc6cb?getMaxLatestInputTokens(_0x1dc6cb[_0x59f74a(0x147)]):0x0};}export async function getAllProfileStats(){const _0x55a8af=a55_0x9761,_0x56cb20=await getOrUpdateCache(),_0x588631=_0x56cb20[_0x55a8af(0x11b)]||{};return Object[_0x55a8af(0x14b)](_0x588631)[_0x55a8af(0x124)](([,_0x436ef8])=>_0x436ef8&&typeof _0x436ef8==='object')[_0x55a8af(0x11c)](([_0x36d2da,_0x20d655])=>({'profile':_0x36d2da,'credits':calculateCredits(_0x20d655[_0x55a8af(0x13b)]||0x0),'entryCount':_0x20d655[_0x55a8af(0x129)]||0x0,'lastUsedAt':_0x20d655[_0x55a8af(0x140)]||''}))[_0x55a8af(0x123)]((_0x4ed48c,_0x3e94aa)=>_0x3e94aa['credits']-_0x4ed48c[_0x55a8af(0x138)]);}export async function getUsageSummary(){const _0x57ad85=a55_0x9761,_0x2dc187=await getOrUpdateCache(),_0x214175=_0x2dc187[_0x57ad85(0x11b)]||{},_0x4604c0=new Date()['toISOString']()[_0x57ad85(0x116)](0x0,0xa),_0x1b0252=new Date()[_0x57ad85(0x125)]()['slice'](0x0,0x7),_0x581810=Object[_0x57ad85(0x14d)](_0x214175)[_0x57ad85(0x124)](_0x3b764f=>_0x3b764f&&typeof _0x3b764f===_0x57ad85(0x141)),_0x100aaa=_0x581810['reduce']((_0x1521de,_0x1fcf7d)=>_0x1521de+(_0x1fcf7d[_0x57ad85(0x13b)]||0x0),0x0);return{'todayCredits':_0x2dc187[_0x57ad85(0x12f)][_0x4604c0]?calculateCredits(_0x2dc187['daily'][_0x4604c0][_0x57ad85(0x13b)]||0x0):0x0,'monthCredits':_0x2dc187['monthly'][_0x1b0252]?calculateCredits(_0x2dc187[_0x57ad85(0x118)][_0x1b0252][_0x57ad85(0x13b)]||0x0):0x0,'totalCredits':calculateCredits(_0x100aaa),'profileCount':_0x581810[_0x57ad85(0x128)]};}
1
+ (function(_0x134c15,_0x397555){const _0x160a5e=a55_0x51ca,_0x4c1c7d=_0x134c15();while(!![]){try{const _0xb167ea=parseInt(_0x160a5e(0x1eb))/0x1*(parseInt(_0x160a5e(0x205))/0x2)+-parseInt(_0x160a5e(0x202))/0x3+-parseInt(_0x160a5e(0x217))/0x4*(parseInt(_0x160a5e(0x219))/0x5)+parseInt(_0x160a5e(0x1f0))/0x6*(parseInt(_0x160a5e(0x216))/0x7)+-parseInt(_0x160a5e(0x1ef))/0x8*(parseInt(_0x160a5e(0x21b))/0x9)+-parseInt(_0x160a5e(0x1e9))/0xa+-parseInt(_0x160a5e(0x20c))/0xb*(-parseInt(_0x160a5e(0x21d))/0xc);if(_0xb167ea===_0x397555)break;else _0x4c1c7d['push'](_0x4c1c7d['shift']());}catch(_0x393ebe){_0x4c1c7d['push'](_0x4c1c7d['shift']());}}}(a55_0x3dbd,0x73fe8));import{readFile,writeFile,appendFile,mkdir,readdir,stat}from'node:fs/promises';function a55_0x51ca(_0x5f2d1b,_0x42ca67){_0x5f2d1b=_0x5f2d1b-0x1e3;const _0x3dbd4f=a55_0x3dbd();let _0x51ca1c=_0x3dbd4f[_0x5f2d1b];return _0x51ca1c;}import{existsSync}from'node:fs';import{join,resolve}from'node:path';import{homedir}from'node:os';import{getModelFactor,calculateChatUnit,calculateCredits}from'../sdk/llm/model-factors.js';import{TDXLogger,LogLevel}from'../utils/tdx-logger.js';function a55_0x3dbd(){const _0x5390b0=['719967emOIkQ','trim','endsWith','4806NhLlbE','todayDate','month','message','getTime','todayChatUnits','monthly','1111rNIYop','lastUsedAt','split','lastUpdatedAt','entryCount','entries','max','keys','parse','filter','1644993umXqOb','3394004WIdUFl','stats-cache.json','5KnljSo','profiles','9tSInYI','toISOString','82596aKfVcf','tdx','object','WARN','warn','latestInputTokensByContext','getMonth','model','3278400ImSqLl','default','385eltVtc','inputTokens','sessions','startsWith','3471144cGDusq','18gxtxWk','length','getFullYear','credits','totalChatUnits','utf-8','Failed\x20to\x20process\x20session\x20','Failed\x20to\x20read\x20usage\x20file\x20','values','reduce','daily','slice','claude-usage','.jsonl','profile','map','mtime','timestamp'];a55_0x3dbd=function(){return _0x5390b0;};return a55_0x3dbd();}let usageLogger=null;async function getLogger(){const _0x4c568d=a55_0x51ca;return!usageLogger&&(usageLogger=new TDXLogger(LogLevel[_0x4c568d(0x1e4)],!![]),await usageLogger['init']()),usageLogger;}function getUsageDir(){const _0xf68a82=a55_0x51ca;return join(homedir(),'.cache',_0xf68a82(0x21e),_0xf68a82(0x1fc));}function sanitizeSessionId(_0xbb9c57){return _0xbb9c57['replace'](/[^a-zA-Z0-9_-]/g,'_');}function getSafeJsonlPath(_0x3a6916){const _0x461f64=a55_0x51ca,_0x4b10ee=getUsageDir(),_0x58b6b2=sanitizeSessionId(_0x3a6916),_0x5011b9=resolve(_0x4b10ee,_0x58b6b2+_0x461f64(0x1fd));if(!_0x5011b9[_0x461f64(0x1ee)](_0x4b10ee))throw new Error('Invalid\x20session\x20ID:\x20path\x20traversal\x20detected');return _0x5011b9;}function getStatsCachePath(){const _0x59038d=a55_0x51ca;return join(getUsageDir(),_0x59038d(0x218));}async function ensureUsageDir(){const _0xfdbc3c=getUsageDir();!existsSync(_0xfdbc3c)&&await mkdir(_0xfdbc3c,{'recursive':!![]});}export async function appendUsageEntry(_0x1afc5e,_0x2272a4){const _0x310ffc=a55_0x51ca,_0xd45b38=sanitizeSessionId(_0x1afc5e);await ensureUsageDir();const _0x254566=getSafeJsonlPath(_0xd45b38),_0x3aa485=JSON['stringify'](_0x2272a4)+'\x0a';await appendFile(_0x254566,_0x3aa485,_0x310ffc(0x1f5));}async function readSessionJsonl(_0x5133d2){const _0x3904b1=a55_0x51ca,_0xdca858=getSafeJsonlPath(_0x5133d2);if(!existsSync(_0xdca858))return[];try{const _0x4f4b75=await readFile(_0xdca858,_0x3904b1(0x1f5)),_0x512688=_0x4f4b75[_0x3904b1(0x203)]()['split']('\x0a')['filter'](Boolean);return _0x512688[_0x3904b1(0x1ff)](_0x5da128=>{const _0x32d0ed=_0x3904b1;try{return JSON[_0x32d0ed(0x214)](_0x5da128);}catch{return null;}})[_0x3904b1(0x215)](_0x2548dc=>_0x2548dc!==null);}catch(_0x246382){const _0x248708=await getLogger();return _0x248708[_0x3904b1(0x1e5)](_0x3904b1(0x1f7)+_0x5133d2+'.jsonl:',_0x246382 instanceof Error?_0x246382[_0x3904b1(0x208)]:String(_0x246382)),[];}}async function getAllSessionFiles(){const _0x32ca45=a55_0x51ca,_0x11f10b=getUsageDir();if(!existsSync(_0x11f10b))return[];try{const _0x13243b=await readdir(_0x11f10b);return _0x13243b[_0x32ca45(0x215)](_0x1e433b=>_0x1e433b[_0x32ca45(0x204)](_0x32ca45(0x1fd)))[_0x32ca45(0x1ff)](_0x21d955=>_0x21d955['replace'](_0x32ca45(0x1fd),''));}catch(_0x3e1a43){const _0x59a689=await getLogger();return _0x59a689[_0x32ca45(0x1e5)]('Failed\x20to\x20read\x20usage\x20directory:',_0x3e1a43 instanceof Error?_0x3e1a43[_0x32ca45(0x208)]:String(_0x3e1a43)),[];}}async function readStatsCache(){const _0x2c1254=a55_0x51ca,_0x4b8065=getStatsCachePath();if(!existsSync(_0x4b8065))return null;try{const _0x5c040a=await readFile(_0x4b8065,_0x2c1254(0x1f5));return JSON['parse'](_0x5c040a);}catch{return null;}}async function writeStatsCache(_0xecb009){await ensureUsageDir();const _0x339686=getStatsCachePath();await writeFile(_0x339686,JSON['stringify'](_0xecb009,null,0x2),'utf-8');}async function isCacheUpToDate(_0x412fc6,_0x41e0a1){const _0x35a54b=a55_0x51ca,_0x41ad1a=_0x412fc6[_0x35a54b(0x1ed)][_0x41e0a1];if(!_0x41ad1a)return![];const _0x1f69c4=getSafeJsonlPath(_0x41e0a1);if(!existsSync(_0x1f69c4))return!![];try{const _0x19b289=await stat(_0x1f69c4),_0x180f99=new Date(_0x41ad1a[_0x35a54b(0x20f)])[_0x35a54b(0x209)](),_0x3335d8=_0x19b289[_0x35a54b(0x200)]['getTime']();return _0x180f99>_0x3335d8;}catch{return![];}}export async function rebuildCache(){const _0x33f411=a55_0x51ca,_0x21690b=new Date(),_0x9ea118=_0x21690b['toISOString']()[_0x33f411(0x1fb)](0x0,0xa),_0xf53e17=_0x21690b[_0x33f411(0x21c)]()['slice'](0x0,0x7),_0x49538e={'daily':{},'monthly':{},'sessions':{},'profiles':{},'lastRebuiltAt':_0x21690b[_0x33f411(0x21c)]()},_0x4047d5=await getAllSessionFiles();for(const _0x100042 of _0x4047d5){try{const _0x54d7bb=await readSessionJsonl(_0x100042);if(_0x54d7bb[_0x33f411(0x1f1)]===0x0)continue;let _0x3f50b2=0x0;const _0x3c9084={};let _0x46e0c7='';for(const _0x2b3d01 of _0x54d7bb){const _0x16d8c4=getModelFactor(_0x2b3d01[_0x33f411(0x1e8)]),_0x15c773=calculateChatUnit(_0x2b3d01[_0x33f411(0x1ec)],_0x2b3d01['outputTokens'],_0x16d8c4);_0x3f50b2+=_0x15c773;const _0x1bc8ab=_0x2b3d01['contextSignature']||_0x33f411(0x1ea);_0x3c9084[_0x1bc8ab]=_0x2b3d01[_0x33f411(0x1ec)];_0x2b3d01[_0x33f411(0x201)]>_0x46e0c7&&(_0x46e0c7=_0x2b3d01[_0x33f411(0x201)]);const _0x320a83=_0x2b3d01[_0x33f411(0x201)][_0x33f411(0x1fb)](0x0,0xa);!_0x49538e[_0x33f411(0x1fa)][_0x320a83]&&(_0x49538e[_0x33f411(0x1fa)][_0x320a83]={'totalChatUnits':0x0,'entryCount':0x0});_0x49538e[_0x33f411(0x1fa)][_0x320a83][_0x33f411(0x1f4)]+=_0x15c773,_0x49538e[_0x33f411(0x1fa)][_0x320a83]['entryCount']+=0x1;const _0x5d8fe3=_0x2b3d01[_0x33f411(0x201)][_0x33f411(0x1fb)](0x0,0x7);!_0x49538e['monthly'][_0x5d8fe3]&&(_0x49538e['monthly'][_0x5d8fe3]={'totalChatUnits':0x0,'entryCount':0x0});_0x49538e[_0x33f411(0x20b)][_0x5d8fe3][_0x33f411(0x1f4)]+=_0x15c773,_0x49538e['monthly'][_0x5d8fe3][_0x33f411(0x210)]+=0x1;const _0x4f2cce=_0x2b3d01[_0x33f411(0x1fe)]||'default';!_0x49538e[_0x33f411(0x21a)][_0x4f2cce]&&(_0x49538e[_0x33f411(0x21a)][_0x4f2cce]={'totalChatUnits':0x0,'entryCount':0x0,'lastUsedAt':'','todayChatUnits':0x0,'todayDate':_0x9ea118,'monthChatUnits':0x0,'month':_0xf53e17}),_0x49538e[_0x33f411(0x21a)][_0x4f2cce][_0x33f411(0x1f4)]+=_0x15c773,_0x49538e[_0x33f411(0x21a)][_0x4f2cce][_0x33f411(0x210)]+=0x1,_0x2b3d01[_0x33f411(0x201)]>_0x49538e[_0x33f411(0x21a)][_0x4f2cce][_0x33f411(0x20d)]&&(_0x49538e['profiles'][_0x4f2cce][_0x33f411(0x20d)]=_0x2b3d01['timestamp']),_0x320a83===_0x9ea118&&(_0x49538e[_0x33f411(0x21a)][_0x4f2cce]['todayChatUnits']+=_0x15c773),_0x5d8fe3===_0xf53e17&&(_0x49538e[_0x33f411(0x21a)][_0x4f2cce]['monthChatUnits']+=_0x15c773);}_0x49538e[_0x33f411(0x1ed)][_0x100042]={'totalChatUnits':_0x3f50b2,'latestInputTokensByContext':_0x3c9084,'createdAt':_0x54d7bb[0x0][_0x33f411(0x201)],'lastUpdatedAt':_0x46e0c7};}catch(_0x743e5a){const _0x5a0e87=await getLogger();_0x5a0e87['warn'](_0x33f411(0x1f6)+_0x100042+':',_0x743e5a instanceof Error?_0x743e5a[_0x33f411(0x208)]:String(_0x743e5a));continue;}}return cleanupOldEntries(_0x49538e),await writeStatsCache(_0x49538e),_0x49538e;}function cleanupOldEntries(_0x4cd26e){const _0x213861=a55_0x51ca,_0x52096e=new Date(),_0x20542d=new Date(_0x52096e['getTime']()-0x7*0x18*0x3c*0x3c*0x3e8);for(const _0x48600e of Object[_0x213861(0x213)](_0x4cd26e[_0x213861(0x1fa)])){new Date(_0x48600e)<_0x20542d&&delete _0x4cd26e[_0x213861(0x1fa)][_0x48600e];}const _0x157adf=new Date(_0x52096e[_0x213861(0x1f2)]()-0x1,_0x52096e[_0x213861(0x1e7)](),0x1);for(const _0x540609 of Object[_0x213861(0x213)](_0x4cd26e[_0x213861(0x20b)])){const [_0x792340,_0x1235db]=_0x540609[_0x213861(0x20e)]('-')[_0x213861(0x1ff)](Number),_0x768d11=new Date(_0x792340,_0x1235db-0x1,0x1);_0x768d11<_0x157adf&&delete _0x4cd26e[_0x213861(0x20b)][_0x540609];}const _0x513112=new Date(_0x52096e['getTime']()-0x1e*0x18*0x3c*0x3c*0x3e8);for(const [_0x2348eb,_0x56cf00]of Object[_0x213861(0x211)](_0x4cd26e[_0x213861(0x1ed)])){new Date(_0x56cf00[_0x213861(0x20f)])<_0x513112&&delete _0x4cd26e[_0x213861(0x1ed)][_0x2348eb];}}export async function getOrUpdateCache(_0x976fd){const _0x3865b1=_0x976fd?sanitizeSessionId(_0x976fd):undefined,_0x2b6f88=await readStatsCache();if(!_0x2b6f88)return rebuildCache();if(_0x3865b1){const _0x1ae5f8=await isCacheUpToDate(_0x2b6f88,_0x3865b1);if(!_0x1ae5f8)return rebuildCache();}return _0x2b6f88;}export async function getSessionCredits(_0x1a0c8a){const _0x2d4278=a55_0x51ca,_0x24b290=sanitizeSessionId(_0x1a0c8a),_0xb53ddf=await getOrUpdateCache(_0x24b290),_0x578bca=_0xb53ddf['sessions'][_0x24b290];if(!_0x578bca)return 0x0;return calculateCredits(_0x578bca[_0x2d4278(0x1f4)]);}export async function getTodayCredits(){const _0x4b8dff=a55_0x51ca,_0x4c823d=await getOrUpdateCache(),_0x1476f9=new Date()[_0x4b8dff(0x21c)]()[_0x4b8dff(0x1fb)](0x0,0xa),_0x2213f3=_0x4c823d[_0x4b8dff(0x1fa)][_0x1476f9];if(!_0x2213f3)return 0x0;return calculateCredits(_0x2213f3[_0x4b8dff(0x1f4)]);}export async function getMonthCredits(){const _0x140d3d=a55_0x51ca,_0x4a97b3=await getOrUpdateCache(),_0x3e1207=new Date()[_0x140d3d(0x21c)]()[_0x140d3d(0x1fb)](0x0,0x7),_0x177f92=_0x4a97b3['monthly'][_0x3e1207];if(!_0x177f92)return 0x0;return calculateCredits(_0x177f92['totalChatUnits']);}export async function getSessionStats(_0x224fd2){const _0x3acec5=sanitizeSessionId(_0x224fd2),_0x4eef6d=await getOrUpdateCache(_0x3acec5);return _0x4eef6d['sessions'][_0x3acec5]||null;}function getMaxLatestInputTokens(_0x92028a){const _0x16ab1a=a55_0x51ca,_0x548aef=Object['values'](_0x92028a);if(_0x548aef[_0x16ab1a(0x1f1)]===0x0)return 0x0;return Math[_0x16ab1a(0x212)](..._0x548aef);}export async function getUsageStats(_0x3429ff,_0x5bbbc9){const _0x418bcd=a55_0x51ca,_0x3d2c5c=sanitizeSessionId(_0x3429ff),_0x5a853e=await getOrUpdateCache(_0x3d2c5c),_0xadeb02=_0x5a853e[_0x418bcd(0x1ed)][_0x3d2c5c],_0x516947=new Date()[_0x418bcd(0x21c)]()[_0x418bcd(0x1fb)](0x0,0xa),_0xc579e2=new Date()[_0x418bcd(0x21c)]()[_0x418bcd(0x1fb)](0x0,0x7);if(_0x5bbbc9){const _0xde4f1a=_0x5a853e[_0x418bcd(0x21a)]?.[_0x5bbbc9],_0x46a6b5=_0xde4f1a?.[_0x418bcd(0x206)]===_0x516947?calculateCredits(_0xde4f1a[_0x418bcd(0x20a)]):0x0,_0x73a362=_0xde4f1a?.[_0x418bcd(0x207)]===_0xc579e2?calculateCredits(_0xde4f1a['monthChatUnits']):0x0;return{'sessionCredits':_0xadeb02?calculateCredits(_0xadeb02[_0x418bcd(0x1f4)]):0x0,'todayCredits':_0x46a6b5,'monthCredits':_0x73a362,'latestInputTokens':_0xadeb02?getMaxLatestInputTokens(_0xadeb02[_0x418bcd(0x1e6)]):0x0};}return{'sessionCredits':_0xadeb02?calculateCredits(_0xadeb02[_0x418bcd(0x1f4)]):0x0,'todayCredits':_0x5a853e[_0x418bcd(0x1fa)][_0x516947]?calculateCredits(_0x5a853e[_0x418bcd(0x1fa)][_0x516947][_0x418bcd(0x1f4)]):0x0,'monthCredits':_0x5a853e[_0x418bcd(0x20b)][_0xc579e2]?calculateCredits(_0x5a853e[_0x418bcd(0x20b)][_0xc579e2]['totalChatUnits']):0x0,'latestInputTokens':_0xadeb02?getMaxLatestInputTokens(_0xadeb02[_0x418bcd(0x1e6)]):0x0};}export async function getAllProfileStats(){const _0x315106=a55_0x51ca,_0x320cb7=await getOrUpdateCache(),_0x4935e4=_0x320cb7['profiles']||{};return Object[_0x315106(0x211)](_0x4935e4)['filter'](([,_0x106745])=>_0x106745&&typeof _0x106745===_0x315106(0x1e3))['map'](([_0x1c8792,_0x14773f])=>({'profile':_0x1c8792,'credits':calculateCredits(_0x14773f[_0x315106(0x1f4)]||0x0),'entryCount':_0x14773f[_0x315106(0x210)]||0x0,'lastUsedAt':_0x14773f[_0x315106(0x20d)]||''}))['sort']((_0x5a998d,_0x702ff5)=>_0x702ff5[_0x315106(0x1f3)]-_0x5a998d[_0x315106(0x1f3)]);}export async function getUsageSummary(){const _0x55a1ce=a55_0x51ca,_0x4e58f8=await getOrUpdateCache(),_0x33c6ef=_0x4e58f8['profiles']||{},_0x8f90f=new Date()[_0x55a1ce(0x21c)]()['slice'](0x0,0xa),_0x452a5e=new Date()['toISOString']()[_0x55a1ce(0x1fb)](0x0,0x7),_0xb71427=Object[_0x55a1ce(0x1f8)](_0x33c6ef)[_0x55a1ce(0x215)](_0x57f033=>_0x57f033&&typeof _0x57f033===_0x55a1ce(0x1e3)),_0x216858=_0xb71427[_0x55a1ce(0x1f9)]((_0x51f17b,_0x103b5d)=>_0x51f17b+(_0x103b5d['totalChatUnits']||0x0),0x0);return{'todayCredits':_0x4e58f8['daily'][_0x8f90f]?calculateCredits(_0x4e58f8[_0x55a1ce(0x1fa)][_0x8f90f][_0x55a1ce(0x1f4)]||0x0):0x0,'monthCredits':_0x4e58f8['monthly'][_0x452a5e]?calculateCredits(_0x4e58f8[_0x55a1ce(0x20b)][_0x452a5e][_0x55a1ce(0x1f4)]||0x0):0x0,'totalCredits':calculateCredits(_0x216858),'profileCount':_0xb71427[_0x55a1ce(0x1f1)]};}
@@ -1 +1 @@
1
- function a56_0x40be(_0xc0fe05,_0x1d3ce2){_0xc0fe05=_0xc0fe05-0x169;const _0x37603b=a56_0x3760();let _0x40bed5=_0x37603b[_0xc0fe05];return _0x40bed5;}function a56_0x3760(){const _0x46ecca=['71988tMkABB','9584940ynUcMQ','stringify','required','keys','name','106704vCdsZB','559064fdKaCu','4516650IZCyfP','properties','7uySfBz','substring','sha256','localeCompare','update','input_schema','map','5DYhQvt','20103ozIDUf','sort','digest','1XpLlxE','110986MzGVCJ'];a56_0x3760=function(){return _0x46ecca;};return a56_0x3760();}(function(_0x1570ac,_0x28f6a3){const _0x137220=a56_0x40be,_0x1a1145=_0x1570ac();while(!![]){try{const _0x32c009=parseInt(_0x137220(0x179))/0x1*(-parseInt(_0x137220(0x17a))/0x2)+-parseInt(_0x137220(0x176))/0x3+parseInt(_0x137220(0x16b))/0x4*(-parseInt(_0x137220(0x175))/0x5)+-parseInt(_0x137220(0x17b))/0x6*(parseInt(_0x137220(0x16e))/0x7)+parseInt(_0x137220(0x16a))/0x8+-parseInt(_0x137220(0x16c))/0x9+parseInt(_0x137220(0x17c))/0xa;if(_0x32c009===_0x28f6a3)break;else _0x1a1145['push'](_0x1a1145['shift']());}catch(_0x4c3a04){_0x1a1145['push'](_0x1a1145['shift']());}}}(a56_0x3760,0x3e818));import{createHash}from'crypto';import{extractModelAlias,resolveModelAlias}from'../sdk/llm/model-aliases.js';export function calculateContextSignature(_0x54ce41,_0x49ca3a,_0x2c5233,_0x35d38b){const _0x36a805=a56_0x40be,_0x4aa23e=extractModelAlias(_0x54ce41),_0x2ffcc8=resolveModelAlias(_0x4aa23e),_0x4f04f4=[..._0x49ca3a||[]]['sort'](),_0x5cac34=(_0x2c5233||[])['filter'](_0x171b89=>_0x171b89!=null)[_0x36a805(0x174)](_0x215b4e=>({'name':_0x215b4e['name'],'params':Object[_0x36a805(0x17f)](_0x215b4e[_0x36a805(0x173)]?.[_0x36a805(0x16d)]||{})[_0x36a805(0x177)](),'required':(_0x215b4e[_0x36a805(0x173)]?.[_0x36a805(0x17e)]||[])['sort']()}))[_0x36a805(0x177)]((_0x1eb08a,_0x12d4f1)=>_0x1eb08a['name'][_0x36a805(0x171)](_0x12d4f1[_0x36a805(0x169)])),_0x2974be=JSON[_0x36a805(0x17d)]({'model':_0x2ffcc8,'prompts':_0x4f04f4,'tools':_0x5cac34,'reasoning':_0x35d38b});return createHash(_0x36a805(0x170))[_0x36a805(0x172)](_0x2974be)[_0x36a805(0x178)]('hex')[_0x36a805(0x16f)](0x0,0x10);}
1
+ (function(_0x40e4e3,_0x23dba6){const _0x351180=a56_0x4357,_0x5c7c0e=_0x40e4e3();while(!![]){try{const _0x1da2c2=parseInt(_0x351180(0x14e))/0x1*(-parseInt(_0x351180(0x15f))/0x2)+parseInt(_0x351180(0x15b))/0x3*(parseInt(_0x351180(0x15e))/0x4)+-parseInt(_0x351180(0x150))/0x5*(-parseInt(_0x351180(0x159))/0x6)+-parseInt(_0x351180(0x14d))/0x7+-parseInt(_0x351180(0x151))/0x8*(parseInt(_0x351180(0x155))/0x9)+parseInt(_0x351180(0x154))/0xa*(parseInt(_0x351180(0x158))/0xb)+-parseInt(_0x351180(0x14a))/0xc;if(_0x1da2c2===_0x23dba6)break;else _0x5c7c0e['push'](_0x5c7c0e['shift']());}catch(_0x38f503){_0x5c7c0e['push'](_0x5c7c0e['shift']());}}}(a56_0xd9a9,0xb5d90));function a56_0xd9a9(){const _0x4e41c9=['94979eDwCrt','digest','23090lHrExb','24VEqzeo','name','localeCompare','23190cGDGwt','1001754zCZKeD','update','filter','1419bRIjsy','906wlDgIK','map','5496UoZaJi','keys','sort','3208KKYEuX','10raCoTK','stringify','sha256','8146764sBlXqf','substring','input_schema','1632225ifHHJw'];a56_0xd9a9=function(){return _0x4e41c9;};return a56_0xd9a9();}function a56_0x4357(_0x511a2f,_0x51dcec){_0x511a2f=_0x511a2f-0x149;const _0xd9a9ff=a56_0xd9a9();let _0x4357a1=_0xd9a9ff[_0x511a2f];return _0x4357a1;}import{createHash}from'crypto';import{extractModelAlias,resolveModelAlias}from'../sdk/llm/model-aliases.js';export function calculateContextSignature(_0x2ddb7f,_0x134de5,_0x454d1f,_0x166d49){const _0x542d83=a56_0x4357,_0x3fb392=extractModelAlias(_0x2ddb7f),_0x1d52c3=resolveModelAlias(_0x3fb392),_0x3e4a9c=[..._0x134de5||[]][_0x542d83(0x15d)](),_0x129277=(_0x454d1f||[])[_0x542d83(0x157)](_0x1a69f3=>_0x1a69f3!=null)[_0x542d83(0x15a)](_0x1abaa8=>({'name':_0x1abaa8[_0x542d83(0x152)],'params':Object[_0x542d83(0x15c)](_0x1abaa8[_0x542d83(0x14c)]?.['properties']||{})['sort'](),'required':(_0x1abaa8[_0x542d83(0x14c)]?.['required']||[])[_0x542d83(0x15d)]()}))['sort']((_0x34ccef,_0x293fbd)=>_0x34ccef['name'][_0x542d83(0x153)](_0x293fbd[_0x542d83(0x152)])),_0x1300ce=JSON[_0x542d83(0x160)]({'model':_0x1d52c3,'prompts':_0x3e4a9c,'tools':_0x129277,'reasoning':_0x166d49});return createHash(_0x542d83(0x149))[_0x542d83(0x156)](_0x1300ce)[_0x542d83(0x14f)]('hex')[_0x542d83(0x14b)](0x0,0x10);}
@@ -1 +1 @@
1
- function a57_0x8ff2(){const _0x25be4e=['59844870crpFje','text','filter','2772720fQgUnd','slice','138264bTFJoa','push','5ACHRIJ','8805534mCiueN','\x0a</tool_use>','name','map','54TCXQnr','is_error','No\x20user\x20message\x20found\x20in\x20request','[assistant]','user','5926977TxnWBr','tool_result','82044nLjJQZ','type','unknown','assistant','message.content\x20must\x20be\x20a\x20string\x20or\x20array,\x20got:\x20','length','[tool_result\x20tool_use_id=\x22','pop','join','role','string','\x22\x20id=\x22','237FGheRm','11NVITfm','input','\x22>\x0a','420732HoKxTB','content','\x0a\x0a[chat\x20history\x20end]','isArray'];a57_0x8ff2=function(){return _0x25be4e;};return a57_0x8ff2();}(function(_0x5cb9ee,_0x3c6aaf){const _0x2bf84f=a57_0x32a5,_0x36e138=_0x5cb9ee();while(!![]){try{const _0x28fdf1=parseInt(_0x2bf84f(0x1a1))/0x1+-parseInt(_0x2bf84f(0x1a8))/0x2+parseInt(_0x2bf84f(0x1c4))/0x3*(-parseInt(_0x2bf84f(0x1b8))/0x4)+parseInt(_0x2bf84f(0x1ac))/0x5*(-parseInt(_0x2bf84f(0x1ad))/0x6)+-parseInt(_0x2bf84f(0x1b6))/0x7+parseInt(_0x2bf84f(0x1aa))/0x8*(-parseInt(_0x2bf84f(0x1b1))/0x9)+-parseInt(_0x2bf84f(0x1a5))/0xa*(-parseInt(_0x2bf84f(0x1c5))/0xb);if(_0x28fdf1===_0x3c6aaf)break;else _0x36e138['push'](_0x36e138['shift']());}catch(_0x4f1567){_0x36e138['push'](_0x36e138['shift']());}}}(a57_0x8ff2,0xef60c));export function formatConversationHistory(_0xe28cfc){const _0x2d3de2=a57_0x32a5;if(!_0xe28cfc||!Array[_0x2d3de2(0x1a4)](_0xe28cfc))return'';const _0x2b5185=_0xe28cfc['filter'](_0x80adad=>_0x80adad!=null)[_0x2d3de2(0x1b0)](_0x311bd5=>{const _0x5072dc=_0x2d3de2,_0x1f872b=[],_0x2bdc10=[];if(_0x311bd5[_0x5072dc(0x1a2)]!=null&&Array['isArray'](_0x311bd5[_0x5072dc(0x1a2)]))for(const _0x24069c of _0x311bd5[_0x5072dc(0x1a2)]){if(!_0x24069c)continue;if(_0x24069c[_0x5072dc(0x1b9)]===_0x5072dc(0x1a6)&&_0x24069c[_0x5072dc(0x1a6)])_0x1f872b[_0x5072dc(0x1ab)](_0x24069c[_0x5072dc(0x1a6)]);else{if(_0x24069c[_0x5072dc(0x1b9)]==='tool_use'&&_0x24069c[_0x5072dc(0x1af)]){const _0x36a0e0=_0x24069c[_0x5072dc(0x19f)]?JSON['stringify'](_0x24069c[_0x5072dc(0x19f)]):'{}';_0x2bdc10['push']('<tool_use\x20name=\x22'+_0x24069c[_0x5072dc(0x1af)]+_0x5072dc(0x1c3)+(_0x24069c['id']||_0x5072dc(0x1ba))+_0x5072dc(0x1a0)+_0x36a0e0+_0x5072dc(0x1ae));}else{if(_0x24069c['type']===_0x5072dc(0x1b7)&&_0x24069c['tool_use_id']){let _0x1ed0ff='';if(typeof _0x24069c['content']==='string')_0x1ed0ff=_0x24069c[_0x5072dc(0x1a2)];else _0x24069c['content']!=null&&Array[_0x5072dc(0x1a4)](_0x24069c['content'])&&(_0x1ed0ff=_0x24069c[_0x5072dc(0x1a2)]['filter'](_0xd5733f=>_0xd5733f&&_0xd5733f['type']===_0x5072dc(0x1a6)&&_0xd5733f['text'])[_0x5072dc(0x1b0)](_0x2a3e93=>_0x2a3e93[_0x5072dc(0x1a6)])['join']('\x0a'));const _0x4c77d2=_0x24069c[_0x5072dc(0x1b2)]?'\x20error=\x22true\x22':'';_0x2bdc10[_0x5072dc(0x1ab)](_0x5072dc(0x1be)+_0x24069c['tool_use_id']+'\x22'+_0x4c77d2+']\x0a'+_0x1ed0ff);}}}}else typeof _0x311bd5[_0x5072dc(0x1a2)]==='string'&&_0x311bd5[_0x5072dc(0x1a2)]&&_0x1f872b[_0x5072dc(0x1ab)](_0x311bd5['content']);if(_0x1f872b['length']===0x0&&_0x2bdc10[_0x5072dc(0x1bd)]===0x0)return null;const _0x3905b9=_0x311bd5[_0x5072dc(0x1c1)]===_0x5072dc(0x1b5)?'[user]':_0x5072dc(0x1b4),_0xc3a963=[];return(_0x1f872b[_0x5072dc(0x1bd)]>0x0||_0x311bd5['role']===_0x5072dc(0x1bb)&&_0x2bdc10[_0x5072dc(0x1bd)]>0x0)&&_0xc3a963[_0x5072dc(0x1ab)](_0x3905b9+'\x0a'+_0x1f872b['join']('\x0a\x0a')),_0xc3a963[_0x5072dc(0x1ab)](..._0x2bdc10),_0xc3a963[_0x5072dc(0x1c0)]('\x0a\x0a');})[_0x2d3de2(0x1a7)](_0xa570ef=>_0xa570ef!=null&&_0xa570ef[_0x2d3de2(0x1bd)]>0x0)[_0x2d3de2(0x1c0)]('\x0a\x0a');return _0x2b5185?_0x2b5185+_0x2d3de2(0x1a3):'';}export function calculateConversationDelta(_0x44b778,_0x3ee02a){const _0x53f722=a57_0x32a5;if(_0x3ee02a[_0x53f722(0x1bd)]===0x0)return _0x44b778;const _0x1c5961=_0x3ee02a[_0x53f722(0x1bd)];return _0x44b778[_0x53f722(0x1a9)](_0x1c5961);}function a57_0x32a5(_0x23f517,_0x5bcfb0){_0x23f517=_0x23f517-0x19f;const _0x8ff20a=a57_0x8ff2();let _0x32a500=_0x8ff20a[_0x23f517];return _0x32a500;}export function extractLastUserMessage(_0xa3036f,_0x4df8e4){const _0x4093b0=a57_0x32a5;let _0x2a1072=_0xa3036f[_0x4093b0(0x1a7)](_0x317c83=>_0x317c83[_0x4093b0(0x1c1)]===_0x4093b0(0x1b5))['pop']();if(!_0x2a1072){_0x2a1072=_0x4df8e4[_0x4093b0(0x1a7)](_0x1038ef=>_0x1038ef[_0x4093b0(0x1c1)]===_0x4093b0(0x1b5))[_0x4093b0(0x1bf)]();if(!_0x2a1072)return{'message':null,'text':null,'error':_0x4093b0(0x1b3)};}if(typeof _0x2a1072[_0x4093b0(0x1a2)]===_0x4093b0(0x1c2))return{'message':_0x2a1072,'text':_0x2a1072['content'],'error':null};if(_0x2a1072[_0x4093b0(0x1a2)]!=null&&Array['isArray'](_0x2a1072[_0x4093b0(0x1a2)])){const _0x5e5a9a=_0x2a1072[_0x4093b0(0x1a2)]['filter'](_0x15fac7=>_0x15fac7&&_0x15fac7[_0x4093b0(0x1b9)]===_0x4093b0(0x1a6)&&_0x15fac7[_0x4093b0(0x1a6)])[_0x4093b0(0x1b0)](_0x20da1e=>_0x20da1e['text'])[_0x4093b0(0x1c0)]('\x0a');return{'message':_0x2a1072,'text':_0x5e5a9a,'error':null};}return{'message':_0x2a1072,'text':null,'error':_0x4093b0(0x1bc)+typeof _0x2a1072[_0x4093b0(0x1a2)]+'\x20'+_0x2a1072[_0x4093b0(0x1a2)]};}
1
+ (function(_0x3c21da,_0x130728){const _0x36ead6=a57_0x2643,_0x43f062=_0x3c21da();while(!![]){try{const _0x39283e=-parseInt(_0x36ead6(0xa6))/0x1+-parseInt(_0x36ead6(0x81))/0x2*(-parseInt(_0x36ead6(0xa5))/0x3)+parseInt(_0x36ead6(0x8c))/0x4+parseInt(_0x36ead6(0x9f))/0x5*(parseInt(_0x36ead6(0x93))/0x6)+parseInt(_0x36ead6(0x92))/0x7+parseInt(_0x36ead6(0x84))/0x8*(-parseInt(_0x36ead6(0x8f))/0x9)+parseInt(_0x36ead6(0x9b))/0xa*(-parseInt(_0x36ead6(0x98))/0xb);if(_0x39283e===_0x130728)break;else _0x43f062['push'](_0x43f062['shift']());}catch(_0x3f6744){_0x43f062['push'](_0x43f062['shift']());}}}(a57_0x28f0,0x4881a));export function formatConversationHistory(_0x5afa1c){const _0x5ef7a5=a57_0x2643;if(!_0x5afa1c||!Array[_0x5ef7a5(0x96)](_0x5afa1c))return'';const _0x2361c=_0x5afa1c['filter'](_0x3f5f7a=>_0x3f5f7a!=null)[_0x5ef7a5(0xa2)](_0x2e4601=>{const _0x1f3fcb=_0x5ef7a5,_0x5cd879=[],_0x9fc07a=[];if(_0x2e4601['content']!=null&&Array[_0x1f3fcb(0x96)](_0x2e4601[_0x1f3fcb(0xa8)]))for(const _0x3e607a of _0x2e4601[_0x1f3fcb(0xa8)]){if(!_0x3e607a)continue;if(_0x3e607a[_0x1f3fcb(0x90)]===_0x1f3fcb(0x9a)&&_0x3e607a[_0x1f3fcb(0x9a)])_0x5cd879[_0x1f3fcb(0x9d)](_0x3e607a[_0x1f3fcb(0x9a)]);else{if(_0x3e607a['type']===_0x1f3fcb(0x97)&&_0x3e607a[_0x1f3fcb(0x89)]){const _0x5ea739=_0x3e607a[_0x1f3fcb(0x82)]?JSON['stringify'](_0x3e607a[_0x1f3fcb(0x82)]):'{}';_0x9fc07a[_0x1f3fcb(0x9d)]('<tool_use\x20name=\x22'+_0x3e607a[_0x1f3fcb(0x89)]+_0x1f3fcb(0xa4)+(_0x3e607a['id']||'unknown')+_0x1f3fcb(0x9e)+_0x5ea739+_0x1f3fcb(0x91));}else{if(_0x3e607a['type']===_0x1f3fcb(0x8d)&&_0x3e607a[_0x1f3fcb(0xa3)]){let _0x466872='';if(typeof _0x3e607a[_0x1f3fcb(0xa8)]===_0x1f3fcb(0x88))_0x466872=_0x3e607a[_0x1f3fcb(0xa8)];else _0x3e607a[_0x1f3fcb(0xa8)]!=null&&Array[_0x1f3fcb(0x96)](_0x3e607a[_0x1f3fcb(0xa8)])&&(_0x466872=_0x3e607a['content'][_0x1f3fcb(0x9c)](_0x46520a=>_0x46520a&&_0x46520a[_0x1f3fcb(0x90)]===_0x1f3fcb(0x9a)&&_0x46520a['text'])['map'](_0x3e0c14=>_0x3e0c14[_0x1f3fcb(0x9a)])[_0x1f3fcb(0x8a)]('\x0a'));const _0x6299ad=_0x3e607a[_0x1f3fcb(0x99)]?_0x1f3fcb(0x94):'';_0x9fc07a['push'](_0x1f3fcb(0x85)+_0x3e607a[_0x1f3fcb(0xa3)]+'\x22'+_0x6299ad+']\x0a'+_0x466872);}}}}else typeof _0x2e4601[_0x1f3fcb(0xa8)]==='string'&&_0x2e4601[_0x1f3fcb(0xa8)]&&_0x5cd879[_0x1f3fcb(0x9d)](_0x2e4601[_0x1f3fcb(0xa8)]);if(_0x5cd879[_0x1f3fcb(0xa1)]===0x0&&_0x9fc07a[_0x1f3fcb(0xa1)]===0x0)return null;const _0x590ae3=_0x2e4601[_0x1f3fcb(0x95)]==='user'?'[user]':_0x1f3fcb(0xa7),_0x17c451=[];return(_0x5cd879['length']>0x0||_0x2e4601[_0x1f3fcb(0x95)]===_0x1f3fcb(0x8e)&&_0x9fc07a[_0x1f3fcb(0xa1)]>0x0)&&_0x17c451[_0x1f3fcb(0x9d)](_0x590ae3+'\x0a'+_0x5cd879[_0x1f3fcb(0x8a)]('\x0a\x0a')),_0x17c451['push'](..._0x9fc07a),_0x17c451[_0x1f3fcb(0x8a)]('\x0a\x0a');})[_0x5ef7a5(0x9c)](_0x33014a=>_0x33014a!=null&&_0x33014a[_0x5ef7a5(0xa1)]>0x0)[_0x5ef7a5(0x8a)]('\x0a\x0a');return _0x2361c?_0x2361c+_0x5ef7a5(0x83):'';}export function calculateConversationDelta(_0x561573,_0x301d9f){const _0x574b2f=a57_0x2643;if(_0x301d9f[_0x574b2f(0xa1)]===0x0)return _0x561573;const _0x26aa34=_0x301d9f[_0x574b2f(0xa1)];return _0x561573[_0x574b2f(0xa0)](_0x26aa34);}function a57_0x28f0(){const _0x9acd09=['3925962WHxSaW','type','\x0a</tool_use>','4069884aDGqeC','4476meHsYN','\x20error=\x22true\x22','role','isArray','tool_use','924wTCSXS','is_error','text','48270bEDtLX','filter','push','\x22>\x0a','3965movfqg','slice','length','map','tool_use_id','\x22\x20id=\x22','6378lqKPVC','501785bCKvgq','[assistant]','content','82dWtDqv','input','\x0a\x0a[chat\x20history\x20end]','8UrnCGb','[tool_result\x20tool_use_id=\x22','message.content\x20must\x20be\x20a\x20string\x20or\x20array,\x20got:\x20','pop','string','name','join','user','1521204cYEFrI','tool_result','assistant'];a57_0x28f0=function(){return _0x9acd09;};return a57_0x28f0();}function a57_0x2643(_0x5f5a5c,_0x2c59a5){_0x5f5a5c=_0x5f5a5c-0x81;const _0x28f0bd=a57_0x28f0();let _0x2643ee=_0x28f0bd[_0x5f5a5c];return _0x2643ee;}export function extractLastUserMessage(_0x16379c,_0x2ad5d2){const _0x37dc50=a57_0x2643;let _0x358fe4=_0x16379c['filter'](_0x5241e1=>_0x5241e1['role']==='user')[_0x37dc50(0x87)]();if(!_0x358fe4){_0x358fe4=_0x2ad5d2[_0x37dc50(0x9c)](_0x590ced=>_0x590ced[_0x37dc50(0x95)]===_0x37dc50(0x8b))[_0x37dc50(0x87)]();if(!_0x358fe4)return{'message':null,'text':null,'error':'No\x20user\x20message\x20found\x20in\x20request'};}if(typeof _0x358fe4[_0x37dc50(0xa8)]===_0x37dc50(0x88))return{'message':_0x358fe4,'text':_0x358fe4[_0x37dc50(0xa8)],'error':null};if(_0x358fe4[_0x37dc50(0xa8)]!=null&&Array['isArray'](_0x358fe4[_0x37dc50(0xa8)])){const _0x1805a8=_0x358fe4[_0x37dc50(0xa8)][_0x37dc50(0x9c)](_0x420e70=>_0x420e70&&_0x420e70['type']==='text'&&_0x420e70['text'])['map'](_0x5f5114=>_0x5f5114[_0x37dc50(0x9a)])[_0x37dc50(0x8a)]('\x0a');return{'message':_0x358fe4,'text':_0x1805a8,'error':null};}return{'message':_0x358fe4,'text':null,'error':_0x37dc50(0x86)+typeof _0x358fe4[_0x37dc50(0xa8)]+'\x20'+_0x358fe4[_0x37dc50(0xa8)]};}
@@ -1 +1 @@
1
- const a58_0x507b01=a58_0x24ad;(function(_0xa555a8,_0x10330a){const _0xba910f=a58_0x24ad,_0xd2c1f0=_0xa555a8();while(!![]){try{const _0x2b1115=parseInt(_0xba910f(0xfd))/0x1*(-parseInt(_0xba910f(0x10a))/0x2)+-parseInt(_0xba910f(0xe0))/0x3*(parseInt(_0xba910f(0xb0))/0x4)+-parseInt(_0xba910f(0xfe))/0x5*(parseInt(_0xba910f(0xb4))/0x6)+-parseInt(_0xba910f(0xcb))/0x7+parseInt(_0xba910f(0xc1))/0x8*(parseInt(_0xba910f(0xe1))/0x9)+-parseInt(_0xba910f(0x108))/0xa+parseInt(_0xba910f(0xfc))/0xb;if(_0x2b1115===_0x10330a)break;else _0xd2c1f0['push'](_0xd2c1f0['shift']());}catch(_0x1eda29){_0xd2c1f0['push'](_0xd2c1f0['shift']());}}}(a58_0x1337,0xf1af4));import a58_0x13c5ec from'fastify';import a58_0x43845f from'@fastify/cors';import{SSEUsageTracker}from'./sse-usage-parser.js';import{appendUsageEntry}from'./claude-usage-tracker.js';import{getVersion}from'../core/version.js';const DEFAULT_TIMEOUT_MS=0x5*0x3c*0x3e8,TDX_SYSTEM_PROMPT=a58_0x507b01(0xd0);function extractSessionUUID(_0x2c6569){const _0x4ae07c=a58_0x507b01,_0x11b5eb=_0x2c6569[_0x4ae07c(0x9c)](/_session_([a-f0-9-]+)$/i);if(_0x11b5eb)return _0x11b5eb[0x1];return _0x2c6569;}export function injectSystemPrompt(_0x15b958,_0x171f2d){const _0x15edf7=a58_0x507b01,_0x53b39a=_0x15b958[_0x15edf7(0x109)];if(!_0x53b39a)return{..._0x15b958,'system':_0x171f2d};if(typeof _0x53b39a==='string')return{..._0x15b958,'system':_0x171f2d+'\x0a\x0a'+_0x53b39a};if(Array[_0x15edf7(0xf0)](_0x53b39a)){const _0x441922={'type':_0x15edf7(0x104),'text':_0x171f2d};return{..._0x15b958,'system':[_0x441922,..._0x53b39a]};}return _0x15b958;}function a58_0x1337(){const _0x576181=['llmProxyUrl','[PASSTHROUGH]\x20Usage:\x20input=','[PASSTHROUGH]\x20','buildForwardHeaders','messages','headers','body','port','Forwarding\x20to:\x20','Failed\x20to\x20connect\x20to\x20TD\x20LLM\x20Proxy:\x20','3PEkLZD','17637813aIRAYd','Request\x20to\x20TD\x20LLM\x20Proxy\x20timed\x20out\x20after\x20','application/json','entries','code','model','default','tdx/','config','header','writeHead','host','url','name','haiku','isArray','/v1/messages','setupJsonParser','register','http://127.0.0.1:','send','length','TimeoutError','write','handleMessages','post','anthropic-version','45698499LfSEuI','11OdVqRQ','1095DgVHIk','statusText','server','authorization','timeoutMs','cache_read_input_tokens','text','127.0.0.1','Pass-through\x20proxy\x20server\x20started\x20on\x20port\x20','timeout','7098030CqlVdj','system','206702tKfNce','Error\x20body:\x20','TD1\x20','get','stream_error','parse','handleCountTokens','string','read','debug','inputTokens','transfer-encoding','outputTokens','/v1/messages/count_tokens','text/event-stream','cache_creation_input_tokens','User-Agent','content-length','TD\x20LLM\x20Pass-through\x20Proxy\x20Server','addContentTypeParser','X-TD-Client','match','api_error','x-api-key','Unknown\x20error','status','listen','getReader','info','user-agent','apiKey','[PASSTHROUGH]\x20Failed\x20to\x20forward\x20count_tokens\x20request:','setupMiddleware','OPTIONS','x-td-','GET','[PASSTHROUGH]\x20Failed\x20to\x20forward\x20request:','getUsage','[PASSTHROUGH\x20PROXY\x20ERROR]:',',\x20cache_create=','SKIP_HEADERS','1722860lqZQPk','startsWith','has','POST','52872IjIuCT','error','timeout_error','stop','processChunk','[PASSTHROUGH]\x20Stream\x20error:','stringify','/health','X-TD-Client-Version','message',',\x20model=','stream','start','8MamXgj','method','logger','unknown','logUsage','cacheReadInputTokens','Authorization','[PASSTHROUGH]\x20Failed\x20to\x20log\x20usage:','decode','user_id','6419133VwOOvS','usage','end','raw','profile','You\x20are\x20`tdx\x20claude`,\x20an\x20extension\x20of\x20Claude\x20Code\x20with\x20tdx\x20CLI\x20tools\x20(https://tdx.treasuredata.com/)\x20and\x20skills\x20for\x20Treasure\x20Data\x20and\x20CDP.\x0a\x0aFor\x20Treasure\x20Data\x20tasks,\x20use\x20these\x20skills:\x0a\x0a|\x20Task\x20|\x20Skill\x20|\x0a|------|-------|\x0a|\x20tdx\x20CLI\x20operations\x20(databases,\x20tables,\x20queries)\x20|\x20tdx-skills:tdx-basic\x20|\x0a|\x20CDP\x20parent\x20segments\x20(YAML\x20config)\x20|\x20tdx-skills:parent-segment\x20|\x0a|\x20CDP\x20child\x20segments\x20(rules,\x20activations)\x20|\x20tdx-skills:segment\x20|\x0a|\x20Validate\x20segment\x20YAML\x20|\x20tdx-skills:validate-segment\x20|\x0a|\x20CDP\x20journeys\x20(stages,\x20steps)\x20|\x20tdx-skills:journey\x20|\x0a|\x20Validate\x20journey\x20YAML\x20|\x20tdx-skills:validate-journey\x20|\x0a|\x20Configure\x20activations\x20|\x20tdx-skills:connector-config\x20|\x0a|\x20Build\x20LLM\x20agents\x20|\x20tdx-skills:agent\x20|\x0a|\x20Write\x20agent\x20system\x20prompts\x20|\x20tdx-skills:agent-prompt\x20|\x0a|\x20TD\x20Trino\x20SQL\x20queries\x20|\x20sql-skills:trino\x20|\x0a|\x20TD\x20Hive\x20SQL\x20queries\x20|\x20sql-skills:hive\x20|\x0a|\x20Time\x20filtering\x20(td_interval,\x20partition\x20pruning)\x20|\x20sql-skills:time-filtering\x20|\x0a|\x20Optimize\x20slow\x20Trino\x20queries\x20|\x20sql-skills:trino-optimizer\x20|\x0a|\x20Convert\x20Trino\x20to\x20Hive\x20(memory\x20errors)\x20|\x20sql-skills:trino-to-hive-migration\x20|\x0a|\x20Treasure\x20Workflow\x20(.dig\x20files)\x20|\x20workflow-skills:digdag\x20|\x0a|\x20Debug/manage\x20workflows\x20|\x20workflow-skills:workflow-management\x20|\x0a|\x20dbt\x20with\x20TD\x20Trino\x20|\x20workflow-skills:dbt\x20|\x0a|\x20JavaScript\x20SDK\x20(browser\x20tracking)\x20|\x20sdk-skills:javascript\x20|\x0a|\x20Python\x20SDK\x20(pytd,\x20pandas)\x20|\x20sdk-skills:python\x20|','setupRoutes','join','keep-alive','Pass-through\x20proxy\x20server\x20stopped','Content-Type'];a58_0x1337=function(){return _0x576181;};return a58_0x1337();}function a58_0x24ad(_0x5608b8,_0xc1560){_0x5608b8=_0x5608b8-0x8e;const _0x1337b2=a58_0x1337();let _0x24ad5a=_0x1337b2[_0x5608b8];return _0x24ad5a;}export function shouldInjectSystemPrompt(_0x27e76f){const _0x5ca06d=a58_0x507b01;return!_0x27e76f['toLowerCase']()['includes'](_0x5ca06d(0xef));}export class PassThroughProxyServer{[a58_0x507b01(0x100)];['config'];[a58_0x507b01(0xc3)];constructor(_0x312de5){const _0x352fd9=a58_0x507b01;this['config']=_0x312de5,this[_0x352fd9(0xc3)]=_0x312de5[_0x352fd9(0xc3)],this['server']=a58_0x13c5ec({'logger':![],'bodyLimit':0x40*0x400*0x400}),this[_0x352fd9(0xf2)](),this[_0x352fd9(0xa7)](),this[_0x352fd9(0xd1)]();}['setupJsonParser'](){const _0x55dc14=a58_0x507b01;this[_0x55dc14(0x100)][_0x55dc14(0x9a)](_0x55dc14(0xe3),{'parseAs':'string'},(_0x47b595,_0x446acb,_0x36bae9)=>{const _0x47e55a=_0x55dc14;try{const _0xcbe554=JSON[_0x47e55a(0x10f)](_0x446acb);_0x36bae9(null,_0xcbe554);}catch(_0x4167d5){_0x36bae9(_0x4167d5,undefined);}});}[a58_0x507b01(0xa7)](){const _0x4c593f=a58_0x507b01;this[_0x4c593f(0x100)][_0x4c593f(0xf3)](a58_0x43845f,{'origin':!![],'methods':[_0x4c593f(0xaa),_0x4c593f(0xb3),_0x4c593f(0xa8)],'allowedHeaders':[_0x4c593f(0xd5),_0x4c593f(0xc7),_0x4c593f(0xfb),_0x4c593f(0x9e)]}),this['server']['setErrorHandler']((_0x58bb6b,_0x4f71ed,_0x4265f6)=>{const _0x322cb2=_0x4c593f,_0x204b92=_0x58bb6b instanceof Error?_0x58bb6b[_0x322cb2(0xbd)]:_0x322cb2(0x9f);this['logger'][_0x322cb2(0xb5)](_0x322cb2(0xad),_0x58bb6b),_0x4265f6[_0x322cb2(0xe5)](0x1f4)['send']({'type':_0x322cb2(0xb5),'error':{'type':_0x322cb2(0x9d),'message':_0x204b92}});});}[a58_0x507b01(0xd1)](){const _0x1ae0db=a58_0x507b01;this[_0x1ae0db(0x100)][_0x1ae0db(0x10d)](_0x1ae0db(0xbb),async()=>{const _0x122ca7=_0x1ae0db;return{'status':'ok','message':_0x122ca7(0x99)};}),this[_0x1ae0db(0x100)]['post']('/v1/messages',async(_0x3c3c49,_0x29e088)=>{const _0x4a99dd=_0x1ae0db;return this[_0x4a99dd(0xf9)](_0x3c3c49,_0x29e088);}),this[_0x1ae0db(0x100)][_0x1ae0db(0xfa)](_0x1ae0db(0x94),async(_0x4fb106,_0x3ed966)=>{const _0x116591=_0x1ae0db;return this[_0x116591(0x110)](_0x4fb106,_0x3ed966);});}static [a58_0x507b01(0xaf)]=new Set([a58_0x507b01(0xec),'connection',a58_0x507b01(0x98),a58_0x507b01(0x92),a58_0x507b01(0x101),a58_0x507b01(0x9e),a58_0x507b01(0xa4)]);[a58_0x507b01(0xd9)](_0x15aa9c){const _0x698df4=a58_0x507b01,_0x282ae2={};for(const [_0x4f2e88,_0x4be134]of Object[_0x698df4(0xe4)](_0x15aa9c[_0x698df4(0xdb)])){const _0x4f2f7e=_0x4f2e88['toLowerCase']();if(PassThroughProxyServer[_0x698df4(0xaf)][_0x698df4(0xb2)](_0x4f2f7e))continue;if(_0x4f2f7e[_0x698df4(0xb1)](_0x698df4(0xa9)))continue;if(typeof _0x4be134===_0x698df4(0x8e))_0x282ae2[_0x4f2e88]=_0x4be134;else Array[_0x698df4(0xf0)](_0x4be134)&&(_0x282ae2[_0x4f2e88]=_0x4be134[_0x698df4(0xd2)](',\x20'));}const _0x42e00d=getVersion();return _0x282ae2[_0x698df4(0xc7)]=_0x698df4(0x10c)+this['config'][_0x698df4(0xa5)],_0x282ae2[_0x698df4(0x97)]=_0x698df4(0xe8)+_0x42e00d,_0x282ae2[_0x698df4(0x9b)]='tdx',_0x282ae2[_0x698df4(0xbc)]=_0x42e00d,_0x282ae2;}async[a58_0x507b01(0xf9)](_0x519934,_0x34ca2e){const _0x319f4d=a58_0x507b01,_0x55dfed=_0x519934[_0x319f4d(0xdc)],_0x36bdd2=_0x55dfed[_0x319f4d(0xbf)]!==![],_0x513025=_0x55dfed['metadata'],_0x57b13a=_0x513025?.[_0x319f4d(0xca)]||_0x319f4d(0xe7),_0xfca24e=extractSessionUUID(_0x57b13a),_0x9a3e1=_0x55dfed[_0x319f4d(0xe6)]||_0x319f4d(0xc4),_0x4543c9=shouldInjectSystemPrompt(_0x9a3e1)?injectSystemPrompt(_0x55dfed,TDX_SYSTEM_PROMPT):_0x55dfed,_0x930b6a=JSON[_0x319f4d(0xba)](_0x4543c9),_0x299411=Array[_0x319f4d(0xf0)](_0x55dfed[_0x319f4d(0xda)])?_0x55dfed[_0x319f4d(0xda)][_0x319f4d(0xf6)]:0x0;this['logger']['info'](_0x319f4d(0xd8)+_0x519934[_0x319f4d(0xc2)]+'\x20'+_0x519934[_0x319f4d(0xed)]+':\x20messages='+_0x299411+_0x319f4d(0xbe)+_0x9a3e1+',\x20stream='+_0x36bdd2);const _0x3d321a=this['config']['llmProxyUrl']+_0x319f4d(0xf1),_0x272e4e=this['buildForwardHeaders'](_0x519934);this['logger'][_0x319f4d(0x90)](_0x319f4d(0xde)+_0x3d321a);const _0x571074=this[_0x319f4d(0xe9)][_0x319f4d(0x102)]||DEFAULT_TIMEOUT_MS;try{const _0x53301c=await fetch(_0x3d321a,{'method':_0x319f4d(0xb3),'headers':_0x272e4e,'body':_0x930b6a,'signal':AbortSignal[_0x319f4d(0x107)](_0x571074)});if(!_0x53301c['ok']){const _0x4254ff=await _0x53301c[_0x319f4d(0x104)]();return this[_0x319f4d(0xc3)]['error']('[PASSTHROUGH]\x20Upstream\x20error:\x20'+_0x53301c['status']+'\x20'+_0x53301c[_0x319f4d(0xff)]),this[_0x319f4d(0xc3)]['debug'](_0x319f4d(0x10b)+_0x4254ff),_0x34ca2e[_0x319f4d(0xe5)](_0x53301c[_0x319f4d(0xa0)]),_0x34ca2e[_0x319f4d(0xea)](_0x319f4d(0xd5),_0x53301c['headers'][_0x319f4d(0x10d)](_0x319f4d(0xd5))||_0x319f4d(0xe3)),_0x34ca2e['send'](_0x4254ff);}if(_0x36bdd2&&_0x53301c[_0x319f4d(0xdc)])await this['handleStreamingResponse'](_0x53301c[_0x319f4d(0xdc)],_0x34ca2e,_0xfca24e,_0x9a3e1);else{const _0x4a7c4b=await _0x53301c[_0x319f4d(0x104)]();_0x34ca2e[_0x319f4d(0xea)](_0x319f4d(0xd5),_0x53301c['headers'][_0x319f4d(0x10d)]('Content-Type')||'application/json');try{const _0x531c62=JSON[_0x319f4d(0x10f)](_0x4a7c4b);_0x531c62['usage']&&await this[_0x319f4d(0xc5)](_0xfca24e,_0x9a3e1,_0x531c62[_0x319f4d(0xcc)]['input_tokens']||0x0,_0x531c62['usage']['output_tokens']||0x0,_0x531c62['usage'][_0x319f4d(0x96)],_0x531c62[_0x319f4d(0xcc)][_0x319f4d(0x103)]);}catch{}return _0x34ca2e[_0x319f4d(0xf5)](_0x4a7c4b);}}catch(_0x42d852){const _0x12cc37=_0x42d852 instanceof Error?_0x42d852['message']:'Unknown\x20error',_0x956d48=_0x42d852 instanceof Error&&_0x42d852[_0x319f4d(0xee)]==='TimeoutError';this[_0x319f4d(0xc3)][_0x319f4d(0xb5)](_0x319f4d(0xab),_0x42d852),_0x34ca2e[_0x319f4d(0xe5)](_0x956d48?0x1f8:0x1f7)[_0x319f4d(0xf5)]({'type':_0x319f4d(0xb5),'error':{'type':_0x956d48?_0x319f4d(0xb6):_0x319f4d(0x9d),'message':_0x956d48?_0x319f4d(0xe2)+_0x571074+'ms':_0x319f4d(0xdf)+_0x12cc37}});}}async['handleStreamingResponse'](_0x3436c1,_0x33b3a0,_0x1be55c,_0x381dc8){const _0x367f80=a58_0x507b01;_0x33b3a0[_0x367f80(0xce)][_0x367f80(0xeb)](0xc8,{'Content-Type':_0x367f80(0x95),'Cache-Control':'no-cache','Connection':_0x367f80(0xd3)});const _0x7d7cd7=new SSEUsageTracker(),_0x4ee5b3=_0x3436c1[_0x367f80(0xa2)](),_0x288732=new TextDecoder();try{while(!![]){const {done:_0x647180,value:_0x317110}=await _0x4ee5b3[_0x367f80(0x8f)]();if(_0x647180)break;const _0x3ca2e6=_0x288732[_0x367f80(0xc9)](_0x317110,{'stream':!![]});_0x7d7cd7[_0x367f80(0xb8)](_0x3ca2e6),_0x33b3a0['raw'][_0x367f80(0xf8)](_0x3ca2e6);}const _0x4df338=_0x7d7cd7[_0x367f80(0xac)]();(_0x4df338[_0x367f80(0x91)]>0x0||_0x4df338[_0x367f80(0x93)]>0x0)&&await this[_0x367f80(0xc5)](_0x1be55c,_0x381dc8,_0x4df338['inputTokens'],_0x4df338[_0x367f80(0x93)],_0x4df338['cacheCreationInputTokens'],_0x4df338[_0x367f80(0xc6)]);}catch(_0x4c58ee){this[_0x367f80(0xc3)]['error'](_0x367f80(0xb9),_0x4c58ee);const _0x10a0ba='event:\x20error\x0adata:\x20'+JSON[_0x367f80(0xba)]({'type':_0x367f80(0xb5),'error':{'type':_0x367f80(0x10e),'message':'Stream\x20interrupted'}})+'\x0a\x0a';_0x33b3a0['raw'][_0x367f80(0xf8)](_0x10a0ba);}finally{_0x33b3a0[_0x367f80(0xce)][_0x367f80(0xcd)]();}}async[a58_0x507b01(0x110)](_0x1b94a7,_0x2dfd39){const _0x446638=a58_0x507b01,_0x18624a=_0x1b94a7[_0x446638(0xdc)],_0x3bd025=this[_0x446638(0xe9)][_0x446638(0xd6)]+'/v1/messages/count_tokens',_0xc3ec06=this[_0x446638(0xd9)](_0x1b94a7),_0x29d717=_0x18624a['model']||_0x446638(0xc4),_0x50fed6=shouldInjectSystemPrompt(_0x29d717)?injectSystemPrompt(_0x18624a,TDX_SYSTEM_PROMPT):_0x18624a,_0x435913=JSON[_0x446638(0xba)](_0x50fed6);this[_0x446638(0xc3)][_0x446638(0x90)]('[PASSTHROUGH]\x20Forwarding\x20count_tokens\x20to:\x20'+_0x3bd025);const _0x6a6167=this[_0x446638(0xe9)][_0x446638(0x102)]||DEFAULT_TIMEOUT_MS;try{const _0x434157=await fetch(_0x3bd025,{'method':'POST','headers':_0xc3ec06,'body':_0x435913,'signal':AbortSignal[_0x446638(0x107)](_0x6a6167)}),_0x48da52=await _0x434157[_0x446638(0x104)]();return _0x2dfd39[_0x446638(0xe5)](_0x434157[_0x446638(0xa0)]),_0x2dfd39[_0x446638(0xea)](_0x446638(0xd5),_0x434157[_0x446638(0xdb)][_0x446638(0x10d)](_0x446638(0xd5))||_0x446638(0xe3)),_0x2dfd39['send'](_0x48da52);}catch(_0x36e9a9){const _0xcb97eb=_0x36e9a9 instanceof Error?_0x36e9a9[_0x446638(0xbd)]:_0x446638(0x9f),_0x4fbf1e=_0x36e9a9 instanceof Error&&_0x36e9a9[_0x446638(0xee)]===_0x446638(0xf7);this['logger'][_0x446638(0xb5)](_0x446638(0xa6),_0x36e9a9),_0x2dfd39[_0x446638(0xe5)](_0x4fbf1e?0x1f8:0x1f7)['send']({'type':_0x446638(0xb5),'error':{'type':_0x4fbf1e?'timeout_error':_0x446638(0x9d),'message':_0x4fbf1e?'Request\x20to\x20TD\x20LLM\x20Proxy\x20timed\x20out\x20after\x20'+_0x6a6167+'ms':_0x446638(0xdf)+_0xcb97eb}});}}async[a58_0x507b01(0xc5)](_0x20387f,_0x5cfe97,_0x1a81ce,_0x25ec32,_0x26b7e7,_0x5ab578){const _0x4e4442=a58_0x507b01,_0x3074b2={'timestamp':new Date()['toISOString'](),'model':_0x5cfe97,'inputTokens':_0x1a81ce,'outputTokens':_0x25ec32,'cacheCreationInputTokens':_0x26b7e7,'cacheReadInputTokens':_0x5ab578,'profile':this[_0x4e4442(0xe9)][_0x4e4442(0xcf)]},_0x58ca8a=_0x26b7e7||_0x5ab578?_0x4e4442(0xae)+(_0x26b7e7||0x0)+',\x20cache_read='+(_0x5ab578||0x0):'';this['logger']['debug'](_0x4e4442(0xd7)+_0x1a81ce+',\x20output='+_0x25ec32+_0x58ca8a+_0x4e4442(0xbe)+_0x5cfe97);try{await appendUsageEntry(_0x20387f,_0x3074b2);}catch(_0x140eb2){this[_0x4e4442(0xc3)][_0x4e4442(0xb5)](_0x4e4442(0xc8),_0x140eb2);}}async[a58_0x507b01(0xc0)](){const _0x1a1154=a58_0x507b01;await this[_0x1a1154(0x100)][_0x1a1154(0xa1)]({'port':this[_0x1a1154(0xe9)][_0x1a1154(0xdd)],'host':_0x1a1154(0x105)}),this['logger'][_0x1a1154(0xa3)](_0x1a1154(0x106)+this[_0x1a1154(0xe9)][_0x1a1154(0xdd)]),this[_0x1a1154(0xc3)][_0x1a1154(0xa3)](_0x1a1154(0xde)+this[_0x1a1154(0xe9)][_0x1a1154(0xd6)]);}async[a58_0x507b01(0xb7)](){const _0x5862df=a58_0x507b01;await this[_0x5862df(0x100)]['close'](),this['logger']['info'](_0x5862df(0xd4));}['getAddress'](){const _0x47cb7e=a58_0x507b01;return _0x47cb7e(0xf4)+this['config']['port'];}}
1
+ const a58_0x1b6ff0=a58_0x3c7a;(function(_0x1c306b,_0x51992a){const _0x2ab885=a58_0x3c7a,_0x582994=_0x1c306b();while(!![]){try{const _0x562d1b=-parseInt(_0x2ab885(0x157))/0x1*(parseInt(_0x2ab885(0x18a))/0x2)+parseInt(_0x2ab885(0x1ac))/0x3*(parseInt(_0x2ab885(0x18c))/0x4)+-parseInt(_0x2ab885(0x183))/0x5+parseInt(_0x2ab885(0x1a5))/0x6+-parseInt(_0x2ab885(0x14d))/0x7*(-parseInt(_0x2ab885(0x14f))/0x8)+-parseInt(_0x2ab885(0x1ab))/0x9+parseInt(_0x2ab885(0x187))/0xa*(parseInt(_0x2ab885(0x1c3))/0xb);if(_0x562d1b===_0x51992a)break;else _0x582994['push'](_0x582994['shift']());}catch(_0x37e569){_0x582994['push'](_0x582994['shift']());}}}(a58_0x53a4,0x66b66));function a58_0x3c7a(_0x49598c,_0x11cfc8){_0x49598c=_0x49598c-0x148;const _0x53a423=a58_0x53a4();let _0x3c7a02=_0x53a423[_0x49598c];return _0x3c7a02;}import a58_0x42ca80 from'fastify';import a58_0x44a1ff from'@fastify/cors';import{SSEUsageTracker}from'./sse-usage-parser.js';import{appendUsageEntry}from'./claude-usage-tracker.js';import{getVersion}from'../core/version.js';const DEFAULT_TIMEOUT_MS=0x5*0x3c*0x3e8,TDX_SYSTEM_PROMPT=a58_0x1b6ff0(0x18f);function a58_0x53a4(){const _0x46122e=['messages','message','user_id',':\x20messages=','logger','749NEtHOa','inputTokens','setupJsonParser','startsWith','buildForwardHeaders','output_tokens','[PASSTHROUGH]\x20Failed\x20to\x20forward\x20count_tokens\x20request:','setupMiddleware','content-length','info',',\x20cache_create=','/v1/messages/count_tokens','timeoutMs','apiKey','llmProxyUrl',',\x20model=','stream_error','port','url','setupRoutes','get',',\x20stream=','setErrorHandler','text/event-stream','metadata','body',',\x20output=','cacheReadInputTokens','timeout_error','addContentTypeParser','User-Agent','[PASSTHROUGH]\x20Upstream\x20error:\x20','[PASSTHROUGH]\x20','usage','system','authorization','server','no-cache','register','X-TD-Client-Version','method','toISOString','[PASSTHROUGH]\x20Usage:\x20input=','Request\x20to\x20TD\x20LLM\x20Proxy\x20timed\x20out\x20after\x20','3314205belmxz','processChunk','send','TD\x20LLM\x20Pass-through\x20Proxy\x20Server','140VYNVlP','cacheCreationInputTokens','/v1/messages','314RpmyGu','unknown','4BKDtYQ','Content-Type','length','You\x20are\x20`tdx\x20claude`,\x20an\x20extension\x20of\x20Claude\x20Code\x20with\x20tdx\x20CLI\x20tools\x20(https://tdx.treasuredata.com/)\x20and\x20skills\x20for\x20Treasure\x20Data\x20and\x20CDP.\x0a\x0aFor\x20Treasure\x20Data\x20tasks,\x20use\x20these\x20skills:\x0a\x0a|\x20Task\x20|\x20Skill\x20|\x0a|------|-------|\x0a|\x20tdx\x20CLI\x20operations\x20(databases,\x20tables,\x20queries)\x20|\x20tdx-skills:tdx-basic\x20|\x0a|\x20CDP\x20parent\x20segments\x20(YAML\x20config)\x20|\x20tdx-skills:parent-segment\x20|\x0a|\x20CDP\x20child\x20segments\x20(rules,\x20activations)\x20|\x20tdx-skills:segment\x20|\x0a|\x20Validate\x20segment\x20YAML\x20|\x20tdx-skills:validate-segment\x20|\x0a|\x20CDP\x20journeys\x20(stages,\x20steps)\x20|\x20tdx-skills:journey\x20|\x0a|\x20Validate\x20journey\x20YAML\x20|\x20tdx-skills:validate-journey\x20|\x0a|\x20Configure\x20activations\x20|\x20tdx-skills:connector-config\x20|\x0a|\x20Build\x20LLM\x20agents\x20|\x20tdx-skills:agent\x20|\x0a|\x20Write\x20agent\x20system\x20prompts\x20|\x20tdx-skills:agent-prompt\x20|\x0a|\x20TD\x20Trino\x20SQL\x20queries\x20|\x20sql-skills:trino\x20|\x0a|\x20TD\x20Hive\x20SQL\x20queries\x20|\x20sql-skills:hive\x20|\x0a|\x20Time\x20filtering\x20(td_interval,\x20partition\x20pruning)\x20|\x20sql-skills:time-filtering\x20|\x0a|\x20Optimize\x20slow\x20Trino\x20queries\x20|\x20sql-skills:trino-optimizer\x20|\x0a|\x20Convert\x20Trino\x20to\x20Hive\x20(memory\x20errors)\x20|\x20sql-skills:trino-to-hive-migration\x20|\x0a|\x20Treasure\x20Workflow\x20(.dig\x20files)\x20|\x20workflow-skills:digdag\x20|\x0a|\x20Debug/manage\x20workflows\x20|\x20workflow-skills:workflow-management\x20|\x0a|\x20dbt\x20with\x20TD\x20Trino\x20|\x20workflow-skills:dbt\x20|\x0a|\x20JavaScript\x20SDK\x20(browser\x20tracking)\x20|\x20sdk-skills:javascript\x20|\x0a|\x20Python\x20SDK\x20(pytd,\x20pandas)\x20|\x20sdk-skills:python\x20|','outputTokens','cache_read_input_tokens','http://127.0.0.1:','includes','timeout','close','default','/health','end','Unknown\x20error','Authorization','Error\x20body:\x20','SKIP_HEADERS','debug','stream','string','parse','x-td-',',\x20cache_read=','X-TD-Client','writeHead','3367650tridzt','join','Pass-through\x20proxy\x20server\x20stopped','stringify','input_tokens','[PASSTHROUGH\x20PROXY\x20ERROR]:','7148016KDQyTk','1717959AkjNbi','application/json','toLowerCase','Forwarding\x20to:\x20','raw','getReader','Failed\x20to\x20connect\x20to\x20TD\x20LLM\x20Proxy:\x20','error','write','code','header','handleCountTokens','TimeoutError','statusText','getUsage','GET','config','entries','name','profile','decode','handleMessages','handleStreamingResponse','352649Zkrcnn','cache_creation_input_tokens','status','x-api-key','transfer-encoding','POST','post','[PASSTHROUGH]\x20Forwarding\x20count_tokens\x20to:\x20','model','api_error','text','TD1\x20','headers','haiku','logUsage','isArray','11886ykOckl','Stream\x20interrupted','1944tcmxMn','event:\x20error\x0adata:\x20','user-agent'];a58_0x53a4=function(){return _0x46122e;};return a58_0x53a4();}function extractSessionUUID(_0x2de2f6){const _0x6c0667=_0x2de2f6['match'](/_session_([a-f0-9-]+)$/i);if(_0x6c0667)return _0x6c0667[0x1];return _0x2de2f6;}export function injectSystemPrompt(_0x4d7d2e,_0x51a760){const _0x108471=a58_0x1b6ff0,_0x3a7ad9=_0x4d7d2e[_0x108471(0x179)];if(!_0x3a7ad9)return{..._0x4d7d2e,'system':_0x51a760};if(typeof _0x3a7ad9===_0x108471(0x19f))return{..._0x4d7d2e,'system':_0x51a760+'\x0a\x0a'+_0x3a7ad9};if(Array[_0x108471(0x14c)](_0x3a7ad9)){const _0xb90159={'type':_0x108471(0x1cd),'text':_0x51a760};return{..._0x4d7d2e,'system':[_0xb90159,..._0x3a7ad9]};}return _0x4d7d2e;}export function shouldInjectSystemPrompt(_0x25009c){const _0x379a17=a58_0x1b6ff0;return!_0x25009c[_0x379a17(0x1ae)]()[_0x379a17(0x193)](_0x379a17(0x14a));}export class PassThroughProxyServer{[a58_0x1b6ff0(0x17b)];['config'];['logger'];constructor(_0x5e41ea){const _0x46ce27=a58_0x1b6ff0;this[_0x46ce27(0x1bc)]=_0x5e41ea,this[_0x46ce27(0x156)]=_0x5e41ea[_0x46ce27(0x156)],this[_0x46ce27(0x17b)]=a58_0x42ca80({'logger':![],'bodyLimit':0x40*0x400*0x400}),this[_0x46ce27(0x159)](),this['setupMiddleware'](),this['setupRoutes']();}[a58_0x1b6ff0(0x159)](){const _0x1aa41f=a58_0x1b6ff0;this[_0x1aa41f(0x17b)][_0x1aa41f(0x174)](_0x1aa41f(0x1ad),{'parseAs':_0x1aa41f(0x19f)},(_0x3881e8,_0x1164a7,_0x4d217a)=>{try{const _0x3001a8=JSON['parse'](_0x1164a7);_0x4d217a(null,_0x3001a8);}catch(_0x551d08){_0x4d217a(_0x551d08,undefined);}});}[a58_0x1b6ff0(0x15e)](){const _0x3b74dd=a58_0x1b6ff0;this[_0x3b74dd(0x17b)][_0x3b74dd(0x17d)](a58_0x44a1ff,{'origin':!![],'methods':[_0x3b74dd(0x1bb),_0x3b74dd(0x1c8),'OPTIONS'],'allowedHeaders':[_0x3b74dd(0x18d),_0x3b74dd(0x19a),'anthropic-version',_0x3b74dd(0x1c6)]}),this[_0x3b74dd(0x17b)][_0x3b74dd(0x16d)]((_0xad13f5,_0x344ebe,_0xd4669)=>{const _0x396a2e=_0x3b74dd,_0x55943f=_0xad13f5 instanceof Error?_0xad13f5[_0x396a2e(0x153)]:_0x396a2e(0x199);this[_0x396a2e(0x156)]['error'](_0x396a2e(0x1aa),_0xad13f5),_0xd4669['code'](0x1f4)[_0x396a2e(0x185)]({'type':'error','error':{'type':_0x396a2e(0x1cc),'message':_0x55943f}});});}[a58_0x1b6ff0(0x16a)](){const _0x1d2bbd=a58_0x1b6ff0;this['server']['get'](_0x1d2bbd(0x197),async()=>{const _0x21b1ab=_0x1d2bbd;return{'status':'ok','message':_0x21b1ab(0x186)};}),this[_0x1d2bbd(0x17b)][_0x1d2bbd(0x1c9)](_0x1d2bbd(0x189),async(_0x24d459,_0x445ab0)=>{const _0x21c0c3=_0x1d2bbd;return this[_0x21c0c3(0x1c1)](_0x24d459,_0x445ab0);}),this[_0x1d2bbd(0x17b)][_0x1d2bbd(0x1c9)]('/v1/messages/count_tokens',async(_0x4c12f4,_0x110b1d)=>{const _0x3cf986=_0x1d2bbd;return this[_0x3cf986(0x1b7)](_0x4c12f4,_0x110b1d);});}static ['SKIP_HEADERS']=new Set(['host','connection',a58_0x1b6ff0(0x15f),a58_0x1b6ff0(0x1c7),a58_0x1b6ff0(0x17a),a58_0x1b6ff0(0x1c6),a58_0x1b6ff0(0x151)]);[a58_0x1b6ff0(0x15b)](_0x26e6e6){const _0x558afd=a58_0x1b6ff0,_0x12b238={};for(const [_0x11d962,_0x5b837e]of Object[_0x558afd(0x1bd)](_0x26e6e6['headers'])){const _0x507616=_0x11d962[_0x558afd(0x1ae)]();if(PassThroughProxyServer[_0x558afd(0x19c)]['has'](_0x507616))continue;if(_0x507616[_0x558afd(0x15a)](_0x558afd(0x1a1)))continue;if(typeof _0x5b837e==='string')_0x12b238[_0x11d962]=_0x5b837e;else Array[_0x558afd(0x14c)](_0x5b837e)&&(_0x12b238[_0x11d962]=_0x5b837e[_0x558afd(0x1a6)](',\x20'));}const _0x18403e=getVersion();return _0x12b238['Authorization']=_0x558afd(0x148)+this[_0x558afd(0x1bc)][_0x558afd(0x164)],_0x12b238[_0x558afd(0x175)]='tdx/'+_0x18403e,_0x12b238[_0x558afd(0x1a3)]='tdx',_0x12b238[_0x558afd(0x17e)]=_0x18403e,_0x12b238;}async['handleMessages'](_0xb35de9,_0x1eb1c7){const _0x41d1e5=a58_0x1b6ff0,_0x49ec57=_0xb35de9[_0x41d1e5(0x170)],_0x5ed0b0=_0x49ec57[_0x41d1e5(0x19e)]!==![],_0x2efb20=_0x49ec57[_0x41d1e5(0x16f)],_0x20c555=_0x2efb20?.[_0x41d1e5(0x154)]||_0x41d1e5(0x196),_0x1d0d63=extractSessionUUID(_0x20c555),_0x4ddcf2=_0x49ec57[_0x41d1e5(0x1cb)]||_0x41d1e5(0x18b),_0x2a41a2=shouldInjectSystemPrompt(_0x4ddcf2)?injectSystemPrompt(_0x49ec57,TDX_SYSTEM_PROMPT):_0x49ec57,_0x250cae=JSON[_0x41d1e5(0x1a8)](_0x2a41a2),_0x5249fa=Array['isArray'](_0x49ec57[_0x41d1e5(0x152)])?_0x49ec57[_0x41d1e5(0x152)][_0x41d1e5(0x18e)]:0x0;this[_0x41d1e5(0x156)][_0x41d1e5(0x160)](_0x41d1e5(0x177)+_0xb35de9[_0x41d1e5(0x17f)]+'\x20'+_0xb35de9[_0x41d1e5(0x169)]+_0x41d1e5(0x155)+_0x5249fa+_0x41d1e5(0x166)+_0x4ddcf2+_0x41d1e5(0x16c)+_0x5ed0b0);const _0x40f2ec=this[_0x41d1e5(0x1bc)][_0x41d1e5(0x165)]+_0x41d1e5(0x189),_0xcd44e4=this[_0x41d1e5(0x15b)](_0xb35de9);this['logger'][_0x41d1e5(0x19d)](_0x41d1e5(0x1af)+_0x40f2ec);const _0x426a31=this[_0x41d1e5(0x1bc)][_0x41d1e5(0x163)]||DEFAULT_TIMEOUT_MS;try{const _0x2ea6a7=await fetch(_0x40f2ec,{'method':_0x41d1e5(0x1c8),'headers':_0xcd44e4,'body':_0x250cae,'signal':AbortSignal[_0x41d1e5(0x194)](_0x426a31)});if(!_0x2ea6a7['ok']){const _0x19b39d=await _0x2ea6a7['text']();return this['logger'][_0x41d1e5(0x1b3)](_0x41d1e5(0x176)+_0x2ea6a7[_0x41d1e5(0x1c5)]+'\x20'+_0x2ea6a7[_0x41d1e5(0x1b9)]),this[_0x41d1e5(0x156)][_0x41d1e5(0x19d)](_0x41d1e5(0x19b)+_0x19b39d),_0x1eb1c7[_0x41d1e5(0x1b5)](_0x2ea6a7[_0x41d1e5(0x1c5)]),_0x1eb1c7[_0x41d1e5(0x1b6)]('Content-Type',_0x2ea6a7[_0x41d1e5(0x149)][_0x41d1e5(0x16b)](_0x41d1e5(0x18d))||_0x41d1e5(0x1ad)),_0x1eb1c7[_0x41d1e5(0x185)](_0x19b39d);}if(_0x5ed0b0&&_0x2ea6a7[_0x41d1e5(0x170)])await this['handleStreamingResponse'](_0x2ea6a7['body'],_0x1eb1c7,_0x1d0d63,_0x4ddcf2);else{const _0x40824a=await _0x2ea6a7[_0x41d1e5(0x1cd)]();_0x1eb1c7[_0x41d1e5(0x1b6)](_0x41d1e5(0x18d),_0x2ea6a7['headers'][_0x41d1e5(0x16b)](_0x41d1e5(0x18d))||'application/json');try{const _0x57a474=JSON[_0x41d1e5(0x1a0)](_0x40824a);_0x57a474[_0x41d1e5(0x178)]&&await this[_0x41d1e5(0x14b)](_0x1d0d63,_0x4ddcf2,_0x57a474['usage'][_0x41d1e5(0x1a9)]||0x0,_0x57a474['usage'][_0x41d1e5(0x15c)]||0x0,_0x57a474[_0x41d1e5(0x178)][_0x41d1e5(0x1c4)],_0x57a474[_0x41d1e5(0x178)][_0x41d1e5(0x191)]);}catch{}return _0x1eb1c7[_0x41d1e5(0x185)](_0x40824a);}}catch(_0x53c544){const _0x2824ad=_0x53c544 instanceof Error?_0x53c544[_0x41d1e5(0x153)]:_0x41d1e5(0x199),_0x262d95=_0x53c544 instanceof Error&&_0x53c544[_0x41d1e5(0x1be)]===_0x41d1e5(0x1b8);this['logger'][_0x41d1e5(0x1b3)]('[PASSTHROUGH]\x20Failed\x20to\x20forward\x20request:',_0x53c544),_0x1eb1c7[_0x41d1e5(0x1b5)](_0x262d95?0x1f8:0x1f7)[_0x41d1e5(0x185)]({'type':_0x41d1e5(0x1b3),'error':{'type':_0x262d95?_0x41d1e5(0x173):_0x41d1e5(0x1cc),'message':_0x262d95?_0x41d1e5(0x182)+_0x426a31+'ms':'Failed\x20to\x20connect\x20to\x20TD\x20LLM\x20Proxy:\x20'+_0x2824ad}});}}async[a58_0x1b6ff0(0x1c2)](_0x410ab3,_0x10e48a,_0x257698,_0x1cdeeb){const _0x2abcc5=a58_0x1b6ff0;_0x10e48a[_0x2abcc5(0x1b0)][_0x2abcc5(0x1a4)](0xc8,{'Content-Type':_0x2abcc5(0x16e),'Cache-Control':_0x2abcc5(0x17c),'Connection':'keep-alive'});const _0x3ba4cf=new SSEUsageTracker(),_0x228ee1=_0x410ab3[_0x2abcc5(0x1b1)](),_0x393c06=new TextDecoder();try{while(!![]){const {done:_0x1f4f00,value:_0x31ce62}=await _0x228ee1['read']();if(_0x1f4f00)break;const _0x548cdb=_0x393c06[_0x2abcc5(0x1c0)](_0x31ce62,{'stream':!![]});_0x3ba4cf[_0x2abcc5(0x184)](_0x548cdb),_0x10e48a[_0x2abcc5(0x1b0)][_0x2abcc5(0x1b4)](_0x548cdb);}const _0x5830d8=_0x3ba4cf[_0x2abcc5(0x1ba)]();(_0x5830d8[_0x2abcc5(0x158)]>0x0||_0x5830d8[_0x2abcc5(0x190)]>0x0)&&await this[_0x2abcc5(0x14b)](_0x257698,_0x1cdeeb,_0x5830d8[_0x2abcc5(0x158)],_0x5830d8[_0x2abcc5(0x190)],_0x5830d8[_0x2abcc5(0x188)],_0x5830d8[_0x2abcc5(0x172)]);}catch(_0x343f7e){this['logger']['error']('[PASSTHROUGH]\x20Stream\x20error:',_0x343f7e);const _0x41abbb=_0x2abcc5(0x150)+JSON[_0x2abcc5(0x1a8)]({'type':_0x2abcc5(0x1b3),'error':{'type':_0x2abcc5(0x167),'message':_0x2abcc5(0x14e)}})+'\x0a\x0a';_0x10e48a[_0x2abcc5(0x1b0)]['write'](_0x41abbb);}finally{_0x10e48a[_0x2abcc5(0x1b0)][_0x2abcc5(0x198)]();}}async[a58_0x1b6ff0(0x1b7)](_0x2aa927,_0x3928e1){const _0x13950a=a58_0x1b6ff0,_0x3be7ca=_0x2aa927[_0x13950a(0x170)],_0x1715b5=this[_0x13950a(0x1bc)][_0x13950a(0x165)]+_0x13950a(0x162),_0x4851c0=this['buildForwardHeaders'](_0x2aa927),_0x244fc3=_0x3be7ca[_0x13950a(0x1cb)]||'unknown',_0x150f7e=shouldInjectSystemPrompt(_0x244fc3)?injectSystemPrompt(_0x3be7ca,TDX_SYSTEM_PROMPT):_0x3be7ca,_0x3e3254=JSON[_0x13950a(0x1a8)](_0x150f7e);this[_0x13950a(0x156)][_0x13950a(0x19d)](_0x13950a(0x1ca)+_0x1715b5);const _0x46ef40=this[_0x13950a(0x1bc)][_0x13950a(0x163)]||DEFAULT_TIMEOUT_MS;try{const _0xbc3e39=await fetch(_0x1715b5,{'method':'POST','headers':_0x4851c0,'body':_0x3e3254,'signal':AbortSignal[_0x13950a(0x194)](_0x46ef40)}),_0x31f8c0=await _0xbc3e39[_0x13950a(0x1cd)]();return _0x3928e1[_0x13950a(0x1b5)](_0xbc3e39[_0x13950a(0x1c5)]),_0x3928e1[_0x13950a(0x1b6)](_0x13950a(0x18d),_0xbc3e39[_0x13950a(0x149)]['get'](_0x13950a(0x18d))||_0x13950a(0x1ad)),_0x3928e1[_0x13950a(0x185)](_0x31f8c0);}catch(_0x1176a4){const _0x677c07=_0x1176a4 instanceof Error?_0x1176a4['message']:_0x13950a(0x199),_0x1d769c=_0x1176a4 instanceof Error&&_0x1176a4[_0x13950a(0x1be)]==='TimeoutError';this[_0x13950a(0x156)][_0x13950a(0x1b3)](_0x13950a(0x15d),_0x1176a4),_0x3928e1[_0x13950a(0x1b5)](_0x1d769c?0x1f8:0x1f7)[_0x13950a(0x185)]({'type':_0x13950a(0x1b3),'error':{'type':_0x1d769c?_0x13950a(0x173):_0x13950a(0x1cc),'message':_0x1d769c?_0x13950a(0x182)+_0x46ef40+'ms':_0x13950a(0x1b2)+_0x677c07}});}}async[a58_0x1b6ff0(0x14b)](_0x4c287f,_0x33e7e4,_0x9d302e,_0x497fe8,_0x13c037,_0x453e27){const _0x85fd42=a58_0x1b6ff0,_0x334c01={'timestamp':new Date()[_0x85fd42(0x180)](),'model':_0x33e7e4,'inputTokens':_0x9d302e,'outputTokens':_0x497fe8,'cacheCreationInputTokens':_0x13c037,'cacheReadInputTokens':_0x453e27,'profile':this[_0x85fd42(0x1bc)][_0x85fd42(0x1bf)]},_0x1a2a4a=_0x13c037||_0x453e27?_0x85fd42(0x161)+(_0x13c037||0x0)+_0x85fd42(0x1a2)+(_0x453e27||0x0):'';this[_0x85fd42(0x156)]['debug'](_0x85fd42(0x181)+_0x9d302e+_0x85fd42(0x171)+_0x497fe8+_0x1a2a4a+_0x85fd42(0x166)+_0x33e7e4);try{await appendUsageEntry(_0x4c287f,_0x334c01);}catch(_0x3feb6b){this[_0x85fd42(0x156)]['error']('[PASSTHROUGH]\x20Failed\x20to\x20log\x20usage:',_0x3feb6b);}}async['start'](){const _0xae29af=a58_0x1b6ff0;await this['server']['listen']({'port':this[_0xae29af(0x1bc)]['port'],'host':'127.0.0.1'}),this[_0xae29af(0x156)][_0xae29af(0x160)]('Pass-through\x20proxy\x20server\x20started\x20on\x20port\x20'+this['config'][_0xae29af(0x168)]),this[_0xae29af(0x156)][_0xae29af(0x160)](_0xae29af(0x1af)+this[_0xae29af(0x1bc)][_0xae29af(0x165)]);}async['stop'](){const _0x33f817=a58_0x1b6ff0;await this[_0x33f817(0x17b)][_0x33f817(0x195)](),this['logger'][_0x33f817(0x160)](_0x33f817(0x1a7));}['getAddress'](){const _0x33a9c7=a58_0x1b6ff0;return _0x33a9c7(0x192)+this[_0x33a9c7(0x1bc)][_0x33a9c7(0x168)];}}
@@ -1 +1 @@
1
- const a59_0x30d28e=a59_0x3632;(function(_0x36f528,_0x5f72c6){const _0x53811c=a59_0x3632,_0x44b667=_0x36f528();while(!![]){try{const _0x5544dd=-parseInt(_0x53811c(0x18b))/0x1+parseInt(_0x53811c(0x1c3))/0x2+-parseInt(_0x53811c(0x15d))/0x3+parseInt(_0x53811c(0x14d))/0x4*(parseInt(_0x53811c(0x1b6))/0x5)+-parseInt(_0x53811c(0x185))/0x6+-parseInt(_0x53811c(0x1d5))/0x7*(parseInt(_0x53811c(0x180))/0x8)+parseInt(_0x53811c(0x16b))/0x9*(parseInt(_0x53811c(0x19a))/0xa);if(_0x5544dd===_0x5f72c6)break;else _0x44b667['push'](_0x44b667['shift']());}catch(_0x42ddac){_0x44b667['push'](_0x44b667['shift']());}}}(a59_0x3a02,0xcc3fb));import a59_0x140b37 from'fastify';import a59_0x351b7c from'@fastify/cors';import{ErrorCode,SDKError}from'../sdk/index.js';import{transformTDStreamToAnthropic,formatAnthropicSSE,generateMessageId,generateToolPrompt,extractToolResults,estimateInputTokensFromRequest}from'./anthropic-adapter.js';function a59_0x3632(_0x2cf50b,_0x2a8ba9){_0x2cf50b=_0x2cf50b-0x13b;const _0x3a02d6=a59_0x3a02();let _0x3632a0=_0x3a02d6[_0x2cf50b];return _0x3632a0;}import{colorizeJSON,colorizeJSONCompact}from'../utils/colors.js';import{extractModelAlias,resolveModelAlias}from'../sdk/llm/model-aliases.js';import{SessionCache}from'./session-cache.js';import{appendUsageEntry}from'./claude-usage-tracker.js';function a59_0x3a02(){const _0x239083=['text','info','isUserError','start','originalMessage','system','Unknown\x20error',',\x20context:\x20',',\x20tools=','post','Started\x20cache\x20cleanup\x20interval\x20(runs\x20every\x20','cleanupExpiredChats','embeddedToolsByName','server','config','end','\x0a---\x0a\x0a','warn','Failed\x20to\x20reconstruct\x20message\x20-\x20all\x20parts\x20are\x20empty,\x20using\x20fallback',',\x20tools:\x20','232mtUWUy','http://localhost:','Failed\x20to\x20generate\x20tool\x20prompt:','createPromise','getOrCreateDefaultAgent','8374152nzvqxW',',\x20\x22','writeHead','register','string','raw','554004PWoczu','trim','setErrorHandler','message','\x20|\x20','user_id','\x0a\x0a<conversation_history>\x0a','[PROXY\x20ERROR]\x20Unhandled\x20error\x20in\x20','catch','length','push','code','[CONTEXT\x20LENGTH\x20ERROR]\x20','Failed\x20to\x20initialize\x20chat\x20stream.\x20Please\x20try\x20again.','error','442590QsguHp','Context:','\x20system\x20prompts,\x20','port','POST','logger','Failed\x20to\x20extract\x20tool\x20results:','send','Debug\x20info:','Authorization','event','handleCountTokens','Non-streaming\x20responses\x20are\x20not\x20yet\x20supported','now','agentId','chatId','setupMiddleware','address','Validation\x20failed:\x20messages\x20array\x20is\x20required\x20and\x20must\x20not\x20be\x20empty','validateMessageRequest','site','api_error','\x20messages,\x20','anthropic-version','set','data','getAddress','Agent\x20cached:\x20','20sIAehU','setupRoutes','Embedding','lastUsedAt',',\x20is\x20new\x20context:\x20','usage','handleMessages','tools','helpText','continue','Validation\x20failed:\x20tools\x20must\x20be\x20an\x20array\x20if\x20provided','url','keep-alive','2123560VXmmgs','Failed\x20to\x20start\x20proxy\x20server:\x20','model','thinking','chat','map',':\x20estimated\x20input_tokens=',')\x20to\x20stay\x20under\x20','output_tokens','Proxy\x20server\x20started\x20at\x20localhost:','[PROXY\x20ERROR]\x20Streaming\x20error:','default','Added\x20system\x20prompt\x20previews:','Waiting\x20for\x20concurrent\x20chat\x20creation\x20for\x20context:\x20','System\x20prompts:\x20','Reset\x20chat\x20state\x20to\x20recover\x20on\x20next\x20request','\x20->\x20','New\x20-\x20system\x20prompts:\x20','329126WCxpOG','Final\x20message\x20is\x20empty\x20after\x20construction\x20-\x20starting\x20fresh\x20conversation','add','Chat\x20ID:\x20','isArray','delete','llm','Embedded\x20in\x20chat\x20-\x20system\x20prompts:\x20','dev-us01','[session:\x20','filter','no-cache','sessionCache','agentCache','Final\x20message\x20reconstructed\x20after\x20context\x20reset:','Creating/looking\x20up\x20agent\x20for:\x20','write','budget_tokens','method','get','\x20Input\x20size:\x20','new\x20tool(s)','Added\x20tool\x20names:','join','message_delta','has','debug','0.0.0.0','Model\x20normalization:\x20',']\x20Continue\x20chat\x20for\x20model\x20','Including\x20tool\x20results',']\x20model:\x20','...','Evicted\x20oldest\x20chat\x20(signature:\x20','Concurrent\x20chat\x20creation\x20failed,\x20will\x20fall\x20back\x20to\x20lazy\x20creation:',',\x20context\x20signature:\x20','startChat','close','context','GET','\x20SSE\x20events.','tdx',',\x20context=','[PROXY\x20ERROR]\x20Chat\x20stream\x20is\x20undefined','Failed\x20to\x20create\x20chat,\x20will\x20fall\x20back\x20to\x20lazy\x20creation:','unknown','602696JSysZq','substring','metadata',':\x20messages=','headers','messages','name','INVALID_REQUEST','creating','size','body','stringify','cleanupInterval','chats','embeddedSystemPrompts','Reset\x20chat\x20ID\x20to\x20recover\x20on\x20next\x20request','2635017njfglX',',\x20system_prompts=','type','handleRouteError','...\x22','\x0a</conversation_history>','s,\x20expires\x20after\x20','Content-Type','attributes','[PROXY\x20ERROR]\x20Non-streaming\x20responses\x20are\x20not\x20yet\x20supported','Failed\x20to\x20log\x20usage\x20entry\x20on\x20error:\x20','OPTIONS','/v1/messages/count_tokens','projectId','684QlwgTt'];a59_0x3a02=function(){return _0x239083;};return a59_0x3a02();}import{calculateContextSignature}from'./context-signature.js';import{formatConversationHistory,calculateConversationDelta,extractLastUserMessage}from'./conversation-utils.js';function extractSessionUUID(_0x528fa5){const _0x51bbbd=_0x528fa5['match'](/_session_([a-f0-9-]+)$/i);if(_0x51bbbd)return _0x51bbbd[0x1];return _0x528fa5;}function clearChatState(_0x55c52f){const _0x43d265=a59_0x3632;_0x55c52f['chatId']='',_0x55c52f[_0x43d265(0x15b)]['clear'](),_0x55c52f[_0x43d265(0x178)]['clear']();}function mapBudgetTokensToReasoningEffort(_0x1808d7,_0x35100a){const _0x257365=a59_0x3632;if(_0x35100a!==_0x257365(0x1dd))return 0x0;if(!_0x1808d7||_0x1808d7===0x0)return 0x0;if(_0x1808d7<=0x400)return 0x1;if(_0x1808d7<=0x800)return 0x2;if(_0x1808d7<=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'];[a59_0x30d28e(0x1e1)];[a59_0x30d28e(0x1e2)];[a59_0x30d28e(0x17a)];[a59_0x30d28e(0x159)];[a59_0x30d28e(0x19f)];constructor(_0x154264){const _0x1f6f75=a59_0x30d28e;this[_0x1f6f75(0x19f)]=_0x154264['logger'],this[_0x1f6f75(0x17a)]=_0x154264,this[_0x1f6f75(0x1e1)]=new SessionCache({'maxChatsPerSession':MAX_CHATS_PER_SESSION,'cacheExpirationMs':CACHE_EXPIRATION_MS}),this['agentCache']=new Map(),this[_0x1f6f75(0x179)]=a59_0x140b37({'logger':![],'bodyLimit':0x40*0x400*0x400}),this[_0x1f6f75(0x1aa)](),this[_0x1f6f75(0x1b7)]();}async['getAgentForModel'](_0x4d70d2,_0x75aa40=0x0){const _0x50530d=a59_0x30d28e,_0x1f5812=extractModelAlias(_0x4d70d2),_0x46f5d8=resolveModelAlias(_0x1f5812),_0x91472b=_0x46f5d8+'_'+_0x75aa40;let _0x142630=this['agentCache'][_0x50530d(0x1e8)](_0x91472b);if(!_0x142630){this[_0x50530d(0x19f)]['debug'](_0x50530d(0x13b)+_0x4d70d2+_0x50530d(0x1d3)+_0x1f5812+_0x50530d(0x1d3)+_0x46f5d8),this['logger'][_0x50530d(0x1ef)](_0x50530d(0x1e4)+_0x46f5d8+'\x20(reasoning:\x20'+_0x75aa40+')');const _0x30cd82=await this[_0x50530d(0x17a)][_0x50530d(0x148)]['llm'][_0x50530d(0x184)](_0x46f5d8,_0x75aa40);_0x142630=_0x30cd82['id'],this['agentCache']['set'](_0x91472b,_0x142630),this[_0x50530d(0x19f)][_0x50530d(0x1ef)](_0x50530d(0x1b5)+_0x91472b+'\x20->\x20'+_0x142630+'\x20('+_0x30cd82[_0x50530d(0x165)][_0x50530d(0x153)]+')');}return _0x142630;}[a59_0x30d28e(0x177)](){const _0x4ce275=a59_0x30d28e;this[_0x4ce275(0x1e1)][_0x4ce275(0x177)]();}['setupMiddleware'](){const _0x6c7528=a59_0x30d28e;this[_0x6c7528(0x179)][_0x6c7528(0x188)](a59_0x351b7c,{'origin':!![],'methods':[_0x6c7528(0x146),_0x6c7528(0x19e),_0x6c7528(0x168)],'allowedHeaders':[_0x6c7528(0x164),_0x6c7528(0x1a3),_0x6c7528(0x1b1),'x-api-key']}),this[_0x6c7528(0x179)][_0x6c7528(0x18d)]((_0xf99239,_0xa96ce7,_0x255e60)=>{const _0x58a467=_0x6c7528;this[_0x58a467(0x160)](_0xf99239,_0xa96ce7,_0x255e60);});}[a59_0x30d28e(0x160)](_0x28ac4f,_0x2ffa29,_0x3e7a9a){const _0x70b7db=a59_0x30d28e;if(_0x28ac4f instanceof SDKError){const _0x177253=_0x28ac4f[_0x70b7db(0x16e)]()?0x190:0x1f4;_0x3e7a9a[_0x70b7db(0x196)](_0x177253)[_0x70b7db(0x1a1)]({'type':'error','error':{'type':_0x28ac4f['code'],'message':_0x28ac4f[_0x70b7db(0x170)],'helpText':_0x28ac4f[_0x70b7db(0x1be)]}});}else{const _0x25bd7a=_0x28ac4f instanceof Error?_0x28ac4f[_0x70b7db(0x18e)]:_0x70b7db(0x172);this[_0x70b7db(0x19f)][_0x70b7db(0x199)](_0x70b7db(0x192)+_0x2ffa29[_0x70b7db(0x1e7)]+'\x20'+_0x2ffa29[_0x70b7db(0x1c1)]+':',_0x28ac4f),_0x3e7a9a['code'](0x1f4)[_0x70b7db(0x1a1)]({'type':'error','error':{'type':_0x70b7db(0x1af),'message':_0x25bd7a}});}}['setupRoutes'](){const _0x250514=a59_0x30d28e;this[_0x250514(0x179)][_0x250514(0x1e8)]('/health',async()=>{return{'status':'ok','message':'TD\x20LLM\x20Proxy\x20Server'};}),this[_0x250514(0x179)][_0x250514(0x175)]('/v1/messages',async(_0x6d2bde,_0xb69871)=>{const _0x190372=_0x250514;return this[_0x190372(0x1bc)](_0x6d2bde,_0xb69871)[_0x190372(0x193)](_0x3942db=>{this['handleRouteError'](_0x3942db,_0x6d2bde,_0xb69871);});}),this[_0x250514(0x179)][_0x250514(0x175)](_0x250514(0x169),async(_0x386bc4,_0x407e45)=>{const _0x32a0ef=_0x250514;return this[_0x32a0ef(0x1a5)](_0x386bc4)['catch'](_0x28baaf=>{const _0x9d654f=_0x32a0ef;this[_0x9d654f(0x160)](_0x28baaf,_0x386bc4,_0x407e45);});});}[a59_0x30d28e(0x1ad)](_0x583e82){const _0xa8353=a59_0x30d28e;if(!_0x583e82['messages']||!Array['isArray'](_0x583e82['messages'])||_0x583e82['messages'][_0xa8353(0x194)]===0x0)throw new SDKError(ErrorCode[_0xa8353(0x154)],_0xa8353(0x1ac));if(_0x583e82[_0xa8353(0x1bd)]&&!Array[_0xa8353(0x1d9)](_0x583e82['tools']))throw new SDKError(ErrorCode[_0xa8353(0x154)],_0xa8353(0x1c0));}async[a59_0x30d28e(0x1bc)](_0x3c4724,_0x4c9c56){const _0x6d8072=a59_0x30d28e,_0x12f803=_0x3c4724[_0x6d8072(0x157)];this[_0x6d8072(0x1ad)](_0x12f803);const _0x36aa10=_0x12f803[_0x6d8072(0x152)]?.[_0x6d8072(0x194)]??0x0,_0x1621ae=_0x12f803[_0x6d8072(0x1c5)]||_0x6d8072(0x14c);this[_0x6d8072(0x19f)][_0x6d8072(0x16d)](_0x3c4724[_0x6d8072(0x1e7)]+'\x20'+_0x3c4724[_0x6d8072(0x1c1)]+_0x6d8072(0x150)+_0x36aa10+',\x20model='+_0x1621ae),this[_0x6d8072(0x19f)][_0x6d8072(0x1ef)]('header:\x20'+colorizeJSONCompact(_0x3c4724[_0x6d8072(0x151)]));this['logger']['trace']&&this['logger']['trace'](colorizeJSON(_0x12f803,{'color':!![]}));const _0xd93a37=_0x12f803[_0x6d8072(0x14f)]?.[_0x6d8072(0x190)]||_0x6d8072(0x1ce),_0x249bbc=extractSessionUUID(_0xd93a37),_0xe020a7=this[_0x6d8072(0x1e1)]['getOrCreateSession'](_0x249bbc,this['config'][_0x6d8072(0x16a)]),_0x1c8ffa=[];if(_0x12f803[_0x6d8072(0x171)]){if(typeof _0x12f803[_0x6d8072(0x171)]===_0x6d8072(0x189))_0x1c8ffa[_0x6d8072(0x195)](_0x12f803[_0x6d8072(0x171)]);else{if(Array[_0x6d8072(0x1d9)](_0x12f803[_0x6d8072(0x171)]))for(const _0x3a0434 of _0x12f803[_0x6d8072(0x171)]){_0x3a0434[_0x6d8072(0x15f)]===_0x6d8072(0x16c)&&_0x3a0434[_0x6d8072(0x16c)]&&_0x1c8ffa['push'](_0x3a0434[_0x6d8072(0x16c)]);}}}const _0x4345d2=_0x12f803[_0x6d8072(0x1bd)]||[],_0x43a767=_0x12f803[_0x6d8072(0x1c6)]?.[_0x6d8072(0x1e6)],_0x8d9dd6=mapBudgetTokensToReasoningEffort(_0x43a767,this['config'][_0x6d8072(0x1ae)]),_0x16393d=calculateContextSignature(_0x12f803[_0x6d8072(0x1c5)],_0x1c8ffa,_0x4345d2,_0x8d9dd6);let _0x1dec92=_0xe020a7[_0x6d8072(0x15a)][_0x6d8072(0x1e8)](_0x16393d);const _0x91d51b=!_0x1dec92;if(!_0x1dec92){const _0x347d5a=await this['getAgentForModel'](_0x12f803[_0x6d8072(0x1c5)],_0x8d9dd6);_0x1dec92={'chatId':'','agentId':_0x347d5a,'contextSignature':_0x16393d,'embeddedSystemPrompts':new Set(),'embeddedToolsByName':new Map(),'messageHistory':[],'lastUsedAt':Date['now']()},_0xe020a7[_0x6d8072(0x15a)][_0x6d8072(0x1b2)](_0x16393d,_0x1dec92);if(_0xe020a7[_0x6d8072(0x15a)][_0x6d8072(0x156)]>MAX_CHATS_PER_SESSION){let _0x37e775=null,_0x4dfc2c=Date[_0x6d8072(0x1a7)]();for(const [_0x358cfa,_0x179842]of _0xe020a7['chats']){_0x179842[_0x6d8072(0x1b9)]<_0x4dfc2c&&(_0x4dfc2c=_0x179842['lastUsedAt'],_0x37e775=_0x358cfa);}_0x37e775&&(_0xe020a7[_0x6d8072(0x15a)][_0x6d8072(0x1da)](_0x37e775),this[_0x6d8072(0x19f)][_0x6d8072(0x1ef)](_0x6d8072(0x140)+_0x37e775+_0x6d8072(0x1ca)+MAX_CHATS_PER_SESSION+'\x20limit'));}}else _0x1dec92['lastUsedAt']=Date[_0x6d8072(0x1a7)]();if(!_0x1dec92[_0x6d8072(0x1a9)]){if(_0x1dec92[_0x6d8072(0x155)]&&_0x1dec92[_0x6d8072(0x183)]){this['logger'][_0x6d8072(0x1ef)](_0x6d8072(0x1d0)+_0x16393d);try{_0x1dec92[_0x6d8072(0x1a9)]=await _0x1dec92[_0x6d8072(0x183)];}catch(_0x53cd22){this[_0x6d8072(0x19f)][_0x6d8072(0x199)](_0x6d8072(0x141),_0x53cd22);}}else{if(!_0x1dec92[_0x6d8072(0x155)]){_0x1dec92[_0x6d8072(0x155)]=!![],_0x1dec92[_0x6d8072(0x183)]=((async()=>{const _0x3ca7e5=_0x6d8072;try{const _0x933682=await this[_0x3ca7e5(0x17a)][_0x3ca7e5(0x148)]['llm'][_0x3ca7e5(0x143)](_0x1dec92[_0x3ca7e5(0x1a8)]);return this['logger']['info']('['+_0x933682['id']+']\x20Created\x20new\x20chat\x20for\x20model\x20'+_0x12f803[_0x3ca7e5(0x1c5)]+_0x3ca7e5(0x149)+_0x16393d),_0x933682['id'];}catch(_0x22e5eb){this[_0x3ca7e5(0x19f)][_0x3ca7e5(0x199)](_0x3ca7e5(0x14b),_0x22e5eb);throw _0x22e5eb;}finally{_0x1dec92[_0x3ca7e5(0x155)]=![],_0x1dec92['createPromise']=undefined;}})());try{_0x1dec92[_0x6d8072(0x1a9)]=await _0x1dec92['createPromise'];}catch{}}}}const _0x2ec1da=_0x1c8ffa[_0x6d8072(0x1df)](_0x4b2362=>!_0x1dec92[_0x6d8072(0x15b)][_0x6d8072(0x1ee)](_0x4b2362)),_0x3f9b67=_0x4345d2[_0x6d8072(0x1df)](_0x5c7981=>!_0x1dec92[_0x6d8072(0x178)][_0x6d8072(0x1ee)](_0x5c7981[_0x6d8072(0x153)]));this['logger'][_0x6d8072(0x1ef)](_0x6d8072(0x1de)+_0x249bbc+_0x6d8072(0x13e)+_0x12f803[_0x6d8072(0x1c5)]+_0x6d8072(0x142)+_0x16393d+_0x6d8072(0x1ba)+_0x91d51b),this[_0x6d8072(0x19f)]['debug'](_0x6d8072(0x1d8)+_0x1dec92[_0x6d8072(0x1a9)]),this[_0x6d8072(0x19f)][_0x6d8072(0x1ef)](_0x6d8072(0x1d1)+_0x1c8ffa[_0x6d8072(0x194)]+',\x20tools:\x20'+_0x4345d2[_0x6d8072(0x194)]),this[_0x6d8072(0x19f)][_0x6d8072(0x1ef)](_0x6d8072(0x1dc)+_0x1dec92[_0x6d8072(0x15b)][_0x6d8072(0x156)]+_0x6d8072(0x17f)+_0x1dec92[_0x6d8072(0x178)][_0x6d8072(0x156)]),this['logger'][_0x6d8072(0x1ef)](_0x6d8072(0x1d4)+_0x2ec1da[_0x6d8072(0x194)]+',\x20tools:\x20'+_0x3f9b67[_0x6d8072(0x194)]);_0x2ec1da[_0x6d8072(0x194)]>0x0&&this[_0x6d8072(0x19f)][_0x6d8072(0x1ef)](_0x6d8072(0x1cf),_0x2ec1da['map'](_0x6f431f=>_0x6f431f[_0x6d8072(0x14e)](0x0,0x32)+_0x6d8072(0x13f))[_0x6d8072(0x1ec)](_0x6d8072(0x18f)));_0x3f9b67[_0x6d8072(0x194)]>0x0&&this[_0x6d8072(0x19f)][_0x6d8072(0x1ef)](_0x6d8072(0x1eb),_0x3f9b67[_0x6d8072(0x1c8)](_0x30b605=>_0x30b605[_0x6d8072(0x153)])[_0x6d8072(0x1ec)](',\x20'));const _0x4d98d9=calculateConversationDelta(_0x12f803[_0x6d8072(0x152)],_0x1dec92['messageHistory']),_0x126bb4=extractLastUserMessage(_0x4d98d9,_0x12f803[_0x6d8072(0x152)]);if(_0x126bb4[_0x6d8072(0x199)])throw new SDKError(ErrorCode[_0x6d8072(0x154)],_0x126bb4[_0x6d8072(0x199)]);const _0x10ad37=_0x126bb4[_0x6d8072(0x16c)]||'',_0x183970=()=>{const _0x205a0b=_0x6d8072,_0x54dcf8=[];_0x1c8ffa['length']>0x0&&_0x54dcf8[_0x205a0b(0x195)](_0x1c8ffa['join']('\x0a\x0a'));_0x4345d2['length']>0x0&&_0x54dcf8['push'](generateToolPrompt(_0x4345d2));if(_0x12f803[_0x205a0b(0x152)]&&_0x12f803[_0x205a0b(0x152)]['length']>0x1){const _0x13c5e6=formatConversationHistory(_0x12f803['messages']);_0x13c5e6&&_0x54dcf8[_0x205a0b(0x195)](_0x205a0b(0x191)+_0x13c5e6+_0x205a0b(0x162));}return _0x54dcf8[_0x205a0b(0x195)](_0x10ad37),_0x54dcf8[_0x205a0b(0x1df)](_0x1a5c38=>_0x1a5c38&&_0x1a5c38['trim']())[_0x205a0b(0x1ec)]('\x0a---\x0a\x0a');};let _0x364711;if(_0x91d51b){this[_0x6d8072(0x19f)]['info']('['+_0x1dec92[_0x6d8072(0x1a9)]+']\x20Building\x20a\x20new\x20context\x20for\x20model\x20'+_0x12f803['model']+_0x6d8072(0x15e)+_0x1c8ffa[_0x6d8072(0x194)]+_0x6d8072(0x174)+_0x4345d2[_0x6d8072(0x194)]+',\x20tool_names=['+_0x4345d2[_0x6d8072(0x1c8)](_0x315731=>_0x315731['name'])['join'](',\x20')+']'),_0x364711=_0x183970();for(const _0xb7155a of _0x1c8ffa){_0x1dec92['embeddedSystemPrompts'][_0x6d8072(0x1d7)](_0xb7155a);}for(const _0x4bb131 of _0x4345d2){_0x1dec92[_0x6d8072(0x178)][_0x6d8072(0x1b2)](_0x4bb131['name'],_0x4bb131);}}else{const _0x22797b=[];_0x2ec1da[_0x6d8072(0x194)]>0x0&&(_0x22797b[_0x6d8072(0x195)](_0x2ec1da[_0x6d8072(0x1ec)]('\x0a\x0a')),this[_0x6d8072(0x19f)][_0x6d8072(0x1ef)](_0x6d8072(0x1b8),_0x2ec1da[_0x6d8072(0x194)],'new\x20system\x20prompt(s)'));if(_0x3f9b67[_0x6d8072(0x194)]>0x0)try{_0x22797b[_0x6d8072(0x195)](generateToolPrompt(_0x3f9b67)),this['logger'][_0x6d8072(0x1ef)]('Embedding',_0x3f9b67[_0x6d8072(0x194)],_0x6d8072(0x1ea));}catch(_0xc87a16){this['logger']['error'](_0x6d8072(0x182),_0xc87a16);}try{const _0x3d3384=extractToolResults(_0x4d98d9);_0x3d3384&&(_0x22797b['push'](_0x3d3384),this[_0x6d8072(0x19f)][_0x6d8072(0x1ef)](_0x6d8072(0x13d)));}catch(_0x2d8e90){this[_0x6d8072(0x19f)][_0x6d8072(0x199)](_0x6d8072(0x1a0),_0x2d8e90);}_0x22797b[_0x6d8072(0x195)](_0x10ad37);const _0x33c3ca=_0x22797b[_0x6d8072(0x1df)](_0xd7e7f0=>_0xd7e7f0&&_0xd7e7f0['trim']());_0x364711=_0x33c3ca[_0x6d8072(0x194)]>0x0?_0x33c3ca[_0x6d8072(0x1ec)](_0x6d8072(0x17c)):_0x10ad37;for(const _0x2802cd of _0x2ec1da){_0x1dec92[_0x6d8072(0x15b)][_0x6d8072(0x1d7)](_0x2802cd);}for(const _0x6c398f of _0x3f9b67){_0x1dec92['embeddedToolsByName'][_0x6d8072(0x1b2)](_0x6c398f[_0x6d8072(0x153)],_0x6c398f);}}(!_0x364711||!_0x364711[_0x6d8072(0x18c)]())&&(this[_0x6d8072(0x19f)][_0x6d8072(0x17d)](_0x6d8072(0x1d6)),this['logger'][_0x6d8072(0x17d)](_0x6d8072(0x19b),{'isNewContext':_0x91d51b,'userMessageLength':_0x10ad37?.[_0x6d8072(0x194)]||0x0,'systemPromptsCount':_0x1c8ffa[_0x6d8072(0x194)],'toolsCount':_0x4345d2[_0x6d8072(0x194)],'messagesCount':_0x12f803[_0x6d8072(0x152)]?.[_0x6d8072(0x194)]||0x0,'newMessagesCount':_0x4d98d9[_0x6d8072(0x194)]}),clearChatState(_0x1dec92),_0x364711=_0x183970(),(!_0x364711||!_0x364711[_0x6d8072(0x18c)]())&&(this[_0x6d8072(0x19f)][_0x6d8072(0x199)](_0x6d8072(0x17e)),this[_0x6d8072(0x19f)][_0x6d8072(0x199)](_0x6d8072(0x1a2),{'systemPromptsCount':_0x1c8ffa[_0x6d8072(0x194)],'toolsCount':_0x4345d2['length'],'messagesCount':_0x12f803[_0x6d8072(0x152)]?.[_0x6d8072(0x194)]||0x0,'userMessageLength':_0x10ad37?.['length']||0x0}),_0x364711=_0x6d8072(0x1bf)),this[_0x6d8072(0x19f)][_0x6d8072(0x16d)](_0x6d8072(0x1e3),_0x364711[_0x6d8072(0x14e)](0x0,0x64)+'...'));const _0x567ec4=_0x12f803['stream']!==![];if(_0x567ec4){_0x4c9c56[_0x6d8072(0x18a)][_0x6d8072(0x187)](0xc8,{'Content-Type':'text/event-stream','Cache-Control':_0x6d8072(0x1e0),'Connection':_0x6d8072(0x1c2),'X-Accel-Buffering':'no'});const _0x55e437=generateMessageId();let _0x310b9f=0x0,_0x4d33c0=0x0;try{if(_0x1dec92[_0x6d8072(0x1a9)]){const _0x58bce1=_0x364711[_0x6d8072(0x14e)](0x0,0x32)['replace'](/\n/g,'\x20');this[_0x6d8072(0x19f)][_0x6d8072(0x16d)]('['+_0x1dec92[_0x6d8072(0x1a9)]+_0x6d8072(0x13c)+_0x12f803[_0x6d8072(0x1c5)]+',\x20context='+_0x16393d+',\x20'+_0x12f803[_0x6d8072(0x152)][_0x6d8072(0x194)]+_0x6d8072(0x1b0)+_0x1c8ffa['length']+_0x6d8072(0x19c)+_0x4345d2['length']+'\x20tools,\x20message_size='+_0x364711[_0x6d8072(0x194)]+_0x6d8072(0x186)+_0x58bce1+_0x6d8072(0x161));}const _0x435094=this[_0x6d8072(0x17a)]['tdx'][_0x6d8072(0x1db)][_0x6d8072(0x1c7)](_0x364711,{'chatId':_0x1dec92[_0x6d8072(0x1a9)]||undefined,'agentId':_0x1dec92[_0x6d8072(0x1a9)]?undefined:_0x1dec92[_0x6d8072(0x1a8)]});if(!_0x435094){this[_0x6d8072(0x19f)][_0x6d8072(0x199)](_0x6d8072(0x14a)),this[_0x6d8072(0x19f)][_0x6d8072(0x199)](_0x6d8072(0x19b),JSON[_0x6d8072(0x158)]({'chatId':_0x1dec92['chatId'],'agentId':_0x1dec92['agentId'],'model':_0x12f803[_0x6d8072(0x1c5)],'sessionId':_0x249bbc,'contextSignature':_0x16393d})),_0x1dec92[_0x6d8072(0x1a9)]='',this['logger']['warn'](_0x6d8072(0x15c));const _0x342d55=formatAnthropicSSE({'type':'error','error':{'type':'api_error','message':_0x6d8072(0x198)},'request_id':_0x55e437});_0x4c9c56['raw'][_0x6d8072(0x1e5)](_0x342d55),_0x4c9c56[_0x6d8072(0x18a)][_0x6d8072(0x17b)]();return;}_0x1dec92['messageHistory']=_0x12f803[_0x6d8072(0x152)];const _0x524a44=_0x1dec92;async function*_0x289dda(_0x4f63ef){const _0x1e340a=_0x6d8072;for await(const _0x58ec08 of _0x4f63ef){if(_0x58ec08[_0x1e340a(0x15f)]==='metadata')_0x58ec08[_0x1e340a(0x1b3)]['chatId']&&!_0x524a44[_0x1e340a(0x1a9)]&&(_0x524a44['chatId']=_0x58ec08[_0x1e340a(0x1b3)][_0x1e340a(0x1a9)]);else _0x58ec08[_0x1e340a(0x15f)]===_0x1e340a(0x1a4)&&(yield _0x58ec08['data']);}}const _0x32e456=_0x289dda(_0x435094);_0x310b9f=estimateInputTokensFromRequest(_0x12f803);const _0x12cba1=transformTDStreamToAnthropic(_0x32e456,_0x55e437,_0x12f803[_0x6d8072(0x1c5)],this[_0x6d8072(0x19f)],_0x10ad37,_0x310b9f),_0x3a4a02=_0x364711['length'];let _0x2b5814=0x0;for await(const _0x493c7e of _0x12cba1){const _0x122ab2=formatAnthropicSSE(_0x493c7e);_0x2b5814++,this['logger'][_0x6d8072(0x1ef)](colorizeJSONCompact(_0x493c7e,{'color':!![]})),_0x493c7e[_0x6d8072(0x15f)]==='error'&&_0x493c7e['error'][_0x6d8072(0x15f)]==='request_too_large'&&(clearChatState(_0x1dec92),this[_0x6d8072(0x19f)][_0x6d8072(0x17d)](_0x6d8072(0x197)+_0x493c7e[_0x6d8072(0x199)][_0x6d8072(0x18e)]+_0x6d8072(0x1e9)+_0x3a4a02+'\x20chars.\x20Cleared\x20chat\x20state\x20for\x20session\x20'+_0x249bbc+_0x6d8072(0x173)+_0x16393d)),_0x493c7e[_0x6d8072(0x15f)]===_0x6d8072(0x1ed)&&_0x493c7e[_0x6d8072(0x1bb)]?.[_0x6d8072(0x1cb)]&&(_0x4d33c0=_0x493c7e[_0x6d8072(0x1bb)][_0x6d8072(0x1cb)]),_0x4c9c56[_0x6d8072(0x18a)]['write'](_0x122ab2);}this[_0x6d8072(0x19f)][_0x6d8072(0x1ef)]('Stream\x20complete.\x20Sent\x20'+_0x2b5814+_0x6d8072(0x147)),appendUsageEntry(_0x249bbc,{'timestamp':new Date()['toISOString'](),'model':_0x12f803[_0x6d8072(0x1c5)],'inputTokens':_0x310b9f,'outputTokens':_0x4d33c0,'contextSignature':_0x16393d,'profile':this[_0x6d8072(0x17a)][_0x6d8072(0x148)]?.['context']?.['profile'],'chatId':_0x1dec92[_0x6d8072(0x1a9)]||undefined})[_0x6d8072(0x193)](_0x2bf7d3=>{this['logger']['warn']('Failed\x20to\x20log\x20usage\x20entry:\x20'+_0x2bf7d3);}),_0x4c9c56[_0x6d8072(0x18a)][_0x6d8072(0x17b)]();}catch(_0x4464c6){(_0x310b9f>0x0||_0x4d33c0>0x0)&&appendUsageEntry(_0x249bbc,{'timestamp':new Date()['toISOString'](),'model':_0x12f803[_0x6d8072(0x1c5)],'inputTokens':_0x310b9f,'outputTokens':_0x4d33c0,'contextSignature':_0x16393d,'profile':this[_0x6d8072(0x17a)]['tdx']?.[_0x6d8072(0x145)]?.['profile'],'chatId':_0x1dec92[_0x6d8072(0x1a9)]||undefined})[_0x6d8072(0x193)](_0x270ffe=>{const _0x379ce4=_0x6d8072;this[_0x379ce4(0x19f)][_0x379ce4(0x17d)](_0x379ce4(0x167)+_0x270ffe);});const _0x7e55a=_0x4464c6 instanceof Error?_0x4464c6[_0x6d8072(0x18e)]:'Unknown\x20error';this['logger'][_0x6d8072(0x199)](_0x6d8072(0x1cd),_0x4464c6),this['logger'][_0x6d8072(0x199)](_0x6d8072(0x19b),JSON[_0x6d8072(0x158)]({'chatId':_0x1dec92[_0x6d8072(0x1a9)],'agentId':_0x1dec92[_0x6d8072(0x1a8)],'model':_0x12f803[_0x6d8072(0x1c5)],'sessionId':_0x249bbc,'contextSignature':_0x16393d})),_0x1dec92[_0x6d8072(0x1a9)]='',this['logger']['warn'](_0x6d8072(0x1d2));const _0x25f4dc=formatAnthropicSSE({'type':'error','error':{'type':_0x6d8072(0x1af),'message':_0x7e55a},'request_id':_0x55e437});_0x4c9c56[_0x6d8072(0x18a)][_0x6d8072(0x1e5)](_0x25f4dc),_0x4c9c56[_0x6d8072(0x18a)][_0x6d8072(0x17b)]();}}else this[_0x6d8072(0x19f)][_0x6d8072(0x199)](_0x6d8072(0x166)),_0x4c9c56[_0x6d8072(0x196)](0x1f5)[_0x6d8072(0x1a1)]({'type':_0x6d8072(0x199),'error':{'type':'not_supported_error','message':_0x6d8072(0x1a6)}});}async[a59_0x30d28e(0x1a5)](_0xd7a93b){const _0x55b328=a59_0x30d28e,_0x4fd1e0=_0xd7a93b[_0x55b328(0x157)],_0x483705=estimateInputTokensFromRequest(_0x4fd1e0);return this[_0x55b328(0x19f)]['info'](_0xd7a93b['method']+'\x20'+_0xd7a93b[_0x55b328(0x1c1)]+_0x55b328(0x1c9)+_0x483705),{'input_tokens':_0x483705};}async[a59_0x30d28e(0x16f)](){const _0x31dcbb=a59_0x30d28e;try{await this[_0x31dcbb(0x179)]['listen']({'port':this['config'][_0x31dcbb(0x19d)],'host':_0x31dcbb(0x1f0)}),this['logger'][_0x31dcbb(0x16d)](_0x31dcbb(0x1cc)+this[_0x31dcbb(0x17a)]['port']),this[_0x31dcbb(0x159)]=setInterval(()=>{this['cleanupExpiredChats']();},CLEANUP_INTERVAL_MS),this[_0x31dcbb(0x19f)][_0x31dcbb(0x1ef)](_0x31dcbb(0x176)+CLEANUP_INTERVAL_MS/0x3e8+_0x31dcbb(0x163)+CACHE_EXPIRATION_MS/0x3e8+'s)');}catch(_0x557f75){const _0x204678=_0x557f75 instanceof Error?_0x557f75['message']:_0x31dcbb(0x172);throw new Error(_0x31dcbb(0x1c4)+_0x204678);}}async['stop'](){const _0x5e50bc=a59_0x30d28e;this['cleanupInterval']&&(clearInterval(this[_0x5e50bc(0x159)]),this[_0x5e50bc(0x159)]=undefined),await this[_0x5e50bc(0x179)][_0x5e50bc(0x144)]();}[a59_0x30d28e(0x1b4)](){const _0x2e01be=a59_0x30d28e,_0x428c02=this['server'][_0x2e01be(0x179)]['address']();if(typeof _0x428c02==='string')return _0x428c02;if(_0x428c02)return'http://'+_0x428c02[_0x2e01be(0x1ab)]+':'+_0x428c02[_0x2e01be(0x19d)];return _0x2e01be(0x181)+this[_0x2e01be(0x17a)][_0x2e01be(0x19d)];}}
1
+ const a59_0x3a83cc=a59_0x2fd5;function a59_0x39c9(){const _0x2e8b3b=['url','validateMessageRequest','message_delta','New\x20-\x20system\x20prompts:\x20','\x20->\x20','Unknown\x20error','api_error','getAgentForModel','name','has','error','System\x20prompts:\x20','body','agentId','listen','map','messages','\x20(reasoning:\x20','Evicted\x20oldest\x20chat\x20(signature:\x20','new\x20tool(s)','Reset\x20chat\x20state\x20to\x20recover\x20on\x20next\x20request','2471bCVFCR','717102etMbhu','trace','Reset\x20chat\x20ID\x20to\x20recover\x20on\x20next\x20request','Failed\x20to\x20start\x20proxy\x20server:\x20','/v1/messages','\x20chars.\x20Cleared\x20chat\x20state\x20for\x20session\x20','442375YJNnGT','raw','Authorization','/health','user_id','message','Proxy\x20server\x20started\x20at\x20localhost:','method','33840994kuOiqK','substring','\x20Input\x20size:\x20',',\x20is\x20new\x20context:\x20','Creating/looking\x20up\x20agent\x20for:\x20',',\x20tools=','server','createPromise','\x0a---\x0a\x0a','stringify','keep-alive','default','isArray','[session:\x20','request_too_large','filter','TD\x20LLM\x20Proxy\x20Server','model','Added\x20system\x20prompt\x20previews:','\x20SSE\x20events.','GET','handleCountTokens','\x20system\x20prompts,\x20','setupMiddleware','end','Failed\x20to\x20generate\x20tool\x20prompt:','http://','[CONTEXT\x20LENGTH\x20ERROR]\x20','port','getOrCreateSession','event',',\x20tool_names=[','handleMessages','string','helpText','POST','INVALID_REQUEST','replace','...','Added\x20tool\x20names:','site','catch','data','creating',']\x20Continue\x20chat\x20for\x20model\x20','cleanupInterval','getOrCreateDefaultAgent','get','set','0.0.0.0','Agent\x20cached:\x20','setErrorHandler','Embedding','context',',\x20context\x20signature:\x20','not_supported_error','thinking','embeddedToolsByName','system','output_tokens','logger','\x20limit','push','anthropic-version','21IlpuAo','join','88tFgfCN','Context:','attributes','Failed\x20to\x20extract\x20tool\x20results:','messageHistory',')\x20to\x20stay\x20under\x20',',\x20tools:\x20','projectId','text','Including\x20tool\x20results','warn','[PROXY\x20ERROR]\x20Non-streaming\x20responses\x20are\x20not\x20yet\x20supported','tools','send','info','trim','Final\x20message\x20reconstructed\x20after\x20context\x20reset:','11094phUWYT','\x20|\x20','Failed\x20to\x20initialize\x20chat\x20stream.\x20Please\x20try\x20again.',':\x20messages=','Final\x20message\x20is\x20empty\x20after\x20construction\x20-\x20starting\x20fresh\x20conversation','900140aUcUQx','startChat','Stream\x20complete.\x20Sent\x20','writeHead','no-cache',']\x20model:\x20','Non-streaming\x20responses\x20are\x20not\x20yet\x20supported','size','header:\x20','stream','http://localhost:','profile','Started\x20cache\x20cleanup\x20interval\x20(runs\x20every\x20','8eXBrOJ','chatId','metadata','code','sessionCache',':\x20estimated\x20input_tokens=',',\x20context:\x20','close','delete','setupRoutes','\x20tools,\x20message_size=','chats','text/event-stream','OPTIONS','toISOString','Validation\x20failed:\x20tools\x20must\x20be\x20an\x20array\x20if\x20provided','clear','156378cQpIaP','12794690lFoxxT','\x0a</conversation_history>','embeddedSystemPrompts','lastUsedAt','now','usage','type','\x0a\x0a<conversation_history>\x0a','Concurrent\x20chat\x20creation\x20failed,\x20will\x20fall\x20back\x20to\x20lazy\x20creation:',',\x20context=','debug','llm','post','handleRouteError','config','length','agentCache','write','cleanupExpiredChats','address','getAddress','Failed\x20to\x20log\x20usage\x20entry:\x20','tdx'];a59_0x39c9=function(){return _0x2e8b3b;};return a59_0x39c9();}(function(_0x190d35,_0x57a1e7){const _0x3f1665=a59_0x2fd5,_0x248796=_0x190d35();while(!![]){try{const _0x2276b7=-parseInt(_0x3f1665(0x9a))/0x1+-parseInt(_0x3f1665(0x118))/0x2*(parseInt(_0x3f1665(0xe2))/0x3)+-parseInt(_0x3f1665(0x107))/0x4*(parseInt(_0x3f1665(0xfa))/0x5)+parseInt(_0x3f1665(0xf5))/0x6*(-parseInt(_0x3f1665(0x93))/0x7)+parseInt(_0x3f1665(0xe4))/0x8*(parseInt(_0x3f1665(0x94))/0x9)+-parseInt(_0x3f1665(0x119))/0xa+parseInt(_0x3f1665(0xa2))/0xb;if(_0x2276b7===_0x57a1e7)break;else _0x248796['push'](_0x248796['shift']());}catch(_0x35c501){_0x248796['push'](_0x248796['shift']());}}}(a59_0x39c9,0xa3d10));import a59_0x38fbe8 from'fastify';import a59_0x2df495 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'../sdk/llm/model-aliases.js';import{SessionCache}from'./session-cache.js';import{appendUsageEntry}from'./claude-usage-tracker.js';import{calculateContextSignature}from'./context-signature.js';import{formatConversationHistory,calculateConversationDelta,extractLastUserMessage}from'./conversation-utils.js';function extractSessionUUID(_0x395c9e){const _0x217cf4=_0x395c9e['match'](/_session_([a-f0-9-]+)$/i);if(_0x217cf4)return _0x217cf4[0x1];return _0x395c9e;}function clearChatState(_0xfd5b1f){const _0x180f60=a59_0x2fd5;_0xfd5b1f['chatId']='',_0xfd5b1f[_0x180f60(0x11b)][_0x180f60(0x117)](),_0xfd5b1f[_0x180f60(0xdb)][_0x180f60(0x117)]();}function mapBudgetTokensToReasoningEffort(_0x1e224a,_0x286f75){if(_0x286f75!=='dev-us01')return 0x0;if(!_0x1e224a||_0x1e224a===0x0)return 0x0;if(_0x1e224a<=0x400)return 0x1;if(_0x1e224a<=0x800)return 0x2;if(_0x1e224a<=0x1000)return 0x3;return 0x4;}const MAX_CHATS_PER_SESSION=0xa,CACHE_EXPIRATION_MS=0xa*0x3c*0x3e8,CLEANUP_INTERVAL_MS=0x3c*0x3e8;function a59_0x2fd5(_0x104c8b,_0x325902){_0x104c8b=_0x104c8b-0x70;const _0x39c973=a59_0x39c9();let _0x2fd59f=_0x39c973[_0x104c8b];return _0x2fd59f;}export class ProxyServer{[a59_0x3a83cc(0xa8)];[a59_0x3a83cc(0x10b)];[a59_0x3a83cc(0x77)];[a59_0x3a83cc(0x75)];[a59_0x3a83cc(0xcf)];['logger'];constructor(_0x24f75d){const _0x562321=a59_0x3a83cc;this[_0x562321(0xde)]=_0x24f75d['logger'],this[_0x562321(0x75)]=_0x24f75d,this['sessionCache']=new SessionCache({'maxChatsPerSession':MAX_CHATS_PER_SESSION,'cacheExpirationMs':CACHE_EXPIRATION_MS}),this[_0x562321(0x77)]=new Map(),this['server']=a59_0x38fbe8({'logger':![],'bodyLimit':0x40*0x400*0x400}),this[_0x562321(0xb9)](),this[_0x562321(0x110)]();}async[a59_0x3a83cc(0x85)](_0x43ebeb,_0x1f80a1=0x0){const _0xdd7abe=a59_0x3a83cc,_0x5182c2=extractModelAlias(_0x43ebeb),_0x3ba2ad=resolveModelAlias(_0x5182c2),_0x570356=_0x3ba2ad+'_'+_0x1f80a1;let _0x57b2ab=this[_0xdd7abe(0x77)][_0xdd7abe(0xd1)](_0x570356);if(!_0x57b2ab){this[_0xdd7abe(0xde)][_0xdd7abe(0x71)]('Model\x20normalization:\x20'+_0x43ebeb+_0xdd7abe(0x82)+_0x5182c2+_0xdd7abe(0x82)+_0x3ba2ad),this[_0xdd7abe(0xde)][_0xdd7abe(0x71)](_0xdd7abe(0xa6)+_0x3ba2ad+_0xdd7abe(0x8f)+_0x1f80a1+')');const _0x151651=await this[_0xdd7abe(0x75)]['tdx']['llm'][_0xdd7abe(0xd0)](_0x3ba2ad,_0x1f80a1);_0x57b2ab=_0x151651['id'],this[_0xdd7abe(0x77)][_0xdd7abe(0xd2)](_0x570356,_0x57b2ab),this['logger'][_0xdd7abe(0x71)](_0xdd7abe(0xd4)+_0x570356+_0xdd7abe(0x82)+_0x57b2ab+'\x20('+_0x151651[_0xdd7abe(0xe6)][_0xdd7abe(0x86)]+')');}return _0x57b2ab;}['cleanupExpiredChats'](){const _0x29c16e=a59_0x3a83cc;this[_0x29c16e(0x10b)][_0x29c16e(0x79)]();}[a59_0x3a83cc(0xb9)](){const _0x5b7bfe=a59_0x3a83cc;this['server']['register'](a59_0x2df495,{'origin':!![],'methods':[_0x5b7bfe(0xb6),_0x5b7bfe(0xc5),_0x5b7bfe(0x114)],'allowedHeaders':['Content-Type',_0x5b7bfe(0x9c),_0x5b7bfe(0xe1),'x-api-key']}),this['server'][_0x5b7bfe(0xd5)]((_0x4c9b32,_0xfc5874,_0x22736e)=>{const _0x5e0e70=_0x5b7bfe;this[_0x5e0e70(0x74)](_0x4c9b32,_0xfc5874,_0x22736e);});}['handleRouteError'](_0x44d1e2,_0x5ca0cd,_0x5b2016){const _0x2a87cb=a59_0x3a83cc;if(_0x44d1e2 instanceof SDKError){const _0x3ec74b=_0x44d1e2['isUserError']()?0x190:0x1f4;_0x5b2016['code'](_0x3ec74b)[_0x2a87cb(0xf1)]({'type':_0x2a87cb(0x88),'error':{'type':_0x44d1e2[_0x2a87cb(0x10a)],'message':_0x44d1e2['originalMessage'],'helpText':_0x44d1e2[_0x2a87cb(0xc4)]}});}else{const _0x26e6fd=_0x44d1e2 instanceof Error?_0x44d1e2['message']:_0x2a87cb(0x83);this[_0x2a87cb(0xde)]['error']('[PROXY\x20ERROR]\x20Unhandled\x20error\x20in\x20'+_0x5ca0cd[_0x2a87cb(0xa1)]+'\x20'+_0x5ca0cd[_0x2a87cb(0x7e)]+':',_0x44d1e2),_0x5b2016[_0x2a87cb(0x10a)](0x1f4)[_0x2a87cb(0xf1)]({'type':_0x2a87cb(0x88),'error':{'type':_0x2a87cb(0x84),'message':_0x26e6fd}});}}[a59_0x3a83cc(0x110)](){const _0x1e6755=a59_0x3a83cc;this[_0x1e6755(0xa8)][_0x1e6755(0xd1)](_0x1e6755(0x9d),async()=>{const _0x2e2a75=_0x1e6755;return{'status':'ok','message':_0x2e2a75(0xb2)};}),this[_0x1e6755(0xa8)][_0x1e6755(0x73)](_0x1e6755(0x98),async(_0xf0b9a,_0x517876)=>{const _0x45664f=_0x1e6755;return this[_0x45664f(0xc2)](_0xf0b9a,_0x517876)[_0x45664f(0xcb)](_0x10779b=>{const _0x14a459=_0x45664f;this[_0x14a459(0x74)](_0x10779b,_0xf0b9a,_0x517876);});}),this[_0x1e6755(0xa8)]['post']('/v1/messages/count_tokens',async(_0x537168,_0x48667f)=>{const _0x3c0045=_0x1e6755;return this[_0x3c0045(0xb7)](_0x537168)[_0x3c0045(0xcb)](_0xb5518e=>{const _0x2998c5=_0x3c0045;this[_0x2998c5(0x74)](_0xb5518e,_0x537168,_0x48667f);});});}[a59_0x3a83cc(0x7f)](_0x390cc7){const _0x985cd2=a59_0x3a83cc;if(!_0x390cc7[_0x985cd2(0x8e)]||!Array[_0x985cd2(0xae)](_0x390cc7[_0x985cd2(0x8e)])||_0x390cc7[_0x985cd2(0x8e)]['length']===0x0)throw new SDKError(ErrorCode[_0x985cd2(0xc6)],'Validation\x20failed:\x20messages\x20array\x20is\x20required\x20and\x20must\x20not\x20be\x20empty');if(_0x390cc7[_0x985cd2(0xf0)]&&!Array[_0x985cd2(0xae)](_0x390cc7['tools']))throw new SDKError(ErrorCode[_0x985cd2(0xc6)],_0x985cd2(0x116));}async[a59_0x3a83cc(0xc2)](_0x4fe2cb,_0x52727b){const _0x5c78a4=a59_0x3a83cc,_0x20890a=_0x4fe2cb[_0x5c78a4(0x8a)];this[_0x5c78a4(0x7f)](_0x20890a);const _0x24a3c5=_0x20890a[_0x5c78a4(0x8e)]?.[_0x5c78a4(0x76)]??0x0,_0xbb0ba3=_0x20890a['model']||'unknown';this[_0x5c78a4(0xde)][_0x5c78a4(0xf2)](_0x4fe2cb[_0x5c78a4(0xa1)]+'\x20'+_0x4fe2cb[_0x5c78a4(0x7e)]+_0x5c78a4(0xf8)+_0x24a3c5+',\x20model='+_0xbb0ba3),this[_0x5c78a4(0xde)][_0x5c78a4(0x71)](_0x5c78a4(0x102)+colorizeJSONCompact(_0x4fe2cb['headers']));this[_0x5c78a4(0xde)][_0x5c78a4(0x95)]&&this[_0x5c78a4(0xde)]['trace'](colorizeJSON(_0x20890a,{'color':!![]}));const _0x4965da=_0x20890a[_0x5c78a4(0x109)]?.[_0x5c78a4(0x9e)]||_0x5c78a4(0xad),_0x44a553=extractSessionUUID(_0x4965da),_0x410165=this[_0x5c78a4(0x10b)][_0x5c78a4(0xbf)](_0x44a553,this[_0x5c78a4(0x75)][_0x5c78a4(0xeb)]),_0x1c21c0=[];if(_0x20890a['system']){if(typeof _0x20890a[_0x5c78a4(0xdc)]===_0x5c78a4(0xc3))_0x1c21c0[_0x5c78a4(0xe0)](_0x20890a[_0x5c78a4(0xdc)]);else{if(Array[_0x5c78a4(0xae)](_0x20890a[_0x5c78a4(0xdc)]))for(const _0x2b5cfd of _0x20890a[_0x5c78a4(0xdc)]){_0x2b5cfd[_0x5c78a4(0x11f)]===_0x5c78a4(0xec)&&_0x2b5cfd[_0x5c78a4(0xec)]&&_0x1c21c0[_0x5c78a4(0xe0)](_0x2b5cfd['text']);}}}const _0x527285=_0x20890a[_0x5c78a4(0xf0)]||[],_0x15da35=_0x20890a[_0x5c78a4(0xda)]?.['budget_tokens'],_0x53924d=mapBudgetTokensToReasoningEffort(_0x15da35,this['config'][_0x5c78a4(0xca)]),_0x4a0899=calculateContextSignature(_0x20890a[_0x5c78a4(0xb3)],_0x1c21c0,_0x527285,_0x53924d);let _0x6b46fc=_0x410165['chats'][_0x5c78a4(0xd1)](_0x4a0899);const _0x560d72=!_0x6b46fc;if(!_0x6b46fc){const _0x5d9fd8=await this[_0x5c78a4(0x85)](_0x20890a['model'],_0x53924d);_0x6b46fc={'chatId':'','agentId':_0x5d9fd8,'contextSignature':_0x4a0899,'embeddedSystemPrompts':new Set(),'embeddedToolsByName':new Map(),'messageHistory':[],'lastUsedAt':Date[_0x5c78a4(0x11d)]()},_0x410165['chats'][_0x5c78a4(0xd2)](_0x4a0899,_0x6b46fc);if(_0x410165[_0x5c78a4(0x112)][_0x5c78a4(0x101)]>MAX_CHATS_PER_SESSION){let _0x3b9899=null,_0x15cb47=Date[_0x5c78a4(0x11d)]();for(const [_0x3e4dbf,_0x139baa]of _0x410165[_0x5c78a4(0x112)]){_0x139baa[_0x5c78a4(0x11c)]<_0x15cb47&&(_0x15cb47=_0x139baa[_0x5c78a4(0x11c)],_0x3b9899=_0x3e4dbf);}_0x3b9899&&(_0x410165[_0x5c78a4(0x112)][_0x5c78a4(0x10f)](_0x3b9899),this['logger']['debug'](_0x5c78a4(0x90)+_0x3b9899+_0x5c78a4(0xe9)+MAX_CHATS_PER_SESSION+_0x5c78a4(0xdf)));}}else _0x6b46fc[_0x5c78a4(0x11c)]=Date[_0x5c78a4(0x11d)]();if(!_0x6b46fc[_0x5c78a4(0x108)]){if(_0x6b46fc[_0x5c78a4(0xcd)]&&_0x6b46fc[_0x5c78a4(0xa9)]){this['logger'][_0x5c78a4(0x71)]('Waiting\x20for\x20concurrent\x20chat\x20creation\x20for\x20context:\x20'+_0x4a0899);try{_0x6b46fc[_0x5c78a4(0x108)]=await _0x6b46fc[_0x5c78a4(0xa9)];}catch(_0x4fd696){this[_0x5c78a4(0xde)]['error'](_0x5c78a4(0x121),_0x4fd696);}}else{if(!_0x6b46fc[_0x5c78a4(0xcd)]){_0x6b46fc[_0x5c78a4(0xcd)]=!![],_0x6b46fc['createPromise']=((async()=>{const _0x10382f=_0x5c78a4;try{const _0x251cee=await this[_0x10382f(0x75)]['tdx'][_0x10382f(0x72)][_0x10382f(0xfb)](_0x6b46fc[_0x10382f(0x8b)]);return this[_0x10382f(0xde)]['info']('['+_0x251cee['id']+']\x20Created\x20new\x20chat\x20for\x20model\x20'+_0x20890a[_0x10382f(0xb3)]+_0x10382f(0x70)+_0x4a0899),_0x251cee['id'];}catch(_0x2b8c5d){this[_0x10382f(0xde)][_0x10382f(0x88)]('Failed\x20to\x20create\x20chat,\x20will\x20fall\x20back\x20to\x20lazy\x20creation:',_0x2b8c5d);throw _0x2b8c5d;}finally{_0x6b46fc[_0x10382f(0xcd)]=![],_0x6b46fc[_0x10382f(0xa9)]=undefined;}})());try{_0x6b46fc[_0x5c78a4(0x108)]=await _0x6b46fc[_0x5c78a4(0xa9)];}catch{}}}}const _0x12dd44=_0x1c21c0[_0x5c78a4(0xb1)](_0x142162=>!_0x6b46fc[_0x5c78a4(0x11b)][_0x5c78a4(0x87)](_0x142162)),_0x2334e6=_0x527285[_0x5c78a4(0xb1)](_0x38b123=>!_0x6b46fc['embeddedToolsByName'][_0x5c78a4(0x87)](_0x38b123[_0x5c78a4(0x86)]));this[_0x5c78a4(0xde)][_0x5c78a4(0x71)](_0x5c78a4(0xaf)+_0x44a553+_0x5c78a4(0xff)+_0x20890a[_0x5c78a4(0xb3)]+_0x5c78a4(0xd8)+_0x4a0899+_0x5c78a4(0xa5)+_0x560d72),this[_0x5c78a4(0xde)][_0x5c78a4(0x71)]('Chat\x20ID:\x20'+_0x6b46fc[_0x5c78a4(0x108)]),this['logger'][_0x5c78a4(0x71)](_0x5c78a4(0x89)+_0x1c21c0[_0x5c78a4(0x76)]+',\x20tools:\x20'+_0x527285[_0x5c78a4(0x76)]),this[_0x5c78a4(0xde)][_0x5c78a4(0x71)]('Embedded\x20in\x20chat\x20-\x20system\x20prompts:\x20'+_0x6b46fc[_0x5c78a4(0x11b)][_0x5c78a4(0x101)]+_0x5c78a4(0xea)+_0x6b46fc[_0x5c78a4(0xdb)]['size']),this[_0x5c78a4(0xde)][_0x5c78a4(0x71)](_0x5c78a4(0x81)+_0x12dd44['length']+_0x5c78a4(0xea)+_0x2334e6['length']);_0x12dd44[_0x5c78a4(0x76)]>0x0&&this[_0x5c78a4(0xde)]['debug'](_0x5c78a4(0xb4),_0x12dd44[_0x5c78a4(0x8d)](_0x51ab0c=>_0x51ab0c['substring'](0x0,0x32)+_0x5c78a4(0xc8))[_0x5c78a4(0xe3)](_0x5c78a4(0xf6)));_0x2334e6[_0x5c78a4(0x76)]>0x0&&this[_0x5c78a4(0xde)]['debug'](_0x5c78a4(0xc9),_0x2334e6['map'](_0x5536f8=>_0x5536f8[_0x5c78a4(0x86)])['join'](',\x20'));const _0x347506=calculateConversationDelta(_0x20890a[_0x5c78a4(0x8e)],_0x6b46fc[_0x5c78a4(0xe8)]),_0x5999a5=extractLastUserMessage(_0x347506,_0x20890a[_0x5c78a4(0x8e)]);if(_0x5999a5[_0x5c78a4(0x88)])throw new SDKError(ErrorCode['INVALID_REQUEST'],_0x5999a5['error']);const _0x3b4968=_0x5999a5['text']||'',_0xfffa72=()=>{const _0x3ef519=_0x5c78a4,_0x157fd1=[];_0x1c21c0['length']>0x0&&_0x157fd1[_0x3ef519(0xe0)](_0x1c21c0[_0x3ef519(0xe3)]('\x0a\x0a'));_0x527285[_0x3ef519(0x76)]>0x0&&_0x157fd1[_0x3ef519(0xe0)](generateToolPrompt(_0x527285));if(_0x20890a[_0x3ef519(0x8e)]&&_0x20890a[_0x3ef519(0x8e)][_0x3ef519(0x76)]>0x1){const _0x51235a=formatConversationHistory(_0x20890a[_0x3ef519(0x8e)]);_0x51235a&&_0x157fd1[_0x3ef519(0xe0)](_0x3ef519(0x120)+_0x51235a+_0x3ef519(0x11a));}return _0x157fd1['push'](_0x3b4968),_0x157fd1['filter'](_0x10fa29=>_0x10fa29&&_0x10fa29[_0x3ef519(0xf3)]())[_0x3ef519(0xe3)](_0x3ef519(0xaa));};let _0x629071;if(_0x560d72){this['logger'][_0x5c78a4(0xf2)]('['+_0x6b46fc[_0x5c78a4(0x108)]+']\x20Building\x20a\x20new\x20context\x20for\x20model\x20'+_0x20890a[_0x5c78a4(0xb3)]+',\x20system_prompts='+_0x1c21c0[_0x5c78a4(0x76)]+_0x5c78a4(0xa7)+_0x527285[_0x5c78a4(0x76)]+_0x5c78a4(0xc1)+_0x527285[_0x5c78a4(0x8d)](_0x4a23ae=>_0x4a23ae[_0x5c78a4(0x86)])[_0x5c78a4(0xe3)](',\x20')+']'),_0x629071=_0xfffa72();for(const _0x5ae7a9 of _0x1c21c0){_0x6b46fc[_0x5c78a4(0x11b)]['add'](_0x5ae7a9);}for(const _0x4cb905 of _0x527285){_0x6b46fc[_0x5c78a4(0xdb)][_0x5c78a4(0xd2)](_0x4cb905[_0x5c78a4(0x86)],_0x4cb905);}}else{const _0x5ccfc7=[];_0x12dd44[_0x5c78a4(0x76)]>0x0&&(_0x5ccfc7[_0x5c78a4(0xe0)](_0x12dd44[_0x5c78a4(0xe3)]('\x0a\x0a')),this[_0x5c78a4(0xde)][_0x5c78a4(0x71)]('Embedding',_0x12dd44['length'],'new\x20system\x20prompt(s)'));if(_0x2334e6[_0x5c78a4(0x76)]>0x0)try{_0x5ccfc7['push'](generateToolPrompt(_0x2334e6)),this['logger'][_0x5c78a4(0x71)](_0x5c78a4(0xd6),_0x2334e6[_0x5c78a4(0x76)],_0x5c78a4(0x91));}catch(_0x12a4a7){this[_0x5c78a4(0xde)]['error'](_0x5c78a4(0xbb),_0x12a4a7);}try{const _0x4d906c=extractToolResults(_0x347506);_0x4d906c&&(_0x5ccfc7[_0x5c78a4(0xe0)](_0x4d906c),this[_0x5c78a4(0xde)]['debug'](_0x5c78a4(0xed)));}catch(_0x3e5f5e){this[_0x5c78a4(0xde)][_0x5c78a4(0x88)](_0x5c78a4(0xe7),_0x3e5f5e);}_0x5ccfc7['push'](_0x3b4968);const _0x3e0695=_0x5ccfc7[_0x5c78a4(0xb1)](_0x521001=>_0x521001&&_0x521001[_0x5c78a4(0xf3)]());_0x629071=_0x3e0695['length']>0x0?_0x3e0695[_0x5c78a4(0xe3)](_0x5c78a4(0xaa)):_0x3b4968;for(const _0x4742fa of _0x12dd44){_0x6b46fc[_0x5c78a4(0x11b)]['add'](_0x4742fa);}for(const _0x376f08 of _0x2334e6){_0x6b46fc[_0x5c78a4(0xdb)][_0x5c78a4(0xd2)](_0x376f08[_0x5c78a4(0x86)],_0x376f08);}}(!_0x629071||!_0x629071[_0x5c78a4(0xf3)]())&&(this[_0x5c78a4(0xde)]['warn'](_0x5c78a4(0xf9)),this[_0x5c78a4(0xde)][_0x5c78a4(0xee)]('Context:',{'isNewContext':_0x560d72,'userMessageLength':_0x3b4968?.[_0x5c78a4(0x76)]||0x0,'systemPromptsCount':_0x1c21c0[_0x5c78a4(0x76)],'toolsCount':_0x527285[_0x5c78a4(0x76)],'messagesCount':_0x20890a[_0x5c78a4(0x8e)]?.[_0x5c78a4(0x76)]||0x0,'newMessagesCount':_0x347506[_0x5c78a4(0x76)]}),clearChatState(_0x6b46fc),_0x629071=_0xfffa72(),(!_0x629071||!_0x629071[_0x5c78a4(0xf3)]())&&(this[_0x5c78a4(0xde)]['error']('Failed\x20to\x20reconstruct\x20message\x20-\x20all\x20parts\x20are\x20empty,\x20using\x20fallback'),this[_0x5c78a4(0xde)]['error']('Debug\x20info:',{'systemPromptsCount':_0x1c21c0[_0x5c78a4(0x76)],'toolsCount':_0x527285[_0x5c78a4(0x76)],'messagesCount':_0x20890a[_0x5c78a4(0x8e)]?.['length']||0x0,'userMessageLength':_0x3b4968?.[_0x5c78a4(0x76)]||0x0}),_0x629071='continue'),this['logger']['info'](_0x5c78a4(0xf4),_0x629071[_0x5c78a4(0xa3)](0x0,0x64)+_0x5c78a4(0xc8)));const _0x228a9b=_0x20890a[_0x5c78a4(0x103)]!==![];if(_0x228a9b){_0x52727b[_0x5c78a4(0x9b)][_0x5c78a4(0xfd)](0xc8,{'Content-Type':_0x5c78a4(0x113),'Cache-Control':_0x5c78a4(0xfe),'Connection':_0x5c78a4(0xac),'X-Accel-Buffering':'no'});const _0x401f32=generateMessageId();let _0x27b83d=0x0,_0x8e1a23=0x0;try{if(_0x6b46fc[_0x5c78a4(0x108)]){const _0x178d9a=_0x629071['substring'](0x0,0x32)[_0x5c78a4(0xc7)](/\n/g,'\x20');this['logger'][_0x5c78a4(0xf2)]('['+_0x6b46fc[_0x5c78a4(0x108)]+_0x5c78a4(0xce)+_0x20890a[_0x5c78a4(0xb3)]+_0x5c78a4(0x70)+_0x4a0899+',\x20'+_0x20890a[_0x5c78a4(0x8e)][_0x5c78a4(0x76)]+'\x20messages,\x20'+_0x1c21c0[_0x5c78a4(0x76)]+_0x5c78a4(0xb8)+_0x527285[_0x5c78a4(0x76)]+_0x5c78a4(0x111)+_0x629071[_0x5c78a4(0x76)]+',\x20\x22'+_0x178d9a+'...\x22');}const _0x40a633=this[_0x5c78a4(0x75)][_0x5c78a4(0x7d)][_0x5c78a4(0x72)]['chat'](_0x629071,{'chatId':_0x6b46fc[_0x5c78a4(0x108)]||undefined,'agentId':_0x6b46fc[_0x5c78a4(0x108)]?undefined:_0x6b46fc[_0x5c78a4(0x8b)]});if(!_0x40a633){this[_0x5c78a4(0xde)][_0x5c78a4(0x88)]('[PROXY\x20ERROR]\x20Chat\x20stream\x20is\x20undefined'),this[_0x5c78a4(0xde)][_0x5c78a4(0x88)](_0x5c78a4(0xe5),JSON[_0x5c78a4(0xab)]({'chatId':_0x6b46fc['chatId'],'agentId':_0x6b46fc[_0x5c78a4(0x8b)],'model':_0x20890a[_0x5c78a4(0xb3)],'sessionId':_0x44a553,'contextSignature':_0x4a0899})),_0x6b46fc['chatId']='',this[_0x5c78a4(0xde)][_0x5c78a4(0xee)](_0x5c78a4(0x96));const _0x4210a0=formatAnthropicSSE({'type':'error','error':{'type':_0x5c78a4(0x84),'message':_0x5c78a4(0xf7)},'request_id':_0x401f32});_0x52727b[_0x5c78a4(0x9b)]['write'](_0x4210a0),_0x52727b[_0x5c78a4(0x9b)][_0x5c78a4(0xba)]();return;}_0x6b46fc['messageHistory']=_0x20890a[_0x5c78a4(0x8e)];const _0x2e40ef=_0x6b46fc;async function*_0x3f528a(_0x499b62){const _0x3b874f=_0x5c78a4;for await(const _0x57d6d9 of _0x499b62){if(_0x57d6d9[_0x3b874f(0x11f)]===_0x3b874f(0x109))_0x57d6d9[_0x3b874f(0xcc)][_0x3b874f(0x108)]&&!_0x2e40ef['chatId']&&(_0x2e40ef['chatId']=_0x57d6d9['data']['chatId']);else _0x57d6d9[_0x3b874f(0x11f)]===_0x3b874f(0xc0)&&(yield _0x57d6d9[_0x3b874f(0xcc)]);}}const _0x8364b0=_0x3f528a(_0x40a633);_0x27b83d=estimateInputTokensFromRequest(_0x20890a);const _0x3b4791=transformTDStreamToAnthropic(_0x8364b0,_0x401f32,_0x20890a[_0x5c78a4(0xb3)],this['logger'],_0x3b4968,_0x27b83d),_0x4c3fa6=_0x629071[_0x5c78a4(0x76)];let _0x199ece=0x0;for await(const _0x3f37eb of _0x3b4791){const _0x57a676=formatAnthropicSSE(_0x3f37eb);_0x199ece++,this[_0x5c78a4(0xde)][_0x5c78a4(0x71)](colorizeJSONCompact(_0x3f37eb,{'color':!![]})),_0x3f37eb[_0x5c78a4(0x11f)]===_0x5c78a4(0x88)&&_0x3f37eb[_0x5c78a4(0x88)]['type']===_0x5c78a4(0xb0)&&(clearChatState(_0x6b46fc),this[_0x5c78a4(0xde)][_0x5c78a4(0xee)](_0x5c78a4(0xbd)+_0x3f37eb[_0x5c78a4(0x88)][_0x5c78a4(0x9f)]+_0x5c78a4(0xa4)+_0x4c3fa6+_0x5c78a4(0x99)+_0x44a553+_0x5c78a4(0x10d)+_0x4a0899)),_0x3f37eb['type']===_0x5c78a4(0x80)&&_0x3f37eb[_0x5c78a4(0x11e)]?.[_0x5c78a4(0xdd)]&&(_0x8e1a23=_0x3f37eb[_0x5c78a4(0x11e)][_0x5c78a4(0xdd)]),_0x52727b[_0x5c78a4(0x9b)]['write'](_0x57a676);}this['logger']['debug'](_0x5c78a4(0xfc)+_0x199ece+_0x5c78a4(0xb5)),appendUsageEntry(_0x44a553,{'timestamp':new Date()[_0x5c78a4(0x115)](),'model':_0x20890a[_0x5c78a4(0xb3)],'inputTokens':_0x27b83d,'outputTokens':_0x8e1a23,'contextSignature':_0x4a0899,'profile':this[_0x5c78a4(0x75)][_0x5c78a4(0x7d)]?.[_0x5c78a4(0xd7)]?.['profile'],'chatId':_0x6b46fc[_0x5c78a4(0x108)]||undefined})[_0x5c78a4(0xcb)](_0x12f2bd=>{const _0x3dbed3=_0x5c78a4;this['logger'][_0x3dbed3(0xee)](_0x3dbed3(0x7c)+_0x12f2bd);}),_0x52727b[_0x5c78a4(0x9b)][_0x5c78a4(0xba)]();}catch(_0x33d5eb){(_0x27b83d>0x0||_0x8e1a23>0x0)&&appendUsageEntry(_0x44a553,{'timestamp':new Date()[_0x5c78a4(0x115)](),'model':_0x20890a[_0x5c78a4(0xb3)],'inputTokens':_0x27b83d,'outputTokens':_0x8e1a23,'contextSignature':_0x4a0899,'profile':this[_0x5c78a4(0x75)]['tdx']?.['context']?.[_0x5c78a4(0x105)],'chatId':_0x6b46fc[_0x5c78a4(0x108)]||undefined})['catch'](_0x20f8e0=>{const _0xb8f19c=_0x5c78a4;this[_0xb8f19c(0xde)]['warn']('Failed\x20to\x20log\x20usage\x20entry\x20on\x20error:\x20'+_0x20f8e0);});const _0x5a9fe0=_0x33d5eb instanceof Error?_0x33d5eb[_0x5c78a4(0x9f)]:_0x5c78a4(0x83);this[_0x5c78a4(0xde)][_0x5c78a4(0x88)]('[PROXY\x20ERROR]\x20Streaming\x20error:',_0x33d5eb),this[_0x5c78a4(0xde)]['error'](_0x5c78a4(0xe5),JSON[_0x5c78a4(0xab)]({'chatId':_0x6b46fc[_0x5c78a4(0x108)],'agentId':_0x6b46fc[_0x5c78a4(0x8b)],'model':_0x20890a['model'],'sessionId':_0x44a553,'contextSignature':_0x4a0899})),_0x6b46fc[_0x5c78a4(0x108)]='',this[_0x5c78a4(0xde)][_0x5c78a4(0xee)](_0x5c78a4(0x92));const _0x2d64b3=formatAnthropicSSE({'type':_0x5c78a4(0x88),'error':{'type':'api_error','message':_0x5a9fe0},'request_id':_0x401f32});_0x52727b['raw'][_0x5c78a4(0x78)](_0x2d64b3),_0x52727b[_0x5c78a4(0x9b)][_0x5c78a4(0xba)]();}}else this['logger'][_0x5c78a4(0x88)](_0x5c78a4(0xef)),_0x52727b[_0x5c78a4(0x10a)](0x1f5)[_0x5c78a4(0xf1)]({'type':_0x5c78a4(0x88),'error':{'type':_0x5c78a4(0xd9),'message':_0x5c78a4(0x100)}});}async[a59_0x3a83cc(0xb7)](_0x4f1308){const _0x4a5123=a59_0x3a83cc,_0x4a1bf6=_0x4f1308['body'],_0x9ab88a=estimateInputTokensFromRequest(_0x4a1bf6);return this['logger'][_0x4a5123(0xf2)](_0x4f1308[_0x4a5123(0xa1)]+'\x20'+_0x4f1308[_0x4a5123(0x7e)]+_0x4a5123(0x10c)+_0x9ab88a),{'input_tokens':_0x9ab88a};}async['start'](){const _0x162016=a59_0x3a83cc;try{await this[_0x162016(0xa8)][_0x162016(0x8c)]({'port':this[_0x162016(0x75)][_0x162016(0xbe)],'host':_0x162016(0xd3)}),this['logger'][_0x162016(0xf2)](_0x162016(0xa0)+this['config']['port']),this['cleanupInterval']=setInterval(()=>{const _0x506216=_0x162016;this[_0x506216(0x79)]();},CLEANUP_INTERVAL_MS),this['logger'][_0x162016(0x71)](_0x162016(0x106)+CLEANUP_INTERVAL_MS/0x3e8+'s,\x20expires\x20after\x20'+CACHE_EXPIRATION_MS/0x3e8+'s)');}catch(_0x4c5777){const _0x49f3f5=_0x4c5777 instanceof Error?_0x4c5777[_0x162016(0x9f)]:_0x162016(0x83);throw new Error(_0x162016(0x97)+_0x49f3f5);}}async['stop'](){const _0x1e6d4a=a59_0x3a83cc;this[_0x1e6d4a(0xcf)]&&(clearInterval(this[_0x1e6d4a(0xcf)]),this['cleanupInterval']=undefined),await this['server'][_0x1e6d4a(0x10e)]();}[a59_0x3a83cc(0x7b)](){const _0x4a4c71=a59_0x3a83cc,_0x58b811=this[_0x4a4c71(0xa8)][_0x4a4c71(0xa8)][_0x4a4c71(0x7a)]();if(typeof _0x58b811==='string')return _0x58b811;if(_0x58b811)return _0x4a4c71(0xbc)+_0x58b811[_0x4a4c71(0x7a)]+':'+_0x58b811[_0x4a4c71(0xbe)];return _0x4a4c71(0x104)+this[_0x4a4c71(0x75)][_0x4a4c71(0xbe)];}}
@@ -1 +1 @@
1
- function a60_0x5721(){const _0xb6af28=['\x20not\x20found','getSession','310136fkMnNE','getOrCreateSession','5pSzwta','3mvxYKC','2908730AzHiKW','values','delete','size','cacheExpirationMs','1451036traczG','18cAqSpp','maxChatsPerSession','lastUsedAt','16316399vtLNbX','chats','push','get','Session\x20','65513mlJQua','155666DKvqPq','clear','config','now','3451825hyoUDm','12qLKKWA','sessions','set','getOrCreateChat'];a60_0x5721=function(){return _0xb6af28;};return a60_0x5721();}function a60_0x4c33(_0x59720a,_0xc5d5ee){_0x59720a=_0x59720a-0x1e3;const _0x5721fd=a60_0x5721();let _0x4c3381=_0x5721fd[_0x59720a];return _0x4c3381;}const a60_0x4bcdc5=a60_0x4c33;(function(_0x39357c,_0x58c103){const _0x30f60a=a60_0x4c33,_0x2bf296=_0x39357c();while(!![]){try{const _0xd31150=-parseInt(_0x30f60a(0x1f9))/0x1*(-parseInt(_0x30f60a(0x1ec))/0x2)+-parseInt(_0x30f60a(0x1fa))/0x3*(-parseInt(_0x30f60a(0x200))/0x4)+parseInt(_0x30f60a(0x1f0))/0x5+parseInt(_0x30f60a(0x1f1))/0x6*(parseInt(_0x30f60a(0x1eb))/0x7)+-parseInt(_0x30f60a(0x1f7))/0x8*(-parseInt(_0x30f60a(0x1e3))/0x9)+parseInt(_0x30f60a(0x1fb))/0xa+-parseInt(_0x30f60a(0x1e6))/0xb;if(_0xd31150===_0x58c103)break;else _0x2bf296['push'](_0x2bf296['shift']());}catch(_0x365b11){_0x2bf296['push'](_0x2bf296['shift']());}}}(a60_0x5721,0x547f9));export class SessionCache{[a60_0x4bcdc5(0x1f2)];[a60_0x4bcdc5(0x1ee)];constructor(_0x3253d4){const _0x5c4d7a=a60_0x4bcdc5;this['config']=_0x3253d4,this[_0x5c4d7a(0x1f2)]=new Map();}[a60_0x4bcdc5(0x1f8)](_0x1d4b09,_0xf426ad){const _0xf1f09e=a60_0x4bcdc5;let _0x568d8c=this[_0xf1f09e(0x1f2)]['get'](_0x1d4b09);return!_0x568d8c&&(_0x568d8c={'projectId':_0xf426ad,'chats':new Map()},this[_0xf1f09e(0x1f2)][_0xf1f09e(0x1f3)](_0x1d4b09,_0x568d8c)),_0x568d8c;}[a60_0x4bcdc5(0x1f6)](_0x20a056){const _0x33a17e=a60_0x4bcdc5;return this[_0x33a17e(0x1f2)][_0x33a17e(0x1e9)](_0x20a056);}[a60_0x4bcdc5(0x1f4)](_0x146ff2,_0x1d0c80,_0xe434a9){const _0x5d132f=a60_0x4bcdc5,_0x183a81=this['sessions'][_0x5d132f(0x1e9)](_0x146ff2);if(!_0x183a81)throw new Error(_0x5d132f(0x1ea)+_0x146ff2+_0x5d132f(0x1f5));let _0xf7edfd=_0x183a81['chats'][_0x5d132f(0x1e9)](_0x1d0c80);if(!_0xf7edfd){_0xf7edfd={'chatId':'','agentId':_0xe434a9,'contextSignature':_0x1d0c80,'embeddedSystemPrompts':new Set(),'embeddedToolsByName':new Map(),'messageHistory':[],'lastUsedAt':Date[_0x5d132f(0x1ef)]()},_0x183a81[_0x5d132f(0x1e7)]['set'](_0x1d0c80,_0xf7edfd);if(_0x183a81['chats'][_0x5d132f(0x1fe)]>this[_0x5d132f(0x1ee)][_0x5d132f(0x1e4)]){let _0xaf82bc=null,_0x23003c=Date['now']();for(const [_0x421d60,_0x43fce1]of _0x183a81[_0x5d132f(0x1e7)]){_0x43fce1[_0x5d132f(0x1e5)]<_0x23003c&&(_0x23003c=_0x43fce1[_0x5d132f(0x1e5)],_0xaf82bc=_0x421d60);}_0xaf82bc&&_0x183a81[_0x5d132f(0x1e7)][_0x5d132f(0x1fd)](_0xaf82bc);}}else _0xf7edfd[_0x5d132f(0x1e5)]=Date[_0x5d132f(0x1ef)]();return _0xf7edfd;}['cleanupExpiredChats'](){const _0x46aea4=a60_0x4bcdc5,_0x3c6a4e=Date[_0x46aea4(0x1ef)]();let _0x2f91e0=0x0;for(const [_0x52fc1a,_0x53b5ee]of this[_0x46aea4(0x1f2)]){const _0x48bbe0=[];for(const [_0x30561b,_0xb746a6]of _0x53b5ee[_0x46aea4(0x1e7)]){_0x3c6a4e-_0xb746a6[_0x46aea4(0x1e5)]>this[_0x46aea4(0x1ee)][_0x46aea4(0x1ff)]&&_0x48bbe0[_0x46aea4(0x1e8)](_0x30561b);}for(const _0xa05bba of _0x48bbe0){_0x53b5ee[_0x46aea4(0x1e7)][_0x46aea4(0x1fd)](_0xa05bba),_0x2f91e0++;}_0x53b5ee['chats'][_0x46aea4(0x1fe)]===0x0&&this[_0x46aea4(0x1f2)][_0x46aea4(0x1fd)](_0x52fc1a);}return _0x2f91e0;}['getSessionCount'](){const _0x30e272=a60_0x4bcdc5;return this[_0x30e272(0x1f2)][_0x30e272(0x1fe)];}['getTotalChatCount'](){const _0x5664f7=a60_0x4bcdc5;let _0x1b3c18=0x0;for(const _0x1c5d62 of this[_0x5664f7(0x1f2)][_0x5664f7(0x1fc)]()){_0x1b3c18+=_0x1c5d62[_0x5664f7(0x1e7)][_0x5664f7(0x1fe)];}return _0x1b3c18;}[a60_0x4bcdc5(0x1ed)](){const _0x10d126=a60_0x4bcdc5;this['sessions'][_0x10d126(0x1ed)]();}}
1
+ function a60_0x2c69(_0x178a93,_0x58003b){_0x178a93=_0x178a93-0x1c1;const _0x5a2610=a60_0x5a26();let _0x2c6960=_0x5a2610[_0x178a93];return _0x2c6960;}const a60_0x5564be=a60_0x2c69;(function(_0x1a340c,_0x4d0711){const _0x1a968f=a60_0x2c69,_0x3f7bfb=_0x1a340c();while(!![]){try{const _0x52203a=parseInt(_0x1a968f(0x1c6))/0x1+parseInt(_0x1a968f(0x1d3))/0x2+parseInt(_0x1a968f(0x1cd))/0x3+parseInt(_0x1a968f(0x1d4))/0x4+-parseInt(_0x1a968f(0x1c3))/0x5+parseInt(_0x1a968f(0x1dc))/0x6+-parseInt(_0x1a968f(0x1d6))/0x7;if(_0x52203a===_0x4d0711)break;else _0x3f7bfb['push'](_0x3f7bfb['shift']());}catch(_0x216922){_0x3f7bfb['push'](_0x3f7bfb['shift']());}}}(a60_0x5a26,0xd9220));export class SessionCache{[a60_0x5564be(0x1c9)];[a60_0x5564be(0x1cb)];constructor(_0x2e80c5){const _0x144909=a60_0x5564be;this[_0x144909(0x1cb)]=_0x2e80c5,this[_0x144909(0x1c9)]=new Map();}[a60_0x5564be(0x1c7)](_0x3f4b84,_0x223104){const _0x35849a=a60_0x5564be;let _0x25f5be=this[_0x35849a(0x1c9)]['get'](_0x3f4b84);return!_0x25f5be&&(_0x25f5be={'projectId':_0x223104,'chats':new Map()},this[_0x35849a(0x1c9)][_0x35849a(0x1d2)](_0x3f4b84,_0x25f5be)),_0x25f5be;}[a60_0x5564be(0x1c1)](_0x15c0d4){const _0x43edbe=a60_0x5564be;return this[_0x43edbe(0x1c9)][_0x43edbe(0x1c5)](_0x15c0d4);}[a60_0x5564be(0x1c4)](_0xac7751,_0x9d21ca,_0x2c3036){const _0x19ffd8=a60_0x5564be,_0x3ebb90=this[_0x19ffd8(0x1c9)][_0x19ffd8(0x1c5)](_0xac7751);if(!_0x3ebb90)throw new Error(_0x19ffd8(0x1c8)+_0xac7751+_0x19ffd8(0x1d0));let _0x4cb78c=_0x3ebb90['chats'][_0x19ffd8(0x1c5)](_0x9d21ca);if(!_0x4cb78c){_0x4cb78c={'chatId':'','agentId':_0x2c3036,'contextSignature':_0x9d21ca,'embeddedSystemPrompts':new Set(),'embeddedToolsByName':new Map(),'messageHistory':[],'lastUsedAt':Date['now']()},_0x3ebb90[_0x19ffd8(0x1d5)][_0x19ffd8(0x1d2)](_0x9d21ca,_0x4cb78c);if(_0x3ebb90[_0x19ffd8(0x1d5)][_0x19ffd8(0x1cc)]>this['config'][_0x19ffd8(0x1ca)]){let _0x303862=null,_0x210d5e=Date[_0x19ffd8(0x1d7)]();for(const [_0x357d43,_0x29ddae]of _0x3ebb90[_0x19ffd8(0x1d5)]){_0x29ddae[_0x19ffd8(0x1da)]<_0x210d5e&&(_0x210d5e=_0x29ddae['lastUsedAt'],_0x303862=_0x357d43);}_0x303862&&_0x3ebb90[_0x19ffd8(0x1d5)][_0x19ffd8(0x1db)](_0x303862);}}else _0x4cb78c[_0x19ffd8(0x1da)]=Date['now']();return _0x4cb78c;}[a60_0x5564be(0x1d1)](){const _0x383d45=a60_0x5564be,_0x38214d=Date[_0x383d45(0x1d7)]();let _0x488db6=0x0;for(const [_0x2cfe65,_0x45e98e]of this[_0x383d45(0x1c9)]){const _0x50240a=[];for(const [_0x5a9839,_0x3e6d1a]of _0x45e98e[_0x383d45(0x1d5)]){_0x38214d-_0x3e6d1a['lastUsedAt']>this[_0x383d45(0x1cb)]['cacheExpirationMs']&&_0x50240a[_0x383d45(0x1d8)](_0x5a9839);}for(const _0x54d1b9 of _0x50240a){_0x45e98e[_0x383d45(0x1d5)]['delete'](_0x54d1b9),_0x488db6++;}_0x45e98e[_0x383d45(0x1d5)][_0x383d45(0x1cc)]===0x0&&this['sessions'][_0x383d45(0x1db)](_0x2cfe65);}return _0x488db6;}[a60_0x5564be(0x1cf)](){const _0x3af0d8=a60_0x5564be;return this[_0x3af0d8(0x1c9)]['size'];}[a60_0x5564be(0x1d9)](){const _0x1de134=a60_0x5564be;let _0x4f36f8=0x0;for(const _0x18e7e8 of this['sessions'][_0x1de134(0x1c2)]()){_0x4f36f8+=_0x18e7e8[_0x1de134(0x1d5)][_0x1de134(0x1cc)];}return _0x4f36f8;}[a60_0x5564be(0x1ce)](){const _0x1d9c13=a60_0x5564be;this[_0x1d9c13(0x1c9)][_0x1d9c13(0x1ce)]();}}function a60_0x5a26(){const _0x5cdade=['getOrCreateSession','Session\x20','sessions','maxChatsPerSession','config','size','1261899jvASuK','clear','getSessionCount','\x20not\x20found','cleanupExpiredChats','set','2874450qBlqlK','1712980RqBSaP','chats','14107870iQejvl','now','push','getTotalChatCount','lastUsedAt','delete','8958354QFILEk','getSession','values','4828325evPgoH','getOrCreateChat','get','91289QoQdCK'];a60_0x5a26=function(){return _0x5cdade;};return a60_0x5a26();}