@treasuredata/tdx 2026.7.6 → 2026.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bin.js +1 -1
- package/dist/build-info.json +3 -3
- package/dist/cli-categories.js +1 -1
- package/dist/cli.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.d.ts.map +1 -1
- package/dist/commands/api-command.js +1 -1
- package/dist/commands/api-command.js.map +1 -1
- package/dist/commands/auth-command.js +1 -1
- package/dist/commands/auth-command.js.map +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.d.ts.map +1 -1
- package/dist/commands/claude-command.js +1 -1
- package/dist/commands/claude-command.js.map +1 -1
- package/dist/commands/claude-statusline-command.js +1 -1
- package/dist/commands/claude-usage-command.js +1 -1
- package/dist/commands/command.d.ts +8 -0
- package/dist/commands/command.d.ts.map +1 -1
- package/dist/commands/command.js +1 -1
- package/dist/commands/command.js.map +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-always-on-campaign-pull-command.d.ts +16 -0
- package/dist/commands/engage-always-on-campaign-pull-command.d.ts.map +1 -0
- package/dist/commands/engage-always-on-campaign-pull-command.js +1 -0
- package/dist/commands/engage-always-on-campaign-pull-command.js.map +1 -0
- package/dist/commands/engage-always-on-campaign-push-command.d.ts +16 -0
- package/dist/commands/engage-always-on-campaign-push-command.d.ts.map +1 -0
- package/dist/commands/engage-always-on-campaign-push-command.js +1 -0
- package/dist/commands/engage-always-on-campaign-push-command.js.map +1 -0
- package/dist/commands/engage-always-on-campaign-validate-command.d.ts +16 -0
- package/dist/commands/engage-always-on-campaign-validate-command.d.ts.map +1 -0
- package/dist/commands/engage-always-on-campaign-validate-command.js +1 -0
- package/dist/commands/engage-always-on-campaign-validate-command.js.map +1 -0
- 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.d.ts +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/profile-command.js.map +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-move-command.js +1 -1
- package/dist/commands/segment-pull-command.js +1 -1
- package/dist/commands/segment-push-command.d.ts.map +1 -1
- package/dist/commands/segment-push-command.js +1 -1
- package/dist/commands/segment-push-command.js.map +1 -1
- package/dist/commands/segment-update-command.js +1 -1
- package/dist/commands/segment-use-command.js +1 -1
- package/dist/commands/segment-validate-command.js +1 -1
- package/dist/commands/segments.js +1 -1
- package/dist/commands/show.js +1 -1
- package/dist/commands/status-command.d.ts.map +1 -1
- package/dist/commands/status-command.js +1 -1
- package/dist/commands/status-command.js.map +1 -1
- package/dist/commands/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.d.ts.map +1 -1
- package/dist/commands/use-command.js +1 -1
- package/dist/commands/use-command.js.map +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.js +1 -1
- package/dist/core/connection-cache.js +1 -1
- package/dist/core/constants.js +1 -1
- package/dist/core/credential-cache.js +1 -1
- package/dist/core/global-context.d.ts +35 -1
- package/dist/core/global-context.d.ts.map +1 -1
- package/dist/core/global-context.js +1 -1
- package/dist/core/global-context.js.map +1 -1
- package/dist/core/keychain.js +1 -1
- package/dist/core/oauth-keychain.js +1 -1
- package/dist/core/oauth.js +1 -1
- package/dist/core/profile.js +1 -1
- package/dist/core/project-config.js +1 -1
- package/dist/core/session.js +1 -1
- package/dist/core/site-mismatch.d.ts +68 -0
- package/dist/core/site-mismatch.d.ts.map +1 -0
- package/dist/core/site-mismatch.js +1 -0
- package/dist/core/site-mismatch.js.map +1 -0
- package/dist/core/user-cache.js +1 -1
- package/dist/core/version.js +1 -1
- package/dist/index.js +1 -1
- package/dist/mcp/server.js +1 -1
- package/dist/mcp/tools/index.js +1 -1
- package/dist/mcp/tools/tdx-run.js +1 -1
- package/dist/mcp/tools/tdx-search.js +1 -1
- package/dist/mcp/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-schema.js +1 -1
- package/dist/sdk/cas/cas-audience-validator.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/cas/validate-files.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.d.ts +1 -1
- package/dist/sdk/client/engage-api-client.d.ts.map +1 -1
- package/dist/sdk/client/engage-api-client.js +1 -1
- package/dist/sdk/client/engage-api-client.js.map +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.d.ts +7 -4
- package/dist/sdk/connection-validator.d.ts.map +1 -1
- package/dist/sdk/connection-validator.js +1 -1
- package/dist/sdk/connection-validator.js.map +1 -1
- package/dist/sdk/connection.d.ts +15 -0
- package/dist/sdk/connection.d.ts.map +1 -1
- package/dist/sdk/connection.js +1 -1
- package/dist/sdk/connection.js.map +1 -1
- package/dist/sdk/delivery.js +1 -1
- package/dist/sdk/engage/always-on-campaign-pull.d.ts +66 -0
- package/dist/sdk/engage/always-on-campaign-pull.d.ts.map +1 -0
- package/dist/sdk/engage/always-on-campaign-pull.js +1 -0
- package/dist/sdk/engage/always-on-campaign-pull.js.map +1 -0
- package/dist/sdk/engage/always-on-campaign-push.d.ts +93 -0
- package/dist/sdk/engage/always-on-campaign-push.d.ts.map +1 -0
- package/dist/sdk/engage/always-on-campaign-push.js +1 -0
- package/dist/sdk/engage/always-on-campaign-push.js.map +1 -0
- package/dist/sdk/engage/always-on-campaign-validator.d.ts +18 -0
- package/dist/sdk/engage/always-on-campaign-validator.d.ts.map +1 -0
- package/dist/sdk/engage/always-on-campaign-validator.js +1 -0
- package/dist/sdk/engage/always-on-campaign-validator.js.map +1 -0
- package/dist/sdk/engage/always-on-campaign-yaml.d.ts +62 -0
- package/dist/sdk/engage/always-on-campaign-yaml.d.ts.map +1 -0
- package/dist/sdk/engage/always-on-campaign-yaml.js +1 -0
- package/dist/sdk/engage/always-on-campaign-yaml.js.map +1 -0
- 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/campaign-yaml.js.map +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/always-on-campaign-schema.d.ts +125 -0
- package/dist/sdk/engage/types/always-on-campaign-schema.d.ts.map +1 -0
- package/dist/sdk/engage/types/always-on-campaign-schema.js +1 -0
- package/dist/sdk/engage/types/always-on-campaign-schema.js.map +1 -0
- package/dist/sdk/engage/types/campaign-def.js +1 -1
- package/dist/sdk/engage/types/campaign-schema.d.ts +8 -8
- package/dist/sdk/engage/types/campaign-schema.d.ts.map +1 -1
- package/dist/sdk/engage/types/campaign-schema.js +1 -1
- package/dist/sdk/engage/types/campaign-schema.js.map +1 -1
- package/dist/sdk/engage/types/template-schema.js +1 -1
- package/dist/sdk/engage.d.ts +20 -0
- package/dist/sdk/engage.d.ts.map +1 -1
- package/dist/sdk/engage.js +1 -1
- package/dist/sdk/engage.js.map +1 -1
- package/dist/sdk/errors.d.ts +13 -2
- package/dist/sdk/errors.d.ts.map +1 -1
- package/dist/sdk/errors.js +1 -1
- package/dist/sdk/errors.js.map +1 -1
- package/dist/sdk/index.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.d.ts.map +1 -1
- package/dist/sdk/llm/model-factors.js +1 -1
- package/dist/sdk/llm/model-factors.js.map +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.d.ts +12 -2
- package/dist/sdk/segment/child-segment-yaml.d.ts.map +1 -1
- package/dist/sdk/segment/child-segment-yaml.js +1 -1
- package/dist/sdk/segment/child-segment-yaml.js.map +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.d.ts +6 -1
- package/dist/sdk/segment/validate-files.d.ts.map +1 -1
- package/dist/sdk/segment/validate-files.js +1 -1
- package/dist/sdk/segment/validate-files.js.map +1 -1
- package/dist/sdk/segment/yaml-validator.js +1 -1
- package/dist/sdk/segment.js +1 -1
- package/dist/sdk/types/engage.d.ts +31 -5
- package/dist/sdk/types/engage.d.ts.map +1 -1
- package/dist/sdk/types/index.d.ts +1 -1
- package/dist/sdk/types/index.d.ts.map +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/util/tree-search.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.d.ts +6 -0
- package/dist/test-utils/factories.d.ts.map +1 -1
- package/dist/test-utils/factories.js +1 -1
- package/dist/test-utils/factories.js.map +1 -1
- package/dist/test-utils/fixtures.js +1 -1
- package/dist/test-utils/http-mock.js +1 -1
- package/dist/test-utils/index.d.ts +1 -1
- package/dist/test-utils/index.d.ts.map +1 -1
- package/dist/test-utils/index.js +1 -1
- package/dist/test-utils/index.js.map +1 -1
- package/dist/utils/async.js +1 -1
- package/dist/utils/claude-code-state.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/proxy-fetch.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 a81_0x4623d4=a81_0x5446;(function(_0x4d6c01,_0x3aeb69){const _0x3ac94a=a81_0x5446,_0x373910=_0x4d6c01();while(!![]){try{const _0x1b2aa2=parseInt(_0x3ac94a(0xe8))/0x1+parseInt(_0x3ac94a(0xed))/0x2+-parseInt(_0x3ac94a(0xdf))/0x3*(parseInt(_0x3ac94a(0xd2))/0x4)+-parseInt(_0x3ac94a(0xf8))/0x5+parseInt(_0x3ac94a(0xe0))/0x6+parseInt(_0x3ac94a(0xd9))/0x7*(-parseInt(_0x3ac94a(0xe2))/0x8)+-parseInt(_0x3ac94a(0xf0))/0x9*(-parseInt(_0x3ac94a(0xe3))/0xa);if(_0x1b2aa2===_0x3aeb69)break;else _0x373910['push'](_0x373910['shift']());}catch(_0x1f4a6a){_0x373910['push'](_0x373910['shift']());}}}(a81_0xd5f3,0x5656b));function a81_0x5446(_0x422a6b,_0x1cbb6a){_0x422a6b=_0x422a6b-0xd0;const _0xd5f381=a81_0xd5f3();let _0x5446b2=_0xd5f381[_0x422a6b];return _0x5446b2;}import{z}from'zod';function a81_0xd5f3(){const _0x2804c4=['superseded','review','Template\x20name\x20from\x20templates/\x20folder','No\x20workspace\x20found.\x20Run\x20`tdx\x20work\x20init`\x20to\x20create\x20one.','fileName','done','github','3876kxaste','critical','GitHub\x20PR/issue\x20reference\x20(owner/repo#number)','in_progress','JIRA\x20ticket\x20reference\x20(org/TICKET-ID)','replace','proposed','14xCYwcy','array','createDocument','status','optional','low','2037iXGMFs','2820240EMOHVG','kind','805544zTESjy','10JdamaN','design_review','high','reference','filePath','551338PuFRfV','Tags\x20for\x20the\x20item','string','enum','item','1039822yPCYLK','deprecated','planning','755145MsmEgc','Document\x20kind\x20(default:\x20\x22item\x22)','Markdown\x20body\x20content','priority','describe','accepted','void','object','2061070UyNRPO'];a81_0xd5f3=function(){return _0x2804c4;};return a81_0xd5f3();}import{WorkspaceSDK,resolveWorkspacePath}from'../../sdk/workspace/index.js';const TASK_STATUSES=['backlog','todo',a81_0x4623d4(0xef),a81_0x4623d4(0xe4),a81_0x4623d4(0xd5),a81_0x4623d4(0xfa),a81_0x4623d4(0xd0),a81_0x4623d4(0xf6)],GUIDE_STATUSES=[a81_0x4623d4(0xd8),a81_0x4623d4(0xf5),a81_0x4623d4(0xee),a81_0x4623d4(0xf9)];export const WorkCreateItemInputSchema=z[a81_0x4623d4(0xf7)]({'title':z['string']()[a81_0x4623d4(0xf4)]('Item\x20title\x20(required)'),'kind':z[a81_0x4623d4(0xeb)]([a81_0x4623d4(0xec),'note','guide',a81_0x4623d4(0xe6)])[a81_0x4623d4(0xdd)]()[a81_0x4623d4(0xf4)](a81_0x4623d4(0xf1)),'status':z[a81_0x4623d4(0xeb)]([...TASK_STATUSES,...GUIDE_STATUSES])[a81_0x4623d4(0xdd)]()[a81_0x4623d4(0xf4)]('Initial\x20status\x20(default:\x20\x22todo\x22\x20for\x20items,\x20\x22proposed\x22\x20for\x20guides)'),'tags':z[a81_0x4623d4(0xda)](z['string']())[a81_0x4623d4(0xdd)]()[a81_0x4623d4(0xf4)](a81_0x4623d4(0xe9)),'priority':z[a81_0x4623d4(0xeb)]([a81_0x4623d4(0xd3),a81_0x4623d4(0xe5),'medium',a81_0x4623d4(0xde)])[a81_0x4623d4(0xdd)]()[a81_0x4623d4(0xf4)]('Priority\x20level'),'body':z['string']()[a81_0x4623d4(0xdd)]()[a81_0x4623d4(0xf4)](a81_0x4623d4(0xf2)),'template':z[a81_0x4623d4(0xea)]()['optional']()[a81_0x4623d4(0xf4)](a81_0x4623d4(0xfb)),'github':z[a81_0x4623d4(0xea)]()[a81_0x4623d4(0xdd)]()[a81_0x4623d4(0xf4)](a81_0x4623d4(0xd4)),'jira':z['string']()['optional']()[a81_0x4623d4(0xf4)](a81_0x4623d4(0xd6))});export function executeWorkCreateItem(_0x120051){const _0x1adbaa=a81_0x4623d4,_0x3646e8=resolveWorkspacePath();if(!_0x3646e8)return{'success':![],'error':_0x1adbaa(0xfc)};const _0x28d7de=new WorkspaceSDK(_0x3646e8),_0xbfb324={'title':_0x120051['title'],'kind':_0x120051[_0x1adbaa(0xe1)]||_0x1adbaa(0xec),'status':_0x120051[_0x1adbaa(0xdc)],'tags':_0x120051['tags'],'priority':_0x120051[_0x1adbaa(0xf3)],'body':_0x120051['body'],'template':_0x120051['template'],'github':_0x120051[_0x1adbaa(0xd1)],'jira':_0x120051['jira']},_0x1a00f5=_0x28d7de[_0x1adbaa(0xdb)](_0xbfb324);return{'success':!![],'path':_0x1a00f5[_0x1adbaa(0xe7)],'slug':_0x1a00f5[_0x1adbaa(0xfd)][_0x1adbaa(0xd7)](/\.md$/,'')};}
|
package/dist/mcp/utils.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a82_0x4a4a30=a82_0x11df;function a82_0x1e1b(){const _0x38ab65=['auth\x20login','7iRukuA','This\x20command\x20is\x20not\x20allowed\x20via\x20MCP','Credential\x20management\x20commands\x20are\x20not\x20allowed\x20via\x20MCP','auth\x20setup','join','trimEnd','Profile\x20management\x20commands\x20are\x20not\x20allowed\x20via\x20MCP','mcp','1096732htQjaj','10mmfnrC','auth\x20clear','4710756KZvyir','profile\x20remove','--profile','30250701GoRoZq','3821622ehEKZS','Profile\x20switching\x20via\x20--profile\x20flag\x20is\x20not\x20allowed\x20via\x20MCP','toLowerCase','Cannot\x20run\x20MCP\x20server\x20recursively','length','slice','2635326krjhZu','profile\x20create','2040808IYYpCZ','138350XeLLkS','replace','startsWith'];a82_0x1e1b=function(){return _0x38ab65;};return a82_0x1e1b();}(function(_0x2a3b59,_0x34f0f0){const _0x4717af=a82_0x11df,_0x43e6d3=_0x2a3b59();while(!![]){try{const _0x19306d=parseInt(_0x4717af(0x155))/0x1+parseInt(_0x4717af(0x165))/0x2+-parseInt(_0x4717af(0x15c))/0x3+-parseInt(_0x4717af(0x158))/0x4+parseInt(_0x4717af(0x156))/0x5*(-parseInt(_0x4717af(0x162))/0x6)+-parseInt(_0x4717af(0x14d))/0x7*(parseInt(_0x4717af(0x164))/0x8)+parseInt(_0x4717af(0x15b))/0x9;if(_0x19306d===_0x34f0f0)break;else _0x43e6d3['push'](_0x43e6d3['shift']());}catch(_0x2a5db0){_0x43e6d3['push'](_0x43e6d3['shift']());}}}(a82_0x1e1b,0xe5fa6));const BLOCKED_COMMANDS=[a82_0x4a4a30(0x150),a82_0x4a4a30(0x14c),a82_0x4a4a30(0x157),a82_0x4a4a30(0x163),'profile\x20delete','profile\x20remove',a82_0x4a4a30(0x154)],BLOCKED_FLAGS=[a82_0x4a4a30(0x15a),'-p'];export function hasBlockedFlag(_0x1eaa8b){const _0x12d490=a82_0x4a4a30;for(const _0x191b33 of _0x1eaa8b){const _0x4aa7bf=_0x191b33[_0x12d490(0x15e)]();for(const _0x5940b3 of BLOCKED_FLAGS){if(_0x4aa7bf===_0x5940b3||_0x4aa7bf[_0x12d490(0x14b)](_0x5940b3+'='))return!![];}}return![];}function a82_0x11df(_0x1f1c5f,_0x4d8794){_0x1f1c5f=_0x1f1c5f-0x14b;const _0x1e1b2d=a82_0x1e1b();let _0x11dfe5=_0x1e1b2d[_0x1f1c5f];return _0x11dfe5;}export function isBlockedCommand(_0x3a89c7){const _0xed51d0=a82_0x4a4a30;if(_0x3a89c7[_0xed51d0(0x160)]===0x0)return![];if(hasBlockedFlag(_0x3a89c7))return!![];const _0x457681=_0x3a89c7[_0xed51d0(0x161)](0x0,0x2)[_0xed51d0(0x151)]('\x20')[_0xed51d0(0x15e)]();for(const _0x576c95 of BLOCKED_COMMANDS){if(_0x457681['startsWith'](_0x576c95))return!![];}const _0x279816=_0x3a89c7[0x0][_0xed51d0(0x15e)]();for(const _0x3119f1 of BLOCKED_COMMANDS){if(!_0x3119f1['includes']('\x20')&&_0x279816===_0x3119f1)return!![];}return![];}export function getBlockedReason(_0x2604e7){const _0x596c95=a82_0x4a4a30;if(!isBlockedCommand(_0x2604e7))return undefined;if(hasBlockedFlag(_0x2604e7))return _0x596c95(0x15d);const _0x4b89b4=_0x2604e7[_0x596c95(0x161)](0x0,0x2)[_0x596c95(0x151)]('\x20')[_0x596c95(0x15e)](),_0x325e19=_0x2604e7[0x0][_0x596c95(0x15e)]();if(_0x4b89b4[_0x596c95(0x14b)]('auth\x20setup')||_0x4b89b4['startsWith'](_0x596c95(0x14c))||_0x4b89b4[_0x596c95(0x14b)]('auth\x20clear'))return _0x596c95(0x14f);if(_0x4b89b4['startsWith'](_0x596c95(0x163))||_0x4b89b4[_0x596c95(0x14b)]('profile\x20delete')||_0x4b89b4[_0x596c95(0x14b)](_0x596c95(0x159)))return _0x596c95(0x153);if(_0x325e19===_0x596c95(0x154))return _0x596c95(0x15f);return _0x596c95(0x14e);}export function formatOutput(_0x5bc09d){const _0x200933=a82_0x4a4a30,_0x27742a=/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g;let _0x4f8e7a=_0x5bc09d[_0x200933(0x166)](_0x27742a,'');return _0x4f8e7a=_0x4f8e7a[_0x200933(0x166)](/\r\n/g,'\x0a')['replace'](/\r/g,'\x0a'),_0x4f8e7a=_0x4f8e7a[_0x200933(0x152)](),_0x4f8e7a;}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0x5d5a2e,_0x3ea4fb){const _0x206e68=a79_0x56ef,_0x2a27be=_0x5d5a2e();while(!![]){try{const _0x40e32a=-parseInt(_0x206e68(0x16f))/0x1+-parseInt(_0x206e68(0x188))/0x2*(-parseInt(_0x206e68(0x177))/0x3)+parseInt(_0x206e68(0x166))/0x4+-parseInt(_0x206e68(0x150))/0x5+-parseInt(_0x206e68(0x149))/0x6*(-parseInt(_0x206e68(0x148))/0x7)+parseInt(_0x206e68(0x16e))/0x8*(parseInt(_0x206e68(0x185))/0x9)+-parseInt(_0x206e68(0x181))/0xa;if(_0x40e32a===_0x3ea4fb)break;else _0x2a27be['push'](_0x2a27be['shift']());}catch(_0x57b789){_0x2a27be['push'](_0x2a27be['shift']());}}}(a79_0x45f0,0xa3ba1));import{readFile,writeFile,appendFile,mkdir,readdir,stat}from'node:fs/promises';import{existsSync}from'node:fs';import{join,resolve}from'node:path';function a79_0x45f0(){const _0x1ed3c0=['stats-cache.json','message','toISOString','1518200lUFdsV','endsWith','init','utf-8','81jrmQdD','todayDate','default','534ueNPho','split','entries','2543198aHvXbd','12aCShlP','daily','object','replace','values','sources','totalCredits','1664955RdnQGg','length','Failed\x20to\x20process\x20session\x20','keys','outputTokens','Failed\x20to\x20read\x20usage\x20directory:','entryCount','model','getFullYear','mtime','lastUsedAt','cacheCreationInputTokens','cacheReadInputTokens','startsWith','contextSignature','sort','filter','source','timestamp','claude-usage','slice','monthly','4150088mkClID','credits','warn','map','inputTokens','profile','getMonth','sessions','157672QpIxxV','862457fXJxJe','getTime','latestContextTokensBySignature','todayCredits','Failed\x20to\x20read\x20usage\x20file\x20','month','monthCredits','totalChatUnits','858jDKetO','stringify','.jsonl','Invalid\x20session\x20ID:\x20path\x20traversal\x20detected','lastUpdatedAt','profiles','max'];a79_0x45f0=function(){return _0x1ed3c0;};return a79_0x45f0();}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 _0x41238b=a79_0x56ef;return!usageLogger&&(usageLogger=new TDXLogger(LogLevel['WARN'],!![]),await usageLogger[_0x41238b(0x183)]()),usageLogger;}function getUsageDir(){const _0x3fadca=a79_0x56ef;return join(getGlobalCacheDir(),_0x3fadca(0x163));}function sanitizeSessionId(_0x82de44){const _0x483a74=a79_0x56ef;return _0x82de44[_0x483a74(0x14c)](/[^a-zA-Z0-9_-]/g,'_');}function getSafeJsonlPath(_0x27d1a2){const _0x39b9c7=a79_0x56ef,_0x1e91ae=getUsageDir(),_0x37514d=sanitizeSessionId(_0x27d1a2),_0x83f100=resolve(_0x1e91ae,_0x37514d+_0x39b9c7(0x179));if(!_0x83f100[_0x39b9c7(0x15d)](_0x1e91ae))throw new Error(_0x39b9c7(0x17a));return _0x83f100;}function a79_0x56ef(_0x271372,_0x512e01){_0x271372=_0x271372-0x148;const _0x45f038=a79_0x45f0();let _0x56efc7=_0x45f038[_0x271372];return _0x56efc7;}function getStatsCachePath(){const _0x5be3fe=a79_0x56ef;return join(getUsageDir(),_0x5be3fe(0x17e));}async function ensureUsageDir(){const _0x255658=getUsageDir();!existsSync(_0x255658)&&await mkdir(_0x255658,{'recursive':!![]});}export async function appendUsageEntry(_0x21c81f,_0x3e34bd){const _0x1ae15b=a79_0x56ef,_0x598ed9=sanitizeSessionId(_0x21c81f);await ensureUsageDir();const _0x179667=getSafeJsonlPath(_0x598ed9),_0x5333f3=JSON[_0x1ae15b(0x178)](_0x3e34bd)+'\x0a';await appendFile(_0x179667,_0x5333f3,'utf-8');}async function readSessionJsonl(_0x345bc2){const _0x3cea97=a79_0x56ef,_0x43ab38=getSafeJsonlPath(_0x345bc2);if(!existsSync(_0x43ab38))return[];try{const _0x12e4e4=await readFile(_0x43ab38,_0x3cea97(0x184)),_0x2c76da=_0x12e4e4['trim']()[_0x3cea97(0x189)]('\x0a')[_0x3cea97(0x160)](Boolean);return _0x2c76da[_0x3cea97(0x169)](_0xbfe206=>{try{return JSON['parse'](_0xbfe206);}catch{return null;}})['filter'](_0x15d934=>_0x15d934!==null);}catch(_0x29366f){const _0x2a6edc=await getLogger();return _0x2a6edc[_0x3cea97(0x168)](_0x3cea97(0x173)+_0x345bc2+'.jsonl:',_0x29366f instanceof Error?_0x29366f[_0x3cea97(0x17f)]:String(_0x29366f)),[];}}async function getAllSessionFiles(){const _0x4261e8=a79_0x56ef,_0x271432=getUsageDir();if(!existsSync(_0x271432))return[];try{const _0x44a5a7=await readdir(_0x271432);return _0x44a5a7['filter'](_0x3c0225=>_0x3c0225[_0x4261e8(0x182)]('.jsonl'))['map'](_0x5516ba=>_0x5516ba[_0x4261e8(0x14c)](_0x4261e8(0x179),''));}catch(_0x100fc7){const _0x1dea1d=await getLogger();return _0x1dea1d[_0x4261e8(0x168)](_0x4261e8(0x155),_0x100fc7 instanceof Error?_0x100fc7[_0x4261e8(0x17f)]:String(_0x100fc7)),[];}}async function readStatsCache(){const _0x517905=a79_0x56ef,_0x3856fb=getStatsCachePath();if(!existsSync(_0x3856fb))return null;try{const _0x8383c1=await readFile(_0x3856fb,_0x517905(0x184)),_0x1319c9=JSON['parse'](_0x8383c1),_0x3d17fc=Object['values'](_0x1319c9['sessions']||{})[0x0];if(_0x3d17fc&&_0x517905(0x176)in _0x3d17fc)return null;return _0x1319c9;}catch{return null;}}async function writeStatsCache(_0x5248ea){const _0x1248ff=a79_0x56ef;await ensureUsageDir();const _0x1f4f54=getStatsCachePath();await writeFile(_0x1f4f54,JSON[_0x1248ff(0x178)](_0x5248ea,null,0x2),'utf-8');}async function isCacheUpToDate(_0x205cac,_0x203cd0){const _0x22823b=a79_0x56ef,_0x10a22e=_0x205cac[_0x22823b(0x16d)][_0x203cd0];if(!_0x10a22e)return![];const _0x183883=getSafeJsonlPath(_0x203cd0);if(!existsSync(_0x183883))return!![];try{const _0x2ae9e0=await stat(_0x183883),_0x3ec589=new Date(_0x10a22e[_0x22823b(0x17b)])[_0x22823b(0x170)](),_0x3c50b9=_0x2ae9e0[_0x22823b(0x159)][_0x22823b(0x170)]();return _0x3ec589>_0x3c50b9;}catch{return![];}}export async function rebuildCache(){const _0x6ad445=a79_0x56ef,_0x1a7e0b=new Date(),_0x534d2e=_0x1a7e0b['toISOString']()[_0x6ad445(0x164)](0x0,0xa),_0x18abe7=_0x1a7e0b['toISOString']()[_0x6ad445(0x164)](0x0,0x7),_0x439fab={'daily':{},'monthly':{},'sessions':{},'profiles':{},'sources':{},'lastRebuiltAt':_0x1a7e0b[_0x6ad445(0x180)]()},_0x42d58b=await getAllSessionFiles();for(const _0x680357 of _0x42d58b){try{const _0x42bd72=await readSessionJsonl(_0x680357);if(_0x42bd72[_0x6ad445(0x151)]===0x0)continue;let _0x4019a6=0x0;const _0xba1119={};let _0x2a65ec='';for(const _0x229b54 of _0x42bd72){const _0x1e3b7a=_0x229b54[_0x6ad445(0x15b)]??0x0,_0x31e8e9=_0x229b54[_0x6ad445(0x15c)]??0x0,_0x783d1a=_0x229b54['inputTokens']+_0x1e3b7a+_0x31e8e9,_0x3b6517=getModelPricing(_0x229b54[_0x6ad445(0x157)],_0x783d1a),_0x57af4e=calculateTokenCost(_0x229b54[_0x6ad445(0x16a)],_0x229b54[_0x6ad445(0x154)],_0x1e3b7a,_0x31e8e9,_0x3b6517),_0xc13e54=usdToAiCredits(_0x57af4e);_0x4019a6+=_0xc13e54;const _0x2256fd=_0x229b54[_0x6ad445(0x15e)]||_0x6ad445(0x187);_0xba1119[_0x2256fd]=_0x783d1a;_0x229b54[_0x6ad445(0x162)]>_0x2a65ec&&(_0x2a65ec=_0x229b54[_0x6ad445(0x162)]);const _0x2b63da=_0x229b54[_0x6ad445(0x162)][_0x6ad445(0x164)](0x0,0xa);!_0x439fab[_0x6ad445(0x14a)][_0x2b63da]&&(_0x439fab[_0x6ad445(0x14a)][_0x2b63da]={'totalCredits':0x0,'entryCount':0x0});_0x439fab[_0x6ad445(0x14a)][_0x2b63da][_0x6ad445(0x14f)]+=_0xc13e54,_0x439fab[_0x6ad445(0x14a)][_0x2b63da][_0x6ad445(0x156)]+=0x1;const _0x5aafe7=_0x229b54['timestamp'][_0x6ad445(0x164)](0x0,0x7);!_0x439fab['monthly'][_0x5aafe7]&&(_0x439fab['monthly'][_0x5aafe7]={'totalCredits':0x0,'entryCount':0x0});_0x439fab[_0x6ad445(0x165)][_0x5aafe7][_0x6ad445(0x14f)]+=_0xc13e54,_0x439fab[_0x6ad445(0x165)][_0x5aafe7][_0x6ad445(0x156)]+=0x1;const _0x482fd8=_0x229b54[_0x6ad445(0x16b)]||_0x6ad445(0x187);!_0x439fab[_0x6ad445(0x17c)][_0x482fd8]&&(_0x439fab[_0x6ad445(0x17c)][_0x482fd8]={'totalCredits':0x0,'entryCount':0x0,'lastUsedAt':'','todayCredits':0x0,'todayDate':_0x534d2e,'monthCredits':0x0,'month':_0x18abe7});_0x439fab[_0x6ad445(0x17c)][_0x482fd8][_0x6ad445(0x14f)]+=_0xc13e54,_0x439fab['profiles'][_0x482fd8][_0x6ad445(0x156)]+=0x1;_0x229b54[_0x6ad445(0x162)]>_0x439fab[_0x6ad445(0x17c)][_0x482fd8]['lastUsedAt']&&(_0x439fab[_0x6ad445(0x17c)][_0x482fd8]['lastUsedAt']=_0x229b54[_0x6ad445(0x162)]);_0x2b63da===_0x534d2e&&(_0x439fab['profiles'][_0x482fd8][_0x6ad445(0x172)]+=_0xc13e54);_0x5aafe7===_0x18abe7&&(_0x439fab['profiles'][_0x482fd8][_0x6ad445(0x175)]+=_0xc13e54);const _0x30e5ac=_0x229b54[_0x6ad445(0x161)]||'tdx-claude';!_0x439fab[_0x6ad445(0x14e)][_0x30e5ac]&&(_0x439fab[_0x6ad445(0x14e)][_0x30e5ac]={'totalCredits':0x0,'entryCount':0x0,'todayCredits':0x0,'todayDate':_0x534d2e,'monthCredits':0x0,'month':_0x18abe7}),_0x439fab[_0x6ad445(0x14e)][_0x30e5ac][_0x6ad445(0x14f)]+=_0xc13e54,_0x439fab['sources'][_0x30e5ac][_0x6ad445(0x156)]+=0x1,_0x2b63da===_0x534d2e&&(_0x439fab['sources'][_0x30e5ac][_0x6ad445(0x172)]+=_0xc13e54),_0x5aafe7===_0x18abe7&&(_0x439fab[_0x6ad445(0x14e)][_0x30e5ac][_0x6ad445(0x175)]+=_0xc13e54);}_0x439fab[_0x6ad445(0x16d)][_0x680357]={'totalCredits':_0x4019a6,'latestContextTokensBySignature':_0xba1119,'createdAt':_0x42bd72[0x0]['timestamp'],'lastUpdatedAt':_0x2a65ec};}catch(_0x2fa0cc){const _0x1ccb0a=await getLogger();_0x1ccb0a[_0x6ad445(0x168)](_0x6ad445(0x152)+_0x680357+':',_0x2fa0cc instanceof Error?_0x2fa0cc[_0x6ad445(0x17f)]:String(_0x2fa0cc));continue;}}return cleanupOldEntries(_0x439fab),await writeStatsCache(_0x439fab),_0x439fab;}function cleanupOldEntries(_0x834e94){const _0xc996bd=a79_0x56ef,_0x31d527=new Date(),_0x5845e9=new Date(_0x31d527[_0xc996bd(0x170)]()-0x7*0x18*0x3c*0x3c*0x3e8);for(const _0x3f6166 of Object[_0xc996bd(0x153)](_0x834e94[_0xc996bd(0x14a)])){new Date(_0x3f6166)<_0x5845e9&&delete _0x834e94[_0xc996bd(0x14a)][_0x3f6166];}const _0x4bf147=new Date(_0x31d527[_0xc996bd(0x158)]()-0x1,_0x31d527[_0xc996bd(0x16c)](),0x1);for(const _0x34e120 of Object[_0xc996bd(0x153)](_0x834e94['monthly'])){const [_0xe5170e,_0x5147a9]=_0x34e120[_0xc996bd(0x189)]('-')[_0xc996bd(0x169)](Number),_0x56e9c2=new Date(_0xe5170e,_0x5147a9-0x1,0x1);_0x56e9c2<_0x4bf147&&delete _0x834e94[_0xc996bd(0x165)][_0x34e120];}const _0xdba3a3=new Date(_0x31d527[_0xc996bd(0x170)]()-0x1e*0x18*0x3c*0x3c*0x3e8);for(const [_0x1adb41,_0x23b1a8]of Object[_0xc996bd(0x18a)](_0x834e94['sessions'])){new Date(_0x23b1a8[_0xc996bd(0x17b)])<_0xdba3a3&&delete _0x834e94[_0xc996bd(0x16d)][_0x1adb41];}}export async function getOrUpdateCache(_0x3a8740){const _0x1efcf3=_0x3a8740?sanitizeSessionId(_0x3a8740):undefined,_0x96c36f=await readStatsCache();if(!_0x96c36f)return rebuildCache();if(_0x1efcf3){const _0x138a70=await isCacheUpToDate(_0x96c36f,_0x1efcf3);if(!_0x138a70)return rebuildCache();}return _0x96c36f;}export async function getSessionCredits(_0x8d4240){const _0x573f53=a79_0x56ef,_0x935ac9=sanitizeSessionId(_0x8d4240),_0x6d4ec7=await getOrUpdateCache(_0x935ac9),_0x4e73c5=_0x6d4ec7['sessions'][_0x935ac9];if(!_0x4e73c5)return 0x0;return _0x4e73c5[_0x573f53(0x14f)];}export async function getTodayCredits(){const _0x149b79=a79_0x56ef,_0x56271e=await getOrUpdateCache(),_0x43c253=new Date()[_0x149b79(0x180)]()[_0x149b79(0x164)](0x0,0xa),_0x51e62a=_0x56271e[_0x149b79(0x14a)][_0x43c253];if(!_0x51e62a)return 0x0;return _0x51e62a[_0x149b79(0x14f)];}export async function getMonthCredits(){const _0x4068b2=a79_0x56ef,_0xb0f6a3=await getOrUpdateCache(),_0x27504c=new Date()[_0x4068b2(0x180)]()[_0x4068b2(0x164)](0x0,0x7),_0x310cf8=_0xb0f6a3[_0x4068b2(0x165)][_0x27504c];if(!_0x310cf8)return 0x0;return _0x310cf8[_0x4068b2(0x14f)];}export async function getSessionStats(_0x3d8040){const _0x3eee03=sanitizeSessionId(_0x3d8040),_0xdc2af7=await getOrUpdateCache(_0x3eee03);return _0xdc2af7['sessions'][_0x3eee03]||null;}function getMaxLatestContextTokens(_0x30f110){const _0x1b32d7=a79_0x56ef,_0xc5187c=Object[_0x1b32d7(0x14d)](_0x30f110);if(_0xc5187c['length']===0x0)return 0x0;return Math[_0x1b32d7(0x17d)](..._0xc5187c);}export async function getUsageStats(_0x2c4fd4,_0x16811b){const _0x28eb0a=a79_0x56ef,_0x3d54a7=sanitizeSessionId(_0x2c4fd4),_0x401fd2=await getOrUpdateCache(_0x3d54a7),_0x2376ee=_0x401fd2['sessions'][_0x3d54a7],_0x37b52d=new Date()['toISOString']()[_0x28eb0a(0x164)](0x0,0xa),_0x3d3e01=new Date()[_0x28eb0a(0x180)]()[_0x28eb0a(0x164)](0x0,0x7);if(_0x16811b){const _0x1c26a4=_0x401fd2['profiles']?.[_0x16811b],_0x2a2991=_0x1c26a4?.['todayDate']===_0x37b52d?_0x1c26a4['todayCredits']:0x0,_0x3ade26=_0x1c26a4?.[_0x28eb0a(0x174)]===_0x3d3e01?_0x1c26a4[_0x28eb0a(0x175)]:0x0;return{'sessionCredits':_0x2376ee?_0x2376ee['totalCredits']:0x0,'todayCredits':_0x2a2991,'monthCredits':_0x3ade26,'latestContextTokens':_0x2376ee?getMaxLatestContextTokens(_0x2376ee[_0x28eb0a(0x171)]):0x0};}return{'sessionCredits':_0x2376ee?_0x2376ee['totalCredits']:0x0,'todayCredits':_0x401fd2[_0x28eb0a(0x14a)][_0x37b52d]?_0x401fd2['daily'][_0x37b52d][_0x28eb0a(0x14f)]:0x0,'monthCredits':_0x401fd2['monthly'][_0x3d3e01]?_0x401fd2[_0x28eb0a(0x165)][_0x3d3e01][_0x28eb0a(0x14f)]:0x0,'latestContextTokens':_0x2376ee?getMaxLatestContextTokens(_0x2376ee[_0x28eb0a(0x171)]):0x0};}export async function getAllProfileStats(){const _0x9c5210=a79_0x56ef,_0x9a8fa5=await getOrUpdateCache(),_0xecd2=_0x9a8fa5[_0x9c5210(0x17c)]||{};return Object[_0x9c5210(0x18a)](_0xecd2)[_0x9c5210(0x160)](([,_0x1be2c4])=>_0x1be2c4&&typeof _0x1be2c4===_0x9c5210(0x14b))[_0x9c5210(0x169)](([_0x3bed3f,_0x44e1b5])=>({'profile':_0x3bed3f,'credits':_0x44e1b5[_0x9c5210(0x14f)]||0x0,'entryCount':_0x44e1b5[_0x9c5210(0x156)]||0x0,'lastUsedAt':_0x44e1b5[_0x9c5210(0x15a)]||''}))[_0x9c5210(0x15f)]((_0x4fba50,_0x385374)=>_0x385374[_0x9c5210(0x167)]-_0x4fba50[_0x9c5210(0x167)]);}export async function getAllSourceStats(){const _0x257751=a79_0x56ef,_0x1cd5aa=await getOrUpdateCache(),_0x54168b=_0x1cd5aa[_0x257751(0x14e)]||{},_0x1cd3d8=new Date()[_0x257751(0x180)]()[_0x257751(0x164)](0x0,0xa),_0xc1d309=new Date()[_0x257751(0x180)]()['slice'](0x0,0x7);return Object['entries'](_0x54168b)[_0x257751(0x160)](([,_0x8044a1])=>_0x8044a1&&typeof _0x8044a1==='object')[_0x257751(0x169)](([_0x2e2337,_0x2db74a])=>({'source':_0x2e2337,'credits':_0x2db74a['totalCredits']||0x0,'todayCredits':_0x2db74a[_0x257751(0x186)]===_0x1cd3d8?_0x2db74a['todayCredits']||0x0:0x0,'monthCredits':_0x2db74a['month']===_0xc1d309?_0x2db74a[_0x257751(0x175)]||0x0:0x0,'entryCount':_0x2db74a['entryCount']||0x0}))[_0x257751(0x15f)]((_0x5eaf72,_0x4fdb8f)=>_0x4fdb8f[_0x257751(0x167)]-_0x5eaf72[_0x257751(0x167)]);}export async function getUsageSummary(){const _0x39a0b4=a79_0x56ef,_0x4629eb=await getOrUpdateCache(),_0x356103=_0x4629eb['profiles']||{},_0x59e22e=new Date()[_0x39a0b4(0x180)]()['slice'](0x0,0xa),_0x184e5b=new Date()[_0x39a0b4(0x180)]()[_0x39a0b4(0x164)](0x0,0x7),_0x16a18e=Object['values'](_0x356103)[_0x39a0b4(0x160)](_0x1014f3=>_0x1014f3&&typeof _0x1014f3==='object'),_0x462db7=_0x16a18e['reduce']((_0x1e3311,_0x432eee)=>_0x1e3311+(_0x432eee[_0x39a0b4(0x14f)]||0x0),0x0);return{'todayCredits':_0x4629eb['daily'][_0x59e22e]?_0x4629eb[_0x39a0b4(0x14a)][_0x59e22e][_0x39a0b4(0x14f)]||0x0:0x0,'monthCredits':_0x4629eb[_0x39a0b4(0x165)][_0x184e5b]?_0x4629eb[_0x39a0b4(0x165)][_0x184e5b][_0x39a0b4(0x14f)]||0x0:0x0,'totalCredits':_0x462db7,'profileCount':_0x16a18e['length']};}
|
|
1
|
+
(function(_0x360ef9,_0x592443){const _0x3f4340=a83_0x1f2d,_0xa0ffc5=_0x360ef9();while(!![]){try{const _0x54e89a=-parseInt(_0x3f4340(0x13d))/0x1+parseInt(_0x3f4340(0x167))/0x2+parseInt(_0x3f4340(0x135))/0x3*(-parseInt(_0x3f4340(0x165))/0x4)+-parseInt(_0x3f4340(0x136))/0x5+parseInt(_0x3f4340(0x161))/0x6*(parseInt(_0x3f4340(0x13e))/0x7)+-parseInt(_0x3f4340(0x151))/0x8*(-parseInt(_0x3f4340(0x13b))/0x9)+-parseInt(_0x3f4340(0x137))/0xa;if(_0x54e89a===_0x592443)break;else _0xa0ffc5['push'](_0xa0ffc5['shift']());}catch(_0x1b08c8){_0xa0ffc5['push'](_0xa0ffc5['shift']());}}}(a83_0x3654,0x3371f));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 _0x2c0bd7=a83_0x1f2d;return!usageLogger&&(usageLogger=new TDXLogger(LogLevel[_0x2c0bd7(0x15d)],!![]),await usageLogger[_0x2c0bd7(0x14e)]()),usageLogger;}function getUsageDir(){const _0x13ec1c=a83_0x1f2d;return join(getGlobalCacheDir(),_0x13ec1c(0x154));}function a83_0x3654(){const _0x301891=['WARN','reduce','month','cacheCreationInputTokens','90fooHfv','profiles','keys','endsWith','4tDhscM','contextSignature','531500QGRRmT','startsWith','monthCredits','daily','sessions','filter','values','slice','Failed\x20to\x20read\x20usage\x20file\x20','inputTokens','model','156603dpSeOP','594845wvMsBq','1667660YveiDh','timestamp','parse','totalCredits','99IRIqOh','credits','25174xNcNwo','98602oQvgtH','entries','Invalid\x20session\x20ID:\x20path\x20traversal\x20detected','.jsonl','getTime','default','Failed\x20to\x20read\x20usage\x20directory:','latestContextTokensBySignature','map','message','stringify','toISOString','tdx-claude','object','cacheReadInputTokens','monthly','init','utf-8','length','70392IXEMXz','stats-cache.json','profile','claude-usage','sources','replace','lastUpdatedAt','entryCount','sort','warn','todayCredits','.jsonl:'];a83_0x3654=function(){return _0x301891;};return a83_0x3654();}function sanitizeSessionId(_0x925d99){const _0x49e522=a83_0x1f2d;return _0x925d99[_0x49e522(0x156)](/[^a-zA-Z0-9_-]/g,'_');}function getSafeJsonlPath(_0x53430b){const _0x4eca6f=a83_0x1f2d,_0x267596=getUsageDir(),_0x5f2687=sanitizeSessionId(_0x53430b),_0x21da6c=resolve(_0x267596,_0x5f2687+_0x4eca6f(0x141));if(!_0x21da6c[_0x4eca6f(0x168)](_0x267596))throw new Error(_0x4eca6f(0x140));return _0x21da6c;}function getStatsCachePath(){const _0xeacfc8=a83_0x1f2d;return join(getUsageDir(),_0xeacfc8(0x152));}async function ensureUsageDir(){const _0x1e0bb9=getUsageDir();!existsSync(_0x1e0bb9)&&await mkdir(_0x1e0bb9,{'recursive':!![]});}export async function appendUsageEntry(_0x4ee531,_0x377849){const _0x5e2e28=a83_0x1f2d,_0x20fd7e=sanitizeSessionId(_0x4ee531);await ensureUsageDir();const _0x29201f=getSafeJsonlPath(_0x20fd7e),_0x590e45=JSON[_0x5e2e28(0x148)](_0x377849)+'\x0a';await appendFile(_0x29201f,_0x590e45,'utf-8');}async function readSessionJsonl(_0xa600a7){const _0x5150e1=a83_0x1f2d,_0x1d3f86=getSafeJsonlPath(_0xa600a7);if(!existsSync(_0x1d3f86))return[];try{const _0x435716=await readFile(_0x1d3f86,_0x5150e1(0x14f)),_0x5152fb=_0x435716['trim']()['split']('\x0a')['filter'](Boolean);return _0x5152fb[_0x5150e1(0x146)](_0x281224=>{const _0x197fde=_0x5150e1;try{return JSON[_0x197fde(0x139)](_0x281224);}catch{return null;}})[_0x5150e1(0x16c)](_0x619999=>_0x619999!==null);}catch(_0x2ee5b9){const _0x5eaabd=await getLogger();return _0x5eaabd[_0x5150e1(0x15a)](_0x5150e1(0x132)+_0xa600a7+_0x5150e1(0x15c),_0x2ee5b9 instanceof Error?_0x2ee5b9[_0x5150e1(0x147)]:String(_0x2ee5b9)),[];}}async function getAllSessionFiles(){const _0x475407=a83_0x1f2d,_0x4aa267=getUsageDir();if(!existsSync(_0x4aa267))return[];try{const _0x15d6c4=await readdir(_0x4aa267);return _0x15d6c4[_0x475407(0x16c)](_0x5d3615=>_0x5d3615[_0x475407(0x164)]('.jsonl'))[_0x475407(0x146)](_0x42e10b=>_0x42e10b[_0x475407(0x156)](_0x475407(0x141),''));}catch(_0x33d5b9){const _0x573172=await getLogger();return _0x573172['warn'](_0x475407(0x144),_0x33d5b9 instanceof Error?_0x33d5b9[_0x475407(0x147)]:String(_0x33d5b9)),[];}}async function readStatsCache(){const _0x46c92d=a83_0x1f2d,_0x46765a=getStatsCachePath();if(!existsSync(_0x46765a))return null;try{const _0x155424=await readFile(_0x46765a,'utf-8'),_0x5677d7=JSON[_0x46c92d(0x139)](_0x155424),_0x22532d=Object[_0x46c92d(0x16d)](_0x5677d7[_0x46c92d(0x16b)]||{})[0x0];if(_0x22532d&&'totalChatUnits'in _0x22532d)return null;return _0x5677d7;}catch{return null;}}async function writeStatsCache(_0x662d0){const _0xf31715=a83_0x1f2d;await ensureUsageDir();const _0x335012=getStatsCachePath();await writeFile(_0x335012,JSON[_0xf31715(0x148)](_0x662d0,null,0x2),_0xf31715(0x14f));}async function isCacheUpToDate(_0x211c4b,_0x8aa1b3){const _0x58f13d=a83_0x1f2d,_0x3ed71a=_0x211c4b[_0x58f13d(0x16b)][_0x8aa1b3];if(!_0x3ed71a)return![];const _0x490542=getSafeJsonlPath(_0x8aa1b3);if(!existsSync(_0x490542))return!![];try{const _0x42134d=await stat(_0x490542),_0x4557a6=new Date(_0x3ed71a[_0x58f13d(0x157)])[_0x58f13d(0x142)](),_0x89cd75=_0x42134d['mtime'][_0x58f13d(0x142)]();return _0x4557a6>_0x89cd75;}catch{return![];}}export async function rebuildCache(){const _0x5cb7e7=a83_0x1f2d,_0x299f95=new Date(),_0x2beadd=_0x299f95[_0x5cb7e7(0x149)]()[_0x5cb7e7(0x16e)](0x0,0xa),_0x5ba90f=_0x299f95[_0x5cb7e7(0x149)]()[_0x5cb7e7(0x16e)](0x0,0x7),_0x20f4c0={'daily':{},'monthly':{},'sessions':{},'profiles':{},'sources':{},'lastRebuiltAt':_0x299f95[_0x5cb7e7(0x149)]()},_0x2a12e8=await getAllSessionFiles();for(const _0x1f95d2 of _0x2a12e8){try{const _0x1f7f4c=await readSessionJsonl(_0x1f95d2);if(_0x1f7f4c[_0x5cb7e7(0x150)]===0x0)continue;let _0x2e3de2=0x0;const _0xc55c1d={};let _0x307caa='';for(const _0x421677 of _0x1f7f4c){const _0xfedc7b=_0x421677[_0x5cb7e7(0x160)]??0x0,_0x14ad12=_0x421677[_0x5cb7e7(0x14c)]??0x0,_0x5b8696=_0x421677[_0x5cb7e7(0x133)]+_0xfedc7b+_0x14ad12,_0x25a845=getModelPricing(_0x421677[_0x5cb7e7(0x134)],_0x5b8696),_0x3373b7=calculateTokenCost(_0x421677[_0x5cb7e7(0x133)],_0x421677['outputTokens'],_0xfedc7b,_0x14ad12,_0x25a845),_0x35065c=usdToAiCredits(_0x3373b7);_0x2e3de2+=_0x35065c;const _0x297b51=_0x421677[_0x5cb7e7(0x166)]||_0x5cb7e7(0x143);_0xc55c1d[_0x297b51]=_0x5b8696;_0x421677[_0x5cb7e7(0x138)]>_0x307caa&&(_0x307caa=_0x421677[_0x5cb7e7(0x138)]);const _0x547ac9=_0x421677[_0x5cb7e7(0x138)][_0x5cb7e7(0x16e)](0x0,0xa);!_0x20f4c0['daily'][_0x547ac9]&&(_0x20f4c0[_0x5cb7e7(0x16a)][_0x547ac9]={'totalCredits':0x0,'entryCount':0x0});_0x20f4c0[_0x5cb7e7(0x16a)][_0x547ac9]['totalCredits']+=_0x35065c,_0x20f4c0[_0x5cb7e7(0x16a)][_0x547ac9]['entryCount']+=0x1;const _0x293bb5=_0x421677[_0x5cb7e7(0x138)]['slice'](0x0,0x7);!_0x20f4c0[_0x5cb7e7(0x14d)][_0x293bb5]&&(_0x20f4c0[_0x5cb7e7(0x14d)][_0x293bb5]={'totalCredits':0x0,'entryCount':0x0});_0x20f4c0[_0x5cb7e7(0x14d)][_0x293bb5]['totalCredits']+=_0x35065c,_0x20f4c0['monthly'][_0x293bb5][_0x5cb7e7(0x158)]+=0x1;const _0x3866d9=_0x421677[_0x5cb7e7(0x153)]||_0x5cb7e7(0x143);!_0x20f4c0['profiles'][_0x3866d9]&&(_0x20f4c0[_0x5cb7e7(0x162)][_0x3866d9]={'totalCredits':0x0,'entryCount':0x0,'lastUsedAt':'','todayCredits':0x0,'todayDate':_0x2beadd,'monthCredits':0x0,'month':_0x5ba90f});_0x20f4c0[_0x5cb7e7(0x162)][_0x3866d9][_0x5cb7e7(0x13a)]+=_0x35065c,_0x20f4c0['profiles'][_0x3866d9][_0x5cb7e7(0x158)]+=0x1;_0x421677[_0x5cb7e7(0x138)]>_0x20f4c0[_0x5cb7e7(0x162)][_0x3866d9]['lastUsedAt']&&(_0x20f4c0[_0x5cb7e7(0x162)][_0x3866d9]['lastUsedAt']=_0x421677[_0x5cb7e7(0x138)]);_0x547ac9===_0x2beadd&&(_0x20f4c0[_0x5cb7e7(0x162)][_0x3866d9][_0x5cb7e7(0x15b)]+=_0x35065c);_0x293bb5===_0x5ba90f&&(_0x20f4c0[_0x5cb7e7(0x162)][_0x3866d9][_0x5cb7e7(0x169)]+=_0x35065c);const _0x10b236=_0x421677['source']||_0x5cb7e7(0x14a);!_0x20f4c0[_0x5cb7e7(0x155)][_0x10b236]&&(_0x20f4c0[_0x5cb7e7(0x155)][_0x10b236]={'totalCredits':0x0,'entryCount':0x0,'todayCredits':0x0,'todayDate':_0x2beadd,'monthCredits':0x0,'month':_0x5ba90f}),_0x20f4c0['sources'][_0x10b236][_0x5cb7e7(0x13a)]+=_0x35065c,_0x20f4c0[_0x5cb7e7(0x155)][_0x10b236][_0x5cb7e7(0x158)]+=0x1,_0x547ac9===_0x2beadd&&(_0x20f4c0[_0x5cb7e7(0x155)][_0x10b236][_0x5cb7e7(0x15b)]+=_0x35065c),_0x293bb5===_0x5ba90f&&(_0x20f4c0[_0x5cb7e7(0x155)][_0x10b236][_0x5cb7e7(0x169)]+=_0x35065c);}_0x20f4c0['sessions'][_0x1f95d2]={'totalCredits':_0x2e3de2,'latestContextTokensBySignature':_0xc55c1d,'createdAt':_0x1f7f4c[0x0]['timestamp'],'lastUpdatedAt':_0x307caa};}catch(_0x37a91b){const _0x573ce6=await getLogger();_0x573ce6[_0x5cb7e7(0x15a)]('Failed\x20to\x20process\x20session\x20'+_0x1f95d2+':',_0x37a91b instanceof Error?_0x37a91b[_0x5cb7e7(0x147)]:String(_0x37a91b));continue;}}return cleanupOldEntries(_0x20f4c0),await writeStatsCache(_0x20f4c0),_0x20f4c0;}function cleanupOldEntries(_0x23b381){const _0x5e5205=a83_0x1f2d,_0x357cbe=new Date(),_0x5b9012=new Date(_0x357cbe[_0x5e5205(0x142)]()-0x7*0x18*0x3c*0x3c*0x3e8);for(const _0x6210fe of Object['keys'](_0x23b381[_0x5e5205(0x16a)])){new Date(_0x6210fe)<_0x5b9012&&delete _0x23b381[_0x5e5205(0x16a)][_0x6210fe];}const _0x27bee5=new Date(_0x357cbe['getFullYear']()-0x1,_0x357cbe['getMonth'](),0x1);for(const _0x5073d0 of Object[_0x5e5205(0x163)](_0x23b381[_0x5e5205(0x14d)])){const [_0x42c580,_0xd1f570]=_0x5073d0['split']('-')['map'](Number),_0x4b7c6c=new Date(_0x42c580,_0xd1f570-0x1,0x1);_0x4b7c6c<_0x27bee5&&delete _0x23b381[_0x5e5205(0x14d)][_0x5073d0];}const _0x34ff87=new Date(_0x357cbe[_0x5e5205(0x142)]()-0x1e*0x18*0x3c*0x3c*0x3e8);for(const [_0x20240b,_0x4eb6e1]of Object[_0x5e5205(0x13f)](_0x23b381[_0x5e5205(0x16b)])){new Date(_0x4eb6e1[_0x5e5205(0x157)])<_0x34ff87&&delete _0x23b381[_0x5e5205(0x16b)][_0x20240b];}}export async function getOrUpdateCache(_0x99b3cc){const _0x1fae78=_0x99b3cc?sanitizeSessionId(_0x99b3cc):undefined,_0x279a1d=await readStatsCache();if(!_0x279a1d)return rebuildCache();if(_0x1fae78){const _0x17d1fe=await isCacheUpToDate(_0x279a1d,_0x1fae78);if(!_0x17d1fe)return rebuildCache();}return _0x279a1d;}export async function getSessionCredits(_0x17635f){const _0x3fd85d=a83_0x1f2d,_0x39efda=sanitizeSessionId(_0x17635f),_0x2b495b=await getOrUpdateCache(_0x39efda),_0xbe2ca9=_0x2b495b[_0x3fd85d(0x16b)][_0x39efda];if(!_0xbe2ca9)return 0x0;return _0xbe2ca9[_0x3fd85d(0x13a)];}function a83_0x1f2d(_0x1b1317,_0x4d2402){_0x1b1317=_0x1b1317-0x132;const _0x3654e6=a83_0x3654();let _0x1f2d7d=_0x3654e6[_0x1b1317];return _0x1f2d7d;}export async function getTodayCredits(){const _0x2845aa=a83_0x1f2d,_0x3b04d3=await getOrUpdateCache(),_0x6f74dc=new Date()[_0x2845aa(0x149)]()[_0x2845aa(0x16e)](0x0,0xa),_0x33aad4=_0x3b04d3[_0x2845aa(0x16a)][_0x6f74dc];if(!_0x33aad4)return 0x0;return _0x33aad4[_0x2845aa(0x13a)];}export async function getMonthCredits(){const _0x18133d=a83_0x1f2d,_0x225d3d=await getOrUpdateCache(),_0xce5001=new Date()[_0x18133d(0x149)]()[_0x18133d(0x16e)](0x0,0x7),_0x4aaa75=_0x225d3d[_0x18133d(0x14d)][_0xce5001];if(!_0x4aaa75)return 0x0;return _0x4aaa75['totalCredits'];}export async function getSessionStats(_0xcb370e){const _0x24622e=a83_0x1f2d,_0x451d24=sanitizeSessionId(_0xcb370e),_0x565c71=await getOrUpdateCache(_0x451d24);return _0x565c71[_0x24622e(0x16b)][_0x451d24]||null;}function getMaxLatestContextTokens(_0x9637f0){const _0xeb7995=a83_0x1f2d,_0xb6ade9=Object[_0xeb7995(0x16d)](_0x9637f0);if(_0xb6ade9[_0xeb7995(0x150)]===0x0)return 0x0;return Math['max'](..._0xb6ade9);}export async function getUsageStats(_0x442847,_0x5b6405){const _0x35bb4b=a83_0x1f2d,_0x41f452=sanitizeSessionId(_0x442847),_0x2d561f=await getOrUpdateCache(_0x41f452),_0x5ac04c=_0x2d561f[_0x35bb4b(0x16b)][_0x41f452],_0x1a1b83=new Date()[_0x35bb4b(0x149)]()[_0x35bb4b(0x16e)](0x0,0xa),_0x3ea8fd=new Date()['toISOString']()[_0x35bb4b(0x16e)](0x0,0x7);if(_0x5b6405){const _0x421756=_0x2d561f['profiles']?.[_0x5b6405],_0x2ce4e4=_0x421756?.['todayDate']===_0x1a1b83?_0x421756[_0x35bb4b(0x15b)]:0x0,_0x4e9495=_0x421756?.[_0x35bb4b(0x15f)]===_0x3ea8fd?_0x421756['monthCredits']:0x0;return{'sessionCredits':_0x5ac04c?_0x5ac04c[_0x35bb4b(0x13a)]:0x0,'todayCredits':_0x2ce4e4,'monthCredits':_0x4e9495,'latestContextTokens':_0x5ac04c?getMaxLatestContextTokens(_0x5ac04c[_0x35bb4b(0x145)]):0x0};}return{'sessionCredits':_0x5ac04c?_0x5ac04c['totalCredits']:0x0,'todayCredits':_0x2d561f[_0x35bb4b(0x16a)][_0x1a1b83]?_0x2d561f[_0x35bb4b(0x16a)][_0x1a1b83]['totalCredits']:0x0,'monthCredits':_0x2d561f[_0x35bb4b(0x14d)][_0x3ea8fd]?_0x2d561f[_0x35bb4b(0x14d)][_0x3ea8fd]['totalCredits']:0x0,'latestContextTokens':_0x5ac04c?getMaxLatestContextTokens(_0x5ac04c[_0x35bb4b(0x145)]):0x0};}export async function getAllProfileStats(){const _0x3930b3=a83_0x1f2d,_0x49e9a8=await getOrUpdateCache(),_0x2bb363=_0x49e9a8['profiles']||{};return Object['entries'](_0x2bb363)[_0x3930b3(0x16c)](([,_0x5157ec])=>_0x5157ec&&typeof _0x5157ec===_0x3930b3(0x14b))[_0x3930b3(0x146)](([_0x1f99aa,_0x37352f])=>({'profile':_0x1f99aa,'credits':_0x37352f[_0x3930b3(0x13a)]||0x0,'entryCount':_0x37352f[_0x3930b3(0x158)]||0x0,'lastUsedAt':_0x37352f['lastUsedAt']||''}))[_0x3930b3(0x159)]((_0x17f83b,_0x4de60c)=>_0x4de60c[_0x3930b3(0x13c)]-_0x17f83b[_0x3930b3(0x13c)]);}export async function getAllSourceStats(){const _0x5586af=a83_0x1f2d,_0xccec6b=await getOrUpdateCache(),_0x1cd0b6=_0xccec6b[_0x5586af(0x155)]||{},_0x2f4e61=new Date()['toISOString']()[_0x5586af(0x16e)](0x0,0xa),_0x5d11ff=new Date()['toISOString']()['slice'](0x0,0x7);return Object[_0x5586af(0x13f)](_0x1cd0b6)[_0x5586af(0x16c)](([,_0xc46881])=>_0xc46881&&typeof _0xc46881==='object')[_0x5586af(0x146)](([_0x1a14c7,_0x4bc398])=>({'source':_0x1a14c7,'credits':_0x4bc398[_0x5586af(0x13a)]||0x0,'todayCredits':_0x4bc398['todayDate']===_0x2f4e61?_0x4bc398[_0x5586af(0x15b)]||0x0:0x0,'monthCredits':_0x4bc398[_0x5586af(0x15f)]===_0x5d11ff?_0x4bc398[_0x5586af(0x169)]||0x0:0x0,'entryCount':_0x4bc398[_0x5586af(0x158)]||0x0}))[_0x5586af(0x159)]((_0x421e09,_0x361a91)=>_0x361a91[_0x5586af(0x13c)]-_0x421e09[_0x5586af(0x13c)]);}export async function getUsageSummary(){const _0xab84f0=a83_0x1f2d,_0x48e565=await getOrUpdateCache(),_0x472a93=_0x48e565['profiles']||{},_0x43bd80=new Date()[_0xab84f0(0x149)]()[_0xab84f0(0x16e)](0x0,0xa),_0x588ae8=new Date()[_0xab84f0(0x149)]()['slice'](0x0,0x7),_0x3c6350=Object[_0xab84f0(0x16d)](_0x472a93)[_0xab84f0(0x16c)](_0x47063d=>_0x47063d&&typeof _0x47063d===_0xab84f0(0x14b)),_0x2b6ff0=_0x3c6350[_0xab84f0(0x15e)]((_0xa11e,_0x46dcd7)=>_0xa11e+(_0x46dcd7['totalCredits']||0x0),0x0);return{'todayCredits':_0x48e565[_0xab84f0(0x16a)][_0x43bd80]?_0x48e565[_0xab84f0(0x16a)][_0x43bd80]['totalCredits']||0x0:0x0,'monthCredits':_0x48e565[_0xab84f0(0x14d)][_0x588ae8]?_0x48e565[_0xab84f0(0x14d)][_0x588ae8][_0xab84f0(0x13a)]||0x0:0x0,'totalCredits':_0x2b6ff0,'profileCount':_0x3c6350[_0xab84f0(0x150)]};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a80_0x336e8b=a80_0x17b8;(function(_0x1192a9,_0x4920a5){const _0x4031bd=a80_0x17b8,_0xe8d7de=_0x1192a9();while(!![]){try{const _0x4b3970=-parseInt(_0x4031bd(0x246))/0x1+parseInt(_0x4031bd(0x1a8))/0x2*(-parseInt(_0x4031bd(0x20b))/0x3)+-parseInt(_0x4031bd(0x245))/0x4*(-parseInt(_0x4031bd(0x1c9))/0x5)+parseInt(_0x4031bd(0x217))/0x6+parseInt(_0x4031bd(0x1f3))/0x7*(parseInt(_0x4031bd(0x1d3))/0x8)+parseInt(_0x4031bd(0x21b))/0x9+parseInt(_0x4031bd(0x1b9))/0xa*(-parseInt(_0x4031bd(0x20e))/0xb);if(_0x4b3970===_0x4920a5)break;else _0xe8d7de['push'](_0xe8d7de['shift']());}catch(_0x47d1e8){_0xe8d7de['push'](_0xe8d7de['shift']());}}}(a80_0x25b5,0x5c441));import a80_0x42f4c2 from'fastify';import a80_0x56c4e1 from'@fastify/cors';import{SSEUsageTracker}from'./sse-usage-parser.js';import{appendUsageEntry}from'./claude-usage-tracker.js';function a80_0x17b8(_0x2e86d3,_0x1de79a){_0x2e86d3=_0x2e86d3-0x1a3;const _0x25b542=a80_0x25b5();let _0x17b8b1=_0x25b542[_0x2e86d3];return _0x17b8b1;}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';import{createProxyFetch,maskProxyCredentials}from'../utils/proxy-fetch.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()?a80_0x336e8b(0x214):'')+a80_0x336e8b(0x24b);function extractSessionUUID(_0x46aadf){const _0x27dd24=_0x46aadf['match'](/_session_([a-f0-9-]+)$/i);if(_0x27dd24)return _0x27dd24[0x1];return _0x46aadf;}export function injectSystemPrompt(_0x2470ba,_0x41f28a){const _0x13f426=a80_0x336e8b,_0x11855f=_0x2470ba[_0x13f426(0x236)];if(!_0x11855f)return{..._0x2470ba,'system':_0x41f28a};if(typeof _0x11855f===_0x13f426(0x1f2))return{..._0x2470ba,'system':_0x11855f+'\x0a\x0a'+_0x41f28a};if(Array[_0x13f426(0x1e4)](_0x11855f)){const _0x553a93={'type':_0x13f426(0x1ca),'text':_0x41f28a};return{..._0x2470ba,'system':[..._0x11855f,_0x553a93]};}return _0x2470ba;}function a80_0x25b5(){const _0x41dc34=['[PASSTHROUGH]\x20OAuth\x20token\x20refresh\x20failed:','write','Error\x20body:\x20','|\x20Debug\x20agent\x20issues\x20|\x20tdx-skills:agent-debug\x20|\x0a','X-TD-Client-Version','haiku','2741364zFFwta','end','Bearer\x20','[PASSTHROUGH]\x20Using\x20proxy:\x20','1709235JrDtya','authorization','SKIP_HEADERS','user-agent',',\x20cache_create=','input_tokens','proxyReady','max_tokens','output_tokens','unref','get','profile','[PASSTHROUGH]\x20','Authorization','/health','usage','connection','outputTokens','refreshTokenIfNeeded','refresh_token','timeoutMs','timeout_error','text/event-stream','debug','[PASSTHROUGH]\x20Upstream\x20error:\x20','EADDRINUSE','_boundPort','system','Failed\x20to\x20connect\x20to\x20TD\x20LLM\x20Proxy:\x20',',\x20model=','setupJsonParser','includes','proxy','writeHead','cache_read_input_tokens','status','/v1/messages','code','number','[PASSTHROUGH]\x20Failed\x20to\x20forward\x20request:','cacheCreationInputTokens','GET','1984FZpgDn','94752LfpSXl','getFetch','startsWith','name','buildForwardHeaders','|\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|','accessToken','[PASSTHROUGH]\x20Failed\x20to\x20forward\x20count_tokens\x20request:','Pass-through\x20proxy\x20server\x20stopped','getReader','[PASSTHROUGH]\x20Forwarding\x20count_tokens\x20to:\x20','metadata','POST','config','No\x20available\x20port\x20found\x20between\x20','handleMessages','1356CubheL',':\x20messages=','slice','entries','handleCountTokens','user_id','stream_error','Content-Type','tdx/','body','stringify','stream','proxyFetch','auth','host','server','logUsage','10kXqMyU','TimeoutError','timeout','message','read','application/json','processChunk','messages','decode','[PASSTHROUGH]\x20Usage:\x20input=','api_error','\x20and\x20','header','llmProxyUrl','length','expiresAt','5735wLvcGr','text','startTokenRefreshTimer','register','User-Agent','expires_at','now','indexOf','apiKey','getUsage','24RMbIMA','toISOString','listen','setupRoutes','raw','OPTIONS','[PASSTHROUGH]\x20Stream\x20error:','no-cache','refreshToken','start','addContentTypeParser','then','unknown','getAddress','Forwarding\x20to:\x20',',\x20stream=','Port\x20','isArray','Stream\x20interrupted','error','cacheReadInputTokens','consoleUrl','flush','url','setErrorHandler','[PASSTHROUGH]\x20OAuth\x20token\x20refreshed\x20successfully','info','Server\x20has\x20not\x20been\x20started\x20yet','inputTokens','parse','createServer','string','1549401tTtsqu','port','startPort','x-api-key','logger','headers','model','toLowerCase','/v1/messages/count_tokens','TD\x20LLM\x20Pass-through\x20Proxy\x20Server','join','type','post',',\x20output=','TD1\x20','setupMiddleware','send','Unknown\x20error','method','has','test','oauth','Request\x20to\x20TD\x20LLM\x20Proxy\x20timed\x20out\x20after\x20','keep-alive','591MHJkTr','cache_creation_input_tokens','refreshTimer','14008621dJyWgS','handleStreamingResponse','anthropic-version'];a80_0x25b5=function(){return _0x41dc34;};return a80_0x25b5();}export function shouldInjectSystemPrompt(_0x21415d){const _0x4781b2=a80_0x336e8b;return!_0x21415d[_0x4781b2(0x1fa)]()['includes'](_0x4781b2(0x216));}const MIN_REASONING_MAX_TOKENS=0x7d00;export function isOpenAIReasoningModel(_0x21c30b){const _0x4ca5a3=a80_0x336e8b,_0x5147b4=_0x21c30b[_0x4ca5a3(0x1fa)]();return/^gpt-5(\.\d+)?(-(mini|nano|pro))?(-\d{4}-\d{2}-\d{2})?$/[_0x4ca5a3(0x207)](_0x5147b4);}export function padMaxTokensForReasoningModel(_0x381575,_0x231319){const _0x1ff6da=a80_0x336e8b;if(!isOpenAIReasoningModel(_0x231319))return _0x381575;const _0x13f993=typeof _0x381575[_0x1ff6da(0x222)]===_0x1ff6da(0x241)?_0x381575[_0x1ff6da(0x222)]:0x0;if(_0x13f993>=MIN_REASONING_MAX_TOKENS)return _0x381575;return{..._0x381575,'max_tokens':MIN_REASONING_MAX_TOKENS};}export function requestsStream(_0xf5f9ea){const _0x5e31a5=a80_0x336e8b;return _0xf5f9ea[_0x5e31a5(0x1b3)]===!![];}const TOKEN_REFRESH_INTERVAL_MS=0x5*0x3c*0x3e8,TOKEN_EXPIRY_BUFFER_MS=0x5*0x3c*0x3e8;export class PassThroughProxyServer{[a80_0x336e8b(0x1b7)];[a80_0x336e8b(0x1a5)];[a80_0x336e8b(0x1f7)];['_boundPort'];[a80_0x336e8b(0x20d)];[a80_0x336e8b(0x1b4)];[a80_0x336e8b(0x221)];constructor(_0x5d66a7){const _0x59116e=a80_0x336e8b;this['config']=_0x5d66a7,this[_0x59116e(0x1f7)]=_0x5d66a7[_0x59116e(0x1f7)],this[_0x59116e(0x1b7)]=this[_0x59116e(0x1f1)](),_0x5d66a7[_0x59116e(0x23b)]&&(this['proxyReady']=createProxyFetch(_0x5d66a7[_0x59116e(0x23b)])[_0x59116e(0x1de)](_0xa32b5d=>{const _0x4a026c=_0x59116e;this[_0x4a026c(0x1b4)]=_0xa32b5d;}),this[_0x59116e(0x1f7)]['info'](_0x59116e(0x21a)+maskProxyCredentials(_0x5d66a7['proxy'])));}async[a80_0x336e8b(0x247)](){const _0x4d0ac7=a80_0x336e8b;return this[_0x4d0ac7(0x221)]&&await this[_0x4d0ac7(0x221)],this['proxyFetch']??fetch;}get[a80_0x336e8b(0x1f4)](){const _0x1b7fd0=a80_0x336e8b;if(this[_0x1b7fd0(0x235)]===undefined)throw new Error(_0x1b7fd0(0x1ee));return this[_0x1b7fd0(0x235)];}[a80_0x336e8b(0x1f1)](){const _0x1f5be2=a80_0x336e8b,_0x539397=a80_0x42f4c2({'logger':![],'bodyLimit':0x40*0x400*0x400});return this[_0x1f5be2(0x1b7)]=_0x539397,this['setupJsonParser'](),this[_0x1f5be2(0x202)](),this[_0x1f5be2(0x1d6)](),_0x539397;}[a80_0x336e8b(0x239)](){const _0x236dde=a80_0x336e8b;this[_0x236dde(0x1b7)][_0x236dde(0x1dd)](_0x236dde(0x1be),{'parseAs':_0x236dde(0x1f2)},(_0x4c58c7,_0x26a1b1,_0x39dc86)=>{const _0x4935f2=_0x236dde;try{const _0x1e5f19=JSON[_0x4935f2(0x1f0)](_0x26a1b1);_0x39dc86(null,_0x1e5f19);}catch(_0x1f24c2){_0x39dc86(_0x1f24c2,undefined);}});}[a80_0x336e8b(0x202)](){const _0x3ef0b0=a80_0x336e8b;this[_0x3ef0b0(0x1b7)][_0x3ef0b0(0x1cc)](a80_0x56c4e1,{'origin':!![],'methods':[_0x3ef0b0(0x244),'POST',_0x3ef0b0(0x1d8)],'allowedHeaders':[_0x3ef0b0(0x1af),_0x3ef0b0(0x228),_0x3ef0b0(0x210),'x-api-key']}),this['server'][_0x3ef0b0(0x1eb)]((_0x11def5,_0x27a551,_0x4760e0)=>{const _0x59f1af=_0x3ef0b0,_0x5b40c2=_0x11def5 instanceof Error?_0x11def5[_0x59f1af(0x1bc)]:_0x59f1af(0x204);this[_0x59f1af(0x1f7)][_0x59f1af(0x1e6)]('[PASSTHROUGH\x20PROXY\x20ERROR]:',_0x11def5),_0x4760e0['code'](0x1f4)[_0x59f1af(0x203)]({'type':'error','error':{'type':_0x59f1af(0x1c3),'message':_0x5b40c2}});});}[a80_0x336e8b(0x1d6)](){const _0x5b35cb=a80_0x336e8b;this['server']['get'](_0x5b35cb(0x229),async()=>{const _0x1db927=_0x5b35cb;return{'status':'ok','message':_0x1db927(0x1fc)};}),this[_0x5b35cb(0x1b7)][_0x5b35cb(0x1ff)](_0x5b35cb(0x23f),async(_0x41df52,_0x4567ce)=>{const _0x58ce94=_0x5b35cb;return this[_0x58ce94(0x1a7)](_0x41df52,_0x4567ce);}),this[_0x5b35cb(0x1b7)][_0x5b35cb(0x1ff)](_0x5b35cb(0x1fb),async(_0x2cca19,_0x3b502f)=>{const _0x401f69=_0x5b35cb;return this[_0x401f69(0x1ac)](_0x2cca19,_0x3b502f);});}static [a80_0x336e8b(0x21d)]=new Set([a80_0x336e8b(0x1b6),a80_0x336e8b(0x22b),'content-length','transfer-encoding',a80_0x336e8b(0x21c),a80_0x336e8b(0x1f6),a80_0x336e8b(0x21e)]);[a80_0x336e8b(0x24a)](_0x4c78f2){const _0x2cd0f3=a80_0x336e8b,_0x3be178={};for(const [_0x5f1b7c,_0x24b720]of Object[_0x2cd0f3(0x1ab)](_0x4c78f2[_0x2cd0f3(0x1f8)])){const _0x218e00=_0x5f1b7c['toLowerCase']();if(PassThroughProxyServer[_0x2cd0f3(0x21d)][_0x2cd0f3(0x206)](_0x218e00))continue;if(_0x218e00[_0x2cd0f3(0x248)]('x-td-'))continue;if(typeof _0x24b720===_0x2cd0f3(0x1f2))_0x3be178[_0x5f1b7c]=_0x24b720;else Array['isArray'](_0x24b720)&&(_0x3be178[_0x5f1b7c]=_0x24b720[_0x2cd0f3(0x1fd)](',\x20'));}const _0xa709e7=getVersion(),{auth:_0x424e4a}=this[_0x2cd0f3(0x1a5)];return _0x3be178[_0x2cd0f3(0x228)]=_0x424e4a[_0x2cd0f3(0x1fe)]===_0x2cd0f3(0x208)?_0x2cd0f3(0x219)+_0x424e4a[_0x2cd0f3(0x24c)]:_0x2cd0f3(0x201)+_0x424e4a[_0x2cd0f3(0x1d1)],_0x3be178[_0x2cd0f3(0x1cd)]=_0x2cd0f3(0x1b0)+_0xa709e7,_0x3be178['X-TD-Client']='tdx',_0x3be178[_0x2cd0f3(0x215)]=_0xa709e7,_0x3be178;}async[a80_0x336e8b(0x1a7)](_0x20a12a,_0x31cb33){const _0xe1ae1e=a80_0x336e8b,_0x33749c=_0x20a12a[_0xe1ae1e(0x1b1)],_0x434cb6=requestsStream(_0x33749c),_0x3b87d3=_0x33749c[_0xe1ae1e(0x1a3)],_0x341740=_0x3b87d3?.[_0xe1ae1e(0x1ad)]||'default',_0x26ddfa=extractSessionUUID(_0x341740),_0x61a8ed=_0x33749c[_0xe1ae1e(0x1f9)]||_0xe1ae1e(0x1df),_0x33e9a6=shouldInjectSystemPrompt(_0x61a8ed)?injectSystemPrompt(_0x33749c,TDX_SYSTEM_PROMPT):_0x33749c,_0x5d08ab=padMaxTokensForReasoningModel(_0x33e9a6,_0x61a8ed),_0x42464f=JSON['stringify'](_0x5d08ab),_0x354ffb=Array[_0xe1ae1e(0x1e4)](_0x33749c['messages'])?_0x33749c[_0xe1ae1e(0x1c0)][_0xe1ae1e(0x1c7)]:0x0;this[_0xe1ae1e(0x1f7)]['info'](_0xe1ae1e(0x227)+_0x20a12a[_0xe1ae1e(0x205)]+'\x20'+_0x20a12a[_0xe1ae1e(0x1ea)]+_0xe1ae1e(0x1a9)+_0x354ffb+_0xe1ae1e(0x238)+_0x61a8ed+_0xe1ae1e(0x1e2)+_0x434cb6);const _0x1edea9=_0x20a12a[_0xe1ae1e(0x1ea)][_0xe1ae1e(0x23a)]('?')?_0x20a12a[_0xe1ae1e(0x1ea)]['slice'](_0x20a12a[_0xe1ae1e(0x1ea)][_0xe1ae1e(0x1d0)]('?')):'',_0x2b67e8=this[_0xe1ae1e(0x1a5)][_0xe1ae1e(0x1c6)]+_0xe1ae1e(0x23f)+_0x1edea9,_0x2c8f52=this[_0xe1ae1e(0x24a)](_0x20a12a);this[_0xe1ae1e(0x1f7)]['debug'](_0xe1ae1e(0x1e1)+_0x2b67e8);const _0x12c0b0=this[_0xe1ae1e(0x1a5)][_0xe1ae1e(0x22f)]||DEFAULT_TIMEOUT_MS;try{const _0x273623=await this[_0xe1ae1e(0x247)](),_0x22f373=await _0x273623(_0x2b67e8,{'method':_0xe1ae1e(0x1a4),'headers':_0x2c8f52,'body':_0x42464f,'signal':AbortSignal[_0xe1ae1e(0x1bb)](_0x12c0b0)});if(!_0x22f373['ok']){const _0x2a62bd=await _0x22f373['text']();return this[_0xe1ae1e(0x1f7)][_0xe1ae1e(0x1e6)](_0xe1ae1e(0x233)+_0x22f373[_0xe1ae1e(0x23e)]+'\x20'+_0x22f373['statusText']),this[_0xe1ae1e(0x1f7)]['debug'](_0xe1ae1e(0x213)+_0x2a62bd),_0x31cb33[_0xe1ae1e(0x240)](_0x22f373['status']),_0x31cb33[_0xe1ae1e(0x1c5)](_0xe1ae1e(0x1af),_0x22f373[_0xe1ae1e(0x1f8)][_0xe1ae1e(0x225)](_0xe1ae1e(0x1af))||_0xe1ae1e(0x1be)),_0x31cb33[_0xe1ae1e(0x203)](_0x2a62bd);}if(_0x434cb6&&_0x22f373['body'])await this['handleStreamingResponse'](_0x22f373[_0xe1ae1e(0x1b1)],_0x31cb33,_0x26ddfa,_0x61a8ed);else{const _0x3107ce=await _0x22f373['text']();_0x31cb33[_0xe1ae1e(0x1c5)](_0xe1ae1e(0x1af),_0x22f373[_0xe1ae1e(0x1f8)][_0xe1ae1e(0x225)](_0xe1ae1e(0x1af))||_0xe1ae1e(0x1be));try{const _0x2f3b99=JSON[_0xe1ae1e(0x1f0)](_0x3107ce);_0x2f3b99[_0xe1ae1e(0x22a)]&&await this['logUsage'](_0x26ddfa,_0x61a8ed,_0x2f3b99[_0xe1ae1e(0x22a)][_0xe1ae1e(0x220)]||0x0,_0x2f3b99[_0xe1ae1e(0x22a)][_0xe1ae1e(0x223)]||0x0,_0x2f3b99[_0xe1ae1e(0x22a)][_0xe1ae1e(0x20c)],_0x2f3b99['usage'][_0xe1ae1e(0x23d)]);}catch{}return _0x31cb33[_0xe1ae1e(0x203)](_0x3107ce);}}catch(_0x27b8e0){const _0x55be5d=_0x27b8e0 instanceof Error?_0x27b8e0[_0xe1ae1e(0x1bc)]:'Unknown\x20error',_0x2f0938=_0x27b8e0 instanceof Error&&_0x27b8e0[_0xe1ae1e(0x249)]===_0xe1ae1e(0x1ba);this[_0xe1ae1e(0x1f7)][_0xe1ae1e(0x1e6)](_0xe1ae1e(0x242),_0x27b8e0),_0x31cb33[_0xe1ae1e(0x240)](_0x2f0938?0x1f8:0x1f7)['send']({'type':_0xe1ae1e(0x1e6),'error':{'type':_0x2f0938?'timeout_error':'api_error','message':_0x2f0938?'Request\x20to\x20TD\x20LLM\x20Proxy\x20timed\x20out\x20after\x20'+_0x12c0b0+'ms':_0xe1ae1e(0x237)+_0x55be5d}});}}async[a80_0x336e8b(0x20f)](_0xf848a3,_0x31d681,_0x357ed7,_0x6328f3){const _0x1b19c0=a80_0x336e8b;_0x31d681[_0x1b19c0(0x1d7)][_0x1b19c0(0x23c)](0xc8,{'Content-Type':_0x1b19c0(0x231),'Cache-Control':_0x1b19c0(0x1da),'Connection':_0x1b19c0(0x20a)});const _0x152025=new SSEUsageTracker(),_0x5defd6=_0xf848a3[_0x1b19c0(0x24f)](),_0x2c9f93=new TextDecoder();try{while(!![]){const {done:_0x1bdd7b,value:_0x152e78}=await _0x5defd6[_0x1b19c0(0x1bd)]();if(_0x1bdd7b)break;const _0x514b12=_0x2c9f93[_0x1b19c0(0x1c1)](_0x152e78,{'stream':!![]});_0x152025[_0x1b19c0(0x1bf)](_0x514b12),_0x31d681[_0x1b19c0(0x1d7)][_0x1b19c0(0x212)](_0x514b12);}_0x152025[_0x1b19c0(0x1e9)]();const _0x336fa6=_0x152025[_0x1b19c0(0x1d2)]();(_0x336fa6[_0x1b19c0(0x1ef)]>0x0||_0x336fa6[_0x1b19c0(0x22c)]>0x0)&&await this['logUsage'](_0x357ed7,_0x6328f3,_0x336fa6[_0x1b19c0(0x1ef)],_0x336fa6[_0x1b19c0(0x22c)],_0x336fa6[_0x1b19c0(0x243)],_0x336fa6[_0x1b19c0(0x1e7)]);}catch(_0x187cc8){this[_0x1b19c0(0x1f7)][_0x1b19c0(0x1e6)](_0x1b19c0(0x1d9),_0x187cc8);const _0x375d2b='event:\x20error\x0adata:\x20'+JSON[_0x1b19c0(0x1b2)]({'type':_0x1b19c0(0x1e6),'error':{'type':_0x1b19c0(0x1ae),'message':_0x1b19c0(0x1e5)}})+'\x0a\x0a';_0x31d681['raw'][_0x1b19c0(0x212)](_0x375d2b);}finally{_0x31d681[_0x1b19c0(0x1d7)][_0x1b19c0(0x218)]();}}async[a80_0x336e8b(0x1ac)](_0x2b4b7f,_0x1dc577){const _0x59c586=a80_0x336e8b,_0x4992cf=_0x2b4b7f['body'],_0x14f605=_0x2b4b7f[_0x59c586(0x1ea)][_0x59c586(0x23a)]('?')?_0x2b4b7f[_0x59c586(0x1ea)][_0x59c586(0x1aa)](_0x2b4b7f[_0x59c586(0x1ea)][_0x59c586(0x1d0)]('?')):'',_0x27146a=this[_0x59c586(0x1a5)][_0x59c586(0x1c6)]+_0x59c586(0x1fb)+_0x14f605,_0x4d1815=this[_0x59c586(0x24a)](_0x2b4b7f),_0x9d376c=_0x4992cf[_0x59c586(0x1f9)]||_0x59c586(0x1df),_0x32cb13=shouldInjectSystemPrompt(_0x9d376c)?injectSystemPrompt(_0x4992cf,TDX_SYSTEM_PROMPT):_0x4992cf,_0x29e31c=JSON['stringify'](_0x32cb13);this[_0x59c586(0x1f7)][_0x59c586(0x232)](_0x59c586(0x250)+_0x27146a);const _0xbab30e=this[_0x59c586(0x1a5)][_0x59c586(0x22f)]||DEFAULT_TIMEOUT_MS;try{const _0x22e02e=await this[_0x59c586(0x247)](),_0xc0b400=await _0x22e02e(_0x27146a,{'method':'POST','headers':_0x4d1815,'body':_0x29e31c,'signal':AbortSignal[_0x59c586(0x1bb)](_0xbab30e)}),_0xa5637a=await _0xc0b400[_0x59c586(0x1ca)]();return _0x1dc577[_0x59c586(0x240)](_0xc0b400[_0x59c586(0x23e)]),_0x1dc577[_0x59c586(0x1c5)]('Content-Type',_0xc0b400[_0x59c586(0x1f8)][_0x59c586(0x225)](_0x59c586(0x1af))||_0x59c586(0x1be)),_0x1dc577['send'](_0xa5637a);}catch(_0x5cc22d){const _0x58e048=_0x5cc22d instanceof Error?_0x5cc22d[_0x59c586(0x1bc)]:_0x59c586(0x204),_0x1819f9=_0x5cc22d instanceof Error&&_0x5cc22d['name']===_0x59c586(0x1ba);this['logger'][_0x59c586(0x1e6)](_0x59c586(0x24d),_0x5cc22d),_0x1dc577[_0x59c586(0x240)](_0x1819f9?0x1f8:0x1f7)['send']({'type':'error','error':{'type':_0x1819f9?_0x59c586(0x230):_0x59c586(0x1c3),'message':_0x1819f9?_0x59c586(0x209)+_0xbab30e+'ms':_0x59c586(0x237)+_0x58e048}});}}async[a80_0x336e8b(0x1b8)](_0x4ac362,_0x1f1015,_0x1175ab,_0x2b5c1c,_0x294f59,_0x4d6c79){const _0x1daf5c=a80_0x336e8b,_0x483731={'timestamp':new Date()[_0x1daf5c(0x1d4)](),'model':_0x1f1015,'inputTokens':_0x1175ab,'outputTokens':_0x2b5c1c,'cacheCreationInputTokens':_0x294f59,'cacheReadInputTokens':_0x4d6c79,'profile':this[_0x1daf5c(0x1a5)][_0x1daf5c(0x226)],'source':'tdx-claude'},_0x1ef36c=_0x294f59||_0x4d6c79?_0x1daf5c(0x21f)+(_0x294f59||0x0)+',\x20cache_read='+(_0x4d6c79||0x0):'';this['logger']['debug'](_0x1daf5c(0x1c2)+_0x1175ab+_0x1daf5c(0x200)+_0x2b5c1c+_0x1ef36c+',\x20model='+_0x1f1015);try{await appendUsageEntry(_0x4ac362,_0x483731);}catch(_0x1d4faa){this[_0x1daf5c(0x1f7)]['error']('[PASSTHROUGH]\x20Failed\x20to\x20log\x20usage:',_0x1d4faa);}}[a80_0x336e8b(0x1cb)](){const _0x1f7325=a80_0x336e8b;if(this[_0x1f7325(0x1a5)][_0x1f7325(0x1b5)][_0x1f7325(0x1fe)]!=='oauth')return;this[_0x1f7325(0x20d)]=setInterval(()=>{const _0xa5e5dd=_0x1f7325;void this[_0xa5e5dd(0x22d)]();},TOKEN_REFRESH_INTERVAL_MS),this[_0x1f7325(0x20d)][_0x1f7325(0x224)]();}async[a80_0x336e8b(0x22d)](){const _0x2deedf=a80_0x336e8b,{auth:_0x3ef900}=this[_0x2deedf(0x1a5)];if(_0x3ef900['type']!==_0x2deedf(0x208))return;const _0x1ccded=!_0x3ef900[_0x2deedf(0x1c8)]||_0x3ef900[_0x2deedf(0x1c8)]<Date[_0x2deedf(0x1cf)]()+TOKEN_EXPIRY_BUFFER_MS;if(!_0x1ccded)return;try{const _0x32da01=await refreshAccessToken(_0x3ef900[_0x2deedf(0x1e8)],_0x3ef900[_0x2deedf(0x1db)],{'proxy':this[_0x2deedf(0x1a5)][_0x2deedf(0x23b)]});_0x3ef900['accessToken']=_0x32da01['access_token'],_0x3ef900['refreshToken']=_0x32da01[_0x2deedf(0x22e)],_0x3ef900['expiresAt']=_0x32da01[_0x2deedf(0x1ce)],await saveOAuthTokens(_0x32da01,this[_0x2deedf(0x1a5)]['profile']),this[_0x2deedf(0x1f7)][_0x2deedf(0x1ed)](_0x2deedf(0x1ec));}catch(_0x584bda){this['logger'][_0x2deedf(0x1e6)](_0x2deedf(0x211),_0x584bda);}}async[a80_0x336e8b(0x1dc)](){const _0x40a5ed=a80_0x336e8b,_0x8d708f=this[_0x40a5ed(0x1a5)]['maxPortAttempts']??0x64;for(let _0x5246d4=0x0;_0x5246d4<_0x8d708f;_0x5246d4++){const _0xf4a0ed=this[_0x40a5ed(0x1a5)][_0x40a5ed(0x1f5)]+_0x5246d4;try{await this[_0x40a5ed(0x1b7)][_0x40a5ed(0x1d5)]({'port':_0xf4a0ed,'host':'127.0.0.1'}),this[_0x40a5ed(0x235)]=_0xf4a0ed,this[_0x40a5ed(0x1f7)][_0x40a5ed(0x1ed)]('Pass-through\x20proxy\x20server\x20started\x20on\x20port\x20'+_0xf4a0ed),this[_0x40a5ed(0x1f7)]['info'](_0x40a5ed(0x1e1)+this[_0x40a5ed(0x1a5)][_0x40a5ed(0x1c6)]),this[_0x40a5ed(0x1cb)]();return;}catch(_0x52d640){const _0x241447=_0x52d640 instanceof Error&&_0x40a5ed(0x240)in _0x52d640&&_0x52d640['code']===_0x40a5ed(0x234);if(!_0x241447)throw _0x52d640;this['logger'][_0x40a5ed(0x232)](_0x40a5ed(0x1e3)+_0xf4a0ed+'\x20in\x20use,\x20trying\x20next...'),this[_0x40a5ed(0x1f1)]();}}const _0x5d53f6=this['config'][_0x40a5ed(0x1f5)]+_0x8d708f-0x1;throw new Error(_0x40a5ed(0x1a6)+this['config'][_0x40a5ed(0x1f5)]+_0x40a5ed(0x1c4)+_0x5d53f6);}async['stop'](){const _0x2c542c=a80_0x336e8b;this[_0x2c542c(0x20d)]&&(clearInterval(this[_0x2c542c(0x20d)]),this[_0x2c542c(0x20d)]=undefined),await this[_0x2c542c(0x1b7)]['close'](),this[_0x2c542c(0x1f7)][_0x2c542c(0x1ed)](_0x2c542c(0x24e));}[a80_0x336e8b(0x1e0)](){const _0x371cdd=a80_0x336e8b;return'http://127.0.0.1:'+this[_0x371cdd(0x1f4)];}}
|
|
1
|
+
const a84_0x3289bf=a84_0x1b9c;(function(_0x2c7b84,_0x500be6){const _0x33488a=a84_0x1b9c,_0x59d7b5=_0x2c7b84();while(!![]){try{const _0x48373b=-parseInt(_0x33488a(0x193))/0x1*(parseInt(_0x33488a(0x1ed))/0x2)+parseInt(_0x33488a(0x173))/0x3+parseInt(_0x33488a(0x1e6))/0x4*(-parseInt(_0x33488a(0x1ad))/0x5)+-parseInt(_0x33488a(0x1e3))/0x6+parseInt(_0x33488a(0x178))/0x7+-parseInt(_0x33488a(0x1b6))/0x8+parseInt(_0x33488a(0x1fe))/0x9;if(_0x48373b===_0x500be6)break;else _0x59d7b5['push'](_0x59d7b5['shift']());}catch(_0x1590a9){_0x59d7b5['push'](_0x59d7b5['shift']());}}}(a84_0x2255,0xbf936));import a84_0xb0e3dd from'fastify';import a84_0x3bdba6 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';import{createProxyFetch,maskProxyCredentials}from'../utils/proxy-fetch.js';function a84_0x2255(){const _0x38e7fb=['[PASSTHROUGH]\x20Failed\x20to\x20log\x20usage:','refreshTokenIfNeeded','5DyKWIV','metadata','X-TD-Client','test','keep-alive','[PASSTHROUGH]\x20Using\x20proxy:\x20','maxPortAttempts','stream_error','Content-Type',',\x20cache_read=','url','apiKey','no-cache','getAddress','text','debug','tdx-claude','[PASSTHROUGH]\x20','[PASSTHROUGH]\x20Failed\x20to\x20forward\x20count_tokens\x20request:','user_id','inputTokens','post','profile','POST','consoleUrl','read','2355580xNUgFi','api_error','send','config','x-api-key','timeout','Request\x20to\x20TD\x20LLM\x20Proxy\x20timed\x20out\x20after\x20','setupJsonParser','\x20and\x20','1981240jpxjrW','listen','isArray','output_tokens','type','method','transfer-encoding','max_tokens','TD1\x20','host','outputTokens','timeout_error','user-agent','header','register','getReader','TimeoutError','logger','Unknown\x20error','system','getUsage','code','auth','content-length','expiresAt','|\x20Debug\x20agent\x20issues\x20|\x20tdx-skills:agent-debug\x20|\x0a','[PASSTHROUGH]\x20Upstream\x20error:\x20','startPort','Forwarding\x20to:\x20','unref','raw','setupRoutes','[PASSTHROUGH]\x20Failed\x20to\x20forward\x20request:','event:\x20error\x0adata:\x20','unknown','name','EADDRINUSE','buildForwardHeaders','status','headers','haiku','authorization','info','logUsage','Server\x20has\x20not\x20been\x20started\x20yet','5451300mtiSCN','application/json','timeoutMs','8yLtCcW','cacheReadInputTokens','cacheCreationInputTokens','now','flush','messages','join','404690qvVMKO','get','llmProxyUrl','error','model','addContentTypeParser','port','expires_at','\x20in\x20use,\x20trying\x20next...','connection','toISOString','TD\x20LLM\x20Pass-through\x20Proxy\x20Server','server','handleStreamingResponse','|\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|','accessToken','[PASSTHROUGH]\x20Usage:\x20input=','18031752AolKAk','proxyReady','includes','access_token','Pass-through\x20proxy\x20server\x20started\x20on\x20port\x20','close','tdx','handleCountTokens','toLowerCase','Bearer\x20','[PASSTHROUGH]\x20Stream\x20error:','OPTIONS','string','x-td-','indexOf','No\x20available\x20port\x20found\x20between\x20','statusText','setupMiddleware','User-Agent','GET','SKIP_HEADERS',',\x20model=','write','[PASSTHROUGH]\x20OAuth\x20token\x20refresh\x20failed:','Pass-through\x20proxy\x20server\x20stopped','message','Failed\x20to\x20connect\x20to\x20TD\x20LLM\x20Proxy:\x20','has','usage','1910706FfzZXX','getFetch','createServer','refreshToken','length','8780982FUKRBX','stringify','proxyFetch','X-TD-Client-Version','body','parse','start','startsWith','Authorization','cache_creation_input_tokens','slice','Port\x20','text/event-stream','number','end','/v1/messages/count_tokens','proxy','handleMessages','refreshTimer','_boundPort','setErrorHandler',',\x20output=','oauth','match','/v1/messages'];a84_0x2255=function(){return _0x38e7fb;};return a84_0x2255();}function a84_0x1b9c(_0xa34c3c,_0x16f4ca){_0xa34c3c=_0xa34c3c-0x15c;const _0x22550e=a84_0x2255();let _0x1b9c00=_0x22550e[_0xa34c3c];return _0x1b9c00;}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()?a84_0x3289bf(0x1cf):'')+a84_0x3289bf(0x1fb);function extractSessionUUID(_0x5e2c1f){const _0x5958f1=a84_0x3289bf,_0x941233=_0x5e2c1f[_0x5958f1(0x18f)](/_session_([a-f0-9-]+)$/i);if(_0x941233)return _0x941233[0x1];return _0x5e2c1f;}export function injectSystemPrompt(_0x51e327,_0x25955a){const _0x496246=a84_0x3289bf,_0x545809=_0x51e327[_0x496246(0x1c9)];if(!_0x545809)return{..._0x51e327,'system':_0x25955a};if(typeof _0x545809===_0x496246(0x162))return{..._0x51e327,'system':_0x545809+'\x0a\x0a'+_0x25955a};if(Array[_0x496246(0x1b8)](_0x545809)){const _0x28528f={'type':_0x496246(0x1a1),'text':_0x25955a};return{..._0x51e327,'system':[..._0x545809,_0x28528f]};}return _0x51e327;}export function shouldInjectSystemPrompt(_0x24adbb){const _0x31b2b5=a84_0x3289bf;return!_0x24adbb[_0x31b2b5(0x15e)]()['includes'](_0x31b2b5(0x1de));}const MIN_REASONING_MAX_TOKENS=0x7d00;export function isOpenAIReasoningModel(_0x1e0555){const _0x388466=a84_0x3289bf,_0x2352f3=_0x1e0555[_0x388466(0x15e)]();return/^gpt-5(\.\d+)?(-(mini|nano|pro))?(-\d{4}-\d{2}-\d{2})?$/[_0x388466(0x196)](_0x2352f3);}export function padMaxTokensForReasoningModel(_0x183b15,_0x5a7f05){const _0x3204ed=a84_0x3289bf;if(!isOpenAIReasoningModel(_0x5a7f05))return _0x183b15;const _0x31c7f8=typeof _0x183b15[_0x3204ed(0x1bd)]===_0x3204ed(0x185)?_0x183b15['max_tokens']:0x0;if(_0x31c7f8>=MIN_REASONING_MAX_TOKENS)return _0x183b15;return{..._0x183b15,'max_tokens':MIN_REASONING_MAX_TOKENS};}export function requestsStream(_0x3bffbd){return _0x3bffbd['stream']===!![];}const TOKEN_REFRESH_INTERVAL_MS=0x5*0x3c*0x3e8,TOKEN_EXPIRY_BUFFER_MS=0x5*0x3c*0x3e8;export class PassThroughProxyServer{['server'];[a84_0x3289bf(0x1b0)];[a84_0x3289bf(0x1c7)];[a84_0x3289bf(0x18b)];[a84_0x3289bf(0x18a)];[a84_0x3289bf(0x17a)];[a84_0x3289bf(0x1ff)];constructor(_0xa8af7d){const _0x464b61=a84_0x3289bf;this[_0x464b61(0x1b0)]=_0xa8af7d,this['logger']=_0xa8af7d[_0x464b61(0x1c7)],this[_0x464b61(0x1f9)]=this[_0x464b61(0x175)](),_0xa8af7d[_0x464b61(0x188)]&&(this['proxyReady']=createProxyFetch(_0xa8af7d[_0x464b61(0x188)])['then'](_0x21a531=>{const _0x52e1f6=_0x464b61;this[_0x52e1f6(0x17a)]=_0x21a531;}),this['logger'][_0x464b61(0x1e0)](_0x464b61(0x198)+maskProxyCredentials(_0xa8af7d[_0x464b61(0x188)])));}async[a84_0x3289bf(0x174)](){const _0x16a255=a84_0x3289bf;return this[_0x16a255(0x1ff)]&&await this[_0x16a255(0x1ff)],this['proxyFetch']??fetch;}get[a84_0x3289bf(0x1f3)](){const _0x33b5da=a84_0x3289bf;if(this['_boundPort']===undefined)throw new Error(_0x33b5da(0x1e2));return this[_0x33b5da(0x18b)];}[a84_0x3289bf(0x175)](){const _0x27a708=a84_0x3289bf,_0x4bcb30=a84_0xb0e3dd({'logger':![],'bodyLimit':0x40*0x400*0x400});return this[_0x27a708(0x1f9)]=_0x4bcb30,this[_0x27a708(0x1b4)](),this[_0x27a708(0x167)](),this['setupRoutes'](),_0x4bcb30;}['setupJsonParser'](){const _0x65e227=a84_0x3289bf;this[_0x65e227(0x1f9)][_0x65e227(0x1f2)]('application/json',{'parseAs':_0x65e227(0x162)},(_0xc88075,_0x454586,_0x28a03f)=>{const _0x331406=_0x65e227;try{const _0x2965a6=JSON[_0x331406(0x17d)](_0x454586);_0x28a03f(null,_0x2965a6);}catch(_0x44f544){_0x28a03f(_0x44f544,undefined);}});}[a84_0x3289bf(0x167)](){const _0xcfe02d=a84_0x3289bf;this[_0xcfe02d(0x1f9)][_0xcfe02d(0x1c4)](a84_0x3bdba6,{'origin':!![],'methods':[_0xcfe02d(0x169),_0xcfe02d(0x1aa),_0xcfe02d(0x161)],'allowedHeaders':['Content-Type',_0xcfe02d(0x180),'anthropic-version',_0xcfe02d(0x1b1)]}),this['server'][_0xcfe02d(0x18c)]((_0xa92437,_0x3c7d3a,_0x4a75a6)=>{const _0x42f0e3=_0xcfe02d,_0x35e19d=_0xa92437 instanceof Error?_0xa92437['message']:_0x42f0e3(0x1c8);this['logger'][_0x42f0e3(0x1f0)]('[PASSTHROUGH\x20PROXY\x20ERROR]:',_0xa92437),_0x4a75a6[_0x42f0e3(0x1cb)](0x1f4)[_0x42f0e3(0x1af)]({'type':_0x42f0e3(0x1f0),'error':{'type':_0x42f0e3(0x1ae),'message':_0x35e19d}});});}[a84_0x3289bf(0x1d5)](){const _0x43ad24=a84_0x3289bf;this[_0x43ad24(0x1f9)][_0x43ad24(0x1ee)]('/health',async()=>{const _0x5a72cb=_0x43ad24;return{'status':'ok','message':_0x5a72cb(0x1f8)};}),this[_0x43ad24(0x1f9)][_0x43ad24(0x1a8)](_0x43ad24(0x190),async(_0x1c475f,_0x1aaeb4)=>{const _0x2e6f07=_0x43ad24;return this[_0x2e6f07(0x189)](_0x1c475f,_0x1aaeb4);}),this['server']['post']('/v1/messages/count_tokens',async(_0x6f5fb,_0x46b3f4)=>{const _0x26be70=_0x43ad24;return this[_0x26be70(0x15d)](_0x6f5fb,_0x46b3f4);});}static ['SKIP_HEADERS']=new Set([a84_0x3289bf(0x1bf),a84_0x3289bf(0x1f6),a84_0x3289bf(0x1cd),a84_0x3289bf(0x1bc),a84_0x3289bf(0x1df),a84_0x3289bf(0x1b1),a84_0x3289bf(0x1c2)]);[a84_0x3289bf(0x1db)](_0x5b18f0){const _0x22fc2e=a84_0x3289bf,_0x351c73={};for(const [_0x38af6a,_0x1a1579]of Object['entries'](_0x5b18f0[_0x22fc2e(0x1dd)])){const _0x90bee7=_0x38af6a[_0x22fc2e(0x15e)]();if(PassThroughProxyServer[_0x22fc2e(0x16a)][_0x22fc2e(0x171)](_0x90bee7))continue;if(_0x90bee7[_0x22fc2e(0x17f)](_0x22fc2e(0x163)))continue;if(typeof _0x1a1579==='string')_0x351c73[_0x38af6a]=_0x1a1579;else Array[_0x22fc2e(0x1b8)](_0x1a1579)&&(_0x351c73[_0x38af6a]=_0x1a1579[_0x22fc2e(0x1ec)](',\x20'));}const _0x4af197=getVersion(),{auth:_0x537b3d}=this[_0x22fc2e(0x1b0)];return _0x351c73[_0x22fc2e(0x180)]=_0x537b3d[_0x22fc2e(0x1ba)]===_0x22fc2e(0x18e)?_0x22fc2e(0x15f)+_0x537b3d[_0x22fc2e(0x1fc)]:_0x22fc2e(0x1be)+_0x537b3d[_0x22fc2e(0x19e)],_0x351c73[_0x22fc2e(0x168)]='tdx/'+_0x4af197,_0x351c73[_0x22fc2e(0x195)]=_0x22fc2e(0x15c),_0x351c73[_0x22fc2e(0x17b)]=_0x4af197,_0x351c73;}async[a84_0x3289bf(0x189)](_0x125932,_0x9406e9){const _0x4e7d63=a84_0x3289bf,_0x20ecf3=_0x125932[_0x4e7d63(0x17c)],_0x377033=requestsStream(_0x20ecf3),_0x523f15=_0x20ecf3[_0x4e7d63(0x194)],_0x13dc44=_0x523f15?.[_0x4e7d63(0x1a6)]||'default',_0x5a48a0=extractSessionUUID(_0x13dc44),_0x5a0185=_0x20ecf3[_0x4e7d63(0x1f1)]||_0x4e7d63(0x1d8),_0x53e12c=shouldInjectSystemPrompt(_0x5a0185)?injectSystemPrompt(_0x20ecf3,TDX_SYSTEM_PROMPT):_0x20ecf3,_0x23cf5c=padMaxTokensForReasoningModel(_0x53e12c,_0x5a0185),_0x22283f=JSON['stringify'](_0x23cf5c),_0x729043=Array['isArray'](_0x20ecf3[_0x4e7d63(0x1eb)])?_0x20ecf3[_0x4e7d63(0x1eb)][_0x4e7d63(0x177)]:0x0;this['logger']['info'](_0x4e7d63(0x1a4)+_0x125932[_0x4e7d63(0x1bb)]+'\x20'+_0x125932['url']+':\x20messages='+_0x729043+_0x4e7d63(0x16b)+_0x5a0185+',\x20stream='+_0x377033);const _0x395c02=_0x125932[_0x4e7d63(0x19d)][_0x4e7d63(0x200)]('?')?_0x125932[_0x4e7d63(0x19d)]['slice'](_0x125932['url'][_0x4e7d63(0x164)]('?')):'',_0x53ea1d=this[_0x4e7d63(0x1b0)][_0x4e7d63(0x1ef)]+_0x4e7d63(0x190)+_0x395c02,_0x13b58c=this['buildForwardHeaders'](_0x125932);this[_0x4e7d63(0x1c7)][_0x4e7d63(0x1a2)](_0x4e7d63(0x1d2)+_0x53ea1d);const _0x4d2685=this[_0x4e7d63(0x1b0)][_0x4e7d63(0x1e5)]||DEFAULT_TIMEOUT_MS;try{const _0x57f71d=await this['getFetch'](),_0x46e758=await _0x57f71d(_0x53ea1d,{'method':_0x4e7d63(0x1aa),'headers':_0x13b58c,'body':_0x22283f,'signal':AbortSignal[_0x4e7d63(0x1b2)](_0x4d2685)});if(!_0x46e758['ok']){const _0x5a9dec=await _0x46e758['text']();return this[_0x4e7d63(0x1c7)]['error'](_0x4e7d63(0x1d0)+_0x46e758[_0x4e7d63(0x1dc)]+'\x20'+_0x46e758[_0x4e7d63(0x166)]),this[_0x4e7d63(0x1c7)][_0x4e7d63(0x1a2)]('Error\x20body:\x20'+_0x5a9dec),_0x9406e9['code'](_0x46e758[_0x4e7d63(0x1dc)]),_0x9406e9[_0x4e7d63(0x1c3)](_0x4e7d63(0x19b),_0x46e758[_0x4e7d63(0x1dd)]['get'](_0x4e7d63(0x19b))||_0x4e7d63(0x1e4)),_0x9406e9[_0x4e7d63(0x1af)](_0x5a9dec);}if(_0x377033&&_0x46e758[_0x4e7d63(0x17c)])await this[_0x4e7d63(0x1fa)](_0x46e758[_0x4e7d63(0x17c)],_0x9406e9,_0x5a48a0,_0x5a0185);else{const _0x210bfd=await _0x46e758[_0x4e7d63(0x1a1)]();_0x9406e9['header'](_0x4e7d63(0x19b),_0x46e758[_0x4e7d63(0x1dd)][_0x4e7d63(0x1ee)]('Content-Type')||_0x4e7d63(0x1e4));try{const _0x1707b4=JSON['parse'](_0x210bfd);_0x1707b4[_0x4e7d63(0x172)]&&await this[_0x4e7d63(0x1e1)](_0x5a48a0,_0x5a0185,_0x1707b4[_0x4e7d63(0x172)]['input_tokens']||0x0,_0x1707b4['usage'][_0x4e7d63(0x1b9)]||0x0,_0x1707b4[_0x4e7d63(0x172)][_0x4e7d63(0x181)],_0x1707b4['usage']['cache_read_input_tokens']);}catch{}return _0x9406e9['send'](_0x210bfd);}}catch(_0x2d4bb4){const _0x1e4ded=_0x2d4bb4 instanceof Error?_0x2d4bb4[_0x4e7d63(0x16f)]:'Unknown\x20error',_0x2cadb0=_0x2d4bb4 instanceof Error&&_0x2d4bb4[_0x4e7d63(0x1d9)]==='TimeoutError';this[_0x4e7d63(0x1c7)][_0x4e7d63(0x1f0)](_0x4e7d63(0x1d6),_0x2d4bb4),_0x9406e9['code'](_0x2cadb0?0x1f8:0x1f7)[_0x4e7d63(0x1af)]({'type':_0x4e7d63(0x1f0),'error':{'type':_0x2cadb0?'timeout_error':_0x4e7d63(0x1ae),'message':_0x2cadb0?_0x4e7d63(0x1b3)+_0x4d2685+'ms':_0x4e7d63(0x170)+_0x1e4ded}});}}async[a84_0x3289bf(0x1fa)](_0x2a97d7,_0x3a2378,_0x56a505,_0x4366e5){const _0x3a5be1=a84_0x3289bf;_0x3a2378[_0x3a5be1(0x1d4)]['writeHead'](0xc8,{'Content-Type':_0x3a5be1(0x184),'Cache-Control':_0x3a5be1(0x19f),'Connection':_0x3a5be1(0x197)});const _0x25d0f8=new SSEUsageTracker(),_0x336a64=_0x2a97d7[_0x3a5be1(0x1c5)](),_0x13ce20=new TextDecoder();try{while(!![]){const {done:_0x3a4ce2,value:_0x5970f2}=await _0x336a64[_0x3a5be1(0x1ac)]();if(_0x3a4ce2)break;const _0x1bda53=_0x13ce20['decode'](_0x5970f2,{'stream':!![]});_0x25d0f8['processChunk'](_0x1bda53),_0x3a2378[_0x3a5be1(0x1d4)][_0x3a5be1(0x16c)](_0x1bda53);}_0x25d0f8[_0x3a5be1(0x1ea)]();const _0x13a9d5=_0x25d0f8[_0x3a5be1(0x1ca)]();(_0x13a9d5[_0x3a5be1(0x1a7)]>0x0||_0x13a9d5[_0x3a5be1(0x1c0)]>0x0)&&await this[_0x3a5be1(0x1e1)](_0x56a505,_0x4366e5,_0x13a9d5[_0x3a5be1(0x1a7)],_0x13a9d5['outputTokens'],_0x13a9d5[_0x3a5be1(0x1e8)],_0x13a9d5[_0x3a5be1(0x1e7)]);}catch(_0x4ae4dc){this['logger'][_0x3a5be1(0x1f0)](_0x3a5be1(0x160),_0x4ae4dc);const _0x317dc0=_0x3a5be1(0x1d7)+JSON[_0x3a5be1(0x179)]({'type':'error','error':{'type':_0x3a5be1(0x19a),'message':'Stream\x20interrupted'}})+'\x0a\x0a';_0x3a2378['raw'][_0x3a5be1(0x16c)](_0x317dc0);}finally{_0x3a2378[_0x3a5be1(0x1d4)][_0x3a5be1(0x186)]();}}async['handleCountTokens'](_0x50185f,_0x7879c0){const _0x541246=a84_0x3289bf,_0x3eb32f=_0x50185f[_0x541246(0x17c)],_0x184e14=_0x50185f['url'][_0x541246(0x200)]('?')?_0x50185f[_0x541246(0x19d)][_0x541246(0x182)](_0x50185f[_0x541246(0x19d)]['indexOf']('?')):'',_0x5b4b18=this[_0x541246(0x1b0)][_0x541246(0x1ef)]+_0x541246(0x187)+_0x184e14,_0x1d996f=this['buildForwardHeaders'](_0x50185f),_0x4b0649=_0x3eb32f[_0x541246(0x1f1)]||_0x541246(0x1d8),_0x5dc4ca=shouldInjectSystemPrompt(_0x4b0649)?injectSystemPrompt(_0x3eb32f,TDX_SYSTEM_PROMPT):_0x3eb32f,_0xa4b8f0=JSON[_0x541246(0x179)](_0x5dc4ca);this[_0x541246(0x1c7)][_0x541246(0x1a2)]('[PASSTHROUGH]\x20Forwarding\x20count_tokens\x20to:\x20'+_0x5b4b18);const _0x2934c1=this[_0x541246(0x1b0)][_0x541246(0x1e5)]||DEFAULT_TIMEOUT_MS;try{const _0x5296a8=await this[_0x541246(0x174)](),_0x429344=await _0x5296a8(_0x5b4b18,{'method':_0x541246(0x1aa),'headers':_0x1d996f,'body':_0xa4b8f0,'signal':AbortSignal[_0x541246(0x1b2)](_0x2934c1)}),_0xa4d8a9=await _0x429344[_0x541246(0x1a1)]();return _0x7879c0[_0x541246(0x1cb)](_0x429344[_0x541246(0x1dc)]),_0x7879c0[_0x541246(0x1c3)](_0x541246(0x19b),_0x429344[_0x541246(0x1dd)][_0x541246(0x1ee)](_0x541246(0x19b))||_0x541246(0x1e4)),_0x7879c0[_0x541246(0x1af)](_0xa4d8a9);}catch(_0x55641e){const _0x45b5ab=_0x55641e instanceof Error?_0x55641e[_0x541246(0x16f)]:_0x541246(0x1c8),_0x2d9f84=_0x55641e instanceof Error&&_0x55641e[_0x541246(0x1d9)]===_0x541246(0x1c6);this[_0x541246(0x1c7)][_0x541246(0x1f0)](_0x541246(0x1a5),_0x55641e),_0x7879c0[_0x541246(0x1cb)](_0x2d9f84?0x1f8:0x1f7)[_0x541246(0x1af)]({'type':_0x541246(0x1f0),'error':{'type':_0x2d9f84?_0x541246(0x1c1):_0x541246(0x1ae),'message':_0x2d9f84?_0x541246(0x1b3)+_0x2934c1+'ms':'Failed\x20to\x20connect\x20to\x20TD\x20LLM\x20Proxy:\x20'+_0x45b5ab}});}}async[a84_0x3289bf(0x1e1)](_0x5b37aa,_0xe566fa,_0x457f39,_0x1e4c02,_0x11105c,_0x495c77){const _0x4c4172=a84_0x3289bf,_0x4d01bb={'timestamp':new Date()[_0x4c4172(0x1f7)](),'model':_0xe566fa,'inputTokens':_0x457f39,'outputTokens':_0x1e4c02,'cacheCreationInputTokens':_0x11105c,'cacheReadInputTokens':_0x495c77,'profile':this[_0x4c4172(0x1b0)][_0x4c4172(0x1a9)],'source':_0x4c4172(0x1a3)},_0x5385e9=_0x11105c||_0x495c77?',\x20cache_create='+(_0x11105c||0x0)+_0x4c4172(0x19c)+(_0x495c77||0x0):'';this[_0x4c4172(0x1c7)][_0x4c4172(0x1a2)](_0x4c4172(0x1fd)+_0x457f39+_0x4c4172(0x18d)+_0x1e4c02+_0x5385e9+',\x20model='+_0xe566fa);try{await appendUsageEntry(_0x5b37aa,_0x4d01bb);}catch(_0x385a60){this['logger'][_0x4c4172(0x1f0)](_0x4c4172(0x191),_0x385a60);}}['startTokenRefreshTimer'](){const _0x5edf46=a84_0x3289bf;if(this['config'][_0x5edf46(0x1cc)][_0x5edf46(0x1ba)]!==_0x5edf46(0x18e))return;this['refreshTimer']=setInterval(()=>{const _0x3dcc87=_0x5edf46;void this[_0x3dcc87(0x192)]();},TOKEN_REFRESH_INTERVAL_MS),this[_0x5edf46(0x18a)][_0x5edf46(0x1d3)]();}async[a84_0x3289bf(0x192)](){const _0x308796=a84_0x3289bf,{auth:_0x5aef7e}=this[_0x308796(0x1b0)];if(_0x5aef7e[_0x308796(0x1ba)]!==_0x308796(0x18e))return;const _0x1d9c16=!_0x5aef7e[_0x308796(0x1ce)]||_0x5aef7e[_0x308796(0x1ce)]<Date[_0x308796(0x1e9)]()+TOKEN_EXPIRY_BUFFER_MS;if(!_0x1d9c16)return;try{const _0x20c6b9=await refreshAccessToken(_0x5aef7e[_0x308796(0x1ab)],_0x5aef7e['refreshToken'],{'proxy':this[_0x308796(0x1b0)][_0x308796(0x188)]});_0x5aef7e[_0x308796(0x1fc)]=_0x20c6b9[_0x308796(0x201)],_0x5aef7e[_0x308796(0x176)]=_0x20c6b9['refresh_token'],_0x5aef7e[_0x308796(0x1ce)]=_0x20c6b9[_0x308796(0x1f4)],await saveOAuthTokens(_0x20c6b9,this[_0x308796(0x1b0)]['profile']),this[_0x308796(0x1c7)]['info']('[PASSTHROUGH]\x20OAuth\x20token\x20refreshed\x20successfully');}catch(_0x3ce072){this[_0x308796(0x1c7)][_0x308796(0x1f0)](_0x308796(0x16d),_0x3ce072);}}async[a84_0x3289bf(0x17e)](){const _0x79ba5b=a84_0x3289bf,_0x21cf73=this[_0x79ba5b(0x1b0)][_0x79ba5b(0x199)]??0x64;for(let _0x4ee114=0x0;_0x4ee114<_0x21cf73;_0x4ee114++){const _0x3f443b=this[_0x79ba5b(0x1b0)][_0x79ba5b(0x1d1)]+_0x4ee114;try{await this[_0x79ba5b(0x1f9)][_0x79ba5b(0x1b7)]({'port':_0x3f443b,'host':'127.0.0.1'}),this['_boundPort']=_0x3f443b,this[_0x79ba5b(0x1c7)][_0x79ba5b(0x1e0)](_0x79ba5b(0x202)+_0x3f443b),this[_0x79ba5b(0x1c7)][_0x79ba5b(0x1e0)](_0x79ba5b(0x1d2)+this[_0x79ba5b(0x1b0)][_0x79ba5b(0x1ef)]),this['startTokenRefreshTimer']();return;}catch(_0x8158f){const _0x33a29a=_0x8158f instanceof Error&&_0x79ba5b(0x1cb)in _0x8158f&&_0x8158f[_0x79ba5b(0x1cb)]===_0x79ba5b(0x1da);if(!_0x33a29a)throw _0x8158f;this[_0x79ba5b(0x1c7)]['debug'](_0x79ba5b(0x183)+_0x3f443b+_0x79ba5b(0x1f5)),this[_0x79ba5b(0x175)]();}}const _0x51809c=this[_0x79ba5b(0x1b0)]['startPort']+_0x21cf73-0x1;throw new Error(_0x79ba5b(0x165)+this[_0x79ba5b(0x1b0)][_0x79ba5b(0x1d1)]+_0x79ba5b(0x1b5)+_0x51809c);}async['stop'](){const _0x1595d0=a84_0x3289bf;this[_0x1595d0(0x18a)]&&(clearInterval(this[_0x1595d0(0x18a)]),this[_0x1595d0(0x18a)]=undefined),await this[_0x1595d0(0x1f9)][_0x1595d0(0x203)](),this[_0x1595d0(0x1c7)][_0x1595d0(0x1e0)](_0x1595d0(0x16e));}[a84_0x3289bf(0x1a0)](){const _0x13cd18=a84_0x3289bf;return'http://127.0.0.1:'+this[_0x13cd18(0x1f3)];}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a85_0x2669ae=a85_0x5547;(function(_0x199593,_0x4ab6cc){const _0x3cbdab=a85_0x5547,_0x1340e0=_0x199593();while(!![]){try{const _0x2faae7=-parseInt(_0x3cbdab(0x161))/0x1*(parseInt(_0x3cbdab(0x173))/0x2)+parseInt(_0x3cbdab(0x14c))/0x3+parseInt(_0x3cbdab(0x162))/0x4*(parseInt(_0x3cbdab(0x155))/0x5)+-parseInt(_0x3cbdab(0x15b))/0x6*(parseInt(_0x3cbdab(0x16b))/0x7)+-parseInt(_0x3cbdab(0x16c))/0x8*(parseInt(_0x3cbdab(0x169))/0x9)+parseInt(_0x3cbdab(0x165))/0xa*(-parseInt(_0x3cbdab(0x157))/0xb)+parseInt(_0x3cbdab(0x156))/0xc*(parseInt(_0x3cbdab(0x164))/0xd);if(_0x2faae7===_0x4ab6cc)break;else _0x1340e0['push'](_0x1340e0['shift']());}catch(_0x511e2d){_0x1340e0['push'](_0x1340e0['shift']());}}}(a85_0x5ba7,0xa98aa));export function parseSSEChunk(_0xa54cee){const _0x55aeb2=a85_0x5547,_0x2f1a2a=[],_0x3086f7=_0xa54cee['split']('\x0a\x0a'),_0x3dc877=_0x3086f7[_0x55aeb2(0x14e)]()||'';for(const _0x4635c1 of _0x3086f7){if(!_0x4635c1[_0x55aeb2(0x170)]())continue;const _0x8a65b2={},_0x4154f1=_0x4635c1[_0x55aeb2(0x167)]('\x0a');for(const _0xa8a266 of _0x4154f1){if(_0xa8a266[_0x55aeb2(0x16f)](_0x55aeb2(0x16d)))_0x8a65b2[_0x55aeb2(0x14f)]=_0xa8a266[_0x55aeb2(0x153)](0x7);else _0xa8a266['startsWith'](_0x55aeb2(0x14d))&&(_0x8a65b2[_0x55aeb2(0x166)]=_0xa8a266[_0x55aeb2(0x153)](0x6));}(_0x8a65b2[_0x55aeb2(0x14f)]||_0x8a65b2[_0x55aeb2(0x166)])&&_0x2f1a2a[_0x55aeb2(0x15a)](_0x8a65b2);}return{'events':_0x2f1a2a,'remaining':_0x3dc877};}export function extractMessageStartUsage(_0x598547){const _0x41b6a9=a85_0x5547;try{const _0x36260e=JSON[_0x41b6a9(0x16e)](_0x598547);if(_0x36260e[_0x41b6a9(0x15f)]===_0x41b6a9(0x15e)&&_0x36260e[_0x41b6a9(0x168)]?.['usage']){const _0x37a56d=_0x36260e['message'][_0x41b6a9(0x16a)];return{'inputTokens':_0x37a56d['input_tokens']||0x0,'outputTokens':_0x37a56d[_0x41b6a9(0x160)]||0x0,'cacheCreationInputTokens':_0x37a56d['cache_creation_input_tokens'],'cacheReadInputTokens':_0x37a56d[_0x41b6a9(0x172)]};}}catch{}return null;}export function extractMessageDeltaUsage(_0x1d5933){const _0x294759=a85_0x5547;try{const _0x6af645=JSON[_0x294759(0x16e)](_0x1d5933);if(_0x6af645['type']==='message_delta'&&_0x6af645[_0x294759(0x16a)]){const _0x5a2d32=_0x6af645[_0x294759(0x16a)];return{'inputTokens':_0x5a2d32[_0x294759(0x176)]||0x0,'outputTokens':_0x5a2d32[_0x294759(0x160)]||0x0,'cacheCreationInputTokens':_0x5a2d32[_0x294759(0x171)],'cacheReadInputTokens':_0x5a2d32[_0x294759(0x172)]};}}catch{}return null;}export function extractUsageFromEvent(_0x572d75){const _0x49dbd6=a85_0x5547;if(!_0x572d75[_0x49dbd6(0x166)])return null;if(_0x572d75[_0x49dbd6(0x14f)]===_0x49dbd6(0x15e))return extractMessageStartUsage(_0x572d75[_0x49dbd6(0x166)]);if(_0x572d75[_0x49dbd6(0x14f)]==='message_delta')return extractMessageDeltaUsage(_0x572d75['data']);return null;}function a85_0x5547(_0x5e4b9a,_0x16f2de){_0x5e4b9a=_0x5e4b9a-0x14c;const _0x5ba7f5=a85_0x5ba7();let _0x55472e=_0x5ba7f5[_0x5e4b9a];return _0x55472e;}function a85_0x5ba7(){const _0x2115cd=['event:\x20','parse','startsWith','trim','cache_creation_input_tokens','cache_read_input_tokens','2GpFmFQ','inputTokens','flush','input_tokens','2205348ZzGFSp','data:\x20','pop','event','outputTokens','updateFromUsage','unknown','slice','cacheCreationInputTokens','2921195QolJVc','17106360mzpADF','33242zYlDrG','reset','max','push','6bTPpuZ','buffer','onRawUsage','message_start','type','output_tokens','771742oHAThf','8EenFXl','cacheReadInputTokens','26FkhMfy','2140mbQMeV','data','split','message','63594NovXTC','usage','9440788QSfCPy','1464IgYJis'];a85_0x5ba7=function(){return _0x2115cd;};return a85_0x5ba7();}export class SSEUsageTracker{[a85_0x2669ae(0x174)]=0x0;['outputTokens']=0x0;[a85_0x2669ae(0x154)];[a85_0x2669ae(0x163)];['buffer']='';['updateFromUsage'](_0x44b154){const _0x3d2437=a85_0x2669ae;this[_0x3d2437(0x174)]=Math[_0x3d2437(0x159)](this[_0x3d2437(0x174)],_0x44b154[_0x3d2437(0x174)]),this[_0x3d2437(0x150)]=Math[_0x3d2437(0x159)](this[_0x3d2437(0x150)],_0x44b154['outputTokens']),_0x44b154[_0x3d2437(0x154)]!==undefined&&(this[_0x3d2437(0x154)]=Math[_0x3d2437(0x159)](this[_0x3d2437(0x154)]??0x0,_0x44b154[_0x3d2437(0x154)])),_0x44b154[_0x3d2437(0x163)]!==undefined&&(this['cacheReadInputTokens']=Math[_0x3d2437(0x159)](this[_0x3d2437(0x163)]??0x0,_0x44b154[_0x3d2437(0x163)]));}[a85_0x2669ae(0x15d)];['processChunk'](_0x812b4){const _0x4832bd=a85_0x2669ae;this[_0x4832bd(0x15c)]+=_0x812b4;const {events:_0x5875fc,remaining:_0x1ec80a}=parseSSEChunk(this[_0x4832bd(0x15c)]);this['buffer']=_0x1ec80a;for(const _0x542404 of _0x5875fc){const _0x2dfcd9=extractUsageFromEvent(_0x542404);_0x2dfcd9&&(this[_0x4832bd(0x15d)]?.(_0x542404[_0x4832bd(0x14f)]||_0x4832bd(0x152),_0x542404[_0x4832bd(0x166)]||'',_0x2dfcd9),this[_0x4832bd(0x151)](_0x2dfcd9));}return _0x812b4;}[a85_0x2669ae(0x175)](){const _0x2952c2=a85_0x2669ae;if(this[_0x2952c2(0x15c)][_0x2952c2(0x170)]()){const {events:_0x205d73}=parseSSEChunk(this['buffer']+'\x0a\x0a');for(const _0x4cdcf of _0x205d73){const _0x313987=extractUsageFromEvent(_0x4cdcf);_0x313987&&this['updateFromUsage'](_0x313987);}this[_0x2952c2(0x15c)]='';}}['getUsage'](){const _0x34b925=a85_0x2669ae;return{'inputTokens':this[_0x34b925(0x174)],'outputTokens':this['outputTokens'],'cacheCreationInputTokens':this[_0x34b925(0x154)],'cacheReadInputTokens':this[_0x34b925(0x163)]};}[a85_0x2669ae(0x158)](){const _0x32dd05=a85_0x2669ae;this[_0x32dd05(0x174)]=0x0,this[_0x32dd05(0x150)]=0x0,this[_0x32dd05(0x154)]=undefined,this[_0x32dd05(0x163)]=undefined,this[_0x32dd05(0x15c)]='';}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
function a86_0x2a9e(){const _0x59cfc5=['Current\x20context\x20has\x20llm_project=\x22','utf-8','chat_interfaces','no_tests','arg-dir','name','\x22\x20but\x20no\x20local\x20folder\x20found.','arg','string','resolve','345sEeiAH','783jooSkV','parse','No\x20tdx.json\x20found\x20and\x20llm_project\x20is\x20not\x20set.','tdx.json','requireFile','isDirectory','KNOWLEDGE_BASES','Invalid\x20tdx.json:\x20expected\x20object','37050200tkBicV','integrations','agents','32072jQSmdE','cwd','3414OkLQox','346vLYACG','no_local_folder','length','Invalid\x20JSON\x20in\x20','No\x20agent\x20tdx.json\x20found.\x20Please\x20run\x20\x27tdx\x20agent\x20pull\x20<project>\x27\x20first\x20to\x20create\x20the\x20folder\x20structure.','experimental_knowledge_bases','agent.yml','8286860wSqNtB','PROMPTS','dirname','4642hznJTn','knowledge_bases','cwd-config','local','context','3728fgYcLh','9580ZfXbdI','prompts','filter','multiple_agents','EXPERIMENTAL_KNOWLEDGE_BASES','join','EXPERIMENTAL_ARTIFACTS','form_interfaces','llm_project','8511412HkCDMO'];a86_0x2a9e=function(){return _0x59cfc5;};return a86_0x2a9e();}const a86_0x39bd20=a86_0x25a0;(function(_0x45ee9,_0x244435){const _0x28ff85=a86_0x25a0,_0x68b5f6=_0x45ee9();while(!![]){try{const _0x25dabe=-parseInt(_0x28ff85(0xa2))/0x1*(parseInt(_0x28ff85(0x98))/0x2)+parseInt(_0x28ff85(0x89))/0x3*(-parseInt(_0x28ff85(0x95))/0x4)+-parseInt(_0x28ff85(0x75))/0x5*(-parseInt(_0x28ff85(0x97))/0x6)+-parseInt(_0x28ff85(0x7e))/0x7+parseInt(_0x28ff85(0x74))/0x8*(-parseInt(_0x28ff85(0x8a))/0x9)+-parseInt(_0x28ff85(0x9f))/0xa+parseInt(_0x28ff85(0x92))/0xb;if(_0x25dabe===_0x244435)break;else _0x68b5f6['push'](_0x68b5f6['shift']());}catch(_0x1e2c0a){_0x68b5f6['push'](_0x68b5f6['shift']());}}}(a86_0x2a9e,0x9e3bc));import{existsSync,readFileSync,readdirSync}from'fs';function a86_0x25a0(_0x230681,_0x29298e){_0x230681=_0x230681-0x71;const _0x2a9ee4=a86_0x2a9e();let _0x25a0d8=_0x2a9ee4[_0x230681];return _0x25a0d8;}import a86_0x38fde1 from'path';import{sanitizeForFilesystem,normalizeName}from'./agent-yaml.js';const TDX_CONFIG_FILE=a86_0x39bd20(0x8d),AGENTS_DIR=a86_0x39bd20(0x94);export function findAgentConfigPath(_0x4b6692=process['cwd']()){const _0x3792bb=a86_0x39bd20;let _0x553c7d=a86_0x38fde1[_0x3792bb(0x88)](_0x4b6692);const _0x4dc21d=a86_0x38fde1['parse'](_0x553c7d)['root'];while(_0x553c7d!==_0x4dc21d){const _0x3e3c26=a86_0x38fde1[_0x3792bb(0x7a)](_0x553c7d,TDX_CONFIG_FILE);if(existsSync(_0x3e3c26))try{const _0x157d99=readFileSync(_0x3e3c26,_0x3792bb(0x80)),_0x102cb7=JSON['parse'](_0x157d99);if(_0x102cb7[_0x3792bb(0x7d)])return _0x3e3c26;}catch{}_0x553c7d=a86_0x38fde1[_0x3792bb(0xa1)](_0x553c7d);}return null;}export function loadAgentConfig(_0x1b0d7a){const _0x1f32d3=a86_0x39bd20,_0x2e21b8=readFileSync(_0x1b0d7a,_0x1f32d3(0x80));let _0x3189fa;try{_0x3189fa=JSON[_0x1f32d3(0x8b)](_0x2e21b8);}catch{throw new Error(_0x1f32d3(0x9b)+_0x1b0d7a);}if(!_0x3189fa||typeof _0x3189fa!=='object')throw new Error(_0x1f32d3(0x91));const _0x2e8f7b=_0x3189fa;if(!_0x2e8f7b[_0x1f32d3(0x7d)]||typeof _0x2e8f7b['llm_project']!==_0x1f32d3(0x87))throw new Error('Invalid\x20tdx.json:\x20missing\x20or\x20invalid\x20\x27llm_project\x27\x20field');return{'llm_project':_0x2e8f7b['llm_project']};}export function findAgentConfig(_0x10eab9=process[a86_0x39bd20(0x96)]()){const _0x199bcf=a86_0x39bd20,_0x3e0b0b=findAgentConfigPath(_0x10eab9);if(!_0x3e0b0b)throw new Error(_0x199bcf(0x9c));const _0x349831=loadAgentConfig(_0x3e0b0b),_0x1256c3=a86_0x38fde1[_0x199bcf(0xa1)](_0x3e0b0b);return{'config':_0x349831,'configPath':_0x3e0b0b,'configDir':_0x1256c3};}export function getAgentProjectDir(_0x4c2699,_0x57ac08=process[a86_0x39bd20(0x96)]()){return a86_0x38fde1['join'](_0x57ac08,AGENTS_DIR,_0x4c2699);}export function getAgentConfigPath(_0x132cf7,_0x4a8a27=process['cwd']()){const _0x53a4b4=a86_0x39bd20;return a86_0x38fde1[_0x53a4b4(0x7a)](getAgentProjectDir(_0x132cf7,_0x4a8a27),TDX_CONFIG_FILE);}export function createAgentConfigContent(_0x6bbbe){const _0x2c1f3a={'llm_project':_0x6bbbe};return JSON['stringify'](_0x2c1f3a,null,0x2)+'\x0a';}export function isAgentDir(_0x222807){const _0x23b8e8=a86_0x39bd20;return existsSync(a86_0x38fde1[_0x23b8e8(0x7a)](_0x222807,_0x23b8e8(0x9e)));}export function isAgentYamlPath(_0x7f2533){return a86_0x38fde1['basename'](_0x7f2533)==='agent.yml';}export function getAgentDirFromYamlPath(_0x3113ce){return a86_0x38fde1['dirname'](_0x3113ce);}export const PROJECT_SUBDIRS={'KNOWLEDGE_BASES':a86_0x39bd20(0xa3),'PROMPTS':a86_0x39bd20(0x76),'INTEGRATIONS':a86_0x39bd20(0x93),'EXPERIMENTAL_KNOWLEDGE_BASES':a86_0x39bd20(0x9d),'EXPERIMENTAL_ARTIFACTS':'experimental_artifacts','FORM_INTERFACES':a86_0x39bd20(0x7c),'CHAT_INTERFACES':a86_0x39bd20(0x81)};export function getKnowledgeBasesDir(_0x5130a1){const _0x350f49=a86_0x39bd20;return a86_0x38fde1[_0x350f49(0x7a)](_0x5130a1,PROJECT_SUBDIRS[_0x350f49(0x90)]);}export function getPromptsDir(_0x3fc0f6){const _0x33a1e7=a86_0x39bd20;return a86_0x38fde1[_0x33a1e7(0x7a)](_0x3fc0f6,PROJECT_SUBDIRS[_0x33a1e7(0xa0)]);}export function getIntegrationsDir(_0x5a7470){const _0x200bef=a86_0x39bd20;return a86_0x38fde1[_0x200bef(0x7a)](_0x5a7470,PROJECT_SUBDIRS['INTEGRATIONS']);}export function getExperimentalKnowledgeBasesDir(_0x315cfb){const _0x44c0b9=a86_0x39bd20;return a86_0x38fde1[_0x44c0b9(0x7a)](_0x315cfb,PROJECT_SUBDIRS[_0x44c0b9(0x79)]);}export function getExperimentalArtifactsDir(_0x1932b5){const _0x36cf89=a86_0x39bd20;return a86_0x38fde1[_0x36cf89(0x7a)](_0x1932b5,PROJECT_SUBDIRS[_0x36cf89(0x7b)]);}export function getFormInterfacesDir(_0x16b90b){const _0x23cb4c=a86_0x39bd20;return a86_0x38fde1[_0x23cb4c(0x7a)](_0x16b90b,PROJECT_SUBDIRS['FORM_INTERFACES']);}export function getChatInterfacesDir(_0x2f4702){const _0xd6628d=a86_0x39bd20;return a86_0x38fde1[_0xd6628d(0x7a)](_0x2f4702,PROJECT_SUBDIRS['CHAT_INTERFACES']);}export function resolveAgentPullArgs(_0x341f99){const _0x32875d=a86_0x39bd20,{arg:_0x5d6b11,agentNameArg:_0x1581bc,agentFlag:_0x22e4f9,contextProject:_0x19ef88,argDirConfig:_0x2307aa,cwdConfigPath:_0x2464d1,cwdConfig:_0x59a1c6}=_0x341f99,_0x11704e=_0x1581bc||_0x22e4f9;if(_0x5d6b11){if(_0x2307aa)return{'projectNameOrId':_0x2307aa[_0x32875d(0x7d)],'targetAgentName':_0x11704e,'existingOutputDir':_0x5d6b11,'source':_0x32875d(0x83)};return{'projectNameOrId':_0x5d6b11,'targetAgentName':_0x11704e,'source':_0x32875d(0x86)};}if(_0x22e4f9&&_0x19ef88)return{'projectNameOrId':_0x19ef88,'targetAgentName':_0x22e4f9,'source':_0x32875d(0x73)};if(_0x2464d1&&_0x59a1c6)return{'projectNameOrId':_0x59a1c6[_0x32875d(0x7d)],'targetAgentName':_0x11704e,'existingOutputDir':a86_0x38fde1[_0x32875d(0xa1)](_0x2464d1),'source':_0x32875d(0x71)};return{'projectNameOrId':_0x19ef88,'targetAgentName':_0x11704e,'source':_0x19ef88?_0x32875d(0x73):undefined};}export function resolveProjectFromContext(_0x15332a,_0x2fb3b6,_0x14be80){const _0x51240a=a86_0x39bd20,_0x14abd5=_0x14be80?.[_0x51240a(0x8e)],_0x4d63e3=findAgentConfigPath(a86_0x38fde1[_0x51240a(0x88)](_0x15332a));if(_0x4d63e3)return{'found':!![],'projectDir':a86_0x38fde1[_0x51240a(0xa1)](_0x4d63e3),'configPath':_0x4d63e3,'source':_0x51240a(0x72)};if(!_0x2fb3b6)return{'found':![],'reason':'no_context','message':_0x51240a(0x8c)};const _0x13422d=sanitizeForFilesystem(_0x2fb3b6),_0x50abb7=a86_0x38fde1['join'](process['cwd'](),AGENTS_DIR);let _0x47ac07=a86_0x38fde1[_0x51240a(0x7a)](_0x50abb7,_0x13422d),_0xf24b0d=a86_0x38fde1[_0x51240a(0x7a)](_0x47ac07,TDX_CONFIG_FILE);if(!existsSync(_0x47ac07)){const _0x193d89=normalizeName(_0x2fb3b6),_0x37f70c=a86_0x38fde1[_0x51240a(0x7a)](_0x50abb7,_0x193d89);existsSync(_0x37f70c)&&(_0x47ac07=_0x37f70c,_0xf24b0d=a86_0x38fde1['join'](_0x47ac07,TDX_CONFIG_FILE));}if(!existsSync(_0x47ac07))return{'found':![],'reason':_0x51240a(0x99),'llmProject':_0x2fb3b6,'message':_0x51240a(0x7f)+_0x2fb3b6+_0x51240a(0x85)};if(_0x14abd5){const _0x222e56=readdirSync(_0x47ac07,{'withFileTypes':!![]}),_0x2053d1=_0x222e56[_0x51240a(0x77)](_0x35b180=>_0x35b180[_0x51240a(0x8f)]())['map'](_0x23f918=>_0x23f918[_0x51240a(0x84)])['filter'](_0x2a2e8f=>{const _0x590590=_0x51240a,_0x16546e=a86_0x38fde1[_0x590590(0x7a)](_0x47ac07,_0x2a2e8f,_0x14abd5);return existsSync(_0x16546e);});if(_0x2053d1[_0x51240a(0x9a)]===0x0)return{'found':![],'reason':_0x51240a(0x82),'llmProject':_0x2fb3b6,'projectDir':_0x47ac07};if(_0x2053d1[_0x51240a(0x9a)]>0x1)return{'found':![],'reason':_0x51240a(0x78),'llmProject':_0x2fb3b6,'agentDirs':_0x2053d1,'projectDir':_0x47ac07};return{'found':!![],'projectDir':a86_0x38fde1[_0x51240a(0x7a)](_0x47ac07,_0x2053d1[0x0]),'configPath':_0xf24b0d,'source':_0x51240a(0x73)};}return{'found':!![],'projectDir':_0x47ac07,'configPath':_0xf24b0d,'source':_0x51240a(0x73)};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function a87_0x461b(_0x281989,_0x4a8e7e){_0x281989=_0x281989-0xf9;const _0x3c7cba=a87_0x3c7c();let _0x461bd6=_0x3c7cba[_0x281989];return _0x461bd6;}function a87_0x3c7c(){const _0x3ee345=['54UrDbXD','Agent\x20name\x20cannot\x20be\x20empty','581guvgMa','1848052jaXqoa','4707152SwZTck','7494lwqiqX','30928hgwzVI','4798nLgwZw','split','2655cOcSRB','Agent\x20reference\x20cannot\x20be\x20empty','trim','length','1703370vNbRZg','32139657SLLslU','789Wmoqgl'];a87_0x3c7c=function(){return _0x3ee345;};return a87_0x3c7c();}(function(_0x14d6cb,_0x44f4bb){const _0xb39521=a87_0x461b,_0x176e2d=_0x14d6cb();while(!![]){try{const _0x484e38=parseInt(_0xb39521(0x103))/0x1+parseInt(_0xb39521(0x107))/0x2*(-parseInt(_0xb39521(0xff))/0x3)+-parseInt(_0xb39521(0x104))/0x4+-parseInt(_0xb39521(0xf9))/0x5*(parseInt(_0xb39521(0x105))/0x6)+parseInt(_0xb39521(0x102))/0x7*(-parseInt(_0xb39521(0x106))/0x8)+-parseInt(_0xb39521(0x100))/0x9*(parseInt(_0xb39521(0xfd))/0xa)+parseInt(_0xb39521(0xfe))/0xb;if(_0x484e38===_0x44f4bb)break;else _0x176e2d['push'](_0x176e2d['shift']());}catch(_0x5d687f){_0x176e2d['push'](_0x176e2d['shift']());}}}(a87_0x3c7c,0xe965b));export function parseAgentRef(_0x7c049e){const _0x4ce728=a87_0x461b;if(!_0x7c049e||_0x7c049e[_0x4ce728(0xfb)]()==='')throw new Error(_0x4ce728(0xfa));const _0x526433=_0x7c049e[_0x4ce728(0xfb)](),_0x49ad8e=_0x526433[_0x4ce728(0x108)]('/');if(_0x49ad8e[_0x4ce728(0xfc)]===0x1)return{'projectName':_0x49ad8e[0x0],'agentName':undefined};else{if(_0x49ad8e['length']===0x2){const [_0x204164,_0x2a2afc]=_0x49ad8e;if(!_0x204164||_0x204164[_0x4ce728(0xfb)]()==='')throw new Error('Project\x20name\x20cannot\x20be\x20empty');if(!_0x2a2afc||_0x2a2afc[_0x4ce728(0xfb)]()==='')throw new Error(_0x4ce728(0x101));return{'projectName':_0x204164['trim'](),'agentName':_0x2a2afc[_0x4ce728(0xfb)]()};}else throw new Error('Invalid\x20agent\x20reference\x20format:\x20'+_0x7c049e+'.\x20Expected\x20\x22project_name\x22\x20or\x20\x22project_name/agent_name\x22');}}
|