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