@treasuredata/tdx 0.19.2 → 0.20.0
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/agent-test-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/mcp-command.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/schedule-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/status-command.d.ts.map +1 -1
- package/dist/commands/status-command.js +1 -1
- package/dist/commands/status-command.js.map +1 -1
- package/dist/commands/tables.js +1 -1
- package/dist/commands/unset-command.js +1 -1
- package/dist/commands/use-command.js +1 -1
- package/dist/commands/user-command.js +1 -1
- package/dist/commands/workflow-command.js +1 -1
- package/dist/core/auth.d.ts +2 -2
- package/dist/core/auth.d.ts.map +1 -1
- package/dist/core/auth.js +1 -1
- package/dist/core/auth.js.map +1 -1
- package/dist/core/command-output.js +1 -1
- package/dist/core/config.d.ts +12 -20
- package/dist/core/config.d.ts.map +1 -1
- package/dist/core/config.js +1 -1
- package/dist/core/config.js.map +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.d.ts +3 -0
- package/dist/core/global-context.d.ts.map +1 -1
- package/dist/core/global-context.js +1 -1
- package/dist/core/global-context.js.map +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/mcp/server.js +1 -1
- package/dist/mcp/tools/index.js +1 -1
- package/dist/mcp/tools/tdx-run.js +1 -1
- package/dist/mcp/tools/tdx-search.js +1 -1
- package/dist/mcp/utils.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/agent/test/evaluator.js +1 -1
- package/dist/sdk/agent/test/executor.js +1 -1
- package/dist/sdk/agent/test/index.js +1 -1
- package/dist/sdk/agent/test/output.js +1 -1
- package/dist/sdk/agent/test/parser.js +1 -1
- package/dist/sdk/api.js +1 -1
- package/dist/sdk/client/cdp-api-client.js +1 -1
- package/dist/sdk/client/endpoints.js +1 -1
- package/dist/sdk/client/engage-api-client.js +1 -1
- package/dist/sdk/client/http-client.js +1 -1
- package/dist/sdk/client/llm-api-client.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/index.js.map +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/schedule.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/archive-validation.js +1 -1
- package/dist/sdk/workflow/clone-workflow.js +1 -1
- package/dist/sdk/workflow/index.js +1 -1
- package/dist/sdk/workflow/pull-workflow.js +1 -1
- package/dist/sdk/workflow/push-workflow.js +1 -1
- package/dist/sdk/workflow/tdx-config.js +1 -1
- package/dist/sdk/workflow/workflow-utils.js +1 -1
- package/dist/test-utils/command-runner.js +1 -1
- package/dist/test-utils/factories.js +1 -1
- package/dist/test-utils/fixtures.js +1 -1
- package/dist/test-utils/http-mock.js +1 -1
- package/dist/test-utils/index.js +1 -1
- package/dist/utils/async.js +1 -1
- package/dist/utils/colors.js +1 -1
- package/dist/utils/diff.js +1 -1
- package/dist/utils/file-permissions.js +1 -1
- package/dist/utils/global-cache.js +1 -1
- package/dist/utils/json-loader.js +1 -1
- package/dist/utils/local-cache.js +1 -1
- package/dist/utils/logger/formatters/default-formatter.js +1 -1
- package/dist/utils/logger/formatters/index.js +1 -1
- package/dist/utils/logger/handlers/console-handler.js +1 -1
- package/dist/utils/logger/handlers/file-handler.js +1 -1
- package/dist/utils/logger/handlers/index.js +1 -1
- package/dist/utils/logger/handlers/null-handler.js +1 -1
- package/dist/utils/logger/index.js +1 -1
- package/dist/utils/logger/logger.js +1 -1
- package/dist/utils/logger/types.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 +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0x22e237,_0x55ca33){const _0x46114c=a64_0x13f0,_0x429864=_0x22e237();while(!![]){try{const _0x236bc3=parseInt(_0x46114c(0x1d5))/0x1+-parseInt(_0x46114c(0x1e3))/0x2+parseInt(_0x46114c(0x1e8))/0x3+-parseInt(_0x46114c(0x1db))/0x4+-parseInt(_0x46114c(0x1dd))/0x5+-parseInt(_0x46114c(0x1f0))/0x6+-parseInt(_0x46114c(0x206))/0x7*(-parseInt(_0x46114c(0x1f7))/0x8);if(_0x236bc3===_0x55ca33)break;else _0x429864['push'](_0x429864['shift']());}catch(_0x2cbf7a){_0x429864['push'](_0x429864['shift']());}}}(a64_0xf043,0x3dd51));import{readFile,writeFile,appendFile,mkdir,readdir,stat}from'node:fs/promises';import{existsSync}from'node:fs';import{join,resolve}from'node:path';import{getModelPricing,calculateTokenCost,usdToAiCredits}from'../sdk/llm/model-factors.js';import{TDXLogger,LogLevel}from'../utils/tdx-logger.js';import{getGlobalCacheDir}from'../utils/global-cache.js';let usageLogger=null;async function getLogger(){const _0x2428b9=a64_0x13f0;return!usageLogger&&(usageLogger=new TDXLogger(LogLevel[_0x2428b9(0x1d4)],!![]),await usageLogger[_0x2428b9(0x1e5)]()),usageLogger;}function getUsageDir(){const _0xa6c1bf=a64_0x13f0;return join(getGlobalCacheDir(),_0xa6c1bf(0x203));}function sanitizeSessionId(_0x554c9c){const _0x19148a=a64_0x13f0;return _0x554c9c[_0x19148a(0x201)](/[^a-zA-Z0-9_-]/g,'_');}function getSafeJsonlPath(_0x37a7fb){const _0x4738aa=a64_0x13f0,_0x2ee9b2=getUsageDir(),_0x172d7e=sanitizeSessionId(_0x37a7fb),_0x10a7f4=resolve(_0x2ee9b2,_0x172d7e+'.jsonl');if(!_0x10a7f4[_0x4738aa(0x1f9)](_0x2ee9b2))throw new Error(_0x4738aa(0x1fb));return _0x10a7f4;}function getStatsCachePath(){const _0x8e0b77=a64_0x13f0;return join(getUsageDir(),_0x8e0b77(0x1ee));}async function ensureUsageDir(){const _0xe7aabd=getUsageDir();!existsSync(_0xe7aabd)&&await mkdir(_0xe7aabd,{'recursive':!![]});}export async function appendUsageEntry(_0x40f2d3,_0x197c22){const _0x207fef=a64_0x13f0,_0x1580d7=sanitizeSessionId(_0x40f2d3);await ensureUsageDir();const _0x398d33=getSafeJsonlPath(_0x1580d7),_0xa1793f=JSON['stringify'](_0x197c22)+'\x0a';await appendFile(_0x398d33,_0xa1793f,_0x207fef(0x1d2));}async function readSessionJsonl(_0x29a0b0){const _0x5c6314=a64_0x13f0,_0x5eb9a=getSafeJsonlPath(_0x29a0b0);if(!existsSync(_0x5eb9a))return[];try{const _0x2bb4bc=await readFile(_0x5eb9a,_0x5c6314(0x1d2)),_0x461f87=_0x2bb4bc['trim']()[_0x5c6314(0x200)]('\x0a')[_0x5c6314(0x208)](Boolean);return _0x461f87[_0x5c6314(0x1f4)](_0x2252c1=>{const _0x4ffe4e=_0x5c6314;try{return JSON[_0x4ffe4e(0x204)](_0x2252c1);}catch{return null;}})[_0x5c6314(0x208)](_0x2c5ba6=>_0x2c5ba6!==null);}catch(_0xd8c8d0){const _0x3d8d0f=await getLogger();return _0x3d8d0f[_0x5c6314(0x205)](_0x5c6314(0x1da)+_0x29a0b0+_0x5c6314(0x1e9),_0xd8c8d0 instanceof Error?_0xd8c8d0['message']:String(_0xd8c8d0)),[];}}async function getAllSessionFiles(){const _0x458276=a64_0x13f0,_0x423c11=getUsageDir();if(!existsSync(_0x423c11))return[];try{const _0x13a639=await readdir(_0x423c11);return _0x13a639['filter'](_0xe73988=>_0xe73988['endsWith'](_0x458276(0x202)))[_0x458276(0x1f4)](_0x31f0da=>_0x31f0da[_0x458276(0x201)](_0x458276(0x202),''));}catch(_0x3d7942){const _0xc10050=await getLogger();return _0xc10050[_0x458276(0x205)](_0x458276(0x1ce),_0x3d7942 instanceof Error?_0x3d7942[_0x458276(0x1ec)]:String(_0x3d7942)),[];}}async function readStatsCache(){const _0x49d9dc=a64_0x13f0,_0xf1414d=getStatsCachePath();if(!existsSync(_0xf1414d))return null;try{const _0xa9a793=await readFile(_0xf1414d,'utf-8'),_0x250880=JSON['parse'](_0xa9a793),_0x3dc8b8=Object['values'](_0x250880[_0x49d9dc(0x1d9)]||{})[0x0];if(_0x3dc8b8&&_0x49d9dc(0x1e4)in _0x3dc8b8)return null;return _0x250880;}catch{return null;}}async function writeStatsCache(_0x462558){const _0x5cd0b6=a64_0x13f0;await ensureUsageDir();const _0x1bb170=getStatsCachePath();await writeFile(_0x1bb170,JSON[_0x5cd0b6(0x1ef)](_0x462558,null,0x2),_0x5cd0b6(0x1d2));}async function isCacheUpToDate(_0xe3019b,_0xd92c46){const _0x11b1ff=a64_0x13f0,_0x25d680=_0xe3019b[_0x11b1ff(0x1d9)][_0xd92c46];if(!_0x25d680)return![];const _0x467420=getSafeJsonlPath(_0xd92c46);if(!existsSync(_0x467420))return!![];try{const _0x6f6930=await stat(_0x467420),_0x5c7742=new Date(_0x25d680[_0x11b1ff(0x1e0)])[_0x11b1ff(0x1f1)](),_0x2b224a=_0x6f6930[_0x11b1ff(0x1d8)][_0x11b1ff(0x1f1)]();return _0x5c7742>_0x2b224a;}catch{return![];}}function a64_0x13f0(_0x36d9c3,_0x59baa4){_0x36d9c3=_0x36d9c3-0x1cc;const _0xf04399=a64_0xf043();let _0x13f012=_0xf04399[_0x36d9c3];return _0x13f012;}export async function rebuildCache(){const _0x1ec025=a64_0x13f0,_0x32a9f8=new Date(),_0x139b15=_0x32a9f8[_0x1ec025(0x1df)]()['slice'](0x0,0xa),_0x1dabf7=_0x32a9f8[_0x1ec025(0x1df)]()[_0x1ec025(0x1d1)](0x0,0x7),_0x605edc={'daily':{},'monthly':{},'sessions':{},'profiles':{},'sources':{},'lastRebuiltAt':_0x32a9f8[_0x1ec025(0x1df)]()},_0x39e85a=await getAllSessionFiles();for(const _0x28eee8 of _0x39e85a){try{const _0xa5a657=await readSessionJsonl(_0x28eee8);if(_0xa5a657[_0x1ec025(0x1ea)]===0x0)continue;let _0x5c4409=0x0;const _0x563402={};let _0x465384='';for(const _0x2e1b9b of _0xa5a657){const _0x663d59=getModelPricing(_0x2e1b9b['model']),_0x3a8e58=calculateTokenCost(_0x2e1b9b[_0x1ec025(0x1cd)],_0x2e1b9b[_0x1ec025(0x1d6)],_0x2e1b9b[_0x1ec025(0x1f2)]??0x0,_0x2e1b9b[_0x1ec025(0x1eb)]??0x0,_0x663d59),_0x520da3=usdToAiCredits(_0x3a8e58);_0x5c4409+=_0x520da3;const _0x237812=_0x2e1b9b[_0x1ec025(0x1de)]||_0x1ec025(0x1ed);_0x563402[_0x237812]=_0x2e1b9b[_0x1ec025(0x1cd)];_0x2e1b9b[_0x1ec025(0x1e7)]>_0x465384&&(_0x465384=_0x2e1b9b[_0x1ec025(0x1e7)]);const _0x3ab90a=_0x2e1b9b[_0x1ec025(0x1e7)][_0x1ec025(0x1d1)](0x0,0xa);!_0x605edc[_0x1ec025(0x1fa)][_0x3ab90a]&&(_0x605edc[_0x1ec025(0x1fa)][_0x3ab90a]={'totalCredits':0x0,'entryCount':0x0});_0x605edc[_0x1ec025(0x1fa)][_0x3ab90a][_0x1ec025(0x1cc)]+=_0x520da3,_0x605edc[_0x1ec025(0x1fa)][_0x3ab90a][_0x1ec025(0x1d3)]+=0x1;const _0x5ecaa8=_0x2e1b9b[_0x1ec025(0x1e7)]['slice'](0x0,0x7);!_0x605edc[_0x1ec025(0x1e2)][_0x5ecaa8]&&(_0x605edc[_0x1ec025(0x1e2)][_0x5ecaa8]={'totalCredits':0x0,'entryCount':0x0});_0x605edc[_0x1ec025(0x1e2)][_0x5ecaa8][_0x1ec025(0x1cc)]+=_0x520da3,_0x605edc[_0x1ec025(0x1e2)][_0x5ecaa8][_0x1ec025(0x1d3)]+=0x1;const _0x309034=_0x2e1b9b['profile']||_0x1ec025(0x1ed);!_0x605edc['profiles'][_0x309034]&&(_0x605edc['profiles'][_0x309034]={'totalCredits':0x0,'entryCount':0x0,'lastUsedAt':'','todayCredits':0x0,'todayDate':_0x139b15,'monthCredits':0x0,'month':_0x1dabf7});_0x605edc[_0x1ec025(0x1e1)][_0x309034][_0x1ec025(0x1cc)]+=_0x520da3,_0x605edc['profiles'][_0x309034][_0x1ec025(0x1d3)]+=0x1;_0x2e1b9b[_0x1ec025(0x1e7)]>_0x605edc[_0x1ec025(0x1e1)][_0x309034][_0x1ec025(0x1d7)]&&(_0x605edc['profiles'][_0x309034][_0x1ec025(0x1d7)]=_0x2e1b9b[_0x1ec025(0x1e7)]);_0x3ab90a===_0x139b15&&(_0x605edc[_0x1ec025(0x1e1)][_0x309034][_0x1ec025(0x1fd)]+=_0x520da3);_0x5ecaa8===_0x1dabf7&&(_0x605edc[_0x1ec025(0x1e1)][_0x309034][_0x1ec025(0x207)]+=_0x520da3);const _0x503067=_0x2e1b9b['source']||'tdx-claude';!_0x605edc['sources'][_0x503067]&&(_0x605edc[_0x1ec025(0x1f5)][_0x503067]={'totalCredits':0x0,'entryCount':0x0,'todayCredits':0x0,'todayDate':_0x139b15,'monthCredits':0x0,'month':_0x1dabf7}),_0x605edc['sources'][_0x503067][_0x1ec025(0x1cc)]+=_0x520da3,_0x605edc['sources'][_0x503067][_0x1ec025(0x1d3)]+=0x1,_0x3ab90a===_0x139b15&&(_0x605edc[_0x1ec025(0x1f5)][_0x503067][_0x1ec025(0x1fd)]+=_0x520da3),_0x5ecaa8===_0x1dabf7&&(_0x605edc['sources'][_0x503067][_0x1ec025(0x207)]+=_0x520da3);}_0x605edc[_0x1ec025(0x1d9)][_0x28eee8]={'totalCredits':_0x5c4409,'latestInputTokensByContext':_0x563402,'createdAt':_0xa5a657[0x0][_0x1ec025(0x1e7)],'lastUpdatedAt':_0x465384};}catch(_0x1f0a07){const _0x18412e=await getLogger();_0x18412e[_0x1ec025(0x205)](_0x1ec025(0x1e6)+_0x28eee8+':',_0x1f0a07 instanceof Error?_0x1f0a07['message']:String(_0x1f0a07));continue;}}return cleanupOldEntries(_0x605edc),await writeStatsCache(_0x605edc),_0x605edc;}function cleanupOldEntries(_0x22bcba){const _0x10935b=a64_0x13f0,_0x30eb2f=new Date(),_0x2e326a=new Date(_0x30eb2f['getTime']()-0x7*0x18*0x3c*0x3c*0x3e8);for(const _0x137ef6 of Object[_0x10935b(0x1d0)](_0x22bcba[_0x10935b(0x1fa)])){new Date(_0x137ef6)<_0x2e326a&&delete _0x22bcba['daily'][_0x137ef6];}const _0x45efb7=new Date(_0x30eb2f[_0x10935b(0x1fc)]()-0x1,_0x30eb2f[_0x10935b(0x1cf)](),0x1);for(const _0x3c19e1 of Object[_0x10935b(0x1d0)](_0x22bcba[_0x10935b(0x1e2)])){const [_0x24665f,_0x462052]=_0x3c19e1[_0x10935b(0x200)]('-')[_0x10935b(0x1f4)](Number),_0x26f7ed=new Date(_0x24665f,_0x462052-0x1,0x1);_0x26f7ed<_0x45efb7&&delete _0x22bcba[_0x10935b(0x1e2)][_0x3c19e1];}const _0x407746=new Date(_0x30eb2f[_0x10935b(0x1f1)]()-0x1e*0x18*0x3c*0x3c*0x3e8);for(const [_0x5c7d5b,_0x14aa50]of Object[_0x10935b(0x1fe)](_0x22bcba[_0x10935b(0x1d9)])){new Date(_0x14aa50[_0x10935b(0x1e0)])<_0x407746&&delete _0x22bcba[_0x10935b(0x1d9)][_0x5c7d5b];}}export async function getOrUpdateCache(_0xbd6b56){const _0x88fa5e=_0xbd6b56?sanitizeSessionId(_0xbd6b56):undefined,_0x2d3c53=await readStatsCache();if(!_0x2d3c53)return rebuildCache();if(_0x88fa5e){const _0xc4807c=await isCacheUpToDate(_0x2d3c53,_0x88fa5e);if(!_0xc4807c)return rebuildCache();}return _0x2d3c53;}export async function getSessionCredits(_0x3cb6a3){const _0x4b5601=a64_0x13f0,_0x45dd2f=sanitizeSessionId(_0x3cb6a3),_0x2d5d2e=await getOrUpdateCache(_0x45dd2f),_0x3ff18d=_0x2d5d2e[_0x4b5601(0x1d9)][_0x45dd2f];if(!_0x3ff18d)return 0x0;return _0x3ff18d[_0x4b5601(0x1cc)];}export async function getTodayCredits(){const _0x170e6f=a64_0x13f0,_0x457f05=await getOrUpdateCache(),_0x1c88d7=new Date()['toISOString']()[_0x170e6f(0x1d1)](0x0,0xa),_0x46a7a9=_0x457f05[_0x170e6f(0x1fa)][_0x1c88d7];if(!_0x46a7a9)return 0x0;return _0x46a7a9['totalCredits'];}export async function getMonthCredits(){const _0x470411=a64_0x13f0,_0xa4ef0e=await getOrUpdateCache(),_0x8c603b=new Date()[_0x470411(0x1df)]()['slice'](0x0,0x7),_0x9ad807=_0xa4ef0e[_0x470411(0x1e2)][_0x8c603b];if(!_0x9ad807)return 0x0;return _0x9ad807[_0x470411(0x1cc)];}export async function getSessionStats(_0x6e8b0e){const _0x7a4f=a64_0x13f0,_0xedcb6=sanitizeSessionId(_0x6e8b0e),_0x32451f=await getOrUpdateCache(_0xedcb6);return _0x32451f[_0x7a4f(0x1d9)][_0xedcb6]||null;}function getMaxLatestInputTokens(_0x5a2127){const _0x5d76fc=a64_0x13f0,_0x3e8672=Object['values'](_0x5a2127);if(_0x3e8672[_0x5d76fc(0x1ea)]===0x0)return 0x0;return Math['max'](..._0x3e8672);}export async function getUsageStats(_0x477672,_0x1e0e46){const _0x21f92e=a64_0x13f0,_0x878ae0=sanitizeSessionId(_0x477672),_0x506590=await getOrUpdateCache(_0x878ae0),_0x375177=_0x506590[_0x21f92e(0x1d9)][_0x878ae0],_0xce27b5=new Date()[_0x21f92e(0x1df)]()[_0x21f92e(0x1d1)](0x0,0xa),_0x334402=new Date()[_0x21f92e(0x1df)]()[_0x21f92e(0x1d1)](0x0,0x7);if(_0x1e0e46){const _0x532691=_0x506590['profiles']?.[_0x1e0e46],_0x4e9a4e=_0x532691?.['todayDate']===_0xce27b5?_0x532691[_0x21f92e(0x1fd)]:0x0,_0x1a36fb=_0x532691?.[_0x21f92e(0x1ff)]===_0x334402?_0x532691[_0x21f92e(0x207)]:0x0;return{'sessionCredits':_0x375177?_0x375177[_0x21f92e(0x1cc)]:0x0,'todayCredits':_0x4e9a4e,'monthCredits':_0x1a36fb,'latestInputTokens':_0x375177?getMaxLatestInputTokens(_0x375177[_0x21f92e(0x1f3)]):0x0};}return{'sessionCredits':_0x375177?_0x375177[_0x21f92e(0x1cc)]:0x0,'todayCredits':_0x506590[_0x21f92e(0x1fa)][_0xce27b5]?_0x506590['daily'][_0xce27b5]['totalCredits']:0x0,'monthCredits':_0x506590[_0x21f92e(0x1e2)][_0x334402]?_0x506590[_0x21f92e(0x1e2)][_0x334402][_0x21f92e(0x1cc)]:0x0,'latestInputTokens':_0x375177?getMaxLatestInputTokens(_0x375177[_0x21f92e(0x1f3)]):0x0};}export async function getAllProfileStats(){const _0x5003a6=a64_0x13f0,_0x54b117=await getOrUpdateCache(),_0x5923d5=_0x54b117[_0x5003a6(0x1e1)]||{};return Object[_0x5003a6(0x1fe)](_0x5923d5)['filter'](([,_0x1fafd6])=>_0x1fafd6&&typeof _0x1fafd6===_0x5003a6(0x1dc))[_0x5003a6(0x1f4)](([_0x1d1471,_0x8ca996])=>({'profile':_0x1d1471,'credits':_0x8ca996['totalCredits']||0x0,'entryCount':_0x8ca996[_0x5003a6(0x1d3)]||0x0,'lastUsedAt':_0x8ca996[_0x5003a6(0x1d7)]||''}))['sort']((_0x4b4919,_0x4d4224)=>_0x4d4224[_0x5003a6(0x1f8)]-_0x4b4919['credits']);}export async function getAllSourceStats(){const _0xaf2244=a64_0x13f0,_0x36d7fc=await getOrUpdateCache(),_0x1d3a4b=_0x36d7fc[_0xaf2244(0x1f5)]||{},_0x581269=new Date()[_0xaf2244(0x1df)]()[_0xaf2244(0x1d1)](0x0,0xa),_0x379012=new Date()['toISOString']()[_0xaf2244(0x1d1)](0x0,0x7);return Object[_0xaf2244(0x1fe)](_0x1d3a4b)['filter'](([,_0x4dc8f0])=>_0x4dc8f0&&typeof _0x4dc8f0===_0xaf2244(0x1dc))[_0xaf2244(0x1f4)](([_0x9aed11,_0x599e89])=>({'source':_0x9aed11,'credits':_0x599e89[_0xaf2244(0x1cc)]||0x0,'todayCredits':_0x599e89['todayDate']===_0x581269?_0x599e89['todayCredits']||0x0:0x0,'monthCredits':_0x599e89[_0xaf2244(0x1ff)]===_0x379012?_0x599e89['monthCredits']||0x0:0x0,'entryCount':_0x599e89[_0xaf2244(0x1d3)]||0x0}))['sort']((_0x2087ef,_0x2ad3e2)=>_0x2ad3e2[_0xaf2244(0x1f8)]-_0x2087ef[_0xaf2244(0x1f8)]);}function a64_0xf043(){const _0x301e81=['.jsonl','claude-usage','parse','warn','49MOCKzk','monthCredits','filter','totalCredits','inputTokens','Failed\x20to\x20read\x20usage\x20directory:','getMonth','keys','slice','utf-8','entryCount','WARN','329379fmoSEA','outputTokens','lastUsedAt','mtime','sessions','Failed\x20to\x20read\x20usage\x20file\x20','1386876rgygRa','object','686365WYvvSr','contextSignature','toISOString','lastUpdatedAt','profiles','monthly','85804YZtvRv','totalChatUnits','init','Failed\x20to\x20process\x20session\x20','timestamp','455400HQtCQR','.jsonl:','length','cacheReadInputTokens','message','default','stats-cache.json','stringify','1789434tJLcXS','getTime','cacheCreationInputTokens','latestInputTokensByContext','map','sources','reduce','682536BeCoYh','credits','startsWith','daily','Invalid\x20session\x20ID:\x20path\x20traversal\x20detected','getFullYear','todayCredits','entries','month','split','replace'];a64_0xf043=function(){return _0x301e81;};return a64_0xf043();}export async function getUsageSummary(){const _0x36e354=a64_0x13f0,_0x43d838=await getOrUpdateCache(),_0x27ccc0=_0x43d838[_0x36e354(0x1e1)]||{},_0x2770aa=new Date()[_0x36e354(0x1df)]()[_0x36e354(0x1d1)](0x0,0xa),_0x3c1b6f=new Date()[_0x36e354(0x1df)]()['slice'](0x0,0x7),_0x4c2dcf=Object['values'](_0x27ccc0)[_0x36e354(0x208)](_0x5b3241=>_0x5b3241&&typeof _0x5b3241===_0x36e354(0x1dc)),_0x15cddb=_0x4c2dcf[_0x36e354(0x1f6)]((_0x30f175,_0x2436b3)=>_0x30f175+(_0x2436b3[_0x36e354(0x1cc)]||0x0),0x0);return{'todayCredits':_0x43d838[_0x36e354(0x1fa)][_0x2770aa]?_0x43d838['daily'][_0x2770aa][_0x36e354(0x1cc)]||0x0:0x0,'monthCredits':_0x43d838[_0x36e354(0x1e2)][_0x3c1b6f]?_0x43d838[_0x36e354(0x1e2)][_0x3c1b6f][_0x36e354(0x1cc)]||0x0:0x0,'totalCredits':_0x15cddb,'profileCount':_0x4c2dcf['length']};}
|
|
1
|
+
(function(_0x548141,_0x419f98){const _0x14a453=a64_0x36dc,_0x3d32fa=_0x548141();while(!![]){try{const _0x536e77=parseInt(_0x14a453(0x15b))/0x1+parseInt(_0x14a453(0x17d))/0x2+parseInt(_0x14a453(0x174))/0x3+parseInt(_0x14a453(0x164))/0x4*(parseInt(_0x14a453(0x172))/0x5)+-parseInt(_0x14a453(0x16f))/0x6*(-parseInt(_0x14a453(0x175))/0x7)+-parseInt(_0x14a453(0x177))/0x8+parseInt(_0x14a453(0x173))/0x9*(-parseInt(_0x14a453(0x15e))/0xa);if(_0x536e77===_0x419f98)break;else _0x3d32fa['push'](_0x3d32fa['shift']());}catch(_0x258987){_0x3d32fa['push'](_0x3d32fa['shift']());}}}(a64_0x18e0,0x9992c));import{readFile,writeFile,appendFile,mkdir,readdir,stat}from'node:fs/promises';import{existsSync}from'node:fs';import{join,resolve}from'node:path';import{getModelPricing,calculateTokenCost,usdToAiCredits}from'../sdk/llm/model-factors.js';import{TDXLogger,LogLevel}from'../utils/tdx-logger.js';import{getGlobalCacheDir}from'../utils/global-cache.js';let usageLogger=null;async function getLogger(){return!usageLogger&&(usageLogger=new TDXLogger(LogLevel['WARN'],!![]),await usageLogger['init']()),usageLogger;}function getUsageDir(){const _0x36fb20=a64_0x36dc;return join(getGlobalCacheDir(),_0x36fb20(0x15d));}function sanitizeSessionId(_0x41fba7){const _0x360802=a64_0x36dc;return _0x41fba7[_0x360802(0x159)](/[^a-zA-Z0-9_-]/g,'_');}function getSafeJsonlPath(_0x4ee9b6){const _0x39e0b9=a64_0x36dc,_0x235398=getUsageDir(),_0x270fd0=sanitizeSessionId(_0x4ee9b6),_0x919a57=resolve(_0x235398,_0x270fd0+_0x39e0b9(0x165));if(!_0x919a57[_0x39e0b9(0x17f)](_0x235398))throw new Error(_0x39e0b9(0x160));return _0x919a57;}function getStatsCachePath(){return join(getUsageDir(),'stats-cache.json');}async function ensureUsageDir(){const _0x2a4aaa=getUsageDir();!existsSync(_0x2a4aaa)&&await mkdir(_0x2a4aaa,{'recursive':!![]});}export async function appendUsageEntry(_0x14921d,_0x33e0eb){const _0x1db903=a64_0x36dc,_0x4dba79=sanitizeSessionId(_0x14921d);await ensureUsageDir();const _0x2a0f0d=getSafeJsonlPath(_0x4dba79),_0x27b8a0=JSON[_0x1db903(0x146)](_0x33e0eb)+'\x0a';await appendFile(_0x2a0f0d,_0x27b8a0,_0x1db903(0x14d));}async function readSessionJsonl(_0xbfd02f){const _0x132770=a64_0x36dc,_0x47c37b=getSafeJsonlPath(_0xbfd02f);if(!existsSync(_0x47c37b))return[];try{const _0xe13e08=await readFile(_0x47c37b,'utf-8'),_0x24a999=_0xe13e08[_0x132770(0x181)]()[_0x132770(0x187)]('\x0a')[_0x132770(0x150)](Boolean);return _0x24a999[_0x132770(0x149)](_0x29788e=>{const _0x247fa8=_0x132770;try{return JSON[_0x247fa8(0x168)](_0x29788e);}catch{return null;}})[_0x132770(0x150)](_0x3ab0b2=>_0x3ab0b2!==null);}catch(_0x4a3e20){const _0x56cda3=await getLogger();return _0x56cda3[_0x132770(0x17b)](_0x132770(0x184)+_0xbfd02f+'.jsonl:',_0x4a3e20 instanceof Error?_0x4a3e20[_0x132770(0x15f)]:String(_0x4a3e20)),[];}}function a64_0x18e0(){const _0x5cb36a=['cacheReadInputTokens','12GZZmzT','todayDate','totalCredits','10JjFKLH','3987pfVMAy','1218351hZjEjH','4140115JwOIcM','sources','5685184LMUsiK','source','entries','lastUsedAt','warn','toISOString','1788956aFOFIN','Failed\x20to\x20process\x20session\x20','startsWith','todayCredits','trim','lastUpdatedAt','inputTokens','Failed\x20to\x20read\x20usage\x20file\x20','mtime','slice','split','stringify','latestInputTokensByContext','keys','map','getTime','getMonth','default','utf-8','values','totalChatUnits','filter','timestamp','sessions','object','length','getFullYear','monthCredits','Failed\x20to\x20read\x20usage\x20directory:','entryCount','replace','profiles','978006dJCvyj','outputTokens','claude-usage','58330VLcdgg','message','Invalid\x20session\x20ID:\x20path\x20traversal\x20detected','daily','month','sort','924424lXuxiX','.jsonl','reduce','monthly','parse','max','model','contextSignature','credits','endsWith'];a64_0x18e0=function(){return _0x5cb36a;};return a64_0x18e0();}async function getAllSessionFiles(){const _0x11c002=a64_0x36dc,_0x49d501=getUsageDir();if(!existsSync(_0x49d501))return[];try{const _0x412a21=await readdir(_0x49d501);return _0x412a21[_0x11c002(0x150)](_0x393e1a=>_0x393e1a[_0x11c002(0x16d)](_0x11c002(0x165)))[_0x11c002(0x149)](_0x8dee49=>_0x8dee49[_0x11c002(0x159)](_0x11c002(0x165),''));}catch(_0x285243){const _0x4e2160=await getLogger();return _0x4e2160[_0x11c002(0x17b)](_0x11c002(0x157),_0x285243 instanceof Error?_0x285243[_0x11c002(0x15f)]:String(_0x285243)),[];}}async function readStatsCache(){const _0x5c7011=a64_0x36dc,_0x2115f2=getStatsCachePath();if(!existsSync(_0x2115f2))return null;try{const _0x1c0afc=await readFile(_0x2115f2,'utf-8'),_0x1ab80f=JSON['parse'](_0x1c0afc),_0x1289f7=Object['values'](_0x1ab80f['sessions']||{})[0x0];if(_0x1289f7&&_0x5c7011(0x14f)in _0x1289f7)return null;return _0x1ab80f;}catch{return null;}}async function writeStatsCache(_0x4b5a42){const _0x1f6547=a64_0x36dc;await ensureUsageDir();const _0x488e27=getStatsCachePath();await writeFile(_0x488e27,JSON[_0x1f6547(0x146)](_0x4b5a42,null,0x2),_0x1f6547(0x14d));}async function isCacheUpToDate(_0x3f898e,_0x3026e5){const _0x576c02=a64_0x36dc,_0x34213e=_0x3f898e[_0x576c02(0x152)][_0x3026e5];if(!_0x34213e)return![];const _0x3648e5=getSafeJsonlPath(_0x3026e5);if(!existsSync(_0x3648e5))return!![];try{const _0x4e5833=await stat(_0x3648e5),_0x5012da=new Date(_0x34213e[_0x576c02(0x182)])[_0x576c02(0x14a)](),_0x550d2d=_0x4e5833[_0x576c02(0x185)][_0x576c02(0x14a)]();return _0x5012da>_0x550d2d;}catch{return![];}}export async function rebuildCache(){const _0x4675ca=a64_0x36dc,_0x13cf19=new Date(),_0x1bcd2=_0x13cf19[_0x4675ca(0x17c)]()['slice'](0x0,0xa),_0x83323=_0x13cf19['toISOString']()[_0x4675ca(0x186)](0x0,0x7),_0x59357b={'daily':{},'monthly':{},'sessions':{},'profiles':{},'sources':{},'lastRebuiltAt':_0x13cf19[_0x4675ca(0x17c)]()},_0x2008e2=await getAllSessionFiles();for(const _0x2dadbc of _0x2008e2){try{const _0x442a85=await readSessionJsonl(_0x2dadbc);if(_0x442a85[_0x4675ca(0x154)]===0x0)continue;let _0x387df0=0x0;const _0x778e02={};let _0x46ef57='';for(const _0x1dd30d of _0x442a85){const _0x16acb6=getModelPricing(_0x1dd30d[_0x4675ca(0x16a)]),_0x2c0b19=calculateTokenCost(_0x1dd30d[_0x4675ca(0x183)],_0x1dd30d[_0x4675ca(0x15c)],_0x1dd30d['cacheCreationInputTokens']??0x0,_0x1dd30d[_0x4675ca(0x16e)]??0x0,_0x16acb6),_0x23956c=usdToAiCredits(_0x2c0b19);_0x387df0+=_0x23956c;const _0x188c22=_0x1dd30d[_0x4675ca(0x16b)]||_0x4675ca(0x14c);_0x778e02[_0x188c22]=_0x1dd30d['inputTokens'];_0x1dd30d['timestamp']>_0x46ef57&&(_0x46ef57=_0x1dd30d[_0x4675ca(0x151)]);const _0x464651=_0x1dd30d[_0x4675ca(0x151)][_0x4675ca(0x186)](0x0,0xa);!_0x59357b[_0x4675ca(0x161)][_0x464651]&&(_0x59357b[_0x4675ca(0x161)][_0x464651]={'totalCredits':0x0,'entryCount':0x0});_0x59357b[_0x4675ca(0x161)][_0x464651][_0x4675ca(0x171)]+=_0x23956c,_0x59357b[_0x4675ca(0x161)][_0x464651][_0x4675ca(0x158)]+=0x1;const _0x345716=_0x1dd30d[_0x4675ca(0x151)][_0x4675ca(0x186)](0x0,0x7);!_0x59357b[_0x4675ca(0x167)][_0x345716]&&(_0x59357b[_0x4675ca(0x167)][_0x345716]={'totalCredits':0x0,'entryCount':0x0});_0x59357b[_0x4675ca(0x167)][_0x345716][_0x4675ca(0x171)]+=_0x23956c,_0x59357b[_0x4675ca(0x167)][_0x345716][_0x4675ca(0x158)]+=0x1;const _0x33548f=_0x1dd30d['profile']||'default';!_0x59357b[_0x4675ca(0x15a)][_0x33548f]&&(_0x59357b[_0x4675ca(0x15a)][_0x33548f]={'totalCredits':0x0,'entryCount':0x0,'lastUsedAt':'','todayCredits':0x0,'todayDate':_0x1bcd2,'monthCredits':0x0,'month':_0x83323});_0x59357b['profiles'][_0x33548f][_0x4675ca(0x171)]+=_0x23956c,_0x59357b[_0x4675ca(0x15a)][_0x33548f]['entryCount']+=0x1;_0x1dd30d['timestamp']>_0x59357b[_0x4675ca(0x15a)][_0x33548f][_0x4675ca(0x17a)]&&(_0x59357b['profiles'][_0x33548f]['lastUsedAt']=_0x1dd30d[_0x4675ca(0x151)]);_0x464651===_0x1bcd2&&(_0x59357b[_0x4675ca(0x15a)][_0x33548f][_0x4675ca(0x180)]+=_0x23956c);_0x345716===_0x83323&&(_0x59357b[_0x4675ca(0x15a)][_0x33548f][_0x4675ca(0x156)]+=_0x23956c);const _0x976854=_0x1dd30d[_0x4675ca(0x178)]||'tdx-claude';!_0x59357b[_0x4675ca(0x176)][_0x976854]&&(_0x59357b[_0x4675ca(0x176)][_0x976854]={'totalCredits':0x0,'entryCount':0x0,'todayCredits':0x0,'todayDate':_0x1bcd2,'monthCredits':0x0,'month':_0x83323}),_0x59357b[_0x4675ca(0x176)][_0x976854][_0x4675ca(0x171)]+=_0x23956c,_0x59357b['sources'][_0x976854]['entryCount']+=0x1,_0x464651===_0x1bcd2&&(_0x59357b[_0x4675ca(0x176)][_0x976854][_0x4675ca(0x180)]+=_0x23956c),_0x345716===_0x83323&&(_0x59357b[_0x4675ca(0x176)][_0x976854][_0x4675ca(0x156)]+=_0x23956c);}_0x59357b[_0x4675ca(0x152)][_0x2dadbc]={'totalCredits':_0x387df0,'latestInputTokensByContext':_0x778e02,'createdAt':_0x442a85[0x0][_0x4675ca(0x151)],'lastUpdatedAt':_0x46ef57};}catch(_0x3d97cc){const _0x2135a1=await getLogger();_0x2135a1['warn'](_0x4675ca(0x17e)+_0x2dadbc+':',_0x3d97cc instanceof Error?_0x3d97cc[_0x4675ca(0x15f)]:String(_0x3d97cc));continue;}}return cleanupOldEntries(_0x59357b),await writeStatsCache(_0x59357b),_0x59357b;}function cleanupOldEntries(_0xd32c49){const _0x2eb9db=a64_0x36dc,_0x406537=new Date(),_0x1a91b9=new Date(_0x406537[_0x2eb9db(0x14a)]()-0x7*0x18*0x3c*0x3c*0x3e8);for(const _0x19b741 of Object[_0x2eb9db(0x148)](_0xd32c49[_0x2eb9db(0x161)])){new Date(_0x19b741)<_0x1a91b9&&delete _0xd32c49['daily'][_0x19b741];}const _0x5c921c=new Date(_0x406537[_0x2eb9db(0x155)]()-0x1,_0x406537[_0x2eb9db(0x14b)](),0x1);for(const _0x2ed1f6 of Object[_0x2eb9db(0x148)](_0xd32c49[_0x2eb9db(0x167)])){const [_0x3a6744,_0xfc7255]=_0x2ed1f6[_0x2eb9db(0x187)]('-')[_0x2eb9db(0x149)](Number),_0x185c1d=new Date(_0x3a6744,_0xfc7255-0x1,0x1);_0x185c1d<_0x5c921c&&delete _0xd32c49[_0x2eb9db(0x167)][_0x2ed1f6];}const _0x414894=new Date(_0x406537['getTime']()-0x1e*0x18*0x3c*0x3c*0x3e8);for(const [_0x3c3908,_0x50f79d]of Object['entries'](_0xd32c49['sessions'])){new Date(_0x50f79d['lastUpdatedAt'])<_0x414894&&delete _0xd32c49[_0x2eb9db(0x152)][_0x3c3908];}}export async function getOrUpdateCache(_0x5d0ba1){const _0x3d354d=_0x5d0ba1?sanitizeSessionId(_0x5d0ba1):undefined,_0x1da2c7=await readStatsCache();if(!_0x1da2c7)return rebuildCache();if(_0x3d354d){const _0x6e6fa4=await isCacheUpToDate(_0x1da2c7,_0x3d354d);if(!_0x6e6fa4)return rebuildCache();}return _0x1da2c7;}export async function getSessionCredits(_0x22b316){const _0x581bbd=a64_0x36dc,_0xe8b659=sanitizeSessionId(_0x22b316),_0x2759eb=await getOrUpdateCache(_0xe8b659),_0x451e60=_0x2759eb['sessions'][_0xe8b659];if(!_0x451e60)return 0x0;return _0x451e60[_0x581bbd(0x171)];}function a64_0x36dc(_0x1d4ece,_0x14dc31){_0x1d4ece=_0x1d4ece-0x146;const _0x18e088=a64_0x18e0();let _0x36dcc2=_0x18e088[_0x1d4ece];return _0x36dcc2;}export async function getTodayCredits(){const _0x4b7f88=a64_0x36dc,_0x2303cd=await getOrUpdateCache(),_0x4d93a0=new Date()['toISOString']()[_0x4b7f88(0x186)](0x0,0xa),_0x2cef2f=_0x2303cd[_0x4b7f88(0x161)][_0x4d93a0];if(!_0x2cef2f)return 0x0;return _0x2cef2f[_0x4b7f88(0x171)];}export async function getMonthCredits(){const _0x304456=a64_0x36dc,_0x5104d5=await getOrUpdateCache(),_0x30166d=new Date()[_0x304456(0x17c)]()[_0x304456(0x186)](0x0,0x7),_0x2adde8=_0x5104d5[_0x304456(0x167)][_0x30166d];if(!_0x2adde8)return 0x0;return _0x2adde8[_0x304456(0x171)];}export async function getSessionStats(_0x1f8933){const _0x30c50a=sanitizeSessionId(_0x1f8933),_0x5ee44d=await getOrUpdateCache(_0x30c50a);return _0x5ee44d['sessions'][_0x30c50a]||null;}function getMaxLatestInputTokens(_0x4b8fc2){const _0xd2d315=a64_0x36dc,_0x5f51b6=Object[_0xd2d315(0x14e)](_0x4b8fc2);if(_0x5f51b6[_0xd2d315(0x154)]===0x0)return 0x0;return Math[_0xd2d315(0x169)](..._0x5f51b6);}export async function getUsageStats(_0x29fd1,_0x19c039){const _0x19740c=a64_0x36dc,_0x51b6ed=sanitizeSessionId(_0x29fd1),_0x455b47=await getOrUpdateCache(_0x51b6ed),_0x54f295=_0x455b47[_0x19740c(0x152)][_0x51b6ed],_0x55785a=new Date()['toISOString']()['slice'](0x0,0xa),_0xd24277=new Date()[_0x19740c(0x17c)]()[_0x19740c(0x186)](0x0,0x7);if(_0x19c039){const _0x4b42c1=_0x455b47[_0x19740c(0x15a)]?.[_0x19c039],_0x44317c=_0x4b42c1?.[_0x19740c(0x170)]===_0x55785a?_0x4b42c1[_0x19740c(0x180)]:0x0,_0x319b0e=_0x4b42c1?.[_0x19740c(0x162)]===_0xd24277?_0x4b42c1[_0x19740c(0x156)]:0x0;return{'sessionCredits':_0x54f295?_0x54f295[_0x19740c(0x171)]:0x0,'todayCredits':_0x44317c,'monthCredits':_0x319b0e,'latestInputTokens':_0x54f295?getMaxLatestInputTokens(_0x54f295[_0x19740c(0x147)]):0x0};}return{'sessionCredits':_0x54f295?_0x54f295[_0x19740c(0x171)]:0x0,'todayCredits':_0x455b47['daily'][_0x55785a]?_0x455b47[_0x19740c(0x161)][_0x55785a]['totalCredits']:0x0,'monthCredits':_0x455b47[_0x19740c(0x167)][_0xd24277]?_0x455b47[_0x19740c(0x167)][_0xd24277]['totalCredits']:0x0,'latestInputTokens':_0x54f295?getMaxLatestInputTokens(_0x54f295[_0x19740c(0x147)]):0x0};}export async function getAllProfileStats(){const _0x5ed340=a64_0x36dc,_0x2b517c=await getOrUpdateCache(),_0x349dcd=_0x2b517c[_0x5ed340(0x15a)]||{};return Object[_0x5ed340(0x179)](_0x349dcd)[_0x5ed340(0x150)](([,_0x1ec2bc])=>_0x1ec2bc&&typeof _0x1ec2bc===_0x5ed340(0x153))[_0x5ed340(0x149)](([_0xdfc700,_0x24b77c])=>({'profile':_0xdfc700,'credits':_0x24b77c['totalCredits']||0x0,'entryCount':_0x24b77c[_0x5ed340(0x158)]||0x0,'lastUsedAt':_0x24b77c[_0x5ed340(0x17a)]||''}))[_0x5ed340(0x163)]((_0x3b39ed,_0x1a25b4)=>_0x1a25b4[_0x5ed340(0x16c)]-_0x3b39ed[_0x5ed340(0x16c)]);}export async function getAllSourceStats(){const _0x51916f=a64_0x36dc,_0x3fdabe=await getOrUpdateCache(),_0x4138ba=_0x3fdabe[_0x51916f(0x176)]||{},_0x7a8c14=new Date()[_0x51916f(0x17c)]()[_0x51916f(0x186)](0x0,0xa),_0x4cdae4=new Date()[_0x51916f(0x17c)]()[_0x51916f(0x186)](0x0,0x7);return Object['entries'](_0x4138ba)[_0x51916f(0x150)](([,_0x2ff94f])=>_0x2ff94f&&typeof _0x2ff94f===_0x51916f(0x153))[_0x51916f(0x149)](([_0x581ca6,_0x3596e1])=>({'source':_0x581ca6,'credits':_0x3596e1[_0x51916f(0x171)]||0x0,'todayCredits':_0x3596e1['todayDate']===_0x7a8c14?_0x3596e1[_0x51916f(0x180)]||0x0:0x0,'monthCredits':_0x3596e1[_0x51916f(0x162)]===_0x4cdae4?_0x3596e1['monthCredits']||0x0:0x0,'entryCount':_0x3596e1[_0x51916f(0x158)]||0x0}))['sort']((_0x3b9c6,_0x134722)=>_0x134722['credits']-_0x3b9c6['credits']);}export async function getUsageSummary(){const _0x1fb9bd=a64_0x36dc,_0x3c8151=await getOrUpdateCache(),_0x2c2ed6=_0x3c8151[_0x1fb9bd(0x15a)]||{},_0x1f5647=new Date()[_0x1fb9bd(0x17c)]()['slice'](0x0,0xa),_0xeb2a0=new Date()[_0x1fb9bd(0x17c)]()['slice'](0x0,0x7),_0x870a81=Object[_0x1fb9bd(0x14e)](_0x2c2ed6)['filter'](_0x12adc3=>_0x12adc3&&typeof _0x12adc3===_0x1fb9bd(0x153)),_0x1cb7e8=_0x870a81[_0x1fb9bd(0x166)]((_0x229b71,_0x1c26c8)=>_0x229b71+(_0x1c26c8['totalCredits']||0x0),0x0);return{'todayCredits':_0x3c8151[_0x1fb9bd(0x161)][_0x1f5647]?_0x3c8151['daily'][_0x1f5647]['totalCredits']||0x0:0x0,'monthCredits':_0x3c8151[_0x1fb9bd(0x167)][_0xeb2a0]?_0x3c8151[_0x1fb9bd(0x167)][_0xeb2a0][_0x1fb9bd(0x171)]||0x0:0x0,'totalCredits':_0x1cb7e8,'profileCount':_0x870a81['length']};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x5c3141,_0x46bc0c){const _0x36bdb6=a65_0x44ec,_0x453a89=_0x5c3141();while(!![]){try{const _0x217755=parseInt(_0x36bdb6(0xbe))/0x1*(parseInt(_0x36bdb6(0xb2))/0x2)+-parseInt(_0x36bdb6(0xaa))/0x3+-parseInt(_0x36bdb6(0xb0))/0x4+-parseInt(_0x36bdb6(0xb7))/0x5*(parseInt(_0x36bdb6(0xa8))/0x6)+-parseInt(_0x36bdb6(0xac))/0x7+-parseInt(_0x36bdb6(0xb9))/0x8+parseInt(_0x36bdb6(0xa7))/0x9*(parseInt(_0x36bdb6(0xa9))/0xa);if(_0x217755===_0x46bc0c)break;else _0x453a89['push'](_0x453a89['shift']());}catch(_0x153cfa){_0x453a89['push'](_0x453a89['shift']());}}}(a65_0x2bf6,0xa4e2f));function a65_0x44ec(_0x149628,_0x342773){_0x149628=_0x149628-0xa7;const _0x2bf635=a65_0x2bf6();let _0x44ecdf=_0x2bf635[_0x149628];return _0x44ecdf;}import{createHash}from'crypto';function a65_0x2bf6(){const _0x511ae5=['2545257psQKmU','hex','5187651EeXYJc','keys','stringify','properties','3199616hoGiMg','sha256','597968hoThKg','filter','substring','required','input_schema','145005aqtGsn','name','6702136lgsXbh','localeCompare','map','sort','update','3hsEjda','33053661cinmdT','138LmBpsc','10wBxldB'];a65_0x2bf6=function(){return _0x511ae5;};return a65_0x2bf6();}import{extractModelAlias,resolveModelAlias}from'../sdk/llm/model-aliases.js';export function calculateContextSignature(_0x2bc82c,_0x378d71,_0x1c3c74,_0xc38431){const _0x621a62=a65_0x44ec,_0x13db93=extractModelAlias(_0x2bc82c),_0x3529a8=resolveModelAlias(_0x13db93),_0x3b98f0=[..._0x378d71||[]]['sort'](),_0x5ba738=(_0x1c3c74||[])[_0x621a62(0xb3)](_0x5b403e=>_0x5b403e!=null)[_0x621a62(0xbb)](_0x5660fb=>({'name':_0x5660fb[_0x621a62(0xb8)],'params':Object[_0x621a62(0xad)](_0x5660fb[_0x621a62(0xb6)]?.[_0x621a62(0xaf)]||{})[_0x621a62(0xbc)](),'required':(_0x5660fb[_0x621a62(0xb6)]?.[_0x621a62(0xb5)]||[])[_0x621a62(0xbc)]()}))[_0x621a62(0xbc)]((_0x55b5b1,_0x2042e0)=>_0x55b5b1[_0x621a62(0xb8)][_0x621a62(0xba)](_0x2042e0[_0x621a62(0xb8)])),_0x102cba=JSON[_0x621a62(0xae)]({'model':_0x3529a8,'prompts':_0x3b98f0,'tools':_0x5ba738,'reasoning':_0xc38431});return createHash(_0x621a62(0xb1))[_0x621a62(0xbd)](_0x102cba)['digest'](_0x621a62(0xab))[_0x621a62(0xb4)](0x0,0x10);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x440f6b,_0x37d96b){const _0x3aa7ae=a66_0x26af,_0x4ec686=_0x440f6b();while(!![]){try{const _0x31e639=-parseInt(_0x3aa7ae(0x12c))/0x1*(parseInt(_0x3aa7ae(0x12a))/0x2)+parseInt(_0x3aa7ae(0x12f))/0x3*(parseInt(_0x3aa7ae(0x122))/0x4)+-parseInt(_0x3aa7ae(0x11e))/0x5*(parseInt(_0x3aa7ae(0x120))/0x6)+-parseInt(_0x3aa7ae(0x118))/0x7+-parseInt(_0x3aa7ae(0x111))/0x8+-parseInt(_0x3aa7ae(0x133))/0x9+-parseInt(_0x3aa7ae(0x12b))/0xa*(-parseInt(_0x3aa7ae(0x129))/0xb);if(_0x31e639===_0x37d96b)break;else _0x4ec686['push'](_0x4ec686['shift']());}catch(_0x54c81c){_0x4ec686['push'](_0x4ec686['shift']());}}}(a66_0x5c04,0xaebc8));export function formatConversationHistory(_0x1cfb67){const _0x2e8dec=a66_0x26af;if(!_0x1cfb67||!Array[_0x2e8dec(0x10c)](_0x1cfb67))return'';const _0x325c65=_0x1cfb67[_0x2e8dec(0x117)](_0x2d862d=>_0x2d862d!=null)[_0x2e8dec(0x11a)](_0x1ec227=>{const _0x903ec7=_0x2e8dec,_0x4160f5=[],_0x372860=[];if(_0x1ec227['content']!=null&&Array['isArray'](_0x1ec227[_0x903ec7(0x11c)]))for(const _0x3d8d1a of _0x1ec227[_0x903ec7(0x11c)]){if(!_0x3d8d1a)continue;if(_0x3d8d1a['type']===_0x903ec7(0x126)&&_0x3d8d1a[_0x903ec7(0x126)])_0x4160f5[_0x903ec7(0x11b)](_0x3d8d1a['text']);else{if(_0x3d8d1a['type']==='tool_use'&&_0x3d8d1a[_0x903ec7(0x113)]){const _0x5938df=_0x3d8d1a[_0x903ec7(0x124)]?JSON[_0x903ec7(0x134)](_0x3d8d1a[_0x903ec7(0x124)]):'{}';_0x372860[_0x903ec7(0x11b)](_0x903ec7(0x11f)+_0x3d8d1a[_0x903ec7(0x113)]+_0x903ec7(0x135)+(_0x3d8d1a['id']||'unknown')+_0x903ec7(0x10f)+_0x5938df+_0x903ec7(0x132));}else{if(_0x3d8d1a['type']===_0x903ec7(0x116)&&_0x3d8d1a[_0x903ec7(0x10e)]){let _0x477c47='';if(typeof _0x3d8d1a[_0x903ec7(0x11c)]===_0x903ec7(0x11d))_0x477c47=_0x3d8d1a[_0x903ec7(0x11c)];else _0x3d8d1a[_0x903ec7(0x11c)]!=null&&Array['isArray'](_0x3d8d1a[_0x903ec7(0x11c)])&&(_0x477c47=_0x3d8d1a['content'][_0x903ec7(0x117)](_0x6550eb=>_0x6550eb&&_0x6550eb[_0x903ec7(0x10d)]===_0x903ec7(0x126)&&_0x6550eb[_0x903ec7(0x126)])[_0x903ec7(0x11a)](_0x5c4fef=>_0x5c4fef[_0x903ec7(0x126)])[_0x903ec7(0x123)]('\x0a'));const _0x1f5245=_0x3d8d1a[_0x903ec7(0x12d)]?_0x903ec7(0x12e):'';_0x372860['push'](_0x903ec7(0x119)+_0x3d8d1a[_0x903ec7(0x10e)]+'\x22'+_0x1f5245+']\x0a'+_0x477c47);}}}}else typeof _0x1ec227['content']===_0x903ec7(0x11d)&&_0x1ec227[_0x903ec7(0x11c)]&&_0x4160f5['push'](_0x1ec227[_0x903ec7(0x11c)]);if(_0x4160f5[_0x903ec7(0x128)]===0x0&&_0x372860['length']===0x0)return null;const _0x9c6517=_0x1ec227['role']===_0x903ec7(0x115)?_0x903ec7(0x112):_0x903ec7(0x114),_0xb3fe8b=[];return(_0x4160f5[_0x903ec7(0x128)]>0x0||_0x1ec227[_0x903ec7(0x130)]===_0x903ec7(0x110)&&_0x372860[_0x903ec7(0x128)]>0x0)&&_0xb3fe8b[_0x903ec7(0x11b)](_0x9c6517+'\x0a'+_0x4160f5[_0x903ec7(0x123)]('\x0a\x0a')),_0xb3fe8b[_0x903ec7(0x11b)](..._0x372860),_0xb3fe8b[_0x903ec7(0x123)]('\x0a\x0a');})[_0x2e8dec(0x117)](_0x465cc1=>_0x465cc1!=null&&_0x465cc1[_0x2e8dec(0x128)]>0x0)['join']('\x0a\x0a');return _0x325c65?_0x325c65+_0x2e8dec(0x127):'';}function a66_0x5c04(){const _0x15cf99=['157863YigzAe','role','slice','\x0a</tool_use>','1989684hXztWa','stringify','\x22\x20id=\x22','isArray','type','tool_use_id','\x22>\x0a','assistant','202200IBynws','[user]','name','[assistant]','user','tool_result','filter','7050344kvajgU','[tool_result\x20tool_use_id=\x22','map','push','content','string','10Yeszwz','<tool_use\x20name=\x22','505716TyJufb','message.content\x20must\x20be\x20a\x20string\x20or\x20array,\x20got:\x20','52gRmmpM','join','input','pop','text','\x0a\x0a[chat\x20history\x20end]','length','72325SHXAHP','36zCWtZI','4340lbAwJW','77766skzcxC','is_error','\x20error=\x22true\x22'];a66_0x5c04=function(){return _0x15cf99;};return a66_0x5c04();}function a66_0x26af(_0x1678e2,_0x570501){_0x1678e2=_0x1678e2-0x10c;const _0x5c047f=a66_0x5c04();let _0x26af45=_0x5c047f[_0x1678e2];return _0x26af45;}export function calculateConversationDelta(_0x4cd044,_0x22b10a){const _0xd0a986=a66_0x26af;if(_0x22b10a[_0xd0a986(0x128)]===0x0)return _0x4cd044;const _0x597982=_0x22b10a['length'];return _0x4cd044[_0xd0a986(0x131)](_0x597982);}export function extractLastUserMessage(_0x45ef81,_0x8415c3){const _0x4ff9b4=a66_0x26af;let _0x3b9167=_0x45ef81['filter'](_0x5cc910=>_0x5cc910['role']===_0x4ff9b4(0x115))[_0x4ff9b4(0x125)]();if(!_0x3b9167){_0x3b9167=_0x8415c3[_0x4ff9b4(0x117)](_0x27229a=>_0x27229a[_0x4ff9b4(0x130)]===_0x4ff9b4(0x115))[_0x4ff9b4(0x125)]();if(!_0x3b9167)return{'message':null,'text':null,'error':'No\x20user\x20message\x20found\x20in\x20request'};}if(typeof _0x3b9167['content']===_0x4ff9b4(0x11d))return{'message':_0x3b9167,'text':_0x3b9167[_0x4ff9b4(0x11c)],'error':null};if(_0x3b9167[_0x4ff9b4(0x11c)]!=null&&Array['isArray'](_0x3b9167[_0x4ff9b4(0x11c)])){const _0x378dbb=_0x3b9167[_0x4ff9b4(0x11c)][_0x4ff9b4(0x117)](_0x3fc286=>_0x3fc286&&_0x3fc286[_0x4ff9b4(0x10d)]===_0x4ff9b4(0x126)&&_0x3fc286[_0x4ff9b4(0x126)])[_0x4ff9b4(0x11a)](_0x6975e2=>_0x6975e2[_0x4ff9b4(0x126)])[_0x4ff9b4(0x123)]('\x0a');return{'message':_0x3b9167,'text':_0x378dbb,'error':null};}return{'message':_0x3b9167,'text':null,'error':_0x4ff9b4(0x121)+typeof _0x3b9167[_0x4ff9b4(0x11c)]+'\x20'+_0x3b9167['content']};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a67_0x3d94ef=a67_0x3423;(function(_0xcac63e,_0x32a9f2){const _0x46ae0c=a67_0x3423,_0x4903d6=_0xcac63e();while(!![]){try{const _0x29a444=parseInt(_0x46ae0c(0x226))/0x1*(parseInt(_0x46ae0c(0x1df))/0x2)+parseInt(_0x46ae0c(0x1c8))/0x3*(parseInt(_0x46ae0c(0x1f2))/0x4)+-parseInt(_0x46ae0c(0x227))/0x5*(-parseInt(_0x46ae0c(0x1f5))/0x6)+parseInt(_0x46ae0c(0x1d1))/0x7+parseInt(_0x46ae0c(0x1d7))/0x8*(-parseInt(_0x46ae0c(0x1dc))/0x9)+parseInt(_0x46ae0c(0x1ec))/0xa+parseInt(_0x46ae0c(0x1e9))/0xb*(-parseInt(_0x46ae0c(0x1be))/0xc);if(_0x29a444===_0x32a9f2)break;else _0x4903d6['push'](_0x4903d6['shift']());}catch(_0x364e52){_0x4903d6['push'](_0x4903d6['shift']());}}}(a67_0x55e5,0x5d8d2));function a67_0x3423(_0x5663fe,_0x19e55a){_0x5663fe=_0x5663fe-0x1a9;const _0x55e516=a67_0x55e5();let _0x34234b=_0x55e516[_0x5663fe];return _0x34234b;}import a67_0x11606d from'fastify';function a67_0x55e5(){const _0x4b7a74=['stream','[PASSTHROUGH]\x20Failed\x20to\x20log\x20usage:','6964ivbXxP','text','status','logger','no-cache','setupRoutes','[PASSTHROUGH]\x20','messages','OPTIONS','Authorization','506aGihBY','usage','has','1046060EosGCg','[PASSTHROUGH\x20PROXY\x20ERROR]:','user-agent','timeoutMs','debug','system','21388lwPQgB','method','entries','6lDEoCa','name','[PASSTHROUGH]\x20Forwarding\x20count_tokens\x20to:\x20',':\x20messages=','llmProxyUrl','timeout','application/json','startsWith','close','Content-Type','match','header','metadata','api_error','cache_read_input_tokens','input_tokens','haiku','outputTokens','timeout_error','isArray','port','unknown','logUsage','anthropic-version','/v1/messages/count_tokens','buildForwardHeaders','processChunk','register','post','info','headers','keep-alive','start','stringify','tdx/','string','setupJsonParser','/v1/messages',',\x20stream=','Unknown\x20error','[PASSTHROUGH]\x20Failed\x20to\x20forward\x20request:','error','[PASSTHROUGH]\x20Usage:\x20input=','url','writeHead','toISOString','body','[PASSTHROUGH]\x20Upstream\x20error:\x20','tdx','46EJIecl','631160qTVkUj',',\x20cache_create=','/health','getUsage','x-td-','code','User-Agent','server','SKIP_HEADERS','handleStreamingResponse','cacheReadInputTokens','setupMiddleware','apiKey','handleCountTokens','parse','X-TD-Client','tdx-claude','config','127.0.0.1','addContentTypeParser','profile','cacheCreationInputTokens','Pass-through\x20proxy\x20server\x20started\x20on\x20port\x20','raw','[PASSTHROUGH]\x20Failed\x20to\x20forward\x20count_tokens\x20request:','getReader','x-api-key','default','TimeoutError','send','getAddress','inputTokens','159780EIiCXW','message',',\x20output=','connection','handleMessages','Failed\x20to\x20connect\x20to\x20TD\x20LLM\x20Proxy:\x20','event:\x20error\x0adata:\x20','Request\x20to\x20TD\x20LLM\x20Proxy\x20timed\x20out\x20after\x20','read','get','423ywpkqG','GET','end','setErrorHandler','model','cache_creation_input_tokens','Forwarding\x20to:\x20','Error\x20body:\x20','write','2268504NXTnMX','TD\x20LLM\x20Pass-through\x20Proxy\x20Server','join','POST','host',',\x20model=','8MgJbqg','stream_error','Pass-through\x20proxy\x20server\x20stopped','user_id','includes','4259997NlKXOI'];a67_0x55e5=function(){return _0x4b7a74;};return a67_0x55e5();}import a67_0x3865c3 from'@fastify/cors';import{SSEUsageTracker}from'./sse-usage-parser.js';import{appendUsageEntry}from'./claude-usage-tracker.js';import{getVersion}from'../core/version.js';const DEFAULT_TIMEOUT_MS=0x5*0x3c*0x3e8,TDX_SYSTEM_PROMPT='You\x20are\x20`tdx\x20claude`,\x20an\x20extension\x20of\x20Claude\x20Code\x20with\x20tdx\x20CLI\x20tools\x20(https://tdx.treasuredata.com/)\x20and\x20skills\x20for\x20Treasure\x20Data\x20and\x20CDP.\x0a\x0aFor\x20Treasure\x20Data\x20tasks,\x20use\x20these\x20skills:\x0a\x0a|\x20Task\x20|\x20Skill\x20|\x0a|------|-------|\x0a|\x20tdx\x20CLI\x20operations\x20(databases,\x20tables,\x20queries)\x20|\x20tdx-skills:tdx-basic\x20|\x0a|\x20CDP\x20parent\x20segments\x20(YAML\x20config)\x20|\x20tdx-skills:parent-segment\x20|\x0a|\x20CDP\x20child\x20segments\x20(rules,\x20activations)\x20|\x20tdx-skills:segment\x20|\x0a|\x20Validate\x20segment\x20YAML\x20|\x20tdx-skills:validate-segment\x20|\x0a|\x20CDP\x20journeys\x20(stages,\x20steps)\x20|\x20tdx-skills:journey\x20|\x0a|\x20Validate\x20journey\x20YAML\x20|\x20tdx-skills:validate-journey\x20|\x0a|\x20Configure\x20activations\x20|\x20tdx-skills:connector-config\x20|\x0a|\x20Build\x20LLM\x20agents\x20|\x20tdx-skills:agent\x20|\x0a|\x20Write\x20agent\x20system\x20prompts\x20|\x20tdx-skills:agent-prompt\x20|\x0a|\x20TD\x20Trino\x20SQL\x20queries\x20|\x20sql-skills:trino\x20|\x0a|\x20TD\x20Hive\x20SQL\x20queries\x20|\x20sql-skills:hive\x20|\x0a|\x20Time\x20filtering\x20(td_interval,\x20partition\x20pruning)\x20|\x20sql-skills:time-filtering\x20|\x0a|\x20Optimize\x20slow\x20Trino\x20queries\x20|\x20sql-skills:trino-optimizer\x20|\x0a|\x20Convert\x20Trino\x20to\x20Hive\x20(memory\x20errors)\x20|\x20sql-skills:trino-to-hive-migration\x20|\x0a|\x20Treasure\x20Workflow\x20(.dig\x20files)\x20|\x20workflow-skills:digdag\x20|\x0a|\x20Debug/manage\x20workflows\x20|\x20workflow-skills:workflow-management\x20|\x0a|\x20dbt\x20with\x20TD\x20Trino\x20|\x20workflow-skills:dbt\x20|\x0a|\x20JavaScript\x20SDK\x20(browser\x20tracking)\x20|\x20sdk-skills:javascript\x20|\x0a|\x20Python\x20SDK\x20(pytd,\x20pandas)\x20|\x20sdk-skills:python\x20|';function extractSessionUUID(_0x4ed94f){const _0x46766e=a67_0x3423,_0x5c6114=_0x4ed94f[_0x46766e(0x1ff)](/_session_([a-f0-9-]+)$/i);if(_0x5c6114)return _0x5c6114[0x1];return _0x4ed94f;}export function injectSystemPrompt(_0x2f10f2,_0x93646d){const _0x45da65=a67_0x3423,_0x4091a3=_0x2f10f2[_0x45da65(0x1f1)];if(!_0x4091a3)return{..._0x2f10f2,'system':_0x93646d};if(typeof _0x4091a3===_0x45da65(0x218))return{..._0x2f10f2,'system':_0x93646d+'\x0a\x0a'+_0x4091a3};if(Array['isArray'](_0x4091a3)){const _0x2f665b={'type':_0x45da65(0x1e0),'text':_0x93646d};return{..._0x2f10f2,'system':[_0x2f665b,..._0x4091a3]};}return _0x2f10f2;}export function shouldInjectSystemPrompt(_0x22426a){const _0x31bd2c=a67_0x3423;return!_0x22426a['toLowerCase']()[_0x31bd2c(0x1db)](_0x31bd2c(0x205));}export class PassThroughProxyServer{[a67_0x3d94ef(0x22e)];[a67_0x3d94ef(0x1af)];['logger'];constructor(_0xb6cb50){const _0x55c4f2=a67_0x3d94ef;this[_0x55c4f2(0x1af)]=_0xb6cb50,this[_0x55c4f2(0x1e2)]=_0xb6cb50[_0x55c4f2(0x1e2)],this['server']=a67_0x11606d({'logger':![],'bodyLimit':0x40*0x400*0x400}),this[_0x55c4f2(0x219)](),this[_0x55c4f2(0x1a9)](),this[_0x55c4f2(0x1e4)]();}[a67_0x3d94ef(0x219)](){const _0x184fce=a67_0x3d94ef;this[_0x184fce(0x22e)][_0x184fce(0x1b1)](_0x184fce(0x1fb),{'parseAs':_0x184fce(0x218)},(_0x168b97,_0x2ce0a1,_0x33f8c7)=>{const _0x330c90=_0x184fce;try{const _0x250ca8=JSON[_0x330c90(0x1ac)](_0x2ce0a1);_0x33f8c7(null,_0x250ca8);}catch(_0x98500c){_0x33f8c7(_0x98500c,undefined);}});}[a67_0x3d94ef(0x1a9)](){const _0x1f96ed=a67_0x3d94ef;this[_0x1f96ed(0x22e)][_0x1f96ed(0x210)](a67_0x3865c3,{'origin':!![],'methods':[_0x1f96ed(0x1c9),_0x1f96ed(0x1d4),_0x1f96ed(0x1e7)],'allowedHeaders':[_0x1f96ed(0x1fe),_0x1f96ed(0x1e8),_0x1f96ed(0x20c),_0x1f96ed(0x1b8)]}),this[_0x1f96ed(0x22e)][_0x1f96ed(0x1cb)]((_0x38f726,_0xe72ea6,_0x96d470)=>{const _0x3a835a=_0x1f96ed,_0xa1b06c=_0x38f726 instanceof Error?_0x38f726['message']:_0x3a835a(0x21c);this[_0x3a835a(0x1e2)][_0x3a835a(0x21e)](_0x3a835a(0x1ed),_0x38f726),_0x96d470[_0x3a835a(0x22c)](0x1f4)[_0x3a835a(0x1bb)]({'type':_0x3a835a(0x21e),'error':{'type':_0x3a835a(0x202),'message':_0xa1b06c}});});}['setupRoutes'](){const _0x43cf33=a67_0x3d94ef;this[_0x43cf33(0x22e)][_0x43cf33(0x1c7)](_0x43cf33(0x229),async()=>{const _0x2e95ab=_0x43cf33;return{'status':'ok','message':_0x2e95ab(0x1d2)};}),this[_0x43cf33(0x22e)]['post'](_0x43cf33(0x21a),async(_0x533065,_0xe7fc46)=>{const _0x25ba37=_0x43cf33;return this[_0x25ba37(0x1c2)](_0x533065,_0xe7fc46);}),this[_0x43cf33(0x22e)][_0x43cf33(0x211)](_0x43cf33(0x20d),async(_0x381d9f,_0x14f547)=>{return this['handleCountTokens'](_0x381d9f,_0x14f547);});}static [a67_0x3d94ef(0x22f)]=new Set([a67_0x3d94ef(0x1d5),a67_0x3d94ef(0x1c1),'content-length','transfer-encoding','authorization','x-api-key',a67_0x3d94ef(0x1ee)]);[a67_0x3d94ef(0x20e)](_0x14f70e){const _0x8151b4=a67_0x3d94ef,_0x3bb82b={};for(const [_0x1d3f2b,_0x4c1010]of Object[_0x8151b4(0x1f4)](_0x14f70e[_0x8151b4(0x213)])){const _0xe46f73=_0x1d3f2b['toLowerCase']();if(PassThroughProxyServer['SKIP_HEADERS'][_0x8151b4(0x1eb)](_0xe46f73))continue;if(_0xe46f73[_0x8151b4(0x1fc)](_0x8151b4(0x22b)))continue;if(typeof _0x4c1010===_0x8151b4(0x218))_0x3bb82b[_0x1d3f2b]=_0x4c1010;else Array[_0x8151b4(0x208)](_0x4c1010)&&(_0x3bb82b[_0x1d3f2b]=_0x4c1010[_0x8151b4(0x1d3)](',\x20'));}const _0x4c2ac2=getVersion();return _0x3bb82b[_0x8151b4(0x1e8)]='TD1\x20'+this['config'][_0x8151b4(0x1aa)],_0x3bb82b[_0x8151b4(0x22d)]=_0x8151b4(0x217)+_0x4c2ac2,_0x3bb82b[_0x8151b4(0x1ad)]=_0x8151b4(0x225),_0x3bb82b['X-TD-Client-Version']=_0x4c2ac2,_0x3bb82b;}async[a67_0x3d94ef(0x1c2)](_0x40c257,_0x1dcdae){const _0x4e9500=a67_0x3d94ef,_0x1004e6=_0x40c257['body'],_0x25c25c=_0x1004e6[_0x4e9500(0x1dd)]!==![],_0x4fe57c=_0x1004e6[_0x4e9500(0x201)],_0x111f0d=_0x4fe57c?.[_0x4e9500(0x1da)]||_0x4e9500(0x1b9),_0x45bc3b=extractSessionUUID(_0x111f0d),_0x2b4662=_0x1004e6['model']||_0x4e9500(0x20a),_0x4295c5=shouldInjectSystemPrompt(_0x2b4662)?injectSystemPrompt(_0x1004e6,TDX_SYSTEM_PROMPT):_0x1004e6,_0x29a6fd=JSON[_0x4e9500(0x216)](_0x4295c5),_0x3f3f44=Array['isArray'](_0x1004e6[_0x4e9500(0x1e6)])?_0x1004e6['messages']['length']:0x0;this['logger'][_0x4e9500(0x212)](_0x4e9500(0x1e5)+_0x40c257[_0x4e9500(0x1f3)]+'\x20'+_0x40c257[_0x4e9500(0x220)]+_0x4e9500(0x1f8)+_0x3f3f44+_0x4e9500(0x1d6)+_0x2b4662+_0x4e9500(0x21b)+_0x25c25c);const _0x49034f=this[_0x4e9500(0x1af)][_0x4e9500(0x1f9)]+_0x4e9500(0x21a),_0x323ef8=this[_0x4e9500(0x20e)](_0x40c257);this['logger']['debug'](_0x4e9500(0x1ce)+_0x49034f);const _0x1deab6=this[_0x4e9500(0x1af)][_0x4e9500(0x1ef)]||DEFAULT_TIMEOUT_MS;try{const _0x5c9c45=await fetch(_0x49034f,{'method':_0x4e9500(0x1d4),'headers':_0x323ef8,'body':_0x29a6fd,'signal':AbortSignal[_0x4e9500(0x1fa)](_0x1deab6)});if(!_0x5c9c45['ok']){const _0xc41f31=await _0x5c9c45[_0x4e9500(0x1e0)]();return this[_0x4e9500(0x1e2)][_0x4e9500(0x21e)](_0x4e9500(0x224)+_0x5c9c45[_0x4e9500(0x1e1)]+'\x20'+_0x5c9c45['statusText']),this[_0x4e9500(0x1e2)]['debug'](_0x4e9500(0x1cf)+_0xc41f31),_0x1dcdae[_0x4e9500(0x22c)](_0x5c9c45[_0x4e9500(0x1e1)]),_0x1dcdae[_0x4e9500(0x200)](_0x4e9500(0x1fe),_0x5c9c45['headers']['get'](_0x4e9500(0x1fe))||'application/json'),_0x1dcdae[_0x4e9500(0x1bb)](_0xc41f31);}if(_0x25c25c&&_0x5c9c45[_0x4e9500(0x223)])await this[_0x4e9500(0x230)](_0x5c9c45[_0x4e9500(0x223)],_0x1dcdae,_0x45bc3b,_0x2b4662);else{const _0x49c52e=await _0x5c9c45['text']();_0x1dcdae[_0x4e9500(0x200)]('Content-Type',_0x5c9c45['headers']['get'](_0x4e9500(0x1fe))||_0x4e9500(0x1fb));try{const _0x4246c3=JSON['parse'](_0x49c52e);_0x4246c3[_0x4e9500(0x1ea)]&&await this[_0x4e9500(0x20b)](_0x45bc3b,_0x2b4662,_0x4246c3['usage'][_0x4e9500(0x204)]||0x0,_0x4246c3[_0x4e9500(0x1ea)]['output_tokens']||0x0,_0x4246c3[_0x4e9500(0x1ea)][_0x4e9500(0x1cd)],_0x4246c3['usage'][_0x4e9500(0x203)]);}catch{}return _0x1dcdae[_0x4e9500(0x1bb)](_0x49c52e);}}catch(_0x26856d){const _0x1169b8=_0x26856d instanceof Error?_0x26856d[_0x4e9500(0x1bf)]:_0x4e9500(0x21c),_0x537e08=_0x26856d instanceof Error&&_0x26856d[_0x4e9500(0x1f6)]===_0x4e9500(0x1ba);this[_0x4e9500(0x1e2)][_0x4e9500(0x21e)](_0x4e9500(0x21d),_0x26856d),_0x1dcdae['code'](_0x537e08?0x1f8:0x1f7)[_0x4e9500(0x1bb)]({'type':_0x4e9500(0x21e),'error':{'type':_0x537e08?_0x4e9500(0x207):_0x4e9500(0x202),'message':_0x537e08?_0x4e9500(0x1c5)+_0x1deab6+'ms':_0x4e9500(0x1c3)+_0x1169b8}});}}async['handleStreamingResponse'](_0x4a1e26,_0x107ac7,_0xe45694,_0x7100b2){const _0x1bbdd1=a67_0x3d94ef;_0x107ac7[_0x1bbdd1(0x1b5)][_0x1bbdd1(0x221)](0xc8,{'Content-Type':'text/event-stream','Cache-Control':_0x1bbdd1(0x1e3),'Connection':_0x1bbdd1(0x214)});const _0x5172fb=new SSEUsageTracker(),_0x8ddf7e=_0x4a1e26[_0x1bbdd1(0x1b7)](),_0x5592da=new TextDecoder();try{while(!![]){const {done:_0x762e6b,value:_0x4e62b7}=await _0x8ddf7e[_0x1bbdd1(0x1c6)]();if(_0x762e6b)break;const _0x9973da=_0x5592da['decode'](_0x4e62b7,{'stream':!![]});_0x5172fb[_0x1bbdd1(0x20f)](_0x9973da),_0x107ac7['raw']['write'](_0x9973da);}const _0x505272=_0x5172fb[_0x1bbdd1(0x22a)]();(_0x505272[_0x1bbdd1(0x1bd)]>0x0||_0x505272['outputTokens']>0x0)&&await this[_0x1bbdd1(0x20b)](_0xe45694,_0x7100b2,_0x505272[_0x1bbdd1(0x1bd)],_0x505272[_0x1bbdd1(0x206)],_0x505272[_0x1bbdd1(0x1b3)],_0x505272[_0x1bbdd1(0x231)]);}catch(_0x15f8c5){this[_0x1bbdd1(0x1e2)][_0x1bbdd1(0x21e)]('[PASSTHROUGH]\x20Stream\x20error:',_0x15f8c5);const _0x42ae62=_0x1bbdd1(0x1c4)+JSON['stringify']({'type':_0x1bbdd1(0x21e),'error':{'type':_0x1bbdd1(0x1d8),'message':'Stream\x20interrupted'}})+'\x0a\x0a';_0x107ac7['raw'][_0x1bbdd1(0x1d0)](_0x42ae62);}finally{_0x107ac7[_0x1bbdd1(0x1b5)][_0x1bbdd1(0x1ca)]();}}async[a67_0x3d94ef(0x1ab)](_0x21aa49,_0x5ee42d){const _0x38345f=a67_0x3d94ef,_0x58d270=_0x21aa49['body'],_0x5865dc=this[_0x38345f(0x1af)]['llmProxyUrl']+'/v1/messages/count_tokens',_0x35aa57=this[_0x38345f(0x20e)](_0x21aa49),_0x440ea3=_0x58d270[_0x38345f(0x1cc)]||_0x38345f(0x20a),_0x3068e3=shouldInjectSystemPrompt(_0x440ea3)?injectSystemPrompt(_0x58d270,TDX_SYSTEM_PROMPT):_0x58d270,_0x3fd6d0=JSON[_0x38345f(0x216)](_0x3068e3);this[_0x38345f(0x1e2)][_0x38345f(0x1f0)](_0x38345f(0x1f7)+_0x5865dc);const _0x285eb3=this[_0x38345f(0x1af)][_0x38345f(0x1ef)]||DEFAULT_TIMEOUT_MS;try{const _0x4678cc=await fetch(_0x5865dc,{'method':_0x38345f(0x1d4),'headers':_0x35aa57,'body':_0x3fd6d0,'signal':AbortSignal[_0x38345f(0x1fa)](_0x285eb3)}),_0x781ab=await _0x4678cc[_0x38345f(0x1e0)]();return _0x5ee42d['code'](_0x4678cc[_0x38345f(0x1e1)]),_0x5ee42d['header'](_0x38345f(0x1fe),_0x4678cc['headers'][_0x38345f(0x1c7)](_0x38345f(0x1fe))||_0x38345f(0x1fb)),_0x5ee42d[_0x38345f(0x1bb)](_0x781ab);}catch(_0x36b0d4){const _0x5a0607=_0x36b0d4 instanceof Error?_0x36b0d4[_0x38345f(0x1bf)]:_0x38345f(0x21c),_0x2290e8=_0x36b0d4 instanceof Error&&_0x36b0d4['name']===_0x38345f(0x1ba);this[_0x38345f(0x1e2)][_0x38345f(0x21e)](_0x38345f(0x1b6),_0x36b0d4),_0x5ee42d[_0x38345f(0x22c)](_0x2290e8?0x1f8:0x1f7)[_0x38345f(0x1bb)]({'type':_0x38345f(0x21e),'error':{'type':_0x2290e8?_0x38345f(0x207):'api_error','message':_0x2290e8?_0x38345f(0x1c5)+_0x285eb3+'ms':_0x38345f(0x1c3)+_0x5a0607}});}}async[a67_0x3d94ef(0x20b)](_0x13b78d,_0x36f95e,_0x17c8e6,_0x289dae,_0x1e765d,_0x349406){const _0x8c1534=a67_0x3d94ef,_0x4eab3f={'timestamp':new Date()[_0x8c1534(0x222)](),'model':_0x36f95e,'inputTokens':_0x17c8e6,'outputTokens':_0x289dae,'cacheCreationInputTokens':_0x1e765d,'cacheReadInputTokens':_0x349406,'profile':this[_0x8c1534(0x1af)][_0x8c1534(0x1b2)],'source':_0x8c1534(0x1ae)},_0x8e2de0=_0x1e765d||_0x349406?_0x8c1534(0x228)+(_0x1e765d||0x0)+',\x20cache_read='+(_0x349406||0x0):'';this[_0x8c1534(0x1e2)][_0x8c1534(0x1f0)](_0x8c1534(0x21f)+_0x17c8e6+_0x8c1534(0x1c0)+_0x289dae+_0x8e2de0+',\x20model='+_0x36f95e);try{await appendUsageEntry(_0x13b78d,_0x4eab3f);}catch(_0x1380bb){this[_0x8c1534(0x1e2)][_0x8c1534(0x21e)](_0x8c1534(0x1de),_0x1380bb);}}async[a67_0x3d94ef(0x215)](){const _0x2247b8=a67_0x3d94ef;await this[_0x2247b8(0x22e)]['listen']({'port':this[_0x2247b8(0x1af)][_0x2247b8(0x209)],'host':_0x2247b8(0x1b0)}),this['logger'][_0x2247b8(0x212)](_0x2247b8(0x1b4)+this[_0x2247b8(0x1af)][_0x2247b8(0x209)]),this['logger'][_0x2247b8(0x212)](_0x2247b8(0x1ce)+this[_0x2247b8(0x1af)][_0x2247b8(0x1f9)]);}async['stop'](){const _0x5503b5=a67_0x3d94ef;await this[_0x5503b5(0x22e)][_0x5503b5(0x1fd)](),this[_0x5503b5(0x1e2)][_0x5503b5(0x212)](_0x5503b5(0x1d9));}[a67_0x3d94ef(0x1bc)](){const _0x508127=a67_0x3d94ef;return'http://127.0.0.1:'+this[_0x508127(0x1af)][_0x508127(0x209)];}}
|
|
1
|
+
function a67_0x29a1(){const _0x2c5d87=['x-api-key',',\x20output=','model','TD\x20LLM\x20Pass-through\x20Proxy\x20Server','text/event-stream','http://127.0.0.1:','Authorization','handleCountTokens','Content-Type','method','user_id','match','apiKey','cache_creation_input_tokens','toISOString','127.0.0.1','cache_read_input_tokens','inputTokens','join','Unknown\x20error','llmProxyUrl','timeout','name','setupJsonParser','info','POST','haiku','output_tokens','cacheReadInputTokens','tdx-claude','27QokVgt','Stream\x20interrupted','/v1/messages','port','has','buildForwardHeaders','status','[PASSTHROUGH]\x20Failed\x20to\x20forward\x20request:','unknown','X-TD-Client-Version','stop','223611pFVDVC','statusText','Pass-through\x20proxy\x20server\x20stopped','start','tdx/','listen','tdx','outputTokens','40GIJMfN','isArray','timeout_error','getReader',',\x20cache_create=','getUsage','default','includes','setupMiddleware','parse',',\x20model=','string','server','toLowerCase','logger','get','code','config','[PASSTHROUGH]\x20Failed\x20to\x20log\x20usage:','Error\x20body:\x20','transfer-encoding','error','cacheCreationInputTokens',':\x20messages=','24FkeyPM','GET','url','message','anthropic-version','application/json','logUsage','2486oYRhjT','api_error','content-length','system','close','/health','105471AoVIrG','headers','610fGXzcS','authorization','write','OPTIONS','text','send','register','Forwarding\x20to:\x20','27366mejcHN','[PASSTHROUGH]\x20','usage','stream_error','entries','header','User-Agent','12335aNumCj','Request\x20to\x20TD\x20LLM\x20Proxy\x20timed\x20out\x20after\x20','/v1/messages/count_tokens','raw','[PASSTHROUGH]\x20Upstream\x20error:\x20','25332YBBcoj','[PASSTHROUGH]\x20Forwarding\x20count_tokens\x20to:\x20','body','1182580GVjcQf','profile','handleStreamingResponse','keep-alive','Failed\x20to\x20connect\x20to\x20TD\x20LLM\x20Proxy:\x20','stringify','length','debug','timeoutMs','2070FKnrYU','TD1\x20','TimeoutError','x-td-','SKIP_HEADERS','16313440hRZJZK','messages','handleMessages','setupRoutes'];a67_0x29a1=function(){return _0x2c5d87;};return a67_0x29a1();}const a67_0x4802ab=a67_0x4d2f;(function(_0x7a1250,_0x1c456f){const _0x40c005=a67_0x4d2f,_0x4d22c3=_0x7a1250();while(!![]){try{const _0x3dff3c=parseInt(_0x40c005(0x1c5))/0x1*(-parseInt(_0x40c005(0x186))/0x2)+parseInt(_0x40c005(0x1d0))/0x3*(parseInt(_0x40c005(0x1d8))/0x4)+-parseInt(_0x40c005(0x18d))/0x5*(parseInt(_0x40c005(0x19e))/0x6)+parseInt(_0x40c005(0x195))/0x7*(-parseInt(_0x40c005(0x1f0))/0x8)+parseInt(_0x40c005(0x17c))/0x9*(parseInt(_0x40c005(0x17e))/0xa)+-parseInt(_0x40c005(0x176))/0xb*(parseInt(_0x40c005(0x192))/0xc)+parseInt(_0x40c005(0x1a3))/0xd;if(_0x3dff3c===_0x1c456f)break;else _0x4d22c3['push'](_0x4d22c3['shift']());}catch(_0x1b2ca9){_0x4d22c3['push'](_0x4d22c3['shift']());}}}(a67_0x29a1,0x7cab7));import a67_0x5b6f2c from'fastify';function a67_0x4d2f(_0x336b36,_0x31350c){_0x336b36=_0x336b36-0x175;const _0x29a198=a67_0x29a1();let _0x4d2fb9=_0x29a198[_0x336b36];return _0x4d2fb9;}import a67_0x237ff6 from'@fastify/cors';import{SSEUsageTracker}from'./sse-usage-parser.js';import{appendUsageEntry}from'./claude-usage-tracker.js';import{getVersion}from'../core/version.js';const DEFAULT_TIMEOUT_MS=0x5*0x3c*0x3e8,TDX_SYSTEM_PROMPT='You\x20are\x20`tdx\x20claude`,\x20an\x20extension\x20of\x20Claude\x20Code\x20with\x20tdx\x20CLI\x20tools\x20(https://tdx.treasuredata.com/)\x20and\x20skills\x20for\x20Treasure\x20Data\x20and\x20CDP.\x0a\x0aFor\x20Treasure\x20Data\x20tasks,\x20use\x20these\x20skills:\x0a\x0a|\x20Task\x20|\x20Skill\x20|\x0a|------|-------|\x0a|\x20tdx\x20CLI\x20operations\x20(databases,\x20tables,\x20queries)\x20|\x20tdx-skills:tdx-basic\x20|\x0a|\x20CDP\x20parent\x20segments\x20(YAML\x20config)\x20|\x20tdx-skills:parent-segment\x20|\x0a|\x20CDP\x20child\x20segments\x20(rules,\x20activations)\x20|\x20tdx-skills:segment\x20|\x0a|\x20Validate\x20segment\x20YAML\x20|\x20tdx-skills:validate-segment\x20|\x0a|\x20CDP\x20journeys\x20(stages,\x20steps)\x20|\x20tdx-skills:journey\x20|\x0a|\x20Validate\x20journey\x20YAML\x20|\x20tdx-skills:validate-journey\x20|\x0a|\x20Configure\x20activations\x20|\x20tdx-skills:connector-config\x20|\x0a|\x20Build\x20LLM\x20agents\x20|\x20tdx-skills:agent\x20|\x0a|\x20Write\x20agent\x20system\x20prompts\x20|\x20tdx-skills:agent-prompt\x20|\x0a|\x20TD\x20Trino\x20SQL\x20queries\x20|\x20sql-skills:trino\x20|\x0a|\x20TD\x20Hive\x20SQL\x20queries\x20|\x20sql-skills:hive\x20|\x0a|\x20Time\x20filtering\x20(td_interval,\x20partition\x20pruning)\x20|\x20sql-skills:time-filtering\x20|\x0a|\x20Optimize\x20slow\x20Trino\x20queries\x20|\x20sql-skills:trino-optimizer\x20|\x0a|\x20Convert\x20Trino\x20to\x20Hive\x20(memory\x20errors)\x20|\x20sql-skills:trino-to-hive-migration\x20|\x0a|\x20Treasure\x20Workflow\x20(.dig\x20files)\x20|\x20workflow-skills:digdag\x20|\x0a|\x20Debug/manage\x20workflows\x20|\x20workflow-skills:workflow-management\x20|\x0a|\x20dbt\x20with\x20TD\x20Trino\x20|\x20workflow-skills:dbt\x20|\x0a|\x20JavaScript\x20SDK\x20(browser\x20tracking)\x20|\x20sdk-skills:javascript\x20|\x0a|\x20Python\x20SDK\x20(pytd,\x20pandas)\x20|\x20sdk-skills:python\x20|';function extractSessionUUID(_0x316127){const _0x49b07e=a67_0x4d2f,_0x12afae=_0x316127[_0x49b07e(0x1b2)](/_session_([a-f0-9-]+)$/i);if(_0x12afae)return _0x12afae[0x1];return _0x316127;}export function injectSystemPrompt(_0x51526e,_0x54df1d){const _0x335bab=a67_0x4d2f,_0xe9b110=_0x51526e[_0x335bab(0x179)];if(!_0xe9b110)return{..._0x51526e,'system':_0x54df1d};if(typeof _0xe9b110===_0x335bab(0x1e3))return{..._0x51526e,'system':_0x54df1d+'\x0a\x0a'+_0xe9b110};if(Array[_0x335bab(0x1d9)](_0xe9b110)){const _0x3795cd={'type':_0x335bab(0x182),'text':_0x54df1d};return{..._0x51526e,'system':[_0x3795cd,..._0xe9b110]};}return _0x51526e;}export function shouldInjectSystemPrompt(_0x5edf18){const _0x4414f4=a67_0x4d2f;return!_0x5edf18[_0x4414f4(0x1e5)]()[_0x4414f4(0x1df)](_0x4414f4(0x1c1));}export class PassThroughProxyServer{['server'];[a67_0x4802ab(0x1e9)];['logger'];constructor(_0x5994f7){const _0x31da68=a67_0x4802ab;this[_0x31da68(0x1e9)]=_0x5994f7,this[_0x31da68(0x1e6)]=_0x5994f7['logger'],this[_0x31da68(0x1e4)]=a67_0x5b6f2c({'logger':![],'bodyLimit':0x40*0x400*0x400}),this[_0x31da68(0x1be)](),this[_0x31da68(0x1e0)](),this[_0x31da68(0x1a6)]();}[a67_0x4802ab(0x1be)](){const _0x3c2086=a67_0x4802ab;this[_0x3c2086(0x1e4)]['addContentTypeParser'](_0x3c2086(0x1f5),{'parseAs':'string'},(_0x308a35,_0x2e0370,_0x4a9250)=>{const _0x1633f7=_0x3c2086;try{const _0x2fc2c8=JSON[_0x1633f7(0x1e1)](_0x2e0370);_0x4a9250(null,_0x2fc2c8);}catch(_0x438a30){_0x4a9250(_0x438a30,undefined);}});}[a67_0x4802ab(0x1e0)](){const _0x296eb9=a67_0x4802ab;this[_0x296eb9(0x1e4)][_0x296eb9(0x184)](a67_0x237ff6,{'origin':!![],'methods':[_0x296eb9(0x1f1),_0x296eb9(0x1c0),_0x296eb9(0x181)],'allowedHeaders':['Content-Type',_0x296eb9(0x1ad),_0x296eb9(0x1f4),_0x296eb9(0x1a7)]}),this['server']['setErrorHandler']((_0x1d2e3d,_0x5c6c20,_0x36cfce)=>{const _0x5826c5=_0x296eb9,_0x526df8=_0x1d2e3d instanceof Error?_0x1d2e3d[_0x5826c5(0x1f3)]:_0x5826c5(0x1ba);this[_0x5826c5(0x1e6)][_0x5826c5(0x1ed)]('[PASSTHROUGH\x20PROXY\x20ERROR]:',_0x1d2e3d),_0x36cfce[_0x5826c5(0x1e8)](0x1f4)['send']({'type':_0x5826c5(0x1ed),'error':{'type':_0x5826c5(0x177),'message':_0x526df8}});});}['setupRoutes'](){const _0x220181=a67_0x4802ab;this[_0x220181(0x1e4)][_0x220181(0x1e7)](_0x220181(0x17b),async()=>{const _0x5ee202=_0x220181;return{'status':'ok','message':_0x5ee202(0x1aa)};}),this['server']['post']('/v1/messages',async(_0x5749c9,_0x2ebbbc)=>{const _0x4db75d=_0x220181;return this[_0x4db75d(0x1a5)](_0x5749c9,_0x2ebbbc);}),this[_0x220181(0x1e4)]['post'](_0x220181(0x18f),async(_0x55a6f1,_0x3bcac7)=>{const _0xdc1257=_0x220181;return this[_0xdc1257(0x1ae)](_0x55a6f1,_0x3bcac7);});}static [a67_0x4802ab(0x1a2)]=new Set(['host','connection',a67_0x4802ab(0x178),a67_0x4802ab(0x1ec),a67_0x4802ab(0x17f),a67_0x4802ab(0x1a7),'user-agent']);[a67_0x4802ab(0x1ca)](_0x572d8a){const _0x56afcd=a67_0x4802ab,_0x47082b={};for(const [_0x37b75a,_0x24fe4f]of Object[_0x56afcd(0x18a)](_0x572d8a[_0x56afcd(0x17d)])){const _0x56fe53=_0x37b75a[_0x56afcd(0x1e5)]();if(PassThroughProxyServer[_0x56afcd(0x1a2)][_0x56afcd(0x1c9)](_0x56fe53))continue;if(_0x56fe53['startsWith'](_0x56afcd(0x1a1)))continue;if(typeof _0x24fe4f===_0x56afcd(0x1e3))_0x47082b[_0x37b75a]=_0x24fe4f;else Array[_0x56afcd(0x1d9)](_0x24fe4f)&&(_0x47082b[_0x37b75a]=_0x24fe4f[_0x56afcd(0x1b9)](',\x20'));}const _0x5f22b2=getVersion();return _0x47082b['Authorization']=_0x56afcd(0x19f)+this[_0x56afcd(0x1e9)][_0x56afcd(0x1b3)],_0x47082b[_0x56afcd(0x18c)]=_0x56afcd(0x1d4)+_0x5f22b2,_0x47082b['X-TD-Client']=_0x56afcd(0x1d6),_0x47082b[_0x56afcd(0x1ce)]=_0x5f22b2,_0x47082b;}async['handleMessages'](_0x4b579a,_0x5746bd){const _0x40ff05=a67_0x4802ab,_0x329241=_0x4b579a['body'],_0x106f4b=_0x329241['stream']!==![],_0xd33fb1=_0x329241['metadata'],_0x4f24a3=_0xd33fb1?.[_0x40ff05(0x1b1)]||_0x40ff05(0x1de),_0x1284b7=extractSessionUUID(_0x4f24a3),_0x504599=_0x329241['model']||'unknown',_0x4f6512=shouldInjectSystemPrompt(_0x504599)?injectSystemPrompt(_0x329241,TDX_SYSTEM_PROMPT):_0x329241,_0x3b5f54=JSON['stringify'](_0x4f6512),_0xc78b20=Array[_0x40ff05(0x1d9)](_0x329241['messages'])?_0x329241[_0x40ff05(0x1a4)][_0x40ff05(0x19b)]:0x0;this[_0x40ff05(0x1e6)][_0x40ff05(0x1bf)](_0x40ff05(0x187)+_0x4b579a[_0x40ff05(0x1b0)]+'\x20'+_0x4b579a[_0x40ff05(0x1f2)]+_0x40ff05(0x1ef)+_0xc78b20+_0x40ff05(0x1e2)+_0x504599+',\x20stream='+_0x106f4b);const _0x2cec0c=this[_0x40ff05(0x1e9)][_0x40ff05(0x1bb)]+_0x40ff05(0x1c7),_0x219256=this[_0x40ff05(0x1ca)](_0x4b579a);this['logger'][_0x40ff05(0x19c)](_0x40ff05(0x185)+_0x2cec0c);const _0x9f8fd=this[_0x40ff05(0x1e9)][_0x40ff05(0x19d)]||DEFAULT_TIMEOUT_MS;try{const _0x3707bc=await fetch(_0x2cec0c,{'method':_0x40ff05(0x1c0),'headers':_0x219256,'body':_0x3b5f54,'signal':AbortSignal[_0x40ff05(0x1bc)](_0x9f8fd)});if(!_0x3707bc['ok']){const _0x144f74=await _0x3707bc[_0x40ff05(0x182)]();return this[_0x40ff05(0x1e6)]['error'](_0x40ff05(0x191)+_0x3707bc['status']+'\x20'+_0x3707bc[_0x40ff05(0x1d1)]),this[_0x40ff05(0x1e6)][_0x40ff05(0x19c)](_0x40ff05(0x1eb)+_0x144f74),_0x5746bd[_0x40ff05(0x1e8)](_0x3707bc[_0x40ff05(0x1cb)]),_0x5746bd[_0x40ff05(0x18b)](_0x40ff05(0x1af),_0x3707bc[_0x40ff05(0x17d)][_0x40ff05(0x1e7)](_0x40ff05(0x1af))||_0x40ff05(0x1f5)),_0x5746bd[_0x40ff05(0x183)](_0x144f74);}if(_0x106f4b&&_0x3707bc['body'])await this[_0x40ff05(0x197)](_0x3707bc[_0x40ff05(0x194)],_0x5746bd,_0x1284b7,_0x504599);else{const _0x26847a=await _0x3707bc[_0x40ff05(0x182)]();_0x5746bd[_0x40ff05(0x18b)](_0x40ff05(0x1af),_0x3707bc[_0x40ff05(0x17d)]['get'](_0x40ff05(0x1af))||_0x40ff05(0x1f5));try{const _0x4950d3=JSON[_0x40ff05(0x1e1)](_0x26847a);_0x4950d3[_0x40ff05(0x188)]&&await this[_0x40ff05(0x175)](_0x1284b7,_0x504599,_0x4950d3[_0x40ff05(0x188)]['input_tokens']||0x0,_0x4950d3[_0x40ff05(0x188)][_0x40ff05(0x1c2)]||0x0,_0x4950d3[_0x40ff05(0x188)][_0x40ff05(0x1b4)],_0x4950d3[_0x40ff05(0x188)][_0x40ff05(0x1b7)]);}catch{}return _0x5746bd[_0x40ff05(0x183)](_0x26847a);}}catch(_0x4ef573){const _0x506c8d=_0x4ef573 instanceof Error?_0x4ef573[_0x40ff05(0x1f3)]:_0x40ff05(0x1ba),_0x23ce7a=_0x4ef573 instanceof Error&&_0x4ef573[_0x40ff05(0x1bd)]===_0x40ff05(0x1a0);this[_0x40ff05(0x1e6)][_0x40ff05(0x1ed)](_0x40ff05(0x1cc),_0x4ef573),_0x5746bd[_0x40ff05(0x1e8)](_0x23ce7a?0x1f8:0x1f7)[_0x40ff05(0x183)]({'type':_0x40ff05(0x1ed),'error':{'type':_0x23ce7a?'timeout_error':_0x40ff05(0x177),'message':_0x23ce7a?_0x40ff05(0x18e)+_0x9f8fd+'ms':_0x40ff05(0x199)+_0x506c8d}});}}async[a67_0x4802ab(0x197)](_0x189608,_0x821e6b,_0x12c7db,_0x4732de){const _0x1a76cb=a67_0x4802ab;_0x821e6b[_0x1a76cb(0x190)]['writeHead'](0xc8,{'Content-Type':_0x1a76cb(0x1ab),'Cache-Control':'no-cache','Connection':_0x1a76cb(0x198)});const _0x217be=new SSEUsageTracker(),_0x4a07fe=_0x189608[_0x1a76cb(0x1db)](),_0x37bdb8=new TextDecoder();try{while(!![]){const {done:_0x5869fb,value:_0x5bad0b}=await _0x4a07fe['read']();if(_0x5869fb)break;const _0x4171bc=_0x37bdb8['decode'](_0x5bad0b,{'stream':!![]});_0x217be['processChunk'](_0x4171bc),_0x821e6b[_0x1a76cb(0x190)][_0x1a76cb(0x180)](_0x4171bc);}const _0x5f15d9=_0x217be[_0x1a76cb(0x1dd)]();(_0x5f15d9[_0x1a76cb(0x1b8)]>0x0||_0x5f15d9[_0x1a76cb(0x1d7)]>0x0)&&await this[_0x1a76cb(0x175)](_0x12c7db,_0x4732de,_0x5f15d9[_0x1a76cb(0x1b8)],_0x5f15d9[_0x1a76cb(0x1d7)],_0x5f15d9[_0x1a76cb(0x1ee)],_0x5f15d9[_0x1a76cb(0x1c3)]);}catch(_0x493528){this[_0x1a76cb(0x1e6)]['error']('[PASSTHROUGH]\x20Stream\x20error:',_0x493528);const _0x11c379='event:\x20error\x0adata:\x20'+JSON[_0x1a76cb(0x19a)]({'type':_0x1a76cb(0x1ed),'error':{'type':_0x1a76cb(0x189),'message':_0x1a76cb(0x1c6)}})+'\x0a\x0a';_0x821e6b['raw']['write'](_0x11c379);}finally{_0x821e6b[_0x1a76cb(0x190)]['end']();}}async[a67_0x4802ab(0x1ae)](_0x4b29d4,_0x3081b0){const _0x2fef6b=a67_0x4802ab,_0x9ac55b=_0x4b29d4[_0x2fef6b(0x194)],_0x17a01b=this[_0x2fef6b(0x1e9)][_0x2fef6b(0x1bb)]+'/v1/messages/count_tokens',_0x5a7bf5=this[_0x2fef6b(0x1ca)](_0x4b29d4),_0x2b8b39=_0x9ac55b[_0x2fef6b(0x1a9)]||_0x2fef6b(0x1cd),_0x1e8670=shouldInjectSystemPrompt(_0x2b8b39)?injectSystemPrompt(_0x9ac55b,TDX_SYSTEM_PROMPT):_0x9ac55b,_0x2ff7aa=JSON[_0x2fef6b(0x19a)](_0x1e8670);this['logger'][_0x2fef6b(0x19c)](_0x2fef6b(0x193)+_0x17a01b);const _0x48f730=this[_0x2fef6b(0x1e9)]['timeoutMs']||DEFAULT_TIMEOUT_MS;try{const _0x195f40=await fetch(_0x17a01b,{'method':_0x2fef6b(0x1c0),'headers':_0x5a7bf5,'body':_0x2ff7aa,'signal':AbortSignal[_0x2fef6b(0x1bc)](_0x48f730)}),_0x30ffa9=await _0x195f40[_0x2fef6b(0x182)]();return _0x3081b0[_0x2fef6b(0x1e8)](_0x195f40[_0x2fef6b(0x1cb)]),_0x3081b0[_0x2fef6b(0x18b)]('Content-Type',_0x195f40[_0x2fef6b(0x17d)][_0x2fef6b(0x1e7)](_0x2fef6b(0x1af))||_0x2fef6b(0x1f5)),_0x3081b0[_0x2fef6b(0x183)](_0x30ffa9);}catch(_0x38069b){const _0x4002b7=_0x38069b instanceof Error?_0x38069b[_0x2fef6b(0x1f3)]:_0x2fef6b(0x1ba),_0x998237=_0x38069b instanceof Error&&_0x38069b[_0x2fef6b(0x1bd)]===_0x2fef6b(0x1a0);this[_0x2fef6b(0x1e6)][_0x2fef6b(0x1ed)]('[PASSTHROUGH]\x20Failed\x20to\x20forward\x20count_tokens\x20request:',_0x38069b),_0x3081b0[_0x2fef6b(0x1e8)](_0x998237?0x1f8:0x1f7)[_0x2fef6b(0x183)]({'type':_0x2fef6b(0x1ed),'error':{'type':_0x998237?_0x2fef6b(0x1da):_0x2fef6b(0x177),'message':_0x998237?'Request\x20to\x20TD\x20LLM\x20Proxy\x20timed\x20out\x20after\x20'+_0x48f730+'ms':_0x2fef6b(0x199)+_0x4002b7}});}}async[a67_0x4802ab(0x175)](_0x344039,_0x1d13e7,_0x5ec95b,_0x1513d2,_0x6cd4f8,_0x1102b9){const _0x303bb8=a67_0x4802ab,_0x3d5f98={'timestamp':new Date()[_0x303bb8(0x1b5)](),'model':_0x1d13e7,'inputTokens':_0x5ec95b,'outputTokens':_0x1513d2,'cacheCreationInputTokens':_0x6cd4f8,'cacheReadInputTokens':_0x1102b9,'profile':this[_0x303bb8(0x1e9)][_0x303bb8(0x196)],'source':_0x303bb8(0x1c4)},_0x1e7d0=_0x6cd4f8||_0x1102b9?_0x303bb8(0x1dc)+(_0x6cd4f8||0x0)+',\x20cache_read='+(_0x1102b9||0x0):'';this[_0x303bb8(0x1e6)][_0x303bb8(0x19c)]('[PASSTHROUGH]\x20Usage:\x20input='+_0x5ec95b+_0x303bb8(0x1a8)+_0x1513d2+_0x1e7d0+_0x303bb8(0x1e2)+_0x1d13e7);try{await appendUsageEntry(_0x344039,_0x3d5f98);}catch(_0x4db2c2){this['logger'][_0x303bb8(0x1ed)](_0x303bb8(0x1ea),_0x4db2c2);}}async[a67_0x4802ab(0x1d3)](){const _0x48810e=a67_0x4802ab;await this[_0x48810e(0x1e4)][_0x48810e(0x1d5)]({'port':this['config'][_0x48810e(0x1c8)],'host':_0x48810e(0x1b6)}),this[_0x48810e(0x1e6)][_0x48810e(0x1bf)]('Pass-through\x20proxy\x20server\x20started\x20on\x20port\x20'+this[_0x48810e(0x1e9)][_0x48810e(0x1c8)]),this[_0x48810e(0x1e6)][_0x48810e(0x1bf)]('Forwarding\x20to:\x20'+this[_0x48810e(0x1e9)][_0x48810e(0x1bb)]);}async[a67_0x4802ab(0x1cf)](){const _0x1c0839=a67_0x4802ab;await this['server'][_0x1c0839(0x17a)](),this[_0x1c0839(0x1e6)][_0x1c0839(0x1bf)](_0x1c0839(0x1d2));}['getAddress'](){const _0x9c1ac9=a67_0x4802ab;return _0x9c1ac9(0x1ac)+this[_0x9c1ac9(0x1e9)][_0x9c1ac9(0x1c8)];}}
|
package/dist/proxy/server.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const a68_0x26d521=a68_0x2e55;(function(_0x1e3611,_0x5815c4){const _0x390aa7=a68_0x2e55,_0x2f4df7=_0x1e3611();while(!![]){try{const _0x3fbc56=parseInt(_0x390aa7(0x1d7))/0x1+parseInt(_0x390aa7(0x18d))/0x2+parseInt(_0x390aa7(0x187))/0x3+parseInt(_0x390aa7(0x147))/0x4*(parseInt(_0x390aa7(0x1a0))/0x5)+parseInt(_0x390aa7(0x186))/0x6+-parseInt(_0x390aa7(0x1b5))/0x7*(-parseInt(_0x390aa7(0x15f))/0x8)+-parseInt(_0x390aa7(0x1ba))/0x9;if(_0x3fbc56===_0x5815c4)break;else _0x2f4df7['push'](_0x2f4df7['shift']());}catch(_0x24b86b){_0x2f4df7['push'](_0x2f4df7['shift']());}}}(a68_0x9fa1,0x98b8b));import a68_0x444683 from'fastify';import a68_0xf7576c from'@fastify/cors';import{ErrorCode,SDKError}from'../sdk/index.js';function a68_0x2e55(_0x227db2,_0xbe951f){_0x227db2=_0x227db2-0x13c;const _0x9fa1c1=a68_0x9fa1();let _0x2e5552=_0x9fa1c1[_0x227db2];return _0x2e5552;}import{transformTDStreamToAnthropic,formatAnthropicSSE,generateMessageId,generateToolPrompt,extractToolResults,estimateInputTokensFromRequest}from'./anthropic-adapter.js';import{colorizeJSON,colorizeJSONCompact}from'../utils/colors.js';function a68_0x9fa1(){const _0x45f7a2=['continue','\x20|\x20','code','Failed\x20to\x20log\x20usage\x20entry:\x20','\x0a</conversation_history>','Proxy\x20server\x20started\x20at\x20localhost:','raw','Final\x20message\x20is\x20empty\x20after\x20construction\x20-\x20starting\x20fresh\x20conversation','llm','end','723102kuacoB','\x20limit','stream','type','length','Model\x20normalization:\x20','setupMiddleware',':\x20messages=','context','agentId',',\x20context=','setErrorHandler','Authorization','System\x20prompts:\x20','push','Added\x20system\x20prompt\x20previews:','message_delta','OPTIONS','port','agentCache','has','send','isArray','[CONTEXT\x20LENGTH\x20ERROR]\x20','debug','embeddedToolsByName','Waiting\x20for\x20concurrent\x20chat\x20creation\x20for\x20context:\x20','[PROXY\x20ERROR]\x20Chat\x20stream\x20is\x20undefined','metadata','Started\x20cache\x20cleanup\x20interval\x20(runs\x20every\x20',',\x20model=','method','body','new\x20tool(s)','address','no-cache','Final\x20message\x20reconstructed\x20after\x20context\x20reset:','join','4uBCbJb','http://','attributes','messages','data','isUserError',',\x20tool_names=[','start','createPromise','model',',\x20tools:\x20','cleanupInterval','[session:\x20',',\x20system_prompts=','catch',',\x20tools=','server','Embedded\x20in\x20chat\x20-\x20system\x20prompts:\x20','embeddedSystemPrompts','writeHead','[PROXY\x20ERROR]\x20Non-streaming\x20responses\x20are\x20not\x20yet\x20supported','handleRouteError',',\x20is\x20new\x20context:\x20','profile','264UvOVut','/health','[PROXY\x20ERROR]\x20Streaming\x20error:','Non-streaming\x20responses\x20are\x20not\x20yet\x20supported','sessionCache','listen','\x20messages,\x20','match','Reset\x20chat\x20ID\x20to\x20recover\x20on\x20next\x20request','handleMessages','map','Unknown\x20error','post','Failed\x20to\x20log\x20usage\x20entry\x20on\x20error:\x20','startChat',']\x20model:\x20','\x20->\x20','INVALID_REQUEST','set','\x0a---\x0a\x0a','stringify','Reset\x20chat\x20state\x20to\x20recover\x20on\x20next\x20request','new\x20system\x20prompt(s)','lastUsedAt','Failed\x20to\x20generate\x20tool\x20prompt:','Including\x20tool\x20results','getOrCreateSession','name','Failed\x20to\x20extract\x20tool\x20results:','output_tokens','toISOString','system','getAddress','http://localhost:','substring','get','setupRoutes',']\x20Continue\x20chat\x20for\x20model\x20','Validation\x20failed:\x20messages\x20array\x20is\x20required\x20and\x20must\x20not\x20be\x20empty','1545960dTrZQF','3130593EqRIwW',',\x20\x22','New\x20-\x20system\x20prompts:\x20','\x20chars.\x20Cleared\x20chat\x20state\x20for\x20session\x20','headers','/v1/messages','1849108RTLfpM','Context:','text','Failed\x20to\x20initialize\x20chat\x20stream.\x20Please\x20try\x20again.','clear','validateMessageRequest','helpText','\x20system\x20prompts,\x20','dev-us01','config','Chat\x20ID:\x20','x-api-key','url','cleanupExpiredChats','anthropic-version','Validation\x20failed:\x20tools\x20must\x20be\x20an\x20array\x20if\x20provided','usage','messageHistory','site','5565065uulveV','now','Failed\x20to\x20reconstruct\x20message\x20-\x20all\x20parts\x20are\x20empty,\x20using\x20fallback','trim','Added\x20tool\x20names:','filter','Content-Type','Failed\x20to\x20create\x20chat,\x20will\x20fall\x20back\x20to\x20lazy\x20creation:','chatId','handleCountTokens','error','TD\x20LLM\x20Proxy\x20Server','POST','stop','trace','event','\x20(reasoning:\x20','Concurrent\x20chat\x20creation\x20failed,\x20will\x20fall\x20back\x20to\x20lazy\x20creation:','thinking','logger','replace','123844JHVebh','request_too_large','write','tools','warn','36181341ipZXbK','api_error','user_id','Agent\x20cached:\x20','not_supported_error','Failed\x20to\x20start\x20proxy\x20server:\x20','\x0a\x0a<conversation_history>\x0a','info',',\x20context\x20signature:\x20',']\x20Building\x20a\x20new\x20context\x20for\x20model\x20','size','creating','tdx','message','budget_tokens','string','chats','\x20Input\x20size:\x20','close'];a68_0x9fa1=function(){return _0x45f7a2;};return a68_0x9fa1();}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(_0xacc8f1){const _0x1ebc73=a68_0x2e55,_0x287daf=_0xacc8f1[_0x1ebc73(0x166)](/_session_([a-f0-9-]+)$/i);if(_0x287daf)return _0x287daf[0x1];return _0xacc8f1;}function clearChatState(_0x49100){const _0x314f0d=a68_0x2e55;_0x49100[_0x314f0d(0x1a8)]='',_0x49100[_0x314f0d(0x159)][_0x314f0d(0x191)](),_0x49100[_0x314f0d(0x1f0)][_0x314f0d(0x191)]();}function mapBudgetTokensToReasoningEffort(_0x1f4cc6,_0x3ffb9a){const _0x48a2e7=a68_0x2e55;if(_0x3ffb9a!==_0x48a2e7(0x195))return 0x0;if(!_0x1f4cc6||_0x1f4cc6===0x0)return 0x0;if(_0x1f4cc6<=0x400)return 0x1;if(_0x1f4cc6<=0x800)return 0x2;if(_0x1f4cc6<=0x1000)return 0x3;return 0x4;}const MAX_CHATS_PER_SESSION=0xa,CACHE_EXPIRATION_MS=0xa*0x3c*0x3e8,CLEANUP_INTERVAL_MS=0x3c*0x3e8;export class ProxyServer{['server'];[a68_0x26d521(0x163)];[a68_0x26d521(0x1ea)];[a68_0x26d521(0x196)];[a68_0x26d521(0x152)];[a68_0x26d521(0x1b3)];constructor(_0x3f60a9){const _0x1f9168=a68_0x26d521;this[_0x1f9168(0x1b3)]=_0x3f60a9['logger'],this[_0x1f9168(0x196)]=_0x3f60a9,this['sessionCache']=new SessionCache({'maxChatsPerSession':MAX_CHATS_PER_SESSION,'cacheExpirationMs':CACHE_EXPIRATION_MS}),this[_0x1f9168(0x1ea)]=new Map(),this['server']=a68_0x444683({'logger':![],'bodyLimit':0x40*0x400*0x400}),this['setupMiddleware'](),this[_0x1f9168(0x183)]();}async['getAgentForModel'](_0x33fa9,_0x27dea1=0x0){const _0x2f4483=a68_0x26d521,_0x435474=extractModelAlias(_0x33fa9),_0x2b7739=resolveModelAlias(_0x435474),_0x34c97a=_0x2b7739+'_'+_0x27dea1;let _0x5dec53=this['agentCache'][_0x2f4483(0x182)](_0x34c97a);if(!_0x5dec53){this[_0x2f4483(0x1b3)]['debug'](_0x2f4483(0x1dc)+_0x33fa9+_0x2f4483(0x16f)+_0x435474+_0x2f4483(0x16f)+_0x2b7739),this[_0x2f4483(0x1b3)][_0x2f4483(0x1ef)]('Creating/looking\x20up\x20agent\x20for:\x20'+_0x2b7739+_0x2f4483(0x1b0)+_0x27dea1+')');const _0x531a22=await this[_0x2f4483(0x196)][_0x2f4483(0x1c6)][_0x2f4483(0x1d5)]['getOrCreateDefaultAgent'](_0x2b7739,_0x27dea1);_0x5dec53=_0x531a22['id'],this[_0x2f4483(0x1ea)][_0x2f4483(0x171)](_0x34c97a,_0x5dec53),this['logger'][_0x2f4483(0x1ef)](_0x2f4483(0x1bd)+_0x34c97a+_0x2f4483(0x16f)+_0x5dec53+'\x20('+_0x531a22[_0x2f4483(0x149)]['name']+')');}return _0x5dec53;}[a68_0x26d521(0x19a)](){const _0x38bbc7=a68_0x26d521;this[_0x38bbc7(0x163)][_0x38bbc7(0x19a)]();}[a68_0x26d521(0x1dd)](){const _0x79ba32=a68_0x26d521;this[_0x79ba32(0x157)]['register'](a68_0xf7576c,{'origin':!![],'methods':['GET',_0x79ba32(0x1ac),_0x79ba32(0x1e8)],'allowedHeaders':[_0x79ba32(0x1a6),_0x79ba32(0x1e3),_0x79ba32(0x19b),_0x79ba32(0x198)]}),this['server'][_0x79ba32(0x1e2)]((_0x2e1de6,_0x5cb3ef,_0x40ba2d)=>{const _0x2b223a=_0x79ba32;this[_0x2b223a(0x15c)](_0x2e1de6,_0x5cb3ef,_0x40ba2d);});}['handleRouteError'](_0x8cd1e9,_0x3759ed,_0x27ef6d){const _0x1921cb=a68_0x26d521;if(_0x8cd1e9 instanceof SDKError){const _0x57b6d7=_0x8cd1e9[_0x1921cb(0x14c)]()?0x190:0x1f4;_0x27ef6d[_0x1921cb(0x1cf)](_0x57b6d7)[_0x1921cb(0x1ec)]({'type':_0x1921cb(0x1aa),'error':{'type':_0x8cd1e9[_0x1921cb(0x1cf)],'message':_0x8cd1e9['originalMessage'],'helpText':_0x8cd1e9[_0x1921cb(0x193)]}});}else{const _0x3e7172=_0x8cd1e9 instanceof Error?_0x8cd1e9['message']:_0x1921cb(0x16a);this[_0x1921cb(0x1b3)][_0x1921cb(0x1aa)]('[PROXY\x20ERROR]\x20Unhandled\x20error\x20in\x20'+_0x3759ed[_0x1921cb(0x140)]+'\x20'+_0x3759ed['url']+':',_0x8cd1e9),_0x27ef6d[_0x1921cb(0x1cf)](0x1f4)[_0x1921cb(0x1ec)]({'type':'error','error':{'type':'api_error','message':_0x3e7172}});}}[a68_0x26d521(0x183)](){const _0x386a38=a68_0x26d521;this[_0x386a38(0x157)]['get'](_0x386a38(0x160),async()=>{const _0x10aa8a=_0x386a38;return{'status':'ok','message':_0x10aa8a(0x1ab)};}),this[_0x386a38(0x157)][_0x386a38(0x16b)](_0x386a38(0x18c),async(_0x3264e7,_0xa52acc)=>{const _0x568be7=_0x386a38;return this[_0x568be7(0x168)](_0x3264e7,_0xa52acc)[_0x568be7(0x155)](_0x36bf41=>{const _0x156863=_0x568be7;this[_0x156863(0x15c)](_0x36bf41,_0x3264e7,_0xa52acc);});}),this['server'][_0x386a38(0x16b)]('/v1/messages/count_tokens',async(_0x1d929e,_0x13a06a)=>{const _0x45351d=_0x386a38;return this[_0x45351d(0x1a9)](_0x1d929e)[_0x45351d(0x155)](_0x1bbfc0=>{const _0x3e0829=_0x45351d;this[_0x3e0829(0x15c)](_0x1bbfc0,_0x1d929e,_0x13a06a);});});}['validateMessageRequest'](_0x51b13c){const _0x512aef=a68_0x26d521;if(!_0x51b13c['messages']||!Array[_0x512aef(0x1ed)](_0x51b13c[_0x512aef(0x14a)])||_0x51b13c['messages'][_0x512aef(0x1db)]===0x0)throw new SDKError(ErrorCode[_0x512aef(0x170)],_0x512aef(0x185));if(_0x51b13c[_0x512aef(0x1b8)]&&!Array[_0x512aef(0x1ed)](_0x51b13c[_0x512aef(0x1b8)]))throw new SDKError(ErrorCode['INVALID_REQUEST'],_0x512aef(0x19c));}async[a68_0x26d521(0x168)](_0x1727f8,_0x518c57){const _0xf7e8cf=a68_0x26d521,_0x4665b9=_0x1727f8[_0xf7e8cf(0x141)];this[_0xf7e8cf(0x192)](_0x4665b9);const _0x544415=_0x4665b9[_0xf7e8cf(0x14a)]?.[_0xf7e8cf(0x1db)]??0x0,_0x1df658=_0x4665b9[_0xf7e8cf(0x150)]||'unknown';this[_0xf7e8cf(0x1b3)][_0xf7e8cf(0x1c1)](_0x1727f8[_0xf7e8cf(0x140)]+'\x20'+_0x1727f8[_0xf7e8cf(0x199)]+_0xf7e8cf(0x1de)+_0x544415+_0xf7e8cf(0x13f)+_0x1df658),this[_0xf7e8cf(0x1b3)][_0xf7e8cf(0x1ef)]('header:\x20'+colorizeJSONCompact(_0x1727f8[_0xf7e8cf(0x18b)]));this[_0xf7e8cf(0x1b3)][_0xf7e8cf(0x1ae)]&&this['logger'][_0xf7e8cf(0x1ae)](colorizeJSON(_0x4665b9,{'color':!![]}));const _0x40d8db=_0x4665b9[_0xf7e8cf(0x13d)]?.[_0xf7e8cf(0x1bc)]||'default',_0x365529=extractSessionUUID(_0x40d8db),_0x381ffd=this[_0xf7e8cf(0x163)][_0xf7e8cf(0x179)](_0x365529,this[_0xf7e8cf(0x196)]['projectId']),_0x423852=[];if(_0x4665b9['system']){if(typeof _0x4665b9[_0xf7e8cf(0x17e)]===_0xf7e8cf(0x1c9))_0x423852['push'](_0x4665b9[_0xf7e8cf(0x17e)]);else{if(Array[_0xf7e8cf(0x1ed)](_0x4665b9['system']))for(const _0x52c934 of _0x4665b9[_0xf7e8cf(0x17e)]){_0x52c934[_0xf7e8cf(0x1da)]===_0xf7e8cf(0x18f)&&_0x52c934['text']&&_0x423852[_0xf7e8cf(0x1e5)](_0x52c934['text']);}}}const _0x4d7e5b=_0x4665b9[_0xf7e8cf(0x1b8)]||[],_0x9dbfd6=_0x4665b9[_0xf7e8cf(0x1b2)]?.[_0xf7e8cf(0x1c8)],_0x2973b0=mapBudgetTokensToReasoningEffort(_0x9dbfd6,this[_0xf7e8cf(0x196)][_0xf7e8cf(0x19f)]),_0x2c2c6c=calculateContextSignature(_0x4665b9['model'],_0x423852,_0x4d7e5b,_0x2973b0);let _0x2ef5a2=_0x381ffd[_0xf7e8cf(0x1ca)][_0xf7e8cf(0x182)](_0x2c2c6c);const _0xe63b7e=!_0x2ef5a2;if(!_0x2ef5a2){const _0x3c6c94=await this['getAgentForModel'](_0x4665b9[_0xf7e8cf(0x150)],_0x2973b0);_0x2ef5a2={'chatId':'','agentId':_0x3c6c94,'contextSignature':_0x2c2c6c,'embeddedSystemPrompts':new Set(),'embeddedToolsByName':new Map(),'messageHistory':[],'lastUsedAt':Date[_0xf7e8cf(0x1a1)]()},_0x381ffd[_0xf7e8cf(0x1ca)][_0xf7e8cf(0x171)](_0x2c2c6c,_0x2ef5a2);if(_0x381ffd[_0xf7e8cf(0x1ca)]['size']>MAX_CHATS_PER_SESSION){let _0x4e05f7=null,_0x2fea22=Date['now']();for(const [_0x3241fe,_0x29077d]of _0x381ffd[_0xf7e8cf(0x1ca)]){_0x29077d[_0xf7e8cf(0x176)]<_0x2fea22&&(_0x2fea22=_0x29077d[_0xf7e8cf(0x176)],_0x4e05f7=_0x3241fe);}_0x4e05f7&&(_0x381ffd['chats']['delete'](_0x4e05f7),this[_0xf7e8cf(0x1b3)]['debug']('Evicted\x20oldest\x20chat\x20(signature:\x20'+_0x4e05f7+')\x20to\x20stay\x20under\x20'+MAX_CHATS_PER_SESSION+_0xf7e8cf(0x1d8)));}}else _0x2ef5a2[_0xf7e8cf(0x176)]=Date[_0xf7e8cf(0x1a1)]();if(!_0x2ef5a2[_0xf7e8cf(0x1a8)]){if(_0x2ef5a2[_0xf7e8cf(0x1c5)]&&_0x2ef5a2[_0xf7e8cf(0x14f)]){this['logger']['debug'](_0xf7e8cf(0x1f1)+_0x2c2c6c);try{_0x2ef5a2[_0xf7e8cf(0x1a8)]=await _0x2ef5a2[_0xf7e8cf(0x14f)];}catch(_0x780359){this[_0xf7e8cf(0x1b3)][_0xf7e8cf(0x1aa)](_0xf7e8cf(0x1b1),_0x780359);}}else{if(!_0x2ef5a2['creating']){_0x2ef5a2[_0xf7e8cf(0x1c5)]=!![],_0x2ef5a2[_0xf7e8cf(0x14f)]=((async()=>{const _0x33b863=_0xf7e8cf;try{const _0x480e62=await this[_0x33b863(0x196)][_0x33b863(0x1c6)][_0x33b863(0x1d5)][_0x33b863(0x16d)](_0x2ef5a2['agentId']);return this[_0x33b863(0x1b3)]['info']('['+_0x480e62['id']+']\x20Created\x20new\x20chat\x20for\x20model\x20'+_0x4665b9[_0x33b863(0x150)]+_0x33b863(0x1e1)+_0x2c2c6c),_0x480e62['id'];}catch(_0x2cefda){this[_0x33b863(0x1b3)][_0x33b863(0x1aa)](_0x33b863(0x1a7),_0x2cefda);throw _0x2cefda;}finally{_0x2ef5a2['creating']=![],_0x2ef5a2[_0x33b863(0x14f)]=undefined;}})());try{_0x2ef5a2[_0xf7e8cf(0x1a8)]=await _0x2ef5a2[_0xf7e8cf(0x14f)];}catch{}}}}const _0x4b08fe=_0x423852[_0xf7e8cf(0x1a5)](_0xc4b96d=>!_0x2ef5a2['embeddedSystemPrompts']['has'](_0xc4b96d)),_0x173986=_0x4d7e5b['filter'](_0x23f11d=>!_0x2ef5a2[_0xf7e8cf(0x1f0)][_0xf7e8cf(0x1eb)](_0x23f11d['name']));this[_0xf7e8cf(0x1b3)][_0xf7e8cf(0x1ef)](_0xf7e8cf(0x153)+_0x365529+_0xf7e8cf(0x16e)+_0x4665b9[_0xf7e8cf(0x150)]+_0xf7e8cf(0x1c2)+_0x2c2c6c+_0xf7e8cf(0x15d)+_0xe63b7e),this[_0xf7e8cf(0x1b3)][_0xf7e8cf(0x1ef)](_0xf7e8cf(0x197)+_0x2ef5a2[_0xf7e8cf(0x1a8)]),this[_0xf7e8cf(0x1b3)][_0xf7e8cf(0x1ef)](_0xf7e8cf(0x1e4)+_0x423852[_0xf7e8cf(0x1db)]+_0xf7e8cf(0x151)+_0x4d7e5b['length']),this[_0xf7e8cf(0x1b3)][_0xf7e8cf(0x1ef)](_0xf7e8cf(0x158)+_0x2ef5a2[_0xf7e8cf(0x159)][_0xf7e8cf(0x1c4)]+_0xf7e8cf(0x151)+_0x2ef5a2[_0xf7e8cf(0x1f0)][_0xf7e8cf(0x1c4)]),this[_0xf7e8cf(0x1b3)][_0xf7e8cf(0x1ef)](_0xf7e8cf(0x189)+_0x4b08fe[_0xf7e8cf(0x1db)]+_0xf7e8cf(0x151)+_0x173986[_0xf7e8cf(0x1db)]);_0x4b08fe[_0xf7e8cf(0x1db)]>0x0&&this[_0xf7e8cf(0x1b3)][_0xf7e8cf(0x1ef)](_0xf7e8cf(0x1e6),_0x4b08fe[_0xf7e8cf(0x169)](_0x467b41=>_0x467b41[_0xf7e8cf(0x181)](0x0,0x32)+'...')[_0xf7e8cf(0x146)](_0xf7e8cf(0x1ce)));_0x173986['length']>0x0&&this[_0xf7e8cf(0x1b3)][_0xf7e8cf(0x1ef)](_0xf7e8cf(0x1a4),_0x173986['map'](_0x6960d8=>_0x6960d8[_0xf7e8cf(0x17a)])[_0xf7e8cf(0x146)](',\x20'));const _0xce9a65=calculateConversationDelta(_0x4665b9['messages'],_0x2ef5a2[_0xf7e8cf(0x19e)]),_0x46b591=extractLastUserMessage(_0xce9a65,_0x4665b9['messages']);if(_0x46b591[_0xf7e8cf(0x1aa)])throw new SDKError(ErrorCode[_0xf7e8cf(0x170)],_0x46b591[_0xf7e8cf(0x1aa)]);const _0x268906=_0x46b591['text']||'',_0x80c514=()=>{const _0x5162c6=_0xf7e8cf,_0x11379f=[];_0x423852['length']>0x0&&_0x11379f[_0x5162c6(0x1e5)](_0x423852['join']('\x0a\x0a'));_0x4d7e5b[_0x5162c6(0x1db)]>0x0&&_0x11379f[_0x5162c6(0x1e5)](generateToolPrompt(_0x4d7e5b));if(_0x4665b9[_0x5162c6(0x14a)]&&_0x4665b9[_0x5162c6(0x14a)]['length']>0x1){const _0x20923c=formatConversationHistory(_0x4665b9['messages']);_0x20923c&&_0x11379f[_0x5162c6(0x1e5)](_0x5162c6(0x1c0)+_0x20923c+_0x5162c6(0x1d1));}return _0x11379f[_0x5162c6(0x1e5)](_0x268906),_0x11379f[_0x5162c6(0x1a5)](_0x35c422=>_0x35c422&&_0x35c422[_0x5162c6(0x1a3)]())[_0x5162c6(0x146)](_0x5162c6(0x172));};let _0x559fb1;if(_0xe63b7e){this[_0xf7e8cf(0x1b3)]['info']('['+_0x2ef5a2['chatId']+_0xf7e8cf(0x1c3)+_0x4665b9[_0xf7e8cf(0x150)]+_0xf7e8cf(0x154)+_0x423852['length']+_0xf7e8cf(0x156)+_0x4d7e5b[_0xf7e8cf(0x1db)]+_0xf7e8cf(0x14d)+_0x4d7e5b[_0xf7e8cf(0x169)](_0x5179e0=>_0x5179e0[_0xf7e8cf(0x17a)])[_0xf7e8cf(0x146)](',\x20')+']'),_0x559fb1=_0x80c514();for(const _0x169816 of _0x423852){_0x2ef5a2[_0xf7e8cf(0x159)]['add'](_0x169816);}for(const _0x265705 of _0x4d7e5b){_0x2ef5a2[_0xf7e8cf(0x1f0)][_0xf7e8cf(0x171)](_0x265705[_0xf7e8cf(0x17a)],_0x265705);}}else{const _0x1d29ab=[];_0x4b08fe[_0xf7e8cf(0x1db)]>0x0&&(_0x1d29ab[_0xf7e8cf(0x1e5)](_0x4b08fe[_0xf7e8cf(0x146)]('\x0a\x0a')),this[_0xf7e8cf(0x1b3)][_0xf7e8cf(0x1ef)]('Embedding',_0x4b08fe['length'],_0xf7e8cf(0x175)));if(_0x173986[_0xf7e8cf(0x1db)]>0x0)try{_0x1d29ab[_0xf7e8cf(0x1e5)](generateToolPrompt(_0x173986)),this[_0xf7e8cf(0x1b3)]['debug']('Embedding',_0x173986['length'],_0xf7e8cf(0x142));}catch(_0x5cf158){this[_0xf7e8cf(0x1b3)]['error'](_0xf7e8cf(0x177),_0x5cf158);}try{const _0xd3850=extractToolResults(_0xce9a65);_0xd3850&&(_0x1d29ab[_0xf7e8cf(0x1e5)](_0xd3850),this['logger']['debug'](_0xf7e8cf(0x178)));}catch(_0x1688cb){this['logger'][_0xf7e8cf(0x1aa)](_0xf7e8cf(0x17b),_0x1688cb);}_0x1d29ab[_0xf7e8cf(0x1e5)](_0x268906);const _0x10178e=_0x1d29ab['filter'](_0xacf2f4=>_0xacf2f4&&_0xacf2f4[_0xf7e8cf(0x1a3)]());_0x559fb1=_0x10178e[_0xf7e8cf(0x1db)]>0x0?_0x10178e['join'](_0xf7e8cf(0x172)):_0x268906;for(const _0x9dab1a of _0x4b08fe){_0x2ef5a2[_0xf7e8cf(0x159)]['add'](_0x9dab1a);}for(const _0x34fa85 of _0x173986){_0x2ef5a2[_0xf7e8cf(0x1f0)][_0xf7e8cf(0x171)](_0x34fa85[_0xf7e8cf(0x17a)],_0x34fa85);}}(!_0x559fb1||!_0x559fb1[_0xf7e8cf(0x1a3)]())&&(this[_0xf7e8cf(0x1b3)][_0xf7e8cf(0x1b9)](_0xf7e8cf(0x1d4)),this[_0xf7e8cf(0x1b3)][_0xf7e8cf(0x1b9)](_0xf7e8cf(0x18e),{'isNewContext':_0xe63b7e,'userMessageLength':_0x268906?.['length']||0x0,'systemPromptsCount':_0x423852[_0xf7e8cf(0x1db)],'toolsCount':_0x4d7e5b[_0xf7e8cf(0x1db)],'messagesCount':_0x4665b9['messages']?.[_0xf7e8cf(0x1db)]||0x0,'newMessagesCount':_0xce9a65['length']}),clearChatState(_0x2ef5a2),_0x559fb1=_0x80c514(),(!_0x559fb1||!_0x559fb1[_0xf7e8cf(0x1a3)]())&&(this[_0xf7e8cf(0x1b3)][_0xf7e8cf(0x1aa)](_0xf7e8cf(0x1a2)),this[_0xf7e8cf(0x1b3)]['error']('Debug\x20info:',{'systemPromptsCount':_0x423852[_0xf7e8cf(0x1db)],'toolsCount':_0x4d7e5b[_0xf7e8cf(0x1db)],'messagesCount':_0x4665b9[_0xf7e8cf(0x14a)]?.[_0xf7e8cf(0x1db)]||0x0,'userMessageLength':_0x268906?.['length']||0x0}),_0x559fb1=_0xf7e8cf(0x1cd)),this['logger'][_0xf7e8cf(0x1c1)](_0xf7e8cf(0x145),_0x559fb1[_0xf7e8cf(0x181)](0x0,0x64)+'...'));const _0x443f8e=_0x4665b9[_0xf7e8cf(0x1d9)]!==![];if(_0x443f8e){_0x518c57['raw'][_0xf7e8cf(0x15a)](0xc8,{'Content-Type':'text/event-stream','Cache-Control':_0xf7e8cf(0x144),'Connection':'keep-alive','X-Accel-Buffering':'no'});const _0x881082=generateMessageId();let _0x43a1d6=0x0,_0x29a4ff=0x0;try{if(_0x2ef5a2['chatId']){const _0xd92be5=_0x559fb1[_0xf7e8cf(0x181)](0x0,0x32)[_0xf7e8cf(0x1b4)](/\n/g,'\x20');this[_0xf7e8cf(0x1b3)][_0xf7e8cf(0x1c1)]('['+_0x2ef5a2[_0xf7e8cf(0x1a8)]+_0xf7e8cf(0x184)+_0x4665b9[_0xf7e8cf(0x150)]+',\x20context='+_0x2c2c6c+',\x20'+_0x4665b9[_0xf7e8cf(0x14a)][_0xf7e8cf(0x1db)]+_0xf7e8cf(0x165)+_0x423852[_0xf7e8cf(0x1db)]+_0xf7e8cf(0x194)+_0x4d7e5b[_0xf7e8cf(0x1db)]+'\x20tools,\x20message_size='+_0x559fb1[_0xf7e8cf(0x1db)]+_0xf7e8cf(0x188)+_0xd92be5+'...\x22');}const _0x2a7337=this[_0xf7e8cf(0x196)][_0xf7e8cf(0x1c6)][_0xf7e8cf(0x1d5)]['chat'](_0x559fb1,{'chatId':_0x2ef5a2[_0xf7e8cf(0x1a8)]||undefined,'agentId':_0x2ef5a2[_0xf7e8cf(0x1a8)]?undefined:_0x2ef5a2[_0xf7e8cf(0x1e0)]});if(!_0x2a7337){this[_0xf7e8cf(0x1b3)][_0xf7e8cf(0x1aa)](_0xf7e8cf(0x13c)),this[_0xf7e8cf(0x1b3)]['error']('Context:',JSON[_0xf7e8cf(0x173)]({'chatId':_0x2ef5a2['chatId'],'agentId':_0x2ef5a2[_0xf7e8cf(0x1e0)],'model':_0x4665b9[_0xf7e8cf(0x150)],'sessionId':_0x365529,'contextSignature':_0x2c2c6c})),_0x2ef5a2[_0xf7e8cf(0x1a8)]='',this[_0xf7e8cf(0x1b3)][_0xf7e8cf(0x1b9)](_0xf7e8cf(0x167));const _0x58b00b=formatAnthropicSSE({'type':_0xf7e8cf(0x1aa),'error':{'type':_0xf7e8cf(0x1bb),'message':_0xf7e8cf(0x190)},'request_id':_0x881082});_0x518c57[_0xf7e8cf(0x1d3)][_0xf7e8cf(0x1b7)](_0x58b00b),_0x518c57[_0xf7e8cf(0x1d3)][_0xf7e8cf(0x1d6)]();return;}_0x2ef5a2[_0xf7e8cf(0x19e)]=_0x4665b9['messages'];const _0x50d84b=_0x2ef5a2;async function*_0x4c63d1(_0x4dd8f9){const _0x27a2ab=_0xf7e8cf;for await(const _0xd8a52c of _0x4dd8f9){if(_0xd8a52c[_0x27a2ab(0x1da)]===_0x27a2ab(0x13d))_0xd8a52c[_0x27a2ab(0x14b)][_0x27a2ab(0x1a8)]&&!_0x50d84b[_0x27a2ab(0x1a8)]&&(_0x50d84b[_0x27a2ab(0x1a8)]=_0xd8a52c['data']['chatId']);else _0xd8a52c['type']===_0x27a2ab(0x1af)&&(yield _0xd8a52c[_0x27a2ab(0x14b)]);}}const _0x1bf368=_0x4c63d1(_0x2a7337);_0x43a1d6=estimateInputTokensFromRequest(_0x4665b9);const _0x8f4099=transformTDStreamToAnthropic(_0x1bf368,_0x881082,_0x4665b9[_0xf7e8cf(0x150)],this[_0xf7e8cf(0x1b3)],_0x268906,_0x43a1d6),_0xc344e6=_0x559fb1[_0xf7e8cf(0x1db)];let _0x4e6fcd=0x0;for await(const _0x3a3f60 of _0x8f4099){const _0x54aedc=formatAnthropicSSE(_0x3a3f60);_0x4e6fcd++,this['logger'][_0xf7e8cf(0x1ef)](colorizeJSONCompact(_0x3a3f60,{'color':!![]})),_0x3a3f60[_0xf7e8cf(0x1da)]===_0xf7e8cf(0x1aa)&&_0x3a3f60['error'][_0xf7e8cf(0x1da)]===_0xf7e8cf(0x1b6)&&(clearChatState(_0x2ef5a2),this['logger'][_0xf7e8cf(0x1b9)](_0xf7e8cf(0x1ee)+_0x3a3f60[_0xf7e8cf(0x1aa)][_0xf7e8cf(0x1c7)]+_0xf7e8cf(0x1cb)+_0xc344e6+_0xf7e8cf(0x18a)+_0x365529+',\x20context:\x20'+_0x2c2c6c)),_0x3a3f60[_0xf7e8cf(0x1da)]===_0xf7e8cf(0x1e7)&&_0x3a3f60[_0xf7e8cf(0x19d)]?.['output_tokens']&&(_0x29a4ff=_0x3a3f60['usage'][_0xf7e8cf(0x17c)]),_0x518c57[_0xf7e8cf(0x1d3)]['write'](_0x54aedc);}this['logger'][_0xf7e8cf(0x1ef)]('Stream\x20complete.\x20Sent\x20'+_0x4e6fcd+'\x20SSE\x20events.'),appendUsageEntry(_0x365529,{'timestamp':new Date()[_0xf7e8cf(0x17d)](),'model':_0x4665b9['model'],'inputTokens':_0x43a1d6,'outputTokens':_0x29a4ff,'contextSignature':_0x2c2c6c,'profile':this['config'][_0xf7e8cf(0x1c6)]?.[_0xf7e8cf(0x1df)]?.[_0xf7e8cf(0x15e)],'chatId':_0x2ef5a2[_0xf7e8cf(0x1a8)]||undefined})[_0xf7e8cf(0x155)](_0x157eaf=>{const _0x18a309=_0xf7e8cf;this[_0x18a309(0x1b3)][_0x18a309(0x1b9)](_0x18a309(0x1d0)+_0x157eaf);}),_0x518c57['raw'][_0xf7e8cf(0x1d6)]();}catch(_0x31da98){(_0x43a1d6>0x0||_0x29a4ff>0x0)&&appendUsageEntry(_0x365529,{'timestamp':new Date()[_0xf7e8cf(0x17d)](),'model':_0x4665b9['model'],'inputTokens':_0x43a1d6,'outputTokens':_0x29a4ff,'contextSignature':_0x2c2c6c,'profile':this['config'][_0xf7e8cf(0x1c6)]?.[_0xf7e8cf(0x1df)]?.[_0xf7e8cf(0x15e)],'chatId':_0x2ef5a2[_0xf7e8cf(0x1a8)]||undefined})['catch'](_0x2273da=>{const _0x1ae9cf=_0xf7e8cf;this[_0x1ae9cf(0x1b3)][_0x1ae9cf(0x1b9)](_0x1ae9cf(0x16c)+_0x2273da);});const _0x10b1a7=_0x31da98 instanceof Error?_0x31da98[_0xf7e8cf(0x1c7)]:'Unknown\x20error';this['logger'][_0xf7e8cf(0x1aa)](_0xf7e8cf(0x161),_0x31da98),this['logger'][_0xf7e8cf(0x1aa)](_0xf7e8cf(0x18e),JSON[_0xf7e8cf(0x173)]({'chatId':_0x2ef5a2['chatId'],'agentId':_0x2ef5a2['agentId'],'model':_0x4665b9[_0xf7e8cf(0x150)],'sessionId':_0x365529,'contextSignature':_0x2c2c6c})),_0x2ef5a2[_0xf7e8cf(0x1a8)]='',this[_0xf7e8cf(0x1b3)][_0xf7e8cf(0x1b9)](_0xf7e8cf(0x174));const _0x201512=formatAnthropicSSE({'type':_0xf7e8cf(0x1aa),'error':{'type':'api_error','message':_0x10b1a7},'request_id':_0x881082});_0x518c57[_0xf7e8cf(0x1d3)]['write'](_0x201512),_0x518c57[_0xf7e8cf(0x1d3)]['end']();}}else this['logger'][_0xf7e8cf(0x1aa)](_0xf7e8cf(0x15b)),_0x518c57[_0xf7e8cf(0x1cf)](0x1f5)[_0xf7e8cf(0x1ec)]({'type':_0xf7e8cf(0x1aa),'error':{'type':_0xf7e8cf(0x1be),'message':_0xf7e8cf(0x162)}});}async[a68_0x26d521(0x1a9)](_0x3a9613){const _0x278ccd=a68_0x26d521,_0x58dad5=_0x3a9613[_0x278ccd(0x141)],_0x3183d7=estimateInputTokensFromRequest(_0x58dad5);return this[_0x278ccd(0x1b3)][_0x278ccd(0x1c1)](_0x3a9613[_0x278ccd(0x140)]+'\x20'+_0x3a9613['url']+':\x20estimated\x20input_tokens='+_0x3183d7),{'input_tokens':_0x3183d7};}async[a68_0x26d521(0x14e)](){const _0x3234dc=a68_0x26d521;try{await this[_0x3234dc(0x157)][_0x3234dc(0x164)]({'port':this[_0x3234dc(0x196)][_0x3234dc(0x1e9)],'host':'0.0.0.0'}),this[_0x3234dc(0x1b3)][_0x3234dc(0x1c1)](_0x3234dc(0x1d2)+this['config'][_0x3234dc(0x1e9)]),this[_0x3234dc(0x152)]=setInterval(()=>{const _0x337dae=_0x3234dc;this[_0x337dae(0x19a)]();},CLEANUP_INTERVAL_MS),this['logger'][_0x3234dc(0x1ef)](_0x3234dc(0x13e)+CLEANUP_INTERVAL_MS/0x3e8+'s,\x20expires\x20after\x20'+CACHE_EXPIRATION_MS/0x3e8+'s)');}catch(_0x21998a){const _0x154932=_0x21998a instanceof Error?_0x21998a[_0x3234dc(0x1c7)]:_0x3234dc(0x16a);throw new Error(_0x3234dc(0x1bf)+_0x154932);}}async[a68_0x26d521(0x1ad)](){const _0x1b519d=a68_0x26d521;this[_0x1b519d(0x152)]&&(clearInterval(this[_0x1b519d(0x152)]),this[_0x1b519d(0x152)]=undefined),await this[_0x1b519d(0x157)][_0x1b519d(0x1cc)]();}[a68_0x26d521(0x17f)](){const _0x319f18=a68_0x26d521,_0x22e930=this[_0x319f18(0x157)][_0x319f18(0x157)]['address']();if(typeof _0x22e930==='string')return _0x22e930;if(_0x22e930)return _0x319f18(0x148)+_0x22e930[_0x319f18(0x143)]+':'+_0x22e930['port'];return _0x319f18(0x180)+this[_0x319f18(0x196)][_0x319f18(0x1e9)];}}
|
|
1
|
+
function a68_0x5617(_0x47ba25,_0x2ca535){_0x47ba25=_0x47ba25-0x1de;const _0x36e5bb=a68_0x36e5();let _0x561743=_0x36e5bb[_0x47ba25];return _0x561743;}function a68_0x36e5(){const _0x18f184=['System\x20prompts:\x20','text','match','[CONTEXT\x20LENGTH\x20ERROR]\x20','warn','/health','type','New\x20-\x20system\x20prompts:\x20',',\x20context=','toISOString','push','[PROXY\x20ERROR]\x20Streaming\x20error:','agentId','[PROXY\x20ERROR]\x20Unhandled\x20error\x20in\x20','message_delta','lastUsedAt','\x20tools,\x20message_size=','stream','start','port',':\x20messages=','\x20|\x20','logger',')\x20to\x20stay\x20under\x20','handleCountTokens','join','name','get','Embedding','message','getOrCreateSession','Non-streaming\x20responses\x20are\x20not\x20yet\x20supported','post','has','default','continue','new\x20system\x20prompt(s)','4817968htpvQw','projectId','chatId','\x20SSE\x20events.','startChat',',\x20\x22','1455068QtGlRV','...\x22','Content-Type','thinking','Evicted\x20oldest\x20chat\x20(signature:\x20','423570bChjgc','1022254ETVsbG','add','...','Added\x20system\x20prompt\x20previews:','Final\x20message\x20is\x20empty\x20after\x20construction\x20-\x20starting\x20fresh\x20conversation','\x20Input\x20size:\x20','usage','api_error',',\x20model=','event','anthropic-version','createPromise','unknown','[PROXY\x20ERROR]\x20Non-streaming\x20responses\x20are\x20not\x20yet\x20supported','catch','size','Failed\x20to\x20initialize\x20chat\x20stream.\x20Please\x20try\x20again.','trim','llm','writeHead','/v1/messages','Stream\x20complete.\x20Sent\x20','[session:\x20','close','110835KzHBgZ','Failed\x20to\x20generate\x20tool\x20prompt:','handleMessages','data','Reset\x20chat\x20state\x20to\x20recover\x20on\x20next\x20request','map','body','\x20(reasoning:\x20','http://localhost:','messageHistory','Debug\x20info:',']\x20Building\x20a\x20new\x20context\x20for\x20model\x20','error','[PROXY\x20ERROR]\x20Chat\x20stream\x20is\x20undefined','not_supported_error','6766661qtwmcJ','getOrCreateDefaultAgent','\x20system\x20prompts,\x20','getAddress','handleRouteError','isUserError','address','embeddedSystemPrompts','cleanupInterval','length','register','filter','Failed\x20to\x20log\x20usage\x20entry:\x20','\x0a</conversation_history>','helpText','info','code',']\x20Created\x20new\x20chat\x20for\x20model\x20',',\x20context\x20signature:\x20','new\x20tool(s)','set','OPTIONS','getAgentForModel','context','server','INVALID_REQUEST','raw','Waiting\x20for\x20concurrent\x20chat\x20creation\x20for\x20context:\x20','profile','model','TD\x20LLM\x20Proxy\x20Server','Failed\x20to\x20create\x20chat,\x20will\x20fall\x20back\x20to\x20lazy\x20creation:','POST','isArray','chat','35DBwUNO',',\x20system_prompts=','Failed\x20to\x20log\x20usage\x20entry\x20on\x20error:\x20','sessionCache','Failed\x20to\x20extract\x20tool\x20results:','tdx','Unknown\x20error','Context:','system','\x0a\x0a<conversation_history>\x0a','stringify','Final\x20message\x20reconstructed\x20after\x20context\x20reset:','url','setupRoutes','headers','7fGSPnN','config','now','Chat\x20ID:\x20','\x20limit',']\x20Continue\x20chat\x20for\x20model\x20','Model\x20normalization:\x20','\x20messages,\x20','budget_tokens',',\x20context:\x20','messages','Started\x20cache\x20cleanup\x20interval\x20(runs\x20every\x20','tools','agentCache','end','attributes','setupMiddleware','10AsFbir','send','http://','\x20chars.\x20Cleared\x20chat\x20state\x20for\x20session\x20','cleanupExpiredChats',',\x20is\x20new\x20context:\x20',',\x20tools=','Reset\x20chat\x20ID\x20to\x20recover\x20on\x20next\x20request',':\x20estimated\x20input_tokens=','30wlBgOO','Agent\x20cached:\x20','text/event-stream','Creating/looking\x20up\x20agent\x20for:\x20','\x0a---\x0a\x0a','clear','Validation\x20failed:\x20tools\x20must\x20be\x20an\x20array\x20if\x20provided','debug','write','originalMessage','output_tokens','embeddedToolsByName','substring','chats',',\x20tools:\x20','creating','\x20->\x20','Validation\x20failed:\x20messages\x20array\x20is\x20required\x20and\x20must\x20not\x20be\x20empty','validateMessageRequest','3014361nkEpXr','header:\x20'];a68_0x36e5=function(){return _0x18f184;};return a68_0x36e5();}const a68_0x2b8f49=a68_0x5617;(function(_0x2a96f0,_0x150713){const _0x3b2195=a68_0x5617,_0x41780e=_0x2a96f0();while(!![]){try{const _0x320166=parseInt(_0x3b2195(0x25e))/0x1+parseInt(_0x3b2195(0x218))/0x2*(parseInt(_0x3b2195(0x276))/0x3)+parseInt(_0x3b2195(0x258))/0x4+parseInt(_0x3b2195(0x1ef))/0x5*(-parseInt(_0x3b2195(0x25d))/0x6)+parseInt(_0x3b2195(0x1fe))/0x7*(-parseInt(_0x3b2195(0x252))/0x8)+parseInt(_0x3b2195(0x22b))/0x9+parseInt(_0x3b2195(0x20f))/0xa*(-parseInt(_0x3b2195(0x285))/0xb);if(_0x320166===_0x150713)break;else _0x41780e['push'](_0x41780e['shift']());}catch(_0xd0f697){_0x41780e['push'](_0x41780e['shift']());}}}(a68_0x36e5,0x8996b));import a68_0x56052d from'fastify';import a68_0x300c73 from'@fastify/cors';import{ErrorCode,SDKError}from'../sdk/index.js';import{transformTDStreamToAnthropic,formatAnthropicSSE,generateMessageId,generateToolPrompt,extractToolResults,estimateInputTokensFromRequest}from'./anthropic-adapter.js';import{colorizeJSON,colorizeJSONCompact}from'../utils/colors.js';import{extractModelAlias,resolveModelAlias}from'../sdk/llm/model-aliases.js';import{SessionCache}from'./session-cache.js';import{appendUsageEntry}from'./claude-usage-tracker.js';import{calculateContextSignature}from'./context-signature.js';import{formatConversationHistory,calculateConversationDelta,extractLastUserMessage}from'./conversation-utils.js';function extractSessionUUID(_0x2e6f3c){const _0x40e36a=a68_0x5617,_0x22cf43=_0x2e6f3c[_0x40e36a(0x22f)](/_session_([a-f0-9-]+)$/i);if(_0x22cf43)return _0x22cf43[0x1];return _0x2e6f3c;}function clearChatState(_0x2f42e5){const _0x3b536a=a68_0x5617;_0x2f42e5[_0x3b536a(0x254)]='',_0x2f42e5[_0x3b536a(0x28c)][_0x3b536a(0x21d)](),_0x2f42e5['embeddedToolsByName']['clear']();}function mapBudgetTokensToReasoningEffort(_0x22219c,_0x32f88d){if(_0x32f88d!=='dev-us01')return 0x0;if(!_0x22219c||_0x22219c===0x0)return 0x0;if(_0x22219c<=0x400)return 0x1;if(_0x22219c<=0x800)return 0x2;if(_0x22219c<=0x1000)return 0x3;return 0x4;}const MAX_CHATS_PER_SESSION=0xa,CACHE_EXPIRATION_MS=0xa*0x3c*0x3e8,CLEANUP_INTERVAL_MS=0x3c*0x3e8;export class ProxyServer{['server'];['sessionCache'];['agentCache'];[a68_0x2b8f49(0x1ff)];[a68_0x2b8f49(0x28d)];['logger'];constructor(_0x4a28f1){const _0x53d044=a68_0x2b8f49;this[_0x53d044(0x243)]=_0x4a28f1[_0x53d044(0x243)],this['config']=_0x4a28f1,this[_0x53d044(0x1f2)]=new SessionCache({'maxChatsPerSession':MAX_CHATS_PER_SESSION,'cacheExpirationMs':CACHE_EXPIRATION_MS}),this['agentCache']=new Map(),this['server']=a68_0x56052d({'logger':![],'bodyLimit':0x40*0x400*0x400}),this[_0x53d044(0x20e)](),this[_0x53d044(0x1fc)]();}async[a68_0x2b8f49(0x1e2)](_0x5ef329,_0x22f997=0x0){const _0x4f370f=a68_0x2b8f49,_0x4aa9a0=extractModelAlias(_0x5ef329),_0x4b58eb=resolveModelAlias(_0x4aa9a0),_0x54598f=_0x4b58eb+'_'+_0x22f997;let _0x2d9747=this[_0x4f370f(0x20b)]['get'](_0x54598f);if(!_0x2d9747){this['logger'][_0x4f370f(0x21f)](_0x4f370f(0x204)+_0x5ef329+_0x4f370f(0x228)+_0x4aa9a0+_0x4f370f(0x228)+_0x4b58eb),this[_0x4f370f(0x243)]['debug'](_0x4f370f(0x21b)+_0x4b58eb+_0x4f370f(0x27d)+_0x22f997+')');const _0x4a8547=await this[_0x4f370f(0x1ff)]['tdx'][_0x4f370f(0x270)][_0x4f370f(0x286)](_0x4b58eb,_0x22f997);_0x2d9747=_0x4a8547['id'],this['agentCache'][_0x4f370f(0x1e0)](_0x54598f,_0x2d9747),this['logger']['debug'](_0x4f370f(0x219)+_0x54598f+_0x4f370f(0x228)+_0x2d9747+'\x20('+_0x4a8547[_0x4f370f(0x20d)][_0x4f370f(0x247)]+')');}return _0x2d9747;}[a68_0x2b8f49(0x213)](){const _0x46ffd6=a68_0x2b8f49;this[_0x46ffd6(0x1f2)][_0x46ffd6(0x213)]();}[a68_0x2b8f49(0x20e)](){const _0x391695=a68_0x2b8f49;this[_0x391695(0x1e4)][_0x391695(0x28f)](a68_0x300c73,{'origin':!![],'methods':['GET',_0x391695(0x1ec),_0x391695(0x1e1)],'allowedHeaders':[_0x391695(0x25a),'Authorization',_0x391695(0x268),'x-api-key']}),this[_0x391695(0x1e4)]['setErrorHandler']((_0x4f120f,_0x11d9a5,_0x538016)=>{const _0x388d66=_0x391695;this[_0x388d66(0x289)](_0x4f120f,_0x11d9a5,_0x538016);});}[a68_0x2b8f49(0x289)](_0x5af68a,_0x6f1a0e,_0x3a48c3){const _0xa58d05=a68_0x2b8f49;if(_0x5af68a instanceof SDKError){const _0x232643=_0x5af68a[_0xa58d05(0x28a)]()?0x190:0x1f4;_0x3a48c3['code'](_0x232643)['send']({'type':_0xa58d05(0x282),'error':{'type':_0x5af68a[_0xa58d05(0x295)],'message':_0x5af68a[_0xa58d05(0x221)],'helpText':_0x5af68a[_0xa58d05(0x293)]}});}else{const _0xb9c4eb=_0x5af68a instanceof Error?_0x5af68a[_0xa58d05(0x24a)]:_0xa58d05(0x1f5);this[_0xa58d05(0x243)][_0xa58d05(0x282)](_0xa58d05(0x23a)+_0x6f1a0e['method']+'\x20'+_0x6f1a0e[_0xa58d05(0x1fb)]+':',_0x5af68a),_0x3a48c3[_0xa58d05(0x295)](0x1f4)[_0xa58d05(0x210)]({'type':_0xa58d05(0x282),'error':{'type':_0xa58d05(0x265),'message':_0xb9c4eb}});}}[a68_0x2b8f49(0x1fc)](){const _0x2ef7cf=a68_0x2b8f49;this[_0x2ef7cf(0x1e4)][_0x2ef7cf(0x248)](_0x2ef7cf(0x232),async()=>{const _0x3efda0=_0x2ef7cf;return{'status':'ok','message':_0x3efda0(0x1ea)};}),this[_0x2ef7cf(0x1e4)][_0x2ef7cf(0x24d)](_0x2ef7cf(0x272),async(_0x2e9306,_0x4110cb)=>{const _0x382818=_0x2ef7cf;return this[_0x382818(0x278)](_0x2e9306,_0x4110cb)[_0x382818(0x26c)](_0x34d6d2=>{const _0x39b059=_0x382818;this[_0x39b059(0x289)](_0x34d6d2,_0x2e9306,_0x4110cb);});}),this[_0x2ef7cf(0x1e4)]['post']('/v1/messages/count_tokens',async(_0x5b8661,_0x352d55)=>{const _0x3f462a=_0x2ef7cf;return this['handleCountTokens'](_0x5b8661)[_0x3f462a(0x26c)](_0x2d3d27=>{const _0xbdf686=_0x3f462a;this[_0xbdf686(0x289)](_0x2d3d27,_0x5b8661,_0x352d55);});});}[a68_0x2b8f49(0x22a)](_0x896181){const _0x8118dd=a68_0x2b8f49;if(!_0x896181[_0x8118dd(0x208)]||!Array[_0x8118dd(0x1ed)](_0x896181[_0x8118dd(0x208)])||_0x896181[_0x8118dd(0x208)][_0x8118dd(0x28e)]===0x0)throw new SDKError(ErrorCode['INVALID_REQUEST'],_0x8118dd(0x229));if(_0x896181[_0x8118dd(0x20a)]&&!Array[_0x8118dd(0x1ed)](_0x896181[_0x8118dd(0x20a)]))throw new SDKError(ErrorCode[_0x8118dd(0x1e5)],_0x8118dd(0x21e));}async['handleMessages'](_0x58adcb,_0x173be1){const _0x27bdf7=a68_0x2b8f49,_0x1b0df6=_0x58adcb[_0x27bdf7(0x27c)];this[_0x27bdf7(0x22a)](_0x1b0df6);const _0x51da1d=_0x1b0df6[_0x27bdf7(0x208)]?.[_0x27bdf7(0x28e)]??0x0,_0x13d2c0=_0x1b0df6[_0x27bdf7(0x1e9)]||_0x27bdf7(0x26a);this[_0x27bdf7(0x243)][_0x27bdf7(0x294)](_0x58adcb['method']+'\x20'+_0x58adcb[_0x27bdf7(0x1fb)]+_0x27bdf7(0x241)+_0x51da1d+_0x27bdf7(0x266)+_0x13d2c0),this[_0x27bdf7(0x243)][_0x27bdf7(0x21f)](_0x27bdf7(0x22c)+colorizeJSONCompact(_0x58adcb[_0x27bdf7(0x1fd)]));this[_0x27bdf7(0x243)]['trace']&&this[_0x27bdf7(0x243)]['trace'](colorizeJSON(_0x1b0df6,{'color':!![]}));const _0x2be2f0=_0x1b0df6['metadata']?.['user_id']||_0x27bdf7(0x24f),_0x4a3223=extractSessionUUID(_0x2be2f0),_0x5a67c9=this['sessionCache'][_0x27bdf7(0x24b)](_0x4a3223,this[_0x27bdf7(0x1ff)][_0x27bdf7(0x253)]),_0x2e709d=[];if(_0x1b0df6['system']){if(typeof _0x1b0df6[_0x27bdf7(0x1f7)]==='string')_0x2e709d[_0x27bdf7(0x237)](_0x1b0df6[_0x27bdf7(0x1f7)]);else{if(Array['isArray'](_0x1b0df6['system']))for(const _0x5c3e9c of _0x1b0df6[_0x27bdf7(0x1f7)]){_0x5c3e9c[_0x27bdf7(0x233)]===_0x27bdf7(0x22e)&&_0x5c3e9c[_0x27bdf7(0x22e)]&&_0x2e709d[_0x27bdf7(0x237)](_0x5c3e9c['text']);}}}const _0x514efc=_0x1b0df6[_0x27bdf7(0x20a)]||[],_0x565a20=_0x1b0df6[_0x27bdf7(0x25b)]?.[_0x27bdf7(0x206)],_0x1457d7=mapBudgetTokensToReasoningEffort(_0x565a20,this['config']['site']),_0x1ecdc4=calculateContextSignature(_0x1b0df6['model'],_0x2e709d,_0x514efc,_0x1457d7);let _0x473c19=_0x5a67c9[_0x27bdf7(0x225)]['get'](_0x1ecdc4);const _0x17b2da=!_0x473c19;if(!_0x473c19){const _0xe6026d=await this['getAgentForModel'](_0x1b0df6[_0x27bdf7(0x1e9)],_0x1457d7);_0x473c19={'chatId':'','agentId':_0xe6026d,'contextSignature':_0x1ecdc4,'embeddedSystemPrompts':new Set(),'embeddedToolsByName':new Map(),'messageHistory':[],'lastUsedAt':Date[_0x27bdf7(0x200)]()},_0x5a67c9[_0x27bdf7(0x225)][_0x27bdf7(0x1e0)](_0x1ecdc4,_0x473c19);if(_0x5a67c9['chats'][_0x27bdf7(0x26d)]>MAX_CHATS_PER_SESSION){let _0x1b8fb6=null,_0x3a2eb4=Date[_0x27bdf7(0x200)]();for(const [_0xe0db1a,_0x3a7235]of _0x5a67c9['chats']){_0x3a7235[_0x27bdf7(0x23c)]<_0x3a2eb4&&(_0x3a2eb4=_0x3a7235['lastUsedAt'],_0x1b8fb6=_0xe0db1a);}_0x1b8fb6&&(_0x5a67c9[_0x27bdf7(0x225)]['delete'](_0x1b8fb6),this[_0x27bdf7(0x243)][_0x27bdf7(0x21f)](_0x27bdf7(0x25c)+_0x1b8fb6+_0x27bdf7(0x244)+MAX_CHATS_PER_SESSION+_0x27bdf7(0x202)));}}else _0x473c19[_0x27bdf7(0x23c)]=Date[_0x27bdf7(0x200)]();if(!_0x473c19[_0x27bdf7(0x254)]){if(_0x473c19[_0x27bdf7(0x227)]&&_0x473c19[_0x27bdf7(0x269)]){this['logger'][_0x27bdf7(0x21f)](_0x27bdf7(0x1e7)+_0x1ecdc4);try{_0x473c19[_0x27bdf7(0x254)]=await _0x473c19[_0x27bdf7(0x269)];}catch(_0x3a5f62){this['logger']['error']('Concurrent\x20chat\x20creation\x20failed,\x20will\x20fall\x20back\x20to\x20lazy\x20creation:',_0x3a5f62);}}else{if(!_0x473c19[_0x27bdf7(0x227)]){_0x473c19[_0x27bdf7(0x227)]=!![],_0x473c19['createPromise']=((async()=>{const _0x446498=_0x27bdf7;try{const _0x239b29=await this[_0x446498(0x1ff)][_0x446498(0x1f4)][_0x446498(0x270)][_0x446498(0x256)](_0x473c19['agentId']);return this['logger']['info']('['+_0x239b29['id']+_0x446498(0x296)+_0x1b0df6['model']+_0x446498(0x235)+_0x1ecdc4),_0x239b29['id'];}catch(_0x23d68d){this['logger'][_0x446498(0x282)](_0x446498(0x1eb),_0x23d68d);throw _0x23d68d;}finally{_0x473c19[_0x446498(0x227)]=![],_0x473c19['createPromise']=undefined;}})());try{_0x473c19['chatId']=await _0x473c19[_0x27bdf7(0x269)];}catch{}}}}const _0x10a1c5=_0x2e709d[_0x27bdf7(0x290)](_0x1efd6c=>!_0x473c19[_0x27bdf7(0x28c)][_0x27bdf7(0x24e)](_0x1efd6c)),_0x105f9a=_0x514efc[_0x27bdf7(0x290)](_0x198de2=>!_0x473c19[_0x27bdf7(0x223)]['has'](_0x198de2['name']));this['logger']['debug'](_0x27bdf7(0x274)+_0x4a3223+']\x20model:\x20'+_0x1b0df6[_0x27bdf7(0x1e9)]+_0x27bdf7(0x1de)+_0x1ecdc4+_0x27bdf7(0x214)+_0x17b2da),this[_0x27bdf7(0x243)][_0x27bdf7(0x21f)](_0x27bdf7(0x201)+_0x473c19[_0x27bdf7(0x254)]),this[_0x27bdf7(0x243)][_0x27bdf7(0x21f)](_0x27bdf7(0x22d)+_0x2e709d[_0x27bdf7(0x28e)]+_0x27bdf7(0x226)+_0x514efc[_0x27bdf7(0x28e)]),this['logger']['debug']('Embedded\x20in\x20chat\x20-\x20system\x20prompts:\x20'+_0x473c19[_0x27bdf7(0x28c)][_0x27bdf7(0x26d)]+_0x27bdf7(0x226)+_0x473c19[_0x27bdf7(0x223)][_0x27bdf7(0x26d)]),this[_0x27bdf7(0x243)][_0x27bdf7(0x21f)](_0x27bdf7(0x234)+_0x10a1c5[_0x27bdf7(0x28e)]+_0x27bdf7(0x226)+_0x105f9a['length']);_0x10a1c5[_0x27bdf7(0x28e)]>0x0&&this[_0x27bdf7(0x243)]['debug'](_0x27bdf7(0x261),_0x10a1c5[_0x27bdf7(0x27b)](_0x4c704d=>_0x4c704d[_0x27bdf7(0x224)](0x0,0x32)+_0x27bdf7(0x260))['join'](_0x27bdf7(0x242)));_0x105f9a['length']>0x0&&this[_0x27bdf7(0x243)][_0x27bdf7(0x21f)]('Added\x20tool\x20names:',_0x105f9a[_0x27bdf7(0x27b)](_0x468cd1=>_0x468cd1['name'])['join'](',\x20'));const _0xa3ba47=calculateConversationDelta(_0x1b0df6[_0x27bdf7(0x208)],_0x473c19[_0x27bdf7(0x27f)]),_0x15703a=extractLastUserMessage(_0xa3ba47,_0x1b0df6[_0x27bdf7(0x208)]);if(_0x15703a['error'])throw new SDKError(ErrorCode[_0x27bdf7(0x1e5)],_0x15703a[_0x27bdf7(0x282)]);const _0x141515=_0x15703a[_0x27bdf7(0x22e)]||'',_0x57a69d=()=>{const _0x20e905=_0x27bdf7,_0x421399=[];_0x2e709d['length']>0x0&&_0x421399['push'](_0x2e709d[_0x20e905(0x246)]('\x0a\x0a'));_0x514efc['length']>0x0&&_0x421399[_0x20e905(0x237)](generateToolPrompt(_0x514efc));if(_0x1b0df6['messages']&&_0x1b0df6['messages']['length']>0x1){const _0x4db8f5=formatConversationHistory(_0x1b0df6[_0x20e905(0x208)]);_0x4db8f5&&_0x421399['push'](_0x20e905(0x1f8)+_0x4db8f5+_0x20e905(0x292));}return _0x421399[_0x20e905(0x237)](_0x141515),_0x421399['filter'](_0x12f3f7=>_0x12f3f7&&_0x12f3f7[_0x20e905(0x26f)]())['join']('\x0a---\x0a\x0a');};let _0x4dd942;if(_0x17b2da){this[_0x27bdf7(0x243)][_0x27bdf7(0x294)]('['+_0x473c19[_0x27bdf7(0x254)]+_0x27bdf7(0x281)+_0x1b0df6[_0x27bdf7(0x1e9)]+_0x27bdf7(0x1f0)+_0x2e709d[_0x27bdf7(0x28e)]+_0x27bdf7(0x215)+_0x514efc[_0x27bdf7(0x28e)]+',\x20tool_names=['+_0x514efc[_0x27bdf7(0x27b)](_0x353b99=>_0x353b99['name'])[_0x27bdf7(0x246)](',\x20')+']'),_0x4dd942=_0x57a69d();for(const _0x28f884 of _0x2e709d){_0x473c19['embeddedSystemPrompts']['add'](_0x28f884);}for(const _0x1915f7 of _0x514efc){_0x473c19[_0x27bdf7(0x223)]['set'](_0x1915f7[_0x27bdf7(0x247)],_0x1915f7);}}else{const _0x5c82f0=[];_0x10a1c5[_0x27bdf7(0x28e)]>0x0&&(_0x5c82f0['push'](_0x10a1c5[_0x27bdf7(0x246)]('\x0a\x0a')),this[_0x27bdf7(0x243)][_0x27bdf7(0x21f)](_0x27bdf7(0x249),_0x10a1c5[_0x27bdf7(0x28e)],_0x27bdf7(0x251)));if(_0x105f9a[_0x27bdf7(0x28e)]>0x0)try{_0x5c82f0[_0x27bdf7(0x237)](generateToolPrompt(_0x105f9a)),this[_0x27bdf7(0x243)][_0x27bdf7(0x21f)](_0x27bdf7(0x249),_0x105f9a[_0x27bdf7(0x28e)],_0x27bdf7(0x1df));}catch(_0x58d601){this[_0x27bdf7(0x243)][_0x27bdf7(0x282)](_0x27bdf7(0x277),_0x58d601);}try{const _0x585074=extractToolResults(_0xa3ba47);_0x585074&&(_0x5c82f0[_0x27bdf7(0x237)](_0x585074),this[_0x27bdf7(0x243)]['debug']('Including\x20tool\x20results'));}catch(_0x58d945){this[_0x27bdf7(0x243)]['error'](_0x27bdf7(0x1f3),_0x58d945);}_0x5c82f0[_0x27bdf7(0x237)](_0x141515);const _0x3732b6=_0x5c82f0['filter'](_0x5232d5=>_0x5232d5&&_0x5232d5['trim']());_0x4dd942=_0x3732b6[_0x27bdf7(0x28e)]>0x0?_0x3732b6[_0x27bdf7(0x246)](_0x27bdf7(0x21c)):_0x141515;for(const _0x5a54d9 of _0x10a1c5){_0x473c19['embeddedSystemPrompts'][_0x27bdf7(0x25f)](_0x5a54d9);}for(const _0x406cd2 of _0x105f9a){_0x473c19['embeddedToolsByName'][_0x27bdf7(0x1e0)](_0x406cd2['name'],_0x406cd2);}}(!_0x4dd942||!_0x4dd942[_0x27bdf7(0x26f)]())&&(this['logger'][_0x27bdf7(0x231)](_0x27bdf7(0x262)),this[_0x27bdf7(0x243)]['warn'](_0x27bdf7(0x1f6),{'isNewContext':_0x17b2da,'userMessageLength':_0x141515?.[_0x27bdf7(0x28e)]||0x0,'systemPromptsCount':_0x2e709d[_0x27bdf7(0x28e)],'toolsCount':_0x514efc[_0x27bdf7(0x28e)],'messagesCount':_0x1b0df6[_0x27bdf7(0x208)]?.[_0x27bdf7(0x28e)]||0x0,'newMessagesCount':_0xa3ba47[_0x27bdf7(0x28e)]}),clearChatState(_0x473c19),_0x4dd942=_0x57a69d(),(!_0x4dd942||!_0x4dd942[_0x27bdf7(0x26f)]())&&(this[_0x27bdf7(0x243)][_0x27bdf7(0x282)]('Failed\x20to\x20reconstruct\x20message\x20-\x20all\x20parts\x20are\x20empty,\x20using\x20fallback'),this[_0x27bdf7(0x243)]['error'](_0x27bdf7(0x280),{'systemPromptsCount':_0x2e709d[_0x27bdf7(0x28e)],'toolsCount':_0x514efc[_0x27bdf7(0x28e)],'messagesCount':_0x1b0df6[_0x27bdf7(0x208)]?.['length']||0x0,'userMessageLength':_0x141515?.[_0x27bdf7(0x28e)]||0x0}),_0x4dd942=_0x27bdf7(0x250)),this[_0x27bdf7(0x243)][_0x27bdf7(0x294)](_0x27bdf7(0x1fa),_0x4dd942[_0x27bdf7(0x224)](0x0,0x64)+_0x27bdf7(0x260)));const _0xd13577=_0x1b0df6[_0x27bdf7(0x23e)]!==![];if(_0xd13577){_0x173be1[_0x27bdf7(0x1e6)][_0x27bdf7(0x271)](0xc8,{'Content-Type':_0x27bdf7(0x21a),'Cache-Control':'no-cache','Connection':'keep-alive','X-Accel-Buffering':'no'});const _0x4ed1e4=generateMessageId();let _0x3e3964=0x0,_0x51d727=0x0;try{if(_0x473c19[_0x27bdf7(0x254)]){const _0x12d406=_0x4dd942[_0x27bdf7(0x224)](0x0,0x32)['replace'](/\n/g,'\x20');this['logger'][_0x27bdf7(0x294)]('['+_0x473c19[_0x27bdf7(0x254)]+_0x27bdf7(0x203)+_0x1b0df6['model']+_0x27bdf7(0x235)+_0x1ecdc4+',\x20'+_0x1b0df6[_0x27bdf7(0x208)][_0x27bdf7(0x28e)]+_0x27bdf7(0x205)+_0x2e709d[_0x27bdf7(0x28e)]+_0x27bdf7(0x287)+_0x514efc[_0x27bdf7(0x28e)]+_0x27bdf7(0x23d)+_0x4dd942[_0x27bdf7(0x28e)]+_0x27bdf7(0x257)+_0x12d406+_0x27bdf7(0x259));}const _0x59e91c=this['config'][_0x27bdf7(0x1f4)][_0x27bdf7(0x270)][_0x27bdf7(0x1ee)](_0x4dd942,{'chatId':_0x473c19[_0x27bdf7(0x254)]||undefined,'agentId':_0x473c19[_0x27bdf7(0x254)]?undefined:_0x473c19[_0x27bdf7(0x239)]});if(!_0x59e91c){this[_0x27bdf7(0x243)][_0x27bdf7(0x282)](_0x27bdf7(0x283)),this[_0x27bdf7(0x243)][_0x27bdf7(0x282)](_0x27bdf7(0x1f6),JSON['stringify']({'chatId':_0x473c19[_0x27bdf7(0x254)],'agentId':_0x473c19['agentId'],'model':_0x1b0df6[_0x27bdf7(0x1e9)],'sessionId':_0x4a3223,'contextSignature':_0x1ecdc4})),_0x473c19[_0x27bdf7(0x254)]='',this['logger'][_0x27bdf7(0x231)](_0x27bdf7(0x216));const _0x298dd3=formatAnthropicSSE({'type':_0x27bdf7(0x282),'error':{'type':_0x27bdf7(0x265),'message':_0x27bdf7(0x26e)},'request_id':_0x4ed1e4});_0x173be1[_0x27bdf7(0x1e6)][_0x27bdf7(0x220)](_0x298dd3),_0x173be1['raw']['end']();return;}_0x473c19[_0x27bdf7(0x27f)]=_0x1b0df6[_0x27bdf7(0x208)];const _0x4e9494=_0x473c19;async function*_0x6ee8a6(_0x1528b2){const _0x111a95=_0x27bdf7;for await(const _0x234415 of _0x1528b2){if(_0x234415[_0x111a95(0x233)]==='metadata')_0x234415[_0x111a95(0x279)]['chatId']&&!_0x4e9494[_0x111a95(0x254)]&&(_0x4e9494[_0x111a95(0x254)]=_0x234415[_0x111a95(0x279)][_0x111a95(0x254)]);else _0x234415[_0x111a95(0x233)]===_0x111a95(0x267)&&(yield _0x234415[_0x111a95(0x279)]);}}const _0x3c7bb8=_0x6ee8a6(_0x59e91c);_0x3e3964=estimateInputTokensFromRequest(_0x1b0df6);const _0x5efbe5=transformTDStreamToAnthropic(_0x3c7bb8,_0x4ed1e4,_0x1b0df6[_0x27bdf7(0x1e9)],this[_0x27bdf7(0x243)],_0x141515,_0x3e3964),_0x844d18=_0x4dd942[_0x27bdf7(0x28e)];let _0xdc8c27=0x0;for await(const _0x136eb8 of _0x5efbe5){const _0x2a3f5b=formatAnthropicSSE(_0x136eb8);_0xdc8c27++,this['logger'][_0x27bdf7(0x21f)](colorizeJSONCompact(_0x136eb8,{'color':!![]})),_0x136eb8['type']===_0x27bdf7(0x282)&&_0x136eb8[_0x27bdf7(0x282)][_0x27bdf7(0x233)]==='request_too_large'&&(clearChatState(_0x473c19),this[_0x27bdf7(0x243)][_0x27bdf7(0x231)](_0x27bdf7(0x230)+_0x136eb8[_0x27bdf7(0x282)][_0x27bdf7(0x24a)]+_0x27bdf7(0x263)+_0x844d18+_0x27bdf7(0x212)+_0x4a3223+_0x27bdf7(0x207)+_0x1ecdc4)),_0x136eb8['type']===_0x27bdf7(0x23b)&&_0x136eb8['usage']?.[_0x27bdf7(0x222)]&&(_0x51d727=_0x136eb8[_0x27bdf7(0x264)]['output_tokens']),_0x173be1[_0x27bdf7(0x1e6)][_0x27bdf7(0x220)](_0x2a3f5b);}this[_0x27bdf7(0x243)]['debug'](_0x27bdf7(0x273)+_0xdc8c27+_0x27bdf7(0x255)),appendUsageEntry(_0x4a3223,{'timestamp':new Date()[_0x27bdf7(0x236)](),'model':_0x1b0df6[_0x27bdf7(0x1e9)],'inputTokens':_0x3e3964,'outputTokens':_0x51d727,'contextSignature':_0x1ecdc4,'profile':this[_0x27bdf7(0x1ff)]['tdx']?.[_0x27bdf7(0x1e3)]?.['profile'],'chatId':_0x473c19['chatId']||undefined})['catch'](_0x3c9ea5=>{const _0x1e87ce=_0x27bdf7;this[_0x1e87ce(0x243)][_0x1e87ce(0x231)](_0x1e87ce(0x291)+_0x3c9ea5);}),_0x173be1[_0x27bdf7(0x1e6)][_0x27bdf7(0x20c)]();}catch(_0xec7d17){(_0x3e3964>0x0||_0x51d727>0x0)&&appendUsageEntry(_0x4a3223,{'timestamp':new Date()[_0x27bdf7(0x236)](),'model':_0x1b0df6[_0x27bdf7(0x1e9)],'inputTokens':_0x3e3964,'outputTokens':_0x51d727,'contextSignature':_0x1ecdc4,'profile':this['config'][_0x27bdf7(0x1f4)]?.['context']?.[_0x27bdf7(0x1e8)],'chatId':_0x473c19['chatId']||undefined})[_0x27bdf7(0x26c)](_0x58c18f=>{const _0x52982d=_0x27bdf7;this[_0x52982d(0x243)][_0x52982d(0x231)](_0x52982d(0x1f1)+_0x58c18f);});const _0x299322=_0xec7d17 instanceof Error?_0xec7d17[_0x27bdf7(0x24a)]:_0x27bdf7(0x1f5);this[_0x27bdf7(0x243)][_0x27bdf7(0x282)](_0x27bdf7(0x238),_0xec7d17),this[_0x27bdf7(0x243)][_0x27bdf7(0x282)]('Context:',JSON[_0x27bdf7(0x1f9)]({'chatId':_0x473c19[_0x27bdf7(0x254)],'agentId':_0x473c19[_0x27bdf7(0x239)],'model':_0x1b0df6[_0x27bdf7(0x1e9)],'sessionId':_0x4a3223,'contextSignature':_0x1ecdc4})),_0x473c19[_0x27bdf7(0x254)]='',this[_0x27bdf7(0x243)][_0x27bdf7(0x231)](_0x27bdf7(0x27a));const _0x26bc15=formatAnthropicSSE({'type':_0x27bdf7(0x282),'error':{'type':_0x27bdf7(0x265),'message':_0x299322},'request_id':_0x4ed1e4});_0x173be1[_0x27bdf7(0x1e6)][_0x27bdf7(0x220)](_0x26bc15),_0x173be1['raw'][_0x27bdf7(0x20c)]();}}else this[_0x27bdf7(0x243)][_0x27bdf7(0x282)](_0x27bdf7(0x26b)),_0x173be1[_0x27bdf7(0x295)](0x1f5)[_0x27bdf7(0x210)]({'type':_0x27bdf7(0x282),'error':{'type':_0x27bdf7(0x284),'message':_0x27bdf7(0x24c)}});}async[a68_0x2b8f49(0x245)](_0x4b5066){const _0x1851b9=a68_0x2b8f49,_0x5b0298=_0x4b5066[_0x1851b9(0x27c)],_0x20b1ee=estimateInputTokensFromRequest(_0x5b0298);return this[_0x1851b9(0x243)][_0x1851b9(0x294)](_0x4b5066['method']+'\x20'+_0x4b5066[_0x1851b9(0x1fb)]+_0x1851b9(0x217)+_0x20b1ee),{'input_tokens':_0x20b1ee};}async[a68_0x2b8f49(0x23f)](){const _0x1ed73b=a68_0x2b8f49;try{await this['server']['listen']({'port':this[_0x1ed73b(0x1ff)][_0x1ed73b(0x240)],'host':'0.0.0.0'}),this['logger']['info']('Proxy\x20server\x20started\x20at\x20localhost:'+this[_0x1ed73b(0x1ff)][_0x1ed73b(0x240)]),this[_0x1ed73b(0x28d)]=setInterval(()=>{const _0x2d194f=_0x1ed73b;this[_0x2d194f(0x213)]();},CLEANUP_INTERVAL_MS),this[_0x1ed73b(0x243)][_0x1ed73b(0x21f)](_0x1ed73b(0x209)+CLEANUP_INTERVAL_MS/0x3e8+'s,\x20expires\x20after\x20'+CACHE_EXPIRATION_MS/0x3e8+'s)');}catch(_0xface25){const _0x524304=_0xface25 instanceof Error?_0xface25[_0x1ed73b(0x24a)]:_0x1ed73b(0x1f5);throw new Error('Failed\x20to\x20start\x20proxy\x20server:\x20'+_0x524304);}}async['stop'](){const _0x4e04cf=a68_0x2b8f49;this[_0x4e04cf(0x28d)]&&(clearInterval(this[_0x4e04cf(0x28d)]),this[_0x4e04cf(0x28d)]=undefined),await this['server'][_0x4e04cf(0x275)]();}[a68_0x2b8f49(0x288)](){const _0x45ee3d=a68_0x2b8f49,_0x466f14=this['server'][_0x45ee3d(0x1e4)][_0x45ee3d(0x28b)]();if(typeof _0x466f14==='string')return _0x466f14;if(_0x466f14)return _0x45ee3d(0x211)+_0x466f14[_0x45ee3d(0x28b)]+':'+_0x466f14['port'];return _0x45ee3d(0x27e)+this['config']['port'];}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a69_0x23f5e5=a69_0x1cc2;(function(_0x559ac2,_0x3e7072){const _0x5d7f15=a69_0x1cc2,_0x649863=_0x559ac2();while(!![]){try{const _0x5b1adc=-parseInt(_0x5d7f15(0x1d8))/0x1*(parseInt(_0x5d7f15(0x1ce))/0x2)+parseInt(_0x5d7f15(0x1de))/0x3*(parseInt(_0x5d7f15(0x1d6))/0x4)+parseInt(_0x5d7f15(0x1c9))/0x5+-parseInt(_0x5d7f15(0x1c8))/0x6*(-parseInt(_0x5d7f15(0x1d1))/0x7)+parseInt(_0x5d7f15(0x1e0))/0x8+parseInt(_0x5d7f15(0x1c6))/0x9*(-parseInt(_0x5d7f15(0x1cd))/0xa)+-parseInt(_0x5d7f15(0x1df))/0xb;if(_0x5b1adc===_0x3e7072)break;else _0x649863['push'](_0x649863['shift']());}catch(_0x378a77){_0x649863['push'](_0x649863['shift']());}}}(a69_0x42dc,0x4948e));function a69_0x1cc2(_0x5b1674,_0xef3553){_0x5b1674=_0x5b1674-0x1c3;const _0x42dcdc=a69_0x42dc();let _0x1cc240=_0x42dcdc[_0x5b1674];return _0x1cc240;}export class SessionCache{[a69_0x23f5e5(0x1cb)];['config'];constructor(_0x5d2b90){const _0x285eed=a69_0x23f5e5;this[_0x285eed(0x1ca)]=_0x5d2b90,this[_0x285eed(0x1cb)]=new Map();}[a69_0x23f5e5(0x1c7)](_0x367465,_0x5471b6){const _0x502725=a69_0x23f5e5;let _0x3dd087=this[_0x502725(0x1cb)]['get'](_0x367465);return!_0x3dd087&&(_0x3dd087={'projectId':_0x5471b6,'chats':new Map()},this[_0x502725(0x1cb)][_0x502725(0x1dc)](_0x367465,_0x3dd087)),_0x3dd087;}[a69_0x23f5e5(0x1d3)](_0xf6952){const _0x388b95=a69_0x23f5e5;return this[_0x388b95(0x1cb)][_0x388b95(0x1d9)](_0xf6952);}[a69_0x23f5e5(0x1cc)](_0x1baba7,_0x2cb66b,_0x1ffc06){const _0x572055=a69_0x23f5e5,_0x29343f=this['sessions'][_0x572055(0x1d9)](_0x1baba7);if(!_0x29343f)throw new Error(_0x572055(0x1d0)+_0x1baba7+_0x572055(0x1da));let _0x2018a9=_0x29343f[_0x572055(0x1d5)][_0x572055(0x1d9)](_0x2cb66b);if(!_0x2018a9){_0x2018a9={'chatId':'','agentId':_0x1ffc06,'contextSignature':_0x2cb66b,'embeddedSystemPrompts':new Set(),'embeddedToolsByName':new Map(),'messageHistory':[],'lastUsedAt':Date[_0x572055(0x1d7)]()},_0x29343f[_0x572055(0x1d5)][_0x572055(0x1dc)](_0x2cb66b,_0x2018a9);if(_0x29343f[_0x572055(0x1d5)][_0x572055(0x1cf)]>this[_0x572055(0x1ca)][_0x572055(0x1d4)]){let _0xdb38ea=null,_0x535b85=Date[_0x572055(0x1d7)]();for(const [_0x3b43e9,_0x3de8a7]of _0x29343f['chats']){_0x3de8a7[_0x572055(0x1c5)]<_0x535b85&&(_0x535b85=_0x3de8a7[_0x572055(0x1c5)],_0xdb38ea=_0x3b43e9);}_0xdb38ea&&_0x29343f[_0x572055(0x1d5)][_0x572055(0x1db)](_0xdb38ea);}}else _0x2018a9[_0x572055(0x1c5)]=Date[_0x572055(0x1d7)]();return _0x2018a9;}[a69_0x23f5e5(0x1c3)](){const _0x2ddfa0=a69_0x23f5e5,_0x14e8ec=Date[_0x2ddfa0(0x1d7)]();let _0x451066=0x0;for(const [_0x28bf46,_0x27088e]of this[_0x2ddfa0(0x1cb)]){const _0x22fbae=[];for(const [_0x8bf629,_0x191b4a]of _0x27088e['chats']){_0x14e8ec-_0x191b4a[_0x2ddfa0(0x1c5)]>this[_0x2ddfa0(0x1ca)][_0x2ddfa0(0x1dd)]&&_0x22fbae[_0x2ddfa0(0x1c4)](_0x8bf629);}for(const _0x5cab05 of _0x22fbae){_0x27088e[_0x2ddfa0(0x1d5)][_0x2ddfa0(0x1db)](_0x5cab05),_0x451066++;}_0x27088e[_0x2ddfa0(0x1d5)]['size']===0x0&&this[_0x2ddfa0(0x1cb)][_0x2ddfa0(0x1db)](_0x28bf46);}return _0x451066;}['getSessionCount'](){const _0x3e3ccf=a69_0x23f5e5;return this[_0x3e3ccf(0x1cb)]['size'];}['getTotalChatCount'](){const _0x1c686f=a69_0x23f5e5;let _0x40c8fd=0x0;for(const _0x1d59b7 of this[_0x1c686f(0x1cb)][_0x1c686f(0x1d2)]()){_0x40c8fd+=_0x1d59b7[_0x1c686f(0x1d5)][_0x1c686f(0x1cf)];}return _0x40c8fd;}['clear'](){const _0x43af91=a69_0x23f5e5;this[_0x43af91(0x1cb)]['clear']();}}function a69_0x42dc(){const _0x392136=['14317831QeEWAv','4775280JeIntH','cleanupExpiredChats','push','lastUsedAt','14013fVGbZk','getOrCreateSession','24SmwFht','2546445ZBmnBF','config','sessions','getOrCreateChat','460CFqUix','293802yfmJfJ','size','Session\x20','593117tcjnlA','values','getSession','maxChatsPerSession','chats','20XJGZty','now','1dFARpS','get','\x20not\x20found','delete','set','cacheExpirationMs','225117aLNQxH'];a69_0x42dc=function(){return _0x392136;};return a69_0x42dc();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
function a70_0x5f2f(){const _0x14faa1=['586508SBbqID','event:\x20','type','getUsage','3972080zfVoPK','cache_creation_input_tokens','split','buffer','parse','8888700NBWdgl','inputTokens','5EKnWqR','pop','1559984jtrgWw','4559871pJGtqu','data:\x20','32769880ZLDcqa','cache_read_input_tokens','output_tokens','event','message_delta','trim','cacheReadInputTokens','cacheCreationInputTokens','data','input_tokens','message','slice','processChunk','push','6439237vpASdD','message_start','outputTokens','usage'];a70_0x5f2f=function(){return _0x14faa1;};return a70_0x5f2f();}const a70_0x3bcdce=a70_0x1ef6;(function(_0x16cff1,_0x10342a){const _0x179198=a70_0x1ef6,_0xc27fda=_0x16cff1();while(!![]){try{const _0x5842b1=-parseInt(_0x179198(0xb6))/0x1+parseInt(_0x179198(0xcb))/0x2+-parseInt(_0x179198(0xb7))/0x3+-parseInt(_0x179198(0xcf))/0x4+-parseInt(_0x179198(0xd6))/0x5*(-parseInt(_0x179198(0xd4))/0x6)+-parseInt(_0x179198(0xc7))/0x7+parseInt(_0x179198(0xb9))/0x8;if(_0x5842b1===_0x10342a)break;else _0xc27fda['push'](_0xc27fda['shift']());}catch(_0x58ae0c){_0xc27fda['push'](_0xc27fda['shift']());}}}(a70_0x5f2f,0xd6607));export function parseSSEChunk(_0x520bcf){const _0x3031e0=a70_0x1ef6,_0x4b3b69=[],_0x190f77=_0x520bcf[_0x3031e0(0xd1)]('\x0a\x0a'),_0x5d3d9b=_0x190f77[_0x3031e0(0xd7)]()||'';for(const _0x53ac43 of _0x190f77){if(!_0x53ac43[_0x3031e0(0xbe)]())continue;const _0x3e7729={},_0x37ef40=_0x53ac43[_0x3031e0(0xd1)]('\x0a');for(const _0x2d5ae9 of _0x37ef40){if(_0x2d5ae9['startsWith'](_0x3031e0(0xcc)))_0x3e7729[_0x3031e0(0xbc)]=_0x2d5ae9[_0x3031e0(0xc4)](0x7);else _0x2d5ae9['startsWith'](_0x3031e0(0xb8))&&(_0x3e7729[_0x3031e0(0xc1)]=_0x2d5ae9[_0x3031e0(0xc4)](0x6));}(_0x3e7729['event']||_0x3e7729[_0x3031e0(0xc1)])&&_0x4b3b69[_0x3031e0(0xc6)](_0x3e7729);}return{'events':_0x4b3b69,'remaining':_0x5d3d9b};}function a70_0x1ef6(_0x26f429,_0x271e5d){_0x26f429=_0x26f429-0xb6;const _0x5f2f5f=a70_0x5f2f();let _0x1ef667=_0x5f2f5f[_0x26f429];return _0x1ef667;}export function extractMessageStartUsage(_0x4695aa){const _0x39e655=a70_0x1ef6;try{const _0x203141=JSON[_0x39e655(0xd3)](_0x4695aa);if(_0x203141[_0x39e655(0xcd)]===_0x39e655(0xc8)&&_0x203141[_0x39e655(0xc3)]?.[_0x39e655(0xca)]){const _0x22be92=_0x203141[_0x39e655(0xc3)][_0x39e655(0xca)];return{'inputTokens':_0x22be92[_0x39e655(0xc2)]||0x0,'outputTokens':_0x22be92[_0x39e655(0xbb)]||0x0,'cacheCreationInputTokens':_0x22be92['cache_creation_input_tokens'],'cacheReadInputTokens':_0x22be92[_0x39e655(0xba)]};}}catch{}return null;}export function extractMessageDeltaUsage(_0xf1768d){const _0x42e28b=a70_0x1ef6;try{const _0x4ec274=JSON['parse'](_0xf1768d);if(_0x4ec274[_0x42e28b(0xcd)]===_0x42e28b(0xbd)&&_0x4ec274[_0x42e28b(0xca)]){const _0x20e3d1=_0x4ec274['usage'];return{'inputTokens':_0x20e3d1[_0x42e28b(0xc2)]||0x0,'outputTokens':_0x20e3d1[_0x42e28b(0xbb)]||0x0,'cacheCreationInputTokens':_0x20e3d1[_0x42e28b(0xd0)],'cacheReadInputTokens':_0x20e3d1[_0x42e28b(0xba)]};}}catch{}return null;}export function extractUsageFromEvent(_0x344719){const _0x56d2ee=a70_0x1ef6;if(!_0x344719[_0x56d2ee(0xc1)])return null;if(_0x344719[_0x56d2ee(0xbc)]==='message_start')return extractMessageStartUsage(_0x344719['data']);if(_0x344719[_0x56d2ee(0xbc)]===_0x56d2ee(0xbd))return extractMessageDeltaUsage(_0x344719[_0x56d2ee(0xc1)]);return null;}export class SSEUsageTracker{[a70_0x3bcdce(0xd5)]=0x0;[a70_0x3bcdce(0xc9)]=0x0;['cacheCreationInputTokens'];[a70_0x3bcdce(0xbf)];['buffer']='';[a70_0x3bcdce(0xc5)](_0x121c6c){const _0x58da04=a70_0x3bcdce;this[_0x58da04(0xd2)]+=_0x121c6c;const {events:_0x1c305c,remaining:_0x495889}=parseSSEChunk(this[_0x58da04(0xd2)]);this[_0x58da04(0xd2)]=_0x495889;for(const _0x344538 of _0x1c305c){const _0x1f935c=extractUsageFromEvent(_0x344538);_0x1f935c&&(this['inputTokens']=_0x1f935c[_0x58da04(0xd5)],this[_0x58da04(0xc9)]=_0x1f935c['outputTokens'],_0x1f935c[_0x58da04(0xc0)]!==undefined&&(this[_0x58da04(0xc0)]=_0x1f935c[_0x58da04(0xc0)]),_0x1f935c['cacheReadInputTokens']!==undefined&&(this['cacheReadInputTokens']=_0x1f935c[_0x58da04(0xbf)]));}return _0x121c6c;}[a70_0x3bcdce(0xce)](){const _0xb27a63=a70_0x3bcdce;return{'inputTokens':this[_0xb27a63(0xd5)],'outputTokens':this[_0xb27a63(0xc9)],'cacheCreationInputTokens':this[_0xb27a63(0xc0)],'cacheReadInputTokens':this[_0xb27a63(0xbf)]};}['reset'](){const _0x571e6a=a70_0x3bcdce;this['inputTokens']=0x0,this[_0x571e6a(0xc9)]=0x0,this[_0x571e6a(0xc0)]=undefined,this[_0x571e6a(0xbf)]=undefined,this[_0x571e6a(0xd2)]='';}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a71_0x2db9c6=a71_0x5010;(function(_0x2a2d5d,_0xfc823e){const _0xf96b40=a71_0x5010,_0x459524=_0x2a2d5d();while(!![]){try{const _0xbd4a6a=-parseInt(_0xf96b40(0xad))/0x1+parseInt(_0xf96b40(0x95))/0x2+parseInt(_0xf96b40(0x88))/0x3*(-parseInt(_0xf96b40(0x8d))/0x4)+parseInt(_0xf96b40(0x9f))/0x5*(-parseInt(_0xf96b40(0xa2))/0x6)+parseInt(_0xf96b40(0x98))/0x7*(parseInt(_0xf96b40(0xab))/0x8)+-parseInt(_0xf96b40(0x94))/0x9+parseInt(_0xf96b40(0xa3))/0xa;if(_0xbd4a6a===_0xfc823e)break;else _0x459524['push'](_0x459524['shift']());}catch(_0x17ae85){_0x459524['push'](_0x459524['shift']());}}}(a71_0x5cb8,0x8e02f));import{existsSync,readFileSync,readdirSync}from'fs';import a71_0x54de7d from'path';import{sanitizeForFilesystem,normalizeName}from'./agent-yaml.js';const TDX_CONFIG_FILE=a71_0x2db9c6(0x89),AGENTS_DIR=a71_0x2db9c6(0xa5);export function findAgentConfigPath(_0x3c3859=process['cwd']()){const _0x376b47=a71_0x2db9c6;let _0x232d2f=a71_0x54de7d[_0x376b47(0x8e)](_0x3c3859);const _0x5d5c82=a71_0x54de7d[_0x376b47(0x87)](_0x232d2f)[_0x376b47(0x9c)];while(_0x232d2f!==_0x5d5c82){const _0x245c09=a71_0x54de7d[_0x376b47(0xa4)](_0x232d2f,TDX_CONFIG_FILE);if(existsSync(_0x245c09))try{const _0x68a455=readFileSync(_0x245c09,_0x376b47(0x97)),_0x86bba4=JSON[_0x376b47(0x87)](_0x68a455);if(_0x86bba4[_0x376b47(0x84)])return _0x245c09;}catch{}_0x232d2f=a71_0x54de7d[_0x376b47(0x9d)](_0x232d2f);}return null;}function a71_0x5cb8(){const _0x286c2f=['5138289mnjsIF','2214564eIhlJR','Invalid\x20tdx.json:\x20missing\x20or\x20invalid\x20\x27llm_project\x27\x20field','utf-8','1584779BuplXQ','isDirectory','length','integrations','root','dirname','PROMPTS','185HTKLfV','INTEGRATIONS','object','137814zGjIrJ','1602160NwxzTB','join','agents','cwd','requireFile','no_local_folder','Current\x20context\x20has\x20llm_project=\x22','multiple_agents','40cUnQar','local','388582XuxoUv','llm_project','filter','\x22\x20but\x20no\x20local\x20folder\x20found.','parse','132rYonMw','tdx.json','stringify','name','context','768AosgEG','resolve','agent.yml','knowledge_bases','map','prompts','Invalid\x20JSON\x20in\x20'];a71_0x5cb8=function(){return _0x286c2f;};return a71_0x5cb8();}export function loadAgentConfig(_0x23e320){const _0x764f1c=a71_0x2db9c6,_0x3c9409=readFileSync(_0x23e320,_0x764f1c(0x97));let _0x270d19;try{_0x270d19=JSON[_0x764f1c(0x87)](_0x3c9409);}catch{throw new Error(_0x764f1c(0x93)+_0x23e320);}if(!_0x270d19||typeof _0x270d19!==_0x764f1c(0xa1))throw new Error('Invalid\x20tdx.json:\x20expected\x20object');const _0x3523d6=_0x270d19;if(!_0x3523d6[_0x764f1c(0x84)]||typeof _0x3523d6['llm_project']!=='string')throw new Error(_0x764f1c(0x96));return{'llm_project':_0x3523d6[_0x764f1c(0x84)]};}export function findAgentConfig(_0x3656bb=process[a71_0x2db9c6(0xa6)]()){const _0x4ed32e=a71_0x2db9c6,_0x3066b6=findAgentConfigPath(_0x3656bb);if(!_0x3066b6)throw new Error('No\x20agent\x20tdx.json\x20found.\x20Please\x20run\x20\x27tdx\x20agent\x20pull\x20<project>\x27\x20first\x20to\x20create\x20the\x20folder\x20structure.');const _0x55b87e=loadAgentConfig(_0x3066b6),_0x177bde=a71_0x54de7d[_0x4ed32e(0x9d)](_0x3066b6);return{'config':_0x55b87e,'configPath':_0x3066b6,'configDir':_0x177bde};}export function getAgentProjectDir(_0x3ac84a,_0x6617ed=process[a71_0x2db9c6(0xa6)]()){const _0x3ef3b1=a71_0x2db9c6;return a71_0x54de7d[_0x3ef3b1(0xa4)](_0x6617ed,AGENTS_DIR,_0x3ac84a);}export function getAgentConfigPath(_0x2c6e9b,_0x14a376=process['cwd']()){const _0x282a35=a71_0x2db9c6;return a71_0x54de7d[_0x282a35(0xa4)](getAgentProjectDir(_0x2c6e9b,_0x14a376),TDX_CONFIG_FILE);}export function createAgentConfigContent(_0x27ca13){const _0x43f1ef=a71_0x2db9c6,_0x4183b6={'llm_project':_0x27ca13};return JSON[_0x43f1ef(0x8a)](_0x4183b6,null,0x2)+'\x0a';}export function isAgentDir(_0x306a82){const _0x5ae219=a71_0x2db9c6;return existsSync(a71_0x54de7d[_0x5ae219(0xa4)](_0x306a82,'agent.yml'));}export function isAgentYamlPath(_0x384b6f){const _0x292d64=a71_0x2db9c6;return a71_0x54de7d['basename'](_0x384b6f)===_0x292d64(0x8f);}export function getAgentDirFromYamlPath(_0x14aea0){const _0x1addcd=a71_0x2db9c6;return a71_0x54de7d[_0x1addcd(0x9d)](_0x14aea0);}export const PROJECT_SUBDIRS={'KNOWLEDGE_BASES':a71_0x2db9c6(0x90),'PROMPTS':a71_0x2db9c6(0x92),'INTEGRATIONS':a71_0x2db9c6(0x9b)};function a71_0x5010(_0x589d7b,_0x5ebcdb){_0x589d7b=_0x589d7b-0x84;const _0x5cb8b2=a71_0x5cb8();let _0x501038=_0x5cb8b2[_0x589d7b];return _0x501038;}export function getKnowledgeBasesDir(_0x2031ac){const _0x536fa9=a71_0x2db9c6;return a71_0x54de7d[_0x536fa9(0xa4)](_0x2031ac,PROJECT_SUBDIRS['KNOWLEDGE_BASES']);}export function getPromptsDir(_0x157aff){const _0x385474=a71_0x2db9c6;return a71_0x54de7d['join'](_0x157aff,PROJECT_SUBDIRS[_0x385474(0x9e)]);}export function getIntegrationsDir(_0x1d1fe1){const _0xdf20d3=a71_0x2db9c6;return a71_0x54de7d[_0xdf20d3(0xa4)](_0x1d1fe1,PROJECT_SUBDIRS[_0xdf20d3(0xa0)]);}export function resolveProjectFromContext(_0x5eca8f,_0x3ebc6d,_0x36d662){const _0x33496e=a71_0x2db9c6,_0x3d0e43=_0x36d662?.[_0x33496e(0xa7)],_0x207c2b=findAgentConfigPath(a71_0x54de7d[_0x33496e(0x8e)](_0x5eca8f));if(_0x207c2b)return{'found':!![],'projectDir':a71_0x54de7d['dirname'](_0x207c2b),'configPath':_0x207c2b,'source':_0x33496e(0xac)};if(!_0x3ebc6d)return{'found':![],'reason':'no_context','message':'No\x20tdx.json\x20found\x20and\x20llm_project\x20is\x20not\x20set.'};const _0x2d0716=sanitizeForFilesystem(_0x3ebc6d),_0x1e6462=a71_0x54de7d[_0x33496e(0xa4)](process[_0x33496e(0xa6)](),AGENTS_DIR);let _0x29ce86=a71_0x54de7d[_0x33496e(0xa4)](_0x1e6462,_0x2d0716),_0x18a357=a71_0x54de7d[_0x33496e(0xa4)](_0x29ce86,TDX_CONFIG_FILE);if(!existsSync(_0x29ce86)){const _0x3e6203=normalizeName(_0x3ebc6d),_0x184aa2=a71_0x54de7d[_0x33496e(0xa4)](_0x1e6462,_0x3e6203);existsSync(_0x184aa2)&&(_0x29ce86=_0x184aa2,_0x18a357=a71_0x54de7d['join'](_0x29ce86,TDX_CONFIG_FILE));}if(!existsSync(_0x29ce86))return{'found':![],'reason':_0x33496e(0xa8),'llmProject':_0x3ebc6d,'message':_0x33496e(0xa9)+_0x3ebc6d+_0x33496e(0x86)};if(_0x3d0e43){const _0x591119=readdirSync(_0x29ce86,{'withFileTypes':!![]}),_0x25bf14=_0x591119[_0x33496e(0x85)](_0x5ce85e=>_0x5ce85e[_0x33496e(0x99)]())[_0x33496e(0x91)](_0x560af8=>_0x560af8[_0x33496e(0x8b)])[_0x33496e(0x85)](_0x137639=>{const _0x20cb66=a71_0x54de7d['join'](_0x29ce86,_0x137639,_0x3d0e43);return existsSync(_0x20cb66);});if(_0x25bf14[_0x33496e(0x9a)]===0x0)return{'found':![],'reason':'no_tests','llmProject':_0x3ebc6d,'projectDir':_0x29ce86};if(_0x25bf14[_0x33496e(0x9a)]>0x1)return{'found':![],'reason':_0x33496e(0xaa),'llmProject':_0x3ebc6d,'agentDirs':_0x25bf14,'projectDir':_0x29ce86};return{'found':!![],'projectDir':a71_0x54de7d[_0x33496e(0xa4)](_0x29ce86,_0x25bf14[0x0]),'configPath':_0x18a357,'source':'context'};}return{'found':!![],'projectDir':_0x29ce86,'configPath':_0x18a357,'source':_0x33496e(0x8c)};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function a72_0xb2c6(_0x25967a,_0x127492){_0x25967a=_0x25967a-0xdd;const _0x2ffbc2=a72_0x2ffb();let _0xb2c6cb=_0x2ffbc2[_0x25967a];return _0xb2c6cb;}function a72_0x2ffb(){const _0x5cf5f3=['Invalid\x20agent\x20reference\x20format:\x20','Project\x20name\x20cannot\x20be\x20empty','247964vwcEdk','split','length','11962836fVSSGk','6EpphEQ','Agent\x20name\x20cannot\x20be\x20empty','39LUZCqH','36624038GDQCdP','.\x20Expected\x20\x22project_name\x22\x20or\x20\x22project_name/agent_name\x22','7084736HqnOtH','10zMQjzz','1201929BABmCF','90zPScOc','55452umLqAh','trim','4769429WPDoRA'];a72_0x2ffb=function(){return _0x5cf5f3;};return a72_0x2ffb();}(function(_0x44bcc6,_0x255d0a){const _0x4462b9=a72_0xb2c6,_0x282529=_0x44bcc6();while(!![]){try{const _0x2d3541=parseInt(_0x4462b9(0xe5))/0x1*(-parseInt(_0x4462b9(0xec))/0x2)+parseInt(_0x4462b9(0xea))/0x3+parseInt(_0x4462b9(0xdf))/0x4*(parseInt(_0x4462b9(0xeb))/0x5)+-parseInt(_0x4462b9(0xe3))/0x6*(parseInt(_0x4462b9(0xee))/0x7)+-parseInt(_0x4462b9(0xe8))/0x8+-parseInt(_0x4462b9(0xe2))/0x9+parseInt(_0x4462b9(0xe9))/0xa*(parseInt(_0x4462b9(0xe6))/0xb);if(_0x2d3541===_0x255d0a)break;else _0x282529['push'](_0x282529['shift']());}catch(_0x48da8e){_0x282529['push'](_0x282529['shift']());}}}(a72_0x2ffb,0xd4082));export function parseAgentRef(_0x1306d9){const _0x382ddc=a72_0xb2c6;if(!_0x1306d9||_0x1306d9[_0x382ddc(0xed)]()==='')throw new Error('Agent\x20reference\x20cannot\x20be\x20empty');const _0x14fc9b=_0x1306d9[_0x382ddc(0xed)](),_0x2612c7=_0x14fc9b[_0x382ddc(0xe0)]('/');if(_0x2612c7['length']===0x1)return{'projectName':_0x2612c7[0x0],'agentName':undefined};else{if(_0x2612c7[_0x382ddc(0xe1)]===0x2){const [_0x195326,_0x391f2f]=_0x2612c7;if(!_0x195326||_0x195326[_0x382ddc(0xed)]()==='')throw new Error(_0x382ddc(0xde));if(!_0x391f2f||_0x391f2f['trim']()==='')throw new Error(_0x382ddc(0xe4));return{'projectName':_0x195326[_0x382ddc(0xed)](),'agentName':_0x391f2f[_0x382ddc(0xed)]()};}else throw new Error(_0x382ddc(0xdd)+_0x1306d9+_0x382ddc(0xe7));}}
|