@treasuredata/tdx 2026.10.0 → 2026.10.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bin.js +1 -1
- package/dist/build-info.json +3 -3
- package/dist/cli-categories.d.ts +1 -1
- package/dist/cli-categories.js +1 -1
- package/dist/cli-categories.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +1 -1
- package/dist/cli.js.map +1 -1
- package/dist/commands/activations.js +1 -1
- package/dist/commands/agent-command.js +1 -1
- package/dist/commands/agent-test-command.js +1 -1
- package/dist/commands/api-command.js +1 -1
- package/dist/commands/auth-command.js +1 -1
- package/dist/commands/cas-command.js +1 -1
- package/dist/commands/cas-journey-command.js +1 -1
- package/dist/commands/cas-segment-command.js +1 -1
- package/dist/commands/chat-command.js +1 -1
- package/dist/commands/claude-command.d.ts.map +1 -1
- package/dist/commands/claude-command.js +1 -1
- package/dist/commands/claude-command.js.map +1 -1
- package/dist/commands/claude-statusline-command.d.ts.map +1 -1
- package/dist/commands/claude-statusline-command.js +1 -1
- package/dist/commands/claude-statusline-command.js.map +1 -1
- package/dist/commands/codex-command.d.ts.map +1 -1
- package/dist/commands/codex-command.js +1 -1
- package/dist/commands/codex-command.js.map +1 -1
- package/dist/commands/command.js +1 -1
- package/dist/commands/connection-command.js +1 -1
- package/dist/commands/databases.js +1 -1
- package/dist/commands/delivery-command.js +1 -1
- package/dist/commands/describe.js +1 -1
- package/dist/commands/engage-always-on-campaign-pull-command.js +1 -1
- package/dist/commands/engage-always-on-campaign-push-command.js +1 -1
- package/dist/commands/engage-always-on-campaign-validate-command.js +1 -1
- package/dist/commands/engage-campaign-pull-command.js +1 -1
- package/dist/commands/engage-campaign-push-command.js +1 -1
- package/dist/commands/engage-campaign-readiness-command.js +1 -1
- package/dist/commands/engage-campaign-validate-command.js +1 -1
- package/dist/commands/engage-command.js +1 -1
- package/dist/commands/engage-in-browser-message-command.js +1 -1
- package/dist/commands/engage-landing-page-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/engage-workspace-assignment-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/opencode-command.d.ts +10 -3
- package/dist/commands/opencode-command.d.ts.map +1 -1
- package/dist/commands/opencode-command.js +1 -1
- package/dist/commands/opencode-command.js.map +1 -1
- package/dist/commands/p13n-command.js +1 -1
- package/dist/commands/parent-segment-command.js +1 -1
- package/dist/commands/policy-command.js +1 -1
- package/dist/commands/profile-command.js +1 -1
- package/dist/commands/profiles-command.d.ts.map +1 -1
- package/dist/commands/profiles-command.js +1 -1
- package/dist/commands/profiles-command.js.map +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.js +1 -1
- package/dist/commands/segment-update-command.js +1 -1
- package/dist/commands/segment-use-command.js +1 -1
- package/dist/commands/segment-validate-command.js +1 -1
- package/dist/commands/segments.js +1 -1
- package/dist/commands/show.js +1 -1
- package/dist/commands/status-command.js +1 -1
- package/dist/commands/table-deleted.js +1 -1
- package/dist/commands/tables.js +1 -1
- package/dist/commands/unset-command.js +1 -1
- package/dist/commands/upgrade-command.d.ts +8 -0
- package/dist/commands/upgrade-command.d.ts.map +1 -1
- package/dist/commands/upgrade-command.js +1 -1
- package/dist/commands/upgrade-command.js.map +1 -1
- package/dist/commands/usage-command.d.ts +10 -0
- package/dist/commands/usage-command.d.ts.map +1 -0
- package/dist/commands/usage-command.js +1 -0
- package/dist/commands/usage-command.js.map +1 -0
- package/dist/commands/use-command.js +1 -1
- package/dist/commands/user-command.js +1 -1
- package/dist/commands/work-command.js +1 -1
- package/dist/commands/workflow-command.js +1 -1
- package/dist/core/auth.js +1 -1
- package/dist/core/command-output.js +1 -1
- package/dist/core/config.d.ts +2 -1
- package/dist/core/config.d.ts.map +1 -1
- package/dist/core/config.js +1 -1
- package/dist/core/config.js.map +1 -1
- package/dist/core/connection-cache.js +1 -1
- package/dist/core/constants.js +1 -1
- package/dist/core/credential-cache.js +1 -1
- package/dist/core/global-context.js +1 -1
- package/dist/core/keychain.js +1 -1
- package/dist/core/oauth-keychain.js +1 -1
- package/dist/core/oauth.js +1 -1
- package/dist/core/profile.d.ts +1 -0
- package/dist/core/profile.d.ts.map +1 -1
- package/dist/core/profile.js +1 -1
- package/dist/core/profile.js.map +1 -1
- package/dist/core/project-config.js +1 -1
- package/dist/core/session.js +1 -1
- package/dist/core/site-mismatch.js +1 -1
- package/dist/core/user-cache.js +1 -1
- package/dist/core/version.js +1 -1
- package/dist/index.js +1 -1
- package/dist/mcp/server.js +1 -1
- package/dist/mcp/tools/index.js +1 -1
- package/dist/mcp/tools/tdx-run.js +1 -1
- package/dist/mcp/tools/tdx-search.js +1 -1
- package/dist/mcp/tools/work-create-item.js +1 -1
- package/dist/mcp/utils.js +1 -1
- package/dist/proxy/claude-usage-tracker.d.ts +5 -4
- package/dist/proxy/claude-usage-tracker.d.ts.map +1 -1
- package/dist/proxy/claude-usage-tracker.js +1 -1
- package/dist/proxy/claude-usage-tracker.js.map +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.js +1 -1
- package/dist/sdk/cas/audience-context.js +1 -1
- package/dist/sdk/cas/cas-api-client.js +1 -1
- package/dist/sdk/cas/cas-audience-schema.js +1 -1
- package/dist/sdk/cas/cas-audience-validator.js +1 -1
- package/dist/sdk/cas/cas-audience-yaml.js +1 -1
- package/dist/sdk/cas/cas-segment-schema.js +1 -1
- package/dist/sdk/cas/cas-segment-validator.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.js +1 -1
- package/dist/sdk/client/http-client.js +1 -1
- package/dist/sdk/client/llm-api-client.js +1 -1
- package/dist/sdk/client/oauth-refresh.js +1 -1
- package/dist/sdk/client/p13n-studio-api-client.js +1 -1
- package/dist/sdk/client/rate-limiter.js +1 -1
- package/dist/sdk/client/td-api-client.js +1 -1
- package/dist/sdk/client/trino-api-client.js +1 -1
- package/dist/sdk/client/workflow-client.js +1 -1
- package/dist/sdk/connection-validator.js +1 -1
- package/dist/sdk/connection.js +1 -1
- package/dist/sdk/delivery.js +1 -1
- package/dist/sdk/engage/always-on-campaign-pull.js +1 -1
- package/dist/sdk/engage/always-on-campaign-push.js +1 -1
- package/dist/sdk/engage/always-on-campaign-validator.js +1 -1
- package/dist/sdk/engage/always-on-campaign-yaml.js +1 -1
- package/dist/sdk/engage/campaign-pull.js +1 -1
- package/dist/sdk/engage/campaign-push.js +1 -1
- package/dist/sdk/engage/campaign-readiness-workflow.js +1 -1
- package/dist/sdk/engage/campaign-readiness.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/in-browser-message-pull.js +1 -1
- package/dist/sdk/engage/in-browser-message-push.js +1 -1
- package/dist/sdk/engage/in-browser-message-validator.js +1 -1
- package/dist/sdk/engage/in-browser-message-yaml.js +1 -1
- package/dist/sdk/engage/landing-page-init.js +1 -1
- package/dist/sdk/engage/landing-page-public-asset.js +1 -1
- package/dist/sdk/engage/landing-page-pull.js +1 -1
- package/dist/sdk/engage/landing-page-push.js +1 -1
- package/dist/sdk/engage/landing-page-static-site.js +1 -1
- package/dist/sdk/engage/landing-page-validator.js +1 -1
- package/dist/sdk/engage/landing-page-workspace.js +1 -1
- package/dist/sdk/engage/landing-page-yaml.js +1 -1
- package/dist/sdk/engage/list-campaign-schema.js +1 -1
- package/dist/sdk/engage/list-campaign-yaml.js +1 -1
- package/dist/sdk/engage/template-pull.js +1 -1
- package/dist/sdk/engage/template-push.js +1 -1
- package/dist/sdk/engage/template-validator.js +1 -1
- package/dist/sdk/engage/template-yaml.js +1 -1
- package/dist/sdk/engage/types/always-on-campaign-schema.js +1 -1
- package/dist/sdk/engage/types/campaign-def.js +1 -1
- package/dist/sdk/engage/types/campaign-schema.js +1 -1
- package/dist/sdk/engage/types/in-browser-message-schema.js +1 -1
- package/dist/sdk/engage/types/landing-page-schema.js +1 -1
- package/dist/sdk/engage/types/template-schema.js +1 -1
- package/dist/sdk/engage/workspace-assignments.js +1 -1
- package/dist/sdk/engage.js +1 -1
- package/dist/sdk/errors.js +1 -1
- package/dist/sdk/index.js +1 -1
- package/dist/sdk/io/index.js +1 -1
- package/dist/sdk/io/node-filesystem.js +1 -1
- package/dist/sdk/job.js +1 -1
- package/dist/sdk/journey.js +1 -1
- package/dist/sdk/llm/chat-cache.js +1 -1
- package/dist/sdk/llm/codex-usage.d.ts +13 -0
- package/dist/sdk/llm/codex-usage.d.ts.map +1 -0
- package/dist/sdk/llm/codex-usage.js +1 -0
- package/dist/sdk/llm/codex-usage.js.map +1 -0
- package/dist/sdk/llm/index.js +1 -1
- package/dist/sdk/llm/llm-backup-utils.js +1 -1
- package/dist/sdk/llm/model-factors.js +1 -1
- package/dist/sdk/llm/user-settings.js +1 -1
- package/dist/sdk/llm/work-models.d.ts +52 -0
- package/dist/sdk/llm/work-models.d.ts.map +1 -0
- package/dist/sdk/llm/work-models.js +1 -0
- package/dist/sdk/llm/work-models.js.map +1 -0
- package/dist/sdk/p13n-studio-errors.js +1 -1
- package/dist/sdk/p13n-studio.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/audience-context.js +1 -1
- package/dist/sdk/segment/child-segment-yaml.js +1 -1
- package/dist/sdk/segment/fields-display.js +1 -1
- package/dist/sdk/segment/file-discovery.js +1 -1
- package/dist/sdk/segment/journey-utils.js +1 -1
- package/dist/sdk/segment/journey-validator.js +1 -1
- package/dist/sdk/segment/journey-yaml.js +1 -1
- package/dist/sdk/segment/parent-segment-preview.js +1 -1
- package/dist/sdk/segment/parent-segment-yaml.js +1 -1
- package/dist/sdk/segment/pull-workflow.js +1 -1
- package/dist/sdk/segment/push-recovery.js +1 -1
- package/dist/sdk/segment/push-workflow.js +1 -1
- package/dist/sdk/segment/resolution-context.js +1 -1
- package/dist/sdk/segment/segment-path-parser.js +1 -1
- package/dist/sdk/segment/segment-ref-parser.js +1 -1
- package/dist/sdk/segment/segment-validator.js +1 -1
- package/dist/sdk/segment/target-resolution.js +1 -1
- package/dist/sdk/segment/tdx-config.js +1 -1
- package/dist/sdk/segment/types/activation-schema.js +1 -1
- package/dist/sdk/segment/types/journey-def.js +1 -1
- package/dist/sdk/segment/types/journey-schema.js +1 -1
- package/dist/sdk/segment/types/segment-def.js +1 -1
- package/dist/sdk/segment/types/segment-schema.js +1 -1
- package/dist/sdk/segment/validate-files.js +1 -1
- package/dist/sdk/segment/yaml-validator.js +1 -1
- package/dist/sdk/segment.js +1 -1
- package/dist/sdk/types/index.js +1 -1
- package/dist/sdk/types/progress.js +1 -1
- package/dist/sdk/types/workspace.js +1 -1
- package/dist/sdk/user.js +1 -1
- package/dist/sdk/util/format-detector.js +1 -1
- package/dist/sdk/util/formatters.js +1 -1
- package/dist/sdk/util/index.js +1 -1
- package/dist/sdk/util/paginate.js +1 -1
- package/dist/sdk/util/tree-formatter.js +1 -1
- package/dist/sdk/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.js +1 -1
- package/dist/test-utils/fixtures.js +1 -1
- package/dist/test-utils/http-mock.js +1 -1
- package/dist/test-utils/index.js +1 -1
- package/dist/utils/async.js +1 -1
- package/dist/utils/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/td-user.d.ts +3 -0
- package/dist/utils/td-user.d.ts.map +1 -0
- package/dist/utils/td-user.js +1 -0
- package/dist/utils/td-user.js.map +1 -0
- package/dist/utils/tdx-logger.js +1 -1
- package/dist/utils/version-check.js +1 -1
- package/package.json +1 -1
- package/dist/commands/ai-usage-command-base.d.ts +0 -26
- package/dist/commands/ai-usage-command-base.d.ts.map +0 -1
- package/dist/commands/ai-usage-command-base.js +0 -1
- package/dist/commands/ai-usage-command-base.js.map +0 -1
- package/dist/commands/claude-usage-command.d.ts +0 -19
- package/dist/commands/claude-usage-command.d.ts.map +0 -1
- package/dist/commands/claude-usage-command.js +0 -1
- package/dist/commands/claude-usage-command.js.map +0 -1
- package/dist/commands/opencode-usage-command.d.ts +0 -19
- package/dist/commands/opencode-usage-command.d.ts.map +0 -1
- package/dist/commands/opencode-usage-command.js +0 -1
- package/dist/commands/opencode-usage-command.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
const a89_0x54cd0d=a89_0x1c5e;(function(_0x4dc62c,_0x35dd41){const _0x5d9768=a89_0x1c5e,_0x30846b=_0x4dc62c();while(!![]){try{const _0x4b4edc=parseInt(_0x5d9768(0x205))/0x1*(-parseInt(_0x5d9768(0x1f6))/0x2)+-parseInt(_0x5d9768(0x206))/0x3*(-parseInt(_0x5d9768(0x204))/0x4)+parseInt(_0x5d9768(0x207))/0x5+parseInt(_0x5d9768(0x1fa))/0x6+-parseInt(_0x5d9768(0x1e6))/0x7+-parseInt(_0x5d9768(0x1f3))/0x8+-parseInt(_0x5d9768(0x1ff))/0x9*(-parseInt(_0x5d9768(0x20a))/0xa);if(_0x4b4edc===_0x35dd41)break;else _0x30846b['push'](_0x30846b['shift']());}catch(_0x360b6b){_0x30846b['push'](_0x30846b['shift']());}}}(a89_0x3aec,0x406b7));import{z}from'zod';import{WorkspaceSDK,resolveWorkspacePath}from'../../sdk/workspace/index.js';function a89_0x1c5e(_0x3c897e,_0x3c3f0e){_0x3c897e=_0x3c897e-0x1e0;const _0x3aeca0=a89_0x3aec();let _0x1c5e37=_0x3aeca0[_0x3c897e];return _0x1c5e37;}const TASK_STATUSES=[a89_0x54cd0d(0x1f9),'todo',a89_0x54cd0d(0x1ef),a89_0x54cd0d(0x20c),a89_0x54cd0d(0x203),'review','done',a89_0x54cd0d(0x1e1)],GUIDE_STATUSES=['proposed','accepted',a89_0x54cd0d(0x1fe),a89_0x54cd0d(0x1fd)];export const WorkCreateItemInputSchema=z[a89_0x54cd0d(0x1e9)]({'title':z[a89_0x54cd0d(0x1fb)]()['describe'](a89_0x54cd0d(0x1e0)),'kind':z['enum']([a89_0x54cd0d(0x1e8),a89_0x54cd0d(0x1e7),a89_0x54cd0d(0x1f4),a89_0x54cd0d(0x1ee)])[a89_0x54cd0d(0x1f8)]()[a89_0x54cd0d(0x1e2)]('Document\x20kind\x20(default:\x20\x22item\x22)'),'status':z[a89_0x54cd0d(0x209)]([...TASK_STATUSES,...GUIDE_STATUSES])['optional']()[a89_0x54cd0d(0x1e2)]('Initial\x20status\x20(default:\x20\x22todo\x22\x20for\x20items,\x20\x22proposed\x22\x20for\x20guides)'),'tags':z[a89_0x54cd0d(0x20b)](z[a89_0x54cd0d(0x1fb)]())['optional']()[a89_0x54cd0d(0x1e2)](a89_0x54cd0d(0x208)),'priority':z[a89_0x54cd0d(0x209)]([a89_0x54cd0d(0x1e3),a89_0x54cd0d(0x1e5),a89_0x54cd0d(0x20d),'low'])['optional']()[a89_0x54cd0d(0x1e2)]('Priority\x20level'),'body':z['string']()['optional']()[a89_0x54cd0d(0x1e2)]('Markdown\x20body\x20content'),'template':z['string']()[a89_0x54cd0d(0x1f8)]()['describe'](a89_0x54cd0d(0x1ed)),'github':z[a89_0x54cd0d(0x1fb)]()[a89_0x54cd0d(0x1f8)]()['describe'](a89_0x54cd0d(0x1f7)),'jira':z['string']()[a89_0x54cd0d(0x1f8)]()[a89_0x54cd0d(0x1e2)]('JIRA\x20ticket\x20reference\x20(org/TICKET-ID)')});function a89_0x3aec(){const _0x46ba3d=['priority','status','Template\x20name\x20from\x20templates/\x20folder','reference','planning','fileName','jira','tags','1751112SwwxsX','guide','body','2522raYQHJ','GitHub\x20PR/issue\x20reference\x20(owner/repo#number)','optional','backlog','1068300QVABFR','string','filePath','superseded','deprecated','57501bOpoGp','createDocument','template','replace','in_progress','10036lEXbSU','367PRqDLZ','339WoRuqe','365690aCXflX','Tags\x20for\x20the\x20item','enum','1420fjEStG','array','design_review','medium','Item\x20title\x20(required)','void','describe','critical','kind','high','3474828RgSobm','note','item','object','title'];a89_0x3aec=function(){return _0x46ba3d;};return a89_0x3aec();}export function executeWorkCreateItem(_0x58dd55){const _0x5ed351=a89_0x54cd0d,_0x2c6372=resolveWorkspacePath();if(!_0x2c6372)return{'success':![],'error':'No\x20workspace\x20found.\x20Run\x20`tdx\x20work\x20init`\x20to\x20create\x20one.'};const _0x3579b0=new WorkspaceSDK(_0x2c6372),_0x2bf84c={'title':_0x58dd55[_0x5ed351(0x1ea)],'kind':_0x58dd55[_0x5ed351(0x1e4)]||'item','status':_0x58dd55[_0x5ed351(0x1ec)],'tags':_0x58dd55[_0x5ed351(0x1f2)],'priority':_0x58dd55[_0x5ed351(0x1eb)],'body':_0x58dd55[_0x5ed351(0x1f5)],'template':_0x58dd55[_0x5ed351(0x201)],'github':_0x58dd55['github'],'jira':_0x58dd55[_0x5ed351(0x1f1)]},_0x55f3a3=_0x3579b0[_0x5ed351(0x200)](_0x2bf84c);return{'success':!![],'path':_0x55f3a3[_0x5ed351(0x1fc)],'slug':_0x55f3a3[_0x5ed351(0x1f0)][_0x5ed351(0x202)](/\.md$/,'')};}
|
package/dist/mcp/utils.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
function
|
|
1
|
+
function a90_0x35fb(){const _0x4792ff=['length','auth\x20setup','Credential\x20management\x20commands\x20are\x20not\x20allowed\x20via\x20MCP','33PGxhPy','mcp','12SqGhrl','4752678tKJeTj','Cannot\x20run\x20MCP\x20server\x20recursively','auth\x20login','6229530RoZFxm','6362424OhbWsD','profile\x20create','join','profile\x20remove','auth\x20clear','This\x20command\x20is\x20not\x20allowed\x20via\x20MCP','180494yopRgk','slice','73148VnoSCi','825515NbaIzm','Profile\x20switching\x20via\x20--profile\x20flag\x20is\x20not\x20allowed\x20via\x20MCP','toLowerCase','3789180cJHyMX','trimEnd','replace','6PUVYjU','startsWith'];a90_0x35fb=function(){return _0x4792ff;};return a90_0x35fb();}const a90_0x3515e8=a90_0x55a9;(function(_0x4d7654,_0x224e9e){const _0xac2db0=a90_0x55a9,_0x203773=_0x4d7654();while(!![]){try{const _0x3e3f75=parseInt(_0xac2db0(0xe5))/0x1*(-parseInt(_0xac2db0(0xd3))/0x2)+parseInt(_0xac2db0(0xd8))/0x3*(parseInt(_0xac2db0(0xcc))/0x4)+parseInt(_0xac2db0(0xcd))/0x5*(parseInt(_0xac2db0(0xda))/0x6)+parseInt(_0xac2db0(0xdb))/0x7+parseInt(_0xac2db0(0xdf))/0x8+-parseInt(_0xac2db0(0xd0))/0x9+-parseInt(_0xac2db0(0xde))/0xa;if(_0x3e3f75===_0x224e9e)break;else _0x203773['push'](_0x203773['shift']());}catch(_0x4c1fb1){_0x203773['push'](_0x203773['shift']());}}}(a90_0x35fb,0x66945));const BLOCKED_COMMANDS=[a90_0x3515e8(0xd6),a90_0x3515e8(0xdd),a90_0x3515e8(0xe3),a90_0x3515e8(0xe0),'profile\x20delete',a90_0x3515e8(0xe2),a90_0x3515e8(0xd9)],BLOCKED_FLAGS=['--profile','-p'];function a90_0x55a9(_0x441b34,_0x661924){_0x441b34=_0x441b34-0xcc;const _0x35fb81=a90_0x35fb();let _0x55a90d=_0x35fb81[_0x441b34];return _0x55a90d;}export function hasBlockedFlag(_0x287b54){const _0x200788=a90_0x3515e8;for(const _0x21bd8a of _0x287b54){const _0x260651=_0x21bd8a[_0x200788(0xcf)]();for(const _0x392f27 of BLOCKED_FLAGS){if(_0x260651===_0x392f27||_0x260651['startsWith'](_0x392f27+'='))return!![];}}return![];}export function isBlockedCommand(_0x1bdfd8){const _0x49e747=a90_0x3515e8;if(_0x1bdfd8[_0x49e747(0xd5)]===0x0)return![];if(hasBlockedFlag(_0x1bdfd8))return!![];const _0x538b3b=_0x1bdfd8[_0x49e747(0xe6)](0x0,0x2)[_0x49e747(0xe1)]('\x20')[_0x49e747(0xcf)]();for(const _0x2029bd of BLOCKED_COMMANDS){if(_0x538b3b[_0x49e747(0xd4)](_0x2029bd))return!![];}const _0x4fd2ba=_0x1bdfd8[0x0][_0x49e747(0xcf)]();for(const _0xefdd77 of BLOCKED_COMMANDS){if(!_0xefdd77['includes']('\x20')&&_0x4fd2ba===_0xefdd77)return!![];}return![];}export function getBlockedReason(_0x42455d){const _0x40e9a7=a90_0x3515e8;if(!isBlockedCommand(_0x42455d))return undefined;if(hasBlockedFlag(_0x42455d))return _0x40e9a7(0xce);const _0xdc8edc=_0x42455d[_0x40e9a7(0xe6)](0x0,0x2)[_0x40e9a7(0xe1)]('\x20')[_0x40e9a7(0xcf)](),_0x476ba1=_0x42455d[0x0][_0x40e9a7(0xcf)]();if(_0xdc8edc[_0x40e9a7(0xd4)](_0x40e9a7(0xd6))||_0xdc8edc['startsWith'](_0x40e9a7(0xdd))||_0xdc8edc[_0x40e9a7(0xd4)](_0x40e9a7(0xe3)))return _0x40e9a7(0xd7);if(_0xdc8edc[_0x40e9a7(0xd4)](_0x40e9a7(0xe0))||_0xdc8edc[_0x40e9a7(0xd4)]('profile\x20delete')||_0xdc8edc[_0x40e9a7(0xd4)](_0x40e9a7(0xe2)))return'Profile\x20management\x20commands\x20are\x20not\x20allowed\x20via\x20MCP';if(_0x476ba1===_0x40e9a7(0xd9))return _0x40e9a7(0xdc);return _0x40e9a7(0xe4);}export function formatOutput(_0x168d92){const _0x278b24=a90_0x3515e8,_0x234e77=/[\u001b\u009b][[()#;?]*(?:[0-9]{1,4}(?:;[0-9]{0,4})*)?[0-9A-ORZcf-nqry=><]/g;let _0x5e963c=_0x168d92[_0x278b24(0xd2)](_0x234e77,'');return _0x5e963c=_0x5e963c[_0x278b24(0xd2)](/\r\n/g,'\x0a')['replace'](/\r/g,'\x0a'),_0x5e963c=_0x5e963c[_0x278b24(0xd1)](),_0x5e963c;}
|
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
/**
|
|
13
13
|
* Usage source type
|
|
14
14
|
*/
|
|
15
|
-
export type UsageSource = 'tdx-claude' | 'tdx-studio' | 'tdx-opencode';
|
|
15
|
+
export type UsageSource = 'tdx-claude' | 'tdx-studio' | 'tdx-opencode' | 'tdx-codex' | 'tdx-proxy' | 'tdx-claude-code';
|
|
16
16
|
/**
|
|
17
17
|
* Usage entry stored in JSONL files
|
|
18
18
|
*/
|
|
@@ -78,6 +78,7 @@ export interface StatsCache {
|
|
|
78
78
|
profiles: Record<string, ProfileStats>;
|
|
79
79
|
sources: Record<string, SourceStats>;
|
|
80
80
|
lastRebuiltAt: string;
|
|
81
|
+
pricingFingerprints?: Record<string, string>;
|
|
81
82
|
}
|
|
82
83
|
/**
|
|
83
84
|
* Append a usage entry to the session's JSONL file
|
|
@@ -87,12 +88,12 @@ export declare function appendUsageEntry(sessionId: string, entry: UsageEntry):
|
|
|
87
88
|
/**
|
|
88
89
|
* Rebuild the entire stats cache from JSONL files
|
|
89
90
|
*/
|
|
90
|
-
export declare function rebuildCache(): Promise<StatsCache>;
|
|
91
|
+
export declare function rebuildCache(refreshProfile?: string, cachedOnly?: boolean): Promise<StatsCache>;
|
|
91
92
|
/**
|
|
92
93
|
* Get or update the stats cache
|
|
93
94
|
* Returns fresh cache if up-to-date, otherwise rebuilds
|
|
94
95
|
*/
|
|
95
|
-
export declare function getOrUpdateCache(sessionId?: string): Promise<StatsCache>;
|
|
96
|
+
export declare function getOrUpdateCache(sessionId?: string, profile?: string): Promise<StatsCache>;
|
|
96
97
|
/**
|
|
97
98
|
* Get credits for a specific session
|
|
98
99
|
*/
|
|
@@ -136,7 +137,7 @@ export declare function getAllProfileStats(): Promise<ProfileUsageStats[]>;
|
|
|
136
137
|
* Source usage statistics for display
|
|
137
138
|
*/
|
|
138
139
|
export interface SourceUsageStats {
|
|
139
|
-
source:
|
|
140
|
+
source: string;
|
|
140
141
|
credits: number;
|
|
141
142
|
todayCredits: number;
|
|
142
143
|
monthCredits: number;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-usage-tracker.d.ts","sourceRoot":"","sources":["../../src/proxy/claude-usage-tracker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;
|
|
1
|
+
{"version":3,"file":"claude-usage-tracker.d.ts","sourceRoot":"","sources":["../../src/proxy/claude-usage-tracker.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(_0x168672,_0x40a015){const _0x5a1008=a93_0x5d52,_0x4fb64e=_0x168672();while(!![]){try{const _0x456c06=parseInt(_0x5a1008(0xfe))/0x1+parseInt(_0x5a1008(0x10f))/0x2+parseInt(_0x5a1008(0x12e))/0x3*(parseInt(_0x5a1008(0xf1))/0x4)+parseInt(_0x5a1008(0x12f))/0x5*(parseInt(_0x5a1008(0x111))/0x6)+parseInt(_0x5a1008(0x129))/0x7*(parseInt(_0x5a1008(0x107))/0x8)+parseInt(_0x5a1008(0x120))/0x9+-parseInt(_0x5a1008(0x101))/0xa;if(_0x456c06===_0x40a015)break;else _0x4fb64e['push'](_0x4fb64e['shift']());}catch(_0x3be043){_0x4fb64e['push'](_0x4fb64e['shift']());}}}(a93_0x11db,0x7d8cb));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 _0x18cc75=a93_0x5d52;return!usageLogger&&(usageLogger=new TDXLogger(LogLevel[_0x18cc75(0x10d)],!![]),await usageLogger[_0x18cc75(0xfa)]()),usageLogger;}function getUsageDir(){const _0x17b6e7=a93_0x5d52;return join(getGlobalCacheDir(),_0x17b6e7(0x12d));}function sanitizeSessionId(_0x3a1836){return _0x3a1836['replace'](/[^a-zA-Z0-9_-]/g,'_');}function getSafeJsonlPath(_0x2f88ad){const _0x2738f6=a93_0x5d52,_0x2e4806=getUsageDir(),_0x50d720=sanitizeSessionId(_0x2f88ad),_0x4f8e2d=resolve(_0x2e4806,_0x50d720+_0x2738f6(0x121));if(!_0x4f8e2d['startsWith'](_0x2e4806))throw new Error(_0x2738f6(0xef));return _0x4f8e2d;}function a93_0x5d52(_0x3d93c9,_0x41dd57){_0x3d93c9=_0x3d93c9-0xef;const _0x11db1a=a93_0x11db();let _0x5d52dd=_0x11db1a[_0x3d93c9];return _0x5d52dd;}function getStatsCachePath(){const _0x514635=a93_0x5d52;return join(getUsageDir(),_0x514635(0x112));}async function ensureUsageDir(){const _0x9a19d2=getUsageDir();!existsSync(_0x9a19d2)&&await mkdir(_0x9a19d2,{'recursive':!![]});}export async function appendUsageEntry(_0x59195f,_0x16c9bb){const _0x22cb02=a93_0x5d52,_0x2e6dbe=sanitizeSessionId(_0x59195f);await ensureUsageDir();const _0x6ac18c=getSafeJsonlPath(_0x2e6dbe),_0x48fc06=JSON[_0x22cb02(0xf4)](_0x16c9bb)+'\x0a';await appendFile(_0x6ac18c,_0x48fc06,_0x22cb02(0x102));}async function readSessionJsonl(_0x315311){const _0x386e78=a93_0x5d52,_0x3db5e4=getSafeJsonlPath(_0x315311);if(!existsSync(_0x3db5e4))return[];try{const _0x5ce05e=await readFile(_0x3db5e4,_0x386e78(0x102)),_0x1a0120=_0x5ce05e[_0x386e78(0x103)]()[_0x386e78(0x10a)]('\x0a')[_0x386e78(0x113)](Boolean);return _0x1a0120[_0x386e78(0xf7)](_0x2f99ce=>{const _0x58e8cb=_0x386e78;try{return JSON[_0x58e8cb(0xfd)](_0x2f99ce);}catch{return null;}})[_0x386e78(0x113)](_0x4c8e45=>_0x4c8e45!==null);}catch(_0x5bce7f){const _0x5378bb=await getLogger();return _0x5378bb[_0x386e78(0xfb)](_0x386e78(0x115)+_0x315311+_0x386e78(0x110),_0x5bce7f instanceof Error?_0x5bce7f[_0x386e78(0x11e)]:String(_0x5bce7f)),[];}}async function getAllSessionFiles(){const _0x136191=a93_0x5d52,_0x55321d=getUsageDir();if(!existsSync(_0x55321d))return[];try{const _0x5cd643=await readdir(_0x55321d);return _0x5cd643['filter'](_0x2484a8=>_0x2484a8[_0x136191(0x128)](_0x136191(0x121)))[_0x136191(0xf7)](_0x4c8ce4=>_0x4c8ce4[_0x136191(0xf5)](_0x136191(0x121),''));}catch(_0x4e7d90){const _0x4040eb=await getLogger();return _0x4040eb['warn']('Failed\x20to\x20read\x20usage\x20directory:',_0x4e7d90 instanceof Error?_0x4e7d90[_0x136191(0x11e)]:String(_0x4e7d90)),[];}}async function readStatsCache(){const _0x381774=a93_0x5d52,_0x4d9f90=getStatsCachePath();if(!existsSync(_0x4d9f90))return null;try{const _0x369f1d=await readFile(_0x4d9f90,'utf-8'),_0x11738c=JSON[_0x381774(0xfd)](_0x369f1d),_0x43d4fc=Object[_0x381774(0x12a)](_0x11738c['sessions']||{})[0x0];if(_0x43d4fc&&'totalChatUnits'in _0x43d4fc)return null;return _0x11738c;}catch{return null;}}async function writeStatsCache(_0x198ed2){const _0x182997=a93_0x5d52;await ensureUsageDir();const _0x41e04a=getStatsCachePath();await writeFile(_0x41e04a,JSON[_0x182997(0xf4)](_0x198ed2,null,0x2),_0x182997(0x102));}function a93_0x11db(){const _0x2486b7=['19009450tWfszw','utf-8','trim','slice','length','sessions','7345288hWDQuB','source','timestamp','split','lastUpdatedAt','default','WARN','reduce','313322YEAies','.jsonl:','2998902IupxGk','stats-cache.json','filter','sort','Failed\x20to\x20read\x20usage\x20file\x20','monthly','getFullYear','latestContextTokensBySignature','object','totalCredits','cacheReadInputTokens','monthCredits','getTime','message','model','2371428MGxRKa','.jsonl','todayDate','daily','sources','outputTokens','month','toISOString','endsWith','7EUpMiR','values','entries','entryCount','claude-usage','3FuVQQY','5whywUL','Invalid\x20session\x20ID:\x20path\x20traversal\x20detected','lastUsedAt','1066616KJYQao','credits','inputTokens','stringify','replace','keys','map','profiles','max','init','warn','Failed\x20to\x20process\x20session\x20','parse','310411QCVQqq','tdx-claude','todayCredits'];a93_0x11db=function(){return _0x2486b7;};return a93_0x11db();}async function isCacheUpToDate(_0x3f52e1,_0xd4f91){const _0x7ac704=a93_0x5d52,_0x2616d0=_0x3f52e1[_0x7ac704(0x106)][_0xd4f91];if(!_0x2616d0)return![];const _0x52b344=getSafeJsonlPath(_0xd4f91);if(!existsSync(_0x52b344))return!![];try{const _0x6b29=await stat(_0x52b344),_0x4d060f=new Date(_0x2616d0[_0x7ac704(0x10b)])[_0x7ac704(0x11d)](),_0x406a7c=_0x6b29['mtime'][_0x7ac704(0x11d)]();return _0x4d060f>_0x406a7c;}catch{return![];}}export async function rebuildCache(){const _0x26f840=a93_0x5d52,_0x1009c1=new Date(),_0x56d679=_0x1009c1['toISOString']()[_0x26f840(0x104)](0x0,0xa),_0x4f0ee8=_0x1009c1['toISOString']()[_0x26f840(0x104)](0x0,0x7),_0x1f867c={'daily':{},'monthly':{},'sessions':{},'profiles':{},'sources':{},'lastRebuiltAt':_0x1009c1[_0x26f840(0x127)]()},_0xcbfc1c=await getAllSessionFiles();for(const _0x1391d3 of _0xcbfc1c){try{const _0xf21503=await readSessionJsonl(_0x1391d3);if(_0xf21503[_0x26f840(0x105)]===0x0)continue;let _0x19973c=0x0;const _0x397759={};let _0x520663='';for(const _0x50908f of _0xf21503){const _0x43b5f2=_0x50908f['cacheCreationInputTokens']??0x0,_0x4982f8=_0x50908f[_0x26f840(0x11b)]??0x0,_0x406fda=_0x50908f[_0x26f840(0xf3)]+_0x43b5f2+_0x4982f8,_0x10d221=getModelPricing(_0x50908f[_0x26f840(0x11f)],_0x406fda),_0x929d64=calculateTokenCost(_0x50908f[_0x26f840(0xf3)],_0x50908f[_0x26f840(0x125)],_0x43b5f2,_0x4982f8,_0x10d221,_0x50908f['cacheCreation1hInputTokens']),_0x4cb2c0=usdToAiCredits(_0x929d64);_0x19973c+=_0x4cb2c0;const _0x57c646=_0x50908f['contextSignature']||_0x26f840(0x10c);_0x397759[_0x57c646]=_0x406fda;_0x50908f[_0x26f840(0x109)]>_0x520663&&(_0x520663=_0x50908f[_0x26f840(0x109)]);const _0x18bf18=_0x50908f[_0x26f840(0x109)]['slice'](0x0,0xa);!_0x1f867c[_0x26f840(0x123)][_0x18bf18]&&(_0x1f867c[_0x26f840(0x123)][_0x18bf18]={'totalCredits':0x0,'entryCount':0x0});_0x1f867c[_0x26f840(0x123)][_0x18bf18][_0x26f840(0x11a)]+=_0x4cb2c0,_0x1f867c[_0x26f840(0x123)][_0x18bf18][_0x26f840(0x12c)]+=0x1;const _0x29913c=_0x50908f[_0x26f840(0x109)]['slice'](0x0,0x7);!_0x1f867c[_0x26f840(0x116)][_0x29913c]&&(_0x1f867c[_0x26f840(0x116)][_0x29913c]={'totalCredits':0x0,'entryCount':0x0});_0x1f867c['monthly'][_0x29913c][_0x26f840(0x11a)]+=_0x4cb2c0,_0x1f867c[_0x26f840(0x116)][_0x29913c][_0x26f840(0x12c)]+=0x1;const _0x4f2771=_0x50908f['profile']||_0x26f840(0x10c);!_0x1f867c[_0x26f840(0xf8)][_0x4f2771]&&(_0x1f867c[_0x26f840(0xf8)][_0x4f2771]={'totalCredits':0x0,'entryCount':0x0,'lastUsedAt':'','todayCredits':0x0,'todayDate':_0x56d679,'monthCredits':0x0,'month':_0x4f0ee8});_0x1f867c[_0x26f840(0xf8)][_0x4f2771][_0x26f840(0x11a)]+=_0x4cb2c0,_0x1f867c[_0x26f840(0xf8)][_0x4f2771][_0x26f840(0x12c)]+=0x1;_0x50908f[_0x26f840(0x109)]>_0x1f867c[_0x26f840(0xf8)][_0x4f2771][_0x26f840(0xf0)]&&(_0x1f867c[_0x26f840(0xf8)][_0x4f2771][_0x26f840(0xf0)]=_0x50908f['timestamp']);_0x18bf18===_0x56d679&&(_0x1f867c[_0x26f840(0xf8)][_0x4f2771][_0x26f840(0x100)]+=_0x4cb2c0);_0x29913c===_0x4f0ee8&&(_0x1f867c[_0x26f840(0xf8)][_0x4f2771]['monthCredits']+=_0x4cb2c0);const _0x14ca27=_0x50908f[_0x26f840(0x108)]||_0x26f840(0xff);!_0x1f867c[_0x26f840(0x124)][_0x14ca27]&&(_0x1f867c[_0x26f840(0x124)][_0x14ca27]={'totalCredits':0x0,'entryCount':0x0,'todayCredits':0x0,'todayDate':_0x56d679,'monthCredits':0x0,'month':_0x4f0ee8}),_0x1f867c[_0x26f840(0x124)][_0x14ca27][_0x26f840(0x11a)]+=_0x4cb2c0,_0x1f867c[_0x26f840(0x124)][_0x14ca27]['entryCount']+=0x1,_0x18bf18===_0x56d679&&(_0x1f867c[_0x26f840(0x124)][_0x14ca27][_0x26f840(0x100)]+=_0x4cb2c0),_0x29913c===_0x4f0ee8&&(_0x1f867c[_0x26f840(0x124)][_0x14ca27][_0x26f840(0x11c)]+=_0x4cb2c0);}_0x1f867c[_0x26f840(0x106)][_0x1391d3]={'totalCredits':_0x19973c,'latestContextTokensBySignature':_0x397759,'createdAt':_0xf21503[0x0][_0x26f840(0x109)],'lastUpdatedAt':_0x520663};}catch(_0x1890e1){const _0x42f7ea=await getLogger();_0x42f7ea['warn'](_0x26f840(0xfc)+_0x1391d3+':',_0x1890e1 instanceof Error?_0x1890e1[_0x26f840(0x11e)]:String(_0x1890e1));continue;}}return cleanupOldEntries(_0x1f867c),await writeStatsCache(_0x1f867c),_0x1f867c;}function cleanupOldEntries(_0x3ddde2){const _0x1f829d=a93_0x5d52,_0x4077c4=new Date(),_0x2ba012=new Date(_0x4077c4[_0x1f829d(0x11d)]()-0x7*0x18*0x3c*0x3c*0x3e8);for(const _0x1492cb of Object[_0x1f829d(0xf6)](_0x3ddde2[_0x1f829d(0x123)])){new Date(_0x1492cb)<_0x2ba012&&delete _0x3ddde2['daily'][_0x1492cb];}const _0x51e2f1=new Date(_0x4077c4[_0x1f829d(0x117)]()-0x1,_0x4077c4['getMonth'](),0x1);for(const _0x3551e0 of Object[_0x1f829d(0xf6)](_0x3ddde2[_0x1f829d(0x116)])){const [_0x221531,_0x44f50c]=_0x3551e0['split']('-')[_0x1f829d(0xf7)](Number),_0x176b14=new Date(_0x221531,_0x44f50c-0x1,0x1);_0x176b14<_0x51e2f1&&delete _0x3ddde2[_0x1f829d(0x116)][_0x3551e0];}const _0x503bb6=new Date(_0x4077c4[_0x1f829d(0x11d)]()-0x1e*0x18*0x3c*0x3c*0x3e8);for(const [_0x44318c,_0x2fdb66]of Object['entries'](_0x3ddde2[_0x1f829d(0x106)])){new Date(_0x2fdb66[_0x1f829d(0x10b)])<_0x503bb6&&delete _0x3ddde2[_0x1f829d(0x106)][_0x44318c];}}export async function getOrUpdateCache(_0x2bbd0b){const _0x35fbc1=_0x2bbd0b?sanitizeSessionId(_0x2bbd0b):undefined,_0x1763cc=await readStatsCache();if(!_0x1763cc)return rebuildCache();if(_0x35fbc1){const _0x2b2af4=await isCacheUpToDate(_0x1763cc,_0x35fbc1);if(!_0x2b2af4)return rebuildCache();}return _0x1763cc;}export async function getSessionCredits(_0x400d36){const _0x331d5e=a93_0x5d52,_0x392afb=sanitizeSessionId(_0x400d36),_0x69ef9a=await getOrUpdateCache(_0x392afb),_0x3b1d50=_0x69ef9a[_0x331d5e(0x106)][_0x392afb];if(!_0x3b1d50)return 0x0;return _0x3b1d50['totalCredits'];}export async function getTodayCredits(){const _0x554ff9=a93_0x5d52,_0x481cb1=await getOrUpdateCache(),_0x181c74=new Date()[_0x554ff9(0x127)]()[_0x554ff9(0x104)](0x0,0xa),_0x57c94=_0x481cb1['daily'][_0x181c74];if(!_0x57c94)return 0x0;return _0x57c94['totalCredits'];}export async function getMonthCredits(){const _0x85cb01=a93_0x5d52,_0x3eeca5=await getOrUpdateCache(),_0x27f7cf=new Date()['toISOString']()[_0x85cb01(0x104)](0x0,0x7),_0x512466=_0x3eeca5[_0x85cb01(0x116)][_0x27f7cf];if(!_0x512466)return 0x0;return _0x512466[_0x85cb01(0x11a)];}export async function getSessionStats(_0x3346fe){const _0xfe626d=a93_0x5d52,_0x11c24b=sanitizeSessionId(_0x3346fe),_0x24fcaa=await getOrUpdateCache(_0x11c24b);return _0x24fcaa[_0xfe626d(0x106)][_0x11c24b]||null;}function getMaxLatestContextTokens(_0x43749c){const _0x43cb4c=a93_0x5d52,_0x4daabc=Object[_0x43cb4c(0x12a)](_0x43749c);if(_0x4daabc[_0x43cb4c(0x105)]===0x0)return 0x0;return Math[_0x43cb4c(0xf9)](..._0x4daabc);}export async function getUsageStats(_0x18df8c,_0xa14177){const _0x489b29=a93_0x5d52,_0x3aa109=sanitizeSessionId(_0x18df8c),_0x177625=await getOrUpdateCache(_0x3aa109),_0x5e8b1f=_0x177625[_0x489b29(0x106)][_0x3aa109],_0x51945d=new Date()[_0x489b29(0x127)]()['slice'](0x0,0xa),_0x342c71=new Date()['toISOString']()['slice'](0x0,0x7);if(_0xa14177){const _0x4ebc3c=_0x177625['profiles']?.[_0xa14177],_0x4d186b=_0x4ebc3c?.['todayDate']===_0x51945d?_0x4ebc3c[_0x489b29(0x100)]:0x0,_0x245b9a=_0x4ebc3c?.[_0x489b29(0x126)]===_0x342c71?_0x4ebc3c[_0x489b29(0x11c)]:0x0;return{'sessionCredits':_0x5e8b1f?_0x5e8b1f['totalCredits']:0x0,'todayCredits':_0x4d186b,'monthCredits':_0x245b9a,'latestContextTokens':_0x5e8b1f?getMaxLatestContextTokens(_0x5e8b1f[_0x489b29(0x118)]):0x0};}return{'sessionCredits':_0x5e8b1f?_0x5e8b1f[_0x489b29(0x11a)]:0x0,'todayCredits':_0x177625[_0x489b29(0x123)][_0x51945d]?_0x177625['daily'][_0x51945d][_0x489b29(0x11a)]:0x0,'monthCredits':_0x177625[_0x489b29(0x116)][_0x342c71]?_0x177625[_0x489b29(0x116)][_0x342c71][_0x489b29(0x11a)]:0x0,'latestContextTokens':_0x5e8b1f?getMaxLatestContextTokens(_0x5e8b1f[_0x489b29(0x118)]):0x0};}export async function getAllProfileStats(){const _0x106356=a93_0x5d52,_0x2f4c8d=await getOrUpdateCache(),_0x45df5f=_0x2f4c8d[_0x106356(0xf8)]||{};return Object[_0x106356(0x12b)](_0x45df5f)[_0x106356(0x113)](([,_0xa6493f])=>_0xa6493f&&typeof _0xa6493f===_0x106356(0x119))[_0x106356(0xf7)](([_0x1bf3ea,_0x3b90b3])=>({'profile':_0x1bf3ea,'credits':_0x3b90b3[_0x106356(0x11a)]||0x0,'entryCount':_0x3b90b3[_0x106356(0x12c)]||0x0,'lastUsedAt':_0x3b90b3['lastUsedAt']||''}))[_0x106356(0x114)]((_0x2d9f70,_0x52e57d)=>_0x52e57d[_0x106356(0xf2)]-_0x2d9f70[_0x106356(0xf2)]);}export async function getAllSourceStats(){const _0xd5e880=a93_0x5d52,_0x5270c3=await getOrUpdateCache(),_0x47c0c1=_0x5270c3[_0xd5e880(0x124)]||{},_0xde254b=new Date()[_0xd5e880(0x127)]()[_0xd5e880(0x104)](0x0,0xa),_0x663172=new Date()[_0xd5e880(0x127)]()[_0xd5e880(0x104)](0x0,0x7);return Object['entries'](_0x47c0c1)[_0xd5e880(0x113)](([,_0x519123])=>_0x519123&&typeof _0x519123===_0xd5e880(0x119))[_0xd5e880(0xf7)](([_0x38983c,_0x3eade9])=>({'source':_0x38983c,'credits':_0x3eade9[_0xd5e880(0x11a)]||0x0,'todayCredits':_0x3eade9[_0xd5e880(0x122)]===_0xde254b?_0x3eade9['todayCredits']||0x0:0x0,'monthCredits':_0x3eade9[_0xd5e880(0x126)]===_0x663172?_0x3eade9[_0xd5e880(0x11c)]||0x0:0x0,'entryCount':_0x3eade9['entryCount']||0x0}))['sort']((_0x3e8726,_0x1dc8ec)=>_0x1dc8ec['credits']-_0x3e8726['credits']);}export async function getUsageSummary(){const _0x1cb239=a93_0x5d52,_0x27655a=await getOrUpdateCache(),_0x4aa500=_0x27655a[_0x1cb239(0xf8)]||{},_0x5c7973=new Date()[_0x1cb239(0x127)]()[_0x1cb239(0x104)](0x0,0xa),_0x1877e7=new Date()[_0x1cb239(0x127)]()[_0x1cb239(0x104)](0x0,0x7),_0xc85761=Object['values'](_0x4aa500)[_0x1cb239(0x113)](_0x3d255a=>_0x3d255a&&typeof _0x3d255a===_0x1cb239(0x119)),_0x28b746=_0xc85761[_0x1cb239(0x10e)]((_0x56a980,_0x14f6fe)=>_0x56a980+(_0x14f6fe[_0x1cb239(0x11a)]||0x0),0x0);return{'todayCredits':_0x27655a[_0x1cb239(0x123)][_0x5c7973]?_0x27655a['daily'][_0x5c7973]['totalCredits']||0x0:0x0,'monthCredits':_0x27655a[_0x1cb239(0x116)][_0x1877e7]?_0x27655a['monthly'][_0x1877e7]['totalCredits']||0x0:0x0,'totalCredits':_0x28b746,'profileCount':_0xc85761[_0x1cb239(0x105)]};}
|
|
1
|
+
(function(_0x461efa,_0xcb620c){const _0x46777a=a91_0x289b,_0x1a48a5=_0x461efa();while(!![]){try{const _0xbebe23=-parseInt(_0x46777a(0xdb))/0x1+-parseInt(_0x46777a(0xe4))/0x2*(-parseInt(_0x46777a(0xe2))/0x3)+-parseInt(_0x46777a(0xfc))/0x4+-parseInt(_0x46777a(0xe7))/0x5+-parseInt(_0x46777a(0x105))/0x6+-parseInt(_0x46777a(0x120))/0x7*(parseInt(_0x46777a(0xdf))/0x8)+-parseInt(_0x46777a(0xd2))/0x9*(-parseInt(_0x46777a(0x11b))/0xa);if(_0xbebe23===_0xcb620c)break;else _0x1a48a5['push'](_0x1a48a5['shift']());}catch(_0x5a1a41){_0x1a48a5['push'](_0x1a48a5['shift']());}}}(a91_0x2b5e,0xf0901));import{readFile,writeFile,appendFile,mkdir,readdir,stat}from'node:fs/promises';import{existsSync}from'node:fs';import{join,resolve}from'node:path';import{calculateTokenCost,usdToAiCredits}from'../sdk/llm/model-factors.js';import{loadWorkModels,pricingFingerprint,workModelPricing}from'../sdk/llm/work-models.js';import{TDXLogger,LogLevel}from'../utils/tdx-logger.js';import{getGlobalCacheDir}from'../utils/global-cache.js';let usageLogger=null;function a91_0x289b(_0x16486b,_0x30c5e3){_0x16486b=_0x16486b-0xd1;const _0x2b5e3f=a91_0x2b5e();let _0x289b5e=_0x2b5e3f[_0x16486b];return _0x289b5e;}async function getLogger(){const _0x1c2f90=a91_0x289b;return!usageLogger&&(usageLogger=new TDXLogger(LogLevel[_0x1c2f90(0x118)],!![]),await usageLogger[_0x1c2f90(0xe0)]()),usageLogger;}function getUsageDir(){const _0x13943a=a91_0x289b;return join(getGlobalCacheDir(),_0x13943a(0xdd));}function sanitizeSessionId(_0x47b4ae){const _0x3099dc=a91_0x289b;return _0x47b4ae[_0x3099dc(0xd1)](/[^a-zA-Z0-9_-]/g,'_');}function getSafeJsonlPath(_0x101cea){const _0x1bffe0=a91_0x289b,_0x52b528=getUsageDir(),_0x5c4888=sanitizeSessionId(_0x101cea),_0x3eba90=resolve(_0x52b528,_0x5c4888+_0x1bffe0(0x11c));if(!_0x3eba90[_0x1bffe0(0xf7)](_0x52b528))throw new Error(_0x1bffe0(0x10d));return _0x3eba90;}function getStatsCachePath(){const _0x2c1acb=a91_0x289b;return join(getUsageDir(),_0x2c1acb(0xd6));}async function ensureUsageDir(){const _0x5d4dc4=getUsageDir();!existsSync(_0x5d4dc4)&&await mkdir(_0x5d4dc4,{'recursive':!![]});}function a91_0x2b5e(){const _0x427fdb=['entryCount','daily','7jSiPJZ','replace','90IRYKSh','latestContextTokensBySignature','cacheReadInputTokens','monthly','stats-cache.json','slice','message','toISOString','default','1463233BYHMXk','utf-8','claude-usage','Legacy\x20profiles','12148888lPLDmZ','init','getFullYear','51gTpmvc','totalChatUnits','92126ZEnkei','source','month','4504800ORExHh','pricingFingerprints','getTime','has','warn','tdx-proxy','credits','outputTokens','getMonth','profile','tdx-claude-code','@tdx-studio:','trim','filter','lastUsedAt','keys','startsWith','totalCredits','Failed\x20to\x20read\x20usage\x20file\x20','sessions','cacheCreationInputTokens','4600392hrIIaR','contextSignature','tdx-studio','get','map','profiles','endsWith','timestamp','sources','7002264cXByTy','Treasure\x20Work','todayCredits','inputTokens','model','lastUpdatedAt','parse','monthCredits','Invalid\x20session\x20ID:\x20path\x20traversal\x20detected','object','.jsonl:','todayDate','some','entries','mtime','split','all','set','stringify','WARN','reduce','values','6402220DEEpjS','.jsonl','sort'];a91_0x2b5e=function(){return _0x427fdb;};return a91_0x2b5e();}export async function appendUsageEntry(_0x53a18c,_0x147919){const _0x5a7e27=a91_0x289b,_0x3220ce=sanitizeSessionId(_0x53a18c);await ensureUsageDir();const _0x538e30=getSafeJsonlPath(_0x3220ce),_0x1d38f2=JSON[_0x5a7e27(0x117)](_0x147919)+'\x0a';await appendFile(_0x538e30,_0x1d38f2,_0x5a7e27(0xdc));}async function readSessionJsonl(_0x38628b){const _0x1b1964=a91_0x289b,_0x355e82=getSafeJsonlPath(_0x38628b);if(!existsSync(_0x355e82))return[];try{const _0x55bd59=await readFile(_0x355e82,'utf-8'),_0x422b26=_0x55bd59[_0x1b1964(0xf3)]()[_0x1b1964(0x114)]('\x0a')[_0x1b1964(0xf4)](Boolean);return _0x422b26['map'](_0x3492f5=>{try{return JSON['parse'](_0x3492f5);}catch{return null;}})[_0x1b1964(0xf4)](_0x2e817f=>_0x2e817f!==null);}catch(_0x27fff3){const _0x2e9558=await getLogger();return _0x2e9558[_0x1b1964(0xeb)](_0x1b1964(0xf9)+_0x38628b+_0x1b1964(0x10f),_0x27fff3 instanceof Error?_0x27fff3['message']:String(_0x27fff3)),[];}}async function getAllSessionFiles(){const _0x43252c=a91_0x289b,_0x107fec=getUsageDir();if(!existsSync(_0x107fec))return[];try{const _0x18bc89=await readdir(_0x107fec);return _0x18bc89[_0x43252c(0xf4)](_0x8df1df=>_0x8df1df[_0x43252c(0x102)](_0x43252c(0x11c)))[_0x43252c(0x100)](_0x5b258e=>_0x5b258e[_0x43252c(0xd1)]('.jsonl',''));}catch(_0x397d2c){const _0xae9dec=await getLogger();return _0xae9dec['warn']('Failed\x20to\x20read\x20usage\x20directory:',_0x397d2c instanceof Error?_0x397d2c[_0x43252c(0xd8)]:String(_0x397d2c)),[];}}async function readStatsCache(){const _0x4524ab=a91_0x289b,_0x12ef1f=getStatsCachePath();if(!existsSync(_0x12ef1f))return null;try{const _0x309b77=await readFile(_0x12ef1f,_0x4524ab(0xdc)),_0x4de06a=JSON[_0x4524ab(0x10b)](_0x309b77),_0x4311e5=Object[_0x4524ab(0x11a)](_0x4de06a[_0x4524ab(0xfa)]||{})[0x0];if(_0x4311e5&&_0x4524ab(0xe3)in _0x4311e5)return null;return _0x4de06a;}catch{return null;}}async function writeStatsCache(_0x270713){const _0x2ca5f0=a91_0x289b;await ensureUsageDir();const _0x5bc1ca=getStatsCachePath();await writeFile(_0x5bc1ca,JSON[_0x2ca5f0(0x117)](_0x270713,null,0x2),'utf-8');}async function isCacheUpToDate(_0x836b73,_0x108a8c){const _0x15f77c=a91_0x289b,_0x4f2d77=_0x836b73[_0x15f77c(0xfa)][_0x108a8c];if(!_0x4f2d77)return![];const _0x4e63be=getSafeJsonlPath(_0x108a8c);if(!existsSync(_0x4e63be))return!![];try{const _0x543c4d=await stat(_0x4e63be),_0xda5541=new Date(_0x4f2d77[_0x15f77c(0x10a)])[_0x15f77c(0xe9)](),_0x56787c=_0x543c4d[_0x15f77c(0x113)][_0x15f77c(0xe9)]();return _0xda5541>_0x56787c;}catch{return![];}}export async function rebuildCache(_0x3a0563,_0x7d795=![]){const _0x226bcb=a91_0x289b,_0x22cb0e=new Date(),_0x4b44c6=_0x22cb0e[_0x226bcb(0xd9)]()[_0x226bcb(0xd7)](0x0,0xa),_0x13b2b1=_0x22cb0e[_0x226bcb(0xd9)]()[_0x226bcb(0xd7)](0x0,0x7),_0x317e53={'daily':{},'monthly':{},'sessions':{},'profiles':{},'sources':{},'lastRebuiltAt':_0x22cb0e[_0x226bcb(0xd9)]()},_0x49f69b=await getAllSessionFiles(),_0x510fd4=new Map();_0x317e53['pricingFingerprints']={};for(const _0x3cece8 of _0x49f69b){try{const _0x1fa082=await readSessionJsonl(_0x3cece8);if(_0x1fa082['length']===0x0)continue;let _0x3a6134=0x0;const _0x2a6a67={};let _0xb7f223='';for(const _0x4bdef4 of _0x1fa082){const _0x3c341b=_0x4bdef4[_0x226bcb(0xfb)]??0x0,_0x3527b0=_0x4bdef4[_0x226bcb(0xd4)]??0x0,_0x1bd4e4=_0x4bdef4['inputTokens']+_0x3c341b+_0x3527b0,_0x434fe4=JSON[_0x226bcb(0x117)](_0x4bdef4['profile']??null);!_0x510fd4[_0x226bcb(0xea)](_0x434fe4)&&(_0x510fd4['set'](_0x434fe4,await loadWorkModels(_0x4bdef4[_0x226bcb(0xf0)],_0x7d795&&_0x4bdef4[_0x226bcb(0xf0)]!==_0x3a0563)),_0x317e53[_0x226bcb(0xe8)][_0x434fe4]=pricingFingerprint(_0x510fd4[_0x226bcb(0xff)](_0x434fe4)??null));const _0x16c9be=workModelPricing(_0x510fd4['get'](_0x434fe4)??null,_0x4bdef4[_0x226bcb(0x109)],_0x1bd4e4),_0x179ccf=calculateTokenCost(_0x4bdef4[_0x226bcb(0x108)],_0x4bdef4[_0x226bcb(0xee)],_0x3c341b,_0x3527b0,_0x16c9be,_0x4bdef4['cacheCreation1hInputTokens']),_0x564960=usdToAiCredits(_0x179ccf);_0x3a6134+=_0x564960;const _0x255783=_0x4bdef4[_0x226bcb(0xfd)]||_0x226bcb(0xda);_0x2a6a67[_0x255783]=_0x1bd4e4;_0x4bdef4[_0x226bcb(0x103)]>_0xb7f223&&(_0xb7f223=_0x4bdef4[_0x226bcb(0x103)]);const _0xf5cb20=_0x4bdef4[_0x226bcb(0x103)]['slice'](0x0,0xa);!_0x317e53[_0x226bcb(0x11f)][_0xf5cb20]&&(_0x317e53['daily'][_0xf5cb20]={'totalCredits':0x0,'entryCount':0x0});_0x317e53[_0x226bcb(0x11f)][_0xf5cb20]['totalCredits']+=_0x564960,_0x317e53[_0x226bcb(0x11f)][_0xf5cb20]['entryCount']+=0x1;const _0x257a28=_0x4bdef4[_0x226bcb(0x103)][_0x226bcb(0xd7)](0x0,0x7);!_0x317e53[_0x226bcb(0xd5)][_0x257a28]&&(_0x317e53['monthly'][_0x257a28]={'totalCredits':0x0,'entryCount':0x0});_0x317e53['monthly'][_0x257a28]['totalCredits']+=_0x564960,_0x317e53[_0x226bcb(0xd5)][_0x257a28]['entryCount']+=0x1;const _0xd12ec8=_0x4bdef4['profile']||_0x226bcb(0xda);!_0x317e53[_0x226bcb(0x101)][_0xd12ec8]&&(_0x317e53[_0x226bcb(0x101)][_0xd12ec8]={'totalCredits':0x0,'entryCount':0x0,'lastUsedAt':'','todayCredits':0x0,'todayDate':_0x4b44c6,'monthCredits':0x0,'month':_0x13b2b1});_0x317e53['profiles'][_0xd12ec8][_0x226bcb(0xf8)]+=_0x564960,_0x317e53['profiles'][_0xd12ec8][_0x226bcb(0x11e)]+=0x1;_0x4bdef4[_0x226bcb(0x103)]>_0x317e53['profiles'][_0xd12ec8][_0x226bcb(0xf5)]&&(_0x317e53[_0x226bcb(0x101)][_0xd12ec8][_0x226bcb(0xf5)]=_0x4bdef4['timestamp']);_0xf5cb20===_0x4b44c6&&(_0x317e53[_0x226bcb(0x101)][_0xd12ec8][_0x226bcb(0x107)]+=_0x564960);_0x257a28===_0x13b2b1&&(_0x317e53['profiles'][_0xd12ec8][_0x226bcb(0x10c)]+=_0x564960);const _0x28e47f=_0x4bdef4[_0x226bcb(0xe5)]||'tdx-claude';!_0x317e53[_0x226bcb(0x104)][_0x28e47f]&&(_0x317e53[_0x226bcb(0x104)][_0x28e47f]={'totalCredits':0x0,'entryCount':0x0,'todayCredits':0x0,'todayDate':_0x4b44c6,'monthCredits':0x0,'month':_0x13b2b1}),_0x317e53[_0x226bcb(0x104)][_0x28e47f][_0x226bcb(0xf8)]+=_0x564960,_0x317e53[_0x226bcb(0x104)][_0x28e47f][_0x226bcb(0x11e)]+=0x1,_0xf5cb20===_0x4b44c6&&(_0x317e53[_0x226bcb(0x104)][_0x28e47f][_0x226bcb(0x107)]+=_0x564960),_0x257a28===_0x13b2b1&&(_0x317e53[_0x226bcb(0x104)][_0x28e47f][_0x226bcb(0x10c)]+=_0x564960);}_0x317e53[_0x226bcb(0xfa)][_0x3cece8]={'totalCredits':_0x3a6134,'latestContextTokensBySignature':_0x2a6a67,'createdAt':_0x1fa082[0x0]['timestamp'],'lastUpdatedAt':_0xb7f223};}catch(_0x1a9f0c){const _0x513748=await getLogger();_0x513748['warn']('Failed\x20to\x20process\x20session\x20'+_0x3cece8+':',_0x1a9f0c instanceof Error?_0x1a9f0c[_0x226bcb(0xd8)]:String(_0x1a9f0c));continue;}}return cleanupOldEntries(_0x317e53),await writeStatsCache(_0x317e53),_0x317e53;}function cleanupOldEntries(_0x573426){const _0x172065=a91_0x289b,_0x3ed68f=new Date(),_0x218dd0=new Date(_0x3ed68f[_0x172065(0xe9)]()-0x7*0x18*0x3c*0x3c*0x3e8);for(const _0x5d54b4 of Object[_0x172065(0xf6)](_0x573426['daily'])){new Date(_0x5d54b4)<_0x218dd0&&delete _0x573426[_0x172065(0x11f)][_0x5d54b4];}const _0x900dd6=new Date(_0x3ed68f[_0x172065(0xe1)]()-0x1,_0x3ed68f[_0x172065(0xef)](),0x1);for(const _0x1d9616 of Object['keys'](_0x573426[_0x172065(0xd5)])){const [_0x265434,_0x18a4bd]=_0x1d9616['split']('-')[_0x172065(0x100)](Number),_0x1f21f2=new Date(_0x265434,_0x18a4bd-0x1,0x1);_0x1f21f2<_0x900dd6&&delete _0x573426[_0x172065(0xd5)][_0x1d9616];}const _0x39d1fe=new Date(_0x3ed68f['getTime']()-0x1e*0x18*0x3c*0x3c*0x3e8);for(const [_0x35899c,_0x5ea48f]of Object[_0x172065(0x112)](_0x573426[_0x172065(0xfa)])){new Date(_0x5ea48f['lastUpdatedAt'])<_0x39d1fe&&delete _0x573426[_0x172065(0xfa)][_0x35899c];}}export async function getOrUpdateCache(_0x124113,_0x50e9e7){const _0x1f531d=a91_0x289b,_0x78d8d0=_0x124113?sanitizeSessionId(_0x124113):undefined,_0x3ec750=await readStatsCache();if(!_0x3ec750)return rebuildCache(_0x50e9e7,Boolean(_0x78d8d0));if(!_0x3ec750[_0x1f531d(0xe8)])return rebuildCache(_0x50e9e7,Boolean(_0x78d8d0));const _0x172c0d=await Promise[_0x1f531d(0x115)](Object[_0x1f531d(0x112)](_0x3ec750['pricingFingerprints'])[_0x1f531d(0x100)](async([_0x580780,_0x393695])=>{const _0x370e66=_0x1f531d,_0xe1b370=JSON[_0x370e66(0x10b)](_0x580780);return pricingFingerprint(await loadWorkModels(_0xe1b370??undefined,Boolean(_0x78d8d0)&&_0x580780!==JSON[_0x370e66(0x117)](_0x50e9e7??null)))===_0x393695;}));if(_0x172c0d[_0x1f531d(0x111)](_0x354742=>!_0x354742))return rebuildCache(_0x50e9e7,Boolean(_0x78d8d0));if(_0x78d8d0){const _0x149b98=await isCacheUpToDate(_0x3ec750,_0x78d8d0);if(!_0x149b98)return rebuildCache(_0x50e9e7,Boolean(_0x78d8d0));}return _0x3ec750;}export async function getSessionCredits(_0x105641){const _0x3297e2=a91_0x289b,_0x26b26c=sanitizeSessionId(_0x105641),_0x177bbd=await getOrUpdateCache(_0x26b26c),_0x3005d8=_0x177bbd[_0x3297e2(0xfa)][_0x26b26c];if(!_0x3005d8)return 0x0;return _0x3005d8['totalCredits'];}export async function getTodayCredits(){const _0xd40f59=a91_0x289b,_0x9a040a=await getOrUpdateCache(),_0x1014b8=new Date()['toISOString']()[_0xd40f59(0xd7)](0x0,0xa),_0x2013c9=_0x9a040a['daily'][_0x1014b8];if(!_0x2013c9)return 0x0;return _0x2013c9[_0xd40f59(0xf8)];}export async function getMonthCredits(){const _0x59544e=a91_0x289b,_0x257b2d=await getOrUpdateCache(),_0x5d87cd=new Date()[_0x59544e(0xd9)]()[_0x59544e(0xd7)](0x0,0x7),_0x439e1a=_0x257b2d['monthly'][_0x5d87cd];if(!_0x439e1a)return 0x0;return _0x439e1a[_0x59544e(0xf8)];}export async function getSessionStats(_0xcafe59){const _0x29172e=a91_0x289b,_0x1e8bf6=sanitizeSessionId(_0xcafe59),_0x106088=await getOrUpdateCache(_0x1e8bf6);return _0x106088[_0x29172e(0xfa)][_0x1e8bf6]||null;}function getMaxLatestContextTokens(_0x31ff08){const _0x3d7b90=Object['values'](_0x31ff08);if(_0x3d7b90['length']===0x0)return 0x0;return Math['max'](..._0x3d7b90);}export async function getUsageStats(_0x41813a,_0x9d51c8){const _0x34f58b=a91_0x289b,_0x3698d0=sanitizeSessionId(_0x41813a),_0x609cc=await getOrUpdateCache(_0x3698d0,_0x9d51c8),_0x44943c=_0x609cc[_0x34f58b(0xfa)][_0x3698d0],_0xe82282=new Date()[_0x34f58b(0xd9)]()[_0x34f58b(0xd7)](0x0,0xa),_0x415e8a=new Date()[_0x34f58b(0xd9)]()[_0x34f58b(0xd7)](0x0,0x7);if(_0x9d51c8){const _0x3c913c=_0x609cc[_0x34f58b(0x101)]?.[_0x9d51c8],_0xa31140=_0x3c913c?.[_0x34f58b(0x110)]===_0xe82282?_0x3c913c[_0x34f58b(0x107)]:0x0,_0x450d93=_0x3c913c?.[_0x34f58b(0xe6)]===_0x415e8a?_0x3c913c[_0x34f58b(0x10c)]:0x0;return{'sessionCredits':_0x44943c?_0x44943c[_0x34f58b(0xf8)]:0x0,'todayCredits':_0xa31140,'monthCredits':_0x450d93,'latestContextTokens':_0x44943c?getMaxLatestContextTokens(_0x44943c[_0x34f58b(0xd3)]):0x0};}return{'sessionCredits':_0x44943c?_0x44943c['totalCredits']:0x0,'todayCredits':_0x609cc[_0x34f58b(0x11f)][_0xe82282]?_0x609cc[_0x34f58b(0x11f)][_0xe82282]['totalCredits']:0x0,'monthCredits':_0x609cc[_0x34f58b(0xd5)][_0x415e8a]?_0x609cc[_0x34f58b(0xd5)][_0x415e8a][_0x34f58b(0xf8)]:0x0,'latestContextTokens':_0x44943c?getMaxLatestContextTokens(_0x44943c[_0x34f58b(0xd3)]):0x0};}export async function getAllProfileStats(){const _0x3334ea=a91_0x289b,_0x1fbe60=await getOrUpdateCache(),_0x418a56=_0x1fbe60[_0x3334ea(0x101)]||{},_0x526fe1=Object['entries'](_0x418a56)[_0x3334ea(0xf4)](([,_0x1de172])=>_0x1de172&&typeof _0x1de172===_0x3334ea(0x10e))[_0x3334ea(0x100)](([_0x3a4949,_0x59fb5c])=>({'profile':_0x3a4949,'credits':_0x59fb5c[_0x3334ea(0xf8)]||0x0,'entryCount':_0x59fb5c[_0x3334ea(0x11e)]||0x0,'lastUsedAt':_0x59fb5c[_0x3334ea(0xf5)]||''})),_0x38c91e=new Map();for(const _0x3b216f of _0x526fe1){const _0x2498b5=_0x3b216f['profile'][_0x3334ea(0xf7)](_0x3334ea(0xf2))?_0x3334ea(0xde):_0x3b216f[_0x3334ea(0xf0)],_0x3bec3b=_0x38c91e[_0x3334ea(0xff)](_0x2498b5)??{'profile':_0x2498b5,'credits':0x0,'entryCount':0x0,'lastUsedAt':''};_0x3bec3b[_0x3334ea(0xed)]+=_0x3b216f[_0x3334ea(0xed)],_0x3bec3b[_0x3334ea(0x11e)]+=_0x3b216f[_0x3334ea(0x11e)];if(_0x3b216f[_0x3334ea(0xf5)]>_0x3bec3b[_0x3334ea(0xf5)])_0x3bec3b['lastUsedAt']=_0x3b216f[_0x3334ea(0xf5)];_0x38c91e[_0x3334ea(0x116)](_0x2498b5,_0x3bec3b);}return[..._0x38c91e['values']()][_0x3334ea(0x11d)]((_0x1b7994,_0x4051b0)=>_0x4051b0[_0x3334ea(0xed)]-_0x1b7994[_0x3334ea(0xed)]);}export async function getAllSourceStats(){const _0x5cd881=a91_0x289b,_0x494031=await getOrUpdateCache(),_0x3509bd=_0x494031['sources']||{},_0xcd846f=new Date()[_0x5cd881(0xd9)]()['slice'](0x0,0xa),_0x1d9fb8=new Date()['toISOString']()[_0x5cd881(0xd7)](0x0,0x7),_0x117017=Object['entries'](_0x3509bd)[_0x5cd881(0xf4)](([,_0x1444fc])=>_0x1444fc&&typeof _0x1444fc===_0x5cd881(0x10e))['map'](([_0x116784,_0x58722a])=>({'source':_0x116784,'credits':_0x58722a['totalCredits']||0x0,'todayCredits':_0x58722a[_0x5cd881(0x110)]===_0xcd846f?_0x58722a['todayCredits']||0x0:0x0,'monthCredits':_0x58722a[_0x5cd881(0xe6)]===_0x1d9fb8?_0x58722a['monthCredits']||0x0:0x0,'entryCount':_0x58722a['entryCount']||0x0})),_0x3096f1=new Map();for(const _0x537e28 of _0x117017){const _0x4805f3=[_0x5cd881(0xfe),_0x5cd881(0xec),_0x5cd881(0xf1)]['includes'](_0x537e28[_0x5cd881(0xe5)])?_0x5cd881(0x106):_0x537e28['source'],_0x139523=_0x3096f1[_0x5cd881(0xff)](_0x4805f3)??{'source':_0x4805f3,'credits':0x0,'todayCredits':0x0,'monthCredits':0x0,'entryCount':0x0};_0x139523[_0x5cd881(0xed)]+=_0x537e28['credits'],_0x139523[_0x5cd881(0x107)]+=_0x537e28['todayCredits'],_0x139523[_0x5cd881(0x10c)]+=_0x537e28['monthCredits'],_0x139523[_0x5cd881(0x11e)]+=_0x537e28[_0x5cd881(0x11e)],_0x3096f1[_0x5cd881(0x116)](_0x4805f3,_0x139523);}return[..._0x3096f1[_0x5cd881(0x11a)]()][_0x5cd881(0x11d)]((_0x14fd1d,_0x3d6f4f)=>_0x3d6f4f['credits']-_0x14fd1d['credits']);}export async function getUsageSummary(){const _0x368d56=a91_0x289b,_0x383e4a=await getOrUpdateCache(),_0x2f539a=_0x383e4a[_0x368d56(0x101)]||{},_0x4504fd=new Date()[_0x368d56(0xd9)]()['slice'](0x0,0xa),_0x58324e=new Date()[_0x368d56(0xd9)]()[_0x368d56(0xd7)](0x0,0x7),_0x3cfbec=Object[_0x368d56(0x11a)](_0x2f539a)[_0x368d56(0xf4)](_0x318871=>_0x318871&&typeof _0x318871==='object'),_0x2fe629=_0x3cfbec[_0x368d56(0x119)]((_0x587ad8,_0x34b794)=>_0x587ad8+(_0x34b794['totalCredits']||0x0),0x0);return{'todayCredits':_0x383e4a[_0x368d56(0x11f)][_0x4504fd]?_0x383e4a[_0x368d56(0x11f)][_0x4504fd]['totalCredits']||0x0:0x0,'monthCredits':_0x383e4a['monthly'][_0x58324e]?_0x383e4a[_0x368d56(0xd5)][_0x58324e]['totalCredits']||0x0:0x0,'totalCredits':_0x2fe629,'profileCount':_0x3cfbec['length']};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-usage-tracker.js","sourceRoot":"","sources":["../../src/proxy/claude-usage-tracker.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"claude-usage-tracker.js","sourceRoot":"","sources":["../../src/proxy/claude-usage-tracker.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a94_0x2f4836=a94_0x16ce;(function(_0x4c10b7,_0x3fc86e){const _0x229aa5=a94_0x16ce,_0x4dda7d=_0x4c10b7();while(!![]){try{const _0x6cb402=parseInt(_0x229aa5(0x208))/0x1+-parseInt(_0x229aa5(0x263))/0x2+parseInt(_0x229aa5(0x262))/0x3*(parseInt(_0x229aa5(0x1e7))/0x4)+parseInt(_0x229aa5(0x1ff))/0x5+-parseInt(_0x229aa5(0x226))/0x6*(-parseInt(_0x229aa5(0x24b))/0x7)+parseInt(_0x229aa5(0x22b))/0x8*(-parseInt(_0x229aa5(0x249))/0x9)+-parseInt(_0x229aa5(0x23a))/0xa;if(_0x6cb402===_0x3fc86e)break;else _0x4dda7d['push'](_0x4dda7d['shift']());}catch(_0x454491){_0x4dda7d['push'](_0x4dda7d['shift']());}}}(a94_0x5c1e,0xce217));import a94_0x1371b4 from'fastify';import a94_0x40ede5 from'@fastify/cors';import{SSEUsageTracker}from'./sse-usage-parser.js';import{appendUsageEntry}from'./claude-usage-tracker.js';import{getClientHeaders}from'../core/auth.js';import{isExperimentalAvailable}from'../core/config.js';import{refreshAccessToken}from'../sdk/client/oauth-refresh.js';import{decideOAuthTokenAction}from'../sdk/auth-token.js';import{saveOAuthTokens}from'../core/oauth-keychain.js';import{createProxyFetch,maskProxyCredentials}from'../utils/proxy-fetch.js';const DEFAULT_TIMEOUT_MS=0x5*0x3c*0x3e8;export function buildTdxSystemPrompt(_0x5dc608,_0x2a8cd5){const _0x4c08ef=a94_0x16ce;return _0x4c08ef(0x24f)+_0x5dc608+_0x4c08ef(0x209)+_0x2a8cd5+_0x4c08ef(0x1eb)+(isExperimentalAvailable()?_0x4c08ef(0x1cd):'')+_0x4c08ef(0x1db);}const TDX_SYSTEM_PROMPT=buildTdxSystemPrompt(a94_0x2f4836(0x22c),a94_0x2f4836(0x23f));function parseIdentityUserId(_0x5ad0d7){const _0x19f57c=a94_0x2f4836;if(!_0x5ad0d7['trim']()['startsWith']('{'))return undefined;try{const _0x55acd6=JSON['parse'](_0x5ad0d7),_0x3ddb52=_0x214872=>typeof _0x214872===_0x19f57c(0x1fe)&&_0x214872[_0x19f57c(0x1e2)]>0x0?_0x214872:undefined;return{'sessionId':_0x3ddb52(_0x55acd6[_0x19f57c(0x234)]),'deviceId':_0x3ddb52(_0x55acd6[_0x19f57c(0x1ea)])};}catch{return undefined;}}export function extractSessionUUID(_0x151e37){const _0x1e5b2e=a94_0x2f4836,_0x207fe3=parseIdentityUserId(_0x151e37);if(_0x207fe3?.['sessionId'])return _0x207fe3[_0x1e5b2e(0x259)];const _0x11761b=_0x151e37['match'](/_session_([a-f0-9-]+)$/i);if(_0x11761b)return _0x11761b[0x1];return _0x151e37;}const USER_ID_DISALLOWED_CHARS=/[^a-zA-Z0-9_-]/g,USER_ID_MAX_LENGTH=0x100;function a94_0x16ce(_0x1fecbb,_0x2a897c){_0x1fecbb=_0x1fecbb-0x1c2;const _0x5c1ecc=a94_0x5c1e();let _0x16ce9f=_0x5c1ecc[_0x1fecbb];return _0x16ce9f;}function a94_0x5c1e(){const _0x4c274c=['haiku','transfer-encoding','getUsage','setupRoutes','url','refresh','9KnVmkF','5154yIWBnh','Authorization','[PASSTHROUGH]\x20','cache_creation','[PASSTHROUGH]\x20Stream\x20error:','[PASSTHROUGH]\x20Using\x20proxy:\x20','startTokenRefreshTimer','/v1/messages','setupJsonParser','refreshTimer','max_tokens','cacheCreation1hInputTokens','user_id','refreshTokenIfNeeded','logger','OPTIONS','127.0.0.1','setErrorHandler','timeout_error','status','then','getReader','expiresAt','|\x20Debug\x20agent\x20issues\x20|\x20tdx-skills:agent-debug\x20|\x0a','_boundPort','handleMessages','default','application/json','handleStreamingResponse',',\x20model=','proxyFetch','no-cache','slice','text','ephemeral_1h_input_tokens','cacheCreationInputTokens','proxyReady','|\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|','outputTokens','Server\x20has\x20not\x20been\x20started\x20yet','refresh_token','keep-alive','tdx','toLowerCase','length','stream',',\x20stream=','number','cache_read_input_tokens','2001540BZOGSc','send','startPort','device_id','\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','TimeoutError','raw',':\x20messages=','deviceId','Forwarding\x20to:\x20','\x20in\x20use,\x20trying\x20next...','parse','authorization','usageSource','setupMiddleware','messages','code','listen','client','[PASSTHROUGH]\x20Usage:\x20input=','statusText','register','cache_creation_input_tokens','string','6759005wRBPrz','body','No\x20available\x20port\x20found\x20between\x20','oauth','user-agent','unref','http://127.0.0.1:','host','end','1306246WjUxdr','`,\x20an\x20extension\x20of\x20','stop','method','system','port','replace','server','isArray','expires_at','x-td-','[PASSTHROUGH]\x20Failed\x20to\x20forward\x20count_tokens\x20request:','logUsage','Content-Type','addContentTypeParser','Unknown\x20error','error','debug','name','getAddress','[PASSTHROUGH]\x20Failed\x20to\x20log\x20usage:','model','entries','start','POST','handleCountTokens','[PASSTHROUGH]\x20Failed\x20to\x20forward\x20request:','write','inputTokens','test','18XBAAqi',',\x20cache_create=','EADDRINUSE','stringify','connection','3064cdKvuN','tdx\x20claude','consoleUrl','TD\x20LLM\x20Pass-through\x20Proxy\x20Server','timeout','SKIP_HEADERS','systemPrompt','proxy','tdx-claude','session_id','post','text/event-stream','decode','usage','x-api-key','40696580ZRtVrR','access_token','stream_error','get','type','Claude\x20Code','headers','event:\x20error\x0adata:\x20','unknown','message','buildForwardHeaders','Bearer\x20','accessToken','header','output_tokens','8289vXnuIA','createServer','2590203loSIGS','/v1/messages/count_tokens','Request\x20to\x20TD\x20LLM\x20Proxy\x20timed\x20out\x20after\x20','join','You\x20are\x20`','refreshToken','profile','writeHead','config','info','includes','api_error','Failed\x20to\x20connect\x20to\x20TD\x20LLM\x20Proxy:\x20','llmProxyUrl','sessionId','timeoutMs','getFetch'];a94_0x5c1e=function(){return _0x4c274c;};return a94_0x5c1e();}export function sanitizeUserId(_0x3322f9){const _0x1719e3=a94_0x2f4836;if(typeof _0x3322f9!=='string')return'default';const _0x1319b4=parseIdentityUserId(_0x3322f9),_0x139a99=_0x1319b4?.[_0x1719e3(0x259)]||_0x1319b4?.[_0x1719e3(0x1ef)]||_0x3322f9,_0xcdb4f7=_0x139a99[_0x1719e3(0x20e)](USER_ID_DISALLOWED_CHARS,'_')[_0x1719e3(0x1d6)](0x0,USER_ID_MAX_LENGTH);return/^_*$/[_0x1719e3(0x225)](_0xcdb4f7)?_0x1719e3(0x1d0):_0xcdb4f7;}export function injectSystemPrompt(_0x4338df,_0x444d06){const _0x488621=a94_0x2f4836,_0x29d35f=_0x4338df[_0x488621(0x20c)];if(!_0x29d35f)return{..._0x4338df,'system':_0x444d06};if(typeof _0x29d35f===_0x488621(0x1fe))return{..._0x4338df,'system':_0x29d35f+'\x0a\x0a'+_0x444d06};if(Array['isArray'](_0x29d35f)){const _0x49e8af={'type':_0x488621(0x1d7),'text':_0x444d06};return{..._0x4338df,'system':[..._0x29d35f,_0x49e8af]};}return _0x4338df;}export function shouldInjectSystemPrompt(_0x233e56){const _0x268659=a94_0x2f4836;return!_0x233e56[_0x268659(0x1e1)]()[_0x268659(0x255)](_0x268659(0x25c));}const MIN_REASONING_MAX_TOKENS=0x7d00;export function isOpenAIReasoningModel(_0x5557f8){const _0x123daa=a94_0x2f4836,_0x41b57a=_0x5557f8[_0x123daa(0x1e1)]();return/^gpt-5(\.\d+)?(-(mini|nano|pro))?(-\d{4}-\d{2}-\d{2})?$/[_0x123daa(0x225)](_0x41b57a);}export function padMaxTokensForReasoningModel(_0x151d40,_0x33a0a3){const _0x185e98=a94_0x2f4836;if(!isOpenAIReasoningModel(_0x33a0a3))return _0x151d40;const _0x2e9388=typeof _0x151d40[_0x185e98(0x26d)]===_0x185e98(0x1e5)?_0x151d40['max_tokens']:0x0;if(_0x2e9388>=MIN_REASONING_MAX_TOKENS)return _0x151d40;return{..._0x151d40,'max_tokens':MIN_REASONING_MAX_TOKENS};}export function requestsStream(_0x577fbc){const _0x15d64a=a94_0x2f4836;return _0x577fbc[_0x15d64a(0x1e3)]===!![];}const TOKEN_REFRESH_INTERVAL_MS=0x5*0x3c*0x3e8;export class PassThroughProxyServer{[a94_0x2f4836(0x20f)];['config'];[a94_0x2f4836(0x1c4)];[a94_0x2f4836(0x1ce)];[a94_0x2f4836(0x26c)];[a94_0x2f4836(0x1d4)];['proxyReady'];constructor(_0x4a98eb){const _0x417c57=a94_0x2f4836;this[_0x417c57(0x253)]=_0x4a98eb,this['logger']=_0x4a98eb[_0x417c57(0x1c4)],this[_0x417c57(0x20f)]=this[_0x417c57(0x24a)](),_0x4a98eb[_0x417c57(0x232)]&&(this['proxyReady']=createProxyFetch(_0x4a98eb[_0x417c57(0x232)])[_0x417c57(0x1ca)](_0x3fa22e=>{const _0x2a4f71=_0x417c57;this[_0x2a4f71(0x1d4)]=_0x3fa22e;}),this[_0x417c57(0x1c4)][_0x417c57(0x254)](_0x417c57(0x268)+maskProxyCredentials(_0x4a98eb['proxy'])));}async[a94_0x2f4836(0x25b)](){const _0x3d2f03=a94_0x2f4836;return this[_0x3d2f03(0x1da)]&&await this[_0x3d2f03(0x1da)],this[_0x3d2f03(0x1d4)]??fetch;}get[a94_0x2f4836(0x20d)](){const _0x3982f9=a94_0x2f4836;if(this['_boundPort']===undefined)throw new Error(_0x3982f9(0x1dd));return this[_0x3982f9(0x1ce)];}[a94_0x2f4836(0x24a)](){const _0x5ca882=a94_0x2f4836,_0x4ac57b=a94_0x1371b4({'logger':![],'bodyLimit':0x40*0x400*0x400});return this[_0x5ca882(0x20f)]=_0x4ac57b,this[_0x5ca882(0x26b)](),this[_0x5ca882(0x1f5)](),this[_0x5ca882(0x25f)](),_0x4ac57b;}[a94_0x2f4836(0x26b)](){const _0x11e6ff=a94_0x2f4836;this['server'][_0x11e6ff(0x216)](_0x11e6ff(0x1d1),{'parseAs':_0x11e6ff(0x1fe)},(_0x2b2d8d,_0x1804f5,_0x131321)=>{const _0x1649cf=_0x11e6ff;try{const _0xd1b525=JSON[_0x1649cf(0x1f2)](_0x1804f5);_0x131321(null,_0xd1b525);}catch(_0x194d34){_0x131321(_0x194d34,undefined);}});}[a94_0x2f4836(0x1f5)](){const _0x17e62d=a94_0x2f4836;this[_0x17e62d(0x20f)][_0x17e62d(0x1fc)](a94_0x40ede5,{'origin':!![],'methods':['GET',_0x17e62d(0x220),_0x17e62d(0x1c5)],'allowedHeaders':[_0x17e62d(0x215),_0x17e62d(0x264),'anthropic-version','x-api-key']}),this['server'][_0x17e62d(0x1c7)]((_0x211ab4,_0x1c55dc,_0x27a549)=>{const _0x8e2524=_0x17e62d,_0x55f06c=_0x211ab4 instanceof Error?_0x211ab4[_0x8e2524(0x243)]:_0x8e2524(0x217);this['logger'][_0x8e2524(0x218)]('[PASSTHROUGH\x20PROXY\x20ERROR]:',_0x211ab4),_0x27a549['code'](0x1f4)['send']({'type':_0x8e2524(0x218),'error':{'type':_0x8e2524(0x256),'message':_0x55f06c}});});}[a94_0x2f4836(0x25f)](){const _0x5283ca=a94_0x2f4836;this[_0x5283ca(0x20f)][_0x5283ca(0x23d)]('/health',async()=>{const _0x104775=_0x5283ca;return{'status':'ok','message':_0x104775(0x22e)};}),this[_0x5283ca(0x20f)]['post'](_0x5283ca(0x26a),async(_0x40501b,_0x45bcd2)=>{const _0x22246f=_0x5283ca;return this[_0x22246f(0x1cf)](_0x40501b,_0x45bcd2);}),this[_0x5283ca(0x20f)][_0x5283ca(0x235)](_0x5283ca(0x24c),async(_0x2f9b58,_0x3857dc)=>{const _0x59a776=_0x5283ca;return this[_0x59a776(0x221)](_0x2f9b58,_0x3857dc);});}static [a94_0x2f4836(0x230)]=new Set([a94_0x2f4836(0x206),a94_0x2f4836(0x22a),'content-length',a94_0x2f4836(0x25d),a94_0x2f4836(0x1f3),a94_0x2f4836(0x239),a94_0x2f4836(0x203)]);[a94_0x2f4836(0x244)](_0x59123b){const _0x4246e2=a94_0x2f4836,_0x861822={};for(const [_0x2ebec4,_0x7e5174]of Object[_0x4246e2(0x21e)](_0x59123b[_0x4246e2(0x240)])){const _0x58b76c=_0x2ebec4[_0x4246e2(0x1e1)]();if(PassThroughProxyServer[_0x4246e2(0x230)]['has'](_0x58b76c))continue;if(_0x58b76c['startsWith'](_0x4246e2(0x212)))continue;if(typeof _0x7e5174===_0x4246e2(0x1fe))_0x861822[_0x2ebec4]=_0x7e5174;else Array[_0x4246e2(0x210)](_0x7e5174)&&(_0x861822[_0x2ebec4]=_0x7e5174[_0x4246e2(0x24e)](',\x20'));}const {auth:_0x390dbf}=this[_0x4246e2(0x253)];return _0x861822['Authorization']=_0x390dbf[_0x4246e2(0x23e)]===_0x4246e2(0x202)?_0x4246e2(0x245)+_0x390dbf['accessToken']:'TD1\x20'+_0x390dbf['apiKey'],Object['assign'](_0x861822,getClientHeaders(this[_0x4246e2(0x253)][_0x4246e2(0x1f9)]??_0x4246e2(0x1e0))),_0x861822;}async[a94_0x2f4836(0x1cf)](_0x59101,_0x974d1b){const _0x267175=a94_0x2f4836,_0x3d839c=_0x59101[_0x267175(0x200)],_0x4ae013=requestsStream(_0x3d839c),_0xc218b3=_0x3d839c['metadata'],_0x2a3f5f=typeof _0xc218b3?.[_0x267175(0x1c2)]==='string'?_0xc218b3['user_id']:undefined,_0x55065e=_0x2a3f5f?extractSessionUUID(_0x2a3f5f):_0x267175(0x1d0),_0x4dc07a=_0x3d839c[_0x267175(0x21d)]||_0x267175(0x242),_0x5a7aff=_0xc218b3&&_0x2a3f5f!==undefined?{..._0x3d839c,'metadata':{..._0xc218b3,'user_id':sanitizeUserId(_0x2a3f5f)}}:_0x3d839c,_0x91546b=this['config']['systemPrompt']||TDX_SYSTEM_PROMPT,_0x13db02=shouldInjectSystemPrompt(_0x4dc07a)?injectSystemPrompt(_0x5a7aff,_0x91546b):_0x5a7aff,_0x245107=padMaxTokensForReasoningModel(_0x13db02,_0x4dc07a),_0x52147b=JSON[_0x267175(0x229)](_0x245107),_0x596204=Array[_0x267175(0x210)](_0x3d839c[_0x267175(0x1f6)])?_0x3d839c['messages']['length']:0x0;this[_0x267175(0x1c4)][_0x267175(0x254)](_0x267175(0x265)+_0x59101[_0x267175(0x20b)]+'\x20'+_0x59101[_0x267175(0x260)]+_0x267175(0x1ee)+_0x596204+_0x267175(0x1d3)+_0x4dc07a+_0x267175(0x1e4)+_0x4ae013);const _0x4d326f=_0x59101[_0x267175(0x260)]['includes']('?')?_0x59101[_0x267175(0x260)][_0x267175(0x1d6)](_0x59101[_0x267175(0x260)]['indexOf']('?')):'',_0xde9006=this[_0x267175(0x253)][_0x267175(0x258)]+_0x267175(0x26a)+_0x4d326f,_0x4b87d7=this[_0x267175(0x244)](_0x59101);this['logger'][_0x267175(0x219)](_0x267175(0x1f0)+_0xde9006);const _0x141eac=this[_0x267175(0x253)][_0x267175(0x25a)]||DEFAULT_TIMEOUT_MS;try{const _0x5d46a3=await this[_0x267175(0x25b)](),_0x1fd458=await _0x5d46a3(_0xde9006,{'method':'POST','headers':_0x4b87d7,'body':_0x52147b,'signal':AbortSignal[_0x267175(0x22f)](_0x141eac)});if(!_0x1fd458['ok']){const _0xecbb9a=await _0x1fd458['text']();return this[_0x267175(0x1c4)]['error']('[PASSTHROUGH]\x20Upstream\x20error:\x20'+_0x1fd458[_0x267175(0x1c9)]+'\x20'+_0x1fd458[_0x267175(0x1fb)]),this[_0x267175(0x1c4)][_0x267175(0x219)]('Error\x20body:\x20'+_0xecbb9a),_0x974d1b[_0x267175(0x1f7)](_0x1fd458[_0x267175(0x1c9)]),_0x974d1b[_0x267175(0x247)](_0x267175(0x215),_0x1fd458[_0x267175(0x240)][_0x267175(0x23d)](_0x267175(0x215))||'application/json'),_0x974d1b[_0x267175(0x1e8)](_0xecbb9a);}if(_0x4ae013&&_0x1fd458[_0x267175(0x200)])await this[_0x267175(0x1d2)](_0x1fd458['body'],_0x974d1b,_0x55065e,_0x4dc07a);else{const _0x5dcca0=await _0x1fd458[_0x267175(0x1d7)]();_0x974d1b[_0x267175(0x247)](_0x267175(0x215),_0x1fd458[_0x267175(0x240)][_0x267175(0x23d)]('Content-Type')||'application/json');try{const _0x4b1cfe=JSON[_0x267175(0x1f2)](_0x5dcca0);_0x4b1cfe[_0x267175(0x238)]&&await this[_0x267175(0x214)](_0x55065e,_0x4dc07a,_0x4b1cfe[_0x267175(0x238)]['input_tokens']||0x0,_0x4b1cfe[_0x267175(0x238)][_0x267175(0x248)]||0x0,_0x4b1cfe[_0x267175(0x238)][_0x267175(0x1fd)],_0x4b1cfe[_0x267175(0x238)][_0x267175(0x1e6)],_0x4b1cfe[_0x267175(0x238)][_0x267175(0x266)]?.[_0x267175(0x1d8)]);}catch{}return _0x974d1b[_0x267175(0x1e8)](_0x5dcca0);}}catch(_0x4c1f9d){const _0x36b094=_0x4c1f9d instanceof Error?_0x4c1f9d[_0x267175(0x243)]:_0x267175(0x217),_0x2820f6=_0x4c1f9d instanceof Error&&_0x4c1f9d['name']===_0x267175(0x1ec);this[_0x267175(0x1c4)][_0x267175(0x218)](_0x267175(0x222),_0x4c1f9d),_0x974d1b[_0x267175(0x1f7)](_0x2820f6?0x1f8:0x1f7)[_0x267175(0x1e8)]({'type':_0x267175(0x218),'error':{'type':_0x2820f6?_0x267175(0x1c8):'api_error','message':_0x2820f6?'Request\x20to\x20TD\x20LLM\x20Proxy\x20timed\x20out\x20after\x20'+_0x141eac+'ms':_0x267175(0x257)+_0x36b094}});}}async[a94_0x2f4836(0x1d2)](_0x2ae355,_0x21b2e6,_0xaf5137,_0x545557){const _0xdfbfd8=a94_0x2f4836;_0x21b2e6[_0xdfbfd8(0x1ed)][_0xdfbfd8(0x252)](0xc8,{'Content-Type':_0xdfbfd8(0x236),'Cache-Control':_0xdfbfd8(0x1d5),'Connection':_0xdfbfd8(0x1df)});const _0x55eefb=new SSEUsageTracker(),_0x52b000=_0x2ae355[_0xdfbfd8(0x1cb)](),_0x5e8d11=new TextDecoder();try{while(!![]){const {done:_0x24f62f,value:_0x47c679}=await _0x52b000['read']();if(_0x24f62f)break;const _0x48ead3=_0x5e8d11[_0xdfbfd8(0x237)](_0x47c679,{'stream':!![]});_0x55eefb['processChunk'](_0x48ead3),_0x21b2e6[_0xdfbfd8(0x1ed)][_0xdfbfd8(0x223)](_0x48ead3);}_0x55eefb['flush']();const _0x1041a4=_0x55eefb[_0xdfbfd8(0x25e)]();(_0x1041a4[_0xdfbfd8(0x224)]>0x0||_0x1041a4[_0xdfbfd8(0x1dc)]>0x0)&&await this[_0xdfbfd8(0x214)](_0xaf5137,_0x545557,_0x1041a4[_0xdfbfd8(0x224)],_0x1041a4[_0xdfbfd8(0x1dc)],_0x1041a4[_0xdfbfd8(0x1d9)],_0x1041a4['cacheReadInputTokens'],_0x1041a4[_0xdfbfd8(0x26e)]);}catch(_0x87d7d5){this['logger'][_0xdfbfd8(0x218)](_0xdfbfd8(0x267),_0x87d7d5);const _0x1b3e11=_0xdfbfd8(0x241)+JSON['stringify']({'type':_0xdfbfd8(0x218),'error':{'type':_0xdfbfd8(0x23c),'message':'Stream\x20interrupted'}})+'\x0a\x0a';_0x21b2e6[_0xdfbfd8(0x1ed)][_0xdfbfd8(0x223)](_0x1b3e11);}finally{_0x21b2e6[_0xdfbfd8(0x1ed)][_0xdfbfd8(0x207)]();}}async[a94_0x2f4836(0x221)](_0x54b208,_0x29b75b){const _0xc9b5aa=a94_0x2f4836,_0x492af8=_0x54b208[_0xc9b5aa(0x200)],_0x2fdff6=_0x54b208[_0xc9b5aa(0x260)][_0xc9b5aa(0x255)]('?')?_0x54b208[_0xc9b5aa(0x260)][_0xc9b5aa(0x1d6)](_0x54b208[_0xc9b5aa(0x260)]['indexOf']('?')):'',_0x329f4a=this[_0xc9b5aa(0x253)][_0xc9b5aa(0x258)]+_0xc9b5aa(0x24c)+_0x2fdff6,_0x26800a=this['buildForwardHeaders'](_0x54b208),_0x415e15=_0x492af8[_0xc9b5aa(0x21d)]||_0xc9b5aa(0x242),_0x2c468d=this['config'][_0xc9b5aa(0x231)]||TDX_SYSTEM_PROMPT,_0x2629d2=shouldInjectSystemPrompt(_0x415e15)?injectSystemPrompt(_0x492af8,_0x2c468d):_0x492af8,_0x3f9948=JSON[_0xc9b5aa(0x229)](_0x2629d2);this[_0xc9b5aa(0x1c4)][_0xc9b5aa(0x219)]('[PASSTHROUGH]\x20Forwarding\x20count_tokens\x20to:\x20'+_0x329f4a);const _0x511f3e=this[_0xc9b5aa(0x253)][_0xc9b5aa(0x25a)]||DEFAULT_TIMEOUT_MS;try{const _0x5a9d38=await this['getFetch'](),_0x3a2d9f=await _0x5a9d38(_0x329f4a,{'method':_0xc9b5aa(0x220),'headers':_0x26800a,'body':_0x3f9948,'signal':AbortSignal[_0xc9b5aa(0x22f)](_0x511f3e)}),_0x5f095b=await _0x3a2d9f[_0xc9b5aa(0x1d7)]();return _0x29b75b[_0xc9b5aa(0x1f7)](_0x3a2d9f[_0xc9b5aa(0x1c9)]),_0x29b75b[_0xc9b5aa(0x247)](_0xc9b5aa(0x215),_0x3a2d9f[_0xc9b5aa(0x240)][_0xc9b5aa(0x23d)](_0xc9b5aa(0x215))||_0xc9b5aa(0x1d1)),_0x29b75b[_0xc9b5aa(0x1e8)](_0x5f095b);}catch(_0x37a1be){const _0x390b1c=_0x37a1be instanceof Error?_0x37a1be[_0xc9b5aa(0x243)]:_0xc9b5aa(0x217),_0x4fe528=_0x37a1be instanceof Error&&_0x37a1be[_0xc9b5aa(0x21a)]===_0xc9b5aa(0x1ec);this[_0xc9b5aa(0x1c4)][_0xc9b5aa(0x218)](_0xc9b5aa(0x213),_0x37a1be),_0x29b75b[_0xc9b5aa(0x1f7)](_0x4fe528?0x1f8:0x1f7)[_0xc9b5aa(0x1e8)]({'type':_0xc9b5aa(0x218),'error':{'type':_0x4fe528?_0xc9b5aa(0x1c8):_0xc9b5aa(0x256),'message':_0x4fe528?_0xc9b5aa(0x24d)+_0x511f3e+'ms':_0xc9b5aa(0x257)+_0x390b1c}});}}async[a94_0x2f4836(0x214)](_0x5d983a,_0x3b18ed,_0x5eab09,_0xf1e87,_0x392a9a,_0x433cf7,_0x4e8dda){const _0x245193=a94_0x2f4836,_0xbc76fa={'timestamp':new Date()['toISOString'](),'model':_0x3b18ed,'inputTokens':_0x5eab09,'outputTokens':_0xf1e87,'cacheCreationInputTokens':_0x392a9a,'cacheReadInputTokens':_0x433cf7,'cacheCreation1hInputTokens':_0x4e8dda,'profile':this[_0x245193(0x253)][_0x245193(0x251)],'source':this[_0x245193(0x253)][_0x245193(0x1f4)]??_0x245193(0x233)},_0x3e620d=_0x392a9a||_0x433cf7?_0x245193(0x227)+(_0x392a9a||0x0)+',\x20cache_read='+(_0x433cf7||0x0):'';this['logger'][_0x245193(0x219)](_0x245193(0x1fa)+_0x5eab09+',\x20output='+_0xf1e87+_0x3e620d+_0x245193(0x1d3)+_0x3b18ed);try{await appendUsageEntry(_0x5d983a,_0xbc76fa);}catch(_0x6ab812){this[_0x245193(0x1c4)][_0x245193(0x218)](_0x245193(0x21c),_0x6ab812);}}[a94_0x2f4836(0x269)](){const _0x4e5b03=a94_0x2f4836;if(this['config']['auth'][_0x4e5b03(0x23e)]!==_0x4e5b03(0x202))return;this['refreshTimer']=setInterval(()=>{const _0x2b4c57=_0x4e5b03;void this[_0x2b4c57(0x1c3)]();},TOKEN_REFRESH_INTERVAL_MS),this[_0x4e5b03(0x26c)][_0x4e5b03(0x204)]();}async[a94_0x2f4836(0x1c3)](){const _0x3dfe16=a94_0x2f4836,{auth:_0x395db9}=this[_0x3dfe16(0x253)];if(_0x395db9[_0x3dfe16(0x23e)]!=='oauth')return;const _0x12b244=decideOAuthTokenAction({'access_token':_0x395db9[_0x3dfe16(0x246)],'refresh_token':_0x395db9['refreshToken'],'expires_at':_0x395db9[_0x3dfe16(0x1cc)]});if(_0x12b244['type']!==_0x3dfe16(0x261))return;try{const _0x7451dc=await refreshAccessToken(_0x395db9[_0x3dfe16(0x22d)],_0x12b244[_0x3dfe16(0x1de)],{'proxy':this[_0x3dfe16(0x253)][_0x3dfe16(0x232)]});_0x395db9[_0x3dfe16(0x246)]=_0x7451dc[_0x3dfe16(0x23b)],_0x395db9[_0x3dfe16(0x250)]=_0x7451dc['refresh_token'],_0x395db9[_0x3dfe16(0x1cc)]=_0x7451dc[_0x3dfe16(0x211)],await saveOAuthTokens(_0x7451dc,this[_0x3dfe16(0x253)][_0x3dfe16(0x251)]),this[_0x3dfe16(0x1c4)][_0x3dfe16(0x254)]('[PASSTHROUGH]\x20OAuth\x20token\x20refreshed\x20successfully');}catch(_0x2c2bfb){this[_0x3dfe16(0x1c4)][_0x3dfe16(0x218)]('[PASSTHROUGH]\x20OAuth\x20token\x20refresh\x20failed:',_0x2c2bfb);}}async[a94_0x2f4836(0x21f)](){const _0x3a25bd=a94_0x2f4836,_0x3700c3=this['config']['maxPortAttempts']??0x64;for(let _0x53b31f=0x0;_0x53b31f<_0x3700c3;_0x53b31f++){const _0x5332f0=this[_0x3a25bd(0x253)]['startPort']+_0x53b31f;try{await this['server'][_0x3a25bd(0x1f8)]({'port':_0x5332f0,'host':_0x3a25bd(0x1c6)}),this[_0x3a25bd(0x1ce)]=_0x5332f0,this[_0x3a25bd(0x1c4)]['info']('Pass-through\x20proxy\x20server\x20started\x20on\x20port\x20'+_0x5332f0),this[_0x3a25bd(0x1c4)]['info'](_0x3a25bd(0x1f0)+this[_0x3a25bd(0x253)][_0x3a25bd(0x258)]),this['startTokenRefreshTimer']();return;}catch(_0x1f2a6c){const _0x4d6b40=_0x1f2a6c instanceof Error&&_0x3a25bd(0x1f7)in _0x1f2a6c&&_0x1f2a6c['code']===_0x3a25bd(0x228);if(!_0x4d6b40)throw _0x1f2a6c;this['logger'][_0x3a25bd(0x219)]('Port\x20'+_0x5332f0+_0x3a25bd(0x1f1)),this[_0x3a25bd(0x24a)]();}}const _0x4a952d=this[_0x3a25bd(0x253)][_0x3a25bd(0x1e9)]+_0x3700c3-0x1;throw new Error(_0x3a25bd(0x201)+this['config'][_0x3a25bd(0x1e9)]+'\x20and\x20'+_0x4a952d);}async[a94_0x2f4836(0x20a)](){const _0x58393e=a94_0x2f4836;this[_0x58393e(0x26c)]&&(clearInterval(this['refreshTimer']),this['refreshTimer']=undefined),await this[_0x58393e(0x20f)]['close'](),this['logger'][_0x58393e(0x254)]('Pass-through\x20proxy\x20server\x20stopped');}[a94_0x2f4836(0x21b)](){const _0x424042=a94_0x2f4836;return _0x424042(0x205)+this[_0x424042(0x20d)];}}
|
|
1
|
+
const a92_0x152e32=a92_0x2e60;function a92_0x2e60(_0x160599,_0x12c82d){_0x160599=_0x160599-0x93;const _0x28e324=a92_0x28e3();let _0x2e604e=_0x28e324[_0x160599];return _0x2e604e;}function a92_0x28e3(){const _0x5a0913=['haiku','text/event-stream','connection',',\x20output=','timeout','parse','handleMessages','transfer-encoding','consoleUrl','slice','refreshTimer','861aIdqAS',',\x20stream=','anthropic-version','flush','entries','header','127.0.0.1','70NmIifz','_boundPort','addContentTypeParser','indexOf','|\x20Debug\x20agent\x20issues\x20|\x20tdx-skills:agent-debug\x20|\x0a','assign','refreshToken','metadata','name',',\x20cache_read=','max_tokens','cacheCreationInputTokens','start',':\x20messages=','input_tokens','Port\x20','580108dEJcFe','[PASSTHROUGH]\x20Usage:\x20input=','authorization','string','/v1/messages/count_tokens','unknown','proxyReady','raw','getReader','handleStreamingResponse','cache_read_input_tokens','startTokenRefreshTimer','[PASSTHROUGH]\x20Stream\x20error:','/health','1433989bpOGyE','ephemeral_1h_input_tokens','headers','outputTokens','system','application/json','logger','user_id','url','debug','cache_creation_input_tokens','[PASSTHROUGH]\x20OAuth\x20token\x20refreshed\x20successfully','7020762yReeeB','setupRoutes','write','Failed\x20to\x20connect\x20to\x20TD\x20LLM\x20Proxy:\x20','Server\x20has\x20not\x20been\x20started\x20yet','port','startPort','replace','Bearer\x20','refresh','keep-alive','getUsage','error','Unknown\x20error','OPTIONS','messages','listen','no-cache','session_id','host','getAddress','stringify','/v1/messages','type','createServer','4812320jVBqxR','[PASSTHROUGH]\x20OAuth\x20token\x20refresh\x20failed:','info','client','deviceId','inputTokens','cacheCreation1hInputTokens','profile','oauth','logUsage','then','message','timeoutMs','tdx','api_error',',\x20cache_create=','toLowerCase','proxy','body','text','sessionId','llmProxyUrl','access_token','close','stream_error','server','[PASSTHROUGH]\x20Failed\x20to\x20forward\x20count_tokens\x20request:','[PASSTHROUGH]\x20','apiKey','POST','\x20and\x20','39WCbEXv','Pass-through\x20proxy\x20server\x20stopped','\x20in\x20use,\x20trying\x20next...','status','Forwarding\x20to:\x20','`,\x20an\x20extension\x20of\x20','auth','send','buildForwardHeaders','accessToken','post','Content-Type','handleCountTokens','TD\x20LLM\x20Pass-through\x20Proxy\x20Server','getFetch','831281rAaqMi','stop','refreshTokenIfNeeded','setupMiddleware','device_id','config','get','109912eemjaG','expiresAt','end','decode','code','event:\x20error\x0adata:\x20','tdx\x20claude','12190806rifXTG','[PASSTHROUGH]\x20Using\x20proxy:\x20','includes','join','setupJsonParser','SKIP_HEADERS','test','expires_at','systemPrompt','default','cacheReadInputTokens','Authorization','unref','Request\x20to\x20TD\x20LLM\x20Proxy\x20timed\x20out\x20after\x20','method','read','[PASSTHROUGH]\x20Upstream\x20error:\x20','user-agent','No\x20available\x20port\x20found\x20between\x20','isArray','timeout_error','register','proxyFetch','usage','TimeoutError','x-api-key','You\x20are\x20`','Stream\x20interrupted',',\x20model=','2CBYEim','startsWith','refresh_token'];a92_0x28e3=function(){return _0x5a0913;};return a92_0x28e3();}(function(_0x38414f,_0x559856){const _0x508079=a92_0x2e60,_0x22928a=_0x38414f();while(!![]){try{const _0x2caefd=-parseInt(_0x508079(0x10e))/0x1*(-parseInt(_0x508079(0xdb))/0x2)+parseInt(_0x508079(0xa1))/0x3*(-parseInt(_0x508079(0x100))/0x4)+-parseInt(_0x508079(0x133))/0x5+-parseInt(_0x508079(0x11a))/0x6+-parseInt(_0x508079(0xe9))/0x7*(-parseInt(_0x508079(0xb7))/0x8)+parseInt(_0x508079(0xbe))/0x9+parseInt(_0x508079(0xf0))/0xa*(parseInt(_0x508079(0xb0))/0xb);if(_0x2caefd===_0x559856)break;else _0x22928a['push'](_0x22928a['shift']());}catch(_0x4fd0ec){_0x22928a['push'](_0x22928a['shift']());}}}(a92_0x28e3,0xf1923));import a92_0x2f7678 from'fastify';import a92_0x132306 from'@fastify/cors';import{SSEUsageTracker}from'./sse-usage-parser.js';import{appendUsageEntry}from'./claude-usage-tracker.js';import{getClientHeaders}from'../core/auth.js';import{isExperimentalAvailable}from'../core/config.js';import{refreshAccessToken}from'../sdk/client/oauth-refresh.js';import{decideOAuthTokenAction}from'../sdk/auth-token.js';import{saveOAuthTokens}from'../core/oauth-keychain.js';import{createProxyFetch,maskProxyCredentials}from'../utils/proxy-fetch.js';const DEFAULT_TIMEOUT_MS=0x5*0x3c*0x3e8;export function buildTdxSystemPrompt(_0x583d6d,_0x22a63a){const _0x1ff268=a92_0x2e60;return _0x1ff268(0xd8)+_0x583d6d+_0x1ff268(0xa6)+_0x22a63a+'\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()?_0x1ff268(0xf4):'')+'|\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|';}const TDX_SYSTEM_PROMPT=buildTdxSystemPrompt(a92_0x152e32(0xbd),'Claude\x20Code');function parseIdentityUserId(_0x3b9cb3){const _0x2be050=a92_0x152e32;if(!_0x3b9cb3['trim']()['startsWith']('{'))return undefined;try{const _0x59d3bd=JSON[_0x2be050(0xe3)](_0x3b9cb3),_0x1623f1=_0x48eef1=>typeof _0x48eef1===_0x2be050(0x103)&&_0x48eef1['length']>0x0?_0x48eef1:undefined;return{'sessionId':_0x1623f1(_0x59d3bd[_0x2be050(0x12c)]),'deviceId':_0x1623f1(_0x59d3bd[_0x2be050(0xb4)])};}catch{return undefined;}}export function extractSessionUUID(_0x2ceb06){const _0x3cf654=a92_0x152e32,_0x5ac534=parseIdentityUserId(_0x2ceb06);if(_0x5ac534?.[_0x3cf654(0x96)])return _0x5ac534['sessionId'];const _0x28aea6=_0x2ceb06['match'](/_session_([a-f0-9-]+)$/i);if(_0x28aea6)return _0x28aea6[0x1];return _0x2ceb06;}const USER_ID_DISALLOWED_CHARS=/[^a-zA-Z0-9_-]/g,USER_ID_MAX_LENGTH=0x100;export function sanitizeUserId(_0x370fd2){const _0x293c27=a92_0x152e32;if(typeof _0x370fd2!==_0x293c27(0x103))return'default';const _0x56771a=parseIdentityUserId(_0x370fd2),_0x378533=_0x56771a?.[_0x293c27(0x96)]||_0x56771a?.[_0x293c27(0x137)]||_0x370fd2,_0x3f17ee=_0x378533[_0x293c27(0x121)](USER_ID_DISALLOWED_CHARS,'_')[_0x293c27(0xe7)](0x0,USER_ID_MAX_LENGTH);return/^_*$/[_0x293c27(0xc4)](_0x3f17ee)?_0x293c27(0xc7):_0x3f17ee;}export function injectSystemPrompt(_0x54ad11,_0x2227c2){const _0x351d05=a92_0x152e32,_0x534da5=_0x54ad11[_0x351d05(0x112)];if(!_0x534da5)return{..._0x54ad11,'system':_0x2227c2};if(typeof _0x534da5===_0x351d05(0x103))return{..._0x54ad11,'system':_0x534da5+'\x0a\x0a'+_0x2227c2};if(Array[_0x351d05(0xd1)](_0x534da5)){const _0xf5e48c={'type':'text','text':_0x2227c2};return{..._0x54ad11,'system':[..._0x534da5,_0xf5e48c]};}return _0x54ad11;}export function shouldInjectSystemPrompt(_0x5efef1){const _0x44f9b1=a92_0x152e32;return!_0x5efef1['toLowerCase']()[_0x44f9b1(0xc0)](_0x44f9b1(0xde));}const MIN_REASONING_MAX_TOKENS=0x7d00;export function isOpenAIReasoningModel(_0x394bdf){const _0x48ced0=a92_0x152e32,_0x157ccc=_0x394bdf[_0x48ced0(0x143)]();return/^gpt-5(\.\d+)?(-(mini|nano|pro))?(-\d{4}-\d{2}-\d{2})?$/['test'](_0x157ccc);}export function padMaxTokensForReasoningModel(_0x256e39,_0x2ed0cf){const _0x4a3683=a92_0x152e32;if(!isOpenAIReasoningModel(_0x2ed0cf))return _0x256e39;const _0x900f0=typeof _0x256e39[_0x4a3683(0xfa)]==='number'?_0x256e39[_0x4a3683(0xfa)]:0x0;if(_0x900f0>=MIN_REASONING_MAX_TOKENS)return _0x256e39;return{..._0x256e39,'max_tokens':MIN_REASONING_MAX_TOKENS};}export function requestsStream(_0x1ef3ff){return _0x1ef3ff['stream']===!![];}const TOKEN_REFRESH_INTERVAL_MS=0x5*0x3c*0x3e8;export class PassThroughProxyServer{[a92_0x152e32(0x9b)];['config'];[a92_0x152e32(0x114)];[a92_0x152e32(0xf1)];['refreshTimer'];[a92_0x152e32(0xd4)];[a92_0x152e32(0x106)];constructor(_0x19c6ee){const _0x4c59f1=a92_0x152e32;this['config']=_0x19c6ee,this['logger']=_0x19c6ee[_0x4c59f1(0x114)],this[_0x4c59f1(0x9b)]=this[_0x4c59f1(0x132)](),_0x19c6ee[_0x4c59f1(0x93)]&&(this[_0x4c59f1(0x106)]=createProxyFetch(_0x19c6ee[_0x4c59f1(0x93)])[_0x4c59f1(0x13d)](_0x25745a=>{const _0x580568=_0x4c59f1;this[_0x580568(0xd4)]=_0x25745a;}),this[_0x4c59f1(0x114)][_0x4c59f1(0x135)](_0x4c59f1(0xbf)+maskProxyCredentials(_0x19c6ee['proxy'])));}async['getFetch'](){const _0x5b8975=a92_0x152e32;return this[_0x5b8975(0x106)]&&await this['proxyReady'],this[_0x5b8975(0xd4)]??fetch;}get[a92_0x152e32(0x11f)](){const _0x3d0686=a92_0x152e32;if(this[_0x3d0686(0xf1)]===undefined)throw new Error(_0x3d0686(0x11e));return this['_boundPort'];}[a92_0x152e32(0x132)](){const _0x16705e=a92_0x152e32,_0x4e899b=a92_0x2f7678({'logger':![],'bodyLimit':0x40*0x400*0x400});return this[_0x16705e(0x9b)]=_0x4e899b,this[_0x16705e(0xc2)](),this[_0x16705e(0xb3)](),this['setupRoutes'](),_0x4e899b;}[a92_0x152e32(0xc2)](){const _0x46bc0b=a92_0x152e32;this[_0x46bc0b(0x9b)][_0x46bc0b(0xf2)](_0x46bc0b(0x113),{'parseAs':'string'},(_0x5340aa,_0x3ab49f,_0x1f05f1)=>{const _0x5caade=_0x46bc0b;try{const _0x44bce5=JSON[_0x5caade(0xe3)](_0x3ab49f);_0x1f05f1(null,_0x44bce5);}catch(_0x16458b){_0x1f05f1(_0x16458b,undefined);}});}[a92_0x152e32(0xb3)](){const _0xea4207=a92_0x152e32;this['server'][_0xea4207(0xd3)](a92_0x132306,{'origin':!![],'methods':['GET',_0xea4207(0x9f),_0xea4207(0x128)],'allowedHeaders':[_0xea4207(0xac),_0xea4207(0xc9),_0xea4207(0xeb),_0xea4207(0xd7)]}),this['server']['setErrorHandler']((_0x9150b3,_0x526e5a,_0x550e46)=>{const _0x3eb008=_0xea4207,_0x2d70c2=_0x9150b3 instanceof Error?_0x9150b3[_0x3eb008(0x13e)]:_0x3eb008(0x127);this[_0x3eb008(0x114)]['error']('[PASSTHROUGH\x20PROXY\x20ERROR]:',_0x9150b3),_0x550e46[_0x3eb008(0xbb)](0x1f4)['send']({'type':_0x3eb008(0x126),'error':{'type':_0x3eb008(0x141),'message':_0x2d70c2}});});}[a92_0x152e32(0x11b)](){const _0x172f2a=a92_0x152e32;this[_0x172f2a(0x9b)][_0x172f2a(0xb6)](_0x172f2a(0x10d),async()=>{const _0x195d6a=_0x172f2a;return{'status':'ok','message':_0x195d6a(0xae)};}),this[_0x172f2a(0x9b)][_0x172f2a(0xab)](_0x172f2a(0x130),async(_0x566dfb,_0x37ff2d)=>{const _0x1a08ef=_0x172f2a;return this[_0x1a08ef(0xe4)](_0x566dfb,_0x37ff2d);}),this[_0x172f2a(0x9b)]['post'](_0x172f2a(0x104),async(_0x35fdb8,_0x58223a)=>{return this['handleCountTokens'](_0x35fdb8,_0x58223a);});}static ['SKIP_HEADERS']=new Set([a92_0x152e32(0x12d),a92_0x152e32(0xe0),'content-length',a92_0x152e32(0xe5),a92_0x152e32(0x102),a92_0x152e32(0xd7),a92_0x152e32(0xcf)]);[a92_0x152e32(0xa9)](_0x5baff5){const _0x5bada3=a92_0x152e32,_0xd6165a={};for(const [_0x4bb562,_0x587ccf]of Object[_0x5bada3(0xed)](_0x5baff5[_0x5bada3(0x110)])){const _0x148721=_0x4bb562['toLowerCase']();if(PassThroughProxyServer[_0x5bada3(0xc3)]['has'](_0x148721))continue;if(_0x148721[_0x5bada3(0xdc)]('x-td-'))continue;if(typeof _0x587ccf==='string')_0xd6165a[_0x4bb562]=_0x587ccf;else Array[_0x5bada3(0xd1)](_0x587ccf)&&(_0xd6165a[_0x4bb562]=_0x587ccf[_0x5bada3(0xc1)](',\x20'));}const {auth:_0x306662}=this[_0x5bada3(0xb5)];return _0xd6165a[_0x5bada3(0xc9)]=_0x306662[_0x5bada3(0x131)]==='oauth'?_0x5bada3(0x122)+_0x306662['accessToken']:'TD1\x20'+_0x306662[_0x5bada3(0x9e)],Object[_0x5bada3(0xf5)](_0xd6165a,getClientHeaders(this[_0x5bada3(0xb5)][_0x5bada3(0x136)]??_0x5bada3(0x140))),_0xd6165a;}async[a92_0x152e32(0xe4)](_0x3938ca,_0x1176d4){const _0x3fc66a=a92_0x152e32,_0x2d4445=_0x3938ca[_0x3fc66a(0x94)],_0x3197ec=requestsStream(_0x2d4445),_0x1c82fc=_0x2d4445[_0x3fc66a(0xf7)],_0x239fc3=typeof _0x1c82fc?.[_0x3fc66a(0x115)]===_0x3fc66a(0x103)?_0x1c82fc[_0x3fc66a(0x115)]:undefined,_0x2b5347=_0x239fc3?extractSessionUUID(_0x239fc3):_0x3fc66a(0xc7),_0x246cc2=_0x2d4445['model']||'unknown',_0x1582d5=_0x1c82fc&&_0x239fc3!==undefined?{..._0x2d4445,'metadata':{..._0x1c82fc,'user_id':sanitizeUserId(_0x239fc3)}}:_0x2d4445,_0x537ea8=this[_0x3fc66a(0xb5)][_0x3fc66a(0xc6)]||TDX_SYSTEM_PROMPT,_0xf7374e=shouldInjectSystemPrompt(_0x246cc2)?injectSystemPrompt(_0x1582d5,_0x537ea8):_0x1582d5,_0x4213d7=padMaxTokensForReasoningModel(_0xf7374e,_0x246cc2),_0x3139c1=JSON[_0x3fc66a(0x12f)](_0x4213d7),_0x545f86=Array['isArray'](_0x2d4445['messages'])?_0x2d4445[_0x3fc66a(0x129)]['length']:0x0;this[_0x3fc66a(0x114)][_0x3fc66a(0x135)](_0x3fc66a(0x9d)+_0x3938ca[_0x3fc66a(0xcc)]+'\x20'+_0x3938ca[_0x3fc66a(0x116)]+_0x3fc66a(0xfd)+_0x545f86+_0x3fc66a(0xda)+_0x246cc2+_0x3fc66a(0xea)+_0x3197ec);const _0x456eaa=_0x3938ca[_0x3fc66a(0x116)][_0x3fc66a(0xc0)]('?')?_0x3938ca[_0x3fc66a(0x116)][_0x3fc66a(0xe7)](_0x3938ca[_0x3fc66a(0x116)][_0x3fc66a(0xf3)]('?')):'',_0x672ae2=this[_0x3fc66a(0xb5)][_0x3fc66a(0x97)]+_0x3fc66a(0x130)+_0x456eaa,_0x48243f=this['buildForwardHeaders'](_0x3938ca);this[_0x3fc66a(0x114)][_0x3fc66a(0x117)](_0x3fc66a(0xa5)+_0x672ae2);const _0x5ca48c=this['config'][_0x3fc66a(0x13f)]||DEFAULT_TIMEOUT_MS;try{const _0x217b6b=await this[_0x3fc66a(0xaf)](),_0x207f7d=await _0x217b6b(_0x672ae2,{'method':_0x3fc66a(0x9f),'headers':_0x48243f,'body':_0x3139c1,'signal':AbortSignal[_0x3fc66a(0xe2)](_0x5ca48c)});if(!_0x207f7d['ok']){const _0xe1502d=await _0x207f7d[_0x3fc66a(0x95)]();return this[_0x3fc66a(0x114)][_0x3fc66a(0x126)](_0x3fc66a(0xce)+_0x207f7d[_0x3fc66a(0xa4)]+'\x20'+_0x207f7d['statusText']),this[_0x3fc66a(0x114)][_0x3fc66a(0x117)]('Error\x20body:\x20'+_0xe1502d),_0x1176d4['code'](_0x207f7d['status']),_0x1176d4[_0x3fc66a(0xee)](_0x3fc66a(0xac),_0x207f7d[_0x3fc66a(0x110)]['get']('Content-Type')||_0x3fc66a(0x113)),_0x1176d4[_0x3fc66a(0xa8)](_0xe1502d);}if(_0x3197ec&&_0x207f7d[_0x3fc66a(0x94)])await this[_0x3fc66a(0x109)](_0x207f7d[_0x3fc66a(0x94)],_0x1176d4,_0x2b5347,_0x246cc2);else{const _0x424de0=await _0x207f7d[_0x3fc66a(0x95)]();_0x1176d4[_0x3fc66a(0xee)](_0x3fc66a(0xac),_0x207f7d[_0x3fc66a(0x110)][_0x3fc66a(0xb6)](_0x3fc66a(0xac))||_0x3fc66a(0x113));try{const _0x552045=JSON[_0x3fc66a(0xe3)](_0x424de0);_0x552045[_0x3fc66a(0xd5)]&&await this['logUsage'](_0x2b5347,_0x246cc2,_0x552045[_0x3fc66a(0xd5)][_0x3fc66a(0xfe)]||0x0,_0x552045[_0x3fc66a(0xd5)]['output_tokens']||0x0,_0x552045[_0x3fc66a(0xd5)][_0x3fc66a(0x118)],_0x552045['usage'][_0x3fc66a(0x10a)],_0x552045[_0x3fc66a(0xd5)]['cache_creation']?.[_0x3fc66a(0x10f)]);}catch{}return _0x1176d4[_0x3fc66a(0xa8)](_0x424de0);}}catch(_0x22e20f){const _0x386f30=_0x22e20f instanceof Error?_0x22e20f[_0x3fc66a(0x13e)]:_0x3fc66a(0x127),_0x261968=_0x22e20f instanceof Error&&_0x22e20f[_0x3fc66a(0xf8)]===_0x3fc66a(0xd6);this['logger'][_0x3fc66a(0x126)]('[PASSTHROUGH]\x20Failed\x20to\x20forward\x20request:',_0x22e20f),_0x1176d4['code'](_0x261968?0x1f8:0x1f7)[_0x3fc66a(0xa8)]({'type':_0x3fc66a(0x126),'error':{'type':_0x261968?_0x3fc66a(0xd2):'api_error','message':_0x261968?_0x3fc66a(0xcb)+_0x5ca48c+'ms':_0x3fc66a(0x11d)+_0x386f30}});}}async[a92_0x152e32(0x109)](_0x4a1f4e,_0x1c4429,_0x1d5e49,_0x2db0de){const _0x510935=a92_0x152e32;_0x1c4429[_0x510935(0x107)]['writeHead'](0xc8,{'Content-Type':_0x510935(0xdf),'Cache-Control':_0x510935(0x12b),'Connection':_0x510935(0x124)});const _0x1f0534=new SSEUsageTracker(),_0x21f819=_0x4a1f4e[_0x510935(0x108)](),_0x1eb3d3=new TextDecoder();try{while(!![]){const {done:_0x38595e,value:_0x2de545}=await _0x21f819[_0x510935(0xcd)]();if(_0x38595e)break;const _0x52adf0=_0x1eb3d3[_0x510935(0xba)](_0x2de545,{'stream':!![]});_0x1f0534['processChunk'](_0x52adf0),_0x1c4429[_0x510935(0x107)][_0x510935(0x11c)](_0x52adf0);}_0x1f0534[_0x510935(0xec)]();const _0x14a5f4=_0x1f0534[_0x510935(0x125)]();(_0x14a5f4[_0x510935(0x138)]>0x0||_0x14a5f4[_0x510935(0x111)]>0x0)&&await this[_0x510935(0x13c)](_0x1d5e49,_0x2db0de,_0x14a5f4[_0x510935(0x138)],_0x14a5f4[_0x510935(0x111)],_0x14a5f4[_0x510935(0xfb)],_0x14a5f4[_0x510935(0xc8)],_0x14a5f4[_0x510935(0x139)]);}catch(_0x2b8c63){this[_0x510935(0x114)][_0x510935(0x126)](_0x510935(0x10c),_0x2b8c63);const _0x1c2c56=_0x510935(0xbc)+JSON['stringify']({'type':_0x510935(0x126),'error':{'type':_0x510935(0x9a),'message':_0x510935(0xd9)}})+'\x0a\x0a';_0x1c4429[_0x510935(0x107)][_0x510935(0x11c)](_0x1c2c56);}finally{_0x1c4429['raw'][_0x510935(0xb9)]();}}async[a92_0x152e32(0xad)](_0x34cb60,_0x51cc71){const _0x4cdcf7=a92_0x152e32,_0x524e77=_0x34cb60[_0x4cdcf7(0x94)],_0x341722=_0x34cb60['url'][_0x4cdcf7(0xc0)]('?')?_0x34cb60[_0x4cdcf7(0x116)][_0x4cdcf7(0xe7)](_0x34cb60[_0x4cdcf7(0x116)][_0x4cdcf7(0xf3)]('?')):'',_0x2e5a2a=this['config'][_0x4cdcf7(0x97)]+'/v1/messages/count_tokens'+_0x341722,_0x1f70c=this[_0x4cdcf7(0xa9)](_0x34cb60),_0x23750c=_0x524e77['model']||_0x4cdcf7(0x105),_0x2faadf=this[_0x4cdcf7(0xb5)][_0x4cdcf7(0xc6)]||TDX_SYSTEM_PROMPT,_0x131402=shouldInjectSystemPrompt(_0x23750c)?injectSystemPrompt(_0x524e77,_0x2faadf):_0x524e77,_0x59c8ef=JSON[_0x4cdcf7(0x12f)](_0x131402);this['logger'][_0x4cdcf7(0x117)]('[PASSTHROUGH]\x20Forwarding\x20count_tokens\x20to:\x20'+_0x2e5a2a);const _0x4a6864=this['config']['timeoutMs']||DEFAULT_TIMEOUT_MS;try{const _0x3bf91e=await this[_0x4cdcf7(0xaf)](),_0x9e4cb3=await _0x3bf91e(_0x2e5a2a,{'method':_0x4cdcf7(0x9f),'headers':_0x1f70c,'body':_0x59c8ef,'signal':AbortSignal[_0x4cdcf7(0xe2)](_0x4a6864)}),_0x45f68c=await _0x9e4cb3[_0x4cdcf7(0x95)]();return _0x51cc71[_0x4cdcf7(0xbb)](_0x9e4cb3[_0x4cdcf7(0xa4)]),_0x51cc71['header']('Content-Type',_0x9e4cb3['headers'][_0x4cdcf7(0xb6)](_0x4cdcf7(0xac))||_0x4cdcf7(0x113)),_0x51cc71[_0x4cdcf7(0xa8)](_0x45f68c);}catch(_0x3eae33){const _0x188461=_0x3eae33 instanceof Error?_0x3eae33[_0x4cdcf7(0x13e)]:_0x4cdcf7(0x127),_0x4b6cdf=_0x3eae33 instanceof Error&&_0x3eae33['name']===_0x4cdcf7(0xd6);this[_0x4cdcf7(0x114)][_0x4cdcf7(0x126)](_0x4cdcf7(0x9c),_0x3eae33),_0x51cc71[_0x4cdcf7(0xbb)](_0x4b6cdf?0x1f8:0x1f7)[_0x4cdcf7(0xa8)]({'type':_0x4cdcf7(0x126),'error':{'type':_0x4b6cdf?_0x4cdcf7(0xd2):_0x4cdcf7(0x141),'message':_0x4b6cdf?_0x4cdcf7(0xcb)+_0x4a6864+'ms':_0x4cdcf7(0x11d)+_0x188461}});}}async['logUsage'](_0x43ec34,_0x120321,_0x540af4,_0x5a23de,_0x4b0f5f,_0x4316a8,_0x693163){const _0xf6d7de=a92_0x152e32,_0x566cf1={'timestamp':new Date()['toISOString'](),'model':_0x120321,'inputTokens':_0x540af4,'outputTokens':_0x5a23de,'cacheCreationInputTokens':_0x4b0f5f,'cacheReadInputTokens':_0x4316a8,'cacheCreation1hInputTokens':_0x693163,'profile':this[_0xf6d7de(0xb5)][_0xf6d7de(0x13a)],'source':this[_0xf6d7de(0xb5)]['usageSource']??'tdx-claude'},_0x496715=_0x4b0f5f||_0x4316a8?_0xf6d7de(0x142)+(_0x4b0f5f||0x0)+_0xf6d7de(0xf9)+(_0x4316a8||0x0):'';this[_0xf6d7de(0x114)][_0xf6d7de(0x117)](_0xf6d7de(0x101)+_0x540af4+_0xf6d7de(0xe1)+_0x5a23de+_0x496715+_0xf6d7de(0xda)+_0x120321);try{await appendUsageEntry(_0x43ec34,_0x566cf1);}catch(_0x1e39b8){this[_0xf6d7de(0x114)][_0xf6d7de(0x126)]('[PASSTHROUGH]\x20Failed\x20to\x20log\x20usage:',_0x1e39b8);}}[a92_0x152e32(0x10b)](){const _0x3b66d5=a92_0x152e32;if(this[_0x3b66d5(0xb5)][_0x3b66d5(0xa7)]['type']!==_0x3b66d5(0x13b))return;this[_0x3b66d5(0xe8)]=setInterval(()=>{const _0x23536b=_0x3b66d5;void this[_0x23536b(0xb2)]();},TOKEN_REFRESH_INTERVAL_MS),this[_0x3b66d5(0xe8)][_0x3b66d5(0xca)]();}async[a92_0x152e32(0xb2)](){const _0x3c7898=a92_0x152e32,{auth:_0x2b3440}=this['config'];if(_0x2b3440[_0x3c7898(0x131)]!=='oauth')return;const _0xd4490d=decideOAuthTokenAction({'access_token':_0x2b3440[_0x3c7898(0xaa)],'refresh_token':_0x2b3440[_0x3c7898(0xf6)],'expires_at':_0x2b3440[_0x3c7898(0xb8)]});if(_0xd4490d[_0x3c7898(0x131)]!==_0x3c7898(0x123))return;try{const _0x2bba45=await refreshAccessToken(_0x2b3440[_0x3c7898(0xe6)],_0xd4490d['refresh_token'],{'proxy':this[_0x3c7898(0xb5)][_0x3c7898(0x93)]});_0x2b3440[_0x3c7898(0xaa)]=_0x2bba45[_0x3c7898(0x98)],_0x2b3440[_0x3c7898(0xf6)]=_0x2bba45[_0x3c7898(0xdd)],_0x2b3440['expiresAt']=_0x2bba45[_0x3c7898(0xc5)],await saveOAuthTokens(_0x2bba45,this['config'][_0x3c7898(0x13a)]),this[_0x3c7898(0x114)]['info'](_0x3c7898(0x119));}catch(_0x51f781){this[_0x3c7898(0x114)][_0x3c7898(0x126)](_0x3c7898(0x134),_0x51f781);}}async[a92_0x152e32(0xfc)](){const _0x4775e0=a92_0x152e32,_0x426a54=this[_0x4775e0(0xb5)]['maxPortAttempts']??0x64;for(let _0x27a1a6=0x0;_0x27a1a6<_0x426a54;_0x27a1a6++){const _0x4e1f62=this[_0x4775e0(0xb5)][_0x4775e0(0x120)]+_0x27a1a6;try{await this[_0x4775e0(0x9b)][_0x4775e0(0x12a)]({'port':_0x4e1f62,'host':_0x4775e0(0xef)}),this[_0x4775e0(0xf1)]=_0x4e1f62,this['logger'][_0x4775e0(0x135)]('Pass-through\x20proxy\x20server\x20started\x20on\x20port\x20'+_0x4e1f62),this['logger'][_0x4775e0(0x135)](_0x4775e0(0xa5)+this[_0x4775e0(0xb5)]['llmProxyUrl']),this['startTokenRefreshTimer']();return;}catch(_0x49ec36){const _0xe96f1e=_0x49ec36 instanceof Error&&_0x4775e0(0xbb)in _0x49ec36&&_0x49ec36['code']==='EADDRINUSE';if(!_0xe96f1e)throw _0x49ec36;this[_0x4775e0(0x114)][_0x4775e0(0x117)](_0x4775e0(0xff)+_0x4e1f62+_0x4775e0(0xa3)),this[_0x4775e0(0x132)]();}}const _0x5f1984=this[_0x4775e0(0xb5)][_0x4775e0(0x120)]+_0x426a54-0x1;throw new Error(_0x4775e0(0xd0)+this[_0x4775e0(0xb5)][_0x4775e0(0x120)]+_0x4775e0(0xa0)+_0x5f1984);}async[a92_0x152e32(0xb1)](){const _0x1e4231=a92_0x152e32;this[_0x1e4231(0xe8)]&&(clearInterval(this[_0x1e4231(0xe8)]),this[_0x1e4231(0xe8)]=undefined),await this[_0x1e4231(0x9b)][_0x1e4231(0x99)](),this['logger']['info'](_0x1e4231(0xa2));}[a92_0x152e32(0x12e)](){const _0x5a25b3=a92_0x152e32;return'http://127.0.0.1:'+this[_0x5a25b3(0x11f)];}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a93_0x37afe8=a93_0x1b9f;(function(_0xb29d88,_0xdcd66){const _0x473c10=a93_0x1b9f,_0x508a42=_0xb29d88();while(!![]){try{const _0x2559c3=parseInt(_0x473c10(0xf7))/0x1+parseInt(_0x473c10(0xff))/0x2*(parseInt(_0x473c10(0xf9))/0x3)+-parseInt(_0x473c10(0xf1))/0x4*(parseInt(_0x473c10(0x109))/0x5)+parseInt(_0x473c10(0x10d))/0x6*(parseInt(_0x473c10(0xf0))/0x7)+parseInt(_0x473c10(0xe8))/0x8+parseInt(_0x473c10(0xee))/0x9*(-parseInt(_0x473c10(0x106))/0xa)+-parseInt(_0x473c10(0xea))/0xb;if(_0x2559c3===_0xdcd66)break;else _0x508a42['push'](_0x508a42['shift']());}catch(_0x3c9f78){_0x508a42['push'](_0x508a42['shift']());}}}(a93_0x5545,0xe91ba));function a93_0x1b9f(_0x1863ed,_0x6ecf26){_0x1863ed=_0x1863ed-0xe2;const _0x5545af=a93_0x5545();let _0x1b9fb1=_0x5545af[_0x1863ed];return _0x1b9fb1;}function a93_0x5545(){const _0x2b76ab=['45830YAaSwZ','output_tokens','reset','data:\x20','70446SlZQwI','cacheCreation1hInputTokens','outputTokens','cacheReadInputTokens','message','split','cacheCreationInputTokens','usage','4340400JILRyj','trim','13131184ECixYs','message_delta','max','message_start','10563606xDfsag','push','553WoGLgI','136CWPLLf','buffer','onRawUsage','updateFromUsage','type','cache_read_input_tokens','1037303JOpElj','parse','168981XIuVAC','slice','cache_creation_input_tokens','ephemeral_1h_input_tokens','event:\x20','pop','40NUrjoZ','input_tokens','startsWith','event','cache_creation','data','processChunk','10uEhzGH','inputTokens','unknown'];a93_0x5545=function(){return _0x2b76ab;};return a93_0x5545();}export function parseSSEChunk(_0x3105f7){const _0x32a715=a93_0x1b9f,_0xce39ba=[],_0x852998=_0x3105f7[_0x32a715(0xe5)]('\x0a\x0a'),_0x17b7c8=_0x852998[_0x32a715(0xfe)]()||'';for(const _0x103bdb of _0x852998){if(!_0x103bdb['trim']())continue;const _0x640240={},_0x489131=_0x103bdb[_0x32a715(0xe5)]('\x0a');for(const _0x274df5 of _0x489131){if(_0x274df5['startsWith'](_0x32a715(0xfd)))_0x640240[_0x32a715(0x102)]=_0x274df5[_0x32a715(0xfa)](0x7);else _0x274df5[_0x32a715(0x101)](_0x32a715(0x10c))&&(_0x640240['data']=_0x274df5[_0x32a715(0xfa)](0x6));}(_0x640240['event']||_0x640240[_0x32a715(0x104)])&&_0xce39ba[_0x32a715(0xef)](_0x640240);}return{'events':_0xce39ba,'remaining':_0x17b7c8};}export function extractMessageStartUsage(_0x411733){const _0x2afcd0=a93_0x1b9f;try{const _0x37cbb4=JSON[_0x2afcd0(0xf8)](_0x411733);if(_0x37cbb4[_0x2afcd0(0xf5)]===_0x2afcd0(0xed)&&_0x37cbb4['message']?.['usage']){const _0x485c74=_0x37cbb4[_0x2afcd0(0xe4)][_0x2afcd0(0xe7)];return{'inputTokens':_0x485c74[_0x2afcd0(0x100)]||0x0,'outputTokens':_0x485c74[_0x2afcd0(0x10a)]||0x0,'cacheCreationInputTokens':_0x485c74[_0x2afcd0(0xfb)],'cacheReadInputTokens':_0x485c74[_0x2afcd0(0xf6)],'cacheCreation1hInputTokens':_0x485c74['cache_creation']?.[_0x2afcd0(0xfc)]};}}catch{}return null;}export function extractMessageDeltaUsage(_0x47fb59){const _0x134a7f=a93_0x1b9f;try{const _0x42b693=JSON[_0x134a7f(0xf8)](_0x47fb59);if(_0x42b693['type']===_0x134a7f(0xeb)&&_0x42b693[_0x134a7f(0xe7)]){const _0x2a911d=_0x42b693[_0x134a7f(0xe7)];return{'inputTokens':_0x2a911d[_0x134a7f(0x100)]||0x0,'outputTokens':_0x2a911d[_0x134a7f(0x10a)]||0x0,'cacheCreationInputTokens':_0x2a911d[_0x134a7f(0xfb)],'cacheReadInputTokens':_0x2a911d[_0x134a7f(0xf6)],'cacheCreation1hInputTokens':_0x2a911d[_0x134a7f(0x103)]?.[_0x134a7f(0xfc)]};}}catch{}return null;}export function extractUsageFromEvent(_0x40f981){const _0x10ee50=a93_0x1b9f;if(!_0x40f981['data'])return null;if(_0x40f981[_0x10ee50(0x102)]===_0x10ee50(0xed))return extractMessageStartUsage(_0x40f981['data']);if(_0x40f981[_0x10ee50(0x102)]===_0x10ee50(0xeb))return extractMessageDeltaUsage(_0x40f981[_0x10ee50(0x104)]);return null;}export class SSEUsageTracker{['inputTokens']=0x0;[a93_0x37afe8(0xe2)]=0x0;['cacheCreationInputTokens'];[a93_0x37afe8(0xe3)];['cacheCreation1hInputTokens'];[a93_0x37afe8(0xf2)]='';['updateFromUsage'](_0xf0eb01){const _0x1887d5=a93_0x37afe8;this[_0x1887d5(0x107)]=Math['max'](this[_0x1887d5(0x107)],_0xf0eb01[_0x1887d5(0x107)]),this[_0x1887d5(0xe2)]=Math[_0x1887d5(0xec)](this['outputTokens'],_0xf0eb01['outputTokens']),_0xf0eb01[_0x1887d5(0xe6)]!==undefined&&(this['cacheCreationInputTokens']=Math[_0x1887d5(0xec)](this[_0x1887d5(0xe6)]??0x0,_0xf0eb01[_0x1887d5(0xe6)])),_0xf0eb01[_0x1887d5(0xe3)]!==undefined&&(this[_0x1887d5(0xe3)]=Math[_0x1887d5(0xec)](this[_0x1887d5(0xe3)]??0x0,_0xf0eb01['cacheReadInputTokens'])),_0xf0eb01[_0x1887d5(0x10e)]!==undefined&&(this[_0x1887d5(0x10e)]=Math[_0x1887d5(0xec)](this[_0x1887d5(0x10e)]??0x0,_0xf0eb01[_0x1887d5(0x10e)]));}[a93_0x37afe8(0xf3)];[a93_0x37afe8(0x105)](_0x1c49a1){const _0x571e15=a93_0x37afe8;this['buffer']+=_0x1c49a1;const {events:_0x352ba5,remaining:_0x43e2eb}=parseSSEChunk(this['buffer']);this[_0x571e15(0xf2)]=_0x43e2eb;for(const _0x113e7d of _0x352ba5){const _0x1dd3cf=extractUsageFromEvent(_0x113e7d);_0x1dd3cf&&(this[_0x571e15(0xf3)]?.(_0x113e7d[_0x571e15(0x102)]||_0x571e15(0x108),_0x113e7d[_0x571e15(0x104)]||'',_0x1dd3cf),this[_0x571e15(0xf4)](_0x1dd3cf));}return _0x1c49a1;}['flush'](){const _0x3d6bf5=a93_0x37afe8;if(this['buffer'][_0x3d6bf5(0xe9)]()){const {events:_0x491578}=parseSSEChunk(this['buffer']+'\x0a\x0a');for(const _0x897ff5 of _0x491578){const _0x40335d=extractUsageFromEvent(_0x897ff5);_0x40335d&&this[_0x3d6bf5(0xf4)](_0x40335d);}this[_0x3d6bf5(0xf2)]='';}}['getUsage'](){const _0x39dec9=a93_0x37afe8;return{'inputTokens':this[_0x39dec9(0x107)],'outputTokens':this['outputTokens'],'cacheCreationInputTokens':this['cacheCreationInputTokens'],'cacheReadInputTokens':this[_0x39dec9(0xe3)],'cacheCreation1hInputTokens':this[_0x39dec9(0x10e)]};}[a93_0x37afe8(0x10b)](){const _0x31d8c3=a93_0x37afe8;this[_0x31d8c3(0x107)]=0x0,this[_0x31d8c3(0xe2)]=0x0,this[_0x31d8c3(0xe6)]=undefined,this[_0x31d8c3(0xe3)]=undefined,this[_0x31d8c3(0x10e)]=undefined,this[_0x31d8c3(0xf2)]='';}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a94_0x4eda99=a94_0x4980;(function(_0x5f4c9a,_0x132df3){const _0x3e74af=a94_0x4980,_0x11a775=_0x5f4c9a();while(!![]){try{const _0x406e18=-parseInt(_0x3e74af(0x1c4))/0x1+-parseInt(_0x3e74af(0x195))/0x2*(-parseInt(_0x3e74af(0x1a0))/0x3)+-parseInt(_0x3e74af(0x1a5))/0x4*(-parseInt(_0x3e74af(0x1be))/0x5)+parseInt(_0x3e74af(0x1c5))/0x6*(parseInt(_0x3e74af(0x1c3))/0x7)+parseInt(_0x3e74af(0x1ac))/0x8+-parseInt(_0x3e74af(0x1aa))/0x9*(parseInt(_0x3e74af(0x1bb))/0xa)+parseInt(_0x3e74af(0x1ae))/0xb;if(_0x406e18===_0x132df3)break;else _0x11a775['push'](_0x11a775['shift']());}catch(_0x45ae21){_0x11a775['push'](_0x11a775['shift']());}}}(a94_0x4a70,0xc42b3));import{existsSync,readFileSync,readdirSync}from'fs';function a94_0x4a70(){const _0x18bd33=['root','experimental_artifacts','Current\x20context\x20has\x20llm_project=\x22','length','EXPERIMENTAL_KNOWLEDGE_BASES','llm_project','17061IczFsn','arg','filter','Invalid\x20tdx.json:\x20missing\x20or\x20invalid\x20\x27llm_project\x27\x20field','join','703432DSAKFR','utf-8','map','stringify','isDirectory','5914827CpDwdw','\x22\x20but\x20no\x20local\x20folder\x20found.','2341136OGGXDK','No\x20tdx.json\x20found\x20and\x20llm_project\x20is\x20not\x20set.','13196326IPEFpQ','agent.yml','string','PROMPTS','CHAT_INTERFACES','form_interfaces','object','cwd-config','Invalid\x20JSON\x20in\x20','knowledge_bases','parse','Invalid\x20tdx.json:\x20expected\x20object','INTEGRATIONS','10MQbRRV','context','chat_interfaces','25FnVsaX','no_local_folder','local','multiple_agents','EXPERIMENTAL_ARTIFACTS','884702XeWjqm','1413888xTtLZf','12ctDaVR','arg-dir','cwd','no_tests','requireFile','88gVamxC','basename','name','dirname','experimental_knowledge_bases'];a94_0x4a70=function(){return _0x18bd33;};return a94_0x4a70();}import a94_0x5062ea from'path';import{sanitizeForFilesystem,normalizeName}from'./agent-yaml.js';const TDX_CONFIG_FILE='tdx.json',AGENTS_DIR='agents';export function findAgentConfigPath(_0x1606fe=process['cwd']()){const _0x353f23=a94_0x4980;let _0x23a3ab=a94_0x5062ea['resolve'](_0x1606fe);const _0x40c057=a94_0x5062ea[_0x353f23(0x1b8)](_0x23a3ab)[_0x353f23(0x19a)];while(_0x23a3ab!==_0x40c057){const _0x3125b8=a94_0x5062ea['join'](_0x23a3ab,TDX_CONFIG_FILE);if(existsSync(_0x3125b8))try{const _0x2e7bca=readFileSync(_0x3125b8,_0x353f23(0x1a6)),_0x178a56=JSON[_0x353f23(0x1b8)](_0x2e7bca);if(_0x178a56[_0x353f23(0x19f)])return _0x3125b8;}catch{}_0x23a3ab=a94_0x5062ea['dirname'](_0x23a3ab);}return null;}export function loadAgentConfig(_0x2f6eff){const _0x5155c9=a94_0x4980,_0x3d4c68=readFileSync(_0x2f6eff,_0x5155c9(0x1a6));let _0x4c6959;try{_0x4c6959=JSON['parse'](_0x3d4c68);}catch{throw new Error(_0x5155c9(0x1b6)+_0x2f6eff);}if(!_0x4c6959||typeof _0x4c6959!==_0x5155c9(0x1b4))throw new Error(_0x5155c9(0x1b9));const _0x17df19=_0x4c6959;if(!_0x17df19[_0x5155c9(0x19f)]||typeof _0x17df19[_0x5155c9(0x19f)]!==_0x5155c9(0x1b0))throw new Error(_0x5155c9(0x1a3));return{'llm_project':_0x17df19[_0x5155c9(0x19f)]};}export function findAgentConfig(_0x52a030=process[a94_0x4eda99(0x1c7)]()){const _0x3faddf=a94_0x4eda99,_0x489ea9=findAgentConfigPath(_0x52a030);if(!_0x489ea9)throw new Error('No\x20agent\x20tdx.json\x20found.\x20Please\x20run\x20\x27tdx\x20agent\x20pull\x20<project>\x27\x20first\x20to\x20create\x20the\x20folder\x20structure.');const _0x3b6cb1=loadAgentConfig(_0x489ea9),_0x15513a=a94_0x5062ea[_0x3faddf(0x198)](_0x489ea9);return{'config':_0x3b6cb1,'configPath':_0x489ea9,'configDir':_0x15513a};}export function getAgentProjectDir(_0x505911,_0x82789=process['cwd']()){const _0x191bad=a94_0x4eda99;return a94_0x5062ea[_0x191bad(0x1a4)](_0x82789,AGENTS_DIR,_0x505911);}function a94_0x4980(_0xb35a5d,_0xfb5cf2){_0xb35a5d=_0xb35a5d-0x194;const _0x4a70bf=a94_0x4a70();let _0x498032=_0x4a70bf[_0xb35a5d];return _0x498032;}export function getAgentConfigPath(_0xa1084,_0x5b2dd0=process[a94_0x4eda99(0x1c7)]()){return a94_0x5062ea['join'](getAgentProjectDir(_0xa1084,_0x5b2dd0),TDX_CONFIG_FILE);}export function createAgentConfigContent(_0x23b2f4){const _0x3d8544=a94_0x4eda99,_0x1a973a={'llm_project':_0x23b2f4};return JSON[_0x3d8544(0x1a8)](_0x1a973a,null,0x2)+'\x0a';}export function isAgentDir(_0x22fe7d){const _0x23ce33=a94_0x4eda99;return existsSync(a94_0x5062ea[_0x23ce33(0x1a4)](_0x22fe7d,'agent.yml'));}export function isAgentYamlPath(_0x496ae6){const _0x17942d=a94_0x4eda99;return a94_0x5062ea[_0x17942d(0x196)](_0x496ae6)===_0x17942d(0x1af);}export function getAgentDirFromYamlPath(_0x115ee8){const _0x46b4ea=a94_0x4eda99;return a94_0x5062ea[_0x46b4ea(0x198)](_0x115ee8);}export const PROJECT_SUBDIRS={'KNOWLEDGE_BASES':a94_0x4eda99(0x1b7),'PROMPTS':'prompts','INTEGRATIONS':'integrations','EXPERIMENTAL_KNOWLEDGE_BASES':a94_0x4eda99(0x199),'EXPERIMENTAL_ARTIFACTS':a94_0x4eda99(0x19b),'FORM_INTERFACES':a94_0x4eda99(0x1b3),'CHAT_INTERFACES':a94_0x4eda99(0x1bd)};export function getKnowledgeBasesDir(_0x1dba89){const _0xbe3c82=a94_0x4eda99;return a94_0x5062ea[_0xbe3c82(0x1a4)](_0x1dba89,PROJECT_SUBDIRS['KNOWLEDGE_BASES']);}export function getPromptsDir(_0x38f565){const _0x200249=a94_0x4eda99;return a94_0x5062ea['join'](_0x38f565,PROJECT_SUBDIRS[_0x200249(0x1b1)]);}export function getIntegrationsDir(_0x3a8271){const _0x599e2b=a94_0x4eda99;return a94_0x5062ea[_0x599e2b(0x1a4)](_0x3a8271,PROJECT_SUBDIRS[_0x599e2b(0x1ba)]);}export function getExperimentalKnowledgeBasesDir(_0x3374fb){const _0x13ea6b=a94_0x4eda99;return a94_0x5062ea['join'](_0x3374fb,PROJECT_SUBDIRS[_0x13ea6b(0x19e)]);}export function getExperimentalArtifactsDir(_0x23df4b){const _0x408ce0=a94_0x4eda99;return a94_0x5062ea[_0x408ce0(0x1a4)](_0x23df4b,PROJECT_SUBDIRS[_0x408ce0(0x1c2)]);}export function getFormInterfacesDir(_0x2e9f38){const _0x2aea0e=a94_0x4eda99;return a94_0x5062ea[_0x2aea0e(0x1a4)](_0x2e9f38,PROJECT_SUBDIRS['FORM_INTERFACES']);}export function getChatInterfacesDir(_0x4f9075){const _0x2c23ba=a94_0x4eda99;return a94_0x5062ea['join'](_0x4f9075,PROJECT_SUBDIRS[_0x2c23ba(0x1b2)]);}export function resolveAgentPullArgs(_0x6ab67c){const _0x1a1160=a94_0x4eda99,{arg:_0x39f454,agentNameArg:_0x1f05bd,agentFlag:_0x27a99f,contextProject:_0x40c3ef,argDirConfig:_0xefaaed,cwdConfigPath:_0x51014a,cwdConfig:_0x3445fb}=_0x6ab67c,_0x384858=_0x1f05bd||_0x27a99f;if(_0x39f454){if(_0xefaaed)return{'projectNameOrId':_0xefaaed[_0x1a1160(0x19f)],'targetAgentName':_0x384858,'existingOutputDir':_0x39f454,'source':_0x1a1160(0x1c6)};return{'projectNameOrId':_0x39f454,'targetAgentName':_0x384858,'source':_0x1a1160(0x1a1)};}if(_0x27a99f&&_0x40c3ef)return{'projectNameOrId':_0x40c3ef,'targetAgentName':_0x27a99f,'source':'context'};if(_0x51014a&&_0x3445fb)return{'projectNameOrId':_0x3445fb[_0x1a1160(0x19f)],'targetAgentName':_0x384858,'existingOutputDir':a94_0x5062ea[_0x1a1160(0x198)](_0x51014a),'source':_0x1a1160(0x1b5)};return{'projectNameOrId':_0x40c3ef,'targetAgentName':_0x384858,'source':_0x40c3ef?_0x1a1160(0x1bc):undefined};}export function resolveProjectFromContext(_0x114500,_0x3383f2,_0x261275){const _0xc9373b=a94_0x4eda99,_0x15ab3a=_0x261275?.[_0xc9373b(0x194)],_0x20a5be=findAgentConfigPath(a94_0x5062ea['resolve'](_0x114500));if(_0x20a5be)return{'found':!![],'projectDir':a94_0x5062ea[_0xc9373b(0x198)](_0x20a5be),'configPath':_0x20a5be,'source':_0xc9373b(0x1c0)};if(!_0x3383f2)return{'found':![],'reason':'no_context','message':_0xc9373b(0x1ad)};const _0x38efd8=sanitizeForFilesystem(_0x3383f2),_0x48cd3f=a94_0x5062ea[_0xc9373b(0x1a4)](process[_0xc9373b(0x1c7)](),AGENTS_DIR);let _0x28cfde=a94_0x5062ea['join'](_0x48cd3f,_0x38efd8),_0x15dc74=a94_0x5062ea[_0xc9373b(0x1a4)](_0x28cfde,TDX_CONFIG_FILE);if(!existsSync(_0x28cfde)){const _0x240fe2=normalizeName(_0x3383f2),_0x453acd=a94_0x5062ea[_0xc9373b(0x1a4)](_0x48cd3f,_0x240fe2);existsSync(_0x453acd)&&(_0x28cfde=_0x453acd,_0x15dc74=a94_0x5062ea[_0xc9373b(0x1a4)](_0x28cfde,TDX_CONFIG_FILE));}if(!existsSync(_0x28cfde))return{'found':![],'reason':_0xc9373b(0x1bf),'llmProject':_0x3383f2,'message':_0xc9373b(0x19c)+_0x3383f2+_0xc9373b(0x1ab)};if(_0x15ab3a){const _0x24a463=readdirSync(_0x28cfde,{'withFileTypes':!![]}),_0x24ebf8=_0x24a463[_0xc9373b(0x1a2)](_0x58fa5f=>_0x58fa5f[_0xc9373b(0x1a9)]())[_0xc9373b(0x1a7)](_0x45e8c9=>_0x45e8c9[_0xc9373b(0x197)])['filter'](_0x29e957=>{const _0x413bdc=_0xc9373b,_0x36e9f0=a94_0x5062ea[_0x413bdc(0x1a4)](_0x28cfde,_0x29e957,_0x15ab3a);return existsSync(_0x36e9f0);});if(_0x24ebf8[_0xc9373b(0x19d)]===0x0)return{'found':![],'reason':_0xc9373b(0x1c8),'llmProject':_0x3383f2,'projectDir':_0x28cfde};if(_0x24ebf8[_0xc9373b(0x19d)]>0x1)return{'found':![],'reason':_0xc9373b(0x1c1),'llmProject':_0x3383f2,'agentDirs':_0x24ebf8,'projectDir':_0x28cfde};return{'found':!![],'projectDir':a94_0x5062ea['join'](_0x28cfde,_0x24ebf8[0x0]),'configPath':_0x15dc74,'source':'context'};}return{'found':!![],'projectDir':_0x28cfde,'configPath':_0x15dc74,'source':_0xc9373b(0x1bc)};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x15005e,_0x58ef2a){const _0x5d8fd9=a95_0x4761,_0x136a6c=_0x15005e();while(!![]){try{const _0x1c7d51=parseInt(_0x5d8fd9(0x185))/0x1+-parseInt(_0x5d8fd9(0x18e))/0x2*(-parseInt(_0x5d8fd9(0x187))/0x3)+-parseInt(_0x5d8fd9(0x18b))/0x4+parseInt(_0x5d8fd9(0x180))/0x5*(-parseInt(_0x5d8fd9(0x184))/0x6)+parseInt(_0x5d8fd9(0x17d))/0x7*(parseInt(_0x5d8fd9(0x182))/0x8)+-parseInt(_0x5d8fd9(0x183))/0x9*(-parseInt(_0x5d8fd9(0x189))/0xa)+parseInt(_0x5d8fd9(0x188))/0xb;if(_0x1c7d51===_0x58ef2a)break;else _0x136a6c['push'](_0x136a6c['shift']());}catch(_0x231e9e){_0x136a6c['push'](_0x136a6c['shift']());}}}(a95_0x722d,0xa21dc));function a95_0x4761(_0x18b7d2,_0x20e28a){_0x18b7d2=_0x18b7d2-0x17d;const _0x722d4b=a95_0x722d();let _0x4761b8=_0x722d4b[_0x18b7d2];return _0x4761b8;}export function parseAgentRef(_0x3a071e){const _0x31ec3b=a95_0x4761;if(!_0x3a071e||_0x3a071e[_0x31ec3b(0x186)]()==='')throw new Error(_0x31ec3b(0x18a));const _0x54a1eb=_0x3a071e[_0x31ec3b(0x186)](),_0x55d42a=_0x54a1eb[_0x31ec3b(0x17e)]('/');if(_0x55d42a[_0x31ec3b(0x18d)]===0x1)return{'projectName':_0x55d42a[0x0],'agentName':undefined};else{if(_0x55d42a['length']===0x2){const [_0x1f234d,_0xfb5929]=_0x55d42a;if(!_0x1f234d||_0x1f234d[_0x31ec3b(0x186)]()==='')throw new Error(_0x31ec3b(0x17f));if(!_0xfb5929||_0xfb5929['trim']()==='')throw new Error(_0x31ec3b(0x18c));return{'projectName':_0x1f234d[_0x31ec3b(0x186)](),'agentName':_0xfb5929[_0x31ec3b(0x186)]()};}else throw new Error(_0x31ec3b(0x181)+_0x3a071e+'.\x20Expected\x20\x22project_name\x22\x20or\x20\x22project_name/agent_name\x22');}}function a95_0x722d(){const _0x497125=['14jhNskO','split','Project\x20name\x20cannot\x20be\x20empty','880760fqVFxc','Invalid\x20agent\x20reference\x20format:\x20','3581944UVGfQl','27DlTDlO','42RerMII','611821UYAgnm','trim','1825737QLYyyr','634359hweVUl','482680dOfeEo','Agent\x20reference\x20cannot\x20be\x20empty','1685068WDPEIS','Agent\x20name\x20cannot\x20be\x20empty','length','2NBXitK'];a95_0x722d=function(){return _0x497125;};return a95_0x722d();}
|