@treasuredata/tdx 0.14.7 → 0.14.9

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 (145) hide show
  1. package/README.md +21 -0
  2. package/dist/bin.js +1 -1
  3. package/dist/build-info.json +3 -3
  4. package/dist/cli-categories.js +1 -1
  5. package/dist/cli.js +1 -1
  6. package/dist/commands/activations.js +1 -1
  7. package/dist/commands/agent-command.js +1 -1
  8. package/dist/commands/api-command.js +1 -1
  9. package/dist/commands/auth-command.js +1 -1
  10. package/dist/commands/chat-command.js +1 -1
  11. package/dist/commands/claude-command.js +1 -1
  12. package/dist/commands/claude-statusline-command.js +1 -1
  13. package/dist/commands/claude-usage-command.js +1 -1
  14. package/dist/commands/command.js +1 -1
  15. package/dist/commands/connection-command.js +1 -1
  16. package/dist/commands/databases.js +1 -1
  17. package/dist/commands/describe.js +1 -1
  18. package/dist/commands/engage-command.js +1 -1
  19. package/dist/commands/job-command.js +1 -1
  20. package/dist/commands/journey-command.js +1 -1
  21. package/dist/commands/journey-validate-command.js +1 -1
  22. package/dist/commands/llm-command.js +1 -1
  23. package/dist/commands/llm-proxy.js +1 -1
  24. package/dist/commands/parent-segment-command.js +1 -1
  25. package/dist/commands/profile-command.js +1 -1
  26. package/dist/commands/profiles-command.js +1 -1
  27. package/dist/commands/query-command.js +1 -1
  28. package/dist/commands/segment-command.js +1 -1
  29. package/dist/commands/segment-create-command.js +1 -1
  30. package/dist/commands/segment-fields-command.js +1 -1
  31. package/dist/commands/segment-pull-command.js +1 -1
  32. package/dist/commands/segment-push-command.js +1 -1
  33. package/dist/commands/segment-update-command.js +1 -1
  34. package/dist/commands/segment-use-command.js +1 -1
  35. package/dist/commands/segment-validate-command.js +1 -1
  36. package/dist/commands/segments.js +1 -1
  37. package/dist/commands/show.js +1 -1
  38. package/dist/commands/tables.js +1 -1
  39. package/dist/commands/unset-command.js +1 -1
  40. package/dist/commands/use-command.js +1 -1
  41. package/dist/commands/user-command.js +1 -1
  42. package/dist/commands/workflow-command.js +1 -1
  43. package/dist/core/auth.js +1 -1
  44. package/dist/core/command-output.js +1 -1
  45. package/dist/core/config.js +1 -1
  46. package/dist/core/connection-cache.js +1 -1
  47. package/dist/core/constants.js +1 -1
  48. package/dist/core/credential-cache.js +1 -1
  49. package/dist/core/global-context.js +1 -1
  50. package/dist/core/keychain.js +1 -1
  51. package/dist/core/profile.js +1 -1
  52. package/dist/core/project-config.js +1 -1
  53. package/dist/core/session.js +1 -1
  54. package/dist/core/user-cache.js +1 -1
  55. package/dist/core/version.js +1 -1
  56. package/dist/index.js +1 -1
  57. package/dist/proxy/anthropic-adapter.js +1 -1
  58. package/dist/proxy/claude-usage-tracker.js +1 -1
  59. package/dist/proxy/context-signature.js +1 -1
  60. package/dist/proxy/conversation-utils.js +1 -1
  61. package/dist/proxy/passthrough-server.js +1 -1
  62. package/dist/proxy/server.js +1 -1
  63. package/dist/proxy/session-cache.js +1 -1
  64. package/dist/proxy/sse-usage-parser.js +1 -1
  65. package/dist/sdk/agent/agent-config.js +1 -1
  66. package/dist/sdk/agent/agent-ref-parser.js +1 -1
  67. package/dist/sdk/agent/agent-yaml.js +1 -1
  68. package/dist/sdk/api.js +1 -1
  69. package/dist/sdk/client/cdp-api-client.js +1 -1
  70. package/dist/sdk/client/endpoints.js +1 -1
  71. package/dist/sdk/client/engage-api-client.js +1 -1
  72. package/dist/sdk/client/http-client.js +1 -1
  73. package/dist/sdk/client/llm-api-client.js +1 -1
  74. package/dist/sdk/client/rate-limiter.js +1 -1
  75. package/dist/sdk/client/td-api-client.js +1 -1
  76. package/dist/sdk/client/trino-api-client.d.ts.map +1 -1
  77. package/dist/sdk/client/trino-api-client.js +1 -1
  78. package/dist/sdk/client/trino-api-client.js.map +1 -1
  79. package/dist/sdk/client/workflow-client.js +1 -1
  80. package/dist/sdk/connection-validator.js +1 -1
  81. package/dist/sdk/connection.js +1 -1
  82. package/dist/sdk/engage.js +1 -1
  83. package/dist/sdk/errors.js +1 -1
  84. package/dist/sdk/index.js +1 -1
  85. package/dist/sdk/io/index.js +1 -1
  86. package/dist/sdk/io/node-filesystem.js +1 -1
  87. package/dist/sdk/job.js +1 -1
  88. package/dist/sdk/journey.js +1 -1
  89. package/dist/sdk/llm/chat-cache.js +1 -1
  90. package/dist/sdk/llm/index.js +1 -1
  91. package/dist/sdk/llm/llm-backup-utils.js +1 -1
  92. package/dist/sdk/llm/model-aliases.js +1 -1
  93. package/dist/sdk/llm/model-factors.js +1 -1
  94. package/dist/sdk/query/index.js +1 -1
  95. package/dist/sdk/query/sql-parser.js +1 -1
  96. package/dist/sdk/segment/child-segment-yaml.js +1 -1
  97. package/dist/sdk/segment/fields-display.js +1 -1
  98. package/dist/sdk/segment/file-discovery.js +1 -1
  99. package/dist/sdk/segment/journey-utils.js +1 -1
  100. package/dist/sdk/segment/journey-yaml.js +1 -1
  101. package/dist/sdk/segment/parent-segment-preview.js +1 -1
  102. package/dist/sdk/segment/parent-segment-yaml.js +1 -1
  103. package/dist/sdk/segment/pull-workflow.js +1 -1
  104. package/dist/sdk/segment/push-workflow.js +1 -1
  105. package/dist/sdk/segment/resolution-context.js +1 -1
  106. package/dist/sdk/segment/segment-path-parser.js +1 -1
  107. package/dist/sdk/segment/segment-ref-parser.js +1 -1
  108. package/dist/sdk/segment/target-resolution.js +1 -1
  109. package/dist/sdk/segment/tdx-config.js +1 -1
  110. package/dist/sdk/segment/validate-files.js +1 -1
  111. package/dist/sdk/segment/yaml-validator.js +1 -1
  112. package/dist/sdk/segment.js +1 -1
  113. package/dist/sdk/types/index.js +1 -1
  114. package/dist/sdk/types/progress.js +1 -1
  115. package/dist/sdk/user.js +1 -1
  116. package/dist/sdk/util/format-detector.js +1 -1
  117. package/dist/sdk/util/formatters.js +1 -1
  118. package/dist/sdk/util/index.js +1 -1
  119. package/dist/sdk/util/tree-formatter.js +1 -1
  120. package/dist/sdk/workflow/clone-workflow.js +1 -1
  121. package/dist/sdk/workflow/index.js +1 -1
  122. package/dist/sdk/workflow/pull-workflow.js +1 -1
  123. package/dist/sdk/workflow/push-workflow.js +1 -1
  124. package/dist/sdk/workflow/tdx-config.js +1 -1
  125. package/dist/sdk/workflow/workflow-utils.js +1 -1
  126. package/dist/tdx +10 -0
  127. package/dist/utils/async.js +1 -1
  128. package/dist/utils/colors.d.ts +2 -1
  129. package/dist/utils/colors.d.ts.map +1 -1
  130. package/dist/utils/colors.js +1 -1
  131. package/dist/utils/colors.js.map +1 -1
  132. package/dist/utils/diff.js +1 -1
  133. package/dist/utils/file-permissions.js +1 -1
  134. package/dist/utils/json-loader.js +1 -1
  135. package/dist/utils/option-validation.js +1 -1
  136. package/dist/utils/port.js +1 -1
  137. package/dist/utils/process.js +1 -1
  138. package/dist/utils/prompt.js +1 -1
  139. package/dist/utils/spinner.js +1 -1
  140. package/dist/utils/sse-parser.js +1 -1
  141. package/dist/utils/string-utils.js +1 -1
  142. package/dist/utils/table-ref-parser.js +1 -1
  143. package/dist/utils/tdx-logger.js +1 -1
  144. package/dist/utils/version-check.js +1 -1
  145. 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(_0x24abec,_0x87cdaf){const _0x4fc439=a54_0x2073,_0x2ece24=_0x24abec();while(!![]){try{const _0xbb066b=parseInt(_0x4fc439(0x215))/0x1*(-parseInt(_0x4fc439(0x200))/0x2)+parseInt(_0x4fc439(0x1e1))/0x3+-parseInt(_0x4fc439(0x1e2))/0x4+parseInt(_0x4fc439(0x1eb))/0x5*(parseInt(_0x4fc439(0x1fd))/0x6)+-parseInt(_0x4fc439(0x1cb))/0x7*(parseInt(_0x4fc439(0x1f9))/0x8)+-parseInt(_0x4fc439(0x1c0))/0x9+parseInt(_0x4fc439(0x1d1))/0xa;if(_0xbb066b===_0x87cdaf)break;else _0x2ece24['push'](_0x2ece24['shift']());}catch(_0x17dcc7){_0x2ece24['push'](_0x2ece24['shift']());}}}(a54_0x2031,0xebc83));import{SDKError,ErrorCode}from'../sdk/errors.js';import{calculateConversationDelta}from'./conversation-utils.js';export{calculateConversationDelta}from'./conversation-utils.js';function estimateTokenCount(_0x204975){const _0x5e4aef=a54_0x2073;if(!_0x204975||_0x204975[_0x5e4aef(0x1da)]===0x0)return 0x0;return Math[_0x5e4aef(0x214)](_0x204975[_0x5e4aef(0x1da)]/3.7);}export function determineErrorType(_0x5b6082,_0x200c04){const _0x512309=a54_0x2073,_0x1b755a=_0x5b6082['includes'](_0x512309(0x1d3))||_0x5b6082[_0x512309(0x1d8)]('context\x20length')||_0x5b6082[_0x512309(0x1d8)](_0x512309(0x1ec));if(_0x1b755a)return _0x200c04?.[_0x512309(0x1c6)]('[CONTEXT\x20LENGTH\x20ERROR]\x20'+_0x5b6082),_0x512309(0x1bc);return _0x200c04?.[_0x512309(0x1c6)](_0x512309(0x1d5)+_0x5b6082),'api_error';}export function estimateInputTokensFromRequest(_0x58c6f8){const _0x5a4db8=a54_0x2073;let _0x3fea7f=0x0;if(typeof _0x58c6f8[_0x5a4db8(0x1fe)]==='string')_0x3fea7f+=_0x58c6f8[_0x5a4db8(0x1fe)][_0x5a4db8(0x1da)];else{if(Array[_0x5a4db8(0x20a)](_0x58c6f8[_0x5a4db8(0x1fe)]))for(const _0x1cca3b of _0x58c6f8[_0x5a4db8(0x1fe)]){_0x1cca3b&&typeof _0x1cca3b['text']===_0x5a4db8(0x21a)&&(_0x3fea7f+=_0x1cca3b[_0x5a4db8(0x1ad)][_0x5a4db8(0x1da)]);}}if(Array['isArray'](_0x58c6f8[_0x5a4db8(0x1de)]))for(const _0x492a92 of _0x58c6f8[_0x5a4db8(0x1de)]){_0x492a92&&(_0x3fea7f+=_0x492a92['name']?.[_0x5a4db8(0x1da)]||0x0,_0x3fea7f+=_0x492a92[_0x5a4db8(0x20c)]?.[_0x5a4db8(0x1da)]||0x0,_0x492a92[_0x5a4db8(0x1f6)]&&(_0x3fea7f+=JSON['stringify'](_0x492a92['input_schema'])[_0x5a4db8(0x1da)]));}if(Array['isArray'](_0x58c6f8[_0x5a4db8(0x1f8)]))for(const _0x4b48ea of _0x58c6f8[_0x5a4db8(0x1f8)]){if(!_0x4b48ea)continue;if(typeof _0x4b48ea[_0x5a4db8(0x1fc)]===_0x5a4db8(0x21a))_0x3fea7f+=_0x4b48ea[_0x5a4db8(0x1fc)]['length'];else{if(Array[_0x5a4db8(0x20a)](_0x4b48ea[_0x5a4db8(0x1fc)]))for(const _0x988952 of _0x4b48ea['content']){if(!_0x988952)continue;if(_0x988952[_0x5a4db8(0x1c2)]===_0x5a4db8(0x1ad)&&_0x988952[_0x5a4db8(0x1ad)])_0x3fea7f+=_0x988952['text']['length'];else{if(_0x988952[_0x5a4db8(0x1c2)]===_0x5a4db8(0x1b9)&&_0x988952[_0x5a4db8(0x1ce)])_0x3fea7f+=JSON[_0x5a4db8(0x1f5)](_0x988952[_0x5a4db8(0x1ce)])[_0x5a4db8(0x1da)];else{if(_0x988952[_0x5a4db8(0x1c2)]===_0x5a4db8(0x1f4)&&_0x988952[_0x5a4db8(0x1fc)]){if(typeof _0x988952[_0x5a4db8(0x1fc)]==='string')_0x3fea7f+=_0x988952[_0x5a4db8(0x1fc)]['length'];else{if(Array[_0x5a4db8(0x20a)](_0x988952['content']))for(const _0x36d78b of _0x988952['content']){_0x36d78b&&_0x36d78b[_0x5a4db8(0x1c2)]===_0x5a4db8(0x1ad)&&_0x36d78b[_0x5a4db8(0x1ad)]&&(_0x3fea7f+=_0x36d78b[_0x5a4db8(0x1ad)][_0x5a4db8(0x1da)]);}}}}}}}}return Math[_0x5a4db8(0x214)](_0x3fea7f/3.7);}function generateMessageId(){const _0x292bf9=a54_0x2073;return _0x292bf9(0x1e0)+Math['random']()[_0x292bf9(0x218)](0x24)[_0x292bf9(0x1bd)](0x2,0xf)+Math[_0x292bf9(0x20e)]()[_0x292bf9(0x218)](0x24)[_0x292bf9(0x1bd)](0x2,0xf);}export function extractTextFromAnthropicMessage(_0x275ac8){const _0x49256b=a54_0x2073;if(typeof _0x275ac8[_0x49256b(0x1fc)]===_0x49256b(0x21a))return _0x275ac8['content'];if(_0x275ac8[_0x49256b(0x1fc)]==null)return'';if(!Array[_0x49256b(0x20a)](_0x275ac8[_0x49256b(0x1fc)]))throw new SDKError(ErrorCode['LLM_MALFORMED_MESSAGE'],_0x49256b(0x1e3)+typeof _0x275ac8['content']);return _0x275ac8['content'][_0x49256b(0x1df)](_0x27f30e=>_0x27f30e&&_0x27f30e[_0x49256b(0x1c2)]===_0x49256b(0x1ad)&&_0x27f30e[_0x49256b(0x1ad)])['map'](_0x11f7e9=>_0x11f7e9[_0x49256b(0x1ad)])[_0x49256b(0x220)]('\x0a');}export function transformAnthropicRequestToTD(_0x45ff87,_0x28c9e3){const _0xdbdc0b=a54_0x2073,_0x59ed7e=calculateConversationDelta(_0x45ff87[_0xdbdc0b(0x1f8)],_0x28c9e3),_0x438fb0=_0x59ed7e['filter'](_0x1d3932=>_0x1d3932['role']===_0xdbdc0b(0x1b6))[_0xdbdc0b(0x1cd)]();if(!_0x438fb0)throw new Error(_0xdbdc0b(0x1b2));const _0x12d4b7=extractTextFromAnthropicMessage(_0x438fb0);return{'userMessage':_0x12d4b7,'deltaMessages':_0x59ed7e};}function a54_0x2031(){const _0x10c129=['800ZlUUJl','maximum\x20context','TodoWrite','[MALFORMED\x20JSON]\x20Tool\x20use\x20JSON\x20could\x20not\x20be\x20parsed\x20or\x20repaired:\x0a','usage','\x20(generated)','haiku','Read','[MALFORMED\x20TOOL_USE]\x20Detected\x20malformed\x20XML\x20format\x20with\x20separate\x20id\x20tag.\x20Name:\x20','tool_result','stringify','input_schema','toLowerCase','messages','24hFloSU','Executing\x20only\x20the\x20last\x20one\x20(','\x0adata:\x20','content','48624yZBGVZ','system','Grep','744922dSGVsh','\x0a[After]:\x0a','\x0a\x0a**Input\x20Schema:**\x0a```json\x0a','content_block_stop','indexOf','\x0a</tool_result>','Write','role','text_delta','opus','isArray','Edit','description','tool_use_id','random','</tool_use>','message','&gt;',').\x20Ignored:\x20','map','ceil','5uJAXEN','trim','content_block_delta','toString','thinking','string','AskUserQuestion','LLM_MALFORMED_MESSAGE','name','message_start','Glob','join','push','<tool_use','NotebookEdit','match','index','##\x20Tool:\x20','text','sonnet','\x0a\x0a**Description:**\x20','Malformed\x20tool_use\x20JSON\x20detected','WebSearch','No\x20user\x20message\x20found\x20in\x20request\x20delta','model_context_window_exceeded','input_json_delta','\x0aOriginal\x20XML:\x0a','user','replace','event:\x20','tool_use','{\x22tool_use\x22:','is_error','request_too_large','substring','content_block_start','\x0a\x0a[tdx\x20error]\x20Malformed\x20tool_use\x20JSON\x20detected.\x20Please\x20fix\x20the\x20JSON\x20below:\x0a\x0a','1616184Pjgzqz','slice','type','toolu_generated_','exec','\x20error=\x22true\x22','error','Invalid\x20messages\x20type:\x20expected\x20array,\x20got\x20',',\x20ID:\x20','message_stop','Invalid\x20message.content\x20type\x20for\x20user\x20role:\x20expected\x20array,\x20got\x20','2479582leSlOJ','parse','pop','input','endIndex','Task','33222700ibVSmY','min','Input\x20is\x20too\x20long','warn','[API\x20ERROR]\x20','\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','&lt;','includes','message_delta','length','\x20tool_use\x20blocks.\x20','debug','assistant','tools','filter','msg_','165936LakWGm','2415600hMdPPS','Invalid\x20message.content\x20type:\x20expected\x20string\x20or\x20array,\x20got\x20','end_turn','Tool\x20call\x20detected:\x20','reasoning','\x0a---\x0a','now','startIndex','[MULTIPLE\x20TOOL_USE]\x20Detected\x20'];a54_0x2031=function(){return _0x10c129;};return a54_0x2031();}export function formatAnthropicSSE(_0x5c9519){const _0x552989=a54_0x2073;return _0x552989(0x1b8)+_0x5c9519[_0x552989(0x1c2)]+_0x552989(0x1fb)+JSON[_0x552989(0x1f5)](_0x5c9519)+'\x0a\x0a';}export function mapAnthropicModelToTD(_0x629f98){const _0x1bf72b=a54_0x2073,_0x569293={'sonnet':_0x1bf72b(0x1ae),'claude-sonnet':_0x1bf72b(0x1ae),'claude-3-5-sonnet':'sonnet','claude-3-sonnet':_0x1bf72b(0x1ae),'haiku':'haiku','claude-haiku':_0x1bf72b(0x1f1),'claude-3-5-haiku':_0x1bf72b(0x1f1),'claude-3-haiku':_0x1bf72b(0x1f1),'opus':'opus','claude-opus':_0x1bf72b(0x209),'claude-3-opus':_0x1bf72b(0x209)},_0x3806da=_0x629f98[_0x1bf72b(0x1f7)]();return _0x569293[_0x3806da]||_0x1bf72b(0x1ae);}export function generateToolPrompt(_0x1a042f){const _0x4a33d6=a54_0x2073;if(_0x1a042f==null)return'';if(!Array['isArray'](_0x1a042f))throw new SDKError(ErrorCode[_0x4a33d6(0x21c)],'Invalid\x20tools\x20type:\x20expected\x20array,\x20got\x20'+typeof _0x1a042f);if(_0x1a042f[_0x4a33d6(0x1da)]===0x0)return'';const _0x23540e=_0x1a042f[_0x4a33d6(0x1df)](_0x26233c=>_0x26233c!=null)[_0x4a33d6(0x213)](_0x20528c=>{const _0xd62446=_0x4a33d6,_0x2bc074=JSON[_0xd62446(0x1f5)](_0x20528c[_0xd62446(0x1f6)]);return _0xd62446(0x1ac)+_0x20528c[_0xd62446(0x21d)]+_0xd62446(0x1af)+(_0x20528c[_0xd62446(0x20c)]||'No\x20description')+_0xd62446(0x202)+_0x2bc074+'\x0a```';})[_0x4a33d6(0x220)]('\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'+_0x23540e+_0x4a33d6(0x1e7);}function escapeXmlContent(_0x5c6e20){const _0x4ae31f=a54_0x2073;return _0x5c6e20[_0x4ae31f(0x1b7)](/&/g,'&amp;')[_0x4ae31f(0x1b7)](/</g,_0x4ae31f(0x1d7))[_0x4ae31f(0x1b7)](/>/g,_0x4ae31f(0x211));}function a54_0x2073(_0x1305ed,_0x16843b){_0x1305ed=_0x1305ed-0x1a9;const _0x203110=a54_0x2031();let _0x2073b5=_0x203110[_0x1305ed];return _0x2073b5;}export function extractToolResults(_0x5b06d6){const _0x135f19=a54_0x2073;if(_0x5b06d6==null)return'';if(!Array[_0x135f19(0x20a)](_0x5b06d6))throw new SDKError(ErrorCode[_0x135f19(0x21c)],_0x135f19(0x1c7)+typeof _0x5b06d6);const _0x5a46b5=[];for(const _0x47f3f5 of _0x5b06d6){if(!_0x47f3f5)continue;if(_0x47f3f5[_0x135f19(0x207)]===_0x135f19(0x1b6)&&typeof _0x47f3f5[_0x135f19(0x1fc)]!==_0x135f19(0x21a)){if(!Array[_0x135f19(0x20a)](_0x47f3f5[_0x135f19(0x1fc)]))throw new SDKError(ErrorCode[_0x135f19(0x21c)],_0x135f19(0x1ca)+typeof _0x47f3f5[_0x135f19(0x1fc)]);for(const _0x170134 of _0x47f3f5[_0x135f19(0x1fc)]){if(!_0x170134)continue;if(_0x170134['type']==='tool_result'&&_0x170134[_0x135f19(0x20d)]){let _0x1df180='';if(typeof _0x170134[_0x135f19(0x1fc)]===_0x135f19(0x21a))_0x1df180=_0x170134[_0x135f19(0x1fc)];else _0x170134[_0x135f19(0x1fc)]!=null&&Array['isArray'](_0x170134[_0x135f19(0x1fc)])&&(_0x1df180=_0x170134[_0x135f19(0x1fc)]['filter'](_0x491b9f=>_0x491b9f&&_0x491b9f[_0x135f19(0x1c2)]===_0x135f19(0x1ad)&&_0x491b9f['text'])['map'](_0x4598e8=>_0x4598e8[_0x135f19(0x1ad)])[_0x135f19(0x220)]('\x0a'));const _0x371d22=escapeXmlContent(_0x1df180),_0x56a532=_0x170134[_0x135f19(0x1bb)]?_0x135f19(0x1c5):'';_0x5a46b5[_0x135f19(0x221)]('<tool_result\x20tool_use_id=\x22'+_0x170134[_0x135f19(0x20d)]+'\x22'+_0x56a532+'>\x0a'+_0x371d22+_0x135f19(0x205));}}}}if(_0x5a46b5[_0x135f19(0x1da)]===0x0)return'';return _0x5a46b5[_0x135f19(0x220)]('\x0a\x0a');}function findJsonEndIndex(_0x40caaa,_0x23ef78){const _0x1e8a46=a54_0x2073;let _0x5c02a8=0x0,_0x415930=![],_0x483e2f=![];for(let _0xf2e549=_0x23ef78;_0xf2e549<_0x40caaa[_0x1e8a46(0x1da)];_0xf2e549++){const _0x9623df=_0x40caaa[_0xf2e549];if(_0x483e2f){_0x483e2f=![];continue;}if(_0x9623df==='\x5c'){_0x483e2f=!![];continue;}if(_0x9623df==='\x22'){_0x415930=!_0x415930;continue;}if(!_0x415930){if(_0x9623df==='{')_0x5c02a8++;else{if(_0x9623df==='}'){_0x5c02a8--;if(_0x5c02a8===0x0)return _0xf2e549+0x1;}}}}return-0x1;}function repairIncompleteJson(_0x28a8c6,_0x25eb76){const _0x51777a=a54_0x2073;try{return JSON['parse'](_0x28a8c6),_0x28a8c6;}catch{let _0x2453e0=_0x28a8c6;const _0x1215b7=/("old_string"\s*:\s*"[^"]*")\s*,\s*("(?:[^"\\]|\\.)*")\s*\}/,_0x3b0b54=_0x1215b7[_0x51777a(0x1c4)](_0x2453e0);if(_0x3b0b54){_0x2453e0=_0x2453e0['replace'](_0x1215b7,'$1,\x22new_string\x22:$2}');try{return JSON[_0x51777a(0x1cc)](_0x2453e0),_0x25eb76&&_0x25eb76[_0x51777a(0x1d4)]('[JSON\x20REPAIR]\x20Added\x20missing\x20\x22new_string\x22\x20key\x0a[Before]:\x0a'+_0x28a8c6+_0x51777a(0x201)+_0x2453e0),_0x2453e0;}catch{_0x2453e0=_0x28a8c6;}}const _0x582d2f=[];let _0x172257=![],_0x70625d=![];for(const _0x1be853 of _0x28a8c6){if(_0x70625d){_0x70625d=![];continue;}if(_0x1be853==='\x5c'){_0x70625d=!![];continue;}if(_0x1be853==='\x22'){_0x172257=!_0x172257;continue;}if(!_0x172257){if(_0x1be853==='{')_0x582d2f[_0x51777a(0x221)]('{');else{if(_0x1be853==='[')_0x582d2f[_0x51777a(0x221)]('[');else{if(_0x1be853==='}'&&_0x582d2f[_0x582d2f['length']-0x1]==='{')_0x582d2f[_0x51777a(0x1cd)]();else _0x1be853===']'&&_0x582d2f[_0x582d2f['length']-0x1]==='['&&_0x582d2f[_0x51777a(0x1cd)]();}}}}_0x2453e0=_0x28a8c6;_0x172257&&(_0x2453e0+='\x22');while(_0x582d2f[_0x51777a(0x1da)]>0x0){const _0x151404=_0x582d2f[_0x51777a(0x1cd)]();_0x2453e0+=_0x151404==='{'?'}':']';}try{return JSON[_0x51777a(0x1cc)](_0x2453e0),_0x25eb76&&_0x2453e0!==_0x28a8c6&&_0x25eb76[_0x51777a(0x1d4)]('[JSON\x20REPAIR]\x20Successfully\x20repaired\x20malformed\x20JSON\x0a[Before]:\x0a'+_0x28a8c6+_0x51777a(0x201)+_0x2453e0),_0x2453e0;}catch{return null;}}}function tryParseJsonContent(_0x181b68,_0x50862a){const _0x50cf28=a54_0x2073;if(!_0x181b68)return null;try{return JSON[_0x50cf28(0x1cc)](_0x181b68);}catch{const _0x48bc02=repairIncompleteJson(_0x181b68,_0x50862a);if(_0x48bc02)try{return JSON[_0x50cf28(0x1cc)](_0x48bc02);}catch{}return null;}}function tryMatchXmlPatterns(_0x53f79b,_0x5a0f9a){const _0x4e3bcb=a54_0x2073;let _0x1fb87c=null;for(const {pattern:_0x1cf8d9,nameFirst:_0x2b1097}of _0x5a0f9a){const _0x28c4b1=_0x1cf8d9[_0x4e3bcb(0x1c4)](_0x53f79b);_0x28c4b1&&((!_0x1fb87c||_0x28c4b1[_0x4e3bcb(0x1ab)]<_0x1fb87c[_0x4e3bcb(0x1aa)]['index'])&&(_0x1fb87c={'match':_0x28c4b1,'name':_0x2b1097?_0x28c4b1[0x1]:_0x28c4b1[0x2],'id':_0x2b1097?_0x28c4b1[0x2]:_0x28c4b1[0x1],'jsonContent':_0x28c4b1[0x3][_0x4e3bcb(0x216)]()}));}return _0x1fb87c;}export function parseToolCallFromText(_0x5a97dd,_0x2a017f){const _0x51165d=a54_0x2073,_0x439855=[{'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':![]}],_0x218ca6=[{'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':![]}],_0x546472=tryMatchXmlPatterns(_0x5a97dd,_0x439855);if(_0x546472){const {match:_0x5518c3,name:_0x51f21a,id:_0x4e2971,jsonContent:_0x4f5847}=_0x546472,_0x10b056=_0x5518c3[_0x51165d(0x1ab)],_0x3458d8=_0x10b056+_0x5518c3[0x0]['length'],_0x1679cd=tryParseJsonContent(_0x4f5847,_0x2a017f);if(_0x1679cd!==null)return{'id':_0x4e2971,'name':_0x51f21a,'input':_0x1679cd,'startIndex':_0x10b056,'endIndex':_0x3458d8};if(!_0x4f5847)return{'id':_0x4e2971,'name':_0x51f21a,'input':{},'startIndex':_0x10b056,'endIndex':_0x3458d8};}const _0x2884c7=/<tool_use\s+name="([^"]+)">\s*([\s\S]*?)\s*<\/tool_use>/,_0x3de8dd=_0x2884c7[_0x51165d(0x1c4)](_0x5a97dd);if(_0x3de8dd){const _0x278d35=_0x3de8dd[0x1],_0x2ee91c=_0x3de8dd[0x2][_0x51165d(0x216)](),_0x4a3bfa=_0x3de8dd[_0x51165d(0x1ab)],_0x2d91e1=_0x4a3bfa+_0x3de8dd[0x0][_0x51165d(0x1da)],_0x305e60=_0x51165d(0x1c3)+Date[_0x51165d(0x1e8)]();_0x2a017f?.['warn']('[MALFORMED\x20TOOL_USE]\x20Missing\x20id\x20attribute,\x20generated\x20fallback.\x20Name:\x20'+_0x278d35+',\x20ID:\x20'+_0x305e60+_0x51165d(0x1b5)+_0x3de8dd[0x0]);const _0x242172=tryParseJsonContent(_0x2ee91c,_0x2a017f);if(_0x242172!==null)return{'id':_0x305e60,'name':_0x278d35,'input':_0x242172,'startIndex':_0x4a3bfa,'endIndex':_0x2d91e1};if(!_0x2ee91c)return{'id':_0x305e60,'name':_0x278d35,'input':{},'startIndex':_0x4a3bfa,'endIndex':_0x2d91e1};}const _0x510966=tryMatchXmlPatterns(_0x5a97dd,_0x218ca6);if(_0x510966){const {match:_0x1f994f,name:_0x1b1ee1,id:_0x1d1084,jsonContent:_0x76e6b2}=_0x510966,_0x4ff05c=_0x1f994f[_0x51165d(0x1ab)],_0x2aace4=_0x4ff05c+_0x1f994f[0x0][_0x51165d(0x1da)];_0x2a017f?.[_0x51165d(0x1d4)](_0x51165d(0x1f3)+_0x1b1ee1+_0x51165d(0x1c8)+_0x1d1084+_0x51165d(0x1b5)+_0x1f994f[0x0]);const _0x2f0cdc=tryParseJsonContent(_0x76e6b2,_0x2a017f);if(_0x2f0cdc!==null)return{'id':_0x1d1084,'name':_0x1b1ee1,'input':_0x2f0cdc,'startIndex':_0x4ff05c,'endIndex':_0x2aace4};if(!_0x76e6b2)return{'id':_0x1d1084,'name':_0x1b1ee1,'input':{},'startIndex':_0x4ff05c,'endIndex':_0x2aace4};}const _0x115d56=/<tool_use([^>]*)>([\s\S]*?)<\/tool_use>/,_0x49c803=_0x115d56[_0x51165d(0x1c4)](_0x5a97dd);if(_0x49c803){const _0xc6cbc3=_0x49c803[0x1],_0x113636=_0x49c803[0x2],_0x38bcc9=_0x49c803['index'],_0x16d109=_0x38bcc9+_0x49c803[0x0][_0x51165d(0x1da)],_0x498fd4=/name="([^"]+)"/['exec'](_0xc6cbc3),_0x1486f4=/id="([^"]+)"/[_0x51165d(0x1c4)](_0xc6cbc3),_0x4b4478=/tool_use_name="([^"]+)"/['exec'](_0x113636),_0x19f3e6=/tool_use_id="([^"]+)"/[_0x51165d(0x1c4)](_0x113636),_0x126fb0=_0x498fd4?.[0x1]||_0x4b4478?.[0x1],_0x47e9db=_0x1486f4?.[0x1]||_0x19f3e6?.[0x1];if(_0x126fb0){const _0x336b74=_0x47e9db||'toolu_generated_'+Date[_0x51165d(0x1e8)](),_0x3c115d=_0x113636['lastIndexOf']('{');let _0x2ea313='';if(_0x3c115d!==-0x1){const _0x1fc98a=_0x113636[_0x51165d(0x1bd)](_0x3c115d),_0x57b663=/^\{[\s\S]*?\}/['exec'](_0x1fc98a);_0x2ea313=_0x57b663?.[0x0]?.[_0x51165d(0x216)]()||'';}const _0x3942ee=!_0x47e9db;_0x2a017f?.[_0x51165d(0x1d4)]('[MALFORMED\x20TOOL_USE]\x20Extracted\x20from\x20flexible\x20pattern.\x20Name:\x20'+_0x126fb0+_0x51165d(0x1c8)+_0x336b74+(_0x3942ee?_0x51165d(0x1f0):'')+_0x51165d(0x1b5)+_0x49c803[0x0]);const _0x3b8bb0=tryParseJsonContent(_0x2ea313,_0x2a017f);if(_0x3b8bb0!==null)return{'id':_0x336b74,'name':_0x126fb0,'input':_0x3b8bb0,'startIndex':_0x38bcc9,'endIndex':_0x16d109};if(!_0x2ea313)return{'id':_0x336b74,'name':_0x126fb0,'input':{},'startIndex':_0x38bcc9,'endIndex':_0x16d109};}}const _0x5b3c74=[_0x51165d(0x20b),_0x51165d(0x1f2),_0x51165d(0x206),'Bash',_0x51165d(0x21f),_0x51165d(0x1ff),_0x51165d(0x1d0),_0x51165d(0x1ed),'WebFetch',_0x51165d(0x1b1),_0x51165d(0x21b),_0x51165d(0x1a9)];for(const _0x131304 of _0x5b3c74){const _0x39c565=new RegExp('<'+_0x131304+'>([\x5cs\x5cS]*?)</'+_0x131304+'>','i'),_0x30bc9b=_0x39c565['exec'](_0x5a97dd);if(_0x30bc9b){const _0x56274f=_0x30bc9b[0x1],_0x5ea95f=_0x30bc9b[_0x51165d(0x1ab)],_0x32167f=_0x5ea95f+_0x30bc9b[0x0][_0x51165d(0x1da)],_0x4e10ce='toolu_generated_'+Date[_0x51165d(0x1e8)](),_0x383616={},_0x42437f=/<([a-z_]+)>([\s\S]*?)<\/\1>/gi;let _0x17dddf;while((_0x17dddf=_0x42437f['exec'](_0x56274f))!==null){const _0x294f57=_0x17dddf[0x1],_0xdd54eb=_0x17dddf[0x2]['trim']();try{_0x383616[_0x294f57]=JSON[_0x51165d(0x1cc)](_0xdd54eb);}catch{_0x383616[_0x294f57]=_0xdd54eb;}}return _0x2a017f?.[_0x51165d(0x1d4)]('[MALFORMED\x20TOOL_USE]\x20Tool\x20name\x20used\x20as\x20XML\x20tag\x20instead\x20of\x20tool_use.\x20Name:\x20'+_0x131304+',\x20ID:\x20'+_0x4e10ce+'\x0aOriginal\x20XML:\x0a'+_0x30bc9b[0x0]),{'id':_0x4e10ce,'name':_0x131304,'input':_0x383616,'startIndex':_0x5ea95f,'endIndex':_0x32167f};}}const _0xb7d0a5=/\{"tool_use":/g,_0x5ac769=_0xb7d0a5[_0x51165d(0x1c4)](_0x5a97dd);if(!_0x5ac769)return null;const _0x31aa19=_0x5ac769[_0x51165d(0x1ab)];let _0x51cb4e=findJsonEndIndex(_0x5a97dd,_0x31aa19);if(_0x51cb4e===-0x1)return null;const _0x3202e6=_0x5a97dd[_0x51165d(0x1bd)](_0x31aa19,_0x51cb4e);try{const _0x8cb6d7=JSON[_0x51165d(0x1cc)](_0x3202e6);if(_0x8cb6d7[_0x51165d(0x1b9)]&&_0x8cb6d7[_0x51165d(0x1b9)]['id']&&_0x8cb6d7['tool_use'][_0x51165d(0x21d)])return{'id':_0x8cb6d7[_0x51165d(0x1b9)]['id'],'name':_0x8cb6d7[_0x51165d(0x1b9)][_0x51165d(0x21d)],'input':_0x8cb6d7[_0x51165d(0x1b9)][_0x51165d(0x1ce)]||{},'startIndex':_0x31aa19,'endIndex':_0x51cb4e};}catch{const _0x47ca99=repairIncompleteJson(_0x3202e6,_0x2a017f);if(_0x47ca99)try{const _0x2c1a13=JSON[_0x51165d(0x1cc)](_0x47ca99);if(_0x2c1a13[_0x51165d(0x1b9)]&&_0x2c1a13[_0x51165d(0x1b9)]['id']&&_0x2c1a13[_0x51165d(0x1b9)][_0x51165d(0x21d)])return{'id':_0x2c1a13[_0x51165d(0x1b9)]['id'],'name':_0x2c1a13[_0x51165d(0x1b9)]['name'],'input':_0x2c1a13[_0x51165d(0x1b9)][_0x51165d(0x1ce)]||{},'startIndex':_0x31aa19,'endIndex':_0x51cb4e};}catch{return null;}return null;}return null;}export function*generateToolCallBlockEvents(_0x56c815,_0x4d10e2){const _0x3472b6=a54_0x2073,_0x87dd74={'type':_0x3472b6(0x1be),'index':_0x4d10e2,'content_block':{'type':_0x3472b6(0x1b9),'id':_0x56c815['id'],'name':_0x56c815[_0x3472b6(0x21d)],'input':{}}};yield _0x87dd74;const _0x41b408=JSON['stringify'](_0x56c815[_0x3472b6(0x1ce)]),_0x189e59={'type':_0x3472b6(0x217),'index':_0x4d10e2,'delta':{'type':_0x3472b6(0x1b4),'partial_json':_0x41b408}};yield _0x189e59;const _0x4c81f4={'type':_0x3472b6(0x203),'index':_0x4d10e2};yield _0x4c81f4;}export function*generateToolCallEvents(_0x1b16c8,_0x2227b9,_0x12013a){const _0x677bf6=a54_0x2073;yield*generateToolCallBlockEvents(_0x1b16c8,_0x2227b9);const _0x378f43={'type':_0x677bf6(0x1d9),'delta':{'stop_reason':'tool_use','stop_sequence':null},'usage':{'input_tokens':_0x12013a,'output_tokens':0x0}};yield _0x378f43;const _0x424cfb={'type':_0x677bf6(0x1c9)};yield _0x424cfb;}export async function*transformTDStreamToAnthropic(_0x2cca0a,_0x56b105,_0x1a92ec,_0x3e0b0b,_0x2d1512='',_0x3fc47a=0x0){const _0x544983=a54_0x2073,_0x7066be=_0x3fc47a>0x0?_0x3fc47a:estimateTokenCount(_0x2d1512);let _0x566be8=0x0,_0x523edd=0x0,_0x120216=![],_0x47b5ed=null,_0x272f68='',_0xc070c6=0x0,_0x22b623=![];const _0x14ca2a=0xc8,_0x3279a4={'type':_0x544983(0x21e),'message':{'id':_0x56b105,'type':_0x544983(0x210),'role':_0x544983(0x1dd),'content':[],'model':_0x1a92ec,'stop_reason':null,'stop_sequence':null,'usage':{'input_tokens':_0x7066be,'output_tokens':0x0}}};yield _0x3279a4;for await(const _0x27f79e of _0x2cca0a){if('reasoning'in _0x27f79e){const _0x148b13=_0x27f79e;if(!_0x120216){const _0x2b8c38={'type':_0x544983(0x1be),'index':_0x523edd,'content_block':{'type':_0x544983(0x219),'thinking':''}};yield _0x2b8c38,_0x120216=!![],_0x47b5ed=_0x544983(0x219);}const _0x3c1b46={'type':'content_block_delta','index':_0x523edd,'delta':{'type':'thinking_delta','thinking':_0x148b13[_0x544983(0x1e6)]}};yield _0x3c1b46,_0x566be8+=estimateTokenCount(_0x148b13[_0x544983(0x1e6)]);}else{if('content'in _0x27f79e){const _0x4fcd35=_0x27f79e;if(_0x120216&&_0x47b5ed===_0x544983(0x219)){const _0x4a4a04={'type':'content_block_stop','index':_0x523edd};yield _0x4a4a04,_0x523edd++,_0x120216=![],_0x47b5ed=null;}_0x272f68+=_0x4fcd35[_0x544983(0x1fc)];const _0x46cb8=_0x272f68[_0x544983(0x204)](_0x544983(0x222)),_0x7ba4be=_0x272f68['indexOf'](_0x544983(0x1ba)),_0x306e91=[_0x46cb8,_0x7ba4be][_0x544983(0x1df)](_0x3743fa=>_0x3743fa!==-0x1),_0x489f46=_0x306e91[_0x544983(0x1da)]>0x0?Math[_0x544983(0x1d2)](..._0x306e91):-0x1;if(_0x489f46!==-0x1){const _0x2a637f=[];let _0x35f995=0x0;while(!![]){const _0xfb4fb=_0x272f68[_0x544983(0x1bd)](_0x35f995),_0x25e1a1=parseToolCallFromText(_0xfb4fb,_0x3e0b0b);if(!_0x25e1a1)break;_0x2a637f[_0x544983(0x221)]({'id':_0x25e1a1['id'],'name':_0x25e1a1[_0x544983(0x21d)],'input':_0x25e1a1[_0x544983(0x1ce)],'startIndex':_0x35f995+_0x25e1a1['startIndex'],'endIndex':_0x35f995+_0x25e1a1[_0x544983(0x1cf)]}),_0x35f995+=_0x25e1a1['endIndex'];}if(_0x2a637f[_0x544983(0x1da)]>0x0){const _0x8af96e=_0x2a637f[_0x2a637f['length']-0x1];_0x22b623=!![];if(_0x2a637f[_0x544983(0x1da)]>0x1){const _0x26b501=_0x2a637f[_0x544983(0x1c1)](0x0,-0x1)[_0x544983(0x213)](_0x1d0020=>_0x1d0020[_0x544983(0x21d)]);_0x3e0b0b?.[_0x544983(0x1d4)](_0x544983(0x1ea)+_0x2a637f['length']+_0x544983(0x1db)+(_0x544983(0x1fa)+_0x8af96e[_0x544983(0x21d)]+_0x544983(0x212)+_0x26b501[_0x544983(0x220)](',\x20')));}else _0x3e0b0b?.['debug'](_0x544983(0x1e5)+_0x8af96e[_0x544983(0x21d)]);const _0x3f71b4=_0x272f68['substring'](_0xc070c6,_0x8af96e[_0x544983(0x1e9)])['trim']();if(_0x3f71b4){if(!_0x120216){const _0x25b4f3={'type':_0x544983(0x1be),'index':_0x523edd,'content_block':{'type':'text','text':''}};yield _0x25b4f3,_0x120216=!![],_0x47b5ed=_0x544983(0x1ad);}const _0x2ed874={'type':'content_block_delta','index':_0x523edd,'delta':{'type':'text_delta','text':_0x3f71b4}};yield _0x2ed874,_0x566be8+=estimateTokenCount(_0x3f71b4);}if(_0x120216){const _0x4277c6={'type':_0x544983(0x203),'index':_0x523edd};yield _0x4277c6,_0x523edd++,_0x120216=![],_0x47b5ed=null;}for(const _0x341d25 of generateToolCallEvents(_0x8af96e,_0x523edd,_0x7066be)){_0x341d25[_0x544983(0x1c2)]===_0x544983(0x1d9)&&(_0x341d25[_0x544983(0x1ef)]['output_tokens']=_0x566be8),yield _0x341d25;}return;}const _0x51c691=_0x272f68['includes'](_0x544983(0x222))&&_0x272f68[_0x544983(0x1d8)](_0x544983(0x20f)),_0x3e5781=_0x272f68[_0x544983(0x1d8)](_0x544983(0x1ba))&&findJsonEndIndex(_0x272f68,_0x272f68[_0x544983(0x204)]('{\x22tool_use\x22:'))!==-0x1;if(_0x51c691||_0x3e5781){_0x22b623=!![];let _0x45029a='';if(_0x51c691){const _0x10f216=_0x272f68[_0x544983(0x204)](_0x544983(0x222)),_0x6007a1=_0x272f68[_0x544983(0x204)](_0x544983(0x20f),_0x10f216);_0x6007a1!==-0x1?_0x45029a=_0x272f68[_0x544983(0x1bd)](_0x10f216,_0x6007a1+_0x544983(0x20f)[_0x544983(0x1da)]):_0x45029a=_0x272f68['substring'](_0x10f216);}else{if(_0x3e5781){const _0x4b8d1f=_0x272f68[_0x544983(0x204)](_0x544983(0x1ba)),_0x4a8ee1=findJsonEndIndex(_0x272f68,_0x4b8d1f);_0x4a8ee1!==-0x1?_0x45029a=_0x272f68[_0x544983(0x1bd)](_0x4b8d1f,_0x4a8ee1):_0x45029a=_0x272f68[_0x544983(0x1bd)](_0x4b8d1f);}}_0x3e0b0b&&_0x3e0b0b[_0x544983(0x1c6)](_0x544983(0x1ee)+_0x45029a);_0x3e0b0b?.[_0x544983(0x1dc)](_0x544983(0x1b0)),_0x3e0b0b?.[_0x544983(0x1dc)]('Malformed\x20content:',_0x45029a);const _0x2415f9=_0x272f68[_0x544983(0x1bd)](_0xc070c6,_0x489f46)[_0x544983(0x216)]();if(_0x2415f9){if(!_0x120216){const _0x667a9={'type':'content_block_start','index':_0x523edd,'content_block':{'type':_0x544983(0x1ad),'text':''}};yield _0x667a9,_0x120216=!![],_0x47b5ed=_0x544983(0x1ad);}const _0x5d55aa={'type':_0x544983(0x217),'index':_0x523edd,'delta':{'type':'text_delta','text':_0x2415f9}};yield _0x5d55aa,_0x566be8+=estimateTokenCount(_0x2415f9);}if(_0x120216){const _0x24e8dd={'type':_0x544983(0x203),'index':_0x523edd};yield _0x24e8dd,_0x523edd++,_0x120216=![],_0x47b5ed=null;}const _0x2d6972=_0x544983(0x1bf)+_0x45029a+_0x544983(0x1d6),_0x1afb70={'type':_0x544983(0x1be),'index':_0x523edd,'content_block':{'type':_0x544983(0x1ad),'text':''}};yield _0x1afb70,_0x47b5ed=_0x544983(0x1ad);const _0x331422={'type':'content_block_delta','index':_0x523edd,'delta':{'type':_0x544983(0x208),'text':_0x2d6972}};yield _0x331422;const _0x43a6a0={'type':_0x544983(0x203),'index':_0x523edd};yield _0x43a6a0;const _0x32048f={'type':_0x544983(0x1d9),'delta':{'stop_reason':_0x544983(0x1e4),'stop_sequence':null},'usage':{'input_tokens':_0x7066be,'output_tokens':_0x566be8}};yield _0x32048f;const _0x661537={'type':_0x544983(0x1c9)};yield _0x661537;return;}const _0x45e933=_0x272f68['substring'](_0xc070c6,_0x489f46);if(_0x45e933){if(!_0x120216){const _0x37d765={'type':_0x544983(0x1be),'index':_0x523edd,'content_block':{'type':'text','text':''}};yield _0x37d765,_0x120216=!![],_0x47b5ed=_0x544983(0x1ad);}const _0x3aad23={'type':_0x544983(0x217),'index':_0x523edd,'delta':{'type':_0x544983(0x208),'text':_0x45e933}};yield _0x3aad23,_0x566be8+=estimateTokenCount(_0x45e933),_0xc070c6=_0x489f46;}continue;}const _0x5b0475=_0x272f68[_0x544983(0x1da)]-_0x14ca2a;if(_0x5b0475>_0xc070c6){const _0x358536=_0x272f68[_0x544983(0x1bd)](_0xc070c6,_0x5b0475);if(_0x358536){if(!_0x120216){const _0x3c2da4={'type':'content_block_start','index':_0x523edd,'content_block':{'type':_0x544983(0x1ad),'text':''}};yield _0x3c2da4,_0x120216=!![],_0x47b5ed=_0x544983(0x1ad);}const _0x3ed4bf={'type':_0x544983(0x217),'index':_0x523edd,'delta':{'type':_0x544983(0x208),'text':_0x358536}};yield _0x3ed4bf,_0x566be8+=estimateTokenCount(_0x358536),_0xc070c6=_0x5b0475;}}}else{if('error'in _0x27f79e){const _0xcb0cd4=_0x27f79e,_0x2b72d=determineErrorType(_0xcb0cd4[_0x544983(0x1c6)],_0x3e0b0b),_0x32fb32=_0x2b72d===_0x544983(0x1bc)?_0x544983(0x1b3):_0x544983(0x1e4),_0x5079ea={'type':'message_delta','delta':{'stop_reason':_0x32fb32,'stop_sequence':null},'usage':{'input_tokens':_0x7066be,'output_tokens':_0x566be8}};yield _0x5079ea,yield{'type':_0x544983(0x1c6),'error':{'type':_0x2b72d,'message':_0xcb0cd4[_0x544983(0x1c6)]},'request_id':_0x56b105};const _0x301b5f={'type':'message_stop'};yield _0x301b5f;return;}}}}if(!_0x22b623){const _0x190be3=_0x272f68[_0x544983(0x1bd)](_0xc070c6);if(_0x190be3){if(!_0x120216){const _0x3993b8={'type':_0x544983(0x1be),'index':_0x523edd,'content_block':{'type':_0x544983(0x1ad),'text':''}};yield _0x3993b8,_0x120216=!![],_0x47b5ed=_0x544983(0x1ad);}const _0x5e88fc={'type':_0x544983(0x217),'index':_0x523edd,'delta':{'type':_0x544983(0x208),'text':_0x190be3}};yield _0x5e88fc,_0x566be8+=estimateTokenCount(_0x190be3);}if(_0x120216){const _0x10feff={'type':'content_block_stop','index':_0x523edd};yield _0x10feff;}const _0x479b0e={'type':'message_delta','delta':{'stop_reason':_0x544983(0x1e4),'stop_sequence':null},'usage':{'input_tokens':_0x7066be,'output_tokens':_0x566be8}};yield _0x479b0e;const _0xc753e1={'type':'message_stop'};yield _0xc753e1;}}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(_0x1efcd7,_0x1f4706){const _0x3267b8=a55_0x2ca5,_0x203de8=_0x1efcd7();while(!![]){try{const _0xb8a46d=parseInt(_0x3267b8(0x112))/0x1*(-parseInt(_0x3267b8(0x101))/0x2)+parseInt(_0x3267b8(0x111))/0x3*(parseInt(_0x3267b8(0x106))/0x4)+-parseInt(_0x3267b8(0xea))/0x5+parseInt(_0x3267b8(0x102))/0x6*(-parseInt(_0x3267b8(0xe2))/0x7)+-parseInt(_0x3267b8(0xf2))/0x8+parseInt(_0x3267b8(0xe1))/0x9*(parseInt(_0x3267b8(0xe4))/0xa)+parseInt(_0x3267b8(0x10a))/0xb;if(_0xb8a46d===_0x1f4706)break;else _0x203de8['push'](_0x203de8['shift']());}catch(_0x5dfa43){_0x203de8['push'](_0x203de8['shift']());}}}(a55_0x264e,0x22184));import{readFile,writeFile,appendFile,mkdir,readdir,stat}from'node:fs/promises';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 _0xc26d61=a55_0x2ca5;return!usageLogger&&(usageLogger=new TDXLogger(LogLevel[_0xc26d61(0x105)],!![]),await usageLogger['init']()),usageLogger;}function getUsageDir(){const _0x1024cf=a55_0x2ca5;return join(homedir(),_0x1024cf(0x110),'tdx',_0x1024cf(0xe9));}function sanitizeSessionId(_0x3fb25e){const _0x5db9c6=a55_0x2ca5;return _0x3fb25e[_0x5db9c6(0x10c)](/[^a-zA-Z0-9_-]/g,'_');}function getSafeJsonlPath(_0x20b33e){const _0x7efc49=a55_0x2ca5,_0x524fe5=getUsageDir(),_0x1ab601=sanitizeSessionId(_0x20b33e),_0x5138f6=resolve(_0x524fe5,_0x1ab601+'.jsonl');if(!_0x5138f6[_0x7efc49(0xdf)](_0x524fe5))throw new Error(_0x7efc49(0x10f));return _0x5138f6;}function getStatsCachePath(){const _0x1ed69c=a55_0x2ca5;return join(getUsageDir(),_0x1ed69c(0x10e));}async function ensureUsageDir(){const _0x170f95=getUsageDir();!existsSync(_0x170f95)&&await mkdir(_0x170f95,{'recursive':!![]});}export async function appendUsageEntry(_0x30ad66,_0x114b72){const _0x1ab9a6=a55_0x2ca5,_0x1169fd=sanitizeSessionId(_0x30ad66);await ensureUsageDir();const _0x4a4187=getSafeJsonlPath(_0x1169fd),_0x3b7988=JSON[_0x1ab9a6(0xf0)](_0x114b72)+'\x0a';await appendFile(_0x4a4187,_0x3b7988,'utf-8');}async function readSessionJsonl(_0x244617){const _0x16921c=a55_0x2ca5,_0x107f76=getSafeJsonlPath(_0x244617);if(!existsSync(_0x107f76))return[];try{const _0x44193b=await readFile(_0x107f76,_0x16921c(0xee)),_0x8fa824=_0x44193b[_0x16921c(0xf7)]()[_0x16921c(0xf3)]('\x0a')['filter'](Boolean);return _0x8fa824[_0x16921c(0xdb)](_0x5ef770=>{const _0x47f513=_0x16921c;try{return JSON[_0x47f513(0xf5)](_0x5ef770);}catch{return null;}})[_0x16921c(0xe7)](_0x271674=>_0x271674!==null);}catch(_0x257532){const _0x442a22=await getLogger();return _0x442a22[_0x16921c(0xd8)](_0x16921c(0xfe)+_0x244617+_0x16921c(0xdc),_0x257532 instanceof Error?_0x257532[_0x16921c(0xfa)]:String(_0x257532)),[];}}async function getAllSessionFiles(){const _0x20fd10=a55_0x2ca5,_0xcc2f63=getUsageDir();if(!existsSync(_0xcc2f63))return[];try{const _0x44b472=await readdir(_0xcc2f63);return _0x44b472[_0x20fd10(0xe7)](_0x5770d9=>_0x5770d9[_0x20fd10(0x115)]('.jsonl'))[_0x20fd10(0xdb)](_0x271a9e=>_0x271a9e['replace'](_0x20fd10(0xef),''));}catch(_0x6d1b64){const _0x5c413b=await getLogger();return _0x5c413b[_0x20fd10(0xd8)]('Failed\x20to\x20read\x20usage\x20directory:',_0x6d1b64 instanceof Error?_0x6d1b64[_0x20fd10(0xfa)]:String(_0x6d1b64)),[];}}async function readStatsCache(){const _0x228265=a55_0x2ca5,_0x1481c0=getStatsCachePath();if(!existsSync(_0x1481c0))return null;try{const _0x40677f=await readFile(_0x1481c0,_0x228265(0xee));return JSON[_0x228265(0xf5)](_0x40677f);}catch{return null;}}async function writeStatsCache(_0x53423b){const _0x388bb4=a55_0x2ca5;await ensureUsageDir();const _0x445c19=getStatsCachePath();await writeFile(_0x445c19,JSON[_0x388bb4(0xf0)](_0x53423b,null,0x2),_0x388bb4(0xee));}async function isCacheUpToDate(_0x260177,_0x5cfeb3){const _0x52939b=a55_0x2ca5,_0x5c6081=_0x260177[_0x52939b(0xdd)][_0x5cfeb3];if(!_0x5c6081)return![];const _0x335c9e=getSafeJsonlPath(_0x5cfeb3);if(!existsSync(_0x335c9e))return!![];try{const _0x22b6ff=await stat(_0x335c9e),_0x46c2d7=new Date(_0x5c6081[_0x52939b(0xe3)])[_0x52939b(0x10d)](),_0xaf2f82=_0x22b6ff[_0x52939b(0x10b)][_0x52939b(0x10d)]();return _0x46c2d7>_0xaf2f82;}catch{return![];}}export async function rebuildCache(){const _0x370c5b=a55_0x2ca5,_0x39d7a6=new Date(),_0x3609e5=_0x39d7a6[_0x370c5b(0xfb)]()[_0x370c5b(0x108)](0x0,0xa),_0x487a64=_0x39d7a6[_0x370c5b(0xfb)]()[_0x370c5b(0x108)](0x0,0x7),_0x18dd28={'daily':{},'monthly':{},'sessions':{},'profiles':{},'lastRebuiltAt':_0x39d7a6[_0x370c5b(0xfb)]()},_0x3a4d68=await getAllSessionFiles();for(const _0x5db8a4 of _0x3a4d68){try{const _0x38cfc5=await readSessionJsonl(_0x5db8a4);if(_0x38cfc5[_0x370c5b(0xed)]===0x0)continue;let _0x37be2f=0x0;const _0x45e5d5={};let _0x8debd1='';for(const _0x4e64ee of _0x38cfc5){const _0x2bc2e8=getModelFactor(_0x4e64ee[_0x370c5b(0xff)]),_0x1517d5=calculateChatUnit(_0x4e64ee[_0x370c5b(0xf4)],_0x4e64ee[_0x370c5b(0xfd)],_0x2bc2e8);_0x37be2f+=_0x1517d5;const _0x376265=_0x4e64ee['contextSignature']||_0x370c5b(0xec);_0x45e5d5[_0x376265]=_0x4e64ee[_0x370c5b(0xf4)];_0x4e64ee[_0x370c5b(0xeb)]>_0x8debd1&&(_0x8debd1=_0x4e64ee[_0x370c5b(0xeb)]);const _0x2f66e3=_0x4e64ee['timestamp'][_0x370c5b(0x108)](0x0,0xa);!_0x18dd28[_0x370c5b(0xe8)][_0x2f66e3]&&(_0x18dd28['daily'][_0x2f66e3]={'totalChatUnits':0x0,'entryCount':0x0});_0x18dd28[_0x370c5b(0xe8)][_0x2f66e3][_0x370c5b(0x109)]+=_0x1517d5,_0x18dd28[_0x370c5b(0xe8)][_0x2f66e3][_0x370c5b(0x103)]+=0x1;const _0x43447f=_0x4e64ee['timestamp'][_0x370c5b(0x108)](0x0,0x7);!_0x18dd28[_0x370c5b(0xf6)][_0x43447f]&&(_0x18dd28['monthly'][_0x43447f]={'totalChatUnits':0x0,'entryCount':0x0});_0x18dd28[_0x370c5b(0xf6)][_0x43447f]['totalChatUnits']+=_0x1517d5,_0x18dd28[_0x370c5b(0xf6)][_0x43447f][_0x370c5b(0x103)]+=0x1;const _0x54c002=_0x4e64ee['profile']||_0x370c5b(0xec);!_0x18dd28['profiles'][_0x54c002]&&(_0x18dd28[_0x370c5b(0xe0)][_0x54c002]={'totalChatUnits':0x0,'entryCount':0x0,'lastUsedAt':'','todayChatUnits':0x0,'todayDate':_0x3609e5,'monthChatUnits':0x0,'month':_0x487a64}),_0x18dd28[_0x370c5b(0xe0)][_0x54c002][_0x370c5b(0x109)]+=_0x1517d5,_0x18dd28[_0x370c5b(0xe0)][_0x54c002]['entryCount']+=0x1,_0x4e64ee[_0x370c5b(0xeb)]>_0x18dd28[_0x370c5b(0xe0)][_0x54c002][_0x370c5b(0xe5)]&&(_0x18dd28['profiles'][_0x54c002]['lastUsedAt']=_0x4e64ee[_0x370c5b(0xeb)]),_0x2f66e3===_0x3609e5&&(_0x18dd28[_0x370c5b(0xe0)][_0x54c002][_0x370c5b(0x117)]+=_0x1517d5),_0x43447f===_0x487a64&&(_0x18dd28[_0x370c5b(0xe0)][_0x54c002]['monthChatUnits']+=_0x1517d5);}_0x18dd28[_0x370c5b(0xdd)][_0x5db8a4]={'totalChatUnits':_0x37be2f,'latestInputTokensByContext':_0x45e5d5,'createdAt':_0x38cfc5[0x0][_0x370c5b(0xeb)],'lastUpdatedAt':_0x8debd1};}catch(_0x44698d){const _0x3234fa=await getLogger();_0x3234fa['warn'](_0x370c5b(0xe6)+_0x5db8a4+':',_0x44698d instanceof Error?_0x44698d[_0x370c5b(0xfa)]:String(_0x44698d));continue;}}return cleanupOldEntries(_0x18dd28),await writeStatsCache(_0x18dd28),_0x18dd28;}function cleanupOldEntries(_0x456608){const _0x1b74c4=a55_0x2ca5,_0x3d9bee=new Date(),_0x3d4cd4=new Date(_0x3d9bee['getTime']()-0x7*0x18*0x3c*0x3c*0x3e8);for(const _0x3f8955 of Object[_0x1b74c4(0xf8)](_0x456608[_0x1b74c4(0xe8)])){new Date(_0x3f8955)<_0x3d4cd4&&delete _0x456608[_0x1b74c4(0xe8)][_0x3f8955];}const _0x166c2e=new Date(_0x3d9bee[_0x1b74c4(0x116)]()-0x1,_0x3d9bee[_0x1b74c4(0x100)](),0x1);for(const _0x1893a2 of Object[_0x1b74c4(0xf8)](_0x456608[_0x1b74c4(0xf6)])){const [_0x52a164,_0x320cf1]=_0x1893a2['split']('-')[_0x1b74c4(0xdb)](Number),_0x48cf8c=new Date(_0x52a164,_0x320cf1-0x1,0x1);_0x48cf8c<_0x166c2e&&delete _0x456608[_0x1b74c4(0xf6)][_0x1893a2];}const _0x21f993=new Date(_0x3d9bee[_0x1b74c4(0x10d)]()-0x1e*0x18*0x3c*0x3c*0x3e8);for(const [_0x503e87,_0x5c9379]of Object['entries'](_0x456608[_0x1b74c4(0xdd)])){new Date(_0x5c9379[_0x1b74c4(0xe3)])<_0x21f993&&delete _0x456608[_0x1b74c4(0xdd)][_0x503e87];}}export async function getOrUpdateCache(_0x515057){const _0x23af84=_0x515057?sanitizeSessionId(_0x515057):undefined,_0x131d39=await readStatsCache();if(!_0x131d39)return rebuildCache();if(_0x23af84){const _0x31dd61=await isCacheUpToDate(_0x131d39,_0x23af84);if(!_0x31dd61)return rebuildCache();}return _0x131d39;}export async function getSessionCredits(_0x17dc15){const _0xd880bf=a55_0x2ca5,_0x27f008=sanitizeSessionId(_0x17dc15),_0x563034=await getOrUpdateCache(_0x27f008),_0x444a3b=_0x563034[_0xd880bf(0xdd)][_0x27f008];if(!_0x444a3b)return 0x0;return calculateCredits(_0x444a3b[_0xd880bf(0x109)]);}export async function getTodayCredits(){const _0x1ac83c=a55_0x2ca5,_0x3efdb0=await getOrUpdateCache(),_0x70c2fc=new Date()[_0x1ac83c(0xfb)]()[_0x1ac83c(0x108)](0x0,0xa),_0x321746=_0x3efdb0[_0x1ac83c(0xe8)][_0x70c2fc];if(!_0x321746)return 0x0;return calculateCredits(_0x321746[_0x1ac83c(0x109)]);}export async function getMonthCredits(){const _0x34cc38=a55_0x2ca5,_0x537c9b=await getOrUpdateCache(),_0x1ff9e9=new Date()['toISOString']()['slice'](0x0,0x7),_0x302369=_0x537c9b[_0x34cc38(0xf6)][_0x1ff9e9];if(!_0x302369)return 0x0;return calculateCredits(_0x302369['totalChatUnits']);}export async function getSessionStats(_0x51c777){const _0x2f8ee3=a55_0x2ca5,_0x24d2a5=sanitizeSessionId(_0x51c777),_0x2a7afc=await getOrUpdateCache(_0x24d2a5);return _0x2a7afc[_0x2f8ee3(0xdd)][_0x24d2a5]||null;}function getMaxLatestInputTokens(_0x3d2229){const _0x2ca2c8=a55_0x2ca5,_0x414f38=Object[_0x2ca2c8(0xf9)](_0x3d2229);if(_0x414f38[_0x2ca2c8(0xed)]===0x0)return 0x0;return Math[_0x2ca2c8(0x107)](..._0x414f38);}function a55_0x2ca5(_0x576ca8,_0x348898){_0x576ca8=_0x576ca8-0xd8;const _0x264e8a=a55_0x264e();let _0x2ca5d0=_0x264e8a[_0x576ca8];return _0x2ca5d0;}export async function getUsageStats(_0x1819a2,_0xeb8162){const _0x2ff4cd=a55_0x2ca5,_0x370ab2=sanitizeSessionId(_0x1819a2),_0x203db8=await getOrUpdateCache(_0x370ab2),_0x5bb6ad=_0x203db8[_0x2ff4cd(0xdd)][_0x370ab2],_0x20db64=new Date()[_0x2ff4cd(0xfb)]()[_0x2ff4cd(0x108)](0x0,0xa),_0x5a75da=new Date()[_0x2ff4cd(0xfb)]()[_0x2ff4cd(0x108)](0x0,0x7);if(_0xeb8162){const _0x17d6fd=_0x203db8[_0x2ff4cd(0xe0)]?.[_0xeb8162],_0x15175e=_0x17d6fd?.[_0x2ff4cd(0x113)]===_0x20db64?calculateCredits(_0x17d6fd['todayChatUnits']):0x0,_0x1bcb8a=_0x17d6fd?.[_0x2ff4cd(0xda)]===_0x5a75da?calculateCredits(_0x17d6fd[_0x2ff4cd(0xd9)]):0x0;return{'sessionCredits':_0x5bb6ad?calculateCredits(_0x5bb6ad[_0x2ff4cd(0x109)]):0x0,'todayCredits':_0x15175e,'monthCredits':_0x1bcb8a,'latestInputTokens':_0x5bb6ad?getMaxLatestInputTokens(_0x5bb6ad['latestInputTokensByContext']):0x0};}return{'sessionCredits':_0x5bb6ad?calculateCredits(_0x5bb6ad[_0x2ff4cd(0x109)]):0x0,'todayCredits':_0x203db8[_0x2ff4cd(0xe8)][_0x20db64]?calculateCredits(_0x203db8[_0x2ff4cd(0xe8)][_0x20db64]['totalChatUnits']):0x0,'monthCredits':_0x203db8[_0x2ff4cd(0xf6)][_0x5a75da]?calculateCredits(_0x203db8[_0x2ff4cd(0xf6)][_0x5a75da]['totalChatUnits']):0x0,'latestInputTokens':_0x5bb6ad?getMaxLatestInputTokens(_0x5bb6ad['latestInputTokensByContext']):0x0};}export async function getAllProfileStats(){const _0x8b32f8=a55_0x2ca5,_0x156dea=await getOrUpdateCache(),_0x21f290=_0x156dea[_0x8b32f8(0xe0)]||{};return Object[_0x8b32f8(0x104)](_0x21f290)['filter'](([,_0x27a42e])=>_0x27a42e&&typeof _0x27a42e===_0x8b32f8(0xfc))[_0x8b32f8(0xdb)](([_0x32c012,_0x1b1905])=>({'profile':_0x32c012,'credits':calculateCredits(_0x1b1905['totalChatUnits']||0x0),'entryCount':_0x1b1905[_0x8b32f8(0x103)]||0x0,'lastUsedAt':_0x1b1905[_0x8b32f8(0xe5)]||''}))[_0x8b32f8(0x114)]((_0x1ffd53,_0x590f1b)=>_0x590f1b['credits']-_0x1ffd53[_0x8b32f8(0xf1)]);}function a55_0x264e(){const _0x2048d6=['1604370KRtUfo','entryCount','entries','WARN','9188vfTAiG','max','slice','totalChatUnits','9030615BNCQeG','mtime','replace','getTime','stats-cache.json','Invalid\x20session\x20ID:\x20path\x20traversal\x20detected','.cache','21elxkrE','68114fhOfJY','todayDate','sort','endsWith','getFullYear','todayChatUnits','warn','monthChatUnits','month','map','.jsonl:','sessions','reduce','startsWith','profiles','27675flOChU','7YwJXSk','lastUpdatedAt','90jcZiGA','lastUsedAt','Failed\x20to\x20process\x20session\x20','filter','daily','claude-usage','1311430pNoKzv','timestamp','default','length','utf-8','.jsonl','stringify','credits','473264EkJExo','split','inputTokens','parse','monthly','trim','keys','values','message','toISOString','object','outputTokens','Failed\x20to\x20read\x20usage\x20file\x20','model','getMonth','4JEbwMC'];a55_0x264e=function(){return _0x2048d6;};return a55_0x264e();}export async function getUsageSummary(){const _0x57f3d5=a55_0x2ca5,_0x6c12e2=await getOrUpdateCache(),_0x4109fc=_0x6c12e2[_0x57f3d5(0xe0)]||{},_0x52be23=new Date()['toISOString']()[_0x57f3d5(0x108)](0x0,0xa),_0x3076c4=new Date()[_0x57f3d5(0xfb)]()['slice'](0x0,0x7),_0x74bcc0=Object['values'](_0x4109fc)['filter'](_0x4d7987=>_0x4d7987&&typeof _0x4d7987===_0x57f3d5(0xfc)),_0x30fa8a=_0x74bcc0[_0x57f3d5(0xde)]((_0x931272,_0x3527a7)=>_0x931272+(_0x3527a7[_0x57f3d5(0x109)]||0x0),0x0);return{'todayCredits':_0x6c12e2[_0x57f3d5(0xe8)][_0x52be23]?calculateCredits(_0x6c12e2['daily'][_0x52be23][_0x57f3d5(0x109)]||0x0):0x0,'monthCredits':_0x6c12e2['monthly'][_0x3076c4]?calculateCredits(_0x6c12e2['monthly'][_0x3076c4][_0x57f3d5(0x109)]||0x0):0x0,'totalCredits':calculateCredits(_0x30fa8a),'profileCount':_0x74bcc0[_0x57f3d5(0xed)]};}
@@ -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(_0x616aad,_0x7bc007){const _0x450c43=a56_0x118f,_0x30f107=_0x616aad();while(!![]){try{const _0x144a3c=-parseInt(_0x450c43(0x170))/0x1+parseInt(_0x450c43(0x16c))/0x2*(-parseInt(_0x450c43(0x167))/0x3)+parseInt(_0x450c43(0x16b))/0x4*(-parseInt(_0x450c43(0x16e))/0x5)+-parseInt(_0x450c43(0x173))/0x6+-parseInt(_0x450c43(0x16d))/0x7+-parseInt(_0x450c43(0x171))/0x8+parseInt(_0x450c43(0x16a))/0x9;if(_0x144a3c===_0x7bc007)break;else _0x30f107['push'](_0x30f107['shift']());}catch(_0x27ea02){_0x30f107['push'](_0x30f107['shift']());}}}(a56_0x4adc,0x99362));function a56_0x118f(_0x256d95,_0x37d929){_0x256d95=_0x256d95-0x163;const _0x4adc8c=a56_0x4adc();let _0x118f83=_0x4adc8c[_0x256d95];return _0x118f83;}import{createHash}from'crypto';function a56_0x4adc(){const _0x58e962=['38063952neeehw','8500AHtwQA','45658ClUSta','28952OMYpVc','1645qbMQCy','sort','1116796dgQHZE','4042568YzpCer','localeCompare','6836532aRMPHo','stringify','keys','sha256','filter','digest','name','18tmvymQ','hex','input_schema'];a56_0x4adc=function(){return _0x58e962;};return a56_0x4adc();}import{extractModelAlias,resolveModelAlias}from'../sdk/llm/model-aliases.js';export function calculateContextSignature(_0x58983a,_0x352f8a,_0x4726b5,_0x23a0ca){const _0x1de059=a56_0x118f,_0x1165dd=extractModelAlias(_0x58983a),_0x24420c=resolveModelAlias(_0x1165dd),_0x5e2b35=[..._0x352f8a||[]][_0x1de059(0x16f)](),_0x1e5be6=(_0x4726b5||[])[_0x1de059(0x164)](_0x3c1c63=>_0x3c1c63!=null)['map'](_0x53f2dd=>({'name':_0x53f2dd[_0x1de059(0x166)],'params':Object[_0x1de059(0x175)](_0x53f2dd[_0x1de059(0x169)]?.['properties']||{})[_0x1de059(0x16f)](),'required':(_0x53f2dd[_0x1de059(0x169)]?.['required']||[])[_0x1de059(0x16f)]()}))['sort']((_0x18dcc1,_0x59f50c)=>_0x18dcc1[_0x1de059(0x166)][_0x1de059(0x172)](_0x59f50c['name'])),_0x27b2fe=JSON[_0x1de059(0x174)]({'model':_0x24420c,'prompts':_0x5e2b35,'tools':_0x1e5be6,'reasoning':_0x23a0ca});return createHash(_0x1de059(0x163))['update'](_0x27b2fe)[_0x1de059(0x165)](_0x1de059(0x168))['substring'](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 a57_0x17e8(_0x52b5a4,_0x2323c7){_0x52b5a4=_0x52b5a4-0x1ab;const _0x3176e8=a57_0x3176();let _0x17e8d7=_0x3176e8[_0x52b5a4];return _0x17e8d7;}(function(_0x393dda,_0x2f7537){const _0x5f4afb=a57_0x17e8,_0x51eddc=_0x393dda();while(!![]){try{const _0xcd12d2=parseInt(_0x5f4afb(0x1b9))/0x1*(parseInt(_0x5f4afb(0x1c2))/0x2)+-parseInt(_0x5f4afb(0x1c0))/0x3*(parseInt(_0x5f4afb(0x1ac))/0x4)+parseInt(_0x5f4afb(0x1bf))/0x5*(-parseInt(_0x5f4afb(0x1ae))/0x6)+-parseInt(_0x5f4afb(0x1cf))/0x7+parseInt(_0x5f4afb(0x1cb))/0x8+parseInt(_0x5f4afb(0x1d0))/0x9+parseInt(_0x5f4afb(0x1cc))/0xa;if(_0xcd12d2===_0x2f7537)break;else _0x51eddc['push'](_0x51eddc['shift']());}catch(_0x576234){_0x51eddc['push'](_0x51eddc['shift']());}}}(a57_0x3176,0x4e0d3));export function formatConversationHistory(_0x4069a6){const _0x5340af=a57_0x17e8;if(!_0x4069a6||!Array[_0x5340af(0x1be)](_0x4069a6))return'';const _0x495c1c=_0x4069a6[_0x5340af(0x1b5)](_0x3192b4=>_0x3192b4!=null)['map'](_0x35a4fe=>{const _0xb0bef6=_0x5340af,_0x43aadb=[],_0x400923=[];if(_0x35a4fe['content']!=null&&Array[_0xb0bef6(0x1be)](_0x35a4fe[_0xb0bef6(0x1b0)]))for(const _0x168263 of _0x35a4fe[_0xb0bef6(0x1b0)]){if(!_0x168263)continue;if(_0x168263[_0xb0bef6(0x1c6)]===_0xb0bef6(0x1ce)&&_0x168263[_0xb0bef6(0x1ce)])_0x43aadb['push'](_0x168263[_0xb0bef6(0x1ce)]);else{if(_0x168263[_0xb0bef6(0x1c6)]===_0xb0bef6(0x1b7)&&_0x168263[_0xb0bef6(0x1ab)]){const _0x3c601e=_0x168263['input']?JSON[_0xb0bef6(0x1ca)](_0x168263[_0xb0bef6(0x1c1)]):'{}';_0x400923[_0xb0bef6(0x1c3)](_0xb0bef6(0x1b1)+_0x168263['name']+'\x22\x20id=\x22'+(_0x168263['id']||_0xb0bef6(0x1bb))+'\x22>\x0a'+_0x3c601e+_0xb0bef6(0x1bd));}else{if(_0x168263[_0xb0bef6(0x1c6)]===_0xb0bef6(0x1b8)&&_0x168263[_0xb0bef6(0x1c4)]){let _0x57f335='';if(typeof _0x168263['content']===_0xb0bef6(0x1bc))_0x57f335=_0x168263[_0xb0bef6(0x1b0)];else _0x168263[_0xb0bef6(0x1b0)]!=null&&Array[_0xb0bef6(0x1be)](_0x168263[_0xb0bef6(0x1b0)])&&(_0x57f335=_0x168263[_0xb0bef6(0x1b0)]['filter'](_0x2cf4d2=>_0x2cf4d2&&_0x2cf4d2[_0xb0bef6(0x1c6)]===_0xb0bef6(0x1ce)&&_0x2cf4d2[_0xb0bef6(0x1ce)])[_0xb0bef6(0x1d2)](_0x35f763=>_0x35f763[_0xb0bef6(0x1ce)])[_0xb0bef6(0x1ad)]('\x0a'));const _0x291980=_0x168263[_0xb0bef6(0x1c5)]?_0xb0bef6(0x1b3):'';_0x400923[_0xb0bef6(0x1c3)](_0xb0bef6(0x1c8)+_0x168263['tool_use_id']+'\x22'+_0x291980+']\x0a'+_0x57f335);}}}}else typeof _0x35a4fe[_0xb0bef6(0x1b0)]===_0xb0bef6(0x1bc)&&_0x35a4fe[_0xb0bef6(0x1b0)]&&_0x43aadb[_0xb0bef6(0x1c3)](_0x35a4fe['content']);if(_0x43aadb[_0xb0bef6(0x1ba)]===0x0&&_0x400923['length']===0x0)return null;const _0xeb0f15=_0x35a4fe['role']==='user'?'[user]':'[assistant]',_0x507f7d=[];return(_0x43aadb[_0xb0bef6(0x1ba)]>0x0||_0x35a4fe[_0xb0bef6(0x1c7)]===_0xb0bef6(0x1c9)&&_0x400923[_0xb0bef6(0x1ba)]>0x0)&&_0x507f7d['push'](_0xeb0f15+'\x0a'+_0x43aadb[_0xb0bef6(0x1ad)]('\x0a\x0a')),_0x507f7d[_0xb0bef6(0x1c3)](..._0x400923),_0x507f7d['join']('\x0a\x0a');})[_0x5340af(0x1b5)](_0x3ecd58=>_0x3ecd58!=null&&_0x3ecd58[_0x5340af(0x1ba)]>0x0)[_0x5340af(0x1ad)]('\x0a\x0a');return _0x495c1c?_0x495c1c+_0x5340af(0x1af):'';}function a57_0x3176(){const _0x41d4b4=['\x20error=\x22true\x22','message.content\x20must\x20be\x20a\x20string\x20or\x20array,\x20got:\x20','filter','slice','tool_use','tool_result','197dPLuZl','length','unknown','string','\x0a</tool_use>','isArray','121270jEFsfZ','153erBAib','input','338JDHuUW','push','tool_use_id','is_error','type','role','[tool_result\x20tool_use_id=\x22','assistant','stringify','2638752kLgppx','9798640LRZVwT','user','text','3799768HClawE','203337SeXWdz','pop','map','name','35652kjDOgc','join','12oboCqh','\x0a\x0a[chat\x20history\x20end]','content','<tool_use\x20name=\x22','No\x20user\x20message\x20found\x20in\x20request'];a57_0x3176=function(){return _0x41d4b4;};return a57_0x3176();}export function calculateConversationDelta(_0x597f95,_0x59dc8e){const _0x2f01ee=a57_0x17e8;if(_0x59dc8e[_0x2f01ee(0x1ba)]===0x0)return _0x597f95;const _0x293acd=_0x59dc8e[_0x2f01ee(0x1ba)];return _0x597f95[_0x2f01ee(0x1b6)](_0x293acd);}export function extractLastUserMessage(_0x26fa77,_0x440509){const _0x5ae893=a57_0x17e8;let _0xc52155=_0x26fa77[_0x5ae893(0x1b5)](_0x490859=>_0x490859[_0x5ae893(0x1c7)]===_0x5ae893(0x1cd))[_0x5ae893(0x1d1)]();if(!_0xc52155){_0xc52155=_0x440509[_0x5ae893(0x1b5)](_0x1f61d2=>_0x1f61d2[_0x5ae893(0x1c7)]===_0x5ae893(0x1cd))[_0x5ae893(0x1d1)]();if(!_0xc52155)return{'message':null,'text':null,'error':_0x5ae893(0x1b2)};}if(typeof _0xc52155[_0x5ae893(0x1b0)]===_0x5ae893(0x1bc))return{'message':_0xc52155,'text':_0xc52155[_0x5ae893(0x1b0)],'error':null};if(_0xc52155[_0x5ae893(0x1b0)]!=null&&Array[_0x5ae893(0x1be)](_0xc52155[_0x5ae893(0x1b0)])){const _0x32f153=_0xc52155['content'][_0x5ae893(0x1b5)](_0x5b5d00=>_0x5b5d00&&_0x5b5d00[_0x5ae893(0x1c6)]===_0x5ae893(0x1ce)&&_0x5b5d00[_0x5ae893(0x1ce)])[_0x5ae893(0x1d2)](_0x200ba8=>_0x200ba8[_0x5ae893(0x1ce)])[_0x5ae893(0x1ad)]('\x0a');return{'message':_0xc52155,'text':_0x32f153,'error':null};}return{'message':_0xc52155,'text':null,'error':_0x5ae893(0x1b4)+typeof _0xc52155['content']+'\x20'+_0xc52155[_0x5ae893(0x1b0)]};}
@@ -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_0x37d5fb=a58_0x19de;(function(_0xd8a49f,_0x5edba5){const _0x5bb8fe=a58_0x19de,_0x44775e=_0xd8a49f();while(!![]){try{const _0x1dd218=-parseInt(_0x5bb8fe(0x1a1))/0x1+parseInt(_0x5bb8fe(0x1d0))/0x2+parseInt(_0x5bb8fe(0x18e))/0x3+-parseInt(_0x5bb8fe(0x196))/0x4*(-parseInt(_0x5bb8fe(0x1e0))/0x5)+-parseInt(_0x5bb8fe(0x1b9))/0x6+parseInt(_0x5bb8fe(0x1b6))/0x7*(-parseInt(_0x5bb8fe(0x1a4))/0x8)+-parseInt(_0x5bb8fe(0x1c6))/0x9*(parseInt(_0x5bb8fe(0x175))/0xa);if(_0x1dd218===_0x5edba5)break;else _0x44775e['push'](_0x44775e['shift']());}catch(_0x3cac43){_0x44775e['push'](_0x44775e['shift']());}}}(a58_0x1e1a,0xebe66));import a58_0x211930 from'fastify';import a58_0x2ea739 from'@fastify/cors';function a58_0x19de(_0x287619,_0x11908f){_0x287619=_0x287619-0x16e;const _0x1e1a5b=a58_0x1e1a();let _0x19dee5=_0x1e1a5b[_0x287619];return _0x19dee5;}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='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|';function extractSessionUUID(_0x1dbbcc){const _0x59ebeb=a58_0x19de,_0x7064e6=_0x1dbbcc[_0x59ebeb(0x1d5)](/_session_([a-f0-9-]+)$/i);if(_0x7064e6)return _0x7064e6[0x1];return _0x1dbbcc;}export function injectSystemPrompt(_0x16c681,_0x1105d5){const _0x16722b=a58_0x19de,_0x531c5b=_0x16c681[_0x16722b(0x1aa)];if(!_0x531c5b)return{..._0x16c681,'system':_0x1105d5};if(typeof _0x531c5b===_0x16722b(0x1cf))return{..._0x16c681,'system':_0x1105d5+'\x0a\x0a'+_0x531c5b};if(Array[_0x16722b(0x1a7)](_0x531c5b)){const _0x1b7c4c={'type':'text','text':_0x1105d5};return{..._0x16c681,'system':[_0x1b7c4c,..._0x531c5b]};}return _0x16c681;}export function shouldInjectSystemPrompt(_0x27d8fa){const _0x7f809=a58_0x19de;return!_0x27d8fa[_0x7f809(0x1ea)]()['includes'](_0x7f809(0x1da));}export class PassThroughProxyServer{[a58_0x37d5fb(0x1cd)];[a58_0x37d5fb(0x19c)];[a58_0x37d5fb(0x1c7)];constructor(_0x3e1edc){const _0x53ec2e=a58_0x37d5fb;this[_0x53ec2e(0x19c)]=_0x3e1edc,this[_0x53ec2e(0x1c7)]=_0x3e1edc[_0x53ec2e(0x1c7)],this[_0x53ec2e(0x1cd)]=a58_0x211930({'logger':![],'bodyLimit':0x40*0x400*0x400}),this[_0x53ec2e(0x185)](),this[_0x53ec2e(0x194)](),this['setupRoutes']();}['setupJsonParser'](){const _0x52c0fe=a58_0x37d5fb;this[_0x52c0fe(0x1cd)][_0x52c0fe(0x1ca)](_0x52c0fe(0x184),{'parseAs':_0x52c0fe(0x1cf)},(_0x3d7d6f,_0x44902a,_0x178cfe)=>{const _0x3e6d35=_0x52c0fe;try{const _0x4bbf12=JSON[_0x3e6d35(0x17a)](_0x44902a);_0x178cfe(null,_0x4bbf12);}catch(_0x4da1f5){_0x178cfe(_0x4da1f5,undefined);}});}['setupMiddleware'](){const _0x5c1dcc=a58_0x37d5fb;this['server'][_0x5c1dcc(0x1d3)](a58_0x2ea739,{'origin':!![],'methods':[_0x5c1dcc(0x174),'POST','OPTIONS'],'allowedHeaders':[_0x5c1dcc(0x18d),_0x5c1dcc(0x1f1),_0x5c1dcc(0x1dc),_0x5c1dcc(0x18a)]}),this[_0x5c1dcc(0x1cd)][_0x5c1dcc(0x1bc)]((_0x91b47a,_0x573105,_0x524173)=>{const _0x23f5c2=_0x5c1dcc,_0x478650=_0x91b47a instanceof Error?_0x91b47a['message']:_0x23f5c2(0x1bd);this[_0x23f5c2(0x1c7)][_0x23f5c2(0x1be)](_0x23f5c2(0x19b),_0x91b47a),_0x524173[_0x23f5c2(0x17c)](0x1f4)[_0x23f5c2(0x188)]({'type':_0x23f5c2(0x1be),'error':{'type':_0x23f5c2(0x1a8),'message':_0x478650}});});}[a58_0x37d5fb(0x173)](){const _0x4652a9=a58_0x37d5fb;this[_0x4652a9(0x1cd)][_0x4652a9(0x1d9)]('/health',async()=>{const _0x4492b8=_0x4652a9;return{'status':'ok','message':_0x4492b8(0x181)};}),this[_0x4652a9(0x1cd)][_0x4652a9(0x1ec)](_0x4652a9(0x1ad),async(_0x450e41,_0x276ea3)=>{const _0x32a0d9=_0x4652a9;return this[_0x32a0d9(0x17d)](_0x450e41,_0x276ea3);}),this['server'][_0x4652a9(0x1ec)](_0x4652a9(0x1bf),async(_0x2b5268,_0x393f54)=>{const _0x3017e2=_0x4652a9;return this[_0x3017e2(0x1b4)](_0x2b5268,_0x393f54);});}static [a58_0x37d5fb(0x1bb)]=new Set([a58_0x37d5fb(0x178),a58_0x37d5fb(0x1a5),a58_0x37d5fb(0x1e3),'transfer-encoding','authorization',a58_0x37d5fb(0x18a),a58_0x37d5fb(0x1c9)]);['buildForwardHeaders'](_0x1e0456){const _0x4eb7b3=a58_0x37d5fb,_0xa763fe={};for(const [_0xf118fd,_0x1a2973]of Object[_0x4eb7b3(0x190)](_0x1e0456[_0x4eb7b3(0x1e7)])){const _0x215d7e=_0xf118fd[_0x4eb7b3(0x1ea)]();if(PassThroughProxyServer[_0x4eb7b3(0x1bb)][_0x4eb7b3(0x1df)](_0x215d7e))continue;if(_0x215d7e[_0x4eb7b3(0x1d2)]('x-td-'))continue;if(typeof _0x1a2973===_0x4eb7b3(0x1cf))_0xa763fe[_0xf118fd]=_0x1a2973;else Array[_0x4eb7b3(0x1a7)](_0x1a2973)&&(_0xa763fe[_0xf118fd]=_0x1a2973[_0x4eb7b3(0x179)](',\x20'));}const _0x3445b2=getVersion();return _0xa763fe[_0x4eb7b3(0x1f1)]=_0x4eb7b3(0x183)+this['config'][_0x4eb7b3(0x17b)],_0xa763fe[_0x4eb7b3(0x1cc)]=_0x4eb7b3(0x1a9)+_0x3445b2,_0xa763fe[_0x4eb7b3(0x187)]=_0x4eb7b3(0x1e9),_0xa763fe[_0x4eb7b3(0x19a)]=_0x3445b2,_0xa763fe;}async[a58_0x37d5fb(0x17d)](_0x244e1c,_0x21e336){const _0x3bd188=a58_0x37d5fb,_0x3332b4=_0x244e1c[_0x3bd188(0x1c3)],_0xa11692=_0x3332b4[_0x3bd188(0x1c0)]!==![],_0x539f38=_0x3332b4[_0x3bd188(0x1e1)],_0x2d50a8=_0x539f38?.['user_id']||_0x3bd188(0x1af),_0x58f769=extractSessionUUID(_0x2d50a8),_0x48f2d2=_0x3332b4['model']||_0x3bd188(0x192),_0x1a9f5b=shouldInjectSystemPrompt(_0x48f2d2)?injectSystemPrompt(_0x3332b4,TDX_SYSTEM_PROMPT):_0x3332b4,_0x1a8509=JSON[_0x3bd188(0x1de)](_0x1a9f5b),_0x1c9d64=Array[_0x3bd188(0x1a7)](_0x3332b4[_0x3bd188(0x1cb)])?_0x3332b4[_0x3bd188(0x1cb)][_0x3bd188(0x1b2)]:0x0;this[_0x3bd188(0x1c7)][_0x3bd188(0x1e6)](_0x3bd188(0x193)+_0x244e1c[_0x3bd188(0x1e8)]+'\x20'+_0x244e1c[_0x3bd188(0x1c4)]+_0x3bd188(0x1a2)+_0x1c9d64+_0x3bd188(0x1ef)+_0x48f2d2+',\x20stream='+_0xa11692);const _0x5b71a8=this[_0x3bd188(0x19c)][_0x3bd188(0x191)]+'/v1/messages',_0xc075a6=this[_0x3bd188(0x1b3)](_0x244e1c);this['logger'][_0x3bd188(0x195)](_0x3bd188(0x1e5)+_0x5b71a8);const _0x5207c9=this[_0x3bd188(0x19c)][_0x3bd188(0x18c)]||DEFAULT_TIMEOUT_MS;try{const _0x513b59=await fetch(_0x5b71a8,{'method':_0x3bd188(0x182),'headers':_0xc075a6,'body':_0x1a8509,'signal':AbortSignal[_0x3bd188(0x1ae)](_0x5207c9)});if(!_0x513b59['ok']){const _0x252472=await _0x513b59['text']();return this[_0x3bd188(0x1c7)][_0x3bd188(0x1be)](_0x3bd188(0x1eb)+_0x513b59[_0x3bd188(0x1ba)]+'\x20'+_0x513b59[_0x3bd188(0x197)]),this[_0x3bd188(0x1c7)][_0x3bd188(0x195)](_0x3bd188(0x1c2)+_0x252472),_0x21e336['code'](_0x513b59[_0x3bd188(0x1ba)]),_0x21e336[_0x3bd188(0x1b5)]('Content-Type',_0x513b59['headers'][_0x3bd188(0x1d9)]('Content-Type')||'application/json'),_0x21e336[_0x3bd188(0x188)](_0x252472);}if(_0xa11692&&_0x513b59['body'])await this[_0x3bd188(0x1ee)](_0x513b59[_0x3bd188(0x1c3)],_0x21e336,_0x58f769,_0x48f2d2);else{const _0x279067=await _0x513b59[_0x3bd188(0x17f)]();_0x21e336[_0x3bd188(0x1b5)]('Content-Type',_0x513b59[_0x3bd188(0x1e7)][_0x3bd188(0x1d9)](_0x3bd188(0x18d))||'application/json');try{const _0x29c00b=JSON[_0x3bd188(0x17a)](_0x279067);_0x29c00b[_0x3bd188(0x1d1)]&&await this['logUsage'](_0x58f769,_0x48f2d2,_0x29c00b[_0x3bd188(0x1d1)][_0x3bd188(0x19f)]||0x0,_0x29c00b[_0x3bd188(0x1d1)][_0x3bd188(0x1ce)]||0x0,_0x29c00b[_0x3bd188(0x1d1)][_0x3bd188(0x1b1)],_0x29c00b['usage']['cache_read_input_tokens']);}catch{}return _0x21e336['send'](_0x279067);}}catch(_0x35b8ed){const _0x4468b4=_0x35b8ed instanceof Error?_0x35b8ed['message']:_0x3bd188(0x1bd),_0x55b413=_0x35b8ed instanceof Error&&_0x35b8ed['name']===_0x3bd188(0x186);this['logger'][_0x3bd188(0x1be)](_0x3bd188(0x1d7),_0x35b8ed),_0x21e336[_0x3bd188(0x17c)](_0x55b413?0x1f8:0x1f7)[_0x3bd188(0x188)]({'type':_0x3bd188(0x1be),'error':{'type':_0x55b413?_0x3bd188(0x18b):_0x3bd188(0x1a8),'message':_0x55b413?_0x3bd188(0x170)+_0x5207c9+'ms':_0x3bd188(0x18f)+_0x4468b4}});}}async[a58_0x37d5fb(0x1ee)](_0x417750,_0x237390,_0x2acf82,_0xb47b10){const _0x198271=a58_0x37d5fb;_0x237390[_0x198271(0x1c8)][_0x198271(0x17e)](0xc8,{'Content-Type':_0x198271(0x1ab),'Cache-Control':_0x198271(0x1a6),'Connection':_0x198271(0x1c1)});const _0x513a3a=new SSEUsageTracker(),_0xa7b430=_0x417750[_0x198271(0x1e4)](),_0x1d85a3=new TextDecoder();try{while(!![]){const {done:_0x524765,value:_0x4baa27}=await _0xa7b430[_0x198271(0x177)]();if(_0x524765)break;const _0x4b64c0=_0x1d85a3[_0x198271(0x199)](_0x4baa27,{'stream':!![]});_0x513a3a[_0x198271(0x180)](_0x4b64c0),_0x237390[_0x198271(0x1c8)][_0x198271(0x1d6)](_0x4b64c0);}const _0x5dccff=_0x513a3a[_0x198271(0x16f)]();(_0x5dccff['inputTokens']>0x0||_0x5dccff[_0x198271(0x1db)]>0x0)&&await this[_0x198271(0x1dd)](_0x2acf82,_0xb47b10,_0x5dccff[_0x198271(0x171)],_0x5dccff['outputTokens'],_0x5dccff[_0x198271(0x19d)],_0x5dccff['cacheReadInputTokens']);}catch(_0x2d375a){this[_0x198271(0x1c7)][_0x198271(0x1be)](_0x198271(0x172),_0x2d375a);const _0x3032f5=_0x198271(0x1a3)+JSON[_0x198271(0x1de)]({'type':_0x198271(0x1be),'error':{'type':'stream_error','message':_0x198271(0x1ed)}})+'\x0a\x0a';_0x237390['raw'][_0x198271(0x1d6)](_0x3032f5);}finally{_0x237390[_0x198271(0x1c8)][_0x198271(0x1b7)]();}}async[a58_0x37d5fb(0x1b4)](_0x546df7,_0x49ba84){const _0x14c44a=a58_0x37d5fb,_0x4f4b97=_0x546df7[_0x14c44a(0x1c3)],_0x337ec3=this[_0x14c44a(0x19c)][_0x14c44a(0x191)]+'/v1/messages/count_tokens',_0x196f8d=this['buildForwardHeaders'](_0x546df7),_0x2949ed=_0x4f4b97['model']||_0x14c44a(0x192),_0x3ce0b8=shouldInjectSystemPrompt(_0x2949ed)?injectSystemPrompt(_0x4f4b97,TDX_SYSTEM_PROMPT):_0x4f4b97,_0x3dd954=JSON[_0x14c44a(0x1de)](_0x3ce0b8);this[_0x14c44a(0x1c7)][_0x14c44a(0x195)](_0x14c44a(0x176)+_0x337ec3);const _0x49ddcb=this[_0x14c44a(0x19c)][_0x14c44a(0x18c)]||DEFAULT_TIMEOUT_MS;try{const _0x3b9011=await fetch(_0x337ec3,{'method':'POST','headers':_0x196f8d,'body':_0x3dd954,'signal':AbortSignal[_0x14c44a(0x1ae)](_0x49ddcb)}),_0x46ea31=await _0x3b9011[_0x14c44a(0x17f)]();return _0x49ba84['code'](_0x3b9011['status']),_0x49ba84['header'](_0x14c44a(0x18d),_0x3b9011[_0x14c44a(0x1e7)][_0x14c44a(0x1d9)](_0x14c44a(0x18d))||_0x14c44a(0x184)),_0x49ba84[_0x14c44a(0x188)](_0x46ea31);}catch(_0x1c5a3a){const _0x14ef1f=_0x1c5a3a instanceof Error?_0x1c5a3a[_0x14c44a(0x1a0)]:_0x14c44a(0x1bd),_0x6f375a=_0x1c5a3a instanceof Error&&_0x1c5a3a[_0x14c44a(0x1b0)]===_0x14c44a(0x186);this[_0x14c44a(0x1c7)][_0x14c44a(0x1be)]('[PASSTHROUGH]\x20Failed\x20to\x20forward\x20count_tokens\x20request:',_0x1c5a3a),_0x49ba84['code'](_0x6f375a?0x1f8:0x1f7)[_0x14c44a(0x188)]({'type':'error','error':{'type':_0x6f375a?_0x14c44a(0x18b):_0x14c44a(0x1a8),'message':_0x6f375a?_0x14c44a(0x170)+_0x49ddcb+'ms':_0x14c44a(0x18f)+_0x14ef1f}});}}async[a58_0x37d5fb(0x1dd)](_0x211ea2,_0xaf5cd5,_0x1d3000,_0x238ac0,_0x141313,_0xe99c74){const _0x327c32=a58_0x37d5fb,_0x5f14bf={'timestamp':new Date()[_0x327c32(0x1d4)](),'model':_0xaf5cd5,'inputTokens':_0x1d3000,'outputTokens':_0x238ac0,'cacheCreationInputTokens':_0x141313,'cacheReadInputTokens':_0xe99c74,'profile':this[_0x327c32(0x19c)][_0x327c32(0x1c5)]},_0x160e6b=_0x141313||_0xe99c74?_0x327c32(0x1f0)+(_0x141313||0x0)+_0x327c32(0x16e)+(_0xe99c74||0x0):'';this['logger'][_0x327c32(0x195)]('[PASSTHROUGH]\x20Usage:\x20input='+_0x1d3000+_0x327c32(0x198)+_0x238ac0+_0x160e6b+_0x327c32(0x1ef)+_0xaf5cd5);try{await appendUsageEntry(_0x211ea2,_0x5f14bf);}catch(_0x3c6430){this[_0x327c32(0x1c7)]['error']('[PASSTHROUGH]\x20Failed\x20to\x20log\x20usage:',_0x3c6430);}}async['start'](){const _0x4314c3=a58_0x37d5fb;await this[_0x4314c3(0x1cd)][_0x4314c3(0x189)]({'port':this[_0x4314c3(0x19c)][_0x4314c3(0x1ac)],'host':'127.0.0.1'}),this['logger'][_0x4314c3(0x1e6)](_0x4314c3(0x1e2)+this[_0x4314c3(0x19c)][_0x4314c3(0x1ac)]),this[_0x4314c3(0x1c7)][_0x4314c3(0x1e6)](_0x4314c3(0x1e5)+this[_0x4314c3(0x19c)]['llmProxyUrl']);}async[a58_0x37d5fb(0x1d8)](){const _0x1f207b=a58_0x37d5fb;await this[_0x1f207b(0x1cd)][_0x1f207b(0x19e)](),this[_0x1f207b(0x1c7)]['info']('Pass-through\x20proxy\x20server\x20stopped');}[a58_0x37d5fb(0x1b8)](){const _0x57517c=a58_0x37d5fb;return'http://127.0.0.1:'+this[_0x57517c(0x19c)]['port'];}}function a58_0x1e1a(){const _0x4e593e=['end','getAddress','564324NJrrVz','status','SKIP_HEADERS','setErrorHandler','Unknown\x20error','error','/v1/messages/count_tokens','stream','keep-alive','Error\x20body:\x20','body','url','profile','27aipwYz','logger','raw','user-agent','addContentTypeParser','messages','User-Agent','server','output_tokens','string','1886196fVeZYm','usage','startsWith','register','toISOString','match','write','[PASSTHROUGH]\x20Failed\x20to\x20forward\x20request:','stop','get','haiku','outputTokens','anthropic-version','logUsage','stringify','has','5hHkfUz','metadata','Pass-through\x20proxy\x20server\x20started\x20on\x20port\x20','content-length','getReader','Forwarding\x20to:\x20','info','headers','method','tdx','toLowerCase','[PASSTHROUGH]\x20Upstream\x20error:\x20','post','Stream\x20interrupted','handleStreamingResponse',',\x20model=',',\x20cache_create=','Authorization',',\x20cache_read=','getUsage','Request\x20to\x20TD\x20LLM\x20Proxy\x20timed\x20out\x20after\x20','inputTokens','[PASSTHROUGH]\x20Stream\x20error:','setupRoutes','GET','2372810Pziadu','[PASSTHROUGH]\x20Forwarding\x20count_tokens\x20to:\x20','read','host','join','parse','apiKey','code','handleMessages','writeHead','text','processChunk','TD\x20LLM\x20Pass-through\x20Proxy\x20Server','POST','TD1\x20','application/json','setupJsonParser','TimeoutError','X-TD-Client','send','listen','x-api-key','timeout_error','timeoutMs','Content-Type','875238QpVjvD','Failed\x20to\x20connect\x20to\x20TD\x20LLM\x20Proxy:\x20','entries','llmProxyUrl','unknown','[PASSTHROUGH]\x20','setupMiddleware','debug','5156852LPNCCr','statusText',',\x20output=','decode','X-TD-Client-Version','[PASSTHROUGH\x20PROXY\x20ERROR]:','config','cacheCreationInputTokens','close','input_tokens','message','417268EHYFYJ',':\x20messages=','event:\x20error\x0adata:\x20','12688PMIIPa','connection','no-cache','isArray','api_error','tdx/','system','text/event-stream','port','/v1/messages','timeout','default','name','cache_creation_input_tokens','length','buildForwardHeaders','handleCountTokens','header','1477aeUJzZ'];a58_0x1e1a=function(){return _0x4e593e;};return a58_0x1e1a();}
@@ -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_0x5b0023=a59_0x5680;(function(_0x173814,_0x33c7e1){const _0x52cc90=a59_0x5680,_0x3f08fc=_0x173814();while(!![]){try{const _0x5c6934=parseInt(_0x52cc90(0x24a))/0x1*(-parseInt(_0x52cc90(0x20d))/0x2)+-parseInt(_0x52cc90(0x29d))/0x3*(parseInt(_0x52cc90(0x23f))/0x4)+parseInt(_0x52cc90(0x231))/0x5+-parseInt(_0x52cc90(0x293))/0x6+-parseInt(_0x52cc90(0x232))/0x7+-parseInt(_0x52cc90(0x29a))/0x8+parseInt(_0x52cc90(0x288))/0x9;if(_0x5c6934===_0x33c7e1)break;else _0x3f08fc['push'](_0x3f08fc['shift']());}catch(_0x3f9fb3){_0x3f08fc['push'](_0x3f08fc['shift']());}}}(a59_0x3bfb,0x1de5e));import a59_0x26f102 from'fastify';import a59_0x222964 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';function a59_0x3bfb(){const _0x29b164=['thinking','\x20->\x20','get','\x20|\x20','New\x20-\x20system\x20prompts:\x20','\x20tools,\x20message_size=','join','chatId','body','data','x-api-key','config','\x20Input\x20size:\x20','logger','agentId','close','header:\x20','Failed\x20to\x20reconstruct\x20message\x20-\x20all\x20parts\x20are\x20empty,\x20using\x20fallback','[PROXY\x20ERROR]\x20Chat\x20stream\x20is\x20undefined','Validation\x20failed:\x20messages\x20array\x20is\x20required\x20and\x20must\x20not\x20be\x20empty','clear','Added\x20tool\x20names:','writeHead','start',',\x20system_prompts=','toISOString','OPTIONS','post','Model\x20normalization:\x20','error','agentCache','\x0a</conversation_history>','createPromise','send','server','304960RPGBkC','219541FgdZbu','listen',':\x20estimated\x20input_tokens=','Waiting\x20for\x20concurrent\x20chat\x20creation\x20for\x20context:\x20','embeddedToolsByName',']\x20Created\x20new\x20chat\x20for\x20model\x20','setupMiddleware','handleMessages','dev-us01','\x20chars.\x20Cleared\x20chat\x20state\x20for\x20session\x20','debug','Authorization','size','512CqMJix','substring','Evicted\x20oldest\x20chat\x20(signature:\x20','usage','Failed\x20to\x20generate\x20tool\x20prompt:',']\x20model:\x20','http://','url','raw','catch','system','111229eVFCab','request_too_large','Added\x20system\x20prompt\x20previews:','Failed\x20to\x20log\x20usage\x20entry:\x20','isArray','\x0a---\x0a\x0a','tdx','Reset\x20chat\x20ID\x20to\x20recover\x20on\x20next\x20request','write','not_supported_error','output_tokens','map','Content-Type','has','type','Context:','\x20system\x20prompts,\x20','Embedding',',\x20context=','stop','GET','Reset\x20chat\x20state\x20to\x20recover\x20on\x20next\x20request','Chat\x20ID:\x20','metadata','code','cleanupExpiredChats','/v1/messages','budget_tokens','headers','setErrorHandler','tools','Including\x20tool\x20results','anthropic-version','INVALID_REQUEST','length','originalMessage','setupRoutes','method','end','http://localhost:','profile','handleRouteError','Failed\x20to\x20initialize\x20chat\x20stream.\x20Please\x20try\x20again.','now','info',',\x20context:\x20','0.0.0.0','stream','...\x22','getAgentForModel','\x20limit','cleanupInterval','model','creating','string','Concurrent\x20chat\x20creation\x20failed,\x20will\x20fall\x20back\x20to\x20lazy\x20creation:','chats','add','default','unknown','[session:\x20',',\x20is\x20new\x20context:\x20','5430285eExwvj','message','embeddedSystemPrompts','trim','Failed\x20to\x20start\x20proxy\x20server:\x20','push','name','lastUsedAt','event','register','trace','484908AOJlNW','chat',',\x20\x22','text','Started\x20cache\x20cleanup\x20interval\x20(runs\x20every\x20','user_id','projectId','721064zcKbvJ','llm','s,\x20expires\x20after\x20','5352PgBUlL','port','System\x20prompts:\x20','Failed\x20to\x20log\x20usage\x20entry\x20on\x20error:\x20','[PROXY\x20ERROR]\x20Unhandled\x20error\x20in\x20','\x0a\x0a<conversation_history>\x0a','/health','startChat','POST','Final\x20message\x20is\x20empty\x20after\x20construction\x20-\x20starting\x20fresh\x20conversation','Stream\x20complete.\x20Sent\x20','[CONTEXT\x20LENGTH\x20ERROR]\x20','stringify',',\x20tool_names=[','warn','messages','new\x20system\x20prompt(s)','context','\x20messages,\x20','validateMessageRequest','sessionCache',',\x20context\x20signature:\x20',']\x20Building\x20a\x20new\x20context\x20for\x20model\x20','Non-streaming\x20responses\x20are\x20not\x20yet\x20supported',',\x20tools:\x20','filter','Final\x20message\x20reconstructed\x20after\x20context\x20reset:','messageHistory','Agent\x20cached:\x20','address','\x20(reasoning:\x20','...','Creating/looking\x20up\x20agent\x20for:\x20','handleCountTokens','set','message_delta','keep-alive','2CrWCkc'];a59_0x3bfb=function(){return _0x29b164;};return a59_0x3bfb();}import{formatConversationHistory,calculateConversationDelta,extractLastUserMessage}from'./conversation-utils.js';function a59_0x5680(_0x5cff77,_0x13d46d){_0x5cff77=_0x5cff77-0x1ea;const _0x3bfb2d=a59_0x3bfb();let _0x5680f4=_0x3bfb2d[_0x5cff77];return _0x5680f4;}function extractSessionUUID(_0x14312b){const _0x30df6c=_0x14312b['match'](/_session_([a-f0-9-]+)$/i);if(_0x30df6c)return _0x30df6c[0x1];return _0x14312b;}function clearChatState(_0x12fa7a){const _0x23d543=a59_0x5680;_0x12fa7a['chatId']='',_0x12fa7a[_0x23d543(0x28a)][_0x23d543(0x222)](),_0x12fa7a[_0x23d543(0x236)]['clear']();}function mapBudgetTokensToReasoningEffort(_0x2ff365,_0x2c294f){const _0x58e86d=a59_0x5680;if(_0x2c294f!==_0x58e86d(0x23a))return 0x0;if(!_0x2ff365||_0x2ff365===0x0)return 0x0;if(_0x2ff365<=0x400)return 0x1;if(_0x2ff365<=0x800)return 0x2;if(_0x2ff365<=0x1000)return 0x3;return 0x4;}const MAX_CHATS_PER_SESSION=0xa,CACHE_EXPIRATION_MS=0xa*0x3c*0x3e8,CLEANUP_INTERVAL_MS=0x3c*0x3e8;export class ProxyServer{[a59_0x5b0023(0x230)];[a59_0x5b0023(0x1fc)];['agentCache'];[a59_0x5b0023(0x219)];[a59_0x5b0023(0x27d)];['logger'];constructor(_0x1121e6){const _0x3aa08e=a59_0x5b0023;this[_0x3aa08e(0x21b)]=_0x1121e6[_0x3aa08e(0x21b)],this['config']=_0x1121e6,this[_0x3aa08e(0x1fc)]=new SessionCache({'maxChatsPerSession':MAX_CHATS_PER_SESSION,'cacheExpirationMs':CACHE_EXPIRATION_MS}),this[_0x3aa08e(0x22c)]=new Map(),this[_0x3aa08e(0x230)]=a59_0x26f102({'logger':![],'bodyLimit':0x40*0x400*0x400}),this[_0x3aa08e(0x238)](),this[_0x3aa08e(0x26e)]();}async[a59_0x5b0023(0x27b)](_0x43adcc,_0x309b92=0x0){const _0x2925ff=a59_0x5b0023,_0x4f9abc=extractModelAlias(_0x43adcc),_0x552897=resolveModelAlias(_0x4f9abc),_0x2a63aa=_0x552897+'_'+_0x309b92;let _0x4d4b1b=this[_0x2925ff(0x22c)][_0x2925ff(0x210)](_0x2a63aa);if(!_0x4d4b1b){this[_0x2925ff(0x21b)][_0x2925ff(0x23c)](_0x2925ff(0x22a)+_0x43adcc+_0x2925ff(0x20f)+_0x4f9abc+'\x20->\x20'+_0x552897),this[_0x2925ff(0x21b)]['debug'](_0x2925ff(0x208)+_0x552897+_0x2925ff(0x206)+_0x309b92+')');const _0x1e75a1=await this[_0x2925ff(0x219)][_0x2925ff(0x250)][_0x2925ff(0x29b)]['getOrCreateDefaultAgent'](_0x552897,_0x309b92);_0x4d4b1b=_0x1e75a1['id'],this[_0x2925ff(0x22c)][_0x2925ff(0x20a)](_0x2a63aa,_0x4d4b1b),this[_0x2925ff(0x21b)][_0x2925ff(0x23c)](_0x2925ff(0x204)+_0x2a63aa+'\x20->\x20'+_0x4d4b1b+'\x20('+_0x1e75a1['attributes'][_0x2925ff(0x28e)]+')');}return _0x4d4b1b;}[a59_0x5b0023(0x263)](){const _0x52bfad=a59_0x5b0023;this[_0x52bfad(0x1fc)][_0x52bfad(0x263)]();}[a59_0x5b0023(0x238)](){const _0x20444d=a59_0x5b0023;this[_0x20444d(0x230)][_0x20444d(0x291)](a59_0x222964,{'origin':!![],'methods':[_0x20444d(0x25e),_0x20444d(0x1f0),_0x20444d(0x228)],'allowedHeaders':[_0x20444d(0x256),_0x20444d(0x23d),_0x20444d(0x26a),_0x20444d(0x218)]}),this[_0x20444d(0x230)][_0x20444d(0x267)]((_0x5db60f,_0x31c96e,_0xbc67c5)=>{this['handleRouteError'](_0x5db60f,_0x31c96e,_0xbc67c5);});}[a59_0x5b0023(0x273)](_0xb10ebb,_0x4d245d,_0x1484cf){const _0x2c95c1=a59_0x5b0023;if(_0xb10ebb instanceof SDKError){const _0x56e700=_0xb10ebb['isUserError']()?0x190:0x1f4;_0x1484cf[_0x2c95c1(0x262)](_0x56e700)[_0x2c95c1(0x22f)]({'type':_0x2c95c1(0x22b),'error':{'type':_0xb10ebb[_0x2c95c1(0x262)],'message':_0xb10ebb[_0x2c95c1(0x26d)],'helpText':_0xb10ebb['helpText']}});}else{const _0x521220=_0xb10ebb instanceof Error?_0xb10ebb['message']:'Unknown\x20error';this['logger'][_0x2c95c1(0x22b)](_0x2c95c1(0x1ec)+_0x4d245d['method']+'\x20'+_0x4d245d[_0x2c95c1(0x246)]+':',_0xb10ebb),_0x1484cf[_0x2c95c1(0x262)](0x1f4)['send']({'type':'error','error':{'type':'api_error','message':_0x521220}});}}[a59_0x5b0023(0x26e)](){const _0x511658=a59_0x5b0023;this[_0x511658(0x230)][_0x511658(0x210)](_0x511658(0x1ee),async()=>{return{'status':'ok','message':'TD\x20LLM\x20Proxy\x20Server'};}),this[_0x511658(0x230)][_0x511658(0x229)](_0x511658(0x264),async(_0x5d3990,_0x220234)=>{const _0x24858b=_0x511658;return this[_0x24858b(0x239)](_0x5d3990,_0x220234)[_0x24858b(0x248)](_0x1a97b9=>{const _0x48df50=_0x24858b;this[_0x48df50(0x273)](_0x1a97b9,_0x5d3990,_0x220234);});}),this[_0x511658(0x230)][_0x511658(0x229)]('/v1/messages/count_tokens',async(_0x27c395,_0x3595fd)=>{const _0x5ac438=_0x511658;return this[_0x5ac438(0x209)](_0x27c395)[_0x5ac438(0x248)](_0x17e0f0=>{const _0x9e6011=_0x5ac438;this[_0x9e6011(0x273)](_0x17e0f0,_0x27c395,_0x3595fd);});});}[a59_0x5b0023(0x1fb)](_0x130dc7){const _0x49f15b=a59_0x5b0023;if(!_0x130dc7['messages']||!Array[_0x49f15b(0x24e)](_0x130dc7[_0x49f15b(0x1f7)])||_0x130dc7['messages'][_0x49f15b(0x26c)]===0x0)throw new SDKError(ErrorCode[_0x49f15b(0x26b)],_0x49f15b(0x221));if(_0x130dc7[_0x49f15b(0x268)]&&!Array[_0x49f15b(0x24e)](_0x130dc7[_0x49f15b(0x268)]))throw new SDKError(ErrorCode['INVALID_REQUEST'],'Validation\x20failed:\x20tools\x20must\x20be\x20an\x20array\x20if\x20provided');}async[a59_0x5b0023(0x239)](_0x29b22f,_0x59290d){const _0x2f6f9d=a59_0x5b0023,_0x5af2f0=_0x29b22f[_0x2f6f9d(0x216)];this[_0x2f6f9d(0x1fb)](_0x5af2f0);const _0x3f1bc3=_0x5af2f0[_0x2f6f9d(0x1f7)]?.['length']??0x0,_0x146046=_0x5af2f0[_0x2f6f9d(0x27e)]||_0x2f6f9d(0x285);this['logger']['info'](_0x29b22f[_0x2f6f9d(0x26f)]+'\x20'+_0x29b22f['url']+':\x20messages='+_0x3f1bc3+',\x20model='+_0x146046),this[_0x2f6f9d(0x21b)][_0x2f6f9d(0x23c)](_0x2f6f9d(0x21e)+colorizeJSONCompact(_0x29b22f[_0x2f6f9d(0x266)]));this[_0x2f6f9d(0x21b)][_0x2f6f9d(0x292)]&&this[_0x2f6f9d(0x21b)]['trace'](colorizeJSON(_0x5af2f0,{'color':!![]}));const _0x4b1d7a=_0x5af2f0[_0x2f6f9d(0x261)]?.[_0x2f6f9d(0x298)]||_0x2f6f9d(0x284),_0x67bb7d=extractSessionUUID(_0x4b1d7a),_0x24ddbb=this[_0x2f6f9d(0x1fc)]['getOrCreateSession'](_0x67bb7d,this[_0x2f6f9d(0x219)][_0x2f6f9d(0x299)]),_0x55dc82=[];if(_0x5af2f0[_0x2f6f9d(0x249)]){if(typeof _0x5af2f0[_0x2f6f9d(0x249)]===_0x2f6f9d(0x280))_0x55dc82[_0x2f6f9d(0x28d)](_0x5af2f0[_0x2f6f9d(0x249)]);else{if(Array['isArray'](_0x5af2f0[_0x2f6f9d(0x249)]))for(const _0x4a85f0 of _0x5af2f0['system']){_0x4a85f0['type']==='text'&&_0x4a85f0[_0x2f6f9d(0x296)]&&_0x55dc82[_0x2f6f9d(0x28d)](_0x4a85f0[_0x2f6f9d(0x296)]);}}}const _0x4c63a1=_0x5af2f0[_0x2f6f9d(0x268)]||[],_0x13551d=_0x5af2f0[_0x2f6f9d(0x20e)]?.[_0x2f6f9d(0x265)],_0x825a8=mapBudgetTokensToReasoningEffort(_0x13551d,this[_0x2f6f9d(0x219)]['site']),_0x29a2ae=calculateContextSignature(_0x5af2f0[_0x2f6f9d(0x27e)],_0x55dc82,_0x4c63a1,_0x825a8);let _0x59d0e2=_0x24ddbb[_0x2f6f9d(0x282)][_0x2f6f9d(0x210)](_0x29a2ae);const _0x7ab732=!_0x59d0e2;if(!_0x59d0e2){const _0x21e622=await this[_0x2f6f9d(0x27b)](_0x5af2f0['model'],_0x825a8);_0x59d0e2={'chatId':'','agentId':_0x21e622,'contextSignature':_0x29a2ae,'embeddedSystemPrompts':new Set(),'embeddedToolsByName':new Map(),'messageHistory':[],'lastUsedAt':Date[_0x2f6f9d(0x275)]()},_0x24ddbb[_0x2f6f9d(0x282)][_0x2f6f9d(0x20a)](_0x29a2ae,_0x59d0e2);if(_0x24ddbb['chats']['size']>MAX_CHATS_PER_SESSION){let _0x4ebd01=null,_0x59fb33=Date[_0x2f6f9d(0x275)]();for(const [_0x32c62a,_0x576d82]of _0x24ddbb[_0x2f6f9d(0x282)]){_0x576d82[_0x2f6f9d(0x28f)]<_0x59fb33&&(_0x59fb33=_0x576d82[_0x2f6f9d(0x28f)],_0x4ebd01=_0x32c62a);}_0x4ebd01&&(_0x24ddbb[_0x2f6f9d(0x282)]['delete'](_0x4ebd01),this['logger']['debug'](_0x2f6f9d(0x241)+_0x4ebd01+')\x20to\x20stay\x20under\x20'+MAX_CHATS_PER_SESSION+_0x2f6f9d(0x27c)));}}else _0x59d0e2[_0x2f6f9d(0x28f)]=Date[_0x2f6f9d(0x275)]();if(!_0x59d0e2[_0x2f6f9d(0x215)]){if(_0x59d0e2['creating']&&_0x59d0e2['createPromise']){this[_0x2f6f9d(0x21b)][_0x2f6f9d(0x23c)](_0x2f6f9d(0x235)+_0x29a2ae);try{_0x59d0e2['chatId']=await _0x59d0e2[_0x2f6f9d(0x22e)];}catch(_0x548e35){this[_0x2f6f9d(0x21b)][_0x2f6f9d(0x22b)](_0x2f6f9d(0x281),_0x548e35);}}else{if(!_0x59d0e2[_0x2f6f9d(0x27f)]){_0x59d0e2[_0x2f6f9d(0x27f)]=!![],_0x59d0e2[_0x2f6f9d(0x22e)]=((async()=>{const _0x59ae8e=_0x2f6f9d;try{const _0x465726=await this[_0x59ae8e(0x219)]['tdx']['llm'][_0x59ae8e(0x1ef)](_0x59d0e2[_0x59ae8e(0x21c)]);return this[_0x59ae8e(0x21b)][_0x59ae8e(0x276)]('['+_0x465726['id']+_0x59ae8e(0x237)+_0x5af2f0[_0x59ae8e(0x27e)]+',\x20context='+_0x29a2ae),_0x465726['id'];}catch(_0x5e67f7){this['logger']['error']('Failed\x20to\x20create\x20chat,\x20will\x20fall\x20back\x20to\x20lazy\x20creation:',_0x5e67f7);throw _0x5e67f7;}finally{_0x59d0e2[_0x59ae8e(0x27f)]=![],_0x59d0e2[_0x59ae8e(0x22e)]=undefined;}})());try{_0x59d0e2['chatId']=await _0x59d0e2[_0x2f6f9d(0x22e)];}catch{}}}}const _0x42f579=_0x55dc82[_0x2f6f9d(0x201)](_0x1f5b01=>!_0x59d0e2[_0x2f6f9d(0x28a)][_0x2f6f9d(0x257)](_0x1f5b01)),_0x54e41b=_0x4c63a1[_0x2f6f9d(0x201)](_0x3a8bb5=>!_0x59d0e2[_0x2f6f9d(0x236)][_0x2f6f9d(0x257)](_0x3a8bb5['name']));this[_0x2f6f9d(0x21b)][_0x2f6f9d(0x23c)](_0x2f6f9d(0x286)+_0x67bb7d+_0x2f6f9d(0x244)+_0x5af2f0[_0x2f6f9d(0x27e)]+_0x2f6f9d(0x1fd)+_0x29a2ae+_0x2f6f9d(0x287)+_0x7ab732),this[_0x2f6f9d(0x21b)]['debug'](_0x2f6f9d(0x260)+_0x59d0e2[_0x2f6f9d(0x215)]),this[_0x2f6f9d(0x21b)][_0x2f6f9d(0x23c)](_0x2f6f9d(0x1ea)+_0x55dc82['length']+_0x2f6f9d(0x200)+_0x4c63a1[_0x2f6f9d(0x26c)]),this[_0x2f6f9d(0x21b)][_0x2f6f9d(0x23c)]('Embedded\x20in\x20chat\x20-\x20system\x20prompts:\x20'+_0x59d0e2[_0x2f6f9d(0x28a)][_0x2f6f9d(0x23e)]+_0x2f6f9d(0x200)+_0x59d0e2[_0x2f6f9d(0x236)]['size']),this[_0x2f6f9d(0x21b)][_0x2f6f9d(0x23c)](_0x2f6f9d(0x212)+_0x42f579[_0x2f6f9d(0x26c)]+_0x2f6f9d(0x200)+_0x54e41b[_0x2f6f9d(0x26c)]);_0x42f579[_0x2f6f9d(0x26c)]>0x0&&this[_0x2f6f9d(0x21b)][_0x2f6f9d(0x23c)](_0x2f6f9d(0x24c),_0x42f579[_0x2f6f9d(0x255)](_0x58c037=>_0x58c037[_0x2f6f9d(0x240)](0x0,0x32)+_0x2f6f9d(0x207))[_0x2f6f9d(0x214)](_0x2f6f9d(0x211)));_0x54e41b[_0x2f6f9d(0x26c)]>0x0&&this[_0x2f6f9d(0x21b)][_0x2f6f9d(0x23c)](_0x2f6f9d(0x223),_0x54e41b[_0x2f6f9d(0x255)](_0x4e7e76=>_0x4e7e76[_0x2f6f9d(0x28e)])[_0x2f6f9d(0x214)](',\x20'));const _0x2012be=calculateConversationDelta(_0x5af2f0['messages'],_0x59d0e2[_0x2f6f9d(0x203)]),_0x10286c=extractLastUserMessage(_0x2012be,_0x5af2f0[_0x2f6f9d(0x1f7)]);if(_0x10286c['error'])throw new SDKError(ErrorCode[_0x2f6f9d(0x26b)],_0x10286c['error']);const _0x395e5d=_0x10286c['text']||'',_0x5169f3=()=>{const _0x4581c8=_0x2f6f9d,_0x4e5bb9=[];_0x55dc82[_0x4581c8(0x26c)]>0x0&&_0x4e5bb9[_0x4581c8(0x28d)](_0x55dc82['join']('\x0a\x0a'));_0x4c63a1[_0x4581c8(0x26c)]>0x0&&_0x4e5bb9[_0x4581c8(0x28d)](generateToolPrompt(_0x4c63a1));if(_0x5af2f0[_0x4581c8(0x1f7)]&&_0x5af2f0[_0x4581c8(0x1f7)][_0x4581c8(0x26c)]>0x1){const _0x30226d=formatConversationHistory(_0x5af2f0[_0x4581c8(0x1f7)]);_0x30226d&&_0x4e5bb9[_0x4581c8(0x28d)](_0x4581c8(0x1ed)+_0x30226d+_0x4581c8(0x22d));}return _0x4e5bb9[_0x4581c8(0x28d)](_0x395e5d),_0x4e5bb9[_0x4581c8(0x201)](_0xe81ec=>_0xe81ec&&_0xe81ec['trim']())[_0x4581c8(0x214)](_0x4581c8(0x24f));};let _0x5209de;if(_0x7ab732){this[_0x2f6f9d(0x21b)][_0x2f6f9d(0x276)]('['+_0x59d0e2['chatId']+_0x2f6f9d(0x1fe)+_0x5af2f0['model']+_0x2f6f9d(0x226)+_0x55dc82[_0x2f6f9d(0x26c)]+',\x20tools='+_0x4c63a1['length']+_0x2f6f9d(0x1f5)+_0x4c63a1[_0x2f6f9d(0x255)](_0x31e8e4=>_0x31e8e4[_0x2f6f9d(0x28e)])[_0x2f6f9d(0x214)](',\x20')+']'),_0x5209de=_0x5169f3();for(const _0x5ac114 of _0x55dc82){_0x59d0e2['embeddedSystemPrompts']['add'](_0x5ac114);}for(const _0x10c834 of _0x4c63a1){_0x59d0e2['embeddedToolsByName'][_0x2f6f9d(0x20a)](_0x10c834['name'],_0x10c834);}}else{const _0x45d8a7=[];_0x42f579['length']>0x0&&(_0x45d8a7[_0x2f6f9d(0x28d)](_0x42f579[_0x2f6f9d(0x214)]('\x0a\x0a')),this[_0x2f6f9d(0x21b)][_0x2f6f9d(0x23c)]('Embedding',_0x42f579['length'],_0x2f6f9d(0x1f8)));if(_0x54e41b['length']>0x0)try{_0x45d8a7[_0x2f6f9d(0x28d)](generateToolPrompt(_0x54e41b)),this[_0x2f6f9d(0x21b)][_0x2f6f9d(0x23c)](_0x2f6f9d(0x25b),_0x54e41b[_0x2f6f9d(0x26c)],'new\x20tool(s)');}catch(_0x40e7fe){this[_0x2f6f9d(0x21b)][_0x2f6f9d(0x22b)](_0x2f6f9d(0x243),_0x40e7fe);}try{const _0x37874a=extractToolResults(_0x2012be);_0x37874a&&(_0x45d8a7[_0x2f6f9d(0x28d)](_0x37874a),this[_0x2f6f9d(0x21b)][_0x2f6f9d(0x23c)](_0x2f6f9d(0x269)));}catch(_0x133850){this[_0x2f6f9d(0x21b)][_0x2f6f9d(0x22b)]('Failed\x20to\x20extract\x20tool\x20results:',_0x133850);}_0x45d8a7[_0x2f6f9d(0x28d)](_0x395e5d);const _0x23dd17=_0x45d8a7['filter'](_0x2b6f61=>_0x2b6f61&&_0x2b6f61[_0x2f6f9d(0x28b)]());_0x5209de=_0x23dd17['length']>0x0?_0x23dd17[_0x2f6f9d(0x214)](_0x2f6f9d(0x24f)):_0x395e5d;for(const _0x3c402b of _0x42f579){_0x59d0e2[_0x2f6f9d(0x28a)][_0x2f6f9d(0x283)](_0x3c402b);}for(const _0x5adef4 of _0x54e41b){_0x59d0e2[_0x2f6f9d(0x236)][_0x2f6f9d(0x20a)](_0x5adef4['name'],_0x5adef4);}}(!_0x5209de||!_0x5209de[_0x2f6f9d(0x28b)]())&&(this[_0x2f6f9d(0x21b)][_0x2f6f9d(0x1f6)](_0x2f6f9d(0x1f1)),this[_0x2f6f9d(0x21b)][_0x2f6f9d(0x1f6)](_0x2f6f9d(0x259),{'isNewContext':_0x7ab732,'userMessageLength':_0x395e5d?.[_0x2f6f9d(0x26c)]||0x0,'systemPromptsCount':_0x55dc82[_0x2f6f9d(0x26c)],'toolsCount':_0x4c63a1['length'],'messagesCount':_0x5af2f0['messages']?.[_0x2f6f9d(0x26c)]||0x0,'newMessagesCount':_0x2012be['length']}),clearChatState(_0x59d0e2),_0x5209de=_0x5169f3(),(!_0x5209de||!_0x5209de[_0x2f6f9d(0x28b)]())&&(this[_0x2f6f9d(0x21b)][_0x2f6f9d(0x22b)](_0x2f6f9d(0x21f)),this['logger'][_0x2f6f9d(0x22b)]('Debug\x20info:',{'systemPromptsCount':_0x55dc82[_0x2f6f9d(0x26c)],'toolsCount':_0x4c63a1[_0x2f6f9d(0x26c)],'messagesCount':_0x5af2f0[_0x2f6f9d(0x1f7)]?.['length']||0x0,'userMessageLength':_0x395e5d?.[_0x2f6f9d(0x26c)]||0x0}),_0x5209de='continue'),this['logger'][_0x2f6f9d(0x276)](_0x2f6f9d(0x202),_0x5209de[_0x2f6f9d(0x240)](0x0,0x64)+'...'));const _0x2b7d70=_0x5af2f0[_0x2f6f9d(0x279)]!==![];if(_0x2b7d70){_0x59290d['raw'][_0x2f6f9d(0x224)](0xc8,{'Content-Type':'text/event-stream','Cache-Control':'no-cache','Connection':_0x2f6f9d(0x20c),'X-Accel-Buffering':'no'});const _0x3ed81a=generateMessageId();let _0x31be57=0x0,_0x5b889a=0x0;try{if(_0x59d0e2[_0x2f6f9d(0x215)]){const _0x5eac20=_0x5209de['substring'](0x0,0x32)['replace'](/\n/g,'\x20');this[_0x2f6f9d(0x21b)][_0x2f6f9d(0x276)]('['+_0x59d0e2['chatId']+']\x20Continue\x20chat\x20for\x20model\x20'+_0x5af2f0[_0x2f6f9d(0x27e)]+_0x2f6f9d(0x25c)+_0x29a2ae+',\x20'+_0x5af2f0[_0x2f6f9d(0x1f7)][_0x2f6f9d(0x26c)]+_0x2f6f9d(0x1fa)+_0x55dc82[_0x2f6f9d(0x26c)]+_0x2f6f9d(0x25a)+_0x4c63a1[_0x2f6f9d(0x26c)]+_0x2f6f9d(0x213)+_0x5209de['length']+_0x2f6f9d(0x295)+_0x5eac20+_0x2f6f9d(0x27a));}const _0x7aad5d=this[_0x2f6f9d(0x219)][_0x2f6f9d(0x250)]['llm'][_0x2f6f9d(0x294)](_0x5209de,{'chatId':_0x59d0e2[_0x2f6f9d(0x215)]||undefined,'agentId':_0x59d0e2['chatId']?undefined:_0x59d0e2[_0x2f6f9d(0x21c)]});if(!_0x7aad5d){this['logger']['error'](_0x2f6f9d(0x220)),this[_0x2f6f9d(0x21b)][_0x2f6f9d(0x22b)](_0x2f6f9d(0x259),JSON[_0x2f6f9d(0x1f4)]({'chatId':_0x59d0e2['chatId'],'agentId':_0x59d0e2[_0x2f6f9d(0x21c)],'model':_0x5af2f0[_0x2f6f9d(0x27e)],'sessionId':_0x67bb7d,'contextSignature':_0x29a2ae})),_0x59d0e2[_0x2f6f9d(0x215)]='',this[_0x2f6f9d(0x21b)][_0x2f6f9d(0x1f6)](_0x2f6f9d(0x251));const _0x1e43a0=formatAnthropicSSE({'type':_0x2f6f9d(0x22b),'error':{'type':'api_error','message':_0x2f6f9d(0x274)},'request_id':_0x3ed81a});_0x59290d[_0x2f6f9d(0x247)][_0x2f6f9d(0x252)](_0x1e43a0),_0x59290d[_0x2f6f9d(0x247)][_0x2f6f9d(0x270)]();return;}_0x59d0e2[_0x2f6f9d(0x203)]=_0x5af2f0[_0x2f6f9d(0x1f7)];const _0x1ab8dc=_0x59d0e2;async function*_0x4c8024(_0x2bf4d8){const _0x4b8516=_0x2f6f9d;for await(const _0x4ecd26 of _0x2bf4d8){if(_0x4ecd26[_0x4b8516(0x258)]==='metadata')_0x4ecd26[_0x4b8516(0x217)][_0x4b8516(0x215)]&&!_0x1ab8dc[_0x4b8516(0x215)]&&(_0x1ab8dc[_0x4b8516(0x215)]=_0x4ecd26['data'][_0x4b8516(0x215)]);else _0x4ecd26[_0x4b8516(0x258)]===_0x4b8516(0x290)&&(yield _0x4ecd26['data']);}}const _0x5063d6=_0x4c8024(_0x7aad5d);_0x31be57=estimateInputTokensFromRequest(_0x5af2f0);const _0x58b89c=transformTDStreamToAnthropic(_0x5063d6,_0x3ed81a,_0x5af2f0[_0x2f6f9d(0x27e)],this[_0x2f6f9d(0x21b)],_0x395e5d,_0x31be57),_0x552f8a=_0x5209de['length'];let _0x49c050=0x0;for await(const _0x12e54b of _0x58b89c){const _0x46cf9f=formatAnthropicSSE(_0x12e54b);_0x49c050++,this[_0x2f6f9d(0x21b)]['debug'](colorizeJSONCompact(_0x12e54b,{'color':!![]})),_0x12e54b[_0x2f6f9d(0x258)]===_0x2f6f9d(0x22b)&&_0x12e54b[_0x2f6f9d(0x22b)]['type']===_0x2f6f9d(0x24b)&&(clearChatState(_0x59d0e2),this[_0x2f6f9d(0x21b)][_0x2f6f9d(0x1f6)](_0x2f6f9d(0x1f3)+_0x12e54b[_0x2f6f9d(0x22b)][_0x2f6f9d(0x289)]+_0x2f6f9d(0x21a)+_0x552f8a+_0x2f6f9d(0x23b)+_0x67bb7d+_0x2f6f9d(0x277)+_0x29a2ae)),_0x12e54b[_0x2f6f9d(0x258)]===_0x2f6f9d(0x20b)&&_0x12e54b[_0x2f6f9d(0x242)]?.[_0x2f6f9d(0x254)]&&(_0x5b889a=_0x12e54b[_0x2f6f9d(0x242)][_0x2f6f9d(0x254)]),_0x59290d[_0x2f6f9d(0x247)]['write'](_0x46cf9f);}this[_0x2f6f9d(0x21b)][_0x2f6f9d(0x23c)](_0x2f6f9d(0x1f2)+_0x49c050+'\x20SSE\x20events.'),appendUsageEntry(_0x67bb7d,{'timestamp':new Date()[_0x2f6f9d(0x227)](),'model':_0x5af2f0[_0x2f6f9d(0x27e)],'inputTokens':_0x31be57,'outputTokens':_0x5b889a,'contextSignature':_0x29a2ae,'profile':this[_0x2f6f9d(0x219)][_0x2f6f9d(0x250)]?.[_0x2f6f9d(0x1f9)]?.[_0x2f6f9d(0x272)],'chatId':_0x59d0e2['chatId']||undefined})['catch'](_0x39f92b=>{const _0x35ab24=_0x2f6f9d;this[_0x35ab24(0x21b)][_0x35ab24(0x1f6)](_0x35ab24(0x24d)+_0x39f92b);}),_0x59290d['raw'][_0x2f6f9d(0x270)]();}catch(_0x164b53){(_0x31be57>0x0||_0x5b889a>0x0)&&appendUsageEntry(_0x67bb7d,{'timestamp':new Date()[_0x2f6f9d(0x227)](),'model':_0x5af2f0['model'],'inputTokens':_0x31be57,'outputTokens':_0x5b889a,'contextSignature':_0x29a2ae,'profile':this['config'][_0x2f6f9d(0x250)]?.[_0x2f6f9d(0x1f9)]?.['profile'],'chatId':_0x59d0e2[_0x2f6f9d(0x215)]||undefined})[_0x2f6f9d(0x248)](_0xc3d865=>{const _0x1924e5=_0x2f6f9d;this[_0x1924e5(0x21b)][_0x1924e5(0x1f6)](_0x1924e5(0x1eb)+_0xc3d865);});const _0x350a9f=_0x164b53 instanceof Error?_0x164b53['message']:'Unknown\x20error';this[_0x2f6f9d(0x21b)][_0x2f6f9d(0x22b)]('[PROXY\x20ERROR]\x20Streaming\x20error:',_0x164b53),this[_0x2f6f9d(0x21b)][_0x2f6f9d(0x22b)](_0x2f6f9d(0x259),JSON[_0x2f6f9d(0x1f4)]({'chatId':_0x59d0e2[_0x2f6f9d(0x215)],'agentId':_0x59d0e2['agentId'],'model':_0x5af2f0[_0x2f6f9d(0x27e)],'sessionId':_0x67bb7d,'contextSignature':_0x29a2ae})),_0x59d0e2[_0x2f6f9d(0x215)]='',this[_0x2f6f9d(0x21b)][_0x2f6f9d(0x1f6)](_0x2f6f9d(0x25f));const _0x12c824=formatAnthropicSSE({'type':'error','error':{'type':'api_error','message':_0x350a9f},'request_id':_0x3ed81a});_0x59290d[_0x2f6f9d(0x247)][_0x2f6f9d(0x252)](_0x12c824),_0x59290d['raw'][_0x2f6f9d(0x270)]();}}else this['logger'][_0x2f6f9d(0x22b)]('[PROXY\x20ERROR]\x20Non-streaming\x20responses\x20are\x20not\x20yet\x20supported'),_0x59290d[_0x2f6f9d(0x262)](0x1f5)[_0x2f6f9d(0x22f)]({'type':_0x2f6f9d(0x22b),'error':{'type':_0x2f6f9d(0x253),'message':_0x2f6f9d(0x1ff)}});}async[a59_0x5b0023(0x209)](_0x15ce05){const _0x5664a1=a59_0x5b0023,_0x156b7b=_0x15ce05['body'],_0x357473=estimateInputTokensFromRequest(_0x156b7b);return this[_0x5664a1(0x21b)][_0x5664a1(0x276)](_0x15ce05[_0x5664a1(0x26f)]+'\x20'+_0x15ce05[_0x5664a1(0x246)]+_0x5664a1(0x234)+_0x357473),{'input_tokens':_0x357473};}async[a59_0x5b0023(0x225)](){const _0x5b1c6c=a59_0x5b0023;try{await this[_0x5b1c6c(0x230)][_0x5b1c6c(0x233)]({'port':this[_0x5b1c6c(0x219)]['port'],'host':_0x5b1c6c(0x278)}),this['logger'][_0x5b1c6c(0x276)]('Proxy\x20server\x20started\x20at\x20localhost:'+this[_0x5b1c6c(0x219)][_0x5b1c6c(0x29e)]),this[_0x5b1c6c(0x27d)]=setInterval(()=>{this['cleanupExpiredChats']();},CLEANUP_INTERVAL_MS),this[_0x5b1c6c(0x21b)][_0x5b1c6c(0x23c)](_0x5b1c6c(0x297)+CLEANUP_INTERVAL_MS/0x3e8+_0x5b1c6c(0x29c)+CACHE_EXPIRATION_MS/0x3e8+'s)');}catch(_0x4fab96){const _0x3def06=_0x4fab96 instanceof Error?_0x4fab96['message']:'Unknown\x20error';throw new Error(_0x5b1c6c(0x28c)+_0x3def06);}}async[a59_0x5b0023(0x25d)](){const _0x371020=a59_0x5b0023;this['cleanupInterval']&&(clearInterval(this[_0x371020(0x27d)]),this['cleanupInterval']=undefined),await this[_0x371020(0x230)][_0x371020(0x21d)]();}['getAddress'](){const _0x1766ee=a59_0x5b0023,_0x1fbfd2=this[_0x1766ee(0x230)][_0x1766ee(0x230)][_0x1766ee(0x205)]();if(typeof _0x1fbfd2===_0x1766ee(0x280))return _0x1fbfd2;if(_0x1fbfd2)return _0x1766ee(0x245)+_0x1fbfd2[_0x1766ee(0x205)]+':'+_0x1fbfd2[_0x1766ee(0x29e)];return _0x1766ee(0x271)+this[_0x1766ee(0x219)][_0x1766ee(0x29e)];}}
@@ -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
+ const a60_0x153b4c=a60_0x3665;function a60_0x2e8b(){const _0x3be6bc=['config','size','35wXDldT','getSession','now','44hAmbQf','chats','lastUsedAt','cacheExpirationMs','values','1042011UDcjtW','clear','46952nxcvkY','sessions','delete','get','16938YFqipj','64LDWaex','set','85631eGcsGz','50830sHxjJa','getOrCreateChat','2238660PMvjgi','getTotalChatCount','maxChatsPerSession','743XRmRVP','510nnDyRO','33pEyeNl'];a60_0x2e8b=function(){return _0x3be6bc;};return a60_0x2e8b();}(function(_0x57db64,_0x5237c8){const _0x2325a7=a60_0x3665,_0x345b59=_0x57db64();while(!![]){try{const _0x365d68=-parseInt(_0x2325a7(0x8d))/0x1*(-parseInt(_0x2325a7(0x8e))/0x2)+-parseInt(_0x2325a7(0x8f))/0x3*(-parseInt(_0x2325a7(0x9c))/0x4)+parseInt(_0x2325a7(0x92))/0x5*(parseInt(_0x2325a7(0xa0))/0x6)+parseInt(_0x2325a7(0xa3))/0x7*(parseInt(_0x2325a7(0xa1))/0x8)+-parseInt(_0x2325a7(0x9a))/0x9+-parseInt(_0x2325a7(0xa4))/0xa*(parseInt(_0x2325a7(0x95))/0xb)+-parseInt(_0x2325a7(0x8a))/0xc;if(_0x365d68===_0x5237c8)break;else _0x345b59['push'](_0x345b59['shift']());}catch(_0x145ba3){_0x345b59['push'](_0x345b59['shift']());}}}(a60_0x2e8b,0x1bb86));function a60_0x3665(_0x4fd711,_0x5bf8f7){_0x4fd711=_0x4fd711-0x89;const _0x2e8bf7=a60_0x2e8b();let _0x3665f5=_0x2e8bf7[_0x4fd711];return _0x3665f5;}export class SessionCache{[a60_0x153b4c(0x9d)];[a60_0x153b4c(0x90)];constructor(_0x36a5af){const _0x1f5025=a60_0x153b4c;this[_0x1f5025(0x90)]=_0x36a5af,this[_0x1f5025(0x9d)]=new Map();}['getOrCreateSession'](_0x363eeb,_0x4b8511){const _0x23c8ff=a60_0x153b4c;let _0x9c7510=this[_0x23c8ff(0x9d)][_0x23c8ff(0x9f)](_0x363eeb);return!_0x9c7510&&(_0x9c7510={'projectId':_0x4b8511,'chats':new Map()},this[_0x23c8ff(0x9d)][_0x23c8ff(0xa2)](_0x363eeb,_0x9c7510)),_0x9c7510;}[a60_0x153b4c(0x93)](_0xc17d1b){const _0xe52b0a=a60_0x153b4c;return this[_0xe52b0a(0x9d)][_0xe52b0a(0x9f)](_0xc17d1b);}[a60_0x153b4c(0x89)](_0x7f7055,_0x252e6a,_0x13d43f){const _0x2e4701=a60_0x153b4c,_0x7a758a=this[_0x2e4701(0x9d)]['get'](_0x7f7055);if(!_0x7a758a)throw new Error('Session\x20'+_0x7f7055+'\x20not\x20found');let _0x3df13d=_0x7a758a['chats'][_0x2e4701(0x9f)](_0x252e6a);if(!_0x3df13d){_0x3df13d={'chatId':'','agentId':_0x13d43f,'contextSignature':_0x252e6a,'embeddedSystemPrompts':new Set(),'embeddedToolsByName':new Map(),'messageHistory':[],'lastUsedAt':Date['now']()},_0x7a758a[_0x2e4701(0x96)][_0x2e4701(0xa2)](_0x252e6a,_0x3df13d);if(_0x7a758a['chats'][_0x2e4701(0x91)]>this[_0x2e4701(0x90)][_0x2e4701(0x8c)]){let _0x66931b=null,_0x2ea2c9=Date['now']();for(const [_0x277a92,_0x56100f]of _0x7a758a[_0x2e4701(0x96)]){_0x56100f['lastUsedAt']<_0x2ea2c9&&(_0x2ea2c9=_0x56100f[_0x2e4701(0x97)],_0x66931b=_0x277a92);}_0x66931b&&_0x7a758a[_0x2e4701(0x96)][_0x2e4701(0x9e)](_0x66931b);}}else _0x3df13d['lastUsedAt']=Date[_0x2e4701(0x94)]();return _0x3df13d;}['cleanupExpiredChats'](){const _0x117a3c=a60_0x153b4c,_0x391611=Date['now']();let _0x2256cc=0x0;for(const [_0x3997d7,_0x17e3f4]of this[_0x117a3c(0x9d)]){const _0x4bd333=[];for(const [_0x2f79a1,_0x21d121]of _0x17e3f4['chats']){_0x391611-_0x21d121['lastUsedAt']>this[_0x117a3c(0x90)][_0x117a3c(0x98)]&&_0x4bd333['push'](_0x2f79a1);}for(const _0x2a7255 of _0x4bd333){_0x17e3f4[_0x117a3c(0x96)][_0x117a3c(0x9e)](_0x2a7255),_0x2256cc++;}_0x17e3f4[_0x117a3c(0x96)][_0x117a3c(0x91)]===0x0&&this[_0x117a3c(0x9d)][_0x117a3c(0x9e)](_0x3997d7);}return _0x2256cc;}['getSessionCount'](){const _0xf61594=a60_0x153b4c;return this[_0xf61594(0x9d)][_0xf61594(0x91)];}[a60_0x153b4c(0x8b)](){const _0x12680b=a60_0x153b4c;let _0x13bede=0x0;for(const _0xc65a3f of this['sessions'][_0x12680b(0x99)]()){_0x13bede+=_0xc65a3f[_0x12680b(0x96)][_0x12680b(0x91)];}return _0x13bede;}['clear'](){const _0x240226=a60_0x153b4c;this[_0x240226(0x9d)][_0x240226(0x9b)]();}}