@treasuredata/tdx 0.14.5 → 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.
- package/dist/bin.js +1 -1
- package/dist/build-info.json +3 -3
- package/dist/cli-categories.js +1 -1
- package/dist/cli.js +1 -1
- package/dist/commands/activations.js +1 -1
- package/dist/commands/agent-command.js +1 -1
- package/dist/commands/api-command.js +1 -1
- package/dist/commands/auth-command.js +1 -1
- package/dist/commands/chat-command.js +1 -1
- package/dist/commands/claude-command.d.ts +0 -4
- package/dist/commands/claude-command.d.ts.map +1 -1
- package/dist/commands/claude-command.js +1 -1
- package/dist/commands/claude-command.js.map +1 -1
- package/dist/commands/claude-statusline-command.js +1 -1
- package/dist/commands/claude-usage-command.js +1 -1
- package/dist/commands/command.js +1 -1
- package/dist/commands/connection-command.js +1 -1
- package/dist/commands/databases.js +1 -1
- package/dist/commands/describe.js +1 -1
- package/dist/commands/engage-command.js +1 -1
- package/dist/commands/job-command.js +1 -1
- package/dist/commands/journey-command.js +1 -1
- package/dist/commands/journey-validate-command.js +1 -1
- package/dist/commands/llm-command.js +1 -1
- package/dist/commands/llm-proxy.js +1 -1
- package/dist/commands/parent-segment-command.js +1 -1
- package/dist/commands/profile-command.js +1 -1
- package/dist/commands/profiles-command.js +1 -1
- package/dist/commands/query-command.js +1 -1
- package/dist/commands/segment-command.js +1 -1
- package/dist/commands/segment-create-command.js +1 -1
- package/dist/commands/segment-fields-command.js +1 -1
- package/dist/commands/segment-pull-command.js +1 -1
- package/dist/commands/segment-push-command.js +1 -1
- package/dist/commands/segment-update-command.js +1 -1
- package/dist/commands/segment-use-command.js +1 -1
- package/dist/commands/segment-validate-command.js +1 -1
- package/dist/commands/segments.js +1 -1
- package/dist/commands/show.js +1 -1
- package/dist/commands/tables.js +1 -1
- package/dist/commands/unset-command.js +1 -1
- package/dist/commands/use-command.js +1 -1
- package/dist/commands/user-command.js +1 -1
- package/dist/commands/workflow-command.js +1 -1
- package/dist/core/auth.js +1 -1
- package/dist/core/command-output.js +1 -1
- package/dist/core/config.js +1 -1
- package/dist/core/connection-cache.js +1 -1
- package/dist/core/constants.js +1 -1
- package/dist/core/credential-cache.js +1 -1
- package/dist/core/global-context.js +1 -1
- package/dist/core/keychain.js +1 -1
- package/dist/core/profile.js +1 -1
- package/dist/core/project-config.js +1 -1
- package/dist/core/session.js +1 -1
- package/dist/core/user-cache.js +1 -1
- package/dist/core/version.js +1 -1
- package/dist/index.js +1 -1
- package/dist/proxy/anthropic-adapter.js +1 -1
- package/dist/proxy/claude-usage-tracker.js +1 -1
- package/dist/proxy/context-signature.js +1 -1
- package/dist/proxy/conversation-utils.js +1 -1
- package/dist/proxy/passthrough-server.js +1 -1
- package/dist/proxy/server.js +1 -1
- package/dist/proxy/session-cache.js +1 -1
- package/dist/proxy/sse-usage-parser.js +1 -1
- package/dist/sdk/agent/agent-config.js +1 -1
- package/dist/sdk/agent/agent-ref-parser.js +1 -1
- package/dist/sdk/agent/agent-yaml.js +1 -1
- package/dist/sdk/api.js +1 -1
- package/dist/sdk/client/cdp-api-client.js +1 -1
- package/dist/sdk/client/endpoints.js +1 -1
- package/dist/sdk/client/engage-api-client.js +1 -1
- package/dist/sdk/client/http-client.d.ts.map +1 -1
- package/dist/sdk/client/http-client.js +1 -1
- package/dist/sdk/client/http-client.js.map +1 -1
- package/dist/sdk/client/llm-api-client.d.ts +3 -2
- package/dist/sdk/client/llm-api-client.d.ts.map +1 -1
- package/dist/sdk/client/llm-api-client.js +1 -1
- package/dist/sdk/client/llm-api-client.js.map +1 -1
- package/dist/sdk/client/rate-limiter.js +1 -1
- package/dist/sdk/client/td-api-client.js +1 -1
- package/dist/sdk/client/trino-api-client.js +1 -1
- package/dist/sdk/client/workflow-client.js +1 -1
- package/dist/sdk/connection-validator.js +1 -1
- package/dist/sdk/connection.js +1 -1
- package/dist/sdk/engage.js +1 -1
- package/dist/sdk/errors.js +1 -1
- package/dist/sdk/index.js +1 -1
- package/dist/sdk/io/index.js +1 -1
- package/dist/sdk/io/node-filesystem.js +1 -1
- package/dist/sdk/job.js +1 -1
- package/dist/sdk/journey.js +1 -1
- package/dist/sdk/llm/chat-cache.js +1 -1
- package/dist/sdk/llm/index.js +1 -1
- package/dist/sdk/llm/llm-backup-utils.js +1 -1
- package/dist/sdk/llm/model-aliases.js +1 -1
- package/dist/sdk/llm/model-factors.js +1 -1
- package/dist/sdk/query/index.js +1 -1
- package/dist/sdk/query/sql-parser.js +1 -1
- package/dist/sdk/segment/child-segment-yaml.js +1 -1
- package/dist/sdk/segment/fields-display.js +1 -1
- package/dist/sdk/segment/file-discovery.js +1 -1
- package/dist/sdk/segment/journey-utils.js +1 -1
- package/dist/sdk/segment/journey-yaml.js +1 -1
- package/dist/sdk/segment/parent-segment-preview.js +1 -1
- package/dist/sdk/segment/parent-segment-yaml.js +1 -1
- package/dist/sdk/segment/pull-workflow.js +1 -1
- package/dist/sdk/segment/push-workflow.js +1 -1
- package/dist/sdk/segment/resolution-context.js +1 -1
- package/dist/sdk/segment/segment-path-parser.js +1 -1
- package/dist/sdk/segment/segment-ref-parser.js +1 -1
- package/dist/sdk/segment/target-resolution.js +1 -1
- package/dist/sdk/segment/tdx-config.js +1 -1
- package/dist/sdk/segment/validate-files.js +1 -1
- package/dist/sdk/segment/yaml-validator.js +1 -1
- package/dist/sdk/segment.js +1 -1
- package/dist/sdk/types/index.js +1 -1
- package/dist/sdk/types/progress.js +1 -1
- package/dist/sdk/user.js +1 -1
- package/dist/sdk/util/format-detector.js +1 -1
- package/dist/sdk/util/formatters.js +1 -1
- package/dist/sdk/util/index.js +1 -1
- package/dist/sdk/util/tree-formatter.js +1 -1
- package/dist/sdk/workflow/clone-workflow.js +1 -1
- package/dist/sdk/workflow/index.js +1 -1
- package/dist/sdk/workflow/pull-workflow.js +1 -1
- package/dist/sdk/workflow/push-workflow.js +1 -1
- package/dist/sdk/workflow/tdx-config.js +1 -1
- package/dist/sdk/workflow/workflow-utils.js +1 -1
- package/dist/utils/async.js +1 -1
- package/dist/utils/colors.js +1 -1
- package/dist/utils/diff.js +1 -1
- package/dist/utils/file-permissions.js +1 -1
- package/dist/utils/json-loader.js +1 -1
- package/dist/utils/option-validation.js +1 -1
- package/dist/utils/port.js +1 -1
- package/dist/utils/process.d.ts +21 -0
- package/dist/utils/process.d.ts.map +1 -1
- package/dist/utils/process.js +1 -1
- package/dist/utils/process.js.map +1 -1
- package/dist/utils/prompt.js +1 -1
- package/dist/utils/spinner.js +1 -1
- package/dist/utils/sse-parser.js +1 -1
- package/dist/utils/string-utils.js +1 -1
- package/dist/utils/table-ref-parser.js +1 -1
- package/dist/utils/tdx-logger.js +1 -1
- package/dist/utils/version-check.js +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0x40fa72,_0x3a4977){const _0x2329ae=a54_0x3133,_0x560970=_0x40fa72();while(!![]){try{const _0x45868f=-parseInt(_0x2329ae(0x16d))/0x1*(parseInt(_0x2329ae(0x1af))/0x2)+-parseInt(_0x2329ae(0x14a))/0x3*(parseInt(_0x2329ae(0x19c))/0x4)+-parseInt(_0x2329ae(0x180))/0x5*(parseInt(_0x2329ae(0x1ac))/0x6)+parseInt(_0x2329ae(0x13f))/0x7+-parseInt(_0x2329ae(0x18d))/0x8+-parseInt(_0x2329ae(0x151))/0x9*(-parseInt(_0x2329ae(0x181))/0xa)+-parseInt(_0x2329ae(0x175))/0xb*(-parseInt(_0x2329ae(0x1b7))/0xc);if(_0x45868f===_0x3a4977)break;else _0x560970['push'](_0x560970['shift']());}catch(_0x34515f){_0x560970['push'](_0x560970['shift']());}}}(a54_0x46f8,0xc0c22));import{SDKError,ErrorCode}from'../sdk/errors.js';import{calculateConversationDelta}from'./conversation-utils.js';export{calculateConversationDelta}from'./conversation-utils.js';function estimateTokenCount(_0x108bc0){const _0x5dce43=a54_0x3133;if(!_0x108bc0||_0x108bc0[_0x5dce43(0x14f)]===0x0)return 0x0;return Math['ceil'](_0x108bc0[_0x5dce43(0x14f)]/3.7);}export function determineErrorType(_0x514022,_0x3aa439){const _0x32d943=a54_0x3133,_0xeb9d4a=_0x514022['includes'](_0x32d943(0x139))||_0x514022[_0x32d943(0x155)](_0x32d943(0x1b1))||_0x514022[_0x32d943(0x155)]('maximum\x20context');if(_0xeb9d4a)return _0x3aa439?.[_0x32d943(0x1a6)]('[CONTEXT\x20LENGTH\x20ERROR]\x20'+_0x514022),_0x32d943(0x1a4);return _0x3aa439?.[_0x32d943(0x1a6)](_0x32d943(0x142)+_0x514022),_0x32d943(0x146);}export function estimateInputTokensFromRequest(_0x2e902e){const _0x596c1b=a54_0x3133;let _0x3ec740=0x0;if(typeof _0x2e902e[_0x596c1b(0x16a)]===_0x596c1b(0x145))_0x3ec740+=_0x2e902e['system'][_0x596c1b(0x14f)];else{if(Array[_0x596c1b(0x1ab)](_0x2e902e['system']))for(const _0x906e96 of _0x2e902e['system']){_0x906e96&&typeof _0x906e96['text']===_0x596c1b(0x145)&&(_0x3ec740+=_0x906e96[_0x596c1b(0x16e)]['length']);}}if(Array[_0x596c1b(0x1ab)](_0x2e902e[_0x596c1b(0x17e)]))for(const _0x5a9bef of _0x2e902e[_0x596c1b(0x17e)]){_0x5a9bef&&(_0x3ec740+=_0x5a9bef[_0x596c1b(0x14b)]?.[_0x596c1b(0x14f)]||0x0,_0x3ec740+=_0x5a9bef[_0x596c1b(0x140)]?.[_0x596c1b(0x14f)]||0x0,_0x5a9bef[_0x596c1b(0x1b3)]&&(_0x3ec740+=JSON[_0x596c1b(0x143)](_0x5a9bef['input_schema'])[_0x596c1b(0x14f)]));}if(Array[_0x596c1b(0x1ab)](_0x2e902e[_0x596c1b(0x14d)]))for(const _0x53cdff of _0x2e902e[_0x596c1b(0x14d)]){if(!_0x53cdff)continue;if(typeof _0x53cdff[_0x596c1b(0x147)]==='string')_0x3ec740+=_0x53cdff[_0x596c1b(0x147)][_0x596c1b(0x14f)];else{if(Array[_0x596c1b(0x1ab)](_0x53cdff[_0x596c1b(0x147)]))for(const _0x90687d of _0x53cdff[_0x596c1b(0x147)]){if(!_0x90687d)continue;if(_0x90687d['type']===_0x596c1b(0x16e)&&_0x90687d[_0x596c1b(0x16e)])_0x3ec740+=_0x90687d[_0x596c1b(0x16e)][_0x596c1b(0x14f)];else{if(_0x90687d[_0x596c1b(0x138)]===_0x596c1b(0x13e)&&_0x90687d['input'])_0x3ec740+=JSON[_0x596c1b(0x143)](_0x90687d[_0x596c1b(0x198)])[_0x596c1b(0x14f)];else{if(_0x90687d[_0x596c1b(0x138)]===_0x596c1b(0x187)&&_0x90687d['content']){if(typeof _0x90687d['content']===_0x596c1b(0x145))_0x3ec740+=_0x90687d[_0x596c1b(0x147)][_0x596c1b(0x14f)];else{if(Array['isArray'](_0x90687d[_0x596c1b(0x147)]))for(const _0x1bedd1 of _0x90687d[_0x596c1b(0x147)]){_0x1bedd1&&_0x1bedd1['type']===_0x596c1b(0x16e)&&_0x1bedd1[_0x596c1b(0x16e)]&&(_0x3ec740+=_0x1bedd1[_0x596c1b(0x16e)]['length']);}}}}}}}}return Math[_0x596c1b(0x1a9)](_0x3ec740/3.7);}function generateMessageId(){const _0x56c29e=a54_0x3133;return _0x56c29e(0x195)+Math['random']()[_0x56c29e(0x188)](0x24)[_0x56c29e(0x190)](0x2,0xf)+Math[_0x56c29e(0x194)]()['toString'](0x24)[_0x56c29e(0x190)](0x2,0xf);}export function extractTextFromAnthropicMessage(_0x3be332){const _0x46813e=a54_0x3133;if(typeof _0x3be332[_0x46813e(0x147)]==='string')return _0x3be332['content'];if(_0x3be332[_0x46813e(0x147)]==null)return'';if(!Array[_0x46813e(0x1ab)](_0x3be332[_0x46813e(0x147)]))throw new SDKError(ErrorCode['LLM_MALFORMED_MESSAGE'],_0x46813e(0x179)+typeof _0x3be332[_0x46813e(0x147)]);return _0x3be332[_0x46813e(0x147)][_0x46813e(0x17c)](_0x27c421=>_0x27c421&&_0x27c421[_0x46813e(0x138)]===_0x46813e(0x16e)&&_0x27c421['text'])[_0x46813e(0x159)](_0x2d678d=>_0x2d678d[_0x46813e(0x16e)])[_0x46813e(0x17b)]('\x0a');}export function transformAnthropicRequestToTD(_0x8e17c0,_0x7c1a1b){const _0x179017=a54_0x3133,_0x1e320e=calculateConversationDelta(_0x8e17c0[_0x179017(0x14d)],_0x7c1a1b),_0x2ed8a8=_0x1e320e[_0x179017(0x17c)](_0x4b7942=>_0x4b7942[_0x179017(0x193)]===_0x179017(0x160))['pop']();if(!_0x2ed8a8)throw new Error(_0x179017(0x162));const _0x262153=extractTextFromAnthropicMessage(_0x2ed8a8);return{'userMessage':_0x262153,'deltaMessages':_0x1e320e};}export function formatAnthropicSSE(_0x1d700c){const _0x5e7b92=a54_0x3133;return _0x5e7b92(0x19f)+_0x1d700c[_0x5e7b92(0x138)]+_0x5e7b92(0x168)+JSON['stringify'](_0x1d700c)+'\x0a\x0a';}export function mapAnthropicModelToTD(_0x584234){const _0xff22d8=a54_0x3133,_0x5122a6={'sonnet':_0xff22d8(0x13c),'claude-sonnet':_0xff22d8(0x13c),'claude-3-5-sonnet':_0xff22d8(0x13c),'claude-3-sonnet':_0xff22d8(0x13c),'haiku':_0xff22d8(0x14c),'claude-haiku':'haiku','claude-3-5-haiku':_0xff22d8(0x14c),'claude-3-haiku':_0xff22d8(0x14c),'opus':_0xff22d8(0x149),'claude-opus':_0xff22d8(0x149),'claude-3-opus':'opus'},_0x435c2b=_0x584234[_0xff22d8(0x154)]();return _0x5122a6[_0x435c2b]||_0xff22d8(0x13c);}export function generateToolPrompt(_0x499ea0){const _0x1dbd7c=a54_0x3133;if(_0x499ea0==null)return'';if(!Array[_0x1dbd7c(0x1ab)](_0x499ea0))throw new SDKError(ErrorCode[_0x1dbd7c(0x171)],_0x1dbd7c(0x177)+typeof _0x499ea0);if(_0x499ea0[_0x1dbd7c(0x14f)]===0x0)return'';const _0x16d8b7=_0x499ea0[_0x1dbd7c(0x17c)](_0x1afd13=>_0x1afd13!=null)['map'](_0x4de6ea=>{const _0x538700=_0x1dbd7c,_0x52aa0f=JSON[_0x538700(0x143)](_0x4de6ea[_0x538700(0x1b3)]);return _0x538700(0x169)+_0x4de6ea[_0x538700(0x14b)]+_0x538700(0x19b)+(_0x4de6ea[_0x538700(0x140)]||'No\x20description')+_0x538700(0x197)+_0x52aa0f+_0x538700(0x1a0);})[_0x1dbd7c(0x17b)]('\x0a\x0a');return _0x1dbd7c(0x13b)+_0x16d8b7+_0x1dbd7c(0x166);}function a54_0x46f8(){const _0x127e16=['\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','sonnet','Bash','tool_use','3233734IhgKZS','description','warn','[API\x20ERROR]\x20','stringify','<tool_use','string','api_error','content','min','opus','21XWYDUK','name','haiku','messages','match','length','content_block_delta','34605CPCDSK','parse','Grep','toLowerCase','includes','{\x22tool_use\x22:','push','Task','map','Invalid\x20message.content\x20type\x20for\x20user\x20role:\x20expected\x20array,\x20got\x20','thinking','message_delta','[MALFORMED\x20TOOL_USE]\x20Tool\x20name\x20used\x20as\x20XML\x20tag\x20instead\x20of\x20tool_use.\x20Name:\x20','debug','lastIndexOf','user','is_error','No\x20user\x20message\x20found\x20in\x20request\x20delta','trim','endIndex','model_context_window_exceeded','\x0a---\x0a','exec','\x0adata:\x20','##\x20Tool:\x20','system','\x0a\x0a[tdx\x20error]\x20Malformed\x20tool_use\x20JSON\x20detected.\x20Please\x20fix\x20the\x20JSON\x20below:\x0a\x0a','tool_use_id','9JaCYvx','text','$1,\x22new_string\x22:$2}','reasoning','LLM_MALFORMED_MESSAGE','NotebookEdit','content_block_stop','[JSON\x20REPAIR]\x20Successfully\x20repaired\x20malformed\x20JSON\x0a[Before]:\x0a','29832979kEqvLJ','<','Invalid\x20tools\x20type:\x20expected\x20array,\x20got\x20','\x0a[After]:\x0a','Invalid\x20message.content\x20type:\x20expected\x20string\x20or\x20array,\x20got\x20','startIndex','join','filter',',\x20ID:\x20','tools','>([\x5cs\x5cS]*?)</','213515PZqVZt','700VxgefM','pop','[JSON\x20REPAIR]\x20Added\x20missing\x20\x22new_string\x22\x20key\x0a[Before]:\x0a','\x0a</tool_result>','toolu_generated_','Executing\x20only\x20the\x20last\x20one\x20(','tool_result','toString','Malformed\x20content:','[MULTIPLE\x20TOOL_USE]\x20Detected\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','text_delta','7547616JXvQPM','AskUserQuestion','content_block_start','substring','thinking_delta','Read','role','random','msg_','\x20tool_use\x20blocks.\x20','\x0a\x0a**Input\x20Schema:**\x0a```json\x0a','input','[MALFORMED\x20JSON]\x20Tool\x20use\x20JSON\x20could\x20not\x20be\x20parsed\x20or\x20repaired:\x0a','now','\x0a\x0a**Description:**\x20','6596TZJAuM','message_start','Glob','event:\x20','\x0a```','TodoWrite','\x0aOriginal\x20XML:\x0a','[MALFORMED\x20TOOL_USE]\x20Extracted\x20from\x20flexible\x20pattern.\x20Name:\x20','request_too_large','WebSearch','error','assistant','WebFetch','ceil','message_stop','isArray','84zilbvX','[MALFORMED\x20TOOL_USE]\x20Detected\x20malformed\x20XML\x20format\x20with\x20separate\x20id\x20tag.\x20Name:\x20','[MALFORMED\x20TOOL_USE]\x20Missing\x20id\x20attribute,\x20generated\x20fallback.\x20Name:\x20','244628hSFWqk','indexOf','context\x20length','slice','input_schema','Tool\x20call\x20detected:\x20','index','Edit','12NoaHjh','>','&','end_turn','replace','</tool_use>','type','Input\x20is\x20too\x20long','\x20(generated)'];a54_0x46f8=function(){return _0x127e16;};return a54_0x46f8();}function escapeXmlContent(_0x421062){const _0x53f971=a54_0x3133;return _0x421062[_0x53f971(0x136)](/&/g,_0x53f971(0x1b9))['replace'](/</g,_0x53f971(0x176))[_0x53f971(0x136)](/>/g,_0x53f971(0x1b8));}export function extractToolResults(_0x244b42){const _0x4886ab=a54_0x3133;if(_0x244b42==null)return'';if(!Array[_0x4886ab(0x1ab)](_0x244b42))throw new SDKError(ErrorCode[_0x4886ab(0x171)],'Invalid\x20messages\x20type:\x20expected\x20array,\x20got\x20'+typeof _0x244b42);const _0x4abb47=[];for(const _0x31f585 of _0x244b42){if(!_0x31f585)continue;if(_0x31f585[_0x4886ab(0x193)]==='user'&&typeof _0x31f585[_0x4886ab(0x147)]!=='string'){if(!Array[_0x4886ab(0x1ab)](_0x31f585[_0x4886ab(0x147)]))throw new SDKError(ErrorCode[_0x4886ab(0x171)],_0x4886ab(0x15a)+typeof _0x31f585[_0x4886ab(0x147)]);for(const _0x14f1fd of _0x31f585[_0x4886ab(0x147)]){if(!_0x14f1fd)continue;if(_0x14f1fd[_0x4886ab(0x138)]==='tool_result'&&_0x14f1fd[_0x4886ab(0x16c)]){let _0x4954e6='';if(typeof _0x14f1fd['content']===_0x4886ab(0x145))_0x4954e6=_0x14f1fd[_0x4886ab(0x147)];else _0x14f1fd[_0x4886ab(0x147)]!=null&&Array[_0x4886ab(0x1ab)](_0x14f1fd['content'])&&(_0x4954e6=_0x14f1fd[_0x4886ab(0x147)]['filter'](_0x54d4ec=>_0x54d4ec&&_0x54d4ec['type']===_0x4886ab(0x16e)&&_0x54d4ec[_0x4886ab(0x16e)])[_0x4886ab(0x159)](_0x4d6381=>_0x4d6381[_0x4886ab(0x16e)])[_0x4886ab(0x17b)]('\x0a'));const _0x2984ea=escapeXmlContent(_0x4954e6),_0x35a1ed=_0x14f1fd[_0x4886ab(0x161)]?'\x20error=\x22true\x22':'';_0x4abb47['push']('<tool_result\x20tool_use_id=\x22'+_0x14f1fd['tool_use_id']+'\x22'+_0x35a1ed+'>\x0a'+_0x2984ea+_0x4886ab(0x184));}}}}if(_0x4abb47[_0x4886ab(0x14f)]===0x0)return'';return _0x4abb47[_0x4886ab(0x17b)]('\x0a\x0a');}function findJsonEndIndex(_0x1f327e,_0x2b1a24){const _0x5bf073=a54_0x3133;let _0x51dadf=0x0,_0x235585=![],_0x431a10=![];for(let _0x227fa6=_0x2b1a24;_0x227fa6<_0x1f327e[_0x5bf073(0x14f)];_0x227fa6++){const _0x177fd3=_0x1f327e[_0x227fa6];if(_0x431a10){_0x431a10=![];continue;}if(_0x177fd3==='\x5c'){_0x431a10=!![];continue;}if(_0x177fd3==='\x22'){_0x235585=!_0x235585;continue;}if(!_0x235585){if(_0x177fd3==='{')_0x51dadf++;else{if(_0x177fd3==='}'){_0x51dadf--;if(_0x51dadf===0x0)return _0x227fa6+0x1;}}}}return-0x1;}function repairIncompleteJson(_0x2e5e05,_0x1f769b){const _0x43481f=a54_0x3133;try{return JSON[_0x43481f(0x152)](_0x2e5e05),_0x2e5e05;}catch{let _0x297f69=_0x2e5e05;const _0x1bae9f=/("old_string"\s*:\s*"[^"]*")\s*,\s*("(?:[^"\\]|\\.)*")\s*\}/,_0x5600e5=_0x1bae9f['exec'](_0x297f69);if(_0x5600e5){_0x297f69=_0x297f69[_0x43481f(0x136)](_0x1bae9f,_0x43481f(0x16f));try{return JSON[_0x43481f(0x152)](_0x297f69),_0x1f769b&&_0x1f769b[_0x43481f(0x141)](_0x43481f(0x183)+_0x2e5e05+_0x43481f(0x178)+_0x297f69),_0x297f69;}catch{_0x297f69=_0x2e5e05;}}const _0x1314f4=[];let _0x4aa54c=![],_0x3bb58e=![];for(const _0x227e04 of _0x2e5e05){if(_0x3bb58e){_0x3bb58e=![];continue;}if(_0x227e04==='\x5c'){_0x3bb58e=!![];continue;}if(_0x227e04==='\x22'){_0x4aa54c=!_0x4aa54c;continue;}if(!_0x4aa54c){if(_0x227e04==='{')_0x1314f4[_0x43481f(0x157)]('{');else{if(_0x227e04==='[')_0x1314f4[_0x43481f(0x157)]('[');else{if(_0x227e04==='}'&&_0x1314f4[_0x1314f4['length']-0x1]==='{')_0x1314f4[_0x43481f(0x182)]();else _0x227e04===']'&&_0x1314f4[_0x1314f4[_0x43481f(0x14f)]-0x1]==='['&&_0x1314f4['pop']();}}}}_0x297f69=_0x2e5e05;_0x4aa54c&&(_0x297f69+='\x22');while(_0x1314f4[_0x43481f(0x14f)]>0x0){const _0x4bad5d=_0x1314f4['pop']();_0x297f69+=_0x4bad5d==='{'?'}':']';}try{return JSON[_0x43481f(0x152)](_0x297f69),_0x1f769b&&_0x297f69!==_0x2e5e05&&_0x1f769b[_0x43481f(0x141)](_0x43481f(0x174)+_0x2e5e05+'\x0a[After]:\x0a'+_0x297f69),_0x297f69;}catch{return null;}}}function tryParseJsonContent(_0x5f1688,_0xa58566){const _0x443133=a54_0x3133;if(!_0x5f1688)return null;try{return JSON[_0x443133(0x152)](_0x5f1688);}catch{const _0x51785b=repairIncompleteJson(_0x5f1688,_0xa58566);if(_0x51785b)try{return JSON[_0x443133(0x152)](_0x51785b);}catch{}return null;}}function tryMatchXmlPatterns(_0xc3d091,_0x104cad){const _0xe0eada=a54_0x3133;let _0x373750=null;for(const {pattern:_0x40e7f0,nameFirst:_0x3ee79d}of _0x104cad){const _0x4cfdc2=_0x40e7f0['exec'](_0xc3d091);_0x4cfdc2&&((!_0x373750||_0x4cfdc2['index']<_0x373750[_0xe0eada(0x14e)][_0xe0eada(0x1b5)])&&(_0x373750={'match':_0x4cfdc2,'name':_0x3ee79d?_0x4cfdc2[0x1]:_0x4cfdc2[0x2],'id':_0x3ee79d?_0x4cfdc2[0x2]:_0x4cfdc2[0x1],'jsonContent':_0x4cfdc2[0x3][_0xe0eada(0x163)]()}));}return _0x373750;}export function parseToolCallFromText(_0x246bb9,_0x3bd27f){const _0x3da32f=a54_0x3133,_0x2927f5=[{'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':![]}],_0x58a3f7=[{'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':![]}],_0x5b75b6=tryMatchXmlPatterns(_0x246bb9,_0x2927f5);if(_0x5b75b6){const {match:_0x33ed77,name:_0x14d6cd,id:_0x1db621,jsonContent:_0x59019f}=_0x5b75b6,_0x3c76ba=_0x33ed77['index'],_0x375e80=_0x3c76ba+_0x33ed77[0x0][_0x3da32f(0x14f)],_0x592166=tryParseJsonContent(_0x59019f,_0x3bd27f);if(_0x592166!==null)return{'id':_0x1db621,'name':_0x14d6cd,'input':_0x592166,'startIndex':_0x3c76ba,'endIndex':_0x375e80};if(!_0x59019f)return{'id':_0x1db621,'name':_0x14d6cd,'input':{},'startIndex':_0x3c76ba,'endIndex':_0x375e80};}const _0x2e5f02=/<tool_use\s+name="([^"]+)">\s*([\s\S]*?)\s*<\/tool_use>/,_0x4c251e=_0x2e5f02[_0x3da32f(0x167)](_0x246bb9);if(_0x4c251e){const _0x7fa19=_0x4c251e[0x1],_0x27911d=_0x4c251e[0x2]['trim'](),_0xfe0ef6=_0x4c251e['index'],_0x40bbf0=_0xfe0ef6+_0x4c251e[0x0][_0x3da32f(0x14f)],_0x5ed990='toolu_generated_'+Date['now']();_0x3bd27f?.[_0x3da32f(0x141)](_0x3da32f(0x1ae)+_0x7fa19+_0x3da32f(0x17d)+_0x5ed990+_0x3da32f(0x1a2)+_0x4c251e[0x0]);const _0x48da71=tryParseJsonContent(_0x27911d,_0x3bd27f);if(_0x48da71!==null)return{'id':_0x5ed990,'name':_0x7fa19,'input':_0x48da71,'startIndex':_0xfe0ef6,'endIndex':_0x40bbf0};if(!_0x27911d)return{'id':_0x5ed990,'name':_0x7fa19,'input':{},'startIndex':_0xfe0ef6,'endIndex':_0x40bbf0};}const _0x443e7e=tryMatchXmlPatterns(_0x246bb9,_0x58a3f7);if(_0x443e7e){const {match:_0x382789,name:_0x150c62,id:_0x1a9fed,jsonContent:_0x4e3383}=_0x443e7e,_0x4b6fb2=_0x382789[_0x3da32f(0x1b5)],_0x9a4308=_0x4b6fb2+_0x382789[0x0]['length'];_0x3bd27f?.[_0x3da32f(0x141)](_0x3da32f(0x1ad)+_0x150c62+_0x3da32f(0x17d)+_0x1a9fed+_0x3da32f(0x1a2)+_0x382789[0x0]);const _0x42b4bc=tryParseJsonContent(_0x4e3383,_0x3bd27f);if(_0x42b4bc!==null)return{'id':_0x1a9fed,'name':_0x150c62,'input':_0x42b4bc,'startIndex':_0x4b6fb2,'endIndex':_0x9a4308};if(!_0x4e3383)return{'id':_0x1a9fed,'name':_0x150c62,'input':{},'startIndex':_0x4b6fb2,'endIndex':_0x9a4308};}const _0x448c2a=/<tool_use([^>]*)>([\s\S]*?)<\/tool_use>/,_0x54a1c6=_0x448c2a[_0x3da32f(0x167)](_0x246bb9);if(_0x54a1c6){const _0x2b9a8a=_0x54a1c6[0x1],_0x3d8247=_0x54a1c6[0x2],_0xa1c990=_0x54a1c6[_0x3da32f(0x1b5)],_0x542d6e=_0xa1c990+_0x54a1c6[0x0][_0x3da32f(0x14f)],_0x7367c=/name="([^"]+)"/[_0x3da32f(0x167)](_0x2b9a8a),_0x3cba34=/id="([^"]+)"/[_0x3da32f(0x167)](_0x2b9a8a),_0x1e0e1a=/tool_use_name="([^"]+)"/[_0x3da32f(0x167)](_0x3d8247),_0x229a89=/tool_use_id="([^"]+)"/[_0x3da32f(0x167)](_0x3d8247),_0x1ba2ee=_0x7367c?.[0x1]||_0x1e0e1a?.[0x1],_0x99bb58=_0x3cba34?.[0x1]||_0x229a89?.[0x1];if(_0x1ba2ee){const _0xab110=_0x99bb58||_0x3da32f(0x185)+Date['now'](),_0x53a2ff=_0x3d8247[_0x3da32f(0x15f)]('{');let _0xed2b88='';if(_0x53a2ff!==-0x1){const _0x215d4a=_0x3d8247['substring'](_0x53a2ff),_0x5c3a00=/^\{[\s\S]*?\}/[_0x3da32f(0x167)](_0x215d4a);_0xed2b88=_0x5c3a00?.[0x0]?.[_0x3da32f(0x163)]()||'';}const _0x5d6df3=!_0x99bb58;_0x3bd27f?.[_0x3da32f(0x141)](_0x3da32f(0x1a3)+_0x1ba2ee+_0x3da32f(0x17d)+_0xab110+(_0x5d6df3?_0x3da32f(0x13a):'')+_0x3da32f(0x1a2)+_0x54a1c6[0x0]);const _0x3b6254=tryParseJsonContent(_0xed2b88,_0x3bd27f);if(_0x3b6254!==null)return{'id':_0xab110,'name':_0x1ba2ee,'input':_0x3b6254,'startIndex':_0xa1c990,'endIndex':_0x542d6e};if(!_0xed2b88)return{'id':_0xab110,'name':_0x1ba2ee,'input':{},'startIndex':_0xa1c990,'endIndex':_0x542d6e};}}const _0x27f49a=[_0x3da32f(0x1b6),_0x3da32f(0x192),'Write',_0x3da32f(0x13d),_0x3da32f(0x19e),_0x3da32f(0x153),_0x3da32f(0x158),_0x3da32f(0x1a1),_0x3da32f(0x1a8),_0x3da32f(0x1a5),_0x3da32f(0x18e),_0x3da32f(0x172)];for(const _0x3be217 of _0x27f49a){const _0x5e1b32=new RegExp('<'+_0x3be217+_0x3da32f(0x17f)+_0x3be217+'>','i'),_0x4d651d=_0x5e1b32[_0x3da32f(0x167)](_0x246bb9);if(_0x4d651d){const _0x430df9=_0x4d651d[0x1],_0xa3ddd6=_0x4d651d[_0x3da32f(0x1b5)],_0x17547a=_0xa3ddd6+_0x4d651d[0x0]['length'],_0x6d7c30='toolu_generated_'+Date[_0x3da32f(0x19a)](),_0xdcdcf5={},_0x4ba98b=/<([a-z_]+)>([\s\S]*?)<\/\1>/gi;let _0x240a17;while((_0x240a17=_0x4ba98b[_0x3da32f(0x167)](_0x430df9))!==null){const _0x2b3b83=_0x240a17[0x1],_0x37be58=_0x240a17[0x2][_0x3da32f(0x163)]();try{_0xdcdcf5[_0x2b3b83]=JSON[_0x3da32f(0x152)](_0x37be58);}catch{_0xdcdcf5[_0x2b3b83]=_0x37be58;}}return _0x3bd27f?.[_0x3da32f(0x141)](_0x3da32f(0x15d)+_0x3be217+_0x3da32f(0x17d)+_0x6d7c30+_0x3da32f(0x1a2)+_0x4d651d[0x0]),{'id':_0x6d7c30,'name':_0x3be217,'input':_0xdcdcf5,'startIndex':_0xa3ddd6,'endIndex':_0x17547a};}}const _0x25d90d=/\{"tool_use":/g,_0x4b3b36=_0x25d90d['exec'](_0x246bb9);if(!_0x4b3b36)return null;const _0x240efa=_0x4b3b36[_0x3da32f(0x1b5)];let _0x7d50b7=findJsonEndIndex(_0x246bb9,_0x240efa);if(_0x7d50b7===-0x1)return null;const _0x28afc6=_0x246bb9['substring'](_0x240efa,_0x7d50b7);try{const _0x36fa54=JSON[_0x3da32f(0x152)](_0x28afc6);if(_0x36fa54[_0x3da32f(0x13e)]&&_0x36fa54[_0x3da32f(0x13e)]['id']&&_0x36fa54[_0x3da32f(0x13e)][_0x3da32f(0x14b)])return{'id':_0x36fa54['tool_use']['id'],'name':_0x36fa54[_0x3da32f(0x13e)]['name'],'input':_0x36fa54[_0x3da32f(0x13e)][_0x3da32f(0x198)]||{},'startIndex':_0x240efa,'endIndex':_0x7d50b7};}catch{const _0x275b86=repairIncompleteJson(_0x28afc6,_0x3bd27f);if(_0x275b86)try{const _0x8e8c3a=JSON[_0x3da32f(0x152)](_0x275b86);if(_0x8e8c3a[_0x3da32f(0x13e)]&&_0x8e8c3a[_0x3da32f(0x13e)]['id']&&_0x8e8c3a['tool_use']['name'])return{'id':_0x8e8c3a[_0x3da32f(0x13e)]['id'],'name':_0x8e8c3a['tool_use'][_0x3da32f(0x14b)],'input':_0x8e8c3a['tool_use'][_0x3da32f(0x198)]||{},'startIndex':_0x240efa,'endIndex':_0x7d50b7};}catch{return null;}return null;}return null;}export function*generateToolCallBlockEvents(_0x295790,_0x42fb19){const _0x3c25bf=a54_0x3133,_0xbb7164={'type':'content_block_start','index':_0x42fb19,'content_block':{'type':'tool_use','id':_0x295790['id'],'name':_0x295790['name'],'input':{}}};yield _0xbb7164;const _0x4320c3=JSON['stringify'](_0x295790[_0x3c25bf(0x198)]),_0x4b9feb={'type':_0x3c25bf(0x150),'index':_0x42fb19,'delta':{'type':'input_json_delta','partial_json':_0x4320c3}};yield _0x4b9feb;const _0x5bf208={'type':_0x3c25bf(0x173),'index':_0x42fb19};yield _0x5bf208;}export function*generateToolCallEvents(_0x2d20de,_0x290eb0,_0x3eedc8){const _0x5ad516=a54_0x3133;yield*generateToolCallBlockEvents(_0x2d20de,_0x290eb0);const _0x4cf26e={'type':_0x5ad516(0x15c),'delta':{'stop_reason':_0x5ad516(0x13e),'stop_sequence':null},'usage':{'input_tokens':_0x3eedc8,'output_tokens':0x0}};yield _0x4cf26e;const _0x3646bf={'type':_0x5ad516(0x1aa)};yield _0x3646bf;}function a54_0x3133(_0x5a7497,_0x20fd25){_0x5a7497=_0x5a7497-0x136;const _0x46f881=a54_0x46f8();let _0x3133a3=_0x46f881[_0x5a7497];return _0x3133a3;}export async function*transformTDStreamToAnthropic(_0x10e31d,_0x16c1e2,_0x15a600,_0x174ffd,_0x6e2c0c='',_0x3d6c3d=0x0){const _0x282eae=a54_0x3133,_0x3a7dd5=_0x3d6c3d>0x0?_0x3d6c3d:estimateTokenCount(_0x6e2c0c);let _0x1a0a6a=0x0,_0x513a8e=0x0,_0x1534a0=![],_0x5094b7=null,_0x58879f='',_0x448910=0x0,_0x419902=![];const _0x37ce0e=0xc8,_0x348948={'type':_0x282eae(0x19d),'message':{'id':_0x16c1e2,'type':'message','role':_0x282eae(0x1a7),'content':[],'model':_0x15a600,'stop_reason':null,'stop_sequence':null,'usage':{'input_tokens':_0x3a7dd5,'output_tokens':0x0}}};yield _0x348948;for await(const _0x104089 of _0x10e31d){if(_0x282eae(0x170)in _0x104089){const _0x57f97f=_0x104089;if(!_0x1534a0){const _0x3c0ad8={'type':_0x282eae(0x18f),'index':_0x513a8e,'content_block':{'type':_0x282eae(0x15b),'thinking':''}};yield _0x3c0ad8,_0x1534a0=!![],_0x5094b7=_0x282eae(0x15b);}const _0x3c5a57={'type':_0x282eae(0x150),'index':_0x513a8e,'delta':{'type':_0x282eae(0x191),'thinking':_0x57f97f[_0x282eae(0x170)]}};yield _0x3c5a57,_0x1a0a6a+=estimateTokenCount(_0x57f97f[_0x282eae(0x170)]);}else{if('content'in _0x104089){const _0x41f454=_0x104089;if(_0x1534a0&&_0x5094b7===_0x282eae(0x15b)){const _0x193ce7={'type':_0x282eae(0x173),'index':_0x513a8e};yield _0x193ce7,_0x513a8e++,_0x1534a0=![],_0x5094b7=null;}_0x58879f+=_0x41f454[_0x282eae(0x147)];const _0x5f3411=_0x58879f[_0x282eae(0x1b0)](_0x282eae(0x144)),_0x4dd376=_0x58879f[_0x282eae(0x1b0)](_0x282eae(0x156)),_0x3e77db=[_0x5f3411,_0x4dd376][_0x282eae(0x17c)](_0x44886f=>_0x44886f!==-0x1),_0x446067=_0x3e77db[_0x282eae(0x14f)]>0x0?Math[_0x282eae(0x148)](..._0x3e77db):-0x1;if(_0x446067!==-0x1){const _0x52dd92=[];let _0x320afb=0x0;while(!![]){const _0x3aaa01=_0x58879f[_0x282eae(0x190)](_0x320afb),_0xe3b520=parseToolCallFromText(_0x3aaa01,_0x174ffd);if(!_0xe3b520)break;_0x52dd92[_0x282eae(0x157)]({'id':_0xe3b520['id'],'name':_0xe3b520[_0x282eae(0x14b)],'input':_0xe3b520[_0x282eae(0x198)],'startIndex':_0x320afb+_0xe3b520[_0x282eae(0x17a)],'endIndex':_0x320afb+_0xe3b520[_0x282eae(0x164)]}),_0x320afb+=_0xe3b520[_0x282eae(0x164)];}if(_0x52dd92[_0x282eae(0x14f)]>0x0){const _0x56964d=_0x52dd92[_0x52dd92[_0x282eae(0x14f)]-0x1];_0x419902=!![];if(_0x52dd92[_0x282eae(0x14f)]>0x1){const _0x35f01d=_0x52dd92[_0x282eae(0x1b2)](0x0,-0x1)[_0x282eae(0x159)](_0x3d39bf=>_0x3d39bf['name']);_0x174ffd?.[_0x282eae(0x141)](_0x282eae(0x18a)+_0x52dd92[_0x282eae(0x14f)]+_0x282eae(0x196)+(_0x282eae(0x186)+_0x56964d['name']+').\x20Ignored:\x20'+_0x35f01d['join'](',\x20')));}else _0x174ffd?.['debug'](_0x282eae(0x1b4)+_0x56964d['name']);const _0x2d2e69=_0x58879f[_0x282eae(0x190)](_0x448910,_0x56964d[_0x282eae(0x17a)])['trim']();if(_0x2d2e69){if(!_0x1534a0){const _0x5d8882={'type':_0x282eae(0x18f),'index':_0x513a8e,'content_block':{'type':_0x282eae(0x16e),'text':''}};yield _0x5d8882,_0x1534a0=!![],_0x5094b7=_0x282eae(0x16e);}const _0x553df0={'type':_0x282eae(0x150),'index':_0x513a8e,'delta':{'type':'text_delta','text':_0x2d2e69}};yield _0x553df0,_0x1a0a6a+=estimateTokenCount(_0x2d2e69);}if(_0x1534a0){const _0x39b996={'type':'content_block_stop','index':_0x513a8e};yield _0x39b996,_0x513a8e++,_0x1534a0=![],_0x5094b7=null;}for(const _0x470e4e of generateToolCallEvents(_0x56964d,_0x513a8e,_0x3a7dd5)){_0x470e4e[_0x282eae(0x138)]===_0x282eae(0x15c)&&(_0x470e4e['usage']['output_tokens']=_0x1a0a6a),yield _0x470e4e;}return;}const _0x1cd69f=_0x58879f[_0x282eae(0x155)]('<tool_use')&&_0x58879f[_0x282eae(0x155)](_0x282eae(0x137)),_0x152bb5=_0x58879f[_0x282eae(0x155)]('{\x22tool_use\x22:')&&findJsonEndIndex(_0x58879f,_0x58879f[_0x282eae(0x1b0)](_0x282eae(0x156)))!==-0x1;if(_0x1cd69f||_0x152bb5){_0x419902=!![];let _0x339ff1='';if(_0x1cd69f){const _0x2756a3=_0x58879f[_0x282eae(0x1b0)](_0x282eae(0x144)),_0x1e7f11=_0x58879f['indexOf'](_0x282eae(0x137),_0x2756a3);_0x1e7f11!==-0x1?_0x339ff1=_0x58879f[_0x282eae(0x190)](_0x2756a3,_0x1e7f11+'</tool_use>'['length']):_0x339ff1=_0x58879f['substring'](_0x2756a3);}else{if(_0x152bb5){const _0xf49afd=_0x58879f[_0x282eae(0x1b0)](_0x282eae(0x156)),_0x139f87=findJsonEndIndex(_0x58879f,_0xf49afd);_0x139f87!==-0x1?_0x339ff1=_0x58879f['substring'](_0xf49afd,_0x139f87):_0x339ff1=_0x58879f[_0x282eae(0x190)](_0xf49afd);}}_0x174ffd&&_0x174ffd['error'](_0x282eae(0x199)+_0x339ff1);_0x174ffd?.['debug']('Malformed\x20tool_use\x20JSON\x20detected'),_0x174ffd?.[_0x282eae(0x15e)](_0x282eae(0x189),_0x339ff1);const _0x16b63b=_0x58879f['substring'](_0x448910,_0x446067)[_0x282eae(0x163)]();if(_0x16b63b){if(!_0x1534a0){const _0x2f6b9d={'type':_0x282eae(0x18f),'index':_0x513a8e,'content_block':{'type':'text','text':''}};yield _0x2f6b9d,_0x1534a0=!![],_0x5094b7=_0x282eae(0x16e);}const _0xf07f8d={'type':_0x282eae(0x150),'index':_0x513a8e,'delta':{'type':_0x282eae(0x18c),'text':_0x16b63b}};yield _0xf07f8d,_0x1a0a6a+=estimateTokenCount(_0x16b63b);}if(_0x1534a0){const _0x4a86a0={'type':'content_block_stop','index':_0x513a8e};yield _0x4a86a0,_0x513a8e++,_0x1534a0=![],_0x5094b7=null;}const _0x569e23=_0x282eae(0x16b)+_0x339ff1+_0x282eae(0x18b),_0x41c69e={'type':'content_block_start','index':_0x513a8e,'content_block':{'type':'text','text':''}};yield _0x41c69e,_0x5094b7='text';const _0xc6751b={'type':_0x282eae(0x150),'index':_0x513a8e,'delta':{'type':_0x282eae(0x18c),'text':_0x569e23}};yield _0xc6751b;const _0x15c53c={'type':'content_block_stop','index':_0x513a8e};yield _0x15c53c;const _0x4c1477={'type':'message_delta','delta':{'stop_reason':_0x282eae(0x1ba),'stop_sequence':null},'usage':{'input_tokens':_0x3a7dd5,'output_tokens':_0x1a0a6a}};yield _0x4c1477;const _0x24a847={'type':'message_stop'};yield _0x24a847;return;}const _0x2e839d=_0x58879f[_0x282eae(0x190)](_0x448910,_0x446067);if(_0x2e839d){if(!_0x1534a0){const _0x541aa3={'type':'content_block_start','index':_0x513a8e,'content_block':{'type':'text','text':''}};yield _0x541aa3,_0x1534a0=!![],_0x5094b7=_0x282eae(0x16e);}const _0x377bd5={'type':'content_block_delta','index':_0x513a8e,'delta':{'type':_0x282eae(0x18c),'text':_0x2e839d}};yield _0x377bd5,_0x1a0a6a+=estimateTokenCount(_0x2e839d),_0x448910=_0x446067;}continue;}const _0x4f26da=_0x58879f['length']-_0x37ce0e;if(_0x4f26da>_0x448910){const _0xd63940=_0x58879f['substring'](_0x448910,_0x4f26da);if(_0xd63940){if(!_0x1534a0){const _0x3114b3={'type':'content_block_start','index':_0x513a8e,'content_block':{'type':_0x282eae(0x16e),'text':''}};yield _0x3114b3,_0x1534a0=!![],_0x5094b7=_0x282eae(0x16e);}const _0x1549e5={'type':_0x282eae(0x150),'index':_0x513a8e,'delta':{'type':_0x282eae(0x18c),'text':_0xd63940}};yield _0x1549e5,_0x1a0a6a+=estimateTokenCount(_0xd63940),_0x448910=_0x4f26da;}}}else{if('error'in _0x104089){const _0x4bcbc4=_0x104089,_0x6a54b=determineErrorType(_0x4bcbc4[_0x282eae(0x1a6)],_0x174ffd),_0x2704cb=_0x6a54b===_0x282eae(0x1a4)?_0x282eae(0x165):_0x282eae(0x1ba),_0x3430d8={'type':'message_delta','delta':{'stop_reason':_0x2704cb,'stop_sequence':null},'usage':{'input_tokens':_0x3a7dd5,'output_tokens':_0x1a0a6a}};yield _0x3430d8,yield{'type':_0x282eae(0x1a6),'error':{'type':_0x6a54b,'message':_0x4bcbc4['error']},'request_id':_0x16c1e2};const _0x139336={'type':_0x282eae(0x1aa)};yield _0x139336;return;}}}}if(!_0x419902){const _0x4ba002=_0x58879f['substring'](_0x448910);if(_0x4ba002){if(!_0x1534a0){const _0x4d638a={'type':'content_block_start','index':_0x513a8e,'content_block':{'type':_0x282eae(0x16e),'text':''}};yield _0x4d638a,_0x1534a0=!![],_0x5094b7='text';}const _0x49d20={'type':'content_block_delta','index':_0x513a8e,'delta':{'type':_0x282eae(0x18c),'text':_0x4ba002}};yield _0x49d20,_0x1a0a6a+=estimateTokenCount(_0x4ba002);}if(_0x1534a0){const _0x5ba45f={'type':'content_block_stop','index':_0x513a8e};yield _0x5ba45f;}const _0x47a8a1={'type':_0x282eae(0x15c),'delta':{'stop_reason':'end_turn','stop_sequence':null},'usage':{'input_tokens':_0x3a7dd5,'output_tokens':_0x1a0a6a}};yield _0x47a8a1;const _0x24fd2b={'type':_0x282eae(0x1aa)};yield _0x24fd2b;}}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','<','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','>','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,'&')[_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(_0x9f6603,_0xbc8376){const _0x5a6cd3=a55_0x2dff,_0x3ec2d5=_0x9f6603();while(!![]){try{const _0x241bfa=parseInt(_0x5a6cd3(0x177))/0x1*(-parseInt(_0x5a6cd3(0x16b))/0x2)+parseInt(_0x5a6cd3(0x185))/0x3*(-parseInt(_0x5a6cd3(0x16e))/0x4)+-parseInt(_0x5a6cd3(0x182))/0x5*(parseInt(_0x5a6cd3(0x181))/0x6)+parseInt(_0x5a6cd3(0x194))/0x7+-parseInt(_0x5a6cd3(0x18a))/0x8+-parseInt(_0x5a6cd3(0x193))/0x9*(-parseInt(_0x5a6cd3(0x16d))/0xa)+parseInt(_0x5a6cd3(0x17c))/0xb;if(_0x241bfa===_0xbc8376)break;else _0x3ec2d5['push'](_0x3ec2d5['shift']());}catch(_0x13b7a3){_0x3ec2d5['push'](_0x3ec2d5['shift']());}}}(a55_0x5cf4,0xb0c86));function a55_0x2dff(_0x211207,_0x4e95ff){_0x211207=_0x211207-0x16b;const _0x5cf463=a55_0x5cf4();let _0x2dffc0=_0x5cf463[_0x211207];return _0x2dffc0;}import{readFile,writeFile,appendFile,mkdir,readdir,stat}from'node:fs/promises';import{existsSync}from'node:fs';import{join,resolve}from'node:path';import{homedir}from'node:os';import{getModelFactor,calculateChatUnit,calculateCredits}from'../sdk/llm/model-factors.js';import{TDXLogger,LogLevel}from'../utils/tdx-logger.js';let usageLogger=null;async function getLogger(){const _0x5c7713=a55_0x2dff;return!usageLogger&&(usageLogger=new TDXLogger(LogLevel[_0x5c7713(0x17b)],!![]),await usageLogger[_0x5c7713(0x174)]()),usageLogger;}function getUsageDir(){const _0x543735=a55_0x2dff;return join(homedir(),_0x543735(0x1a5),_0x543735(0x19f),_0x543735(0x19d));}function a55_0x5cf4(){const _0xafec38=['4450896mABbGH','default','contextSignature','.jsonl:','latestInputTokensByContext','model','entryCount','monthly','daily','2925ElfzrV','9976015JpMrBx','getTime','Invalid\x20session\x20ID:\x20path\x20traversal\x20detected','.jsonl','mtime','message','lastUsedAt','profiles','entries','claude-usage','timestamp','tdx','values','endsWith','month','keys','startsWith','.cache','toISOString','lastUpdatedAt','4wWcoGL','map','24070aJgtzh','4RdxRAX','warn','replace','inputTokens','split','object','init','sessions','todayDate','306526nUXJPx','filter','reduce','Failed\x20to\x20process\x20session\x20','WARN','20490899Oaagqa','stringify','trim','utf-8','getFullYear','750cIekYK','37755PDtlnX','parse','slice','3698514YIrhuF','todayChatUnits','monthChatUnits','totalChatUnits','length'];a55_0x5cf4=function(){return _0xafec38;};return a55_0x5cf4();}function sanitizeSessionId(_0x390320){const _0x37359e=a55_0x2dff;return _0x390320[_0x37359e(0x170)](/[^a-zA-Z0-9_-]/g,'_');}function getSafeJsonlPath(_0x1d258b){const _0x4fb72b=a55_0x2dff,_0x32082a=getUsageDir(),_0x23ffa6=sanitizeSessionId(_0x1d258b),_0x165dda=resolve(_0x32082a,_0x23ffa6+_0x4fb72b(0x197));if(!_0x165dda[_0x4fb72b(0x1a4)](_0x32082a))throw new Error(_0x4fb72b(0x196));return _0x165dda;}function getStatsCachePath(){return join(getUsageDir(),'stats-cache.json');}async function ensureUsageDir(){const _0x251aef=getUsageDir();!existsSync(_0x251aef)&&await mkdir(_0x251aef,{'recursive':!![]});}export async function appendUsageEntry(_0xd9929c,_0x3a8192){const _0x21d40e=a55_0x2dff,_0x39f3be=sanitizeSessionId(_0xd9929c);await ensureUsageDir();const _0x38c5b5=getSafeJsonlPath(_0x39f3be),_0x10fd2f=JSON['stringify'](_0x3a8192)+'\x0a';await appendFile(_0x38c5b5,_0x10fd2f,_0x21d40e(0x17f));}async function readSessionJsonl(_0x2b3098){const _0xc6fff9=a55_0x2dff,_0x22682f=getSafeJsonlPath(_0x2b3098);if(!existsSync(_0x22682f))return[];try{const _0x2b5fca=await readFile(_0x22682f,'utf-8'),_0x37aee3=_0x2b5fca[_0xc6fff9(0x17e)]()[_0xc6fff9(0x172)]('\x0a')[_0xc6fff9(0x178)](Boolean);return _0x37aee3[_0xc6fff9(0x16c)](_0x1ab50c=>{const _0x335a78=_0xc6fff9;try{return JSON[_0x335a78(0x183)](_0x1ab50c);}catch{return null;}})['filter'](_0x1f350f=>_0x1f350f!==null);}catch(_0x303dde){const _0x3eca98=await getLogger();return _0x3eca98[_0xc6fff9(0x16f)]('Failed\x20to\x20read\x20usage\x20file\x20'+_0x2b3098+_0xc6fff9(0x18d),_0x303dde instanceof Error?_0x303dde[_0xc6fff9(0x199)]:String(_0x303dde)),[];}}async function getAllSessionFiles(){const _0x2d8415=a55_0x2dff,_0x2aa281=getUsageDir();if(!existsSync(_0x2aa281))return[];try{const _0x3f9422=await readdir(_0x2aa281);return _0x3f9422[_0x2d8415(0x178)](_0x46e252=>_0x46e252[_0x2d8415(0x1a1)](_0x2d8415(0x197)))[_0x2d8415(0x16c)](_0x45015c=>_0x45015c[_0x2d8415(0x170)]('.jsonl',''));}catch(_0xc4cfb6){const _0x39fb0f=await getLogger();return _0x39fb0f['warn']('Failed\x20to\x20read\x20usage\x20directory:',_0xc4cfb6 instanceof Error?_0xc4cfb6['message']:String(_0xc4cfb6)),[];}}async function readStatsCache(){const _0x2d7464=a55_0x2dff,_0xa18285=getStatsCachePath();if(!existsSync(_0xa18285))return null;try{const _0x21b6b4=await readFile(_0xa18285,_0x2d7464(0x17f));return JSON[_0x2d7464(0x183)](_0x21b6b4);}catch{return null;}}async function writeStatsCache(_0x458f18){const _0x27b77e=a55_0x2dff;await ensureUsageDir();const _0x2ae634=getStatsCachePath();await writeFile(_0x2ae634,JSON[_0x27b77e(0x17d)](_0x458f18,null,0x2),_0x27b77e(0x17f));}async function isCacheUpToDate(_0x13a3ff,_0x2a87e5){const _0x4b46f0=a55_0x2dff,_0x2d4034=_0x13a3ff[_0x4b46f0(0x175)][_0x2a87e5];if(!_0x2d4034)return![];const _0x4fd687=getSafeJsonlPath(_0x2a87e5);if(!existsSync(_0x4fd687))return!![];try{const _0x417010=await stat(_0x4fd687),_0x27d145=new Date(_0x2d4034['lastUpdatedAt'])['getTime'](),_0x55f8c6=_0x417010[_0x4b46f0(0x198)][_0x4b46f0(0x195)]();return _0x27d145>_0x55f8c6;}catch{return![];}}export async function rebuildCache(){const _0x2ec469=a55_0x2dff,_0xa7d2cc=new Date(),_0xbc27d6=_0xa7d2cc[_0x2ec469(0x1a6)]()[_0x2ec469(0x184)](0x0,0xa),_0x176718=_0xa7d2cc[_0x2ec469(0x1a6)]()[_0x2ec469(0x184)](0x0,0x7),_0x217a03={'daily':{},'monthly':{},'sessions':{},'profiles':{},'lastRebuiltAt':_0xa7d2cc['toISOString']()},_0x15446b=await getAllSessionFiles();for(const _0x2d61ec of _0x15446b){try{const _0x31105c=await readSessionJsonl(_0x2d61ec);if(_0x31105c[_0x2ec469(0x189)]===0x0)continue;let _0x277014=0x0;const _0x5436f2={};let _0x24ea7b='';for(const _0x2b9a08 of _0x31105c){const _0x3e4d48=getModelFactor(_0x2b9a08[_0x2ec469(0x18f)]),_0x3113a9=calculateChatUnit(_0x2b9a08[_0x2ec469(0x171)],_0x2b9a08['outputTokens'],_0x3e4d48);_0x277014+=_0x3113a9;const _0x3a59bd=_0x2b9a08[_0x2ec469(0x18c)]||'default';_0x5436f2[_0x3a59bd]=_0x2b9a08['inputTokens'];_0x2b9a08[_0x2ec469(0x19e)]>_0x24ea7b&&(_0x24ea7b=_0x2b9a08[_0x2ec469(0x19e)]);const _0x28eecb=_0x2b9a08[_0x2ec469(0x19e)][_0x2ec469(0x184)](0x0,0xa);!_0x217a03[_0x2ec469(0x192)][_0x28eecb]&&(_0x217a03[_0x2ec469(0x192)][_0x28eecb]={'totalChatUnits':0x0,'entryCount':0x0});_0x217a03[_0x2ec469(0x192)][_0x28eecb][_0x2ec469(0x188)]+=_0x3113a9,_0x217a03[_0x2ec469(0x192)][_0x28eecb][_0x2ec469(0x190)]+=0x1;const _0x168721=_0x2b9a08[_0x2ec469(0x19e)][_0x2ec469(0x184)](0x0,0x7);!_0x217a03[_0x2ec469(0x191)][_0x168721]&&(_0x217a03[_0x2ec469(0x191)][_0x168721]={'totalChatUnits':0x0,'entryCount':0x0});_0x217a03[_0x2ec469(0x191)][_0x168721][_0x2ec469(0x188)]+=_0x3113a9,_0x217a03[_0x2ec469(0x191)][_0x168721]['entryCount']+=0x1;const _0x343242=_0x2b9a08['profile']||_0x2ec469(0x18b);!_0x217a03[_0x2ec469(0x19b)][_0x343242]&&(_0x217a03[_0x2ec469(0x19b)][_0x343242]={'totalChatUnits':0x0,'entryCount':0x0,'lastUsedAt':'','todayChatUnits':0x0,'todayDate':_0xbc27d6,'monthChatUnits':0x0,'month':_0x176718}),_0x217a03[_0x2ec469(0x19b)][_0x343242][_0x2ec469(0x188)]+=_0x3113a9,_0x217a03['profiles'][_0x343242][_0x2ec469(0x190)]+=0x1,_0x2b9a08[_0x2ec469(0x19e)]>_0x217a03['profiles'][_0x343242]['lastUsedAt']&&(_0x217a03[_0x2ec469(0x19b)][_0x343242]['lastUsedAt']=_0x2b9a08[_0x2ec469(0x19e)]),_0x28eecb===_0xbc27d6&&(_0x217a03['profiles'][_0x343242]['todayChatUnits']+=_0x3113a9),_0x168721===_0x176718&&(_0x217a03[_0x2ec469(0x19b)][_0x343242][_0x2ec469(0x187)]+=_0x3113a9);}_0x217a03[_0x2ec469(0x175)][_0x2d61ec]={'totalChatUnits':_0x277014,'latestInputTokensByContext':_0x5436f2,'createdAt':_0x31105c[0x0]['timestamp'],'lastUpdatedAt':_0x24ea7b};}catch(_0x2f5f75){const _0x1c00d2=await getLogger();_0x1c00d2[_0x2ec469(0x16f)](_0x2ec469(0x17a)+_0x2d61ec+':',_0x2f5f75 instanceof Error?_0x2f5f75[_0x2ec469(0x199)]:String(_0x2f5f75));continue;}}return cleanupOldEntries(_0x217a03),await writeStatsCache(_0x217a03),_0x217a03;}function cleanupOldEntries(_0x5e11c1){const _0x3acafa=a55_0x2dff,_0x28aa52=new Date(),_0x1dc131=new Date(_0x28aa52[_0x3acafa(0x195)]()-0x7*0x18*0x3c*0x3c*0x3e8);for(const _0x2c5f42 of Object[_0x3acafa(0x1a3)](_0x5e11c1[_0x3acafa(0x192)])){new Date(_0x2c5f42)<_0x1dc131&&delete _0x5e11c1[_0x3acafa(0x192)][_0x2c5f42];}const _0x50efd2=new Date(_0x28aa52[_0x3acafa(0x180)]()-0x1,_0x28aa52['getMonth'](),0x1);for(const _0x4fe943 of Object[_0x3acafa(0x1a3)](_0x5e11c1['monthly'])){const [_0xffeaf4,_0x264ad5]=_0x4fe943[_0x3acafa(0x172)]('-')[_0x3acafa(0x16c)](Number),_0x50f024=new Date(_0xffeaf4,_0x264ad5-0x1,0x1);_0x50f024<_0x50efd2&&delete _0x5e11c1[_0x3acafa(0x191)][_0x4fe943];}const _0x248545=new Date(_0x28aa52[_0x3acafa(0x195)]()-0x1e*0x18*0x3c*0x3c*0x3e8);for(const [_0xfcb001,_0x3b5ee3]of Object[_0x3acafa(0x19c)](_0x5e11c1['sessions'])){new Date(_0x3b5ee3[_0x3acafa(0x1a7)])<_0x248545&&delete _0x5e11c1['sessions'][_0xfcb001];}}export async function getOrUpdateCache(_0x4f2af7){const _0x1acdbc=_0x4f2af7?sanitizeSessionId(_0x4f2af7):undefined,_0x3a9723=await readStatsCache();if(!_0x3a9723)return rebuildCache();if(_0x1acdbc){const _0x33688f=await isCacheUpToDate(_0x3a9723,_0x1acdbc);if(!_0x33688f)return rebuildCache();}return _0x3a9723;}export async function getSessionCredits(_0x16313d){const _0x3ac769=a55_0x2dff,_0x5bb7e9=sanitizeSessionId(_0x16313d),_0x7ee98d=await getOrUpdateCache(_0x5bb7e9),_0x2d54f8=_0x7ee98d[_0x3ac769(0x175)][_0x5bb7e9];if(!_0x2d54f8)return 0x0;return calculateCredits(_0x2d54f8['totalChatUnits']);}export async function getTodayCredits(){const _0x20c562=a55_0x2dff,_0x9ffc13=await getOrUpdateCache(),_0x17634a=new Date()[_0x20c562(0x1a6)]()[_0x20c562(0x184)](0x0,0xa),_0x52d4ad=_0x9ffc13[_0x20c562(0x192)][_0x17634a];if(!_0x52d4ad)return 0x0;return calculateCredits(_0x52d4ad['totalChatUnits']);}export async function getMonthCredits(){const _0x4e9e3e=a55_0x2dff,_0x1753a8=await getOrUpdateCache(),_0x30ad8f=new Date()[_0x4e9e3e(0x1a6)]()['slice'](0x0,0x7),_0xb8bab=_0x1753a8[_0x4e9e3e(0x191)][_0x30ad8f];if(!_0xb8bab)return 0x0;return calculateCredits(_0xb8bab[_0x4e9e3e(0x188)]);}export async function getSessionStats(_0xaef2aa){const _0x1aceba=a55_0x2dff,_0x200869=sanitizeSessionId(_0xaef2aa),_0x384da4=await getOrUpdateCache(_0x200869);return _0x384da4[_0x1aceba(0x175)][_0x200869]||null;}function getMaxLatestInputTokens(_0x5961f9){const _0xadf7f1=a55_0x2dff,_0x250e89=Object[_0xadf7f1(0x1a0)](_0x5961f9);if(_0x250e89[_0xadf7f1(0x189)]===0x0)return 0x0;return Math['max'](..._0x250e89);}export async function getUsageStats(_0x55f14d,_0x4dd359){const _0x27d1d9=a55_0x2dff,_0x136f27=sanitizeSessionId(_0x55f14d),_0x17530c=await getOrUpdateCache(_0x136f27),_0x227d5d=_0x17530c[_0x27d1d9(0x175)][_0x136f27],_0x3da263=new Date()[_0x27d1d9(0x1a6)]()['slice'](0x0,0xa),_0x3dca11=new Date()[_0x27d1d9(0x1a6)]()[_0x27d1d9(0x184)](0x0,0x7);if(_0x4dd359){const _0x2231b8=_0x17530c[_0x27d1d9(0x19b)]?.[_0x4dd359],_0x3033a3=_0x2231b8?.[_0x27d1d9(0x176)]===_0x3da263?calculateCredits(_0x2231b8[_0x27d1d9(0x186)]):0x0,_0x3b9116=_0x2231b8?.[_0x27d1d9(0x1a2)]===_0x3dca11?calculateCredits(_0x2231b8[_0x27d1d9(0x187)]):0x0;return{'sessionCredits':_0x227d5d?calculateCredits(_0x227d5d[_0x27d1d9(0x188)]):0x0,'todayCredits':_0x3033a3,'monthCredits':_0x3b9116,'latestInputTokens':_0x227d5d?getMaxLatestInputTokens(_0x227d5d[_0x27d1d9(0x18e)]):0x0};}return{'sessionCredits':_0x227d5d?calculateCredits(_0x227d5d[_0x27d1d9(0x188)]):0x0,'todayCredits':_0x17530c['daily'][_0x3da263]?calculateCredits(_0x17530c[_0x27d1d9(0x192)][_0x3da263][_0x27d1d9(0x188)]):0x0,'monthCredits':_0x17530c['monthly'][_0x3dca11]?calculateCredits(_0x17530c[_0x27d1d9(0x191)][_0x3dca11]['totalChatUnits']):0x0,'latestInputTokens':_0x227d5d?getMaxLatestInputTokens(_0x227d5d[_0x27d1d9(0x18e)]):0x0};}export async function getAllProfileStats(){const _0x2eeaea=a55_0x2dff,_0x35acd6=await getOrUpdateCache(),_0x18e683=_0x35acd6[_0x2eeaea(0x19b)]||{};return Object['entries'](_0x18e683)[_0x2eeaea(0x178)](([,_0x29f750])=>_0x29f750&&typeof _0x29f750===_0x2eeaea(0x173))['map'](([_0x14b0d1,_0x500aa5])=>({'profile':_0x14b0d1,'credits':calculateCredits(_0x500aa5[_0x2eeaea(0x188)]||0x0),'entryCount':_0x500aa5[_0x2eeaea(0x190)]||0x0,'lastUsedAt':_0x500aa5[_0x2eeaea(0x19a)]||''}))['sort']((_0x422018,_0x38d7ac)=>_0x38d7ac['credits']-_0x422018['credits']);}export async function getUsageSummary(){const _0x22eaa1=a55_0x2dff,_0x501c61=await getOrUpdateCache(),_0x529648=_0x501c61[_0x22eaa1(0x19b)]||{},_0x4f06ab=new Date()['toISOString']()[_0x22eaa1(0x184)](0x0,0xa),_0x36ed4c=new Date()[_0x22eaa1(0x1a6)]()['slice'](0x0,0x7),_0x59d3da=Object[_0x22eaa1(0x1a0)](_0x529648)['filter'](_0x5cd747=>_0x5cd747&&typeof _0x5cd747===_0x22eaa1(0x173)),_0x55797c=_0x59d3da[_0x22eaa1(0x179)]((_0x582385,_0x285337)=>_0x582385+(_0x285337[_0x22eaa1(0x188)]||0x0),0x0);return{'todayCredits':_0x501c61[_0x22eaa1(0x192)][_0x4f06ab]?calculateCredits(_0x501c61[_0x22eaa1(0x192)][_0x4f06ab][_0x22eaa1(0x188)]||0x0):0x0,'monthCredits':_0x501c61[_0x22eaa1(0x191)][_0x36ed4c]?calculateCredits(_0x501c61[_0x22eaa1(0x191)][_0x36ed4c][_0x22eaa1(0x188)]||0x0):0x0,'totalCredits':calculateCredits(_0x55797c),'profileCount':_0x59d3da[_0x22eaa1(0x189)]};}
|
|
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
|
|
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
|
|
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_0x23d2(_0x1bec24,_0x5b6852){_0x1bec24=_0x1bec24-0x114;const _0x585b03=a58_0x585b();let _0x23d23b=_0x585b03[_0x1bec24];return _0x23d23b;}const a58_0x49173f=a58_0x23d2;(function(_0x5e1b7d,_0x74c86f){const _0x175f8c=a58_0x23d2,_0x159b93=_0x5e1b7d();while(!![]){try{const _0x54b628=parseInt(_0x175f8c(0x16a))/0x1+parseInt(_0x175f8c(0x188))/0x2+parseInt(_0x175f8c(0x15a))/0x3*(-parseInt(_0x175f8c(0x13d))/0x4)+-parseInt(_0x175f8c(0x133))/0x5+parseInt(_0x175f8c(0x185))/0x6*(-parseInt(_0x175f8c(0x17a))/0x7)+parseInt(_0x175f8c(0x18b))/0x8+parseInt(_0x175f8c(0x15b))/0x9*(parseInt(_0x175f8c(0x182))/0xa);if(_0x54b628===_0x74c86f)break;else _0x159b93['push'](_0x159b93['shift']());}catch(_0x5edf40){_0x159b93['push'](_0x159b93['shift']());}}}(a58_0x585b,0x4a2a0));function a58_0x585b(){const _0x479b3a=['status','send','application/json','apiKey','Forwarding\x20to:\x20','[PASSTHROUGH]\x20Failed\x20to\x20forward\x20request:','headers','info','timeout_error','authorization','User-Agent','register','[PASSTHROUGH]\x20','listen','method','model','write','inputTokens',',\x20cache_create=','unknown','url','logger','cacheReadInputTokens','[PASSTHROUGH]\x20Usage:\x20input=','entries','/health','messages','text/event-stream','2281840MUiOej','x-td-',',\x20cache_read=','close','isArray','decode','match','[PASSTHROUGH]\x20Failed\x20to\x20log\x20usage:','buildForwardHeaders','read','508mgJqqG','name','message','processChunk','handleStreamingResponse','error','config','[PASSTHROUGH]\x20Stream\x20error:','has','header','X-TD-Client-Version','setupMiddleware','get','cacheCreationInputTokens','/v1/messages','x-api-key','no-cache','profile',',\x20output=','Request\x20to\x20TD\x20LLM\x20Proxy\x20timed\x20out\x20after\x20','connection','output_tokens','input_tokens','setErrorHandler','post','toISOString',',\x20model=','end','join','6504oEfKBr','9CzxgYR','raw','string','setupRoutes','event:\x20error\x0adata:\x20','handleMessages','127.0.0.1','[PASSTHROUGH]\x20Upstream\x20error:\x20','includes','X-TD-Client','Failed\x20to\x20connect\x20to\x20TD\x20LLM\x20Proxy:\x20','length','timeout','Pass-through\x20proxy\x20server\x20stopped','content-length','252170BDyOgL','default','code','Content-Type','llmProxyUrl','POST','anthropic-version','addContentTypeParser','transfer-encoding','http://127.0.0.1:','parse','api_error','stop','usage','user-agent','tdx/','2583homAEW','logUsage','getReader','setupJsonParser','toLowerCase','/v1/messages/count_tokens','port','outputTokens','6977050rLCJHq','cache_read_input_tokens','getUsage','7422hiUlNC','Unknown\x20error','statusText','218226WOCHMO','body','[PASSTHROUGH\x20PROXY\x20ERROR]:','3463560BoydHj','[PASSTHROUGH]\x20Forwarding\x20count_tokens\x20to:\x20','handleCountTokens','timeoutMs','stream','stringify','debug',':\x20messages=','host','Error\x20body:\x20','startsWith','haiku','user_id','server','Authorization'];a58_0x585b=function(){return _0x479b3a;};return a58_0x585b();}import a58_0x28675b from'fastify';import a58_0x2979f1 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='You\x20are\x20`tdx\x20claude`,\x20an\x20extension\x20of\x20Claude\x20Code\x20with\x20tdx\x20CLI\x20tools\x20(https://tdx.treasuredata.com/)\x20and\x20skills\x20for\x20Treasure\x20Data\x20and\x20CDP.\x0a\x0aFor\x20Treasure\x20Data\x20tasks,\x20use\x20these\x20skills:\x0a\x0a|\x20Task\x20|\x20Skill\x20|\x0a|------|-------|\x0a|\x20tdx\x20CLI\x20operations\x20(databases,\x20tables,\x20queries)\x20|\x20tdx-skills:tdx-basic\x20|\x0a|\x20CDP\x20parent\x20segments\x20(YAML\x20config)\x20|\x20tdx-skills:parent-segment\x20|\x0a|\x20CDP\x20child\x20segments\x20(rules,\x20activations)\x20|\x20tdx-skills:segment\x20|\x0a|\x20Validate\x20segment\x20YAML\x20|\x20tdx-skills:validate-segment\x20|\x0a|\x20CDP\x20journeys\x20(stages,\x20steps)\x20|\x20tdx-skills:journey\x20|\x0a|\x20Validate\x20journey\x20YAML\x20|\x20tdx-skills:validate-journey\x20|\x0a|\x20Configure\x20activations\x20|\x20tdx-skills:connector-config\x20|\x0a|\x20Build\x20LLM\x20agents\x20|\x20tdx-skills:agent\x20|\x0a|\x20Write\x20agent\x20system\x20prompts\x20|\x20tdx-skills:agent-prompt\x20|\x0a|\x20TD\x20Trino\x20SQL\x20queries\x20|\x20sql-skills:trino\x20|\x0a|\x20TD\x20Hive\x20SQL\x20queries\x20|\x20sql-skills:hive\x20|\x0a|\x20Time\x20filtering\x20(td_interval,\x20partition\x20pruning)\x20|\x20sql-skills:time-filtering\x20|\x0a|\x20Optimize\x20slow\x20Trino\x20queries\x20|\x20sql-skills:trino-optimizer\x20|\x0a|\x20Convert\x20Trino\x20to\x20Hive\x20(memory\x20errors)\x20|\x20sql-skills:trino-to-hive-migration\x20|\x0a|\x20Treasure\x20Workflow\x20(.dig\x20files)\x20|\x20workflow-skills:digdag\x20|\x0a|\x20Debug/manage\x20workflows\x20|\x20workflow-skills:workflow-management\x20|\x0a|\x20dbt\x20with\x20TD\x20Trino\x20|\x20workflow-skills:dbt\x20|\x0a|\x20JavaScript\x20SDK\x20(browser\x20tracking)\x20|\x20sdk-skills:javascript\x20|\x0a|\x20Python\x20SDK\x20(pytd,\x20pandas)\x20|\x20sdk-skills:python\x20|';function extractSessionUUID(_0x3a0f8f){const _0x5f0e68=a58_0x23d2,_0x5f5949=_0x3a0f8f[_0x5f0e68(0x139)](/_session_([a-f0-9-]+)$/i);if(_0x5f5949)return _0x5f5949[0x1];return _0x3a0f8f;}export function injectSystemPrompt(_0x35e183,_0x3a4029){const _0x3558ed=a58_0x23d2,_0x40899d=_0x35e183['system'];if(!_0x40899d)return{..._0x35e183,'system':_0x3a4029};if(typeof _0x40899d===_0x3558ed(0x15d))return{..._0x35e183,'system':_0x3a4029+'\x0a\x0a'+_0x40899d};if(Array[_0x3558ed(0x137)](_0x40899d)){const _0x49b944={'type':'text','text':_0x3a4029};return{..._0x35e183,'system':[_0x49b944,..._0x40899d]};}return _0x35e183;}export function shouldInjectSystemPrompt(_0x336b28){const _0x3d2b19=a58_0x23d2;return!_0x336b28[_0x3d2b19(0x17e)]()[_0x3d2b19(0x163)](_0x3d2b19(0x196));}export class PassThroughProxyServer{[a58_0x49173f(0x115)];['config'];['logger'];constructor(_0x5bac19){const _0xe7b50a=a58_0x49173f;this[_0xe7b50a(0x143)]=_0x5bac19,this[_0xe7b50a(0x12c)]=_0x5bac19[_0xe7b50a(0x12c)],this[_0xe7b50a(0x115)]=a58_0x28675b({'logger':![],'bodyLimit':0x40*0x400*0x400}),this[_0xe7b50a(0x17d)](),this[_0xe7b50a(0x148)](),this[_0xe7b50a(0x15e)]();}[a58_0x49173f(0x17d)](){const _0x2de9ca=a58_0x49173f;this[_0x2de9ca(0x115)][_0x2de9ca(0x171)](_0x2de9ca(0x119),{'parseAs':_0x2de9ca(0x15d)},(_0x3ba569,_0xf86889,_0x204916)=>{const _0x19d75e=_0x2de9ca;try{const _0x560090=JSON[_0x19d75e(0x174)](_0xf86889);_0x204916(null,_0x560090);}catch(_0x4b4118){_0x204916(_0x4b4118,undefined);}});}[a58_0x49173f(0x148)](){const _0x402b00=a58_0x49173f;this['server'][_0x402b00(0x122)](a58_0x2979f1,{'origin':!![],'methods':['GET',_0x402b00(0x16f),'OPTIONS'],'allowedHeaders':[_0x402b00(0x16d),_0x402b00(0x116),_0x402b00(0x170),_0x402b00(0x14c)]}),this[_0x402b00(0x115)][_0x402b00(0x154)]((_0x10e82c,_0x64fff4,_0xfbb74a)=>{const _0x8d491a=_0x402b00,_0x280887=_0x10e82c instanceof Error?_0x10e82c[_0x8d491a(0x13f)]:_0x8d491a(0x186);this['logger'][_0x8d491a(0x142)](_0x8d491a(0x18a),_0x10e82c),_0xfbb74a[_0x8d491a(0x16c)](0x1f4)[_0x8d491a(0x118)]({'type':_0x8d491a(0x142),'error':{'type':_0x8d491a(0x175),'message':_0x280887}});});}[a58_0x49173f(0x15e)](){const _0x5126fe=a58_0x49173f;this[_0x5126fe(0x115)][_0x5126fe(0x149)](_0x5126fe(0x130),async()=>{return{'status':'ok','message':'TD\x20LLM\x20Pass-through\x20Proxy\x20Server'};}),this[_0x5126fe(0x115)][_0x5126fe(0x155)](_0x5126fe(0x14b),async(_0x18cf6d,_0x127d35)=>{return this['handleMessages'](_0x18cf6d,_0x127d35);}),this['server'][_0x5126fe(0x155)](_0x5126fe(0x17f),async(_0x3093d6,_0x5cd7ee)=>{const _0x1c5893=_0x5126fe;return this[_0x1c5893(0x18d)](_0x3093d6,_0x5cd7ee);});}static ['SKIP_HEADERS']=new Set([a58_0x49173f(0x193),a58_0x49173f(0x151),a58_0x49173f(0x169),a58_0x49173f(0x172),a58_0x49173f(0x120),'x-api-key',a58_0x49173f(0x178)]);[a58_0x49173f(0x13b)](_0x4edbf7){const _0x5db9c4=a58_0x49173f,_0x4857b3={};for(const [_0x228f35,_0x3eee28]of Object[_0x5db9c4(0x12f)](_0x4edbf7[_0x5db9c4(0x11d)])){const _0x54638a=_0x228f35[_0x5db9c4(0x17e)]();if(PassThroughProxyServer['SKIP_HEADERS'][_0x5db9c4(0x145)](_0x54638a))continue;if(_0x54638a[_0x5db9c4(0x195)](_0x5db9c4(0x134)))continue;if(typeof _0x3eee28===_0x5db9c4(0x15d))_0x4857b3[_0x228f35]=_0x3eee28;else Array['isArray'](_0x3eee28)&&(_0x4857b3[_0x228f35]=_0x3eee28[_0x5db9c4(0x159)](',\x20'));}const _0x1cf909=getVersion();return _0x4857b3[_0x5db9c4(0x116)]='TD1\x20'+this['config'][_0x5db9c4(0x11a)],_0x4857b3[_0x5db9c4(0x121)]=_0x5db9c4(0x179)+_0x1cf909,_0x4857b3[_0x5db9c4(0x164)]='tdx',_0x4857b3[_0x5db9c4(0x147)]=_0x1cf909,_0x4857b3;}async[a58_0x49173f(0x160)](_0x156afb,_0x5aca1b){const _0x4c762d=a58_0x49173f,_0x46dfb8=_0x156afb[_0x4c762d(0x189)],_0x2486b8=_0x46dfb8[_0x4c762d(0x18f)]!==![],_0xfc24e1=_0x46dfb8['metadata'],_0x32fe82=_0xfc24e1?.[_0x4c762d(0x114)]||_0x4c762d(0x16b),_0x15b4d6=extractSessionUUID(_0x32fe82),_0x4c1aa3=_0x46dfb8[_0x4c762d(0x126)]||_0x4c762d(0x12a),_0x459047=shouldInjectSystemPrompt(_0x4c1aa3)?injectSystemPrompt(_0x46dfb8,TDX_SYSTEM_PROMPT):_0x46dfb8,_0x258bc9=JSON['stringify'](_0x459047),_0x2eedbd=Array[_0x4c762d(0x137)](_0x46dfb8[_0x4c762d(0x131)])?_0x46dfb8[_0x4c762d(0x131)][_0x4c762d(0x166)]:0x0;this[_0x4c762d(0x12c)]['info'](_0x4c762d(0x123)+_0x156afb[_0x4c762d(0x125)]+'\x20'+_0x156afb[_0x4c762d(0x12b)]+_0x4c762d(0x192)+_0x2eedbd+_0x4c762d(0x157)+_0x4c1aa3+',\x20stream='+_0x2486b8);const _0x4b6df9=this[_0x4c762d(0x143)]['llmProxyUrl']+_0x4c762d(0x14b),_0x1bef75=this[_0x4c762d(0x13b)](_0x156afb);this[_0x4c762d(0x12c)][_0x4c762d(0x191)](_0x4c762d(0x11b)+_0x4b6df9);const _0x489fa1=this[_0x4c762d(0x143)][_0x4c762d(0x18e)]||DEFAULT_TIMEOUT_MS;try{const _0x4e6518=await fetch(_0x4b6df9,{'method':'POST','headers':_0x1bef75,'body':_0x258bc9,'signal':AbortSignal['timeout'](_0x489fa1)});if(!_0x4e6518['ok']){const _0x5ce71a=await _0x4e6518['text']();return this[_0x4c762d(0x12c)][_0x4c762d(0x142)](_0x4c762d(0x162)+_0x4e6518[_0x4c762d(0x117)]+'\x20'+_0x4e6518[_0x4c762d(0x187)]),this[_0x4c762d(0x12c)]['debug'](_0x4c762d(0x194)+_0x5ce71a),_0x5aca1b[_0x4c762d(0x16c)](_0x4e6518['status']),_0x5aca1b[_0x4c762d(0x146)](_0x4c762d(0x16d),_0x4e6518[_0x4c762d(0x11d)]['get'](_0x4c762d(0x16d))||_0x4c762d(0x119)),_0x5aca1b[_0x4c762d(0x118)](_0x5ce71a);}if(_0x2486b8&&_0x4e6518[_0x4c762d(0x189)])await this[_0x4c762d(0x141)](_0x4e6518[_0x4c762d(0x189)],_0x5aca1b,_0x15b4d6,_0x4c1aa3);else{const _0x476e6f=await _0x4e6518['text']();_0x5aca1b[_0x4c762d(0x146)](_0x4c762d(0x16d),_0x4e6518['headers'][_0x4c762d(0x149)](_0x4c762d(0x16d))||_0x4c762d(0x119));try{const _0x1c9b2e=JSON[_0x4c762d(0x174)](_0x476e6f);_0x1c9b2e[_0x4c762d(0x177)]&&await this[_0x4c762d(0x17b)](_0x15b4d6,_0x4c1aa3,_0x1c9b2e[_0x4c762d(0x177)][_0x4c762d(0x153)]||0x0,_0x1c9b2e[_0x4c762d(0x177)][_0x4c762d(0x152)]||0x0,_0x1c9b2e['usage']['cache_creation_input_tokens'],_0x1c9b2e[_0x4c762d(0x177)][_0x4c762d(0x183)]);}catch{}return _0x5aca1b[_0x4c762d(0x118)](_0x476e6f);}}catch(_0x51baf9){const _0x1e2638=_0x51baf9 instanceof Error?_0x51baf9[_0x4c762d(0x13f)]:_0x4c762d(0x186),_0x240e22=_0x51baf9 instanceof Error&&_0x51baf9[_0x4c762d(0x13e)]==='TimeoutError';this[_0x4c762d(0x12c)][_0x4c762d(0x142)](_0x4c762d(0x11c),_0x51baf9),_0x5aca1b['code'](_0x240e22?0x1f8:0x1f7)[_0x4c762d(0x118)]({'type':_0x4c762d(0x142),'error':{'type':_0x240e22?_0x4c762d(0x11f):_0x4c762d(0x175),'message':_0x240e22?_0x4c762d(0x150)+_0x489fa1+'ms':_0x4c762d(0x165)+_0x1e2638}});}}async[a58_0x49173f(0x141)](_0x131137,_0x1353b0,_0x1b7f11,_0x11ed22){const _0xd72ed6=a58_0x49173f;_0x1353b0['raw']['writeHead'](0xc8,{'Content-Type':_0xd72ed6(0x132),'Cache-Control':_0xd72ed6(0x14d),'Connection':'keep-alive'});const _0xd7cac7=new SSEUsageTracker(),_0x19dd9c=_0x131137[_0xd72ed6(0x17c)](),_0x412001=new TextDecoder();try{while(!![]){const {done:_0x5e1d5e,value:_0x3af28f}=await _0x19dd9c[_0xd72ed6(0x13c)]();if(_0x5e1d5e)break;const _0x573288=_0x412001[_0xd72ed6(0x138)](_0x3af28f,{'stream':!![]});_0xd7cac7[_0xd72ed6(0x140)](_0x573288),_0x1353b0['raw'][_0xd72ed6(0x127)](_0x573288);}const _0xed1be1=_0xd7cac7[_0xd72ed6(0x184)]();(_0xed1be1[_0xd72ed6(0x128)]>0x0||_0xed1be1['outputTokens']>0x0)&&await this[_0xd72ed6(0x17b)](_0x1b7f11,_0x11ed22,_0xed1be1[_0xd72ed6(0x128)],_0xed1be1[_0xd72ed6(0x181)],_0xed1be1[_0xd72ed6(0x14a)],_0xed1be1[_0xd72ed6(0x12d)]);}catch(_0x1b7202){this[_0xd72ed6(0x12c)]['error'](_0xd72ed6(0x144),_0x1b7202);const _0x4297c7=_0xd72ed6(0x15f)+JSON[_0xd72ed6(0x190)]({'type':'error','error':{'type':'stream_error','message':'Stream\x20interrupted'}})+'\x0a\x0a';_0x1353b0[_0xd72ed6(0x15c)][_0xd72ed6(0x127)](_0x4297c7);}finally{_0x1353b0[_0xd72ed6(0x15c)][_0xd72ed6(0x158)]();}}async[a58_0x49173f(0x18d)](_0x186ba8,_0x14dbeb){const _0x10f57f=a58_0x49173f,_0x332eb5=_0x186ba8[_0x10f57f(0x189)],_0x8ab3b7=this[_0x10f57f(0x143)][_0x10f57f(0x16e)]+_0x10f57f(0x17f),_0x2df7f0=this[_0x10f57f(0x13b)](_0x186ba8),_0x49a7a8=_0x332eb5[_0x10f57f(0x126)]||'unknown',_0x2c67cd=shouldInjectSystemPrompt(_0x49a7a8)?injectSystemPrompt(_0x332eb5,TDX_SYSTEM_PROMPT):_0x332eb5,_0x676c80=JSON[_0x10f57f(0x190)](_0x2c67cd);this['logger'][_0x10f57f(0x191)](_0x10f57f(0x18c)+_0x8ab3b7);const _0x199de5=this['config'][_0x10f57f(0x18e)]||DEFAULT_TIMEOUT_MS;try{const _0x373905=await fetch(_0x8ab3b7,{'method':_0x10f57f(0x16f),'headers':_0x2df7f0,'body':_0x676c80,'signal':AbortSignal[_0x10f57f(0x167)](_0x199de5)}),_0x12010a=await _0x373905['text']();return _0x14dbeb[_0x10f57f(0x16c)](_0x373905[_0x10f57f(0x117)]),_0x14dbeb[_0x10f57f(0x146)](_0x10f57f(0x16d),_0x373905['headers'][_0x10f57f(0x149)]('Content-Type')||'application/json'),_0x14dbeb['send'](_0x12010a);}catch(_0x1a51c3){const _0x42db54=_0x1a51c3 instanceof Error?_0x1a51c3['message']:_0x10f57f(0x186),_0x57aed9=_0x1a51c3 instanceof Error&&_0x1a51c3[_0x10f57f(0x13e)]==='TimeoutError';this[_0x10f57f(0x12c)]['error']('[PASSTHROUGH]\x20Failed\x20to\x20forward\x20count_tokens\x20request:',_0x1a51c3),_0x14dbeb[_0x10f57f(0x16c)](_0x57aed9?0x1f8:0x1f7)[_0x10f57f(0x118)]({'type':_0x10f57f(0x142),'error':{'type':_0x57aed9?_0x10f57f(0x11f):_0x10f57f(0x175),'message':_0x57aed9?_0x10f57f(0x150)+_0x199de5+'ms':_0x10f57f(0x165)+_0x42db54}});}}async[a58_0x49173f(0x17b)](_0x1fc0a9,_0x4cbc09,_0x281f74,_0x1cb874,_0x58c2fd,_0x3ae271){const _0xbca29=a58_0x49173f,_0x377403={'timestamp':new Date()[_0xbca29(0x156)](),'model':_0x4cbc09,'inputTokens':_0x281f74,'outputTokens':_0x1cb874,'cacheCreationInputTokens':_0x58c2fd,'cacheReadInputTokens':_0x3ae271,'profile':this[_0xbca29(0x143)][_0xbca29(0x14e)]},_0x463cc3=_0x58c2fd||_0x3ae271?_0xbca29(0x129)+(_0x58c2fd||0x0)+_0xbca29(0x135)+(_0x3ae271||0x0):'';this[_0xbca29(0x12c)][_0xbca29(0x191)](_0xbca29(0x12e)+_0x281f74+_0xbca29(0x14f)+_0x1cb874+_0x463cc3+_0xbca29(0x157)+_0x4cbc09);try{await appendUsageEntry(_0x1fc0a9,_0x377403);}catch(_0x4b0cb5){this[_0xbca29(0x12c)]['error'](_0xbca29(0x13a),_0x4b0cb5);}}async['start'](){const _0x4acc8f=a58_0x49173f;await this[_0x4acc8f(0x115)][_0x4acc8f(0x124)]({'port':this['config'][_0x4acc8f(0x180)],'host':_0x4acc8f(0x161)}),this[_0x4acc8f(0x12c)][_0x4acc8f(0x11e)]('Pass-through\x20proxy\x20server\x20started\x20on\x20port\x20'+this[_0x4acc8f(0x143)][_0x4acc8f(0x180)]),this[_0x4acc8f(0x12c)]['info'](_0x4acc8f(0x11b)+this['config']['llmProxyUrl']);}async[a58_0x49173f(0x176)](){const _0xe2e924=a58_0x49173f;await this['server'][_0xe2e924(0x136)](),this[_0xe2e924(0x12c)]['info'](_0xe2e924(0x168));}['getAddress'](){const _0xe87526=a58_0x49173f;return _0xe87526(0x173)+this[_0xe87526(0x143)]['port'];}}
|
|
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'];}}
|
package/dist/proxy/server.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const a59_0x133232=a59_0x591c;(function(_0x34b350,_0x5a9818){const _0x22ed22=a59_0x591c,_0xb7f09=_0x34b350();while(!![]){try{const _0x11cf65=parseInt(_0x22ed22(0x1d7))/0x1+-parseInt(_0x22ed22(0x215))/0x2+parseInt(_0x22ed22(0x261))/0x3*(parseInt(_0x22ed22(0x25d))/0x4)+parseInt(_0x22ed22(0x1c5))/0x5+parseInt(_0x22ed22(0x1ec))/0x6+-parseInt(_0x22ed22(0x221))/0x7+parseInt(_0x22ed22(0x233))/0x8*(-parseInt(_0x22ed22(0x1f1))/0x9);if(_0x11cf65===_0x5a9818)break;else _0xb7f09['push'](_0xb7f09['shift']());}catch(_0x460be1){_0xb7f09['push'](_0xb7f09['shift']());}}}(a59_0x5ed8,0x8e568));import a59_0x42c5d3 from'fastify';import a59_0x9bb2bb from'@fastify/cors';import{ErrorCode,SDKError}from'../sdk/index.js';import{transformTDStreamToAnthropic,formatAnthropicSSE,generateMessageId,generateToolPrompt,extractToolResults,estimateInputTokensFromRequest}from'./anthropic-adapter.js';import{colorizeJSON,colorizeJSONCompact}from'../utils/colors.js';import{extractModelAlias,resolveModelAlias}from'../sdk/llm/model-aliases.js';function a59_0x591c(_0x4266e3,_0x457208){_0x4266e3=_0x4266e3-0x1c2;const _0x5ed8a0=a59_0x5ed8();let _0x591caa=_0x5ed8a0[_0x4266e3];return _0x591caa;}function a59_0x5ed8(){const _0x536ae5=['debug','no-cache','x-api-key','close','chat','profile','/v1/messages/count_tokens',',\x20tools=','\x0a</conversation_history>','event','setErrorHandler',',\x20model=','usage','port','type','Model\x20normalization:\x20','Context:','metadata','embeddedSystemPrompts',')\x20to\x20stay\x20under\x20','handleCountTokens','send','Failed\x20to\x20start\x20proxy\x20server:\x20','raw',',\x20context:\x20','clear','Failed\x20to\x20extract\x20tool\x20results:','handleRouteError','3420235OyeUQB','text/event-stream','Including\x20tool\x20results','Evicted\x20oldest\x20chat\x20(signature:\x20','Failed\x20to\x20log\x20usage\x20entry\x20on\x20error:\x20','Agent\x20cached:\x20','Authorization','system','Final\x20message\x20reconstructed\x20after\x20context\x20reset:','\x20->\x20','logger','server','info','agentCache','System\x20prompts:\x20','continue','Validation\x20failed:\x20tools\x20must\x20be\x20an\x20array\x20if\x20provided','push','625756dOuqbY','TD\x20LLM\x20Proxy\x20Server','match','message','\x0a---\x0a\x0a','writeHead','POST','isUserError','write','\x20tools,\x20message_size=','Failed\x20to\x20log\x20usage\x20entry:\x20','getOrCreateDefaultAgent','cleanupInterval','\x20|\x20','error','[session:\x20','register','set','attributes','tdx','context','5865690McCwhy','replace','budget_tokens','keep-alive','stringify','1467Ruyhzh','INVALID_REQUEST','trace','warn','lastUsedAt','messageHistory','\x20(reasoning:\x20','data','Embedding','sessionCache','/health',',\x20tools:\x20','header:\x20','Embedded\x20in\x20chat\x20-\x20system\x20prompts:\x20','createPromise','/v1/messages','Added\x20tool\x20names:','Added\x20system\x20prompt\x20previews:','Creating/looking\x20up\x20agent\x20for:\x20','add','now','\x20system\x20prompts,\x20','Stream\x20complete.\x20Sent\x20','cleanupExpiredChats','handleMessages','tools','agentId','Failed\x20to\x20generate\x20tool\x20prompt:','body','Final\x20message\x20is\x20empty\x20after\x20construction\x20-\x20starting\x20fresh\x20conversation','start','output_tokens',']\x20Building\x20a\x20new\x20context\x20for\x20model\x20','config','code','getAddress','1398328UgpZLW','end','[PROXY\x20ERROR]\x20Non-streaming\x20responses\x20are\x20not\x20yet\x20supported','thinking','address','catch','length','method','join',',\x20tool_names=[','Failed\x20to\x20create\x20chat,\x20will\x20fall\x20back\x20to\x20lazy\x20creation:','has','1897133TlBpzi','http://','new\x20system\x20prompt(s)','s,\x20expires\x20after\x20','llm','setupMiddleware','post','\x20messages,\x20','\x20SSE\x20events.','Reset\x20chat\x20state\x20to\x20recover\x20on\x20next\x20request','startChat','string','setupRoutes','Waiting\x20for\x20concurrent\x20chat\x20creation\x20for\x20context:\x20','substring','api_error','messages','listen','40264KaqnLz','Debug\x20info:',':\x20messages=','chats','New\x20-\x20system\x20prompts:\x20','model','text',']\x20model:\x20','anthropic-version','getOrCreateSession','chatId','headers','unknown','...\x22','[PROXY\x20ERROR]\x20Chat\x20stream\x20is\x20undefined','request_too_large','new\x20tool(s)','url','helpText','toISOString','Validation\x20failed:\x20messages\x20array\x20is\x20required\x20and\x20must\x20not\x20be\x20empty',':\x20estimated\x20input_tokens=','Failed\x20to\x20reconstruct\x20message\x20-\x20all\x20parts\x20are\x20empty,\x20using\x20fallback',']\x20Created\x20new\x20chat\x20for\x20model\x20','default','creating','name','Unknown\x20error','site','isArray','trim','\x20limit','stop','Non-streaming\x20responses\x20are\x20not\x20yet\x20supported','map','getAgentForModel','0.0.0.0','get','size','embeddedToolsByName','originalMessage','[CONTEXT\x20LENGTH\x20ERROR]\x20','80JrcUFt','projectId','Failed\x20to\x20initialize\x20chat\x20stream.\x20Please\x20try\x20again.','...','12924huOllv','validateMessageRequest','filter'];a59_0x5ed8=function(){return _0x536ae5;};return a59_0x5ed8();}import{SessionCache}from'./session-cache.js';import{appendUsageEntry}from'./claude-usage-tracker.js';import{calculateContextSignature}from'./context-signature.js';import{formatConversationHistory,calculateConversationDelta,extractLastUserMessage}from'./conversation-utils.js';function extractSessionUUID(_0x41c4d4){const _0x559c02=a59_0x591c,_0x22e93d=_0x41c4d4[_0x559c02(0x1d9)](/_session_([a-f0-9-]+)$/i);if(_0x22e93d)return _0x22e93d[0x1];return _0x41c4d4;}function clearChatState(_0x5b3b0f){const _0x3c2c59=a59_0x591c;_0x5b3b0f[_0x3c2c59(0x23d)]='',_0x5b3b0f['embeddedSystemPrompts'][_0x3c2c59(0x1c2)](),_0x5b3b0f['embeddedToolsByName'][_0x3c2c59(0x1c2)]();}function mapBudgetTokensToReasoningEffort(_0xfe880f,_0x40c1b8){if(_0x40c1b8!=='dev-us01')return 0x0;if(!_0xfe880f||_0xfe880f===0x0)return 0x0;if(_0xfe880f<=0x400)return 0x1;if(_0xfe880f<=0x800)return 0x2;if(_0xfe880f<=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_0x133232(0x1fa)];['agentCache'];[a59_0x133232(0x212)];[a59_0x133232(0x1e3)];[a59_0x133232(0x1cf)];constructor(_0x1140ab){const _0x534dc8=a59_0x133232;this[_0x534dc8(0x1cf)]=_0x1140ab['logger'],this[_0x534dc8(0x212)]=_0x1140ab,this[_0x534dc8(0x1fa)]=new SessionCache({'maxChatsPerSession':MAX_CHATS_PER_SESSION,'cacheExpirationMs':CACHE_EXPIRATION_MS}),this[_0x534dc8(0x1d2)]=new Map(),this[_0x534dc8(0x1d0)]=a59_0x42c5d3({'logger':![],'bodyLimit':0x40*0x400*0x400}),this[_0x534dc8(0x226)](),this[_0x534dc8(0x22d)]();}async[a59_0x133232(0x256)](_0x1b2f43,_0x4e8361=0x0){const _0xf723d8=a59_0x133232,_0x257c91=extractModelAlias(_0x1b2f43),_0x1549c6=resolveModelAlias(_0x257c91),_0xd8dd01=_0x1549c6+'_'+_0x4e8361;let _0x1c7a2f=this[_0xf723d8(0x1d2)][_0xf723d8(0x258)](_0xd8dd01);if(!_0x1c7a2f){this[_0xf723d8(0x1cf)][_0xf723d8(0x264)](_0xf723d8(0x273)+_0x1b2f43+_0xf723d8(0x1ce)+_0x257c91+_0xf723d8(0x1ce)+_0x1549c6),this[_0xf723d8(0x1cf)][_0xf723d8(0x264)](_0xf723d8(0x203)+_0x1549c6+_0xf723d8(0x1f7)+_0x4e8361+')');const _0x5e3469=await this[_0xf723d8(0x212)]['tdx'][_0xf723d8(0x225)][_0xf723d8(0x1e2)](_0x1549c6,_0x4e8361);_0x1c7a2f=_0x5e3469['id'],this[_0xf723d8(0x1d2)][_0xf723d8(0x1e8)](_0xd8dd01,_0x1c7a2f),this['logger'][_0xf723d8(0x264)](_0xf723d8(0x1ca)+_0xd8dd01+'\x20->\x20'+_0x1c7a2f+'\x20('+_0x5e3469[_0xf723d8(0x1e9)][_0xf723d8(0x24d)]+')');}return _0x1c7a2f;}[a59_0x133232(0x208)](){const _0x4cd3f8=a59_0x133232;this[_0x4cd3f8(0x1fa)][_0x4cd3f8(0x208)]();}[a59_0x133232(0x226)](){const _0x29cdf2=a59_0x133232;this[_0x29cdf2(0x1d0)][_0x29cdf2(0x1e7)](a59_0x9bb2bb,{'origin':!![],'methods':['GET',_0x29cdf2(0x1dd),'OPTIONS'],'allowedHeaders':['Content-Type',_0x29cdf2(0x1cb),_0x29cdf2(0x23b),_0x29cdf2(0x266)]}),this[_0x29cdf2(0x1d0)][_0x29cdf2(0x26e)]((_0x5f4323,_0x550cf1,_0x323b4c)=>{const _0x1e5b63=_0x29cdf2;this[_0x1e5b63(0x1c4)](_0x5f4323,_0x550cf1,_0x323b4c);});}['handleRouteError'](_0x55bc44,_0x270cb5,_0x2cd449){const _0x78025f=a59_0x133232;if(_0x55bc44 instanceof SDKError){const _0x97b24d=_0x55bc44[_0x78025f(0x1de)]()?0x190:0x1f4;_0x2cd449[_0x78025f(0x213)](_0x97b24d)['send']({'type':_0x78025f(0x1e5),'error':{'type':_0x55bc44[_0x78025f(0x213)],'message':_0x55bc44[_0x78025f(0x25b)],'helpText':_0x55bc44[_0x78025f(0x245)]}});}else{const _0x47e6e5=_0x55bc44 instanceof Error?_0x55bc44[_0x78025f(0x1da)]:'Unknown\x20error';this[_0x78025f(0x1cf)][_0x78025f(0x1e5)]('[PROXY\x20ERROR]\x20Unhandled\x20error\x20in\x20'+_0x270cb5[_0x78025f(0x21c)]+'\x20'+_0x270cb5[_0x78025f(0x244)]+':',_0x55bc44),_0x2cd449[_0x78025f(0x213)](0x1f4)[_0x78025f(0x279)]({'type':_0x78025f(0x1e5),'error':{'type':_0x78025f(0x230),'message':_0x47e6e5}});}}[a59_0x133232(0x22d)](){const _0x31f844=a59_0x133232;this['server'][_0x31f844(0x258)](_0x31f844(0x1fb),async()=>{const _0x3463f7=_0x31f844;return{'status':'ok','message':_0x3463f7(0x1d8)};}),this[_0x31f844(0x1d0)][_0x31f844(0x227)](_0x31f844(0x200),async(_0x469c63,_0x56c1ea)=>{const _0x26bfeb=_0x31f844;return this[_0x26bfeb(0x209)](_0x469c63,_0x56c1ea)[_0x26bfeb(0x21a)](_0x526b5e=>{this['handleRouteError'](_0x526b5e,_0x469c63,_0x56c1ea);});}),this['server'][_0x31f844(0x227)](_0x31f844(0x26a),async(_0x553f39,_0x857b32)=>{const _0x1780a4=_0x31f844;return this[_0x1780a4(0x278)](_0x553f39)['catch'](_0x1d171e=>{this['handleRouteError'](_0x1d171e,_0x553f39,_0x857b32);});});}[a59_0x133232(0x262)](_0x3d47a5){const _0x47b10f=a59_0x133232;if(!_0x3d47a5[_0x47b10f(0x231)]||!Array[_0x47b10f(0x250)](_0x3d47a5['messages'])||_0x3d47a5['messages'][_0x47b10f(0x21b)]===0x0)throw new SDKError(ErrorCode[_0x47b10f(0x1f2)],_0x47b10f(0x247));if(_0x3d47a5[_0x47b10f(0x20a)]&&!Array[_0x47b10f(0x250)](_0x3d47a5['tools']))throw new SDKError(ErrorCode[_0x47b10f(0x1f2)],_0x47b10f(0x1d5));}async[a59_0x133232(0x209)](_0x37fe2a,_0x2304a9){const _0x4d71ce=a59_0x133232,_0x483352=_0x37fe2a[_0x4d71ce(0x20d)];this[_0x4d71ce(0x262)](_0x483352);const _0xc147cf=_0x483352[_0x4d71ce(0x231)]?.[_0x4d71ce(0x21b)]??0x0,_0x1ea2b5=_0x483352[_0x4d71ce(0x238)]||_0x4d71ce(0x23f);this[_0x4d71ce(0x1cf)][_0x4d71ce(0x1d1)](_0x37fe2a[_0x4d71ce(0x21c)]+'\x20'+_0x37fe2a[_0x4d71ce(0x244)]+_0x4d71ce(0x235)+_0xc147cf+_0x4d71ce(0x26f)+_0x1ea2b5),this[_0x4d71ce(0x1cf)][_0x4d71ce(0x264)](_0x4d71ce(0x1fd)+colorizeJSONCompact(_0x37fe2a[_0x4d71ce(0x23e)]));this[_0x4d71ce(0x1cf)]['trace']&&this[_0x4d71ce(0x1cf)][_0x4d71ce(0x1f3)](colorizeJSON(_0x483352,{'color':!![]}));const _0x49f702=_0x483352[_0x4d71ce(0x275)]?.['user_id']||_0x4d71ce(0x24b),_0x4c40d0=extractSessionUUID(_0x49f702),_0x34d498=this[_0x4d71ce(0x1fa)][_0x4d71ce(0x23c)](_0x4c40d0,this[_0x4d71ce(0x212)][_0x4d71ce(0x25e)]),_0xd791f=[];if(_0x483352[_0x4d71ce(0x1cc)]){if(typeof _0x483352[_0x4d71ce(0x1cc)]===_0x4d71ce(0x22c))_0xd791f[_0x4d71ce(0x1d6)](_0x483352[_0x4d71ce(0x1cc)]);else{if(Array[_0x4d71ce(0x250)](_0x483352[_0x4d71ce(0x1cc)]))for(const _0x8806ab of _0x483352[_0x4d71ce(0x1cc)]){_0x8806ab[_0x4d71ce(0x272)]===_0x4d71ce(0x239)&&_0x8806ab[_0x4d71ce(0x239)]&&_0xd791f[_0x4d71ce(0x1d6)](_0x8806ab[_0x4d71ce(0x239)]);}}}const _0x4f10d3=_0x483352[_0x4d71ce(0x20a)]||[],_0x95410e=_0x483352[_0x4d71ce(0x218)]?.[_0x4d71ce(0x1ee)],_0x2ec3d9=mapBudgetTokensToReasoningEffort(_0x95410e,this[_0x4d71ce(0x212)][_0x4d71ce(0x24f)]),_0x32780b=calculateContextSignature(_0x483352[_0x4d71ce(0x238)],_0xd791f,_0x4f10d3,_0x2ec3d9);let _0x26fe2e=_0x34d498[_0x4d71ce(0x236)][_0x4d71ce(0x258)](_0x32780b);const _0x267b7e=!_0x26fe2e;if(!_0x26fe2e){const _0x1125cd=await this['getAgentForModel'](_0x483352['model'],_0x2ec3d9);_0x26fe2e={'chatId':'','agentId':_0x1125cd,'contextSignature':_0x32780b,'embeddedSystemPrompts':new Set(),'embeddedToolsByName':new Map(),'messageHistory':[],'lastUsedAt':Date[_0x4d71ce(0x205)]()},_0x34d498[_0x4d71ce(0x236)][_0x4d71ce(0x1e8)](_0x32780b,_0x26fe2e);if(_0x34d498['chats'][_0x4d71ce(0x259)]>MAX_CHATS_PER_SESSION){let _0x14a211=null,_0x21a1d9=Date['now']();for(const [_0x42a4e1,_0x4f31fc]of _0x34d498[_0x4d71ce(0x236)]){_0x4f31fc[_0x4d71ce(0x1f5)]<_0x21a1d9&&(_0x21a1d9=_0x4f31fc[_0x4d71ce(0x1f5)],_0x14a211=_0x42a4e1);}_0x14a211&&(_0x34d498[_0x4d71ce(0x236)]['delete'](_0x14a211),this[_0x4d71ce(0x1cf)]['debug'](_0x4d71ce(0x1c8)+_0x14a211+_0x4d71ce(0x277)+MAX_CHATS_PER_SESSION+_0x4d71ce(0x252)));}}else _0x26fe2e['lastUsedAt']=Date[_0x4d71ce(0x205)]();if(!_0x26fe2e[_0x4d71ce(0x23d)]){if(_0x26fe2e['creating']&&_0x26fe2e[_0x4d71ce(0x1ff)]){this[_0x4d71ce(0x1cf)][_0x4d71ce(0x264)](_0x4d71ce(0x22e)+_0x32780b);try{_0x26fe2e[_0x4d71ce(0x23d)]=await _0x26fe2e[_0x4d71ce(0x1ff)];}catch(_0x416079){this[_0x4d71ce(0x1cf)][_0x4d71ce(0x1e5)]('Concurrent\x20chat\x20creation\x20failed,\x20will\x20fall\x20back\x20to\x20lazy\x20creation:',_0x416079);}}else{if(!_0x26fe2e[_0x4d71ce(0x24c)]){_0x26fe2e[_0x4d71ce(0x24c)]=!![],_0x26fe2e['createPromise']=((async()=>{const _0x21dbfe=_0x4d71ce;try{const _0x1efe08=await this[_0x21dbfe(0x212)][_0x21dbfe(0x1ea)]['llm'][_0x21dbfe(0x22b)](_0x26fe2e[_0x21dbfe(0x20b)]);return this[_0x21dbfe(0x1cf)][_0x21dbfe(0x1d1)]('['+_0x1efe08['id']+_0x21dbfe(0x24a)+_0x483352[_0x21dbfe(0x238)]+',\x20context='+_0x32780b),_0x1efe08['id'];}catch(_0xc86a48){this['logger'][_0x21dbfe(0x1e5)](_0x21dbfe(0x21f),_0xc86a48);throw _0xc86a48;}finally{_0x26fe2e[_0x21dbfe(0x24c)]=![],_0x26fe2e[_0x21dbfe(0x1ff)]=undefined;}})());try{_0x26fe2e[_0x4d71ce(0x23d)]=await _0x26fe2e['createPromise'];}catch{}}}}const _0x1029be=_0xd791f[_0x4d71ce(0x263)](_0xc73696=>!_0x26fe2e[_0x4d71ce(0x276)]['has'](_0xc73696)),_0x8fec6a=_0x4f10d3[_0x4d71ce(0x263)](_0x35760d=>!_0x26fe2e[_0x4d71ce(0x25a)][_0x4d71ce(0x220)](_0x35760d['name']));this['logger'][_0x4d71ce(0x264)](_0x4d71ce(0x1e6)+_0x4c40d0+_0x4d71ce(0x23a)+_0x483352[_0x4d71ce(0x238)]+',\x20context\x20signature:\x20'+_0x32780b+',\x20is\x20new\x20context:\x20'+_0x267b7e),this[_0x4d71ce(0x1cf)]['debug']('Chat\x20ID:\x20'+_0x26fe2e[_0x4d71ce(0x23d)]),this['logger'][_0x4d71ce(0x264)](_0x4d71ce(0x1d3)+_0xd791f['length']+',\x20tools:\x20'+_0x4f10d3[_0x4d71ce(0x21b)]),this[_0x4d71ce(0x1cf)][_0x4d71ce(0x264)](_0x4d71ce(0x1fe)+_0x26fe2e['embeddedSystemPrompts']['size']+_0x4d71ce(0x1fc)+_0x26fe2e[_0x4d71ce(0x25a)][_0x4d71ce(0x259)]),this[_0x4d71ce(0x1cf)][_0x4d71ce(0x264)](_0x4d71ce(0x237)+_0x1029be[_0x4d71ce(0x21b)]+',\x20tools:\x20'+_0x8fec6a[_0x4d71ce(0x21b)]);_0x1029be[_0x4d71ce(0x21b)]>0x0&&this[_0x4d71ce(0x1cf)][_0x4d71ce(0x264)](_0x4d71ce(0x202),_0x1029be[_0x4d71ce(0x255)](_0x1a4897=>_0x1a4897[_0x4d71ce(0x22f)](0x0,0x32)+_0x4d71ce(0x260))['join'](_0x4d71ce(0x1e4)));_0x8fec6a[_0x4d71ce(0x21b)]>0x0&&this[_0x4d71ce(0x1cf)][_0x4d71ce(0x264)](_0x4d71ce(0x201),_0x8fec6a[_0x4d71ce(0x255)](_0x5d6090=>_0x5d6090[_0x4d71ce(0x24d)])[_0x4d71ce(0x21d)](',\x20'));const _0x21565b=calculateConversationDelta(_0x483352['messages'],_0x26fe2e[_0x4d71ce(0x1f6)]),_0x45b1e9=extractLastUserMessage(_0x21565b,_0x483352[_0x4d71ce(0x231)]);if(_0x45b1e9[_0x4d71ce(0x1e5)])throw new SDKError(ErrorCode[_0x4d71ce(0x1f2)],_0x45b1e9['error']);const _0x404384=_0x45b1e9[_0x4d71ce(0x239)]||'',_0x5bb5c8=()=>{const _0x5b301f=_0x4d71ce,_0x4f2dcc=[];_0xd791f[_0x5b301f(0x21b)]>0x0&&_0x4f2dcc[_0x5b301f(0x1d6)](_0xd791f['join']('\x0a\x0a'));_0x4f10d3[_0x5b301f(0x21b)]>0x0&&_0x4f2dcc[_0x5b301f(0x1d6)](generateToolPrompt(_0x4f10d3));if(_0x483352['messages']&&_0x483352[_0x5b301f(0x231)]['length']>0x1){const _0x2175ff=formatConversationHistory(_0x483352[_0x5b301f(0x231)]);_0x2175ff&&_0x4f2dcc[_0x5b301f(0x1d6)]('\x0a\x0a<conversation_history>\x0a'+_0x2175ff+_0x5b301f(0x26c));}return _0x4f2dcc[_0x5b301f(0x1d6)](_0x404384),_0x4f2dcc['filter'](_0x37fe92=>_0x37fe92&&_0x37fe92[_0x5b301f(0x251)]())['join'](_0x5b301f(0x1db));};let _0x9775f4;if(_0x267b7e){this['logger']['info']('['+_0x26fe2e[_0x4d71ce(0x23d)]+_0x4d71ce(0x211)+_0x483352[_0x4d71ce(0x238)]+',\x20system_prompts='+_0xd791f[_0x4d71ce(0x21b)]+_0x4d71ce(0x26b)+_0x4f10d3[_0x4d71ce(0x21b)]+_0x4d71ce(0x21e)+_0x4f10d3[_0x4d71ce(0x255)](_0x263bfb=>_0x263bfb[_0x4d71ce(0x24d)])[_0x4d71ce(0x21d)](',\x20')+']'),_0x9775f4=_0x5bb5c8();for(const _0x279f39 of _0xd791f){_0x26fe2e[_0x4d71ce(0x276)][_0x4d71ce(0x204)](_0x279f39);}for(const _0x25ad5c of _0x4f10d3){_0x26fe2e[_0x4d71ce(0x25a)][_0x4d71ce(0x1e8)](_0x25ad5c[_0x4d71ce(0x24d)],_0x25ad5c);}}else{const _0x3cd651=[];_0x1029be[_0x4d71ce(0x21b)]>0x0&&(_0x3cd651[_0x4d71ce(0x1d6)](_0x1029be[_0x4d71ce(0x21d)]('\x0a\x0a')),this[_0x4d71ce(0x1cf)][_0x4d71ce(0x264)]('Embedding',_0x1029be['length'],_0x4d71ce(0x223)));if(_0x8fec6a['length']>0x0)try{_0x3cd651[_0x4d71ce(0x1d6)](generateToolPrompt(_0x8fec6a)),this[_0x4d71ce(0x1cf)]['debug'](_0x4d71ce(0x1f9),_0x8fec6a['length'],_0x4d71ce(0x243));}catch(_0x275b8b){this[_0x4d71ce(0x1cf)][_0x4d71ce(0x1e5)](_0x4d71ce(0x20c),_0x275b8b);}try{const _0x9c91ac=extractToolResults(_0x21565b);_0x9c91ac&&(_0x3cd651[_0x4d71ce(0x1d6)](_0x9c91ac),this[_0x4d71ce(0x1cf)][_0x4d71ce(0x264)](_0x4d71ce(0x1c7)));}catch(_0x56603a){this['logger'][_0x4d71ce(0x1e5)](_0x4d71ce(0x1c3),_0x56603a);}_0x3cd651[_0x4d71ce(0x1d6)](_0x404384);const _0x25aba3=_0x3cd651[_0x4d71ce(0x263)](_0x23a82c=>_0x23a82c&&_0x23a82c[_0x4d71ce(0x251)]());_0x9775f4=_0x25aba3['length']>0x0?_0x25aba3['join']('\x0a---\x0a\x0a'):_0x404384;for(const _0x22e638 of _0x1029be){_0x26fe2e[_0x4d71ce(0x276)][_0x4d71ce(0x204)](_0x22e638);}for(const _0x5dde9b of _0x8fec6a){_0x26fe2e['embeddedToolsByName'][_0x4d71ce(0x1e8)](_0x5dde9b[_0x4d71ce(0x24d)],_0x5dde9b);}}(!_0x9775f4||!_0x9775f4[_0x4d71ce(0x251)]())&&(this[_0x4d71ce(0x1cf)][_0x4d71ce(0x1f4)](_0x4d71ce(0x20e)),this[_0x4d71ce(0x1cf)][_0x4d71ce(0x1f4)](_0x4d71ce(0x274),{'isNewContext':_0x267b7e,'userMessageLength':_0x404384?.[_0x4d71ce(0x21b)]||0x0,'systemPromptsCount':_0xd791f['length'],'toolsCount':_0x4f10d3[_0x4d71ce(0x21b)],'messagesCount':_0x483352[_0x4d71ce(0x231)]?.[_0x4d71ce(0x21b)]||0x0,'newMessagesCount':_0x21565b[_0x4d71ce(0x21b)]}),clearChatState(_0x26fe2e),_0x9775f4=_0x5bb5c8(),(!_0x9775f4||!_0x9775f4[_0x4d71ce(0x251)]())&&(this['logger'][_0x4d71ce(0x1e5)](_0x4d71ce(0x249)),this['logger'][_0x4d71ce(0x1e5)](_0x4d71ce(0x234),{'systemPromptsCount':_0xd791f[_0x4d71ce(0x21b)],'toolsCount':_0x4f10d3[_0x4d71ce(0x21b)],'messagesCount':_0x483352[_0x4d71ce(0x231)]?.[_0x4d71ce(0x21b)]||0x0,'userMessageLength':_0x404384?.['length']||0x0}),_0x9775f4=_0x4d71ce(0x1d4)),this[_0x4d71ce(0x1cf)][_0x4d71ce(0x1d1)](_0x4d71ce(0x1cd),_0x9775f4['substring'](0x0,0x64)+'...'));const _0x3c835a=_0x483352['stream']!==![];if(_0x3c835a){_0x2304a9[_0x4d71ce(0x27b)][_0x4d71ce(0x1dc)](0xc8,{'Content-Type':_0x4d71ce(0x1c6),'Cache-Control':_0x4d71ce(0x265),'Connection':_0x4d71ce(0x1ef),'X-Accel-Buffering':'no'});const _0xa76b49=generateMessageId();let _0x2b2c34=0x0,_0x16260c=0x0;try{if(_0x26fe2e[_0x4d71ce(0x23d)]){const _0x339c9f=_0x9775f4[_0x4d71ce(0x22f)](0x0,0x32)[_0x4d71ce(0x1ed)](/\n/g,'\x20');this[_0x4d71ce(0x1cf)][_0x4d71ce(0x1d1)]('['+_0x26fe2e[_0x4d71ce(0x23d)]+']\x20Continue\x20chat\x20for\x20model\x20'+_0x483352[_0x4d71ce(0x238)]+',\x20context='+_0x32780b+',\x20'+_0x483352[_0x4d71ce(0x231)][_0x4d71ce(0x21b)]+_0x4d71ce(0x228)+_0xd791f[_0x4d71ce(0x21b)]+_0x4d71ce(0x206)+_0x4f10d3['length']+_0x4d71ce(0x1e0)+_0x9775f4[_0x4d71ce(0x21b)]+',\x20\x22'+_0x339c9f+_0x4d71ce(0x240));}const _0x4c72e9=this[_0x4d71ce(0x212)][_0x4d71ce(0x1ea)][_0x4d71ce(0x225)][_0x4d71ce(0x268)](_0x9775f4,{'chatId':_0x26fe2e[_0x4d71ce(0x23d)]||undefined,'agentId':_0x26fe2e['chatId']?undefined:_0x26fe2e[_0x4d71ce(0x20b)]});if(!_0x4c72e9){this['logger'][_0x4d71ce(0x1e5)](_0x4d71ce(0x241)),this[_0x4d71ce(0x1cf)]['error'](_0x4d71ce(0x274),JSON[_0x4d71ce(0x1f0)]({'chatId':_0x26fe2e[_0x4d71ce(0x23d)],'agentId':_0x26fe2e[_0x4d71ce(0x20b)],'model':_0x483352[_0x4d71ce(0x238)],'sessionId':_0x4c40d0,'contextSignature':_0x32780b})),_0x26fe2e['chatId']='',this[_0x4d71ce(0x1cf)]['warn']('Reset\x20chat\x20ID\x20to\x20recover\x20on\x20next\x20request');const _0x11d3b1=formatAnthropicSSE({'type':_0x4d71ce(0x1e5),'error':{'type':_0x4d71ce(0x230),'message':_0x4d71ce(0x25f)},'request_id':_0xa76b49});_0x2304a9[_0x4d71ce(0x27b)]['write'](_0x11d3b1),_0x2304a9[_0x4d71ce(0x27b)][_0x4d71ce(0x216)]();return;}_0x26fe2e[_0x4d71ce(0x1f6)]=_0x483352[_0x4d71ce(0x231)];const _0x212c07=_0x26fe2e;async function*_0x5ab488(_0x2db46b){const _0x288590=_0x4d71ce;for await(const _0xfccde3 of _0x2db46b){if(_0xfccde3[_0x288590(0x272)]===_0x288590(0x275))_0xfccde3[_0x288590(0x1f8)]['chatId']&&!_0x212c07[_0x288590(0x23d)]&&(_0x212c07[_0x288590(0x23d)]=_0xfccde3[_0x288590(0x1f8)][_0x288590(0x23d)]);else _0xfccde3[_0x288590(0x272)]===_0x288590(0x26d)&&(yield _0xfccde3[_0x288590(0x1f8)]);}}const _0x3bcdf1=_0x5ab488(_0x4c72e9);_0x2b2c34=estimateInputTokensFromRequest(_0x483352);const _0xc2e3ae=transformTDStreamToAnthropic(_0x3bcdf1,_0xa76b49,_0x483352[_0x4d71ce(0x238)],this['logger'],_0x404384,_0x2b2c34),_0x5b13c5=_0x9775f4[_0x4d71ce(0x21b)];let _0x1dbb5b=0x0;for await(const _0x2230eb of _0xc2e3ae){const _0x4e918a=formatAnthropicSSE(_0x2230eb);_0x1dbb5b++,this[_0x4d71ce(0x1cf)]['debug'](colorizeJSONCompact(_0x2230eb,{'color':!![]})),_0x2230eb[_0x4d71ce(0x272)]===_0x4d71ce(0x1e5)&&_0x2230eb[_0x4d71ce(0x1e5)][_0x4d71ce(0x272)]===_0x4d71ce(0x242)&&(clearChatState(_0x26fe2e),this[_0x4d71ce(0x1cf)][_0x4d71ce(0x1f4)](_0x4d71ce(0x25c)+_0x2230eb['error'][_0x4d71ce(0x1da)]+'\x20Input\x20size:\x20'+_0x5b13c5+'\x20chars.\x20Cleared\x20chat\x20state\x20for\x20session\x20'+_0x4c40d0+_0x4d71ce(0x27c)+_0x32780b)),_0x2230eb[_0x4d71ce(0x272)]==='message_delta'&&_0x2230eb[_0x4d71ce(0x270)]?.[_0x4d71ce(0x210)]&&(_0x16260c=_0x2230eb[_0x4d71ce(0x270)][_0x4d71ce(0x210)]),_0x2304a9[_0x4d71ce(0x27b)][_0x4d71ce(0x1df)](_0x4e918a);}this['logger'][_0x4d71ce(0x264)](_0x4d71ce(0x207)+_0x1dbb5b+_0x4d71ce(0x229)),appendUsageEntry(_0x4c40d0,{'timestamp':new Date()[_0x4d71ce(0x246)](),'model':_0x483352[_0x4d71ce(0x238)],'inputTokens':_0x2b2c34,'outputTokens':_0x16260c,'contextSignature':_0x32780b,'profile':this['config']['tdx']?.['context']?.[_0x4d71ce(0x269)],'chatId':_0x26fe2e['chatId']||undefined})[_0x4d71ce(0x21a)](_0x21e59c=>{const _0xe601d6=_0x4d71ce;this[_0xe601d6(0x1cf)]['warn'](_0xe601d6(0x1e1)+_0x21e59c);}),_0x2304a9['raw'][_0x4d71ce(0x216)]();}catch(_0x90cc6a){(_0x2b2c34>0x0||_0x16260c>0x0)&&appendUsageEntry(_0x4c40d0,{'timestamp':new Date()['toISOString'](),'model':_0x483352[_0x4d71ce(0x238)],'inputTokens':_0x2b2c34,'outputTokens':_0x16260c,'contextSignature':_0x32780b,'profile':this[_0x4d71ce(0x212)][_0x4d71ce(0x1ea)]?.[_0x4d71ce(0x1eb)]?.[_0x4d71ce(0x269)],'chatId':_0x26fe2e['chatId']||undefined})[_0x4d71ce(0x21a)](_0x4f5962=>{const _0x4eea35=_0x4d71ce;this[_0x4eea35(0x1cf)]['warn'](_0x4eea35(0x1c9)+_0x4f5962);});const _0x333e45=_0x90cc6a instanceof Error?_0x90cc6a[_0x4d71ce(0x1da)]:'Unknown\x20error';this[_0x4d71ce(0x1cf)][_0x4d71ce(0x1e5)]('[PROXY\x20ERROR]\x20Streaming\x20error:',_0x90cc6a),this['logger'][_0x4d71ce(0x1e5)](_0x4d71ce(0x274),JSON['stringify']({'chatId':_0x26fe2e[_0x4d71ce(0x23d)],'agentId':_0x26fe2e[_0x4d71ce(0x20b)],'model':_0x483352[_0x4d71ce(0x238)],'sessionId':_0x4c40d0,'contextSignature':_0x32780b})),_0x26fe2e[_0x4d71ce(0x23d)]='',this['logger'][_0x4d71ce(0x1f4)](_0x4d71ce(0x22a));const _0x1facf5=formatAnthropicSSE({'type':_0x4d71ce(0x1e5),'error':{'type':'api_error','message':_0x333e45},'request_id':_0xa76b49});_0x2304a9[_0x4d71ce(0x27b)][_0x4d71ce(0x1df)](_0x1facf5),_0x2304a9[_0x4d71ce(0x27b)][_0x4d71ce(0x216)]();}}else this[_0x4d71ce(0x1cf)][_0x4d71ce(0x1e5)](_0x4d71ce(0x217)),_0x2304a9['code'](0x1f5)[_0x4d71ce(0x279)]({'type':_0x4d71ce(0x1e5),'error':{'type':'not_supported_error','message':_0x4d71ce(0x254)}});}async[a59_0x133232(0x278)](_0x28939b){const _0x29768c=a59_0x133232,_0x58d673=_0x28939b[_0x29768c(0x20d)],_0x390c8d=estimateInputTokensFromRequest(_0x58d673);return this[_0x29768c(0x1cf)][_0x29768c(0x1d1)](_0x28939b[_0x29768c(0x21c)]+'\x20'+_0x28939b[_0x29768c(0x244)]+_0x29768c(0x248)+_0x390c8d),{'input_tokens':_0x390c8d};}async[a59_0x133232(0x20f)](){const _0x2d0e0d=a59_0x133232;try{await this[_0x2d0e0d(0x1d0)][_0x2d0e0d(0x232)]({'port':this[_0x2d0e0d(0x212)]['port'],'host':_0x2d0e0d(0x257)}),this['logger'][_0x2d0e0d(0x1d1)]('Proxy\x20server\x20started\x20at\x20localhost:'+this[_0x2d0e0d(0x212)][_0x2d0e0d(0x271)]),this[_0x2d0e0d(0x1e3)]=setInterval(()=>{const _0x412f8c=_0x2d0e0d;this[_0x412f8c(0x208)]();},CLEANUP_INTERVAL_MS),this[_0x2d0e0d(0x1cf)][_0x2d0e0d(0x264)]('Started\x20cache\x20cleanup\x20interval\x20(runs\x20every\x20'+CLEANUP_INTERVAL_MS/0x3e8+_0x2d0e0d(0x224)+CACHE_EXPIRATION_MS/0x3e8+'s)');}catch(_0x303c1a){const _0x354b1a=_0x303c1a instanceof Error?_0x303c1a[_0x2d0e0d(0x1da)]:_0x2d0e0d(0x24e);throw new Error(_0x2d0e0d(0x27a)+_0x354b1a);}}async[a59_0x133232(0x253)](){const _0x4d4ff7=a59_0x133232;this[_0x4d4ff7(0x1e3)]&&(clearInterval(this['cleanupInterval']),this[_0x4d4ff7(0x1e3)]=undefined),await this[_0x4d4ff7(0x1d0)][_0x4d4ff7(0x267)]();}[a59_0x133232(0x214)](){const _0x333229=a59_0x133232,_0x3e7828=this[_0x333229(0x1d0)][_0x333229(0x1d0)][_0x333229(0x219)]();if(typeof _0x3e7828===_0x333229(0x22c))return _0x3e7828;if(_0x3e7828)return _0x333229(0x222)+_0x3e7828[_0x333229(0x219)]+':'+_0x3e7828[_0x333229(0x271)];return'http://localhost:'+this['config'][_0x333229(0x271)];}}
|
|
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
|
-
function
|
|
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)]();}}
|