@treasuredata/tdx 2026.6.3 → 2026.6.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bin.js +1 -1
- package/dist/build-info.json +3 -3
- package/dist/cli-categories.js +1 -1
- package/dist/cli.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.js +1 -1
- package/dist/commands/agent-test-command.js +1 -1
- package/dist/commands/api-command.js +1 -1
- package/dist/commands/auth-command.js +1 -1
- package/dist/commands/cas-command.js +1 -1
- package/dist/commands/cas-segment-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/delivery-command.js +1 -1
- package/dist/commands/describe.js +1 -1
- package/dist/commands/engage-campaign-pull-command.js +1 -1
- package/dist/commands/engage-campaign-push-command.js +1 -1
- package/dist/commands/engage-campaign-validate-command.js +1 -1
- package/dist/commands/engage-command.js +1 -1
- package/dist/commands/engage-template-pull-command.js +1 -1
- package/dist/commands/engage-template-push-command.js +1 -1
- package/dist/commands/engage-template-validate-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/mcp-command.js +1 -1
- package/dist/commands/parent-segment-command.js +1 -1
- package/dist/commands/policy-command.js +1 -1
- package/dist/commands/profile-command.js +1 -1
- package/dist/commands/profiles-command.js +1 -1
- package/dist/commands/query-command.js +1 -1
- package/dist/commands/schedule-command.js +1 -1
- package/dist/commands/segment-command.js +1 -1
- package/dist/commands/segment-create-command.js +1 -1
- package/dist/commands/segment-fields-command.js +1 -1
- package/dist/commands/segment-pull-command.js +1 -1
- package/dist/commands/segment-push-command.js +1 -1
- package/dist/commands/segment-update-command.js +1 -1
- package/dist/commands/segment-use-command.js +1 -1
- package/dist/commands/segment-validate-command.js +1 -1
- package/dist/commands/segments.js +1 -1
- package/dist/commands/show.js +1 -1
- package/dist/commands/status-command.js +1 -1
- package/dist/commands/table-deleted.js +1 -1
- package/dist/commands/tables.js +1 -1
- package/dist/commands/unset-command.js +1 -1
- package/dist/commands/upgrade-command.js +1 -1
- package/dist/commands/use-command.js +1 -1
- package/dist/commands/user-command.js +1 -1
- package/dist/commands/work-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.d.ts +14 -0
- package/dist/core/config.d.ts.map +1 -1
- package/dist/core/config.js +1 -1
- package/dist/core/config.js.map +1 -1
- package/dist/core/connection-cache.js +1 -1
- package/dist/core/constants.js +1 -1
- package/dist/core/credential-cache.js +1 -1
- package/dist/core/global-context.js +1 -1
- package/dist/core/keychain.js +1 -1
- package/dist/core/oauth-keychain.js +1 -1
- package/dist/core/oauth.js +1 -1
- package/dist/core/profile.js +1 -1
- package/dist/core/project-config.d.ts +1 -0
- package/dist/core/project-config.d.ts.map +1 -1
- package/dist/core/project-config.js +1 -1
- package/dist/core/project-config.js.map +1 -1
- package/dist/core/session.js +1 -1
- package/dist/core/user-cache.js +1 -1
- package/dist/core/version.js +1 -1
- package/dist/index.js +1 -1
- package/dist/mcp/server.js +1 -1
- package/dist/mcp/tools/index.js +1 -1
- package/dist/mcp/tools/tdx-run.js +1 -1
- package/dist/mcp/tools/tdx-search.d.ts.map +1 -1
- package/dist/mcp/tools/tdx-search.js +1 -1
- package/dist/mcp/tools/tdx-search.js.map +1 -1
- package/dist/mcp/tools/work-create-item.js +1 -1
- package/dist/mcp/utils.js +1 -1
- package/dist/proxy/claude-usage-tracker.js +1 -1
- package/dist/proxy/passthrough-server.js +1 -1
- package/dist/proxy/sse-usage-parser.js +1 -1
- package/dist/sdk/agent/agent-config.js +1 -1
- package/dist/sdk/agent/agent-ref-parser.js +1 -1
- package/dist/sdk/agent/agent-yaml.js +1 -1
- package/dist/sdk/agent/test/evaluator.js +1 -1
- package/dist/sdk/agent/test/executor.js +1 -1
- package/dist/sdk/agent/test/index.js +1 -1
- package/dist/sdk/agent/test/output.js +1 -1
- package/dist/sdk/agent/test/parser.js +1 -1
- package/dist/sdk/agent/tool-target-registry.js +1 -1
- package/dist/sdk/api.js +1 -1
- package/dist/sdk/cas/cas-api-client.js +1 -1
- package/dist/sdk/cas/cas-audience-yaml.js +1 -1
- package/dist/sdk/cas/cas-segment-yaml.js +1 -1
- package/dist/sdk/cas/index.js +1 -1
- package/dist/sdk/cas/pull-workflow.js +1 -1
- package/dist/sdk/cas/push-workflow.js +1 -1
- package/dist/sdk/client/cdp-api-client.js +1 -1
- package/dist/sdk/client/delivery-api-client.js +1 -1
- package/dist/sdk/client/endpoints.js +1 -1
- package/dist/sdk/client/engage-api-client.js +1 -1
- package/dist/sdk/client/http-client.js +1 -1
- package/dist/sdk/client/llm-api-client.js +1 -1
- package/dist/sdk/client/oauth-refresh.js +1 -1
- package/dist/sdk/client/rate-limiter.js +1 -1
- package/dist/sdk/client/td-api-client.js +1 -1
- package/dist/sdk/client/trino-api-client.js +1 -1
- package/dist/sdk/client/workflow-client.js +1 -1
- package/dist/sdk/connection-validator.js +1 -1
- package/dist/sdk/connection.js +1 -1
- package/dist/sdk/delivery.js +1 -1
- package/dist/sdk/engage/campaign-pull.js +1 -1
- package/dist/sdk/engage/campaign-push.js +1 -1
- package/dist/sdk/engage/campaign-validator.js +1 -1
- package/dist/sdk/engage/campaign-yaml.js +1 -1
- package/dist/sdk/engage/template-pull.js +1 -1
- package/dist/sdk/engage/template-push.js +1 -1
- package/dist/sdk/engage/template-validator.js +1 -1
- package/dist/sdk/engage/template-yaml.js +1 -1
- package/dist/sdk/engage/types/campaign-def.js +1 -1
- package/dist/sdk/engage/types/campaign-schema.js +1 -1
- package/dist/sdk/engage/types/template-schema.js +1 -1
- package/dist/sdk/engage.js +1 -1
- package/dist/sdk/errors.js +1 -1
- package/dist/sdk/index.js +1 -1
- package/dist/sdk/io/index.js +1 -1
- package/dist/sdk/io/node-filesystem.js +1 -1
- package/dist/sdk/job.js +1 -1
- package/dist/sdk/journey.js +1 -1
- package/dist/sdk/llm/chat-cache.js +1 -1
- package/dist/sdk/llm/index.js +1 -1
- package/dist/sdk/llm/llm-backup-utils.js +1 -1
- package/dist/sdk/llm/model-factors.js +1 -1
- package/dist/sdk/llm/user-settings.js +1 -1
- package/dist/sdk/personalization.js +1 -1
- package/dist/sdk/policy.js +1 -1
- package/dist/sdk/query/deleted-table-validation.js +1 -1
- package/dist/sdk/query/index.js +1 -1
- package/dist/sdk/query/sql-parser.js +1 -1
- package/dist/sdk/realtime.js +1 -1
- package/dist/sdk/schedule.js +1 -1
- package/dist/sdk/segment/child-segment-yaml.js +1 -1
- package/dist/sdk/segment/fields-display.js +1 -1
- package/dist/sdk/segment/file-discovery.js +1 -1
- package/dist/sdk/segment/journey-utils.js +1 -1
- package/dist/sdk/segment/journey-validator.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-recovery.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/segment-validator.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/types/activation-schema.js +1 -1
- package/dist/sdk/segment/types/journey-def.js +1 -1
- package/dist/sdk/segment/types/journey-schema.js +1 -1
- package/dist/sdk/segment/types/segment-def.js +1 -1
- package/dist/sdk/segment/types/segment-schema.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/types/workspace.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/paginate.js +1 -1
- package/dist/sdk/util/tree-formatter.js +1 -1
- package/dist/sdk/workflow/archive-validation.js +1 -1
- package/dist/sdk/workflow/clone-workflow.js +1 -1
- package/dist/sdk/workflow/index.js +1 -1
- package/dist/sdk/workflow/pull-workflow.js +1 -1
- package/dist/sdk/workflow/push-workflow.js +1 -1
- package/dist/sdk/workflow/task-graph.js +1 -1
- package/dist/sdk/workflow/tdx-config.js +1 -1
- package/dist/sdk/workflow/workflow-utils.js +1 -1
- package/dist/sdk/workspace/access-tracker.js +1 -1
- package/dist/sdk/workspace/frontmatter.js +1 -1
- package/dist/sdk/workspace/git.js +1 -1
- package/dist/sdk/workspace/index.js +1 -1
- package/dist/sdk/workspace/templates.js +1 -1
- package/dist/sdk/workspace/weekly.js +1 -1
- package/dist/sdk/workspace/wikilinks.js +1 -1
- package/dist/test-utils/command-runner.js +1 -1
- package/dist/test-utils/factories.js +1 -1
- package/dist/test-utils/fixtures.js +1 -1
- package/dist/test-utils/http-mock.js +1 -1
- package/dist/test-utils/index.js +1 -1
- package/dist/utils/async.js +1 -1
- package/dist/utils/colors.js +1 -1
- package/dist/utils/diff.js +1 -1
- package/dist/utils/file-permissions.js +1 -1
- package/dist/utils/file-reader.js +1 -1
- package/dist/utils/github-releases.js +1 -1
- package/dist/utils/global-cache.js +1 -1
- package/dist/utils/json-loader.js +1 -1
- package/dist/utils/local-cache.js +1 -1
- package/dist/utils/logger/formatters/default-formatter.js +1 -1
- package/dist/utils/logger/formatters/index.js +1 -1
- package/dist/utils/logger/handlers/console-handler.js +1 -1
- package/dist/utils/logger/handlers/file-handler.js +1 -1
- package/dist/utils/logger/handlers/index.js +1 -1
- package/dist/utils/logger/handlers/null-handler.js +1 -1
- package/dist/utils/logger/index.js +1 -1
- package/dist/utils/logger/logger.js +1 -1
- package/dist/utils/logger/types.js +1 -1
- package/dist/utils/option-validation.js +1 -1
- package/dist/utils/process.js +1 -1
- package/dist/utils/prompt.js +1 -1
- package/dist/utils/spinner.js +1 -1
- package/dist/utils/sse-parser.js +1 -1
- package/dist/utils/string-utils.js +1 -1
- package/dist/utils/table-ref-parser.js +1 -1
- package/dist/utils/tdx-logger.js +1 -1
- package/dist/utils/version-check.js +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a76_0x306c98=a76_0x6a91;function a76_0x1f70(){const _0xf334fa=['void','3378105wSGGfo','filePath','done','backlog','No\x20workspace\x20found.\x20Run\x20`tdx\x20work\x20init`\x20to\x20create\x20one.','fileName','2409010bVBmSv','kind','129ROCgwX','describe','2933679JcaSth','planning','body','JIRA\x20ticket\x20reference\x20(org/TICKET-ID)','36364GAKRWL','design_review','Document\x20kind\x20(default:\x20\x22item\x22)','2QQZTlN','array','medium','superseded','optional','Template\x20name\x20from\x20templates/\x20folder','string','github','title','object','enum','213314mvDYpc','Initial\x20status\x20(default:\x20\x22todo\x22\x20for\x20items,\x20\x22proposed\x22\x20for\x20guides)','deprecated','note','low','review','status','tags','jira','item','createDocument','priority','241408qmRcyr','replace','1794816weEieJ','template','Priority\x20level'];a76_0x1f70=function(){return _0xf334fa;};return a76_0x1f70();}(function(_0x20f0d8,_0x6bac82){const _0x1476cc=a76_0x6a91,_0x3a4225=_0x20f0d8();while(!![]){try{const _0x29d2ee=parseInt(_0x1476cc(0xd9))/0x1*(-parseInt(_0x1476cc(0xce))/0x2)+parseInt(_0x1476cc(0xc5))/0x3*(-parseInt(_0x1476cc(0xcb))/0x4)+parseInt(_0x1476cc(0xc3))/0x5+parseInt(_0x1476cc(0xb9))/0x6+parseInt(_0x1476cc(0xc7))/0x7+parseInt(_0x1476cc(0xb7))/0x8+-parseInt(_0x1476cc(0xbd))/0x9;if(_0x29d2ee===_0x6bac82)break;else _0x3a4225['push'](_0x3a4225['shift']());}catch(_0x4f08e6){_0x3a4225['push'](_0x3a4225['shift']());}}}(a76_0x1f70,0x3d30f));function a76_0x6a91(_0x20477c,_0x39cd07){_0x20477c=_0x20477c-0xb0;const _0x1f7016=a76_0x1f70();let _0x6a9146=_0x1f7016[_0x20477c];return _0x6a9146;}import{z}from'zod';import{WorkspaceSDK,resolveWorkspacePath}from'../../sdk/workspace/index.js';const TASK_STATUSES=[a76_0x306c98(0xc0),'todo',a76_0x306c98(0xc8),a76_0x306c98(0xcc),'in_progress',a76_0x306c98(0xb0),a76_0x306c98(0xbf),a76_0x306c98(0xbc)],GUIDE_STATUSES=['proposed','accepted',a76_0x306c98(0xdb),a76_0x306c98(0xd1)];export const WorkCreateItemInputSchema=z[a76_0x306c98(0xd7)]({'title':z[a76_0x306c98(0xd4)]()[a76_0x306c98(0xc6)]('Item\x20title\x20(required)'),'kind':z[a76_0x306c98(0xd8)]([a76_0x306c98(0xb4),a76_0x306c98(0xdc),'guide','reference'])[a76_0x306c98(0xd2)]()[a76_0x306c98(0xc6)](a76_0x306c98(0xcd)),'status':z['enum']([...TASK_STATUSES,...GUIDE_STATUSES])[a76_0x306c98(0xd2)]()[a76_0x306c98(0xc6)](a76_0x306c98(0xda)),'tags':z[a76_0x306c98(0xcf)](z[a76_0x306c98(0xd4)]())[a76_0x306c98(0xd2)]()[a76_0x306c98(0xc6)]('Tags\x20for\x20the\x20item'),'priority':z[a76_0x306c98(0xd8)](['critical','high',a76_0x306c98(0xd0),a76_0x306c98(0xdd)])['optional']()[a76_0x306c98(0xc6)](a76_0x306c98(0xbb)),'body':z[a76_0x306c98(0xd4)]()['optional']()['describe']('Markdown\x20body\x20content'),'template':z['string']()['optional']()[a76_0x306c98(0xc6)](a76_0x306c98(0xd3)),'github':z[a76_0x306c98(0xd4)]()[a76_0x306c98(0xd2)]()[a76_0x306c98(0xc6)]('GitHub\x20PR/issue\x20reference\x20(owner/repo#number)'),'jira':z[a76_0x306c98(0xd4)]()['optional']()[a76_0x306c98(0xc6)](a76_0x306c98(0xca))});export function executeWorkCreateItem(_0x5adaaa){const _0x542059=a76_0x306c98,_0x1ec47f=resolveWorkspacePath();if(!_0x1ec47f)return{'success':![],'error':_0x542059(0xc1)};const _0x52dbe0=new WorkspaceSDK(_0x1ec47f),_0xbc9d06={'title':_0x5adaaa[_0x542059(0xd6)],'kind':_0x5adaaa[_0x542059(0xc4)]||_0x542059(0xb4),'status':_0x5adaaa[_0x542059(0xb1)],'tags':_0x5adaaa[_0x542059(0xb2)],'priority':_0x5adaaa[_0x542059(0xb6)],'body':_0x5adaaa[_0x542059(0xc9)],'template':_0x5adaaa[_0x542059(0xba)],'github':_0x5adaaa[_0x542059(0xd5)],'jira':_0x5adaaa[_0x542059(0xb3)]},_0x564ebe=_0x52dbe0[_0x542059(0xb5)](_0xbc9d06);return{'success':!![],'path':_0x564ebe[_0x542059(0xbe)],'slug':_0x564ebe[_0x542059(0xc2)][_0x542059(0xb8)](/\.md$/,'')};}
|
package/dist/mcp/utils.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a77_0x47cb7f=a77_0x507a;(function(_0x463586,_0x22293d){const _0x24e7f0=a77_0x507a,_0xab4ed2=_0x463586();while(!![]){try{const _0x50c11b=-parseInt(_0x24e7f0(0x7e))/0x1+parseInt(_0x24e7f0(0x7c))/0x2+parseInt(_0x24e7f0(0x80))/0x3*(parseInt(_0x24e7f0(0x6b))/0x4)+-parseInt(_0x24e7f0(0x6c))/0x5*(parseInt(_0x24e7f0(0x7d))/0x6)+-parseInt(_0x24e7f0(0x82))/0x7*(-parseInt(_0x24e7f0(0x70))/0x8)+-parseInt(_0x24e7f0(0x75))/0x9+parseInt(_0x24e7f0(0x74))/0xa*(parseInt(_0x24e7f0(0x78))/0xb);if(_0x50c11b===_0x22293d)break;else _0xab4ed2['push'](_0xab4ed2['shift']());}catch(_0x3e7876){_0xab4ed2['push'](_0xab4ed2['shift']());}}}(a77_0x4d51,0xf2fdd));const BLOCKED_COMMANDS=['auth\x20setup',a77_0x47cb7f(0x83),a77_0x47cb7f(0x6d),'profile\x20create',a77_0x47cb7f(0x6a),a77_0x47cb7f(0x69),a77_0x47cb7f(0x6f)],BLOCKED_FLAGS=[a77_0x47cb7f(0x73),'-p'];function a77_0x507a(_0x261c9e,_0x26c92d){_0x261c9e=_0x261c9e-0x68;const _0x4d5160=a77_0x4d51();let _0x507a54=_0x4d5160[_0x261c9e];return _0x507a54;}function a77_0x4d51(){const _0x285561=['profile\x20create','3pqrdou','replace','5743577kUZUIh','auth\x20login','startsWith','profile\x20remove','profile\x20delete','1236084BfITuY','5eGPURc','auth\x20clear','Cannot\x20run\x20MCP\x20server\x20recursively','mcp','8hpMXcf','includes','slice','--profile','88720Vrohdc','8612559GdLuTR','toLowerCase','join','3245qNhUDo','auth\x20setup','This\x20command\x20is\x20not\x20allowed\x20via\x20MCP','Credential\x20management\x20commands\x20are\x20not\x20allowed\x20via\x20MCP','2010942HAAbpH','7550052oGgWWH','1541657YtFAfi'];a77_0x4d51=function(){return _0x285561;};return a77_0x4d51();}export function hasBlockedFlag(_0xc7aef7){const _0x1cea4e=a77_0x47cb7f;for(const _0x1e9f75 of _0xc7aef7){const _0x554209=_0x1e9f75[_0x1cea4e(0x76)]();for(const _0xb5904b of BLOCKED_FLAGS){if(_0x554209===_0xb5904b||_0x554209[_0x1cea4e(0x68)](_0xb5904b+'='))return!![];}}return![];}export function isBlockedCommand(_0x577f3e){const _0x430be3=a77_0x47cb7f;if(_0x577f3e['length']===0x0)return![];if(hasBlockedFlag(_0x577f3e))return!![];const _0x34b86b=_0x577f3e[_0x430be3(0x72)](0x0,0x2)[_0x430be3(0x77)]('\x20')[_0x430be3(0x76)]();for(const _0x3251dc of BLOCKED_COMMANDS){if(_0x34b86b[_0x430be3(0x68)](_0x3251dc))return!![];}const _0x1ff0cb=_0x577f3e[0x0][_0x430be3(0x76)]();for(const _0x2bc56b of BLOCKED_COMMANDS){if(!_0x2bc56b[_0x430be3(0x71)]('\x20')&&_0x1ff0cb===_0x2bc56b)return!![];}return![];}export function getBlockedReason(_0x13a9ad){const _0x26225b=a77_0x47cb7f;if(!isBlockedCommand(_0x13a9ad))return undefined;if(hasBlockedFlag(_0x13a9ad))return'Profile\x20switching\x20via\x20--profile\x20flag\x20is\x20not\x20allowed\x20via\x20MCP';const _0x3f1cae=_0x13a9ad['slice'](0x0,0x2)[_0x26225b(0x77)]('\x20')[_0x26225b(0x76)](),_0x518054=_0x13a9ad[0x0][_0x26225b(0x76)]();if(_0x3f1cae['startsWith'](_0x26225b(0x79))||_0x3f1cae[_0x26225b(0x68)](_0x26225b(0x83))||_0x3f1cae[_0x26225b(0x68)](_0x26225b(0x6d)))return _0x26225b(0x7b);if(_0x3f1cae[_0x26225b(0x68)](_0x26225b(0x7f))||_0x3f1cae['startsWith'](_0x26225b(0x6a))||_0x3f1cae[_0x26225b(0x68)](_0x26225b(0x69)))return'Profile\x20management\x20commands\x20are\x20not\x20allowed\x20via\x20MCP';if(_0x518054===_0x26225b(0x6f))return _0x26225b(0x6e);return _0x26225b(0x7a);}export function formatOutput(_0xaa6cc6){const _0x2b1420=a77_0x47cb7f,_0x1dc2f5=/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g;let _0x1c8eb3=_0xaa6cc6['replace'](_0x1dc2f5,'');return _0x1c8eb3=_0x1c8eb3[_0x2b1420(0x81)](/\r\n/g,'\x0a')[_0x2b1420(0x81)](/\r/g,'\x0a'),_0x1c8eb3=_0x1c8eb3['trimEnd'](),_0x1c8eb3;}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0x3718e8,_0x3e4ef5){const _0x416dd9=a78_0x38ed,_0x27efb5=_0x3718e8();while(!![]){try{const _0x1b1080=-parseInt(_0x416dd9(0xed))/0x1*(parseInt(_0x416dd9(0xb1))/0x2)+-parseInt(_0x416dd9(0xe0))/0x3*(parseInt(_0x416dd9(0xcf))/0x4)+parseInt(_0x416dd9(0xce))/0x5+-parseInt(_0x416dd9(0xaa))/0x6*(parseInt(_0x416dd9(0xbb))/0x7)+parseInt(_0x416dd9(0xdf))/0x8+parseInt(_0x416dd9(0xd6))/0x9*(parseInt(_0x416dd9(0xdd))/0xa)+parseInt(_0x416dd9(0xeb))/0xb;if(_0x1b1080===_0x3e4ef5)break;else _0x27efb5['push'](_0x27efb5['shift']());}catch(_0x313f6d){_0x27efb5['push'](_0x27efb5['shift']());}}}(a78_0x448c,0x5206d));function a78_0x448c(){const _0x107d0b=['cacheReadInputTokens','slice','getFullYear','claude-usage','Invalid\x20session\x20ID:\x20path\x20traversal\x20detected','147497EwGhGf','.jsonl:','todayDate','getTime','default','reduce','sources','sort','month','Failed\x20to\x20read\x20usage\x20directory:','message','profile','stringify','cacheCreationInputTokens','totalCredits','sessions','todayCredits','Failed\x20to\x20read\x20usage\x20file\x20','.jsonl','1393900nFPXpT','907372FCkKSq','model','endsWith','utf-8','totalChatUnits','entryCount','entries','459GQIZvC','parse','getMonth','keys','filter','profiles','max','21540bsVYJb','timestamp','240528fqSYbv','3jiInps','replace','outputTokens','lastUsedAt','toISOString','latestContextTokensBySignature','lastUpdatedAt','inputTokens','warn','credits','stats-cache.json','7128957OAzvum','tdx-claude','5sYYcsS','map','138Bkvkpj','object','length','values','monthCredits','startsWith','daily','7732coXUZe','Failed\x20to\x20process\x20session\x20','monthly','WARN','split'];a78_0x448c=function(){return _0x107d0b;};return a78_0x448c();}import{readFile,writeFile,appendFile,mkdir,readdir,stat}from'node:fs/promises';import{existsSync}from'node:fs';import{join,resolve}from'node:path';import{getModelPricing,calculateTokenCost,usdToAiCredits}from'../sdk/llm/model-factors.js';import{TDXLogger,LogLevel}from'../utils/tdx-logger.js';import{getGlobalCacheDir}from'../utils/global-cache.js';let usageLogger=null;async function getLogger(){const _0x1d6a20=a78_0x38ed;return!usageLogger&&(usageLogger=new TDXLogger(LogLevel[_0x1d6a20(0xb4)],!![]),await usageLogger['init']()),usageLogger;}function getUsageDir(){const _0x3c2d79=a78_0x38ed;return join(getGlobalCacheDir(),_0x3c2d79(0xb9));}function sanitizeSessionId(_0x45a067){const _0x2b21e6=a78_0x38ed;return _0x45a067[_0x2b21e6(0xe1)](/[^a-zA-Z0-9_-]/g,'_');}function a78_0x38ed(_0x54c6cc,_0x1341b0){_0x54c6cc=_0x54c6cc-0xa9;const _0x448c78=a78_0x448c();let _0x38ed02=_0x448c78[_0x54c6cc];return _0x38ed02;}function getSafeJsonlPath(_0x54cff7){const _0x1bd291=a78_0x38ed,_0xda14b3=getUsageDir(),_0x116a80=sanitizeSessionId(_0x54cff7),_0x1afb68=resolve(_0xda14b3,_0x116a80+_0x1bd291(0xcd));if(!_0x1afb68[_0x1bd291(0xaf)](_0xda14b3))throw new Error(_0x1bd291(0xba));return _0x1afb68;}function getStatsCachePath(){const _0x8e1beb=a78_0x38ed;return join(getUsageDir(),_0x8e1beb(0xea));}async function ensureUsageDir(){const _0x2cca36=getUsageDir();!existsSync(_0x2cca36)&&await mkdir(_0x2cca36,{'recursive':!![]});}export async function appendUsageEntry(_0x511aec,_0x45bdbd){const _0x19fe25=a78_0x38ed,_0x54fea4=sanitizeSessionId(_0x511aec);await ensureUsageDir();const _0x4e2c52=getSafeJsonlPath(_0x54fea4),_0x22ad44=JSON[_0x19fe25(0xc7)](_0x45bdbd)+'\x0a';await appendFile(_0x4e2c52,_0x22ad44,_0x19fe25(0xd2));}async function readSessionJsonl(_0x128e6e){const _0x1ad174=a78_0x38ed,_0xfe1af0=getSafeJsonlPath(_0x128e6e);if(!existsSync(_0xfe1af0))return[];try{const _0x4b0a10=await readFile(_0xfe1af0,'utf-8'),_0x172495=_0x4b0a10['trim']()[_0x1ad174(0xb5)]('\x0a')['filter'](Boolean);return _0x172495[_0x1ad174(0xa9)](_0x25e1bc=>{const _0x1d7a7a=_0x1ad174;try{return JSON[_0x1d7a7a(0xd7)](_0x25e1bc);}catch{return null;}})[_0x1ad174(0xda)](_0x1a9c72=>_0x1a9c72!==null);}catch(_0x424489){const _0x3da0e1=await getLogger();return _0x3da0e1[_0x1ad174(0xe8)](_0x1ad174(0xcc)+_0x128e6e+_0x1ad174(0xbc),_0x424489 instanceof Error?_0x424489[_0x1ad174(0xc5)]:String(_0x424489)),[];}}async function getAllSessionFiles(){const _0x3b78ac=a78_0x38ed,_0x423993=getUsageDir();if(!existsSync(_0x423993))return[];try{const _0x3ad2b2=await readdir(_0x423993);return _0x3ad2b2[_0x3b78ac(0xda)](_0x37953a=>_0x37953a[_0x3b78ac(0xd1)]('.jsonl'))['map'](_0x1bb58a=>_0x1bb58a[_0x3b78ac(0xe1)](_0x3b78ac(0xcd),''));}catch(_0x1a4bce){const _0x1d6e38=await getLogger();return _0x1d6e38['warn'](_0x3b78ac(0xc4),_0x1a4bce instanceof Error?_0x1a4bce[_0x3b78ac(0xc5)]:String(_0x1a4bce)),[];}}async function readStatsCache(){const _0x3fb4b8=a78_0x38ed,_0x447bc7=getStatsCachePath();if(!existsSync(_0x447bc7))return null;try{const _0x1e80b3=await readFile(_0x447bc7,_0x3fb4b8(0xd2)),_0x40abe2=JSON[_0x3fb4b8(0xd7)](_0x1e80b3),_0x4931e0=Object['values'](_0x40abe2[_0x3fb4b8(0xca)]||{})[0x0];if(_0x4931e0&&_0x3fb4b8(0xd3)in _0x4931e0)return null;return _0x40abe2;}catch{return null;}}async function writeStatsCache(_0x81ac03){const _0xaa72b7=a78_0x38ed;await ensureUsageDir();const _0x2f593e=getStatsCachePath();await writeFile(_0x2f593e,JSON[_0xaa72b7(0xc7)](_0x81ac03,null,0x2),_0xaa72b7(0xd2));}async function isCacheUpToDate(_0x28296d,_0x295a35){const _0x327df7=a78_0x38ed,_0xbcd322=_0x28296d[_0x327df7(0xca)][_0x295a35];if(!_0xbcd322)return![];const _0xc39521=getSafeJsonlPath(_0x295a35);if(!existsSync(_0xc39521))return!![];try{const _0x27b2a9=await stat(_0xc39521),_0x13a290=new Date(_0xbcd322['lastUpdatedAt'])[_0x327df7(0xbe)](),_0x5ecf09=_0x27b2a9['mtime']['getTime']();return _0x13a290>_0x5ecf09;}catch{return![];}}export async function rebuildCache(){const _0x386153=a78_0x38ed,_0x2dad29=new Date(),_0x7d22da=_0x2dad29[_0x386153(0xe4)]()[_0x386153(0xb7)](0x0,0xa),_0x4b7b73=_0x2dad29[_0x386153(0xe4)]()['slice'](0x0,0x7),_0x188551={'daily':{},'monthly':{},'sessions':{},'profiles':{},'sources':{},'lastRebuiltAt':_0x2dad29[_0x386153(0xe4)]()},_0x221790=await getAllSessionFiles();for(const _0xcde4da of _0x221790){try{const _0x2bd510=await readSessionJsonl(_0xcde4da);if(_0x2bd510[_0x386153(0xac)]===0x0)continue;let _0x32e8dc=0x0;const _0x56cf80={};let _0x4502a2='';for(const _0x344e16 of _0x2bd510){const _0x4ec87d=_0x344e16[_0x386153(0xc8)]??0x0,_0x17daaa=_0x344e16[_0x386153(0xb6)]??0x0,_0x52153f=_0x344e16[_0x386153(0xe7)]+_0x4ec87d+_0x17daaa,_0xf3e1cf=getModelPricing(_0x344e16[_0x386153(0xd0)],_0x52153f),_0x1a2936=calculateTokenCost(_0x344e16[_0x386153(0xe7)],_0x344e16[_0x386153(0xe2)],_0x4ec87d,_0x17daaa,_0xf3e1cf),_0x3018b8=usdToAiCredits(_0x1a2936);_0x32e8dc+=_0x3018b8;const _0x542c40=_0x344e16['contextSignature']||'default';_0x56cf80[_0x542c40]=_0x52153f;_0x344e16[_0x386153(0xde)]>_0x4502a2&&(_0x4502a2=_0x344e16[_0x386153(0xde)]);const _0x7943ff=_0x344e16[_0x386153(0xde)]['slice'](0x0,0xa);!_0x188551[_0x386153(0xb0)][_0x7943ff]&&(_0x188551['daily'][_0x7943ff]={'totalCredits':0x0,'entryCount':0x0});_0x188551['daily'][_0x7943ff][_0x386153(0xc9)]+=_0x3018b8,_0x188551[_0x386153(0xb0)][_0x7943ff][_0x386153(0xd4)]+=0x1;const _0x2fc081=_0x344e16[_0x386153(0xde)]['slice'](0x0,0x7);!_0x188551[_0x386153(0xb3)][_0x2fc081]&&(_0x188551[_0x386153(0xb3)][_0x2fc081]={'totalCredits':0x0,'entryCount':0x0});_0x188551['monthly'][_0x2fc081][_0x386153(0xc9)]+=_0x3018b8,_0x188551[_0x386153(0xb3)][_0x2fc081][_0x386153(0xd4)]+=0x1;const _0x4ad497=_0x344e16[_0x386153(0xc6)]||_0x386153(0xbf);!_0x188551['profiles'][_0x4ad497]&&(_0x188551[_0x386153(0xdb)][_0x4ad497]={'totalCredits':0x0,'entryCount':0x0,'lastUsedAt':'','todayCredits':0x0,'todayDate':_0x7d22da,'monthCredits':0x0,'month':_0x4b7b73});_0x188551[_0x386153(0xdb)][_0x4ad497][_0x386153(0xc9)]+=_0x3018b8,_0x188551[_0x386153(0xdb)][_0x4ad497][_0x386153(0xd4)]+=0x1;_0x344e16[_0x386153(0xde)]>_0x188551['profiles'][_0x4ad497][_0x386153(0xe3)]&&(_0x188551['profiles'][_0x4ad497][_0x386153(0xe3)]=_0x344e16[_0x386153(0xde)]);_0x7943ff===_0x7d22da&&(_0x188551['profiles'][_0x4ad497][_0x386153(0xcb)]+=_0x3018b8);_0x2fc081===_0x4b7b73&&(_0x188551[_0x386153(0xdb)][_0x4ad497][_0x386153(0xae)]+=_0x3018b8);const _0x4ffbc8=_0x344e16['source']||_0x386153(0xec);!_0x188551[_0x386153(0xc1)][_0x4ffbc8]&&(_0x188551[_0x386153(0xc1)][_0x4ffbc8]={'totalCredits':0x0,'entryCount':0x0,'todayCredits':0x0,'todayDate':_0x7d22da,'monthCredits':0x0,'month':_0x4b7b73}),_0x188551[_0x386153(0xc1)][_0x4ffbc8][_0x386153(0xc9)]+=_0x3018b8,_0x188551['sources'][_0x4ffbc8][_0x386153(0xd4)]+=0x1,_0x7943ff===_0x7d22da&&(_0x188551['sources'][_0x4ffbc8][_0x386153(0xcb)]+=_0x3018b8),_0x2fc081===_0x4b7b73&&(_0x188551[_0x386153(0xc1)][_0x4ffbc8][_0x386153(0xae)]+=_0x3018b8);}_0x188551[_0x386153(0xca)][_0xcde4da]={'totalCredits':_0x32e8dc,'latestContextTokensBySignature':_0x56cf80,'createdAt':_0x2bd510[0x0][_0x386153(0xde)],'lastUpdatedAt':_0x4502a2};}catch(_0x42772b){const _0xa12de2=await getLogger();_0xa12de2[_0x386153(0xe8)](_0x386153(0xb2)+_0xcde4da+':',_0x42772b instanceof Error?_0x42772b[_0x386153(0xc5)]:String(_0x42772b));continue;}}return cleanupOldEntries(_0x188551),await writeStatsCache(_0x188551),_0x188551;}function cleanupOldEntries(_0x83dd){const _0x2a9f03=a78_0x38ed,_0x426e18=new Date(),_0x77eddd=new Date(_0x426e18[_0x2a9f03(0xbe)]()-0x7*0x18*0x3c*0x3c*0x3e8);for(const _0x12e80a of Object[_0x2a9f03(0xd9)](_0x83dd['daily'])){new Date(_0x12e80a)<_0x77eddd&&delete _0x83dd['daily'][_0x12e80a];}const _0x5f4808=new Date(_0x426e18[_0x2a9f03(0xb8)]()-0x1,_0x426e18[_0x2a9f03(0xd8)](),0x1);for(const _0x232ed1 of Object[_0x2a9f03(0xd9)](_0x83dd['monthly'])){const [_0x18c376,_0x23be32]=_0x232ed1[_0x2a9f03(0xb5)]('-')[_0x2a9f03(0xa9)](Number),_0x5064b2=new Date(_0x18c376,_0x23be32-0x1,0x1);_0x5064b2<_0x5f4808&&delete _0x83dd[_0x2a9f03(0xb3)][_0x232ed1];}const _0x245dc5=new Date(_0x426e18['getTime']()-0x1e*0x18*0x3c*0x3c*0x3e8);for(const [_0x33c4a5,_0x376b33]of Object[_0x2a9f03(0xd5)](_0x83dd[_0x2a9f03(0xca)])){new Date(_0x376b33[_0x2a9f03(0xe6)])<_0x245dc5&&delete _0x83dd[_0x2a9f03(0xca)][_0x33c4a5];}}export async function getOrUpdateCache(_0xe51c4b){const _0xf00ff0=_0xe51c4b?sanitizeSessionId(_0xe51c4b):undefined,_0x1e01c5=await readStatsCache();if(!_0x1e01c5)return rebuildCache();if(_0xf00ff0){const _0x18915d=await isCacheUpToDate(_0x1e01c5,_0xf00ff0);if(!_0x18915d)return rebuildCache();}return _0x1e01c5;}export async function getSessionCredits(_0x55765e){const _0x22c10f=a78_0x38ed,_0x3bf412=sanitizeSessionId(_0x55765e),_0x3d1a0b=await getOrUpdateCache(_0x3bf412),_0x7b1a6b=_0x3d1a0b[_0x22c10f(0xca)][_0x3bf412];if(!_0x7b1a6b)return 0x0;return _0x7b1a6b[_0x22c10f(0xc9)];}export async function getTodayCredits(){const _0x4075f3=a78_0x38ed,_0x35bc3a=await getOrUpdateCache(),_0x5afb5c=new Date()[_0x4075f3(0xe4)]()[_0x4075f3(0xb7)](0x0,0xa),_0x41b31c=_0x35bc3a[_0x4075f3(0xb0)][_0x5afb5c];if(!_0x41b31c)return 0x0;return _0x41b31c[_0x4075f3(0xc9)];}export async function getMonthCredits(){const _0x40b0b7=a78_0x38ed,_0x4f7c1a=await getOrUpdateCache(),_0x447cad=new Date()[_0x40b0b7(0xe4)]()[_0x40b0b7(0xb7)](0x0,0x7),_0x21c0b3=_0x4f7c1a[_0x40b0b7(0xb3)][_0x447cad];if(!_0x21c0b3)return 0x0;return _0x21c0b3[_0x40b0b7(0xc9)];}export async function getSessionStats(_0x2404a7){const _0x1ae430=a78_0x38ed,_0x4e3c6f=sanitizeSessionId(_0x2404a7),_0x58a767=await getOrUpdateCache(_0x4e3c6f);return _0x58a767[_0x1ae430(0xca)][_0x4e3c6f]||null;}function getMaxLatestContextTokens(_0x1f87a1){const _0x523613=a78_0x38ed,_0x1b4c6c=Object[_0x523613(0xad)](_0x1f87a1);if(_0x1b4c6c[_0x523613(0xac)]===0x0)return 0x0;return Math[_0x523613(0xdc)](..._0x1b4c6c);}export async function getUsageStats(_0x2c41ad,_0x4b5401){const _0x5aa7b=a78_0x38ed,_0xc56722=sanitizeSessionId(_0x2c41ad),_0xe3c4b9=await getOrUpdateCache(_0xc56722),_0x43e403=_0xe3c4b9[_0x5aa7b(0xca)][_0xc56722],_0x69bd61=new Date()['toISOString']()['slice'](0x0,0xa),_0xa550c6=new Date()[_0x5aa7b(0xe4)]()[_0x5aa7b(0xb7)](0x0,0x7);if(_0x4b5401){const _0x35e5ec=_0xe3c4b9[_0x5aa7b(0xdb)]?.[_0x4b5401],_0x39695e=_0x35e5ec?.[_0x5aa7b(0xbd)]===_0x69bd61?_0x35e5ec[_0x5aa7b(0xcb)]:0x0,_0x2c147a=_0x35e5ec?.[_0x5aa7b(0xc3)]===_0xa550c6?_0x35e5ec[_0x5aa7b(0xae)]:0x0;return{'sessionCredits':_0x43e403?_0x43e403['totalCredits']:0x0,'todayCredits':_0x39695e,'monthCredits':_0x2c147a,'latestContextTokens':_0x43e403?getMaxLatestContextTokens(_0x43e403[_0x5aa7b(0xe5)]):0x0};}return{'sessionCredits':_0x43e403?_0x43e403[_0x5aa7b(0xc9)]:0x0,'todayCredits':_0xe3c4b9[_0x5aa7b(0xb0)][_0x69bd61]?_0xe3c4b9[_0x5aa7b(0xb0)][_0x69bd61][_0x5aa7b(0xc9)]:0x0,'monthCredits':_0xe3c4b9[_0x5aa7b(0xb3)][_0xa550c6]?_0xe3c4b9['monthly'][_0xa550c6]['totalCredits']:0x0,'latestContextTokens':_0x43e403?getMaxLatestContextTokens(_0x43e403[_0x5aa7b(0xe5)]):0x0};}export async function getAllProfileStats(){const _0x31f3a9=a78_0x38ed,_0x4dd3ec=await getOrUpdateCache(),_0x4ed9c6=_0x4dd3ec['profiles']||{};return Object['entries'](_0x4ed9c6)['filter'](([,_0xdfcfb2])=>_0xdfcfb2&&typeof _0xdfcfb2===_0x31f3a9(0xab))['map'](([_0x31be2f,_0x4e67ce])=>({'profile':_0x31be2f,'credits':_0x4e67ce[_0x31f3a9(0xc9)]||0x0,'entryCount':_0x4e67ce[_0x31f3a9(0xd4)]||0x0,'lastUsedAt':_0x4e67ce[_0x31f3a9(0xe3)]||''}))[_0x31f3a9(0xc2)]((_0x594b29,_0x4df586)=>_0x4df586[_0x31f3a9(0xe9)]-_0x594b29['credits']);}export async function getAllSourceStats(){const _0x9d824d=a78_0x38ed,_0x2f3d5c=await getOrUpdateCache(),_0x3fb848=_0x2f3d5c[_0x9d824d(0xc1)]||{},_0x28a7c1=new Date()[_0x9d824d(0xe4)]()[_0x9d824d(0xb7)](0x0,0xa),_0x4d8d8f=new Date()['toISOString']()[_0x9d824d(0xb7)](0x0,0x7);return Object[_0x9d824d(0xd5)](_0x3fb848)[_0x9d824d(0xda)](([,_0x3a1557])=>_0x3a1557&&typeof _0x3a1557===_0x9d824d(0xab))['map'](([_0x1828cf,_0x7349a0])=>({'source':_0x1828cf,'credits':_0x7349a0[_0x9d824d(0xc9)]||0x0,'todayCredits':_0x7349a0[_0x9d824d(0xbd)]===_0x28a7c1?_0x7349a0[_0x9d824d(0xcb)]||0x0:0x0,'monthCredits':_0x7349a0[_0x9d824d(0xc3)]===_0x4d8d8f?_0x7349a0[_0x9d824d(0xae)]||0x0:0x0,'entryCount':_0x7349a0[_0x9d824d(0xd4)]||0x0}))[_0x9d824d(0xc2)]((_0x117abc,_0x5e86aa)=>_0x5e86aa['credits']-_0x117abc[_0x9d824d(0xe9)]);}export async function getUsageSummary(){const _0x3a8e01=a78_0x38ed,_0x35a5dd=await getOrUpdateCache(),_0x22d7ef=_0x35a5dd[_0x3a8e01(0xdb)]||{},_0xdf7c36=new Date()['toISOString']()[_0x3a8e01(0xb7)](0x0,0xa),_0x1b07e7=new Date()[_0x3a8e01(0xe4)]()[_0x3a8e01(0xb7)](0x0,0x7),_0x447bbf=Object[_0x3a8e01(0xad)](_0x22d7ef)[_0x3a8e01(0xda)](_0x54d991=>_0x54d991&&typeof _0x54d991==='object'),_0x33bf8b=_0x447bbf[_0x3a8e01(0xc0)]((_0x2e20cb,_0x5ec337)=>_0x2e20cb+(_0x5ec337[_0x3a8e01(0xc9)]||0x0),0x0);return{'todayCredits':_0x35a5dd[_0x3a8e01(0xb0)][_0xdf7c36]?_0x35a5dd[_0x3a8e01(0xb0)][_0xdf7c36]['totalCredits']||0x0:0x0,'monthCredits':_0x35a5dd[_0x3a8e01(0xb3)][_0x1b07e7]?_0x35a5dd[_0x3a8e01(0xb3)][_0x1b07e7][_0x3a8e01(0xc9)]||0x0:0x0,'totalCredits':_0x33bf8b,'profileCount':_0x447bbf[_0x3a8e01(0xac)]};}
|
|
1
|
+
(function(_0x5ad260,_0x43f7af){const _0x321bdb=a78_0x234e,_0x12acf1=_0x5ad260();while(!![]){try{const _0x25d557=parseInt(_0x321bdb(0xba))/0x1+-parseInt(_0x321bdb(0xb5))/0x2*(-parseInt(_0x321bdb(0xc4))/0x3)+parseInt(_0x321bdb(0xb4))/0x4+parseInt(_0x321bdb(0xec))/0x5+parseInt(_0x321bdb(0xcd))/0x6+parseInt(_0x321bdb(0xd9))/0x7+-parseInt(_0x321bdb(0xe8))/0x8;if(_0x25d557===_0x43f7af)break;else _0x12acf1['push'](_0x12acf1['shift']());}catch(_0x4b61d9){_0x12acf1['push'](_0x12acf1['shift']());}}}(a78_0x548d,0x443ad));import{readFile,writeFile,appendFile,mkdir,readdir,stat}from'node:fs/promises';import{existsSync}from'node:fs';import{join,resolve}from'node:path';import{getModelPricing,calculateTokenCost,usdToAiCredits}from'../sdk/llm/model-factors.js';import{TDXLogger,LogLevel}from'../utils/tdx-logger.js';import{getGlobalCacheDir}from'../utils/global-cache.js';let usageLogger=null;async function getLogger(){const _0x26dc21=a78_0x234e;return!usageLogger&&(usageLogger=new TDXLogger(LogLevel['WARN'],!![]),await usageLogger[_0x26dc21(0xd1)]()),usageLogger;}function getUsageDir(){return join(getGlobalCacheDir(),'claude-usage');}function sanitizeSessionId(_0x1d285b){const _0x129da3=a78_0x234e;return _0x1d285b[_0x129da3(0xd5)](/[^a-zA-Z0-9_-]/g,'_');}function getSafeJsonlPath(_0x27f4fd){const _0x1a4ae7=a78_0x234e,_0x365a40=getUsageDir(),_0x58e32c=sanitizeSessionId(_0x27f4fd),_0x43e127=resolve(_0x365a40,_0x58e32c+_0x1a4ae7(0xc7));if(!_0x43e127[_0x1a4ae7(0xc1)](_0x365a40))throw new Error(_0x1a4ae7(0xb6));return _0x43e127;}function getStatsCachePath(){const _0x551b08=a78_0x234e;return join(getUsageDir(),_0x551b08(0xb8));}async function ensureUsageDir(){const _0xecc8d5=getUsageDir();!existsSync(_0xecc8d5)&&await mkdir(_0xecc8d5,{'recursive':!![]});}export async function appendUsageEntry(_0x109621,_0x3d3b06){const _0x3dfa1b=a78_0x234e,_0x95bc4d=sanitizeSessionId(_0x109621);await ensureUsageDir();const _0x159727=getSafeJsonlPath(_0x95bc4d),_0x4580b0=JSON[_0x3dfa1b(0xbc)](_0x3d3b06)+'\x0a';await appendFile(_0x159727,_0x4580b0,_0x3dfa1b(0xcf));}async function readSessionJsonl(_0x5e8090){const _0x478664=a78_0x234e,_0x55c85d=getSafeJsonlPath(_0x5e8090);if(!existsSync(_0x55c85d))return[];try{const _0xbf9edc=await readFile(_0x55c85d,'utf-8'),_0x8f42d8=_0xbf9edc[_0x478664(0xae)]()[_0x478664(0xb3)]('\x0a')['filter'](Boolean);return _0x8f42d8['map'](_0x5c7598=>{const _0x115709=_0x478664;try{return JSON[_0x115709(0xaf)](_0x5c7598);}catch{return null;}})[_0x478664(0xe5)](_0x4168b7=>_0x4168b7!==null);}catch(_0x4b8f03){const _0x1b2174=await getLogger();return _0x1b2174['warn']('Failed\x20to\x20read\x20usage\x20file\x20'+_0x5e8090+_0x478664(0xad),_0x4b8f03 instanceof Error?_0x4b8f03['message']:String(_0x4b8f03)),[];}}function a78_0x234e(_0x3477f8,_0x105e8a){_0x3477f8=_0x3477f8-0xad;const _0x548dd7=a78_0x548d();let _0x234e5b=_0x548dd7[_0x3477f8];return _0x234e5b;}async function getAllSessionFiles(){const _0x491d23=a78_0x234e,_0x5ea921=getUsageDir();if(!existsSync(_0x5ea921))return[];try{const _0x33ad4e=await readdir(_0x5ea921);return _0x33ad4e[_0x491d23(0xe5)](_0x374a4f=>_0x374a4f['endsWith'](_0x491d23(0xc7)))[_0x491d23(0xe6)](_0x7114f7=>_0x7114f7[_0x491d23(0xd5)](_0x491d23(0xc7),''));}catch(_0xf9eb2a){const _0xef7d5b=await getLogger();return _0xef7d5b['warn'](_0x491d23(0xd6),_0xf9eb2a instanceof Error?_0xf9eb2a[_0x491d23(0xc9)]:String(_0xf9eb2a)),[];}}async function readStatsCache(){const _0x307852=a78_0x234e,_0x1b5b7c=getStatsCachePath();if(!existsSync(_0x1b5b7c))return null;try{const _0x2dd733=await readFile(_0x1b5b7c,'utf-8'),_0x4a8649=JSON[_0x307852(0xaf)](_0x2dd733),_0x594777=Object['values'](_0x4a8649[_0x307852(0xb2)]||{})[0x0];if(_0x594777&&_0x307852(0xe4)in _0x594777)return null;return _0x4a8649;}catch{return null;}}async function writeStatsCache(_0x34fd77){const _0x3ba045=a78_0x234e;await ensureUsageDir();const _0x5099eb=getStatsCachePath();await writeFile(_0x5099eb,JSON[_0x3ba045(0xbc)](_0x34fd77,null,0x2),_0x3ba045(0xcf));}async function isCacheUpToDate(_0x2133c2,_0x38f45a){const _0x548c23=a78_0x234e,_0x46eb6c=_0x2133c2[_0x548c23(0xb2)][_0x38f45a];if(!_0x46eb6c)return![];const _0x410b71=getSafeJsonlPath(_0x38f45a);if(!existsSync(_0x410b71))return!![];try{const _0x172416=await stat(_0x410b71),_0x1d3a97=new Date(_0x46eb6c['lastUpdatedAt'])[_0x548c23(0xb7)](),_0xdce587=_0x172416[_0x548c23(0xdb)][_0x548c23(0xb7)]();return _0x1d3a97>_0xdce587;}catch{return![];}}export async function rebuildCache(){const _0x3e4e64=a78_0x234e,_0x55e7eb=new Date(),_0x31f400=_0x55e7eb[_0x3e4e64(0xd8)]()[_0x3e4e64(0xce)](0x0,0xa),_0x241345=_0x55e7eb[_0x3e4e64(0xd8)]()[_0x3e4e64(0xce)](0x0,0x7),_0x15aac0={'daily':{},'monthly':{},'sessions':{},'profiles':{},'sources':{},'lastRebuiltAt':_0x55e7eb[_0x3e4e64(0xd8)]()},_0x174256=await getAllSessionFiles();for(const _0x4602c4 of _0x174256){try{const _0x5706db=await readSessionJsonl(_0x4602c4);if(_0x5706db[_0x3e4e64(0xc6)]===0x0)continue;let _0x2c814c=0x0;const _0x3bfea0={};let _0xc5e89e='';for(const _0x1a2894 of _0x5706db){const _0x415f49=_0x1a2894[_0x3e4e64(0xdc)]??0x0,_0x3b9d2d=_0x1a2894[_0x3e4e64(0xb9)]??0x0,_0x2bc7ef=_0x1a2894[_0x3e4e64(0xb0)]+_0x415f49+_0x3b9d2d,_0xb6cbe2=getModelPricing(_0x1a2894[_0x3e4e64(0xc2)],_0x2bc7ef),_0x3d1a3e=calculateTokenCost(_0x1a2894[_0x3e4e64(0xb0)],_0x1a2894[_0x3e4e64(0xde)],_0x415f49,_0x3b9d2d,_0xb6cbe2),_0x5579b0=usdToAiCredits(_0x3d1a3e);_0x2c814c+=_0x5579b0;const _0xe693db=_0x1a2894[_0x3e4e64(0xbd)]||_0x3e4e64(0xca);_0x3bfea0[_0xe693db]=_0x2bc7ef;_0x1a2894[_0x3e4e64(0xcb)]>_0xc5e89e&&(_0xc5e89e=_0x1a2894[_0x3e4e64(0xcb)]);const _0x6ed981=_0x1a2894['timestamp'][_0x3e4e64(0xce)](0x0,0xa);!_0x15aac0['daily'][_0x6ed981]&&(_0x15aac0[_0x3e4e64(0xc5)][_0x6ed981]={'totalCredits':0x0,'entryCount':0x0});_0x15aac0['daily'][_0x6ed981]['totalCredits']+=_0x5579b0,_0x15aac0[_0x3e4e64(0xc5)][_0x6ed981]['entryCount']+=0x1;const _0xdf985f=_0x1a2894['timestamp'][_0x3e4e64(0xce)](0x0,0x7);!_0x15aac0[_0x3e4e64(0xdd)][_0xdf985f]&&(_0x15aac0[_0x3e4e64(0xdd)][_0xdf985f]={'totalCredits':0x0,'entryCount':0x0});_0x15aac0['monthly'][_0xdf985f][_0x3e4e64(0xd0)]+=_0x5579b0,_0x15aac0[_0x3e4e64(0xdd)][_0xdf985f]['entryCount']+=0x1;const _0x49a426=_0x1a2894[_0x3e4e64(0xb1)]||_0x3e4e64(0xca);!_0x15aac0[_0x3e4e64(0xbe)][_0x49a426]&&(_0x15aac0['profiles'][_0x49a426]={'totalCredits':0x0,'entryCount':0x0,'lastUsedAt':'','todayCredits':0x0,'todayDate':_0x31f400,'monthCredits':0x0,'month':_0x241345});_0x15aac0[_0x3e4e64(0xbe)][_0x49a426]['totalCredits']+=_0x5579b0,_0x15aac0[_0x3e4e64(0xbe)][_0x49a426]['entryCount']+=0x1;_0x1a2894[_0x3e4e64(0xcb)]>_0x15aac0['profiles'][_0x49a426][_0x3e4e64(0xeb)]&&(_0x15aac0['profiles'][_0x49a426][_0x3e4e64(0xeb)]=_0x1a2894[_0x3e4e64(0xcb)]);_0x6ed981===_0x31f400&&(_0x15aac0[_0x3e4e64(0xbe)][_0x49a426][_0x3e4e64(0xe7)]+=_0x5579b0);_0xdf985f===_0x241345&&(_0x15aac0[_0x3e4e64(0xbe)][_0x49a426][_0x3e4e64(0xdf)]+=_0x5579b0);const _0x504a0a=_0x1a2894[_0x3e4e64(0xcc)]||_0x3e4e64(0xd4);!_0x15aac0[_0x3e4e64(0xd3)][_0x504a0a]&&(_0x15aac0[_0x3e4e64(0xd3)][_0x504a0a]={'totalCredits':0x0,'entryCount':0x0,'todayCredits':0x0,'todayDate':_0x31f400,'monthCredits':0x0,'month':_0x241345}),_0x15aac0[_0x3e4e64(0xd3)][_0x504a0a]['totalCredits']+=_0x5579b0,_0x15aac0[_0x3e4e64(0xd3)][_0x504a0a][_0x3e4e64(0xe2)]+=0x1,_0x6ed981===_0x31f400&&(_0x15aac0['sources'][_0x504a0a]['todayCredits']+=_0x5579b0),_0xdf985f===_0x241345&&(_0x15aac0['sources'][_0x504a0a]['monthCredits']+=_0x5579b0);}_0x15aac0[_0x3e4e64(0xb2)][_0x4602c4]={'totalCredits':_0x2c814c,'latestContextTokensBySignature':_0x3bfea0,'createdAt':_0x5706db[0x0]['timestamp'],'lastUpdatedAt':_0xc5e89e};}catch(_0x5508ed){const _0x1df2c6=await getLogger();_0x1df2c6[_0x3e4e64(0xbf)](_0x3e4e64(0xe1)+_0x4602c4+':',_0x5508ed instanceof Error?_0x5508ed[_0x3e4e64(0xc9)]:String(_0x5508ed));continue;}}return cleanupOldEntries(_0x15aac0),await writeStatsCache(_0x15aac0),_0x15aac0;}function cleanupOldEntries(_0x197b52){const _0x374085=a78_0x234e,_0x47a8de=new Date(),_0x1c3330=new Date(_0x47a8de[_0x374085(0xb7)]()-0x7*0x18*0x3c*0x3c*0x3e8);for(const _0x2ebc0e of Object[_0x374085(0xbb)](_0x197b52['daily'])){new Date(_0x2ebc0e)<_0x1c3330&&delete _0x197b52[_0x374085(0xc5)][_0x2ebc0e];}const _0x384304=new Date(_0x47a8de['getFullYear']()-0x1,_0x47a8de[_0x374085(0xc3)](),0x1);for(const _0x29a48b of Object[_0x374085(0xbb)](_0x197b52[_0x374085(0xdd)])){const [_0x4eac53,_0x2ac4fd]=_0x29a48b[_0x374085(0xb3)]('-')['map'](Number),_0x1ab6c3=new Date(_0x4eac53,_0x2ac4fd-0x1,0x1);_0x1ab6c3<_0x384304&&delete _0x197b52[_0x374085(0xdd)][_0x29a48b];}const _0xa5a9d4=new Date(_0x47a8de['getTime']()-0x1e*0x18*0x3c*0x3c*0x3e8);for(const [_0x4a4b41,_0x5dc4d4]of Object[_0x374085(0xea)](_0x197b52[_0x374085(0xb2)])){new Date(_0x5dc4d4[_0x374085(0xe0)])<_0xa5a9d4&&delete _0x197b52[_0x374085(0xb2)][_0x4a4b41];}}export async function getOrUpdateCache(_0x164e9a){const _0x3b7ea1=_0x164e9a?sanitizeSessionId(_0x164e9a):undefined,_0x59f55d=await readStatsCache();if(!_0x59f55d)return rebuildCache();if(_0x3b7ea1){const _0x3a9802=await isCacheUpToDate(_0x59f55d,_0x3b7ea1);if(!_0x3a9802)return rebuildCache();}return _0x59f55d;}export async function getSessionCredits(_0x3a14dc){const _0x56b413=a78_0x234e,_0x2d2414=sanitizeSessionId(_0x3a14dc),_0x13e5c3=await getOrUpdateCache(_0x2d2414),_0x491cff=_0x13e5c3['sessions'][_0x2d2414];if(!_0x491cff)return 0x0;return _0x491cff[_0x56b413(0xd0)];}export async function getTodayCredits(){const _0x23572f=a78_0x234e,_0x157f77=await getOrUpdateCache(),_0x451151=new Date()[_0x23572f(0xd8)]()[_0x23572f(0xce)](0x0,0xa),_0x1f8891=_0x157f77[_0x23572f(0xc5)][_0x451151];if(!_0x1f8891)return 0x0;return _0x1f8891[_0x23572f(0xd0)];}export async function getMonthCredits(){const _0x29b290=a78_0x234e,_0x5658bf=await getOrUpdateCache(),_0x5e5b88=new Date()[_0x29b290(0xd8)]()[_0x29b290(0xce)](0x0,0x7),_0x297863=_0x5658bf[_0x29b290(0xdd)][_0x5e5b88];if(!_0x297863)return 0x0;return _0x297863[_0x29b290(0xd0)];}export async function getSessionStats(_0x389865){const _0x4e6a5e=a78_0x234e,_0x295b27=sanitizeSessionId(_0x389865),_0xc31c9d=await getOrUpdateCache(_0x295b27);return _0xc31c9d[_0x4e6a5e(0xb2)][_0x295b27]||null;}function a78_0x548d(){const _0x5a5c89=['entryCount','values','totalChatUnits','filter','map','todayCredits','12317360YFboJJ','reduce','entries','lastUsedAt','409100tttOZS','.jsonl:','trim','parse','inputTokens','profile','sessions','split','1677560nTxHug','746144JFBkge','Invalid\x20session\x20ID:\x20path\x20traversal\x20detected','getTime','stats-cache.json','cacheReadInputTokens','17266xcERZu','keys','stringify','contextSignature','profiles','warn','sort','startsWith','model','getMonth','3Dfsaea','daily','length','.jsonl','todayDate','message','default','timestamp','source','2219652ecaKbC','slice','utf-8','totalCredits','init','object','sources','tdx-claude','replace','Failed\x20to\x20read\x20usage\x20directory:','credits','toISOString','3903543DWALXx','latestContextTokensBySignature','mtime','cacheCreationInputTokens','monthly','outputTokens','monthCredits','lastUpdatedAt','Failed\x20to\x20process\x20session\x20'];a78_0x548d=function(){return _0x5a5c89;};return a78_0x548d();}function getMaxLatestContextTokens(_0x10098c){const _0xb6b3fd=a78_0x234e,_0x1eadce=Object[_0xb6b3fd(0xe3)](_0x10098c);if(_0x1eadce[_0xb6b3fd(0xc6)]===0x0)return 0x0;return Math['max'](..._0x1eadce);}export async function getUsageStats(_0xfae638,_0x28f290){const _0x684caf=a78_0x234e,_0x3be45e=sanitizeSessionId(_0xfae638),_0xb6bac=await getOrUpdateCache(_0x3be45e),_0x358fe7=_0xb6bac[_0x684caf(0xb2)][_0x3be45e],_0x1c7ee7=new Date()['toISOString']()[_0x684caf(0xce)](0x0,0xa),_0x3beb2d=new Date()[_0x684caf(0xd8)]()['slice'](0x0,0x7);if(_0x28f290){const _0x33cbdd=_0xb6bac[_0x684caf(0xbe)]?.[_0x28f290],_0x39cb5a=_0x33cbdd?.[_0x684caf(0xc8)]===_0x1c7ee7?_0x33cbdd[_0x684caf(0xe7)]:0x0,_0x5f5721=_0x33cbdd?.['month']===_0x3beb2d?_0x33cbdd[_0x684caf(0xdf)]:0x0;return{'sessionCredits':_0x358fe7?_0x358fe7['totalCredits']:0x0,'todayCredits':_0x39cb5a,'monthCredits':_0x5f5721,'latestContextTokens':_0x358fe7?getMaxLatestContextTokens(_0x358fe7[_0x684caf(0xda)]):0x0};}return{'sessionCredits':_0x358fe7?_0x358fe7[_0x684caf(0xd0)]:0x0,'todayCredits':_0xb6bac['daily'][_0x1c7ee7]?_0xb6bac[_0x684caf(0xc5)][_0x1c7ee7][_0x684caf(0xd0)]:0x0,'monthCredits':_0xb6bac['monthly'][_0x3beb2d]?_0xb6bac[_0x684caf(0xdd)][_0x3beb2d][_0x684caf(0xd0)]:0x0,'latestContextTokens':_0x358fe7?getMaxLatestContextTokens(_0x358fe7[_0x684caf(0xda)]):0x0};}export async function getAllProfileStats(){const _0x2a834c=a78_0x234e,_0x25d3c3=await getOrUpdateCache(),_0x593313=_0x25d3c3['profiles']||{};return Object[_0x2a834c(0xea)](_0x593313)['filter'](([,_0x2a1b6b])=>_0x2a1b6b&&typeof _0x2a1b6b===_0x2a834c(0xd2))[_0x2a834c(0xe6)](([_0x3de9d5,_0x394032])=>({'profile':_0x3de9d5,'credits':_0x394032[_0x2a834c(0xd0)]||0x0,'entryCount':_0x394032[_0x2a834c(0xe2)]||0x0,'lastUsedAt':_0x394032[_0x2a834c(0xeb)]||''}))[_0x2a834c(0xc0)]((_0x8288fe,_0x45d098)=>_0x45d098['credits']-_0x8288fe[_0x2a834c(0xd7)]);}export async function getAllSourceStats(){const _0x5d4910=a78_0x234e,_0x494886=await getOrUpdateCache(),_0x36e4d8=_0x494886[_0x5d4910(0xd3)]||{},_0x11d549=new Date()['toISOString']()['slice'](0x0,0xa),_0x335f8a=new Date()[_0x5d4910(0xd8)]()[_0x5d4910(0xce)](0x0,0x7);return Object[_0x5d4910(0xea)](_0x36e4d8)[_0x5d4910(0xe5)](([,_0x5c6083])=>_0x5c6083&&typeof _0x5c6083==='object')['map'](([_0x26cec4,_0x3c9c62])=>({'source':_0x26cec4,'credits':_0x3c9c62['totalCredits']||0x0,'todayCredits':_0x3c9c62[_0x5d4910(0xc8)]===_0x11d549?_0x3c9c62[_0x5d4910(0xe7)]||0x0:0x0,'monthCredits':_0x3c9c62['month']===_0x335f8a?_0x3c9c62[_0x5d4910(0xdf)]||0x0:0x0,'entryCount':_0x3c9c62[_0x5d4910(0xe2)]||0x0}))[_0x5d4910(0xc0)]((_0x185f9f,_0x2b558d)=>_0x2b558d[_0x5d4910(0xd7)]-_0x185f9f[_0x5d4910(0xd7)]);}export async function getUsageSummary(){const _0x150b2a=a78_0x234e,_0x550d09=await getOrUpdateCache(),_0x3c51d3=_0x550d09[_0x150b2a(0xbe)]||{},_0x3a626b=new Date()[_0x150b2a(0xd8)]()[_0x150b2a(0xce)](0x0,0xa),_0x14ecc6=new Date()['toISOString']()['slice'](0x0,0x7),_0x5e8953=Object[_0x150b2a(0xe3)](_0x3c51d3)[_0x150b2a(0xe5)](_0x1f6145=>_0x1f6145&&typeof _0x1f6145==='object'),_0x552ec5=_0x5e8953[_0x150b2a(0xe9)]((_0x14ec8a,_0x7a0df3)=>_0x14ec8a+(_0x7a0df3[_0x150b2a(0xd0)]||0x0),0x0);return{'todayCredits':_0x550d09[_0x150b2a(0xc5)][_0x3a626b]?_0x550d09[_0x150b2a(0xc5)][_0x3a626b][_0x150b2a(0xd0)]||0x0:0x0,'monthCredits':_0x550d09[_0x150b2a(0xdd)][_0x14ecc6]?_0x550d09[_0x150b2a(0xdd)][_0x14ecc6][_0x150b2a(0xd0)]||0x0:0x0,'totalCredits':_0x552ec5,'profileCount':_0x5e8953[_0x150b2a(0xc6)]};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a79_0x47f10f=a79_0x160e;(function(_0x1afe38,_0x1b07b8){const _0x4ad315=a79_0x160e,_0x11289d=_0x1afe38();while(!![]){try{const _0x2cb7fa=-parseInt(_0x4ad315(0x115))/0x1+parseInt(_0x4ad315(0xba))/0x2+parseInt(_0x4ad315(0xee))/0x3*(parseInt(_0x4ad315(0xb0))/0x4)+-parseInt(_0x4ad315(0x103))/0x5+-parseInt(_0x4ad315(0xc3))/0x6*(parseInt(_0x4ad315(0x10e))/0x7)+-parseInt(_0x4ad315(0xcf))/0x8+parseInt(_0x4ad315(0xad))/0x9;if(_0x2cb7fa===_0x1b07b8)break;else _0x11289d['push'](_0x11289d['shift']());}catch(_0x336d98){_0x11289d['push'](_0x11289d['shift']());}}}(a79_0x3d3a,0x5087f));import a79_0x474133 from'fastify';import a79_0x27f5d9 from'@fastify/cors';import{SSEUsageTracker}from'./sse-usage-parser.js';import{appendUsageEntry}from'./claude-usage-tracker.js';import{getVersion}from'../core/version.js';import{isExperimentalAvailable}from'../core/config.js';import{refreshAccessToken}from'../sdk/client/oauth-refresh.js';import{saveOAuthTokens}from'../core/oauth-keychain.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\x20AI\x20and\x20CDP.\x0a\x0aFor\x20Treasure\x20AI\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'+(isExperimentalAvailable()?a79_0x47f10f(0x8c):'')+a79_0x47f10f(0xf6);function extractSessionUUID(_0x480f15){const _0x52693e=_0x480f15['match'](/_session_([a-f0-9-]+)$/i);if(_0x52693e)return _0x52693e[0x1];return _0x480f15;}export function injectSystemPrompt(_0x125fa3,_0x4ef61f){const _0x336bf0=a79_0x47f10f,_0x3efd57=_0x125fa3[_0x336bf0(0xe4)];if(!_0x3efd57)return{..._0x125fa3,'system':_0x4ef61f};if(typeof _0x3efd57===_0x336bf0(0xfb))return{..._0x125fa3,'system':_0x3efd57+'\x0a\x0a'+_0x4ef61f};if(Array[_0x336bf0(0xf7)](_0x3efd57)){const _0xc4a122={'type':_0x336bf0(0x96),'text':_0x4ef61f};return{..._0x125fa3,'system':[..._0x3efd57,_0xc4a122]};}return _0x125fa3;}function a79_0x160e(_0x56d4c0,_0x2c682e){_0x56d4c0=_0x56d4c0-0x7e;const _0x3d3af2=a79_0x3d3a();let _0x160eb2=_0x3d3af2[_0x56d4c0];return _0x160eb2;}function a79_0x3d3a(){const _0x19bfa6=['8598munwnO','[PASSTHROUGH]\x20Forwarding\x20count_tokens\x20to:\x20','[PASSTHROUGH]\x20Upstream\x20error:\x20',',\x20cache_create=','/v1/messages/count_tokens',',\x20output=','content-length','toLowerCase','Content-Type','host','tdx/','setupRoutes','3264656FHmyAf','startPort','127.0.0.1','TimeoutError','timeout','access_token','outputTokens','cache_creation_input_tokens','max_tokens','stop','Authorization','TD1\x20','application/json','messages','type','join','Unknown\x20error','message','name','setErrorHandler','user-agent','system','logger','read','includes','accessToken','EADDRINUSE','User-Agent','parse','authorization','handleMessages','3ZVWotG','slice','writeHead','config','tdx','getReader','X-TD-Client-Version','createServer','|\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|','isArray','now','write','getUsage','string','x-td-','[PASSTHROUGH]\x20Stream\x20error:','Server\x20has\x20not\x20been\x20started\x20yet','[PASSTHROUGH\x20PROXY\x20ERROR]:','Failed\x20to\x20connect\x20to\x20TD\x20LLM\x20Proxy:\x20','setupJsonParser',',\x20stream=','2211370chXlms','handleCountTokens','timeoutMs','auth','refreshTimer','x-api-key','buildForwardHeaders','Stream\x20interrupted','profile','tdx-claude','code','1939eBTbZU','TD\x20LLM\x20Pass-through\x20Proxy\x20Server','SKIP_HEADERS','llmProxyUrl','/health','metadata','debug','338863TiKdcu','cacheCreationInputTokens','timeout_error','post','flush','method','close','[PASSTHROUGH]\x20Usage:\x20input=','connection','Port\x20','headers','[PASSTHROUGH]\x20Failed\x20to\x20log\x20usage:','info','text/event-stream','expires_at','|\x20Debug\x20agent\x20issues\x20|\x20tdx-skills:agent-debug\x20|\x0a','keep-alive','user_id','server','error','unknown','inputTokens','OPTIONS','logUsage','unref','text','startTokenRefreshTimer','oauth','entries','send',',\x20cache_read=','body','processChunk','indexOf','get','status','refreshTokenIfNeeded','POST','http://127.0.0.1:','raw','/v1/messages','statusText','port','[PASSTHROUGH]\x20OAuth\x20token\x20refreshed\x20successfully','setupMiddleware','model','getAddress','[PASSTHROUGH]\x20','13624758tivbOh','usage','Forwarding\x20to:\x20','592916viSMti','\x20and\x20','url','_boundPort','stringify','input_tokens','header','expiresAt','Request\x20to\x20TD\x20LLM\x20Proxy\x20timed\x20out\x20after\x20','handleStreamingResponse','507848nPUkjN','refreshToken','number','event:\x20error\x0adata:\x20','start',':\x20messages=','api_error','register','Error\x20body:\x20'];a79_0x3d3a=function(){return _0x19bfa6;};return a79_0x3d3a();}export function shouldInjectSystemPrompt(_0x22d272){const _0x35d55d=a79_0x47f10f;return!_0x22d272['toLowerCase']()[_0x35d55d(0xe7)]('haiku');}const MIN_REASONING_MAX_TOKENS=0x7d00;export function isOpenAIReasoningModel(_0x30f2b9){const _0x5deb92=_0x30f2b9['toLowerCase']();return/^gpt-5(\.\d+)?(-(mini|nano|pro))?(-\d{4}-\d{2}-\d{2})?$/['test'](_0x5deb92);}export function padMaxTokensForReasoningModel(_0x461874,_0x507bd4){const _0x36d91c=a79_0x47f10f;if(!isOpenAIReasoningModel(_0x507bd4))return _0x461874;const _0x5f2a49=typeof _0x461874[_0x36d91c(0xd7)]===_0x36d91c(0xbc)?_0x461874[_0x36d91c(0xd7)]:0x0;if(_0x5f2a49>=MIN_REASONING_MAX_TOKENS)return _0x461874;return{..._0x461874,'max_tokens':MIN_REASONING_MAX_TOKENS};}export function requestsStream(_0x433f15){return _0x433f15['stream']===!![];}const TOKEN_REFRESH_INTERVAL_MS=0x5*0x3c*0x3e8,TOKEN_EXPIRY_BUFFER_MS=0x5*0x3c*0x3e8;export class PassThroughProxyServer{[a79_0x47f10f(0x8f)];[a79_0x47f10f(0xf1)];[a79_0x47f10f(0xe5)];['_boundPort'];[a79_0x47f10f(0x107)];constructor(_0x2c60ca){const _0x2fa7be=a79_0x47f10f;this[_0x2fa7be(0xf1)]=_0x2c60ca,this[_0x2fa7be(0xe5)]=_0x2c60ca['logger'],this[_0x2fa7be(0x8f)]=this[_0x2fa7be(0xf5)]();}get[a79_0x47f10f(0xa7)](){const _0x994bd5=a79_0x47f10f;if(this['_boundPort']===undefined)throw new Error(_0x994bd5(0xfe));return this[_0x994bd5(0xb3)];}[a79_0x47f10f(0xf5)](){const _0x37caef=a79_0x47f10f,_0x294455=a79_0x474133({'logger':![],'bodyLimit':0x40*0x400*0x400});return this[_0x37caef(0x8f)]=_0x294455,this[_0x37caef(0x101)](),this[_0x37caef(0xa9)](),this[_0x37caef(0xce)](),_0x294455;}[a79_0x47f10f(0x101)](){const _0x7c2cb5=a79_0x47f10f;this[_0x7c2cb5(0x8f)]['addContentTypeParser'](_0x7c2cb5(0xdb),{'parseAs':'string'},(_0xddc7f3,_0xc87f2c,_0x24b09a)=>{const _0x208626=_0x7c2cb5;try{const _0x31f572=JSON[_0x208626(0xeb)](_0xc87f2c);_0x24b09a(null,_0x31f572);}catch(_0x346b5b){_0x24b09a(_0x346b5b,undefined);}});}[a79_0x47f10f(0xa9)](){const _0x218fc2=a79_0x47f10f;this[_0x218fc2(0x8f)][_0x218fc2(0xc1)](a79_0x27f5d9,{'origin':!![],'methods':['GET',_0x218fc2(0xa2),_0x218fc2(0x93)],'allowedHeaders':['Content-Type',_0x218fc2(0xd9),'anthropic-version',_0x218fc2(0x108)]}),this[_0x218fc2(0x8f)][_0x218fc2(0xe2)]((_0x1dedd7,_0x4fff23,_0x51eb07)=>{const _0x3fbc23=_0x218fc2,_0x52e0c9=_0x1dedd7 instanceof Error?_0x1dedd7[_0x3fbc23(0xe0)]:'Unknown\x20error';this[_0x3fbc23(0xe5)][_0x3fbc23(0x90)](_0x3fbc23(0xff),_0x1dedd7),_0x51eb07[_0x3fbc23(0x10d)](0x1f4)[_0x3fbc23(0x9a)]({'type':'error','error':{'type':_0x3fbc23(0xc0),'message':_0x52e0c9}});});}[a79_0x47f10f(0xce)](){const _0x38c5c5=a79_0x47f10f;this[_0x38c5c5(0x8f)]['get'](_0x38c5c5(0x112),async()=>{const _0x481e81=_0x38c5c5;return{'status':'ok','message':_0x481e81(0x10f)};}),this[_0x38c5c5(0x8f)][_0x38c5c5(0x80)](_0x38c5c5(0xa5),async(_0x4ad8c4,_0x3ecb8b)=>{const _0x1933ae=_0x38c5c5;return this[_0x1933ae(0xed)](_0x4ad8c4,_0x3ecb8b);}),this[_0x38c5c5(0x8f)][_0x38c5c5(0x80)](_0x38c5c5(0xc7),async(_0x2d7081,_0x40c227)=>{const _0xe57027=_0x38c5c5;return this[_0xe57027(0x104)](_0x2d7081,_0x40c227);});}static [a79_0x47f10f(0x110)]=new Set([a79_0x47f10f(0xcc),a79_0x47f10f(0x85),a79_0x47f10f(0xc9),'transfer-encoding',a79_0x47f10f(0xec),a79_0x47f10f(0x108),a79_0x47f10f(0xe3)]);[a79_0x47f10f(0x109)](_0x24577a){const _0x1df222=a79_0x47f10f,_0x22ad11={};for(const [_0x35aed8,_0x277e0a]of Object[_0x1df222(0x99)](_0x24577a[_0x1df222(0x87)])){const _0x63e97e=_0x35aed8[_0x1df222(0xca)]();if(PassThroughProxyServer['SKIP_HEADERS']['has'](_0x63e97e))continue;if(_0x63e97e['startsWith'](_0x1df222(0xfc)))continue;if(typeof _0x277e0a==='string')_0x22ad11[_0x35aed8]=_0x277e0a;else Array[_0x1df222(0xf7)](_0x277e0a)&&(_0x22ad11[_0x35aed8]=_0x277e0a[_0x1df222(0xde)](',\x20'));}const _0x466b2=getVersion(),{auth:_0x137602}=this[_0x1df222(0xf1)];return _0x22ad11[_0x1df222(0xd9)]=_0x137602[_0x1df222(0xdd)]===_0x1df222(0x98)?'Bearer\x20'+_0x137602['accessToken']:_0x1df222(0xda)+_0x137602['apiKey'],_0x22ad11[_0x1df222(0xea)]=_0x1df222(0xcd)+_0x466b2,_0x22ad11['X-TD-Client']=_0x1df222(0xf2),_0x22ad11[_0x1df222(0xf4)]=_0x466b2,_0x22ad11;}async[a79_0x47f10f(0xed)](_0x3b2fcc,_0x1b2450){const _0x17af4d=a79_0x47f10f,_0xd7bc2f=_0x3b2fcc[_0x17af4d(0x9c)],_0x1f20e9=requestsStream(_0xd7bc2f),_0x37ef0a=_0xd7bc2f[_0x17af4d(0x113)],_0x3f80c4=_0x37ef0a?.[_0x17af4d(0x8e)]||'default',_0xcfca40=extractSessionUUID(_0x3f80c4),_0x590e79=_0xd7bc2f['model']||_0x17af4d(0x91),_0x4eb8df=shouldInjectSystemPrompt(_0x590e79)?injectSystemPrompt(_0xd7bc2f,TDX_SYSTEM_PROMPT):_0xd7bc2f,_0x2aa56a=padMaxTokensForReasoningModel(_0x4eb8df,_0x590e79),_0xbb6a87=JSON['stringify'](_0x2aa56a),_0x3a5f8d=Array[_0x17af4d(0xf7)](_0xd7bc2f[_0x17af4d(0xdc)])?_0xd7bc2f['messages']['length']:0x0;this[_0x17af4d(0xe5)]['info'](_0x17af4d(0xac)+_0x3b2fcc[_0x17af4d(0x82)]+'\x20'+_0x3b2fcc[_0x17af4d(0xb2)]+_0x17af4d(0xbf)+_0x3a5f8d+',\x20model='+_0x590e79+_0x17af4d(0x102)+_0x1f20e9);const _0x563424=_0x3b2fcc[_0x17af4d(0xb2)][_0x17af4d(0xe7)]('?')?_0x3b2fcc[_0x17af4d(0xb2)][_0x17af4d(0xef)](_0x3b2fcc[_0x17af4d(0xb2)][_0x17af4d(0x9e)]('?')):'',_0x40142e=this[_0x17af4d(0xf1)][_0x17af4d(0x111)]+_0x17af4d(0xa5)+_0x563424,_0x44c808=this['buildForwardHeaders'](_0x3b2fcc);this[_0x17af4d(0xe5)]['debug'](_0x17af4d(0xaf)+_0x40142e);const _0x39678c=this['config'][_0x17af4d(0x105)]||DEFAULT_TIMEOUT_MS;try{const _0x4ae14f=await fetch(_0x40142e,{'method':'POST','headers':_0x44c808,'body':_0xbb6a87,'signal':AbortSignal['timeout'](_0x39678c)});if(!_0x4ae14f['ok']){const _0x38eefa=await _0x4ae14f[_0x17af4d(0x96)]();return this['logger'][_0x17af4d(0x90)](_0x17af4d(0xc5)+_0x4ae14f[_0x17af4d(0xa0)]+'\x20'+_0x4ae14f[_0x17af4d(0xa6)]),this[_0x17af4d(0xe5)]['debug'](_0x17af4d(0xc2)+_0x38eefa),_0x1b2450[_0x17af4d(0x10d)](_0x4ae14f[_0x17af4d(0xa0)]),_0x1b2450['header'](_0x17af4d(0xcb),_0x4ae14f[_0x17af4d(0x87)][_0x17af4d(0x9f)](_0x17af4d(0xcb))||'application/json'),_0x1b2450[_0x17af4d(0x9a)](_0x38eefa);}if(_0x1f20e9&&_0x4ae14f[_0x17af4d(0x9c)])await this['handleStreamingResponse'](_0x4ae14f['body'],_0x1b2450,_0xcfca40,_0x590e79);else{const _0x2c03e3=await _0x4ae14f['text']();_0x1b2450[_0x17af4d(0xb6)](_0x17af4d(0xcb),_0x4ae14f[_0x17af4d(0x87)][_0x17af4d(0x9f)](_0x17af4d(0xcb))||_0x17af4d(0xdb));try{const _0x335353=JSON['parse'](_0x2c03e3);_0x335353[_0x17af4d(0xae)]&&await this[_0x17af4d(0x94)](_0xcfca40,_0x590e79,_0x335353['usage'][_0x17af4d(0xb5)]||0x0,_0x335353[_0x17af4d(0xae)]['output_tokens']||0x0,_0x335353[_0x17af4d(0xae)][_0x17af4d(0xd6)],_0x335353[_0x17af4d(0xae)]['cache_read_input_tokens']);}catch{}return _0x1b2450[_0x17af4d(0x9a)](_0x2c03e3);}}catch(_0x451906){const _0x5b7e7a=_0x451906 instanceof Error?_0x451906['message']:_0x17af4d(0xdf),_0x5e62c2=_0x451906 instanceof Error&&_0x451906[_0x17af4d(0xe1)]===_0x17af4d(0xd2);this[_0x17af4d(0xe5)][_0x17af4d(0x90)]('[PASSTHROUGH]\x20Failed\x20to\x20forward\x20request:',_0x451906),_0x1b2450[_0x17af4d(0x10d)](_0x5e62c2?0x1f8:0x1f7)['send']({'type':'error','error':{'type':_0x5e62c2?_0x17af4d(0x7f):_0x17af4d(0xc0),'message':_0x5e62c2?_0x17af4d(0xb8)+_0x39678c+'ms':_0x17af4d(0x100)+_0x5b7e7a}});}}async[a79_0x47f10f(0xb9)](_0x1e537e,_0x4473bb,_0x258ee8,_0x2c9a8a){const _0x18b55a=a79_0x47f10f;_0x4473bb[_0x18b55a(0xa4)][_0x18b55a(0xf0)](0xc8,{'Content-Type':_0x18b55a(0x8a),'Cache-Control':'no-cache','Connection':_0x18b55a(0x8d)});const _0x1571ef=new SSEUsageTracker(),_0x3a8fef=_0x1e537e[_0x18b55a(0xf3)](),_0x2e8180=new TextDecoder();try{while(!![]){const {done:_0x1c997b,value:_0x2b85c6}=await _0x3a8fef[_0x18b55a(0xe6)]();if(_0x1c997b)break;const _0x2bd73f=_0x2e8180['decode'](_0x2b85c6,{'stream':!![]});_0x1571ef[_0x18b55a(0x9d)](_0x2bd73f),_0x4473bb[_0x18b55a(0xa4)]['write'](_0x2bd73f);}_0x1571ef[_0x18b55a(0x81)]();const _0x3b66ba=_0x1571ef[_0x18b55a(0xfa)]();(_0x3b66ba[_0x18b55a(0x92)]>0x0||_0x3b66ba[_0x18b55a(0xd5)]>0x0)&&await this[_0x18b55a(0x94)](_0x258ee8,_0x2c9a8a,_0x3b66ba[_0x18b55a(0x92)],_0x3b66ba[_0x18b55a(0xd5)],_0x3b66ba[_0x18b55a(0x7e)],_0x3b66ba['cacheReadInputTokens']);}catch(_0x503bf0){this[_0x18b55a(0xe5)][_0x18b55a(0x90)](_0x18b55a(0xfd),_0x503bf0);const _0x5c29bc=_0x18b55a(0xbd)+JSON['stringify']({'type':_0x18b55a(0x90),'error':{'type':'stream_error','message':_0x18b55a(0x10a)}})+'\x0a\x0a';_0x4473bb[_0x18b55a(0xa4)][_0x18b55a(0xf9)](_0x5c29bc);}finally{_0x4473bb[_0x18b55a(0xa4)]['end']();}}async['handleCountTokens'](_0x32623d,_0x28dc8d){const _0x11bc37=a79_0x47f10f,_0x4e6d1d=_0x32623d[_0x11bc37(0x9c)],_0x1e3472=_0x32623d[_0x11bc37(0xb2)][_0x11bc37(0xe7)]('?')?_0x32623d[_0x11bc37(0xb2)][_0x11bc37(0xef)](_0x32623d[_0x11bc37(0xb2)][_0x11bc37(0x9e)]('?')):'',_0x1058ad=this[_0x11bc37(0xf1)][_0x11bc37(0x111)]+_0x11bc37(0xc7)+_0x1e3472,_0x3e7732=this['buildForwardHeaders'](_0x32623d),_0xf4e9e1=_0x4e6d1d[_0x11bc37(0xaa)]||_0x11bc37(0x91),_0x40bcb2=shouldInjectSystemPrompt(_0xf4e9e1)?injectSystemPrompt(_0x4e6d1d,TDX_SYSTEM_PROMPT):_0x4e6d1d,_0x5166ce=JSON[_0x11bc37(0xb4)](_0x40bcb2);this[_0x11bc37(0xe5)][_0x11bc37(0x114)](_0x11bc37(0xc4)+_0x1058ad);const _0x1db97d=this[_0x11bc37(0xf1)][_0x11bc37(0x105)]||DEFAULT_TIMEOUT_MS;try{const _0x3899a8=await fetch(_0x1058ad,{'method':_0x11bc37(0xa2),'headers':_0x3e7732,'body':_0x5166ce,'signal':AbortSignal[_0x11bc37(0xd3)](_0x1db97d)}),_0x46bb67=await _0x3899a8[_0x11bc37(0x96)]();return _0x28dc8d[_0x11bc37(0x10d)](_0x3899a8[_0x11bc37(0xa0)]),_0x28dc8d[_0x11bc37(0xb6)](_0x11bc37(0xcb),_0x3899a8['headers'][_0x11bc37(0x9f)](_0x11bc37(0xcb))||_0x11bc37(0xdb)),_0x28dc8d['send'](_0x46bb67);}catch(_0x126651){const _0x5c3901=_0x126651 instanceof Error?_0x126651[_0x11bc37(0xe0)]:_0x11bc37(0xdf),_0x2226b8=_0x126651 instanceof Error&&_0x126651['name']==='TimeoutError';this[_0x11bc37(0xe5)][_0x11bc37(0x90)]('[PASSTHROUGH]\x20Failed\x20to\x20forward\x20count_tokens\x20request:',_0x126651),_0x28dc8d[_0x11bc37(0x10d)](_0x2226b8?0x1f8:0x1f7)[_0x11bc37(0x9a)]({'type':_0x11bc37(0x90),'error':{'type':_0x2226b8?_0x11bc37(0x7f):_0x11bc37(0xc0),'message':_0x2226b8?_0x11bc37(0xb8)+_0x1db97d+'ms':_0x11bc37(0x100)+_0x5c3901}});}}async[a79_0x47f10f(0x94)](_0x3424c4,_0x56d6b6,_0x56c536,_0x488bde,_0x8f0499,_0x5450cd){const _0x15c428=a79_0x47f10f,_0x49f66f={'timestamp':new Date()['toISOString'](),'model':_0x56d6b6,'inputTokens':_0x56c536,'outputTokens':_0x488bde,'cacheCreationInputTokens':_0x8f0499,'cacheReadInputTokens':_0x5450cd,'profile':this[_0x15c428(0xf1)][_0x15c428(0x10b)],'source':_0x15c428(0x10c)},_0x459004=_0x8f0499||_0x5450cd?_0x15c428(0xc6)+(_0x8f0499||0x0)+_0x15c428(0x9b)+(_0x5450cd||0x0):'';this[_0x15c428(0xe5)][_0x15c428(0x114)](_0x15c428(0x84)+_0x56c536+_0x15c428(0xc8)+_0x488bde+_0x459004+',\x20model='+_0x56d6b6);try{await appendUsageEntry(_0x3424c4,_0x49f66f);}catch(_0x40f73f){this[_0x15c428(0xe5)]['error'](_0x15c428(0x88),_0x40f73f);}}[a79_0x47f10f(0x97)](){const _0x2aaa64=a79_0x47f10f;if(this['config'][_0x2aaa64(0x106)][_0x2aaa64(0xdd)]!=='oauth')return;this['refreshTimer']=setInterval(()=>{const _0x4d9bed=_0x2aaa64;void this[_0x4d9bed(0xa1)]();},TOKEN_REFRESH_INTERVAL_MS),this['refreshTimer'][_0x2aaa64(0x95)]();}async[a79_0x47f10f(0xa1)](){const _0x2f708f=a79_0x47f10f,{auth:_0x521c4a}=this[_0x2f708f(0xf1)];if(_0x521c4a[_0x2f708f(0xdd)]!==_0x2f708f(0x98))return;const _0x5aaa43=!_0x521c4a['expiresAt']||_0x521c4a[_0x2f708f(0xb7)]<Date[_0x2f708f(0xf8)]()+TOKEN_EXPIRY_BUFFER_MS;if(!_0x5aaa43)return;try{const _0x569751=await refreshAccessToken(_0x521c4a['consoleUrl'],_0x521c4a[_0x2f708f(0xbb)]);_0x521c4a[_0x2f708f(0xe8)]=_0x569751[_0x2f708f(0xd4)],_0x521c4a[_0x2f708f(0xbb)]=_0x569751['refresh_token'],_0x521c4a['expiresAt']=_0x569751[_0x2f708f(0x8b)],await saveOAuthTokens(_0x569751,this['config'][_0x2f708f(0x10b)]),this[_0x2f708f(0xe5)][_0x2f708f(0x89)](_0x2f708f(0xa8));}catch(_0x285e91){this[_0x2f708f(0xe5)][_0x2f708f(0x90)]('[PASSTHROUGH]\x20OAuth\x20token\x20refresh\x20failed:',_0x285e91);}}async[a79_0x47f10f(0xbe)](){const _0x2490eb=a79_0x47f10f,_0xb17a15=this[_0x2490eb(0xf1)]['maxPortAttempts']??0x64;for(let _0xc7aab3=0x0;_0xc7aab3<_0xb17a15;_0xc7aab3++){const _0x395e8e=this[_0x2490eb(0xf1)]['startPort']+_0xc7aab3;try{await this[_0x2490eb(0x8f)]['listen']({'port':_0x395e8e,'host':_0x2490eb(0xd1)}),this[_0x2490eb(0xb3)]=_0x395e8e,this[_0x2490eb(0xe5)][_0x2490eb(0x89)]('Pass-through\x20proxy\x20server\x20started\x20on\x20port\x20'+_0x395e8e),this[_0x2490eb(0xe5)][_0x2490eb(0x89)](_0x2490eb(0xaf)+this['config']['llmProxyUrl']),this[_0x2490eb(0x97)]();return;}catch(_0x2211d3){const _0x2b0b11=_0x2211d3 instanceof Error&&'code'in _0x2211d3&&_0x2211d3[_0x2490eb(0x10d)]===_0x2490eb(0xe9);if(!_0x2b0b11)throw _0x2211d3;this[_0x2490eb(0xe5)][_0x2490eb(0x114)](_0x2490eb(0x86)+_0x395e8e+'\x20in\x20use,\x20trying\x20next...'),this['createServer']();}}const _0x4638ff=this[_0x2490eb(0xf1)][_0x2490eb(0xd0)]+_0xb17a15-0x1;throw new Error('No\x20available\x20port\x20found\x20between\x20'+this[_0x2490eb(0xf1)]['startPort']+_0x2490eb(0xb1)+_0x4638ff);}async[a79_0x47f10f(0xd8)](){const _0x474d1e=a79_0x47f10f;this[_0x474d1e(0x107)]&&(clearInterval(this['refreshTimer']),this[_0x474d1e(0x107)]=undefined),await this[_0x474d1e(0x8f)][_0x474d1e(0x83)](),this[_0x474d1e(0xe5)][_0x474d1e(0x89)]('Pass-through\x20proxy\x20server\x20stopped');}[a79_0x47f10f(0xab)](){const _0x328f53=a79_0x47f10f;return _0x328f53(0xa3)+this[_0x328f53(0xa7)];}}
|
|
1
|
+
const a79_0x36d60c=a79_0x5cce;(function(_0x39c1ce,_0x45582e){const _0x5fc6f5=a79_0x5cce,_0x1913b1=_0x39c1ce();while(!![]){try{const _0x4cd81d=-parseInt(_0x5fc6f5(0x100))/0x1*(-parseInt(_0x5fc6f5(0x115))/0x2)+-parseInt(_0x5fc6f5(0x10a))/0x3+-parseInt(_0x5fc6f5(0xca))/0x4*(parseInt(_0x5fc6f5(0xc4))/0x5)+-parseInt(_0x5fc6f5(0xd1))/0x6*(parseInt(_0x5fc6f5(0x131))/0x7)+parseInt(_0x5fc6f5(0xfb))/0x8*(-parseInt(_0x5fc6f5(0xef))/0x9)+-parseInt(_0x5fc6f5(0xe0))/0xa*(parseInt(_0x5fc6f5(0x145))/0xb)+parseInt(_0x5fc6f5(0x101))/0xc;if(_0x4cd81d===_0x45582e)break;else _0x1913b1['push'](_0x1913b1['shift']());}catch(_0x4a9295){_0x1913b1['push'](_0x1913b1['shift']());}}}(a79_0x4caf,0xc0c87));import a79_0x3c6022 from'fastify';import a79_0x48c91b from'@fastify/cors';import{SSEUsageTracker}from'./sse-usage-parser.js';function a79_0x4caf(){const _0x3c25ac=['[PASSTHROUGH]\x20','TD\x20LLM\x20Pass-through\x20Proxy\x20Server','error','POST','GET','addContentTypeParser','Failed\x20to\x20connect\x20to\x20TD\x20LLM\x20Proxy:\x20','56AWnOni','input_tokens','[PASSTHROUGH]\x20Usage:\x20input=','Unknown\x20error','You\x20are\x20`tdx\x20claude`,\x20an\x20extension\x20of\x20Claude\x20Code\x20with\x20tdx\x20CLI\x20tools\x20(https://tdx.treasuredata.com/)\x20and\x20skills\x20for\x20Treasure\x20AI\x20and\x20CDP.\x0a\x0aFor\x20Treasure\x20AI\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','86497eTxibl','47975736iAPUIg','handleCountTokens','expires_at','toLowerCase','timeout','Error\x20body:\x20','Stream\x20interrupted','oauth','decode','1063095DGECuS','cacheReadInputTokens','metadata','refreshToken','[PASSTHROUGH]\x20Upstream\x20error:\x20','slice','tdx','TimeoutError','unknown','buildForwardHeaders','Port\x20','14XJsbDo','getUsage','User-Agent','event:\x20error\x0adata:\x20','[PASSTHROUGH]\x20OAuth\x20token\x20refreshed\x20successfully','access_token','includes','Forwarding\x20to:\x20','_boundPort','close','unref','[PASSTHROUGH]\x20Forwarding\x20count_tokens\x20to:\x20','stop','post','setupMiddleware','text','start','processChunk','\x20in\x20use,\x20trying\x20next...','timeout_error','usage','string','[PASSTHROUGH]\x20Failed\x20to\x20forward\x20count_tokens\x20request:','[PASSTHROUGH]\x20Failed\x20to\x20forward\x20request:','test','Content-Type','code','write','394387NJZwMD','isArray',':\x20messages=','connection','handleMessages','authorization','get',',\x20stream=','writeHead','Request\x20to\x20TD\x20LLM\x20Proxy\x20timed\x20out\x20after\x20','debug','getAddress','system','message',',\x20cache_create=','type','max_tokens','anthropic-version','[PASSTHROUGH]\x20OAuth\x20token\x20refresh\x20failed:','no-cache','33dyXbRh','[PASSTHROUGH]\x20Failed\x20to\x20log\x20usage:','Authorization',',\x20output=','tdx-claude','refreshTokenIfNeeded','Bearer\x20','logger','logUsage','indexOf','default',',\x20cache_read=','application/json','config','Pass-through\x20proxy\x20server\x20started\x20on\x20port\x20','user-agent','maxPortAttempts','Pass-through\x20proxy\x20server\x20stopped','parse','handleStreamingResponse','port','[PASSTHROUGH]\x20Stream\x20error:','api_error','x-api-key',',\x20model=','profile','send','header','setupRoutes','text/event-stream','20aNwjNg','body','refresh_token','has','refreshTimer','stringify','1502428HLbivp','accessToken','|\x20Debug\x20agent\x20issues\x20|\x20tdx-skills:agent-debug\x20|\x0a','stream','/v1/messages/count_tokens','tdx/','x-td-','54FSKfSL','server','auth','raw','getReader','url','timeoutMs','name','SKIP_HEADERS','info','method','setErrorHandler','inputTokens','entries','createServer','99390fXniZn','messages','/v1/messages','user_id','llmProxyUrl','EADDRINUSE','No\x20available\x20port\x20found\x20between\x20','Server\x20has\x20not\x20been\x20started\x20yet','number','register','expiresAt','status','length','read','/health','1825893ZXhLsp','startPort','cache_read_input_tokens','cacheCreationInputTokens','cache_creation_input_tokens'];a79_0x4caf=function(){return _0x3c25ac;};return a79_0x4caf();}function a79_0x5cce(_0x418c31,_0x3579b1){_0x418c31=_0x418c31-0xb7;const _0x4caf9d=a79_0x4caf();let _0x5cce22=_0x4caf9d[_0x418c31];return _0x5cce22;}import{appendUsageEntry}from'./claude-usage-tracker.js';import{getVersion}from'../core/version.js';import{isExperimentalAvailable}from'../core/config.js';import{refreshAccessToken}from'../sdk/client/oauth-refresh.js';import{saveOAuthTokens}from'../core/oauth-keychain.js';const DEFAULT_TIMEOUT_MS=0x5*0x3c*0x3e8,TDX_SYSTEM_PROMPT=a79_0x36d60c(0xff)+(isExperimentalAvailable()?a79_0x36d60c(0xcc):'')+'|\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(_0x3b9842){const _0x30a037=_0x3b9842['match'](/_session_([a-f0-9-]+)$/i);if(_0x30a037)return _0x30a037[0x1];return _0x3b9842;}export function injectSystemPrompt(_0x14527e,_0x41c2ab){const _0x43e49e=a79_0x36d60c,_0x2e7d9b=_0x14527e[_0x43e49e(0x13d)];if(!_0x2e7d9b)return{..._0x14527e,'system':_0x41c2ab};if(typeof _0x2e7d9b===_0x43e49e(0x12a))return{..._0x14527e,'system':_0x2e7d9b+'\x0a\x0a'+_0x41c2ab};if(Array[_0x43e49e(0x132)](_0x2e7d9b)){const _0x3b8eeb={'type':_0x43e49e(0x124),'text':_0x41c2ab};return{..._0x14527e,'system':[..._0x2e7d9b,_0x3b8eeb]};}return _0x14527e;}export function shouldInjectSystemPrompt(_0x4cab21){const _0x3ce976=a79_0x36d60c;return!_0x4cab21[_0x3ce976(0x104)]()['includes']('haiku');}const MIN_REASONING_MAX_TOKENS=0x7d00;export function isOpenAIReasoningModel(_0x26386){const _0x2f99e1=a79_0x36d60c,_0x450b88=_0x26386[_0x2f99e1(0x104)]();return/^gpt-5(\.\d+)?(-(mini|nano|pro))?(-\d{4}-\d{2}-\d{2})?$/[_0x2f99e1(0x12d)](_0x450b88);}export function padMaxTokensForReasoningModel(_0x567432,_0x3afd88){const _0x4fa50c=a79_0x36d60c;if(!isOpenAIReasoningModel(_0x3afd88))return _0x567432;const _0x3dbe27=typeof _0x567432['max_tokens']===_0x4fa50c(0xe8)?_0x567432[_0x4fa50c(0x141)]:0x0;if(_0x3dbe27>=MIN_REASONING_MAX_TOKENS)return _0x567432;return{..._0x567432,'max_tokens':MIN_REASONING_MAX_TOKENS};}export function requestsStream(_0xdd7251){const _0x5766ae=a79_0x36d60c;return _0xdd7251[_0x5766ae(0xcd)]===!![];}const TOKEN_REFRESH_INTERVAL_MS=0x5*0x3c*0x3e8,TOKEN_EXPIRY_BUFFER_MS=0x5*0x3c*0x3e8;export class PassThroughProxyServer{[a79_0x36d60c(0xd2)];[a79_0x36d60c(0x152)];[a79_0x36d60c(0x14c)];[a79_0x36d60c(0x11d)];['refreshTimer'];constructor(_0x539cfe){const _0x215d25=a79_0x36d60c;this[_0x215d25(0x152)]=_0x539cfe,this[_0x215d25(0x14c)]=_0x539cfe['logger'],this[_0x215d25(0xd2)]=this[_0x215d25(0xdf)]();}get[a79_0x36d60c(0xba)](){const _0x51b00b=a79_0x36d60c;if(this[_0x51b00b(0x11d)]===undefined)throw new Error(_0x51b00b(0xe7));return this[_0x51b00b(0x11d)];}[a79_0x36d60c(0xdf)](){const _0x2c7a56=a79_0x36d60c,_0x55e9df=a79_0x3c6022({'logger':![],'bodyLimit':0x40*0x400*0x400});return this['server']=_0x55e9df,this['setupJsonParser'](),this[_0x2c7a56(0x123)](),this[_0x2c7a56(0xc2)](),_0x55e9df;}['setupJsonParser'](){const _0x45e539=a79_0x36d60c;this[_0x45e539(0xd2)][_0x45e539(0xf9)](_0x45e539(0x151),{'parseAs':_0x45e539(0x12a)},(_0x9e5bd8,_0x1f451f,_0x475466)=>{const _0x371d18=_0x45e539;try{const _0x4442c2=JSON[_0x371d18(0xb8)](_0x1f451f);_0x475466(null,_0x4442c2);}catch(_0x5f20bf){_0x475466(_0x5f20bf,undefined);}});}[a79_0x36d60c(0x123)](){const _0x575e41=a79_0x36d60c;this[_0x575e41(0xd2)][_0x575e41(0xe9)](a79_0x48c91b,{'origin':!![],'methods':[_0x575e41(0xf8),_0x575e41(0xf7),'OPTIONS'],'allowedHeaders':[_0x575e41(0x12e),_0x575e41(0x147),_0x575e41(0x142),_0x575e41(0xbd)]}),this[_0x575e41(0xd2)][_0x575e41(0xdc)]((_0x3321a6,_0x45d664,_0x31aedb)=>{const _0x440201=_0x575e41,_0x4c0e50=_0x3321a6 instanceof Error?_0x3321a6[_0x440201(0x13e)]:_0x440201(0xfe);this[_0x440201(0x14c)][_0x440201(0xf6)]('[PASSTHROUGH\x20PROXY\x20ERROR]:',_0x3321a6),_0x31aedb[_0x440201(0x12f)](0x1f4)[_0x440201(0xc0)]({'type':_0x440201(0xf6),'error':{'type':_0x440201(0xbc),'message':_0x4c0e50}});});}[a79_0x36d60c(0xc2)](){const _0x4ea2e0=a79_0x36d60c;this[_0x4ea2e0(0xd2)][_0x4ea2e0(0x137)](_0x4ea2e0(0xee),async()=>{const _0x4ae6b2=_0x4ea2e0;return{'status':'ok','message':_0x4ae6b2(0xf5)};}),this[_0x4ea2e0(0xd2)][_0x4ea2e0(0x122)](_0x4ea2e0(0xe2),async(_0x37db7c,_0x2cef2c)=>{const _0x3a27ed=_0x4ea2e0;return this[_0x3a27ed(0x135)](_0x37db7c,_0x2cef2c);}),this[_0x4ea2e0(0xd2)]['post']('/v1/messages/count_tokens',async(_0x1ce65c,_0x2e4283)=>{const _0x2f0aee=_0x4ea2e0;return this[_0x2f0aee(0x102)](_0x1ce65c,_0x2e4283);});}static [a79_0x36d60c(0xd9)]=new Set(['host',a79_0x36d60c(0x134),'content-length','transfer-encoding',a79_0x36d60c(0x136),'x-api-key',a79_0x36d60c(0x154)]);['buildForwardHeaders'](_0x5c398){const _0x3db64b=a79_0x36d60c,_0x391f98={};for(const [_0x3f5b07,_0x404fb0]of Object[_0x3db64b(0xde)](_0x5c398['headers'])){const _0x11d62e=_0x3f5b07[_0x3db64b(0x104)]();if(PassThroughProxyServer[_0x3db64b(0xd9)][_0x3db64b(0xc7)](_0x11d62e))continue;if(_0x11d62e['startsWith'](_0x3db64b(0xd0)))continue;if(typeof _0x404fb0===_0x3db64b(0x12a))_0x391f98[_0x3f5b07]=_0x404fb0;else Array['isArray'](_0x404fb0)&&(_0x391f98[_0x3f5b07]=_0x404fb0['join'](',\x20'));}const _0x2e7a7b=getVersion(),{auth:_0xff3a84}=this['config'];return _0x391f98[_0x3db64b(0x147)]=_0xff3a84[_0x3db64b(0x140)]===_0x3db64b(0x108)?_0x3db64b(0x14b)+_0xff3a84[_0x3db64b(0xcb)]:'TD1\x20'+_0xff3a84['apiKey'],_0x391f98[_0x3db64b(0x117)]=_0x3db64b(0xcf)+_0x2e7a7b,_0x391f98['X-TD-Client']=_0x3db64b(0x110),_0x391f98['X-TD-Client-Version']=_0x2e7a7b,_0x391f98;}async[a79_0x36d60c(0x135)](_0x13d8b9,_0x183c52){const _0x1d4061=a79_0x36d60c,_0x177d8c=_0x13d8b9[_0x1d4061(0xc5)],_0x228298=requestsStream(_0x177d8c),_0x3767ad=_0x177d8c[_0x1d4061(0x10c)],_0xcf7e65=_0x3767ad?.[_0x1d4061(0xe3)]||_0x1d4061(0x14f),_0x4e05b5=extractSessionUUID(_0xcf7e65),_0x3abed9=_0x177d8c['model']||_0x1d4061(0x112),_0x243289=shouldInjectSystemPrompt(_0x3abed9)?injectSystemPrompt(_0x177d8c,TDX_SYSTEM_PROMPT):_0x177d8c,_0x2a6833=padMaxTokensForReasoningModel(_0x243289,_0x3abed9),_0x175068=JSON[_0x1d4061(0xc9)](_0x2a6833),_0x5b7f8a=Array[_0x1d4061(0x132)](_0x177d8c[_0x1d4061(0xe1)])?_0x177d8c[_0x1d4061(0xe1)][_0x1d4061(0xec)]:0x0;this['logger'][_0x1d4061(0xda)](_0x1d4061(0xf4)+_0x13d8b9[_0x1d4061(0xdb)]+'\x20'+_0x13d8b9[_0x1d4061(0xd6)]+_0x1d4061(0x133)+_0x5b7f8a+_0x1d4061(0xbe)+_0x3abed9+_0x1d4061(0x138)+_0x228298);const _0x571cfb=_0x13d8b9[_0x1d4061(0xd6)][_0x1d4061(0x11b)]('?')?_0x13d8b9[_0x1d4061(0xd6)][_0x1d4061(0x10f)](_0x13d8b9[_0x1d4061(0xd6)]['indexOf']('?')):'',_0xf94d6c=this[_0x1d4061(0x152)][_0x1d4061(0xe4)]+_0x1d4061(0xe2)+_0x571cfb,_0x29534e=this[_0x1d4061(0x113)](_0x13d8b9);this[_0x1d4061(0x14c)][_0x1d4061(0x13b)](_0x1d4061(0x11c)+_0xf94d6c);const _0x335eb8=this['config'][_0x1d4061(0xd7)]||DEFAULT_TIMEOUT_MS;try{const _0x4c346f=await fetch(_0xf94d6c,{'method':'POST','headers':_0x29534e,'body':_0x175068,'signal':AbortSignal['timeout'](_0x335eb8)});if(!_0x4c346f['ok']){const _0x1df8b9=await _0x4c346f[_0x1d4061(0x124)]();return this[_0x1d4061(0x14c)][_0x1d4061(0xf6)](_0x1d4061(0x10e)+_0x4c346f[_0x1d4061(0xeb)]+'\x20'+_0x4c346f['statusText']),this[_0x1d4061(0x14c)]['debug'](_0x1d4061(0x106)+_0x1df8b9),_0x183c52[_0x1d4061(0x12f)](_0x4c346f[_0x1d4061(0xeb)]),_0x183c52[_0x1d4061(0xc1)](_0x1d4061(0x12e),_0x4c346f['headers'][_0x1d4061(0x137)](_0x1d4061(0x12e))||'application/json'),_0x183c52[_0x1d4061(0xc0)](_0x1df8b9);}if(_0x228298&&_0x4c346f['body'])await this[_0x1d4061(0xb9)](_0x4c346f[_0x1d4061(0xc5)],_0x183c52,_0x4e05b5,_0x3abed9);else{const _0x761837=await _0x4c346f['text']();_0x183c52[_0x1d4061(0xc1)](_0x1d4061(0x12e),_0x4c346f['headers']['get']('Content-Type')||'application/json');try{const _0x339da2=JSON[_0x1d4061(0xb8)](_0x761837);_0x339da2[_0x1d4061(0x129)]&&await this['logUsage'](_0x4e05b5,_0x3abed9,_0x339da2['usage'][_0x1d4061(0xfc)]||0x0,_0x339da2['usage']['output_tokens']||0x0,_0x339da2[_0x1d4061(0x129)][_0x1d4061(0xf3)],_0x339da2[_0x1d4061(0x129)][_0x1d4061(0xf1)]);}catch{}return _0x183c52[_0x1d4061(0xc0)](_0x761837);}}catch(_0x21d15c){const _0x52431b=_0x21d15c instanceof Error?_0x21d15c['message']:_0x1d4061(0xfe),_0x3b3b34=_0x21d15c instanceof Error&&_0x21d15c[_0x1d4061(0xd8)]===_0x1d4061(0x111);this[_0x1d4061(0x14c)]['error'](_0x1d4061(0x12c),_0x21d15c),_0x183c52[_0x1d4061(0x12f)](_0x3b3b34?0x1f8:0x1f7)['send']({'type':_0x1d4061(0xf6),'error':{'type':_0x3b3b34?_0x1d4061(0x128):'api_error','message':_0x3b3b34?_0x1d4061(0x13a)+_0x335eb8+'ms':_0x1d4061(0xfa)+_0x52431b}});}}async[a79_0x36d60c(0xb9)](_0x5255fd,_0x5bcc62,_0x4ebb6e,_0x364d9b){const _0x5daa22=a79_0x36d60c;_0x5bcc62[_0x5daa22(0xd4)][_0x5daa22(0x139)](0xc8,{'Content-Type':_0x5daa22(0xc3),'Cache-Control':_0x5daa22(0x144),'Connection':'keep-alive'});const _0x20b157=new SSEUsageTracker(),_0x337a29=_0x5255fd[_0x5daa22(0xd5)](),_0x457d95=new TextDecoder();try{while(!![]){const {done:_0x3131bf,value:_0x2264f9}=await _0x337a29[_0x5daa22(0xed)]();if(_0x3131bf)break;const _0x165722=_0x457d95[_0x5daa22(0x109)](_0x2264f9,{'stream':!![]});_0x20b157[_0x5daa22(0x126)](_0x165722),_0x5bcc62[_0x5daa22(0xd4)]['write'](_0x165722);}_0x20b157['flush']();const _0x2b0101=_0x20b157[_0x5daa22(0x116)]();(_0x2b0101[_0x5daa22(0xdd)]>0x0||_0x2b0101['outputTokens']>0x0)&&await this[_0x5daa22(0x14d)](_0x4ebb6e,_0x364d9b,_0x2b0101['inputTokens'],_0x2b0101['outputTokens'],_0x2b0101[_0x5daa22(0xf2)],_0x2b0101[_0x5daa22(0x10b)]);}catch(_0x478ea4){this['logger'][_0x5daa22(0xf6)](_0x5daa22(0xbb),_0x478ea4);const _0x220fe2=_0x5daa22(0x118)+JSON['stringify']({'type':_0x5daa22(0xf6),'error':{'type':'stream_error','message':_0x5daa22(0x107)}})+'\x0a\x0a';_0x5bcc62['raw'][_0x5daa22(0x130)](_0x220fe2);}finally{_0x5bcc62['raw']['end']();}}async[a79_0x36d60c(0x102)](_0x4a69b2,_0x3e42eb){const _0x4b9960=a79_0x36d60c,_0x13079d=_0x4a69b2[_0x4b9960(0xc5)],_0x48f6b4=_0x4a69b2[_0x4b9960(0xd6)][_0x4b9960(0x11b)]('?')?_0x4a69b2[_0x4b9960(0xd6)][_0x4b9960(0x10f)](_0x4a69b2['url'][_0x4b9960(0x14e)]('?')):'',_0x2faef3=this[_0x4b9960(0x152)][_0x4b9960(0xe4)]+_0x4b9960(0xce)+_0x48f6b4,_0x53b590=this['buildForwardHeaders'](_0x4a69b2),_0x4e175a=_0x13079d['model']||_0x4b9960(0x112),_0x5e04e7=shouldInjectSystemPrompt(_0x4e175a)?injectSystemPrompt(_0x13079d,TDX_SYSTEM_PROMPT):_0x13079d,_0x4362f9=JSON[_0x4b9960(0xc9)](_0x5e04e7);this[_0x4b9960(0x14c)]['debug'](_0x4b9960(0x120)+_0x2faef3);const _0x56f2ff=this[_0x4b9960(0x152)]['timeoutMs']||DEFAULT_TIMEOUT_MS;try{const _0x39d643=await fetch(_0x2faef3,{'method':_0x4b9960(0xf7),'headers':_0x53b590,'body':_0x4362f9,'signal':AbortSignal[_0x4b9960(0x105)](_0x56f2ff)}),_0x4a4034=await _0x39d643[_0x4b9960(0x124)]();return _0x3e42eb[_0x4b9960(0x12f)](_0x39d643[_0x4b9960(0xeb)]),_0x3e42eb[_0x4b9960(0xc1)](_0x4b9960(0x12e),_0x39d643['headers'][_0x4b9960(0x137)](_0x4b9960(0x12e))||_0x4b9960(0x151)),_0x3e42eb[_0x4b9960(0xc0)](_0x4a4034);}catch(_0x38484d){const _0x34522a=_0x38484d instanceof Error?_0x38484d[_0x4b9960(0x13e)]:'Unknown\x20error',_0x3926e3=_0x38484d instanceof Error&&_0x38484d['name']===_0x4b9960(0x111);this[_0x4b9960(0x14c)][_0x4b9960(0xf6)](_0x4b9960(0x12b),_0x38484d),_0x3e42eb[_0x4b9960(0x12f)](_0x3926e3?0x1f8:0x1f7)['send']({'type':'error','error':{'type':_0x3926e3?_0x4b9960(0x128):'api_error','message':_0x3926e3?_0x4b9960(0x13a)+_0x56f2ff+'ms':_0x4b9960(0xfa)+_0x34522a}});}}async[a79_0x36d60c(0x14d)](_0x47f295,_0x470a8c,_0x4d7a35,_0x494c76,_0x30540b,_0x588528){const _0x53ba9f=a79_0x36d60c,_0x39dcf9={'timestamp':new Date()['toISOString'](),'model':_0x470a8c,'inputTokens':_0x4d7a35,'outputTokens':_0x494c76,'cacheCreationInputTokens':_0x30540b,'cacheReadInputTokens':_0x588528,'profile':this[_0x53ba9f(0x152)][_0x53ba9f(0xbf)],'source':_0x53ba9f(0x149)},_0x215c3a=_0x30540b||_0x588528?_0x53ba9f(0x13f)+(_0x30540b||0x0)+_0x53ba9f(0x150)+(_0x588528||0x0):'';this[_0x53ba9f(0x14c)]['debug'](_0x53ba9f(0xfd)+_0x4d7a35+_0x53ba9f(0x148)+_0x494c76+_0x215c3a+_0x53ba9f(0xbe)+_0x470a8c);try{await appendUsageEntry(_0x47f295,_0x39dcf9);}catch(_0x3eb470){this[_0x53ba9f(0x14c)]['error'](_0x53ba9f(0x146),_0x3eb470);}}['startTokenRefreshTimer'](){const _0x548119=a79_0x36d60c;if(this['config'][_0x548119(0xd3)]['type']!=='oauth')return;this[_0x548119(0xc8)]=setInterval(()=>{const _0xc51aef=_0x548119;void this[_0xc51aef(0x14a)]();},TOKEN_REFRESH_INTERVAL_MS),this[_0x548119(0xc8)][_0x548119(0x11f)]();}async[a79_0x36d60c(0x14a)](){const _0x35cfa4=a79_0x36d60c,{auth:_0x413bae}=this['config'];if(_0x413bae[_0x35cfa4(0x140)]!==_0x35cfa4(0x108))return;const _0x301e7e=!_0x413bae['expiresAt']||_0x413bae[_0x35cfa4(0xea)]<Date['now']()+TOKEN_EXPIRY_BUFFER_MS;if(!_0x301e7e)return;try{const _0x5a447a=await refreshAccessToken(_0x413bae['consoleUrl'],_0x413bae[_0x35cfa4(0x10d)]);_0x413bae['accessToken']=_0x5a447a[_0x35cfa4(0x11a)],_0x413bae['refreshToken']=_0x5a447a[_0x35cfa4(0xc6)],_0x413bae[_0x35cfa4(0xea)]=_0x5a447a[_0x35cfa4(0x103)],await saveOAuthTokens(_0x5a447a,this[_0x35cfa4(0x152)][_0x35cfa4(0xbf)]),this[_0x35cfa4(0x14c)][_0x35cfa4(0xda)](_0x35cfa4(0x119));}catch(_0x24b207){this[_0x35cfa4(0x14c)][_0x35cfa4(0xf6)](_0x35cfa4(0x143),_0x24b207);}}async[a79_0x36d60c(0x125)](){const _0x5ca995=a79_0x36d60c,_0x31859a=this['config'][_0x5ca995(0x155)]??0x64;for(let _0x4545f7=0x0;_0x4545f7<_0x31859a;_0x4545f7++){const _0x280b8a=this[_0x5ca995(0x152)][_0x5ca995(0xf0)]+_0x4545f7;try{await this[_0x5ca995(0xd2)]['listen']({'port':_0x280b8a,'host':'127.0.0.1'}),this[_0x5ca995(0x11d)]=_0x280b8a,this[_0x5ca995(0x14c)][_0x5ca995(0xda)](_0x5ca995(0x153)+_0x280b8a),this[_0x5ca995(0x14c)][_0x5ca995(0xda)](_0x5ca995(0x11c)+this[_0x5ca995(0x152)]['llmProxyUrl']),this['startTokenRefreshTimer']();return;}catch(_0x41b2c6){const _0x4d8f09=_0x41b2c6 instanceof Error&&_0x5ca995(0x12f)in _0x41b2c6&&_0x41b2c6['code']===_0x5ca995(0xe5);if(!_0x4d8f09)throw _0x41b2c6;this['logger'][_0x5ca995(0x13b)](_0x5ca995(0x114)+_0x280b8a+_0x5ca995(0x127)),this[_0x5ca995(0xdf)]();}}const _0x2b7ba8=this[_0x5ca995(0x152)]['startPort']+_0x31859a-0x1;throw new Error(_0x5ca995(0xe6)+this[_0x5ca995(0x152)][_0x5ca995(0xf0)]+'\x20and\x20'+_0x2b7ba8);}async[a79_0x36d60c(0x121)](){const _0x1c1368=a79_0x36d60c;this[_0x1c1368(0xc8)]&&(clearInterval(this['refreshTimer']),this[_0x1c1368(0xc8)]=undefined),await this[_0x1c1368(0xd2)][_0x1c1368(0x11e)](),this[_0x1c1368(0x14c)][_0x1c1368(0xda)](_0x1c1368(0xb7));}[a79_0x36d60c(0x13c)](){const _0x66ff34=a79_0x36d60c;return'http://127.0.0.1:'+this[_0x66ff34(0xba)];}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a80_0x5ad476=a80_0x91a8;(function(_0x561df8,_0x6f7568){const _0x398d89=a80_0x91a8,_0x5c91d8=_0x561df8();while(!![]){try{const _0x589201=-parseInt(_0x398d89(0x1a6))/0x1*(parseInt(_0x398d89(0x1a0))/0x2)+-parseInt(_0x398d89(0x1b6))/0x3*(parseInt(_0x398d89(0x1aa))/0x4)+parseInt(_0x398d89(0x1a7))/0x5+-parseInt(_0x398d89(0x19f))/0x6+parseInt(_0x398d89(0x1b4))/0x7*(parseInt(_0x398d89(0x1b7))/0x8)+parseInt(_0x398d89(0x19c))/0x9*(-parseInt(_0x398d89(0x199))/0xa)+parseInt(_0x398d89(0x1bb))/0xb;if(_0x589201===_0x6f7568)break;else _0x5c91d8['push'](_0x5c91d8['shift']());}catch(_0x53e5c0){_0x5c91d8['push'](_0x5c91d8['shift']());}}}(a80_0x5630,0xa35db));function a80_0x91a8(_0x92474d,_0x3f20f7){_0x92474d=_0x92474d-0x196;const _0x56308e=a80_0x5630();let _0x91a899=_0x56308e[_0x92474d];return _0x91a899;}export function parseSSEChunk(_0xb598f2){const _0x25ae58=a80_0x91a8,_0xb6542e=[],_0x5dfdfc=_0xb598f2[_0x25ae58(0x19a)]('\x0a\x0a'),_0x14b86c=_0x5dfdfc[_0x25ae58(0x1ba)]()||'';for(const _0x38094b of _0x5dfdfc){if(!_0x38094b[_0x25ae58(0x1bc)]())continue;const _0x1c4627={},_0x42d813=_0x38094b['split']('\x0a');for(const _0x2ad914 of _0x42d813){if(_0x2ad914[_0x25ae58(0x1b5)]('event:\x20'))_0x1c4627[_0x25ae58(0x1a1)]=_0x2ad914['slice'](0x7);else _0x2ad914[_0x25ae58(0x1b5)]('data:\x20')&&(_0x1c4627[_0x25ae58(0x1b3)]=_0x2ad914[_0x25ae58(0x1ac)](0x6));}(_0x1c4627['event']||_0x1c4627['data'])&&_0xb6542e[_0x25ae58(0x1b0)](_0x1c4627);}return{'events':_0xb6542e,'remaining':_0x14b86c};}function a80_0x5630(){const _0x8f4ee1=['8HuGjap','getUsage','output_tokens','pop','3884408cTcLCU','trim','cacheCreationInputTokens','outputTokens','inputTokens','max','7334020QEuPRC','split','onRawUsage','9HtAvGu','updateFromUsage','type','1216890UzoIjN','14qayIeT','event','parse','cacheReadInputTokens','usage','cache_creation_input_tokens','29812qGAuCq','6547615eJdkfb','flush','message_delta','143304KjRNbc','input_tokens','slice','message_start','cache_read_input_tokens','processChunk','push','message','buffer','data','5824637MLgFoL','startsWith','57xFJgMf'];a80_0x5630=function(){return _0x8f4ee1;};return a80_0x5630();}export function extractMessageStartUsage(_0x979d02){const _0xc23e21=a80_0x91a8;try{const _0x255c91=JSON['parse'](_0x979d02);if(_0x255c91[_0xc23e21(0x19e)]===_0xc23e21(0x1ad)&&_0x255c91[_0xc23e21(0x1b1)]?.['usage']){const _0x2d047b=_0x255c91[_0xc23e21(0x1b1)][_0xc23e21(0x1a4)];return{'inputTokens':_0x2d047b[_0xc23e21(0x1ab)]||0x0,'outputTokens':_0x2d047b['output_tokens']||0x0,'cacheCreationInputTokens':_0x2d047b[_0xc23e21(0x1a5)],'cacheReadInputTokens':_0x2d047b[_0xc23e21(0x1ae)]};}}catch{}return null;}export function extractMessageDeltaUsage(_0x417cfc){const _0x56f187=a80_0x91a8;try{const _0x2bf883=JSON[_0x56f187(0x1a2)](_0x417cfc);if(_0x2bf883['type']===_0x56f187(0x1a9)&&_0x2bf883[_0x56f187(0x1a4)]){const _0x1cdea6=_0x2bf883[_0x56f187(0x1a4)];return{'inputTokens':_0x1cdea6[_0x56f187(0x1ab)]||0x0,'outputTokens':_0x1cdea6[_0x56f187(0x1b9)]||0x0,'cacheCreationInputTokens':_0x1cdea6[_0x56f187(0x1a5)],'cacheReadInputTokens':_0x1cdea6[_0x56f187(0x1ae)]};}}catch{}return null;}export function extractUsageFromEvent(_0x899092){const _0x39b091=a80_0x91a8;if(!_0x899092[_0x39b091(0x1b3)])return null;if(_0x899092[_0x39b091(0x1a1)]===_0x39b091(0x1ad))return extractMessageStartUsage(_0x899092[_0x39b091(0x1b3)]);if(_0x899092[_0x39b091(0x1a1)]===_0x39b091(0x1a9))return extractMessageDeltaUsage(_0x899092['data']);return null;}export class SSEUsageTracker{[a80_0x5ad476(0x197)]=0x0;[a80_0x5ad476(0x196)]=0x0;['cacheCreationInputTokens'];[a80_0x5ad476(0x1a3)];[a80_0x5ad476(0x1b2)]='';['updateFromUsage'](_0x2260d8){const _0x4d5463=a80_0x5ad476;this['inputTokens']=Math['max'](this[_0x4d5463(0x197)],_0x2260d8[_0x4d5463(0x197)]),this[_0x4d5463(0x196)]=Math[_0x4d5463(0x198)](this['outputTokens'],_0x2260d8[_0x4d5463(0x196)]),_0x2260d8[_0x4d5463(0x1bd)]!==undefined&&(this[_0x4d5463(0x1bd)]=Math['max'](this[_0x4d5463(0x1bd)]??0x0,_0x2260d8[_0x4d5463(0x1bd)])),_0x2260d8[_0x4d5463(0x1a3)]!==undefined&&(this[_0x4d5463(0x1a3)]=Math[_0x4d5463(0x198)](this[_0x4d5463(0x1a3)]??0x0,_0x2260d8['cacheReadInputTokens']));}['onRawUsage'];[a80_0x5ad476(0x1af)](_0x1e8fd3){const _0x10625a=a80_0x5ad476;this[_0x10625a(0x1b2)]+=_0x1e8fd3;const {events:_0x5be3ad,remaining:_0x240fdd}=parseSSEChunk(this[_0x10625a(0x1b2)]);this[_0x10625a(0x1b2)]=_0x240fdd;for(const _0x4a7458 of _0x5be3ad){const _0x4e9133=extractUsageFromEvent(_0x4a7458);_0x4e9133&&(this[_0x10625a(0x19b)]?.(_0x4a7458['event']||'unknown',_0x4a7458[_0x10625a(0x1b3)]||'',_0x4e9133),this[_0x10625a(0x19d)](_0x4e9133));}return _0x1e8fd3;}[a80_0x5ad476(0x1a8)](){const _0x1450e2=a80_0x5ad476;if(this['buffer']['trim']()){const {events:_0x110b8a}=parseSSEChunk(this['buffer']+'\x0a\x0a');for(const _0x5b032b of _0x110b8a){const _0x35312f=extractUsageFromEvent(_0x5b032b);_0x35312f&&this[_0x1450e2(0x19d)](_0x35312f);}this[_0x1450e2(0x1b2)]='';}}[a80_0x5ad476(0x1b8)](){const _0xd07a50=a80_0x5ad476;return{'inputTokens':this['inputTokens'],'outputTokens':this['outputTokens'],'cacheCreationInputTokens':this[_0xd07a50(0x1bd)],'cacheReadInputTokens':this['cacheReadInputTokens']};}['reset'](){const _0x2b7fb6=a80_0x5ad476;this[_0x2b7fb6(0x197)]=0x0,this[_0x2b7fb6(0x196)]=0x0,this['cacheCreationInputTokens']=undefined,this['cacheReadInputTokens']=undefined,this[_0x2b7fb6(0x1b2)]='';}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a81_0x10ecae=a81_0x5cde;(function(_0x17e500,_0x588328){const _0x55a2f5=a81_0x5cde,_0x19ac75=_0x17e500();while(!![]){try{const _0x568bff=-parseInt(_0x55a2f5(0xb8))/0x1*(-parseInt(_0x55a2f5(0xd0))/0x2)+parseInt(_0x55a2f5(0xa9))/0x3+-parseInt(_0x55a2f5(0xcd))/0x4+parseInt(_0x55a2f5(0xd5))/0x5*(parseInt(_0x55a2f5(0xc3))/0x6)+-parseInt(_0x55a2f5(0xbf))/0x7+parseInt(_0x55a2f5(0xb3))/0x8+-parseInt(_0x55a2f5(0xd6))/0x9*(parseInt(_0x55a2f5(0xa3))/0xa);if(_0x568bff===_0x588328)break;else _0x19ac75['push'](_0x19ac75['shift']());}catch(_0x2135ee){_0x19ac75['push'](_0x19ac75['shift']());}}}(a81_0x26f2,0x82350));import{existsSync,readFileSync,readdirSync}from'fs';import a81_0x180b25 from'path';import{sanitizeForFilesystem,normalizeName}from'./agent-yaml.js';const TDX_CONFIG_FILE=a81_0x10ecae(0xb0),AGENTS_DIR=a81_0x10ecae(0xa4);export function findAgentConfigPath(_0x42bd4d=process[a81_0x10ecae(0xc7)]()){const _0x3d1a1a=a81_0x10ecae;let _0x141eba=a81_0x180b25[_0x3d1a1a(0xaa)](_0x42bd4d);const _0x68e91=a81_0x180b25['parse'](_0x141eba)[_0x3d1a1a(0xd7)];while(_0x141eba!==_0x68e91){const _0x2901a=a81_0x180b25['join'](_0x141eba,TDX_CONFIG_FILE);if(existsSync(_0x2901a))try{const _0x36b0a9=readFileSync(_0x2901a,_0x3d1a1a(0xbb)),_0x2fa405=JSON[_0x3d1a1a(0xb1)](_0x36b0a9);if(_0x2fa405[_0x3d1a1a(0xc4)])return _0x2901a;}catch{}_0x141eba=a81_0x180b25[_0x3d1a1a(0xcc)](_0x141eba);}return null;}export function loadAgentConfig(_0x1e0b51){const _0x882738=a81_0x10ecae,_0x1effaf=readFileSync(_0x1e0b51,'utf-8');let _0x24554a;try{_0x24554a=JSON['parse'](_0x1effaf);}catch{throw new Error(_0x882738(0xba)+_0x1e0b51);}if(!_0x24554a||typeof _0x24554a!==_0x882738(0xd3))throw new Error(_0x882738(0xa5));const _0x6299cb=_0x24554a;if(!_0x6299cb[_0x882738(0xc4)]||typeof _0x6299cb['llm_project']!=='string')throw new Error(_0x882738(0xc8));return{'llm_project':_0x6299cb[_0x882738(0xc4)]};}export function findAgentConfig(_0x4175af=process[a81_0x10ecae(0xc7)]()){const _0x1a72c1=a81_0x10ecae,_0x2a1921=findAgentConfigPath(_0x4175af);if(!_0x2a1921)throw new Error(_0x1a72c1(0xae));const _0x5d5ab8=loadAgentConfig(_0x2a1921),_0x1680a7=a81_0x180b25[_0x1a72c1(0xcc)](_0x2a1921);return{'config':_0x5d5ab8,'configPath':_0x2a1921,'configDir':_0x1680a7};}function a81_0x5cde(_0x3f80bb,_0x467827){_0x3f80bb=_0x3f80bb-0xa2;const _0x26f212=a81_0x26f2();let _0x5cde97=_0x26f212[_0x3f80bb];return _0x5cde97;}export function getAgentProjectDir(_0x29d03e,_0x5b25a7=process['cwd']()){const _0x809bb3=a81_0x10ecae;return a81_0x180b25[_0x809bb3(0xcb)](_0x5b25a7,AGENTS_DIR,_0x29d03e);}export function getAgentConfigPath(_0x40c764,_0x21e0ca=process['cwd']()){const _0x55755f=a81_0x10ecae;return a81_0x180b25[_0x55755f(0xcb)](getAgentProjectDir(_0x40c764,_0x21e0ca),TDX_CONFIG_FILE);}export function createAgentConfigContent(_0xd7f76c){const _0xc004c3=a81_0x10ecae,_0x3bafe={'llm_project':_0xd7f76c};return JSON[_0xc004c3(0xb4)](_0x3bafe,null,0x2)+'\x0a';}export function isAgentDir(_0x3bbbf3){const _0x3410f0=a81_0x10ecae;return existsSync(a81_0x180b25['join'](_0x3bbbf3,_0x3410f0(0xd2)));}export function isAgentYamlPath(_0x1c1365){const _0xe1afd9=a81_0x10ecae;return a81_0x180b25[_0xe1afd9(0xd4)](_0x1c1365)==='agent.yml';}export function getAgentDirFromYamlPath(_0x716558){const _0x4b8723=a81_0x10ecae;return a81_0x180b25[_0x4b8723(0xcc)](_0x716558);}export const PROJECT_SUBDIRS={'KNOWLEDGE_BASES':'knowledge_bases','PROMPTS':a81_0x10ecae(0xac),'INTEGRATIONS':a81_0x10ecae(0xab),'EXPERIMENTAL_KNOWLEDGE_BASES':a81_0x10ecae(0xaf),'EXPERIMENTAL_ARTIFACTS':a81_0x10ecae(0xd1),'FORM_INTERFACES':a81_0x10ecae(0xce),'CHAT_INTERFACES':a81_0x10ecae(0xb7)};function a81_0x26f2(){const _0x8fedf3=['filter','9780710GdaLBf','agents','Invalid\x20tdx.json:\x20expected\x20object','EXPERIMENTAL_KNOWLEDGE_BASES','PROMPTS','isDirectory','2068635KOjfeI','resolve','integrations','prompts','map','No\x20agent\x20tdx.json\x20found.\x20Please\x20run\x20\x27tdx\x20agent\x20pull\x20<project>\x27\x20first\x20to\x20create\x20the\x20folder\x20structure.','experimental_knowledge_bases','tdx.json','parse','Current\x20context\x20has\x20llm_project=\x22','7165008AOhFop','stringify','local','multiple_agents','chat_interfaces','124426kKAuBv','KNOWLEDGE_BASES','Invalid\x20JSON\x20in\x20','utf-8','FORM_INTERFACES','arg','cwd-config','4049885wbdPCd','\x22\x20but\x20no\x20local\x20folder\x20found.','no_local_folder','length','30QSoCwb','llm_project','requireFile','EXPERIMENTAL_ARTIFACTS','cwd','Invalid\x20tdx.json:\x20missing\x20or\x20invalid\x20\x27llm_project\x27\x20field','No\x20tdx.json\x20found\x20and\x20llm_project\x20is\x20not\x20set.','INTEGRATIONS','join','dirname','1959056kdnbex','form_interfaces','context','4Ltwwcy','experimental_artifacts','agent.yml','object','basename','745695LnZzlc','9fbynHn','root'];a81_0x26f2=function(){return _0x8fedf3;};return a81_0x26f2();}export function getKnowledgeBasesDir(_0x5cd176){const _0x48191a=a81_0x10ecae;return a81_0x180b25['join'](_0x5cd176,PROJECT_SUBDIRS[_0x48191a(0xb9)]);}export function getPromptsDir(_0x501d41){const _0x2206a6=a81_0x10ecae;return a81_0x180b25[_0x2206a6(0xcb)](_0x501d41,PROJECT_SUBDIRS[_0x2206a6(0xa7)]);}export function getIntegrationsDir(_0x48d963){const _0x583561=a81_0x10ecae;return a81_0x180b25[_0x583561(0xcb)](_0x48d963,PROJECT_SUBDIRS[_0x583561(0xca)]);}export function getExperimentalKnowledgeBasesDir(_0x2da30f){const _0x8e760e=a81_0x10ecae;return a81_0x180b25[_0x8e760e(0xcb)](_0x2da30f,PROJECT_SUBDIRS[_0x8e760e(0xa6)]);}export function getExperimentalArtifactsDir(_0x580f70){const _0x5092c5=a81_0x10ecae;return a81_0x180b25[_0x5092c5(0xcb)](_0x580f70,PROJECT_SUBDIRS[_0x5092c5(0xc6)]);}export function getFormInterfacesDir(_0x1a8792){const _0x5985dd=a81_0x10ecae;return a81_0x180b25['join'](_0x1a8792,PROJECT_SUBDIRS[_0x5985dd(0xbc)]);}export function getChatInterfacesDir(_0x3badc0){return a81_0x180b25['join'](_0x3badc0,PROJECT_SUBDIRS['CHAT_INTERFACES']);}export function resolveAgentPullArgs(_0x64ed38){const _0x22d199=a81_0x10ecae,{arg:_0x58a02d,agentNameArg:_0x3a6876,agentFlag:_0x7c6410,contextProject:_0x11f4f0,argDirConfig:_0x9ee47b,cwdConfigPath:_0x311b66,cwdConfig:_0x12e81f}=_0x64ed38,_0x4f20a6=_0x3a6876||_0x7c6410;if(_0x58a02d){if(_0x9ee47b)return{'projectNameOrId':_0x9ee47b['llm_project'],'targetAgentName':_0x4f20a6,'existingOutputDir':_0x58a02d,'source':'arg-dir'};return{'projectNameOrId':_0x58a02d,'targetAgentName':_0x4f20a6,'source':_0x22d199(0xbd)};}if(_0x7c6410&&_0x11f4f0)return{'projectNameOrId':_0x11f4f0,'targetAgentName':_0x7c6410,'source':_0x22d199(0xcf)};if(_0x311b66&&_0x12e81f)return{'projectNameOrId':_0x12e81f['llm_project'],'targetAgentName':_0x4f20a6,'existingOutputDir':a81_0x180b25[_0x22d199(0xcc)](_0x311b66),'source':_0x22d199(0xbe)};return{'projectNameOrId':_0x11f4f0,'targetAgentName':_0x4f20a6,'source':_0x11f4f0?_0x22d199(0xcf):undefined};}export function resolveProjectFromContext(_0x2a4b29,_0x5835c0,_0x2a42b6){const _0x2c2191=a81_0x10ecae,_0x5405c8=_0x2a42b6?.[_0x2c2191(0xc5)],_0x5b94ed=findAgentConfigPath(a81_0x180b25[_0x2c2191(0xaa)](_0x2a4b29));if(_0x5b94ed)return{'found':!![],'projectDir':a81_0x180b25[_0x2c2191(0xcc)](_0x5b94ed),'configPath':_0x5b94ed,'source':_0x2c2191(0xb5)};if(!_0x5835c0)return{'found':![],'reason':'no_context','message':_0x2c2191(0xc9)};const _0x3add59=sanitizeForFilesystem(_0x5835c0),_0x56274e=a81_0x180b25[_0x2c2191(0xcb)](process['cwd'](),AGENTS_DIR);let _0x855142=a81_0x180b25[_0x2c2191(0xcb)](_0x56274e,_0x3add59),_0x4c3f9b=a81_0x180b25[_0x2c2191(0xcb)](_0x855142,TDX_CONFIG_FILE);if(!existsSync(_0x855142)){const _0x1c7ee2=normalizeName(_0x5835c0),_0x527800=a81_0x180b25[_0x2c2191(0xcb)](_0x56274e,_0x1c7ee2);existsSync(_0x527800)&&(_0x855142=_0x527800,_0x4c3f9b=a81_0x180b25['join'](_0x855142,TDX_CONFIG_FILE));}if(!existsSync(_0x855142))return{'found':![],'reason':_0x2c2191(0xc1),'llmProject':_0x5835c0,'message':_0x2c2191(0xb2)+_0x5835c0+_0x2c2191(0xc0)};if(_0x5405c8){const _0x3eb334=readdirSync(_0x855142,{'withFileTypes':!![]}),_0x1dbbfe=_0x3eb334['filter'](_0x1ec9b4=>_0x1ec9b4[_0x2c2191(0xa8)]())[_0x2c2191(0xad)](_0x235d0c=>_0x235d0c['name'])[_0x2c2191(0xa2)](_0x3538c1=>{const _0x5b414e=_0x2c2191,_0x3647ed=a81_0x180b25[_0x5b414e(0xcb)](_0x855142,_0x3538c1,_0x5405c8);return existsSync(_0x3647ed);});if(_0x1dbbfe[_0x2c2191(0xc2)]===0x0)return{'found':![],'reason':'no_tests','llmProject':_0x5835c0,'projectDir':_0x855142};if(_0x1dbbfe[_0x2c2191(0xc2)]>0x1)return{'found':![],'reason':_0x2c2191(0xb6),'llmProject':_0x5835c0,'agentDirs':_0x1dbbfe,'projectDir':_0x855142};return{'found':!![],'projectDir':a81_0x180b25[_0x2c2191(0xcb)](_0x855142,_0x1dbbfe[0x0]),'configPath':_0x4c3f9b,'source':'context'};}return{'found':!![],'projectDir':_0x855142,'configPath':_0x4c3f9b,'source':_0x2c2191(0xcf)};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function a82_0x26f2(_0x465fae,_0x2e4617){_0x465fae=_0x465fae-0x1d0;const _0x512fe5=a82_0x512f();let _0x26f213=_0x512fe5[_0x465fae];return _0x26f213;}function a82_0x512f(){const _0x422812=['split','.\x20Expected\x20\x22project_name\x22\x20or\x20\x22project_name/agent_name\x22','trim','length','14089518AEXcsD','2925390ijwCHu','394RrqIim','1561903rzYcUY','3053300MlJyZC','6ocnmCI','Agent\x20name\x20cannot\x20be\x20empty','5749gFkhFG','Project\x20name\x20cannot\x20be\x20empty','3261510xsisSi','8401040IZxMVJ'];a82_0x512f=function(){return _0x422812;};return a82_0x512f();}(function(_0x11be67,_0x380ce3){const _0x4a8f37=a82_0x26f2,_0x51367d=_0x11be67();while(!![]){try{const _0x29f4a6=parseInt(_0x4a8f37(0x1da))/0x1*(parseInt(_0x4a8f37(0x1d5))/0x2)+parseInt(_0x4a8f37(0x1dc))/0x3+-parseInt(_0x4a8f37(0x1d7))/0x4+-parseInt(_0x4a8f37(0x1d4))/0x5+parseInt(_0x4a8f37(0x1d8))/0x6*(parseInt(_0x4a8f37(0x1d6))/0x7)+parseInt(_0x4a8f37(0x1dd))/0x8+-parseInt(_0x4a8f37(0x1d3))/0x9;if(_0x29f4a6===_0x380ce3)break;else _0x51367d['push'](_0x51367d['shift']());}catch(_0x52fcc6){_0x51367d['push'](_0x51367d['shift']());}}}(a82_0x512f,0x8d605));export function parseAgentRef(_0x29f0c9){const _0x59e144=a82_0x26f2;if(!_0x29f0c9||_0x29f0c9[_0x59e144(0x1d1)]()==='')throw new Error('Agent\x20reference\x20cannot\x20be\x20empty');const _0x385b1b=_0x29f0c9[_0x59e144(0x1d1)](),_0x509488=_0x385b1b[_0x59e144(0x1de)]('/');if(_0x509488[_0x59e144(0x1d2)]===0x1)return{'projectName':_0x509488[0x0],'agentName':undefined};else{if(_0x509488['length']===0x2){const [_0x2c64dc,_0x34009b]=_0x509488;if(!_0x2c64dc||_0x2c64dc[_0x59e144(0x1d1)]()==='')throw new Error(_0x59e144(0x1db));if(!_0x34009b||_0x34009b['trim']()==='')throw new Error(_0x59e144(0x1d9));return{'projectName':_0x2c64dc[_0x59e144(0x1d1)](),'agentName':_0x34009b['trim']()};}else throw new Error('Invalid\x20agent\x20reference\x20format:\x20'+_0x29f0c9+_0x59e144(0x1d0));}}
|