@treasuredata/tdx 0.14.9 → 0.15.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.d.ts +1 -1
- package/dist/cli-categories.js +1 -1
- package/dist/cli-categories.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +1 -1
- package/dist/cli.js.map +1 -1
- package/dist/commands/activations.js +1 -1
- package/dist/commands/agent-command.d.ts.map +1 -1
- package/dist/commands/agent-command.js +1 -1
- package/dist/commands/agent-command.js.map +1 -1
- package/dist/commands/agent-test-command.d.ts +16 -0
- package/dist/commands/agent-test-command.d.ts.map +1 -0
- package/dist/commands/agent-test-command.js +1 -0
- package/dist/commands/agent-test-command.js.map +1 -0
- 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.d.ts +19 -0
- package/dist/commands/mcp-command.d.ts.map +1 -0
- package/dist/commands/mcp-command.js +1 -0
- package/dist/commands/mcp-command.js.map +1 -0
- package/dist/commands/parent-segment-command.js +1 -1
- package/dist/commands/profile-command.js +1 -1
- package/dist/commands/profiles-command.js +1 -1
- package/dist/commands/query-command.js +1 -1
- package/dist/commands/segment-command.js +1 -1
- package/dist/commands/segment-create-command.js +1 -1
- package/dist/commands/segment-fields-command.js +1 -1
- package/dist/commands/segment-pull-command.js +1 -1
- package/dist/commands/segment-push-command.js +1 -1
- package/dist/commands/segment-update-command.js +1 -1
- package/dist/commands/segment-use-command.js +1 -1
- package/dist/commands/segment-validate-command.js +1 -1
- package/dist/commands/segments.js +1 -1
- package/dist/commands/show.js +1 -1
- package/dist/commands/tables.js +1 -1
- package/dist/commands/unset-command.js +1 -1
- package/dist/commands/use-command.js +1 -1
- package/dist/commands/user-command.js +1 -1
- package/dist/commands/workflow-command.js +1 -1
- package/dist/core/auth.js +1 -1
- package/dist/core/command-output.js +1 -1
- package/dist/core/config.js +1 -1
- package/dist/core/connection-cache.js +1 -1
- package/dist/core/constants.js +1 -1
- package/dist/core/credential-cache.js +1 -1
- package/dist/core/global-context.js +1 -1
- package/dist/core/keychain.js +1 -1
- package/dist/core/profile.js +1 -1
- package/dist/core/project-config.js +1 -1
- package/dist/core/session.js +1 -1
- package/dist/core/user-cache.js +1 -1
- package/dist/core/version.js +1 -1
- package/dist/index.js +1 -1
- package/dist/mcp/server.d.ts +31 -0
- package/dist/mcp/server.d.ts.map +1 -0
- package/dist/mcp/server.js +1 -0
- package/dist/mcp/server.js.map +1 -0
- package/dist/mcp/tools/index.d.ts +10 -0
- package/dist/mcp/tools/index.d.ts.map +1 -0
- package/dist/mcp/tools/index.js +1 -0
- package/dist/mcp/tools/index.js.map +1 -0
- package/dist/mcp/tools/tdx-run.d.ts +35 -0
- package/dist/mcp/tools/tdx-run.d.ts.map +1 -0
- package/dist/mcp/tools/tdx-run.js +1 -0
- package/dist/mcp/tools/tdx-run.js.map +1 -0
- package/dist/mcp/tools/tdx-search.d.ts +42 -0
- package/dist/mcp/tools/tdx-search.d.ts.map +1 -0
- package/dist/mcp/tools/tdx-search.js +1 -0
- package/dist/mcp/tools/tdx-search.js.map +1 -0
- package/dist/mcp/utils.d.ts +35 -0
- package/dist/mcp/utils.d.ts.map +1 -0
- package/dist/mcp/utils.js +1 -0
- package/dist/mcp/utils.js.map +1 -0
- 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.d.ts +46 -0
- package/dist/sdk/agent/agent-config.d.ts.map +1 -1
- package/dist/sdk/agent/agent-config.js +1 -1
- package/dist/sdk/agent/agent-config.js.map +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.d.ts +55 -0
- package/dist/sdk/agent/test/evaluator.d.ts.map +1 -0
- package/dist/sdk/agent/test/evaluator.js +1 -0
- package/dist/sdk/agent/test/evaluator.js.map +1 -0
- package/dist/sdk/agent/test/executor.d.ts +73 -0
- package/dist/sdk/agent/test/executor.d.ts.map +1 -0
- package/dist/sdk/agent/test/executor.js +1 -0
- package/dist/sdk/agent/test/executor.js.map +1 -0
- package/dist/sdk/agent/test/index.d.ts +12 -0
- package/dist/sdk/agent/test/index.d.ts.map +1 -0
- package/dist/sdk/agent/test/index.js +1 -0
- package/dist/sdk/agent/test/index.js.map +1 -0
- package/dist/sdk/agent/test/output.d.ts +19 -0
- package/dist/sdk/agent/test/output.d.ts.map +1 -0
- package/dist/sdk/agent/test/output.js +1 -0
- package/dist/sdk/agent/test/output.js.map +1 -0
- package/dist/sdk/agent/test/parser.d.ts +55 -0
- package/dist/sdk/agent/test/parser.d.ts.map +1 -0
- package/dist/sdk/agent/test/parser.js +1 -0
- package/dist/sdk/agent/test/parser.js.map +1 -0
- package/dist/sdk/agent/test/types.d.ts +169 -0
- package/dist/sdk/agent/test/types.d.ts.map +1 -0
- package/dist/sdk/agent/test/types.js +1 -0
- package/dist/sdk/agent/test/types.js.map +1 -0
- package/dist/sdk/api.js +1 -1
- package/dist/sdk/claude-agent/claude-agent-client.d.ts +42 -0
- package/dist/sdk/claude-agent/claude-agent-client.d.ts.map +1 -0
- package/dist/sdk/claude-agent/claude-agent-client.js +1 -0
- package/dist/sdk/claude-agent/claude-agent-client.js.map +1 -0
- package/dist/sdk/claude-agent/environment.d.ts +50 -0
- package/dist/sdk/claude-agent/environment.d.ts.map +1 -0
- package/dist/sdk/claude-agent/environment.js +1 -0
- package/dist/sdk/claude-agent/environment.js.map +1 -0
- package/dist/sdk/claude-agent/index.d.ts +14 -0
- package/dist/sdk/claude-agent/index.d.ts.map +1 -0
- package/dist/sdk/claude-agent/index.js +1 -0
- package/dist/sdk/claude-agent/index.js.map +1 -0
- package/dist/sdk/claude-agent/system-prompts.d.ts +22 -0
- package/dist/sdk/claude-agent/system-prompts.d.ts.map +1 -0
- package/dist/sdk/claude-agent/system-prompts.js +1 -0
- package/dist/sdk/claude-agent/system-prompts.js.map +1 -0
- package/dist/sdk/claude-agent/types.d.ts +72 -0
- package/dist/sdk/claude-agent/types.d.ts.map +1 -0
- package/dist/sdk/claude-agent/types.js +1 -0
- package/dist/sdk/claude-agent/types.js.map +1 -0
- package/dist/sdk/client/cdp-api-client.js +1 -1
- package/dist/sdk/client/endpoints.d.ts +17 -0
- package/dist/sdk/client/endpoints.d.ts.map +1 -1
- package/dist/sdk/client/endpoints.js +1 -1
- package/dist/sdk/client/endpoints.js.map +1 -1
- package/dist/sdk/client/engage-api-client.js +1 -1
- package/dist/sdk/client/http-client.js +1 -1
- package/dist/sdk/client/llm-api-client.d.ts +6 -0
- package/dist/sdk/client/llm-api-client.d.ts.map +1 -1
- package/dist/sdk/client/llm-api-client.js +1 -1
- package/dist/sdk/client/llm-api-client.js.map +1 -1
- package/dist/sdk/client/rate-limiter.js +1 -1
- package/dist/sdk/client/td-api-client.js +1 -1
- package/dist/sdk/client/trino-api-client.js +1 -1
- package/dist/sdk/client/workflow-client.js +1 -1
- package/dist/sdk/connection-validator.js +1 -1
- package/dist/sdk/connection.js +1 -1
- package/dist/sdk/engage.js +1 -1
- package/dist/sdk/errors.d.ts +2 -0
- package/dist/sdk/errors.d.ts.map +1 -1
- package/dist/sdk/errors.js +1 -1
- package/dist/sdk/errors.js.map +1 -1
- package/dist/sdk/index.d.ts +3 -1
- package/dist/sdk/index.d.ts.map +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.d.ts +9 -1
- package/dist/sdk/llm/index.d.ts.map +1 -1
- package/dist/sdk/llm/index.js +1 -1
- package/dist/sdk/llm/index.js.map +1 -1
- package/dist/sdk/llm/llm-backup-utils.js +1 -1
- package/dist/sdk/llm/model-aliases.js +1 -1
- package/dist/sdk/llm/model-factors.js +1 -1
- package/dist/sdk/query/index.js +1 -1
- package/dist/sdk/query/sql-parser.js +1 -1
- package/dist/sdk/segment/child-segment-yaml.js +1 -1
- package/dist/sdk/segment/fields-display.js +1 -1
- package/dist/sdk/segment/file-discovery.js +1 -1
- package/dist/sdk/segment/journey-utils.js +1 -1
- package/dist/sdk/segment/journey-yaml.js +1 -1
- package/dist/sdk/segment/parent-segment-preview.js +1 -1
- package/dist/sdk/segment/parent-segment-yaml.js +1 -1
- package/dist/sdk/segment/pull-workflow.js +1 -1
- package/dist/sdk/segment/push-workflow.js +1 -1
- package/dist/sdk/segment/resolution-context.js +1 -1
- package/dist/sdk/segment/segment-path-parser.js +1 -1
- package/dist/sdk/segment/segment-ref-parser.js +1 -1
- package/dist/sdk/segment/target-resolution.js +1 -1
- package/dist/sdk/segment/tdx-config.js +1 -1
- package/dist/sdk/segment/validate-files.js +1 -1
- package/dist/sdk/segment/yaml-validator.js +1 -1
- package/dist/sdk/segment.js +1 -1
- package/dist/sdk/types/index.js +1 -1
- package/dist/sdk/types/progress.js +1 -1
- package/dist/sdk/user.js +1 -1
- package/dist/sdk/util/format-detector.js +1 -1
- package/dist/sdk/util/formatters.js +1 -1
- package/dist/sdk/util/index.js +1 -1
- package/dist/sdk/util/tree-formatter.js +1 -1
- package/dist/sdk/workflow/clone-workflow.js +1 -1
- package/dist/sdk/workflow/index.js +1 -1
- package/dist/sdk/workflow/pull-workflow.js +1 -1
- package/dist/sdk/workflow/push-workflow.js +1 -1
- package/dist/sdk/workflow/tdx-config.js +1 -1
- package/dist/sdk/workflow/workflow-utils.js +1 -1
- package/dist/utils/async.js +1 -1
- package/dist/utils/colors.js +1 -1
- package/dist/utils/diff.js +1 -1
- package/dist/utils/file-permissions.js +1 -1
- package/dist/utils/json-loader.js +1 -1
- package/dist/utils/option-validation.js +1 -1
- package/dist/utils/port.js +1 -1
- package/dist/utils/process.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.d.ts +12 -1
- package/dist/utils/tdx-logger.d.ts.map +1 -1
- package/dist/utils/tdx-logger.js +1 -1
- package/dist/utils/tdx-logger.js.map +1 -1
- package/dist/utils/version-check.js +1 -1
- package/package.json +4 -2
|
@@ -1 +1 @@
|
|
|
1
|
-
const a58_0x37d5fb=a58_0x19de;(function(_0xd8a49f,_0x5edba5){const _0x5bb8fe=a58_0x19de,_0x44775e=_0xd8a49f();while(!![]){try{const _0x1dd218=-parseInt(_0x5bb8fe(0x1a1))/0x1+parseInt(_0x5bb8fe(0x1d0))/0x2+parseInt(_0x5bb8fe(0x18e))/0x3+-parseInt(_0x5bb8fe(0x196))/0x4*(-parseInt(_0x5bb8fe(0x1e0))/0x5)+-parseInt(_0x5bb8fe(0x1b9))/0x6+parseInt(_0x5bb8fe(0x1b6))/0x7*(-parseInt(_0x5bb8fe(0x1a4))/0x8)+-parseInt(_0x5bb8fe(0x1c6))/0x9*(parseInt(_0x5bb8fe(0x175))/0xa);if(_0x1dd218===_0x5edba5)break;else _0x44775e['push'](_0x44775e['shift']());}catch(_0x3cac43){_0x44775e['push'](_0x44775e['shift']());}}}(a58_0x1e1a,0xebe66));import a58_0x211930 from'fastify';import a58_0x2ea739 from'@fastify/cors';function a58_0x19de(_0x287619,_0x11908f){_0x287619=_0x287619-0x16e;const _0x1e1a5b=a58_0x1e1a();let _0x19dee5=_0x1e1a5b[_0x287619];return _0x19dee5;}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(_0x1dbbcc){const _0x59ebeb=a58_0x19de,_0x7064e6=_0x1dbbcc[_0x59ebeb(0x1d5)](/_session_([a-f0-9-]+)$/i);if(_0x7064e6)return _0x7064e6[0x1];return _0x1dbbcc;}export function injectSystemPrompt(_0x16c681,_0x1105d5){const _0x16722b=a58_0x19de,_0x531c5b=_0x16c681[_0x16722b(0x1aa)];if(!_0x531c5b)return{..._0x16c681,'system':_0x1105d5};if(typeof _0x531c5b===_0x16722b(0x1cf))return{..._0x16c681,'system':_0x1105d5+'\x0a\x0a'+_0x531c5b};if(Array[_0x16722b(0x1a7)](_0x531c5b)){const _0x1b7c4c={'type':'text','text':_0x1105d5};return{..._0x16c681,'system':[_0x1b7c4c,..._0x531c5b]};}return _0x16c681;}export function shouldInjectSystemPrompt(_0x27d8fa){const _0x7f809=a58_0x19de;return!_0x27d8fa[_0x7f809(0x1ea)]()['includes'](_0x7f809(0x1da));}export class PassThroughProxyServer{[a58_0x37d5fb(0x1cd)];[a58_0x37d5fb(0x19c)];[a58_0x37d5fb(0x1c7)];constructor(_0x3e1edc){const _0x53ec2e=a58_0x37d5fb;this[_0x53ec2e(0x19c)]=_0x3e1edc,this[_0x53ec2e(0x1c7)]=_0x3e1edc[_0x53ec2e(0x1c7)],this[_0x53ec2e(0x1cd)]=a58_0x211930({'logger':![],'bodyLimit':0x40*0x400*0x400}),this[_0x53ec2e(0x185)](),this[_0x53ec2e(0x194)](),this['setupRoutes']();}['setupJsonParser'](){const _0x52c0fe=a58_0x37d5fb;this[_0x52c0fe(0x1cd)][_0x52c0fe(0x1ca)](_0x52c0fe(0x184),{'parseAs':_0x52c0fe(0x1cf)},(_0x3d7d6f,_0x44902a,_0x178cfe)=>{const _0x3e6d35=_0x52c0fe;try{const _0x4bbf12=JSON[_0x3e6d35(0x17a)](_0x44902a);_0x178cfe(null,_0x4bbf12);}catch(_0x4da1f5){_0x178cfe(_0x4da1f5,undefined);}});}['setupMiddleware'](){const _0x5c1dcc=a58_0x37d5fb;this['server'][_0x5c1dcc(0x1d3)](a58_0x2ea739,{'origin':!![],'methods':[_0x5c1dcc(0x174),'POST','OPTIONS'],'allowedHeaders':[_0x5c1dcc(0x18d),_0x5c1dcc(0x1f1),_0x5c1dcc(0x1dc),_0x5c1dcc(0x18a)]}),this[_0x5c1dcc(0x1cd)][_0x5c1dcc(0x1bc)]((_0x91b47a,_0x573105,_0x524173)=>{const _0x23f5c2=_0x5c1dcc,_0x478650=_0x91b47a instanceof Error?_0x91b47a['message']:_0x23f5c2(0x1bd);this[_0x23f5c2(0x1c7)][_0x23f5c2(0x1be)](_0x23f5c2(0x19b),_0x91b47a),_0x524173[_0x23f5c2(0x17c)](0x1f4)[_0x23f5c2(0x188)]({'type':_0x23f5c2(0x1be),'error':{'type':_0x23f5c2(0x1a8),'message':_0x478650}});});}[a58_0x37d5fb(0x173)](){const _0x4652a9=a58_0x37d5fb;this[_0x4652a9(0x1cd)][_0x4652a9(0x1d9)]('/health',async()=>{const _0x4492b8=_0x4652a9;return{'status':'ok','message':_0x4492b8(0x181)};}),this[_0x4652a9(0x1cd)][_0x4652a9(0x1ec)](_0x4652a9(0x1ad),async(_0x450e41,_0x276ea3)=>{const _0x32a0d9=_0x4652a9;return this[_0x32a0d9(0x17d)](_0x450e41,_0x276ea3);}),this['server'][_0x4652a9(0x1ec)](_0x4652a9(0x1bf),async(_0x2b5268,_0x393f54)=>{const _0x3017e2=_0x4652a9;return this[_0x3017e2(0x1b4)](_0x2b5268,_0x393f54);});}static [a58_0x37d5fb(0x1bb)]=new Set([a58_0x37d5fb(0x178),a58_0x37d5fb(0x1a5),a58_0x37d5fb(0x1e3),'transfer-encoding','authorization',a58_0x37d5fb(0x18a),a58_0x37d5fb(0x1c9)]);['buildForwardHeaders'](_0x1e0456){const _0x4eb7b3=a58_0x37d5fb,_0xa763fe={};for(const [_0xf118fd,_0x1a2973]of Object[_0x4eb7b3(0x190)](_0x1e0456[_0x4eb7b3(0x1e7)])){const _0x215d7e=_0xf118fd[_0x4eb7b3(0x1ea)]();if(PassThroughProxyServer[_0x4eb7b3(0x1bb)][_0x4eb7b3(0x1df)](_0x215d7e))continue;if(_0x215d7e[_0x4eb7b3(0x1d2)]('x-td-'))continue;if(typeof _0x1a2973===_0x4eb7b3(0x1cf))_0xa763fe[_0xf118fd]=_0x1a2973;else Array[_0x4eb7b3(0x1a7)](_0x1a2973)&&(_0xa763fe[_0xf118fd]=_0x1a2973[_0x4eb7b3(0x179)](',\x20'));}const _0x3445b2=getVersion();return _0xa763fe[_0x4eb7b3(0x1f1)]=_0x4eb7b3(0x183)+this['config'][_0x4eb7b3(0x17b)],_0xa763fe[_0x4eb7b3(0x1cc)]=_0x4eb7b3(0x1a9)+_0x3445b2,_0xa763fe[_0x4eb7b3(0x187)]=_0x4eb7b3(0x1e9),_0xa763fe[_0x4eb7b3(0x19a)]=_0x3445b2,_0xa763fe;}async[a58_0x37d5fb(0x17d)](_0x244e1c,_0x21e336){const _0x3bd188=a58_0x37d5fb,_0x3332b4=_0x244e1c[_0x3bd188(0x1c3)],_0xa11692=_0x3332b4[_0x3bd188(0x1c0)]!==![],_0x539f38=_0x3332b4[_0x3bd188(0x1e1)],_0x2d50a8=_0x539f38?.['user_id']||_0x3bd188(0x1af),_0x58f769=extractSessionUUID(_0x2d50a8),_0x48f2d2=_0x3332b4['model']||_0x3bd188(0x192),_0x1a9f5b=shouldInjectSystemPrompt(_0x48f2d2)?injectSystemPrompt(_0x3332b4,TDX_SYSTEM_PROMPT):_0x3332b4,_0x1a8509=JSON[_0x3bd188(0x1de)](_0x1a9f5b),_0x1c9d64=Array[_0x3bd188(0x1a7)](_0x3332b4[_0x3bd188(0x1cb)])?_0x3332b4[_0x3bd188(0x1cb)][_0x3bd188(0x1b2)]:0x0;this[_0x3bd188(0x1c7)][_0x3bd188(0x1e6)](_0x3bd188(0x193)+_0x244e1c[_0x3bd188(0x1e8)]+'\x20'+_0x244e1c[_0x3bd188(0x1c4)]+_0x3bd188(0x1a2)+_0x1c9d64+_0x3bd188(0x1ef)+_0x48f2d2+',\x20stream='+_0xa11692);const _0x5b71a8=this[_0x3bd188(0x19c)][_0x3bd188(0x191)]+'/v1/messages',_0xc075a6=this[_0x3bd188(0x1b3)](_0x244e1c);this['logger'][_0x3bd188(0x195)](_0x3bd188(0x1e5)+_0x5b71a8);const _0x5207c9=this[_0x3bd188(0x19c)][_0x3bd188(0x18c)]||DEFAULT_TIMEOUT_MS;try{const _0x513b59=await fetch(_0x5b71a8,{'method':_0x3bd188(0x182),'headers':_0xc075a6,'body':_0x1a8509,'signal':AbortSignal[_0x3bd188(0x1ae)](_0x5207c9)});if(!_0x513b59['ok']){const _0x252472=await _0x513b59['text']();return this[_0x3bd188(0x1c7)][_0x3bd188(0x1be)](_0x3bd188(0x1eb)+_0x513b59[_0x3bd188(0x1ba)]+'\x20'+_0x513b59[_0x3bd188(0x197)]),this[_0x3bd188(0x1c7)][_0x3bd188(0x195)](_0x3bd188(0x1c2)+_0x252472),_0x21e336['code'](_0x513b59[_0x3bd188(0x1ba)]),_0x21e336[_0x3bd188(0x1b5)]('Content-Type',_0x513b59['headers'][_0x3bd188(0x1d9)]('Content-Type')||'application/json'),_0x21e336[_0x3bd188(0x188)](_0x252472);}if(_0xa11692&&_0x513b59['body'])await this[_0x3bd188(0x1ee)](_0x513b59[_0x3bd188(0x1c3)],_0x21e336,_0x58f769,_0x48f2d2);else{const _0x279067=await _0x513b59[_0x3bd188(0x17f)]();_0x21e336[_0x3bd188(0x1b5)]('Content-Type',_0x513b59[_0x3bd188(0x1e7)][_0x3bd188(0x1d9)](_0x3bd188(0x18d))||'application/json');try{const _0x29c00b=JSON[_0x3bd188(0x17a)](_0x279067);_0x29c00b[_0x3bd188(0x1d1)]&&await this['logUsage'](_0x58f769,_0x48f2d2,_0x29c00b[_0x3bd188(0x1d1)][_0x3bd188(0x19f)]||0x0,_0x29c00b[_0x3bd188(0x1d1)][_0x3bd188(0x1ce)]||0x0,_0x29c00b[_0x3bd188(0x1d1)][_0x3bd188(0x1b1)],_0x29c00b['usage']['cache_read_input_tokens']);}catch{}return _0x21e336['send'](_0x279067);}}catch(_0x35b8ed){const _0x4468b4=_0x35b8ed instanceof Error?_0x35b8ed['message']:_0x3bd188(0x1bd),_0x55b413=_0x35b8ed instanceof Error&&_0x35b8ed['name']===_0x3bd188(0x186);this['logger'][_0x3bd188(0x1be)](_0x3bd188(0x1d7),_0x35b8ed),_0x21e336[_0x3bd188(0x17c)](_0x55b413?0x1f8:0x1f7)[_0x3bd188(0x188)]({'type':_0x3bd188(0x1be),'error':{'type':_0x55b413?_0x3bd188(0x18b):_0x3bd188(0x1a8),'message':_0x55b413?_0x3bd188(0x170)+_0x5207c9+'ms':_0x3bd188(0x18f)+_0x4468b4}});}}async[a58_0x37d5fb(0x1ee)](_0x417750,_0x237390,_0x2acf82,_0xb47b10){const _0x198271=a58_0x37d5fb;_0x237390[_0x198271(0x1c8)][_0x198271(0x17e)](0xc8,{'Content-Type':_0x198271(0x1ab),'Cache-Control':_0x198271(0x1a6),'Connection':_0x198271(0x1c1)});const _0x513a3a=new SSEUsageTracker(),_0xa7b430=_0x417750[_0x198271(0x1e4)](),_0x1d85a3=new TextDecoder();try{while(!![]){const {done:_0x524765,value:_0x4baa27}=await _0xa7b430[_0x198271(0x177)]();if(_0x524765)break;const _0x4b64c0=_0x1d85a3[_0x198271(0x199)](_0x4baa27,{'stream':!![]});_0x513a3a[_0x198271(0x180)](_0x4b64c0),_0x237390[_0x198271(0x1c8)][_0x198271(0x1d6)](_0x4b64c0);}const _0x5dccff=_0x513a3a[_0x198271(0x16f)]();(_0x5dccff['inputTokens']>0x0||_0x5dccff[_0x198271(0x1db)]>0x0)&&await this[_0x198271(0x1dd)](_0x2acf82,_0xb47b10,_0x5dccff[_0x198271(0x171)],_0x5dccff['outputTokens'],_0x5dccff[_0x198271(0x19d)],_0x5dccff['cacheReadInputTokens']);}catch(_0x2d375a){this[_0x198271(0x1c7)][_0x198271(0x1be)](_0x198271(0x172),_0x2d375a);const _0x3032f5=_0x198271(0x1a3)+JSON[_0x198271(0x1de)]({'type':_0x198271(0x1be),'error':{'type':'stream_error','message':_0x198271(0x1ed)}})+'\x0a\x0a';_0x237390['raw'][_0x198271(0x1d6)](_0x3032f5);}finally{_0x237390[_0x198271(0x1c8)][_0x198271(0x1b7)]();}}async[a58_0x37d5fb(0x1b4)](_0x546df7,_0x49ba84){const _0x14c44a=a58_0x37d5fb,_0x4f4b97=_0x546df7[_0x14c44a(0x1c3)],_0x337ec3=this[_0x14c44a(0x19c)][_0x14c44a(0x191)]+'/v1/messages/count_tokens',_0x196f8d=this['buildForwardHeaders'](_0x546df7),_0x2949ed=_0x4f4b97['model']||_0x14c44a(0x192),_0x3ce0b8=shouldInjectSystemPrompt(_0x2949ed)?injectSystemPrompt(_0x4f4b97,TDX_SYSTEM_PROMPT):_0x4f4b97,_0x3dd954=JSON[_0x14c44a(0x1de)](_0x3ce0b8);this[_0x14c44a(0x1c7)][_0x14c44a(0x195)](_0x14c44a(0x176)+_0x337ec3);const _0x49ddcb=this[_0x14c44a(0x19c)][_0x14c44a(0x18c)]||DEFAULT_TIMEOUT_MS;try{const _0x3b9011=await fetch(_0x337ec3,{'method':'POST','headers':_0x196f8d,'body':_0x3dd954,'signal':AbortSignal[_0x14c44a(0x1ae)](_0x49ddcb)}),_0x46ea31=await _0x3b9011[_0x14c44a(0x17f)]();return _0x49ba84['code'](_0x3b9011['status']),_0x49ba84['header'](_0x14c44a(0x18d),_0x3b9011[_0x14c44a(0x1e7)][_0x14c44a(0x1d9)](_0x14c44a(0x18d))||_0x14c44a(0x184)),_0x49ba84[_0x14c44a(0x188)](_0x46ea31);}catch(_0x1c5a3a){const _0x14ef1f=_0x1c5a3a instanceof Error?_0x1c5a3a[_0x14c44a(0x1a0)]:_0x14c44a(0x1bd),_0x6f375a=_0x1c5a3a instanceof Error&&_0x1c5a3a[_0x14c44a(0x1b0)]===_0x14c44a(0x186);this[_0x14c44a(0x1c7)][_0x14c44a(0x1be)]('[PASSTHROUGH]\x20Failed\x20to\x20forward\x20count_tokens\x20request:',_0x1c5a3a),_0x49ba84['code'](_0x6f375a?0x1f8:0x1f7)[_0x14c44a(0x188)]({'type':'error','error':{'type':_0x6f375a?_0x14c44a(0x18b):_0x14c44a(0x1a8),'message':_0x6f375a?_0x14c44a(0x170)+_0x49ddcb+'ms':_0x14c44a(0x18f)+_0x14ef1f}});}}async[a58_0x37d5fb(0x1dd)](_0x211ea2,_0xaf5cd5,_0x1d3000,_0x238ac0,_0x141313,_0xe99c74){const _0x327c32=a58_0x37d5fb,_0x5f14bf={'timestamp':new Date()[_0x327c32(0x1d4)](),'model':_0xaf5cd5,'inputTokens':_0x1d3000,'outputTokens':_0x238ac0,'cacheCreationInputTokens':_0x141313,'cacheReadInputTokens':_0xe99c74,'profile':this[_0x327c32(0x19c)][_0x327c32(0x1c5)]},_0x160e6b=_0x141313||_0xe99c74?_0x327c32(0x1f0)+(_0x141313||0x0)+_0x327c32(0x16e)+(_0xe99c74||0x0):'';this['logger'][_0x327c32(0x195)]('[PASSTHROUGH]\x20Usage:\x20input='+_0x1d3000+_0x327c32(0x198)+_0x238ac0+_0x160e6b+_0x327c32(0x1ef)+_0xaf5cd5);try{await appendUsageEntry(_0x211ea2,_0x5f14bf);}catch(_0x3c6430){this[_0x327c32(0x1c7)]['error']('[PASSTHROUGH]\x20Failed\x20to\x20log\x20usage:',_0x3c6430);}}async['start'](){const _0x4314c3=a58_0x37d5fb;await this[_0x4314c3(0x1cd)][_0x4314c3(0x189)]({'port':this[_0x4314c3(0x19c)][_0x4314c3(0x1ac)],'host':'127.0.0.1'}),this['logger'][_0x4314c3(0x1e6)](_0x4314c3(0x1e2)+this[_0x4314c3(0x19c)][_0x4314c3(0x1ac)]),this[_0x4314c3(0x1c7)][_0x4314c3(0x1e6)](_0x4314c3(0x1e5)+this[_0x4314c3(0x19c)]['llmProxyUrl']);}async[a58_0x37d5fb(0x1d8)](){const _0x1f207b=a58_0x37d5fb;await this[_0x1f207b(0x1cd)][_0x1f207b(0x19e)](),this[_0x1f207b(0x1c7)]['info']('Pass-through\x20proxy\x20server\x20stopped');}[a58_0x37d5fb(0x1b8)](){const _0x57517c=a58_0x37d5fb;return'http://127.0.0.1:'+this[_0x57517c(0x19c)]['port'];}}function a58_0x1e1a(){const _0x4e593e=['end','getAddress','564324NJrrVz','status','SKIP_HEADERS','setErrorHandler','Unknown\x20error','error','/v1/messages/count_tokens','stream','keep-alive','Error\x20body:\x20','body','url','profile','27aipwYz','logger','raw','user-agent','addContentTypeParser','messages','User-Agent','server','output_tokens','string','1886196fVeZYm','usage','startsWith','register','toISOString','match','write','[PASSTHROUGH]\x20Failed\x20to\x20forward\x20request:','stop','get','haiku','outputTokens','anthropic-version','logUsage','stringify','has','5hHkfUz','metadata','Pass-through\x20proxy\x20server\x20started\x20on\x20port\x20','content-length','getReader','Forwarding\x20to:\x20','info','headers','method','tdx','toLowerCase','[PASSTHROUGH]\x20Upstream\x20error:\x20','post','Stream\x20interrupted','handleStreamingResponse',',\x20model=',',\x20cache_create=','Authorization',',\x20cache_read=','getUsage','Request\x20to\x20TD\x20LLM\x20Proxy\x20timed\x20out\x20after\x20','inputTokens','[PASSTHROUGH]\x20Stream\x20error:','setupRoutes','GET','2372810Pziadu','[PASSTHROUGH]\x20Forwarding\x20count_tokens\x20to:\x20','read','host','join','parse','apiKey','code','handleMessages','writeHead','text','processChunk','TD\x20LLM\x20Pass-through\x20Proxy\x20Server','POST','TD1\x20','application/json','setupJsonParser','TimeoutError','X-TD-Client','send','listen','x-api-key','timeout_error','timeoutMs','Content-Type','875238QpVjvD','Failed\x20to\x20connect\x20to\x20TD\x20LLM\x20Proxy:\x20','entries','llmProxyUrl','unknown','[PASSTHROUGH]\x20','setupMiddleware','debug','5156852LPNCCr','statusText',',\x20output=','decode','X-TD-Client-Version','[PASSTHROUGH\x20PROXY\x20ERROR]:','config','cacheCreationInputTokens','close','input_tokens','message','417268EHYFYJ',':\x20messages=','event:\x20error\x0adata:\x20','12688PMIIPa','connection','no-cache','isArray','api_error','tdx/','system','text/event-stream','port','/v1/messages','timeout','default','name','cache_creation_input_tokens','length','buildForwardHeaders','handleCountTokens','header','1477aeUJzZ'];a58_0x1e1a=function(){return _0x4e593e;};return a58_0x1e1a();}
|
|
1
|
+
const a65_0x3e2a56=a65_0x554c;(function(_0x21fe17,_0x5ce314){const _0x28a711=a65_0x554c,_0x534e1e=_0x21fe17();while(!![]){try{const _0x46d961=-parseInt(_0x28a711(0x1fe))/0x1*(parseInt(_0x28a711(0x20a))/0x2)+-parseInt(_0x28a711(0x1ee))/0x3+parseInt(_0x28a711(0x1ce))/0x4*(-parseInt(_0x28a711(0x1cc))/0x5)+parseInt(_0x28a711(0x210))/0x6*(parseInt(_0x28a711(0x231))/0x7)+-parseInt(_0x28a711(0x1c4))/0x8+parseInt(_0x28a711(0x217))/0x9+parseInt(_0x28a711(0x1ec))/0xa;if(_0x46d961===_0x5ce314)break;else _0x534e1e['push'](_0x534e1e['shift']());}catch(_0x1c35e1){_0x534e1e['push'](_0x534e1e['shift']());}}}(a65_0x4b4d,0xc8fdf));function a65_0x4b4d(){const _0x45acd0=['tdx/','cacheReadInputTokens','801794KfPyIb','GET','server','http://127.0.0.1:','error','[PASSTHROUGH]\x20Failed\x20to\x20forward\x20count_tokens\x20request:','buildForwardHeaders','raw','usage','Unknown\x20error','unknown',',\x20model=','2AhiVgr','writeHead','read','cache_read_input_tokens',',\x20cache_read=','url','318xapqAr','output_tokens','application/json','x-api-key','processChunk','timeout','config','3370104HKgkKb','input_tokens','port','write','setupMiddleware','handleMessages','user-agent','parse','header','body','Pass-through\x20proxy\x20server\x20stopped','Forwarding\x20to:\x20','get',',\x20output=','start','[PASSTHROUGH]\x20Failed\x20to\x20log\x20usage:','join','statusText','getAddress','User-Agent','text','includes','setupJsonParser','getUsage','entries','Authorization','201187gjTviL',':\x20messages=','[PASSTHROUGH]\x20Forwarding\x20count_tokens\x20to:\x20','connection','headers','TimeoutError','profile','no-cache','/v1/messages','stringify','/v1/messages/count_tokens','toLowerCase','/health','Stream\x20interrupted','info','stream','8907784WUhqoU','metadata','timeout_error','outputTokens','handleCountTokens','TD1\x20','startsWith','OPTIONS','52485kjVfNu','SKIP_HEADERS','4qTCTvq','Error\x20body:\x20','[PASSTHROUGH]\x20Usage:\x20input=','authorization','name','POST','stop','[PASSTHROUGH]\x20','setupRoutes','Content-Type','Request\x20to\x20TD\x20LLM\x20Proxy\x20timed\x20out\x20after\x20','isArray','method','x-td-','status','setErrorHandler','default','[PASSTHROUGH\x20PROXY\x20ERROR]:','text/event-stream','string',',\x20stream=','anthropic-version','code','inputTokens','toISOString','decode','user_id','model','event:\x20error\x0adata:\x20','send','17236360QzrPAB','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|','2617014bdZLQC','TD\x20LLM\x20Pass-through\x20Proxy\x20Server','register','debug','message','timeoutMs','logger','close','handleStreamingResponse','logUsage','Failed\x20to\x20connect\x20to\x20TD\x20LLM\x20Proxy:\x20','Pass-through\x20proxy\x20server\x20started\x20on\x20port\x20','llmProxyUrl','api_error'];a65_0x4b4d=function(){return _0x45acd0;};return a65_0x4b4d();}import a65_0xd4fc7c from'fastify';import a65_0x59ec1e from'@fastify/cors';import{SSEUsageTracker}from'./sse-usage-parser.js';function a65_0x554c(_0x292871,_0x344d5c){_0x292871=_0x292871-0x1c1;const _0x4b4dc4=a65_0x4b4d();let _0x554c74=_0x4b4dc4[_0x292871];return _0x554c74;}import{appendUsageEntry}from'./claude-usage-tracker.js';import{getVersion}from'../core/version.js';const DEFAULT_TIMEOUT_MS=0x5*0x3c*0x3e8,TDX_SYSTEM_PROMPT=a65_0x3e2a56(0x1ed);function extractSessionUUID(_0x2d43e3){const _0x259483=_0x2d43e3['match'](/_session_([a-f0-9-]+)$/i);if(_0x259483)return _0x259483[0x1];return _0x2d43e3;}export function injectSystemPrompt(_0x4a1aaf,_0x12e41b){const _0x474a15=a65_0x3e2a56,_0x30088d=_0x4a1aaf['system'];if(!_0x30088d)return{..._0x4a1aaf,'system':_0x12e41b};if(typeof _0x30088d==='string')return{..._0x4a1aaf,'system':_0x12e41b+'\x0a\x0a'+_0x30088d};if(Array[_0x474a15(0x1d9)](_0x30088d)){const _0x54231d={'type':_0x474a15(0x22b),'text':_0x12e41b};return{..._0x4a1aaf,'system':[_0x54231d,..._0x30088d]};}return _0x4a1aaf;}export function shouldInjectSystemPrompt(_0x2903d7){const _0x1dc218=a65_0x3e2a56;return!_0x2903d7[_0x1dc218(0x23c)]()[_0x1dc218(0x22c)]('haiku');}export class PassThroughProxyServer{[a65_0x3e2a56(0x200)];[a65_0x3e2a56(0x216)];[a65_0x3e2a56(0x1f4)];constructor(_0x16252c){const _0x1abfc3=a65_0x3e2a56;this[_0x1abfc3(0x216)]=_0x16252c,this['logger']=_0x16252c[_0x1abfc3(0x1f4)],this[_0x1abfc3(0x200)]=a65_0xd4fc7c({'logger':![],'bodyLimit':0x40*0x400*0x400}),this[_0x1abfc3(0x22d)](),this[_0x1abfc3(0x21b)](),this[_0x1abfc3(0x1d6)]();}[a65_0x3e2a56(0x22d)](){const _0x344dc=a65_0x3e2a56;this['server']['addContentTypeParser']('application/json',{'parseAs':_0x344dc(0x1e1)},(_0x278047,_0x3b45d6,_0x2d0d85)=>{try{const _0x5edca5=JSON['parse'](_0x3b45d6);_0x2d0d85(null,_0x5edca5);}catch(_0x38ca19){_0x2d0d85(_0x38ca19,undefined);}});}[a65_0x3e2a56(0x21b)](){const _0x173005=a65_0x3e2a56;this[_0x173005(0x200)][_0x173005(0x1f0)](a65_0x59ec1e,{'origin':!![],'methods':[_0x173005(0x1ff),_0x173005(0x1d3),_0x173005(0x1cb)],'allowedHeaders':['Content-Type',_0x173005(0x230),_0x173005(0x1e3),_0x173005(0x213)]}),this['server'][_0x173005(0x1dd)]((_0x450894,_0x3b5da7,_0x27bf99)=>{const _0x3de723=_0x173005,_0x43b863=_0x450894 instanceof Error?_0x450894['message']:'Unknown\x20error';this[_0x3de723(0x1f4)][_0x3de723(0x202)](_0x3de723(0x1df),_0x450894),_0x27bf99[_0x3de723(0x1e4)](0x1f4)[_0x3de723(0x1eb)]({'type':_0x3de723(0x202),'error':{'type':_0x3de723(0x1fb),'message':_0x43b863}});});}[a65_0x3e2a56(0x1d6)](){const _0x2b8869=a65_0x3e2a56;this[_0x2b8869(0x200)][_0x2b8869(0x223)](_0x2b8869(0x23d),async()=>{const _0x3dc31f=_0x2b8869;return{'status':'ok','message':_0x3dc31f(0x1ef)};}),this['server']['post'](_0x2b8869(0x239),async(_0x205899,_0x5e419d)=>{const _0x43d4a2=_0x2b8869;return this[_0x43d4a2(0x21c)](_0x205899,_0x5e419d);}),this[_0x2b8869(0x200)]['post'](_0x2b8869(0x23b),async(_0x47f1f4,_0x339de3)=>{return this['handleCountTokens'](_0x47f1f4,_0x339de3);});}static ['SKIP_HEADERS']=new Set(['host',a65_0x3e2a56(0x234),'content-length','transfer-encoding',a65_0x3e2a56(0x1d1),a65_0x3e2a56(0x213),a65_0x3e2a56(0x21d)]);[a65_0x3e2a56(0x204)](_0x360697){const _0x247a11=a65_0x3e2a56,_0x33ea24={};for(const [_0x4219a9,_0x4799a5]of Object[_0x247a11(0x22f)](_0x360697[_0x247a11(0x235)])){const _0x547b7b=_0x4219a9[_0x247a11(0x23c)]();if(PassThroughProxyServer[_0x247a11(0x1cd)]['has'](_0x547b7b))continue;if(_0x547b7b[_0x247a11(0x1ca)](_0x247a11(0x1db)))continue;if(typeof _0x4799a5===_0x247a11(0x1e1))_0x33ea24[_0x4219a9]=_0x4799a5;else Array[_0x247a11(0x1d9)](_0x4799a5)&&(_0x33ea24[_0x4219a9]=_0x4799a5[_0x247a11(0x227)](',\x20'));}const _0x137e32=getVersion();return _0x33ea24[_0x247a11(0x230)]=_0x247a11(0x1c9)+this[_0x247a11(0x216)]['apiKey'],_0x33ea24[_0x247a11(0x22a)]=_0x247a11(0x1fc)+_0x137e32,_0x33ea24['X-TD-Client']='tdx',_0x33ea24['X-TD-Client-Version']=_0x137e32,_0x33ea24;}async[a65_0x3e2a56(0x21c)](_0x385d3d,_0x209a89){const _0x406f64=a65_0x3e2a56,_0x478af2=_0x385d3d[_0x406f64(0x220)],_0x83f24e=_0x478af2[_0x406f64(0x1c3)]!==![],_0x4e9b60=_0x478af2[_0x406f64(0x1c5)],_0x174bc3=_0x4e9b60?.[_0x406f64(0x1e8)]||_0x406f64(0x1de),_0x2f86bf=extractSessionUUID(_0x174bc3),_0x3500a4=_0x478af2[_0x406f64(0x1e9)]||_0x406f64(0x208),_0x4fb3a2=shouldInjectSystemPrompt(_0x3500a4)?injectSystemPrompt(_0x478af2,TDX_SYSTEM_PROMPT):_0x478af2,_0x2e8abf=JSON[_0x406f64(0x23a)](_0x4fb3a2),_0x1bae24=Array[_0x406f64(0x1d9)](_0x478af2['messages'])?_0x478af2['messages']['length']:0x0;this[_0x406f64(0x1f4)][_0x406f64(0x1c2)](_0x406f64(0x1d5)+_0x385d3d[_0x406f64(0x1da)]+'\x20'+_0x385d3d[_0x406f64(0x20f)]+_0x406f64(0x232)+_0x1bae24+_0x406f64(0x209)+_0x3500a4+_0x406f64(0x1e2)+_0x83f24e);const _0x5534d8=this[_0x406f64(0x216)][_0x406f64(0x1fa)]+_0x406f64(0x239),_0x59eaf4=this['buildForwardHeaders'](_0x385d3d);this[_0x406f64(0x1f4)][_0x406f64(0x1f1)](_0x406f64(0x222)+_0x5534d8);const _0x471838=this['config'][_0x406f64(0x1f3)]||DEFAULT_TIMEOUT_MS;try{const _0x12fb0d=await fetch(_0x5534d8,{'method':_0x406f64(0x1d3),'headers':_0x59eaf4,'body':_0x2e8abf,'signal':AbortSignal[_0x406f64(0x215)](_0x471838)});if(!_0x12fb0d['ok']){const _0x10948e=await _0x12fb0d[_0x406f64(0x22b)]();return this[_0x406f64(0x1f4)]['error']('[PASSTHROUGH]\x20Upstream\x20error:\x20'+_0x12fb0d[_0x406f64(0x1dc)]+'\x20'+_0x12fb0d[_0x406f64(0x228)]),this[_0x406f64(0x1f4)][_0x406f64(0x1f1)](_0x406f64(0x1cf)+_0x10948e),_0x209a89[_0x406f64(0x1e4)](_0x12fb0d[_0x406f64(0x1dc)]),_0x209a89[_0x406f64(0x21f)](_0x406f64(0x1d7),_0x12fb0d[_0x406f64(0x235)][_0x406f64(0x223)](_0x406f64(0x1d7))||_0x406f64(0x212)),_0x209a89[_0x406f64(0x1eb)](_0x10948e);}if(_0x83f24e&&_0x12fb0d[_0x406f64(0x220)])await this[_0x406f64(0x1f6)](_0x12fb0d[_0x406f64(0x220)],_0x209a89,_0x2f86bf,_0x3500a4);else{const _0x38d2d4=await _0x12fb0d[_0x406f64(0x22b)]();_0x209a89['header'](_0x406f64(0x1d7),_0x12fb0d['headers']['get'](_0x406f64(0x1d7))||_0x406f64(0x212));try{const _0xd8c31d=JSON[_0x406f64(0x21e)](_0x38d2d4);_0xd8c31d[_0x406f64(0x206)]&&await this[_0x406f64(0x1f7)](_0x2f86bf,_0x3500a4,_0xd8c31d[_0x406f64(0x206)][_0x406f64(0x218)]||0x0,_0xd8c31d[_0x406f64(0x206)][_0x406f64(0x211)]||0x0,_0xd8c31d[_0x406f64(0x206)]['cache_creation_input_tokens'],_0xd8c31d[_0x406f64(0x206)][_0x406f64(0x20d)]);}catch{}return _0x209a89[_0x406f64(0x1eb)](_0x38d2d4);}}catch(_0x330936){const _0x285d2a=_0x330936 instanceof Error?_0x330936[_0x406f64(0x1f2)]:_0x406f64(0x207),_0x2eb649=_0x330936 instanceof Error&&_0x330936[_0x406f64(0x1d2)]===_0x406f64(0x236);this[_0x406f64(0x1f4)][_0x406f64(0x202)]('[PASSTHROUGH]\x20Failed\x20to\x20forward\x20request:',_0x330936),_0x209a89[_0x406f64(0x1e4)](_0x2eb649?0x1f8:0x1f7)[_0x406f64(0x1eb)]({'type':'error','error':{'type':_0x2eb649?_0x406f64(0x1c6):_0x406f64(0x1fb),'message':_0x2eb649?_0x406f64(0x1d8)+_0x471838+'ms':_0x406f64(0x1f8)+_0x285d2a}});}}async[a65_0x3e2a56(0x1f6)](_0x9df810,_0x5701b6,_0x3674cd,_0x532d43){const _0x3156ea=a65_0x3e2a56;_0x5701b6[_0x3156ea(0x205)][_0x3156ea(0x20b)](0xc8,{'Content-Type':_0x3156ea(0x1e0),'Cache-Control':_0x3156ea(0x238),'Connection':'keep-alive'});const _0x459abd=new SSEUsageTracker(),_0x1487a4=_0x9df810['getReader'](),_0x3eed1e=new TextDecoder();try{while(!![]){const {done:_0x5bab20,value:_0x1a6d44}=await _0x1487a4[_0x3156ea(0x20c)]();if(_0x5bab20)break;const _0x115c3a=_0x3eed1e[_0x3156ea(0x1e7)](_0x1a6d44,{'stream':!![]});_0x459abd[_0x3156ea(0x214)](_0x115c3a),_0x5701b6[_0x3156ea(0x205)][_0x3156ea(0x21a)](_0x115c3a);}const _0x41ea8a=_0x459abd[_0x3156ea(0x22e)]();(_0x41ea8a[_0x3156ea(0x1e5)]>0x0||_0x41ea8a[_0x3156ea(0x1c7)]>0x0)&&await this['logUsage'](_0x3674cd,_0x532d43,_0x41ea8a['inputTokens'],_0x41ea8a['outputTokens'],_0x41ea8a['cacheCreationInputTokens'],_0x41ea8a[_0x3156ea(0x1fd)]);}catch(_0x5751c5){this[_0x3156ea(0x1f4)][_0x3156ea(0x202)]('[PASSTHROUGH]\x20Stream\x20error:',_0x5751c5);const _0x13084a=_0x3156ea(0x1ea)+JSON[_0x3156ea(0x23a)]({'type':_0x3156ea(0x202),'error':{'type':'stream_error','message':_0x3156ea(0x1c1)}})+'\x0a\x0a';_0x5701b6[_0x3156ea(0x205)][_0x3156ea(0x21a)](_0x13084a);}finally{_0x5701b6[_0x3156ea(0x205)]['end']();}}async[a65_0x3e2a56(0x1c8)](_0x3ef946,_0x14daab){const _0x2acfeb=a65_0x3e2a56,_0x357c87=_0x3ef946[_0x2acfeb(0x220)],_0x341492=this[_0x2acfeb(0x216)][_0x2acfeb(0x1fa)]+_0x2acfeb(0x23b),_0x1557c0=this[_0x2acfeb(0x204)](_0x3ef946),_0x4ee3d7=_0x357c87['model']||_0x2acfeb(0x208),_0x4d41ea=shouldInjectSystemPrompt(_0x4ee3d7)?injectSystemPrompt(_0x357c87,TDX_SYSTEM_PROMPT):_0x357c87,_0xe007e7=JSON['stringify'](_0x4d41ea);this['logger'][_0x2acfeb(0x1f1)](_0x2acfeb(0x233)+_0x341492);const _0x12ddad=this[_0x2acfeb(0x216)][_0x2acfeb(0x1f3)]||DEFAULT_TIMEOUT_MS;try{const _0x373b8e=await fetch(_0x341492,{'method':_0x2acfeb(0x1d3),'headers':_0x1557c0,'body':_0xe007e7,'signal':AbortSignal[_0x2acfeb(0x215)](_0x12ddad)}),_0x2bf620=await _0x373b8e[_0x2acfeb(0x22b)]();return _0x14daab[_0x2acfeb(0x1e4)](_0x373b8e[_0x2acfeb(0x1dc)]),_0x14daab['header'](_0x2acfeb(0x1d7),_0x373b8e['headers'][_0x2acfeb(0x223)](_0x2acfeb(0x1d7))||'application/json'),_0x14daab[_0x2acfeb(0x1eb)](_0x2bf620);}catch(_0x576358){const _0x25ee99=_0x576358 instanceof Error?_0x576358['message']:_0x2acfeb(0x207),_0x43b167=_0x576358 instanceof Error&&_0x576358[_0x2acfeb(0x1d2)]===_0x2acfeb(0x236);this[_0x2acfeb(0x1f4)]['error'](_0x2acfeb(0x203),_0x576358),_0x14daab[_0x2acfeb(0x1e4)](_0x43b167?0x1f8:0x1f7)[_0x2acfeb(0x1eb)]({'type':_0x2acfeb(0x202),'error':{'type':_0x43b167?_0x2acfeb(0x1c6):_0x2acfeb(0x1fb),'message':_0x43b167?_0x2acfeb(0x1d8)+_0x12ddad+'ms':_0x2acfeb(0x1f8)+_0x25ee99}});}}async[a65_0x3e2a56(0x1f7)](_0x3a5d6c,_0x4fe9f1,_0x31a6f3,_0x28862f,_0x5b6eeb,_0x5d132b){const _0x4e8471=a65_0x3e2a56,_0x401197={'timestamp':new Date()[_0x4e8471(0x1e6)](),'model':_0x4fe9f1,'inputTokens':_0x31a6f3,'outputTokens':_0x28862f,'cacheCreationInputTokens':_0x5b6eeb,'cacheReadInputTokens':_0x5d132b,'profile':this[_0x4e8471(0x216)][_0x4e8471(0x237)]},_0x222b30=_0x5b6eeb||_0x5d132b?',\x20cache_create='+(_0x5b6eeb||0x0)+_0x4e8471(0x20e)+(_0x5d132b||0x0):'';this[_0x4e8471(0x1f4)][_0x4e8471(0x1f1)](_0x4e8471(0x1d0)+_0x31a6f3+_0x4e8471(0x224)+_0x28862f+_0x222b30+_0x4e8471(0x209)+_0x4fe9f1);try{await appendUsageEntry(_0x3a5d6c,_0x401197);}catch(_0x483d46){this[_0x4e8471(0x1f4)][_0x4e8471(0x202)](_0x4e8471(0x226),_0x483d46);}}async[a65_0x3e2a56(0x225)](){const _0x45e373=a65_0x3e2a56;await this['server']['listen']({'port':this[_0x45e373(0x216)]['port'],'host':'127.0.0.1'}),this[_0x45e373(0x1f4)]['info'](_0x45e373(0x1f9)+this[_0x45e373(0x216)][_0x45e373(0x219)]),this[_0x45e373(0x1f4)][_0x45e373(0x1c2)](_0x45e373(0x222)+this[_0x45e373(0x216)]['llmProxyUrl']);}async[a65_0x3e2a56(0x1d4)](){const _0xb1cfd8=a65_0x3e2a56;await this[_0xb1cfd8(0x200)][_0xb1cfd8(0x1f5)](),this[_0xb1cfd8(0x1f4)][_0xb1cfd8(0x1c2)](_0xb1cfd8(0x221));}[a65_0x3e2a56(0x229)](){const _0x4a991c=a65_0x3e2a56;return _0x4a991c(0x201)+this['config'][_0x4a991c(0x219)];}}
|
package/dist/proxy/server.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const a59_0x5b0023=a59_0x5680;(function(_0x173814,_0x33c7e1){const _0x52cc90=a59_0x5680,_0x3f08fc=_0x173814();while(!![]){try{const _0x5c6934=parseInt(_0x52cc90(0x24a))/0x1*(-parseInt(_0x52cc90(0x20d))/0x2)+-parseInt(_0x52cc90(0x29d))/0x3*(parseInt(_0x52cc90(0x23f))/0x4)+parseInt(_0x52cc90(0x231))/0x5+-parseInt(_0x52cc90(0x293))/0x6+-parseInt(_0x52cc90(0x232))/0x7+-parseInt(_0x52cc90(0x29a))/0x8+parseInt(_0x52cc90(0x288))/0x9;if(_0x5c6934===_0x33c7e1)break;else _0x3f08fc['push'](_0x3f08fc['shift']());}catch(_0x3f9fb3){_0x3f08fc['push'](_0x3f08fc['shift']());}}}(a59_0x3bfb,0x1de5e));import a59_0x26f102 from'fastify';import a59_0x222964 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';function a59_0x3bfb(){const _0x29b164=['thinking','\x20->\x20','get','\x20|\x20','New\x20-\x20system\x20prompts:\x20','\x20tools,\x20message_size=','join','chatId','body','data','x-api-key','config','\x20Input\x20size:\x20','logger','agentId','close','header:\x20','Failed\x20to\x20reconstruct\x20message\x20-\x20all\x20parts\x20are\x20empty,\x20using\x20fallback','[PROXY\x20ERROR]\x20Chat\x20stream\x20is\x20undefined','Validation\x20failed:\x20messages\x20array\x20is\x20required\x20and\x20must\x20not\x20be\x20empty','clear','Added\x20tool\x20names:','writeHead','start',',\x20system_prompts=','toISOString','OPTIONS','post','Model\x20normalization:\x20','error','agentCache','\x0a</conversation_history>','createPromise','send','server','304960RPGBkC','219541FgdZbu','listen',':\x20estimated\x20input_tokens=','Waiting\x20for\x20concurrent\x20chat\x20creation\x20for\x20context:\x20','embeddedToolsByName',']\x20Created\x20new\x20chat\x20for\x20model\x20','setupMiddleware','handleMessages','dev-us01','\x20chars.\x20Cleared\x20chat\x20state\x20for\x20session\x20','debug','Authorization','size','512CqMJix','substring','Evicted\x20oldest\x20chat\x20(signature:\x20','usage','Failed\x20to\x20generate\x20tool\x20prompt:',']\x20model:\x20','http://','url','raw','catch','system','111229eVFCab','request_too_large','Added\x20system\x20prompt\x20previews:','Failed\x20to\x20log\x20usage\x20entry:\x20','isArray','\x0a---\x0a\x0a','tdx','Reset\x20chat\x20ID\x20to\x20recover\x20on\x20next\x20request','write','not_supported_error','output_tokens','map','Content-Type','has','type','Context:','\x20system\x20prompts,\x20','Embedding',',\x20context=','stop','GET','Reset\x20chat\x20state\x20to\x20recover\x20on\x20next\x20request','Chat\x20ID:\x20','metadata','code','cleanupExpiredChats','/v1/messages','budget_tokens','headers','setErrorHandler','tools','Including\x20tool\x20results','anthropic-version','INVALID_REQUEST','length','originalMessage','setupRoutes','method','end','http://localhost:','profile','handleRouteError','Failed\x20to\x20initialize\x20chat\x20stream.\x20Please\x20try\x20again.','now','info',',\x20context:\x20','0.0.0.0','stream','...\x22','getAgentForModel','\x20limit','cleanupInterval','model','creating','string','Concurrent\x20chat\x20creation\x20failed,\x20will\x20fall\x20back\x20to\x20lazy\x20creation:','chats','add','default','unknown','[session:\x20',',\x20is\x20new\x20context:\x20','5430285eExwvj','message','embeddedSystemPrompts','trim','Failed\x20to\x20start\x20proxy\x20server:\x20','push','name','lastUsedAt','event','register','trace','484908AOJlNW','chat',',\x20\x22','text','Started\x20cache\x20cleanup\x20interval\x20(runs\x20every\x20','user_id','projectId','721064zcKbvJ','llm','s,\x20expires\x20after\x20','5352PgBUlL','port','System\x20prompts:\x20','Failed\x20to\x20log\x20usage\x20entry\x20on\x20error:\x20','[PROXY\x20ERROR]\x20Unhandled\x20error\x20in\x20','\x0a\x0a<conversation_history>\x0a','/health','startChat','POST','Final\x20message\x20is\x20empty\x20after\x20construction\x20-\x20starting\x20fresh\x20conversation','Stream\x20complete.\x20Sent\x20','[CONTEXT\x20LENGTH\x20ERROR]\x20','stringify',',\x20tool_names=[','warn','messages','new\x20system\x20prompt(s)','context','\x20messages,\x20','validateMessageRequest','sessionCache',',\x20context\x20signature:\x20',']\x20Building\x20a\x20new\x20context\x20for\x20model\x20','Non-streaming\x20responses\x20are\x20not\x20yet\x20supported',',\x20tools:\x20','filter','Final\x20message\x20reconstructed\x20after\x20context\x20reset:','messageHistory','Agent\x20cached:\x20','address','\x20(reasoning:\x20','...','Creating/looking\x20up\x20agent\x20for:\x20','handleCountTokens','set','message_delta','keep-alive','2CrWCkc'];a59_0x3bfb=function(){return _0x29b164;};return a59_0x3bfb();}import{formatConversationHistory,calculateConversationDelta,extractLastUserMessage}from'./conversation-utils.js';function a59_0x5680(_0x5cff77,_0x13d46d){_0x5cff77=_0x5cff77-0x1ea;const _0x3bfb2d=a59_0x3bfb();let _0x5680f4=_0x3bfb2d[_0x5cff77];return _0x5680f4;}function extractSessionUUID(_0x14312b){const _0x30df6c=_0x14312b['match'](/_session_([a-f0-9-]+)$/i);if(_0x30df6c)return _0x30df6c[0x1];return _0x14312b;}function clearChatState(_0x12fa7a){const _0x23d543=a59_0x5680;_0x12fa7a['chatId']='',_0x12fa7a[_0x23d543(0x28a)][_0x23d543(0x222)](),_0x12fa7a[_0x23d543(0x236)]['clear']();}function mapBudgetTokensToReasoningEffort(_0x2ff365,_0x2c294f){const _0x58e86d=a59_0x5680;if(_0x2c294f!==_0x58e86d(0x23a))return 0x0;if(!_0x2ff365||_0x2ff365===0x0)return 0x0;if(_0x2ff365<=0x400)return 0x1;if(_0x2ff365<=0x800)return 0x2;if(_0x2ff365<=0x1000)return 0x3;return 0x4;}const MAX_CHATS_PER_SESSION=0xa,CACHE_EXPIRATION_MS=0xa*0x3c*0x3e8,CLEANUP_INTERVAL_MS=0x3c*0x3e8;export class ProxyServer{[a59_0x5b0023(0x230)];[a59_0x5b0023(0x1fc)];['agentCache'];[a59_0x5b0023(0x219)];[a59_0x5b0023(0x27d)];['logger'];constructor(_0x1121e6){const _0x3aa08e=a59_0x5b0023;this[_0x3aa08e(0x21b)]=_0x1121e6[_0x3aa08e(0x21b)],this['config']=_0x1121e6,this[_0x3aa08e(0x1fc)]=new SessionCache({'maxChatsPerSession':MAX_CHATS_PER_SESSION,'cacheExpirationMs':CACHE_EXPIRATION_MS}),this[_0x3aa08e(0x22c)]=new Map(),this[_0x3aa08e(0x230)]=a59_0x26f102({'logger':![],'bodyLimit':0x40*0x400*0x400}),this[_0x3aa08e(0x238)](),this[_0x3aa08e(0x26e)]();}async[a59_0x5b0023(0x27b)](_0x43adcc,_0x309b92=0x0){const _0x2925ff=a59_0x5b0023,_0x4f9abc=extractModelAlias(_0x43adcc),_0x552897=resolveModelAlias(_0x4f9abc),_0x2a63aa=_0x552897+'_'+_0x309b92;let _0x4d4b1b=this[_0x2925ff(0x22c)][_0x2925ff(0x210)](_0x2a63aa);if(!_0x4d4b1b){this[_0x2925ff(0x21b)][_0x2925ff(0x23c)](_0x2925ff(0x22a)+_0x43adcc+_0x2925ff(0x20f)+_0x4f9abc+'\x20->\x20'+_0x552897),this[_0x2925ff(0x21b)]['debug'](_0x2925ff(0x208)+_0x552897+_0x2925ff(0x206)+_0x309b92+')');const _0x1e75a1=await this[_0x2925ff(0x219)][_0x2925ff(0x250)][_0x2925ff(0x29b)]['getOrCreateDefaultAgent'](_0x552897,_0x309b92);_0x4d4b1b=_0x1e75a1['id'],this[_0x2925ff(0x22c)][_0x2925ff(0x20a)](_0x2a63aa,_0x4d4b1b),this[_0x2925ff(0x21b)][_0x2925ff(0x23c)](_0x2925ff(0x204)+_0x2a63aa+'\x20->\x20'+_0x4d4b1b+'\x20('+_0x1e75a1['attributes'][_0x2925ff(0x28e)]+')');}return _0x4d4b1b;}[a59_0x5b0023(0x263)](){const _0x52bfad=a59_0x5b0023;this[_0x52bfad(0x1fc)][_0x52bfad(0x263)]();}[a59_0x5b0023(0x238)](){const _0x20444d=a59_0x5b0023;this[_0x20444d(0x230)][_0x20444d(0x291)](a59_0x222964,{'origin':!![],'methods':[_0x20444d(0x25e),_0x20444d(0x1f0),_0x20444d(0x228)],'allowedHeaders':[_0x20444d(0x256),_0x20444d(0x23d),_0x20444d(0x26a),_0x20444d(0x218)]}),this[_0x20444d(0x230)][_0x20444d(0x267)]((_0x5db60f,_0x31c96e,_0xbc67c5)=>{this['handleRouteError'](_0x5db60f,_0x31c96e,_0xbc67c5);});}[a59_0x5b0023(0x273)](_0xb10ebb,_0x4d245d,_0x1484cf){const _0x2c95c1=a59_0x5b0023;if(_0xb10ebb instanceof SDKError){const _0x56e700=_0xb10ebb['isUserError']()?0x190:0x1f4;_0x1484cf[_0x2c95c1(0x262)](_0x56e700)[_0x2c95c1(0x22f)]({'type':_0x2c95c1(0x22b),'error':{'type':_0xb10ebb[_0x2c95c1(0x262)],'message':_0xb10ebb[_0x2c95c1(0x26d)],'helpText':_0xb10ebb['helpText']}});}else{const _0x521220=_0xb10ebb instanceof Error?_0xb10ebb['message']:'Unknown\x20error';this['logger'][_0x2c95c1(0x22b)](_0x2c95c1(0x1ec)+_0x4d245d['method']+'\x20'+_0x4d245d[_0x2c95c1(0x246)]+':',_0xb10ebb),_0x1484cf[_0x2c95c1(0x262)](0x1f4)['send']({'type':'error','error':{'type':'api_error','message':_0x521220}});}}[a59_0x5b0023(0x26e)](){const _0x511658=a59_0x5b0023;this[_0x511658(0x230)][_0x511658(0x210)](_0x511658(0x1ee),async()=>{return{'status':'ok','message':'TD\x20LLM\x20Proxy\x20Server'};}),this[_0x511658(0x230)][_0x511658(0x229)](_0x511658(0x264),async(_0x5d3990,_0x220234)=>{const _0x24858b=_0x511658;return this[_0x24858b(0x239)](_0x5d3990,_0x220234)[_0x24858b(0x248)](_0x1a97b9=>{const _0x48df50=_0x24858b;this[_0x48df50(0x273)](_0x1a97b9,_0x5d3990,_0x220234);});}),this[_0x511658(0x230)][_0x511658(0x229)]('/v1/messages/count_tokens',async(_0x27c395,_0x3595fd)=>{const _0x5ac438=_0x511658;return this[_0x5ac438(0x209)](_0x27c395)[_0x5ac438(0x248)](_0x17e0f0=>{const _0x9e6011=_0x5ac438;this[_0x9e6011(0x273)](_0x17e0f0,_0x27c395,_0x3595fd);});});}[a59_0x5b0023(0x1fb)](_0x130dc7){const _0x49f15b=a59_0x5b0023;if(!_0x130dc7['messages']||!Array[_0x49f15b(0x24e)](_0x130dc7[_0x49f15b(0x1f7)])||_0x130dc7['messages'][_0x49f15b(0x26c)]===0x0)throw new SDKError(ErrorCode[_0x49f15b(0x26b)],_0x49f15b(0x221));if(_0x130dc7[_0x49f15b(0x268)]&&!Array[_0x49f15b(0x24e)](_0x130dc7[_0x49f15b(0x268)]))throw new SDKError(ErrorCode['INVALID_REQUEST'],'Validation\x20failed:\x20tools\x20must\x20be\x20an\x20array\x20if\x20provided');}async[a59_0x5b0023(0x239)](_0x29b22f,_0x59290d){const _0x2f6f9d=a59_0x5b0023,_0x5af2f0=_0x29b22f[_0x2f6f9d(0x216)];this[_0x2f6f9d(0x1fb)](_0x5af2f0);const _0x3f1bc3=_0x5af2f0[_0x2f6f9d(0x1f7)]?.['length']??0x0,_0x146046=_0x5af2f0[_0x2f6f9d(0x27e)]||_0x2f6f9d(0x285);this['logger']['info'](_0x29b22f[_0x2f6f9d(0x26f)]+'\x20'+_0x29b22f['url']+':\x20messages='+_0x3f1bc3+',\x20model='+_0x146046),this[_0x2f6f9d(0x21b)][_0x2f6f9d(0x23c)](_0x2f6f9d(0x21e)+colorizeJSONCompact(_0x29b22f[_0x2f6f9d(0x266)]));this[_0x2f6f9d(0x21b)][_0x2f6f9d(0x292)]&&this[_0x2f6f9d(0x21b)]['trace'](colorizeJSON(_0x5af2f0,{'color':!![]}));const _0x4b1d7a=_0x5af2f0[_0x2f6f9d(0x261)]?.[_0x2f6f9d(0x298)]||_0x2f6f9d(0x284),_0x67bb7d=extractSessionUUID(_0x4b1d7a),_0x24ddbb=this[_0x2f6f9d(0x1fc)]['getOrCreateSession'](_0x67bb7d,this[_0x2f6f9d(0x219)][_0x2f6f9d(0x299)]),_0x55dc82=[];if(_0x5af2f0[_0x2f6f9d(0x249)]){if(typeof _0x5af2f0[_0x2f6f9d(0x249)]===_0x2f6f9d(0x280))_0x55dc82[_0x2f6f9d(0x28d)](_0x5af2f0[_0x2f6f9d(0x249)]);else{if(Array['isArray'](_0x5af2f0[_0x2f6f9d(0x249)]))for(const _0x4a85f0 of _0x5af2f0['system']){_0x4a85f0['type']==='text'&&_0x4a85f0[_0x2f6f9d(0x296)]&&_0x55dc82[_0x2f6f9d(0x28d)](_0x4a85f0[_0x2f6f9d(0x296)]);}}}const _0x4c63a1=_0x5af2f0[_0x2f6f9d(0x268)]||[],_0x13551d=_0x5af2f0[_0x2f6f9d(0x20e)]?.[_0x2f6f9d(0x265)],_0x825a8=mapBudgetTokensToReasoningEffort(_0x13551d,this[_0x2f6f9d(0x219)]['site']),_0x29a2ae=calculateContextSignature(_0x5af2f0[_0x2f6f9d(0x27e)],_0x55dc82,_0x4c63a1,_0x825a8);let _0x59d0e2=_0x24ddbb[_0x2f6f9d(0x282)][_0x2f6f9d(0x210)](_0x29a2ae);const _0x7ab732=!_0x59d0e2;if(!_0x59d0e2){const _0x21e622=await this[_0x2f6f9d(0x27b)](_0x5af2f0['model'],_0x825a8);_0x59d0e2={'chatId':'','agentId':_0x21e622,'contextSignature':_0x29a2ae,'embeddedSystemPrompts':new Set(),'embeddedToolsByName':new Map(),'messageHistory':[],'lastUsedAt':Date[_0x2f6f9d(0x275)]()},_0x24ddbb[_0x2f6f9d(0x282)][_0x2f6f9d(0x20a)](_0x29a2ae,_0x59d0e2);if(_0x24ddbb['chats']['size']>MAX_CHATS_PER_SESSION){let _0x4ebd01=null,_0x59fb33=Date[_0x2f6f9d(0x275)]();for(const [_0x32c62a,_0x576d82]of _0x24ddbb[_0x2f6f9d(0x282)]){_0x576d82[_0x2f6f9d(0x28f)]<_0x59fb33&&(_0x59fb33=_0x576d82[_0x2f6f9d(0x28f)],_0x4ebd01=_0x32c62a);}_0x4ebd01&&(_0x24ddbb[_0x2f6f9d(0x282)]['delete'](_0x4ebd01),this['logger']['debug'](_0x2f6f9d(0x241)+_0x4ebd01+')\x20to\x20stay\x20under\x20'+MAX_CHATS_PER_SESSION+_0x2f6f9d(0x27c)));}}else _0x59d0e2[_0x2f6f9d(0x28f)]=Date[_0x2f6f9d(0x275)]();if(!_0x59d0e2[_0x2f6f9d(0x215)]){if(_0x59d0e2['creating']&&_0x59d0e2['createPromise']){this[_0x2f6f9d(0x21b)][_0x2f6f9d(0x23c)](_0x2f6f9d(0x235)+_0x29a2ae);try{_0x59d0e2['chatId']=await _0x59d0e2[_0x2f6f9d(0x22e)];}catch(_0x548e35){this[_0x2f6f9d(0x21b)][_0x2f6f9d(0x22b)](_0x2f6f9d(0x281),_0x548e35);}}else{if(!_0x59d0e2[_0x2f6f9d(0x27f)]){_0x59d0e2[_0x2f6f9d(0x27f)]=!![],_0x59d0e2[_0x2f6f9d(0x22e)]=((async()=>{const _0x59ae8e=_0x2f6f9d;try{const _0x465726=await this[_0x59ae8e(0x219)]['tdx']['llm'][_0x59ae8e(0x1ef)](_0x59d0e2[_0x59ae8e(0x21c)]);return this[_0x59ae8e(0x21b)][_0x59ae8e(0x276)]('['+_0x465726['id']+_0x59ae8e(0x237)+_0x5af2f0[_0x59ae8e(0x27e)]+',\x20context='+_0x29a2ae),_0x465726['id'];}catch(_0x5e67f7){this['logger']['error']('Failed\x20to\x20create\x20chat,\x20will\x20fall\x20back\x20to\x20lazy\x20creation:',_0x5e67f7);throw _0x5e67f7;}finally{_0x59d0e2[_0x59ae8e(0x27f)]=![],_0x59d0e2[_0x59ae8e(0x22e)]=undefined;}})());try{_0x59d0e2['chatId']=await _0x59d0e2[_0x2f6f9d(0x22e)];}catch{}}}}const _0x42f579=_0x55dc82[_0x2f6f9d(0x201)](_0x1f5b01=>!_0x59d0e2[_0x2f6f9d(0x28a)][_0x2f6f9d(0x257)](_0x1f5b01)),_0x54e41b=_0x4c63a1[_0x2f6f9d(0x201)](_0x3a8bb5=>!_0x59d0e2[_0x2f6f9d(0x236)][_0x2f6f9d(0x257)](_0x3a8bb5['name']));this[_0x2f6f9d(0x21b)][_0x2f6f9d(0x23c)](_0x2f6f9d(0x286)+_0x67bb7d+_0x2f6f9d(0x244)+_0x5af2f0[_0x2f6f9d(0x27e)]+_0x2f6f9d(0x1fd)+_0x29a2ae+_0x2f6f9d(0x287)+_0x7ab732),this[_0x2f6f9d(0x21b)]['debug'](_0x2f6f9d(0x260)+_0x59d0e2[_0x2f6f9d(0x215)]),this[_0x2f6f9d(0x21b)][_0x2f6f9d(0x23c)](_0x2f6f9d(0x1ea)+_0x55dc82['length']+_0x2f6f9d(0x200)+_0x4c63a1[_0x2f6f9d(0x26c)]),this[_0x2f6f9d(0x21b)][_0x2f6f9d(0x23c)]('Embedded\x20in\x20chat\x20-\x20system\x20prompts:\x20'+_0x59d0e2[_0x2f6f9d(0x28a)][_0x2f6f9d(0x23e)]+_0x2f6f9d(0x200)+_0x59d0e2[_0x2f6f9d(0x236)]['size']),this[_0x2f6f9d(0x21b)][_0x2f6f9d(0x23c)](_0x2f6f9d(0x212)+_0x42f579[_0x2f6f9d(0x26c)]+_0x2f6f9d(0x200)+_0x54e41b[_0x2f6f9d(0x26c)]);_0x42f579[_0x2f6f9d(0x26c)]>0x0&&this[_0x2f6f9d(0x21b)][_0x2f6f9d(0x23c)](_0x2f6f9d(0x24c),_0x42f579[_0x2f6f9d(0x255)](_0x58c037=>_0x58c037[_0x2f6f9d(0x240)](0x0,0x32)+_0x2f6f9d(0x207))[_0x2f6f9d(0x214)](_0x2f6f9d(0x211)));_0x54e41b[_0x2f6f9d(0x26c)]>0x0&&this[_0x2f6f9d(0x21b)][_0x2f6f9d(0x23c)](_0x2f6f9d(0x223),_0x54e41b[_0x2f6f9d(0x255)](_0x4e7e76=>_0x4e7e76[_0x2f6f9d(0x28e)])[_0x2f6f9d(0x214)](',\x20'));const _0x2012be=calculateConversationDelta(_0x5af2f0['messages'],_0x59d0e2[_0x2f6f9d(0x203)]),_0x10286c=extractLastUserMessage(_0x2012be,_0x5af2f0[_0x2f6f9d(0x1f7)]);if(_0x10286c['error'])throw new SDKError(ErrorCode[_0x2f6f9d(0x26b)],_0x10286c['error']);const _0x395e5d=_0x10286c['text']||'',_0x5169f3=()=>{const _0x4581c8=_0x2f6f9d,_0x4e5bb9=[];_0x55dc82[_0x4581c8(0x26c)]>0x0&&_0x4e5bb9[_0x4581c8(0x28d)](_0x55dc82['join']('\x0a\x0a'));_0x4c63a1[_0x4581c8(0x26c)]>0x0&&_0x4e5bb9[_0x4581c8(0x28d)](generateToolPrompt(_0x4c63a1));if(_0x5af2f0[_0x4581c8(0x1f7)]&&_0x5af2f0[_0x4581c8(0x1f7)][_0x4581c8(0x26c)]>0x1){const _0x30226d=formatConversationHistory(_0x5af2f0[_0x4581c8(0x1f7)]);_0x30226d&&_0x4e5bb9[_0x4581c8(0x28d)](_0x4581c8(0x1ed)+_0x30226d+_0x4581c8(0x22d));}return _0x4e5bb9[_0x4581c8(0x28d)](_0x395e5d),_0x4e5bb9[_0x4581c8(0x201)](_0xe81ec=>_0xe81ec&&_0xe81ec['trim']())[_0x4581c8(0x214)](_0x4581c8(0x24f));};let _0x5209de;if(_0x7ab732){this[_0x2f6f9d(0x21b)][_0x2f6f9d(0x276)]('['+_0x59d0e2['chatId']+_0x2f6f9d(0x1fe)+_0x5af2f0['model']+_0x2f6f9d(0x226)+_0x55dc82[_0x2f6f9d(0x26c)]+',\x20tools='+_0x4c63a1['length']+_0x2f6f9d(0x1f5)+_0x4c63a1[_0x2f6f9d(0x255)](_0x31e8e4=>_0x31e8e4[_0x2f6f9d(0x28e)])[_0x2f6f9d(0x214)](',\x20')+']'),_0x5209de=_0x5169f3();for(const _0x5ac114 of _0x55dc82){_0x59d0e2['embeddedSystemPrompts']['add'](_0x5ac114);}for(const _0x10c834 of _0x4c63a1){_0x59d0e2['embeddedToolsByName'][_0x2f6f9d(0x20a)](_0x10c834['name'],_0x10c834);}}else{const _0x45d8a7=[];_0x42f579['length']>0x0&&(_0x45d8a7[_0x2f6f9d(0x28d)](_0x42f579[_0x2f6f9d(0x214)]('\x0a\x0a')),this[_0x2f6f9d(0x21b)][_0x2f6f9d(0x23c)]('Embedding',_0x42f579['length'],_0x2f6f9d(0x1f8)));if(_0x54e41b['length']>0x0)try{_0x45d8a7[_0x2f6f9d(0x28d)](generateToolPrompt(_0x54e41b)),this[_0x2f6f9d(0x21b)][_0x2f6f9d(0x23c)](_0x2f6f9d(0x25b),_0x54e41b[_0x2f6f9d(0x26c)],'new\x20tool(s)');}catch(_0x40e7fe){this[_0x2f6f9d(0x21b)][_0x2f6f9d(0x22b)](_0x2f6f9d(0x243),_0x40e7fe);}try{const _0x37874a=extractToolResults(_0x2012be);_0x37874a&&(_0x45d8a7[_0x2f6f9d(0x28d)](_0x37874a),this[_0x2f6f9d(0x21b)][_0x2f6f9d(0x23c)](_0x2f6f9d(0x269)));}catch(_0x133850){this[_0x2f6f9d(0x21b)][_0x2f6f9d(0x22b)]('Failed\x20to\x20extract\x20tool\x20results:',_0x133850);}_0x45d8a7[_0x2f6f9d(0x28d)](_0x395e5d);const _0x23dd17=_0x45d8a7['filter'](_0x2b6f61=>_0x2b6f61&&_0x2b6f61[_0x2f6f9d(0x28b)]());_0x5209de=_0x23dd17['length']>0x0?_0x23dd17[_0x2f6f9d(0x214)](_0x2f6f9d(0x24f)):_0x395e5d;for(const _0x3c402b of _0x42f579){_0x59d0e2[_0x2f6f9d(0x28a)][_0x2f6f9d(0x283)](_0x3c402b);}for(const _0x5adef4 of _0x54e41b){_0x59d0e2[_0x2f6f9d(0x236)][_0x2f6f9d(0x20a)](_0x5adef4['name'],_0x5adef4);}}(!_0x5209de||!_0x5209de[_0x2f6f9d(0x28b)]())&&(this[_0x2f6f9d(0x21b)][_0x2f6f9d(0x1f6)](_0x2f6f9d(0x1f1)),this[_0x2f6f9d(0x21b)][_0x2f6f9d(0x1f6)](_0x2f6f9d(0x259),{'isNewContext':_0x7ab732,'userMessageLength':_0x395e5d?.[_0x2f6f9d(0x26c)]||0x0,'systemPromptsCount':_0x55dc82[_0x2f6f9d(0x26c)],'toolsCount':_0x4c63a1['length'],'messagesCount':_0x5af2f0['messages']?.[_0x2f6f9d(0x26c)]||0x0,'newMessagesCount':_0x2012be['length']}),clearChatState(_0x59d0e2),_0x5209de=_0x5169f3(),(!_0x5209de||!_0x5209de[_0x2f6f9d(0x28b)]())&&(this[_0x2f6f9d(0x21b)][_0x2f6f9d(0x22b)](_0x2f6f9d(0x21f)),this['logger'][_0x2f6f9d(0x22b)]('Debug\x20info:',{'systemPromptsCount':_0x55dc82[_0x2f6f9d(0x26c)],'toolsCount':_0x4c63a1[_0x2f6f9d(0x26c)],'messagesCount':_0x5af2f0[_0x2f6f9d(0x1f7)]?.['length']||0x0,'userMessageLength':_0x395e5d?.[_0x2f6f9d(0x26c)]||0x0}),_0x5209de='continue'),this['logger'][_0x2f6f9d(0x276)](_0x2f6f9d(0x202),_0x5209de[_0x2f6f9d(0x240)](0x0,0x64)+'...'));const _0x2b7d70=_0x5af2f0[_0x2f6f9d(0x279)]!==![];if(_0x2b7d70){_0x59290d['raw'][_0x2f6f9d(0x224)](0xc8,{'Content-Type':'text/event-stream','Cache-Control':'no-cache','Connection':_0x2f6f9d(0x20c),'X-Accel-Buffering':'no'});const _0x3ed81a=generateMessageId();let _0x31be57=0x0,_0x5b889a=0x0;try{if(_0x59d0e2[_0x2f6f9d(0x215)]){const _0x5eac20=_0x5209de['substring'](0x0,0x32)['replace'](/\n/g,'\x20');this[_0x2f6f9d(0x21b)][_0x2f6f9d(0x276)]('['+_0x59d0e2['chatId']+']\x20Continue\x20chat\x20for\x20model\x20'+_0x5af2f0[_0x2f6f9d(0x27e)]+_0x2f6f9d(0x25c)+_0x29a2ae+',\x20'+_0x5af2f0[_0x2f6f9d(0x1f7)][_0x2f6f9d(0x26c)]+_0x2f6f9d(0x1fa)+_0x55dc82[_0x2f6f9d(0x26c)]+_0x2f6f9d(0x25a)+_0x4c63a1[_0x2f6f9d(0x26c)]+_0x2f6f9d(0x213)+_0x5209de['length']+_0x2f6f9d(0x295)+_0x5eac20+_0x2f6f9d(0x27a));}const _0x7aad5d=this[_0x2f6f9d(0x219)][_0x2f6f9d(0x250)]['llm'][_0x2f6f9d(0x294)](_0x5209de,{'chatId':_0x59d0e2[_0x2f6f9d(0x215)]||undefined,'agentId':_0x59d0e2['chatId']?undefined:_0x59d0e2[_0x2f6f9d(0x21c)]});if(!_0x7aad5d){this['logger']['error'](_0x2f6f9d(0x220)),this[_0x2f6f9d(0x21b)][_0x2f6f9d(0x22b)](_0x2f6f9d(0x259),JSON[_0x2f6f9d(0x1f4)]({'chatId':_0x59d0e2['chatId'],'agentId':_0x59d0e2[_0x2f6f9d(0x21c)],'model':_0x5af2f0[_0x2f6f9d(0x27e)],'sessionId':_0x67bb7d,'contextSignature':_0x29a2ae})),_0x59d0e2[_0x2f6f9d(0x215)]='',this[_0x2f6f9d(0x21b)][_0x2f6f9d(0x1f6)](_0x2f6f9d(0x251));const _0x1e43a0=formatAnthropicSSE({'type':_0x2f6f9d(0x22b),'error':{'type':'api_error','message':_0x2f6f9d(0x274)},'request_id':_0x3ed81a});_0x59290d[_0x2f6f9d(0x247)][_0x2f6f9d(0x252)](_0x1e43a0),_0x59290d[_0x2f6f9d(0x247)][_0x2f6f9d(0x270)]();return;}_0x59d0e2[_0x2f6f9d(0x203)]=_0x5af2f0[_0x2f6f9d(0x1f7)];const _0x1ab8dc=_0x59d0e2;async function*_0x4c8024(_0x2bf4d8){const _0x4b8516=_0x2f6f9d;for await(const _0x4ecd26 of _0x2bf4d8){if(_0x4ecd26[_0x4b8516(0x258)]==='metadata')_0x4ecd26[_0x4b8516(0x217)][_0x4b8516(0x215)]&&!_0x1ab8dc[_0x4b8516(0x215)]&&(_0x1ab8dc[_0x4b8516(0x215)]=_0x4ecd26['data'][_0x4b8516(0x215)]);else _0x4ecd26[_0x4b8516(0x258)]===_0x4b8516(0x290)&&(yield _0x4ecd26['data']);}}const _0x5063d6=_0x4c8024(_0x7aad5d);_0x31be57=estimateInputTokensFromRequest(_0x5af2f0);const _0x58b89c=transformTDStreamToAnthropic(_0x5063d6,_0x3ed81a,_0x5af2f0[_0x2f6f9d(0x27e)],this[_0x2f6f9d(0x21b)],_0x395e5d,_0x31be57),_0x552f8a=_0x5209de['length'];let _0x49c050=0x0;for await(const _0x12e54b of _0x58b89c){const _0x46cf9f=formatAnthropicSSE(_0x12e54b);_0x49c050++,this[_0x2f6f9d(0x21b)]['debug'](colorizeJSONCompact(_0x12e54b,{'color':!![]})),_0x12e54b[_0x2f6f9d(0x258)]===_0x2f6f9d(0x22b)&&_0x12e54b[_0x2f6f9d(0x22b)]['type']===_0x2f6f9d(0x24b)&&(clearChatState(_0x59d0e2),this[_0x2f6f9d(0x21b)][_0x2f6f9d(0x1f6)](_0x2f6f9d(0x1f3)+_0x12e54b[_0x2f6f9d(0x22b)][_0x2f6f9d(0x289)]+_0x2f6f9d(0x21a)+_0x552f8a+_0x2f6f9d(0x23b)+_0x67bb7d+_0x2f6f9d(0x277)+_0x29a2ae)),_0x12e54b[_0x2f6f9d(0x258)]===_0x2f6f9d(0x20b)&&_0x12e54b[_0x2f6f9d(0x242)]?.[_0x2f6f9d(0x254)]&&(_0x5b889a=_0x12e54b[_0x2f6f9d(0x242)][_0x2f6f9d(0x254)]),_0x59290d[_0x2f6f9d(0x247)]['write'](_0x46cf9f);}this[_0x2f6f9d(0x21b)][_0x2f6f9d(0x23c)](_0x2f6f9d(0x1f2)+_0x49c050+'\x20SSE\x20events.'),appendUsageEntry(_0x67bb7d,{'timestamp':new Date()[_0x2f6f9d(0x227)](),'model':_0x5af2f0[_0x2f6f9d(0x27e)],'inputTokens':_0x31be57,'outputTokens':_0x5b889a,'contextSignature':_0x29a2ae,'profile':this[_0x2f6f9d(0x219)][_0x2f6f9d(0x250)]?.[_0x2f6f9d(0x1f9)]?.[_0x2f6f9d(0x272)],'chatId':_0x59d0e2['chatId']||undefined})['catch'](_0x39f92b=>{const _0x35ab24=_0x2f6f9d;this[_0x35ab24(0x21b)][_0x35ab24(0x1f6)](_0x35ab24(0x24d)+_0x39f92b);}),_0x59290d['raw'][_0x2f6f9d(0x270)]();}catch(_0x164b53){(_0x31be57>0x0||_0x5b889a>0x0)&&appendUsageEntry(_0x67bb7d,{'timestamp':new Date()[_0x2f6f9d(0x227)](),'model':_0x5af2f0['model'],'inputTokens':_0x31be57,'outputTokens':_0x5b889a,'contextSignature':_0x29a2ae,'profile':this['config'][_0x2f6f9d(0x250)]?.[_0x2f6f9d(0x1f9)]?.['profile'],'chatId':_0x59d0e2[_0x2f6f9d(0x215)]||undefined})[_0x2f6f9d(0x248)](_0xc3d865=>{const _0x1924e5=_0x2f6f9d;this[_0x1924e5(0x21b)][_0x1924e5(0x1f6)](_0x1924e5(0x1eb)+_0xc3d865);});const _0x350a9f=_0x164b53 instanceof Error?_0x164b53['message']:'Unknown\x20error';this[_0x2f6f9d(0x21b)][_0x2f6f9d(0x22b)]('[PROXY\x20ERROR]\x20Streaming\x20error:',_0x164b53),this[_0x2f6f9d(0x21b)][_0x2f6f9d(0x22b)](_0x2f6f9d(0x259),JSON[_0x2f6f9d(0x1f4)]({'chatId':_0x59d0e2[_0x2f6f9d(0x215)],'agentId':_0x59d0e2['agentId'],'model':_0x5af2f0[_0x2f6f9d(0x27e)],'sessionId':_0x67bb7d,'contextSignature':_0x29a2ae})),_0x59d0e2[_0x2f6f9d(0x215)]='',this[_0x2f6f9d(0x21b)][_0x2f6f9d(0x1f6)](_0x2f6f9d(0x25f));const _0x12c824=formatAnthropicSSE({'type':'error','error':{'type':'api_error','message':_0x350a9f},'request_id':_0x3ed81a});_0x59290d[_0x2f6f9d(0x247)][_0x2f6f9d(0x252)](_0x12c824),_0x59290d['raw'][_0x2f6f9d(0x270)]();}}else this['logger'][_0x2f6f9d(0x22b)]('[PROXY\x20ERROR]\x20Non-streaming\x20responses\x20are\x20not\x20yet\x20supported'),_0x59290d[_0x2f6f9d(0x262)](0x1f5)[_0x2f6f9d(0x22f)]({'type':_0x2f6f9d(0x22b),'error':{'type':_0x2f6f9d(0x253),'message':_0x2f6f9d(0x1ff)}});}async[a59_0x5b0023(0x209)](_0x15ce05){const _0x5664a1=a59_0x5b0023,_0x156b7b=_0x15ce05['body'],_0x357473=estimateInputTokensFromRequest(_0x156b7b);return this[_0x5664a1(0x21b)][_0x5664a1(0x276)](_0x15ce05[_0x5664a1(0x26f)]+'\x20'+_0x15ce05[_0x5664a1(0x246)]+_0x5664a1(0x234)+_0x357473),{'input_tokens':_0x357473};}async[a59_0x5b0023(0x225)](){const _0x5b1c6c=a59_0x5b0023;try{await this[_0x5b1c6c(0x230)][_0x5b1c6c(0x233)]({'port':this[_0x5b1c6c(0x219)]['port'],'host':_0x5b1c6c(0x278)}),this['logger'][_0x5b1c6c(0x276)]('Proxy\x20server\x20started\x20at\x20localhost:'+this[_0x5b1c6c(0x219)][_0x5b1c6c(0x29e)]),this[_0x5b1c6c(0x27d)]=setInterval(()=>{this['cleanupExpiredChats']();},CLEANUP_INTERVAL_MS),this[_0x5b1c6c(0x21b)][_0x5b1c6c(0x23c)](_0x5b1c6c(0x297)+CLEANUP_INTERVAL_MS/0x3e8+_0x5b1c6c(0x29c)+CACHE_EXPIRATION_MS/0x3e8+'s)');}catch(_0x4fab96){const _0x3def06=_0x4fab96 instanceof Error?_0x4fab96['message']:'Unknown\x20error';throw new Error(_0x5b1c6c(0x28c)+_0x3def06);}}async[a59_0x5b0023(0x25d)](){const _0x371020=a59_0x5b0023;this['cleanupInterval']&&(clearInterval(this[_0x371020(0x27d)]),this['cleanupInterval']=undefined),await this[_0x371020(0x230)][_0x371020(0x21d)]();}['getAddress'](){const _0x1766ee=a59_0x5b0023,_0x1fbfd2=this[_0x1766ee(0x230)][_0x1766ee(0x230)][_0x1766ee(0x205)]();if(typeof _0x1fbfd2===_0x1766ee(0x280))return _0x1fbfd2;if(_0x1fbfd2)return _0x1766ee(0x245)+_0x1fbfd2[_0x1766ee(0x205)]+':'+_0x1fbfd2[_0x1766ee(0x29e)];return _0x1766ee(0x271)+this[_0x1766ee(0x219)][_0x1766ee(0x29e)];}}
|
|
1
|
+
const a66_0x1a22fc=a66_0x3d0f;(function(_0x39e1b5,_0x204fb5){const _0x66e32=a66_0x3d0f,_0x4e4c4c=_0x39e1b5();while(!![]){try{const _0x30948e=parseInt(_0x66e32(0xd6))/0x1*(parseInt(_0x66e32(0xc0))/0x2)+-parseInt(_0x66e32(0xaf))/0x3+-parseInt(_0x66e32(0xbd))/0x4*(-parseInt(_0x66e32(0xee))/0x5)+-parseInt(_0x66e32(0xd3))/0x6*(parseInt(_0x66e32(0xd2))/0x7)+-parseInt(_0x66e32(0x127))/0x8*(-parseInt(_0x66e32(0x79))/0x9)+-parseInt(_0x66e32(0xf5))/0xa*(-parseInt(_0x66e32(0x124))/0xb)+-parseInt(_0x66e32(0xf7))/0xc;if(_0x30948e===_0x204fb5)break;else _0x4e4c4c['push'](_0x4e4c4c['shift']());}catch(_0x5ef4bf){_0x4e4c4c['push'](_0x4e4c4c['shift']());}}}(a66_0x4cc4,0xbd12c));import a66_0x43d764 from'fastify';import a66_0x4c3426 from'@fastify/cors';import{ErrorCode,SDKError}from'../sdk/index.js';import{transformTDStreamToAnthropic,formatAnthropicSSE,generateMessageId,generateToolPrompt,extractToolResults,estimateInputTokensFromRequest}from'./anthropic-adapter.js';import{colorizeJSON,colorizeJSONCompact}from'../utils/colors.js';function a66_0x3d0f(_0x42345a,_0x5ed170){_0x42345a=_0x42345a-0x74;const _0x4cc46d=a66_0x4cc4();let _0x3d0f53=_0x4cc46d[_0x42345a];return _0x3d0f53;}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(_0x561639){const _0x384407=a66_0x3d0f,_0x2f01ed=_0x561639[_0x384407(0xb2)](/_session_([a-f0-9-]+)$/i);if(_0x2f01ed)return _0x2f01ed[0x1];return _0x561639;}function clearChatState(_0x568447){const _0x3a8560=a66_0x3d0f;_0x568447[_0x3a8560(0xd5)]='',_0x568447[_0x3a8560(0xbc)]['clear'](),_0x568447[_0x3a8560(0xf1)][_0x3a8560(0xc6)]();}function mapBudgetTokensToReasoningEffort(_0x1a139b,_0x2823e2){const _0x8de70b=a66_0x3d0f;if(_0x2823e2!==_0x8de70b(0xeb))return 0x0;if(!_0x1a139b||_0x1a139b===0x0)return 0x0;if(_0x1a139b<=0x400)return 0x1;if(_0x1a139b<=0x800)return 0x2;if(_0x1a139b<=0x1000)return 0x3;return 0x4;}function a66_0x4cc4(){const _0x541e00=['clear','Final\x20message\x20reconstructed\x20after\x20context\x20reset:','no-cache','context','register','Including\x20tool\x20results','[PROXY\x20ERROR]\x20Streaming\x20error:','set','raw','name','x-api-key','Final\x20message\x20is\x20empty\x20after\x20construction\x20-\x20starting\x20fresh\x20conversation','7LObMCy','8506254kRYNVT','write','chatId','1109739deqgqU','\x20->\x20','map','post','getAgentForModel','metadata','cleanupExpiredChats','0.0.0.0','has','join','New\x20-\x20system\x20prompts:\x20','setErrorHandler','/v1/messages/count_tokens','header:\x20','config','Added\x20system\x20prompt\x20previews:','server','\x20chars.\x20Cleared\x20chat\x20state\x20for\x20session\x20','add','attributes','port','dev-us01','url','error','211465etcNQb','\x20(reasoning:\x20','budget_tokens','embeddedToolsByName','\x20|\x20','Creating/looking\x20up\x20agent\x20for:\x20','Added\x20tool\x20names:','6753490BIHTFv','debug','17876508rrsKRO','/v1/messages','[session:\x20','default','now','trace','site','Failed\x20to\x20extract\x20tool\x20results:',',\x20context:\x20','Stream\x20complete.\x20Sent\x20','Validation\x20failed:\x20tools\x20must\x20be\x20an\x20array\x20if\x20provided','originalMessage','Reset\x20chat\x20ID\x20to\x20recover\x20on\x20next\x20request','agentId','length','chat','\x20SSE\x20events.','text',')\x20to\x20stay\x20under\x20','...\x22',',\x20context=',']\x20Building\x20a\x20new\x20context\x20for\x20model\x20','llm','[PROXY\x20ERROR]\x20Chat\x20stream\x20is\x20undefined','/health','validateMessageRequest','...','catch','Embedding','createPromise','info','event','warn',',\x20tools=','\x0a\x0a<conversation_history>\x0a','address','setupRoutes','isUserError','listen','replace','Started\x20cache\x20cleanup\x20interval\x20(runs\x20every\x20','system','api_error','model','new\x20tool(s)','11tAsuKJ','stringify','Evicted\x20oldest\x20chat\x20(signature:\x20','648Llrsfs','\x20messages,\x20','code','tdx','body',',\x20context\x20signature:\x20',':\x20messages=','OPTIONS','get','Waiting\x20for\x20concurrent\x20chat\x20creation\x20for\x20context:\x20','cleanupInterval','Failed\x20to\x20start\x20proxy\x20server:\x20','144486LeRLmF','Authorization','handleMessages',',\x20tools:\x20',',\x20system_prompts=',',\x20model=','message','logger','agentCache','Reset\x20chat\x20state\x20to\x20recover\x20on\x20next\x20request','handleCountTokens','method','new\x20system\x20prompt(s)','Failed\x20to\x20initialize\x20chat\x20stream.\x20Please\x20try\x20again.','filter','TD\x20LLM\x20Proxy\x20Server','\x0a</conversation_history>','Content-Type','messages','\x20system\x20prompts,\x20','Embedded\x20in\x20chat\x20-\x20system\x20prompts:\x20','creating','setupMiddleware','trim','usage','thinking','Chat\x20ID:\x20','size','handleRouteError','profile','isArray','output_tokens','lastUsedAt','getAddress','Proxy\x20server\x20started\x20at\x20localhost:','System\x20prompts:\x20','not_supported_error','Context:','INVALID_REQUEST','Debug\x20info:','toISOString',',\x20tool_names=[','user_id',']\x20Continue\x20chat\x20for\x20model\x20','http://','Agent\x20cached:\x20','Failed\x20to\x20reconstruct\x20message\x20-\x20all\x20parts\x20are\x20empty,\x20using\x20fallback','chats','substring','data','tools','type','string','Non-streaming\x20responses\x20are\x20not\x20yet\x20supported','113985MjpeYI','stream','messageHistory','match','startChat','continue','push','\x20tools,\x20message_size=','Concurrent\x20chat\x20creation\x20failed,\x20will\x20fall\x20back\x20to\x20lazy\x20creation:','Unknown\x20error','send',',\x20\x22','projectId','embeddedSystemPrompts','60WrZnGo','sessionCache','headers','2IFfiHS','[PROXY\x20ERROR]\x20Unhandled\x20error\x20in\x20','Failed\x20to\x20log\x20usage\x20entry\x20on\x20error:\x20',']\x20model:\x20','getOrCreateDefaultAgent','stop'];a66_0x4cc4=function(){return _0x541e00;};return a66_0x4cc4();}const MAX_CHATS_PER_SESSION=0xa,CACHE_EXPIRATION_MS=0xa*0x3c*0x3e8,CLEANUP_INTERVAL_MS=0x3c*0x3e8;export class ProxyServer{[a66_0x1a22fc(0xe6)];[a66_0x1a22fc(0xbe)];['agentCache'];[a66_0x1a22fc(0xe4)];['cleanupInterval'];[a66_0x1a22fc(0x80)];constructor(_0x5aa0f1){const _0x550364=a66_0x1a22fc;this[_0x550364(0x80)]=_0x5aa0f1[_0x550364(0x80)],this[_0x550364(0xe4)]=_0x5aa0f1,this[_0x550364(0xbe)]=new SessionCache({'maxChatsPerSession':MAX_CHATS_PER_SESSION,'cacheExpirationMs':CACHE_EXPIRATION_MS}),this[_0x550364(0x81)]=new Map(),this[_0x550364(0xe6)]=a66_0x43d764({'logger':![],'bodyLimit':0x40*0x400*0x400}),this[_0x550364(0x8f)](),this[_0x550364(0x11b)]();}async['getAgentForModel'](_0x4f4670,_0x413e61=0x0){const _0x23815b=a66_0x1a22fc,_0x20840b=extractModelAlias(_0x4f4670),_0xe18f6e=resolveModelAlias(_0x20840b),_0x2fdb42=_0xe18f6e+'_'+_0x413e61;let _0x28a355=this[_0x23815b(0x81)][_0x23815b(0x75)](_0x2fdb42);if(!_0x28a355){this[_0x23815b(0x80)][_0x23815b(0xf6)]('Model\x20normalization:\x20'+_0x4f4670+_0x23815b(0xd7)+_0x20840b+_0x23815b(0xd7)+_0xe18f6e),this[_0x23815b(0x80)]['debug'](_0x23815b(0xf3)+_0xe18f6e+_0x23815b(0xef)+_0x413e61+')');const _0x40c83c=await this[_0x23815b(0xe4)][_0x23815b(0x12a)][_0x23815b(0x10d)][_0x23815b(0xc4)](_0xe18f6e,_0x413e61);_0x28a355=_0x40c83c['id'],this[_0x23815b(0x81)][_0x23815b(0xcd)](_0x2fdb42,_0x28a355),this[_0x23815b(0x80)][_0x23815b(0xf6)](_0x23815b(0xa6)+_0x2fdb42+_0x23815b(0xd7)+_0x28a355+'\x20('+_0x40c83c[_0x23815b(0xe9)][_0x23815b(0xcf)]+')');}return _0x28a355;}[a66_0x1a22fc(0xdc)](){const _0x3b1fe7=a66_0x1a22fc;this['sessionCache'][_0x3b1fe7(0xdc)]();}[a66_0x1a22fc(0x8f)](){const _0x4f89e4=a66_0x1a22fc;this[_0x4f89e4(0xe6)][_0x4f89e4(0xca)](a66_0x4c3426,{'origin':!![],'methods':['GET','POST',_0x4f89e4(0x74)],'allowedHeaders':[_0x4f89e4(0x8a),_0x4f89e4(0x7a),'anthropic-version',_0x4f89e4(0xd0)]}),this[_0x4f89e4(0xe6)][_0x4f89e4(0xe1)]((_0x567a62,_0x1de12,_0x3f4b9)=>{const _0x2872c1=_0x4f89e4;this[_0x2872c1(0x95)](_0x567a62,_0x1de12,_0x3f4b9);});}['handleRouteError'](_0x5ebc5e,_0x3622cb,_0x4baf5e){const _0x205699=a66_0x1a22fc;if(_0x5ebc5e instanceof SDKError){const _0x244351=_0x5ebc5e[_0x205699(0x11c)]()?0x190:0x1f4;_0x4baf5e[_0x205699(0x129)](_0x244351)[_0x205699(0xb9)]({'type':_0x205699(0xed),'error':{'type':_0x5ebc5e[_0x205699(0x129)],'message':_0x5ebc5e[_0x205699(0x102)],'helpText':_0x5ebc5e['helpText']}});}else{const _0x24f3df=_0x5ebc5e instanceof Error?_0x5ebc5e['message']:'Unknown\x20error';this['logger'][_0x205699(0xed)](_0x205699(0xc1)+_0x3622cb[_0x205699(0x84)]+'\x20'+_0x3622cb[_0x205699(0xec)]+':',_0x5ebc5e),_0x4baf5e[_0x205699(0x129)](0x1f4)[_0x205699(0xb9)]({'type':_0x205699(0xed),'error':{'type':_0x205699(0x121),'message':_0x24f3df}});}}[a66_0x1a22fc(0x11b)](){const _0x557663=a66_0x1a22fc;this[_0x557663(0xe6)][_0x557663(0x75)](_0x557663(0x10f),async()=>{const _0x229bbc=_0x557663;return{'status':'ok','message':_0x229bbc(0x88)};}),this['server'][_0x557663(0xd9)](_0x557663(0xf8),async(_0x1a91cd,_0xed055e)=>{const _0xbaf0bd=_0x557663;return this[_0xbaf0bd(0x7b)](_0x1a91cd,_0xed055e)['catch'](_0x2ffa18=>{const _0x2f2721=_0xbaf0bd;this[_0x2f2721(0x95)](_0x2ffa18,_0x1a91cd,_0xed055e);});}),this[_0x557663(0xe6)][_0x557663(0xd9)](_0x557663(0xe2),async(_0x5c6721,_0x4bc67a)=>{const _0x35924a=_0x557663;return this[_0x35924a(0x83)](_0x5c6721)[_0x35924a(0x112)](_0x3ae3eb=>{const _0x53cc16=_0x35924a;this[_0x53cc16(0x95)](_0x3ae3eb,_0x5c6721,_0x4bc67a);});});}[a66_0x1a22fc(0x110)](_0x5c8e72){const _0x3b421f=a66_0x1a22fc;if(!_0x5c8e72[_0x3b421f(0x8b)]||!Array[_0x3b421f(0x97)](_0x5c8e72[_0x3b421f(0x8b)])||_0x5c8e72['messages']['length']===0x0)throw new SDKError(ErrorCode[_0x3b421f(0x9f)],'Validation\x20failed:\x20messages\x20array\x20is\x20required\x20and\x20must\x20not\x20be\x20empty');if(_0x5c8e72[_0x3b421f(0xab)]&&!Array['isArray'](_0x5c8e72[_0x3b421f(0xab)]))throw new SDKError(ErrorCode[_0x3b421f(0x9f)],_0x3b421f(0x101));}async['handleMessages'](_0x3d66de,_0x164c70){const _0x2e00f1=a66_0x1a22fc,_0x71b014=_0x3d66de[_0x2e00f1(0x12b)];this['validateMessageRequest'](_0x71b014);const _0xc8d34d=_0x71b014[_0x2e00f1(0x8b)]?.[_0x2e00f1(0x105)]??0x0,_0x5a2155=_0x71b014[_0x2e00f1(0x122)]||'unknown';this['logger'][_0x2e00f1(0x115)](_0x3d66de[_0x2e00f1(0x84)]+'\x20'+_0x3d66de['url']+_0x2e00f1(0x12d)+_0xc8d34d+_0x2e00f1(0x7e)+_0x5a2155),this[_0x2e00f1(0x80)][_0x2e00f1(0xf6)](_0x2e00f1(0xe3)+colorizeJSONCompact(_0x3d66de[_0x2e00f1(0xbf)]));this['logger']['trace']&&this[_0x2e00f1(0x80)][_0x2e00f1(0xfc)](colorizeJSON(_0x71b014,{'color':!![]}));const _0x39d611=_0x71b014[_0x2e00f1(0xdb)]?.[_0x2e00f1(0xa3)]||_0x2e00f1(0xfa),_0x118a6c=extractSessionUUID(_0x39d611),_0x512606=this[_0x2e00f1(0xbe)]['getOrCreateSession'](_0x118a6c,this[_0x2e00f1(0xe4)][_0x2e00f1(0xbb)]),_0xd2f0b9=[];if(_0x71b014[_0x2e00f1(0x120)]){if(typeof _0x71b014[_0x2e00f1(0x120)]===_0x2e00f1(0xad))_0xd2f0b9['push'](_0x71b014[_0x2e00f1(0x120)]);else{if(Array[_0x2e00f1(0x97)](_0x71b014['system']))for(const _0x442a11 of _0x71b014[_0x2e00f1(0x120)]){_0x442a11[_0x2e00f1(0xac)]===_0x2e00f1(0x108)&&_0x442a11['text']&&_0xd2f0b9[_0x2e00f1(0xb5)](_0x442a11[_0x2e00f1(0x108)]);}}}const _0xec8d14=_0x71b014['tools']||[],_0x29fd2d=_0x71b014[_0x2e00f1(0x92)]?.[_0x2e00f1(0xf0)],_0xb4ebd=mapBudgetTokensToReasoningEffort(_0x29fd2d,this[_0x2e00f1(0xe4)][_0x2e00f1(0xfd)]),_0x40ff2e=calculateContextSignature(_0x71b014[_0x2e00f1(0x122)],_0xd2f0b9,_0xec8d14,_0xb4ebd);let _0x40a3de=_0x512606['chats'][_0x2e00f1(0x75)](_0x40ff2e);const _0x4a8173=!_0x40a3de;if(!_0x40a3de){const _0x36eb38=await this[_0x2e00f1(0xda)](_0x71b014[_0x2e00f1(0x122)],_0xb4ebd);_0x40a3de={'chatId':'','agentId':_0x36eb38,'contextSignature':_0x40ff2e,'embeddedSystemPrompts':new Set(),'embeddedToolsByName':new Map(),'messageHistory':[],'lastUsedAt':Date['now']()},_0x512606[_0x2e00f1(0xa8)][_0x2e00f1(0xcd)](_0x40ff2e,_0x40a3de);if(_0x512606[_0x2e00f1(0xa8)][_0x2e00f1(0x94)]>MAX_CHATS_PER_SESSION){let _0x2536b9=null,_0x40bb10=Date[_0x2e00f1(0xfb)]();for(const [_0x122c9f,_0x1f466d]of _0x512606['chats']){_0x1f466d[_0x2e00f1(0x99)]<_0x40bb10&&(_0x40bb10=_0x1f466d['lastUsedAt'],_0x2536b9=_0x122c9f);}_0x2536b9&&(_0x512606[_0x2e00f1(0xa8)]['delete'](_0x2536b9),this[_0x2e00f1(0x80)]['debug'](_0x2e00f1(0x126)+_0x2536b9+_0x2e00f1(0x109)+MAX_CHATS_PER_SESSION+'\x20limit'));}}else _0x40a3de[_0x2e00f1(0x99)]=Date[_0x2e00f1(0xfb)]();if(!_0x40a3de[_0x2e00f1(0xd5)]){if(_0x40a3de[_0x2e00f1(0x8e)]&&_0x40a3de['createPromise']){this['logger'][_0x2e00f1(0xf6)](_0x2e00f1(0x76)+_0x40ff2e);try{_0x40a3de['chatId']=await _0x40a3de[_0x2e00f1(0x114)];}catch(_0x41c1ab){this[_0x2e00f1(0x80)][_0x2e00f1(0xed)](_0x2e00f1(0xb7),_0x41c1ab);}}else{if(!_0x40a3de[_0x2e00f1(0x8e)]){_0x40a3de[_0x2e00f1(0x8e)]=!![],_0x40a3de['createPromise']=((async()=>{const _0xe2289e=_0x2e00f1;try{const _0x30a7a2=await this[_0xe2289e(0xe4)][_0xe2289e(0x12a)][_0xe2289e(0x10d)][_0xe2289e(0xb3)](_0x40a3de[_0xe2289e(0x104)]);return this['logger'][_0xe2289e(0x115)]('['+_0x30a7a2['id']+']\x20Created\x20new\x20chat\x20for\x20model\x20'+_0x71b014[_0xe2289e(0x122)]+_0xe2289e(0x10b)+_0x40ff2e),_0x30a7a2['id'];}catch(_0x4f232a){this[_0xe2289e(0x80)][_0xe2289e(0xed)]('Failed\x20to\x20create\x20chat,\x20will\x20fall\x20back\x20to\x20lazy\x20creation:',_0x4f232a);throw _0x4f232a;}finally{_0x40a3de[_0xe2289e(0x8e)]=![],_0x40a3de[_0xe2289e(0x114)]=undefined;}})());try{_0x40a3de['chatId']=await _0x40a3de[_0x2e00f1(0x114)];}catch{}}}}const _0x532e40=_0xd2f0b9[_0x2e00f1(0x87)](_0x1741d5=>!_0x40a3de[_0x2e00f1(0xbc)][_0x2e00f1(0xde)](_0x1741d5)),_0x112fd9=_0xec8d14[_0x2e00f1(0x87)](_0x55eabf=>!_0x40a3de[_0x2e00f1(0xf1)][_0x2e00f1(0xde)](_0x55eabf['name']));this['logger'][_0x2e00f1(0xf6)](_0x2e00f1(0xf9)+_0x118a6c+_0x2e00f1(0xc3)+_0x71b014[_0x2e00f1(0x122)]+_0x2e00f1(0x12c)+_0x40ff2e+',\x20is\x20new\x20context:\x20'+_0x4a8173),this[_0x2e00f1(0x80)][_0x2e00f1(0xf6)](_0x2e00f1(0x93)+_0x40a3de[_0x2e00f1(0xd5)]),this[_0x2e00f1(0x80)][_0x2e00f1(0xf6)](_0x2e00f1(0x9c)+_0xd2f0b9[_0x2e00f1(0x105)]+_0x2e00f1(0x7c)+_0xec8d14['length']),this['logger']['debug'](_0x2e00f1(0x8d)+_0x40a3de[_0x2e00f1(0xbc)][_0x2e00f1(0x94)]+_0x2e00f1(0x7c)+_0x40a3de[_0x2e00f1(0xf1)][_0x2e00f1(0x94)]),this[_0x2e00f1(0x80)][_0x2e00f1(0xf6)](_0x2e00f1(0xe0)+_0x532e40[_0x2e00f1(0x105)]+_0x2e00f1(0x7c)+_0x112fd9[_0x2e00f1(0x105)]);_0x532e40[_0x2e00f1(0x105)]>0x0&&this[_0x2e00f1(0x80)][_0x2e00f1(0xf6)](_0x2e00f1(0xe5),_0x532e40['map'](_0x4fb190=>_0x4fb190[_0x2e00f1(0xa9)](0x0,0x32)+_0x2e00f1(0x111))[_0x2e00f1(0xdf)](_0x2e00f1(0xf2)));_0x112fd9[_0x2e00f1(0x105)]>0x0&&this[_0x2e00f1(0x80)]['debug'](_0x2e00f1(0xf4),_0x112fd9[_0x2e00f1(0xd8)](_0x548ea9=>_0x548ea9[_0x2e00f1(0xcf)])[_0x2e00f1(0xdf)](',\x20'));const _0x49a7eb=calculateConversationDelta(_0x71b014[_0x2e00f1(0x8b)],_0x40a3de[_0x2e00f1(0xb1)]),_0x2507fe=extractLastUserMessage(_0x49a7eb,_0x71b014[_0x2e00f1(0x8b)]);if(_0x2507fe[_0x2e00f1(0xed)])throw new SDKError(ErrorCode['INVALID_REQUEST'],_0x2507fe[_0x2e00f1(0xed)]);const _0x505b9d=_0x2507fe[_0x2e00f1(0x108)]||'',_0x2a42b3=()=>{const _0x235f68=_0x2e00f1,_0x58d5a3=[];_0xd2f0b9[_0x235f68(0x105)]>0x0&&_0x58d5a3[_0x235f68(0xb5)](_0xd2f0b9[_0x235f68(0xdf)]('\x0a\x0a'));_0xec8d14['length']>0x0&&_0x58d5a3[_0x235f68(0xb5)](generateToolPrompt(_0xec8d14));if(_0x71b014[_0x235f68(0x8b)]&&_0x71b014[_0x235f68(0x8b)][_0x235f68(0x105)]>0x1){const _0x3ba9a2=formatConversationHistory(_0x71b014[_0x235f68(0x8b)]);_0x3ba9a2&&_0x58d5a3['push'](_0x235f68(0x119)+_0x3ba9a2+_0x235f68(0x89));}return _0x58d5a3[_0x235f68(0xb5)](_0x505b9d),_0x58d5a3[_0x235f68(0x87)](_0x3ac96e=>_0x3ac96e&&_0x3ac96e[_0x235f68(0x90)]())[_0x235f68(0xdf)]('\x0a---\x0a\x0a');};let _0x16fca9;if(_0x4a8173){this[_0x2e00f1(0x80)][_0x2e00f1(0x115)]('['+_0x40a3de[_0x2e00f1(0xd5)]+_0x2e00f1(0x10c)+_0x71b014[_0x2e00f1(0x122)]+_0x2e00f1(0x7d)+_0xd2f0b9[_0x2e00f1(0x105)]+_0x2e00f1(0x118)+_0xec8d14[_0x2e00f1(0x105)]+_0x2e00f1(0xa2)+_0xec8d14[_0x2e00f1(0xd8)](_0x2ec1f4=>_0x2ec1f4[_0x2e00f1(0xcf)])['join'](',\x20')+']'),_0x16fca9=_0x2a42b3();for(const _0x5e4796 of _0xd2f0b9){_0x40a3de[_0x2e00f1(0xbc)][_0x2e00f1(0xe8)](_0x5e4796);}for(const _0x91814f of _0xec8d14){_0x40a3de[_0x2e00f1(0xf1)][_0x2e00f1(0xcd)](_0x91814f[_0x2e00f1(0xcf)],_0x91814f);}}else{const _0x4798f3=[];_0x532e40[_0x2e00f1(0x105)]>0x0&&(_0x4798f3['push'](_0x532e40['join']('\x0a\x0a')),this[_0x2e00f1(0x80)][_0x2e00f1(0xf6)](_0x2e00f1(0x113),_0x532e40[_0x2e00f1(0x105)],_0x2e00f1(0x85)));if(_0x112fd9[_0x2e00f1(0x105)]>0x0)try{_0x4798f3[_0x2e00f1(0xb5)](generateToolPrompt(_0x112fd9)),this['logger'][_0x2e00f1(0xf6)](_0x2e00f1(0x113),_0x112fd9[_0x2e00f1(0x105)],_0x2e00f1(0x123));}catch(_0x525496){this[_0x2e00f1(0x80)][_0x2e00f1(0xed)]('Failed\x20to\x20generate\x20tool\x20prompt:',_0x525496);}try{const _0xc5a42=extractToolResults(_0x49a7eb);_0xc5a42&&(_0x4798f3[_0x2e00f1(0xb5)](_0xc5a42),this[_0x2e00f1(0x80)][_0x2e00f1(0xf6)](_0x2e00f1(0xcb)));}catch(_0x5521f7){this[_0x2e00f1(0x80)][_0x2e00f1(0xed)](_0x2e00f1(0xfe),_0x5521f7);}_0x4798f3['push'](_0x505b9d);const _0x588db5=_0x4798f3['filter'](_0x159e47=>_0x159e47&&_0x159e47['trim']());_0x16fca9=_0x588db5[_0x2e00f1(0x105)]>0x0?_0x588db5['join']('\x0a---\x0a\x0a'):_0x505b9d;for(const _0x998f98 of _0x532e40){_0x40a3de[_0x2e00f1(0xbc)]['add'](_0x998f98);}for(const _0x447405 of _0x112fd9){_0x40a3de[_0x2e00f1(0xf1)][_0x2e00f1(0xcd)](_0x447405[_0x2e00f1(0xcf)],_0x447405);}}(!_0x16fca9||!_0x16fca9[_0x2e00f1(0x90)]())&&(this['logger']['warn'](_0x2e00f1(0xd1)),this['logger'][_0x2e00f1(0x117)](_0x2e00f1(0x9e),{'isNewContext':_0x4a8173,'userMessageLength':_0x505b9d?.[_0x2e00f1(0x105)]||0x0,'systemPromptsCount':_0xd2f0b9['length'],'toolsCount':_0xec8d14[_0x2e00f1(0x105)],'messagesCount':_0x71b014[_0x2e00f1(0x8b)]?.[_0x2e00f1(0x105)]||0x0,'newMessagesCount':_0x49a7eb['length']}),clearChatState(_0x40a3de),_0x16fca9=_0x2a42b3(),(!_0x16fca9||!_0x16fca9[_0x2e00f1(0x90)]())&&(this[_0x2e00f1(0x80)][_0x2e00f1(0xed)](_0x2e00f1(0xa7)),this[_0x2e00f1(0x80)][_0x2e00f1(0xed)](_0x2e00f1(0xa0),{'systemPromptsCount':_0xd2f0b9[_0x2e00f1(0x105)],'toolsCount':_0xec8d14[_0x2e00f1(0x105)],'messagesCount':_0x71b014[_0x2e00f1(0x8b)]?.[_0x2e00f1(0x105)]||0x0,'userMessageLength':_0x505b9d?.['length']||0x0}),_0x16fca9=_0x2e00f1(0xb4)),this['logger'][_0x2e00f1(0x115)](_0x2e00f1(0xc7),_0x16fca9[_0x2e00f1(0xa9)](0x0,0x64)+_0x2e00f1(0x111)));const _0x42276b=_0x71b014[_0x2e00f1(0xb0)]!==![];if(_0x42276b){_0x164c70[_0x2e00f1(0xce)]['writeHead'](0xc8,{'Content-Type':'text/event-stream','Cache-Control':_0x2e00f1(0xc8),'Connection':'keep-alive','X-Accel-Buffering':'no'});const _0x222579=generateMessageId();let _0x296be1=0x0,_0x47224f=0x0;try{if(_0x40a3de[_0x2e00f1(0xd5)]){const _0x22dbbe=_0x16fca9[_0x2e00f1(0xa9)](0x0,0x32)[_0x2e00f1(0x11e)](/\n/g,'\x20');this[_0x2e00f1(0x80)][_0x2e00f1(0x115)]('['+_0x40a3de[_0x2e00f1(0xd5)]+_0x2e00f1(0xa4)+_0x71b014[_0x2e00f1(0x122)]+_0x2e00f1(0x10b)+_0x40ff2e+',\x20'+_0x71b014[_0x2e00f1(0x8b)]['length']+_0x2e00f1(0x128)+_0xd2f0b9['length']+_0x2e00f1(0x8c)+_0xec8d14['length']+_0x2e00f1(0xb6)+_0x16fca9['length']+_0x2e00f1(0xba)+_0x22dbbe+_0x2e00f1(0x10a));}const _0x3ada69=this['config'][_0x2e00f1(0x12a)][_0x2e00f1(0x10d)][_0x2e00f1(0x106)](_0x16fca9,{'chatId':_0x40a3de[_0x2e00f1(0xd5)]||undefined,'agentId':_0x40a3de[_0x2e00f1(0xd5)]?undefined:_0x40a3de[_0x2e00f1(0x104)]});if(!_0x3ada69){this['logger'][_0x2e00f1(0xed)](_0x2e00f1(0x10e)),this[_0x2e00f1(0x80)][_0x2e00f1(0xed)](_0x2e00f1(0x9e),JSON[_0x2e00f1(0x125)]({'chatId':_0x40a3de['chatId'],'agentId':_0x40a3de[_0x2e00f1(0x104)],'model':_0x71b014[_0x2e00f1(0x122)],'sessionId':_0x118a6c,'contextSignature':_0x40ff2e})),_0x40a3de[_0x2e00f1(0xd5)]='',this[_0x2e00f1(0x80)][_0x2e00f1(0x117)](_0x2e00f1(0x103));const _0x482b02=formatAnthropicSSE({'type':'error','error':{'type':_0x2e00f1(0x121),'message':_0x2e00f1(0x86)},'request_id':_0x222579});_0x164c70[_0x2e00f1(0xce)][_0x2e00f1(0xd4)](_0x482b02),_0x164c70[_0x2e00f1(0xce)]['end']();return;}_0x40a3de[_0x2e00f1(0xb1)]=_0x71b014['messages'];const _0x3381bf=_0x40a3de;async function*_0x2997a7(_0x374200){const _0x292bea=_0x2e00f1;for await(const _0x5d2f95 of _0x374200){if(_0x5d2f95[_0x292bea(0xac)]===_0x292bea(0xdb))_0x5d2f95[_0x292bea(0xaa)][_0x292bea(0xd5)]&&!_0x3381bf[_0x292bea(0xd5)]&&(_0x3381bf[_0x292bea(0xd5)]=_0x5d2f95[_0x292bea(0xaa)][_0x292bea(0xd5)]);else _0x5d2f95[_0x292bea(0xac)]===_0x292bea(0x116)&&(yield _0x5d2f95['data']);}}const _0x3d092d=_0x2997a7(_0x3ada69);_0x296be1=estimateInputTokensFromRequest(_0x71b014);const _0x2d677f=transformTDStreamToAnthropic(_0x3d092d,_0x222579,_0x71b014[_0x2e00f1(0x122)],this[_0x2e00f1(0x80)],_0x505b9d,_0x296be1),_0x55a5fb=_0x16fca9[_0x2e00f1(0x105)];let _0x5d0937=0x0;for await(const _0x184fb2 of _0x2d677f){const _0x1d7a2a=formatAnthropicSSE(_0x184fb2);_0x5d0937++,this[_0x2e00f1(0x80)]['debug'](colorizeJSONCompact(_0x184fb2,{'color':!![]})),_0x184fb2[_0x2e00f1(0xac)]===_0x2e00f1(0xed)&&_0x184fb2[_0x2e00f1(0xed)][_0x2e00f1(0xac)]==='request_too_large'&&(clearChatState(_0x40a3de),this[_0x2e00f1(0x80)][_0x2e00f1(0x117)]('[CONTEXT\x20LENGTH\x20ERROR]\x20'+_0x184fb2[_0x2e00f1(0xed)]['message']+'\x20Input\x20size:\x20'+_0x55a5fb+_0x2e00f1(0xe7)+_0x118a6c+_0x2e00f1(0xff)+_0x40ff2e)),_0x184fb2[_0x2e00f1(0xac)]==='message_delta'&&_0x184fb2[_0x2e00f1(0x91)]?.[_0x2e00f1(0x98)]&&(_0x47224f=_0x184fb2[_0x2e00f1(0x91)][_0x2e00f1(0x98)]),_0x164c70[_0x2e00f1(0xce)][_0x2e00f1(0xd4)](_0x1d7a2a);}this[_0x2e00f1(0x80)][_0x2e00f1(0xf6)](_0x2e00f1(0x100)+_0x5d0937+_0x2e00f1(0x107)),appendUsageEntry(_0x118a6c,{'timestamp':new Date()[_0x2e00f1(0xa1)](),'model':_0x71b014[_0x2e00f1(0x122)],'inputTokens':_0x296be1,'outputTokens':_0x47224f,'contextSignature':_0x40ff2e,'profile':this[_0x2e00f1(0xe4)][_0x2e00f1(0x12a)]?.[_0x2e00f1(0xc9)]?.[_0x2e00f1(0x96)],'chatId':_0x40a3de[_0x2e00f1(0xd5)]||undefined})[_0x2e00f1(0x112)](_0x3da806=>{const _0x22a8e4=_0x2e00f1;this[_0x22a8e4(0x80)][_0x22a8e4(0x117)]('Failed\x20to\x20log\x20usage\x20entry:\x20'+_0x3da806);}),_0x164c70[_0x2e00f1(0xce)]['end']();}catch(_0xa3d4fd){(_0x296be1>0x0||_0x47224f>0x0)&&appendUsageEntry(_0x118a6c,{'timestamp':new Date()[_0x2e00f1(0xa1)](),'model':_0x71b014['model'],'inputTokens':_0x296be1,'outputTokens':_0x47224f,'contextSignature':_0x40ff2e,'profile':this[_0x2e00f1(0xe4)][_0x2e00f1(0x12a)]?.[_0x2e00f1(0xc9)]?.['profile'],'chatId':_0x40a3de[_0x2e00f1(0xd5)]||undefined})[_0x2e00f1(0x112)](_0x18e379=>{const _0x43f321=_0x2e00f1;this['logger'][_0x43f321(0x117)](_0x43f321(0xc2)+_0x18e379);});const _0x40f274=_0xa3d4fd instanceof Error?_0xa3d4fd[_0x2e00f1(0x7f)]:_0x2e00f1(0xb8);this[_0x2e00f1(0x80)][_0x2e00f1(0xed)](_0x2e00f1(0xcc),_0xa3d4fd),this['logger'][_0x2e00f1(0xed)](_0x2e00f1(0x9e),JSON[_0x2e00f1(0x125)]({'chatId':_0x40a3de[_0x2e00f1(0xd5)],'agentId':_0x40a3de[_0x2e00f1(0x104)],'model':_0x71b014[_0x2e00f1(0x122)],'sessionId':_0x118a6c,'contextSignature':_0x40ff2e})),_0x40a3de[_0x2e00f1(0xd5)]='',this[_0x2e00f1(0x80)][_0x2e00f1(0x117)](_0x2e00f1(0x82));const _0x3be469=formatAnthropicSSE({'type':_0x2e00f1(0xed),'error':{'type':_0x2e00f1(0x121),'message':_0x40f274},'request_id':_0x222579});_0x164c70[_0x2e00f1(0xce)][_0x2e00f1(0xd4)](_0x3be469),_0x164c70[_0x2e00f1(0xce)]['end']();}}else this['logger'][_0x2e00f1(0xed)]('[PROXY\x20ERROR]\x20Non-streaming\x20responses\x20are\x20not\x20yet\x20supported'),_0x164c70[_0x2e00f1(0x129)](0x1f5)[_0x2e00f1(0xb9)]({'type':_0x2e00f1(0xed),'error':{'type':_0x2e00f1(0x9d),'message':_0x2e00f1(0xae)}});}async[a66_0x1a22fc(0x83)](_0x491bb8){const _0x311a33=a66_0x1a22fc,_0x7f7cdd=_0x491bb8[_0x311a33(0x12b)],_0x3ead72=estimateInputTokensFromRequest(_0x7f7cdd);return this[_0x311a33(0x80)]['info'](_0x491bb8[_0x311a33(0x84)]+'\x20'+_0x491bb8['url']+':\x20estimated\x20input_tokens='+_0x3ead72),{'input_tokens':_0x3ead72};}async['start'](){const _0x7ab3b5=a66_0x1a22fc;try{await this[_0x7ab3b5(0xe6)][_0x7ab3b5(0x11d)]({'port':this[_0x7ab3b5(0xe4)]['port'],'host':_0x7ab3b5(0xdd)}),this['logger'][_0x7ab3b5(0x115)](_0x7ab3b5(0x9b)+this[_0x7ab3b5(0xe4)][_0x7ab3b5(0xea)]),this[_0x7ab3b5(0x77)]=setInterval(()=>{const _0x11b085=_0x7ab3b5;this[_0x11b085(0xdc)]();},CLEANUP_INTERVAL_MS),this[_0x7ab3b5(0x80)][_0x7ab3b5(0xf6)](_0x7ab3b5(0x11f)+CLEANUP_INTERVAL_MS/0x3e8+'s,\x20expires\x20after\x20'+CACHE_EXPIRATION_MS/0x3e8+'s)');}catch(_0x2bba1a){const _0x5f15f9=_0x2bba1a instanceof Error?_0x2bba1a['message']:_0x7ab3b5(0xb8);throw new Error(_0x7ab3b5(0x78)+_0x5f15f9);}}async[a66_0x1a22fc(0xc5)](){const _0x3a1e92=a66_0x1a22fc;this[_0x3a1e92(0x77)]&&(clearInterval(this['cleanupInterval']),this['cleanupInterval']=undefined),await this[_0x3a1e92(0xe6)]['close']();}[a66_0x1a22fc(0x9a)](){const _0x18335c=a66_0x1a22fc,_0xe4845=this[_0x18335c(0xe6)][_0x18335c(0xe6)][_0x18335c(0x11a)]();if(typeof _0xe4845===_0x18335c(0xad))return _0xe4845;if(_0xe4845)return _0x18335c(0xa5)+_0xe4845[_0x18335c(0x11a)]+':'+_0xe4845[_0x18335c(0xea)];return'http://localhost:'+this[_0x18335c(0xe4)][_0x18335c(0xea)];}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a67_0x1408c4=a67_0x148c;function a67_0x37d4(){const _0x2bd75d=['config','121nOPEoz','221198beoBak','1071WacXEA','2015271yEdpWa','678896vUXWcB','chats','605740POJsUh','\x20not\x20found','752fTuggB','Session\x20','9wInjSv','push','cleanupExpiredChats','delete','size','getOrCreateSession','getOrCreateChat','29815TNJGVg','480429uTVIKf','cacheExpirationMs','getSessionCount','now','sessions','values','lastUsedAt','clear','getSession','5202AcAydA','get','maxChatsPerSession'];a67_0x37d4=function(){return _0x2bd75d;};return a67_0x37d4();}function a67_0x148c(_0x36f335,_0x2a7cf7){_0x36f335=_0x36f335-0x69;const _0x37d4e7=a67_0x37d4();let _0x148ce2=_0x37d4e7[_0x36f335];return _0x148ce2;}(function(_0x165a1b,_0x5268bb){const _0x594e16=a67_0x148c,_0x20316f=_0x165a1b();while(!![]){try{const _0x3ebbd6=-parseInt(_0x594e16(0x81))/0x1+-parseInt(_0x594e16(0x70))/0x2*(-parseInt(_0x594e16(0x79))/0x3)+parseInt(_0x594e16(0x77))/0x4*(parseInt(_0x594e16(0x80))/0x5)+parseInt(_0x594e16(0x6b))/0x6*(parseInt(_0x594e16(0x71))/0x7)+-parseInt(_0x594e16(0x73))/0x8+parseInt(_0x594e16(0x72))/0x9+parseInt(_0x594e16(0x75))/0xa*(-parseInt(_0x594e16(0x6f))/0xb);if(_0x3ebbd6===_0x5268bb)break;else _0x20316f['push'](_0x20316f['shift']());}catch(_0x166bb0){_0x20316f['push'](_0x20316f['shift']());}}}(a67_0x37d4,0x8d10e));export class SessionCache{['sessions'];[a67_0x1408c4(0x6e)];constructor(_0x38c1bb){const _0x5aae0f=a67_0x1408c4;this[_0x5aae0f(0x6e)]=_0x38c1bb,this[_0x5aae0f(0x85)]=new Map();}[a67_0x1408c4(0x7e)](_0x8330d0,_0x304ee9){const _0x2cc38a=a67_0x1408c4;let _0x8864f5=this[_0x2cc38a(0x85)][_0x2cc38a(0x6c)](_0x8330d0);return!_0x8864f5&&(_0x8864f5={'projectId':_0x304ee9,'chats':new Map()},this['sessions']['set'](_0x8330d0,_0x8864f5)),_0x8864f5;}[a67_0x1408c4(0x6a)](_0x17955a){const _0x466a63=a67_0x1408c4;return this['sessions'][_0x466a63(0x6c)](_0x17955a);}[a67_0x1408c4(0x7f)](_0x5967f2,_0x121dfd,_0x3c20b2){const _0x2fefbb=a67_0x1408c4,_0x4eb29d=this[_0x2fefbb(0x85)]['get'](_0x5967f2);if(!_0x4eb29d)throw new Error(_0x2fefbb(0x78)+_0x5967f2+_0x2fefbb(0x76));let _0x3e7702=_0x4eb29d[_0x2fefbb(0x74)][_0x2fefbb(0x6c)](_0x121dfd);if(!_0x3e7702){_0x3e7702={'chatId':'','agentId':_0x3c20b2,'contextSignature':_0x121dfd,'embeddedSystemPrompts':new Set(),'embeddedToolsByName':new Map(),'messageHistory':[],'lastUsedAt':Date[_0x2fefbb(0x84)]()},_0x4eb29d['chats']['set'](_0x121dfd,_0x3e7702);if(_0x4eb29d[_0x2fefbb(0x74)][_0x2fefbb(0x7d)]>this[_0x2fefbb(0x6e)][_0x2fefbb(0x6d)]){let _0x22a058=null,_0x3cc980=Date[_0x2fefbb(0x84)]();for(const [_0x2b9e0e,_0x4e6980]of _0x4eb29d[_0x2fefbb(0x74)]){_0x4e6980[_0x2fefbb(0x87)]<_0x3cc980&&(_0x3cc980=_0x4e6980[_0x2fefbb(0x87)],_0x22a058=_0x2b9e0e);}_0x22a058&&_0x4eb29d[_0x2fefbb(0x74)][_0x2fefbb(0x7c)](_0x22a058);}}else _0x3e7702[_0x2fefbb(0x87)]=Date[_0x2fefbb(0x84)]();return _0x3e7702;}[a67_0x1408c4(0x7b)](){const _0xe3b9f7=a67_0x1408c4,_0x1298fc=Date[_0xe3b9f7(0x84)]();let _0x52b387=0x0;for(const [_0x511951,_0x5ee79d]of this[_0xe3b9f7(0x85)]){const _0x70e9b=[];for(const [_0x23bfa0,_0x1c25a7]of _0x5ee79d[_0xe3b9f7(0x74)]){_0x1298fc-_0x1c25a7[_0xe3b9f7(0x87)]>this[_0xe3b9f7(0x6e)][_0xe3b9f7(0x82)]&&_0x70e9b[_0xe3b9f7(0x7a)](_0x23bfa0);}for(const _0x55e8f5 of _0x70e9b){_0x5ee79d[_0xe3b9f7(0x74)][_0xe3b9f7(0x7c)](_0x55e8f5),_0x52b387++;}_0x5ee79d[_0xe3b9f7(0x74)][_0xe3b9f7(0x7d)]===0x0&&this[_0xe3b9f7(0x85)][_0xe3b9f7(0x7c)](_0x511951);}return _0x52b387;}[a67_0x1408c4(0x83)](){const _0x1138ca=a67_0x1408c4;return this[_0x1138ca(0x85)][_0x1138ca(0x7d)];}['getTotalChatCount'](){const _0x414c86=a67_0x1408c4;let _0x2f1cf9=0x0;for(const _0x28d79d of this['sessions'][_0x414c86(0x86)]()){_0x2f1cf9+=_0x28d79d[_0x414c86(0x74)][_0x414c86(0x7d)];}return _0x2f1cf9;}['clear'](){const _0x524fae=a67_0x1408c4;this['sessions'][_0x524fae(0x69)]();}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a68_0x3ebde6=a68_0xed62;function a68_0xed62(_0x4b6ded,_0x5edaaa){_0x4b6ded=_0x4b6ded-0x139;const _0xa1abc4=a68_0xa1ab();let _0xed62b4=_0xa1abc4[_0x4b6ded];return _0xed62b4;}function a68_0xa1ab(){const _0x2c7973=['type','530315CBNEsk','data:\x20','pop','parse','4VyAzDe','event:\x20','message_delta','usage','push','664287CDhAqi','message','input_tokens','startsWith','inputTokens','1185217GhsVvm','outputTokens','1400sErsKc','event','reset','message_start','6903RTBXNq','getUsage','1667xyuhie','processChunk','output_tokens','cache_creation_input_tokens','buffer','cache_read_input_tokens','cacheReadInputTokens','1795880YvDyaS','204LnDrsT','trim','split','slice','60NyVjft','cacheCreationInputTokens','6HFNgxx','1249241JkUrGg','data'];a68_0xa1ab=function(){return _0x2c7973;};return a68_0xa1ab();}(function(_0x346a62,_0xae2a06){const _0x256148=a68_0xed62,_0x3cbebe=_0x346a62();while(!![]){try{const _0x4357ec=parseInt(_0x256148(0x142))/0x1*(-parseInt(_0x256148(0x14a))/0x2)+-parseInt(_0x256148(0x15d))/0x3*(parseInt(_0x256148(0x158))/0x4)+parseInt(_0x256148(0x154))/0x5+parseInt(_0x256148(0x150))/0x6*(-parseInt(_0x256148(0x151))/0x7)+parseInt(_0x256148(0x13c))/0x8*(-parseInt(_0x256148(0x140))/0x9)+parseInt(_0x256148(0x149))/0xa+parseInt(_0x256148(0x13a))/0xb*(parseInt(_0x256148(0x14e))/0xc);if(_0x4357ec===_0xae2a06)break;else _0x3cbebe['push'](_0x3cbebe['shift']());}catch(_0x3d0f32){_0x3cbebe['push'](_0x3cbebe['shift']());}}}(a68_0xa1ab,0x1d5ab));export function parseSSEChunk(_0xb7fbbe){const _0xe83a96=a68_0xed62,_0x38ad64=[],_0x330d5c=_0xb7fbbe[_0xe83a96(0x14c)]('\x0a\x0a'),_0x54d10d=_0x330d5c[_0xe83a96(0x156)]()||'';for(const _0x553e89 of _0x330d5c){if(!_0x553e89[_0xe83a96(0x14b)]())continue;const _0x144ef5={},_0x2081b9=_0x553e89[_0xe83a96(0x14c)]('\x0a');for(const _0xc99c85 of _0x2081b9){if(_0xc99c85[_0xe83a96(0x160)](_0xe83a96(0x159)))_0x144ef5[_0xe83a96(0x13d)]=_0xc99c85[_0xe83a96(0x14d)](0x7);else _0xc99c85[_0xe83a96(0x160)](_0xe83a96(0x155))&&(_0x144ef5[_0xe83a96(0x152)]=_0xc99c85[_0xe83a96(0x14d)](0x6));}(_0x144ef5[_0xe83a96(0x13d)]||_0x144ef5[_0xe83a96(0x152)])&&_0x38ad64[_0xe83a96(0x15c)](_0x144ef5);}return{'events':_0x38ad64,'remaining':_0x54d10d};}export function extractMessageStartUsage(_0x21c1d2){const _0x493d75=a68_0xed62;try{const _0x396030=JSON['parse'](_0x21c1d2);if(_0x396030['type']===_0x493d75(0x13f)&&_0x396030['message']?.[_0x493d75(0x15b)]){const _0x211359=_0x396030[_0x493d75(0x15e)]['usage'];return{'inputTokens':_0x211359[_0x493d75(0x15f)]||0x0,'outputTokens':_0x211359[_0x493d75(0x144)]||0x0,'cacheCreationInputTokens':_0x211359[_0x493d75(0x145)],'cacheReadInputTokens':_0x211359['cache_read_input_tokens']};}}catch{}return null;}export function extractMessageDeltaUsage(_0x5c557d){const _0x291baa=a68_0xed62;try{const _0x3951fd=JSON[_0x291baa(0x157)](_0x5c557d);if(_0x3951fd[_0x291baa(0x153)]===_0x291baa(0x15a)&&_0x3951fd[_0x291baa(0x15b)]){const _0x2290ce=_0x3951fd[_0x291baa(0x15b)];return{'inputTokens':_0x2290ce[_0x291baa(0x15f)]||0x0,'outputTokens':_0x2290ce[_0x291baa(0x144)]||0x0,'cacheCreationInputTokens':_0x2290ce[_0x291baa(0x145)],'cacheReadInputTokens':_0x2290ce[_0x291baa(0x147)]};}}catch{}return null;}export function extractUsageFromEvent(_0xfe315d){const _0x3be138=a68_0xed62;if(!_0xfe315d[_0x3be138(0x152)])return null;if(_0xfe315d[_0x3be138(0x13d)]==='message_start')return extractMessageStartUsage(_0xfe315d[_0x3be138(0x152)]);if(_0xfe315d[_0x3be138(0x13d)]===_0x3be138(0x15a))return extractMessageDeltaUsage(_0xfe315d[_0x3be138(0x152)]);return null;}export class SSEUsageTracker{['inputTokens']=0x0;[a68_0x3ebde6(0x13b)]=0x0;[a68_0x3ebde6(0x14f)];['cacheReadInputTokens'];[a68_0x3ebde6(0x146)]='';[a68_0x3ebde6(0x143)](_0x240c33){const _0x3545db=a68_0x3ebde6;this['buffer']+=_0x240c33;const {events:_0x469fd1,remaining:_0x9f68da}=parseSSEChunk(this[_0x3545db(0x146)]);this[_0x3545db(0x146)]=_0x9f68da;for(const _0x598030 of _0x469fd1){const _0x6b442b=extractUsageFromEvent(_0x598030);_0x6b442b&&(this[_0x3545db(0x139)]=_0x6b442b[_0x3545db(0x139)],this[_0x3545db(0x13b)]=_0x6b442b[_0x3545db(0x13b)],_0x6b442b[_0x3545db(0x14f)]!==undefined&&(this[_0x3545db(0x14f)]=_0x6b442b[_0x3545db(0x14f)]),_0x6b442b['cacheReadInputTokens']!==undefined&&(this[_0x3545db(0x148)]=_0x6b442b[_0x3545db(0x148)]));}return _0x240c33;}[a68_0x3ebde6(0x141)](){const _0x9046bc=a68_0x3ebde6;return{'inputTokens':this[_0x9046bc(0x139)],'outputTokens':this[_0x9046bc(0x13b)],'cacheCreationInputTokens':this[_0x9046bc(0x14f)],'cacheReadInputTokens':this[_0x9046bc(0x148)]};}[a68_0x3ebde6(0x13e)](){const _0x2d20fd=a68_0x3ebde6;this[_0x2d20fd(0x139)]=0x0,this['outputTokens']=0x0,this['cacheCreationInputTokens']=undefined,this[_0x2d20fd(0x148)]=undefined,this[_0x2d20fd(0x146)]='';}}
|
|
@@ -121,4 +121,50 @@ export declare function getPromptsDir(projectDir: string): string;
|
|
|
121
121
|
* Get path to integrations directory
|
|
122
122
|
*/
|
|
123
123
|
export declare function getIntegrationsDir(projectDir: string): string;
|
|
124
|
+
/**
|
|
125
|
+
* Result of resolving a project path from context
|
|
126
|
+
*/
|
|
127
|
+
export type ProjectResolutionResult = {
|
|
128
|
+
found: true;
|
|
129
|
+
projectDir: string;
|
|
130
|
+
configPath: string;
|
|
131
|
+
source: 'local' | 'context';
|
|
132
|
+
} | {
|
|
133
|
+
found: false;
|
|
134
|
+
reason: 'no_context';
|
|
135
|
+
message: string;
|
|
136
|
+
} | {
|
|
137
|
+
found: false;
|
|
138
|
+
reason: 'no_local_folder';
|
|
139
|
+
llmProject: string;
|
|
140
|
+
message: string;
|
|
141
|
+
} | {
|
|
142
|
+
found: false;
|
|
143
|
+
reason: 'multiple_agents';
|
|
144
|
+
llmProject: string;
|
|
145
|
+
agentDirs: string[];
|
|
146
|
+
projectDir: string;
|
|
147
|
+
} | {
|
|
148
|
+
found: false;
|
|
149
|
+
reason: 'no_tests';
|
|
150
|
+
llmProject: string;
|
|
151
|
+
projectDir: string;
|
|
152
|
+
};
|
|
153
|
+
/**
|
|
154
|
+
* Resolve project directory from local config or context.
|
|
155
|
+
*
|
|
156
|
+
* Resolution order (same as agent pull/push):
|
|
157
|
+
* 1. Check if inside existing project folder (has tdx.json)
|
|
158
|
+
* 2. If not, check llmProject context
|
|
159
|
+
* 3. If context exists, look in agents/<normalized-name>/ folder
|
|
160
|
+
*
|
|
161
|
+
* @param inputPath - Input path (usually '.' or user-provided path)
|
|
162
|
+
* @param llmProject - LLM project name from context (session/CLI)
|
|
163
|
+
* @param options - Optional filters for agent directories
|
|
164
|
+
* @returns Resolution result with path or reason for failure
|
|
165
|
+
*/
|
|
166
|
+
export declare function resolveProjectFromContext(inputPath: string, llmProject: string | undefined, options?: {
|
|
167
|
+
/** Filter agent dirs to those containing this file (e.g., 'test.yml') */
|
|
168
|
+
requireFile?: string;
|
|
169
|
+
}): ProjectResolutionResult;
|
|
124
170
|
//# sourceMappingURL=agent-config.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-config.d.ts","sourceRoot":"","sources":["../../../src/sdk/agent/agent-config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;
|
|
1
|
+
{"version":3,"file":"agent-config.d.ts","sourceRoot":"","sources":["../../../src/sdk/agent/agent-config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAMH;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,0CAA0C;IAC1C,WAAW,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,+BAA+B;IAC/B,MAAM,EAAE,cAAc,CAAC;IACvB,gCAAgC;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,mDAAmD;IACnD,SAAS,EAAE,MAAM,CAAC;CACnB;AAKD;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,GAAE,MAAsB,GAAG,MAAM,GAAG,IAAI,CAsBnF;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,cAAc,CAuBlE;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAAC,QAAQ,GAAE,MAAsB,GAAG,iBAAiB,CAiBnF;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,GAAE,MAAsB,GAAG,MAAM,CAE9F;AAED;;;;;;GAMG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,GAAE,MAAsB,GAAG,MAAM,CAE9F;AAED;;;;;GAKG;AACH,wBAAgB,wBAAwB,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAKpE;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAEnD;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAEzD;AAED;;;;;GAKG;AACH,wBAAgB,uBAAuB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM,CAErE;AAED;;GAEG;AACH,eAAO,MAAM,eAAe;;;;CAIlB,CAAC;AAEX;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAE/D;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAExD;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAE7D;AAED;;GAEG;AACH,MAAM,MAAM,uBAAuB,GAC/B;IAAE,KAAK,EAAE,IAAI,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,OAAO,GAAG,SAAS,CAAA;CAAE,GACpF;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,YAAY,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GACvD;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,iBAAiB,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,GAChF;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,iBAAiB,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,EAAE,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,GACxG;IAAE,KAAK,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,UAAU,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAAC;AAEjF;;;;;;;;;;;;GAYG;AACH,wBAAgB,yBAAyB,CACvC,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,GAAG,SAAS,EAC9B,OAAO,CAAC,EAAE;IACR,yEAAyE;IACzE,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB,GACA,uBAAuB,CAoFzB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a69_0x5a0a7b=a69_0x2a24;(function(_0x60be1a,_0x95ebf3){const _0x631379=a69_0x2a24,_0x44caf1=_0x60be1a();while(!![]){try{const _0x567efb=-parseInt(_0x631379(0xab))/0x1*(-parseInt(_0x631379(0xb8))/0x2)+-parseInt(_0x631379(0xa9))/0x3+-parseInt(_0x631379(0xbe))/0x4*(parseInt(_0x631379(0xaf))/0x5)+-parseInt(_0x631379(0xa4))/0x6*(-parseInt(_0x631379(0xa8))/0x7)+parseInt(_0x631379(0xb2))/0x8+-parseInt(_0x631379(0xc0))/0x9+parseInt(_0x631379(0xaa))/0xa;if(_0x567efb===_0x95ebf3)break;else _0x44caf1['push'](_0x44caf1['shift']());}catch(_0x131508){_0x44caf1['push'](_0x44caf1['shift']());}}}(a69_0x2528,0x26177));import{existsSync,readFileSync,readdirSync}from'fs';function a69_0x2528(){const _0x5f065f=['filter','utf-8','No\x20tdx.json\x20found\x20and\x20llm_project\x20is\x20not\x20set.','no_local_folder','dirname','83502pGwdTh','\x22\x20but\x20no\x20local\x20folder\x20found.','Current\x20context\x20has\x20llm_project=\x22','length','7vtnfPf','395853TOsycX','1995820SJmiMH','421kwcfkt','root','tdx.json','no_tests','3790WnwNXl','parse','agent.yml','647672ifqfCO','requireFile','isDirectory','stringify','context','multiple_agents','322iPZuKX','string','cwd','resolve','prompts','Invalid\x20tdx.json:\x20missing\x20or\x20invalid\x20\x27llm_project\x27\x20field','352ezQkuR','knowledge_bases','68049qcmSuc','No\x20agent\x20tdx.json\x20found.\x20Please\x20run\x20\x27tdx\x20agent\x20pull\x20<project>\x27\x20first\x20to\x20create\x20the\x20folder\x20structure.','integrations','llm_project','join','INTEGRATIONS'];a69_0x2528=function(){return _0x5f065f;};return a69_0x2528();}function a69_0x2a24(_0x4a8715,_0x7ee6e8){_0x4a8715=_0x4a8715-0x9c;const _0x252869=a69_0x2528();let _0x2a245a=_0x252869[_0x4a8715];return _0x2a245a;}import a69_0x19eb17 from'path';import{normalizeName}from'./agent-yaml.js';const TDX_CONFIG_FILE=a69_0x5a0a7b(0xad),AGENTS_DIR='agents';export function findAgentConfigPath(_0xbbba7b=process[a69_0x5a0a7b(0xba)]()){const _0x933eb6=a69_0x5a0a7b;let _0x2ad500=a69_0x19eb17[_0x933eb6(0xbb)](_0xbbba7b);const _0xf83df3=a69_0x19eb17[_0x933eb6(0xb0)](_0x2ad500)[_0x933eb6(0xac)];while(_0x2ad500!==_0xf83df3){const _0x163295=a69_0x19eb17[_0x933eb6(0x9d)](_0x2ad500,TDX_CONFIG_FILE);if(existsSync(_0x163295))try{const _0x56caeb=readFileSync(_0x163295,_0x933eb6(0xa0)),_0x5ba3fd=JSON[_0x933eb6(0xb0)](_0x56caeb);if(_0x5ba3fd[_0x933eb6(0x9c)])return _0x163295;}catch{}_0x2ad500=a69_0x19eb17[_0x933eb6(0xa3)](_0x2ad500);}return null;}export function loadAgentConfig(_0x5c24c1){const _0x3c84c5=a69_0x5a0a7b,_0xda13e3=readFileSync(_0x5c24c1,_0x3c84c5(0xa0));let _0xc93de3;try{_0xc93de3=JSON['parse'](_0xda13e3);}catch{throw new Error('Invalid\x20JSON\x20in\x20'+_0x5c24c1);}if(!_0xc93de3||typeof _0xc93de3!=='object')throw new Error('Invalid\x20tdx.json:\x20expected\x20object');const _0x261343=_0xc93de3;if(!_0x261343[_0x3c84c5(0x9c)]||typeof _0x261343[_0x3c84c5(0x9c)]!==_0x3c84c5(0xb9))throw new Error(_0x3c84c5(0xbd));return{'llm_project':_0x261343[_0x3c84c5(0x9c)]};}export function findAgentConfig(_0x47422a=process[a69_0x5a0a7b(0xba)]()){const _0x582687=a69_0x5a0a7b,_0xa6141e=findAgentConfigPath(_0x47422a);if(!_0xa6141e)throw new Error(_0x582687(0xc1));const _0x21d82d=loadAgentConfig(_0xa6141e),_0x94ef41=a69_0x19eb17[_0x582687(0xa3)](_0xa6141e);return{'config':_0x21d82d,'configPath':_0xa6141e,'configDir':_0x94ef41};}export function getAgentProjectDir(_0x47e64a,_0x8fae1c=process[a69_0x5a0a7b(0xba)]()){const _0x55f541=a69_0x5a0a7b;return a69_0x19eb17[_0x55f541(0x9d)](_0x8fae1c,AGENTS_DIR,_0x47e64a);}export function getAgentConfigPath(_0x442a18,_0x31ff1f=process['cwd']()){const _0x4e4008=a69_0x5a0a7b;return a69_0x19eb17[_0x4e4008(0x9d)](getAgentProjectDir(_0x442a18,_0x31ff1f),TDX_CONFIG_FILE);}export function createAgentConfigContent(_0x4bb5e1){const _0x61c94c=a69_0x5a0a7b,_0x125fc1={'llm_project':_0x4bb5e1};return JSON[_0x61c94c(0xb5)](_0x125fc1,null,0x2)+'\x0a';}export function isAgentDir(_0x8c0144){const _0x5e4231=a69_0x5a0a7b;return existsSync(a69_0x19eb17[_0x5e4231(0x9d)](_0x8c0144,_0x5e4231(0xb1)));}export function isAgentYamlPath(_0x12dad6){return a69_0x19eb17['basename'](_0x12dad6)==='agent.yml';}export function getAgentDirFromYamlPath(_0x4e6e4a){const _0xe1ccdb=a69_0x5a0a7b;return a69_0x19eb17[_0xe1ccdb(0xa3)](_0x4e6e4a);}export const PROJECT_SUBDIRS={'KNOWLEDGE_BASES':a69_0x5a0a7b(0xbf),'PROMPTS':a69_0x5a0a7b(0xbc),'INTEGRATIONS':a69_0x5a0a7b(0xc2)};export function getKnowledgeBasesDir(_0x509317){const _0x105333=a69_0x5a0a7b;return a69_0x19eb17[_0x105333(0x9d)](_0x509317,PROJECT_SUBDIRS['KNOWLEDGE_BASES']);}export function getPromptsDir(_0x444b66){const _0x5df6b6=a69_0x5a0a7b;return a69_0x19eb17[_0x5df6b6(0x9d)](_0x444b66,PROJECT_SUBDIRS['PROMPTS']);}export function getIntegrationsDir(_0xda880c){const _0x4d8c1f=a69_0x5a0a7b;return a69_0x19eb17[_0x4d8c1f(0x9d)](_0xda880c,PROJECT_SUBDIRS[_0x4d8c1f(0x9e)]);}export function resolveProjectFromContext(_0x6b0cb0,_0x523269,_0x3f2370){const _0x549d9e=a69_0x5a0a7b,_0x4c7572=_0x3f2370?.[_0x549d9e(0xb3)],_0x48c69d=findAgentConfigPath(a69_0x19eb17[_0x549d9e(0xbb)](_0x6b0cb0));if(_0x48c69d)return{'found':!![],'projectDir':a69_0x19eb17['dirname'](_0x48c69d),'configPath':_0x48c69d,'source':'local'};if(!_0x523269)return{'found':![],'reason':'no_context','message':_0x549d9e(0xa1)};const _0x84178c=normalizeName(_0x523269),_0x557262=a69_0x19eb17[_0x549d9e(0x9d)](process[_0x549d9e(0xba)](),AGENTS_DIR),_0x5a65b0=a69_0x19eb17[_0x549d9e(0x9d)](_0x557262,_0x84178c),_0x401300=a69_0x19eb17['join'](_0x5a65b0,TDX_CONFIG_FILE);if(!existsSync(_0x5a65b0))return{'found':![],'reason':_0x549d9e(0xa2),'llmProject':_0x523269,'message':_0x549d9e(0xa6)+_0x523269+_0x549d9e(0xa5)};if(_0x4c7572){const _0x35501c=readdirSync(_0x5a65b0,{'withFileTypes':!![]}),_0x3c21b4=_0x35501c['filter'](_0x36b805=>_0x36b805[_0x549d9e(0xb4)]())['map'](_0xb8cc24=>_0xb8cc24['name'])[_0x549d9e(0x9f)](_0x127c43=>{const _0x5ae45c=_0x549d9e,_0x4116fa=a69_0x19eb17[_0x5ae45c(0x9d)](_0x5a65b0,_0x127c43,_0x4c7572);return existsSync(_0x4116fa);});if(_0x3c21b4[_0x549d9e(0xa7)]===0x0)return{'found':![],'reason':_0x549d9e(0xae),'llmProject':_0x523269,'projectDir':_0x5a65b0};if(_0x3c21b4[_0x549d9e(0xa7)]>0x1)return{'found':![],'reason':_0x549d9e(0xb7),'llmProject':_0x523269,'agentDirs':_0x3c21b4,'projectDir':_0x5a65b0};return{'found':!![],'projectDir':a69_0x19eb17[_0x549d9e(0x9d)](_0x5a65b0,_0x3c21b4[0x0]),'configPath':_0x401300,'source':'context'};}return{'found':!![],'projectDir':_0x5a65b0,'configPath':_0x401300,'source':_0x549d9e(0xb6)};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"agent-config.js","sourceRoot":"","sources":["../../../src/sdk/agent/agent-config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;
|
|
1
|
+
{"version":3,"file":"agent-config.js","sourceRoot":"","sources":["../../../src/sdk/agent/agent-config.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x88b8e3,_0x45d9a0){const _0x33e614=a70_0x493d,_0x139f0c=_0x88b8e3();while(!![]){try{const _0x31456f=-parseInt(_0x33e614(0x184))/0x1+-parseInt(_0x33e614(0x18a))/0x2*(parseInt(_0x33e614(0x182))/0x3)+parseInt(_0x33e614(0x18d))/0x4+-parseInt(_0x33e614(0x189))/0x5*(-parseInt(_0x33e614(0x186))/0x6)+parseInt(_0x33e614(0x187))/0x7+-parseInt(_0x33e614(0x18c))/0x8*(-parseInt(_0x33e614(0x185))/0x9)+parseInt(_0x33e614(0x181))/0xa;if(_0x31456f===_0x45d9a0)break;else _0x139f0c['push'](_0x139f0c['shift']());}catch(_0x45e8c6){_0x139f0c['push'](_0x139f0c['shift']());}}}(a70_0x69af,0xe2d9c));export function parseAgentRef(_0x1f5ffd){const _0x9c84a9=a70_0x493d;if(!_0x1f5ffd||_0x1f5ffd['trim']()==='')throw new Error(_0x9c84a9(0x180));const _0x967959=_0x1f5ffd['trim'](),_0x21fed9=_0x967959[_0x9c84a9(0x18f)]('/');if(_0x21fed9[_0x9c84a9(0x190)]===0x1)return{'projectName':_0x21fed9[0x0],'agentName':undefined};else{if(_0x21fed9[_0x9c84a9(0x190)]===0x2){const [_0x4a9aaa,_0x390972]=_0x21fed9;if(!_0x4a9aaa||_0x4a9aaa[_0x9c84a9(0x18e)]()==='')throw new Error(_0x9c84a9(0x18b));if(!_0x390972||_0x390972[_0x9c84a9(0x18e)]()==='')throw new Error(_0x9c84a9(0x183));return{'projectName':_0x4a9aaa[_0x9c84a9(0x18e)](),'agentName':_0x390972[_0x9c84a9(0x18e)]()};}else throw new Error(_0x9c84a9(0x188)+_0x1f5ffd+_0x9c84a9(0x191));}}function a70_0x493d(_0x1ac243,_0x338531){_0x1ac243=_0x1ac243-0x180;const _0x69afe5=a70_0x69af();let _0x493df1=_0x69afe5[_0x1ac243];return _0x493df1;}function a70_0x69af(){const _0x43a3b8=['length','.\x20Expected\x20\x22project_name\x22\x20or\x20\x22project_name/agent_name\x22','Agent\x20reference\x20cannot\x20be\x20empty','8090250QEhByD','144dadXqC','Agent\x20name\x20cannot\x20be\x20empty','1805518ZGXMHI','9HJVmMm','12DUAdVJ','3372390WOJKUA','Invalid\x20agent\x20reference\x20format:\x20','2933570GMQpWc','41712CyVKwD','Project\x20name\x20cannot\x20be\x20empty','5484432mkGJRh','2344036WqfErS','trim','split'];a70_0x69af=function(){return _0x43a3b8;};return a70_0x69af();}
|