@treasuredata/tdx 2026.7.6 → 2026.8.1
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.d.ts +9 -0
- package/dist/commands/auth-command.d.ts.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 +10 -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/auth-token.d.ts +23 -0
- package/dist/sdk/auth-token.d.ts.map +1 -0
- package/dist/sdk/auth-token.js +1 -0
- package/dist/sdk/auth-token.js.map +1 -0
- 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
|
-
|
|
1
|
+
function a81_0x25f9(_0x1c8e63,_0x4720bf){_0x1c8e63=_0x1c8e63-0xb9;const _0x4dc2aa=a81_0x4dc2();let _0x25f9dd=_0x4dc2aa[_0x1c8e63];return _0x25f9dd;}const a81_0x3e5552=a81_0x25f9;(function(_0x25586c,_0x4abf84){const _0x5ba271=a81_0x25f9,_0x522131=_0x25586c();while(!![]){try{const _0x5a6b98=parseInt(_0x5ba271(0xe9))/0x1+parseInt(_0x5ba271(0xd3))/0x2*(-parseInt(_0x5ba271(0xd1))/0x3)+parseInt(_0x5ba271(0xcf))/0x4*(-parseInt(_0x5ba271(0xbd))/0x5)+-parseInt(_0x5ba271(0xe3))/0x6*(-parseInt(_0x5ba271(0xd5))/0x7)+-parseInt(_0x5ba271(0xe8))/0x8+-parseInt(_0x5ba271(0xcd))/0x9*(parseInt(_0x5ba271(0xe0))/0xa)+-parseInt(_0x5ba271(0xc0))/0xb*(-parseInt(_0x5ba271(0xeb))/0xc);if(_0x5a6b98===_0x4abf84)break;else _0x522131['push'](_0x522131['shift']());}catch(_0x483325){_0x522131['push'](_0x522131['shift']());}}}(a81_0x4dc2,0x3fe20));import{z}from'zod';function a81_0x4dc2(){const _0x389533=['GitHub\x20PR/issue\x20reference\x20(owner/repo#number)','2309196UzWFKa','void','Tags\x20for\x20the\x20item','item','superseded','22745xTAgvf','string','todo','33ouIQGe','describe','design_review','filePath','title','Markdown\x20body\x20content','jira','github','array','critical','high','status','body','575082QstNNT','priority','392IiqaXD','reference','123HYwuJb','low','6434fnMovI','kind','1103207DmZDDg','Document\x20kind\x20(default:\x20\x22item\x22)','optional','guide','Priority\x20level','object','replace','proposed','in_progress','Initial\x20status\x20(default:\x20\x22todo\x22\x20for\x20items,\x20\x22proposed\x22\x20for\x20guides)','Item\x20title\x20(required)','40ZFaGlt','medium','fileName','6wehhAt','accepted','template','No\x20workspace\x20found.\x20Run\x20`tdx\x20work\x20init`\x20to\x20create\x20one.','note','1264296ZySyje','518092UxlNiv'];a81_0x4dc2=function(){return _0x389533;};return a81_0x4dc2();}import{WorkspaceSDK,resolveWorkspacePath}from'../../sdk/workspace/index.js';const TASK_STATUSES=['backlog',a81_0x3e5552(0xbf),'planning',a81_0x3e5552(0xc2),a81_0x3e5552(0xdd),'review','done',a81_0x3e5552(0xb9)],GUIDE_STATUSES=[a81_0x3e5552(0xdc),a81_0x3e5552(0xe4),'deprecated',a81_0x3e5552(0xbc)];export const WorkCreateItemInputSchema=z[a81_0x3e5552(0xda)]({'title':z[a81_0x3e5552(0xbe)]()[a81_0x3e5552(0xc1)](a81_0x3e5552(0xdf)),'kind':z['enum']([a81_0x3e5552(0xbb),a81_0x3e5552(0xe7),a81_0x3e5552(0xd8),a81_0x3e5552(0xd0)])[a81_0x3e5552(0xd7)]()[a81_0x3e5552(0xc1)](a81_0x3e5552(0xd6)),'status':z['enum']([...TASK_STATUSES,...GUIDE_STATUSES])[a81_0x3e5552(0xd7)]()[a81_0x3e5552(0xc1)](a81_0x3e5552(0xde)),'tags':z[a81_0x3e5552(0xc8)](z[a81_0x3e5552(0xbe)]())[a81_0x3e5552(0xd7)]()['describe'](a81_0x3e5552(0xba)),'priority':z['enum']([a81_0x3e5552(0xc9),a81_0x3e5552(0xca),a81_0x3e5552(0xe1),a81_0x3e5552(0xd2)])[a81_0x3e5552(0xd7)]()[a81_0x3e5552(0xc1)](a81_0x3e5552(0xd9)),'body':z['string']()['optional']()[a81_0x3e5552(0xc1)](a81_0x3e5552(0xc5)),'template':z[a81_0x3e5552(0xbe)]()[a81_0x3e5552(0xd7)]()[a81_0x3e5552(0xc1)]('Template\x20name\x20from\x20templates/\x20folder'),'github':z[a81_0x3e5552(0xbe)]()['optional']()[a81_0x3e5552(0xc1)](a81_0x3e5552(0xea)),'jira':z[a81_0x3e5552(0xbe)]()[a81_0x3e5552(0xd7)]()[a81_0x3e5552(0xc1)]('JIRA\x20ticket\x20reference\x20(org/TICKET-ID)')});export function executeWorkCreateItem(_0x3d0caf){const _0x442a61=a81_0x3e5552,_0x1cc7ac=resolveWorkspacePath();if(!_0x1cc7ac)return{'success':![],'error':_0x442a61(0xe6)};const _0x27e5c2=new WorkspaceSDK(_0x1cc7ac),_0x12130c={'title':_0x3d0caf[_0x442a61(0xc4)],'kind':_0x3d0caf[_0x442a61(0xd4)]||_0x442a61(0xbb),'status':_0x3d0caf[_0x442a61(0xcb)],'tags':_0x3d0caf['tags'],'priority':_0x3d0caf[_0x442a61(0xce)],'body':_0x3d0caf[_0x442a61(0xcc)],'template':_0x3d0caf[_0x442a61(0xe5)],'github':_0x3d0caf[_0x442a61(0xc7)],'jira':_0x3d0caf[_0x442a61(0xc6)]},_0x2c092a=_0x27e5c2['createDocument'](_0x12130c);return{'success':!![],'path':_0x2c092a[_0x442a61(0xc3)],'slug':_0x2c092a[_0x442a61(0xe2)][_0x442a61(0xdb)](/\.md$/,'')};}
|
package/dist/mcp/utils.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a82_0x5d4516=a82_0x1599;(function(_0x58155f,_0x44475c){const _0x2b7337=a82_0x1599,_0x561677=_0x58155f();while(!![]){try{const _0x23b28e=-parseInt(_0x2b7337(0x1ec))/0x1*(parseInt(_0x2b7337(0x1fa))/0x2)+-parseInt(_0x2b7337(0x1e1))/0x3+-parseInt(_0x2b7337(0x1e8))/0x4+-parseInt(_0x2b7337(0x1ea))/0x5*(parseInt(_0x2b7337(0x1fb))/0x6)+parseInt(_0x2b7337(0x1e5))/0x7+-parseInt(_0x2b7337(0x1eb))/0x8*(-parseInt(_0x2b7337(0x1e6))/0x9)+parseInt(_0x2b7337(0x1f1))/0xa*(parseInt(_0x2b7337(0x1ee))/0xb);if(_0x23b28e===_0x44475c)break;else _0x561677['push'](_0x561677['shift']());}catch(_0x3abb12){_0x561677['push'](_0x561677['shift']());}}}(a82_0x1852,0x5fc0c));const BLOCKED_COMMANDS=[a82_0x5d4516(0x1ef),a82_0x5d4516(0x1e2),'auth\x20clear','profile\x20create','profile\x20delete',a82_0x5d4516(0x1e4),a82_0x5d4516(0x1e3)],BLOCKED_FLAGS=[a82_0x5d4516(0x1f8),'-p'];export function hasBlockedFlag(_0x695d15){const _0x522940=a82_0x5d4516;for(const _0x53a020 of _0x695d15){const _0x29b739=_0x53a020[_0x522940(0x1f2)]();for(const _0x15998c of BLOCKED_FLAGS){if(_0x29b739===_0x15998c||_0x29b739[_0x522940(0x1e7)](_0x15998c+'='))return!![];}}return![];}function a82_0x1852(){const _0x2b73a1=['profile\x20remove','866474mrisvK','819mFTakr','startsWith','2982784sxymMz','join','38410eqKfTt','12952axSEih','35046uQCjzC','Profile\x20management\x20commands\x20are\x20not\x20allowed\x20via\x20MCP','16985331rVkFSQ','auth\x20setup','slice','10hxqZHj','toLowerCase','includes','Credential\x20management\x20commands\x20are\x20not\x20allowed\x20via\x20MCP','profile\x20delete','replace','profile\x20create','--profile','auth\x20clear','2cNkZbR','462sBRCvp','152316NqXIDT','auth\x20login','mcp'];a82_0x1852=function(){return _0x2b73a1;};return a82_0x1852();}export function isBlockedCommand(_0x340eb2){const _0x38fd3e=a82_0x5d4516;if(_0x340eb2['length']===0x0)return![];if(hasBlockedFlag(_0x340eb2))return!![];const _0x2b2a9d=_0x340eb2[_0x38fd3e(0x1f0)](0x0,0x2)[_0x38fd3e(0x1e9)]('\x20')[_0x38fd3e(0x1f2)]();for(const _0x34f685 of BLOCKED_COMMANDS){if(_0x2b2a9d['startsWith'](_0x34f685))return!![];}const _0x47006c=_0x340eb2[0x0][_0x38fd3e(0x1f2)]();for(const _0x4956e0 of BLOCKED_COMMANDS){if(!_0x4956e0[_0x38fd3e(0x1f3)]('\x20')&&_0x47006c===_0x4956e0)return!![];}return![];}function a82_0x1599(_0x2578d0,_0x66d773){_0x2578d0=_0x2578d0-0x1e1;const _0x185290=a82_0x1852();let _0x1599b4=_0x185290[_0x2578d0];return _0x1599b4;}export function getBlockedReason(_0x778882){const _0x1b6519=a82_0x5d4516;if(!isBlockedCommand(_0x778882))return undefined;if(hasBlockedFlag(_0x778882))return'Profile\x20switching\x20via\x20--profile\x20flag\x20is\x20not\x20allowed\x20via\x20MCP';const _0x3c7799=_0x778882[_0x1b6519(0x1f0)](0x0,0x2)[_0x1b6519(0x1e9)]('\x20')['toLowerCase'](),_0x5b64d4=_0x778882[0x0][_0x1b6519(0x1f2)]();if(_0x3c7799[_0x1b6519(0x1e7)](_0x1b6519(0x1ef))||_0x3c7799[_0x1b6519(0x1e7)]('auth\x20login')||_0x3c7799[_0x1b6519(0x1e7)](_0x1b6519(0x1f9)))return _0x1b6519(0x1f4);if(_0x3c7799[_0x1b6519(0x1e7)](_0x1b6519(0x1f7))||_0x3c7799[_0x1b6519(0x1e7)](_0x1b6519(0x1f5))||_0x3c7799['startsWith'](_0x1b6519(0x1e4)))return _0x1b6519(0x1ed);if(_0x5b64d4===_0x1b6519(0x1e3))return'Cannot\x20run\x20MCP\x20server\x20recursively';return'This\x20command\x20is\x20not\x20allowed\x20via\x20MCP';}export function formatOutput(_0x176a61){const _0x2cc87c=a82_0x5d4516,_0x3acb9f=/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g;let _0x23b69c=_0x176a61[_0x2cc87c(0x1f6)](_0x3acb9f,'');return _0x23b69c=_0x23b69c[_0x2cc87c(0x1f6)](/\r\n/g,'\x0a')[_0x2cc87c(0x1f6)](/\r/g,'\x0a'),_0x23b69c=_0x23b69c['trimEnd'](),_0x23b69c;}
|
|
@@ -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(_0x3a14ce,_0x5391f2){const _0x3035d4=a83_0x300b,_0x5580c9=_0x3a14ce();while(!![]){try{const _0x37f80e=-parseInt(_0x3035d4(0x11e))/0x1+parseInt(_0x3035d4(0x115))/0x2*(-parseInt(_0x3035d4(0x134))/0x3)+-parseInt(_0x3035d4(0x119))/0x4+-parseInt(_0x3035d4(0x135))/0x5+parseInt(_0x3035d4(0x108))/0x6*(-parseInt(_0x3035d4(0xf5))/0x7)+parseInt(_0x3035d4(0x126))/0x8+-parseInt(_0x3035d4(0xf4))/0x9*(-parseInt(_0x3035d4(0x114))/0xa);if(_0x37f80e===_0x5391f2)break;else _0x5580c9['push'](_0x5580c9['shift']());}catch(_0x21d8f6){_0x5580c9['push'](_0x5580c9['shift']());}}}(a83_0x3a8e,0xe3b51));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 _0x224c94=a83_0x300b;return!usageLogger&&(usageLogger=new TDXLogger(LogLevel[_0x224c94(0x130)],!![]),await usageLogger[_0x224c94(0xf3)]()),usageLogger;}function getUsageDir(){const _0x741876=a83_0x300b;return join(getGlobalCacheDir(),_0x741876(0xff));}function sanitizeSessionId(_0x1cc0e7){const _0xc6fb95=a83_0x300b;return _0x1cc0e7[_0xc6fb95(0x12f)](/[^a-zA-Z0-9_-]/g,'_');}function getSafeJsonlPath(_0x1a0e85){const _0x5a7463=a83_0x300b,_0x3e8748=getUsageDir(),_0x46e04c=sanitizeSessionId(_0x1a0e85),_0x1b46b0=resolve(_0x3e8748,_0x46e04c+_0x5a7463(0x121));if(!_0x1b46b0['startsWith'](_0x3e8748))throw new Error('Invalid\x20session\x20ID:\x20path\x20traversal\x20detected');return _0x1b46b0;}function getStatsCachePath(){const _0xecbc37=a83_0x300b;return join(getUsageDir(),_0xecbc37(0x120));}async function ensureUsageDir(){const _0x356b63=getUsageDir();!existsSync(_0x356b63)&&await mkdir(_0x356b63,{'recursive':!![]});}export async function appendUsageEntry(_0x44394b,_0x3a2f0d){const _0x491685=a83_0x300b,_0x124dd9=sanitizeSessionId(_0x44394b);await ensureUsageDir();const _0x3adf8d=getSafeJsonlPath(_0x124dd9),_0xa49205=JSON[_0x491685(0x103)](_0x3a2f0d)+'\x0a';await appendFile(_0x3adf8d,_0xa49205,_0x491685(0x127));}async function readSessionJsonl(_0x534e5e){const _0x450243=a83_0x300b,_0x558d8b=getSafeJsonlPath(_0x534e5e);if(!existsSync(_0x558d8b))return[];try{const _0x5b3f9b=await readFile(_0x558d8b,_0x450243(0x127)),_0xb1b170=_0x5b3f9b[_0x450243(0x123)]()[_0x450243(0x10a)]('\x0a')['filter'](Boolean);return _0xb1b170[_0x450243(0xfa)](_0x25c272=>{const _0x35726e=_0x450243;try{return JSON[_0x35726e(0x104)](_0x25c272);}catch{return null;}})[_0x450243(0x10d)](_0xdc5978=>_0xdc5978!==null);}catch(_0x50f34a){const _0x43ca0e=await getLogger();return _0x43ca0e[_0x450243(0x107)](_0x450243(0x110)+_0x534e5e+'.jsonl:',_0x50f34a instanceof Error?_0x50f34a['message']:String(_0x50f34a)),[];}}async function getAllSessionFiles(){const _0x468464=a83_0x300b,_0x29ed63=getUsageDir();if(!existsSync(_0x29ed63))return[];try{const _0x103160=await readdir(_0x29ed63);return _0x103160[_0x468464(0x10d)](_0x572d5f=>_0x572d5f[_0x468464(0x129)]('.jsonl'))[_0x468464(0xfa)](_0x3aec48=>_0x3aec48[_0x468464(0x12f)](_0x468464(0x121),''));}catch(_0x478453){const _0x396a65=await getLogger();return _0x396a65['warn'](_0x468464(0x11b),_0x478453 instanceof Error?_0x478453['message']:String(_0x478453)),[];}}async function readStatsCache(){const _0x40123c=a83_0x300b,_0x3ecc69=getStatsCachePath();if(!existsSync(_0x3ecc69))return null;try{const _0x519c04=await readFile(_0x3ecc69,_0x40123c(0x127)),_0x3bc394=JSON[_0x40123c(0x104)](_0x519c04),_0x512a16=Object[_0x40123c(0xfe)](_0x3bc394[_0x40123c(0x131)]||{})[0x0];if(_0x512a16&&_0x40123c(0x124)in _0x512a16)return null;return _0x3bc394;}catch{return null;}}async function writeStatsCache(_0x129fde){const _0x5ac684=a83_0x300b;await ensureUsageDir();const _0x1bb9d8=getStatsCachePath();await writeFile(_0x1bb9d8,JSON[_0x5ac684(0x103)](_0x129fde,null,0x2),'utf-8');}async function isCacheUpToDate(_0x54c123,_0x489736){const _0x11d4cd=a83_0x300b,_0x406ce7=_0x54c123['sessions'][_0x489736];if(!_0x406ce7)return![];const _0x26813a=getSafeJsonlPath(_0x489736);if(!existsSync(_0x26813a))return!![];try{const _0x58ffe3=await stat(_0x26813a),_0x4c8eea=new Date(_0x406ce7[_0x11d4cd(0xfb)])[_0x11d4cd(0x11c)](),_0x12513a=_0x58ffe3[_0x11d4cd(0x125)][_0x11d4cd(0x11c)]();return _0x4c8eea>_0x12513a;}catch{return![];}}function a83_0x300b(_0x5b050f,_0x3fe2d7){_0x5b050f=_0x5b050f-0xf3;const _0x3a8ea9=a83_0x3a8e();let _0x300b3c=_0x3a8ea9[_0x5b050f];return _0x300b3c;}export async function rebuildCache(){const _0x36ba20=a83_0x300b,_0xb91087=new Date(),_0x378098=_0xb91087[_0x36ba20(0x11a)]()[_0x36ba20(0x106)](0x0,0xa),_0x204662=_0xb91087[_0x36ba20(0x11a)]()['slice'](0x0,0x7),_0x594756={'daily':{},'monthly':{},'sessions':{},'profiles':{},'sources':{},'lastRebuiltAt':_0xb91087[_0x36ba20(0x11a)]()},_0x368f62=await getAllSessionFiles();for(const _0x401e58 of _0x368f62){try{const _0x172c33=await readSessionJsonl(_0x401e58);if(_0x172c33[_0x36ba20(0x102)]===0x0)continue;let _0x3afee4=0x0;const _0x4642d8={};let _0x18fedb='';for(const _0x4775f9 of _0x172c33){const _0xf1532=_0x4775f9[_0x36ba20(0xf9)]??0x0,_0x268339=_0x4775f9[_0x36ba20(0xfd)]??0x0,_0x343f7f=_0x4775f9[_0x36ba20(0x111)]+_0xf1532+_0x268339,_0x16aadd=getModelPricing(_0x4775f9[_0x36ba20(0x109)],_0x343f7f),_0x209296=calculateTokenCost(_0x4775f9[_0x36ba20(0x111)],_0x4775f9[_0x36ba20(0xf6)],_0xf1532,_0x268339,_0x16aadd),_0x1b31ef=usdToAiCredits(_0x209296);_0x3afee4+=_0x1b31ef;const _0x595262=_0x4775f9[_0x36ba20(0x113)]||_0x36ba20(0x12c);_0x4642d8[_0x595262]=_0x343f7f;_0x4775f9[_0x36ba20(0x12d)]>_0x18fedb&&(_0x18fedb=_0x4775f9['timestamp']);const _0x198cda=_0x4775f9[_0x36ba20(0x12d)]['slice'](0x0,0xa);!_0x594756['daily'][_0x198cda]&&(_0x594756[_0x36ba20(0x10e)][_0x198cda]={'totalCredits':0x0,'entryCount':0x0});_0x594756[_0x36ba20(0x10e)][_0x198cda]['totalCredits']+=_0x1b31ef,_0x594756[_0x36ba20(0x10e)][_0x198cda][_0x36ba20(0x12e)]+=0x1;const _0x4d9eb8=_0x4775f9['timestamp'][_0x36ba20(0x106)](0x0,0x7);!_0x594756[_0x36ba20(0x10b)][_0x4d9eb8]&&(_0x594756[_0x36ba20(0x10b)][_0x4d9eb8]={'totalCredits':0x0,'entryCount':0x0});_0x594756['monthly'][_0x4d9eb8][_0x36ba20(0x112)]+=_0x1b31ef,_0x594756[_0x36ba20(0x10b)][_0x4d9eb8][_0x36ba20(0x12e)]+=0x1;const _0x309065=_0x4775f9[_0x36ba20(0x118)]||'default';!_0x594756[_0x36ba20(0x11f)][_0x309065]&&(_0x594756[_0x36ba20(0x11f)][_0x309065]={'totalCredits':0x0,'entryCount':0x0,'lastUsedAt':'','todayCredits':0x0,'todayDate':_0x378098,'monthCredits':0x0,'month':_0x204662});_0x594756[_0x36ba20(0x11f)][_0x309065][_0x36ba20(0x112)]+=_0x1b31ef,_0x594756[_0x36ba20(0x11f)][_0x309065][_0x36ba20(0x12e)]+=0x1;_0x4775f9[_0x36ba20(0x12d)]>_0x594756[_0x36ba20(0x11f)][_0x309065][_0x36ba20(0x12b)]&&(_0x594756[_0x36ba20(0x11f)][_0x309065][_0x36ba20(0x12b)]=_0x4775f9[_0x36ba20(0x12d)]);_0x198cda===_0x378098&&(_0x594756[_0x36ba20(0x11f)][_0x309065]['todayCredits']+=_0x1b31ef);_0x4d9eb8===_0x204662&&(_0x594756[_0x36ba20(0x11f)][_0x309065]['monthCredits']+=_0x1b31ef);const _0x9c0332=_0x4775f9[_0x36ba20(0x12a)]||_0x36ba20(0x10f);!_0x594756[_0x36ba20(0x133)][_0x9c0332]&&(_0x594756['sources'][_0x9c0332]={'totalCredits':0x0,'entryCount':0x0,'todayCredits':0x0,'todayDate':_0x378098,'monthCredits':0x0,'month':_0x204662}),_0x594756[_0x36ba20(0x133)][_0x9c0332][_0x36ba20(0x112)]+=_0x1b31ef,_0x594756[_0x36ba20(0x133)][_0x9c0332][_0x36ba20(0x12e)]+=0x1,_0x198cda===_0x378098&&(_0x594756[_0x36ba20(0x133)][_0x9c0332][_0x36ba20(0x101)]+=_0x1b31ef),_0x4d9eb8===_0x204662&&(_0x594756[_0x36ba20(0x133)][_0x9c0332][_0x36ba20(0xf7)]+=_0x1b31ef);}_0x594756['sessions'][_0x401e58]={'totalCredits':_0x3afee4,'latestContextTokensBySignature':_0x4642d8,'createdAt':_0x172c33[0x0]['timestamp'],'lastUpdatedAt':_0x18fedb};}catch(_0x585b08){const _0x467806=await getLogger();_0x467806[_0x36ba20(0x107)]('Failed\x20to\x20process\x20session\x20'+_0x401e58+':',_0x585b08 instanceof Error?_0x585b08[_0x36ba20(0xf8)]:String(_0x585b08));continue;}}return cleanupOldEntries(_0x594756),await writeStatsCache(_0x594756),_0x594756;}function cleanupOldEntries(_0x43189e){const _0x384b1b=a83_0x300b,_0x1d57ee=new Date(),_0x48d513=new Date(_0x1d57ee[_0x384b1b(0x11c)]()-0x7*0x18*0x3c*0x3c*0x3e8);for(const _0x149f92 of Object[_0x384b1b(0x122)](_0x43189e[_0x384b1b(0x10e)])){new Date(_0x149f92)<_0x48d513&&delete _0x43189e[_0x384b1b(0x10e)][_0x149f92];}const _0x244764=new Date(_0x1d57ee[_0x384b1b(0x117)]()-0x1,_0x1d57ee[_0x384b1b(0x100)](),0x1);for(const _0x166c9c of Object[_0x384b1b(0x122)](_0x43189e[_0x384b1b(0x10b)])){const [_0x2d89f3,_0x107872]=_0x166c9c['split']('-')[_0x384b1b(0xfa)](Number),_0x16d305=new Date(_0x2d89f3,_0x107872-0x1,0x1);_0x16d305<_0x244764&&delete _0x43189e[_0x384b1b(0x10b)][_0x166c9c];}const _0x112765=new Date(_0x1d57ee[_0x384b1b(0x11c)]()-0x1e*0x18*0x3c*0x3c*0x3e8);for(const [_0xc315cc,_0x5ca268]of Object[_0x384b1b(0x105)](_0x43189e[_0x384b1b(0x131)])){new Date(_0x5ca268[_0x384b1b(0xfb)])<_0x112765&&delete _0x43189e[_0x384b1b(0x131)][_0xc315cc];}}export async function getOrUpdateCache(_0x3ad141){const _0x40de9f=_0x3ad141?sanitizeSessionId(_0x3ad141):undefined,_0x3d055f=await readStatsCache();if(!_0x3d055f)return rebuildCache();if(_0x40de9f){const _0x347c36=await isCacheUpToDate(_0x3d055f,_0x40de9f);if(!_0x347c36)return rebuildCache();}return _0x3d055f;}function a83_0x3a8e(){const _0x5994d4=['4461404HFithw','toISOString','Failed\x20to\x20read\x20usage\x20directory:','getTime','latestContextTokensBySignature','427128fLreTw','profiles','stats-cache.json','.jsonl','keys','trim','totalChatUnits','mtime','13642272KYukPr','utf-8','sort','endsWith','source','lastUsedAt','default','timestamp','entryCount','replace','WARN','sessions','credits','sources','33ZqGBKj','4047500CUYfWt','init','369RwQvUP','6673268EbroAu','outputTokens','monthCredits','message','cacheCreationInputTokens','map','lastUpdatedAt','todayDate','cacheReadInputTokens','values','claude-usage','getMonth','todayCredits','length','stringify','parse','entries','slice','warn','6ksHdPv','model','split','monthly','month','filter','daily','tdx-claude','Failed\x20to\x20read\x20usage\x20file\x20','inputTokens','totalCredits','contextSignature','1020610RWVGeO','300326XFYVml','object','getFullYear','profile'];a83_0x3a8e=function(){return _0x5994d4;};return a83_0x3a8e();}export async function getSessionCredits(_0x41a80d){const _0x282d4e=a83_0x300b,_0x1744c5=sanitizeSessionId(_0x41a80d),_0x29c16c=await getOrUpdateCache(_0x1744c5),_0x64e3e5=_0x29c16c[_0x282d4e(0x131)][_0x1744c5];if(!_0x64e3e5)return 0x0;return _0x64e3e5[_0x282d4e(0x112)];}export async function getTodayCredits(){const _0x1e348e=a83_0x300b,_0x5dd6ee=await getOrUpdateCache(),_0x36e954=new Date()[_0x1e348e(0x11a)]()[_0x1e348e(0x106)](0x0,0xa),_0x116b60=_0x5dd6ee[_0x1e348e(0x10e)][_0x36e954];if(!_0x116b60)return 0x0;return _0x116b60[_0x1e348e(0x112)];}export async function getMonthCredits(){const _0x54b1d5=a83_0x300b,_0x2804d8=await getOrUpdateCache(),_0x89cdc8=new Date()[_0x54b1d5(0x11a)]()['slice'](0x0,0x7),_0x2630c7=_0x2804d8['monthly'][_0x89cdc8];if(!_0x2630c7)return 0x0;return _0x2630c7[_0x54b1d5(0x112)];}export async function getSessionStats(_0x133d8a){const _0x9734b0=a83_0x300b,_0x5883ca=sanitizeSessionId(_0x133d8a),_0x14241b=await getOrUpdateCache(_0x5883ca);return _0x14241b[_0x9734b0(0x131)][_0x5883ca]||null;}function getMaxLatestContextTokens(_0x22b6b9){const _0x1c3130=a83_0x300b,_0x555bd3=Object[_0x1c3130(0xfe)](_0x22b6b9);if(_0x555bd3[_0x1c3130(0x102)]===0x0)return 0x0;return Math['max'](..._0x555bd3);}export async function getUsageStats(_0xd3368a,_0x4b869f){const _0x562751=a83_0x300b,_0x28cc38=sanitizeSessionId(_0xd3368a),_0x3cbb51=await getOrUpdateCache(_0x28cc38),_0x23e37e=_0x3cbb51[_0x562751(0x131)][_0x28cc38],_0x8343b2=new Date()[_0x562751(0x11a)]()[_0x562751(0x106)](0x0,0xa),_0x35603a=new Date()[_0x562751(0x11a)]()[_0x562751(0x106)](0x0,0x7);if(_0x4b869f){const _0x4ccca0=_0x3cbb51[_0x562751(0x11f)]?.[_0x4b869f],_0x1caf7e=_0x4ccca0?.['todayDate']===_0x8343b2?_0x4ccca0[_0x562751(0x101)]:0x0,_0x44e507=_0x4ccca0?.[_0x562751(0x10c)]===_0x35603a?_0x4ccca0[_0x562751(0xf7)]:0x0;return{'sessionCredits':_0x23e37e?_0x23e37e[_0x562751(0x112)]:0x0,'todayCredits':_0x1caf7e,'monthCredits':_0x44e507,'latestContextTokens':_0x23e37e?getMaxLatestContextTokens(_0x23e37e[_0x562751(0x11d)]):0x0};}return{'sessionCredits':_0x23e37e?_0x23e37e[_0x562751(0x112)]:0x0,'todayCredits':_0x3cbb51[_0x562751(0x10e)][_0x8343b2]?_0x3cbb51[_0x562751(0x10e)][_0x8343b2][_0x562751(0x112)]:0x0,'monthCredits':_0x3cbb51[_0x562751(0x10b)][_0x35603a]?_0x3cbb51['monthly'][_0x35603a][_0x562751(0x112)]:0x0,'latestContextTokens':_0x23e37e?getMaxLatestContextTokens(_0x23e37e[_0x562751(0x11d)]):0x0};}export async function getAllProfileStats(){const _0x31c6c7=a83_0x300b,_0xe77053=await getOrUpdateCache(),_0x146b11=_0xe77053[_0x31c6c7(0x11f)]||{};return Object[_0x31c6c7(0x105)](_0x146b11)[_0x31c6c7(0x10d)](([,_0x5dbb21])=>_0x5dbb21&&typeof _0x5dbb21===_0x31c6c7(0x116))['map'](([_0x27f964,_0x1855ff])=>({'profile':_0x27f964,'credits':_0x1855ff['totalCredits']||0x0,'entryCount':_0x1855ff[_0x31c6c7(0x12e)]||0x0,'lastUsedAt':_0x1855ff['lastUsedAt']||''}))[_0x31c6c7(0x128)]((_0x50eedf,_0x2b20b1)=>_0x2b20b1[_0x31c6c7(0x132)]-_0x50eedf[_0x31c6c7(0x132)]);}export async function getAllSourceStats(){const _0x3b4250=a83_0x300b,_0x4fe9d9=await getOrUpdateCache(),_0x486c35=_0x4fe9d9[_0x3b4250(0x133)]||{},_0x532904=new Date()[_0x3b4250(0x11a)]()[_0x3b4250(0x106)](0x0,0xa),_0x163cfc=new Date()['toISOString']()['slice'](0x0,0x7);return Object['entries'](_0x486c35)['filter'](([,_0x53d10a])=>_0x53d10a&&typeof _0x53d10a===_0x3b4250(0x116))[_0x3b4250(0xfa)](([_0x2997a8,_0x9403e4])=>({'source':_0x2997a8,'credits':_0x9403e4[_0x3b4250(0x112)]||0x0,'todayCredits':_0x9403e4[_0x3b4250(0xfc)]===_0x532904?_0x9403e4[_0x3b4250(0x101)]||0x0:0x0,'monthCredits':_0x9403e4['month']===_0x163cfc?_0x9403e4['monthCredits']||0x0:0x0,'entryCount':_0x9403e4['entryCount']||0x0}))[_0x3b4250(0x128)]((_0x478d18,_0x144f3a)=>_0x144f3a[_0x3b4250(0x132)]-_0x478d18[_0x3b4250(0x132)]);}export async function getUsageSummary(){const _0x270a5f=a83_0x300b,_0x5d43e7=await getOrUpdateCache(),_0x2b5fe9=_0x5d43e7['profiles']||{},_0x484a8e=new Date()[_0x270a5f(0x11a)]()[_0x270a5f(0x106)](0x0,0xa),_0x1430c4=new Date()['toISOString']()['slice'](0x0,0x7),_0x16b8aa=Object[_0x270a5f(0xfe)](_0x2b5fe9)[_0x270a5f(0x10d)](_0x1b9456=>_0x1b9456&&typeof _0x1b9456==='object'),_0x4709f6=_0x16b8aa['reduce']((_0x48258f,_0x3e1861)=>_0x48258f+(_0x3e1861[_0x270a5f(0x112)]||0x0),0x0);return{'todayCredits':_0x5d43e7[_0x270a5f(0x10e)][_0x484a8e]?_0x5d43e7[_0x270a5f(0x10e)][_0x484a8e][_0x270a5f(0x112)]||0x0:0x0,'monthCredits':_0x5d43e7[_0x270a5f(0x10b)][_0x1430c4]?_0x5d43e7[_0x270a5f(0x10b)][_0x1430c4]['totalCredits']||0x0:0x0,'totalCredits':_0x4709f6,'profileCount':_0x16b8aa[_0x270a5f(0x102)]};}
|
|
@@ -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_0x7c420c=a84_0x4928;(function(_0x4bcf31,_0x4d1514){const _0x29feaa=a84_0x4928,_0x498290=_0x4bcf31();while(!![]){try{const _0x3ee486=-parseInt(_0x29feaa(0x264))/0x1*(-parseInt(_0x29feaa(0x236))/0x2)+parseInt(_0x29feaa(0x23d))/0x3*(parseInt(_0x29feaa(0x266))/0x4)+parseInt(_0x29feaa(0x230))/0x5*(-parseInt(_0x29feaa(0x228))/0x6)+-parseInt(_0x29feaa(0x25e))/0x7*(-parseInt(_0x29feaa(0x25a))/0x8)+parseInt(_0x29feaa(0x239))/0x9*(parseInt(_0x29feaa(0x229))/0xa)+parseInt(_0x29feaa(0x1e9))/0xb*(parseInt(_0x29feaa(0x1f4))/0xc)+parseInt(_0x29feaa(0x1f3))/0xd*(-parseInt(_0x29feaa(0x27f))/0xe);if(_0x3ee486===_0x4d1514)break;else _0x498290['push'](_0x498290['shift']());}catch(_0x58c919){_0x498290['push'](_0x498290['shift']());}}}(a84_0x1d83,0x6e16f));import a84_0x4ae64b from'fastify';import a84_0x3f6217 from'@fastify/cors';import{SSEUsageTracker}from'./sse-usage-parser.js';function a84_0x4928(_0x4a8b01,_0x2ec0ab){_0x4a8b01=_0x4a8b01-0x1dc;const _0x1d8369=a84_0x1d83();let _0x4928f1=_0x1d8369[_0x4a8b01];return _0x4928f1;}import{appendUsageEntry}from'./claude-usage-tracker.js';import{getVersion}from'../core/version.js';function a84_0x1d83(){const _0x344b9f=['34936ZrDpZP','authorization','startTokenRefreshTimer','outputTokens','access_token','x-api-key','x-td-','Bearer\x20','headers','|\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|','9581UPsiCW','360ZoescJ','llmProxyUrl','expires_at','cache_read_input_tokens','Authorization','TimeoutError','Pass-through\x20proxy\x20server\x20stopped','unref','proxy','startPort','entries','/v1/messages','isArray','SKIP_HEADERS','\x20in\x20use,\x20trying\x20next...','stream','[PASSTHROUGH]\x20OAuth\x20token\x20refreshed\x20successfully','inputTokens','OPTIONS','expiresAt','statusText','method','api_error','timeout_error','indexOf','profile','maxPortAttempts','tdx',',\x20cache_read=','haiku','[PASSTHROUGH]\x20Forwarding\x20count_tokens\x20to:\x20','handleStreamingResponse','config','code','refreshTimer','close','Unknown\x20error','url','[PASSTHROUGH]\x20Usage:\x20input=','name','TD\x20LLM\x20Pass-through\x20Proxy\x20Server','proxyReady','parse','stringify','proxyFetch','start','host','tdx/','slice','[PASSTHROUGH]\x20Failed\x20to\x20forward\x20request:','Server\x20has\x20not\x20been\x20started\x20yet','stop','719544hHqxWt','520VYZdSZ','user_id','startsWith','stream_error','send','test','flush','10imzZUv',',\x20output=',',\x20stream=','http://127.0.0.1:','debug','port','6jdGfHE','oauth','number','107181XYgAvW','connection','end','length','1134849QBFquK','includes','setupRoutes','handleCountTokens','createServer','processChunk','output_tokens','refreshTokenIfNeeded','setErrorHandler','getFetch','logger','now','match','[PASSTHROUGH]\x20Failed\x20to\x20log\x20usage:','status','raw','server','message','logUsage','model','Request\x20to\x20TD\x20LLM\x20Proxy\x20timed\x20out\x20after\x20',',\x20cache_create=','[PASSTHROUGH]\x20OAuth\x20token\x20refresh\x20failed:','EADDRINUSE','refresh_token','Forwarding\x20to:\x20','refreshToken','toLowerCase','read','25256tZJqdo','then','toISOString','decode','1589ELWXsk','getUsage','user-agent','[PASSTHROUGH]\x20Using\x20proxy:\x20','setupMiddleware',':\x20messages=','236779VAmcAR','string','8MWCcal','application/json','max_tokens','listen','X-TD-Client-Version','[PASSTHROUGH]\x20Failed\x20to\x20forward\x20count_tokens\x20request:','buildForwardHeaders','post','POST','\x20and\x20','_boundPort','TD1\x20','timeout','[PASSTHROUGH]\x20Stream\x20error:','timeoutMs','getReader','system','error','[PASSTHROUGH\x20PROXY\x20ERROR]:','unknown','No\x20available\x20port\x20found\x20between\x20','body',',\x20model=','Failed\x20to\x20connect\x20to\x20TD\x20LLM\x20Proxy:\x20','text','41930tHWXFG','write','handleMessages','Stream\x20interrupted','header','|\x20Debug\x20agent\x20issues\x20|\x20tdx-skills:agent-debug\x20|\x0a','writeHead','register','has','accessToken','getAddress','Content-Type','info','type','usage','messages','get'];a84_0x1d83=function(){return _0x344b9f;};return a84_0x1d83();}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()?a84_0x7c420c(0x1dd):'')+a84_0x7c420c(0x1f2);function extractSessionUUID(_0xc38b54){const _0x333dc3=a84_0x7c420c,_0x25dd15=_0xc38b54[_0x333dc3(0x249)](/_session_([a-f0-9-]+)$/i);if(_0x25dd15)return _0x25dd15[0x1];return _0xc38b54;}export function injectSystemPrompt(_0x568b6c,_0x58a55d){const _0x438fa7=a84_0x7c420c,_0x5a4678=_0x568b6c[_0x438fa7(0x276)];if(!_0x5a4678)return{..._0x568b6c,'system':_0x58a55d};if(typeof _0x5a4678==='string')return{..._0x568b6c,'system':_0x5a4678+'\x0a\x0a'+_0x58a55d};if(Array[_0x438fa7(0x200)](_0x5a4678)){const _0x4d0500={'type':_0x438fa7(0x27e),'text':_0x58a55d};return{..._0x568b6c,'system':[..._0x5a4678,_0x4d0500]};}return _0x568b6c;}export function shouldInjectSystemPrompt(_0xe48bc){const _0x36fbb3=a84_0x7c420c;return!_0xe48bc[_0x36fbb3(0x258)]()[_0x36fbb3(0x23e)](_0x36fbb3(0x211));}const MIN_REASONING_MAX_TOKENS=0x7d00;export function isOpenAIReasoningModel(_0x5bc535){const _0x3b0c3a=a84_0x7c420c,_0x245280=_0x5bc535[_0x3b0c3a(0x258)]();return/^gpt-5(\.\d+)?(-(mini|nano|pro))?(-\d{4}-\d{2}-\d{2})?$/[_0x3b0c3a(0x22e)](_0x245280);}export function padMaxTokensForReasoningModel(_0x5cacee,_0x47ea92){const _0x3df42e=a84_0x7c420c;if(!isOpenAIReasoningModel(_0x47ea92))return _0x5cacee;const _0x244379=typeof _0x5cacee[_0x3df42e(0x268)]===_0x3df42e(0x238)?_0x5cacee[_0x3df42e(0x268)]:0x0;if(_0x244379>=MIN_REASONING_MAX_TOKENS)return _0x5cacee;return{..._0x5cacee,'max_tokens':MIN_REASONING_MAX_TOKENS};}export function requestsStream(_0x5643a5){const _0x28d303=a84_0x7c420c;return _0x5643a5[_0x28d303(0x203)]===!![];}const TOKEN_REFRESH_INTERVAL_MS=0x5*0x3c*0x3e8,TOKEN_EXPIRY_BUFFER_MS=0x5*0x3c*0x3e8;export class PassThroughProxyServer{['server'];[a84_0x7c420c(0x214)];['logger'];[a84_0x7c420c(0x270)];['refreshTimer'];[a84_0x7c420c(0x220)];[a84_0x7c420c(0x21d)];constructor(_0x2ffb23){const _0x38b59f=a84_0x7c420c;this[_0x38b59f(0x214)]=_0x2ffb23,this[_0x38b59f(0x247)]=_0x2ffb23[_0x38b59f(0x247)],this[_0x38b59f(0x24d)]=this['createServer'](),_0x2ffb23[_0x38b59f(0x1fc)]&&(this[_0x38b59f(0x21d)]=createProxyFetch(_0x2ffb23[_0x38b59f(0x1fc)])[_0x38b59f(0x25b)](_0x1df084=>{this['proxyFetch']=_0x1df084;}),this['logger']['info'](_0x38b59f(0x261)+maskProxyCredentials(_0x2ffb23[_0x38b59f(0x1fc)])));}async[a84_0x7c420c(0x246)](){const _0x481479=a84_0x7c420c;return this['proxyReady']&&await this[_0x481479(0x21d)],this[_0x481479(0x220)]??fetch;}get[a84_0x7c420c(0x235)](){const _0x344a1f=a84_0x7c420c;if(this[_0x344a1f(0x270)]===undefined)throw new Error(_0x344a1f(0x226));return this[_0x344a1f(0x270)];}[a84_0x7c420c(0x241)](){const _0x2a1f4d=a84_0x7c420c,_0x4a0670=a84_0x4ae64b({'logger':![],'bodyLimit':0x40*0x400*0x400});return this[_0x2a1f4d(0x24d)]=_0x4a0670,this['setupJsonParser'](),this[_0x2a1f4d(0x262)](),this[_0x2a1f4d(0x23f)](),_0x4a0670;}['setupJsonParser'](){const _0x5199f0=a84_0x7c420c;this[_0x5199f0(0x24d)]['addContentTypeParser']('application/json',{'parseAs':_0x5199f0(0x265)},(_0x4f87ec,_0x597d37,_0xd82df0)=>{const _0x2fbcda=_0x5199f0;try{const _0x3b0853=JSON[_0x2fbcda(0x21e)](_0x597d37);_0xd82df0(null,_0x3b0853);}catch(_0x4f3e0a){_0xd82df0(_0x4f3e0a,undefined);}});}['setupMiddleware'](){const _0x4b4308=a84_0x7c420c;this[_0x4b4308(0x24d)][_0x4b4308(0x1df)](a84_0x3f6217,{'origin':!![],'methods':['GET',_0x4b4308(0x26e),_0x4b4308(0x206)],'allowedHeaders':[_0x4b4308(0x1e3),'Authorization','anthropic-version','x-api-key']}),this[_0x4b4308(0x24d)][_0x4b4308(0x245)]((_0x4232b0,_0x21dfc3,_0x3695af)=>{const _0x31dd90=_0x4b4308,_0x3dbd1a=_0x4232b0 instanceof Error?_0x4232b0[_0x31dd90(0x24e)]:_0x31dd90(0x218);this[_0x31dd90(0x247)][_0x31dd90(0x277)](_0x31dd90(0x278),_0x4232b0),_0x3695af['code'](0x1f4)[_0x31dd90(0x22d)]({'type':_0x31dd90(0x277),'error':{'type':'api_error','message':_0x3dbd1a}});});}[a84_0x7c420c(0x23f)](){const _0x5e497c=a84_0x7c420c;this['server'][_0x5e497c(0x1e8)]('/health',async()=>{const _0x51d691=_0x5e497c;return{'status':'ok','message':_0x51d691(0x21c)};}),this[_0x5e497c(0x24d)][_0x5e497c(0x26d)]('/v1/messages',async(_0x5d5d3c,_0x5634ac)=>{return this['handleMessages'](_0x5d5d3c,_0x5634ac);}),this[_0x5e497c(0x24d)][_0x5e497c(0x26d)]('/v1/messages/count_tokens',async(_0x47df5b,_0x42faa5)=>{return this['handleCountTokens'](_0x47df5b,_0x42faa5);});}static ['SKIP_HEADERS']=new Set([a84_0x7c420c(0x222),a84_0x7c420c(0x23a),'content-length','transfer-encoding',a84_0x7c420c(0x1ea),a84_0x7c420c(0x1ee),a84_0x7c420c(0x260)]);[a84_0x7c420c(0x26c)](_0x527211){const _0x4ee9ca=a84_0x7c420c,_0x8c720f={};for(const [_0x543a60,_0x2909ae]of Object[_0x4ee9ca(0x1fe)](_0x527211[_0x4ee9ca(0x1f1)])){const _0x44efea=_0x543a60[_0x4ee9ca(0x258)]();if(PassThroughProxyServer[_0x4ee9ca(0x201)][_0x4ee9ca(0x1e0)](_0x44efea))continue;if(_0x44efea[_0x4ee9ca(0x22b)](_0x4ee9ca(0x1ef)))continue;if(typeof _0x2909ae===_0x4ee9ca(0x265))_0x8c720f[_0x543a60]=_0x2909ae;else Array[_0x4ee9ca(0x200)](_0x2909ae)&&(_0x8c720f[_0x543a60]=_0x2909ae['join'](',\x20'));}const _0x4c7025=getVersion(),{auth:_0x24f532}=this[_0x4ee9ca(0x214)];return _0x8c720f[_0x4ee9ca(0x1f8)]=_0x24f532['type']===_0x4ee9ca(0x237)?_0x4ee9ca(0x1f0)+_0x24f532[_0x4ee9ca(0x1e1)]:_0x4ee9ca(0x271)+_0x24f532['apiKey'],_0x8c720f['User-Agent']=_0x4ee9ca(0x223)+_0x4c7025,_0x8c720f['X-TD-Client']=_0x4ee9ca(0x20f),_0x8c720f[_0x4ee9ca(0x26a)]=_0x4c7025,_0x8c720f;}async[a84_0x7c420c(0x281)](_0x4a383e,_0x222b09){const _0x9a4143=a84_0x7c420c,_0x4f3b0f=_0x4a383e[_0x9a4143(0x27b)],_0x5ed83e=requestsStream(_0x4f3b0f),_0x16c268=_0x4f3b0f['metadata'],_0xbdb0c=_0x16c268?.[_0x9a4143(0x22a)]||'default',_0x38eb6e=extractSessionUUID(_0xbdb0c),_0x315929=_0x4f3b0f[_0x9a4143(0x250)]||_0x9a4143(0x279),_0x2689d6=shouldInjectSystemPrompt(_0x315929)?injectSystemPrompt(_0x4f3b0f,TDX_SYSTEM_PROMPT):_0x4f3b0f,_0x1a44a8=padMaxTokensForReasoningModel(_0x2689d6,_0x315929),_0x46fa30=JSON['stringify'](_0x1a44a8),_0x4dc305=Array[_0x9a4143(0x200)](_0x4f3b0f[_0x9a4143(0x1e7)])?_0x4f3b0f[_0x9a4143(0x1e7)][_0x9a4143(0x23c)]:0x0;this[_0x9a4143(0x247)]['info']('[PASSTHROUGH]\x20'+_0x4a383e[_0x9a4143(0x209)]+'\x20'+_0x4a383e[_0x9a4143(0x219)]+_0x9a4143(0x263)+_0x4dc305+_0x9a4143(0x27c)+_0x315929+_0x9a4143(0x232)+_0x5ed83e);const _0x2c8d8f=_0x4a383e[_0x9a4143(0x219)][_0x9a4143(0x23e)]('?')?_0x4a383e['url'][_0x9a4143(0x224)](_0x4a383e[_0x9a4143(0x219)][_0x9a4143(0x20c)]('?')):'',_0xac9de1=this['config'][_0x9a4143(0x1f5)]+_0x9a4143(0x1ff)+_0x2c8d8f,_0xfb1790=this['buildForwardHeaders'](_0x4a383e);this[_0x9a4143(0x247)][_0x9a4143(0x234)](_0x9a4143(0x256)+_0xac9de1);const _0x7421bb=this[_0x9a4143(0x214)][_0x9a4143(0x274)]||DEFAULT_TIMEOUT_MS;try{const _0x3d1e7f=await this[_0x9a4143(0x246)](),_0x9569f1=await _0x3d1e7f(_0xac9de1,{'method':_0x9a4143(0x26e),'headers':_0xfb1790,'body':_0x46fa30,'signal':AbortSignal[_0x9a4143(0x272)](_0x7421bb)});if(!_0x9569f1['ok']){const _0x36bf64=await _0x9569f1[_0x9a4143(0x27e)]();return this['logger'][_0x9a4143(0x277)]('[PASSTHROUGH]\x20Upstream\x20error:\x20'+_0x9569f1[_0x9a4143(0x24b)]+'\x20'+_0x9569f1[_0x9a4143(0x208)]),this['logger'][_0x9a4143(0x234)]('Error\x20body:\x20'+_0x36bf64),_0x222b09[_0x9a4143(0x215)](_0x9569f1[_0x9a4143(0x24b)]),_0x222b09[_0x9a4143(0x1dc)](_0x9a4143(0x1e3),_0x9569f1[_0x9a4143(0x1f1)]['get'](_0x9a4143(0x1e3))||_0x9a4143(0x267)),_0x222b09[_0x9a4143(0x22d)](_0x36bf64);}if(_0x5ed83e&&_0x9569f1[_0x9a4143(0x27b)])await this[_0x9a4143(0x213)](_0x9569f1[_0x9a4143(0x27b)],_0x222b09,_0x38eb6e,_0x315929);else{const _0xd45ed=await _0x9569f1[_0x9a4143(0x27e)]();_0x222b09[_0x9a4143(0x1dc)](_0x9a4143(0x1e3),_0x9569f1[_0x9a4143(0x1f1)]['get'](_0x9a4143(0x1e3))||'application/json');try{const _0x13b64a=JSON[_0x9a4143(0x21e)](_0xd45ed);_0x13b64a[_0x9a4143(0x1e6)]&&await this['logUsage'](_0x38eb6e,_0x315929,_0x13b64a['usage']['input_tokens']||0x0,_0x13b64a[_0x9a4143(0x1e6)][_0x9a4143(0x243)]||0x0,_0x13b64a[_0x9a4143(0x1e6)]['cache_creation_input_tokens'],_0x13b64a[_0x9a4143(0x1e6)][_0x9a4143(0x1f7)]);}catch{}return _0x222b09[_0x9a4143(0x22d)](_0xd45ed);}}catch(_0x57180e){const _0x4e2187=_0x57180e instanceof Error?_0x57180e[_0x9a4143(0x24e)]:_0x9a4143(0x218),_0x5af512=_0x57180e instanceof Error&&_0x57180e[_0x9a4143(0x21b)]===_0x9a4143(0x1f9);this['logger'][_0x9a4143(0x277)](_0x9a4143(0x225),_0x57180e),_0x222b09[_0x9a4143(0x215)](_0x5af512?0x1f8:0x1f7)['send']({'type':_0x9a4143(0x277),'error':{'type':_0x5af512?_0x9a4143(0x20b):'api_error','message':_0x5af512?_0x9a4143(0x251)+_0x7421bb+'ms':'Failed\x20to\x20connect\x20to\x20TD\x20LLM\x20Proxy:\x20'+_0x4e2187}});}}async['handleStreamingResponse'](_0x401715,_0xf1347a,_0x242dd2,_0x274023){const _0x5d7e48=a84_0x7c420c;_0xf1347a[_0x5d7e48(0x24c)][_0x5d7e48(0x1de)](0xc8,{'Content-Type':'text/event-stream','Cache-Control':'no-cache','Connection':'keep-alive'});const _0x441abf=new SSEUsageTracker(),_0x9e0a30=_0x401715[_0x5d7e48(0x275)](),_0x10c6f5=new TextDecoder();try{while(!![]){const {done:_0x22e998,value:_0x267dc0}=await _0x9e0a30[_0x5d7e48(0x259)]();if(_0x22e998)break;const _0x2592df=_0x10c6f5[_0x5d7e48(0x25d)](_0x267dc0,{'stream':!![]});_0x441abf[_0x5d7e48(0x242)](_0x2592df),_0xf1347a[_0x5d7e48(0x24c)]['write'](_0x2592df);}_0x441abf[_0x5d7e48(0x22f)]();const _0x1de99f=_0x441abf[_0x5d7e48(0x25f)]();(_0x1de99f[_0x5d7e48(0x205)]>0x0||_0x1de99f[_0x5d7e48(0x1ec)]>0x0)&&await this['logUsage'](_0x242dd2,_0x274023,_0x1de99f[_0x5d7e48(0x205)],_0x1de99f[_0x5d7e48(0x1ec)],_0x1de99f['cacheCreationInputTokens'],_0x1de99f['cacheReadInputTokens']);}catch(_0x3f8d43){this[_0x5d7e48(0x247)]['error'](_0x5d7e48(0x273),_0x3f8d43);const _0x3b32a7='event:\x20error\x0adata:\x20'+JSON[_0x5d7e48(0x21f)]({'type':_0x5d7e48(0x277),'error':{'type':_0x5d7e48(0x22c),'message':_0x5d7e48(0x282)}})+'\x0a\x0a';_0xf1347a[_0x5d7e48(0x24c)][_0x5d7e48(0x280)](_0x3b32a7);}finally{_0xf1347a[_0x5d7e48(0x24c)][_0x5d7e48(0x23b)]();}}async[a84_0x7c420c(0x240)](_0x32f554,_0x5d0d96){const _0x25881b=a84_0x7c420c,_0x24cdf3=_0x32f554[_0x25881b(0x27b)],_0x33e4da=_0x32f554[_0x25881b(0x219)][_0x25881b(0x23e)]('?')?_0x32f554[_0x25881b(0x219)][_0x25881b(0x224)](_0x32f554[_0x25881b(0x219)]['indexOf']('?')):'',_0x5c933b=this['config'][_0x25881b(0x1f5)]+'/v1/messages/count_tokens'+_0x33e4da,_0x572007=this[_0x25881b(0x26c)](_0x32f554),_0x262bd7=_0x24cdf3['model']||_0x25881b(0x279),_0x7113b8=shouldInjectSystemPrompt(_0x262bd7)?injectSystemPrompt(_0x24cdf3,TDX_SYSTEM_PROMPT):_0x24cdf3,_0x4e0aa7=JSON[_0x25881b(0x21f)](_0x7113b8);this['logger']['debug'](_0x25881b(0x212)+_0x5c933b);const _0x2cdd62=this[_0x25881b(0x214)][_0x25881b(0x274)]||DEFAULT_TIMEOUT_MS;try{const _0x3e5b6c=await this[_0x25881b(0x246)](),_0x333b01=await _0x3e5b6c(_0x5c933b,{'method':_0x25881b(0x26e),'headers':_0x572007,'body':_0x4e0aa7,'signal':AbortSignal[_0x25881b(0x272)](_0x2cdd62)}),_0x2fbb84=await _0x333b01['text']();return _0x5d0d96[_0x25881b(0x215)](_0x333b01[_0x25881b(0x24b)]),_0x5d0d96[_0x25881b(0x1dc)]('Content-Type',_0x333b01[_0x25881b(0x1f1)][_0x25881b(0x1e8)](_0x25881b(0x1e3))||'application/json'),_0x5d0d96[_0x25881b(0x22d)](_0x2fbb84);}catch(_0x4861d5){const _0x5962db=_0x4861d5 instanceof Error?_0x4861d5['message']:_0x25881b(0x218),_0x2fa77d=_0x4861d5 instanceof Error&&_0x4861d5[_0x25881b(0x21b)]===_0x25881b(0x1f9);this[_0x25881b(0x247)][_0x25881b(0x277)](_0x25881b(0x26b),_0x4861d5),_0x5d0d96[_0x25881b(0x215)](_0x2fa77d?0x1f8:0x1f7)[_0x25881b(0x22d)]({'type':_0x25881b(0x277),'error':{'type':_0x2fa77d?_0x25881b(0x20b):_0x25881b(0x20a),'message':_0x2fa77d?_0x25881b(0x251)+_0x2cdd62+'ms':_0x25881b(0x27d)+_0x5962db}});}}async[a84_0x7c420c(0x24f)](_0x26f81b,_0x287c9c,_0x286219,_0x2c35d6,_0x36e3a1,_0x59bbb7){const _0x55a2b3=a84_0x7c420c,_0x11deff={'timestamp':new Date()[_0x55a2b3(0x25c)](),'model':_0x287c9c,'inputTokens':_0x286219,'outputTokens':_0x2c35d6,'cacheCreationInputTokens':_0x36e3a1,'cacheReadInputTokens':_0x59bbb7,'profile':this[_0x55a2b3(0x214)][_0x55a2b3(0x20d)],'source':'tdx-claude'},_0x3338f4=_0x36e3a1||_0x59bbb7?_0x55a2b3(0x252)+(_0x36e3a1||0x0)+_0x55a2b3(0x210)+(_0x59bbb7||0x0):'';this['logger'][_0x55a2b3(0x234)](_0x55a2b3(0x21a)+_0x286219+_0x55a2b3(0x231)+_0x2c35d6+_0x3338f4+_0x55a2b3(0x27c)+_0x287c9c);try{await appendUsageEntry(_0x26f81b,_0x11deff);}catch(_0x48b7b5){this[_0x55a2b3(0x247)][_0x55a2b3(0x277)](_0x55a2b3(0x24a),_0x48b7b5);}}['startTokenRefreshTimer'](){const _0x10c1d7=a84_0x7c420c;if(this[_0x10c1d7(0x214)]['auth'][_0x10c1d7(0x1e5)]!==_0x10c1d7(0x237))return;this['refreshTimer']=setInterval(()=>{const _0xf14e94=_0x10c1d7;void this[_0xf14e94(0x244)]();},TOKEN_REFRESH_INTERVAL_MS),this[_0x10c1d7(0x216)][_0x10c1d7(0x1fb)]();}async[a84_0x7c420c(0x244)](){const _0x4cf473=a84_0x7c420c,{auth:_0x958497}=this['config'];if(_0x958497[_0x4cf473(0x1e5)]!==_0x4cf473(0x237))return;const _0x79d6d3=!_0x958497[_0x4cf473(0x207)]||_0x958497[_0x4cf473(0x207)]<Date[_0x4cf473(0x248)]()+TOKEN_EXPIRY_BUFFER_MS;if(!_0x79d6d3)return;try{const _0x432f8c=await refreshAccessToken(_0x958497['consoleUrl'],_0x958497[_0x4cf473(0x257)],{'proxy':this[_0x4cf473(0x214)][_0x4cf473(0x1fc)]});_0x958497[_0x4cf473(0x1e1)]=_0x432f8c[_0x4cf473(0x1ed)],_0x958497['refreshToken']=_0x432f8c[_0x4cf473(0x255)],_0x958497[_0x4cf473(0x207)]=_0x432f8c[_0x4cf473(0x1f6)],await saveOAuthTokens(_0x432f8c,this[_0x4cf473(0x214)][_0x4cf473(0x20d)]),this['logger'][_0x4cf473(0x1e4)](_0x4cf473(0x204));}catch(_0x8b365){this[_0x4cf473(0x247)]['error'](_0x4cf473(0x253),_0x8b365);}}async[a84_0x7c420c(0x221)](){const _0x51000a=a84_0x7c420c,_0xd84186=this[_0x51000a(0x214)][_0x51000a(0x20e)]??0x64;for(let _0x135d8f=0x0;_0x135d8f<_0xd84186;_0x135d8f++){const _0x192b9a=this[_0x51000a(0x214)][_0x51000a(0x1fd)]+_0x135d8f;try{await this[_0x51000a(0x24d)][_0x51000a(0x269)]({'port':_0x192b9a,'host':'127.0.0.1'}),this[_0x51000a(0x270)]=_0x192b9a,this[_0x51000a(0x247)]['info']('Pass-through\x20proxy\x20server\x20started\x20on\x20port\x20'+_0x192b9a),this[_0x51000a(0x247)]['info'](_0x51000a(0x256)+this[_0x51000a(0x214)]['llmProxyUrl']),this[_0x51000a(0x1eb)]();return;}catch(_0x2c51e6){const _0x18355f=_0x2c51e6 instanceof Error&&_0x51000a(0x215)in _0x2c51e6&&_0x2c51e6[_0x51000a(0x215)]===_0x51000a(0x254);if(!_0x18355f)throw _0x2c51e6;this['logger'][_0x51000a(0x234)]('Port\x20'+_0x192b9a+_0x51000a(0x202)),this['createServer']();}}const _0x39d59f=this[_0x51000a(0x214)]['startPort']+_0xd84186-0x1;throw new Error(_0x51000a(0x27a)+this[_0x51000a(0x214)][_0x51000a(0x1fd)]+_0x51000a(0x26f)+_0x39d59f);}async[a84_0x7c420c(0x227)](){const _0x3b5fb6=a84_0x7c420c;this[_0x3b5fb6(0x216)]&&(clearInterval(this[_0x3b5fb6(0x216)]),this[_0x3b5fb6(0x216)]=undefined),await this[_0x3b5fb6(0x24d)][_0x3b5fb6(0x217)](),this[_0x3b5fb6(0x247)]['info'](_0x3b5fb6(0x1fa));}[a84_0x7c420c(0x1e2)](){const _0x12d0f1=a84_0x7c420c;return _0x12d0f1(0x233)+this[_0x12d0f1(0x235)];}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
const a85_0x31ce6d=a85_0x2eff;function a85_0x2eff(_0x59c714,_0x17249f){_0x59c714=_0x59c714-0x11a;const _0x4b4da3=a85_0x4b4d();let _0x2eff6a=_0x4b4da3[_0x59c714];return _0x2eff6a;}(function(_0x2a642e,_0x35b2a8){const _0x20d999=a85_0x2eff,_0x266cde=_0x2a642e();while(!![]){try{const _0x2161a8=-parseInt(_0x20d999(0x136))/0x1*(-parseInt(_0x20d999(0x11a))/0x2)+-parseInt(_0x20d999(0x139))/0x3+-parseInt(_0x20d999(0x12c))/0x4*(parseInt(_0x20d999(0x12f))/0x5)+-parseInt(_0x20d999(0x13c))/0x6*(-parseInt(_0x20d999(0x13f))/0x7)+parseInt(_0x20d999(0x126))/0x8+-parseInt(_0x20d999(0x127))/0x9*(parseInt(_0x20d999(0x123))/0xa)+-parseInt(_0x20d999(0x11e))/0xb*(-parseInt(_0x20d999(0x12e))/0xc);if(_0x2161a8===_0x35b2a8)break;else _0x266cde['push'](_0x266cde['shift']());}catch(_0x589324){_0x266cde['push'](_0x266cde['shift']());}}}(a85_0x4b4d,0xb84ea));function a85_0x4b4d(){const _0x135307=['5OZrcuV','cacheReadInputTokens','cacheCreationInputTokens','max','updateFromUsage','cache_read_input_tokens','data:\x20','936283KesVcG','onRawUsage','unknown','2930829IjJaub','data','slice','888lRUXpT','processChunk','split','3059enHqXB','startsWith','2qebvWY','usage','inputTokens','push','715QsKwEd','event','input_tokens','outputTokens','output_tokens','280vulaPb','trim','cache_creation_input_tokens','7637696kcWJFC','407223QiLhYB','buffer','flush','getUsage','type','4888820eDFsCw','parse','418212QoPGvr'];a85_0x4b4d=function(){return _0x135307;};return a85_0x4b4d();}export function parseSSEChunk(_0x4a3a3f){const _0x1b9492=a85_0x2eff,_0x4cb33d=[],_0x3dc22f=_0x4a3a3f[_0x1b9492(0x13e)]('\x0a\x0a'),_0x5c361d=_0x3dc22f['pop']()||'';for(const _0x7a122 of _0x3dc22f){if(!_0x7a122[_0x1b9492(0x124)]())continue;const _0x2b4c64={},_0x54d67a=_0x7a122[_0x1b9492(0x13e)]('\x0a');for(const _0x5d951c of _0x54d67a){if(_0x5d951c[_0x1b9492(0x140)]('event:\x20'))_0x2b4c64[_0x1b9492(0x11f)]=_0x5d951c[_0x1b9492(0x13b)](0x7);else _0x5d951c[_0x1b9492(0x140)](_0x1b9492(0x135))&&(_0x2b4c64[_0x1b9492(0x13a)]=_0x5d951c[_0x1b9492(0x13b)](0x6));}(_0x2b4c64[_0x1b9492(0x11f)]||_0x2b4c64['data'])&&_0x4cb33d[_0x1b9492(0x11d)](_0x2b4c64);}return{'events':_0x4cb33d,'remaining':_0x5c361d};}export function extractMessageStartUsage(_0x378437){const _0x361cb1=a85_0x2eff;try{const _0x3d77cf=JSON[_0x361cb1(0x12d)](_0x378437);if(_0x3d77cf[_0x361cb1(0x12b)]==='message_start'&&_0x3d77cf['message']?.[_0x361cb1(0x11b)]){const _0x1370f7=_0x3d77cf['message']['usage'];return{'inputTokens':_0x1370f7[_0x361cb1(0x120)]||0x0,'outputTokens':_0x1370f7[_0x361cb1(0x122)]||0x0,'cacheCreationInputTokens':_0x1370f7[_0x361cb1(0x125)],'cacheReadInputTokens':_0x1370f7['cache_read_input_tokens']};}}catch{}return null;}export function extractMessageDeltaUsage(_0xb9358){const _0x3830e4=a85_0x2eff;try{const _0x1f7bf9=JSON[_0x3830e4(0x12d)](_0xb9358);if(_0x1f7bf9['type']==='message_delta'&&_0x1f7bf9[_0x3830e4(0x11b)]){const _0x2700d3=_0x1f7bf9[_0x3830e4(0x11b)];return{'inputTokens':_0x2700d3['input_tokens']||0x0,'outputTokens':_0x2700d3['output_tokens']||0x0,'cacheCreationInputTokens':_0x2700d3[_0x3830e4(0x125)],'cacheReadInputTokens':_0x2700d3[_0x3830e4(0x134)]};}}catch{}return null;}export function extractUsageFromEvent(_0x122ee6){const _0x4deb24=a85_0x2eff;if(!_0x122ee6['data'])return null;if(_0x122ee6[_0x4deb24(0x11f)]==='message_start')return extractMessageStartUsage(_0x122ee6[_0x4deb24(0x13a)]);if(_0x122ee6[_0x4deb24(0x11f)]==='message_delta')return extractMessageDeltaUsage(_0x122ee6[_0x4deb24(0x13a)]);return null;}export class SSEUsageTracker{[a85_0x31ce6d(0x11c)]=0x0;['outputTokens']=0x0;['cacheCreationInputTokens'];['cacheReadInputTokens'];[a85_0x31ce6d(0x128)]='';[a85_0x31ce6d(0x133)](_0xed0e52){const _0x25ed23=a85_0x31ce6d;this['inputTokens']=Math[_0x25ed23(0x132)](this[_0x25ed23(0x11c)],_0xed0e52[_0x25ed23(0x11c)]),this[_0x25ed23(0x121)]=Math[_0x25ed23(0x132)](this[_0x25ed23(0x121)],_0xed0e52['outputTokens']),_0xed0e52[_0x25ed23(0x131)]!==undefined&&(this[_0x25ed23(0x131)]=Math[_0x25ed23(0x132)](this['cacheCreationInputTokens']??0x0,_0xed0e52['cacheCreationInputTokens'])),_0xed0e52[_0x25ed23(0x130)]!==undefined&&(this[_0x25ed23(0x130)]=Math['max'](this[_0x25ed23(0x130)]??0x0,_0xed0e52[_0x25ed23(0x130)]));}[a85_0x31ce6d(0x137)];[a85_0x31ce6d(0x13d)](_0x125313){const _0x2ea6e7=a85_0x31ce6d;this[_0x2ea6e7(0x128)]+=_0x125313;const {events:_0xbb4c6,remaining:_0x2c4a66}=parseSSEChunk(this[_0x2ea6e7(0x128)]);this[_0x2ea6e7(0x128)]=_0x2c4a66;for(const _0x4f0975 of _0xbb4c6){const _0x570e51=extractUsageFromEvent(_0x4f0975);_0x570e51&&(this[_0x2ea6e7(0x137)]?.(_0x4f0975[_0x2ea6e7(0x11f)]||_0x2ea6e7(0x138),_0x4f0975[_0x2ea6e7(0x13a)]||'',_0x570e51),this[_0x2ea6e7(0x133)](_0x570e51));}return _0x125313;}[a85_0x31ce6d(0x129)](){const _0x2c7fb4=a85_0x31ce6d;if(this['buffer'][_0x2c7fb4(0x124)]()){const {events:_0x980a8b}=parseSSEChunk(this[_0x2c7fb4(0x128)]+'\x0a\x0a');for(const _0xfcbdab of _0x980a8b){const _0x601c89=extractUsageFromEvent(_0xfcbdab);_0x601c89&&this[_0x2c7fb4(0x133)](_0x601c89);}this[_0x2c7fb4(0x128)]='';}}[a85_0x31ce6d(0x12a)](){const _0x581436=a85_0x31ce6d;return{'inputTokens':this['inputTokens'],'outputTokens':this[_0x581436(0x121)],'cacheCreationInputTokens':this['cacheCreationInputTokens'],'cacheReadInputTokens':this['cacheReadInputTokens']};}['reset'](){const _0x688905=a85_0x31ce6d;this['inputTokens']=0x0,this[_0x688905(0x121)]=0x0,this['cacheCreationInputTokens']=undefined,this['cacheReadInputTokens']=undefined,this[_0x688905(0x128)]='';}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
function a86_0x378b(){const _0x413bf8=['prompts','requireFile','local','EXPERIMENTAL_KNOWLEDGE_BASES','context','llm_project','length','chat_interfaces','Current\x20context\x20has\x20llm_project=\x22','string','form_interfaces','Invalid\x20tdx.json:\x20missing\x20or\x20invalid\x20\x27llm_project\x27\x20field','utf-8','multiple_agents','2395876oqqIvd','root','No\x20tdx.json\x20found\x20and\x20llm_project\x20is\x20not\x20set.','knowledge_bases','integrations','name','7dSxszt','\x22\x20but\x20no\x20local\x20folder\x20found.','6847672mJBapb','parse','dirname','955245jxTTHk','CHAT_INTERFACES','Invalid\x20tdx.json:\x20expected\x20object','4738225CZIjhs','stringify','9aBdNtk','agents','Invalid\x20JSON\x20in\x20','filter','4342818ilTpWp','no_context','681044muFGkI','KNOWLEDGE_BASES','PROMPTS','experimental_knowledge_bases','FORM_INTERFACES','join','cwd','agent.yml','74014QAgxeu','resolve'];a86_0x378b=function(){return _0x413bf8;};return a86_0x378b();}const a86_0x212ae1=a86_0x2249;(function(_0x347780,_0x3fb00f){const _0x3d9ee0=a86_0x2249,_0x10516b=_0x347780();while(!![]){try{const _0x175ee2=parseInt(_0x3d9ee0(0x1e4))/0x1*(parseInt(_0x3d9ee0(0x1ce))/0x2)+-parseInt(_0x3d9ee0(0x1e9))/0x3+-parseInt(_0x3d9ee0(0x1c6))/0x4+parseInt(_0x3d9ee0(0x1be))/0x5+-parseInt(_0x3d9ee0(0x1c4))/0x6+-parseInt(_0x3d9ee0(0x1de))/0x7+parseInt(_0x3d9ee0(0x1e6))/0x8*(parseInt(_0x3d9ee0(0x1c0))/0x9);if(_0x175ee2===_0x3fb00f)break;else _0x10516b['push'](_0x10516b['shift']());}catch(_0x240ccc){_0x10516b['push'](_0x10516b['shift']());}}}(a86_0x378b,0x7c002));import{existsSync,readFileSync,readdirSync}from'fs';import a86_0x49b6cf from'path';import{sanitizeForFilesystem,normalizeName}from'./agent-yaml.js';const TDX_CONFIG_FILE='tdx.json',AGENTS_DIR=a86_0x212ae1(0x1c1);export function findAgentConfigPath(_0x5d0bcb=process[a86_0x212ae1(0x1cc)]()){const _0xd83514=a86_0x212ae1;let _0x44b140=a86_0x49b6cf[_0xd83514(0x1cf)](_0x5d0bcb);const _0x3fc0d3=a86_0x49b6cf['parse'](_0x44b140)[_0xd83514(0x1df)];while(_0x44b140!==_0x3fc0d3){const _0x57c475=a86_0x49b6cf['join'](_0x44b140,TDX_CONFIG_FILE);if(existsSync(_0x57c475))try{const _0x163420=readFileSync(_0x57c475,_0xd83514(0x1dc)),_0x287947=JSON[_0xd83514(0x1e7)](_0x163420);if(_0x287947[_0xd83514(0x1d5)])return _0x57c475;}catch{}_0x44b140=a86_0x49b6cf['dirname'](_0x44b140);}return null;}export function loadAgentConfig(_0xe43d09){const _0x12d081=a86_0x212ae1,_0x2fbce6=readFileSync(_0xe43d09,'utf-8');let _0x1b6cd6;try{_0x1b6cd6=JSON[_0x12d081(0x1e7)](_0x2fbce6);}catch{throw new Error(_0x12d081(0x1c2)+_0xe43d09);}if(!_0x1b6cd6||typeof _0x1b6cd6!=='object')throw new Error(_0x12d081(0x1bd));const _0x41e4af=_0x1b6cd6;if(!_0x41e4af[_0x12d081(0x1d5)]||typeof _0x41e4af[_0x12d081(0x1d5)]!==_0x12d081(0x1d9))throw new Error(_0x12d081(0x1db));return{'llm_project':_0x41e4af[_0x12d081(0x1d5)]};}export function findAgentConfig(_0x39242e=process[a86_0x212ae1(0x1cc)]()){const _0x59701c=a86_0x212ae1,_0x47b8ba=findAgentConfigPath(_0x39242e);if(!_0x47b8ba)throw new Error('No\x20agent\x20tdx.json\x20found.\x20Please\x20run\x20\x27tdx\x20agent\x20pull\x20<project>\x27\x20first\x20to\x20create\x20the\x20folder\x20structure.');const _0x3c15fe=loadAgentConfig(_0x47b8ba),_0x2891ae=a86_0x49b6cf[_0x59701c(0x1e8)](_0x47b8ba);return{'config':_0x3c15fe,'configPath':_0x47b8ba,'configDir':_0x2891ae};}export function getAgentProjectDir(_0x33a7c2,_0x5ec68a=process[a86_0x212ae1(0x1cc)]()){const _0x215141=a86_0x212ae1;return a86_0x49b6cf[_0x215141(0x1cb)](_0x5ec68a,AGENTS_DIR,_0x33a7c2);}export function getAgentConfigPath(_0x46d400,_0x35e6e2=process['cwd']()){const _0x280417=a86_0x212ae1;return a86_0x49b6cf[_0x280417(0x1cb)](getAgentProjectDir(_0x46d400,_0x35e6e2),TDX_CONFIG_FILE);}export function createAgentConfigContent(_0x59db54){const _0x326ac8=a86_0x212ae1,_0x40cad0={'llm_project':_0x59db54};return JSON[_0x326ac8(0x1bf)](_0x40cad0,null,0x2)+'\x0a';}export function isAgentDir(_0x549d03){const _0x9fed05=a86_0x212ae1;return existsSync(a86_0x49b6cf[_0x9fed05(0x1cb)](_0x549d03,_0x9fed05(0x1cd)));}export function isAgentYamlPath(_0x405641){const _0x53dd2f=a86_0x212ae1;return a86_0x49b6cf['basename'](_0x405641)===_0x53dd2f(0x1cd);}function a86_0x2249(_0x1cd570,_0xb2f3ab){_0x1cd570=_0x1cd570-0x1bc;const _0x378bb1=a86_0x378b();let _0x2249da=_0x378bb1[_0x1cd570];return _0x2249da;}export function getAgentDirFromYamlPath(_0x4f57aa){const _0xcf3cd0=a86_0x212ae1;return a86_0x49b6cf[_0xcf3cd0(0x1e8)](_0x4f57aa);}export const PROJECT_SUBDIRS={'KNOWLEDGE_BASES':a86_0x212ae1(0x1e1),'PROMPTS':a86_0x212ae1(0x1d0),'INTEGRATIONS':a86_0x212ae1(0x1e2),'EXPERIMENTAL_KNOWLEDGE_BASES':a86_0x212ae1(0x1c9),'EXPERIMENTAL_ARTIFACTS':'experimental_artifacts','FORM_INTERFACES':a86_0x212ae1(0x1da),'CHAT_INTERFACES':a86_0x212ae1(0x1d7)};export function getKnowledgeBasesDir(_0x491c9e){const _0x5ad77d=a86_0x212ae1;return a86_0x49b6cf[_0x5ad77d(0x1cb)](_0x491c9e,PROJECT_SUBDIRS[_0x5ad77d(0x1c7)]);}export function getPromptsDir(_0x164522){const _0x313cba=a86_0x212ae1;return a86_0x49b6cf[_0x313cba(0x1cb)](_0x164522,PROJECT_SUBDIRS[_0x313cba(0x1c8)]);}export function getIntegrationsDir(_0xaecdbd){const _0x4a22e1=a86_0x212ae1;return a86_0x49b6cf[_0x4a22e1(0x1cb)](_0xaecdbd,PROJECT_SUBDIRS['INTEGRATIONS']);}export function getExperimentalKnowledgeBasesDir(_0x593285){const _0x3582c5=a86_0x212ae1;return a86_0x49b6cf[_0x3582c5(0x1cb)](_0x593285,PROJECT_SUBDIRS[_0x3582c5(0x1d3)]);}export function getExperimentalArtifactsDir(_0x16205d){const _0x4c278b=a86_0x212ae1;return a86_0x49b6cf[_0x4c278b(0x1cb)](_0x16205d,PROJECT_SUBDIRS['EXPERIMENTAL_ARTIFACTS']);}export function getFormInterfacesDir(_0x7178a2){const _0x2f8bcb=a86_0x212ae1;return a86_0x49b6cf[_0x2f8bcb(0x1cb)](_0x7178a2,PROJECT_SUBDIRS[_0x2f8bcb(0x1ca)]);}export function getChatInterfacesDir(_0x23cadf){const _0x24fedc=a86_0x212ae1;return a86_0x49b6cf[_0x24fedc(0x1cb)](_0x23cadf,PROJECT_SUBDIRS[_0x24fedc(0x1bc)]);}export function resolveAgentPullArgs(_0x4dcf38){const _0xf3f2be=a86_0x212ae1,{arg:_0x3c30a0,agentNameArg:_0x2f07c5,agentFlag:_0x575a93,contextProject:_0x4e1141,argDirConfig:_0x4f18b8,cwdConfigPath:_0x2d571f,cwdConfig:_0x85c1db}=_0x4dcf38,_0x3bc84c=_0x2f07c5||_0x575a93;if(_0x3c30a0){if(_0x4f18b8)return{'projectNameOrId':_0x4f18b8[_0xf3f2be(0x1d5)],'targetAgentName':_0x3bc84c,'existingOutputDir':_0x3c30a0,'source':'arg-dir'};return{'projectNameOrId':_0x3c30a0,'targetAgentName':_0x3bc84c,'source':'arg'};}if(_0x575a93&&_0x4e1141)return{'projectNameOrId':_0x4e1141,'targetAgentName':_0x575a93,'source':_0xf3f2be(0x1d4)};if(_0x2d571f&&_0x85c1db)return{'projectNameOrId':_0x85c1db[_0xf3f2be(0x1d5)],'targetAgentName':_0x3bc84c,'existingOutputDir':a86_0x49b6cf[_0xf3f2be(0x1e8)](_0x2d571f),'source':'cwd-config'};return{'projectNameOrId':_0x4e1141,'targetAgentName':_0x3bc84c,'source':_0x4e1141?_0xf3f2be(0x1d4):undefined};}export function resolveProjectFromContext(_0x1378af,_0x539158,_0x45b31f){const _0x2ddf1c=a86_0x212ae1,_0x4598e2=_0x45b31f?.[_0x2ddf1c(0x1d1)],_0x931abd=findAgentConfigPath(a86_0x49b6cf[_0x2ddf1c(0x1cf)](_0x1378af));if(_0x931abd)return{'found':!![],'projectDir':a86_0x49b6cf[_0x2ddf1c(0x1e8)](_0x931abd),'configPath':_0x931abd,'source':_0x2ddf1c(0x1d2)};if(!_0x539158)return{'found':![],'reason':_0x2ddf1c(0x1c5),'message':_0x2ddf1c(0x1e0)};const _0x30b8b3=sanitizeForFilesystem(_0x539158),_0x406b4b=a86_0x49b6cf['join'](process['cwd'](),AGENTS_DIR);let _0x42a6bf=a86_0x49b6cf[_0x2ddf1c(0x1cb)](_0x406b4b,_0x30b8b3),_0x1c6bf7=a86_0x49b6cf['join'](_0x42a6bf,TDX_CONFIG_FILE);if(!existsSync(_0x42a6bf)){const _0x4d8f58=normalizeName(_0x539158),_0x30c28b=a86_0x49b6cf[_0x2ddf1c(0x1cb)](_0x406b4b,_0x4d8f58);existsSync(_0x30c28b)&&(_0x42a6bf=_0x30c28b,_0x1c6bf7=a86_0x49b6cf[_0x2ddf1c(0x1cb)](_0x42a6bf,TDX_CONFIG_FILE));}if(!existsSync(_0x42a6bf))return{'found':![],'reason':'no_local_folder','llmProject':_0x539158,'message':_0x2ddf1c(0x1d8)+_0x539158+_0x2ddf1c(0x1e5)};if(_0x4598e2){const _0x19cf79=readdirSync(_0x42a6bf,{'withFileTypes':!![]}),_0x168c58=_0x19cf79[_0x2ddf1c(0x1c3)](_0x31e18b=>_0x31e18b['isDirectory']())['map'](_0x1ae29c=>_0x1ae29c[_0x2ddf1c(0x1e3)])[_0x2ddf1c(0x1c3)](_0x5a5e41=>{const _0x19067c=_0x2ddf1c,_0x20b1c0=a86_0x49b6cf[_0x19067c(0x1cb)](_0x42a6bf,_0x5a5e41,_0x4598e2);return existsSync(_0x20b1c0);});if(_0x168c58[_0x2ddf1c(0x1d6)]===0x0)return{'found':![],'reason':'no_tests','llmProject':_0x539158,'projectDir':_0x42a6bf};if(_0x168c58['length']>0x1)return{'found':![],'reason':_0x2ddf1c(0x1dd),'llmProject':_0x539158,'agentDirs':_0x168c58,'projectDir':_0x42a6bf};return{'found':!![],'projectDir':a86_0x49b6cf[_0x2ddf1c(0x1cb)](_0x42a6bf,_0x168c58[0x0]),'configPath':_0x1c6bf7,'source':_0x2ddf1c(0x1d4)};}return{'found':!![],'projectDir':_0x42a6bf,'configPath':_0x1c6bf7,'source':_0x2ddf1c(0x1d4)};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function a87_0x324b(_0x2e6733,_0x3c76b7){_0x2e6733=_0x2e6733-0x1cc;const _0x479866=a87_0x4798();let _0x324ba9=_0x479866[_0x2e6733];return _0x324ba9;}(function(_0x22410e,_0x462fee){const _0x4974a9=a87_0x324b,_0x49b267=_0x22410e();while(!![]){try{const _0x35e2df=-parseInt(_0x4974a9(0x1d8))/0x1*(parseInt(_0x4974a9(0x1ce))/0x2)+-parseInt(_0x4974a9(0x1dc))/0x3+parseInt(_0x4974a9(0x1d0))/0x4*(parseInt(_0x4974a9(0x1dd))/0x5)+-parseInt(_0x4974a9(0x1cc))/0x6+parseInt(_0x4974a9(0x1d2))/0x7*(-parseInt(_0x4974a9(0x1da))/0x8)+parseInt(_0x4974a9(0x1cd))/0x9+-parseInt(_0x4974a9(0x1d5))/0xa*(-parseInt(_0x4974a9(0x1d6))/0xb);if(_0x35e2df===_0x462fee)break;else _0x49b267['push'](_0x49b267['shift']());}catch(_0x2e95a6){_0x49b267['push'](_0x49b267['shift']());}}}(a87_0x4798,0x6b56f));export function parseAgentRef(_0x19d4ba){const _0xbef629=a87_0x324b;if(!_0x19d4ba||_0x19d4ba[_0xbef629(0x1db)]()==='')throw new Error(_0xbef629(0x1d4));const _0x2353e4=_0x19d4ba[_0xbef629(0x1db)](),_0x40d514=_0x2353e4['split']('/');if(_0x40d514[_0xbef629(0x1cf)]===0x1)return{'projectName':_0x40d514[0x0],'agentName':undefined};else{if(_0x40d514[_0xbef629(0x1cf)]===0x2){const [_0x3005b1,_0x1937af]=_0x40d514;if(!_0x3005b1||_0x3005b1['trim']()==='')throw new Error(_0xbef629(0x1d9));if(!_0x1937af||_0x1937af[_0xbef629(0x1db)]()==='')throw new Error(_0xbef629(0x1d1));return{'projectName':_0x3005b1[_0xbef629(0x1db)](),'agentName':_0x1937af[_0xbef629(0x1db)]()};}else throw new Error(_0xbef629(0x1d3)+_0x19d4ba+_0xbef629(0x1d7));}}function a87_0x4798(){const _0x5ceb4a=['.\x20Expected\x20\x22project_name\x22\x20or\x20\x22project_name/agent_name\x22','138795EvDyFu','Project\x20name\x20cannot\x20be\x20empty','448EJPKpP','trim','1477872lzukND','66845QmCIBn','460902SbzHog','5108553ufkkPV','8sSScxB','length','192pSoUPF','Agent\x20name\x20cannot\x20be\x20empty','2191LenJgI','Invalid\x20agent\x20reference\x20format:\x20','Agent\x20reference\x20cannot\x20be\x20empty','1241610GfKPLN','33rvSuFk'];a87_0x4798=function(){return _0x5ceb4a;};return a87_0x4798();}
|