@treasuredata/tdx 0.14.6 → 0.14.7

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 (142) hide show
  1. package/dist/bin.js +1 -1
  2. package/dist/build-info.json +3 -3
  3. package/dist/cli-categories.js +1 -1
  4. package/dist/cli.js +1 -1
  5. package/dist/commands/activations.js +1 -1
  6. package/dist/commands/agent-command.js +1 -1
  7. package/dist/commands/api-command.js +1 -1
  8. package/dist/commands/auth-command.js +1 -1
  9. package/dist/commands/chat-command.js +1 -1
  10. package/dist/commands/claude-command.d.ts.map +1 -1
  11. package/dist/commands/claude-command.js +1 -1
  12. package/dist/commands/claude-command.js.map +1 -1
  13. package/dist/commands/claude-statusline-command.js +1 -1
  14. package/dist/commands/claude-usage-command.js +1 -1
  15. package/dist/commands/command.js +1 -1
  16. package/dist/commands/connection-command.js +1 -1
  17. package/dist/commands/databases.js +1 -1
  18. package/dist/commands/describe.js +1 -1
  19. package/dist/commands/engage-command.js +1 -1
  20. package/dist/commands/job-command.js +1 -1
  21. package/dist/commands/journey-command.js +1 -1
  22. package/dist/commands/journey-validate-command.js +1 -1
  23. package/dist/commands/llm-command.js +1 -1
  24. package/dist/commands/llm-proxy.js +1 -1
  25. package/dist/commands/parent-segment-command.js +1 -1
  26. package/dist/commands/profile-command.js +1 -1
  27. package/dist/commands/profiles-command.js +1 -1
  28. package/dist/commands/query-command.js +1 -1
  29. package/dist/commands/segment-command.js +1 -1
  30. package/dist/commands/segment-create-command.js +1 -1
  31. package/dist/commands/segment-fields-command.js +1 -1
  32. package/dist/commands/segment-pull-command.js +1 -1
  33. package/dist/commands/segment-push-command.js +1 -1
  34. package/dist/commands/segment-update-command.js +1 -1
  35. package/dist/commands/segment-use-command.js +1 -1
  36. package/dist/commands/segment-validate-command.js +1 -1
  37. package/dist/commands/segments.js +1 -1
  38. package/dist/commands/show.js +1 -1
  39. package/dist/commands/tables.js +1 -1
  40. package/dist/commands/unset-command.js +1 -1
  41. package/dist/commands/use-command.js +1 -1
  42. package/dist/commands/user-command.js +1 -1
  43. package/dist/commands/workflow-command.js +1 -1
  44. package/dist/core/auth.js +1 -1
  45. package/dist/core/command-output.js +1 -1
  46. package/dist/core/config.js +1 -1
  47. package/dist/core/connection-cache.js +1 -1
  48. package/dist/core/constants.js +1 -1
  49. package/dist/core/credential-cache.js +1 -1
  50. package/dist/core/global-context.js +1 -1
  51. package/dist/core/keychain.js +1 -1
  52. package/dist/core/profile.js +1 -1
  53. package/dist/core/project-config.js +1 -1
  54. package/dist/core/session.js +1 -1
  55. package/dist/core/user-cache.js +1 -1
  56. package/dist/core/version.js +1 -1
  57. package/dist/index.js +1 -1
  58. package/dist/proxy/anthropic-adapter.js +1 -1
  59. package/dist/proxy/claude-usage-tracker.js +1 -1
  60. package/dist/proxy/context-signature.js +1 -1
  61. package/dist/proxy/conversation-utils.js +1 -1
  62. package/dist/proxy/passthrough-server.js +1 -1
  63. package/dist/proxy/server.js +1 -1
  64. package/dist/proxy/session-cache.js +1 -1
  65. package/dist/proxy/sse-usage-parser.js +1 -1
  66. package/dist/sdk/agent/agent-config.js +1 -1
  67. package/dist/sdk/agent/agent-ref-parser.js +1 -1
  68. package/dist/sdk/agent/agent-yaml.js +1 -1
  69. package/dist/sdk/api.js +1 -1
  70. package/dist/sdk/client/cdp-api-client.js +1 -1
  71. package/dist/sdk/client/endpoints.js +1 -1
  72. package/dist/sdk/client/engage-api-client.js +1 -1
  73. package/dist/sdk/client/http-client.d.ts.map +1 -1
  74. package/dist/sdk/client/http-client.js +1 -1
  75. package/dist/sdk/client/http-client.js.map +1 -1
  76. package/dist/sdk/client/llm-api-client.js +1 -1
  77. package/dist/sdk/client/rate-limiter.js +1 -1
  78. package/dist/sdk/client/td-api-client.js +1 -1
  79. package/dist/sdk/client/trino-api-client.js +1 -1
  80. package/dist/sdk/client/workflow-client.js +1 -1
  81. package/dist/sdk/connection-validator.js +1 -1
  82. package/dist/sdk/connection.js +1 -1
  83. package/dist/sdk/engage.js +1 -1
  84. package/dist/sdk/errors.js +1 -1
  85. package/dist/sdk/index.js +1 -1
  86. package/dist/sdk/io/index.js +1 -1
  87. package/dist/sdk/io/node-filesystem.js +1 -1
  88. package/dist/sdk/job.js +1 -1
  89. package/dist/sdk/journey.js +1 -1
  90. package/dist/sdk/llm/chat-cache.js +1 -1
  91. package/dist/sdk/llm/index.js +1 -1
  92. package/dist/sdk/llm/llm-backup-utils.js +1 -1
  93. package/dist/sdk/llm/model-aliases.js +1 -1
  94. package/dist/sdk/llm/model-factors.js +1 -1
  95. package/dist/sdk/query/index.js +1 -1
  96. package/dist/sdk/query/sql-parser.js +1 -1
  97. package/dist/sdk/segment/child-segment-yaml.js +1 -1
  98. package/dist/sdk/segment/fields-display.js +1 -1
  99. package/dist/sdk/segment/file-discovery.js +1 -1
  100. package/dist/sdk/segment/journey-utils.js +1 -1
  101. package/dist/sdk/segment/journey-yaml.js +1 -1
  102. package/dist/sdk/segment/parent-segment-preview.js +1 -1
  103. package/dist/sdk/segment/parent-segment-yaml.js +1 -1
  104. package/dist/sdk/segment/pull-workflow.js +1 -1
  105. package/dist/sdk/segment/push-workflow.js +1 -1
  106. package/dist/sdk/segment/resolution-context.js +1 -1
  107. package/dist/sdk/segment/segment-path-parser.js +1 -1
  108. package/dist/sdk/segment/segment-ref-parser.js +1 -1
  109. package/dist/sdk/segment/target-resolution.js +1 -1
  110. package/dist/sdk/segment/tdx-config.js +1 -1
  111. package/dist/sdk/segment/validate-files.js +1 -1
  112. package/dist/sdk/segment/yaml-validator.js +1 -1
  113. package/dist/sdk/segment.js +1 -1
  114. package/dist/sdk/types/index.js +1 -1
  115. package/dist/sdk/types/progress.js +1 -1
  116. package/dist/sdk/user.js +1 -1
  117. package/dist/sdk/util/format-detector.js +1 -1
  118. package/dist/sdk/util/formatters.js +1 -1
  119. package/dist/sdk/util/index.js +1 -1
  120. package/dist/sdk/util/tree-formatter.js +1 -1
  121. package/dist/sdk/workflow/clone-workflow.js +1 -1
  122. package/dist/sdk/workflow/index.js +1 -1
  123. package/dist/sdk/workflow/pull-workflow.js +1 -1
  124. package/dist/sdk/workflow/push-workflow.js +1 -1
  125. package/dist/sdk/workflow/tdx-config.js +1 -1
  126. package/dist/sdk/workflow/workflow-utils.js +1 -1
  127. package/dist/utils/async.js +1 -1
  128. package/dist/utils/colors.js +1 -1
  129. package/dist/utils/diff.js +1 -1
  130. package/dist/utils/file-permissions.js +1 -1
  131. package/dist/utils/json-loader.js +1 -1
  132. package/dist/utils/option-validation.js +1 -1
  133. package/dist/utils/port.js +1 -1
  134. package/dist/utils/process.js +1 -1
  135. package/dist/utils/prompt.js +1 -1
  136. package/dist/utils/spinner.js +1 -1
  137. package/dist/utils/sse-parser.js +1 -1
  138. package/dist/utils/string-utils.js +1 -1
  139. package/dist/utils/table-ref-parser.js +1 -1
  140. package/dist/utils/tdx-logger.js +1 -1
  141. package/dist/utils/version-check.js +1 -1
  142. package/package.json +1 -1
@@ -1 +1 @@
1
- (function(_0x51866c,_0x581c32){const _0x4ea5b6=a54_0x14ce,_0xf8e6d=_0x51866c();while(!![]){try{const _0x1dbb51=parseInt(_0x4ea5b6(0x10d))/0x1*(parseInt(_0x4ea5b6(0xec))/0x2)+-parseInt(_0x4ea5b6(0xfc))/0x3+-parseInt(_0x4ea5b6(0x124))/0x4+-parseInt(_0x4ea5b6(0x157))/0x5*(parseInt(_0x4ea5b6(0x101))/0x6)+-parseInt(_0x4ea5b6(0x137))/0x7+-parseInt(_0x4ea5b6(0x103))/0x8+parseInt(_0x4ea5b6(0x11a))/0x9;if(_0x1dbb51===_0x581c32)break;else _0xf8e6d['push'](_0xf8e6d['shift']());}catch(_0x465e49){_0xf8e6d['push'](_0xf8e6d['shift']());}}}(a54_0x2778,0x51c38));import{SDKError,ErrorCode}from'../sdk/errors.js';import{calculateConversationDelta}from'./conversation-utils.js';export{calculateConversationDelta}from'./conversation-utils.js';function estimateTokenCount(_0x29ecef){const _0x4ce055=a54_0x14ce;if(!_0x29ecef||_0x29ecef[_0x4ce055(0xfe)]===0x0)return 0x0;return Math['ceil'](_0x29ecef[_0x4ce055(0xfe)]/3.7);}export function determineErrorType(_0xda07d5,_0x346eb8){const _0x52d777=a54_0x14ce,_0x5e24b7=_0xda07d5[_0x52d777(0x159)](_0x52d777(0x12b))||_0xda07d5[_0x52d777(0x159)](_0x52d777(0x134))||_0xda07d5['includes']('maximum\x20context');if(_0x5e24b7)return _0x346eb8?.[_0x52d777(0x128)](_0x52d777(0x151)+_0xda07d5),_0x52d777(0x117);return _0x346eb8?.['error'](_0x52d777(0x11c)+_0xda07d5),'api_error';}export function estimateInputTokensFromRequest(_0x1cb042){const _0x28ec5e=a54_0x14ce;let _0x896569=0x0;if(typeof _0x1cb042[_0x28ec5e(0x10f)]===_0x28ec5e(0x10c))_0x896569+=_0x1cb042[_0x28ec5e(0x10f)][_0x28ec5e(0xfe)];else{if(Array['isArray'](_0x1cb042[_0x28ec5e(0x10f)]))for(const _0x1ee48a of _0x1cb042[_0x28ec5e(0x10f)]){_0x1ee48a&&typeof _0x1ee48a[_0x28ec5e(0x145)]===_0x28ec5e(0x10c)&&(_0x896569+=_0x1ee48a[_0x28ec5e(0x145)][_0x28ec5e(0xfe)]);}}if(Array['isArray'](_0x1cb042[_0x28ec5e(0x142)]))for(const _0x3c9463 of _0x1cb042['tools']){_0x3c9463&&(_0x896569+=_0x3c9463[_0x28ec5e(0xea)]?.[_0x28ec5e(0xfe)]||0x0,_0x896569+=_0x3c9463[_0x28ec5e(0x107)]?.[_0x28ec5e(0xfe)]||0x0,_0x3c9463['input_schema']&&(_0x896569+=JSON['stringify'](_0x3c9463[_0x28ec5e(0x147)])[_0x28ec5e(0xfe)]));}if(Array[_0x28ec5e(0x12a)](_0x1cb042[_0x28ec5e(0x11d)]))for(const _0x5818bb of _0x1cb042[_0x28ec5e(0x11d)]){if(!_0x5818bb)continue;if(typeof _0x5818bb[_0x28ec5e(0x11b)]==='string')_0x896569+=_0x5818bb[_0x28ec5e(0x11b)][_0x28ec5e(0xfe)];else{if(Array['isArray'](_0x5818bb[_0x28ec5e(0x11b)]))for(const _0x586964 of _0x5818bb[_0x28ec5e(0x11b)]){if(!_0x586964)continue;if(_0x586964[_0x28ec5e(0x136)]==='text'&&_0x586964['text'])_0x896569+=_0x586964[_0x28ec5e(0x145)]['length'];else{if(_0x586964[_0x28ec5e(0x136)]===_0x28ec5e(0x10e)&&_0x586964[_0x28ec5e(0x14a)])_0x896569+=JSON[_0x28ec5e(0x131)](_0x586964[_0x28ec5e(0x14a)])[_0x28ec5e(0xfe)];else{if(_0x586964[_0x28ec5e(0x136)]==='tool_result'&&_0x586964['content']){if(typeof _0x586964[_0x28ec5e(0x11b)]===_0x28ec5e(0x10c))_0x896569+=_0x586964[_0x28ec5e(0x11b)]['length'];else{if(Array[_0x28ec5e(0x12a)](_0x586964[_0x28ec5e(0x11b)]))for(const _0x303be5 of _0x586964[_0x28ec5e(0x11b)]){_0x303be5&&_0x303be5[_0x28ec5e(0x136)]==='text'&&_0x303be5[_0x28ec5e(0x145)]&&(_0x896569+=_0x303be5['text'][_0x28ec5e(0xfe)]);}}}}}}}}return Math[_0x28ec5e(0x11e)](_0x896569/3.7);}function generateMessageId(){const _0x42ebeb=a54_0x14ce;return'msg_'+Math[_0x42ebeb(0x100)]()[_0x42ebeb(0x114)](0x24)[_0x42ebeb(0xf6)](0x2,0xf)+Math[_0x42ebeb(0x100)]()['toString'](0x24)['substring'](0x2,0xf);}function a54_0x14ce(_0xcb3a90,_0x1384f7){_0xcb3a90=_0xcb3a90-0xea;const _0x27781b=a54_0x2778();let _0x14ce2c=_0x27781b[_0xcb3a90];return _0x14ce2c;}export function extractTextFromAnthropicMessage(_0x18df79){const _0x1c7781=a54_0x14ce;if(typeof _0x18df79[_0x1c7781(0x11b)]==='string')return _0x18df79[_0x1c7781(0x11b)];if(_0x18df79['content']==null)return'';if(!Array[_0x1c7781(0x12a)](_0x18df79[_0x1c7781(0x11b)]))throw new SDKError(ErrorCode[_0x1c7781(0x14c)],'Invalid\x20message.content\x20type:\x20expected\x20string\x20or\x20array,\x20got\x20'+typeof _0x18df79['content']);return _0x18df79['content']['filter'](_0x3146e7=>_0x3146e7&&_0x3146e7[_0x1c7781(0x136)]===_0x1c7781(0x145)&&_0x3146e7['text'])['map'](_0x1cfc85=>_0x1cfc85[_0x1c7781(0x145)])[_0x1c7781(0xeb)]('\x0a');}function a54_0x2778(){const _0x10106b=['##\x20Tool:\x20','thinking','input','opus','LLM_MALFORMED_MESSAGE','startIndex','pop','\x20(generated)','WebSearch','[CONTEXT\x20LENGTH\x20ERROR]\x20','text_delta','replace','filter','slice','content_block_start','157735BgFsQZ','\x0a```','includes','No\x20user\x20message\x20found\x20in\x20request\x20delta','input_json_delta','exec','\x20error=\x22true\x22','push','NotebookEdit','Invalid\x20messages\x20type:\x20expected\x20array,\x20got\x20','Write','name','join','338576NcpeXi','event:\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','reasoning','is_error','message_start','indexOf','$1,\x22new_string\x22:$2}','message_stop','end_turn','substring','trim','thinking_delta','&amp;','lastIndexOf','Invalid\x20message.content\x20type\x20for\x20user\x20role:\x20expected\x20array,\x20got\x20','1639884nSmSOE','min','length','parse','random','120JFlOeO','now','2883080sTFMGj','warn','</tool_use>','sonnet','description','\x0a[After]:\x0a','user','<tool_use','index','string','1YXjXpk','tool_use','system','\x0a---\x0a','Grep','Edit','Malformed\x20tool_use\x20JSON\x20detected','toString','<tool_result\x20tool_use_id=\x22','role','request_too_large','\x20tool_use\x20blocks.\x20','{\x22tool_use\x22:','21570336pNbImO','content','[API\x20ERROR]\x20','messages','ceil','message_delta','haiku','Task','content_block_stop','usage','1214240Jxavsb','[MALFORMED\x20JSON]\x20Tool\x20use\x20JSON\x20could\x20not\x20be\x20parsed\x20or\x20repaired:\x0a','\x0a\x0a**Description:**\x20','TodoWrite','error','toolu_generated_','isArray','Input\x20is\x20too\x20long','&gt;','Glob','\x0aOriginal\x20XML:\x0a','\x0a\x0a[tdx\x20error]\x20Malformed\x20tool_use\x20JSON\x20detected.\x20Please\x20fix\x20the\x20JSON\x20below:\x0a\x0a','debug','stringify','[MULTIPLE\x20TOOL_USE]\x20Detected\x20','Malformed\x20content:','context\x20length','assistant','type','2727025cqWYLc','Executing\x20only\x20the\x20last\x20one\x20(','Read',',\x20ID:\x20','content_block_delta','endIndex','[JSON\x20REPAIR]\x20Added\x20missing\x20\x22new_string\x22\x20key\x0a[Before]:\x0a','[JSON\x20REPAIR]\x20Successfully\x20repaired\x20malformed\x20JSON\x0a[Before]:\x0a','\x0a\x0a**Input\x20Schema:**\x0a```json\x0a','Bash','map','tools','tool_use_id','tool_result','text','[MALFORMED\x20TOOL_USE]\x20Missing\x20id\x20attribute,\x20generated\x20fallback.\x20Name:\x20','input_schema'];a54_0x2778=function(){return _0x10106b;};return a54_0x2778();}export function transformAnthropicRequestToTD(_0x20385c,_0x2c7c77){const _0x431a79=a54_0x14ce,_0x37cd38=calculateConversationDelta(_0x20385c[_0x431a79(0x11d)],_0x2c7c77),_0x1ff1d0=_0x37cd38[_0x431a79(0x154)](_0x3e17e8=>_0x3e17e8['role']===_0x431a79(0x109))[_0x431a79(0x14e)]();if(!_0x1ff1d0)throw new Error(_0x431a79(0x15a));const _0x4f747f=extractTextFromAnthropicMessage(_0x1ff1d0);return{'userMessage':_0x4f747f,'deltaMessages':_0x37cd38};}export function formatAnthropicSSE(_0x2e097d){const _0x845916=a54_0x14ce;return _0x845916(0xed)+_0x2e097d[_0x845916(0x136)]+'\x0adata:\x20'+JSON[_0x845916(0x131)](_0x2e097d)+'\x0a\x0a';}export function mapAnthropicModelToTD(_0x571939){const _0x22e519=a54_0x14ce,_0x3641bb={'sonnet':_0x22e519(0x106),'claude-sonnet':'sonnet','claude-3-5-sonnet':_0x22e519(0x106),'claude-3-sonnet':_0x22e519(0x106),'haiku':'haiku','claude-haiku':_0x22e519(0x120),'claude-3-5-haiku':'haiku','claude-3-haiku':_0x22e519(0x120),'opus':_0x22e519(0x14b),'claude-opus':'opus','claude-3-opus':'opus'},_0x3034f4=_0x571939['toLowerCase']();return _0x3641bb[_0x3034f4]||'sonnet';}export function generateToolPrompt(_0x29c2e2){const _0x8041e4=a54_0x14ce;if(_0x29c2e2==null)return'';if(!Array[_0x8041e4(0x12a)](_0x29c2e2))throw new SDKError(ErrorCode[_0x8041e4(0x14c)],'Invalid\x20tools\x20type:\x20expected\x20array,\x20got\x20'+typeof _0x29c2e2);if(_0x29c2e2[_0x8041e4(0xfe)]===0x0)return'';const _0x3ff8a4=_0x29c2e2['filter'](_0x576f04=>_0x576f04!=null)['map'](_0x20365f=>{const _0x121236=_0x8041e4,_0x34493b=JSON[_0x121236(0x131)](_0x20365f[_0x121236(0x147)]);return _0x121236(0x148)+_0x20365f['name']+_0x121236(0x126)+(_0x20365f[_0x121236(0x107)]||'No\x20description')+_0x121236(0x13f)+_0x34493b+_0x121236(0x158);})[_0x8041e4(0xeb)]('\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'+_0x3ff8a4+_0x8041e4(0x110);}function escapeXmlContent(_0x1720d4){const _0x2f7fa4=a54_0x14ce;return _0x1720d4[_0x2f7fa4(0x153)](/&/g,_0x2f7fa4(0xf9))['replace'](/</g,'&lt;')[_0x2f7fa4(0x153)](/>/g,_0x2f7fa4(0x12c));}export function extractToolResults(_0x2dbee6){const _0x4c4365=a54_0x14ce;if(_0x2dbee6==null)return'';if(!Array[_0x4c4365(0x12a)](_0x2dbee6))throw new SDKError(ErrorCode['LLM_MALFORMED_MESSAGE'],_0x4c4365(0x160)+typeof _0x2dbee6);const _0x4c2558=[];for(const _0x2716d7 of _0x2dbee6){if(!_0x2716d7)continue;if(_0x2716d7[_0x4c4365(0x116)]==='user'&&typeof _0x2716d7['content']!==_0x4c4365(0x10c)){if(!Array[_0x4c4365(0x12a)](_0x2716d7[_0x4c4365(0x11b)]))throw new SDKError(ErrorCode[_0x4c4365(0x14c)],_0x4c4365(0xfb)+typeof _0x2716d7['content']);for(const _0x5ace47 of _0x2716d7['content']){if(!_0x5ace47)continue;if(_0x5ace47[_0x4c4365(0x136)]===_0x4c4365(0x144)&&_0x5ace47[_0x4c4365(0x143)]){let _0x4d2c1a='';if(typeof _0x5ace47[_0x4c4365(0x11b)]===_0x4c4365(0x10c))_0x4d2c1a=_0x5ace47[_0x4c4365(0x11b)];else _0x5ace47['content']!=null&&Array[_0x4c4365(0x12a)](_0x5ace47[_0x4c4365(0x11b)])&&(_0x4d2c1a=_0x5ace47['content']['filter'](_0xda00f8=>_0xda00f8&&_0xda00f8['type']===_0x4c4365(0x145)&&_0xda00f8['text'])[_0x4c4365(0x141)](_0x24eaf4=>_0x24eaf4[_0x4c4365(0x145)])['join']('\x0a'));const _0x37e23a=escapeXmlContent(_0x4d2c1a),_0x26732f=_0x5ace47[_0x4c4365(0xf0)]?_0x4c4365(0x15d):'';_0x4c2558[_0x4c4365(0x15e)](_0x4c4365(0x115)+_0x5ace47['tool_use_id']+'\x22'+_0x26732f+'>\x0a'+_0x37e23a+'\x0a</tool_result>');}}}}if(_0x4c2558[_0x4c4365(0xfe)]===0x0)return'';return _0x4c2558['join']('\x0a\x0a');}function findJsonEndIndex(_0x3e3296,_0x667aaf){const _0x267686=a54_0x14ce;let _0x2a1f22=0x0,_0x3be2fe=![],_0x468b26=![];for(let _0x51b806=_0x667aaf;_0x51b806<_0x3e3296[_0x267686(0xfe)];_0x51b806++){const _0x1efa0a=_0x3e3296[_0x51b806];if(_0x468b26){_0x468b26=![];continue;}if(_0x1efa0a==='\x5c'){_0x468b26=!![];continue;}if(_0x1efa0a==='\x22'){_0x3be2fe=!_0x3be2fe;continue;}if(!_0x3be2fe){if(_0x1efa0a==='{')_0x2a1f22++;else{if(_0x1efa0a==='}'){_0x2a1f22--;if(_0x2a1f22===0x0)return _0x51b806+0x1;}}}}return-0x1;}function repairIncompleteJson(_0x1d9bde,_0x4bc33e){const _0x3f42f8=a54_0x14ce;try{return JSON['parse'](_0x1d9bde),_0x1d9bde;}catch{let _0x1a0efe=_0x1d9bde;const _0xcb1708=/("old_string"\s*:\s*"[^"]*")\s*,\s*("(?:[^"\\]|\\.)*")\s*\}/,_0x1fe7dc=_0xcb1708['exec'](_0x1a0efe);if(_0x1fe7dc){_0x1a0efe=_0x1a0efe['replace'](_0xcb1708,_0x3f42f8(0xf3));try{return JSON['parse'](_0x1a0efe),_0x4bc33e&&_0x4bc33e[_0x3f42f8(0x104)](_0x3f42f8(0x13d)+_0x1d9bde+_0x3f42f8(0x108)+_0x1a0efe),_0x1a0efe;}catch{_0x1a0efe=_0x1d9bde;}}const _0x2d7ea7=[];let _0x27d7d4=![],_0x6a770a=![];for(const _0x4ab68b of _0x1d9bde){if(_0x6a770a){_0x6a770a=![];continue;}if(_0x4ab68b==='\x5c'){_0x6a770a=!![];continue;}if(_0x4ab68b==='\x22'){_0x27d7d4=!_0x27d7d4;continue;}if(!_0x27d7d4){if(_0x4ab68b==='{')_0x2d7ea7[_0x3f42f8(0x15e)]('{');else{if(_0x4ab68b==='[')_0x2d7ea7['push']('[');else{if(_0x4ab68b==='}'&&_0x2d7ea7[_0x2d7ea7[_0x3f42f8(0xfe)]-0x1]==='{')_0x2d7ea7['pop']();else _0x4ab68b===']'&&_0x2d7ea7[_0x2d7ea7[_0x3f42f8(0xfe)]-0x1]==='['&&_0x2d7ea7[_0x3f42f8(0x14e)]();}}}}_0x1a0efe=_0x1d9bde;_0x27d7d4&&(_0x1a0efe+='\x22');while(_0x2d7ea7[_0x3f42f8(0xfe)]>0x0){const _0x53e634=_0x2d7ea7[_0x3f42f8(0x14e)]();_0x1a0efe+=_0x53e634==='{'?'}':']';}try{return JSON[_0x3f42f8(0xff)](_0x1a0efe),_0x4bc33e&&_0x1a0efe!==_0x1d9bde&&_0x4bc33e[_0x3f42f8(0x104)](_0x3f42f8(0x13e)+_0x1d9bde+'\x0a[After]:\x0a'+_0x1a0efe),_0x1a0efe;}catch{return null;}}}function tryParseJsonContent(_0x409498,_0x5dc5ca){const _0x3ef81f=a54_0x14ce;if(!_0x409498)return null;try{return JSON[_0x3ef81f(0xff)](_0x409498);}catch{const _0x53f1ce=repairIncompleteJson(_0x409498,_0x5dc5ca);if(_0x53f1ce)try{return JSON[_0x3ef81f(0xff)](_0x53f1ce);}catch{}return null;}}function tryMatchXmlPatterns(_0x294a5f,_0x1a7cc8){const _0x4e0b11=a54_0x14ce;let _0x3b5bf4=null;for(const {pattern:_0x20b7b7,nameFirst:_0x3c8175}of _0x1a7cc8){const _0x5acc7f=_0x20b7b7[_0x4e0b11(0x15c)](_0x294a5f);_0x5acc7f&&((!_0x3b5bf4||_0x5acc7f[_0x4e0b11(0x10b)]<_0x3b5bf4['match'][_0x4e0b11(0x10b)])&&(_0x3b5bf4={'match':_0x5acc7f,'name':_0x3c8175?_0x5acc7f[0x1]:_0x5acc7f[0x2],'id':_0x3c8175?_0x5acc7f[0x2]:_0x5acc7f[0x1],'jsonContent':_0x5acc7f[0x3][_0x4e0b11(0xf7)]()}));}return _0x3b5bf4;}export function parseToolCallFromText(_0x22be73,_0x5206dc){const _0x5cf664=a54_0x14ce,_0x157e42=[{'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':![]}],_0x50ca03=[{'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':![]}],_0x5227c5=tryMatchXmlPatterns(_0x22be73,_0x157e42);if(_0x5227c5){const {match:_0x38068a,name:_0x18515f,id:_0x2dc031,jsonContent:_0x19812b}=_0x5227c5,_0x153a54=_0x38068a[_0x5cf664(0x10b)],_0x4ec5f5=_0x153a54+_0x38068a[0x0][_0x5cf664(0xfe)],_0x682c24=tryParseJsonContent(_0x19812b,_0x5206dc);if(_0x682c24!==null)return{'id':_0x2dc031,'name':_0x18515f,'input':_0x682c24,'startIndex':_0x153a54,'endIndex':_0x4ec5f5};if(!_0x19812b)return{'id':_0x2dc031,'name':_0x18515f,'input':{},'startIndex':_0x153a54,'endIndex':_0x4ec5f5};}const _0x5acae9=/<tool_use\s+name="([^"]+)">\s*([\s\S]*?)\s*<\/tool_use>/,_0x3b5182=_0x5acae9[_0x5cf664(0x15c)](_0x22be73);if(_0x3b5182){const _0x3d898b=_0x3b5182[0x1],_0x538587=_0x3b5182[0x2][_0x5cf664(0xf7)](),_0x129669=_0x3b5182[_0x5cf664(0x10b)],_0x424b9e=_0x129669+_0x3b5182[0x0][_0x5cf664(0xfe)],_0x341bab=_0x5cf664(0x129)+Date['now']();_0x5206dc?.['warn'](_0x5cf664(0x146)+_0x3d898b+_0x5cf664(0x13a)+_0x341bab+'\x0aOriginal\x20XML:\x0a'+_0x3b5182[0x0]);const _0x4c8a53=tryParseJsonContent(_0x538587,_0x5206dc);if(_0x4c8a53!==null)return{'id':_0x341bab,'name':_0x3d898b,'input':_0x4c8a53,'startIndex':_0x129669,'endIndex':_0x424b9e};if(!_0x538587)return{'id':_0x341bab,'name':_0x3d898b,'input':{},'startIndex':_0x129669,'endIndex':_0x424b9e};}const _0xc9a856=tryMatchXmlPatterns(_0x22be73,_0x50ca03);if(_0xc9a856){const {match:_0x443976,name:_0x843659,id:_0x55bd31,jsonContent:_0xd0c96}=_0xc9a856,_0x1e9fc6=_0x443976[_0x5cf664(0x10b)],_0x463b5d=_0x1e9fc6+_0x443976[0x0]['length'];_0x5206dc?.[_0x5cf664(0x104)]('[MALFORMED\x20TOOL_USE]\x20Detected\x20malformed\x20XML\x20format\x20with\x20separate\x20id\x20tag.\x20Name:\x20'+_0x843659+',\x20ID:\x20'+_0x55bd31+_0x5cf664(0x12e)+_0x443976[0x0]);const _0x3845c6=tryParseJsonContent(_0xd0c96,_0x5206dc);if(_0x3845c6!==null)return{'id':_0x55bd31,'name':_0x843659,'input':_0x3845c6,'startIndex':_0x1e9fc6,'endIndex':_0x463b5d};if(!_0xd0c96)return{'id':_0x55bd31,'name':_0x843659,'input':{},'startIndex':_0x1e9fc6,'endIndex':_0x463b5d};}const _0x19de94=/<tool_use([^>]*)>([\s\S]*?)<\/tool_use>/,_0x1970bf=_0x19de94[_0x5cf664(0x15c)](_0x22be73);if(_0x1970bf){const _0x27afb3=_0x1970bf[0x1],_0x37b8be=_0x1970bf[0x2],_0x3b4821=_0x1970bf[_0x5cf664(0x10b)],_0x176f60=_0x3b4821+_0x1970bf[0x0][_0x5cf664(0xfe)],_0x5d58ff=/name="([^"]+)"/[_0x5cf664(0x15c)](_0x27afb3),_0x1c1109=/id="([^"]+)"/[_0x5cf664(0x15c)](_0x27afb3),_0xf4fdfd=/tool_use_name="([^"]+)"/['exec'](_0x37b8be),_0x144ba3=/tool_use_id="([^"]+)"/[_0x5cf664(0x15c)](_0x37b8be),_0x51bad9=_0x5d58ff?.[0x1]||_0xf4fdfd?.[0x1],_0x3891dd=_0x1c1109?.[0x1]||_0x144ba3?.[0x1];if(_0x51bad9){const _0x43b2e6=_0x3891dd||_0x5cf664(0x129)+Date[_0x5cf664(0x102)](),_0x32fe32=_0x37b8be[_0x5cf664(0xfa)]('{');let _0x1d4a7a='';if(_0x32fe32!==-0x1){const _0x17987e=_0x37b8be[_0x5cf664(0xf6)](_0x32fe32),_0x469790=/^\{[\s\S]*?\}/['exec'](_0x17987e);_0x1d4a7a=_0x469790?.[0x0]?.[_0x5cf664(0xf7)]()||'';}const _0x1d8501=!_0x3891dd;_0x5206dc?.['warn']('[MALFORMED\x20TOOL_USE]\x20Extracted\x20from\x20flexible\x20pattern.\x20Name:\x20'+_0x51bad9+_0x5cf664(0x13a)+_0x43b2e6+(_0x1d8501?_0x5cf664(0x14f):'')+'\x0aOriginal\x20XML:\x0a'+_0x1970bf[0x0]);const _0x38ed13=tryParseJsonContent(_0x1d4a7a,_0x5206dc);if(_0x38ed13!==null)return{'id':_0x43b2e6,'name':_0x51bad9,'input':_0x38ed13,'startIndex':_0x3b4821,'endIndex':_0x176f60};if(!_0x1d4a7a)return{'id':_0x43b2e6,'name':_0x51bad9,'input':{},'startIndex':_0x3b4821,'endIndex':_0x176f60};}}const _0x53bd36=[_0x5cf664(0x112),_0x5cf664(0x139),_0x5cf664(0x161),_0x5cf664(0x140),_0x5cf664(0x12d),_0x5cf664(0x111),_0x5cf664(0x121),_0x5cf664(0x127),'WebFetch',_0x5cf664(0x150),'AskUserQuestion',_0x5cf664(0x15f)];for(const _0x192ccd of _0x53bd36){const _0x4a585d=new RegExp('<'+_0x192ccd+'>([\x5cs\x5cS]*?)</'+_0x192ccd+'>','i'),_0x40e592=_0x4a585d['exec'](_0x22be73);if(_0x40e592){const _0x2ee844=_0x40e592[0x1],_0x1f8de9=_0x40e592['index'],_0x3860dd=_0x1f8de9+_0x40e592[0x0][_0x5cf664(0xfe)],_0x4cbd2e=_0x5cf664(0x129)+Date[_0x5cf664(0x102)](),_0x400a1b={},_0x284f80=/<([a-z_]+)>([\s\S]*?)<\/\1>/gi;let _0x50c275;while((_0x50c275=_0x284f80[_0x5cf664(0x15c)](_0x2ee844))!==null){const _0x13236c=_0x50c275[0x1],_0x3a3b0d=_0x50c275[0x2][_0x5cf664(0xf7)]();try{_0x400a1b[_0x13236c]=JSON['parse'](_0x3a3b0d);}catch{_0x400a1b[_0x13236c]=_0x3a3b0d;}}return _0x5206dc?.['warn']('[MALFORMED\x20TOOL_USE]\x20Tool\x20name\x20used\x20as\x20XML\x20tag\x20instead\x20of\x20tool_use.\x20Name:\x20'+_0x192ccd+_0x5cf664(0x13a)+_0x4cbd2e+_0x5cf664(0x12e)+_0x40e592[0x0]),{'id':_0x4cbd2e,'name':_0x192ccd,'input':_0x400a1b,'startIndex':_0x1f8de9,'endIndex':_0x3860dd};}}const _0x4e1849=/\{"tool_use":/g,_0x5290f3=_0x4e1849['exec'](_0x22be73);if(!_0x5290f3)return null;const _0x4cc153=_0x5290f3[_0x5cf664(0x10b)];let _0x91f51e=findJsonEndIndex(_0x22be73,_0x4cc153);if(_0x91f51e===-0x1)return null;const _0x1bc888=_0x22be73[_0x5cf664(0xf6)](_0x4cc153,_0x91f51e);try{const _0x33cd56=JSON[_0x5cf664(0xff)](_0x1bc888);if(_0x33cd56[_0x5cf664(0x10e)]&&_0x33cd56['tool_use']['id']&&_0x33cd56[_0x5cf664(0x10e)][_0x5cf664(0xea)])return{'id':_0x33cd56[_0x5cf664(0x10e)]['id'],'name':_0x33cd56['tool_use'][_0x5cf664(0xea)],'input':_0x33cd56[_0x5cf664(0x10e)][_0x5cf664(0x14a)]||{},'startIndex':_0x4cc153,'endIndex':_0x91f51e};}catch{const _0x48224c=repairIncompleteJson(_0x1bc888,_0x5206dc);if(_0x48224c)try{const _0x2759fd=JSON[_0x5cf664(0xff)](_0x48224c);if(_0x2759fd[_0x5cf664(0x10e)]&&_0x2759fd[_0x5cf664(0x10e)]['id']&&_0x2759fd['tool_use'][_0x5cf664(0xea)])return{'id':_0x2759fd[_0x5cf664(0x10e)]['id'],'name':_0x2759fd['tool_use']['name'],'input':_0x2759fd[_0x5cf664(0x10e)][_0x5cf664(0x14a)]||{},'startIndex':_0x4cc153,'endIndex':_0x91f51e};}catch{return null;}return null;}return null;}export function*generateToolCallBlockEvents(_0x4b4c96,_0x5bb500){const _0x61130e=a54_0x14ce,_0x5f2c31={'type':_0x61130e(0x156),'index':_0x5bb500,'content_block':{'type':_0x61130e(0x10e),'id':_0x4b4c96['id'],'name':_0x4b4c96['name'],'input':{}}};yield _0x5f2c31;const _0x3afdf7=JSON[_0x61130e(0x131)](_0x4b4c96[_0x61130e(0x14a)]),_0x238375={'type':_0x61130e(0x13b),'index':_0x5bb500,'delta':{'type':_0x61130e(0x15b),'partial_json':_0x3afdf7}};yield _0x238375;const _0x29f80f={'type':_0x61130e(0x122),'index':_0x5bb500};yield _0x29f80f;}export function*generateToolCallEvents(_0x551650,_0x3f7874,_0x4d7cad){const _0x21df6b=a54_0x14ce;yield*generateToolCallBlockEvents(_0x551650,_0x3f7874);const _0xfe11db={'type':_0x21df6b(0x11f),'delta':{'stop_reason':_0x21df6b(0x10e),'stop_sequence':null},'usage':{'input_tokens':_0x4d7cad,'output_tokens':0x0}};yield _0xfe11db;const _0x12f78f={'type':_0x21df6b(0xf4)};yield _0x12f78f;}export async function*transformTDStreamToAnthropic(_0xb17eba,_0x3d4d37,_0x292353,_0x1279d1,_0x209254='',_0x3d9de5=0x0){const _0x192c57=a54_0x14ce,_0xbcb65e=_0x3d9de5>0x0?_0x3d9de5:estimateTokenCount(_0x209254);let _0x1a69e7=0x0,_0x52986e=0x0,_0x3d8730=![],_0x5acf0a=null,_0x3a1a4b='',_0x535f38=0x0,_0x5e1251=![];const _0x52d478=0xc8,_0xc0b01a={'type':_0x192c57(0xf1),'message':{'id':_0x3d4d37,'type':'message','role':_0x192c57(0x135),'content':[],'model':_0x292353,'stop_reason':null,'stop_sequence':null,'usage':{'input_tokens':_0xbcb65e,'output_tokens':0x0}}};yield _0xc0b01a;for await(const _0x39484a of _0xb17eba){if('reasoning'in _0x39484a){const _0x5624e4=_0x39484a;if(!_0x3d8730){const _0x5a3b84={'type':'content_block_start','index':_0x52986e,'content_block':{'type':_0x192c57(0x149),'thinking':''}};yield _0x5a3b84,_0x3d8730=!![],_0x5acf0a=_0x192c57(0x149);}const _0x4fdc3b={'type':_0x192c57(0x13b),'index':_0x52986e,'delta':{'type':_0x192c57(0xf8),'thinking':_0x5624e4[_0x192c57(0xef)]}};yield _0x4fdc3b,_0x1a69e7+=estimateTokenCount(_0x5624e4[_0x192c57(0xef)]);}else{if(_0x192c57(0x11b)in _0x39484a){const _0x2d83fb=_0x39484a;if(_0x3d8730&&_0x5acf0a==='thinking'){const _0x11520d={'type':_0x192c57(0x122),'index':_0x52986e};yield _0x11520d,_0x52986e++,_0x3d8730=![],_0x5acf0a=null;}_0x3a1a4b+=_0x2d83fb[_0x192c57(0x11b)];const _0x558999=_0x3a1a4b[_0x192c57(0xf2)](_0x192c57(0x10a)),_0x2d29ad=_0x3a1a4b['indexOf'](_0x192c57(0x119)),_0x536270=[_0x558999,_0x2d29ad][_0x192c57(0x154)](_0x45f6ff=>_0x45f6ff!==-0x1),_0x225748=_0x536270[_0x192c57(0xfe)]>0x0?Math[_0x192c57(0xfd)](..._0x536270):-0x1;if(_0x225748!==-0x1){const _0x35fdfc=[];let _0x541d92=0x0;while(!![]){const _0x3b7672=_0x3a1a4b[_0x192c57(0xf6)](_0x541d92),_0x4c30ce=parseToolCallFromText(_0x3b7672,_0x1279d1);if(!_0x4c30ce)break;_0x35fdfc['push']({'id':_0x4c30ce['id'],'name':_0x4c30ce[_0x192c57(0xea)],'input':_0x4c30ce[_0x192c57(0x14a)],'startIndex':_0x541d92+_0x4c30ce['startIndex'],'endIndex':_0x541d92+_0x4c30ce[_0x192c57(0x13c)]}),_0x541d92+=_0x4c30ce[_0x192c57(0x13c)];}if(_0x35fdfc[_0x192c57(0xfe)]>0x0){const _0x1b9b3e=_0x35fdfc[_0x35fdfc[_0x192c57(0xfe)]-0x1];_0x5e1251=!![];if(_0x35fdfc[_0x192c57(0xfe)]>0x1){const _0x2fb421=_0x35fdfc[_0x192c57(0x155)](0x0,-0x1)['map'](_0x299708=>_0x299708[_0x192c57(0xea)]);_0x1279d1?.['warn'](_0x192c57(0x132)+_0x35fdfc[_0x192c57(0xfe)]+_0x192c57(0x118)+(_0x192c57(0x138)+_0x1b9b3e[_0x192c57(0xea)]+').\x20Ignored:\x20'+_0x2fb421[_0x192c57(0xeb)](',\x20')));}else _0x1279d1?.[_0x192c57(0x130)]('Tool\x20call\x20detected:\x20'+_0x1b9b3e[_0x192c57(0xea)]);const _0x5332b9=_0x3a1a4b[_0x192c57(0xf6)](_0x535f38,_0x1b9b3e[_0x192c57(0x14d)])[_0x192c57(0xf7)]();if(_0x5332b9){if(!_0x3d8730){const _0x305689={'type':_0x192c57(0x156),'index':_0x52986e,'content_block':{'type':_0x192c57(0x145),'text':''}};yield _0x305689,_0x3d8730=!![],_0x5acf0a='text';}const _0x42161c={'type':_0x192c57(0x13b),'index':_0x52986e,'delta':{'type':'text_delta','text':_0x5332b9}};yield _0x42161c,_0x1a69e7+=estimateTokenCount(_0x5332b9);}if(_0x3d8730){const _0x477e23={'type':_0x192c57(0x122),'index':_0x52986e};yield _0x477e23,_0x52986e++,_0x3d8730=![],_0x5acf0a=null;}for(const _0x182475 of generateToolCallEvents(_0x1b9b3e,_0x52986e,_0xbcb65e)){_0x182475[_0x192c57(0x136)]==='message_delta'&&(_0x182475[_0x192c57(0x123)]['output_tokens']=_0x1a69e7),yield _0x182475;}return;}const _0x1d7784=_0x3a1a4b['includes']('<tool_use')&&_0x3a1a4b['includes'](_0x192c57(0x105)),_0x112b92=_0x3a1a4b[_0x192c57(0x159)](_0x192c57(0x119))&&findJsonEndIndex(_0x3a1a4b,_0x3a1a4b['indexOf']('{\x22tool_use\x22:'))!==-0x1;if(_0x1d7784||_0x112b92){_0x5e1251=!![];let _0x95f41a='';if(_0x1d7784){const _0xc20c48=_0x3a1a4b[_0x192c57(0xf2)]('<tool_use'),_0x1ebd33=_0x3a1a4b[_0x192c57(0xf2)]('</tool_use>',_0xc20c48);_0x1ebd33!==-0x1?_0x95f41a=_0x3a1a4b['substring'](_0xc20c48,_0x1ebd33+_0x192c57(0x105)[_0x192c57(0xfe)]):_0x95f41a=_0x3a1a4b[_0x192c57(0xf6)](_0xc20c48);}else{if(_0x112b92){const _0x33f74c=_0x3a1a4b[_0x192c57(0xf2)]('{\x22tool_use\x22:'),_0x39a86b=findJsonEndIndex(_0x3a1a4b,_0x33f74c);_0x39a86b!==-0x1?_0x95f41a=_0x3a1a4b[_0x192c57(0xf6)](_0x33f74c,_0x39a86b):_0x95f41a=_0x3a1a4b['substring'](_0x33f74c);}}_0x1279d1&&_0x1279d1[_0x192c57(0x128)](_0x192c57(0x125)+_0x95f41a);_0x1279d1?.[_0x192c57(0x130)](_0x192c57(0x113)),_0x1279d1?.['debug'](_0x192c57(0x133),_0x95f41a);const _0x4924c5=_0x3a1a4b[_0x192c57(0xf6)](_0x535f38,_0x225748)[_0x192c57(0xf7)]();if(_0x4924c5){if(!_0x3d8730){const _0x1a0c08={'type':'content_block_start','index':_0x52986e,'content_block':{'type':_0x192c57(0x145),'text':''}};yield _0x1a0c08,_0x3d8730=!![],_0x5acf0a='text';}const _0x221e30={'type':_0x192c57(0x13b),'index':_0x52986e,'delta':{'type':_0x192c57(0x152),'text':_0x4924c5}};yield _0x221e30,_0x1a69e7+=estimateTokenCount(_0x4924c5);}if(_0x3d8730){const _0x16b502={'type':_0x192c57(0x122),'index':_0x52986e};yield _0x16b502,_0x52986e++,_0x3d8730=![],_0x5acf0a=null;}const _0x357d05=_0x192c57(0x12f)+_0x95f41a+_0x192c57(0xee),_0x42fb4d={'type':_0x192c57(0x156),'index':_0x52986e,'content_block':{'type':_0x192c57(0x145),'text':''}};yield _0x42fb4d,_0x5acf0a=_0x192c57(0x145);const _0x487189={'type':'content_block_delta','index':_0x52986e,'delta':{'type':_0x192c57(0x152),'text':_0x357d05}};yield _0x487189;const _0x115f7f={'type':_0x192c57(0x122),'index':_0x52986e};yield _0x115f7f;const _0x153e5a={'type':_0x192c57(0x11f),'delta':{'stop_reason':'end_turn','stop_sequence':null},'usage':{'input_tokens':_0xbcb65e,'output_tokens':_0x1a69e7}};yield _0x153e5a;const _0x5b4247={'type':_0x192c57(0xf4)};yield _0x5b4247;return;}const _0x38d6d0=_0x3a1a4b[_0x192c57(0xf6)](_0x535f38,_0x225748);if(_0x38d6d0){if(!_0x3d8730){const _0x910b8b={'type':_0x192c57(0x156),'index':_0x52986e,'content_block':{'type':'text','text':''}};yield _0x910b8b,_0x3d8730=!![],_0x5acf0a=_0x192c57(0x145);}const _0xa58d2f={'type':_0x192c57(0x13b),'index':_0x52986e,'delta':{'type':_0x192c57(0x152),'text':_0x38d6d0}};yield _0xa58d2f,_0x1a69e7+=estimateTokenCount(_0x38d6d0),_0x535f38=_0x225748;}continue;}const _0x133bbb=_0x3a1a4b[_0x192c57(0xfe)]-_0x52d478;if(_0x133bbb>_0x535f38){const _0x50c179=_0x3a1a4b[_0x192c57(0xf6)](_0x535f38,_0x133bbb);if(_0x50c179){if(!_0x3d8730){const _0x2ffedf={'type':'content_block_start','index':_0x52986e,'content_block':{'type':'text','text':''}};yield _0x2ffedf,_0x3d8730=!![],_0x5acf0a=_0x192c57(0x145);}const _0x4eadda={'type':_0x192c57(0x13b),'index':_0x52986e,'delta':{'type':_0x192c57(0x152),'text':_0x50c179}};yield _0x4eadda,_0x1a69e7+=estimateTokenCount(_0x50c179),_0x535f38=_0x133bbb;}}}else{if(_0x192c57(0x128)in _0x39484a){const _0x4316e9=_0x39484a,_0x422103=determineErrorType(_0x4316e9['error'],_0x1279d1),_0x7c4999=_0x422103===_0x192c57(0x117)?'model_context_window_exceeded':_0x192c57(0xf5),_0x502e84={'type':_0x192c57(0x11f),'delta':{'stop_reason':_0x7c4999,'stop_sequence':null},'usage':{'input_tokens':_0xbcb65e,'output_tokens':_0x1a69e7}};yield _0x502e84,yield{'type':'error','error':{'type':_0x422103,'message':_0x4316e9[_0x192c57(0x128)]},'request_id':_0x3d4d37};const _0x44cabb={'type':_0x192c57(0xf4)};yield _0x44cabb;return;}}}}if(!_0x5e1251){const _0x234934=_0x3a1a4b[_0x192c57(0xf6)](_0x535f38);if(_0x234934){if(!_0x3d8730){const _0x2f081b={'type':_0x192c57(0x156),'index':_0x52986e,'content_block':{'type':'text','text':''}};yield _0x2f081b,_0x3d8730=!![],_0x5acf0a='text';}const _0x348176={'type':_0x192c57(0x13b),'index':_0x52986e,'delta':{'type':_0x192c57(0x152),'text':_0x234934}};yield _0x348176,_0x1a69e7+=estimateTokenCount(_0x234934);}if(_0x3d8730){const _0x26eed3={'type':_0x192c57(0x122),'index':_0x52986e};yield _0x26eed3;}const _0xf49697={'type':_0x192c57(0x11f),'delta':{'stop_reason':'end_turn','stop_sequence':null},'usage':{'input_tokens':_0xbcb65e,'output_tokens':_0x1a69e7}};yield _0xf49697;const _0x32bcdc={'type':'message_stop'};yield _0x32bcdc;}}export{generateMessageId};
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 +1 @@
1
- (function(_0x3d9b1d,_0x2212f0){const _0x37d73a=a55_0x39e1,_0xf7bd5c=_0x3d9b1d();while(!![]){try{const _0x1c83b8=-parseInt(_0x37d73a(0x1b5))/0x1+-parseInt(_0x37d73a(0x186))/0x2+parseInt(_0x37d73a(0x1a7))/0x3+parseInt(_0x37d73a(0x198))/0x4*(parseInt(_0x37d73a(0x18c))/0x5)+parseInt(_0x37d73a(0x1b6))/0x6*(parseInt(_0x37d73a(0x1aa))/0x7)+parseInt(_0x37d73a(0x1a1))/0x8*(parseInt(_0x37d73a(0x17b))/0x9)+-parseInt(_0x37d73a(0x1a0))/0xa*(parseInt(_0x37d73a(0x1b2))/0xb);if(_0x1c83b8===_0x2212f0)break;else _0xf7bd5c['push'](_0xf7bd5c['shift']());}catch(_0x108350){_0xf7bd5c['push'](_0xf7bd5c['shift']());}}}(a55_0x2025,0xcb443));import{readFile,writeFile,appendFile,mkdir,readdir,stat}from'node:fs/promises';function a55_0x39e1(_0x5e8f45,_0x126161){_0x5e8f45=_0x5e8f45-0x17b;const _0x2025f1=a55_0x2025();let _0x39e17f=_0x2025f1[_0x5e8f45];return _0x39e17f;}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 _0x1f823f=a55_0x39e1;return!usageLogger&&(usageLogger=new TDXLogger(LogLevel[_0x1f823f(0x192)],!![]),await usageLogger[_0x1f823f(0x19b)]()),usageLogger;}function getUsageDir(){const _0x489019=a55_0x39e1;return join(homedir(),_0x489019(0x187),_0x489019(0x1b0),_0x489019(0x190));}function sanitizeSessionId(_0x3f4e2e){const _0xb2e608=a55_0x39e1;return _0x3f4e2e[_0xb2e608(0x188)](/[^a-zA-Z0-9_-]/g,'_');}function getSafeJsonlPath(_0x1f62e3){const _0x2cf516=a55_0x39e1,_0x4d5bdf=getUsageDir(),_0x5033df=sanitizeSessionId(_0x1f62e3),_0x29294a=resolve(_0x4d5bdf,_0x5033df+'.jsonl');if(!_0x29294a[_0x2cf516(0x1b1)](_0x4d5bdf))throw new Error('Invalid\x20session\x20ID:\x20path\x20traversal\x20detected');return _0x29294a;}function getStatsCachePath(){const _0x3f5346=a55_0x39e1;return join(getUsageDir(),_0x3f5346(0x197));}async function ensureUsageDir(){const _0x30924b=getUsageDir();!existsSync(_0x30924b)&&await mkdir(_0x30924b,{'recursive':!![]});}export async function appendUsageEntry(_0x426df6,_0x2972d0){const _0x10e77f=a55_0x39e1,_0x4660f9=sanitizeSessionId(_0x426df6);await ensureUsageDir();const _0x2f9949=getSafeJsonlPath(_0x4660f9),_0xa9915e=JSON[_0x10e77f(0x180)](_0x2972d0)+'\x0a';await appendFile(_0x2f9949,_0xa9915e,_0x10e77f(0x1a8));}async function readSessionJsonl(_0x5aa064){const _0x5d2e63=a55_0x39e1,_0x52beef=getSafeJsonlPath(_0x5aa064);if(!existsSync(_0x52beef))return[];try{const _0x20754c=await readFile(_0x52beef,_0x5d2e63(0x1a8)),_0x4c2785=_0x20754c[_0x5d2e63(0x17f)]()[_0x5d2e63(0x199)]('\x0a')[_0x5d2e63(0x17d)](Boolean);return _0x4c2785[_0x5d2e63(0x1ac)](_0x54c7ff=>{const _0x2ab081=_0x5d2e63;try{return JSON[_0x2ab081(0x1af)](_0x54c7ff);}catch{return null;}})[_0x5d2e63(0x17d)](_0x3c195d=>_0x3c195d!==null);}catch(_0x40a2e4){const _0x1d96db=await getLogger();return _0x1d96db[_0x5d2e63(0x19a)](_0x5d2e63(0x185)+_0x5aa064+_0x5d2e63(0x1a4),_0x40a2e4 instanceof Error?_0x40a2e4['message']:String(_0x40a2e4)),[];}}async function getAllSessionFiles(){const _0x492446=a55_0x39e1,_0x4cc536=getUsageDir();if(!existsSync(_0x4cc536))return[];try{const _0x1a20a4=await readdir(_0x4cc536);return _0x1a20a4['filter'](_0x52ae53=>_0x52ae53['endsWith'](_0x492446(0x18e)))['map'](_0x796b58=>_0x796b58['replace']('.jsonl',''));}catch(_0x44474b){const _0x51da50=await getLogger();return _0x51da50[_0x492446(0x19a)]('Failed\x20to\x20read\x20usage\x20directory:',_0x44474b instanceof Error?_0x44474b[_0x492446(0x1b3)]:String(_0x44474b)),[];}}async function readStatsCache(){const _0x3a6c75=a55_0x39e1,_0x484ab1=getStatsCachePath();if(!existsSync(_0x484ab1))return null;try{const _0xf87637=await readFile(_0x484ab1,_0x3a6c75(0x1a8));return JSON['parse'](_0xf87637);}catch{return null;}}async function writeStatsCache(_0x345e21){const _0x4adee2=a55_0x39e1;await ensureUsageDir();const _0x5801e6=getStatsCachePath();await writeFile(_0x5801e6,JSON[_0x4adee2(0x180)](_0x345e21,null,0x2),_0x4adee2(0x1a8));}async function isCacheUpToDate(_0x36c396,_0x1e549e){const _0x5c36c4=a55_0x39e1,_0x15a579=_0x36c396[_0x5c36c4(0x17c)][_0x1e549e];if(!_0x15a579)return![];const _0x333c23=getSafeJsonlPath(_0x1e549e);if(!existsSync(_0x333c23))return!![];try{const _0x3cc774=await stat(_0x333c23),_0x343230=new Date(_0x15a579[_0x5c36c4(0x18b)])['getTime'](),_0x99941c=_0x3cc774[_0x5c36c4(0x189)][_0x5c36c4(0x19d)]();return _0x343230>_0x99941c;}catch{return![];}}export async function rebuildCache(){const _0x5b66d4=a55_0x39e1,_0x5d2fa4=new Date(),_0x4253a3=_0x5d2fa4[_0x5b66d4(0x181)]()[_0x5b66d4(0x1a3)](0x0,0xa),_0xd9aff5=_0x5d2fa4[_0x5b66d4(0x181)]()[_0x5b66d4(0x1a3)](0x0,0x7),_0x1c670c={'daily':{},'monthly':{},'sessions':{},'profiles':{},'lastRebuiltAt':_0x5d2fa4[_0x5b66d4(0x181)]()},_0x47f942=await getAllSessionFiles();for(const _0x5e9732 of _0x47f942){try{const _0x3dfd73=await readSessionJsonl(_0x5e9732);if(_0x3dfd73[_0x5b66d4(0x1a5)]===0x0)continue;let _0x3d2de5=0x0;const _0x51b56c={};let _0x561ba6='';for(const _0x3b932e of _0x3dfd73){const _0x1108ba=getModelFactor(_0x3b932e[_0x5b66d4(0x17e)]),_0x1b2899=calculateChatUnit(_0x3b932e['inputTokens'],_0x3b932e['outputTokens'],_0x1108ba);_0x3d2de5+=_0x1b2899;const _0x418de5=_0x3b932e['contextSignature']||_0x5b66d4(0x184);_0x51b56c[_0x418de5]=_0x3b932e[_0x5b66d4(0x18d)];_0x3b932e[_0x5b66d4(0x1ae)]>_0x561ba6&&(_0x561ba6=_0x3b932e[_0x5b66d4(0x1ae)]);const _0x5f2e88=_0x3b932e['timestamp'][_0x5b66d4(0x1a3)](0x0,0xa);!_0x1c670c[_0x5b66d4(0x196)][_0x5f2e88]&&(_0x1c670c[_0x5b66d4(0x196)][_0x5f2e88]={'totalChatUnits':0x0,'entryCount':0x0});_0x1c670c['daily'][_0x5f2e88][_0x5b66d4(0x18f)]+=_0x1b2899,_0x1c670c[_0x5b66d4(0x196)][_0x5f2e88]['entryCount']+=0x1;const _0x1987bc=_0x3b932e['timestamp'][_0x5b66d4(0x1a3)](0x0,0x7);!_0x1c670c[_0x5b66d4(0x1a6)][_0x1987bc]&&(_0x1c670c['monthly'][_0x1987bc]={'totalChatUnits':0x0,'entryCount':0x0});_0x1c670c[_0x5b66d4(0x1a6)][_0x1987bc][_0x5b66d4(0x18f)]+=_0x1b2899,_0x1c670c[_0x5b66d4(0x1a6)][_0x1987bc][_0x5b66d4(0x183)]+=0x1;const _0x208b88=_0x3b932e[_0x5b66d4(0x1b8)]||_0x5b66d4(0x184);!_0x1c670c[_0x5b66d4(0x1a9)][_0x208b88]&&(_0x1c670c[_0x5b66d4(0x1a9)][_0x208b88]={'totalChatUnits':0x0,'entryCount':0x0,'lastUsedAt':'','todayChatUnits':0x0,'todayDate':_0x4253a3,'monthChatUnits':0x0,'month':_0xd9aff5}),_0x1c670c[_0x5b66d4(0x1a9)][_0x208b88][_0x5b66d4(0x18f)]+=_0x1b2899,_0x1c670c[_0x5b66d4(0x1a9)][_0x208b88][_0x5b66d4(0x183)]+=0x1,_0x3b932e[_0x5b66d4(0x1ae)]>_0x1c670c[_0x5b66d4(0x1a9)][_0x208b88][_0x5b66d4(0x18a)]&&(_0x1c670c[_0x5b66d4(0x1a9)][_0x208b88][_0x5b66d4(0x18a)]=_0x3b932e['timestamp']),_0x5f2e88===_0x4253a3&&(_0x1c670c[_0x5b66d4(0x1a9)][_0x208b88][_0x5b66d4(0x1b7)]+=_0x1b2899),_0x1987bc===_0xd9aff5&&(_0x1c670c[_0x5b66d4(0x1a9)][_0x208b88]['monthChatUnits']+=_0x1b2899);}_0x1c670c[_0x5b66d4(0x17c)][_0x5e9732]={'totalChatUnits':_0x3d2de5,'latestInputTokensByContext':_0x51b56c,'createdAt':_0x3dfd73[0x0]['timestamp'],'lastUpdatedAt':_0x561ba6};}catch(_0x5d284b){const _0x462e9f=await getLogger();_0x462e9f['warn'](_0x5b66d4(0x19e)+_0x5e9732+':',_0x5d284b instanceof Error?_0x5d284b[_0x5b66d4(0x1b3)]:String(_0x5d284b));continue;}}return cleanupOldEntries(_0x1c670c),await writeStatsCache(_0x1c670c),_0x1c670c;}function cleanupOldEntries(_0x39d685){const _0x98bbb1=a55_0x39e1,_0x37c70d=new Date(),_0x21f11e=new Date(_0x37c70d[_0x98bbb1(0x19d)]()-0x7*0x18*0x3c*0x3c*0x3e8);for(const _0x4f3644 of Object['keys'](_0x39d685[_0x98bbb1(0x196)])){new Date(_0x4f3644)<_0x21f11e&&delete _0x39d685[_0x98bbb1(0x196)][_0x4f3644];}const _0x514cfb=new Date(_0x37c70d['getFullYear']()-0x1,_0x37c70d[_0x98bbb1(0x194)](),0x1);for(const _0x43f82b of Object['keys'](_0x39d685['monthly'])){const [_0xbeae4b,_0x213552]=_0x43f82b['split']('-')['map'](Number),_0x560dd0=new Date(_0xbeae4b,_0x213552-0x1,0x1);_0x560dd0<_0x514cfb&&delete _0x39d685[_0x98bbb1(0x1a6)][_0x43f82b];}const _0x4c9922=new Date(_0x37c70d['getTime']()-0x1e*0x18*0x3c*0x3c*0x3e8);for(const [_0x451d00,_0x3d4f6d]of Object[_0x98bbb1(0x195)](_0x39d685[_0x98bbb1(0x17c)])){new Date(_0x3d4f6d[_0x98bbb1(0x18b)])<_0x4c9922&&delete _0x39d685['sessions'][_0x451d00];}}function a55_0x2025(){const _0x5f3981=['.jsonl','totalChatUnits','claude-usage','object','WARN','latestInputTokensByContext','getMonth','entries','daily','stats-cache.json','4SHZgzh','split','warn','init','todayDate','getTime','Failed\x20to\x20process\x20session\x20','month','10QmhRBs','347752vHCFmf','credits','slice','.jsonl:','length','monthly','4307022tllYaT','utf-8','profiles','14cPUnVB','sort','map','values','timestamp','parse','tdx','startsWith','11695277qVZoSb','message','reduce','1019991MiTIzo','1386006JgENeY','todayChatUnits','profile','189CgBwBr','sessions','filter','model','trim','stringify','toISOString','monthChatUnits','entryCount','default','Failed\x20to\x20read\x20usage\x20file\x20','1172818RoBoAL','.cache','replace','mtime','lastUsedAt','lastUpdatedAt','3458305grCRsw','inputTokens'];a55_0x2025=function(){return _0x5f3981;};return a55_0x2025();}export async function getOrUpdateCache(_0x1c1183){const _0x10d9d8=_0x1c1183?sanitizeSessionId(_0x1c1183):undefined,_0x2e4cc1=await readStatsCache();if(!_0x2e4cc1)return rebuildCache();if(_0x10d9d8){const _0x1b84bb=await isCacheUpToDate(_0x2e4cc1,_0x10d9d8);if(!_0x1b84bb)return rebuildCache();}return _0x2e4cc1;}export async function getSessionCredits(_0x1fa598){const _0x1acc0b=a55_0x39e1,_0x359066=sanitizeSessionId(_0x1fa598),_0x54050b=await getOrUpdateCache(_0x359066),_0x26d9e4=_0x54050b[_0x1acc0b(0x17c)][_0x359066];if(!_0x26d9e4)return 0x0;return calculateCredits(_0x26d9e4['totalChatUnits']);}export async function getTodayCredits(){const _0x109bc9=a55_0x39e1,_0x38c603=await getOrUpdateCache(),_0x1dfbf3=new Date()[_0x109bc9(0x181)]()['slice'](0x0,0xa),_0x2fb05d=_0x38c603[_0x109bc9(0x196)][_0x1dfbf3];if(!_0x2fb05d)return 0x0;return calculateCredits(_0x2fb05d[_0x109bc9(0x18f)]);}export async function getMonthCredits(){const _0x1fa5f6=a55_0x39e1,_0x2d8398=await getOrUpdateCache(),_0x272166=new Date()[_0x1fa5f6(0x181)]()[_0x1fa5f6(0x1a3)](0x0,0x7),_0x239941=_0x2d8398[_0x1fa5f6(0x1a6)][_0x272166];if(!_0x239941)return 0x0;return calculateCredits(_0x239941['totalChatUnits']);}export async function getSessionStats(_0x4490f3){const _0x43c7a2=a55_0x39e1,_0x1fe0ec=sanitizeSessionId(_0x4490f3),_0x4dfc04=await getOrUpdateCache(_0x1fe0ec);return _0x4dfc04[_0x43c7a2(0x17c)][_0x1fe0ec]||null;}function getMaxLatestInputTokens(_0x33a942){const _0x210d9b=a55_0x39e1,_0x4b5b99=Object[_0x210d9b(0x1ad)](_0x33a942);if(_0x4b5b99[_0x210d9b(0x1a5)]===0x0)return 0x0;return Math['max'](..._0x4b5b99);}export async function getUsageStats(_0x8b05b,_0x23a938){const _0x58d1e6=a55_0x39e1,_0x279a33=sanitizeSessionId(_0x8b05b),_0x97711b=await getOrUpdateCache(_0x279a33),_0x5378c1=_0x97711b[_0x58d1e6(0x17c)][_0x279a33],_0x40a7d1=new Date()['toISOString']()[_0x58d1e6(0x1a3)](0x0,0xa),_0x487ac1=new Date()[_0x58d1e6(0x181)]()[_0x58d1e6(0x1a3)](0x0,0x7);if(_0x23a938){const _0x56fd3b=_0x97711b['profiles']?.[_0x23a938],_0x4c9618=_0x56fd3b?.[_0x58d1e6(0x19c)]===_0x40a7d1?calculateCredits(_0x56fd3b[_0x58d1e6(0x1b7)]):0x0,_0x552420=_0x56fd3b?.[_0x58d1e6(0x19f)]===_0x487ac1?calculateCredits(_0x56fd3b[_0x58d1e6(0x182)]):0x0;return{'sessionCredits':_0x5378c1?calculateCredits(_0x5378c1['totalChatUnits']):0x0,'todayCredits':_0x4c9618,'monthCredits':_0x552420,'latestInputTokens':_0x5378c1?getMaxLatestInputTokens(_0x5378c1[_0x58d1e6(0x193)]):0x0};}return{'sessionCredits':_0x5378c1?calculateCredits(_0x5378c1[_0x58d1e6(0x18f)]):0x0,'todayCredits':_0x97711b['daily'][_0x40a7d1]?calculateCredits(_0x97711b[_0x58d1e6(0x196)][_0x40a7d1][_0x58d1e6(0x18f)]):0x0,'monthCredits':_0x97711b[_0x58d1e6(0x1a6)][_0x487ac1]?calculateCredits(_0x97711b[_0x58d1e6(0x1a6)][_0x487ac1][_0x58d1e6(0x18f)]):0x0,'latestInputTokens':_0x5378c1?getMaxLatestInputTokens(_0x5378c1[_0x58d1e6(0x193)]):0x0};}export async function getAllProfileStats(){const _0x488fa8=a55_0x39e1,_0x421879=await getOrUpdateCache(),_0x55f228=_0x421879[_0x488fa8(0x1a9)]||{};return Object[_0x488fa8(0x195)](_0x55f228)[_0x488fa8(0x17d)](([,_0xcab94a])=>_0xcab94a&&typeof _0xcab94a===_0x488fa8(0x191))['map'](([_0x5bcde6,_0x1cd85e])=>({'profile':_0x5bcde6,'credits':calculateCredits(_0x1cd85e[_0x488fa8(0x18f)]||0x0),'entryCount':_0x1cd85e[_0x488fa8(0x183)]||0x0,'lastUsedAt':_0x1cd85e[_0x488fa8(0x18a)]||''}))[_0x488fa8(0x1ab)]((_0x5e5dcf,_0x27d65f)=>_0x27d65f[_0x488fa8(0x1a2)]-_0x5e5dcf[_0x488fa8(0x1a2)]);}export async function getUsageSummary(){const _0x33917e=a55_0x39e1,_0xa1308e=await getOrUpdateCache(),_0x2fc530=_0xa1308e['profiles']||{},_0xa3b044=new Date()['toISOString']()[_0x33917e(0x1a3)](0x0,0xa),_0xa16521=new Date()['toISOString']()['slice'](0x0,0x7),_0x43b832=Object['values'](_0x2fc530)['filter'](_0x55c063=>_0x55c063&&typeof _0x55c063===_0x33917e(0x191)),_0x1f4968=_0x43b832[_0x33917e(0x1b4)]((_0x4115cf,_0x58eeae)=>_0x4115cf+(_0x58eeae[_0x33917e(0x18f)]||0x0),0x0);return{'todayCredits':_0xa1308e[_0x33917e(0x196)][_0xa3b044]?calculateCredits(_0xa1308e[_0x33917e(0x196)][_0xa3b044][_0x33917e(0x18f)]||0x0):0x0,'monthCredits':_0xa1308e[_0x33917e(0x1a6)][_0xa16521]?calculateCredits(_0xa1308e[_0x33917e(0x1a6)][_0xa16521][_0x33917e(0x18f)]||0x0):0x0,'totalCredits':calculateCredits(_0x1f4968),'profileCount':_0x43b832[_0x33917e(0x1a5)]};}
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 +1 @@
1
- (function(_0x50f39b,_0x5823c3){const _0x1f9fb1=a56_0x11de,_0x2f9d9f=_0x50f39b();while(!![]){try{const _0x2a7362=parseInt(_0x1f9fb1(0x1b0))/0x1*(-parseInt(_0x1f9fb1(0x1b9))/0x2)+-parseInt(_0x1f9fb1(0x1b4))/0x3+-parseInt(_0x1f9fb1(0x1a8))/0x4+parseInt(_0x1f9fb1(0x1a5))/0x5*(parseInt(_0x1f9fb1(0x1ba))/0x6)+-parseInt(_0x1f9fb1(0x1a7))/0x7+-parseInt(_0x1f9fb1(0x1b1))/0x8+parseInt(_0x1f9fb1(0x1af))/0x9;if(_0x2a7362===_0x5823c3)break;else _0x2f9d9f['push'](_0x2f9d9f['shift']());}catch(_0x358775){_0x2f9d9f['push'](_0x2f9d9f['shift']());}}}(a56_0x247b,0xc72d1));function a56_0x247b(){const _0x878028=['update','input_schema','262548XVOUOS','properties','name','substring','required','366368RyuuBU','402CekNdH','6915XpahxE','localeCompare','10966039TzXGwP','3545012PizxNz','digest','sort','keys','hex','stringify','map','45597402izFHmN','6Uwizud','5630112YzvDZW'];a56_0x247b=function(){return _0x878028;};return a56_0x247b();}import{createHash}from'crypto';function a56_0x11de(_0x27cbb5,_0xcfd7f7){_0x27cbb5=_0x27cbb5-0x1a5;const _0x247bcc=a56_0x247b();let _0x11de13=_0x247bcc[_0x27cbb5];return _0x11de13;}import{extractModelAlias,resolveModelAlias}from'../sdk/llm/model-aliases.js';export function calculateContextSignature(_0x25b697,_0x498107,_0x55414c,_0x144319){const _0x299be1=a56_0x11de,_0x99435b=extractModelAlias(_0x25b697),_0x406f4f=resolveModelAlias(_0x99435b),_0x597883=[..._0x498107||[]][_0x299be1(0x1aa)](),_0x5b48f1=(_0x55414c||[])['filter'](_0xc9fcd9=>_0xc9fcd9!=null)[_0x299be1(0x1ae)](_0x34bc21=>({'name':_0x34bc21['name'],'params':Object[_0x299be1(0x1ab)](_0x34bc21[_0x299be1(0x1b3)]?.[_0x299be1(0x1b5)]||{})[_0x299be1(0x1aa)](),'required':(_0x34bc21['input_schema']?.[_0x299be1(0x1b8)]||[])[_0x299be1(0x1aa)]()}))['sort']((_0x388db6,_0x257d7f)=>_0x388db6[_0x299be1(0x1b6)][_0x299be1(0x1a6)](_0x257d7f[_0x299be1(0x1b6)])),_0x1ca7e4=JSON[_0x299be1(0x1ad)]({'model':_0x406f4f,'prompts':_0x597883,'tools':_0x5b48f1,'reasoning':_0x144319});return createHash('sha256')[_0x299be1(0x1b2)](_0x1ca7e4)[_0x299be1(0x1a9)](_0x299be1(0x1ac))[_0x299be1(0x1b7)](0x0,0x10);}
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 +1 @@
1
- (function(_0x62fc38,_0x4dea17){const _0x1ecce1=a57_0x210f,_0x367aee=_0x62fc38();while(!![]){try{const _0x2ab3be=-parseInt(_0x1ecce1(0x130))/0x1*(parseInt(_0x1ecce1(0x118))/0x2)+parseInt(_0x1ecce1(0x132))/0x3+-parseInt(_0x1ecce1(0x11d))/0x4*(-parseInt(_0x1ecce1(0x12d))/0x5)+parseInt(_0x1ecce1(0x112))/0x6+-parseInt(_0x1ecce1(0x122))/0x7*(-parseInt(_0x1ecce1(0x110))/0x8)+parseInt(_0x1ecce1(0x11b))/0x9*(parseInt(_0x1ecce1(0x10f))/0xa)+-parseInt(_0x1ecce1(0x11a))/0xb;if(_0x2ab3be===_0x4dea17)break;else _0x367aee['push'](_0x367aee['shift']());}catch(_0x14e9aa){_0x367aee['push'](_0x367aee['shift']());}}}(a57_0x5cdf,0x30681));function a57_0x5cdf(){const _0xab500d=['content','input','\x22\x20id=\x22','\x22>\x0a','605sNfLLC','text','[tool_result\x20tool_use_id=\x22','976NdghYZ','isArray','1021206ajYysu','tool_use_id','\x20error=\x22true\x22','assistant','user','200ywScaT','5080vsSawh','type','291438AwsBsn','is_error','<tool_use\x20name=\x22','push','pop','[user]','80yUTtrl','string','7977915XqiUof','98748zFvcaR','stringify','6292rIroEP','filter','join','length','tool_use','1806lVWVXu','\x0a</tool_use>','No\x20user\x20message\x20found\x20in\x20request','slice','name','map','role'];a57_0x5cdf=function(){return _0xab500d;};return a57_0x5cdf();}export function formatConversationHistory(_0x360eb6){const _0x28e400=a57_0x210f;if(!_0x360eb6||!Array['isArray'](_0x360eb6))return'';const _0x1f4e12=_0x360eb6[_0x28e400(0x11e)](_0x2de07a=>_0x2de07a!=null)[_0x28e400(0x127)](_0x1fc52a=>{const _0x234958=_0x28e400,_0x1d4586=[],_0x3ad124=[];if(_0x1fc52a[_0x234958(0x129)]!=null&&Array['isArray'](_0x1fc52a[_0x234958(0x129)]))for(const _0x26cb8b of _0x1fc52a['content']){if(!_0x26cb8b)continue;if(_0x26cb8b[_0x234958(0x111)]===_0x234958(0x12e)&&_0x26cb8b[_0x234958(0x12e)])_0x1d4586[_0x234958(0x115)](_0x26cb8b[_0x234958(0x12e)]);else{if(_0x26cb8b[_0x234958(0x111)]===_0x234958(0x121)&&_0x26cb8b[_0x234958(0x126)]){const _0x16eaf3=_0x26cb8b['input']?JSON[_0x234958(0x11c)](_0x26cb8b[_0x234958(0x12a)]):'{}';_0x3ad124[_0x234958(0x115)](_0x234958(0x114)+_0x26cb8b[_0x234958(0x126)]+_0x234958(0x12b)+(_0x26cb8b['id']||'unknown')+_0x234958(0x12c)+_0x16eaf3+_0x234958(0x123));}else{if(_0x26cb8b[_0x234958(0x111)]==='tool_result'&&_0x26cb8b[_0x234958(0x10b)]){let _0x4ab587='';if(typeof _0x26cb8b[_0x234958(0x129)]==='string')_0x4ab587=_0x26cb8b[_0x234958(0x129)];else _0x26cb8b['content']!=null&&Array[_0x234958(0x131)](_0x26cb8b['content'])&&(_0x4ab587=_0x26cb8b['content'][_0x234958(0x11e)](_0x30449e=>_0x30449e&&_0x30449e[_0x234958(0x111)]===_0x234958(0x12e)&&_0x30449e[_0x234958(0x12e)])['map'](_0x2e91b4=>_0x2e91b4['text'])[_0x234958(0x11f)]('\x0a'));const _0x2dff6d=_0x26cb8b[_0x234958(0x113)]?_0x234958(0x10c):'';_0x3ad124['push'](_0x234958(0x12f)+_0x26cb8b[_0x234958(0x10b)]+'\x22'+_0x2dff6d+']\x0a'+_0x4ab587);}}}}else typeof _0x1fc52a[_0x234958(0x129)]===_0x234958(0x119)&&_0x1fc52a[_0x234958(0x129)]&&_0x1d4586[_0x234958(0x115)](_0x1fc52a['content']);if(_0x1d4586[_0x234958(0x120)]===0x0&&_0x3ad124[_0x234958(0x120)]===0x0)return null;const _0x12c0e6=_0x1fc52a[_0x234958(0x128)]===_0x234958(0x10e)?_0x234958(0x117):'[assistant]',_0x3eb2a8=[];return(_0x1d4586[_0x234958(0x120)]>0x0||_0x1fc52a[_0x234958(0x128)]===_0x234958(0x10d)&&_0x3ad124[_0x234958(0x120)]>0x0)&&_0x3eb2a8['push'](_0x12c0e6+'\x0a'+_0x1d4586[_0x234958(0x11f)]('\x0a\x0a')),_0x3eb2a8['push'](..._0x3ad124),_0x3eb2a8[_0x234958(0x11f)]('\x0a\x0a');})[_0x28e400(0x11e)](_0x21110d=>_0x21110d!=null&&_0x21110d[_0x28e400(0x120)]>0x0)[_0x28e400(0x11f)]('\x0a\x0a');return _0x1f4e12?_0x1f4e12+'\x0a\x0a[chat\x20history\x20end]':'';}export function calculateConversationDelta(_0x556aab,_0x4a797a){const _0x319b4a=a57_0x210f;if(_0x4a797a[_0x319b4a(0x120)]===0x0)return _0x556aab;const _0x1aee65=_0x4a797a[_0x319b4a(0x120)];return _0x556aab[_0x319b4a(0x125)](_0x1aee65);}function a57_0x210f(_0xdad3e0,_0x19732a){_0xdad3e0=_0xdad3e0-0x10b;const _0x5cdf9a=a57_0x5cdf();let _0x210f4b=_0x5cdf9a[_0xdad3e0];return _0x210f4b;}export function extractLastUserMessage(_0x29d68c,_0x4e1bea){const _0x3a4e6c=a57_0x210f;let _0x16176b=_0x29d68c[_0x3a4e6c(0x11e)](_0x45777d=>_0x45777d[_0x3a4e6c(0x128)]===_0x3a4e6c(0x10e))['pop']();if(!_0x16176b){_0x16176b=_0x4e1bea[_0x3a4e6c(0x11e)](_0x95162=>_0x95162[_0x3a4e6c(0x128)]===_0x3a4e6c(0x10e))[_0x3a4e6c(0x116)]();if(!_0x16176b)return{'message':null,'text':null,'error':_0x3a4e6c(0x124)};}if(typeof _0x16176b[_0x3a4e6c(0x129)]===_0x3a4e6c(0x119))return{'message':_0x16176b,'text':_0x16176b[_0x3a4e6c(0x129)],'error':null};if(_0x16176b['content']!=null&&Array[_0x3a4e6c(0x131)](_0x16176b['content'])){const _0x40da93=_0x16176b[_0x3a4e6c(0x129)][_0x3a4e6c(0x11e)](_0x46876a=>_0x46876a&&_0x46876a[_0x3a4e6c(0x111)]===_0x3a4e6c(0x12e)&&_0x46876a[_0x3a4e6c(0x12e)])['map'](_0x3fdbf7=>_0x3fdbf7['text'])[_0x3a4e6c(0x11f)]('\x0a');return{'message':_0x16176b,'text':_0x40da93,'error':null};}return{'message':_0x16176b,'text':null,'error':'message.content\x20must\x20be\x20a\x20string\x20or\x20array,\x20got:\x20'+typeof _0x16176b['content']+'\x20'+_0x16176b['content']};}
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 +1 @@
1
- function a58_0x377e(_0x11d055,_0x8d8eb1){_0x11d055=_0x11d055-0xf0;const _0x121e0a=a58_0x121e();let _0x377ef6=_0x121e0a[_0x11d055];return _0x377ef6;}const a58_0x1dfef1=a58_0x377e;(function(_0x4510b1,_0x59e0fb){const _0x48ce90=a58_0x377e,_0x4d3273=_0x4510b1();while(!![]){try{const _0x243788=parseInt(_0x48ce90(0x164))/0x1+parseInt(_0x48ce90(0xf0))/0x2*(parseInt(_0x48ce90(0x159))/0x3)+parseInt(_0x48ce90(0x13e))/0x4*(-parseInt(_0x48ce90(0x16a))/0x5)+parseInt(_0x48ce90(0x160))/0x6+-parseInt(_0x48ce90(0x109))/0x7*(-parseInt(_0x48ce90(0x162))/0x8)+-parseInt(_0x48ce90(0x12b))/0x9+-parseInt(_0x48ce90(0x16b))/0xa;if(_0x243788===_0x59e0fb)break;else _0x4d3273['push'](_0x4d3273['shift']());}catch(_0x4fd8a0){_0x4d3273['push'](_0x4d3273['shift']());}}}(a58_0x121e,0x621a4));import a58_0x5c7b40 from'fastify';import a58_0x5d3572 from'@fastify/cors';import{SSEUsageTracker}from'./sse-usage-parser.js';function a58_0x121e(){const _0x1e2804=['join','logger','keep-alive','text/event-stream','140724FHopiB','content-length','toISOString','parse','outputTokens','host','read','getReader','unknown','timeout_error','string','x-api-key','headers','system','cacheCreationInputTokens','model','Forwarding\x20to:\x20','writeHead','metadata','8YOPGvE','body','end','cacheReadInputTokens','setupJsonParser','stream_error','127.0.0.1','handleStreamingResponse','error','usage','GET',',\x20cache_read=','SKIP_HEADERS','[PASSTHROUGH]\x20Usage:\x20input=','setupMiddleware','isArray','profile','get','Failed\x20to\x20connect\x20to\x20TD\x20LLM\x20Proxy:\x20','TD\x20LLM\x20Pass-through\x20Proxy\x20Server',',\x20stream=','timeout','Content-Type','TimeoutError','text','default','post','3aficnN','apiKey','stream','handleMessages','stringify','message','raw','1981188WKBNCt','register','410344FxvwYA','X-TD-Client','751736qfRmxW','listen','llmProxyUrl','[PASSTHROUGH]\x20','application/json','inputTokens','430450YZgCeZ','17506470ZyIlYO','statusText','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|','Request\x20to\x20TD\x20LLM\x20Proxy\x20timed\x20out\x20after\x20','1593440XFvnlU','write','Authorization','/v1/messages','logUsage','close','name','output_tokens','[PASSTHROUGH]\x20Failed\x20to\x20forward\x20count_tokens\x20request:','debug','info','Error\x20body:\x20','OPTIONS','server',',\x20model=','port','X-TD-Client-Version','haiku','config','anthropic-version','send','transfer-encoding','stop','User-Agent','match','63KBotoO','startsWith','Pass-through\x20proxy\x20server\x20started\x20on\x20port\x20','entries','code','Unknown\x20error','no-cache','input_tokens','buildForwardHeaders','header','timeoutMs','event:\x20error\x0adata:\x20','[PASSTHROUGH]\x20Stream\x20error:','status','[PASSTHROUGH\x20PROXY\x20ERROR]:',':\x20messages=','setupRoutes','handleCountTokens','user_id','/v1/messages/count_tokens','api_error','setErrorHandler','decode','POST','messages','x-td-','cache_read_input_tokens','getUsage','Pass-through\x20proxy\x20server\x20stopped','connection'];a58_0x121e=function(){return _0x1e2804;};return a58_0x121e();}import{appendUsageEntry}from'./claude-usage-tracker.js';import{getVersion}from'../core/version.js';const DEFAULT_TIMEOUT_MS=0x5*0x3c*0x3e8,TDX_SYSTEM_PROMPT=a58_0x1dfef1(0x16d);function extractSessionUUID(_0x51a86b){const _0xe83910=a58_0x1dfef1,_0x57ecfc=_0x51a86b[_0xe83910(0x108)](/_session_([a-f0-9-]+)$/i);if(_0x57ecfc)return _0x57ecfc[0x1];return _0x51a86b;}export function injectSystemPrompt(_0xbfa244,_0x3dfe67){const _0x1c4692=a58_0x1dfef1,_0xa44124=_0xbfa244[_0x1c4692(0x138)];if(!_0xa44124)return{..._0xbfa244,'system':_0x3dfe67};if(typeof _0xa44124===_0x1c4692(0x135))return{..._0xbfa244,'system':_0x3dfe67+'\x0a\x0a'+_0xa44124};if(Array[_0x1c4692(0x14d)](_0xa44124)){const _0x440b75={'type':_0x1c4692(0x156),'text':_0x3dfe67};return{..._0xbfa244,'system':[_0x440b75,..._0xa44124]};}return _0xbfa244;}export function shouldInjectSystemPrompt(_0x4c03ad){const _0x288cd0=a58_0x1dfef1;return!_0x4c03ad['toLowerCase']()['includes'](_0x288cd0(0x101));}export class PassThroughProxyServer{['server'];[a58_0x1dfef1(0x102)];[a58_0x1dfef1(0x128)];constructor(_0x4755b6){const _0x3a2778=a58_0x1dfef1;this[_0x3a2778(0x102)]=_0x4755b6,this[_0x3a2778(0x128)]=_0x4755b6['logger'],this[_0x3a2778(0xfd)]=a58_0x5c7b40({'logger':![],'bodyLimit':0x40*0x400*0x400}),this[_0x3a2778(0x142)](),this[_0x3a2778(0x14c)](),this[_0x3a2778(0x119)]();}[a58_0x1dfef1(0x142)](){const _0x35c814=a58_0x1dfef1;this[_0x35c814(0xfd)]['addContentTypeParser']('application/json',{'parseAs':_0x35c814(0x135)},(_0x4b9e80,_0x5df74a,_0x1acfc1)=>{const _0x4e9126=_0x35c814;try{const _0x105f19=JSON[_0x4e9126(0x12e)](_0x5df74a);_0x1acfc1(null,_0x105f19);}catch(_0x7af03){_0x1acfc1(_0x7af03,undefined);}});}['setupMiddleware'](){const _0x1fd44a=a58_0x1dfef1;this[_0x1fd44a(0xfd)][_0x1fd44a(0x161)](a58_0x5d3572,{'origin':!![],'methods':[_0x1fd44a(0x148),_0x1fd44a(0x120),_0x1fd44a(0xfc)],'allowedHeaders':['Content-Type','Authorization',_0x1fd44a(0x103),_0x1fd44a(0x136)]}),this[_0x1fd44a(0xfd)][_0x1fd44a(0x11e)]((_0x56c78f,_0x407ac7,_0xe204d5)=>{const _0x4a771c=_0x1fd44a,_0x5bf6a5=_0x56c78f instanceof Error?_0x56c78f[_0x4a771c(0x15e)]:_0x4a771c(0x10e);this[_0x4a771c(0x128)]['error'](_0x4a771c(0x117),_0x56c78f),_0xe204d5[_0x4a771c(0x10d)](0x1f4)['send']({'type':_0x4a771c(0x146),'error':{'type':_0x4a771c(0x11d),'message':_0x5bf6a5}});});}[a58_0x1dfef1(0x119)](){const _0x52d703=a58_0x1dfef1;this[_0x52d703(0xfd)][_0x52d703(0x14f)]('/health',async()=>{const _0x51a99f=_0x52d703;return{'status':'ok','message':_0x51a99f(0x151)};}),this['server'][_0x52d703(0x158)]('/v1/messages',async(_0x23f11b,_0x47a95b)=>{const _0x4ac821=_0x52d703;return this[_0x4ac821(0x15c)](_0x23f11b,_0x47a95b);}),this['server']['post'](_0x52d703(0x11c),async(_0x46cf9e,_0x4fa890)=>{return this['handleCountTokens'](_0x46cf9e,_0x4fa890);});}static [a58_0x1dfef1(0x14a)]=new Set([a58_0x1dfef1(0x130),a58_0x1dfef1(0x126),a58_0x1dfef1(0x12c),a58_0x1dfef1(0x105),'authorization','x-api-key','user-agent']);['buildForwardHeaders'](_0x2d0708){const _0xb3dcc8=a58_0x1dfef1,_0x37e648={};for(const [_0x3fdaa0,_0x298b47]of Object[_0xb3dcc8(0x10c)](_0x2d0708[_0xb3dcc8(0x137)])){const _0x18acb9=_0x3fdaa0['toLowerCase']();if(PassThroughProxyServer[_0xb3dcc8(0x14a)]['has'](_0x18acb9))continue;if(_0x18acb9[_0xb3dcc8(0x10a)](_0xb3dcc8(0x122)))continue;if(typeof _0x298b47===_0xb3dcc8(0x135))_0x37e648[_0x3fdaa0]=_0x298b47;else Array[_0xb3dcc8(0x14d)](_0x298b47)&&(_0x37e648[_0x3fdaa0]=_0x298b47[_0xb3dcc8(0x127)](',\x20'));}const _0x5d45a7=getVersion();return _0x37e648[_0xb3dcc8(0xf2)]='TD1\x20'+this['config'][_0xb3dcc8(0x15a)],_0x37e648[_0xb3dcc8(0x107)]='tdx/'+_0x5d45a7,_0x37e648[_0xb3dcc8(0x163)]='tdx',_0x37e648[_0xb3dcc8(0x100)]=_0x5d45a7,_0x37e648;}async[a58_0x1dfef1(0x15c)](_0x12d933,_0x38afa5){const _0x28c2b7=a58_0x1dfef1,_0x29f125=_0x12d933[_0x28c2b7(0x13f)],_0x236b16=_0x29f125[_0x28c2b7(0x15b)]!==![],_0x25a29e=_0x29f125[_0x28c2b7(0x13d)],_0x5d6006=_0x25a29e?.[_0x28c2b7(0x11b)]||_0x28c2b7(0x157),_0x482600=extractSessionUUID(_0x5d6006),_0x5092db=_0x29f125[_0x28c2b7(0x13a)]||_0x28c2b7(0x133),_0x22b0e5=shouldInjectSystemPrompt(_0x5092db)?injectSystemPrompt(_0x29f125,TDX_SYSTEM_PROMPT):_0x29f125,_0x143089=JSON[_0x28c2b7(0x15d)](_0x22b0e5),_0x1aea6a=Array[_0x28c2b7(0x14d)](_0x29f125['messages'])?_0x29f125[_0x28c2b7(0x121)]['length']:0x0;this[_0x28c2b7(0x128)][_0x28c2b7(0xfa)](_0x28c2b7(0x167)+_0x12d933['method']+'\x20'+_0x12d933['url']+_0x28c2b7(0x118)+_0x1aea6a+_0x28c2b7(0xfe)+_0x5092db+_0x28c2b7(0x152)+_0x236b16);const _0x352cd0=this['config'][_0x28c2b7(0x166)]+_0x28c2b7(0xf3),_0x515b82=this[_0x28c2b7(0x111)](_0x12d933);this[_0x28c2b7(0x128)][_0x28c2b7(0xf9)](_0x28c2b7(0x13b)+_0x352cd0);const _0xfc01c2=this[_0x28c2b7(0x102)][_0x28c2b7(0x113)]||DEFAULT_TIMEOUT_MS;try{const _0x4c9d5b=await fetch(_0x352cd0,{'method':'POST','headers':_0x515b82,'body':_0x143089,'signal':AbortSignal[_0x28c2b7(0x153)](_0xfc01c2)});if(!_0x4c9d5b['ok']){const _0x58f3f0=await _0x4c9d5b['text']();return this['logger'][_0x28c2b7(0x146)]('[PASSTHROUGH]\x20Upstream\x20error:\x20'+_0x4c9d5b[_0x28c2b7(0x116)]+'\x20'+_0x4c9d5b[_0x28c2b7(0x16c)]),this[_0x28c2b7(0x128)]['debug'](_0x28c2b7(0xfb)+_0x58f3f0),_0x38afa5[_0x28c2b7(0x10d)](_0x4c9d5b[_0x28c2b7(0x116)]),_0x38afa5[_0x28c2b7(0x112)](_0x28c2b7(0x154),_0x4c9d5b[_0x28c2b7(0x137)][_0x28c2b7(0x14f)](_0x28c2b7(0x154))||'application/json'),_0x38afa5[_0x28c2b7(0x104)](_0x58f3f0);}if(_0x236b16&&_0x4c9d5b[_0x28c2b7(0x13f)])await this[_0x28c2b7(0x145)](_0x4c9d5b[_0x28c2b7(0x13f)],_0x38afa5,_0x482600,_0x5092db);else{const _0x730e23=await _0x4c9d5b[_0x28c2b7(0x156)]();_0x38afa5['header'](_0x28c2b7(0x154),_0x4c9d5b[_0x28c2b7(0x137)][_0x28c2b7(0x14f)]('Content-Type')||_0x28c2b7(0x168));try{const _0x2865f8=JSON[_0x28c2b7(0x12e)](_0x730e23);_0x2865f8[_0x28c2b7(0x147)]&&await this['logUsage'](_0x482600,_0x5092db,_0x2865f8[_0x28c2b7(0x147)][_0x28c2b7(0x110)]||0x0,_0x2865f8[_0x28c2b7(0x147)][_0x28c2b7(0xf7)]||0x0,_0x2865f8[_0x28c2b7(0x147)]['cache_creation_input_tokens'],_0x2865f8[_0x28c2b7(0x147)][_0x28c2b7(0x123)]);}catch{}return _0x38afa5['send'](_0x730e23);}}catch(_0x5f01f5){const _0x24b150=_0x5f01f5 instanceof Error?_0x5f01f5[_0x28c2b7(0x15e)]:_0x28c2b7(0x10e),_0x15d3ce=_0x5f01f5 instanceof Error&&_0x5f01f5[_0x28c2b7(0xf6)]===_0x28c2b7(0x155);this[_0x28c2b7(0x128)][_0x28c2b7(0x146)]('[PASSTHROUGH]\x20Failed\x20to\x20forward\x20request:',_0x5f01f5),_0x38afa5[_0x28c2b7(0x10d)](_0x15d3ce?0x1f8:0x1f7)[_0x28c2b7(0x104)]({'type':_0x28c2b7(0x146),'error':{'type':_0x15d3ce?_0x28c2b7(0x134):_0x28c2b7(0x11d),'message':_0x15d3ce?'Request\x20to\x20TD\x20LLM\x20Proxy\x20timed\x20out\x20after\x20'+_0xfc01c2+'ms':_0x28c2b7(0x150)+_0x24b150}});}}async[a58_0x1dfef1(0x145)](_0x4509ad,_0x1bc8bb,_0x59a211,_0x222c82){const _0xf6ad9a=a58_0x1dfef1;_0x1bc8bb[_0xf6ad9a(0x15f)][_0xf6ad9a(0x13c)](0xc8,{'Content-Type':_0xf6ad9a(0x12a),'Cache-Control':_0xf6ad9a(0x10f),'Connection':_0xf6ad9a(0x129)});const _0x4783fc=new SSEUsageTracker(),_0x3ea1dd=_0x4509ad[_0xf6ad9a(0x132)](),_0x44eb52=new TextDecoder();try{while(!![]){const {done:_0x53b7f2,value:_0x543587}=await _0x3ea1dd[_0xf6ad9a(0x131)]();if(_0x53b7f2)break;const _0x5cfcc3=_0x44eb52[_0xf6ad9a(0x11f)](_0x543587,{'stream':!![]});_0x4783fc['processChunk'](_0x5cfcc3),_0x1bc8bb[_0xf6ad9a(0x15f)][_0xf6ad9a(0xf1)](_0x5cfcc3);}const _0x5d43b4=_0x4783fc[_0xf6ad9a(0x124)]();(_0x5d43b4[_0xf6ad9a(0x169)]>0x0||_0x5d43b4[_0xf6ad9a(0x12f)]>0x0)&&await this[_0xf6ad9a(0xf4)](_0x59a211,_0x222c82,_0x5d43b4[_0xf6ad9a(0x169)],_0x5d43b4['outputTokens'],_0x5d43b4[_0xf6ad9a(0x139)],_0x5d43b4[_0xf6ad9a(0x141)]);}catch(_0x5e7411){this[_0xf6ad9a(0x128)]['error'](_0xf6ad9a(0x115),_0x5e7411);const _0x90e78b=_0xf6ad9a(0x114)+JSON[_0xf6ad9a(0x15d)]({'type':_0xf6ad9a(0x146),'error':{'type':_0xf6ad9a(0x143),'message':'Stream\x20interrupted'}})+'\x0a\x0a';_0x1bc8bb[_0xf6ad9a(0x15f)][_0xf6ad9a(0xf1)](_0x90e78b);}finally{_0x1bc8bb['raw'][_0xf6ad9a(0x140)]();}}async[a58_0x1dfef1(0x11a)](_0x4eee9d,_0x5f442b){const _0x1e76e2=a58_0x1dfef1,_0x3e3227=_0x4eee9d[_0x1e76e2(0x13f)],_0x5c1aaf=this[_0x1e76e2(0x102)]['llmProxyUrl']+_0x1e76e2(0x11c),_0x42ee86=this['buildForwardHeaders'](_0x4eee9d),_0x440ccc=_0x3e3227['model']||'unknown',_0xd5e3ef=shouldInjectSystemPrompt(_0x440ccc)?injectSystemPrompt(_0x3e3227,TDX_SYSTEM_PROMPT):_0x3e3227,_0x3b6d02=JSON[_0x1e76e2(0x15d)](_0xd5e3ef);this['logger'][_0x1e76e2(0xf9)]('[PASSTHROUGH]\x20Forwarding\x20count_tokens\x20to:\x20'+_0x5c1aaf);const _0x432b63=this[_0x1e76e2(0x102)][_0x1e76e2(0x113)]||DEFAULT_TIMEOUT_MS;try{const _0x281153=await fetch(_0x5c1aaf,{'method':_0x1e76e2(0x120),'headers':_0x42ee86,'body':_0x3b6d02,'signal':AbortSignal['timeout'](_0x432b63)}),_0x45b6dc=await _0x281153[_0x1e76e2(0x156)]();return _0x5f442b['code'](_0x281153[_0x1e76e2(0x116)]),_0x5f442b[_0x1e76e2(0x112)](_0x1e76e2(0x154),_0x281153[_0x1e76e2(0x137)][_0x1e76e2(0x14f)](_0x1e76e2(0x154))||_0x1e76e2(0x168)),_0x5f442b[_0x1e76e2(0x104)](_0x45b6dc);}catch(_0x4b542b){const _0x16a087=_0x4b542b instanceof Error?_0x4b542b[_0x1e76e2(0x15e)]:_0x1e76e2(0x10e),_0x64440=_0x4b542b instanceof Error&&_0x4b542b[_0x1e76e2(0xf6)]===_0x1e76e2(0x155);this[_0x1e76e2(0x128)][_0x1e76e2(0x146)](_0x1e76e2(0xf8),_0x4b542b),_0x5f442b['code'](_0x64440?0x1f8:0x1f7)[_0x1e76e2(0x104)]({'type':_0x1e76e2(0x146),'error':{'type':_0x64440?_0x1e76e2(0x134):_0x1e76e2(0x11d),'message':_0x64440?_0x1e76e2(0x16e)+_0x432b63+'ms':'Failed\x20to\x20connect\x20to\x20TD\x20LLM\x20Proxy:\x20'+_0x16a087}});}}async['logUsage'](_0x428724,_0x58ddfc,_0x5118f5,_0x5214c7,_0x410189,_0xe66d18){const _0x2685f2=a58_0x1dfef1,_0x5797cd={'timestamp':new Date()[_0x2685f2(0x12d)](),'model':_0x58ddfc,'inputTokens':_0x5118f5,'outputTokens':_0x5214c7,'cacheCreationInputTokens':_0x410189,'cacheReadInputTokens':_0xe66d18,'profile':this[_0x2685f2(0x102)][_0x2685f2(0x14e)]},_0xdc00ab=_0x410189||_0xe66d18?',\x20cache_create='+(_0x410189||0x0)+_0x2685f2(0x149)+(_0xe66d18||0x0):'';this[_0x2685f2(0x128)][_0x2685f2(0xf9)](_0x2685f2(0x14b)+_0x5118f5+',\x20output='+_0x5214c7+_0xdc00ab+',\x20model='+_0x58ddfc);try{await appendUsageEntry(_0x428724,_0x5797cd);}catch(_0x176853){this['logger'][_0x2685f2(0x146)]('[PASSTHROUGH]\x20Failed\x20to\x20log\x20usage:',_0x176853);}}async['start'](){const _0xde2bbc=a58_0x1dfef1;await this[_0xde2bbc(0xfd)][_0xde2bbc(0x165)]({'port':this['config'][_0xde2bbc(0xff)],'host':_0xde2bbc(0x144)}),this[_0xde2bbc(0x128)][_0xde2bbc(0xfa)](_0xde2bbc(0x10b)+this['config'][_0xde2bbc(0xff)]),this['logger'][_0xde2bbc(0xfa)](_0xde2bbc(0x13b)+this['config'][_0xde2bbc(0x166)]);}async[a58_0x1dfef1(0x106)](){const _0x3052e8=a58_0x1dfef1;await this[_0x3052e8(0xfd)][_0x3052e8(0xf5)](),this[_0x3052e8(0x128)]['info'](_0x3052e8(0x125));}['getAddress'](){const _0x4dc6b5=a58_0x1dfef1;return'http://127.0.0.1:'+this[_0x4dc6b5(0x102)][_0x4dc6b5(0xff)];}}
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 +1 @@
1
- const a59_0x221b41=a59_0x863a;(function(_0x18aa56,_0x266316){const _0x4c6db5=a59_0x863a,_0xb87d7b=_0x18aa56();while(!![]){try{const _0x3210b8=-parseInt(_0x4c6db5(0x12d))/0x1*(parseInt(_0x4c6db5(0xbb))/0x2)+-parseInt(_0x4c6db5(0x9f))/0x3+parseInt(_0x4c6db5(0x133))/0x4+parseInt(_0x4c6db5(0xd5))/0x5+-parseInt(_0x4c6db5(0xaf))/0x6*(parseInt(_0x4c6db5(0xe0))/0x7)+-parseInt(_0x4c6db5(0x126))/0x8*(parseInt(_0x4c6db5(0xa1))/0x9)+parseInt(_0x4c6db5(0xed))/0xa;if(_0x3210b8===_0x266316)break;else _0xb87d7b['push'](_0xb87d7b['shift']());}catch(_0x533cb2){_0xb87d7b['push'](_0xb87d7b['shift']());}}}(a59_0x2b60,0x5b8b8));import a59_0x3985d1 from'fastify';import a59_0xadd50c from'@fastify/cors';import{ErrorCode,SDKError}from'../sdk/index.js';import{transformTDStreamToAnthropic,formatAnthropicSSE,generateMessageId,generateToolPrompt,extractToolResults,estimateInputTokensFromRequest}from'./anthropic-adapter.js';function a59_0x863a(_0x5ace62,_0x1eff87){_0x5ace62=_0x5ace62-0x82;const _0x2b60f1=a59_0x2b60();let _0x863a9c=_0x2b60f1[_0x5ace62];return _0x863a9c;}import{colorizeJSON,colorizeJSONCompact}from'../utils/colors.js';import{extractModelAlias,resolveModelAlias}from'../sdk/llm/model-aliases.js';import{SessionCache}from'./session-cache.js';function a59_0x2b60(){const _0x399b51=['messageHistory','embeddedSystemPrompts','raw','\x20system\x20prompts,\x20','0.0.0.0','new\x20system\x20prompt(s)','output_tokens','text/event-stream','[session:\x20','1778835QVCgco','helpText','3798kODzSw','Waiting\x20for\x20concurrent\x20chat\x20creation\x20for\x20context:\x20','size','usage','Failed\x20to\x20log\x20usage\x20entry\x20on\x20error:\x20','model','Failed\x20to\x20initialize\x20chat\x20stream.\x20Please\x20try\x20again.','\x20chars.\x20Cleared\x20chat\x20state\x20for\x20session\x20','Evicted\x20oldest\x20chat\x20(signature:\x20','now','llm','Final\x20message\x20is\x20empty\x20after\x20construction\x20-\x20starting\x20fresh\x20conversation','chats',',\x20context\x20signature:\x20','139062NfrLqM','trim','clear','\x20limit','url','context',')\x20to\x20stay\x20under\x20','code','user_id','cleanupExpiredChats',']\x20model:\x20','data','8CZeuZO','get','/health',',\x20tools=','handleCountTokens','toISOString','length','post','type','filter','lastUsedAt','Reset\x20chat\x20state\x20to\x20recover\x20on\x20next\x20request','validateMessageRequest','message','profile','getOrCreateSession',',\x20tools:\x20','Failed\x20to\x20start\x20proxy\x20server:\x20','Proxy\x20server\x20started\x20at\x20localhost:','Failed\x20to\x20log\x20usage\x20entry:\x20','getAgentForModel','set','dev-us01','headers','writeHead','embeddedToolsByName','1757370RSIFGD','Validation\x20failed:\x20tools\x20must\x20be\x20an\x20array\x20if\x20provided','error','add','sessionCache','site','\x0a</conversation_history>',':\x20messages=','address','write','name','182hiwWQw',',\x20system_prompts=','replace','getOrCreateDefaultAgent','message_delta','debug','Stream\x20complete.\x20Sent\x20','Reset\x20chat\x20ID\x20to\x20recover\x20on\x20next\x20request','\x20->\x20','tools','\x20messages,\x20','http://localhost:','Embedding','20255020dEHUJk',',\x20is\x20new\x20context:\x20','method','config','start','POST','New\x20-\x20system\x20prompts:\x20','text','end','string',']\x20Continue\x20chat\x20for\x20model\x20','unknown','no-cache','system','api_error','/v1/messages/count_tokens','...','GET','[PROXY\x20ERROR]\x20Non-streaming\x20responses\x20are\x20not\x20yet\x20supported','agentId','trace','cleanupInterval','chatId','chat','handleRouteError','map','logger','\x20Input\x20size:\x20','info','TD\x20LLM\x20Proxy\x20Server','setupMiddleware','join','[CONTEXT\x20LENGTH\x20ERROR]\x20','body','projectId',',\x20context:\x20','\x0a---\x0a\x0a','catch','Context:','Including\x20tool\x20results','isArray','Started\x20cache\x20cleanup\x20interval\x20(runs\x20every\x20','agentCache','warn','stringify','keep-alive','handleMessages','header:\x20','send','server','http://',']\x20Building\x20a\x20new\x20context\x20for\x20model\x20','INVALID_REQUEST','...\x22',',\x20model=','Final\x20message\x20reconstructed\x20after\x20context\x20reset:','Agent\x20cached:\x20','12648JKbqyY','messages','substring','getAddress','x-api-key','Creating/looking\x20up\x20agent\x20for:\x20',':\x20estimated\x20input_tokens=','77104xHAQob','s,\x20expires\x20after\x20','Unknown\x20error',',\x20tool_names=[',',\x20context=','listen','676548zWmBMR','Debug\x20info:','stop','setupRoutes','Failed\x20to\x20generate\x20tool\x20prompt:','tdx','port','[PROXY\x20ERROR]\x20Streaming\x20error:','creating','match','[PROXY\x20ERROR]\x20Chat\x20stream\x20is\x20undefined','new\x20tool(s)','Non-streaming\x20responses\x20are\x20not\x20yet\x20supported','Content-Type','createPromise','Authorization','metadata','\x20tools,\x20message_size=','push','request_too_large','Failed\x20to\x20create\x20chat,\x20will\x20fall\x20back\x20to\x20lazy\x20creation:'];a59_0x2b60=function(){return _0x399b51;};return a59_0x2b60();}import{appendUsageEntry}from'./claude-usage-tracker.js';import{calculateContextSignature}from'./context-signature.js';import{formatConversationHistory,calculateConversationDelta,extractLastUserMessage}from'./conversation-utils.js';function extractSessionUUID(_0x3b787f){const _0xe06aad=a59_0x863a,_0x3d337d=_0x3b787f[_0xe06aad(0x8a)](/_session_([a-f0-9-]+)$/i);if(_0x3d337d)return _0x3d337d[0x1];return _0x3b787f;}function clearChatState(_0x1109ab){const _0x3e626b=a59_0x863a;_0x1109ab[_0x3e626b(0x103)]='',_0x1109ab[_0x3e626b(0x97)][_0x3e626b(0xb1)](),_0x1109ab['embeddedToolsByName'][_0x3e626b(0xb1)]();}function mapBudgetTokensToReasoningEffort(_0x572091,_0x405570){const _0x41b53c=a59_0x863a;if(_0x405570!==_0x41b53c(0xd1))return 0x0;if(!_0x572091||_0x572091===0x0)return 0x0;if(_0x572091<=0x400)return 0x1;if(_0x572091<=0x800)return 0x2;if(_0x572091<=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_0x221b41(0x11e)];['sessionCache'];[a59_0x221b41(0x117)];[a59_0x221b41(0xf0)];[a59_0x221b41(0x102)];[a59_0x221b41(0x107)];constructor(_0x279158){const _0x403aa1=a59_0x221b41;this[_0x403aa1(0x107)]=_0x279158['logger'],this['config']=_0x279158,this[_0x403aa1(0xd9)]=new SessionCache({'maxChatsPerSession':MAX_CHATS_PER_SESSION,'cacheExpirationMs':CACHE_EXPIRATION_MS}),this[_0x403aa1(0x117)]=new Map(),this[_0x403aa1(0x11e)]=a59_0x3985d1({'logger':![],'bodyLimit':0x40*0x400*0x400}),this[_0x403aa1(0x10b)](),this[_0x403aa1(0x84)]();}async[a59_0x221b41(0xcf)](_0x286bac,_0x479da1=0x0){const _0x4e49a4=a59_0x221b41,_0x29d3dd=extractModelAlias(_0x286bac),_0x2a26a7=resolveModelAlias(_0x29d3dd),_0x3a45b0=_0x2a26a7+'_'+_0x479da1;let _0x4504b9=this[_0x4e49a4(0x117)][_0x4e49a4(0xbc)](_0x3a45b0);if(!_0x4504b9){this[_0x4e49a4(0x107)]['debug']('Model\x20normalization:\x20'+_0x286bac+'\x20->\x20'+_0x29d3dd+_0x4e49a4(0xe8)+_0x2a26a7),this['logger'][_0x4e49a4(0xe5)](_0x4e49a4(0x12b)+_0x2a26a7+'\x20(reasoning:\x20'+_0x479da1+')');const _0x3d43ba=await this[_0x4e49a4(0xf0)][_0x4e49a4(0x86)]['llm'][_0x4e49a4(0xe3)](_0x2a26a7,_0x479da1);_0x4504b9=_0x3d43ba['id'],this[_0x4e49a4(0x117)]['set'](_0x3a45b0,_0x4504b9),this[_0x4e49a4(0x107)]['debug'](_0x4e49a4(0x125)+_0x3a45b0+'\x20->\x20'+_0x4504b9+'\x20('+_0x3d43ba['attributes'][_0x4e49a4(0xdf)]+')');}return _0x4504b9;}[a59_0x221b41(0xb8)](){const _0x2b6f1c=a59_0x221b41;this[_0x2b6f1c(0xd9)][_0x2b6f1c(0xb8)]();}[a59_0x221b41(0x10b)](){const _0x50f7e5=a59_0x221b41;this[_0x50f7e5(0x11e)]['register'](a59_0xadd50c,{'origin':!![],'methods':[_0x50f7e5(0xfe),_0x50f7e5(0xf2),'OPTIONS'],'allowedHeaders':[_0x50f7e5(0x8e),_0x50f7e5(0x90),'anthropic-version',_0x50f7e5(0x12a)]}),this['server']['setErrorHandler']((_0x2540c,_0x55a1cf,_0x36ed01)=>{this['handleRouteError'](_0x2540c,_0x55a1cf,_0x36ed01);});}[a59_0x221b41(0x105)](_0xe21125,_0x45d8ab,_0x3e8007){const _0x5a79f6=a59_0x221b41;if(_0xe21125 instanceof SDKError){const _0x594e5e=_0xe21125['isUserError']()?0x190:0x1f4;_0x3e8007[_0x5a79f6(0xb6)](_0x594e5e)[_0x5a79f6(0x11d)]({'type':_0x5a79f6(0xd7),'error':{'type':_0xe21125[_0x5a79f6(0xb6)],'message':_0xe21125['originalMessage'],'helpText':_0xe21125[_0x5a79f6(0xa0)]}});}else{const _0x582b0e=_0xe21125 instanceof Error?_0xe21125['message']:_0x5a79f6(0x12f);this[_0x5a79f6(0x107)]['error']('[PROXY\x20ERROR]\x20Unhandled\x20error\x20in\x20'+_0x45d8ab['method']+'\x20'+_0x45d8ab[_0x5a79f6(0xb3)]+':',_0xe21125),_0x3e8007[_0x5a79f6(0xb6)](0x1f4)[_0x5a79f6(0x11d)]({'type':_0x5a79f6(0xd7),'error':{'type':_0x5a79f6(0xfb),'message':_0x582b0e}});}}['setupRoutes'](){const _0xa0cb3f=a59_0x221b41;this[_0xa0cb3f(0x11e)][_0xa0cb3f(0xbc)](_0xa0cb3f(0xbd),async()=>{const _0x1f17d0=_0xa0cb3f;return{'status':'ok','message':_0x1f17d0(0x10a)};}),this[_0xa0cb3f(0x11e)][_0xa0cb3f(0xc2)]('/v1/messages',async(_0x1673c1,_0x2e332f)=>{const _0x54901d=_0xa0cb3f;return this[_0x54901d(0x11b)](_0x1673c1,_0x2e332f)[_0x54901d(0x112)](_0x35c6d5=>{this['handleRouteError'](_0x35c6d5,_0x1673c1,_0x2e332f);});}),this['server'][_0xa0cb3f(0xc2)](_0xa0cb3f(0xfc),async(_0x3f23af,_0x31baa3)=>{const _0x1dba99=_0xa0cb3f;return this[_0x1dba99(0xbf)](_0x3f23af)['catch'](_0x38bc1c=>{const _0x4f3553=_0x1dba99;this[_0x4f3553(0x105)](_0x38bc1c,_0x3f23af,_0x31baa3);});});}[a59_0x221b41(0xc7)](_0x53431a){const _0x438674=a59_0x221b41;if(!_0x53431a[_0x438674(0x127)]||!Array[_0x438674(0x115)](_0x53431a[_0x438674(0x127)])||_0x53431a[_0x438674(0x127)][_0x438674(0xc1)]===0x0)throw new SDKError(ErrorCode['INVALID_REQUEST'],'Validation\x20failed:\x20messages\x20array\x20is\x20required\x20and\x20must\x20not\x20be\x20empty');if(_0x53431a[_0x438674(0xe9)]&&!Array[_0x438674(0x115)](_0x53431a[_0x438674(0xe9)]))throw new SDKError(ErrorCode[_0x438674(0x121)],_0x438674(0xd6));}async[a59_0x221b41(0x11b)](_0x4cdbf1,_0x491ca1){const _0x3bd918=a59_0x221b41,_0x356a66=_0x4cdbf1[_0x3bd918(0x10e)];this['validateMessageRequest'](_0x356a66);const _0x4bbb75=_0x356a66[_0x3bd918(0x127)]?.[_0x3bd918(0xc1)]??0x0,_0x4aba92=_0x356a66[_0x3bd918(0xa6)]||_0x3bd918(0xf8);this['logger'][_0x3bd918(0x109)](_0x4cdbf1['method']+'\x20'+_0x4cdbf1[_0x3bd918(0xb3)]+_0x3bd918(0xdc)+_0x4bbb75+_0x3bd918(0x123)+_0x4aba92),this[_0x3bd918(0x107)]['debug'](_0x3bd918(0x11c)+colorizeJSONCompact(_0x4cdbf1[_0x3bd918(0xd2)]));this[_0x3bd918(0x107)][_0x3bd918(0x101)]&&this[_0x3bd918(0x107)][_0x3bd918(0x101)](colorizeJSON(_0x356a66,{'color':!![]}));const _0xc3f27=_0x356a66[_0x3bd918(0x91)]?.[_0x3bd918(0xb7)]||'default',_0x2a2bde=extractSessionUUID(_0xc3f27),_0x54dcda=this['sessionCache'][_0x3bd918(0xca)](_0x2a2bde,this[_0x3bd918(0xf0)][_0x3bd918(0x10f)]),_0x559aa7=[];if(_0x356a66[_0x3bd918(0xfa)]){if(typeof _0x356a66[_0x3bd918(0xfa)]==='string')_0x559aa7[_0x3bd918(0x93)](_0x356a66[_0x3bd918(0xfa)]);else{if(Array[_0x3bd918(0x115)](_0x356a66[_0x3bd918(0xfa)]))for(const _0x188882 of _0x356a66[_0x3bd918(0xfa)]){_0x188882['type']===_0x3bd918(0xf4)&&_0x188882[_0x3bd918(0xf4)]&&_0x559aa7[_0x3bd918(0x93)](_0x188882[_0x3bd918(0xf4)]);}}}const _0x51faa1=_0x356a66[_0x3bd918(0xe9)]||[],_0x6710af=_0x356a66['thinking']?.['budget_tokens'],_0x2b07c9=mapBudgetTokensToReasoningEffort(_0x6710af,this['config'][_0x3bd918(0xda)]),_0x124cbf=calculateContextSignature(_0x356a66[_0x3bd918(0xa6)],_0x559aa7,_0x51faa1,_0x2b07c9);let _0xde6ae6=_0x54dcda[_0x3bd918(0xad)][_0x3bd918(0xbc)](_0x124cbf);const _0x1fbfbb=!_0xde6ae6;if(!_0xde6ae6){const _0x6e4551=await this[_0x3bd918(0xcf)](_0x356a66[_0x3bd918(0xa6)],_0x2b07c9);_0xde6ae6={'chatId':'','agentId':_0x6e4551,'contextSignature':_0x124cbf,'embeddedSystemPrompts':new Set(),'embeddedToolsByName':new Map(),'messageHistory':[],'lastUsedAt':Date[_0x3bd918(0xaa)]()},_0x54dcda[_0x3bd918(0xad)][_0x3bd918(0xd0)](_0x124cbf,_0xde6ae6);if(_0x54dcda[_0x3bd918(0xad)][_0x3bd918(0xa3)]>MAX_CHATS_PER_SESSION){let _0x382104=null,_0x57cd52=Date['now']();for(const [_0x1450ab,_0x41dd47]of _0x54dcda[_0x3bd918(0xad)]){_0x41dd47[_0x3bd918(0xc5)]<_0x57cd52&&(_0x57cd52=_0x41dd47[_0x3bd918(0xc5)],_0x382104=_0x1450ab);}_0x382104&&(_0x54dcda[_0x3bd918(0xad)]['delete'](_0x382104),this[_0x3bd918(0x107)][_0x3bd918(0xe5)](_0x3bd918(0xa9)+_0x382104+_0x3bd918(0xb5)+MAX_CHATS_PER_SESSION+_0x3bd918(0xb2)));}}else _0xde6ae6[_0x3bd918(0xc5)]=Date[_0x3bd918(0xaa)]();if(!_0xde6ae6[_0x3bd918(0x103)]){if(_0xde6ae6['creating']&&_0xde6ae6[_0x3bd918(0x8f)]){this[_0x3bd918(0x107)][_0x3bd918(0xe5)](_0x3bd918(0xa2)+_0x124cbf);try{_0xde6ae6['chatId']=await _0xde6ae6['createPromise'];}catch(_0x3030e3){this[_0x3bd918(0x107)][_0x3bd918(0xd7)]('Concurrent\x20chat\x20creation\x20failed,\x20will\x20fall\x20back\x20to\x20lazy\x20creation:',_0x3030e3);}}else{if(!_0xde6ae6[_0x3bd918(0x89)]){_0xde6ae6[_0x3bd918(0x89)]=!![],_0xde6ae6[_0x3bd918(0x8f)]=((async()=>{const _0x181a67=_0x3bd918;try{const _0x15dfe8=await this[_0x181a67(0xf0)][_0x181a67(0x86)][_0x181a67(0xab)]['startChat'](_0xde6ae6[_0x181a67(0x100)]);return this[_0x181a67(0x107)][_0x181a67(0x109)]('['+_0x15dfe8['id']+']\x20Created\x20new\x20chat\x20for\x20model\x20'+_0x356a66[_0x181a67(0xa6)]+',\x20context='+_0x124cbf),_0x15dfe8['id'];}catch(_0x149ba2){this[_0x181a67(0x107)][_0x181a67(0xd7)](_0x181a67(0x95),_0x149ba2);throw _0x149ba2;}finally{_0xde6ae6[_0x181a67(0x89)]=![],_0xde6ae6['createPromise']=undefined;}})());try{_0xde6ae6[_0x3bd918(0x103)]=await _0xde6ae6['createPromise'];}catch{}}}}const _0x1020e8=_0x559aa7[_0x3bd918(0xc4)](_0xe83472=>!_0xde6ae6[_0x3bd918(0x97)]['has'](_0xe83472)),_0x45c152=_0x51faa1[_0x3bd918(0xc4)](_0x530d9b=>!_0xde6ae6[_0x3bd918(0xd4)]['has'](_0x530d9b[_0x3bd918(0xdf)]));this[_0x3bd918(0x107)][_0x3bd918(0xe5)](_0x3bd918(0x9e)+_0x2a2bde+_0x3bd918(0xb9)+_0x356a66['model']+_0x3bd918(0xae)+_0x124cbf+_0x3bd918(0xee)+_0x1fbfbb),this['logger'][_0x3bd918(0xe5)]('Chat\x20ID:\x20'+_0xde6ae6['chatId']),this[_0x3bd918(0x107)][_0x3bd918(0xe5)]('System\x20prompts:\x20'+_0x559aa7[_0x3bd918(0xc1)]+_0x3bd918(0xcb)+_0x51faa1[_0x3bd918(0xc1)]),this[_0x3bd918(0x107)]['debug']('Embedded\x20in\x20chat\x20-\x20system\x20prompts:\x20'+_0xde6ae6[_0x3bd918(0x97)][_0x3bd918(0xa3)]+',\x20tools:\x20'+_0xde6ae6[_0x3bd918(0xd4)][_0x3bd918(0xa3)]),this[_0x3bd918(0x107)][_0x3bd918(0xe5)](_0x3bd918(0xf3)+_0x1020e8[_0x3bd918(0xc1)]+_0x3bd918(0xcb)+_0x45c152['length']);_0x1020e8[_0x3bd918(0xc1)]>0x0&&this[_0x3bd918(0x107)][_0x3bd918(0xe5)]('Added\x20system\x20prompt\x20previews:',_0x1020e8[_0x3bd918(0x106)](_0x16ef29=>_0x16ef29[_0x3bd918(0x128)](0x0,0x32)+'...')[_0x3bd918(0x10c)]('\x20|\x20'));_0x45c152[_0x3bd918(0xc1)]>0x0&&this[_0x3bd918(0x107)][_0x3bd918(0xe5)]('Added\x20tool\x20names:',_0x45c152[_0x3bd918(0x106)](_0x57bc0e=>_0x57bc0e[_0x3bd918(0xdf)])[_0x3bd918(0x10c)](',\x20'));const _0x4817f5=calculateConversationDelta(_0x356a66[_0x3bd918(0x127)],_0xde6ae6[_0x3bd918(0x96)]),_0x549e67=extractLastUserMessage(_0x4817f5,_0x356a66[_0x3bd918(0x127)]);if(_0x549e67[_0x3bd918(0xd7)])throw new SDKError(ErrorCode[_0x3bd918(0x121)],_0x549e67[_0x3bd918(0xd7)]);const _0x531388=_0x549e67[_0x3bd918(0xf4)]||'',_0x3bc0cb=()=>{const _0x51d00b=_0x3bd918,_0x42f153=[];_0x559aa7[_0x51d00b(0xc1)]>0x0&&_0x42f153[_0x51d00b(0x93)](_0x559aa7[_0x51d00b(0x10c)]('\x0a\x0a'));_0x51faa1['length']>0x0&&_0x42f153[_0x51d00b(0x93)](generateToolPrompt(_0x51faa1));if(_0x356a66[_0x51d00b(0x127)]&&_0x356a66[_0x51d00b(0x127)][_0x51d00b(0xc1)]>0x1){const _0x4a26e4=formatConversationHistory(_0x356a66['messages']);_0x4a26e4&&_0x42f153[_0x51d00b(0x93)]('\x0a\x0a<conversation_history>\x0a'+_0x4a26e4+_0x51d00b(0xdb));}return _0x42f153['push'](_0x531388),_0x42f153[_0x51d00b(0xc4)](_0x1badd7=>_0x1badd7&&_0x1badd7[_0x51d00b(0xb0)]())['join'](_0x51d00b(0x111));};let _0x36ad50;if(_0x1fbfbb){this[_0x3bd918(0x107)][_0x3bd918(0x109)]('['+_0xde6ae6['chatId']+_0x3bd918(0x120)+_0x356a66[_0x3bd918(0xa6)]+_0x3bd918(0xe1)+_0x559aa7[_0x3bd918(0xc1)]+_0x3bd918(0xbe)+_0x51faa1[_0x3bd918(0xc1)]+_0x3bd918(0x130)+_0x51faa1['map'](_0x9ec53d=>_0x9ec53d[_0x3bd918(0xdf)])['join'](',\x20')+']'),_0x36ad50=_0x3bc0cb();for(const _0x4f242e of _0x559aa7){_0xde6ae6['embeddedSystemPrompts'][_0x3bd918(0xd8)](_0x4f242e);}for(const _0x14e462 of _0x51faa1){_0xde6ae6[_0x3bd918(0xd4)]['set'](_0x14e462[_0x3bd918(0xdf)],_0x14e462);}}else{const _0x5e4092=[];_0x1020e8[_0x3bd918(0xc1)]>0x0&&(_0x5e4092[_0x3bd918(0x93)](_0x1020e8[_0x3bd918(0x10c)]('\x0a\x0a')),this['logger'][_0x3bd918(0xe5)](_0x3bd918(0xec),_0x1020e8[_0x3bd918(0xc1)],_0x3bd918(0x9b)));if(_0x45c152['length']>0x0)try{_0x5e4092[_0x3bd918(0x93)](generateToolPrompt(_0x45c152)),this[_0x3bd918(0x107)][_0x3bd918(0xe5)](_0x3bd918(0xec),_0x45c152[_0x3bd918(0xc1)],_0x3bd918(0x8c));}catch(_0x43b8ee){this['logger'][_0x3bd918(0xd7)](_0x3bd918(0x85),_0x43b8ee);}try{const _0x5838c9=extractToolResults(_0x4817f5);_0x5838c9&&(_0x5e4092['push'](_0x5838c9),this[_0x3bd918(0x107)]['debug'](_0x3bd918(0x114)));}catch(_0x284bcd){this[_0x3bd918(0x107)][_0x3bd918(0xd7)]('Failed\x20to\x20extract\x20tool\x20results:',_0x284bcd);}_0x5e4092['push'](_0x531388);const _0x16b0e3=_0x5e4092['filter'](_0x751661=>_0x751661&&_0x751661[_0x3bd918(0xb0)]());_0x36ad50=_0x16b0e3[_0x3bd918(0xc1)]>0x0?_0x16b0e3['join'](_0x3bd918(0x111)):_0x531388;for(const _0x1f6e7e of _0x1020e8){_0xde6ae6[_0x3bd918(0x97)][_0x3bd918(0xd8)](_0x1f6e7e);}for(const _0x21c3c5 of _0x45c152){_0xde6ae6[_0x3bd918(0xd4)]['set'](_0x21c3c5[_0x3bd918(0xdf)],_0x21c3c5);}}(!_0x36ad50||!_0x36ad50['trim']())&&(this[_0x3bd918(0x107)]['warn'](_0x3bd918(0xac)),this[_0x3bd918(0x107)][_0x3bd918(0x118)]('Context:',{'isNewContext':_0x1fbfbb,'userMessageLength':_0x531388?.[_0x3bd918(0xc1)]||0x0,'systemPromptsCount':_0x559aa7['length'],'toolsCount':_0x51faa1[_0x3bd918(0xc1)],'messagesCount':_0x356a66[_0x3bd918(0x127)]?.['length']||0x0,'newMessagesCount':_0x4817f5['length']}),clearChatState(_0xde6ae6),_0x36ad50=_0x3bc0cb(),(!_0x36ad50||!_0x36ad50['trim']())&&(this['logger'][_0x3bd918(0xd7)]('Failed\x20to\x20reconstruct\x20message\x20-\x20all\x20parts\x20are\x20empty,\x20using\x20fallback'),this[_0x3bd918(0x107)][_0x3bd918(0xd7)](_0x3bd918(0x82),{'systemPromptsCount':_0x559aa7['length'],'toolsCount':_0x51faa1[_0x3bd918(0xc1)],'messagesCount':_0x356a66[_0x3bd918(0x127)]?.[_0x3bd918(0xc1)]||0x0,'userMessageLength':_0x531388?.[_0x3bd918(0xc1)]||0x0}),_0x36ad50='continue'),this[_0x3bd918(0x107)][_0x3bd918(0x109)](_0x3bd918(0x124),_0x36ad50[_0x3bd918(0x128)](0x0,0x64)+_0x3bd918(0xfd)));const _0x45aabf=_0x356a66['stream']!==![];if(_0x45aabf){_0x491ca1['raw'][_0x3bd918(0xd3)](0xc8,{'Content-Type':_0x3bd918(0x9d),'Cache-Control':_0x3bd918(0xf9),'Connection':_0x3bd918(0x11a),'X-Accel-Buffering':'no'});const _0x188714=generateMessageId();let _0x2e8312=0x0,_0x1aad3e=0x0;try{if(_0xde6ae6[_0x3bd918(0x103)]){const _0x324bb4=_0x36ad50[_0x3bd918(0x128)](0x0,0x32)[_0x3bd918(0xe2)](/\n/g,'\x20');this[_0x3bd918(0x107)][_0x3bd918(0x109)]('['+_0xde6ae6[_0x3bd918(0x103)]+_0x3bd918(0xf7)+_0x356a66[_0x3bd918(0xa6)]+_0x3bd918(0x131)+_0x124cbf+',\x20'+_0x356a66[_0x3bd918(0x127)][_0x3bd918(0xc1)]+_0x3bd918(0xea)+_0x559aa7[_0x3bd918(0xc1)]+_0x3bd918(0x99)+_0x51faa1['length']+_0x3bd918(0x92)+_0x36ad50[_0x3bd918(0xc1)]+',\x20\x22'+_0x324bb4+_0x3bd918(0x122));}const _0x6328f4=this[_0x3bd918(0xf0)][_0x3bd918(0x86)][_0x3bd918(0xab)][_0x3bd918(0x104)](_0x36ad50,{'chatId':_0xde6ae6[_0x3bd918(0x103)]||undefined,'agentId':_0xde6ae6[_0x3bd918(0x103)]?undefined:_0xde6ae6[_0x3bd918(0x100)]});if(!_0x6328f4){this[_0x3bd918(0x107)][_0x3bd918(0xd7)](_0x3bd918(0x8b)),this['logger'][_0x3bd918(0xd7)](_0x3bd918(0x113),JSON[_0x3bd918(0x119)]({'chatId':_0xde6ae6[_0x3bd918(0x103)],'agentId':_0xde6ae6[_0x3bd918(0x100)],'model':_0x356a66[_0x3bd918(0xa6)],'sessionId':_0x2a2bde,'contextSignature':_0x124cbf})),_0xde6ae6[_0x3bd918(0x103)]='',this['logger'][_0x3bd918(0x118)](_0x3bd918(0xe7));const _0x4f5679=formatAnthropicSSE({'type':'error','error':{'type':_0x3bd918(0xfb),'message':_0x3bd918(0xa7)},'request_id':_0x188714});_0x491ca1['raw'][_0x3bd918(0xde)](_0x4f5679),_0x491ca1['raw'][_0x3bd918(0xf5)]();return;}_0xde6ae6[_0x3bd918(0x96)]=_0x356a66[_0x3bd918(0x127)];const _0x45cc2b=_0xde6ae6;async function*_0x382a65(_0x5e5736){const _0x146093=_0x3bd918;for await(const _0x406e2d of _0x5e5736){if(_0x406e2d[_0x146093(0xc3)]===_0x146093(0x91))_0x406e2d['data'][_0x146093(0x103)]&&!_0x45cc2b[_0x146093(0x103)]&&(_0x45cc2b[_0x146093(0x103)]=_0x406e2d['data'][_0x146093(0x103)]);else _0x406e2d[_0x146093(0xc3)]==='event'&&(yield _0x406e2d[_0x146093(0xba)]);}}const _0x3788fb=_0x382a65(_0x6328f4);_0x2e8312=estimateInputTokensFromRequest(_0x356a66);const _0x52ed38=transformTDStreamToAnthropic(_0x3788fb,_0x188714,_0x356a66['model'],this[_0x3bd918(0x107)],_0x531388,_0x2e8312),_0x3d1be5=_0x36ad50[_0x3bd918(0xc1)];let _0x2a637b=0x0;for await(const _0x5a6781 of _0x52ed38){const _0x5beaf2=formatAnthropicSSE(_0x5a6781);_0x2a637b++,this[_0x3bd918(0x107)][_0x3bd918(0xe5)](colorizeJSONCompact(_0x5a6781,{'color':!![]})),_0x5a6781['type']===_0x3bd918(0xd7)&&_0x5a6781[_0x3bd918(0xd7)][_0x3bd918(0xc3)]===_0x3bd918(0x94)&&(clearChatState(_0xde6ae6),this['logger'][_0x3bd918(0x118)](_0x3bd918(0x10d)+_0x5a6781[_0x3bd918(0xd7)][_0x3bd918(0xc8)]+_0x3bd918(0x108)+_0x3d1be5+_0x3bd918(0xa8)+_0x2a2bde+_0x3bd918(0x110)+_0x124cbf)),_0x5a6781[_0x3bd918(0xc3)]===_0x3bd918(0xe4)&&_0x5a6781[_0x3bd918(0xa4)]?.[_0x3bd918(0x9c)]&&(_0x1aad3e=_0x5a6781[_0x3bd918(0xa4)]['output_tokens']),_0x491ca1[_0x3bd918(0x98)][_0x3bd918(0xde)](_0x5beaf2);}this[_0x3bd918(0x107)][_0x3bd918(0xe5)](_0x3bd918(0xe6)+_0x2a637b+'\x20SSE\x20events.'),appendUsageEntry(_0x2a2bde,{'timestamp':new Date()[_0x3bd918(0xc0)](),'model':_0x356a66[_0x3bd918(0xa6)],'inputTokens':_0x2e8312,'outputTokens':_0x1aad3e,'contextSignature':_0x124cbf,'profile':this[_0x3bd918(0xf0)][_0x3bd918(0x86)]?.[_0x3bd918(0xb4)]?.[_0x3bd918(0xc9)],'chatId':_0xde6ae6[_0x3bd918(0x103)]||undefined})[_0x3bd918(0x112)](_0x11bf07=>{const _0xb2bf81=_0x3bd918;this[_0xb2bf81(0x107)][_0xb2bf81(0x118)](_0xb2bf81(0xce)+_0x11bf07);}),_0x491ca1[_0x3bd918(0x98)][_0x3bd918(0xf5)]();}catch(_0x3f8d46){(_0x2e8312>0x0||_0x1aad3e>0x0)&&appendUsageEntry(_0x2a2bde,{'timestamp':new Date()[_0x3bd918(0xc0)](),'model':_0x356a66[_0x3bd918(0xa6)],'inputTokens':_0x2e8312,'outputTokens':_0x1aad3e,'contextSignature':_0x124cbf,'profile':this[_0x3bd918(0xf0)]['tdx']?.[_0x3bd918(0xb4)]?.[_0x3bd918(0xc9)],'chatId':_0xde6ae6['chatId']||undefined})[_0x3bd918(0x112)](_0x5aa23d=>{const _0x42c7dd=_0x3bd918;this[_0x42c7dd(0x107)]['warn'](_0x42c7dd(0xa5)+_0x5aa23d);});const _0x3db95f=_0x3f8d46 instanceof Error?_0x3f8d46[_0x3bd918(0xc8)]:_0x3bd918(0x12f);this['logger'][_0x3bd918(0xd7)](_0x3bd918(0x88),_0x3f8d46),this['logger'][_0x3bd918(0xd7)](_0x3bd918(0x113),JSON['stringify']({'chatId':_0xde6ae6[_0x3bd918(0x103)],'agentId':_0xde6ae6[_0x3bd918(0x100)],'model':_0x356a66[_0x3bd918(0xa6)],'sessionId':_0x2a2bde,'contextSignature':_0x124cbf})),_0xde6ae6[_0x3bd918(0x103)]='',this[_0x3bd918(0x107)][_0x3bd918(0x118)](_0x3bd918(0xc6));const _0x4d846a=formatAnthropicSSE({'type':'error','error':{'type':_0x3bd918(0xfb),'message':_0x3db95f},'request_id':_0x188714});_0x491ca1[_0x3bd918(0x98)][_0x3bd918(0xde)](_0x4d846a),_0x491ca1['raw'][_0x3bd918(0xf5)]();}}else this[_0x3bd918(0x107)][_0x3bd918(0xd7)](_0x3bd918(0xff)),_0x491ca1['code'](0x1f5)['send']({'type':_0x3bd918(0xd7),'error':{'type':'not_supported_error','message':_0x3bd918(0x8d)}});}async[a59_0x221b41(0xbf)](_0x27993e){const _0x5a9bcd=a59_0x221b41,_0x61ea7=_0x27993e[_0x5a9bcd(0x10e)],_0x203841=estimateInputTokensFromRequest(_0x61ea7);return this[_0x5a9bcd(0x107)][_0x5a9bcd(0x109)](_0x27993e[_0x5a9bcd(0xef)]+'\x20'+_0x27993e[_0x5a9bcd(0xb3)]+_0x5a9bcd(0x12c)+_0x203841),{'input_tokens':_0x203841};}async[a59_0x221b41(0xf1)](){const _0x64f60a=a59_0x221b41;try{await this[_0x64f60a(0x11e)][_0x64f60a(0x132)]({'port':this[_0x64f60a(0xf0)][_0x64f60a(0x87)],'host':_0x64f60a(0x9a)}),this[_0x64f60a(0x107)][_0x64f60a(0x109)](_0x64f60a(0xcd)+this[_0x64f60a(0xf0)]['port']),this[_0x64f60a(0x102)]=setInterval(()=>{const _0xe075ec=_0x64f60a;this[_0xe075ec(0xb8)]();},CLEANUP_INTERVAL_MS),this['logger']['debug'](_0x64f60a(0x116)+CLEANUP_INTERVAL_MS/0x3e8+_0x64f60a(0x12e)+CACHE_EXPIRATION_MS/0x3e8+'s)');}catch(_0x51c9de){const _0xdc9a30=_0x51c9de instanceof Error?_0x51c9de['message']:_0x64f60a(0x12f);throw new Error(_0x64f60a(0xcc)+_0xdc9a30);}}async[a59_0x221b41(0x83)](){const _0x5b2a7c=a59_0x221b41;this[_0x5b2a7c(0x102)]&&(clearInterval(this[_0x5b2a7c(0x102)]),this['cleanupInterval']=undefined),await this[_0x5b2a7c(0x11e)]['close']();}[a59_0x221b41(0x129)](){const _0x1b5239=a59_0x221b41,_0x2599b1=this[_0x1b5239(0x11e)][_0x1b5239(0x11e)][_0x1b5239(0xdd)]();if(typeof _0x2599b1===_0x1b5239(0xf6))return _0x2599b1;if(_0x2599b1)return _0x1b5239(0x11f)+_0x2599b1[_0x1b5239(0xdd)]+':'+_0x2599b1['port'];return _0x1b5239(0xeb)+this[_0x1b5239(0xf0)][_0x1b5239(0x87)];}}
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 +1 @@
1
- const a60_0x22b331=a60_0x385b;function a60_0x385b(_0x5ba172,_0x43ee11){_0x5ba172=_0x5ba172-0x143;const _0x473933=a60_0x4739();let _0x385b66=_0x473933[_0x5ba172];return _0x385b66;}(function(_0x1563fd,_0x3dcce0){const _0x58d7eb=a60_0x385b,_0x4f2ca4=_0x1563fd();while(!![]){try{const _0x338cd9=parseInt(_0x58d7eb(0x152))/0x1*(-parseInt(_0x58d7eb(0x15d))/0x2)+-parseInt(_0x58d7eb(0x14a))/0x3+-parseInt(_0x58d7eb(0x14e))/0x4*(-parseInt(_0x58d7eb(0x153))/0x5)+-parseInt(_0x58d7eb(0x144))/0x6*(-parseInt(_0x58d7eb(0x151))/0x7)+parseInt(_0x58d7eb(0x14b))/0x8+parseInt(_0x58d7eb(0x156))/0x9+parseInt(_0x58d7eb(0x15c))/0xa;if(_0x338cd9===_0x3dcce0)break;else _0x4f2ca4['push'](_0x4f2ca4['shift']());}catch(_0x147867){_0x4f2ca4['push'](_0x4f2ca4['shift']());}}}(a60_0x4739,0x1f556));function a60_0x4739(){const _0x5122bc=['getOrCreateSession','440352CwNmnm','get','chats','getOrCreateChat','now','getSessionCount','330580aDaRlQ','2XDMwvb','clear','sessions','\x20not\x20found','getSession','11814mAknCW','Session\x20','lastUsedAt','size','getTotalChatCount','push','334011FOtfTm','463288NtRwZb','config','cacheExpirationMs','283404sfbiub','set','cleanupExpiredChats','301SKMHyD','197438YllGNy','15ETTiVV','delete'];a60_0x4739=function(){return _0x5122bc;};return a60_0x4739();}export class SessionCache{[a60_0x22b331(0x15f)];[a60_0x22b331(0x14c)];constructor(_0x64969){const _0x4594ab=a60_0x22b331;this[_0x4594ab(0x14c)]=_0x64969,this[_0x4594ab(0x15f)]=new Map();}[a60_0x22b331(0x155)](_0x36c514,_0x59bd62){const _0x22124c=a60_0x22b331;let _0x22a263=this['sessions'][_0x22124c(0x157)](_0x36c514);return!_0x22a263&&(_0x22a263={'projectId':_0x59bd62,'chats':new Map()},this[_0x22124c(0x15f)][_0x22124c(0x14f)](_0x36c514,_0x22a263)),_0x22a263;}[a60_0x22b331(0x143)](_0x4cfb07){const _0x53238e=a60_0x22b331;return this[_0x53238e(0x15f)][_0x53238e(0x157)](_0x4cfb07);}[a60_0x22b331(0x159)](_0x2a6411,_0x27be46,_0x14b8e1){const _0x2c65a1=a60_0x22b331,_0x415f46=this[_0x2c65a1(0x15f)][_0x2c65a1(0x157)](_0x2a6411);if(!_0x415f46)throw new Error(_0x2c65a1(0x145)+_0x2a6411+_0x2c65a1(0x160));let _0x56ab9d=_0x415f46[_0x2c65a1(0x158)][_0x2c65a1(0x157)](_0x27be46);if(!_0x56ab9d){_0x56ab9d={'chatId':'','agentId':_0x14b8e1,'contextSignature':_0x27be46,'embeddedSystemPrompts':new Set(),'embeddedToolsByName':new Map(),'messageHistory':[],'lastUsedAt':Date['now']()},_0x415f46[_0x2c65a1(0x158)][_0x2c65a1(0x14f)](_0x27be46,_0x56ab9d);if(_0x415f46['chats'][_0x2c65a1(0x147)]>this[_0x2c65a1(0x14c)]['maxChatsPerSession']){let _0x55f2d7=null,_0x252ae4=Date[_0x2c65a1(0x15a)]();for(const [_0x10faed,_0x6ae163]of _0x415f46[_0x2c65a1(0x158)]){_0x6ae163[_0x2c65a1(0x146)]<_0x252ae4&&(_0x252ae4=_0x6ae163[_0x2c65a1(0x146)],_0x55f2d7=_0x10faed);}_0x55f2d7&&_0x415f46[_0x2c65a1(0x158)]['delete'](_0x55f2d7);}}else _0x56ab9d[_0x2c65a1(0x146)]=Date['now']();return _0x56ab9d;}[a60_0x22b331(0x150)](){const _0x720b32=a60_0x22b331,_0xbe808e=Date[_0x720b32(0x15a)]();let _0x317fae=0x0;for(const [_0x17745f,_0x101d23]of this['sessions']){const _0x4d050a=[];for(const [_0x5bfbb2,_0x3266b0]of _0x101d23['chats']){_0xbe808e-_0x3266b0[_0x720b32(0x146)]>this[_0x720b32(0x14c)][_0x720b32(0x14d)]&&_0x4d050a[_0x720b32(0x149)](_0x5bfbb2);}for(const _0x5d3f08 of _0x4d050a){_0x101d23[_0x720b32(0x158)][_0x720b32(0x154)](_0x5d3f08),_0x317fae++;}_0x101d23[_0x720b32(0x158)][_0x720b32(0x147)]===0x0&&this[_0x720b32(0x15f)][_0x720b32(0x154)](_0x17745f);}return _0x317fae;}[a60_0x22b331(0x15b)](){const _0x2da096=a60_0x22b331;return this[_0x2da096(0x15f)][_0x2da096(0x147)];}[a60_0x22b331(0x148)](){const _0xc79c21=a60_0x22b331;let _0x58b3cf=0x0;for(const _0x36a1bc of this[_0xc79c21(0x15f)]['values']()){_0x58b3cf+=_0x36a1bc[_0xc79c21(0x158)][_0xc79c21(0x147)];}return _0x58b3cf;}[a60_0x22b331(0x15e)](){const _0x52a176=a60_0x22b331;this[_0x52a176(0x15f)][_0x52a176(0x15e)]();}}
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)]();}}