@treasuredata/tdx 0.14.1 → 0.14.2
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.js +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/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/endpoints.js.map +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.js +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.d.ts.map +1 -1
- package/dist/sdk/workflow/push-workflow.js +1 -1
- package/dist/sdk/workflow/push-workflow.js.map +1 -1
- package/dist/sdk/workflow/tdx-config.js +1 -1
- package/dist/sdk/workflow/workflow-utils.d.ts +60 -0
- package/dist/sdk/workflow/workflow-utils.d.ts.map +1 -1
- package/dist/sdk/workflow/workflow-utils.js +1 -1
- package/dist/sdk/workflow/workflow-utils.js.map +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.js +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 +2 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0x5d7147,_0x3598b4){const _0xa84a1b=a53_0x2cc7,_0x21ca72=_0x5d7147();while(!![]){try{const _0x4d5fe7=-parseInt(_0xa84a1b(0x18f))/0x1+-parseInt(_0xa84a1b(0x193))/0x2+parseInt(_0xa84a1b(0x1d3))/0x3+-parseInt(_0xa84a1b(0x170))/0x4*(parseInt(_0xa84a1b(0x1be))/0x5)+-parseInt(_0xa84a1b(0x1a7))/0x6+-parseInt(_0xa84a1b(0x17c))/0x7*(parseInt(_0xa84a1b(0x18b))/0x8)+parseInt(_0xa84a1b(0x1b9))/0x9;if(_0x4d5fe7===_0x3598b4)break;else _0x21ca72['push'](_0x21ca72['shift']());}catch(_0x2fce5f){_0x21ca72['push'](_0x21ca72['shift']());}}}(a53_0x3ed1,0x695ff));import{SDKError,ErrorCode}from'../sdk/errors.js';import{calculateConversationDelta}from'./conversation-utils.js';export{calculateConversationDelta}from'./conversation-utils.js';function estimateTokenCount(_0x3277c2){const _0x51cec5=a53_0x2cc7;if(!_0x3277c2||_0x3277c2[_0x51cec5(0x1d2)]===0x0)return 0x0;return Math[_0x51cec5(0x1d0)](_0x3277c2[_0x51cec5(0x1d2)]/3.7);}export function determineErrorType(_0x48df77,_0x11d41b){const _0x1f1aa6=a53_0x2cc7,_0x5e8325=_0x48df77[_0x1f1aa6(0x1b3)]('Input\x20is\x20too\x20long')||_0x48df77['includes'](_0x1f1aa6(0x1c2))||_0x48df77[_0x1f1aa6(0x1b3)](_0x1f1aa6(0x1e3));if(_0x5e8325)return _0x11d41b?.['error']('[CONTEXT\x20LENGTH\x20ERROR]\x20'+_0x48df77),_0x1f1aa6(0x1ae);return _0x11d41b?.[_0x1f1aa6(0x178)](_0x1f1aa6(0x190)+_0x48df77),_0x1f1aa6(0x1b7);}export function estimateInputTokensFromRequest(_0x3c643e){const _0x5cbdc9=a53_0x2cc7;let _0x4b5e65=0x0;if(typeof _0x3c643e[_0x5cbdc9(0x194)]===_0x5cbdc9(0x195))_0x4b5e65+=_0x3c643e[_0x5cbdc9(0x194)][_0x5cbdc9(0x1d2)];else{if(Array[_0x5cbdc9(0x1c0)](_0x3c643e['system']))for(const _0x501fe7 of _0x3c643e[_0x5cbdc9(0x194)]){_0x501fe7&&typeof _0x501fe7[_0x5cbdc9(0x1a8)]===_0x5cbdc9(0x195)&&(_0x4b5e65+=_0x501fe7[_0x5cbdc9(0x1a8)]['length']);}}if(Array[_0x5cbdc9(0x1c0)](_0x3c643e[_0x5cbdc9(0x189)]))for(const _0xb96d58 of _0x3c643e['tools']){_0xb96d58&&(_0x4b5e65+=_0xb96d58[_0x5cbdc9(0x17d)]?.['length']||0x0,_0x4b5e65+=_0xb96d58[_0x5cbdc9(0x1e2)]?.[_0x5cbdc9(0x1d2)]||0x0,_0xb96d58[_0x5cbdc9(0x1a2)]&&(_0x4b5e65+=JSON['stringify'](_0xb96d58[_0x5cbdc9(0x1a2)])[_0x5cbdc9(0x1d2)]));}if(Array[_0x5cbdc9(0x1c0)](_0x3c643e[_0x5cbdc9(0x1c4)]))for(const _0x251225 of _0x3c643e[_0x5cbdc9(0x1c4)]){if(!_0x251225)continue;if(typeof _0x251225[_0x5cbdc9(0x1b2)]===_0x5cbdc9(0x195))_0x4b5e65+=_0x251225['content'][_0x5cbdc9(0x1d2)];else{if(Array['isArray'](_0x251225[_0x5cbdc9(0x1b2)]))for(const _0x1f2e7f of _0x251225[_0x5cbdc9(0x1b2)]){if(!_0x1f2e7f)continue;if(_0x1f2e7f[_0x5cbdc9(0x1ba)]==='text'&&_0x1f2e7f['text'])_0x4b5e65+=_0x1f2e7f[_0x5cbdc9(0x1a8)][_0x5cbdc9(0x1d2)];else{if(_0x1f2e7f['type']===_0x5cbdc9(0x18e)&&_0x1f2e7f[_0x5cbdc9(0x17b)])_0x4b5e65+=JSON[_0x5cbdc9(0x18c)](_0x1f2e7f['input'])['length'];else{if(_0x1f2e7f[_0x5cbdc9(0x1ba)]===_0x5cbdc9(0x1cb)&&_0x1f2e7f[_0x5cbdc9(0x1b2)]){if(typeof _0x1f2e7f[_0x5cbdc9(0x1b2)]===_0x5cbdc9(0x195))_0x4b5e65+=_0x1f2e7f[_0x5cbdc9(0x1b2)][_0x5cbdc9(0x1d2)];else{if(Array[_0x5cbdc9(0x1c0)](_0x1f2e7f['content']))for(const _0x13dea5 of _0x1f2e7f[_0x5cbdc9(0x1b2)]){_0x13dea5&&_0x13dea5[_0x5cbdc9(0x1ba)]===_0x5cbdc9(0x1a8)&&_0x13dea5[_0x5cbdc9(0x1a8)]&&(_0x4b5e65+=_0x13dea5[_0x5cbdc9(0x1a8)][_0x5cbdc9(0x1d2)]);}}}}}}}}return Math[_0x5cbdc9(0x1d0)](_0x4b5e65/3.7);}function generateMessageId(){const _0x5d421c=a53_0x2cc7;return'msg_'+Math[_0x5d421c(0x1c3)]()['toString'](0x24)['substring'](0x2,0xf)+Math['random']()[_0x5d421c(0x1ce)](0x24)[_0x5d421c(0x17a)](0x2,0xf);}export function extractTextFromAnthropicMessage(_0x2321ce){const _0x634ce3=a53_0x2cc7;if(typeof _0x2321ce[_0x634ce3(0x1b2)]===_0x634ce3(0x195))return _0x2321ce[_0x634ce3(0x1b2)];if(_0x2321ce[_0x634ce3(0x1b2)]==null)return'';if(!Array[_0x634ce3(0x1c0)](_0x2321ce[_0x634ce3(0x1b2)]))throw new SDKError(ErrorCode[_0x634ce3(0x1a9)],_0x634ce3(0x1db)+typeof _0x2321ce[_0x634ce3(0x1b2)]);return _0x2321ce[_0x634ce3(0x1b2)]['filter'](_0x1e08a1=>_0x1e08a1&&_0x1e08a1[_0x634ce3(0x1ba)]===_0x634ce3(0x1a8)&&_0x1e08a1['text'])[_0x634ce3(0x176)](_0xc7099c=>_0xc7099c['text'])[_0x634ce3(0x199)]('\x0a');}export function transformAnthropicRequestToTD(_0x1a68cc,_0x3311fe){const _0x1be875=a53_0x2cc7,_0x4fc964=calculateConversationDelta(_0x1a68cc[_0x1be875(0x1c4)],_0x3311fe),_0x2af8eb=_0x4fc964[_0x1be875(0x1e0)](_0x195e25=>_0x195e25[_0x1be875(0x181)]===_0x1be875(0x1e5))[_0x1be875(0x18d)]();if(!_0x2af8eb)throw new Error(_0x1be875(0x1ab));const _0x4dce94=extractTextFromAnthropicMessage(_0x2af8eb);return{'userMessage':_0x4dce94,'deltaMessages':_0x4fc964};}export function formatAnthropicSSE(_0x461020){const _0x2ca403=a53_0x2cc7;return'event:\x20'+_0x461020[_0x2ca403(0x1ba)]+'\x0adata:\x20'+JSON[_0x2ca403(0x18c)](_0x461020)+'\x0a\x0a';}export function mapAnthropicModelToTD(_0x54b810){const _0x4d5e4e=a53_0x2cc7,_0x4aa42f={'sonnet':_0x4d5e4e(0x1dc),'claude-sonnet':_0x4d5e4e(0x1dc),'claude-3-5-sonnet':_0x4d5e4e(0x1dc),'claude-3-sonnet':_0x4d5e4e(0x1dc),'haiku':_0x4d5e4e(0x188),'claude-haiku':'haiku','claude-3-5-haiku':_0x4d5e4e(0x188),'claude-3-haiku':_0x4d5e4e(0x188),'opus':_0x4d5e4e(0x196),'claude-opus':_0x4d5e4e(0x196),'claude-3-opus':_0x4d5e4e(0x196)},_0x2fde26=_0x54b810['toLowerCase']();return _0x4aa42f[_0x2fde26]||_0x4d5e4e(0x1dc);}export function generateToolPrompt(_0x2b6c6a){const _0x5c1d71=a53_0x2cc7;if(_0x2b6c6a==null)return'';if(!Array[_0x5c1d71(0x1c0)](_0x2b6c6a))throw new SDKError(ErrorCode[_0x5c1d71(0x1a9)],_0x5c1d71(0x1a4)+typeof _0x2b6c6a);if(_0x2b6c6a[_0x5c1d71(0x1d2)]===0x0)return'';const _0x4c8a8d=_0x2b6c6a[_0x5c1d71(0x1e0)](_0x38857b=>_0x38857b!=null)[_0x5c1d71(0x176)](_0x3859bb=>{const _0x36e18e=_0x5c1d71,_0x291c88=JSON[_0x36e18e(0x18c)](_0x3859bb[_0x36e18e(0x1a2)]);return _0x36e18e(0x1de)+_0x3859bb[_0x36e18e(0x17d)]+_0x36e18e(0x19d)+(_0x3859bb[_0x36e18e(0x1e2)]||_0x36e18e(0x1bb))+'\x0a\x0a**Input\x20Schema:**\x0a```json\x0a'+_0x291c88+_0x36e18e(0x19c);})[_0x5c1d71(0x199)]('\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'+_0x4c8a8d+_0x5c1d71(0x187);}function escapeXmlContent(_0x55f093){const _0x2535b5=a53_0x2cc7;return _0x55f093[_0x2535b5(0x1cf)](/&/g,_0x2535b5(0x1aa))[_0x2535b5(0x1cf)](/</g,_0x2535b5(0x1b6))[_0x2535b5(0x1cf)](/>/g,_0x2535b5(0x191));}export function extractToolResults(_0x5e7c92){const _0x398653=a53_0x2cc7;if(_0x5e7c92==null)return'';if(!Array[_0x398653(0x1c0)](_0x5e7c92))throw new SDKError(ErrorCode[_0x398653(0x1a9)],_0x398653(0x186)+typeof _0x5e7c92);const _0x352031=[];for(const _0x3f402c of _0x5e7c92){if(!_0x3f402c)continue;if(_0x3f402c[_0x398653(0x181)]==='user'&&typeof _0x3f402c[_0x398653(0x1b2)]!==_0x398653(0x195)){if(!Array[_0x398653(0x1c0)](_0x3f402c[_0x398653(0x1b2)]))throw new SDKError(ErrorCode[_0x398653(0x1a9)],_0x398653(0x1a1)+typeof _0x3f402c[_0x398653(0x1b2)]);for(const _0x177a39 of _0x3f402c[_0x398653(0x1b2)]){if(!_0x177a39)continue;if(_0x177a39[_0x398653(0x1ba)]===_0x398653(0x1cb)&&_0x177a39[_0x398653(0x1b1)]){let _0x10759c='';if(typeof _0x177a39[_0x398653(0x1b2)]===_0x398653(0x195))_0x10759c=_0x177a39[_0x398653(0x1b2)];else _0x177a39['content']!=null&&Array[_0x398653(0x1c0)](_0x177a39[_0x398653(0x1b2)])&&(_0x10759c=_0x177a39['content'][_0x398653(0x1e0)](_0x2a554a=>_0x2a554a&&_0x2a554a['type']==='text'&&_0x2a554a[_0x398653(0x1a8)])['map'](_0xd0fc91=>_0xd0fc91[_0x398653(0x1a8)])['join']('\x0a'));const _0x4416ac=escapeXmlContent(_0x10759c),_0x4717ba=_0x177a39[_0x398653(0x179)]?_0x398653(0x182):'';_0x352031[_0x398653(0x1a0)]('<tool_result\x20tool_use_id=\x22'+_0x177a39[_0x398653(0x1b1)]+'\x22'+_0x4717ba+'>\x0a'+_0x4416ac+'\x0a</tool_result>');}}}}if(_0x352031[_0x398653(0x1d2)]===0x0)return'';return _0x352031['join']('\x0a\x0a');}function findJsonEndIndex(_0x1a2fc7,_0x159dfa){let _0x3d902c=0x0,_0x3c00e0=![],_0x2f963d=![];for(let _0x3014d9=_0x159dfa;_0x3014d9<_0x1a2fc7['length'];_0x3014d9++){const _0x86a7af=_0x1a2fc7[_0x3014d9];if(_0x2f963d){_0x2f963d=![];continue;}if(_0x86a7af==='\x5c'){_0x2f963d=!![];continue;}if(_0x86a7af==='\x22'){_0x3c00e0=!_0x3c00e0;continue;}if(!_0x3c00e0){if(_0x86a7af==='{')_0x3d902c++;else{if(_0x86a7af==='}'){_0x3d902c--;if(_0x3d902c===0x0)return _0x3014d9+0x1;}}}}return-0x1;}function repairIncompleteJson(_0x219b74,_0x425f28){const _0x1f73d7=a53_0x2cc7;try{return JSON[_0x1f73d7(0x1e1)](_0x219b74),_0x219b74;}catch{let _0x59ceea=_0x219b74;const _0x61f12a=/("old_string"\s*:\s*"[^"]*")\s*,\s*("(?:[^"\\]|\\.)*")\s*\}/,_0x24bb4f=_0x61f12a[_0x1f73d7(0x17f)](_0x59ceea);if(_0x24bb4f){_0x59ceea=_0x59ceea[_0x1f73d7(0x1cf)](_0x61f12a,_0x1f73d7(0x183));try{return JSON[_0x1f73d7(0x1e1)](_0x59ceea),_0x425f28&&_0x425f28['warn']('[JSON\x20REPAIR]\x20Added\x20missing\x20\x22new_string\x22\x20key\x0a[Before]:\x0a'+_0x219b74+_0x1f73d7(0x16d)+_0x59ceea),_0x59ceea;}catch{_0x59ceea=_0x219b74;}}const _0x595af4=[];let _0x3ab85e=![],_0x38ff3b=![];for(const _0x1a454f of _0x219b74){if(_0x38ff3b){_0x38ff3b=![];continue;}if(_0x1a454f==='\x5c'){_0x38ff3b=!![];continue;}if(_0x1a454f==='\x22'){_0x3ab85e=!_0x3ab85e;continue;}if(!_0x3ab85e){if(_0x1a454f==='{')_0x595af4[_0x1f73d7(0x1a0)]('{');else{if(_0x1a454f==='[')_0x595af4[_0x1f73d7(0x1a0)]('[');else{if(_0x1a454f==='}'&&_0x595af4[_0x595af4[_0x1f73d7(0x1d2)]-0x1]==='{')_0x595af4[_0x1f73d7(0x18d)]();else _0x1a454f===']'&&_0x595af4[_0x595af4[_0x1f73d7(0x1d2)]-0x1]==='['&&_0x595af4[_0x1f73d7(0x18d)]();}}}}_0x59ceea=_0x219b74;_0x3ab85e&&(_0x59ceea+='\x22');while(_0x595af4[_0x1f73d7(0x1d2)]>0x0){const _0x2001f4=_0x595af4[_0x1f73d7(0x18d)]();_0x59ceea+=_0x2001f4==='{'?'}':']';}try{return JSON['parse'](_0x59ceea),_0x425f28&&_0x59ceea!==_0x219b74&&_0x425f28[_0x1f73d7(0x1b8)](_0x1f73d7(0x1d1)+_0x219b74+_0x1f73d7(0x16d)+_0x59ceea),_0x59ceea;}catch{return null;}}}function a53_0x2cc7(_0x4b74be,_0xd34637){_0x4b74be=_0x4b74be-0x16d;const _0x3ed109=a53_0x3ed1();let _0x2cc72f=_0x3ed109[_0x4b74be];return _0x2cc72f;}function tryParseJsonContent(_0x519022,_0x1f4715){const _0x5ca114=a53_0x2cc7;if(!_0x519022)return null;try{return JSON[_0x5ca114(0x1e1)](_0x519022);}catch{const _0x323f3d=repairIncompleteJson(_0x519022,_0x1f4715);if(_0x323f3d)try{return JSON[_0x5ca114(0x1e1)](_0x323f3d);}catch{}return null;}}function tryMatchXmlPatterns(_0x174664,_0x3fc650){const _0x1f17f4=a53_0x2cc7;let _0x5ebc5f=null;for(const {pattern:_0xea539f,nameFirst:_0x2f2374}of _0x3fc650){const _0x2bdc40=_0xea539f[_0x1f17f4(0x17f)](_0x174664);_0x2bdc40&&((!_0x5ebc5f||_0x2bdc40[_0x1f17f4(0x18a)]<_0x5ebc5f[_0x1f17f4(0x1bd)][_0x1f17f4(0x18a)])&&(_0x5ebc5f={'match':_0x2bdc40,'name':_0x2f2374?_0x2bdc40[0x1]:_0x2bdc40[0x2],'id':_0x2f2374?_0x2bdc40[0x2]:_0x2bdc40[0x1],'jsonContent':_0x2bdc40[0x3][_0x1f17f4(0x1d4)]()}));}return _0x5ebc5f;}export function parseToolCallFromText(_0x5c2442,_0x442499){const _0x480634=a53_0x2cc7,_0x32b0aa=[{'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':![]}],_0x731642=[{'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':![]}],_0x3c0def=tryMatchXmlPatterns(_0x5c2442,_0x32b0aa);if(_0x3c0def){const {match:_0x44608e,name:_0x54f419,id:_0xec9579,jsonContent:_0x263bed}=_0x3c0def,_0x547283=_0x44608e[_0x480634(0x18a)],_0x3a0814=_0x547283+_0x44608e[0x0][_0x480634(0x1d2)],_0x1d5fe4=tryParseJsonContent(_0x263bed,_0x442499);if(_0x1d5fe4!==null)return{'id':_0xec9579,'name':_0x54f419,'input':_0x1d5fe4,'startIndex':_0x547283,'endIndex':_0x3a0814};if(!_0x263bed)return{'id':_0xec9579,'name':_0x54f419,'input':{},'startIndex':_0x547283,'endIndex':_0x3a0814};}const _0x5be0ca=/<tool_use\s+name="([^"]+)">\s*([\s\S]*?)\s*<\/tool_use>/,_0x381954=_0x5be0ca['exec'](_0x5c2442);if(_0x381954){const _0x1be558=_0x381954[0x1],_0x38ca0f=_0x381954[0x2]['trim'](),_0x2e87a4=_0x381954[_0x480634(0x18a)],_0x55b425=_0x2e87a4+_0x381954[0x0][_0x480634(0x1d2)],_0x1d6302=_0x480634(0x1ad)+Date[_0x480634(0x1af)]();_0x442499?.[_0x480634(0x1b8)](_0x480634(0x1ca)+_0x1be558+_0x480634(0x180)+_0x1d6302+_0x480634(0x1dd)+_0x381954[0x0]);const _0x3f5201=tryParseJsonContent(_0x38ca0f,_0x442499);if(_0x3f5201!==null)return{'id':_0x1d6302,'name':_0x1be558,'input':_0x3f5201,'startIndex':_0x2e87a4,'endIndex':_0x55b425};if(!_0x38ca0f)return{'id':_0x1d6302,'name':_0x1be558,'input':{},'startIndex':_0x2e87a4,'endIndex':_0x55b425};}const _0x3533b4=tryMatchXmlPatterns(_0x5c2442,_0x731642);if(_0x3533b4){const {match:_0x39fbdb,name:_0x2bab6b,id:_0x31fb37,jsonContent:_0x5e4ae3}=_0x3533b4,_0x5386ec=_0x39fbdb[_0x480634(0x18a)],_0x8bdd35=_0x5386ec+_0x39fbdb[0x0][_0x480634(0x1d2)];_0x442499?.[_0x480634(0x1b8)](_0x480634(0x1c1)+_0x2bab6b+',\x20ID:\x20'+_0x31fb37+'\x0aOriginal\x20XML:\x0a'+_0x39fbdb[0x0]);const _0x52f4a0=tryParseJsonContent(_0x5e4ae3,_0x442499);if(_0x52f4a0!==null)return{'id':_0x31fb37,'name':_0x2bab6b,'input':_0x52f4a0,'startIndex':_0x5386ec,'endIndex':_0x8bdd35};if(!_0x5e4ae3)return{'id':_0x31fb37,'name':_0x2bab6b,'input':{},'startIndex':_0x5386ec,'endIndex':_0x8bdd35};}const _0xe1c96a=/<tool_use([^>]*)>([\s\S]*?)<\/tool_use>/,_0x2406da=_0xe1c96a[_0x480634(0x17f)](_0x5c2442);if(_0x2406da){const _0x3f96cc=_0x2406da[0x1],_0x37602c=_0x2406da[0x2],_0xb69b44=_0x2406da[_0x480634(0x18a)],_0x578e01=_0xb69b44+_0x2406da[0x0][_0x480634(0x1d2)],_0x27c779=/name="([^"]+)"/[_0x480634(0x17f)](_0x3f96cc),_0x58736f=/id="([^"]+)"/[_0x480634(0x17f)](_0x3f96cc),_0x5f4633=/tool_use_name="([^"]+)"/[_0x480634(0x17f)](_0x37602c),_0x1840c8=/tool_use_id="([^"]+)"/[_0x480634(0x17f)](_0x37602c),_0x58f64a=_0x27c779?.[0x1]||_0x5f4633?.[0x1],_0xc6a0b3=_0x58736f?.[0x1]||_0x1840c8?.[0x1];if(_0x58f64a){const _0x38bdf3=_0xc6a0b3||_0x480634(0x1ad)+Date[_0x480634(0x1af)](),_0x11339d=_0x37602c[_0x480634(0x198)]('{');let _0x5e66e7='';if(_0x11339d!==-0x1){const _0x1264f7=_0x37602c['substring'](_0x11339d),_0x15a4c6=/^\{[\s\S]*?\}/[_0x480634(0x17f)](_0x1264f7);_0x5e66e7=_0x15a4c6?.[0x0]?.[_0x480634(0x1d4)]()||'';}const _0xeff67=!_0xc6a0b3;_0x442499?.[_0x480634(0x1b8)]('[MALFORMED\x20TOOL_USE]\x20Extracted\x20from\x20flexible\x20pattern.\x20Name:\x20'+_0x58f64a+',\x20ID:\x20'+_0x38bdf3+(_0xeff67?'\x20(generated)':'')+_0x480634(0x1dd)+_0x2406da[0x0]);const _0x18e800=tryParseJsonContent(_0x5e66e7,_0x442499);if(_0x18e800!==null)return{'id':_0x38bdf3,'name':_0x58f64a,'input':_0x18e800,'startIndex':_0xb69b44,'endIndex':_0x578e01};if(!_0x5e66e7)return{'id':_0x38bdf3,'name':_0x58f64a,'input':{},'startIndex':_0xb69b44,'endIndex':_0x578e01};}}const _0xbf8837=[_0x480634(0x1c9),'Read',_0x480634(0x1c7),_0x480634(0x1c5),_0x480634(0x1d8),_0x480634(0x184),_0x480634(0x1bf),_0x480634(0x172),_0x480634(0x16e),_0x480634(0x173),_0x480634(0x175),'NotebookEdit'];for(const _0x23beab of _0xbf8837){const _0x4d7d15=new RegExp('<'+_0x23beab+_0x480634(0x177)+_0x23beab+'>','i'),_0x136bf3=_0x4d7d15[_0x480634(0x17f)](_0x5c2442);if(_0x136bf3){const _0x50579c=_0x136bf3[0x1],_0x1ddbdd=_0x136bf3[_0x480634(0x18a)],_0x10ba76=_0x1ddbdd+_0x136bf3[0x0][_0x480634(0x1d2)],_0x15bbf1=_0x480634(0x1ad)+Date[_0x480634(0x1af)](),_0xf59634={},_0x1ee67b=/<([a-z_]+)>([\s\S]*?)<\/\1>/gi;let _0x4a76b8;while((_0x4a76b8=_0x1ee67b[_0x480634(0x17f)](_0x50579c))!==null){const _0x508f1e=_0x4a76b8[0x1],_0x1cc7c0=_0x4a76b8[0x2][_0x480634(0x1d4)]();try{_0xf59634[_0x508f1e]=JSON[_0x480634(0x1e1)](_0x1cc7c0);}catch{_0xf59634[_0x508f1e]=_0x1cc7c0;}}return _0x442499?.['warn'](_0x480634(0x1c8)+_0x23beab+_0x480634(0x180)+_0x15bbf1+_0x480634(0x1dd)+_0x136bf3[0x0]),{'id':_0x15bbf1,'name':_0x23beab,'input':_0xf59634,'startIndex':_0x1ddbdd,'endIndex':_0x10ba76};}}const _0x4b09b4=/\{"tool_use":/g,_0x287170=_0x4b09b4[_0x480634(0x17f)](_0x5c2442);if(!_0x287170)return null;const _0x141de8=_0x287170[_0x480634(0x18a)];let _0x5efe52=findJsonEndIndex(_0x5c2442,_0x141de8);if(_0x5efe52===-0x1)return null;const _0x426acf=_0x5c2442['substring'](_0x141de8,_0x5efe52);try{const _0x24d59f=JSON[_0x480634(0x1e1)](_0x426acf);if(_0x24d59f[_0x480634(0x18e)]&&_0x24d59f[_0x480634(0x18e)]['id']&&_0x24d59f['tool_use']['name'])return{'id':_0x24d59f[_0x480634(0x18e)]['id'],'name':_0x24d59f[_0x480634(0x18e)]['name'],'input':_0x24d59f['tool_use'][_0x480634(0x17b)]||{},'startIndex':_0x141de8,'endIndex':_0x5efe52};}catch{const _0x3cd997=repairIncompleteJson(_0x426acf,_0x442499);if(_0x3cd997)try{const _0x418369=JSON['parse'](_0x3cd997);if(_0x418369['tool_use']&&_0x418369[_0x480634(0x18e)]['id']&&_0x418369['tool_use'][_0x480634(0x17d)])return{'id':_0x418369['tool_use']['id'],'name':_0x418369[_0x480634(0x18e)][_0x480634(0x17d)],'input':_0x418369[_0x480634(0x18e)][_0x480634(0x17b)]||{},'startIndex':_0x141de8,'endIndex':_0x5efe52};}catch{return null;}return null;}return null;}function a53_0x3ed1(){const _0x282a38=['440fmaVpu','stringify','pop','tool_use','635308MZeMFw','[API\x20ERROR]\x20','>','text_delta','1225712YosgVP','system','string','opus','reasoning','lastIndexOf','join','thinking_delta','Malformed\x20content:','\x0a```','\x0a\x0a**Description:**\x20','<tool_use','usage','push','Invalid\x20message.content\x20type\x20for\x20user\x20role:\x20expected\x20array,\x20got\x20','input_schema','startIndex','Invalid\x20tools\x20type:\x20expected\x20array,\x20got\x20','</tool_use>','debug','3931992MYbAws','text','LLM_MALFORMED_MESSAGE','&','No\x20user\x20message\x20found\x20in\x20request\x20delta','message_stop','toolu_generated_','request_too_large','now','message_start','tool_use_id','content','includes',').\x20Ignored:\x20','Tool\x20call\x20detected:\x20','<','api_error','warn','26104923eDJkPG','type','No\x20description','content_block_start','match','1459935aKTqOn','Task','isArray','[MALFORMED\x20TOOL_USE]\x20Detected\x20malformed\x20XML\x20format\x20with\x20separate\x20id\x20tag.\x20Name:\x20','context\x20length','random','messages','Bash','\x20tool_use\x20blocks.\x20','Write','[MALFORMED\x20TOOL_USE]\x20Tool\x20name\x20used\x20as\x20XML\x20tag\x20instead\x20of\x20tool_use.\x20Name:\x20','Edit','[MALFORMED\x20TOOL_USE]\x20Missing\x20id\x20attribute,\x20generated\x20fallback.\x20Name:\x20','tool_result','\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','thinking','toString','replace','ceil','[JSON\x20REPAIR]\x20Successfully\x20repaired\x20malformed\x20JSON\x0a[Before]:\x0a','length','1992219DRzDzs','trim','model_context_window_exceeded','content_block_stop','\x0a\x0a[tdx\x20error]\x20Malformed\x20tool_use\x20JSON\x20detected.\x20Please\x20fix\x20the\x20JSON\x20below:\x0a\x0a','Glob','input_json_delta','content_block_delta','Invalid\x20message.content\x20type:\x20expected\x20string\x20or\x20array,\x20got\x20','sonnet','\x0aOriginal\x20XML:\x0a','##\x20Tool:\x20','indexOf','filter','parse','description','maximum\x20context','message_delta','user','[MULTIPLE\x20TOOL_USE]\x20Detected\x20','\x0a[After]:\x0a','WebFetch','endIndex','8yRymPf','[MALFORMED\x20JSON]\x20Tool\x20use\x20JSON\x20could\x20not\x20be\x20parsed\x20or\x20repaired:\x0a','TodoWrite','WebSearch','end_turn','AskUserQuestion','map','>([\x5cs\x5cS]*?)</','error','is_error','substring','input','82159LpGyDt','name','{\x22tool_use\x22:','exec',',\x20ID:\x20','role','\x20error=\x22true\x22','$1,\x22new_string\x22:$2}','Grep','Executing\x20only\x20the\x20last\x20one\x20(','Invalid\x20messages\x20type:\x20expected\x20array,\x20got\x20','\x0a---\x0a','haiku','tools','index'];a53_0x3ed1=function(){return _0x282a38;};return a53_0x3ed1();}export function*generateToolCallBlockEvents(_0x5a54af,_0x852fdc){const _0xe77074=a53_0x2cc7,_0xbdd398={'type':'content_block_start','index':_0x852fdc,'content_block':{'type':_0xe77074(0x18e),'id':_0x5a54af['id'],'name':_0x5a54af['name'],'input':{}}};yield _0xbdd398;const _0x495d14=JSON[_0xe77074(0x18c)](_0x5a54af[_0xe77074(0x17b)]),_0x142f16={'type':_0xe77074(0x1da),'index':_0x852fdc,'delta':{'type':_0xe77074(0x1d9),'partial_json':_0x495d14}};yield _0x142f16;const _0x5919f4={'type':_0xe77074(0x1d6),'index':_0x852fdc};yield _0x5919f4;}export function*generateToolCallEvents(_0x4959e1,_0x1e0d10,_0x5baa1c){const _0x6dbe34=a53_0x2cc7;yield*generateToolCallBlockEvents(_0x4959e1,_0x1e0d10);const _0x5b4f6b={'type':_0x6dbe34(0x1e4),'delta':{'stop_reason':'tool_use','stop_sequence':null},'usage':{'input_tokens':_0x5baa1c,'output_tokens':0x0}};yield _0x5b4f6b;const _0x126a10={'type':_0x6dbe34(0x1ac)};yield _0x126a10;}export async function*transformTDStreamToAnthropic(_0x834d3d,_0xd36332,_0x7c35a4,_0x8bebec,_0x196573='',_0x362e5d=0x0){const _0x31920b=a53_0x2cc7,_0x54d64=_0x362e5d>0x0?_0x362e5d:estimateTokenCount(_0x196573);let _0x19b394=0x0,_0x527cdf=0x0,_0x2c00a8=![],_0x5e2a97=null,_0xf24fea='',_0x19f909=0x0,_0x1c44fa=![];const _0x566c55=0xc8,_0x487e15={'type':_0x31920b(0x1b0),'message':{'id':_0xd36332,'type':'message','role':'assistant','content':[],'model':_0x7c35a4,'stop_reason':null,'stop_sequence':null,'usage':{'input_tokens':_0x54d64,'output_tokens':0x0}}};yield _0x487e15;for await(const _0x41922f of _0x834d3d){if(_0x31920b(0x197)in _0x41922f){const _0x5a51bb=_0x41922f;if(!_0x2c00a8){const _0x4ded1a={'type':_0x31920b(0x1bc),'index':_0x527cdf,'content_block':{'type':_0x31920b(0x1cd),'thinking':''}};yield _0x4ded1a,_0x2c00a8=!![],_0x5e2a97='thinking';}const _0x319408={'type':'content_block_delta','index':_0x527cdf,'delta':{'type':_0x31920b(0x19a),'thinking':_0x5a51bb[_0x31920b(0x197)]}};yield _0x319408,_0x19b394+=estimateTokenCount(_0x5a51bb[_0x31920b(0x197)]);}else{if('content'in _0x41922f){const _0x1e2d36=_0x41922f;if(_0x2c00a8&&_0x5e2a97===_0x31920b(0x1cd)){const _0x369320={'type':_0x31920b(0x1d6),'index':_0x527cdf};yield _0x369320,_0x527cdf++,_0x2c00a8=![],_0x5e2a97=null;}_0xf24fea+=_0x1e2d36[_0x31920b(0x1b2)];const _0x440ff7=_0xf24fea[_0x31920b(0x1df)](_0x31920b(0x19e)),_0x33cbfe=_0xf24fea['indexOf']('{\x22tool_use\x22:'),_0x133bdc=[_0x440ff7,_0x33cbfe][_0x31920b(0x1e0)](_0x11a397=>_0x11a397!==-0x1),_0x572b96=_0x133bdc[_0x31920b(0x1d2)]>0x0?Math['min'](..._0x133bdc):-0x1;if(_0x572b96!==-0x1){const _0x528c46=[];let _0x5083b1=0x0;while(!![]){const _0x4d45a5=_0xf24fea[_0x31920b(0x17a)](_0x5083b1),_0x2bdaa4=parseToolCallFromText(_0x4d45a5,_0x8bebec);if(!_0x2bdaa4)break;_0x528c46['push']({'id':_0x2bdaa4['id'],'name':_0x2bdaa4[_0x31920b(0x17d)],'input':_0x2bdaa4['input'],'startIndex':_0x5083b1+_0x2bdaa4[_0x31920b(0x1a3)],'endIndex':_0x5083b1+_0x2bdaa4['endIndex']}),_0x5083b1+=_0x2bdaa4[_0x31920b(0x16f)];}if(_0x528c46['length']>0x0){const _0x5ee00a=_0x528c46[_0x528c46[_0x31920b(0x1d2)]-0x1];_0x1c44fa=!![];if(_0x528c46['length']>0x1){const _0x5f2fd5=_0x528c46['slice'](0x0,-0x1)[_0x31920b(0x176)](_0x2cc41e=>_0x2cc41e[_0x31920b(0x17d)]);_0x8bebec?.[_0x31920b(0x1b8)](_0x31920b(0x1e6)+_0x528c46['length']+_0x31920b(0x1c6)+(_0x31920b(0x185)+_0x5ee00a['name']+_0x31920b(0x1b4)+_0x5f2fd5[_0x31920b(0x199)](',\x20')));}else _0x8bebec?.['debug'](_0x31920b(0x1b5)+_0x5ee00a['name']);const _0x2e34c5=_0xf24fea[_0x31920b(0x17a)](_0x19f909,_0x5ee00a['startIndex'])[_0x31920b(0x1d4)]();if(_0x2e34c5){if(!_0x2c00a8){const _0x345a63={'type':_0x31920b(0x1bc),'index':_0x527cdf,'content_block':{'type':'text','text':''}};yield _0x345a63,_0x2c00a8=!![],_0x5e2a97=_0x31920b(0x1a8);}const _0x54b4e4={'type':'content_block_delta','index':_0x527cdf,'delta':{'type':_0x31920b(0x192),'text':_0x2e34c5}};yield _0x54b4e4,_0x19b394+=estimateTokenCount(_0x2e34c5);}if(_0x2c00a8){const _0x34188f={'type':_0x31920b(0x1d6),'index':_0x527cdf};yield _0x34188f,_0x527cdf++,_0x2c00a8=![],_0x5e2a97=null;}for(const _0xf6c985 of generateToolCallEvents(_0x5ee00a,_0x527cdf,_0x54d64)){_0xf6c985['type']==='message_delta'&&(_0xf6c985[_0x31920b(0x19f)]['output_tokens']=_0x19b394),yield _0xf6c985;}return;}const _0x4bd2ea=_0xf24fea[_0x31920b(0x1b3)]('<tool_use')&&_0xf24fea['includes'](_0x31920b(0x1a5)),_0x1a0269=_0xf24fea[_0x31920b(0x1b3)](_0x31920b(0x17e))&&findJsonEndIndex(_0xf24fea,_0xf24fea[_0x31920b(0x1df)](_0x31920b(0x17e)))!==-0x1;if(_0x4bd2ea||_0x1a0269){_0x1c44fa=!![];let _0x4c1f13='';if(_0x4bd2ea){const _0x40ba73=_0xf24fea[_0x31920b(0x1df)](_0x31920b(0x19e)),_0x253813=_0xf24fea[_0x31920b(0x1df)](_0x31920b(0x1a5),_0x40ba73);_0x253813!==-0x1?_0x4c1f13=_0xf24fea['substring'](_0x40ba73,_0x253813+'</tool_use>'[_0x31920b(0x1d2)]):_0x4c1f13=_0xf24fea[_0x31920b(0x17a)](_0x40ba73);}else{if(_0x1a0269){const _0x42829c=_0xf24fea[_0x31920b(0x1df)](_0x31920b(0x17e)),_0x41f4de=findJsonEndIndex(_0xf24fea,_0x42829c);_0x41f4de!==-0x1?_0x4c1f13=_0xf24fea['substring'](_0x42829c,_0x41f4de):_0x4c1f13=_0xf24fea[_0x31920b(0x17a)](_0x42829c);}}_0x8bebec&&_0x8bebec[_0x31920b(0x178)](_0x31920b(0x171)+_0x4c1f13);_0x8bebec?.['debug']('Malformed\x20tool_use\x20JSON\x20detected'),_0x8bebec?.[_0x31920b(0x1a6)](_0x31920b(0x19b),_0x4c1f13);const _0x5ddb8b=_0xf24fea[_0x31920b(0x17a)](_0x19f909,_0x572b96)[_0x31920b(0x1d4)]();if(_0x5ddb8b){if(!_0x2c00a8){const _0x1853f9={'type':_0x31920b(0x1bc),'index':_0x527cdf,'content_block':{'type':'text','text':''}};yield _0x1853f9,_0x2c00a8=!![],_0x5e2a97=_0x31920b(0x1a8);}const _0x26452e={'type':_0x31920b(0x1da),'index':_0x527cdf,'delta':{'type':_0x31920b(0x192),'text':_0x5ddb8b}};yield _0x26452e,_0x19b394+=estimateTokenCount(_0x5ddb8b);}if(_0x2c00a8){const _0x356e1c={'type':_0x31920b(0x1d6),'index':_0x527cdf};yield _0x356e1c,_0x527cdf++,_0x2c00a8=![],_0x5e2a97=null;}const _0x2910f6=_0x31920b(0x1d7)+_0x4c1f13+_0x31920b(0x1cc),_0x1884cf={'type':_0x31920b(0x1bc),'index':_0x527cdf,'content_block':{'type':_0x31920b(0x1a8),'text':''}};yield _0x1884cf,_0x5e2a97=_0x31920b(0x1a8);const _0x12d703={'type':'content_block_delta','index':_0x527cdf,'delta':{'type':'text_delta','text':_0x2910f6}};yield _0x12d703;const _0x119987={'type':_0x31920b(0x1d6),'index':_0x527cdf};yield _0x119987;const _0xe8d8c3={'type':_0x31920b(0x1e4),'delta':{'stop_reason':'end_turn','stop_sequence':null},'usage':{'input_tokens':_0x54d64,'output_tokens':_0x19b394}};yield _0xe8d8c3;const _0x8d43cc={'type':_0x31920b(0x1ac)};yield _0x8d43cc;return;}const _0x226666=_0xf24fea[_0x31920b(0x17a)](_0x19f909,_0x572b96);if(_0x226666){if(!_0x2c00a8){const _0xbab9cb={'type':_0x31920b(0x1bc),'index':_0x527cdf,'content_block':{'type':_0x31920b(0x1a8),'text':''}};yield _0xbab9cb,_0x2c00a8=!![],_0x5e2a97=_0x31920b(0x1a8);}const _0x428bc3={'type':'content_block_delta','index':_0x527cdf,'delta':{'type':_0x31920b(0x192),'text':_0x226666}};yield _0x428bc3,_0x19b394+=estimateTokenCount(_0x226666),_0x19f909=_0x572b96;}continue;}const _0x655024=_0xf24fea[_0x31920b(0x1d2)]-_0x566c55;if(_0x655024>_0x19f909){const _0x1c4b87=_0xf24fea[_0x31920b(0x17a)](_0x19f909,_0x655024);if(_0x1c4b87){if(!_0x2c00a8){const _0x4a8d57={'type':_0x31920b(0x1bc),'index':_0x527cdf,'content_block':{'type':_0x31920b(0x1a8),'text':''}};yield _0x4a8d57,_0x2c00a8=!![],_0x5e2a97=_0x31920b(0x1a8);}const _0x178400={'type':_0x31920b(0x1da),'index':_0x527cdf,'delta':{'type':_0x31920b(0x192),'text':_0x1c4b87}};yield _0x178400,_0x19b394+=estimateTokenCount(_0x1c4b87),_0x19f909=_0x655024;}}}else{if(_0x31920b(0x178)in _0x41922f){const _0xf8e427=_0x41922f,_0x437d81=determineErrorType(_0xf8e427[_0x31920b(0x178)],_0x8bebec),_0xf01a72=_0x437d81===_0x31920b(0x1ae)?_0x31920b(0x1d5):'end_turn',_0x3db091={'type':_0x31920b(0x1e4),'delta':{'stop_reason':_0xf01a72,'stop_sequence':null},'usage':{'input_tokens':_0x54d64,'output_tokens':_0x19b394}};yield _0x3db091,yield{'type':'error','error':{'type':_0x437d81,'message':_0xf8e427[_0x31920b(0x178)]},'request_id':_0xd36332};const _0x50badc={'type':'message_stop'};yield _0x50badc;return;}}}}if(!_0x1c44fa){const _0x56aa67=_0xf24fea[_0x31920b(0x17a)](_0x19f909);if(_0x56aa67){if(!_0x2c00a8){const _0x5c5856={'type':_0x31920b(0x1bc),'index':_0x527cdf,'content_block':{'type':_0x31920b(0x1a8),'text':''}};yield _0x5c5856,_0x2c00a8=!![],_0x5e2a97=_0x31920b(0x1a8);}const _0x17545e={'type':_0x31920b(0x1da),'index':_0x527cdf,'delta':{'type':'text_delta','text':_0x56aa67}};yield _0x17545e,_0x19b394+=estimateTokenCount(_0x56aa67);}if(_0x2c00a8){const _0x5b7994={'type':_0x31920b(0x1d6),'index':_0x527cdf};yield _0x5b7994;}const _0xa38edd={'type':_0x31920b(0x1e4),'delta':{'stop_reason':_0x31920b(0x174),'stop_sequence':null},'usage':{'input_tokens':_0x54d64,'output_tokens':_0x19b394}};yield _0xa38edd;const _0x3694e2={'type':_0x31920b(0x1ac)};yield _0x3694e2;}}export{generateMessageId};
|
|
1
|
+
(function(_0x29e216,_0x17f824){const _0x5e466c=a53_0x1218,_0x508141=_0x29e216();while(!![]){try{const _0x4ce7f9=parseInt(_0x5e466c(0x224))/0x1+-parseInt(_0x5e466c(0x1e3))/0x2+parseInt(_0x5e466c(0x1f9))/0x3+parseInt(_0x5e466c(0x1cf))/0x4*(parseInt(_0x5e466c(0x1d4))/0x5)+parseInt(_0x5e466c(0x1ec))/0x6*(parseInt(_0x5e466c(0x20b))/0x7)+-parseInt(_0x5e466c(0x1f0))/0x8*(-parseInt(_0x5e466c(0x1dd))/0x9)+-parseInt(_0x5e466c(0x1fd))/0xa;if(_0x4ce7f9===_0x17f824)break;else _0x508141['push'](_0x508141['shift']());}catch(_0x113f65){_0x508141['push'](_0x508141['shift']());}}}(a53_0x5906,0xa6b18));import{SDKError,ErrorCode}from'../sdk/errors.js';import{calculateConversationDelta}from'./conversation-utils.js';export{calculateConversationDelta}from'./conversation-utils.js';function estimateTokenCount(_0x40da15){const _0xf94556=a53_0x1218;if(!_0x40da15||_0x40da15['length']===0x0)return 0x0;return Math[_0xf94556(0x1f4)](_0x40da15[_0xf94556(0x1c6)]/3.7);}export function determineErrorType(_0x34e5b7,_0x4c8f84){const _0x34b95b=a53_0x1218,_0x323fdb=_0x34e5b7[_0x34b95b(0x1e8)](_0x34b95b(0x1f7))||_0x34e5b7[_0x34b95b(0x1e8)](_0x34b95b(0x233))||_0x34e5b7['includes'](_0x34b95b(0x1f3));if(_0x323fdb)return _0x4c8f84?.[_0x34b95b(0x1e7)](_0x34b95b(0x1db)+_0x34e5b7),_0x34b95b(0x213);return _0x4c8f84?.['error'](_0x34b95b(0x1c8)+_0x34e5b7),_0x34b95b(0x215);}export function estimateInputTokensFromRequest(_0x4afb93){const _0x43703b=a53_0x1218;let _0x575cb9=0x0;if(typeof _0x4afb93[_0x43703b(0x226)]==='string')_0x575cb9+=_0x4afb93[_0x43703b(0x226)][_0x43703b(0x1c6)];else{if(Array[_0x43703b(0x203)](_0x4afb93['system']))for(const _0x17ece5 of _0x4afb93[_0x43703b(0x226)]){_0x17ece5&&typeof _0x17ece5[_0x43703b(0x229)]==='string'&&(_0x575cb9+=_0x17ece5[_0x43703b(0x229)]['length']);}}if(Array[_0x43703b(0x203)](_0x4afb93[_0x43703b(0x237)]))for(const _0x2ba516 of _0x4afb93[_0x43703b(0x237)]){_0x2ba516&&(_0x575cb9+=_0x2ba516[_0x43703b(0x232)]?.[_0x43703b(0x1c6)]||0x0,_0x575cb9+=_0x2ba516[_0x43703b(0x220)]?.[_0x43703b(0x1c6)]||0x0,_0x2ba516[_0x43703b(0x1ff)]&&(_0x575cb9+=JSON[_0x43703b(0x221)](_0x2ba516['input_schema'])[_0x43703b(0x1c6)]));}if(Array[_0x43703b(0x203)](_0x4afb93[_0x43703b(0x22d)]))for(const _0x21037b of _0x4afb93[_0x43703b(0x22d)]){if(!_0x21037b)continue;if(typeof _0x21037b['content']===_0x43703b(0x1f5))_0x575cb9+=_0x21037b[_0x43703b(0x206)]['length'];else{if(Array[_0x43703b(0x203)](_0x21037b[_0x43703b(0x206)]))for(const _0x26ee4f of _0x21037b[_0x43703b(0x206)]){if(!_0x26ee4f)continue;if(_0x26ee4f[_0x43703b(0x1e6)]===_0x43703b(0x229)&&_0x26ee4f['text'])_0x575cb9+=_0x26ee4f[_0x43703b(0x229)][_0x43703b(0x1c6)];else{if(_0x26ee4f[_0x43703b(0x1e6)]===_0x43703b(0x1f2)&&_0x26ee4f[_0x43703b(0x23a)])_0x575cb9+=JSON[_0x43703b(0x221)](_0x26ee4f[_0x43703b(0x23a)])[_0x43703b(0x1c6)];else{if(_0x26ee4f[_0x43703b(0x1e6)]===_0x43703b(0x1d6)&&_0x26ee4f[_0x43703b(0x206)]){if(typeof _0x26ee4f[_0x43703b(0x206)]===_0x43703b(0x1f5))_0x575cb9+=_0x26ee4f['content'][_0x43703b(0x1c6)];else{if(Array[_0x43703b(0x203)](_0x26ee4f[_0x43703b(0x206)]))for(const _0x790dd7 of _0x26ee4f['content']){_0x790dd7&&_0x790dd7['type']===_0x43703b(0x229)&&_0x790dd7[_0x43703b(0x229)]&&(_0x575cb9+=_0x790dd7[_0x43703b(0x229)]['length']);}}}}}}}}return Math[_0x43703b(0x1f4)](_0x575cb9/3.7);}function generateMessageId(){const _0xd8f92c=a53_0x1218;return _0xd8f92c(0x1d0)+Math['random']()[_0xd8f92c(0x218)](0x24)[_0xd8f92c(0x236)](0x2,0xf)+Math['random']()[_0xd8f92c(0x218)](0x24)[_0xd8f92c(0x236)](0x2,0xf);}export function extractTextFromAnthropicMessage(_0xe93e39){const _0x2996b5=a53_0x1218;if(typeof _0xe93e39[_0x2996b5(0x206)]===_0x2996b5(0x1f5))return _0xe93e39[_0x2996b5(0x206)];if(_0xe93e39[_0x2996b5(0x206)]==null)return'';if(!Array[_0x2996b5(0x203)](_0xe93e39[_0x2996b5(0x206)]))throw new SDKError(ErrorCode[_0x2996b5(0x22b)],_0x2996b5(0x234)+typeof _0xe93e39[_0x2996b5(0x206)]);return _0xe93e39['content'][_0x2996b5(0x1da)](_0x1d12a1=>_0x1d12a1&&_0x1d12a1[_0x2996b5(0x1e6)]===_0x2996b5(0x229)&&_0x1d12a1['text'])['map'](_0x329b66=>_0x329b66[_0x2996b5(0x229)])['join']('\x0a');}export function transformAnthropicRequestToTD(_0xe47035,_0x5022c0){const _0x4ece9c=a53_0x1218,_0x2c2e52=calculateConversationDelta(_0xe47035[_0x4ece9c(0x22d)],_0x5022c0),_0x5682dc=_0x2c2e52[_0x4ece9c(0x1da)](_0x1087a2=>_0x1087a2['role']===_0x4ece9c(0x1ca))[_0x4ece9c(0x231)]();if(!_0x5682dc)throw new Error(_0x4ece9c(0x212));const _0x38ed1f=extractTextFromAnthropicMessage(_0x5682dc);return{'userMessage':_0x38ed1f,'deltaMessages':_0x2c2e52};}function a53_0x1218(_0xe6f6b1,_0x5697e2){_0xe6f6b1=_0xe6f6b1-0x1bd;const _0x5906f9=a53_0x5906();let _0x12183b=_0x5906f9[_0xe6f6b1];return _0x12183b;}export function formatAnthropicSSE(_0x4eb3cc){const _0xbccc4d=a53_0x1218;return _0xbccc4d(0x22c)+_0x4eb3cc['type']+_0xbccc4d(0x1c7)+JSON[_0xbccc4d(0x221)](_0x4eb3cc)+'\x0a\x0a';}export function mapAnthropicModelToTD(_0x500618){const _0x9474c0=a53_0x1218,_0x377b32={'sonnet':_0x9474c0(0x1d3),'claude-sonnet':_0x9474c0(0x1d3),'claude-3-5-sonnet':_0x9474c0(0x1d3),'claude-3-sonnet':_0x9474c0(0x1d3),'haiku':_0x9474c0(0x1d8),'claude-haiku':_0x9474c0(0x1d8),'claude-3-5-haiku':'haiku','claude-3-haiku':_0x9474c0(0x1d8),'opus':'opus','claude-opus':_0x9474c0(0x21e),'claude-3-opus':_0x9474c0(0x21e)},_0x452dcb=_0x500618[_0x9474c0(0x208)]();return _0x377b32[_0x452dcb]||_0x9474c0(0x1d3);}export function generateToolPrompt(_0x375067){const _0x270695=a53_0x1218;if(_0x375067==null)return'';if(!Array[_0x270695(0x203)](_0x375067))throw new SDKError(ErrorCode['LLM_MALFORMED_MESSAGE'],_0x270695(0x211)+typeof _0x375067);if(_0x375067[_0x270695(0x1c6)]===0x0)return'';const _0xd6eecb=_0x375067[_0x270695(0x1da)](_0x3be144=>_0x3be144!=null)[_0x270695(0x1e5)](_0x55a554=>{const _0x2c86a5=_0x270695,_0x590e10=JSON['stringify'](_0x55a554[_0x2c86a5(0x1ff)]);return'##\x20Tool:\x20'+_0x55a554['name']+_0x2c86a5(0x1bf)+(_0x55a554[_0x2c86a5(0x220)]||'No\x20description')+_0x2c86a5(0x214)+_0x590e10+_0x2c86a5(0x1ce);})['join']('\x0a\x0a');return _0x270695(0x21d)+_0xd6eecb+_0x270695(0x239);}function a53_0x5906(){const _0x451391=['toString','>','&','[MALFORMED\x20JSON]\x20Tool\x20use\x20JSON\x20could\x20not\x20be\x20parsed\x20or\x20repaired:\x0a','[JSON\x20REPAIR]\x20Added\x20missing\x20\x22new_string\x22\x20key\x0a[Before]:\x0a','\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','opus','[MALFORMED\x20TOOL_USE]\x20Extracted\x20from\x20flexible\x20pattern.\x20Name:\x20','description','stringify','\x20tool_use\x20blocks.\x20','parse','146513Blflcy',').\x20Ignored:\x20','system','content_block_delta','<tool_use','text','min','LLM_MALFORMED_MESSAGE','event:\x20','messages','debug','endIndex','AskUserQuestion','pop','name','context\x20length','Invalid\x20message.content\x20type:\x20expected\x20string\x20or\x20array,\x20got\x20','match','substring','tools',',\x20ID:\x20','\x0a---\x0a','input','is_error','tool_use_id','push','\x0a\x0a**Description:**\x20','[MALFORMED\x20TOOL_USE]\x20Tool\x20name\x20used\x20as\x20XML\x20tag\x20instead\x20of\x20tool_use.\x20Name:\x20','role','slice','Executing\x20only\x20the\x20last\x20one\x20(','thinking','now','length','\x0adata:\x20','[API\x20ERROR]\x20','usage','user','WebFetch','message_start','model_context_window_exceeded','\x0a```','44XvzIsF','msg_','end_turn','trim','sonnet','155165BttDaK','[MALFORMED\x20TOOL_USE]\x20Detected\x20malformed\x20XML\x20format\x20with\x20separate\x20id\x20tag.\x20Name:\x20','tool_result','Tool\x20call\x20detected:\x20','haiku','</tool_use>','filter','[CONTEXT\x20LENGTH\x20ERROR]\x20','WebSearch','18aXVgUm','message_stop','content_block_start','indexOf','input_json_delta','\x0a\x0a[tdx\x20error]\x20Malformed\x20tool_use\x20JSON\x20detected.\x20Please\x20fix\x20the\x20JSON\x20below:\x0a\x0a','238414sRrfOB','\x0a</tool_result>','map','type','error','includes','exec','<tool_result\x20tool_use_id=\x22','reasoning','14538OpfXNH','Grep','thinking_delta','Malformed\x20content:','40952EwmqCM','warn','tool_use','maximum\x20context','ceil','string','Read','Input\x20is\x20too\x20long','replace','3096330DAUiIP','index','[MULTIPLE\x20TOOL_USE]\x20Detected\x20','content_block_stop','7839700FduQpo','\x0a[After]:\x0a','input_schema','$1,\x22new_string\x22:$2}','lastIndexOf','message_delta','isArray','message','\x0aOriginal\x20XML:\x0a','content','toolu_generated_','toLowerCase','{\x22tool_use\x22:','Malformed\x20tool_use\x20JSON\x20detected','161vFoHVC','TodoWrite','assistant','Bash','startIndex','\x20error=\x22true\x22','Invalid\x20tools\x20type:\x20expected\x20array,\x20got\x20','No\x20user\x20message\x20found\x20in\x20request\x20delta','request_too_large','\x0a\x0a**Input\x20Schema:**\x0a```json\x0a','api_error','Invalid\x20messages\x20type:\x20expected\x20array,\x20got\x20','text_delta'];a53_0x5906=function(){return _0x451391;};return a53_0x5906();}function escapeXmlContent(_0xd031f9){const _0x10cf0e=a53_0x1218;return _0xd031f9['replace'](/&/g,_0x10cf0e(0x21a))[_0x10cf0e(0x1f8)](/</g,'<')['replace'](/>/g,_0x10cf0e(0x219));}export function extractToolResults(_0x1ae535){const _0x3e95d8=a53_0x1218;if(_0x1ae535==null)return'';if(!Array[_0x3e95d8(0x203)](_0x1ae535))throw new SDKError(ErrorCode[_0x3e95d8(0x22b)],_0x3e95d8(0x216)+typeof _0x1ae535);const _0x519dc9=[];for(const _0x249efa of _0x1ae535){if(!_0x249efa)continue;if(_0x249efa[_0x3e95d8(0x1c1)]==='user'&&typeof _0x249efa[_0x3e95d8(0x206)]!==_0x3e95d8(0x1f5)){if(!Array[_0x3e95d8(0x203)](_0x249efa[_0x3e95d8(0x206)]))throw new SDKError(ErrorCode[_0x3e95d8(0x22b)],'Invalid\x20message.content\x20type\x20for\x20user\x20role:\x20expected\x20array,\x20got\x20'+typeof _0x249efa[_0x3e95d8(0x206)]);for(const _0x17d91c of _0x249efa[_0x3e95d8(0x206)]){if(!_0x17d91c)continue;if(_0x17d91c[_0x3e95d8(0x1e6)]===_0x3e95d8(0x1d6)&&_0x17d91c[_0x3e95d8(0x1bd)]){let _0x53e356='';if(typeof _0x17d91c[_0x3e95d8(0x206)]===_0x3e95d8(0x1f5))_0x53e356=_0x17d91c[_0x3e95d8(0x206)];else _0x17d91c[_0x3e95d8(0x206)]!=null&&Array[_0x3e95d8(0x203)](_0x17d91c[_0x3e95d8(0x206)])&&(_0x53e356=_0x17d91c[_0x3e95d8(0x206)][_0x3e95d8(0x1da)](_0xd13944=>_0xd13944&&_0xd13944[_0x3e95d8(0x1e6)]===_0x3e95d8(0x229)&&_0xd13944[_0x3e95d8(0x229)])[_0x3e95d8(0x1e5)](_0x1460cb=>_0x1460cb[_0x3e95d8(0x229)])['join']('\x0a'));const _0x193136=escapeXmlContent(_0x53e356),_0x2900f5=_0x17d91c[_0x3e95d8(0x23b)]?_0x3e95d8(0x210):'';_0x519dc9[_0x3e95d8(0x1be)](_0x3e95d8(0x1ea)+_0x17d91c[_0x3e95d8(0x1bd)]+'\x22'+_0x2900f5+'>\x0a'+_0x193136+_0x3e95d8(0x1e4));}}}}if(_0x519dc9['length']===0x0)return'';return _0x519dc9['join']('\x0a\x0a');}function findJsonEndIndex(_0x583b97,_0x320175){const _0x1ecef3=a53_0x1218;let _0x4a9aaa=0x0,_0x2b18e7=![],_0x5f53a5=![];for(let _0xc597f7=_0x320175;_0xc597f7<_0x583b97[_0x1ecef3(0x1c6)];_0xc597f7++){const _0x24657b=_0x583b97[_0xc597f7];if(_0x5f53a5){_0x5f53a5=![];continue;}if(_0x24657b==='\x5c'){_0x5f53a5=!![];continue;}if(_0x24657b==='\x22'){_0x2b18e7=!_0x2b18e7;continue;}if(!_0x2b18e7){if(_0x24657b==='{')_0x4a9aaa++;else{if(_0x24657b==='}'){_0x4a9aaa--;if(_0x4a9aaa===0x0)return _0xc597f7+0x1;}}}}return-0x1;}function repairIncompleteJson(_0x25bb1d,_0x480fef){const _0x42ef27=a53_0x1218;try{return JSON[_0x42ef27(0x223)](_0x25bb1d),_0x25bb1d;}catch{let _0x4c13bc=_0x25bb1d;const _0x514ca7=/("old_string"\s*:\s*"[^"]*")\s*,\s*("(?:[^"\\]|\\.)*")\s*\}/,_0x2651d4=_0x514ca7[_0x42ef27(0x1e9)](_0x4c13bc);if(_0x2651d4){_0x4c13bc=_0x4c13bc['replace'](_0x514ca7,_0x42ef27(0x200));try{return JSON['parse'](_0x4c13bc),_0x480fef&&_0x480fef[_0x42ef27(0x1f1)](_0x42ef27(0x21c)+_0x25bb1d+'\x0a[After]:\x0a'+_0x4c13bc),_0x4c13bc;}catch{_0x4c13bc=_0x25bb1d;}}const _0x30df21=[];let _0x983416=![],_0x3bfa08=![];for(const _0x1614bc of _0x25bb1d){if(_0x3bfa08){_0x3bfa08=![];continue;}if(_0x1614bc==='\x5c'){_0x3bfa08=!![];continue;}if(_0x1614bc==='\x22'){_0x983416=!_0x983416;continue;}if(!_0x983416){if(_0x1614bc==='{')_0x30df21['push']('{');else{if(_0x1614bc==='[')_0x30df21[_0x42ef27(0x1be)]('[');else{if(_0x1614bc==='}'&&_0x30df21[_0x30df21[_0x42ef27(0x1c6)]-0x1]==='{')_0x30df21['pop']();else _0x1614bc===']'&&_0x30df21[_0x30df21['length']-0x1]==='['&&_0x30df21[_0x42ef27(0x231)]();}}}}_0x4c13bc=_0x25bb1d;_0x983416&&(_0x4c13bc+='\x22');while(_0x30df21['length']>0x0){const _0x3c82e2=_0x30df21[_0x42ef27(0x231)]();_0x4c13bc+=_0x3c82e2==='{'?'}':']';}try{return JSON[_0x42ef27(0x223)](_0x4c13bc),_0x480fef&&_0x4c13bc!==_0x25bb1d&&_0x480fef['warn']('[JSON\x20REPAIR]\x20Successfully\x20repaired\x20malformed\x20JSON\x0a[Before]:\x0a'+_0x25bb1d+_0x42ef27(0x1fe)+_0x4c13bc),_0x4c13bc;}catch{return null;}}}function tryParseJsonContent(_0x1b742d,_0x487182){const _0x3466a5=a53_0x1218;if(!_0x1b742d)return null;try{return JSON['parse'](_0x1b742d);}catch{const _0x3341f5=repairIncompleteJson(_0x1b742d,_0x487182);if(_0x3341f5)try{return JSON[_0x3466a5(0x223)](_0x3341f5);}catch{}return null;}}function tryMatchXmlPatterns(_0x35f48c,_0xa880dc){const _0x51c3a9=a53_0x1218;let _0xb26d08=null;for(const {pattern:_0x35cbdc,nameFirst:_0x25215c}of _0xa880dc){const _0xe606=_0x35cbdc[_0x51c3a9(0x1e9)](_0x35f48c);_0xe606&&((!_0xb26d08||_0xe606[_0x51c3a9(0x1fa)]<_0xb26d08[_0x51c3a9(0x235)][_0x51c3a9(0x1fa)])&&(_0xb26d08={'match':_0xe606,'name':_0x25215c?_0xe606[0x1]:_0xe606[0x2],'id':_0x25215c?_0xe606[0x2]:_0xe606[0x1],'jsonContent':_0xe606[0x3]['trim']()}));}return _0xb26d08;}export function parseToolCallFromText(_0x35487f,_0x23d7fd){const _0x5d50c3=a53_0x1218,_0x5ad67e=[{'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':![]}],_0x1981af=[{'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':![]}],_0x324365=tryMatchXmlPatterns(_0x35487f,_0x5ad67e);if(_0x324365){const {match:_0xd3b29d,name:_0x3008d0,id:_0x1a703a,jsonContent:_0x228b04}=_0x324365,_0x5dcf60=_0xd3b29d[_0x5d50c3(0x1fa)],_0x34c5dd=_0x5dcf60+_0xd3b29d[0x0][_0x5d50c3(0x1c6)],_0x2d667a=tryParseJsonContent(_0x228b04,_0x23d7fd);if(_0x2d667a!==null)return{'id':_0x1a703a,'name':_0x3008d0,'input':_0x2d667a,'startIndex':_0x5dcf60,'endIndex':_0x34c5dd};if(!_0x228b04)return{'id':_0x1a703a,'name':_0x3008d0,'input':{},'startIndex':_0x5dcf60,'endIndex':_0x34c5dd};}const _0x43d278=/<tool_use\s+name="([^"]+)">\s*([\s\S]*?)\s*<\/tool_use>/,_0x43d406=_0x43d278['exec'](_0x35487f);if(_0x43d406){const _0x824383=_0x43d406[0x1],_0x1a55cc=_0x43d406[0x2]['trim'](),_0x363208=_0x43d406[_0x5d50c3(0x1fa)],_0x2d2a8c=_0x363208+_0x43d406[0x0][_0x5d50c3(0x1c6)],_0x43963d=_0x5d50c3(0x207)+Date['now']();_0x23d7fd?.[_0x5d50c3(0x1f1)]('[MALFORMED\x20TOOL_USE]\x20Missing\x20id\x20attribute,\x20generated\x20fallback.\x20Name:\x20'+_0x824383+',\x20ID:\x20'+_0x43963d+_0x5d50c3(0x205)+_0x43d406[0x0]);const _0x28d0ef=tryParseJsonContent(_0x1a55cc,_0x23d7fd);if(_0x28d0ef!==null)return{'id':_0x43963d,'name':_0x824383,'input':_0x28d0ef,'startIndex':_0x363208,'endIndex':_0x2d2a8c};if(!_0x1a55cc)return{'id':_0x43963d,'name':_0x824383,'input':{},'startIndex':_0x363208,'endIndex':_0x2d2a8c};}const _0x15a0fb=tryMatchXmlPatterns(_0x35487f,_0x1981af);if(_0x15a0fb){const {match:_0x1de629,name:_0x561a65,id:_0x17b917,jsonContent:_0x4250e9}=_0x15a0fb,_0x2b11dc=_0x1de629['index'],_0x540882=_0x2b11dc+_0x1de629[0x0][_0x5d50c3(0x1c6)];_0x23d7fd?.[_0x5d50c3(0x1f1)](_0x5d50c3(0x1d5)+_0x561a65+_0x5d50c3(0x238)+_0x17b917+'\x0aOriginal\x20XML:\x0a'+_0x1de629[0x0]);const _0x564cd0=tryParseJsonContent(_0x4250e9,_0x23d7fd);if(_0x564cd0!==null)return{'id':_0x17b917,'name':_0x561a65,'input':_0x564cd0,'startIndex':_0x2b11dc,'endIndex':_0x540882};if(!_0x4250e9)return{'id':_0x17b917,'name':_0x561a65,'input':{},'startIndex':_0x2b11dc,'endIndex':_0x540882};}const _0x38463d=/<tool_use([^>]*)>([\s\S]*?)<\/tool_use>/,_0x4a3b9e=_0x38463d[_0x5d50c3(0x1e9)](_0x35487f);if(_0x4a3b9e){const _0xdf15cb=_0x4a3b9e[0x1],_0x5d109a=_0x4a3b9e[0x2],_0x278752=_0x4a3b9e['index'],_0x2472a2=_0x278752+_0x4a3b9e[0x0][_0x5d50c3(0x1c6)],_0x1c2715=/name="([^"]+)"/[_0x5d50c3(0x1e9)](_0xdf15cb),_0x1f94e4=/id="([^"]+)"/[_0x5d50c3(0x1e9)](_0xdf15cb),_0x924bc=/tool_use_name="([^"]+)"/[_0x5d50c3(0x1e9)](_0x5d109a),_0x34d27c=/tool_use_id="([^"]+)"/[_0x5d50c3(0x1e9)](_0x5d109a),_0x404a4a=_0x1c2715?.[0x1]||_0x924bc?.[0x1],_0x4aad53=_0x1f94e4?.[0x1]||_0x34d27c?.[0x1];if(_0x404a4a){const _0x5d6bd9=_0x4aad53||_0x5d50c3(0x207)+Date[_0x5d50c3(0x1c5)](),_0x41f29c=_0x5d109a[_0x5d50c3(0x201)]('{');let _0x4f6d02='';if(_0x41f29c!==-0x1){const _0x21e663=_0x5d109a[_0x5d50c3(0x236)](_0x41f29c),_0x45e08e=/^\{[\s\S]*?\}/['exec'](_0x21e663);_0x4f6d02=_0x45e08e?.[0x0]?.['trim']()||'';}const _0x5c084d=!_0x4aad53;_0x23d7fd?.[_0x5d50c3(0x1f1)](_0x5d50c3(0x21f)+_0x404a4a+_0x5d50c3(0x238)+_0x5d6bd9+(_0x5c084d?'\x20(generated)':'')+_0x5d50c3(0x205)+_0x4a3b9e[0x0]);const _0x5757ab=tryParseJsonContent(_0x4f6d02,_0x23d7fd);if(_0x5757ab!==null)return{'id':_0x5d6bd9,'name':_0x404a4a,'input':_0x5757ab,'startIndex':_0x278752,'endIndex':_0x2472a2};if(!_0x4f6d02)return{'id':_0x5d6bd9,'name':_0x404a4a,'input':{},'startIndex':_0x278752,'endIndex':_0x2472a2};}}const _0x27b4fd=['Edit',_0x5d50c3(0x1f6),'Write',_0x5d50c3(0x20e),'Glob',_0x5d50c3(0x1ed),'Task',_0x5d50c3(0x20c),_0x5d50c3(0x1cb),_0x5d50c3(0x1dc),_0x5d50c3(0x230),'NotebookEdit'];for(const _0x2fc8cd of _0x27b4fd){const _0x4c9b79=new RegExp('<'+_0x2fc8cd+'>([\x5cs\x5cS]*?)</'+_0x2fc8cd+'>','i'),_0x3d6616=_0x4c9b79['exec'](_0x35487f);if(_0x3d6616){const _0x5a362f=_0x3d6616[0x1],_0x2aab98=_0x3d6616[_0x5d50c3(0x1fa)],_0x103590=_0x2aab98+_0x3d6616[0x0][_0x5d50c3(0x1c6)],_0x3f8ce2='toolu_generated_'+Date[_0x5d50c3(0x1c5)](),_0x1eedca={},_0xc4d9b1=/<([a-z_]+)>([\s\S]*?)<\/\1>/gi;let _0x28b28d;while((_0x28b28d=_0xc4d9b1[_0x5d50c3(0x1e9)](_0x5a362f))!==null){const _0x2ca8ea=_0x28b28d[0x1],_0x17b74a=_0x28b28d[0x2]['trim']();try{_0x1eedca[_0x2ca8ea]=JSON[_0x5d50c3(0x223)](_0x17b74a);}catch{_0x1eedca[_0x2ca8ea]=_0x17b74a;}}return _0x23d7fd?.[_0x5d50c3(0x1f1)](_0x5d50c3(0x1c0)+_0x2fc8cd+_0x5d50c3(0x238)+_0x3f8ce2+_0x5d50c3(0x205)+_0x3d6616[0x0]),{'id':_0x3f8ce2,'name':_0x2fc8cd,'input':_0x1eedca,'startIndex':_0x2aab98,'endIndex':_0x103590};}}const _0x30accf=/\{"tool_use":/g,_0x7d9eb9=_0x30accf[_0x5d50c3(0x1e9)](_0x35487f);if(!_0x7d9eb9)return null;const _0x522b48=_0x7d9eb9[_0x5d50c3(0x1fa)];let _0x396724=findJsonEndIndex(_0x35487f,_0x522b48);if(_0x396724===-0x1)return null;const _0x1c05dc=_0x35487f[_0x5d50c3(0x236)](_0x522b48,_0x396724);try{const _0x410555=JSON[_0x5d50c3(0x223)](_0x1c05dc);if(_0x410555[_0x5d50c3(0x1f2)]&&_0x410555[_0x5d50c3(0x1f2)]['id']&&_0x410555['tool_use']['name'])return{'id':_0x410555[_0x5d50c3(0x1f2)]['id'],'name':_0x410555[_0x5d50c3(0x1f2)][_0x5d50c3(0x232)],'input':_0x410555['tool_use'][_0x5d50c3(0x23a)]||{},'startIndex':_0x522b48,'endIndex':_0x396724};}catch{const _0x1c89de=repairIncompleteJson(_0x1c05dc,_0x23d7fd);if(_0x1c89de)try{const _0x5b4740=JSON['parse'](_0x1c89de);if(_0x5b4740[_0x5d50c3(0x1f2)]&&_0x5b4740[_0x5d50c3(0x1f2)]['id']&&_0x5b4740[_0x5d50c3(0x1f2)]['name'])return{'id':_0x5b4740[_0x5d50c3(0x1f2)]['id'],'name':_0x5b4740[_0x5d50c3(0x1f2)]['name'],'input':_0x5b4740['tool_use'][_0x5d50c3(0x23a)]||{},'startIndex':_0x522b48,'endIndex':_0x396724};}catch{return null;}return null;}return null;}export function*generateToolCallBlockEvents(_0x3e9d6b,_0x1ace0b){const _0x142c04=a53_0x1218,_0x3c3f2d={'type':_0x142c04(0x1df),'index':_0x1ace0b,'content_block':{'type':_0x142c04(0x1f2),'id':_0x3e9d6b['id'],'name':_0x3e9d6b[_0x142c04(0x232)],'input':{}}};yield _0x3c3f2d;const _0x32762a=JSON[_0x142c04(0x221)](_0x3e9d6b[_0x142c04(0x23a)]),_0x408d3e={'type':_0x142c04(0x227),'index':_0x1ace0b,'delta':{'type':_0x142c04(0x1e1),'partial_json':_0x32762a}};yield _0x408d3e;const _0x7242c1={'type':_0x142c04(0x1fc),'index':_0x1ace0b};yield _0x7242c1;}export function*generateToolCallEvents(_0x4b4dbe,_0x264056,_0x4aea3d){const _0x20ee31=a53_0x1218;yield*generateToolCallBlockEvents(_0x4b4dbe,_0x264056);const _0x3c7bb7={'type':'message_delta','delta':{'stop_reason':_0x20ee31(0x1f2),'stop_sequence':null},'usage':{'input_tokens':_0x4aea3d,'output_tokens':0x0}};yield _0x3c7bb7;const _0x24b137={'type':_0x20ee31(0x1de)};yield _0x24b137;}export async function*transformTDStreamToAnthropic(_0x4c9a26,_0x23ee57,_0x18faa1,_0x40551b,_0x5bd8aa='',_0x343c4c=0x0){const _0x1e3b4d=a53_0x1218,_0x1ca5ab=_0x343c4c>0x0?_0x343c4c:estimateTokenCount(_0x5bd8aa);let _0x14c3aa=0x0,_0x553db9=0x0,_0x13163c=![],_0x515c99=null,_0x3f0c9e='',_0x4057c5=0x0,_0x379f04=![];const _0x1edc1e=0xc8,_0x498af9={'type':_0x1e3b4d(0x1cc),'message':{'id':_0x23ee57,'type':_0x1e3b4d(0x204),'role':_0x1e3b4d(0x20d),'content':[],'model':_0x18faa1,'stop_reason':null,'stop_sequence':null,'usage':{'input_tokens':_0x1ca5ab,'output_tokens':0x0}}};yield _0x498af9;for await(const _0x34d65f of _0x4c9a26){if('reasoning'in _0x34d65f){const _0x31c0d4=_0x34d65f;if(!_0x13163c){const _0x252f05={'type':_0x1e3b4d(0x1df),'index':_0x553db9,'content_block':{'type':_0x1e3b4d(0x1c4),'thinking':''}};yield _0x252f05,_0x13163c=!![],_0x515c99=_0x1e3b4d(0x1c4);}const _0xc1d5f6={'type':'content_block_delta','index':_0x553db9,'delta':{'type':_0x1e3b4d(0x1ee),'thinking':_0x31c0d4[_0x1e3b4d(0x1eb)]}};yield _0xc1d5f6,_0x14c3aa+=estimateTokenCount(_0x31c0d4[_0x1e3b4d(0x1eb)]);}else{if('content'in _0x34d65f){const _0x326d19=_0x34d65f;if(_0x13163c&&_0x515c99===_0x1e3b4d(0x1c4)){const _0x2a6567={'type':_0x1e3b4d(0x1fc),'index':_0x553db9};yield _0x2a6567,_0x553db9++,_0x13163c=![],_0x515c99=null;}_0x3f0c9e+=_0x326d19[_0x1e3b4d(0x206)];const _0xe6cad=_0x3f0c9e[_0x1e3b4d(0x1e0)]('<tool_use'),_0x319e81=_0x3f0c9e[_0x1e3b4d(0x1e0)](_0x1e3b4d(0x209)),_0xdb59a1=[_0xe6cad,_0x319e81][_0x1e3b4d(0x1da)](_0x4b52e5=>_0x4b52e5!==-0x1),_0x3183e2=_0xdb59a1[_0x1e3b4d(0x1c6)]>0x0?Math[_0x1e3b4d(0x22a)](..._0xdb59a1):-0x1;if(_0x3183e2!==-0x1){const _0x2418a7=[];let _0x5788b8=0x0;while(!![]){const _0x2d04db=_0x3f0c9e[_0x1e3b4d(0x236)](_0x5788b8),_0x8bf53d=parseToolCallFromText(_0x2d04db,_0x40551b);if(!_0x8bf53d)break;_0x2418a7[_0x1e3b4d(0x1be)]({'id':_0x8bf53d['id'],'name':_0x8bf53d['name'],'input':_0x8bf53d[_0x1e3b4d(0x23a)],'startIndex':_0x5788b8+_0x8bf53d[_0x1e3b4d(0x20f)],'endIndex':_0x5788b8+_0x8bf53d[_0x1e3b4d(0x22f)]}),_0x5788b8+=_0x8bf53d[_0x1e3b4d(0x22f)];}if(_0x2418a7[_0x1e3b4d(0x1c6)]>0x0){const _0x4eed8a=_0x2418a7[_0x2418a7[_0x1e3b4d(0x1c6)]-0x1];_0x379f04=!![];if(_0x2418a7[_0x1e3b4d(0x1c6)]>0x1){const _0x2e368f=_0x2418a7[_0x1e3b4d(0x1c2)](0x0,-0x1)[_0x1e3b4d(0x1e5)](_0x52dd8a=>_0x52dd8a[_0x1e3b4d(0x232)]);_0x40551b?.[_0x1e3b4d(0x1f1)](_0x1e3b4d(0x1fb)+_0x2418a7['length']+_0x1e3b4d(0x222)+(_0x1e3b4d(0x1c3)+_0x4eed8a[_0x1e3b4d(0x232)]+_0x1e3b4d(0x225)+_0x2e368f['join'](',\x20')));}else _0x40551b?.['debug'](_0x1e3b4d(0x1d7)+_0x4eed8a[_0x1e3b4d(0x232)]);const _0x23044a=_0x3f0c9e[_0x1e3b4d(0x236)](_0x4057c5,_0x4eed8a[_0x1e3b4d(0x20f)])[_0x1e3b4d(0x1d2)]();if(_0x23044a){if(!_0x13163c){const _0x578ff3={'type':_0x1e3b4d(0x1df),'index':_0x553db9,'content_block':{'type':_0x1e3b4d(0x229),'text':''}};yield _0x578ff3,_0x13163c=!![],_0x515c99=_0x1e3b4d(0x229);}const _0x40614e={'type':'content_block_delta','index':_0x553db9,'delta':{'type':'text_delta','text':_0x23044a}};yield _0x40614e,_0x14c3aa+=estimateTokenCount(_0x23044a);}if(_0x13163c){const _0x36386b={'type':_0x1e3b4d(0x1fc),'index':_0x553db9};yield _0x36386b,_0x553db9++,_0x13163c=![],_0x515c99=null;}for(const _0x45596d of generateToolCallEvents(_0x4eed8a,_0x553db9,_0x1ca5ab)){_0x45596d[_0x1e3b4d(0x1e6)]==='message_delta'&&(_0x45596d[_0x1e3b4d(0x1c9)]['output_tokens']=_0x14c3aa),yield _0x45596d;}return;}const _0x663add=_0x3f0c9e[_0x1e3b4d(0x1e8)](_0x1e3b4d(0x228))&&_0x3f0c9e['includes'](_0x1e3b4d(0x1d9)),_0x279ee1=_0x3f0c9e[_0x1e3b4d(0x1e8)](_0x1e3b4d(0x209))&&findJsonEndIndex(_0x3f0c9e,_0x3f0c9e[_0x1e3b4d(0x1e0)]('{\x22tool_use\x22:'))!==-0x1;if(_0x663add||_0x279ee1){_0x379f04=!![];let _0x28609d='';if(_0x663add){const _0x19374c=_0x3f0c9e[_0x1e3b4d(0x1e0)]('<tool_use'),_0xdff21d=_0x3f0c9e[_0x1e3b4d(0x1e0)](_0x1e3b4d(0x1d9),_0x19374c);_0xdff21d!==-0x1?_0x28609d=_0x3f0c9e[_0x1e3b4d(0x236)](_0x19374c,_0xdff21d+_0x1e3b4d(0x1d9)['length']):_0x28609d=_0x3f0c9e['substring'](_0x19374c);}else{if(_0x279ee1){const _0x26d75a=_0x3f0c9e[_0x1e3b4d(0x1e0)](_0x1e3b4d(0x209)),_0x7ac5c5=findJsonEndIndex(_0x3f0c9e,_0x26d75a);_0x7ac5c5!==-0x1?_0x28609d=_0x3f0c9e['substring'](_0x26d75a,_0x7ac5c5):_0x28609d=_0x3f0c9e[_0x1e3b4d(0x236)](_0x26d75a);}}_0x40551b&&_0x40551b['error'](_0x1e3b4d(0x21b)+_0x28609d);_0x40551b?.[_0x1e3b4d(0x22e)](_0x1e3b4d(0x20a)),_0x40551b?.[_0x1e3b4d(0x22e)](_0x1e3b4d(0x1ef),_0x28609d);const _0x3fb0d9=_0x3f0c9e[_0x1e3b4d(0x236)](_0x4057c5,_0x3183e2)[_0x1e3b4d(0x1d2)]();if(_0x3fb0d9){if(!_0x13163c){const _0x533851={'type':'content_block_start','index':_0x553db9,'content_block':{'type':_0x1e3b4d(0x229),'text':''}};yield _0x533851,_0x13163c=!![],_0x515c99=_0x1e3b4d(0x229);}const _0x3a9a52={'type':_0x1e3b4d(0x227),'index':_0x553db9,'delta':{'type':'text_delta','text':_0x3fb0d9}};yield _0x3a9a52,_0x14c3aa+=estimateTokenCount(_0x3fb0d9);}if(_0x13163c){const _0x4809ee={'type':_0x1e3b4d(0x1fc),'index':_0x553db9};yield _0x4809ee,_0x553db9++,_0x13163c=![],_0x515c99=null;}const _0x1841f7=_0x1e3b4d(0x1e2)+_0x28609d+'\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',_0x255f1f={'type':_0x1e3b4d(0x1df),'index':_0x553db9,'content_block':{'type':'text','text':''}};yield _0x255f1f,_0x515c99=_0x1e3b4d(0x229);const _0x46f6b8={'type':_0x1e3b4d(0x227),'index':_0x553db9,'delta':{'type':_0x1e3b4d(0x217),'text':_0x1841f7}};yield _0x46f6b8;const _0x7fe841={'type':_0x1e3b4d(0x1fc),'index':_0x553db9};yield _0x7fe841;const _0x1fc33f={'type':_0x1e3b4d(0x202),'delta':{'stop_reason':_0x1e3b4d(0x1d1),'stop_sequence':null},'usage':{'input_tokens':_0x1ca5ab,'output_tokens':_0x14c3aa}};yield _0x1fc33f;const _0xc006b={'type':_0x1e3b4d(0x1de)};yield _0xc006b;return;}const _0x33d639=_0x3f0c9e[_0x1e3b4d(0x236)](_0x4057c5,_0x3183e2);if(_0x33d639){if(!_0x13163c){const _0x463b2d={'type':_0x1e3b4d(0x1df),'index':_0x553db9,'content_block':{'type':_0x1e3b4d(0x229),'text':''}};yield _0x463b2d,_0x13163c=!![],_0x515c99=_0x1e3b4d(0x229);}const _0x4e1e94={'type':'content_block_delta','index':_0x553db9,'delta':{'type':_0x1e3b4d(0x217),'text':_0x33d639}};yield _0x4e1e94,_0x14c3aa+=estimateTokenCount(_0x33d639),_0x4057c5=_0x3183e2;}continue;}const _0x2e2c44=_0x3f0c9e[_0x1e3b4d(0x1c6)]-_0x1edc1e;if(_0x2e2c44>_0x4057c5){const _0x34e6b9=_0x3f0c9e[_0x1e3b4d(0x236)](_0x4057c5,_0x2e2c44);if(_0x34e6b9){if(!_0x13163c){const _0x3dba59={'type':_0x1e3b4d(0x1df),'index':_0x553db9,'content_block':{'type':_0x1e3b4d(0x229),'text':''}};yield _0x3dba59,_0x13163c=!![],_0x515c99=_0x1e3b4d(0x229);}const _0x2bd76e={'type':_0x1e3b4d(0x227),'index':_0x553db9,'delta':{'type':_0x1e3b4d(0x217),'text':_0x34e6b9}};yield _0x2bd76e,_0x14c3aa+=estimateTokenCount(_0x34e6b9),_0x4057c5=_0x2e2c44;}}}else{if('error'in _0x34d65f){const _0xe648da=_0x34d65f,_0x378e2b=determineErrorType(_0xe648da[_0x1e3b4d(0x1e7)],_0x40551b),_0x2e1288=_0x378e2b===_0x1e3b4d(0x213)?_0x1e3b4d(0x1cd):_0x1e3b4d(0x1d1),_0x5a1426={'type':_0x1e3b4d(0x202),'delta':{'stop_reason':_0x2e1288,'stop_sequence':null},'usage':{'input_tokens':_0x1ca5ab,'output_tokens':_0x14c3aa}};yield _0x5a1426,yield{'type':_0x1e3b4d(0x1e7),'error':{'type':_0x378e2b,'message':_0xe648da[_0x1e3b4d(0x1e7)]},'request_id':_0x23ee57};const _0x4176fb={'type':'message_stop'};yield _0x4176fb;return;}}}}if(!_0x379f04){const _0x5580d2=_0x3f0c9e[_0x1e3b4d(0x236)](_0x4057c5);if(_0x5580d2){if(!_0x13163c){const _0xfc68df={'type':_0x1e3b4d(0x1df),'index':_0x553db9,'content_block':{'type':'text','text':''}};yield _0xfc68df,_0x13163c=!![],_0x515c99=_0x1e3b4d(0x229);}const _0x2d0cd6={'type':_0x1e3b4d(0x227),'index':_0x553db9,'delta':{'type':_0x1e3b4d(0x217),'text':_0x5580d2}};yield _0x2d0cd6,_0x14c3aa+=estimateTokenCount(_0x5580d2);}if(_0x13163c){const _0x3f5136={'type':'content_block_stop','index':_0x553db9};yield _0x3f5136;}const _0x450256={'type':_0x1e3b4d(0x202),'delta':{'stop_reason':_0x1e3b4d(0x1d1),'stop_sequence':null},'usage':{'input_tokens':_0x1ca5ab,'output_tokens':_0x14c3aa}};yield _0x450256;const _0x5989ec={'type':'message_stop'};yield _0x5989ec;}}export{generateMessageId};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function a54_0x3d39(){const _0x1ef4dd=['stringify','monthly','sort','monthChatUnits','lastUpdatedAt','slice','inputTokens','5195106GIbCvk','4798812KzGyfL','outputTokens','default','daily','totalChatUnits','tdx','7507200iACYwS','parse','month','contextSignature','todayDate','lastUsedAt','profiles','2121516UfFjXJ','2meSUyV','sessions','5CmIViP','filter','length','replace','model','startsWith','map','stats-cache.json','reduce','.jsonl','8Ujuixy','5955481sftKGq','toISOString','todayChatUnits','keys','object','trim','448112nFSqtf','values','timestamp','credits','.cache','max','utf-8','getTime','1974411pawKOo','split','latestInputTokensByContext','mtime','claude-usage'];a54_0x3d39=function(){return _0x1ef4dd;};return a54_0x3d39();}(function(_0xc8b30e,_0x424731){const _0x4ef440=a54_0x34fd,_0x2bfd4f=_0xc8b30e();while(!![]){try{const _0x44d373=parseInt(_0x4ef440(0x144))/0x1+-parseInt(_0x4ef440(0x131))/0x2*(parseInt(_0x4ef440(0x116))/0x3)+-parseInt(_0x4ef440(0x130))/0x4*(parseInt(_0x4ef440(0x133))/0x5)+parseInt(_0x4ef440(0x123))/0x6+parseInt(_0x4ef440(0x13e))/0x7*(-parseInt(_0x4ef440(0x13d))/0x8)+parseInt(_0x4ef440(0x122))/0x9+parseInt(_0x4ef440(0x129))/0xa;if(_0x44d373===_0x424731)break;else _0x2bfd4f['push'](_0x2bfd4f['shift']());}catch(_0x510d29){_0x2bfd4f['push'](_0x2bfd4f['shift']());}}}(a54_0x3d39,0x82ff9));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';function getUsageDir(){const _0x246958=a54_0x34fd;return join(homedir(),_0x246958(0x148),_0x246958(0x128),_0x246958(0x11a));}function sanitizeSessionId(_0x3ec9d9){return _0x3ec9d9['replace'](/[^a-zA-Z0-9_-]/g,'_');}function getSafeJsonlPath(_0x3d736e){const _0x2acca9=a54_0x34fd,_0x3dbc3b=getUsageDir(),_0x4aa880=sanitizeSessionId(_0x3d736e),_0x35bc14=resolve(_0x3dbc3b,_0x4aa880+_0x2acca9(0x13c));if(!_0x35bc14[_0x2acca9(0x138)](_0x3dbc3b))throw new Error('Invalid\x20session\x20ID:\x20path\x20traversal\x20detected');return _0x35bc14;}function getStatsCachePath(){const _0x2d72cd=a54_0x34fd;return join(getUsageDir(),_0x2d72cd(0x13a));}function a54_0x34fd(_0x245888,_0x3270d0){_0x245888=_0x245888-0x114;const _0x3d394c=a54_0x3d39();let _0x34fd74=_0x3d394c[_0x245888];return _0x34fd74;}async function ensureUsageDir(){const _0xc6b6d9=getUsageDir();!existsSync(_0xc6b6d9)&&await mkdir(_0xc6b6d9,{'recursive':!![]});}export async function appendUsageEntry(_0x312eb7,_0x4dada8){const _0x40567e=a54_0x34fd,_0x40db0f=sanitizeSessionId(_0x312eb7);await ensureUsageDir();const _0x5232a0=getSafeJsonlPath(_0x40db0f),_0x20b918=JSON['stringify'](_0x4dada8)+'\x0a';await appendFile(_0x5232a0,_0x20b918,_0x40567e(0x114));}async function readSessionJsonl(_0x35f8c1){const _0x541e22=a54_0x34fd,_0x35b84c=getSafeJsonlPath(_0x35f8c1);if(!existsSync(_0x35b84c))return[];const _0x1eeb8e=await readFile(_0x35b84c,_0x541e22(0x114)),_0x3769de=_0x1eeb8e[_0x541e22(0x143)]()[_0x541e22(0x117)]('\x0a')[_0x541e22(0x134)](Boolean);return _0x3769de['map'](_0x51c0ad=>{const _0x4203ab=_0x541e22;try{return JSON[_0x4203ab(0x12a)](_0x51c0ad);}catch{return null;}})['filter'](_0x1e53d7=>_0x1e53d7!==null);}async function getAllSessionFiles(){const _0x5efe57=a54_0x34fd,_0x55312f=getUsageDir();if(!existsSync(_0x55312f))return[];const _0x3273cb=await readdir(_0x55312f);return _0x3273cb[_0x5efe57(0x134)](_0x4264a9=>_0x4264a9['endsWith']('.jsonl'))[_0x5efe57(0x139)](_0x24bfa4=>_0x24bfa4[_0x5efe57(0x136)](_0x5efe57(0x13c),''));}async function readStatsCache(){const _0x26892c=a54_0x34fd,_0x26e4fc=getStatsCachePath();if(!existsSync(_0x26e4fc))return null;try{const _0x4c6a23=await readFile(_0x26e4fc,_0x26892c(0x114));return JSON[_0x26892c(0x12a)](_0x4c6a23);}catch{return null;}}async function writeStatsCache(_0x4bd109){const _0x1db4ed=a54_0x34fd;await ensureUsageDir();const _0x4c594c=getStatsCachePath();await writeFile(_0x4c594c,JSON[_0x1db4ed(0x11b)](_0x4bd109,null,0x2),_0x1db4ed(0x114));}async function isCacheUpToDate(_0x2f6bcf,_0x46132d){const _0x584f66=a54_0x34fd,_0x59c74b=_0x2f6bcf[_0x584f66(0x132)][_0x46132d];if(!_0x59c74b)return![];const _0x433138=getSafeJsonlPath(_0x46132d);if(!existsSync(_0x433138))return!![];try{const _0xb7b14c=await stat(_0x433138),_0x14b2e6=new Date(_0x59c74b[_0x584f66(0x11f)])[_0x584f66(0x115)](),_0x411a1b=_0xb7b14c[_0x584f66(0x119)][_0x584f66(0x115)]();return _0x14b2e6>_0x411a1b;}catch{return![];}}export async function rebuildCache(){const _0xdd2e92=a54_0x34fd,_0x2f38bf=new Date(),_0xa25d56=_0x2f38bf['toISOString']()[_0xdd2e92(0x120)](0x0,0xa),_0x23bf9b=_0x2f38bf[_0xdd2e92(0x13f)]()['slice'](0x0,0x7),_0x4a9ce8={'daily':{},'monthly':{},'sessions':{},'profiles':{},'lastRebuiltAt':_0x2f38bf[_0xdd2e92(0x13f)]()},_0x489119=await getAllSessionFiles();for(const _0x20d51b of _0x489119){const _0x2d0193=await readSessionJsonl(_0x20d51b);if(_0x2d0193['length']===0x0)continue;let _0x3cb5fd=0x0;const _0x5738a0={};let _0x351901='';for(const _0x9d3a2d of _0x2d0193){const _0x23d8de=getModelFactor(_0x9d3a2d[_0xdd2e92(0x137)]),_0x44bb8c=calculateChatUnit(_0x9d3a2d['inputTokens'],_0x9d3a2d[_0xdd2e92(0x124)],_0x23d8de);_0x3cb5fd+=_0x44bb8c;const _0x46732c=_0x9d3a2d[_0xdd2e92(0x12c)]||_0xdd2e92(0x125);_0x5738a0[_0x46732c]=_0x9d3a2d[_0xdd2e92(0x121)];_0x9d3a2d['timestamp']>_0x351901&&(_0x351901=_0x9d3a2d[_0xdd2e92(0x146)]);const _0xa568b3=_0x9d3a2d[_0xdd2e92(0x146)][_0xdd2e92(0x120)](0x0,0xa);!_0x4a9ce8['daily'][_0xa568b3]&&(_0x4a9ce8['daily'][_0xa568b3]={'totalChatUnits':0x0,'entryCount':0x0});_0x4a9ce8[_0xdd2e92(0x126)][_0xa568b3][_0xdd2e92(0x127)]+=_0x44bb8c,_0x4a9ce8['daily'][_0xa568b3]['entryCount']+=0x1;const _0x2eee8a=_0x9d3a2d[_0xdd2e92(0x146)]['slice'](0x0,0x7);!_0x4a9ce8['monthly'][_0x2eee8a]&&(_0x4a9ce8['monthly'][_0x2eee8a]={'totalChatUnits':0x0,'entryCount':0x0});_0x4a9ce8[_0xdd2e92(0x11c)][_0x2eee8a][_0xdd2e92(0x127)]+=_0x44bb8c,_0x4a9ce8[_0xdd2e92(0x11c)][_0x2eee8a]['entryCount']+=0x1;const _0x26e317=_0x9d3a2d['profile']||_0xdd2e92(0x125);!_0x4a9ce8['profiles'][_0x26e317]&&(_0x4a9ce8['profiles'][_0x26e317]={'totalChatUnits':0x0,'entryCount':0x0,'lastUsedAt':'','todayChatUnits':0x0,'todayDate':_0xa25d56,'monthChatUnits':0x0,'month':_0x23bf9b}),_0x4a9ce8[_0xdd2e92(0x12f)][_0x26e317][_0xdd2e92(0x127)]+=_0x44bb8c,_0x4a9ce8['profiles'][_0x26e317]['entryCount']+=0x1,_0x9d3a2d['timestamp']>_0x4a9ce8[_0xdd2e92(0x12f)][_0x26e317][_0xdd2e92(0x12e)]&&(_0x4a9ce8[_0xdd2e92(0x12f)][_0x26e317]['lastUsedAt']=_0x9d3a2d[_0xdd2e92(0x146)]),_0xa568b3===_0xa25d56&&(_0x4a9ce8['profiles'][_0x26e317]['todayChatUnits']+=_0x44bb8c),_0x2eee8a===_0x23bf9b&&(_0x4a9ce8[_0xdd2e92(0x12f)][_0x26e317]['monthChatUnits']+=_0x44bb8c);}_0x4a9ce8[_0xdd2e92(0x132)][_0x20d51b]={'totalChatUnits':_0x3cb5fd,'latestInputTokensByContext':_0x5738a0,'createdAt':_0x2d0193[0x0][_0xdd2e92(0x146)],'lastUpdatedAt':_0x351901};}return cleanupOldEntries(_0x4a9ce8),await writeStatsCache(_0x4a9ce8),_0x4a9ce8;}function cleanupOldEntries(_0x18900d){const _0x207546=a54_0x34fd,_0x4b1b50=new Date(),_0x3ef6eb=new Date(_0x4b1b50[_0x207546(0x115)]()-0x7*0x18*0x3c*0x3c*0x3e8);for(const _0x2ed1d5 of Object[_0x207546(0x141)](_0x18900d[_0x207546(0x126)])){new Date(_0x2ed1d5)<_0x3ef6eb&&delete _0x18900d['daily'][_0x2ed1d5];}const _0x581dcf=new Date(_0x4b1b50['getFullYear']()-0x1,_0x4b1b50['getMonth'](),0x1);for(const _0x4959ac of Object[_0x207546(0x141)](_0x18900d[_0x207546(0x11c)])){const [_0x1c290e,_0x3f2ffc]=_0x4959ac[_0x207546(0x117)]('-')[_0x207546(0x139)](Number),_0x35190c=new Date(_0x1c290e,_0x3f2ffc-0x1,0x1);_0x35190c<_0x581dcf&&delete _0x18900d[_0x207546(0x11c)][_0x4959ac];}const _0x95a118=new Date(_0x4b1b50[_0x207546(0x115)]()-0x1e*0x18*0x3c*0x3c*0x3e8);for(const [_0x25b45c,_0x1d85ee]of Object['entries'](_0x18900d['sessions'])){new Date(_0x1d85ee[_0x207546(0x11f)])<_0x95a118&&delete _0x18900d[_0x207546(0x132)][_0x25b45c];}}export async function getOrUpdateCache(_0x35598e){const _0x220c65=_0x35598e?sanitizeSessionId(_0x35598e):undefined,_0x1eb50e=await readStatsCache();if(!_0x1eb50e)return rebuildCache();if(_0x220c65){const _0x327ff4=await isCacheUpToDate(_0x1eb50e,_0x220c65);if(!_0x327ff4)return rebuildCache();}return _0x1eb50e;}export async function getSessionCredits(_0x899908){const _0x59470a=a54_0x34fd,_0x2d3a79=sanitizeSessionId(_0x899908),_0x5261b4=await getOrUpdateCache(_0x2d3a79),_0x5227c7=_0x5261b4['sessions'][_0x2d3a79];if(!_0x5227c7)return 0x0;return calculateCredits(_0x5227c7[_0x59470a(0x127)]);}export async function getTodayCredits(){const _0x545906=a54_0x34fd,_0x3b57c0=await getOrUpdateCache(),_0x9ca4ee=new Date()[_0x545906(0x13f)]()['slice'](0x0,0xa),_0x455fb5=_0x3b57c0[_0x545906(0x126)][_0x9ca4ee];if(!_0x455fb5)return 0x0;return calculateCredits(_0x455fb5[_0x545906(0x127)]);}export async function getMonthCredits(){const _0x4d4606=a54_0x34fd,_0x47738a=await getOrUpdateCache(),_0x21f820=new Date()[_0x4d4606(0x13f)]()[_0x4d4606(0x120)](0x0,0x7),_0x55a80e=_0x47738a[_0x4d4606(0x11c)][_0x21f820];if(!_0x55a80e)return 0x0;return calculateCredits(_0x55a80e[_0x4d4606(0x127)]);}export async function getSessionStats(_0x45fe7c){const _0x450b0e=a54_0x34fd,_0x42dc31=sanitizeSessionId(_0x45fe7c),_0x383d5a=await getOrUpdateCache(_0x42dc31);return _0x383d5a[_0x450b0e(0x132)][_0x42dc31]||null;}function getMaxLatestInputTokens(_0xd3eb08){const _0x1a8265=a54_0x34fd,_0x203b5b=Object[_0x1a8265(0x145)](_0xd3eb08);if(_0x203b5b[_0x1a8265(0x135)]===0x0)return 0x0;return Math[_0x1a8265(0x149)](..._0x203b5b);}export async function getUsageStats(_0x153776,_0x35f8dc){const _0x320d31=a54_0x34fd,_0x4290e6=sanitizeSessionId(_0x153776),_0x4e9def=await getOrUpdateCache(_0x4290e6),_0x5cb071=_0x4e9def['sessions'][_0x4290e6],_0x5dcea9=new Date()[_0x320d31(0x13f)]()[_0x320d31(0x120)](0x0,0xa),_0x4f1c9f=new Date()['toISOString']()['slice'](0x0,0x7);if(_0x35f8dc){const _0x378f52=_0x4e9def['profiles']?.[_0x35f8dc],_0x236839=_0x378f52?.[_0x320d31(0x12d)]===_0x5dcea9?calculateCredits(_0x378f52[_0x320d31(0x140)]):0x0,_0x97549f=_0x378f52?.[_0x320d31(0x12b)]===_0x4f1c9f?calculateCredits(_0x378f52[_0x320d31(0x11e)]):0x0;return{'sessionCredits':_0x5cb071?calculateCredits(_0x5cb071['totalChatUnits']):0x0,'todayCredits':_0x236839,'monthCredits':_0x97549f,'latestInputTokens':_0x5cb071?getMaxLatestInputTokens(_0x5cb071[_0x320d31(0x118)]):0x0};}return{'sessionCredits':_0x5cb071?calculateCredits(_0x5cb071[_0x320d31(0x127)]):0x0,'todayCredits':_0x4e9def[_0x320d31(0x126)][_0x5dcea9]?calculateCredits(_0x4e9def[_0x320d31(0x126)][_0x5dcea9][_0x320d31(0x127)]):0x0,'monthCredits':_0x4e9def[_0x320d31(0x11c)][_0x4f1c9f]?calculateCredits(_0x4e9def[_0x320d31(0x11c)][_0x4f1c9f]['totalChatUnits']):0x0,'latestInputTokens':_0x5cb071?getMaxLatestInputTokens(_0x5cb071[_0x320d31(0x118)]):0x0};}export async function getAllProfileStats(){const _0x3d5149=a54_0x34fd,_0x16a257=await getOrUpdateCache(),_0x246706=_0x16a257['profiles']||{};return Object['entries'](_0x246706)[_0x3d5149(0x134)](([,_0x15b7ba])=>_0x15b7ba&&typeof _0x15b7ba===_0x3d5149(0x142))[_0x3d5149(0x139)](([_0x5ce599,_0x42aeec])=>({'profile':_0x5ce599,'credits':calculateCredits(_0x42aeec[_0x3d5149(0x127)]||0x0),'entryCount':_0x42aeec['entryCount']||0x0,'lastUsedAt':_0x42aeec['lastUsedAt']||''}))[_0x3d5149(0x11d)]((_0x571d0f,_0xde94e)=>_0xde94e[_0x3d5149(0x147)]-_0x571d0f[_0x3d5149(0x147)]);}export async function getUsageSummary(){const _0x11d96a=a54_0x34fd,_0x2aa0fb=await getOrUpdateCache(),_0x300455=_0x2aa0fb['profiles']||{},_0x2d6336=new Date()[_0x11d96a(0x13f)]()['slice'](0x0,0xa),_0x369cd9=new Date()[_0x11d96a(0x13f)]()[_0x11d96a(0x120)](0x0,0x7),_0x7a0405=Object[_0x11d96a(0x145)](_0x300455)[_0x11d96a(0x134)](_0x5e4e15=>_0x5e4e15&&typeof _0x5e4e15===_0x11d96a(0x142)),_0x53770c=_0x7a0405[_0x11d96a(0x13b)]((_0x3cb2ab,_0x4fc4be)=>_0x3cb2ab+(_0x4fc4be['totalChatUnits']||0x0),0x0);return{'todayCredits':_0x2aa0fb[_0x11d96a(0x126)][_0x2d6336]?calculateCredits(_0x2aa0fb[_0x11d96a(0x126)][_0x2d6336][_0x11d96a(0x127)]||0x0):0x0,'monthCredits':_0x2aa0fb['monthly'][_0x369cd9]?calculateCredits(_0x2aa0fb[_0x11d96a(0x11c)][_0x369cd9][_0x11d96a(0x127)]||0x0):0x0,'totalCredits':calculateCredits(_0x53770c),'profileCount':_0x7a0405[_0x11d96a(0x135)]};}
|
|
1
|
+
(function(_0x4efe1c,_0x2906b7){const _0x15d553=a54_0xffd5,_0x37b61f=_0x4efe1c();while(!![]){try{const _0x4f4afc=parseInt(_0x15d553(0xf9))/0x1*(-parseInt(_0x15d553(0x101))/0x2)+-parseInt(_0x15d553(0xdd))/0x3*(-parseInt(_0x15d553(0x104))/0x4)+-parseInt(_0x15d553(0xfe))/0x5*(parseInt(_0x15d553(0xe9))/0x6)+parseInt(_0x15d553(0xd8))/0x7*(-parseInt(_0x15d553(0xda))/0x8)+parseInt(_0x15d553(0xf1))/0x9+parseInt(_0x15d553(0xfc))/0xa*(-parseInt(_0x15d553(0xee))/0xb)+parseInt(_0x15d553(0x107))/0xc;if(_0x4f4afc===_0x2906b7)break;else _0x37b61f['push'](_0x37b61f['shift']());}catch(_0x570cb0){_0x37b61f['push'](_0x37b61f['shift']());}}}(a54_0x15c5,0x79651));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';function getUsageDir(){const _0x1cf8e5=a54_0xffd5;return join(homedir(),_0x1cf8e5(0xde),_0x1cf8e5(0xfa),_0x1cf8e5(0xe4));}function sanitizeSessionId(_0x4f3085){const _0x13608f=a54_0xffd5;return _0x4f3085[_0x13608f(0xf5)](/[^a-zA-Z0-9_-]/g,'_');}function getSafeJsonlPath(_0x1de1dc){const _0x35c991=a54_0xffd5,_0x26202d=getUsageDir(),_0xc0959c=sanitizeSessionId(_0x1de1dc),_0x286bdc=resolve(_0x26202d,_0xc0959c+'.jsonl');if(!_0x286bdc['startsWith'](_0x26202d))throw new Error(_0x35c991(0xea));return _0x286bdc;}function getStatsCachePath(){const _0x751d2d=a54_0xffd5;return join(getUsageDir(),_0x751d2d(0xec));}async function ensureUsageDir(){const _0x234a34=getUsageDir();!existsSync(_0x234a34)&&await mkdir(_0x234a34,{'recursive':!![]});}export async function appendUsageEntry(_0x2d9cc7,_0x518df5){const _0x3bab7e=a54_0xffd5,_0x41d459=sanitizeSessionId(_0x2d9cc7);await ensureUsageDir();const _0x37caf8=getSafeJsonlPath(_0x41d459),_0x4047b4=JSON[_0x3bab7e(0xe1)](_0x518df5)+'\x0a';await appendFile(_0x37caf8,_0x4047b4,_0x3bab7e(0x102));}async function readSessionJsonl(_0x178469){const _0x34f038=a54_0xffd5,_0x559df7=getSafeJsonlPath(_0x178469);if(!existsSync(_0x559df7))return[];const _0x1a3f3b=await readFile(_0x559df7,_0x34f038(0x102)),_0x49686a=_0x1a3f3b['trim']()['split']('\x0a')[_0x34f038(0x109)](Boolean);return _0x49686a[_0x34f038(0xe5)](_0x146509=>{const _0x1e53e6=_0x34f038;try{return JSON[_0x1e53e6(0xdb)](_0x146509);}catch{return null;}})[_0x34f038(0x109)](_0x24d0da=>_0x24d0da!==null);}async function getAllSessionFiles(){const _0x17ee0d=a54_0xffd5,_0x5d1166=getUsageDir();if(!existsSync(_0x5d1166))return[];const _0x58e6de=await readdir(_0x5d1166);return _0x58e6de[_0x17ee0d(0x109)](_0x50f631=>_0x50f631[_0x17ee0d(0xef)](_0x17ee0d(0xf8)))[_0x17ee0d(0xe5)](_0x3ef290=>_0x3ef290[_0x17ee0d(0xf5)](_0x17ee0d(0xf8),''));}async function readStatsCache(){const _0x5be4a2=a54_0xffd5,_0x4d27e5=getStatsCachePath();if(!existsSync(_0x4d27e5))return null;try{const _0x1a55ac=await readFile(_0x4d27e5,_0x5be4a2(0x102));return JSON[_0x5be4a2(0xdb)](_0x1a55ac);}catch{return null;}}async function writeStatsCache(_0x23e0f8){const _0x231946=a54_0xffd5;await ensureUsageDir();const _0x1b12fe=getStatsCachePath();await writeFile(_0x1b12fe,JSON['stringify'](_0x23e0f8,null,0x2),_0x231946(0x102));}async function isCacheUpToDate(_0x2db342,_0x333975){const _0x3e16ee=a54_0xffd5,_0x5a285d=_0x2db342['sessions'][_0x333975];if(!_0x5a285d)return![];const _0x46f557=getSafeJsonlPath(_0x333975);if(!existsSync(_0x46f557))return!![];try{const _0x1119e6=await stat(_0x46f557),_0x2a5830=new Date(_0x5a285d['lastUpdatedAt'])['getTime'](),_0x232251=_0x1119e6[_0x3e16ee(0x100)][_0x3e16ee(0xd7)]();return _0x2a5830>_0x232251;}catch{return![];}}export async function rebuildCache(){const _0x487fbc=a54_0xffd5,_0xacf183=new Date(),_0x3fb50b=_0xacf183[_0x487fbc(0x10a)]()['slice'](0x0,0xa),_0x4a1deb=_0xacf183['toISOString']()[_0x487fbc(0xe3)](0x0,0x7),_0x2388af={'daily':{},'monthly':{},'sessions':{},'profiles':{},'lastRebuiltAt':_0xacf183[_0x487fbc(0x10a)]()},_0x5471b8=await getAllSessionFiles();for(const _0x44bb1a of _0x5471b8){const _0x454372=await readSessionJsonl(_0x44bb1a);if(_0x454372[_0x487fbc(0xe2)]===0x0)continue;let _0x293acb=0x0;const _0x2c4ed6={};let _0x13ad1c='';for(const _0x3f3900 of _0x454372){const _0x460c65=getModelFactor(_0x3f3900[_0x487fbc(0xdc)]),_0xbb7cd9=calculateChatUnit(_0x3f3900[_0x487fbc(0x10e)],_0x3f3900[_0x487fbc(0x10b)],_0x460c65);_0x293acb+=_0xbb7cd9;const _0x11365f=_0x3f3900[_0x487fbc(0x106)]||_0x487fbc(0x103);_0x2c4ed6[_0x11365f]=_0x3f3900[_0x487fbc(0x10e)];_0x3f3900[_0x487fbc(0xf7)]>_0x13ad1c&&(_0x13ad1c=_0x3f3900['timestamp']);const _0x5f52f5=_0x3f3900[_0x487fbc(0xf7)][_0x487fbc(0xe3)](0x0,0xa);!_0x2388af['daily'][_0x5f52f5]&&(_0x2388af[_0x487fbc(0xe0)][_0x5f52f5]={'totalChatUnits':0x0,'entryCount':0x0});_0x2388af[_0x487fbc(0xe0)][_0x5f52f5][_0x487fbc(0xe8)]+=_0xbb7cd9,_0x2388af['daily'][_0x5f52f5][_0x487fbc(0xe6)]+=0x1;const _0x38fc47=_0x3f3900[_0x487fbc(0xf7)][_0x487fbc(0xe3)](0x0,0x7);!_0x2388af['monthly'][_0x38fc47]&&(_0x2388af[_0x487fbc(0xd9)][_0x38fc47]={'totalChatUnits':0x0,'entryCount':0x0});_0x2388af['monthly'][_0x38fc47][_0x487fbc(0xe8)]+=_0xbb7cd9,_0x2388af[_0x487fbc(0xd9)][_0x38fc47][_0x487fbc(0xe6)]+=0x1;const _0xedd39c=_0x3f3900[_0x487fbc(0x105)]||_0x487fbc(0x103);!_0x2388af[_0x487fbc(0xf2)][_0xedd39c]&&(_0x2388af[_0x487fbc(0xf2)][_0xedd39c]={'totalChatUnits':0x0,'entryCount':0x0,'lastUsedAt':'','todayChatUnits':0x0,'todayDate':_0x3fb50b,'monthChatUnits':0x0,'month':_0x4a1deb}),_0x2388af[_0x487fbc(0xf2)][_0xedd39c]['totalChatUnits']+=_0xbb7cd9,_0x2388af['profiles'][_0xedd39c][_0x487fbc(0xe6)]+=0x1,_0x3f3900[_0x487fbc(0xf7)]>_0x2388af[_0x487fbc(0xf2)][_0xedd39c][_0x487fbc(0xff)]&&(_0x2388af['profiles'][_0xedd39c][_0x487fbc(0xff)]=_0x3f3900['timestamp']),_0x5f52f5===_0x3fb50b&&(_0x2388af[_0x487fbc(0xf2)][_0xedd39c][_0x487fbc(0xf4)]+=_0xbb7cd9),_0x38fc47===_0x4a1deb&&(_0x2388af[_0x487fbc(0xf2)][_0xedd39c][_0x487fbc(0xfb)]+=_0xbb7cd9);}_0x2388af[_0x487fbc(0xed)][_0x44bb1a]={'totalChatUnits':_0x293acb,'latestInputTokensByContext':_0x2c4ed6,'createdAt':_0x454372[0x0]['timestamp'],'lastUpdatedAt':_0x13ad1c};}return cleanupOldEntries(_0x2388af),await writeStatsCache(_0x2388af),_0x2388af;}function cleanupOldEntries(_0x453ff0){const _0x22e9ea=a54_0xffd5,_0x3881b8=new Date(),_0x45516f=new Date(_0x3881b8[_0x22e9ea(0xd7)]()-0x7*0x18*0x3c*0x3c*0x3e8);for(const _0x40b502 of Object[_0x22e9ea(0x10c)](_0x453ff0[_0x22e9ea(0xe0)])){new Date(_0x40b502)<_0x45516f&&delete _0x453ff0['daily'][_0x40b502];}const _0x15c3c7=new Date(_0x3881b8[_0x22e9ea(0x108)]()-0x1,_0x3881b8['getMonth'](),0x1);for(const _0x449e75 of Object[_0x22e9ea(0x10c)](_0x453ff0[_0x22e9ea(0xd9)])){const [_0x3257ef,_0x27cf95]=_0x449e75['split']('-')['map'](Number),_0x3558d8=new Date(_0x3257ef,_0x27cf95-0x1,0x1);_0x3558d8<_0x15c3c7&&delete _0x453ff0[_0x22e9ea(0xd9)][_0x449e75];}const _0x4908f8=new Date(_0x3881b8[_0x22e9ea(0xd7)]()-0x1e*0x18*0x3c*0x3c*0x3e8);for(const [_0x1b8dc7,_0x8e5ce5]of Object[_0x22e9ea(0xf0)](_0x453ff0[_0x22e9ea(0xed)])){new Date(_0x8e5ce5['lastUpdatedAt'])<_0x4908f8&&delete _0x453ff0[_0x22e9ea(0xed)][_0x1b8dc7];}}export async function getOrUpdateCache(_0x4581cb){const _0x497487=_0x4581cb?sanitizeSessionId(_0x4581cb):undefined,_0x51e502=await readStatsCache();if(!_0x51e502)return rebuildCache();if(_0x497487){const _0x2e3086=await isCacheUpToDate(_0x51e502,_0x497487);if(!_0x2e3086)return rebuildCache();}return _0x51e502;}export async function getSessionCredits(_0x1a6766){const _0x3e263b=a54_0xffd5,_0x5dd216=sanitizeSessionId(_0x1a6766),_0x394ac5=await getOrUpdateCache(_0x5dd216),_0x2d76d7=_0x394ac5['sessions'][_0x5dd216];if(!_0x2d76d7)return 0x0;return calculateCredits(_0x2d76d7[_0x3e263b(0xe8)]);}export async function getTodayCredits(){const _0x53a27e=a54_0xffd5,_0x68414f=await getOrUpdateCache(),_0xab9cd1=new Date()[_0x53a27e(0x10a)]()[_0x53a27e(0xe3)](0x0,0xa),_0x1a052b=_0x68414f['daily'][_0xab9cd1];if(!_0x1a052b)return 0x0;return calculateCredits(_0x1a052b['totalChatUnits']);}export async function getMonthCredits(){const _0x288230=a54_0xffd5,_0x22eeb4=await getOrUpdateCache(),_0x368c43=new Date()['toISOString']()[_0x288230(0xe3)](0x0,0x7),_0x2d91b0=_0x22eeb4[_0x288230(0xd9)][_0x368c43];if(!_0x2d91b0)return 0x0;return calculateCredits(_0x2d91b0[_0x288230(0xe8)]);}function a54_0xffd5(_0x5c8393,_0x2f0ac5){_0x5c8393=_0x5c8393-0xd7;const _0x15c5fc=a54_0x15c5();let _0xffd5b2=_0x15c5fc[_0x5c8393];return _0xffd5b2;}export async function getSessionStats(_0x3afe6f){const _0x28d561=a54_0xffd5,_0x43a429=sanitizeSessionId(_0x3afe6f),_0x4bf90d=await getOrUpdateCache(_0x43a429);return _0x4bf90d[_0x28d561(0xed)][_0x43a429]||null;}function getMaxLatestInputTokens(_0x28b361){const _0x21e7c7=Object['values'](_0x28b361);if(_0x21e7c7['length']===0x0)return 0x0;return Math['max'](..._0x21e7c7);}export async function getUsageStats(_0x4a7306,_0x12871d){const _0x48e3ad=a54_0xffd5,_0x5be5f3=sanitizeSessionId(_0x4a7306),_0x45fbe3=await getOrUpdateCache(_0x5be5f3),_0x1a746b=_0x45fbe3[_0x48e3ad(0xed)][_0x5be5f3],_0x444aeb=new Date()['toISOString']()[_0x48e3ad(0xe3)](0x0,0xa),_0x3aaf08=new Date()['toISOString']()[_0x48e3ad(0xe3)](0x0,0x7);if(_0x12871d){const _0x754620=_0x45fbe3[_0x48e3ad(0xf2)]?.[_0x12871d],_0x5a3445=_0x754620?.['todayDate']===_0x444aeb?calculateCredits(_0x754620[_0x48e3ad(0xf4)]):0x0,_0x18edd3=_0x754620?.[_0x48e3ad(0xdf)]===_0x3aaf08?calculateCredits(_0x754620[_0x48e3ad(0xfb)]):0x0;return{'sessionCredits':_0x1a746b?calculateCredits(_0x1a746b[_0x48e3ad(0xe8)]):0x0,'todayCredits':_0x5a3445,'monthCredits':_0x18edd3,'latestInputTokens':_0x1a746b?getMaxLatestInputTokens(_0x1a746b[_0x48e3ad(0xfd)]):0x0};}return{'sessionCredits':_0x1a746b?calculateCredits(_0x1a746b[_0x48e3ad(0xe8)]):0x0,'todayCredits':_0x45fbe3['daily'][_0x444aeb]?calculateCredits(_0x45fbe3[_0x48e3ad(0xe0)][_0x444aeb][_0x48e3ad(0xe8)]):0x0,'monthCredits':_0x45fbe3[_0x48e3ad(0xd9)][_0x3aaf08]?calculateCredits(_0x45fbe3[_0x48e3ad(0xd9)][_0x3aaf08]['totalChatUnits']):0x0,'latestInputTokens':_0x1a746b?getMaxLatestInputTokens(_0x1a746b[_0x48e3ad(0xfd)]):0x0};}export async function getAllProfileStats(){const _0x356e9d=a54_0xffd5,_0x29a891=await getOrUpdateCache(),_0x27f5b9=_0x29a891[_0x356e9d(0xf2)]||{};return Object[_0x356e9d(0xf0)](_0x27f5b9)[_0x356e9d(0x109)](([,_0x44a3f2])=>_0x44a3f2&&typeof _0x44a3f2===_0x356e9d(0x10d))[_0x356e9d(0xe5)](([_0x138316,_0x3f3072])=>({'profile':_0x138316,'credits':calculateCredits(_0x3f3072[_0x356e9d(0xe8)]||0x0),'entryCount':_0x3f3072[_0x356e9d(0xe6)]||0x0,'lastUsedAt':_0x3f3072[_0x356e9d(0xff)]||''}))[_0x356e9d(0xeb)]((_0x1d5e9d,_0x55a869)=>_0x55a869[_0x356e9d(0xe7)]-_0x1d5e9d['credits']);}export async function getUsageSummary(){const _0x53eb8d=a54_0xffd5,_0x5de0a6=await getOrUpdateCache(),_0x8953f=_0x5de0a6['profiles']||{},_0x2a072f=new Date()[_0x53eb8d(0x10a)]()[_0x53eb8d(0xe3)](0x0,0xa),_0x1d856b=new Date()[_0x53eb8d(0x10a)]()['slice'](0x0,0x7),_0x27fb0f=Object[_0x53eb8d(0xf3)](_0x8953f)[_0x53eb8d(0x109)](_0x374962=>_0x374962&&typeof _0x374962===_0x53eb8d(0x10d)),_0x54c439=_0x27fb0f[_0x53eb8d(0xf6)]((_0x311c90,_0x8db599)=>_0x311c90+(_0x8db599[_0x53eb8d(0xe8)]||0x0),0x0);return{'todayCredits':_0x5de0a6[_0x53eb8d(0xe0)][_0x2a072f]?calculateCredits(_0x5de0a6['daily'][_0x2a072f][_0x53eb8d(0xe8)]||0x0):0x0,'monthCredits':_0x5de0a6[_0x53eb8d(0xd9)][_0x1d856b]?calculateCredits(_0x5de0a6[_0x53eb8d(0xd9)][_0x1d856b][_0x53eb8d(0xe8)]||0x0):0x0,'totalCredits':calculateCredits(_0x54c439),'profileCount':_0x27fb0f[_0x53eb8d(0xe2)]};}function a54_0x15c5(){const _0x22dede=['values','todayChatUnits','replace','reduce','timestamp','.jsonl','8843UMigpI','tdx','monthChatUnits','5794070RpZKhp','latestInputTokensByContext','30fWqPtP','lastUsedAt','mtime','108odFeQX','utf-8','default','12TDHIXg','profile','contextSignature','6344412jZcpPq','getFullYear','filter','toISOString','outputTokens','keys','object','inputTokens','getTime','1218xveHgY','monthly','6032ifsVDy','parse','model','783432nvsNeq','.cache','month','daily','stringify','length','slice','claude-usage','map','entryCount','credits','totalChatUnits','65166apfTkd','Invalid\x20session\x20ID:\x20path\x20traversal\x20detected','sort','stats-cache.json','sessions','11pLMEls','endsWith','entries','3945519jYLwvd','profiles'];a54_0x15c5=function(){return _0x22dede;};return a54_0x15c5();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x53ff38,_0x70e5d9){const _0x2e96c2=a55_0x4c51,_0x2e2dbb=_0x53ff38();while(!![]){try{const _0x5c5603=-parseInt(_0x2e96c2(0x13b))/0x1*(-parseInt(_0x2e96c2(0x132))/0x2)+-parseInt(_0x2e96c2(0x13e))/0x3+parseInt(_0x2e96c2(0x133))/0x4+parseInt(_0x2e96c2(0x136))/0x5+-parseInt(_0x2e96c2(0x129))/0x6*(-parseInt(_0x2e96c2(0x134))/0x7)+parseInt(_0x2e96c2(0x12f))/0x8+-parseInt(_0x2e96c2(0x12b))/0x9*(parseInt(_0x2e96c2(0x130))/0xa);if(_0x5c5603===_0x70e5d9)break;else _0x2e2dbb['push'](_0x2e2dbb['shift']());}catch(_0x51bc86){_0x2e2dbb['push'](_0x2e2dbb['shift']());}}}(a55_0x55ac,0x195e4));import{createHash}from'crypto';import{extractModelAlias,resolveModelAlias}from'../sdk/llm/model-aliases.js';function a55_0x4c51(_0x10147,_0x4192b4){_0x10147=_0x10147-0x129;const _0x55acfb=a55_0x55ac();let _0x4c5116=_0x55acfb[_0x10147];return _0x4c5116;}export function calculateContextSignature(_0x5094ca,_0x409ef1,_0x91f379,_0x2dc588){const _0x12606c=a55_0x4c51,_0x5f492a=extractModelAlias(_0x5094ca),_0x295687=resolveModelAlias(_0x5f492a),_0x1e0aac=[..._0x409ef1||[]]['sort'](),_0x52f6c6=(_0x91f379||[])[_0x12606c(0x138)](_0x583167=>_0x583167!=null)[_0x12606c(0x135)](_0x56858f=>({'name':_0x56858f[_0x12606c(0x12c)],'params':Object[_0x12606c(0x13d)](_0x56858f[_0x12606c(0x12e)]?.[_0x12606c(0x13a)]||{})['sort'](),'required':(_0x56858f[_0x12606c(0x12e)]?.['required']||[])[_0x12606c(0x131)]()}))[_0x12606c(0x131)]((_0x1288d0,_0x54a0eb)=>_0x1288d0[_0x12606c(0x12c)][_0x12606c(0x12a)](_0x54a0eb[_0x12606c(0x12c)])),_0x2fd565=JSON[_0x12606c(0x13f)]({'model':_0x295687,'prompts':_0x1e0aac,'tools':_0x52f6c6,'reasoning':_0x2dc588});return createHash(_0x12606c(0x12d))[_0x12606c(0x137)](_0x2fd565)['digest'](_0x12606c(0x13c))[_0x12606c(0x139)](0x0,0x10);}function a55_0x55ac(){const _0x4ca973=['4685890jwUvtv','sort','180680NsRfPm','356372kfuVfI','471219aNnONu','map','58670LhEhPr','update','filter','substring','properties','2cBvUFh','hex','keys','176376tRGjvb','stringify','18MOFLHX','localeCompare','9KzrNCj','name','sha256','input_schema','1182648lkAXyF'];a55_0x55ac=function(){return _0x4ca973;};return a55_0x55ac();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x2a15c0,_0x1c7141){const _0x22ff7d=a56_0x31d7,_0x3a9d62=_0x2a15c0();while(!![]){try{const _0x65b7bf=-parseInt(_0x22ff7d(0x1cd))/0x1*(-parseInt(_0x22ff7d(0x1dd))/0x2)+parseInt(_0x22ff7d(0x1c9))/0x3+-parseInt(_0x22ff7d(0x1d8))/0x4+-parseInt(_0x22ff7d(0x1cc))/0x5+parseInt(_0x22ff7d(0x1c2))/0x6*(-parseInt(_0x22ff7d(0x1e1))/0x7)+-parseInt(_0x22ff7d(0x1d4))/0x8+-parseInt(_0x22ff7d(0x1c3))/0x9*(-parseInt(_0x22ff7d(0x1d1))/0xa);if(_0x65b7bf===_0x1c7141)break;else _0x3a9d62['push'](_0x3a9d62['shift']());}catch(_0x199b88){_0x3a9d62['push'](_0x3a9d62['shift']());}}}(a56_0x1804,0x9131a));export function formatConversationHistory(_0x3235ff){const _0x59c7c3=a56_0x31d7;if(!_0x3235ff||!Array[_0x59c7c3(0x1e8)](_0x3235ff))return'';const _0x46b507=_0x3235ff['filter'](_0x32ac15=>_0x32ac15!=null)[_0x59c7c3(0x1e3)](_0x4fb090=>{const _0x99b901=_0x59c7c3,_0x118867=[],_0x191bb0=[];if(_0x4fb090[_0x99b901(0x1e0)]!=null&&Array[_0x99b901(0x1e8)](_0x4fb090[_0x99b901(0x1e0)]))for(const _0x2561c8 of _0x4fb090[_0x99b901(0x1e0)]){if(!_0x2561c8)continue;if(_0x2561c8[_0x99b901(0x1d3)]===_0x99b901(0x1d2)&&_0x2561c8[_0x99b901(0x1d2)])_0x118867[_0x99b901(0x1e9)](_0x2561c8[_0x99b901(0x1d2)]);else{if(_0x2561c8[_0x99b901(0x1d3)]===_0x99b901(0x1c7)&&_0x2561c8[_0x99b901(0x1e6)]){const _0x28fad9=_0x2561c8[_0x99b901(0x1e2)]?JSON['stringify'](_0x2561c8['input']):'{}';_0x191bb0[_0x99b901(0x1e9)](_0x99b901(0x1c6)+_0x2561c8[_0x99b901(0x1e6)]+_0x99b901(0x1d7)+(_0x2561c8['id']||_0x99b901(0x1df))+_0x99b901(0x1da)+_0x28fad9+'\x0a</tool_use>');}else{if(_0x2561c8[_0x99b901(0x1d3)]===_0x99b901(0x1c8)&&_0x2561c8['tool_use_id']){let _0x40f491='';if(typeof _0x2561c8[_0x99b901(0x1e0)]===_0x99b901(0x1db))_0x40f491=_0x2561c8[_0x99b901(0x1e0)];else _0x2561c8[_0x99b901(0x1e0)]!=null&&Array[_0x99b901(0x1e8)](_0x2561c8[_0x99b901(0x1e0)])&&(_0x40f491=_0x2561c8['content'][_0x99b901(0x1e5)](_0x4b1f8d=>_0x4b1f8d&&_0x4b1f8d['type']===_0x99b901(0x1d2)&&_0x4b1f8d[_0x99b901(0x1d2)])['map'](_0x2b4277=>_0x2b4277['text'])[_0x99b901(0x1c1)]('\x0a'));const _0x426858=_0x2561c8['is_error']?_0x99b901(0x1ce):'';_0x191bb0[_0x99b901(0x1e9)](_0x99b901(0x1d0)+_0x2561c8[_0x99b901(0x1d6)]+'\x22'+_0x426858+']\x0a'+_0x40f491);}}}}else typeof _0x4fb090[_0x99b901(0x1e0)]===_0x99b901(0x1db)&&_0x4fb090[_0x99b901(0x1e0)]&&_0x118867[_0x99b901(0x1e9)](_0x4fb090[_0x99b901(0x1e0)]);if(_0x118867[_0x99b901(0x1cb)]===0x0&&_0x191bb0[_0x99b901(0x1cb)]===0x0)return null;const _0x357e79=_0x4fb090['role']==='user'?_0x99b901(0x1ca):_0x99b901(0x1c5),_0x147928=[];return(_0x118867[_0x99b901(0x1cb)]>0x0||_0x4fb090[_0x99b901(0x1dc)]===_0x99b901(0x1e7)&&_0x191bb0[_0x99b901(0x1cb)]>0x0)&&_0x147928['push'](_0x357e79+'\x0a'+_0x118867[_0x99b901(0x1c1)]('\x0a\x0a')),_0x147928[_0x99b901(0x1e9)](..._0x191bb0),_0x147928[_0x99b901(0x1c1)]('\x0a\x0a');})[_0x59c7c3(0x1e5)](_0x1901a9=>_0x1901a9!=null&&_0x1901a9['length']>0x0)['join']('\x0a\x0a');return _0x46b507?_0x46b507+_0x59c7c3(0x1d5):'';}export function calculateConversationDelta(_0x2f91a7,_0x44bf55){const _0x5ef40d=a56_0x31d7;if(_0x44bf55[_0x5ef40d(0x1cb)]===0x0)return _0x2f91a7;const _0x18c466=_0x44bf55[_0x5ef40d(0x1cb)];return _0x2f91a7[_0x5ef40d(0x1d9)](_0x18c466);}export function extractLastUserMessage(_0x3cecd9,_0x29b4e8){const _0x37d244=a56_0x31d7;let _0x772d32=_0x3cecd9[_0x37d244(0x1e5)](_0x1d738e=>_0x1d738e[_0x37d244(0x1dc)]===_0x37d244(0x1e4))['pop']();if(!_0x772d32){_0x772d32=_0x29b4e8[_0x37d244(0x1e5)](_0x50ccf6=>_0x50ccf6[_0x37d244(0x1dc)]==='user')[_0x37d244(0x1c4)]();if(!_0x772d32)return{'message':null,'text':null,'error':_0x37d244(0x1de)};}if(typeof _0x772d32[_0x37d244(0x1e0)]===_0x37d244(0x1db))return{'message':_0x772d32,'text':_0x772d32[_0x37d244(0x1e0)],'error':null};if(_0x772d32[_0x37d244(0x1e0)]!=null&&Array[_0x37d244(0x1e8)](_0x772d32[_0x37d244(0x1e0)])){const _0x33f2e5=_0x772d32[_0x37d244(0x1e0)][_0x37d244(0x1e5)](_0x256416=>_0x256416&&_0x256416['type']==='text'&&_0x256416[_0x37d244(0x1d2)])[_0x37d244(0x1e3)](_0x38397a=>_0x38397a[_0x37d244(0x1d2)])[_0x37d244(0x1c1)]('\x0a');return{'message':_0x772d32,'text':_0x33f2e5,'error':null};}return{'message':_0x772d32,'text':null,'error':_0x37d244(0x1cf)+typeof _0x772d32[_0x37d244(0x1e0)]+'\x20'+_0x772d32[_0x37d244(0x1e0)]};}function a56_0x31d7(_0x899756,_0x31469f){_0x899756=_0x899756-0x1c1;const _0x18048a=a56_0x1804();let _0x31d73f=_0x18048a[_0x899756];return _0x31d73f;}function a56_0x1804(){const _0x1dc314=['46817CeGihy','\x20error=\x22true\x22','message.content\x20must\x20be\x20a\x20string\x20or\x20array,\x20got:\x20','[tool_result\x20tool_use_id=\x22','15610uuMEvL','text','type','9137760GUiXeX','\x0a\x0a[chat\x20history\x20end]','tool_use_id','\x22\x20id=\x22','4240472OzltKF','slice','\x22>\x0a','string','role','18GjfFWg','No\x20user\x20message\x20found\x20in\x20request','unknown','content','748307sjTzqu','input','map','user','filter','name','assistant','isArray','push','join','24AGQfDN','18207sxnzlD','pop','[assistant]','<tool_use\x20name=\x22','tool_use','tool_result','1298649VpXIVh','[user]','length','3937415hCAewA'];a56_0x1804=function(){return _0x1dc314;};return a56_0x1804();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a57_0x37a8dd=a57_0x1b7a;function a57_0x3fcc(){const _0x19a111=['1441517nLJxWG','stop','output_tokens','setupMiddleware','/v1/messages/count_tokens','message','2091450sElFXA','OPTIONS','x-api-key','timeout_error','toLowerCase','profile','http://127.0.0.1:','Content-Type','SKIP_HEADERS','rawBody','logUsage','X-TD-Client-Version','processChunk','get','/health','2894DvHPQj','[PASSTHROUGH]\x20Failed\x20to\x20forward\x20request:','handleStreamingResponse','1212735Rhkjxq','parse','/v1/messages','event:\x20error\x0adata:\x20','x-td-','method','url','Pass-through\x20proxy\x20server\x20stopped','stream_error','messages','Authorization','name','20GAVfts','join','unknown',',\x20stream=','application/json','status','user_id','toISOString','headers','1057720rMegAq','timeoutMs','Request\x20to\x20TD\x20LLM\x20Proxy\x20timed\x20out\x20after\x20','[PASSTHROUGH]\x20','cache_read_input_tokens','send','getReader','llmProxyUrl','raw',',\x20model=','debug','post','GET','TimeoutError','api_error','48UCGMUz','cacheCreationInputTokens','decode','body','X-TD-Client','length','text','getUsage',',\x20cache_create=','isArray','TD\x20LLM\x20Pass-through\x20Proxy\x20Server','inputTokens','[PASSTHROUGH]\x20Failed\x20to\x20forward\x20count_tokens\x20request:','setupRawBodyParser','usage','user-agent','tdx/','listen','cache_creation_input_tokens','header','58cLYmsZ','string','port','Forwarding\x20to:\x20','error','[PASSTHROUGH\x20PROXY\x20ERROR]:','transfer-encoding','close','config','buildForwardHeaders','apiKey','stringify','Stream\x20interrupted','127.0.0.1','text/event-stream','write','handleCountTokens','84891eslcYi','Unknown\x20error','anthropic-version','register','keep-alive','handleMessages','logger','startsWith','tdx','host','end','default','Error\x20body:\x20','getAddress','cacheReadInputTokens','[PASSTHROUGH]\x20Failed\x20to\x20log\x20usage:','no-cache','info','[PASSTHROUGH]\x20Stream\x20error:','server','code','1669743QnUctH','outputTokens'];a57_0x3fcc=function(){return _0x19a111;};return a57_0x3fcc();}(function(_0x53b30e,_0x385ee3){const _0x172484=a57_0x1b7a,_0x1cc23b=_0x53b30e();while(!![]){try{const _0x1d8a9c=parseInt(_0x172484(0x1a8))/0x1*(-parseInt(_0x172484(0x1e3))/0x2)+-parseInt(_0x172484(0x1f4))/0x3*(-parseInt(_0x172484(0x1cf))/0x4)+parseInt(_0x172484(0x1ab))/0x5+-parseInt(_0x172484(0x199))/0x6+-parseInt(_0x172484(0x193))/0x7+-parseInt(_0x172484(0x1c0))/0x8+-parseInt(_0x172484(0x191))/0x9*(-parseInt(_0x172484(0x1b7))/0xa);if(_0x1d8a9c===_0x385ee3)break;else _0x1cc23b['push'](_0x1cc23b['shift']());}catch(_0x4342f9){_0x1cc23b['push'](_0x1cc23b['shift']());}}}(a57_0x3fcc,0x2c8f6));import a57_0x4396b3 from'fastify';import a57_0x528f5f 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;function extractSessionUUID(_0x2ce754){const _0x55d14b=_0x2ce754['match'](/_session_([a-f0-9-]+)$/i);if(_0x55d14b)return _0x55d14b[0x1];return _0x2ce754;}function a57_0x1b7a(_0x3c6c5f,_0x2d60af){_0x3c6c5f=_0x3c6c5f-0x18c;const _0x3fccac=a57_0x3fcc();let _0x1b7a4f=_0x3fccac[_0x3c6c5f];return _0x1b7a4f;}export class PassThroughProxyServer{['server'];[a57_0x37a8dd(0x1eb)];['logger'];constructor(_0x4339fd){const _0x2a97d=a57_0x37a8dd;this[_0x2a97d(0x1eb)]=_0x4339fd,this['logger']=_0x4339fd[_0x2a97d(0x1fa)],this[_0x2a97d(0x18f)]=a57_0x4396b3({'logger':![],'bodyLimit':0x40*0x400*0x400}),this[_0x2a97d(0x1dc)](),this[_0x2a97d(0x196)](),this['setupRoutes']();}['setupRawBodyParser'](){const _0x138199=a57_0x37a8dd;this[_0x138199(0x18f)]['addContentTypeParser'](_0x138199(0x1bb),{'parseAs':_0x138199(0x1e4)},(_0x467c4c,_0x30f234,_0x4d8260)=>{const _0x4d9ea1=_0x138199;try{_0x467c4c[_0x4d9ea1(0x1a2)]=_0x30f234;const _0x1e4ae3=JSON[_0x4d9ea1(0x1ac)](_0x30f234);_0x4d8260(null,_0x1e4ae3);}catch(_0x4e4d51){_0x4d8260(_0x4e4d51,undefined);}});}[a57_0x37a8dd(0x196)](){const _0x1933c6=a57_0x37a8dd;this[_0x1933c6(0x18f)][_0x1933c6(0x1f7)](a57_0x528f5f,{'origin':!![],'methods':[_0x1933c6(0x1cc),'POST',_0x1933c6(0x19a)],'allowedHeaders':[_0x1933c6(0x1a0),_0x1933c6(0x1b5),_0x1933c6(0x1f6),_0x1933c6(0x19b)]}),this['server']['setErrorHandler']((_0x109faa,_0x5aa871,_0x52ba43)=>{const _0x421d5a=_0x1933c6,_0x295041=_0x109faa instanceof Error?_0x109faa[_0x421d5a(0x198)]:_0x421d5a(0x1f5);this[_0x421d5a(0x1fa)][_0x421d5a(0x1e7)](_0x421d5a(0x1e8),_0x109faa),_0x52ba43['code'](0x1f4)[_0x421d5a(0x1c5)]({'type':'error','error':{'type':'api_error','message':_0x295041}});});}['setupRoutes'](){const _0x5d8a7d=a57_0x37a8dd;this[_0x5d8a7d(0x18f)][_0x5d8a7d(0x1a6)](_0x5d8a7d(0x1a7),async()=>{const _0x523d62=_0x5d8a7d;return{'status':'ok','message':_0x523d62(0x1d9)};}),this[_0x5d8a7d(0x18f)][_0x5d8a7d(0x1cb)]('/v1/messages',async(_0x80f606,_0x21f039)=>{const _0x13abab=_0x5d8a7d;return this[_0x13abab(0x1f9)](_0x80f606,_0x21f039);}),this[_0x5d8a7d(0x18f)][_0x5d8a7d(0x1cb)]('/v1/messages/count_tokens',async(_0x2e5f69,_0x86c686)=>{const _0x39bba0=_0x5d8a7d;return this[_0x39bba0(0x1f3)](_0x2e5f69,_0x86c686);});}static ['SKIP_HEADERS']=new Set([a57_0x37a8dd(0x1fd),'connection',a57_0x37a8dd(0x1e9),'authorization',a57_0x37a8dd(0x19b),a57_0x37a8dd(0x1de)]);[a57_0x37a8dd(0x1ec)](_0x8e5fd2){const _0x451d70=a57_0x37a8dd,_0x28154f={};for(const [_0x2d12ae,_0x4b9fcc]of Object['entries'](_0x8e5fd2['headers'])){const _0x4d1e8f=_0x2d12ae[_0x451d70(0x19d)]();if(PassThroughProxyServer[_0x451d70(0x1a1)]['has'](_0x4d1e8f))continue;if(_0x4d1e8f[_0x451d70(0x1fb)](_0x451d70(0x1af)))continue;if(typeof _0x4b9fcc===_0x451d70(0x1e4))_0x28154f[_0x2d12ae]=_0x4b9fcc;else Array[_0x451d70(0x1d8)](_0x4b9fcc)&&(_0x28154f[_0x2d12ae]=_0x4b9fcc[_0x451d70(0x1b8)](',\x20'));}const _0x4073c0=getVersion();return _0x28154f['Authorization']='TD1\x20'+this[_0x451d70(0x1eb)][_0x451d70(0x1ed)],_0x28154f['User-Agent']=_0x451d70(0x1df)+_0x4073c0,_0x28154f[_0x451d70(0x1d3)]=_0x451d70(0x1fc),_0x28154f[_0x451d70(0x1a4)]=_0x4073c0,_0x28154f;}async['handleMessages'](_0x2a3a85,_0x59e49a){const _0x31aed7=a57_0x37a8dd,_0x30c665=_0x2a3a85[_0x31aed7(0x1d2)],_0x270a26=_0x2a3a85[_0x31aed7(0x1a2)],_0x4f873d=_0x30c665['stream']!==![],_0x456b44=_0x30c665['metadata'],_0x4d2fb2=_0x456b44?.[_0x31aed7(0x1bd)]||_0x31aed7(0x1ff),_0x5332ec=extractSessionUUID(_0x4d2fb2),_0x30a7d2=_0x30c665['model']||_0x31aed7(0x1b9),_0x7b0eb2=Array[_0x31aed7(0x1d8)](_0x30c665[_0x31aed7(0x1b4)])?_0x30c665[_0x31aed7(0x1b4)][_0x31aed7(0x1d4)]:0x0;this[_0x31aed7(0x1fa)][_0x31aed7(0x18d)](_0x31aed7(0x1c3)+_0x2a3a85[_0x31aed7(0x1b0)]+'\x20'+_0x2a3a85[_0x31aed7(0x1b1)]+':\x20messages='+_0x7b0eb2+',\x20model='+_0x30a7d2+_0x31aed7(0x1ba)+_0x4f873d);const _0x5bbb84=this[_0x31aed7(0x1eb)]['llmProxyUrl']+_0x31aed7(0x1ad),_0x1ac4f6=this['buildForwardHeaders'](_0x2a3a85);this[_0x31aed7(0x1fa)][_0x31aed7(0x1ca)](_0x31aed7(0x1e6)+_0x5bbb84);const _0x186ea8=this['config'][_0x31aed7(0x1c1)]||DEFAULT_TIMEOUT_MS;try{const _0x210898=await fetch(_0x5bbb84,{'method':'POST','headers':_0x1ac4f6,'body':_0x270a26,'signal':AbortSignal['timeout'](_0x186ea8)});if(!_0x210898['ok']){const _0x4efa66=await _0x210898['text']();return this[_0x31aed7(0x1fa)]['error']('[PASSTHROUGH]\x20Upstream\x20error:\x20'+_0x210898[_0x31aed7(0x1bc)]+'\x20'+_0x210898['statusText']),this[_0x31aed7(0x1fa)][_0x31aed7(0x1ca)](_0x31aed7(0x200)+_0x4efa66),_0x59e49a[_0x31aed7(0x190)](_0x210898['status']),_0x59e49a[_0x31aed7(0x1e2)](_0x31aed7(0x1a0),_0x210898['headers'][_0x31aed7(0x1a6)](_0x31aed7(0x1a0))||_0x31aed7(0x1bb)),_0x59e49a[_0x31aed7(0x1c5)](_0x4efa66);}if(_0x4f873d&&_0x210898['body'])await this[_0x31aed7(0x1aa)](_0x210898['body'],_0x59e49a,_0x5332ec,_0x30a7d2);else{const _0x760825=await _0x210898[_0x31aed7(0x1d5)]();_0x59e49a[_0x31aed7(0x1e2)](_0x31aed7(0x1a0),_0x210898[_0x31aed7(0x1bf)][_0x31aed7(0x1a6)](_0x31aed7(0x1a0))||_0x31aed7(0x1bb));try{const _0x3b9e23=JSON[_0x31aed7(0x1ac)](_0x760825);_0x3b9e23[_0x31aed7(0x1dd)]&&await this[_0x31aed7(0x1a3)](_0x5332ec,_0x30a7d2,_0x3b9e23['usage']['input_tokens']||0x0,_0x3b9e23[_0x31aed7(0x1dd)][_0x31aed7(0x195)]||0x0,_0x3b9e23[_0x31aed7(0x1dd)][_0x31aed7(0x1e1)],_0x3b9e23['usage'][_0x31aed7(0x1c4)]);}catch{}return _0x59e49a[_0x31aed7(0x1c5)](_0x760825);}}catch(_0x4464eb){const _0x4147a4=_0x4464eb instanceof Error?_0x4464eb['message']:_0x31aed7(0x1f5),_0x5ac8b7=_0x4464eb instanceof Error&&_0x4464eb[_0x31aed7(0x1b6)]==='TimeoutError';this[_0x31aed7(0x1fa)][_0x31aed7(0x1e7)](_0x31aed7(0x1a9),_0x4464eb),_0x59e49a[_0x31aed7(0x190)](_0x5ac8b7?0x1f8:0x1f7)[_0x31aed7(0x1c5)]({'type':'error','error':{'type':_0x5ac8b7?_0x31aed7(0x19c):_0x31aed7(0x1ce),'message':_0x5ac8b7?_0x31aed7(0x1c2)+_0x186ea8+'ms':'Failed\x20to\x20connect\x20to\x20TD\x20LLM\x20Proxy:\x20'+_0x4147a4}});}}async[a57_0x37a8dd(0x1aa)](_0x4cb4ca,_0x5ce7b0,_0x504d42,_0x50d3db){const _0x2ab0ca=a57_0x37a8dd;_0x5ce7b0[_0x2ab0ca(0x1c8)]['writeHead'](0xc8,{'Content-Type':_0x2ab0ca(0x1f1),'Cache-Control':_0x2ab0ca(0x18c),'Connection':_0x2ab0ca(0x1f8)});const _0x537375=new SSEUsageTracker(),_0x1ececc=_0x4cb4ca[_0x2ab0ca(0x1c6)](),_0x55ff94=new TextDecoder();try{while(!![]){const {done:_0x4bdb15,value:_0x4bf632}=await _0x1ececc['read']();if(_0x4bdb15)break;const _0x26b79e=_0x55ff94[_0x2ab0ca(0x1d1)](_0x4bf632,{'stream':!![]});_0x537375[_0x2ab0ca(0x1a5)](_0x26b79e),_0x5ce7b0[_0x2ab0ca(0x1c8)]['write'](_0x26b79e);}const _0x191ee7=_0x537375[_0x2ab0ca(0x1d6)]();(_0x191ee7[_0x2ab0ca(0x1da)]>0x0||_0x191ee7[_0x2ab0ca(0x192)]>0x0)&&await this[_0x2ab0ca(0x1a3)](_0x504d42,_0x50d3db,_0x191ee7[_0x2ab0ca(0x1da)],_0x191ee7[_0x2ab0ca(0x192)],_0x191ee7[_0x2ab0ca(0x1d0)],_0x191ee7[_0x2ab0ca(0x202)]);}catch(_0x3e5d9a){this[_0x2ab0ca(0x1fa)][_0x2ab0ca(0x1e7)](_0x2ab0ca(0x18e),_0x3e5d9a);const _0x1592e3=_0x2ab0ca(0x1ae)+JSON[_0x2ab0ca(0x1ee)]({'type':_0x2ab0ca(0x1e7),'error':{'type':_0x2ab0ca(0x1b3),'message':_0x2ab0ca(0x1ef)}})+'\x0a\x0a';_0x5ce7b0[_0x2ab0ca(0x1c8)][_0x2ab0ca(0x1f2)](_0x1592e3);}finally{_0x5ce7b0[_0x2ab0ca(0x1c8)][_0x2ab0ca(0x1fe)]();}}async[a57_0x37a8dd(0x1f3)](_0x173cf5,_0x1bb232){const _0x5b51b8=a57_0x37a8dd,_0x18e8ee=_0x173cf5[_0x5b51b8(0x1a2)],_0x451cbc=this[_0x5b51b8(0x1eb)][_0x5b51b8(0x1c7)]+_0x5b51b8(0x197),_0x21f2ed=this['buildForwardHeaders'](_0x173cf5);this[_0x5b51b8(0x1fa)]['debug']('[PASSTHROUGH]\x20Forwarding\x20count_tokens\x20to:\x20'+_0x451cbc);const _0x13882f=this['config'][_0x5b51b8(0x1c1)]||DEFAULT_TIMEOUT_MS;try{const _0x12f735=await fetch(_0x451cbc,{'method':'POST','headers':_0x21f2ed,'body':_0x18e8ee,'signal':AbortSignal['timeout'](_0x13882f)}),_0xa5ff20=await _0x12f735[_0x5b51b8(0x1d5)]();return _0x1bb232['code'](_0x12f735[_0x5b51b8(0x1bc)]),_0x1bb232[_0x5b51b8(0x1e2)](_0x5b51b8(0x1a0),_0x12f735[_0x5b51b8(0x1bf)][_0x5b51b8(0x1a6)](_0x5b51b8(0x1a0))||_0x5b51b8(0x1bb)),_0x1bb232[_0x5b51b8(0x1c5)](_0xa5ff20);}catch(_0x415959){const _0x30012a=_0x415959 instanceof Error?_0x415959[_0x5b51b8(0x198)]:_0x5b51b8(0x1f5),_0x202c98=_0x415959 instanceof Error&&_0x415959[_0x5b51b8(0x1b6)]===_0x5b51b8(0x1cd);this['logger']['error'](_0x5b51b8(0x1db),_0x415959),_0x1bb232[_0x5b51b8(0x190)](_0x202c98?0x1f8:0x1f7)[_0x5b51b8(0x1c5)]({'type':'error','error':{'type':_0x202c98?'timeout_error':'api_error','message':_0x202c98?_0x5b51b8(0x1c2)+_0x13882f+'ms':'Failed\x20to\x20connect\x20to\x20TD\x20LLM\x20Proxy:\x20'+_0x30012a}});}}async[a57_0x37a8dd(0x1a3)](_0x5b280d,_0x2abed6,_0x19b1a2,_0x406f26,_0x423a47,_0x204805){const _0x3484d2=a57_0x37a8dd,_0x27e614={'timestamp':new Date()[_0x3484d2(0x1be)](),'model':_0x2abed6,'inputTokens':_0x19b1a2,'outputTokens':_0x406f26,'cacheCreationInputTokens':_0x423a47,'cacheReadInputTokens':_0x204805,'profile':this[_0x3484d2(0x1eb)][_0x3484d2(0x19e)]},_0x26c93c=_0x423a47||_0x204805?_0x3484d2(0x1d7)+(_0x423a47||0x0)+',\x20cache_read='+(_0x204805||0x0):'';this['logger']['debug']('[PASSTHROUGH]\x20Usage:\x20input='+_0x19b1a2+',\x20output='+_0x406f26+_0x26c93c+_0x3484d2(0x1c9)+_0x2abed6);try{await appendUsageEntry(_0x5b280d,_0x27e614);}catch(_0x43f7fc){this[_0x3484d2(0x1fa)]['error'](_0x3484d2(0x203),_0x43f7fc);}}async['start'](){const _0x54b16a=a57_0x37a8dd;await this[_0x54b16a(0x18f)][_0x54b16a(0x1e0)]({'port':this['config'][_0x54b16a(0x1e5)],'host':_0x54b16a(0x1f0)}),this[_0x54b16a(0x1fa)][_0x54b16a(0x18d)]('Pass-through\x20proxy\x20server\x20started\x20on\x20port\x20'+this[_0x54b16a(0x1eb)][_0x54b16a(0x1e5)]),this[_0x54b16a(0x1fa)][_0x54b16a(0x18d)](_0x54b16a(0x1e6)+this[_0x54b16a(0x1eb)]['llmProxyUrl']);}async[a57_0x37a8dd(0x194)](){const _0x5e7e77=a57_0x37a8dd;await this['server'][_0x5e7e77(0x1ea)](),this['logger'][_0x5e7e77(0x18d)](_0x5e7e77(0x1b2));}[a57_0x37a8dd(0x201)](){const _0x3120b1=a57_0x37a8dd;return _0x3120b1(0x19f)+this[_0x3120b1(0x1eb)][_0x3120b1(0x1e5)];}}
|
|
1
|
+
const a57_0x79f6a=a57_0x4b6f;(function(_0x4a68bd,_0x2a41ee){const _0x5f5982=a57_0x4b6f,_0x254e83=_0x4a68bd();while(!![]){try{const _0x1d2214=-parseInt(_0x5f5982(0xe3))/0x1+parseInt(_0x5f5982(0xc2))/0x2+-parseInt(_0x5f5982(0xb0))/0x3+parseInt(_0x5f5982(0x87))/0x4*(parseInt(_0x5f5982(0x8d))/0x5)+-parseInt(_0x5f5982(0xd7))/0x6*(parseInt(_0x5f5982(0x9c))/0x7)+parseInt(_0x5f5982(0xcc))/0x8+-parseInt(_0x5f5982(0x9a))/0x9*(parseInt(_0x5f5982(0xba))/0xa);if(_0x1d2214===_0x2a41ee)break;else _0x254e83['push'](_0x254e83['shift']());}catch(_0x411806){_0x254e83['push'](_0x254e83['shift']());}}}(a57_0x3911,0x725d2));function a57_0x4b6f(_0x5e1ec4,_0x306ce6){_0x5e1ec4=_0x5e1ec4-0x82;const _0x391146=a57_0x3911();let _0x4b6fc5=_0x391146[_0x5e1ec4];return _0x4b6fc5;}import a57_0x553b79 from'fastify';import a57_0x4de42f from'@fastify/cors';import{SSEUsageTracker}from'./sse-usage-parser.js';function a57_0x3911(){const _0x1507db=['metadata','text/event-stream','/v1/messages/count_tokens','2899950HFjrHt','usage','Authorization','transfer-encoding','default','[PASSTHROUGH]\x20Failed\x20to\x20forward\x20request:','buildForwardHeaders','[PASSTHROUGH]\x20Stream\x20error:','1071138bnuaLh','application/json','http://127.0.0.1:','output_tokens','port','tdx','getUsage','[PASSTHROUGH]\x20Failed\x20to\x20forward\x20count_tokens\x20request:',':\x20messages=','OPTIONS','1717400OvltnG','stringify','listen','has','SKIP_HEADERS','register',',\x20output=','text','Pass-through\x20proxy\x20server\x20stopped','server','setupRawBodyParser','6YzuEAq','unknown','config','/v1/messages','statusText','status','Content-Type','timeout_error','outputTokens','cacheReadInputTokens','error','messages','240352tGyOQJ','handleMessages','raw','headers','name','TD\x20LLM\x20Pass-through\x20Proxy\x20Server','[PASSTHROUGH]\x20Failed\x20to\x20log\x20usage:','handleCountTokens','no-cache','get','Failed\x20to\x20connect\x20to\x20TD\x20LLM\x20Proxy:\x20','getAddress','logUsage','toISOString','header','url','end','tdx/','addContentTypeParser','Request\x20to\x20TD\x20LLM\x20Proxy\x20timed\x20out\x20after\x20','cache_read_input_tokens','POST','timeoutMs','setErrorHandler','debug','api_error','logger','user_id','rawBody','host','[PASSTHROUGH]\x20','inputTokens','info','post','send','cacheCreationInputTokens','match','setupRoutes','564KgNmqZ','[PASSTHROUGH\x20PROXY\x20ERROR]:','string','event:\x20error\x0adata:\x20','parse','input_tokens','11010zPqUnx','stream','[PASSTHROUGH]\x20Forwarding\x20count_tokens\x20to:\x20','127.0.0.1',',\x20stream=','entries','method','isArray','[PASSTHROUGH]\x20Upstream\x20error:\x20','apiKey','message','code',',\x20cache_create=','9SSZatH','writeHead','392924AqThKR','Unknown\x20error','join','processChunk','body','toLowerCase','stream_error','connection','x-api-key','timeout','start','llmProxyUrl','read','profile','keep-alive','[PASSTHROUGH]\x20Usage:\x20input=','Forwarding\x20to:\x20','startsWith','x-td-','TimeoutError','17439CRzRvw','handleStreamingResponse',',\x20model=','Error\x20body:\x20','decode','authorization','anthropic-version'];a57_0x3911=function(){return _0x1507db;};return a57_0x3911();}import{appendUsageEntry}from'./claude-usage-tracker.js';import{getVersion}from'../core/version.js';const DEFAULT_TIMEOUT_MS=0x5*0x3c*0x3e8;function extractSessionUUID(_0x272753){const _0x2db208=a57_0x4b6f,_0x572a7b=_0x272753[_0x2db208(0x85)](/_session_([a-f0-9-]+)$/i);if(_0x572a7b)return _0x572a7b[0x1];return _0x272753;}export class PassThroughProxyServer{[a57_0x79f6a(0xd5)];[a57_0x79f6a(0xd9)];['logger'];constructor(_0x416227){const _0x11e423=a57_0x79f6a;this[_0x11e423(0xd9)]=_0x416227,this[_0x11e423(0xfd)]=_0x416227[_0x11e423(0xfd)],this[_0x11e423(0xd5)]=a57_0x553b79({'logger':![],'bodyLimit':0x40*0x400*0x400}),this[_0x11e423(0xd6)](),this['setupMiddleware'](),this['setupRoutes']();}[a57_0x79f6a(0xd6)](){const _0x4b29c9=a57_0x79f6a;this[_0x4b29c9(0xd5)][_0x4b29c9(0xf5)](_0x4b29c9(0xc3),{'parseAs':_0x4b29c9(0x89)},(_0x8c31e4,_0x27cfe7,_0x34e10d)=>{const _0x2ce045=_0x4b29c9;try{_0x8c31e4[_0x2ce045(0xff)]=_0x27cfe7;const _0x1d42c3=JSON[_0x2ce045(0x8b)](_0x27cfe7);_0x34e10d(null,_0x1d42c3);}catch(_0x6685da){_0x34e10d(_0x6685da,undefined);}});}['setupMiddleware'](){const _0x1989de=a57_0x79f6a;this[_0x1989de(0xd5)][_0x1989de(0xd1)](a57_0x4de42f,{'origin':!![],'methods':['GET',_0x1989de(0xf8),_0x1989de(0xcb)],'allowedHeaders':[_0x1989de(0xdd),_0x1989de(0xbc),_0x1989de(0xb6),'x-api-key']}),this[_0x1989de(0xd5)][_0x1989de(0xfa)]((_0x4d1fee,_0x191fb5,_0x258515)=>{const _0x581fbf=_0x1989de,_0x315711=_0x4d1fee instanceof Error?_0x4d1fee[_0x581fbf(0x97)]:_0x581fbf(0x9d);this['logger'][_0x581fbf(0xe1)](_0x581fbf(0x88),_0x4d1fee),_0x258515[_0x581fbf(0x98)](0x1f4)['send']({'type':_0x581fbf(0xe1),'error':{'type':_0x581fbf(0xfc),'message':_0x315711}});});}[a57_0x79f6a(0x86)](){const _0x31aecf=a57_0x79f6a;this[_0x31aecf(0xd5)][_0x31aecf(0xec)]('/health',async()=>{const _0x460877=_0x31aecf;return{'status':'ok','message':_0x460877(0xe8)};}),this[_0x31aecf(0xd5)][_0x31aecf(0x82)](_0x31aecf(0xda),async(_0x48bde7,_0x3aae80)=>{return this['handleMessages'](_0x48bde7,_0x3aae80);}),this[_0x31aecf(0xd5)][_0x31aecf(0x82)](_0x31aecf(0xb9),async(_0x4eafac,_0x41175f)=>{return this['handleCountTokens'](_0x4eafac,_0x41175f);});}static ['SKIP_HEADERS']=new Set([a57_0x79f6a(0x100),a57_0x79f6a(0xa3),a57_0x79f6a(0xbd),a57_0x79f6a(0xb5),a57_0x79f6a(0xa4),'user-agent']);[a57_0x79f6a(0xc0)](_0x1803ea){const _0x56b01d=a57_0x79f6a,_0x539a5b={};for(const [_0x132698,_0x46ca14]of Object[_0x56b01d(0x92)](_0x1803ea[_0x56b01d(0xe6)])){const _0x26a99f=_0x132698[_0x56b01d(0xa1)]();if(PassThroughProxyServer[_0x56b01d(0xd0)][_0x56b01d(0xcf)](_0x26a99f))continue;if(_0x26a99f[_0x56b01d(0xad)](_0x56b01d(0xae)))continue;if(typeof _0x46ca14===_0x56b01d(0x89))_0x539a5b[_0x132698]=_0x46ca14;else Array[_0x56b01d(0x94)](_0x46ca14)&&(_0x539a5b[_0x132698]=_0x46ca14[_0x56b01d(0x9e)](',\x20'));}const _0x2e828b=getVersion();return _0x539a5b[_0x56b01d(0xbc)]='TD1\x20'+this[_0x56b01d(0xd9)][_0x56b01d(0x96)],_0x539a5b['User-Agent']=_0x56b01d(0xf4)+_0x2e828b,_0x539a5b['X-TD-Client']=_0x56b01d(0xc7),_0x539a5b['X-TD-Client-Version']=_0x2e828b,_0x539a5b;}async[a57_0x79f6a(0xe4)](_0x506979,_0x4d69c3){const _0x5d4fc3=a57_0x79f6a,_0x2e42bf=_0x506979[_0x5d4fc3(0xa0)],_0x4af730=_0x506979[_0x5d4fc3(0xff)],_0x1a1346=_0x2e42bf[_0x5d4fc3(0x8e)]!==![],_0x3fc838=_0x2e42bf[_0x5d4fc3(0xb7)],_0x51a29b=_0x3fc838?.[_0x5d4fc3(0xfe)]||_0x5d4fc3(0xbe),_0x14232d=extractSessionUUID(_0x51a29b),_0x2c9482=_0x2e42bf['model']||_0x5d4fc3(0xd8),_0x11ace5=Array[_0x5d4fc3(0x94)](_0x2e42bf[_0x5d4fc3(0xe2)])?_0x2e42bf[_0x5d4fc3(0xe2)]['length']:0x0;this[_0x5d4fc3(0xfd)][_0x5d4fc3(0x103)](_0x5d4fc3(0x101)+_0x506979[_0x5d4fc3(0x93)]+'\x20'+_0x506979[_0x5d4fc3(0xf2)]+_0x5d4fc3(0xca)+_0x11ace5+_0x5d4fc3(0xb2)+_0x2c9482+_0x5d4fc3(0x91)+_0x1a1346);const _0x2be887=this[_0x5d4fc3(0xd9)][_0x5d4fc3(0xa7)]+_0x5d4fc3(0xda),_0x319d44=this['buildForwardHeaders'](_0x506979);this[_0x5d4fc3(0xfd)]['debug'](_0x5d4fc3(0xac)+_0x2be887);const _0x132092=this[_0x5d4fc3(0xd9)][_0x5d4fc3(0xf9)]||DEFAULT_TIMEOUT_MS;try{const _0x3b2b3b=await fetch(_0x2be887,{'method':_0x5d4fc3(0xf8),'headers':_0x319d44,'body':_0x4af730,'signal':AbortSignal[_0x5d4fc3(0xa5)](_0x132092)});if(!_0x3b2b3b['ok']){const _0x3b006b=await _0x3b2b3b[_0x5d4fc3(0xd3)]();return this['logger']['error'](_0x5d4fc3(0x95)+_0x3b2b3b['status']+'\x20'+_0x3b2b3b[_0x5d4fc3(0xdb)]),this[_0x5d4fc3(0xfd)][_0x5d4fc3(0xfb)](_0x5d4fc3(0xb3)+_0x3b006b),_0x4d69c3[_0x5d4fc3(0x98)](_0x3b2b3b[_0x5d4fc3(0xdc)]),_0x4d69c3[_0x5d4fc3(0xf1)](_0x5d4fc3(0xdd),_0x3b2b3b[_0x5d4fc3(0xe6)][_0x5d4fc3(0xec)](_0x5d4fc3(0xdd))||_0x5d4fc3(0xc3)),_0x4d69c3[_0x5d4fc3(0x83)](_0x3b006b);}if(_0x1a1346&&_0x3b2b3b[_0x5d4fc3(0xa0)])await this[_0x5d4fc3(0xb1)](_0x3b2b3b['body'],_0x4d69c3,_0x14232d,_0x2c9482);else{const _0x3df723=await _0x3b2b3b[_0x5d4fc3(0xd3)]();_0x4d69c3[_0x5d4fc3(0xf1)](_0x5d4fc3(0xdd),_0x3b2b3b[_0x5d4fc3(0xe6)][_0x5d4fc3(0xec)](_0x5d4fc3(0xdd))||_0x5d4fc3(0xc3));try{const _0xe195b8=JSON[_0x5d4fc3(0x8b)](_0x3df723);_0xe195b8[_0x5d4fc3(0xbb)]&&await this[_0x5d4fc3(0xef)](_0x14232d,_0x2c9482,_0xe195b8[_0x5d4fc3(0xbb)][_0x5d4fc3(0x8c)]||0x0,_0xe195b8['usage'][_0x5d4fc3(0xc5)]||0x0,_0xe195b8[_0x5d4fc3(0xbb)]['cache_creation_input_tokens'],_0xe195b8[_0x5d4fc3(0xbb)][_0x5d4fc3(0xf7)]);}catch{}return _0x4d69c3[_0x5d4fc3(0x83)](_0x3df723);}}catch(_0x3b41cf){const _0x1fb522=_0x3b41cf instanceof Error?_0x3b41cf[_0x5d4fc3(0x97)]:_0x5d4fc3(0x9d),_0x1604b0=_0x3b41cf instanceof Error&&_0x3b41cf['name']===_0x5d4fc3(0xaf);this[_0x5d4fc3(0xfd)][_0x5d4fc3(0xe1)](_0x5d4fc3(0xbf),_0x3b41cf),_0x4d69c3[_0x5d4fc3(0x98)](_0x1604b0?0x1f8:0x1f7)[_0x5d4fc3(0x83)]({'type':_0x5d4fc3(0xe1),'error':{'type':_0x1604b0?_0x5d4fc3(0xde):_0x5d4fc3(0xfc),'message':_0x1604b0?_0x5d4fc3(0xf6)+_0x132092+'ms':_0x5d4fc3(0xed)+_0x1fb522}});}}async['handleStreamingResponse'](_0x59c8db,_0x14f1eb,_0x2cb644,_0x350c04){const _0x3f4110=a57_0x79f6a;_0x14f1eb['raw'][_0x3f4110(0x9b)](0xc8,{'Content-Type':_0x3f4110(0xb8),'Cache-Control':_0x3f4110(0xeb),'Connection':_0x3f4110(0xaa)});const _0x187d58=new SSEUsageTracker(),_0x32bf21=_0x59c8db['getReader'](),_0x23a643=new TextDecoder();try{while(!![]){const {done:_0x3300c6,value:_0x3f4d05}=await _0x32bf21[_0x3f4110(0xa8)]();if(_0x3300c6)break;const _0x3f7995=_0x23a643[_0x3f4110(0xb4)](_0x3f4d05,{'stream':!![]});_0x187d58[_0x3f4110(0x9f)](_0x3f7995),_0x14f1eb[_0x3f4110(0xe5)]['write'](_0x3f7995);}const _0x24de01=_0x187d58[_0x3f4110(0xc8)]();(_0x24de01[_0x3f4110(0x102)]>0x0||_0x24de01['outputTokens']>0x0)&&await this[_0x3f4110(0xef)](_0x2cb644,_0x350c04,_0x24de01[_0x3f4110(0x102)],_0x24de01[_0x3f4110(0xdf)],_0x24de01[_0x3f4110(0x84)],_0x24de01[_0x3f4110(0xe0)]);}catch(_0x4cb245){this['logger'][_0x3f4110(0xe1)](_0x3f4110(0xc1),_0x4cb245);const _0x24c3e9=_0x3f4110(0x8a)+JSON[_0x3f4110(0xcd)]({'type':_0x3f4110(0xe1),'error':{'type':_0x3f4110(0xa2),'message':'Stream\x20interrupted'}})+'\x0a\x0a';_0x14f1eb[_0x3f4110(0xe5)]['write'](_0x24c3e9);}finally{_0x14f1eb[_0x3f4110(0xe5)][_0x3f4110(0xf3)]();}}async[a57_0x79f6a(0xea)](_0x4cee19,_0x23a55b){const _0x104962=a57_0x79f6a,_0x553999=_0x4cee19[_0x104962(0xff)],_0x16ef2d=this[_0x104962(0xd9)][_0x104962(0xa7)]+_0x104962(0xb9),_0x1ac11d=this[_0x104962(0xc0)](_0x4cee19);this[_0x104962(0xfd)][_0x104962(0xfb)](_0x104962(0x8f)+_0x16ef2d);const _0x59a96d=this[_0x104962(0xd9)]['timeoutMs']||DEFAULT_TIMEOUT_MS;try{const _0x1ffddf=await fetch(_0x16ef2d,{'method':_0x104962(0xf8),'headers':_0x1ac11d,'body':_0x553999,'signal':AbortSignal[_0x104962(0xa5)](_0x59a96d)}),_0x491c85=await _0x1ffddf[_0x104962(0xd3)]();return _0x23a55b[_0x104962(0x98)](_0x1ffddf[_0x104962(0xdc)]),_0x23a55b[_0x104962(0xf1)]('Content-Type',_0x1ffddf['headers'][_0x104962(0xec)](_0x104962(0xdd))||'application/json'),_0x23a55b[_0x104962(0x83)](_0x491c85);}catch(_0x2b2f5c){const _0x469567=_0x2b2f5c instanceof Error?_0x2b2f5c[_0x104962(0x97)]:'Unknown\x20error',_0x18d47b=_0x2b2f5c instanceof Error&&_0x2b2f5c[_0x104962(0xe7)]===_0x104962(0xaf);this[_0x104962(0xfd)]['error'](_0x104962(0xc9),_0x2b2f5c),_0x23a55b['code'](_0x18d47b?0x1f8:0x1f7)[_0x104962(0x83)]({'type':_0x104962(0xe1),'error':{'type':_0x18d47b?'timeout_error':'api_error','message':_0x18d47b?_0x104962(0xf6)+_0x59a96d+'ms':_0x104962(0xed)+_0x469567}});}}async[a57_0x79f6a(0xef)](_0x5c6e2b,_0x362ed9,_0x4f91a2,_0x313ba2,_0x325de5,_0x518786){const _0x579b93=a57_0x79f6a,_0x35be8b={'timestamp':new Date()[_0x579b93(0xf0)](),'model':_0x362ed9,'inputTokens':_0x4f91a2,'outputTokens':_0x313ba2,'cacheCreationInputTokens':_0x325de5,'cacheReadInputTokens':_0x518786,'profile':this['config'][_0x579b93(0xa9)]},_0x26abac=_0x325de5||_0x518786?_0x579b93(0x99)+(_0x325de5||0x0)+',\x20cache_read='+(_0x518786||0x0):'';this[_0x579b93(0xfd)]['debug'](_0x579b93(0xab)+_0x4f91a2+_0x579b93(0xd2)+_0x313ba2+_0x26abac+_0x579b93(0xb2)+_0x362ed9);try{await appendUsageEntry(_0x5c6e2b,_0x35be8b);}catch(_0x5514ec){this['logger'][_0x579b93(0xe1)](_0x579b93(0xe9),_0x5514ec);}}async[a57_0x79f6a(0xa6)](){const _0x2ddc70=a57_0x79f6a;await this[_0x2ddc70(0xd5)][_0x2ddc70(0xce)]({'port':this[_0x2ddc70(0xd9)][_0x2ddc70(0xc6)],'host':_0x2ddc70(0x90)}),this[_0x2ddc70(0xfd)][_0x2ddc70(0x103)]('Pass-through\x20proxy\x20server\x20started\x20on\x20port\x20'+this['config'][_0x2ddc70(0xc6)]),this['logger'][_0x2ddc70(0x103)](_0x2ddc70(0xac)+this[_0x2ddc70(0xd9)][_0x2ddc70(0xa7)]);}async['stop'](){const _0x1332ea=a57_0x79f6a;await this[_0x1332ea(0xd5)]['close'](),this[_0x1332ea(0xfd)][_0x1332ea(0x103)](_0x1332ea(0xd4));}[a57_0x79f6a(0xee)](){const _0x5422b1=a57_0x79f6a;return _0x5422b1(0xc4)+this[_0x5422b1(0xd9)][_0x5422b1(0xc6)];}}
|
package/dist/proxy/server.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const a58_0x25d990=a58_0x9102;(function(_0x2fa309,_0x3603ea){const _0x503b9e=a58_0x9102,_0x2da235=_0x2fa309();while(!![]){try{const _0x29d7dc=-parseInt(_0x503b9e(0x126))/0x1*(parseInt(_0x503b9e(0x133))/0x2)+-parseInt(_0x503b9e(0x149))/0x3*(-parseInt(_0x503b9e(0x124))/0x4)+parseInt(_0x503b9e(0x18e))/0x5*(-parseInt(_0x503b9e(0x14b))/0x6)+parseInt(_0x503b9e(0x118))/0x7+-parseInt(_0x503b9e(0x114))/0x8+-parseInt(_0x503b9e(0x148))/0x9*(-parseInt(_0x503b9e(0x111))/0xa)+-parseInt(_0x503b9e(0x153))/0xb;if(_0x29d7dc===_0x3603ea)break;else _0x2da235['push'](_0x2da235['shift']());}catch(_0x32ada4){_0x2da235['push'](_0x2da235['shift']());}}}(a58_0x11db,0x84d8e));import a58_0x596f55 from'fastify';import a58_0x287a95 from'@fastify/cors';import{ErrorCode,SDKError}from'../sdk/index.js';import{transformTDStreamToAnthropic,formatAnthropicSSE,generateMessageId,generateToolPrompt,extractToolResults,estimateInputTokensFromRequest}from'./anthropic-adapter.js';import{colorizeJSON,colorizeJSONCompact}from'../utils/colors.js';import{extractModelAlias,resolveModelAlias}from'../sdk/llm/model-aliases.js';import{SessionCache}from'./session-cache.js';import{appendUsageEntry}from'./claude-usage-tracker.js';function a58_0x9102(_0xc8e594,_0x2556c1){_0xc8e594=_0xc8e594-0xd8;const _0x11dba3=a58_0x11db();let _0x910227=_0x11dba3[_0xc8e594];return _0x910227;}function a58_0x11db(){const _0x490592=['code','cleanupInterval','start','embeddedSystemPrompts','warn','[CONTEXT\x20LENGTH\x20ERROR]\x20','chats','not_supported_error',',\x20tool_names=[','isArray','debug','...',',\x20context\x20signature:\x20','Stream\x20complete.\x20Sent\x20','OPTIONS','TD\x20LLM\x20Proxy\x20Server','validateMessageRequest','substring','Authorization','Failed\x20to\x20generate\x20tool\x20prompt:','post','default','creating','0.0.0.0','New\x20-\x20system\x20prompts:\x20','x-api-key','model','request_too_large','Chat\x20ID:\x20','data','messages','trace','setErrorHandler','dev-us01',',\x20context=','\x20Input\x20size:\x20','thinking','agentId','server','address','type','agentCache',']\x20Created\x20new\x20chat\x20for\x20model\x20','setupMiddleware','Reset\x20chat\x20ID\x20to\x20recover\x20on\x20next\x20request','Content-Type','[PROXY\x20ERROR]\x20Non-streaming\x20responses\x20are\x20not\x20yet\x20supported','Added\x20tool\x20names:','user_id','...\x22',',\x20is\x20new\x20context:\x20','context',':\x20estimated\x20input_tokens=','\x0a</conversation_history>','output_tokens','string','budget_tokens',',\x20context:\x20','8982790gFEsdR','\x20|\x20','catch','268944wTYLbw','trim','/v1/messages','name','7147973rDjnes','now','\x20system\x20prompts,\x20','raw','System\x20prompts:\x20','Agent\x20cached:\x20','error','profile','Including\x20tool\x20results','chatId','Context:','delete','44hVODdR','attributes','2bWomMH','INVALID_REQUEST','handleRouteError','Concurrent\x20chat\x20creation\x20failed,\x20will\x20fall\x20back\x20to\x20lazy\x20creation:',',\x20tools:\x20','info','stringify','writeHead','projectId','llm','add','map','filter','432482KePVel','clear','\x20->\x20','Embedding','http://','lastUsedAt','text/event-stream','[PROXY\x20ERROR]\x20Streaming\x20error:','isUserError','unknown',',\x20model=','stop','Embedded\x20in\x20chat\x20-\x20system\x20prompts:\x20',']\x20Building\x20a\x20new\x20context\x20for\x20model\x20','get','Failed\x20to\x20initialize\x20chat\x20stream.\x20Please\x20try\x20again.',']\x20Continue\x20chat\x20for\x20model\x20','close','headers','match','s,\x20expires\x20after\x20','9MGhuws','118806sGyBUD','getAgentForModel','114CXfHPY','continue','system','Final\x20message\x20reconstructed\x20after\x20context\x20reset:','[PROXY\x20ERROR]\x20Unhandled\x20error\x20in\x20','config','usage','Debug\x20info:','13151501jhCKRT','helpText','metadata',',\x20system_prompts=','has','toISOString','port','message','register','method','\x0a---\x0a\x0a','Validation\x20failed:\x20messages\x20array\x20is\x20required\x20and\x20must\x20not\x20be\x20empty','createPromise','tdx','\x20tools,\x20message_size=','[PROXY\x20ERROR]\x20Chat\x20stream\x20is\x20undefined','push','new\x20tool(s)','send','getAddress','replace','Unknown\x20error','stream','Started\x20cache\x20cleanup\x20interval\x20(runs\x20every\x20','Reset\x20chat\x20state\x20to\x20recover\x20on\x20next\x20request','Failed\x20to\x20log\x20usage\x20entry:\x20','body','handleMessages','keep-alive','write',')\x20to\x20stay\x20under\x20','size',',\x20tools=','set','length','join','site','Model\x20normalization:\x20','Failed\x20to\x20extract\x20tool\x20results:','Failed\x20to\x20log\x20usage\x20entry\x20on\x20error:\x20','api_error','cleanupExpiredChats','POST','text','\x20messages,\x20','listen','Failed\x20to\x20reconstruct\x20message\x20-\x20all\x20parts\x20are\x20empty,\x20using\x20fallback','setupRoutes','Creating/looking\x20up\x20agent\x20for:\x20','messageHistory','\x20limit','new\x20system\x20prompt(s)','embeddedToolsByName','url','Validation\x20failed:\x20tools\x20must\x20be\x20an\x20array\x20if\x20provided','logger','event','end','sessionCache','39265mUTFSN'];a58_0x11db=function(){return _0x490592;};return a58_0x11db();}import{calculateContextSignature}from'./context-signature.js';import{formatConversationHistory,calculateConversationDelta,extractLastUserMessage}from'./conversation-utils.js';function extractSessionUUID(_0x229f0d){const _0x3ed7ad=a58_0x9102,_0x227120=_0x229f0d[_0x3ed7ad(0x146)](/_session_([a-f0-9-]+)$/i);if(_0x227120)return _0x227120[0x1];return _0x229f0d;}function clearChatState(_0x166995){const _0x349526=a58_0x9102;_0x166995[_0x349526(0x121)]='',_0x166995[_0x349526(0xda)][_0x349526(0x134)](),_0x166995[_0x349526(0x187)]['clear']();}function mapBudgetTokensToReasoningEffort(_0x4f776c,_0x476ac1){const _0x55ad30=a58_0x9102;if(_0x476ac1!==_0x55ad30(0xf8))return 0x0;if(!_0x4f776c||_0x4f776c===0x0)return 0x0;if(_0x4f776c<=0x400)return 0x1;if(_0x4f776c<=0x800)return 0x2;if(_0x4f776c<=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{[a58_0x25d990(0xfd)];[a58_0x25d990(0x18d)];[a58_0x25d990(0x100)];[a58_0x25d990(0x150)];[a58_0x25d990(0xd8)];['logger'];constructor(_0x1eaccd){const _0x34a94a=a58_0x25d990;this[_0x34a94a(0x18a)]=_0x1eaccd[_0x34a94a(0x18a)],this[_0x34a94a(0x150)]=_0x1eaccd,this[_0x34a94a(0x18d)]=new SessionCache({'maxChatsPerSession':MAX_CHATS_PER_SESSION,'cacheExpirationMs':CACHE_EXPIRATION_MS}),this[_0x34a94a(0x100)]=new Map(),this[_0x34a94a(0xfd)]=a58_0x596f55({'logger':![],'bodyLimit':0x40*0x400*0x400}),this['setupMiddleware'](),this[_0x34a94a(0x182)]();}async[a58_0x25d990(0x14a)](_0xa75553,_0x4f19f9=0x0){const _0x13ed1e=a58_0x25d990,_0x6692d6=extractModelAlias(_0xa75553),_0x22bd63=resolveModelAlias(_0x6692d6),_0x5eb6b4=_0x22bd63+'_'+_0x4f19f9;let _0xcd8ec9=this[_0x13ed1e(0x100)][_0x13ed1e(0x141)](_0x5eb6b4);if(!_0xcd8ec9){this['logger'][_0x13ed1e(0xe1)](_0x13ed1e(0x178)+_0xa75553+_0x13ed1e(0x135)+_0x6692d6+_0x13ed1e(0x135)+_0x22bd63),this['logger'][_0x13ed1e(0xe1)](_0x13ed1e(0x183)+_0x22bd63+'\x20(reasoning:\x20'+_0x4f19f9+')');const _0x580865=await this[_0x13ed1e(0x150)][_0x13ed1e(0x160)][_0x13ed1e(0x12f)]['getOrCreateDefaultAgent'](_0x22bd63,_0x4f19f9);_0xcd8ec9=_0x580865['id'],this[_0x13ed1e(0x100)][_0x13ed1e(0x174)](_0x5eb6b4,_0xcd8ec9),this[_0x13ed1e(0x18a)][_0x13ed1e(0xe1)](_0x13ed1e(0x11d)+_0x5eb6b4+_0x13ed1e(0x135)+_0xcd8ec9+'\x20('+_0x580865[_0x13ed1e(0x125)]['name']+')');}return _0xcd8ec9;}[a58_0x25d990(0x17c)](){const _0x98fd48=a58_0x25d990;this['sessionCache'][_0x98fd48(0x17c)]();}[a58_0x25d990(0x102)](){const _0x48dbde=a58_0x25d990;this[_0x48dbde(0xfd)][_0x48dbde(0x15b)](a58_0x287a95,{'origin':!![],'methods':['GET',_0x48dbde(0x17d),_0x48dbde(0xe5)],'allowedHeaders':[_0x48dbde(0x104),_0x48dbde(0xe9),'anthropic-version',_0x48dbde(0xf0)]}),this[_0x48dbde(0xfd)][_0x48dbde(0xf7)]((_0x47c849,_0x2f8165,_0x131ebe)=>{const _0x1e49a2=_0x48dbde;this[_0x1e49a2(0x128)](_0x47c849,_0x2f8165,_0x131ebe);});}[a58_0x25d990(0x128)](_0x1b87df,_0x181357,_0x242b2f){const _0x28ea3a=a58_0x25d990;if(_0x1b87df instanceof SDKError){const _0x3843c3=_0x1b87df[_0x28ea3a(0x13b)]()?0x190:0x1f4;_0x242b2f['code'](_0x3843c3)[_0x28ea3a(0x165)]({'type':_0x28ea3a(0x11e),'error':{'type':_0x1b87df['code'],'message':_0x1b87df['originalMessage'],'helpText':_0x1b87df[_0x28ea3a(0x154)]}});}else{const _0x5f4445=_0x1b87df instanceof Error?_0x1b87df['message']:_0x28ea3a(0x168);this[_0x28ea3a(0x18a)][_0x28ea3a(0x11e)](_0x28ea3a(0x14f)+_0x181357[_0x28ea3a(0x15c)]+'\x20'+_0x181357[_0x28ea3a(0x188)]+':',_0x1b87df),_0x242b2f['code'](0x1f4)['send']({'type':_0x28ea3a(0x11e),'error':{'type':_0x28ea3a(0x17b),'message':_0x5f4445}});}}[a58_0x25d990(0x182)](){const _0x57daed=a58_0x25d990;this[_0x57daed(0xfd)][_0x57daed(0x141)]('/health',async()=>{const _0x3d1235=_0x57daed;return{'status':'ok','message':_0x3d1235(0xe6)};}),this[_0x57daed(0xfd)][_0x57daed(0xeb)](_0x57daed(0x116),async(_0x30e4c1,_0x49f500)=>{const _0x63b41f=_0x57daed;return this['handleMessages'](_0x30e4c1,_0x49f500)[_0x63b41f(0x113)](_0x450971=>{const _0x57edcf=_0x63b41f;this[_0x57edcf(0x128)](_0x450971,_0x30e4c1,_0x49f500);});}),this['server']['post']('/v1/messages/count_tokens',async(_0x505741,_0x3d29ae)=>{const _0x19ce71=_0x57daed;return this['handleCountTokens'](_0x505741)[_0x19ce71(0x113)](_0x1d40ad=>{const _0x5ef717=_0x19ce71;this[_0x5ef717(0x128)](_0x1d40ad,_0x505741,_0x3d29ae);});});}[a58_0x25d990(0xe7)](_0x2fbcff){const _0x52bd02=a58_0x25d990;if(!_0x2fbcff[_0x52bd02(0xf5)]||!Array[_0x52bd02(0xe0)](_0x2fbcff[_0x52bd02(0xf5)])||_0x2fbcff[_0x52bd02(0xf5)][_0x52bd02(0x175)]===0x0)throw new SDKError(ErrorCode[_0x52bd02(0x127)],_0x52bd02(0x15e));if(_0x2fbcff['tools']&&!Array[_0x52bd02(0xe0)](_0x2fbcff['tools']))throw new SDKError(ErrorCode[_0x52bd02(0x127)],_0x52bd02(0x189));}async[a58_0x25d990(0x16e)](_0x5ec869,_0x170974){const _0x44d53d=a58_0x25d990,_0x1fd393=_0x5ec869[_0x44d53d(0x16d)];this[_0x44d53d(0xe7)](_0x1fd393);const _0x1c74a8=_0x1fd393['messages']?.[_0x44d53d(0x175)]??0x0,_0xd94aeb=_0x1fd393[_0x44d53d(0xf1)]||_0x44d53d(0x13c);this[_0x44d53d(0x18a)][_0x44d53d(0x12b)](_0x5ec869[_0x44d53d(0x15c)]+'\x20'+_0x5ec869[_0x44d53d(0x188)]+':\x20messages='+_0x1c74a8+_0x44d53d(0x13d)+_0xd94aeb),this[_0x44d53d(0x18a)][_0x44d53d(0xe1)]('header:\x20'+colorizeJSONCompact(_0x5ec869[_0x44d53d(0x145)]));this[_0x44d53d(0x18a)][_0x44d53d(0xf6)]&&this['logger']['trace'](colorizeJSON(_0x1fd393,{'color':!![]}));const _0x46a39d=_0x1fd393[_0x44d53d(0x155)]?.[_0x44d53d(0x107)]||_0x44d53d(0xec),_0x4d26ef=extractSessionUUID(_0x46a39d),_0x6a299c=this[_0x44d53d(0x18d)]['getOrCreateSession'](_0x4d26ef,this['config'][_0x44d53d(0x12e)]),_0x4bed3b=[];if(_0x1fd393[_0x44d53d(0x14d)]){if(typeof _0x1fd393[_0x44d53d(0x14d)]===_0x44d53d(0x10e))_0x4bed3b[_0x44d53d(0x163)](_0x1fd393[_0x44d53d(0x14d)]);else{if(Array[_0x44d53d(0xe0)](_0x1fd393[_0x44d53d(0x14d)]))for(const _0x4a0535 of _0x1fd393[_0x44d53d(0x14d)]){_0x4a0535['type']===_0x44d53d(0x17e)&&_0x4a0535['text']&&_0x4bed3b[_0x44d53d(0x163)](_0x4a0535[_0x44d53d(0x17e)]);}}}const _0x49aa45=_0x1fd393['tools']||[],_0x1b3c70=_0x1fd393[_0x44d53d(0xfb)]?.[_0x44d53d(0x10f)],_0x27cfc1=mapBudgetTokensToReasoningEffort(_0x1b3c70,this[_0x44d53d(0x150)][_0x44d53d(0x177)]),_0x440541=calculateContextSignature(_0x1fd393[_0x44d53d(0xf1)],_0x4bed3b,_0x49aa45,_0x27cfc1);let _0x31ed46=_0x6a299c[_0x44d53d(0xdd)]['get'](_0x440541);const _0x2f72c1=!_0x31ed46;if(!_0x31ed46){const _0x2cd839=await this['getAgentForModel'](_0x1fd393[_0x44d53d(0xf1)],_0x27cfc1);_0x31ed46={'chatId':'','agentId':_0x2cd839,'contextSignature':_0x440541,'embeddedSystemPrompts':new Set(),'embeddedToolsByName':new Map(),'messageHistory':[],'lastUsedAt':Date[_0x44d53d(0x119)]()},_0x6a299c[_0x44d53d(0xdd)]['set'](_0x440541,_0x31ed46);if(_0x6a299c['chats']['size']>MAX_CHATS_PER_SESSION){let _0x51ebf7=null,_0x2c572c=Date[_0x44d53d(0x119)]();for(const [_0xb4f072,_0x1ce0e6]of _0x6a299c[_0x44d53d(0xdd)]){_0x1ce0e6[_0x44d53d(0x138)]<_0x2c572c&&(_0x2c572c=_0x1ce0e6[_0x44d53d(0x138)],_0x51ebf7=_0xb4f072);}_0x51ebf7&&(_0x6a299c[_0x44d53d(0xdd)][_0x44d53d(0x123)](_0x51ebf7),this[_0x44d53d(0x18a)][_0x44d53d(0xe1)]('Evicted\x20oldest\x20chat\x20(signature:\x20'+_0x51ebf7+_0x44d53d(0x171)+MAX_CHATS_PER_SESSION+_0x44d53d(0x185)));}}else _0x31ed46[_0x44d53d(0x138)]=Date[_0x44d53d(0x119)]();if(!_0x31ed46[_0x44d53d(0x121)]){if(_0x31ed46[_0x44d53d(0xed)]&&_0x31ed46[_0x44d53d(0x15f)]){this[_0x44d53d(0x18a)]['debug']('Waiting\x20for\x20concurrent\x20chat\x20creation\x20for\x20context:\x20'+_0x440541);try{_0x31ed46[_0x44d53d(0x121)]=await _0x31ed46[_0x44d53d(0x15f)];}catch(_0x5cb4bf){this[_0x44d53d(0x18a)][_0x44d53d(0x11e)](_0x44d53d(0x129),_0x5cb4bf);}}else{if(!_0x31ed46[_0x44d53d(0xed)]){_0x31ed46[_0x44d53d(0xed)]=!![],_0x31ed46[_0x44d53d(0x15f)]=((async()=>{const _0x30a437=_0x44d53d;try{const _0x22c1de=await this[_0x30a437(0x150)]['tdx'][_0x30a437(0x12f)]['startChat'](_0x31ed46[_0x30a437(0xfc)]);return this[_0x30a437(0x18a)][_0x30a437(0x12b)]('['+_0x22c1de['id']+_0x30a437(0x101)+_0x1fd393['model']+_0x30a437(0xf9)+_0x440541),_0x22c1de['id'];}catch(_0x25569c){this[_0x30a437(0x18a)][_0x30a437(0x11e)]('Failed\x20to\x20create\x20chat,\x20will\x20fall\x20back\x20to\x20lazy\x20creation:',_0x25569c);throw _0x25569c;}finally{_0x31ed46[_0x30a437(0xed)]=![],_0x31ed46['createPromise']=undefined;}})());try{_0x31ed46[_0x44d53d(0x121)]=await _0x31ed46[_0x44d53d(0x15f)];}catch{}}}}const _0x3234af=_0x4bed3b['filter'](_0x34ae39=>!_0x31ed46[_0x44d53d(0xda)]['has'](_0x34ae39)),_0x4b85ea=_0x49aa45['filter'](_0x51b77b=>!_0x31ed46[_0x44d53d(0x187)][_0x44d53d(0x157)](_0x51b77b['name']));this['logger'][_0x44d53d(0xe1)]('[session:\x20'+_0x4d26ef+']\x20model:\x20'+_0x1fd393[_0x44d53d(0xf1)]+_0x44d53d(0xe3)+_0x440541+_0x44d53d(0x109)+_0x2f72c1),this[_0x44d53d(0x18a)][_0x44d53d(0xe1)](_0x44d53d(0xf3)+_0x31ed46[_0x44d53d(0x121)]),this[_0x44d53d(0x18a)]['debug'](_0x44d53d(0x11c)+_0x4bed3b[_0x44d53d(0x175)]+_0x44d53d(0x12a)+_0x49aa45[_0x44d53d(0x175)]),this[_0x44d53d(0x18a)][_0x44d53d(0xe1)](_0x44d53d(0x13f)+_0x31ed46[_0x44d53d(0xda)][_0x44d53d(0x172)]+_0x44d53d(0x12a)+_0x31ed46['embeddedToolsByName'][_0x44d53d(0x172)]),this[_0x44d53d(0x18a)][_0x44d53d(0xe1)](_0x44d53d(0xef)+_0x3234af[_0x44d53d(0x175)]+',\x20tools:\x20'+_0x4b85ea[_0x44d53d(0x175)]);_0x3234af[_0x44d53d(0x175)]>0x0&&this[_0x44d53d(0x18a)]['debug']('Added\x20system\x20prompt\x20previews:',_0x3234af[_0x44d53d(0x131)](_0x341341=>_0x341341['substring'](0x0,0x32)+_0x44d53d(0xe2))[_0x44d53d(0x176)](_0x44d53d(0x112)));_0x4b85ea['length']>0x0&&this['logger']['debug'](_0x44d53d(0x106),_0x4b85ea[_0x44d53d(0x131)](_0x328166=>_0x328166['name'])[_0x44d53d(0x176)](',\x20'));const _0x132f83=calculateConversationDelta(_0x1fd393['messages'],_0x31ed46[_0x44d53d(0x184)]),_0x1c5a96=extractLastUserMessage(_0x132f83,_0x1fd393[_0x44d53d(0xf5)]);if(_0x1c5a96['error'])throw new SDKError(ErrorCode[_0x44d53d(0x127)],_0x1c5a96[_0x44d53d(0x11e)]);const _0x2c3606=_0x1c5a96['text']||'',_0x1c291a=()=>{const _0x2356f5=_0x44d53d,_0x321283=[];_0x4bed3b[_0x2356f5(0x175)]>0x0&&_0x321283['push'](_0x4bed3b[_0x2356f5(0x176)]('\x0a\x0a'));_0x49aa45[_0x2356f5(0x175)]>0x0&&_0x321283['push'](generateToolPrompt(_0x49aa45));if(_0x1fd393[_0x2356f5(0xf5)]&&_0x1fd393[_0x2356f5(0xf5)][_0x2356f5(0x175)]>0x1){const _0x244ee9=formatConversationHistory(_0x1fd393['messages']);_0x244ee9&&_0x321283['push']('\x0a\x0a<conversation_history>\x0a'+_0x244ee9+_0x2356f5(0x10c));}return _0x321283[_0x2356f5(0x163)](_0x2c3606),_0x321283[_0x2356f5(0x132)](_0x172ac5=>_0x172ac5&&_0x172ac5[_0x2356f5(0x115)]())[_0x2356f5(0x176)](_0x2356f5(0x15d));};let _0x18a2b5;if(_0x2f72c1){this[_0x44d53d(0x18a)][_0x44d53d(0x12b)]('['+_0x31ed46[_0x44d53d(0x121)]+_0x44d53d(0x140)+_0x1fd393[_0x44d53d(0xf1)]+_0x44d53d(0x156)+_0x4bed3b[_0x44d53d(0x175)]+_0x44d53d(0x173)+_0x49aa45[_0x44d53d(0x175)]+_0x44d53d(0xdf)+_0x49aa45[_0x44d53d(0x131)](_0x4dcbdd=>_0x4dcbdd['name'])[_0x44d53d(0x176)](',\x20')+']'),_0x18a2b5=_0x1c291a();for(const _0x490c78 of _0x4bed3b){_0x31ed46[_0x44d53d(0xda)][_0x44d53d(0x130)](_0x490c78);}for(const _0x3ed665 of _0x49aa45){_0x31ed46[_0x44d53d(0x187)][_0x44d53d(0x174)](_0x3ed665[_0x44d53d(0x117)],_0x3ed665);}}else{const _0x17c69d=[];_0x3234af[_0x44d53d(0x175)]>0x0&&(_0x17c69d[_0x44d53d(0x163)](_0x3234af[_0x44d53d(0x176)]('\x0a\x0a')),this['logger'][_0x44d53d(0xe1)](_0x44d53d(0x136),_0x3234af[_0x44d53d(0x175)],_0x44d53d(0x186)));if(_0x4b85ea[_0x44d53d(0x175)]>0x0)try{_0x17c69d[_0x44d53d(0x163)](generateToolPrompt(_0x4b85ea)),this[_0x44d53d(0x18a)][_0x44d53d(0xe1)](_0x44d53d(0x136),_0x4b85ea[_0x44d53d(0x175)],_0x44d53d(0x164));}catch(_0x36c09a){this[_0x44d53d(0x18a)]['error'](_0x44d53d(0xea),_0x36c09a);}try{const _0x11e74f=extractToolResults(_0x132f83);_0x11e74f&&(_0x17c69d[_0x44d53d(0x163)](_0x11e74f),this[_0x44d53d(0x18a)][_0x44d53d(0xe1)](_0x44d53d(0x120)));}catch(_0x239d0b){this['logger']['error'](_0x44d53d(0x179),_0x239d0b);}_0x17c69d[_0x44d53d(0x163)](_0x2c3606);const _0x3eeed1=_0x17c69d[_0x44d53d(0x132)](_0x4d5aee=>_0x4d5aee&&_0x4d5aee[_0x44d53d(0x115)]());_0x18a2b5=_0x3eeed1[_0x44d53d(0x175)]>0x0?_0x3eeed1['join'](_0x44d53d(0x15d)):_0x2c3606;for(const _0x255bd3 of _0x3234af){_0x31ed46[_0x44d53d(0xda)][_0x44d53d(0x130)](_0x255bd3);}for(const _0x2ab5fe of _0x4b85ea){_0x31ed46[_0x44d53d(0x187)]['set'](_0x2ab5fe[_0x44d53d(0x117)],_0x2ab5fe);}}(!_0x18a2b5||!_0x18a2b5[_0x44d53d(0x115)]())&&(this[_0x44d53d(0x18a)][_0x44d53d(0xdb)]('Final\x20message\x20is\x20empty\x20after\x20construction\x20-\x20starting\x20fresh\x20conversation'),this[_0x44d53d(0x18a)][_0x44d53d(0xdb)](_0x44d53d(0x122),{'isNewContext':_0x2f72c1,'userMessageLength':_0x2c3606?.[_0x44d53d(0x175)]||0x0,'systemPromptsCount':_0x4bed3b[_0x44d53d(0x175)],'toolsCount':_0x49aa45[_0x44d53d(0x175)],'messagesCount':_0x1fd393[_0x44d53d(0xf5)]?.[_0x44d53d(0x175)]||0x0,'newMessagesCount':_0x132f83['length']}),clearChatState(_0x31ed46),_0x18a2b5=_0x1c291a(),(!_0x18a2b5||!_0x18a2b5[_0x44d53d(0x115)]())&&(this[_0x44d53d(0x18a)][_0x44d53d(0x11e)](_0x44d53d(0x181)),this[_0x44d53d(0x18a)][_0x44d53d(0x11e)](_0x44d53d(0x152),{'systemPromptsCount':_0x4bed3b[_0x44d53d(0x175)],'toolsCount':_0x49aa45[_0x44d53d(0x175)],'messagesCount':_0x1fd393['messages']?.[_0x44d53d(0x175)]||0x0,'userMessageLength':_0x2c3606?.['length']||0x0}),_0x18a2b5=_0x44d53d(0x14c)),this['logger'][_0x44d53d(0x12b)](_0x44d53d(0x14e),_0x18a2b5[_0x44d53d(0xe8)](0x0,0x64)+_0x44d53d(0xe2)));const _0x381960=_0x1fd393[_0x44d53d(0x169)]!==![];if(_0x381960){_0x170974['raw'][_0x44d53d(0x12d)](0xc8,{'Content-Type':_0x44d53d(0x139),'Cache-Control':'no-cache','Connection':_0x44d53d(0x16f),'X-Accel-Buffering':'no'});const _0x17cf30=generateMessageId();let _0x1ac0db=0x0,_0x4abfd2=0x0;try{if(_0x31ed46['chatId']){const _0x24d7e0=_0x18a2b5[_0x44d53d(0xe8)](0x0,0x32)[_0x44d53d(0x167)](/\n/g,'\x20');this[_0x44d53d(0x18a)][_0x44d53d(0x12b)]('['+_0x31ed46[_0x44d53d(0x121)]+_0x44d53d(0x143)+_0x1fd393[_0x44d53d(0xf1)]+_0x44d53d(0xf9)+_0x440541+',\x20'+_0x1fd393[_0x44d53d(0xf5)][_0x44d53d(0x175)]+_0x44d53d(0x17f)+_0x4bed3b[_0x44d53d(0x175)]+_0x44d53d(0x11a)+_0x49aa45[_0x44d53d(0x175)]+_0x44d53d(0x161)+_0x18a2b5['length']+',\x20\x22'+_0x24d7e0+_0x44d53d(0x108));}const _0xd847c3=this[_0x44d53d(0x150)]['tdx'][_0x44d53d(0x12f)]['chat'](_0x18a2b5,{'chatId':_0x31ed46[_0x44d53d(0x121)]||undefined,'agentId':_0x31ed46[_0x44d53d(0x121)]?undefined:_0x31ed46[_0x44d53d(0xfc)]});if(!_0xd847c3){this[_0x44d53d(0x18a)]['error'](_0x44d53d(0x162)),this[_0x44d53d(0x18a)][_0x44d53d(0x11e)]('Context:',JSON[_0x44d53d(0x12c)]({'chatId':_0x31ed46[_0x44d53d(0x121)],'agentId':_0x31ed46[_0x44d53d(0xfc)],'model':_0x1fd393[_0x44d53d(0xf1)],'sessionId':_0x4d26ef,'contextSignature':_0x440541})),_0x31ed46[_0x44d53d(0x121)]='',this[_0x44d53d(0x18a)]['warn'](_0x44d53d(0x103));const _0x2d1e73=formatAnthropicSSE({'type':_0x44d53d(0x11e),'error':{'type':'api_error','message':_0x44d53d(0x142)},'request_id':_0x17cf30});_0x170974[_0x44d53d(0x11b)][_0x44d53d(0x170)](_0x2d1e73),_0x170974['raw'][_0x44d53d(0x18c)]();return;}_0x31ed46['messageHistory']=_0x1fd393[_0x44d53d(0xf5)];const _0x88d4ea=_0x31ed46;async function*_0x479543(_0x11d6c7){const _0x51cba9=_0x44d53d;for await(const _0x298c8a of _0x11d6c7){if(_0x298c8a[_0x51cba9(0xff)]===_0x51cba9(0x155))_0x298c8a[_0x51cba9(0xf4)][_0x51cba9(0x121)]&&!_0x88d4ea[_0x51cba9(0x121)]&&(_0x88d4ea[_0x51cba9(0x121)]=_0x298c8a[_0x51cba9(0xf4)]['chatId']);else _0x298c8a['type']===_0x51cba9(0x18b)&&(yield _0x298c8a[_0x51cba9(0xf4)]);}}const _0x274338=_0x479543(_0xd847c3);_0x1ac0db=estimateInputTokensFromRequest(_0x1fd393);const _0x7ede95=transformTDStreamToAnthropic(_0x274338,_0x17cf30,_0x1fd393[_0x44d53d(0xf1)],this[_0x44d53d(0x18a)],_0x2c3606,_0x1ac0db),_0x53ad1d=_0x18a2b5[_0x44d53d(0x175)];let _0x3d7e2b=0x0;for await(const _0xabd78b of _0x7ede95){const _0x4184dd=formatAnthropicSSE(_0xabd78b);_0x3d7e2b++,this[_0x44d53d(0x18a)][_0x44d53d(0xe1)](colorizeJSONCompact(_0xabd78b,{'color':!![]})),_0xabd78b[_0x44d53d(0xff)]===_0x44d53d(0x11e)&&_0xabd78b[_0x44d53d(0x11e)][_0x44d53d(0xff)]===_0x44d53d(0xf2)&&(clearChatState(_0x31ed46),this[_0x44d53d(0x18a)][_0x44d53d(0xdb)](_0x44d53d(0xdc)+_0xabd78b[_0x44d53d(0x11e)]['message']+_0x44d53d(0xfa)+_0x53ad1d+'\x20chars.\x20Cleared\x20chat\x20state\x20for\x20session\x20'+_0x4d26ef+_0x44d53d(0x110)+_0x440541)),_0xabd78b[_0x44d53d(0xff)]==='message_delta'&&_0xabd78b[_0x44d53d(0x151)]?.['output_tokens']&&(_0x4abfd2=_0xabd78b['usage'][_0x44d53d(0x10d)]),_0x170974[_0x44d53d(0x11b)][_0x44d53d(0x170)](_0x4184dd);}this[_0x44d53d(0x18a)][_0x44d53d(0xe1)](_0x44d53d(0xe4)+_0x3d7e2b+'\x20SSE\x20events.'),appendUsageEntry(_0x4d26ef,{'timestamp':new Date()[_0x44d53d(0x158)](),'model':_0x1fd393[_0x44d53d(0xf1)],'inputTokens':_0x1ac0db,'outputTokens':_0x4abfd2,'contextSignature':_0x440541,'profile':this[_0x44d53d(0x150)]['tdx']?.[_0x44d53d(0x10a)]?.['profile'],'chatId':_0x31ed46['chatId']||undefined})['catch'](_0x3be869=>{const _0x2efa76=_0x44d53d;this['logger'][_0x2efa76(0xdb)](_0x2efa76(0x16c)+_0x3be869);}),_0x170974[_0x44d53d(0x11b)][_0x44d53d(0x18c)]();}catch(_0x4f896d){(_0x1ac0db>0x0||_0x4abfd2>0x0)&&appendUsageEntry(_0x4d26ef,{'timestamp':new Date()['toISOString'](),'model':_0x1fd393[_0x44d53d(0xf1)],'inputTokens':_0x1ac0db,'outputTokens':_0x4abfd2,'contextSignature':_0x440541,'profile':this[_0x44d53d(0x150)][_0x44d53d(0x160)]?.[_0x44d53d(0x10a)]?.[_0x44d53d(0x11f)],'chatId':_0x31ed46[_0x44d53d(0x121)]||undefined})['catch'](_0x4d8d42=>{const _0x2936a0=_0x44d53d;this[_0x2936a0(0x18a)][_0x2936a0(0xdb)](_0x2936a0(0x17a)+_0x4d8d42);});const _0x5908f3=_0x4f896d instanceof Error?_0x4f896d[_0x44d53d(0x15a)]:_0x44d53d(0x168);this[_0x44d53d(0x18a)][_0x44d53d(0x11e)](_0x44d53d(0x13a),_0x4f896d),this[_0x44d53d(0x18a)][_0x44d53d(0x11e)](_0x44d53d(0x122),JSON[_0x44d53d(0x12c)]({'chatId':_0x31ed46[_0x44d53d(0x121)],'agentId':_0x31ed46[_0x44d53d(0xfc)],'model':_0x1fd393[_0x44d53d(0xf1)],'sessionId':_0x4d26ef,'contextSignature':_0x440541})),_0x31ed46[_0x44d53d(0x121)]='',this[_0x44d53d(0x18a)][_0x44d53d(0xdb)](_0x44d53d(0x16b));const _0x25d47e=formatAnthropicSSE({'type':_0x44d53d(0x11e),'error':{'type':_0x44d53d(0x17b),'message':_0x5908f3},'request_id':_0x17cf30});_0x170974[_0x44d53d(0x11b)][_0x44d53d(0x170)](_0x25d47e),_0x170974[_0x44d53d(0x11b)][_0x44d53d(0x18c)]();}}else this[_0x44d53d(0x18a)][_0x44d53d(0x11e)](_0x44d53d(0x105)),_0x170974[_0x44d53d(0x18f)](0x1f5)['send']({'type':'error','error':{'type':_0x44d53d(0xde),'message':'Non-streaming\x20responses\x20are\x20not\x20yet\x20supported'}});}async['handleCountTokens'](_0x35aede){const _0x3b3c74=a58_0x25d990,_0x52b3a1=_0x35aede[_0x3b3c74(0x16d)],_0xf35f99=estimateInputTokensFromRequest(_0x52b3a1);return this[_0x3b3c74(0x18a)]['info'](_0x35aede['method']+'\x20'+_0x35aede[_0x3b3c74(0x188)]+_0x3b3c74(0x10b)+_0xf35f99),{'input_tokens':_0xf35f99};}async[a58_0x25d990(0xd9)](){const _0x3fba7e=a58_0x25d990;try{await this[_0x3fba7e(0xfd)][_0x3fba7e(0x180)]({'port':this[_0x3fba7e(0x150)]['port'],'host':_0x3fba7e(0xee)}),this['logger'][_0x3fba7e(0x12b)]('Proxy\x20server\x20started\x20at\x20localhost:'+this['config'][_0x3fba7e(0x159)]),this[_0x3fba7e(0xd8)]=setInterval(()=>{const _0xefda97=_0x3fba7e;this[_0xefda97(0x17c)]();},CLEANUP_INTERVAL_MS),this['logger'][_0x3fba7e(0xe1)](_0x3fba7e(0x16a)+CLEANUP_INTERVAL_MS/0x3e8+_0x3fba7e(0x147)+CACHE_EXPIRATION_MS/0x3e8+'s)');}catch(_0x57c3b8){const _0x386958=_0x57c3b8 instanceof Error?_0x57c3b8[_0x3fba7e(0x15a)]:_0x3fba7e(0x168);throw new Error('Failed\x20to\x20start\x20proxy\x20server:\x20'+_0x386958);}}async[a58_0x25d990(0x13e)](){const _0x1c36ff=a58_0x25d990;this[_0x1c36ff(0xd8)]&&(clearInterval(this[_0x1c36ff(0xd8)]),this[_0x1c36ff(0xd8)]=undefined),await this['server'][_0x1c36ff(0x144)]();}[a58_0x25d990(0x166)](){const _0x59adee=a58_0x25d990,_0x38bdba=this[_0x59adee(0xfd)]['server'][_0x59adee(0xfe)]();if(typeof _0x38bdba===_0x59adee(0x10e))return _0x38bdba;if(_0x38bdba)return _0x59adee(0x137)+_0x38bdba[_0x59adee(0xfe)]+':'+_0x38bdba['port'];return'http://localhost:'+this['config'][_0x59adee(0x159)];}}
|
|
1
|
+
const a58_0x3294ed=a58_0x2a2e;(function(_0x4cfd3f,_0x3a5143){const _0x41680f=a58_0x2a2e,_0x39583c=_0x4cfd3f();while(!![]){try{const _0x3a617b=-parseInt(_0x41680f(0xa3))/0x1+parseInt(_0x41680f(0xc2))/0x2*(-parseInt(_0x41680f(0x84))/0x3)+-parseInt(_0x41680f(0xb7))/0x4*(-parseInt(_0x41680f(0xca))/0x5)+-parseInt(_0x41680f(0x7e))/0x6*(-parseInt(_0x41680f(0x8b))/0x7)+parseInt(_0x41680f(0x11c))/0x8*(-parseInt(_0x41680f(0x89))/0x9)+parseInt(_0x41680f(0x95))/0xa+parseInt(_0x41680f(0xa9))/0xb;if(_0x3a617b===_0x3a5143)break;else _0x39583c['push'](_0x39583c['shift']());}catch(_0x9ab1bc){_0x39583c['push'](_0x39583c['shift']());}}}(a58_0x557e,0x7f747));import a58_0x5cf2e6 from'fastify';import a58_0x40308c 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';function a58_0x557e(){const _0x4f316b=['cleanupExpiredChats','...','[CONTEXT\x20LENGTH\x20ERROR]\x20','Failed\x20to\x20generate\x20tool\x20prompt:','\x20->\x20','stream','351811FPbbsy','now','message','[PROXY\x20ERROR]\x20Unhandled\x20error\x20in\x20','Added\x20system\x20prompt\x20previews:','GET','8307233KEWrSB','\x20(reasoning:\x20','name','validateMessageRequest','Unknown\x20error','Final\x20message\x20reconstructed\x20after\x20context\x20reset:','headers','originalMessage','agentCache','getOrCreateDefaultAgent','Final\x20message\x20is\x20empty\x20after\x20construction\x20-\x20starting\x20fresh\x20conversation',',\x20context:\x20',')\x20to\x20stay\x20under\x20','creating','1396IfJYLr','warn','debug',',\x20system_prompts=','messages','code','getAgentForModel','Creating/looking\x20up\x20agent\x20for:\x20','/health','Proxy\x20server\x20started\x20at\x20localhost:',',\x20is\x20new\x20context:\x20','46qmENmu','setupMiddleware','context','\x20|\x20','getOrCreateSession','Context:','match','unknown','5475UlneDt','listen','\x20SSE\x20events.','agentId','thinking','Failed\x20to\x20reconstruct\x20message\x20-\x20all\x20parts\x20are\x20empty,\x20using\x20fallback','length','join','server','Added\x20tool\x20names:',']\x20Building\x20a\x20new\x20context\x20for\x20model\x20','filter','OPTIONS','\x20Input\x20size:\x20','logger','s,\x20expires\x20after\x20','substring','profile','Failed\x20to\x20initialize\x20chat\x20stream.\x20Please\x20try\x20again.','not_supported_error','[PROXY\x20ERROR]\x20Chat\x20stream\x20is\x20undefined',',\x20context=','no-cache','lastUsedAt','string','Validation\x20failed:\x20tools\x20must\x20be\x20an\x20array\x20if\x20provided',']\x20Created\x20new\x20chat\x20for\x20model\x20','Stream\x20complete.\x20Sent\x20','new\x20system\x20prompt(s)','toISOString','stringify','catch','[PROXY\x20ERROR]\x20Non-streaming\x20responses\x20are\x20not\x20yet\x20supported','continue','System\x20prompts:\x20','Reset\x20chat\x20state\x20to\x20recover\x20on\x20next\x20request','\x0a</conversation_history>','address','usage','has','tdx','http://localhost:',',\x20tools=','\x0a\x0a<conversation_history>\x0a','model','trace','map','event','output_tokens','api_error','get','Failed\x20to\x20start\x20proxy\x20server:\x20','register','message_delta','setErrorHandler',']\x20Continue\x20chat\x20for\x20model\x20','cleanupInterval','end','Model\x20normalization:\x20','attributes','Including\x20tool\x20results','\x20system\x20prompts,\x20','Embedding',':\x20messages=',',\x20model=','Chat\x20ID:\x20','system','dev-us01','text/event-stream','INVALID_REQUEST','send','push','projectId','Reset\x20chat\x20ID\x20to\x20recover\x20on\x20next\x20request','0.0.0.0','embeddedSystemPrompts','write','text','clear','config','/v1/messages/count_tokens',',\x20tools:\x20','88PbcPZW','delete','chats','default','sessionCache','add','llm','info','user_id','raw','method',',\x20\x22','chatId','Failed\x20to\x20create\x20chat,\x20will\x20fall\x20back\x20to\x20lazy\x20creation:','\x20messages,\x20','New\x20-\x20system\x20prompts:\x20','/v1/messages','Waiting\x20for\x20concurrent\x20chat\x20creation\x20for\x20context:\x20','getAddress','data','Agent\x20cached:\x20','header:\x20','http://','port','Content-Type','close','18516VYePPN','Debug\x20info:','error','messageHistory','type',']\x20model:\x20','77199fZVXrK','createPromise','trim','isArray','handleMessages','440028NbyhPA','tools','154QmmYmr','handleCountTokens','anthropic-version','url','writeHead','[session:\x20','post','body','size','metadata','7982870yLKizi','isUserError','set','setupRoutes','embeddedToolsByName','POST','handleRouteError','\x0a---\x0a\x0a'];a58_0x557e=function(){return _0x4f316b;};return a58_0x557e();}import{extractModelAlias,resolveModelAlias}from'../sdk/llm/model-aliases.js';import{SessionCache}from'./session-cache.js';import{appendUsageEntry}from'./claude-usage-tracker.js';import{calculateContextSignature}from'./context-signature.js';import{formatConversationHistory,calculateConversationDelta,extractLastUserMessage}from'./conversation-utils.js';function extractSessionUUID(_0x51f05b){const _0x21e6f6=a58_0x2a2e,_0x30facd=_0x51f05b[_0x21e6f6(0xc8)](/_session_([a-f0-9-]+)$/i);if(_0x30facd)return _0x30facd[0x1];return _0x51f05b;}function clearChatState(_0x45f833){const _0x3a66de=a58_0x2a2e;_0x45f833[_0x3a66de(0x128)]='',_0x45f833[_0x3a66de(0x115)][_0x3a66de(0x118)](),_0x45f833['embeddedToolsByName'][_0x3a66de(0x118)]();}function mapBudgetTokensToReasoningEffort(_0x49295e,_0x46fe37){const _0x5041ff=a58_0x2a2e;if(_0x46fe37!==_0x5041ff(0x10d))return 0x0;if(!_0x49295e||_0x49295e===0x0)return 0x0;if(_0x49295e<=0x400)return 0x1;if(_0x49295e<=0x800)return 0x2;if(_0x49295e<=0x1000)return 0x3;return 0x4;}const MAX_CHATS_PER_SESSION=0xa,CACHE_EXPIRATION_MS=0xa*0x3c*0x3e8,CLEANUP_INTERVAL_MS=0x3c*0x3e8;function a58_0x2a2e(_0x55694c,_0x5dda1b){_0x55694c=_0x55694c-0x73;const _0x557eb6=a58_0x557e();let _0x2a2e05=_0x557eb6[_0x55694c];return _0x2a2e05;}export class ProxyServer{['server'];['sessionCache'];[a58_0x3294ed(0xb1)];[a58_0x3294ed(0x119)];[a58_0x3294ed(0x102)];[a58_0x3294ed(0xd8)];constructor(_0x3e8318){const _0x124467=a58_0x3294ed;this[_0x124467(0xd8)]=_0x3e8318[_0x124467(0xd8)],this[_0x124467(0x119)]=_0x3e8318,this[_0x124467(0x120)]=new SessionCache({'maxChatsPerSession':MAX_CHATS_PER_SESSION,'cacheExpirationMs':CACHE_EXPIRATION_MS}),this['agentCache']=new Map(),this['server']=a58_0x5cf2e6({'logger':![],'bodyLimit':0x40*0x400*0x400}),this[_0x124467(0xc3)](),this[_0x124467(0x98)]();}async[a58_0x3294ed(0xbd)](_0x43047d,_0x23382f=0x0){const _0x22edfa=a58_0x3294ed,_0x427848=extractModelAlias(_0x43047d),_0x4e889e=resolveModelAlias(_0x427848),_0x3e9d0e=_0x4e889e+'_'+_0x23382f;let _0x5934af=this[_0x22edfa(0xb1)][_0x22edfa(0xfc)](_0x3e9d0e);if(!_0x5934af){this[_0x22edfa(0xd8)]['debug'](_0x22edfa(0x104)+_0x43047d+'\x20->\x20'+_0x427848+_0x22edfa(0xa1)+_0x4e889e),this['logger'][_0x22edfa(0xb9)](_0x22edfa(0xbe)+_0x4e889e+_0x22edfa(0xaa)+_0x23382f+')');const _0x27d0ac=await this['config'][_0x22edfa(0xf2)][_0x22edfa(0x122)][_0x22edfa(0xb2)](_0x4e889e,_0x23382f);_0x5934af=_0x27d0ac['id'],this['agentCache'][_0x22edfa(0x97)](_0x3e9d0e,_0x5934af),this[_0x22edfa(0xd8)]['debug'](_0x22edfa(0x78)+_0x3e9d0e+_0x22edfa(0xa1)+_0x5934af+'\x20('+_0x27d0ac[_0x22edfa(0x105)]['name']+')');}return _0x5934af;}[a58_0x3294ed(0x9d)](){const _0x3126ec=a58_0x3294ed;this[_0x3126ec(0x120)][_0x3126ec(0x9d)]();}[a58_0x3294ed(0xc3)](){const _0x1cb70c=a58_0x3294ed;this[_0x1cb70c(0xd2)][_0x1cb70c(0xfe)](a58_0x40308c,{'origin':!![],'methods':[_0x1cb70c(0xa8),_0x1cb70c(0x9a),_0x1cb70c(0xd6)],'allowedHeaders':[_0x1cb70c(0x7c),'Authorization',_0x1cb70c(0x8d),'x-api-key']}),this[_0x1cb70c(0xd2)][_0x1cb70c(0x100)]((_0x1a918b,_0x20ed5c,_0x9195ea)=>{this['handleRouteError'](_0x1a918b,_0x20ed5c,_0x9195ea);});}['handleRouteError'](_0x551571,_0x360747,_0x5804f4){const _0x1ec2a6=a58_0x3294ed;if(_0x551571 instanceof SDKError){const _0xeb118c=_0x551571[_0x1ec2a6(0x96)]()?0x190:0x1f4;_0x5804f4[_0x1ec2a6(0xbc)](_0xeb118c)[_0x1ec2a6(0x110)]({'type':_0x1ec2a6(0x80),'error':{'type':_0x551571[_0x1ec2a6(0xbc)],'message':_0x551571[_0x1ec2a6(0xb0)],'helpText':_0x551571['helpText']}});}else{const _0xd33fa5=_0x551571 instanceof Error?_0x551571[_0x1ec2a6(0xa5)]:_0x1ec2a6(0xad);this[_0x1ec2a6(0xd8)][_0x1ec2a6(0x80)](_0x1ec2a6(0xa6)+_0x360747[_0x1ec2a6(0x126)]+'\x20'+_0x360747[_0x1ec2a6(0x8e)]+':',_0x551571),_0x5804f4[_0x1ec2a6(0xbc)](0x1f4)['send']({'type':_0x1ec2a6(0x80),'error':{'type':_0x1ec2a6(0xfb),'message':_0xd33fa5}});}}['setupRoutes'](){const _0x32f672=a58_0x3294ed;this[_0x32f672(0xd2)][_0x32f672(0xfc)](_0x32f672(0xbf),async()=>{return{'status':'ok','message':'TD\x20LLM\x20Proxy\x20Server'};}),this[_0x32f672(0xd2)][_0x32f672(0x91)](_0x32f672(0x74),async(_0x44c8ec,_0x5274b5)=>{const _0x311632=_0x32f672;return this[_0x311632(0x88)](_0x44c8ec,_0x5274b5)['catch'](_0x38c292=>{const _0x278e00=_0x311632;this[_0x278e00(0x9b)](_0x38c292,_0x44c8ec,_0x5274b5);});}),this[_0x32f672(0xd2)][_0x32f672(0x91)](_0x32f672(0x11a),async(_0xe00b26,_0x3689a7)=>{const _0x2d139e=_0x32f672;return this[_0x2d139e(0x8c)](_0xe00b26)[_0x2d139e(0xe9)](_0xe03f38=>{this['handleRouteError'](_0xe03f38,_0xe00b26,_0x3689a7);});});}[a58_0x3294ed(0xac)](_0x1d5b29){const _0x15567b=a58_0x3294ed;if(!_0x1d5b29[_0x15567b(0xbb)]||!Array[_0x15567b(0x87)](_0x1d5b29['messages'])||_0x1d5b29['messages'][_0x15567b(0xd0)]===0x0)throw new SDKError(ErrorCode[_0x15567b(0x10f)],'Validation\x20failed:\x20messages\x20array\x20is\x20required\x20and\x20must\x20not\x20be\x20empty');if(_0x1d5b29['tools']&&!Array['isArray'](_0x1d5b29[_0x15567b(0x8a)]))throw new SDKError(ErrorCode[_0x15567b(0x10f)],_0x15567b(0xe3));}async[a58_0x3294ed(0x88)](_0x38478b,_0x119fa6){const _0x32ad9f=a58_0x3294ed,_0x3a3d47=_0x38478b[_0x32ad9f(0x92)];this[_0x32ad9f(0xac)](_0x3a3d47);const _0x15d56e=_0x3a3d47[_0x32ad9f(0xbb)]?.[_0x32ad9f(0xd0)]??0x0,_0x334fc4=_0x3a3d47['model']||_0x32ad9f(0xc9);this[_0x32ad9f(0xd8)][_0x32ad9f(0x123)](_0x38478b['method']+'\x20'+_0x38478b[_0x32ad9f(0x8e)]+_0x32ad9f(0x109)+_0x15d56e+_0x32ad9f(0x10a)+_0x334fc4),this[_0x32ad9f(0xd8)]['debug'](_0x32ad9f(0x79)+colorizeJSONCompact(_0x38478b[_0x32ad9f(0xaf)]));this[_0x32ad9f(0xd8)]['trace']&&this[_0x32ad9f(0xd8)][_0x32ad9f(0xf7)](colorizeJSON(_0x3a3d47,{'color':!![]}));const _0x5c8229=_0x3a3d47[_0x32ad9f(0x94)]?.[_0x32ad9f(0x124)]||_0x32ad9f(0x11f),_0x5df93c=extractSessionUUID(_0x5c8229),_0x1f3540=this['sessionCache'][_0x32ad9f(0xc6)](_0x5df93c,this[_0x32ad9f(0x119)][_0x32ad9f(0x112)]),_0x33f873=[];if(_0x3a3d47['system']){if(typeof _0x3a3d47[_0x32ad9f(0x10c)]===_0x32ad9f(0xe2))_0x33f873['push'](_0x3a3d47[_0x32ad9f(0x10c)]);else{if(Array['isArray'](_0x3a3d47['system']))for(const _0x444e91 of _0x3a3d47[_0x32ad9f(0x10c)]){_0x444e91[_0x32ad9f(0x82)]==='text'&&_0x444e91['text']&&_0x33f873['push'](_0x444e91[_0x32ad9f(0x117)]);}}}const _0x4440b8=_0x3a3d47[_0x32ad9f(0x8a)]||[],_0x4c3c99=_0x3a3d47[_0x32ad9f(0xce)]?.['budget_tokens'],_0x5778c9=mapBudgetTokensToReasoningEffort(_0x4c3c99,this[_0x32ad9f(0x119)]['site']),_0x13d095=calculateContextSignature(_0x3a3d47[_0x32ad9f(0xf6)],_0x33f873,_0x4440b8,_0x5778c9);let _0x1bbe57=_0x1f3540[_0x32ad9f(0x11e)][_0x32ad9f(0xfc)](_0x13d095);const _0x4a892f=!_0x1bbe57;if(!_0x1bbe57){const _0x4d4760=await this[_0x32ad9f(0xbd)](_0x3a3d47[_0x32ad9f(0xf6)],_0x5778c9);_0x1bbe57={'chatId':'','agentId':_0x4d4760,'contextSignature':_0x13d095,'embeddedSystemPrompts':new Set(),'embeddedToolsByName':new Map(),'messageHistory':[],'lastUsedAt':Date[_0x32ad9f(0xa4)]()},_0x1f3540[_0x32ad9f(0x11e)][_0x32ad9f(0x97)](_0x13d095,_0x1bbe57);if(_0x1f3540[_0x32ad9f(0x11e)]['size']>MAX_CHATS_PER_SESSION){let _0x13a724=null,_0x537b01=Date['now']();for(const [_0x1bd915,_0x5b5578]of _0x1f3540['chats']){_0x5b5578['lastUsedAt']<_0x537b01&&(_0x537b01=_0x5b5578[_0x32ad9f(0xe1)],_0x13a724=_0x1bd915);}_0x13a724&&(_0x1f3540[_0x32ad9f(0x11e)][_0x32ad9f(0x11d)](_0x13a724),this[_0x32ad9f(0xd8)][_0x32ad9f(0xb9)]('Evicted\x20oldest\x20chat\x20(signature:\x20'+_0x13a724+_0x32ad9f(0xb5)+MAX_CHATS_PER_SESSION+'\x20limit'));}}else _0x1bbe57[_0x32ad9f(0xe1)]=Date[_0x32ad9f(0xa4)]();if(!_0x1bbe57['chatId']){if(_0x1bbe57[_0x32ad9f(0xb6)]&&_0x1bbe57['createPromise']){this[_0x32ad9f(0xd8)][_0x32ad9f(0xb9)](_0x32ad9f(0x75)+_0x13d095);try{_0x1bbe57[_0x32ad9f(0x128)]=await _0x1bbe57[_0x32ad9f(0x85)];}catch(_0x38e856){this[_0x32ad9f(0xd8)][_0x32ad9f(0x80)]('Concurrent\x20chat\x20creation\x20failed,\x20will\x20fall\x20back\x20to\x20lazy\x20creation:',_0x38e856);}}else{if(!_0x1bbe57['creating']){_0x1bbe57['creating']=!![],_0x1bbe57[_0x32ad9f(0x85)]=((async()=>{const _0x414b27=_0x32ad9f;try{const _0x486743=await this[_0x414b27(0x119)][_0x414b27(0xf2)]['llm']['startChat'](_0x1bbe57[_0x414b27(0xcd)]);return this[_0x414b27(0xd8)][_0x414b27(0x123)]('['+_0x486743['id']+_0x414b27(0xe4)+_0x3a3d47[_0x414b27(0xf6)]+_0x414b27(0xdf)+_0x13d095),_0x486743['id'];}catch(_0x19f3b2){this[_0x414b27(0xd8)][_0x414b27(0x80)](_0x414b27(0x129),_0x19f3b2);throw _0x19f3b2;}finally{_0x1bbe57[_0x414b27(0xb6)]=![],_0x1bbe57[_0x414b27(0x85)]=undefined;}})());try{_0x1bbe57[_0x32ad9f(0x128)]=await _0x1bbe57['createPromise'];}catch{}}}}const _0x136b2c=_0x33f873[_0x32ad9f(0xd5)](_0x1cbc96=>!_0x1bbe57[_0x32ad9f(0x115)]['has'](_0x1cbc96)),_0x1b1cea=_0x4440b8[_0x32ad9f(0xd5)](_0x2568bc=>!_0x1bbe57['embeddedToolsByName'][_0x32ad9f(0xf1)](_0x2568bc[_0x32ad9f(0xab)]));this['logger'][_0x32ad9f(0xb9)](_0x32ad9f(0x90)+_0x5df93c+_0x32ad9f(0x83)+_0x3a3d47[_0x32ad9f(0xf6)]+',\x20context\x20signature:\x20'+_0x13d095+_0x32ad9f(0xc1)+_0x4a892f),this[_0x32ad9f(0xd8)]['debug'](_0x32ad9f(0x10b)+_0x1bbe57['chatId']),this[_0x32ad9f(0xd8)][_0x32ad9f(0xb9)](_0x32ad9f(0xec)+_0x33f873[_0x32ad9f(0xd0)]+',\x20tools:\x20'+_0x4440b8['length']),this[_0x32ad9f(0xd8)]['debug']('Embedded\x20in\x20chat\x20-\x20system\x20prompts:\x20'+_0x1bbe57[_0x32ad9f(0x115)]['size']+_0x32ad9f(0x11b)+_0x1bbe57['embeddedToolsByName'][_0x32ad9f(0x93)]),this[_0x32ad9f(0xd8)][_0x32ad9f(0xb9)](_0x32ad9f(0x73)+_0x136b2c[_0x32ad9f(0xd0)]+_0x32ad9f(0x11b)+_0x1b1cea[_0x32ad9f(0xd0)]);_0x136b2c[_0x32ad9f(0xd0)]>0x0&&this[_0x32ad9f(0xd8)][_0x32ad9f(0xb9)](_0x32ad9f(0xa7),_0x136b2c['map'](_0xd1377b=>_0xd1377b[_0x32ad9f(0xda)](0x0,0x32)+_0x32ad9f(0x9e))[_0x32ad9f(0xd1)](_0x32ad9f(0xc5)));_0x1b1cea[_0x32ad9f(0xd0)]>0x0&&this[_0x32ad9f(0xd8)][_0x32ad9f(0xb9)](_0x32ad9f(0xd3),_0x1b1cea[_0x32ad9f(0xf8)](_0x5623de=>_0x5623de['name'])['join'](',\x20'));const _0x2650bf=calculateConversationDelta(_0x3a3d47[_0x32ad9f(0xbb)],_0x1bbe57[_0x32ad9f(0x81)]),_0x5e0f4c=extractLastUserMessage(_0x2650bf,_0x3a3d47['messages']);if(_0x5e0f4c[_0x32ad9f(0x80)])throw new SDKError(ErrorCode[_0x32ad9f(0x10f)],_0x5e0f4c['error']);const _0x3ca049=_0x5e0f4c[_0x32ad9f(0x117)]||'',_0x198c45=()=>{const _0x43503f=_0x32ad9f,_0x1ed08a=[];_0x33f873[_0x43503f(0xd0)]>0x0&&_0x1ed08a[_0x43503f(0x111)](_0x33f873['join']('\x0a\x0a'));_0x4440b8['length']>0x0&&_0x1ed08a[_0x43503f(0x111)](generateToolPrompt(_0x4440b8));if(_0x3a3d47[_0x43503f(0xbb)]&&_0x3a3d47[_0x43503f(0xbb)]['length']>0x1){const _0xd0bdb7=formatConversationHistory(_0x3a3d47[_0x43503f(0xbb)]);_0xd0bdb7&&_0x1ed08a['push'](_0x43503f(0xf5)+_0xd0bdb7+_0x43503f(0xee));}return _0x1ed08a[_0x43503f(0x111)](_0x3ca049),_0x1ed08a[_0x43503f(0xd5)](_0x17a729=>_0x17a729&&_0x17a729[_0x43503f(0x86)]())[_0x43503f(0xd1)](_0x43503f(0x9c));};let _0x674cda;if(_0x4a892f){this['logger'][_0x32ad9f(0x123)]('['+_0x1bbe57[_0x32ad9f(0x128)]+_0x32ad9f(0xd4)+_0x3a3d47[_0x32ad9f(0xf6)]+_0x32ad9f(0xba)+_0x33f873[_0x32ad9f(0xd0)]+_0x32ad9f(0xf4)+_0x4440b8[_0x32ad9f(0xd0)]+',\x20tool_names=['+_0x4440b8[_0x32ad9f(0xf8)](_0x209c3f=>_0x209c3f[_0x32ad9f(0xab)])['join'](',\x20')+']'),_0x674cda=_0x198c45();for(const _0x504e1f of _0x33f873){_0x1bbe57[_0x32ad9f(0x115)][_0x32ad9f(0x121)](_0x504e1f);}for(const _0x4697d7 of _0x4440b8){_0x1bbe57[_0x32ad9f(0x99)][_0x32ad9f(0x97)](_0x4697d7[_0x32ad9f(0xab)],_0x4697d7);}}else{const _0x290fbe=[];_0x136b2c[_0x32ad9f(0xd0)]>0x0&&(_0x290fbe[_0x32ad9f(0x111)](_0x136b2c[_0x32ad9f(0xd1)]('\x0a\x0a')),this[_0x32ad9f(0xd8)]['debug'](_0x32ad9f(0x108),_0x136b2c['length'],_0x32ad9f(0xe6)));if(_0x1b1cea[_0x32ad9f(0xd0)]>0x0)try{_0x290fbe[_0x32ad9f(0x111)](generateToolPrompt(_0x1b1cea)),this[_0x32ad9f(0xd8)]['debug'](_0x32ad9f(0x108),_0x1b1cea[_0x32ad9f(0xd0)],'new\x20tool(s)');}catch(_0x579577){this[_0x32ad9f(0xd8)][_0x32ad9f(0x80)](_0x32ad9f(0xa0),_0x579577);}try{const _0x474927=extractToolResults(_0x2650bf);_0x474927&&(_0x290fbe['push'](_0x474927),this[_0x32ad9f(0xd8)][_0x32ad9f(0xb9)](_0x32ad9f(0x106)));}catch(_0x1096dd){this[_0x32ad9f(0xd8)][_0x32ad9f(0x80)]('Failed\x20to\x20extract\x20tool\x20results:',_0x1096dd);}_0x290fbe['push'](_0x3ca049);const _0x123c5a=_0x290fbe[_0x32ad9f(0xd5)](_0x5c44ee=>_0x5c44ee&&_0x5c44ee[_0x32ad9f(0x86)]());_0x674cda=_0x123c5a[_0x32ad9f(0xd0)]>0x0?_0x123c5a[_0x32ad9f(0xd1)](_0x32ad9f(0x9c)):_0x3ca049;for(const _0xe13fbc of _0x136b2c){_0x1bbe57[_0x32ad9f(0x115)]['add'](_0xe13fbc);}for(const _0x4644f7 of _0x1b1cea){_0x1bbe57['embeddedToolsByName']['set'](_0x4644f7[_0x32ad9f(0xab)],_0x4644f7);}}(!_0x674cda||!_0x674cda[_0x32ad9f(0x86)]())&&(this[_0x32ad9f(0xd8)]['warn'](_0x32ad9f(0xb3)),this[_0x32ad9f(0xd8)]['warn'](_0x32ad9f(0xc7),{'isNewContext':_0x4a892f,'userMessageLength':_0x3ca049?.[_0x32ad9f(0xd0)]||0x0,'systemPromptsCount':_0x33f873[_0x32ad9f(0xd0)],'toolsCount':_0x4440b8['length'],'messagesCount':_0x3a3d47['messages']?.[_0x32ad9f(0xd0)]||0x0,'newMessagesCount':_0x2650bf[_0x32ad9f(0xd0)]}),clearChatState(_0x1bbe57),_0x674cda=_0x198c45(),(!_0x674cda||!_0x674cda[_0x32ad9f(0x86)]())&&(this['logger'][_0x32ad9f(0x80)](_0x32ad9f(0xcf)),this[_0x32ad9f(0xd8)][_0x32ad9f(0x80)](_0x32ad9f(0x7f),{'systemPromptsCount':_0x33f873[_0x32ad9f(0xd0)],'toolsCount':_0x4440b8[_0x32ad9f(0xd0)],'messagesCount':_0x3a3d47[_0x32ad9f(0xbb)]?.['length']||0x0,'userMessageLength':_0x3ca049?.[_0x32ad9f(0xd0)]||0x0}),_0x674cda=_0x32ad9f(0xeb)),this[_0x32ad9f(0xd8)][_0x32ad9f(0x123)](_0x32ad9f(0xae),_0x674cda['substring'](0x0,0x64)+'...'));const _0x4a278f=_0x3a3d47[_0x32ad9f(0xa2)]!==![];if(_0x4a278f){_0x119fa6['raw'][_0x32ad9f(0x8f)](0xc8,{'Content-Type':_0x32ad9f(0x10e),'Cache-Control':_0x32ad9f(0xe0),'Connection':'keep-alive','X-Accel-Buffering':'no'});const _0x231b1f=generateMessageId();let _0xcf438f=0x0,_0x59d6d7=0x0;try{if(_0x1bbe57[_0x32ad9f(0x128)]){const _0x2aabdf=_0x674cda[_0x32ad9f(0xda)](0x0,0x32)['replace'](/\n/g,'\x20');this[_0x32ad9f(0xd8)][_0x32ad9f(0x123)]('['+_0x1bbe57[_0x32ad9f(0x128)]+_0x32ad9f(0x101)+_0x3a3d47[_0x32ad9f(0xf6)]+',\x20context='+_0x13d095+',\x20'+_0x3a3d47['messages']['length']+_0x32ad9f(0x12a)+_0x33f873['length']+_0x32ad9f(0x107)+_0x4440b8[_0x32ad9f(0xd0)]+'\x20tools,\x20message_size='+_0x674cda['length']+_0x32ad9f(0x127)+_0x2aabdf+'...\x22');}const _0x5baac9=this[_0x32ad9f(0x119)]['tdx'][_0x32ad9f(0x122)]['chat'](_0x674cda,{'chatId':_0x1bbe57[_0x32ad9f(0x128)]||undefined,'agentId':_0x1bbe57[_0x32ad9f(0x128)]?undefined:_0x1bbe57[_0x32ad9f(0xcd)]});if(!_0x5baac9){this[_0x32ad9f(0xd8)][_0x32ad9f(0x80)](_0x32ad9f(0xde)),this[_0x32ad9f(0xd8)][_0x32ad9f(0x80)](_0x32ad9f(0xc7),JSON[_0x32ad9f(0xe8)]({'chatId':_0x1bbe57[_0x32ad9f(0x128)],'agentId':_0x1bbe57[_0x32ad9f(0xcd)],'model':_0x3a3d47['model'],'sessionId':_0x5df93c,'contextSignature':_0x13d095})),_0x1bbe57['chatId']='',this[_0x32ad9f(0xd8)][_0x32ad9f(0xb8)](_0x32ad9f(0x113));const _0xb55f74=formatAnthropicSSE({'type':_0x32ad9f(0x80),'error':{'type':_0x32ad9f(0xfb),'message':_0x32ad9f(0xdc)},'request_id':_0x231b1f});_0x119fa6[_0x32ad9f(0x125)]['write'](_0xb55f74),_0x119fa6[_0x32ad9f(0x125)][_0x32ad9f(0x103)]();return;}_0x1bbe57[_0x32ad9f(0x81)]=_0x3a3d47['messages'];const _0x1cdaa0=_0x1bbe57;async function*_0x110ffe(_0xedad54){const _0x6300f4=_0x32ad9f;for await(const _0x396cf6 of _0xedad54){if(_0x396cf6[_0x6300f4(0x82)]==='metadata')_0x396cf6[_0x6300f4(0x77)][_0x6300f4(0x128)]&&!_0x1cdaa0[_0x6300f4(0x128)]&&(_0x1cdaa0['chatId']=_0x396cf6[_0x6300f4(0x77)]['chatId']);else _0x396cf6[_0x6300f4(0x82)]===_0x6300f4(0xf9)&&(yield _0x396cf6[_0x6300f4(0x77)]);}}const _0x35783e=_0x110ffe(_0x5baac9);_0xcf438f=estimateInputTokensFromRequest(_0x3a3d47);const _0x41e5f3=transformTDStreamToAnthropic(_0x35783e,_0x231b1f,_0x3a3d47[_0x32ad9f(0xf6)],this[_0x32ad9f(0xd8)],_0x3ca049,_0xcf438f),_0xaf1c15=_0x674cda['length'];let _0x5969cc=0x0;for await(const _0x5ae983 of _0x41e5f3){const _0x3a78c6=formatAnthropicSSE(_0x5ae983);_0x5969cc++,this[_0x32ad9f(0xd8)][_0x32ad9f(0xb9)](colorizeJSONCompact(_0x5ae983,{'color':!![]})),_0x5ae983[_0x32ad9f(0x82)]===_0x32ad9f(0x80)&&_0x5ae983[_0x32ad9f(0x80)][_0x32ad9f(0x82)]==='request_too_large'&&(clearChatState(_0x1bbe57),this[_0x32ad9f(0xd8)][_0x32ad9f(0xb8)](_0x32ad9f(0x9f)+_0x5ae983[_0x32ad9f(0x80)]['message']+_0x32ad9f(0xd7)+_0xaf1c15+'\x20chars.\x20Cleared\x20chat\x20state\x20for\x20session\x20'+_0x5df93c+_0x32ad9f(0xb4)+_0x13d095)),_0x5ae983[_0x32ad9f(0x82)]===_0x32ad9f(0xff)&&_0x5ae983[_0x32ad9f(0xf0)]?.['output_tokens']&&(_0x59d6d7=_0x5ae983[_0x32ad9f(0xf0)][_0x32ad9f(0xfa)]),_0x119fa6[_0x32ad9f(0x125)][_0x32ad9f(0x116)](_0x3a78c6);}this[_0x32ad9f(0xd8)][_0x32ad9f(0xb9)](_0x32ad9f(0xe5)+_0x5969cc+_0x32ad9f(0xcc)),appendUsageEntry(_0x5df93c,{'timestamp':new Date()[_0x32ad9f(0xe7)](),'model':_0x3a3d47['model'],'inputTokens':_0xcf438f,'outputTokens':_0x59d6d7,'contextSignature':_0x13d095,'profile':this[_0x32ad9f(0x119)][_0x32ad9f(0xf2)]?.['context']?.[_0x32ad9f(0xdb)],'chatId':_0x1bbe57[_0x32ad9f(0x128)]||undefined})[_0x32ad9f(0xe9)](_0x543c4e=>{const _0x5d1803=_0x32ad9f;this['logger'][_0x5d1803(0xb8)]('Failed\x20to\x20log\x20usage\x20entry:\x20'+_0x543c4e);}),_0x119fa6[_0x32ad9f(0x125)]['end']();}catch(_0x56c692){(_0xcf438f>0x0||_0x59d6d7>0x0)&&appendUsageEntry(_0x5df93c,{'timestamp':new Date()[_0x32ad9f(0xe7)](),'model':_0x3a3d47['model'],'inputTokens':_0xcf438f,'outputTokens':_0x59d6d7,'contextSignature':_0x13d095,'profile':this[_0x32ad9f(0x119)][_0x32ad9f(0xf2)]?.[_0x32ad9f(0xc4)]?.[_0x32ad9f(0xdb)],'chatId':_0x1bbe57['chatId']||undefined})[_0x32ad9f(0xe9)](_0x32edbd=>{const _0x414b74=_0x32ad9f;this[_0x414b74(0xd8)][_0x414b74(0xb8)]('Failed\x20to\x20log\x20usage\x20entry\x20on\x20error:\x20'+_0x32edbd);});const _0x59c94d=_0x56c692 instanceof Error?_0x56c692[_0x32ad9f(0xa5)]:_0x32ad9f(0xad);this[_0x32ad9f(0xd8)][_0x32ad9f(0x80)]('[PROXY\x20ERROR]\x20Streaming\x20error:',_0x56c692),this[_0x32ad9f(0xd8)][_0x32ad9f(0x80)]('Context:',JSON[_0x32ad9f(0xe8)]({'chatId':_0x1bbe57[_0x32ad9f(0x128)],'agentId':_0x1bbe57[_0x32ad9f(0xcd)],'model':_0x3a3d47[_0x32ad9f(0xf6)],'sessionId':_0x5df93c,'contextSignature':_0x13d095})),_0x1bbe57[_0x32ad9f(0x128)]='',this['logger']['warn'](_0x32ad9f(0xed));const _0x48742a=formatAnthropicSSE({'type':_0x32ad9f(0x80),'error':{'type':'api_error','message':_0x59c94d},'request_id':_0x231b1f});_0x119fa6[_0x32ad9f(0x125)]['write'](_0x48742a),_0x119fa6[_0x32ad9f(0x125)][_0x32ad9f(0x103)]();}}else this[_0x32ad9f(0xd8)][_0x32ad9f(0x80)](_0x32ad9f(0xea)),_0x119fa6[_0x32ad9f(0xbc)](0x1f5)[_0x32ad9f(0x110)]({'type':'error','error':{'type':_0x32ad9f(0xdd),'message':'Non-streaming\x20responses\x20are\x20not\x20yet\x20supported'}});}async[a58_0x3294ed(0x8c)](_0x1cb2d6){const _0x56edc2=a58_0x3294ed,_0x37622c=_0x1cb2d6['body'],_0x37849a=estimateInputTokensFromRequest(_0x37622c);return this[_0x56edc2(0xd8)][_0x56edc2(0x123)](_0x1cb2d6['method']+'\x20'+_0x1cb2d6[_0x56edc2(0x8e)]+':\x20estimated\x20input_tokens='+_0x37849a),{'input_tokens':_0x37849a};}async['start'](){const _0x3bc1aa=a58_0x3294ed;try{await this[_0x3bc1aa(0xd2)][_0x3bc1aa(0xcb)]({'port':this['config'][_0x3bc1aa(0x7b)],'host':_0x3bc1aa(0x114)}),this[_0x3bc1aa(0xd8)][_0x3bc1aa(0x123)](_0x3bc1aa(0xc0)+this['config'][_0x3bc1aa(0x7b)]),this['cleanupInterval']=setInterval(()=>{const _0x4d2011=_0x3bc1aa;this[_0x4d2011(0x9d)]();},CLEANUP_INTERVAL_MS),this[_0x3bc1aa(0xd8)][_0x3bc1aa(0xb9)]('Started\x20cache\x20cleanup\x20interval\x20(runs\x20every\x20'+CLEANUP_INTERVAL_MS/0x3e8+_0x3bc1aa(0xd9)+CACHE_EXPIRATION_MS/0x3e8+'s)');}catch(_0x2ec7f2){const _0x42ad5d=_0x2ec7f2 instanceof Error?_0x2ec7f2[_0x3bc1aa(0xa5)]:'Unknown\x20error';throw new Error(_0x3bc1aa(0xfd)+_0x42ad5d);}}async['stop'](){const _0x4a4da7=a58_0x3294ed;this[_0x4a4da7(0x102)]&&(clearInterval(this[_0x4a4da7(0x102)]),this['cleanupInterval']=undefined),await this[_0x4a4da7(0xd2)][_0x4a4da7(0x7d)]();}[a58_0x3294ed(0x76)](){const _0x16dd19=a58_0x3294ed,_0x55a8cf=this[_0x16dd19(0xd2)][_0x16dd19(0xd2)][_0x16dd19(0xef)]();if(typeof _0x55a8cf==='string')return _0x55a8cf;if(_0x55a8cf)return _0x16dd19(0x7a)+_0x55a8cf[_0x16dd19(0xef)]+':'+_0x55a8cf[_0x16dd19(0x7b)];return _0x16dd19(0xf3)+this[_0x16dd19(0x119)][_0x16dd19(0x7b)];}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
const a59_0x426b13=a59_0x9be1;function a59_0x5d8a(){const _0xa9b39b=['11333160lBinFu','getSessionCount','get','217ngnIlc','set','push','sessions','801455JHUBjw','\x20not\x20found','getSession','clear','lastUsedAt','4ajQtkF','chats','cleanupExpiredChats','15059nrsToX','now','1405587MAlgKu','188622hJBylf','getOrCreateChat','size','10310832hIMXmU','maxChatsPerSession','delete','6ebViJM','getTotalChatCount','config','values','572133fSjrUT','18310lLswjY'];a59_0x5d8a=function(){return _0xa9b39b;};return a59_0x5d8a();}function a59_0x9be1(_0x4b31f2,_0x2188b9){_0x4b31f2=_0x4b31f2-0xbe;const _0x5d8afc=a59_0x5d8a();let _0x9be164=_0x5d8afc[_0x4b31f2];return _0x9be164;}(function(_0x53d5ef,_0x111857){const _0x4156c4=a59_0x9be1,_0xa8c345=_0x53d5ef();while(!![]){try{const _0x4e2722=parseInt(_0x4156c4(0xd2))/0x1+-parseInt(_0x4156c4(0xce))/0x2*(-parseInt(_0x4156c4(0xc7))/0x3)+-parseInt(_0x4156c4(0xc2))/0x4*(parseInt(_0x4156c4(0xdb))/0x5)+parseInt(_0x4156c4(0xc8))/0x6*(-parseInt(_0x4156c4(0xd7))/0x7)+-parseInt(_0x4156c4(0xcb))/0x8+-parseInt(_0x4156c4(0xd4))/0x9+-parseInt(_0x4156c4(0xd3))/0xa*(-parseInt(_0x4156c4(0xc5))/0xb);if(_0x4e2722===_0x111857)break;else _0xa8c345['push'](_0xa8c345['shift']());}catch(_0x5db36c){_0xa8c345['push'](_0xa8c345['shift']());}}}(a59_0x5d8a,0xc3a93));export class SessionCache{[a59_0x426b13(0xda)];['config'];constructor(_0x6ca2a4){const _0x4bd19e=a59_0x426b13;this[_0x4bd19e(0xd0)]=_0x6ca2a4,this[_0x4bd19e(0xda)]=new Map();}['getOrCreateSession'](_0x226ad3,_0xeff634){const _0x568680=a59_0x426b13;let _0xd26799=this[_0x568680(0xda)][_0x568680(0xd6)](_0x226ad3);return!_0xd26799&&(_0xd26799={'projectId':_0xeff634,'chats':new Map()},this[_0x568680(0xda)]['set'](_0x226ad3,_0xd26799)),_0xd26799;}[a59_0x426b13(0xbf)](_0x69391a){const _0x37a134=a59_0x426b13;return this[_0x37a134(0xda)]['get'](_0x69391a);}[a59_0x426b13(0xc9)](_0x431e02,_0x3e5027,_0x831b6c){const _0x3a649e=a59_0x426b13,_0x3e4769=this[_0x3a649e(0xda)][_0x3a649e(0xd6)](_0x431e02);if(!_0x3e4769)throw new Error('Session\x20'+_0x431e02+_0x3a649e(0xbe));let _0x22c99a=_0x3e4769[_0x3a649e(0xc3)][_0x3a649e(0xd6)](_0x3e5027);if(!_0x22c99a){_0x22c99a={'chatId':'','agentId':_0x831b6c,'contextSignature':_0x3e5027,'embeddedSystemPrompts':new Set(),'embeddedToolsByName':new Map(),'messageHistory':[],'lastUsedAt':Date[_0x3a649e(0xc6)]()},_0x3e4769[_0x3a649e(0xc3)][_0x3a649e(0xd8)](_0x3e5027,_0x22c99a);if(_0x3e4769[_0x3a649e(0xc3)]['size']>this[_0x3a649e(0xd0)][_0x3a649e(0xcc)]){let _0x441a46=null,_0x548d3b=Date[_0x3a649e(0xc6)]();for(const [_0x2888bb,_0x418296]of _0x3e4769['chats']){_0x418296[_0x3a649e(0xc1)]<_0x548d3b&&(_0x548d3b=_0x418296[_0x3a649e(0xc1)],_0x441a46=_0x2888bb);}_0x441a46&&_0x3e4769['chats'][_0x3a649e(0xcd)](_0x441a46);}}else _0x22c99a[_0x3a649e(0xc1)]=Date['now']();return _0x22c99a;}[a59_0x426b13(0xc4)](){const _0x1ca6ac=a59_0x426b13,_0x5639cd=Date[_0x1ca6ac(0xc6)]();let _0x3c3e6c=0x0;for(const [_0x524c48,_0x4ed5a8]of this[_0x1ca6ac(0xda)]){const _0x2251ce=[];for(const [_0x36e2b5,_0x29a3fa]of _0x4ed5a8[_0x1ca6ac(0xc3)]){_0x5639cd-_0x29a3fa[_0x1ca6ac(0xc1)]>this['config']['cacheExpirationMs']&&_0x2251ce[_0x1ca6ac(0xd9)](_0x36e2b5);}for(const _0x385408 of _0x2251ce){_0x4ed5a8[_0x1ca6ac(0xc3)][_0x1ca6ac(0xcd)](_0x385408),_0x3c3e6c++;}_0x4ed5a8['chats'][_0x1ca6ac(0xca)]===0x0&&this[_0x1ca6ac(0xda)]['delete'](_0x524c48);}return _0x3c3e6c;}[a59_0x426b13(0xd5)](){const _0x1757c0=a59_0x426b13;return this[_0x1757c0(0xda)][_0x1757c0(0xca)];}[a59_0x426b13(0xcf)](){const _0x434ee9=a59_0x426b13;let _0x59c709=0x0;for(const _0x20f7c5 of this[_0x434ee9(0xda)][_0x434ee9(0xd1)]()){_0x59c709+=_0x20f7c5[_0x434ee9(0xc3)][_0x434ee9(0xca)];}return _0x59c709;}['clear'](){const _0x5a1c4d=a59_0x426b13;this[_0x5a1c4d(0xda)][_0x5a1c4d(0xc0)]();}}
|