@treasuredata/tdx 2026.9.0 → 2026.9.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -0
- 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/ai-usage-command-base.d.ts +26 -0
- package/dist/commands/ai-usage-command-base.d.ts.map +1 -0
- package/dist/commands/ai-usage-command-base.js +1 -0
- package/dist/commands/ai-usage-command-base.js.map +1 -0
- package/dist/commands/api-command.js +1 -1
- package/dist/commands/auth-command.js +1 -1
- package/dist/commands/cas-command.js +1 -1
- package/dist/commands/cas-segment-command.js +1 -1
- package/dist/commands/chat-command.js +1 -1
- package/dist/commands/claude-command.d.ts +60 -3
- package/dist/commands/claude-command.d.ts.map +1 -1
- package/dist/commands/claude-command.js +1 -1
- package/dist/commands/claude-command.js.map +1 -1
- package/dist/commands/claude-statusline-command.js +1 -1
- package/dist/commands/claude-usage-command.d.ts +4 -7
- package/dist/commands/claude-usage-command.d.ts.map +1 -1
- package/dist/commands/claude-usage-command.js +1 -1
- package/dist/commands/claude-usage-command.js.map +1 -1
- package/dist/commands/codex-command.js +1 -1
- package/dist/commands/command.js +1 -1
- package/dist/commands/connection-command.js +1 -1
- package/dist/commands/databases.js +1 -1
- package/dist/commands/delivery-command.js +1 -1
- package/dist/commands/describe.js +1 -1
- package/dist/commands/engage-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-validate-command.js +1 -1
- package/dist/commands/engage-command.js +1 -1
- package/dist/commands/engage-in-browser-message-command.d.ts +33 -0
- package/dist/commands/engage-in-browser-message-command.d.ts.map +1 -0
- package/dist/commands/engage-in-browser-message-command.js +1 -0
- package/dist/commands/engage-in-browser-message-command.js.map +1 -0
- 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/job-command.js +1 -1
- package/dist/commands/journey-command.d.ts.map +1 -1
- package/dist/commands/journey-command.js +1 -1
- package/dist/commands/journey-command.js.map +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 +18 -0
- package/dist/commands/opencode-command.d.ts.map +1 -0
- package/dist/commands/opencode-command.js +1 -0
- package/dist/commands/opencode-command.js.map +1 -0
- package/dist/commands/opencode-usage-command.d.ts +19 -0
- package/dist/commands/opencode-usage-command.d.ts.map +1 -0
- package/dist/commands/opencode-usage-command.js +1 -0
- package/dist/commands/opencode-usage-command.js.map +1 -0
- package/dist/commands/p13n-command.d.ts +36 -0
- package/dist/commands/p13n-command.d.ts.map +1 -1
- package/dist/commands/p13n-command.js +1 -1
- package/dist/commands/p13n-command.js.map +1 -1
- package/dist/commands/parent-segment-command.d.ts.map +1 -1
- package/dist/commands/parent-segment-command.js +1 -1
- package/dist/commands/parent-segment-command.js.map +1 -1
- package/dist/commands/policy-command.js +1 -1
- package/dist/commands/profile-command.js +1 -1
- package/dist/commands/profiles-command.js +1 -1
- package/dist/commands/query-command.js +1 -1
- package/dist/commands/schedule-command.js +1 -1
- package/dist/commands/segment-command.js +1 -1
- package/dist/commands/segment-create-command.js +1 -1
- package/dist/commands/segment-fields-command.js +1 -1
- package/dist/commands/segment-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.js +1 -1
- package/dist/commands/use-command.js +1 -1
- package/dist/commands/user-command.js +1 -1
- package/dist/commands/work-command.js +1 -1
- package/dist/commands/workflow-command.js +1 -1
- package/dist/core/auth.js +1 -1
- package/dist/core/command-output.js +1 -1
- package/dist/core/config.js +1 -1
- package/dist/core/connection-cache.js +1 -1
- package/dist/core/constants.js +1 -1
- package/dist/core/credential-cache.js +1 -1
- package/dist/core/global-context.js +1 -1
- package/dist/core/keychain.js +1 -1
- package/dist/core/oauth-keychain.js +1 -1
- package/dist/core/oauth.js +1 -1
- package/dist/core/profile.js +1 -1
- package/dist/core/project-config.js +1 -1
- package/dist/core/session.js +1 -1
- package/dist/core/site-mismatch.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 +1 -1
- package/dist/proxy/claude-usage-tracker.d.ts.map +1 -1
- package/dist/proxy/claude-usage-tracker.js +1 -1
- package/dist/proxy/passthrough-server.d.ts +33 -0
- package/dist/proxy/passthrough-server.d.ts.map +1 -1
- package/dist/proxy/passthrough-server.js +1 -1
- package/dist/proxy/passthrough-server.js.map +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/cas-api-client.d.ts +27 -0
- package/dist/sdk/cas/cas-api-client.d.ts.map +1 -1
- package/dist/sdk/cas/cas-api-client.js +1 -1
- package/dist/sdk/cas/cas-api-client.js.map +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.d.ts +51 -1
- package/dist/sdk/cas/index.d.ts.map +1 -1
- package/dist/sdk/cas/index.js +1 -1
- package/dist/sdk/cas/index.js.map +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.d.ts +9 -0
- package/dist/sdk/client/endpoints.d.ts.map +1 -1
- package/dist/sdk/client/endpoints.js +1 -1
- package/dist/sdk/client/endpoints.js.map +1 -1
- package/dist/sdk/client/engage-api-client.d.ts +9 -1
- package/dist/sdk/client/engage-api-client.d.ts.map +1 -1
- package/dist/sdk/client/engage-api-client.js +1 -1
- package/dist/sdk/client/engage-api-client.js.map +1 -1
- package/dist/sdk/client/http-client.d.ts +25 -1
- package/dist/sdk/client/http-client.d.ts.map +1 -1
- package/dist/sdk/client/http-client.js +1 -1
- package/dist/sdk/client/http-client.js.map +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.d.ts +62 -7
- package/dist/sdk/client/p13n-studio-api-client.d.ts.map +1 -1
- package/dist/sdk/client/p13n-studio-api-client.js +1 -1
- package/dist/sdk/client/p13n-studio-api-client.js.map +1 -1
- package/dist/sdk/client/rate-limiter.js +1 -1
- package/dist/sdk/client/td-api-client.js +1 -1
- package/dist/sdk/client/trino-api-client.js +1 -1
- package/dist/sdk/client/workflow-client.js +1 -1
- package/dist/sdk/connection-validator.js +1 -1
- package/dist/sdk/connection.js +1 -1
- package/dist/sdk/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-validator.js +1 -1
- package/dist/sdk/engage/campaign-yaml.js +1 -1
- package/dist/sdk/engage/in-browser-message-pull.d.ts +41 -0
- package/dist/sdk/engage/in-browser-message-pull.d.ts.map +1 -0
- package/dist/sdk/engage/in-browser-message-pull.js +1 -0
- package/dist/sdk/engage/in-browser-message-pull.js.map +1 -0
- package/dist/sdk/engage/in-browser-message-push.d.ts +59 -0
- package/dist/sdk/engage/in-browser-message-push.d.ts.map +1 -0
- package/dist/sdk/engage/in-browser-message-push.js +1 -0
- package/dist/sdk/engage/in-browser-message-push.js.map +1 -0
- package/dist/sdk/engage/in-browser-message-validator.d.ts +9 -0
- package/dist/sdk/engage/in-browser-message-validator.d.ts.map +1 -0
- package/dist/sdk/engage/in-browser-message-validator.js +1 -0
- package/dist/sdk/engage/in-browser-message-validator.js.map +1 -0
- package/dist/sdk/engage/in-browser-message-yaml.d.ts +36 -0
- package/dist/sdk/engage/in-browser-message-yaml.d.ts.map +1 -0
- package/dist/sdk/engage/in-browser-message-yaml.js +1 -0
- package/dist/sdk/engage/in-browser-message-yaml.js.map +1 -0
- 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/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.d.ts +32 -0
- package/dist/sdk/engage/types/in-browser-message-schema.d.ts.map +1 -0
- package/dist/sdk/engage/types/in-browser-message-schema.js +1 -0
- package/dist/sdk/engage/types/in-browser-message-schema.js.map +1 -0
- 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.d.ts +24 -2
- package/dist/sdk/engage.d.ts.map +1 -1
- package/dist/sdk/engage.js +1 -1
- package/dist/sdk/engage.js.map +1 -1
- package/dist/sdk/errors.d.ts +12 -0
- package/dist/sdk/errors.d.ts.map +1 -1
- package/dist/sdk/errors.js +1 -1
- package/dist/sdk/errors.js.map +1 -1
- package/dist/sdk/index.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.d.ts +38 -1
- package/dist/sdk/journey.d.ts.map +1 -1
- package/dist/sdk/journey.js +1 -1
- package/dist/sdk/journey.js.map +1 -1
- package/dist/sdk/llm/chat-cache.js +1 -1
- package/dist/sdk/llm/index.js +1 -1
- package/dist/sdk/llm/llm-backup-utils.js +1 -1
- package/dist/sdk/llm/model-factors.d.ts.map +1 -1
- package/dist/sdk/llm/model-factors.js +1 -1
- package/dist/sdk/llm/model-factors.js.map +1 -1
- package/dist/sdk/llm/user-settings.js +1 -1
- package/dist/sdk/p13n-studio-errors.d.ts +91 -0
- package/dist/sdk/p13n-studio-errors.d.ts.map +1 -0
- package/dist/sdk/p13n-studio-errors.js +1 -0
- package/dist/sdk/p13n-studio-errors.js.map +1 -0
- package/dist/sdk/p13n-studio.d.ts +84 -8
- package/dist/sdk/p13n-studio.d.ts.map +1 -1
- package/dist/sdk/p13n-studio.js +1 -1
- package/dist/sdk/p13n-studio.js.map +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.d.ts +117 -0
- package/dist/sdk/segment/audience-context.d.ts.map +1 -0
- package/dist/sdk/segment/audience-context.js +1 -0
- package/dist/sdk/segment/audience-context.js.map +1 -0
- 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.d.ts +1 -1
- package/dist/sdk/segment/types/journey-schema.js +1 -1
- package/dist/sdk/segment/types/segment-def.js +1 -1
- package/dist/sdk/segment/types/segment-schema.js +1 -1
- package/dist/sdk/segment/validate-files.d.ts +4 -1
- package/dist/sdk/segment/validate-files.d.ts.map +1 -1
- package/dist/sdk/segment/validate-files.js +1 -1
- package/dist/sdk/segment/validate-files.js.map +1 -1
- package/dist/sdk/segment/yaml-validator.d.ts +1 -1
- package/dist/sdk/segment/yaml-validator.d.ts.map +1 -1
- package/dist/sdk/segment/yaml-validator.js +1 -1
- package/dist/sdk/segment/yaml-validator.js.map +1 -1
- package/dist/sdk/segment.d.ts +56 -0
- package/dist/sdk/segment.d.ts.map +1 -1
- package/dist/sdk/segment.js +1 -1
- package/dist/sdk/segment.js.map +1 -1
- package/dist/sdk/types/cas.d.ts +12 -0
- package/dist/sdk/types/cas.d.ts.map +1 -1
- package/dist/sdk/types/engage.d.ts +66 -0
- package/dist/sdk/types/engage.d.ts.map +1 -1
- package/dist/sdk/types/index.d.ts +2 -2
- package/dist/sdk/types/index.d.ts.map +1 -1
- package/dist/sdk/types/index.js +1 -1
- package/dist/sdk/types/index.js.map +1 -1
- package/dist/sdk/types/p13n-studio.d.ts +77 -1
- package/dist/sdk/types/p13n-studio.d.ts.map +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.d.ts.map +1 -1
- package/dist/utils/process.js +1 -1
- package/dist/utils/process.js.map +1 -1
- package/dist/utils/prompt.js +1 -1
- package/dist/utils/proxy-fetch.js +1 -1
- package/dist/utils/spinner.js +1 -1
- package/dist/utils/sse-parser.js +1 -1
- package/dist/utils/string-utils.js +1 -1
- package/dist/utils/table-ref-parser.js +1 -1
- package/dist/utils/tdx-logger.js +1 -1
- package/dist/utils/version-check.js +1 -1
- package/package.json +5 -5
|
@@ -1 +1 @@
|
|
|
1
|
-
const a7_0x155774=a7_0xd83c;(function(_0xb1d9bc,_0x5a7fd9){const _0x5e2152=a7_0xd83c,_0x260bf7=_0xb1d9bc();while(!![]){try{const _0x5b6589=parseInt(_0x5e2152(0x23c))/0x1*(parseInt(_0x5e2152(0x238))/0x2)+parseInt(_0x5e2152(0x226))/0x3*(-parseInt(_0x5e2152(0x1ec))/0x4)+-parseInt(_0x5e2152(0x211))/0x5+parseInt(_0x5e2152(0x1f3))/0x6+parseInt(_0x5e2152(0x213))/0x7*(-parseInt(_0x5e2152(0x208))/0x8)+parseInt(_0x5e2152(0x220))/0x9*(parseInt(_0x5e2152(0x214))/0xa)+parseInt(_0x5e2152(0x20e))/0xb*(parseInt(_0x5e2152(0x228))/0xc);if(_0x5b6589===_0x5a7fd9)break;else _0x260bf7['push'](_0x260bf7['shift']());}catch(_0x1ff37b){_0x260bf7['push'](_0x260bf7['shift']());}}}(a7_0xb775,0x2d4ac));import{BaseCommand,printAuthError}from'./command.js';import{resolveOAuthAccessToken}from'../sdk/auth-token.js';import{saveAPIKeyAsync,resolveSite,resolveAPIKeyAsync,loadGlobalProxy}from'../core/config.js';import{getOAuthTokens,saveOAuthTokens}from'../core/oauth-keychain.js';import{saveProfileToUserConfig,saveDefaultSiteToUserConfig}from'../core/profile.js';import{getConsoleUrl}from'../sdk/client/endpoints.js';import{deleteKeychainAPIKey,isKeychainAvailable}from'../core/keychain.js';import{deleteOAuthTokens}from'../core/oauth-keychain.js';function a7_0xb775(){const _0xba5a0f=['warn','\x0aSetup\x20cancelled','password','105153oevmKb','accountName','614904vzxaXB','/oauth/authorize','yellow','\x20--profile\x20','✗\x20Validation\x20failed:\x20','Setup\x20cancelled','message','\x20removed\x20from\x20keychain','trim','red','You\x20can\x20find\x20your\x20API\x20key\x20at:','Show\x20authentication\x20status\x20and\x20validate\x20API\x20key','ERROR','apikey','log','\x20\x20tdx','106TdSrMQ','green','\x20\x20If\x20this\x20is\x20not\x20the\x20expected\x20account:','System\x20keychain\x20is\x20not\x20available','2045VNjWlS','bold','email','✓\x20Authentication\x20successful\x0a','User:\x20','✓\x20API\x20key\x20saved\x20to\x20system\x20keychain','\x20(profile:\x20','join','\x27\x20registered','You\x20can\x20now\x20use\x20tdx\x20commands.\x20Try:','first_name','✓\x20Profile\x20\x27','API\x20key\x20cannot\x20be\x20empty','getUserInfo','✓\x20Default\x20site\x20set\x20to\x20','\x20and\x20','auth:setup','Validating\x20OAuth\x20tokens...','auth','logLevel','Use\x20an\x20API\x20key','✓\x20OAuth\x20tokens\x20saved\x20to\x20system\x20keychain','24ONfrXm','auth:token','Credential\x20type:\x20OAuth','tdx\x20profile:\x20','Read\x20credential\x20from\x20keychain','/users/initiate_sso\x20(account:\x20','text','787896QkxlMo','method','\x20auth\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20-\x20Verify\x20authentication','status','N/A','Setup\x20API\x20key\x20authentication\x20interactively','\x20\x20\x20\x202.\x20Or\x20use\x20a\x20different\x20browser\x20profile\x20to\x20avoid\x20cached\x20sessions','Enter\x20your\x20TD\x20API\x20key:','last_name','\x20(site:\x20','cyan','Setting\x20up\x20authentication\x20for\x20site:\x20','execute','System\x20keychain\x20is\x20not\x20available.\x20OAuth\x20tokens\x20cannot\x20be\x20saved.\x20','tdx:\x20auth\x20setup','oauth','Print\x20the\x20current\x20OAuth\x20access\x20token','Opens\x20your\x20browser\x20to\x20sign\x20in\x20with\x20SSO','name','us01','error','719720ETCEbw','description','✓\x20Signed\x20in\x20successfully','Use\x20\x22tdx\x20auth\x20setup\x22\x20with\x20an\x20API\x20key\x20instead.','apiKey','filter','11ZlCJaf','create','Account\x20name\x20for\x20SSO\x20(press\x20Enter\x20to\x20skip):','504975hjbVuh','dim','7BhuIne','270Rvqcbv','⚠\x20System\x20keychain\x20not\x20available.\x20API\x20key\x20not\x20saved.','tdx:\x20auth\x20clear','OAuth\x20tokens','Choose\x20how\x20to\x20sign\x20in:','site','API\x20key\x20was\x20not\x20saved.\x20Please\x20try\x20again.','Opening\x20browser\x20for\x20authentication...','No\x20credentials\x20found\x20in\x20keychain','\x20\x20(','select','profile','98613dNeIoJ','Validating\x20API\x20key...','API\x20key'];a7_0xb775=function(){return _0xba5a0f;};return a7_0xb775();}import{clearCredentialCache}from'../core/credential-cache.js';import{startOAuthFlow}from'../core/oauth.js';import{promptSiteSelection}from'../core/constants.js';import a7_0x4787ac from'prompts';import{HTTPClientError}from'../sdk/client/http-client.js';import{TDX}from'../sdk/index.js';import{LogLevel}from'../utils/tdx-logger.js';import a7_0xa22649 from'chalk';export async function runOAuthLoginFlow(_0x2f1676,_0x439cc9,_0x2ad1d1,_0x42b126){const _0x2bf96a=a7_0xd83c,_0xdc08ed=await isKeychainAvailable();if(!_0xdc08ed)throw new Error(_0x2bf96a(0x200)+_0x2bf96a(0x20b));let _0x5ab79e=_0x42b126?.[_0x2bf96a(0x227)];if(!_0x5ab79e){const _0x37c419=await a7_0x4787ac({'type':_0x2bf96a(0x1f2),'name':'accountName','message':_0x2bf96a(0x210)});if(_0x37c419[_0x2bf96a(0x227)]===undefined)throw new Error(_0x2bf96a(0x22d));_0x5ab79e=_0x37c419[_0x2bf96a(0x227)][_0x2bf96a(0x230)]()||undefined;}const _0x30ef69=getConsoleUrl(_0x2f1676);console[_0x2bf96a(0x236)](_0x2bf96a(0x21b));_0x5ab79e?console['log']('\x20\x20'+_0x30ef69+_0x2bf96a(0x1f1)+_0x5ab79e+')'):console[_0x2bf96a(0x236)]('\x20\x20'+_0x30ef69+_0x2bf96a(0x229));console[_0x2bf96a(0x236)]('Waiting\x20for\x20authorization\x20(timeout:\x202\x20minutes)...');const _0x112bcc=loadGlobalProxy()||process.env.HTTPS_PROXY||process.env.HTTP_PROXY,_0x4ac0e1=await startOAuthFlow(_0x2f1676,{'accountName':_0x5ab79e,'proxy':_0x112bcc});console['log'](_0x2bf96a(0x1e7));const _0x216e80=TDX[_0x2bf96a(0x20f)]({'site':_0x2f1676,'accessToken':_0x4ac0e1['access_token'],'logLevel':_0x2ad1d1??LogLevel[_0x2bf96a(0x234)]}),_0xc6894b=await _0x216e80['jobs'][_0x2bf96a(0x1e3)]();console[_0x2bf96a(0x236)](a7_0xa22649[_0x2bf96a(0x239)](_0x2bf96a(0x20a))),console['log']('\x20\x20'+a7_0xa22649[_0x2bf96a(0x1fd)](_0x2f1676+':'+_0xc6894b['account_id'])+'\x20\x20user_id:'+_0xc6894b['id']+_0x2bf96a(0x21d)+_0xc6894b['email']+')');!_0x5ab79e&&(console['log'](a7_0xa22649[_0x2bf96a(0x212)](_0x2bf96a(0x23a))),console[_0x2bf96a(0x236)](a7_0xa22649[_0x2bf96a(0x212)]('\x20\x20\x20\x201.\x20Run:\x20tdx\x20auth\x20setup\x20--account-name\x20<name>')),console[_0x2bf96a(0x236)](a7_0xa22649[_0x2bf96a(0x212)](_0x2bf96a(0x1f9))));await saveOAuthTokens(_0x4ac0e1,_0x439cc9),console[_0x2bf96a(0x236)](_0x2bf96a(0x1eb)+(_0x439cc9?'\x20(profile:\x20'+_0x439cc9+')':''));if(_0x439cc9){const _0x21ae88={'site':_0x2f1676};saveProfileToUserConfig(_0x439cc9,_0x21ae88),console[_0x2bf96a(0x236)](_0x2bf96a(0x1e1)+_0x439cc9+'\x27\x20registered');}else saveDefaultSiteToUserConfig(_0x2f1676),console['log'](_0x2bf96a(0x1e4)+_0x2f1676);const _0x56a787=_0x439cc9?_0x2bf96a(0x22b)+_0x439cc9:'';console['log'](),console[_0x2bf96a(0x236)](_0x2bf96a(0x1df)),console[_0x2bf96a(0x236)](_0x2bf96a(0x237)+_0x56a787+'\x20auth\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20-\x20Verify\x20authentication'),console['log'](_0x2bf96a(0x237)+_0x56a787+'\x20databases\x20\x20\x20\x20\x20-\x20List\x20databases');}export async function promptAuthMethod(){const _0x33418f=a7_0xd83c,_0x43a614=await a7_0x4787ac({'type':_0x33418f(0x21e),'name':_0x33418f(0x1f4),'message':_0x33418f(0x218),'choices':[{'title':'Sign\x20in\x20with\x20browser\x20(recommended)','description':_0x33418f(0x204),'value':'oauth'},{'title':_0x33418f(0x1ea),'description':'For\x20scripts\x20or\x20headless\x20servers','value':_0x33418f(0x235)}]});return _0x43a614[_0x33418f(0x1f4)]||null;}export class AuthSetupCommand extends BaseCommand{[a7_0x155774(0x205)]=a7_0x155774(0x1e6);[a7_0x155774(0x209)]=a7_0x155774(0x1f8);async['execute'](_0x2f71e5){const _0x4510b0=a7_0x155774,{options:_0x412107}=_0x2f71e5,_0x49ed20=_0x412107[_0x4510b0(0x21f)];console[_0x4510b0(0x236)](a7_0xa22649[_0x4510b0(0x23d)](_0x4510b0(0x201)));const _0x1f3b98=_0x412107[_0x4510b0(0x219)]||_0x4510b0(0x206),_0x2683c7=await promptSiteSelection(_0x1f3b98,_0x49ed20,_0x4510b0(0x22d));if(!_0x2683c7)return 0x1;const _0x2d6c52=resolveSite(_0x2683c7),_0x4326bf=await promptAuthMethod();if(!_0x4326bf)return console[_0x4510b0(0x236)](_0x4510b0(0x224)),0x1;if(_0x4326bf===_0x4510b0(0x202)){const {accountName:_0x3abd08}=_0x412107;return await runOAuthLoginFlow(_0x2d6c52,_0x49ed20,_0x412107[_0x4510b0(0x1e9)]??LogLevel[_0x4510b0(0x234)],{'accountName':_0x3abd08}),0x0;}console[_0x4510b0(0x236)](_0x4510b0(0x1fe)+_0x2d6c52),console[_0x4510b0(0x236)](_0x4510b0(0x232)),console[_0x4510b0(0x236)]('\x20\x20'+getConsoleUrl(_0x2d6c52,'/app/mp/ak'));const _0x55e441=await a7_0x4787ac({'type':_0x4510b0(0x225),'name':_0x4510b0(0x20c),'message':_0x4510b0(0x1fa),'validate':_0x14ab8b=>{const _0x9d8f26=_0x4510b0;if(!_0x14ab8b||!_0x14ab8b[_0x9d8f26(0x230)]())return _0x9d8f26(0x1e2);return!![];}});if(!_0x55e441[_0x4510b0(0x20c)])return console[_0x4510b0(0x236)](_0x4510b0(0x224)),0x1;const _0x399e7e=_0x55e441[_0x4510b0(0x20c)];console[_0x4510b0(0x236)](_0x4510b0(0x221));try{const _0x5ec378=TDX['create']({'site':_0x2d6c52,'apiKey':_0x399e7e[_0x4510b0(0x230)](),'logLevel':_0x412107[_0x4510b0(0x1e9)]??LogLevel['ERROR']}),_0xb5d7c4=await _0x5ec378['jobs'][_0x4510b0(0x1e3)]();console[_0x4510b0(0x236)]('✓\x20API\x20key\x20is\x20valid\x20(User:\x20'+_0xb5d7c4[_0x4510b0(0x23e)]+')');const _0x128f79=await isKeychainAvailable();_0x128f79?(await saveAPIKeyAsync(_0x399e7e[_0x4510b0(0x230)](),_0x2d6c52,_0x49ed20),console[_0x4510b0(0x236)](_0x4510b0(0x241)+(_0x49ed20?'\x20(profile:\x20'+_0x49ed20+')':''))):(console[_0x4510b0(0x223)](a7_0xa22649['yellow'](_0x4510b0(0x215))),console['warn'](a7_0xa22649[_0x4510b0(0x22a)]('\x20\x20Set\x20TDX_API_KEY\x20environment\x20variable\x20for\x20authentication.')));if(_0x49ed20){const _0x5e5223={'site':_0x2d6c52};saveProfileToUserConfig(_0x49ed20,_0x5e5223),console[_0x4510b0(0x236)](_0x4510b0(0x1e1)+_0x49ed20+_0x4510b0(0x1de));}else saveDefaultSiteToUserConfig(_0x2d6c52),console[_0x4510b0(0x236)](_0x4510b0(0x1e4)+_0x2d6c52);const _0x5d59b7=_0x49ed20?'\x20--profile\x20'+_0x49ed20:'';return console[_0x4510b0(0x236)](),console['log']('You\x20can\x20now\x20use\x20tdx\x20commands.\x20Try:'),console[_0x4510b0(0x236)]('\x20\x20tdx'+_0x5d59b7+_0x4510b0(0x1f5)),console['log'](_0x4510b0(0x237)+_0x5d59b7+'\x20databases\x20\x20\x20\x20\x20-\x20List\x20databases'),0x0;}catch(_0x107781){if(_0x107781 instanceof HTTPClientError&&_0x107781[_0x4510b0(0x1f6)]===0x191)return printAuthError(_0x107781),0x1;return console['error'](a7_0xa22649[_0x4510b0(0x231)]('✗\x20Validation\x20failed:\x20'+(_0x107781 instanceof Error?_0x107781[_0x4510b0(0x22e)]:String(_0x107781)))),console[_0x4510b0(0x207)](_0x4510b0(0x21a)),0x1;}}}export class AuthStatusCommand extends BaseCommand{[a7_0x155774(0x205)]=a7_0x155774(0x1e8);[a7_0x155774(0x209)]=a7_0x155774(0x233);async[a7_0x155774(0x1ff)](_0xd8da30){const _0x3b48f6=a7_0x155774,{options:_0x1b4fa5,tdx:_0xcb5df2}=_0xd8da30,_0x38f910=_0x1b4fa5[_0x3b48f6(0x219)],_0x37b39d=_0x1b4fa5[_0x3b48f6(0x21f)],_0x2f8bb8=_0x37b39d?_0x37b39d:_0x3b48f6(0x1f7);console[_0x3b48f6(0x236)](_0x3b48f6(0x1ef)+_0x2f8bb8+_0x3b48f6(0x1fc)+_0x38f910+')');const _0x3f5c4b=await getOAuthTokens(_0x37b39d);if(_0x3f5c4b)console[_0x3b48f6(0x236)](_0x3b48f6(0x1ee)),console[_0x3b48f6(0x236)](_0x3b48f6(0x1f0)+(_0x37b39d?'\x20(profile:\x20'+_0x37b39d+')':''));else{const _0x5df3b5=await resolveAPIKeyAsync(_0x38f910,_0x37b39d);if(_0x5df3b5){const {source:_0x5ab487,isDeprecated:_0x29dc17}=_0x5df3b5,_0x3c00f5='Read\x20credential\x20from\x20'+_0x5ab487;console[_0x3b48f6(0x236)](_0x29dc17?a7_0xa22649['yellow'](_0x3c00f5):_0x3c00f5);}else console['log'](a7_0xa22649[_0x3b48f6(0x22a)]('No\x20credential\x20found'));}try{const _0x4da01d=await _0xcb5df2['jobs'][_0x3b48f6(0x1e3)]();return console[_0x3b48f6(0x236)](a7_0xa22649[_0x3b48f6(0x239)](_0x3b48f6(0x23f))),console[_0x3b48f6(0x236)](_0x3b48f6(0x240)+_0x4da01d[_0x3b48f6(0x23e)]),(_0x4da01d[_0x3b48f6(0x1e0)]||_0x4da01d[_0x3b48f6(0x1fb)])&&console[_0x3b48f6(0x236)]('Name:\x20'+[_0x4da01d['first_name'],_0x4da01d[_0x3b48f6(0x1fb)]][_0x3b48f6(0x20d)](Boolean)[_0x3b48f6(0x1dd)]('\x20')),0x0;}catch(_0x3f04c7){return _0x3f04c7 instanceof HTTPClientError&&_0x3f04c7[_0x3b48f6(0x1f6)]===0x191?printAuthError(_0x3f04c7,!![],_0x37b39d):console[_0x3b48f6(0x207)](a7_0xa22649['red'](_0x3b48f6(0x22c)+(_0x3f04c7 instanceof Error?_0x3f04c7[_0x3b48f6(0x22e)]:String(_0x3f04c7)))),0x1;}}}export class AuthTokenCommand extends BaseCommand{[a7_0x155774(0x205)]=a7_0x155774(0x1ed);['description']=a7_0x155774(0x203);async[a7_0x155774(0x1ff)](_0x1429dd){const _0x405270=a7_0x155774,{options:_0x9ab438}=_0x1429dd,_0x1bb408=await resolveOAuthAccessToken({'site':resolveSite(_0x9ab438[_0x405270(0x219)]||_0x405270(0x206)),'profile':_0x9ab438[_0x405270(0x21f)],'proxy':loadGlobalProxy()});return console[_0x405270(0x236)](_0x1bb408),0x0;}}function a7_0xd83c(_0x412255,_0x2866ab){_0x412255=_0x412255-0x1dd;const _0xb775af=a7_0xb775();let _0xd83c5f=_0xb775af[_0x412255];return _0xd83c5f;}export class AuthClearCommand extends BaseCommand{[a7_0x155774(0x205)]='auth:clear';[a7_0x155774(0x209)]='Remove\x20API\x20key\x20from\x20system\x20keychain';async[a7_0x155774(0x1ff)](_0x5a0739){const _0x43b33a=a7_0x155774,{options:_0x262c18}=_0x5a0739,_0x4e74d2=_0x262c18[_0x43b33a(0x21f)];console[_0x43b33a(0x236)](a7_0xa22649['bold'](_0x43b33a(0x216)));const _0x4b481d=await isKeychainAvailable();if(!_0x4b481d)return console['error'](a7_0xa22649[_0x43b33a(0x231)](_0x43b33a(0x23b))),0x1;const [_0x28224e,_0x350f8b]=await Promise['all']([deleteKeychainAPIKey(_0x4e74d2),deleteOAuthTokens(_0x4e74d2)]);if(_0x28224e||_0x350f8b){clearCredentialCache();const _0x341f06=[_0x28224e&&_0x43b33a(0x222),_0x350f8b&&_0x43b33a(0x217)][_0x43b33a(0x20d)](Boolean)[_0x43b33a(0x1dd)](_0x43b33a(0x1e5));return console['log']('✓\x20'+_0x341f06+_0x43b33a(0x22f)+(_0x4e74d2?_0x43b33a(0x242)+_0x4e74d2+')':'')),0x0;}else return console[_0x43b33a(0x236)](_0x43b33a(0x21c)+(_0x4e74d2?'\x20for\x20profile:\x20'+_0x4e74d2:'')),0x1;}}
|
|
1
|
+
const a8_0x31ef5c=a8_0x2c49;(function(_0xff9368,_0x2bd3a6){const _0x3dbbc2=a8_0x2c49,_0x1039ac=_0xff9368();while(!![]){try{const _0xaf187=parseInt(_0x3dbbc2(0xd6))/0x1+-parseInt(_0x3dbbc2(0xee))/0x2*(parseInt(_0x3dbbc2(0xf9))/0x3)+-parseInt(_0x3dbbc2(0x102))/0x4+-parseInt(_0x3dbbc2(0xe2))/0x5*(parseInt(_0x3dbbc2(0xd9))/0x6)+-parseInt(_0x3dbbc2(0xcf))/0x7+parseInt(_0x3dbbc2(0x105))/0x8+-parseInt(_0x3dbbc2(0xeb))/0x9*(-parseInt(_0x3dbbc2(0xc9))/0xa);if(_0xaf187===_0x2bd3a6)break;else _0x1039ac['push'](_0x1039ac['shift']());}catch(_0x405a8f){_0x1039ac['push'](_0x1039ac['shift']());}}}(a8_0x1d7c,0x7c59d));import{BaseCommand,printAuthError}from'./command.js';import{resolveOAuthAccessToken}from'../sdk/auth-token.js';import{saveAPIKeyAsync,resolveSite,resolveAPIKeyAsync,loadGlobalProxy}from'../core/config.js';import{getOAuthTokens,saveOAuthTokens}from'../core/oauth-keychain.js';import{saveProfileToUserConfig,saveDefaultSiteToUserConfig}from'../core/profile.js';import{getConsoleUrl}from'../sdk/client/endpoints.js';import{deleteKeychainAPIKey,isKeychainAvailable}from'../core/keychain.js';import{deleteOAuthTokens}from'../core/oauth-keychain.js';import{clearCredentialCache}from'../core/credential-cache.js';import{startOAuthFlow}from'../core/oauth.js';import{promptSiteSelection}from'../core/constants.js';import a8_0x2d6eb3 from'prompts';import{HTTPClientError}from'../sdk/client/http-client.js';import{TDX}from'../sdk/index.js';import{LogLevel}from'../utils/tdx-logger.js';function a8_0x2c49(_0x261a84,_0x3905a2){_0x261a84=_0x261a84-0xc5;const _0x1d7c80=a8_0x1d7c();let _0x2c49e1=_0x1d7c80[_0x261a84];return _0x2c49e1;}import a8_0x41f10a from'chalk';export async function runOAuthLoginFlow(_0x114516,_0x1071fc,_0x552f2d,_0xae420f){const _0xf88c5a=a8_0x2c49,_0x8a3fbc=await isKeychainAvailable();if(!_0x8a3fbc)throw new Error('System\x20keychain\x20is\x20not\x20available.\x20OAuth\x20tokens\x20cannot\x20be\x20saved.\x20'+'Use\x20\x22tdx\x20auth\x20setup\x22\x20with\x20an\x20API\x20key\x20instead.');let _0x46d5d8=_0xae420f?.[_0xf88c5a(0x11f)];if(!_0x46d5d8){const _0x160aaa=await a8_0x2d6eb3({'type':'text','name':'accountName','message':'Account\x20name\x20for\x20SSO\x20(press\x20Enter\x20to\x20skip):'});if(_0x160aaa[_0xf88c5a(0x11f)]===undefined)throw new Error(_0xf88c5a(0xdb));_0x46d5d8=_0x160aaa[_0xf88c5a(0x11f)]['trim']()||undefined;}const _0x1442b1=getConsoleUrl(_0x114516);console['log'](_0xf88c5a(0x101));_0x46d5d8?console['log']('\x20\x20'+_0x1442b1+_0xf88c5a(0xf1)+_0x46d5d8+')'):console[_0xf88c5a(0xd7)]('\x20\x20'+_0x1442b1+_0xf88c5a(0x10f));console[_0xf88c5a(0xd7)](_0xf88c5a(0xdf));const _0x224ca7=loadGlobalProxy()||process.env.HTTPS_PROXY||process.env.HTTP_PROXY,_0x117ff2=await startOAuthFlow(_0x114516,{'accountName':_0x46d5d8,'proxy':_0x224ca7});console[_0xf88c5a(0xd7)](_0xf88c5a(0xe5));const _0x472272=TDX[_0xf88c5a(0xe8)]({'site':_0x114516,'accessToken':_0x117ff2[_0xf88c5a(0xec)],'logLevel':_0x552f2d??LogLevel[_0xf88c5a(0xe1)]}),_0x4315b2=await _0x472272[_0xf88c5a(0xc8)][_0xf88c5a(0xc6)]();console[_0xf88c5a(0xd7)](a8_0x41f10a['green'](_0xf88c5a(0xe4))),console[_0xf88c5a(0xd7)]('\x20\x20'+a8_0x41f10a[_0xf88c5a(0xe7)](_0x114516+':'+_0x4315b2[_0xf88c5a(0xef)])+_0xf88c5a(0xf5)+_0x4315b2['id']+_0xf88c5a(0x10d)+_0x4315b2[_0xf88c5a(0x118)]+')');!_0x46d5d8&&(console[_0xf88c5a(0xd7)](a8_0x41f10a[_0xf88c5a(0xcc)]('\x20\x20If\x20this\x20is\x20not\x20the\x20expected\x20account:')),console[_0xf88c5a(0xd7)](a8_0x41f10a[_0xf88c5a(0xcc)](_0xf88c5a(0xc7))),console[_0xf88c5a(0xd7)](a8_0x41f10a[_0xf88c5a(0xcc)]('\x20\x20\x20\x202.\x20Or\x20use\x20a\x20different\x20browser\x20profile\x20to\x20avoid\x20cached\x20sessions')));await saveOAuthTokens(_0x117ff2,_0x1071fc),console['log']('✓\x20OAuth\x20tokens\x20saved\x20to\x20system\x20keychain'+(_0x1071fc?'\x20(profile:\x20'+_0x1071fc+')':''));if(_0x1071fc){const _0x3767a6={'site':_0x114516};saveProfileToUserConfig(_0x1071fc,_0x3767a6),console[_0xf88c5a(0xd7)](_0xf88c5a(0xed)+_0x1071fc+_0xf88c5a(0xf8));}else saveDefaultSiteToUserConfig(_0x114516),console[_0xf88c5a(0xd7)]('✓\x20Default\x20site\x20set\x20to\x20'+_0x114516);const _0x19ec1b=_0x1071fc?_0xf88c5a(0x10c)+_0x1071fc:'';console[_0xf88c5a(0xd7)](),console[_0xf88c5a(0xd7)]('You\x20can\x20now\x20use\x20tdx\x20commands.\x20Try:'),console[_0xf88c5a(0xd7)](_0xf88c5a(0x11d)+_0x19ec1b+'\x20auth\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20-\x20Verify\x20authentication'),console['log']('\x20\x20tdx'+_0x19ec1b+'\x20databases\x20\x20\x20\x20\x20-\x20List\x20databases');}export async function promptAuthMethod(){const _0x908d63=a8_0x2c49,_0x11faf0=await a8_0x2d6eb3({'type':_0x908d63(0x120),'name':'method','message':'Choose\x20how\x20to\x20sign\x20in:','choices':[{'title':_0x908d63(0xfa),'description':_0x908d63(0x103),'value':'oauth'},{'title':_0x908d63(0xf0),'description':_0x908d63(0x104),'value':_0x908d63(0xce)}]});return _0x11faf0[_0x908d63(0x10e)]||null;}function a8_0x1d7c(){const _0x234276=['/app/mp/ak','User:\x20','Credential\x20type:\x20OAuth','Setup\x20API\x20key\x20authentication\x20interactively','email','Read\x20credential\x20from\x20','logLevel','\x20(profile:\x20','\x20removed\x20from\x20keychain','\x20\x20tdx','error','accountName','select','execute','✗\x20Validation\x20failed:\x20','red','getUserInfo','\x20\x20\x20\x201.\x20Run:\x20tdx\x20auth\x20setup\x20--account-name\x20<name>','jobs','15988520XNTytO','us01','You\x20can\x20now\x20use\x20tdx\x20commands.\x20Try:','dim','✓\x20API\x20key\x20saved\x20to\x20system\x20keychain','apikey','1560314oacCbF','yellow','last_name','description','Show\x20authentication\x20status\x20and\x20validate\x20API\x20key','name','apiKey','308257yjNiWs','log','Name:\x20','174QjUkLL','trim','Setup\x20cancelled','N/A','message','Remove\x20API\x20key\x20from\x20system\x20keychain','Waiting\x20for\x20authorization\x20(timeout:\x202\x20minutes)...','No\x20credential\x20found','ERROR','168095eQIwcB','tdx:\x20auth\x20setup','✓\x20Signed\x20in\x20successfully','Validating\x20OAuth\x20tokens...','✓\x20API\x20key\x20is\x20valid\x20(User:\x20','cyan','create','\x20\x20Set\x20TDX_API_KEY\x20environment\x20variable\x20for\x20authentication.','filter','9LvtZsd','access_token','✓\x20Profile\x20\x27','3646aRFhfH','account_id','Use\x20an\x20API\x20key','/users/initiate_sso\x20(account:\x20','Setting\x20up\x20authentication\x20for\x20site:\x20','first_name','✓\x20Authentication\x20successful\x0a','\x20\x20user_id:','\x0aSetup\x20cancelled','API\x20key','\x27\x20registered','672WExMUL','Sign\x20in\x20with\x20browser\x20(recommended)','Print\x20the\x20current\x20OAuth\x20access\x20token','auth','status','password','You\x20can\x20find\x20your\x20API\x20key\x20at:','profile','Opening\x20browser\x20for\x20authentication...','2299400SpsCZm','Opens\x20your\x20browser\x20to\x20sign\x20in\x20with\x20SSO','For\x20scripts\x20or\x20headless\x20servers','6266296xLxmub','site','join','Enter\x20your\x20TD\x20API\x20key:','Validating\x20API\x20key...','\x20auth\x20\x20\x20\x20\x20\x20\x20\x20\x20\x20-\x20Verify\x20authentication','oauth','\x20--profile\x20','\x20\x20(','method','/oauth/authorize','bold','\x20(site:\x20','tdx\x20profile:\x20','warn'];a8_0x1d7c=function(){return _0x234276;};return a8_0x1d7c();}export class AuthSetupCommand extends BaseCommand{[a8_0x31ef5c(0xd4)]='auth:setup';['description']=a8_0x31ef5c(0x117);async[a8_0x31ef5c(0x121)](_0x46f3c9){const _0x1273c8=a8_0x31ef5c,{options:_0x23ee5b}=_0x46f3c9,_0x3875cb=_0x23ee5b[_0x1273c8(0x100)];console[_0x1273c8(0xd7)](a8_0x41f10a[_0x1273c8(0x110)](_0x1273c8(0xe3)));const _0x58d4c6=_0x23ee5b[_0x1273c8(0x106)]||'us01',_0x26313a=await promptSiteSelection(_0x58d4c6,_0x3875cb,_0x1273c8(0xdb));if(!_0x26313a)return 0x1;const _0x39bbcd=resolveSite(_0x26313a),_0x592d68=await promptAuthMethod();if(!_0x592d68)return console[_0x1273c8(0xd7)]('\x0aSetup\x20cancelled'),0x1;if(_0x592d68===_0x1273c8(0x10b)){const {accountName:_0x3f2179}=_0x23ee5b;return await runOAuthLoginFlow(_0x39bbcd,_0x3875cb,_0x23ee5b[_0x1273c8(0x11a)]??LogLevel[_0x1273c8(0xe1)],{'accountName':_0x3f2179}),0x0;}console[_0x1273c8(0xd7)](_0x1273c8(0xf2)+_0x39bbcd),console[_0x1273c8(0xd7)](_0x1273c8(0xff)),console[_0x1273c8(0xd7)]('\x20\x20'+getConsoleUrl(_0x39bbcd,_0x1273c8(0x114)));const _0x18e500=await a8_0x2d6eb3({'type':_0x1273c8(0xfe),'name':_0x1273c8(0xd5),'message':_0x1273c8(0x108),'validate':_0x1c7bcc=>{const _0x4d76b7=_0x1273c8;if(!_0x1c7bcc||!_0x1c7bcc[_0x4d76b7(0xda)]())return'API\x20key\x20cannot\x20be\x20empty';return!![];}});if(!_0x18e500['apiKey'])return console[_0x1273c8(0xd7)](_0x1273c8(0xf6)),0x1;const _0x21be4a=_0x18e500[_0x1273c8(0xd5)];console['log'](_0x1273c8(0x109));try{const _0x4fd9ce=TDX['create']({'site':_0x39bbcd,'apiKey':_0x21be4a['trim'](),'logLevel':_0x23ee5b[_0x1273c8(0x11a)]??LogLevel[_0x1273c8(0xe1)]}),_0x185e00=await _0x4fd9ce[_0x1273c8(0xc8)][_0x1273c8(0xc6)]();console['log'](_0x1273c8(0xe6)+_0x185e00[_0x1273c8(0x118)]+')');const _0x4ce774=await isKeychainAvailable();_0x4ce774?(await saveAPIKeyAsync(_0x21be4a[_0x1273c8(0xda)](),_0x39bbcd,_0x3875cb),console[_0x1273c8(0xd7)](_0x1273c8(0xcd)+(_0x3875cb?_0x1273c8(0x11b)+_0x3875cb+')':''))):(console['warn'](a8_0x41f10a['yellow']('⚠\x20System\x20keychain\x20not\x20available.\x20API\x20key\x20not\x20saved.')),console[_0x1273c8(0x113)](a8_0x41f10a[_0x1273c8(0xd0)](_0x1273c8(0xe9))));if(_0x3875cb){const _0x16e5e9={'site':_0x39bbcd};saveProfileToUserConfig(_0x3875cb,_0x16e5e9),console[_0x1273c8(0xd7)](_0x1273c8(0xed)+_0x3875cb+_0x1273c8(0xf8));}else saveDefaultSiteToUserConfig(_0x39bbcd),console[_0x1273c8(0xd7)]('✓\x20Default\x20site\x20set\x20to\x20'+_0x39bbcd);const _0x15709b=_0x3875cb?_0x1273c8(0x10c)+_0x3875cb:'';return console[_0x1273c8(0xd7)](),console[_0x1273c8(0xd7)](_0x1273c8(0xcb)),console['log'](_0x1273c8(0x11d)+_0x15709b+_0x1273c8(0x10a)),console[_0x1273c8(0xd7)](_0x1273c8(0x11d)+_0x15709b+'\x20databases\x20\x20\x20\x20\x20-\x20List\x20databases'),0x0;}catch(_0xa19f22){if(_0xa19f22 instanceof HTTPClientError&&_0xa19f22[_0x1273c8(0xfd)]===0x191)return printAuthError(_0xa19f22),0x1;return console[_0x1273c8(0x11e)](a8_0x41f10a[_0x1273c8(0xc5)](_0x1273c8(0x122)+(_0xa19f22 instanceof Error?_0xa19f22['message']:String(_0xa19f22)))),console[_0x1273c8(0x11e)]('API\x20key\x20was\x20not\x20saved.\x20Please\x20try\x20again.'),0x1;}}}export class AuthStatusCommand extends BaseCommand{[a8_0x31ef5c(0xd4)]=a8_0x31ef5c(0xfc);[a8_0x31ef5c(0xd2)]=a8_0x31ef5c(0xd3);async[a8_0x31ef5c(0x121)](_0x4d49cd){const _0x2ca55c=a8_0x31ef5c,{options:_0x2f348f,tdx:_0x420098}=_0x4d49cd,_0x3709a0=_0x2f348f[_0x2ca55c(0x106)],_0x149335=_0x2f348f[_0x2ca55c(0x100)],_0x2a32d0=_0x149335?_0x149335:_0x2ca55c(0xdc);console['log'](_0x2ca55c(0x112)+_0x2a32d0+_0x2ca55c(0x111)+_0x3709a0+')');const _0x153d1f=await getOAuthTokens(_0x149335);if(_0x153d1f)console[_0x2ca55c(0xd7)](_0x2ca55c(0x116)),console[_0x2ca55c(0xd7)]('Read\x20credential\x20from\x20keychain'+(_0x149335?'\x20(profile:\x20'+_0x149335+')':''));else{const _0x4e2c66=await resolveAPIKeyAsync(_0x3709a0,_0x149335);if(_0x4e2c66){const {source:_0x1a1aa3,isDeprecated:_0x1b3454}=_0x4e2c66,_0x3e5a64=_0x2ca55c(0x119)+_0x1a1aa3;console[_0x2ca55c(0xd7)](_0x1b3454?a8_0x41f10a[_0x2ca55c(0xd0)](_0x3e5a64):_0x3e5a64);}else console[_0x2ca55c(0xd7)](a8_0x41f10a[_0x2ca55c(0xd0)](_0x2ca55c(0xe0)));}try{const _0x4794d1=await _0x420098[_0x2ca55c(0xc8)][_0x2ca55c(0xc6)]();return console[_0x2ca55c(0xd7)](a8_0x41f10a['green'](_0x2ca55c(0xf4))),console['log'](_0x2ca55c(0x115)+_0x4794d1['email']),(_0x4794d1[_0x2ca55c(0xf3)]||_0x4794d1[_0x2ca55c(0xd1)])&&console[_0x2ca55c(0xd7)](_0x2ca55c(0xd8)+[_0x4794d1[_0x2ca55c(0xf3)],_0x4794d1['last_name']][_0x2ca55c(0xea)](Boolean)[_0x2ca55c(0x107)]('\x20')),0x0;}catch(_0x6cb854){return _0x6cb854 instanceof HTTPClientError&&_0x6cb854[_0x2ca55c(0xfd)]===0x191?printAuthError(_0x6cb854,!![],_0x149335):console[_0x2ca55c(0x11e)](a8_0x41f10a['red'](_0x2ca55c(0x122)+(_0x6cb854 instanceof Error?_0x6cb854[_0x2ca55c(0xdd)]:String(_0x6cb854)))),0x1;}}}export class AuthTokenCommand extends BaseCommand{[a8_0x31ef5c(0xd4)]='auth:token';[a8_0x31ef5c(0xd2)]=a8_0x31ef5c(0xfb);async[a8_0x31ef5c(0x121)](_0x476248){const _0x332b12=a8_0x31ef5c,{options:_0x3cb9b0}=_0x476248,_0x16124a=await resolveOAuthAccessToken({'site':resolveSite(_0x3cb9b0[_0x332b12(0x106)]||_0x332b12(0xca)),'profile':_0x3cb9b0[_0x332b12(0x100)],'proxy':loadGlobalProxy()});return console['log'](_0x16124a),0x0;}}export class AuthClearCommand extends BaseCommand{[a8_0x31ef5c(0xd4)]='auth:clear';[a8_0x31ef5c(0xd2)]=a8_0x31ef5c(0xde);async['execute'](_0x535fd3){const _0xfe958f=a8_0x31ef5c,{options:_0x4dae9e}=_0x535fd3,_0x88b624=_0x4dae9e[_0xfe958f(0x100)];console['log'](a8_0x41f10a['bold']('tdx:\x20auth\x20clear'));const _0x3f492d=await isKeychainAvailable();if(!_0x3f492d)return console[_0xfe958f(0x11e)](a8_0x41f10a['red']('System\x20keychain\x20is\x20not\x20available')),0x1;const [_0x46a543,_0x2d71b0]=await Promise['all']([deleteKeychainAPIKey(_0x88b624),deleteOAuthTokens(_0x88b624)]);if(_0x46a543||_0x2d71b0){clearCredentialCache();const _0x573183=[_0x46a543&&_0xfe958f(0xf7),_0x2d71b0&&'OAuth\x20tokens'][_0xfe958f(0xea)](Boolean)[_0xfe958f(0x107)]('\x20and\x20');return console['log']('✓\x20'+_0x573183+_0xfe958f(0x11c)+(_0x88b624?_0xfe958f(0x11b)+_0x88b624+')':'')),0x0;}else return console['log']('No\x20credentials\x20found\x20in\x20keychain'+(_0x88b624?'\x20for\x20profile:\x20'+_0x88b624:'')),0x1;}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a8_0x19dc26=a8_0x4b87;(function(_0x4f30f5,_0x1c5e22){const _0x1514f1=a8_0x4b87,_0x5c6c40=_0x4f30f5();while(!![]){try{const _0x157db3=-parseInt(_0x1514f1(0x124))/0x1*(parseInt(_0x1514f1(0x163))/0x2)+parseInt(_0x1514f1(0x1b1))/0x3*(parseInt(_0x1514f1(0x146))/0x4)+parseInt(_0x1514f1(0x16b))/0x5*(-parseInt(_0x1514f1(0x144))/0x6)+parseInt(_0x1514f1(0x130))/0x7*(parseInt(_0x1514f1(0x18d))/0x8)+parseInt(_0x1514f1(0x16e))/0x9*(-parseInt(_0x1514f1(0x198))/0xa)+-parseInt(_0x1514f1(0x156))/0xb+-parseInt(_0x1514f1(0x169))/0xc*(-parseInt(_0x1514f1(0x121))/0xd);if(_0x157db3===_0x1c5e22)break;else _0x5c6c40['push'](_0x5c6c40['shift']());}catch(_0x4b6928){_0x5c6c40['push'](_0x5c6c40['shift']());}}}(a8_0x895a,0x314cd));import{BaseCommand}from'./command.js';import{withProgressSpinner}from'../utils/spinner.js';import{handleSDKOutput,handleSingleObjectOutput,isStructuredFormat}from'../core/command-output.js';import a8_0x3ddac9 from'chalk';function a8_0x895a(){const _0x171245=['tdx\x20cas\x20push\x20<path>','error','Behaviors\x20(','hasErrors','tdx\x20cas\x20pull\x20<name>','Attributes\x20(','result','attribute(s)\x20','tdx\x20cas\x20desc\x20<name>','\x20segments,\x20','\x20or\x20set\x20context\x20with\x20','Found\x20','bold','\x20=\x20','audiences','description','dir','reason','Write\x20files?','Pushing\x20to\x20CAS\x20API...','underline','valid','setPhase','Error:\x20\x20','renamedBehaviors','\x0aError:','Count:\x20\x20','13JQkVMt','\x20audience(s)','errors','121EttSEC','masterKeyColumn','rows','Aborted.','execute','Audience:\x20','Would\x20update:\x20','validCount','length','\x20\x20Renamed\x20attribute:\x20\x22','toId','\x20activation(s)','91zDfIEs','No\x20composable\x20audience\x20specified.','composableAudience','\x0aFix\x20the\x20errors\x20above\x20and\x20try\x20again.\x20Use\x20`tdx\x20cas\x20validate`\x20to\x20check\x20files\x20locally.','fromId','\x20\x20Renames\x20are\x20applied\x20by\x20recreating\x20the\x20attribute/behavior\x20server-side\x20—\x20its\x20id\x20will\x20change.','map','population','No\x20YAML\x20files\x20found\x20in:\x20','\x20→\x20','Source:\x20\x20\x20','🧊\x20','timeColumn','source','Resolving\x20connections...','\x20(server\x20id\x20changed\x20','Pull\x20composable\x20audience\x20to\x20YAML\x20files','name','\x0aSample\x20Rows\x20(','\x20—\x20a\x20real\x20push\x20will\x20refuse\x20unless\x20run\x20with\x20--delete.','6QQEmcx','\x20folder(s)','216700WejQkP','relative','cas:push','No\x20CAS\x20resources\x20found\x20in\x20YAML\x20files.','\x20file(s)\x20with\x20errors,\x20','✔\x20All\x20','status','Directory\x20not\x20found:\x20','\x20file(s)\x20valid','utf-8','\x20and\x20','attributes','toLocaleString','\x20valid','\x20segment(s)','\x0a[Dry\x20run]\x20No\x20changes\x20were\x20made','39743mZWGlw','get','Analyzing\x20CAS\x20YAML\x20files...','counts','data','red','pull','\x20—\x20','\x20warning(s)','cwd','yellow','dim','diff','2486BTQlId','preview','Pulling\x20composable\x20audience\x20\x27','relativePath','push','List\x20composable\x20audiences','5447112WJaWVK','\x27...','956740GtjYDA','cas:list','\x20warning(s)\x20found','18onaWXU','removedBehaviors','tdx\x20use\x20cas\x20<name>','invalidCount','\x20\x20Removed\x20(--delete):\x20','dryRun','names','\x20composable\x20segment\x20file(s)\x20not\x20validated','composable_audience','from','\x20activations)','Audience\x20name\x20required.','\x20\x20Schema:\x20','created','connection','Fetching\x20composable\x20audiences...','\x0aPush\x20','folders','join','\x20composable\x20audiences','renamedAttributes','All\x20files\x20are\x20up\x20to\x20date.','Push\x20YAML\x20files\x20to\x20CAS\x20API','No\x20composable\x20audiences\x20found.','Running\x20preview\x20for\x20\x27','activations','green','\x20(time:\x20','Fetching\x20audience\x20\x27','success','Would\x20create:\x20','28872cKFKiW','audienceName','log','\x20\x20Renamed\x20behavior:\x20\x22','content','cas:validate','absolutePath','removedAttributes','cyan','Describe\x20a\x20composable\x20audience','updated','851230UzNMmV','isNew','masterSchema','filter','warnings','\x20\x20Audience:\x20','delete','\x20\x20Updated:\x20','table','segments','Tip:\x20Run\x20`tdx\x20cas\x20pull\x20<name>`\x20first\x20to\x20create\x20the\x20folder\x20structure','\x22\x20→\x20\x22','behaviors','\x20error(s)','warningCount','Use\x20','\x0a↻\x20Would\x20rename\x20attribute\x20\x22','\x0a↻\x20Would\x20rename\x20behavior\x20\x22','\x20change(s)?','cas','cas:preview','Usage:\x20tdx\x20cas\x20preview\x20<segment_name>\x20[--audience\x20<name>]','verbose','audienceDrift','list','12pMqMZd','count'];a8_0x895a=function(){return _0x171245;};return a8_0x895a();}import{existsSync,mkdirSync,writeFileSync}from'fs';import a8_0x27ea60 from'path';import{confirmKey,isInteractive}from'../utils/prompt.js';function a8_0x4b87(_0x2aeb3b,_0x146b83){_0x2aeb3b=_0x2aeb3b-0x11b;const _0x895a08=a8_0x895a();let _0x4b8755=_0x895a08[_0x2aeb3b];return _0x4b8755;}import{collectYamlFiles,buildConnectionMaps}from'../sdk/cas/push-workflow.js';import{validateCasYamlFiles,isCasValidationResult,calculateCasValidationSummary}from'../sdk/cas/validate-files.js';import{formatValidationResult}from'../sdk/segment/yaml-validator.js';import{saveSessionContext}from'../core/session.js';import{sanitizeFileName}from'../utils/string-utils.js';export class CASListCommand extends BaseCommand{['name']=a8_0x19dc26(0x16c);[a8_0x19dc26(0x1c2)]=a8_0x19dc26(0x168);async['execute'](_0x354aa4){const _0x451160=a8_0x19dc26,{options:_0x111098,tdx:_0x37834c}=_0x354aa4,_0x34dc5f=await withProgressSpinner(_0x451160(0x17d),()=>_0x37834c[_0x451160(0x1ab)][_0x451160(0x1b0)](),{'verbose':_0x111098[_0x451160(0x1ae)]}),_0x2f72f4=_0x34dc5f['data'];if(isStructuredFormat(_0x111098))return await handleSDKOutput(_0x2f72f4,_0x111098),0x0;if(_0x2f72f4[_0x451160(0x12c)]===0x0)return console[_0x451160(0x18f)](a8_0x3ddac9[_0x451160(0x161)](_0x451160(0x185))),0x0;console[_0x451160(0x18f)](a8_0x3ddac9['green']('Found\x20'+_0x2f72f4['length']+_0x451160(0x181)));for(const _0x15d117 of _0x2f72f4){const _0x1ec641=_0x15d117[_0x451160(0x137)]?a8_0x3ddac9[_0x451160(0x161)]('\x20('+Number(_0x15d117['population'])[_0x451160(0x152)]()+')'):'',_0x267aa1=a8_0x3ddac9[_0x451160(0x161)]('\x20'+_0x15d117['masterSchema']+'.'+_0x15d117['masterTable']);console[_0x451160(0x18f)](_0x451160(0x13b)+_0x15d117[_0x451160(0x141)]+_0x1ec641+_0x267aa1),_0x15d117[_0x451160(0x1c2)]&&console[_0x451160(0x18f)]('\x20\x20'+a8_0x3ddac9[_0x451160(0x161)](_0x15d117['description']));}return 0x0;}}export class CASDescCommand extends BaseCommand{[a8_0x19dc26(0x141)]='cas:desc';[a8_0x19dc26(0x1c2)]=a8_0x19dc26(0x196);async['execute'](_0x57a327){const _0x291db6=a8_0x19dc26,{options:_0x491a23,args:_0xd84530,tdx:_0x1f0671}=_0x57a327,_0x5e041b=_0xd84530[0x0]||_0x491a23[_0x291db6(0x132)];if(!_0x5e041b)return console[_0x291db6(0x1b4)](a8_0x3ddac9[_0x291db6(0x160)](_0x291db6(0x131))),console['error']('Use\x20'+a8_0x3ddac9[_0x291db6(0x195)](_0x291db6(0x1bb))+'\x20or\x20set\x20context\x20with\x20'+a8_0x3ddac9['cyan'](_0x291db6(0x170))),0x1;const _0x424cad=await withProgressSpinner(_0x291db6(0x18a)+_0x5e041b+'\x27...',()=>_0x1f0671[_0x291db6(0x1ab)][_0x291db6(0x157)](_0x5e041b),{'verbose':_0x491a23[_0x291db6(0x1ae)]}),_0x1353fa=_0x424cad[_0x291db6(0x15a)];if(isStructuredFormat(_0x491a23))return await handleSingleObjectOutput(_0x1353fa,_0x491a23),0x0;console[_0x291db6(0x18f)](a8_0x3ddac9[_0x291db6(0x1bf)](_0x1353fa[_0x291db6(0x141)]));if(_0x1353fa['description'])console[_0x291db6(0x18f)](a8_0x3ddac9[_0x291db6(0x161)](_0x1353fa[_0x291db6(0x1c2)]));console['log'](),console[_0x291db6(0x18f)](a8_0x3ddac9['underline']('Master\x20Table')),console[_0x291db6(0x18f)](_0x291db6(0x17a)+_0x1353fa[_0x291db6(0x19a)]),console[_0x291db6(0x18f)]('\x20\x20Table:\x20\x20'+_0x1353fa['masterTable']),console[_0x291db6(0x18f)]('\x20\x20Key:\x20\x20\x20\x20'+_0x1353fa[_0x291db6(0x125)]),console[_0x291db6(0x18f)]();if(_0x1353fa[_0x291db6(0x151)]?.[_0x291db6(0x12c)]){console[_0x291db6(0x18f)](a8_0x3ddac9[_0x291db6(0x1c7)](_0x291db6(0x1b8)+_0x1353fa[_0x291db6(0x151)][_0x291db6(0x12c)]+')'));for(const _0xd628f0 of _0x1353fa[_0x291db6(0x151)]){console[_0x291db6(0x18f)]('\x20\x20'+a8_0x3ddac9['bold'](_0xd628f0[_0x291db6(0x141)])+'\x20—\x20'+_0xd628f0['schema']+'.'+_0xd628f0[_0x291db6(0x1a0)]+'.'+_0xd628f0['column']+'\x20('+a8_0x3ddac9[_0x291db6(0x161)](_0xd628f0['type'])+')');}console[_0x291db6(0x18f)]();}if(_0x1353fa['behaviors']?.[_0x291db6(0x12c)]){console[_0x291db6(0x18f)](a8_0x3ddac9['underline'](_0x291db6(0x1b5)+_0x1353fa[_0x291db6(0x1a4)][_0x291db6(0x12c)]+')'));for(const _0x1e4dcd of _0x1353fa[_0x291db6(0x1a4)]){const _0x2ca93d=_0x1e4dcd['timeColumn']?_0x291db6(0x189)+_0x1e4dcd[_0x291db6(0x13c)]+')':'';console[_0x291db6(0x18f)]('\x20\x20'+a8_0x3ddac9[_0x291db6(0x1bf)](_0x1e4dcd['name'])+_0x291db6(0x15d)+_0x1e4dcd['schema']+'.'+_0x1e4dcd['table']+_0x2ca93d);}}return 0x0;}}export class CASPullCommand extends BaseCommand{[a8_0x19dc26(0x141)]='cas:pull';[a8_0x19dc26(0x1c2)]=a8_0x19dc26(0x140);async[a8_0x19dc26(0x128)](_0x5ea386){const _0x21573e=a8_0x19dc26,{options:_0x7c1de0,args:_0x36f32f,tdx:_0x18f4c}=_0x5ea386,_0x1b65f4=_0x7c1de0,_0x24048b=_0x36f32f[0x0]||_0x7c1de0[_0x21573e(0x132)];if(!_0x24048b)return console[_0x21573e(0x1b4)](a8_0x3ddac9['yellow'](_0x21573e(0x131))),console[_0x21573e(0x1b4)](_0x21573e(0x1a7)+a8_0x3ddac9[_0x21573e(0x195)](_0x21573e(0x1b7))+'\x20or\x20set\x20context\x20with\x20'+a8_0x3ddac9[_0x21573e(0x195)]('tdx\x20use\x20cas\x20<name>')),0x1;const _0x3692bc=_0x1b65f4[_0x21573e(0x1c3)]||a8_0x27ea60['join'](process['cwd'](),_0x21573e(0x1ab),sanitizeFileName(_0x24048b)),_0x7cefdf=await withProgressSpinner(_0x21573e(0x165)+_0x24048b+_0x21573e(0x16a),_0x42d433=>_0x18f4c['cas'][_0x21573e(0x15c)](_0x24048b,{'targetDir':_0x3692bc,'verbose':_0x1b65f4[_0x21573e(0x1ae)],'progress':{'update':_0x11824f=>_0x42d433[_0x21573e(0x11c)](_0x11824f)}}),{'verbose':_0x1b65f4['verbose']}),_0x3ed7b7=_0x7cefdf['data'],_0x339bad=_0x3ed7b7['files'][_0x21573e(0x19b)](_0x158dae=>_0x158dae[_0x21573e(0x199)]||_0x158dae['hasChanges']);saveSessionContext({'composable_audience':_0x3ed7b7[_0x21573e(0x18e)]},_0x1b65f4['session']),console[_0x21573e(0x18f)](a8_0x3ddac9[_0x21573e(0x188)]('Context\x20set:\x20'+a8_0x3ddac9['dim'](_0x21573e(0x176))+_0x21573e(0x1c0)+a8_0x3ddac9[_0x21573e(0x195)](_0x3ed7b7['audienceName'])));if(_0x339bad['length']===0x0)return console[_0x21573e(0x18f)](a8_0x3ddac9[_0x21573e(0x188)](_0x21573e(0x183))),0x0;for(const _0x5f1508 of _0x339bad){if(_0x5f1508['isNew'])console[_0x21573e(0x18f)](a8_0x3ddac9[_0x21573e(0x188)]('+\x20'+_0x5f1508['relativePath']+'\x20(new)'));else _0x5f1508[_0x21573e(0x162)]&&(console[_0x21573e(0x18f)](a8_0x3ddac9[_0x21573e(0x160)]('~\x20'+_0x5f1508[_0x21573e(0x166)])),console[_0x21573e(0x18f)](_0x5f1508[_0x21573e(0x162)]));}console[_0x21573e(0x18f)]('\x0a'+_0x339bad['length']+'\x20file(s)\x20to\x20write\x20'+('('+_0x3ed7b7[_0x21573e(0x159)][_0x21573e(0x1a1)]+_0x21573e(0x1bc)+_0x3ed7b7[_0x21573e(0x159)][_0x21573e(0x187)]+_0x21573e(0x178)));if(_0x1b65f4[_0x21573e(0x173)])return console[_0x21573e(0x18f)](a8_0x3ddac9[_0x21573e(0x161)]('(dry\x20run\x20—\x20no\x20files\x20written)')),0x0;if(!_0x1b65f4['yes']&&isInteractive()){const _0x4b562b=await confirmKey(_0x21573e(0x1c5));if(!_0x4b562b)return console['log'](a8_0x3ddac9[_0x21573e(0x161)]('Cancelled.')),0x0;}for(const _0x472f03 of _0x339bad){const _0xb22476=a8_0x27ea60['dirname'](_0x472f03[_0x21573e(0x193)]);if(!existsSync(_0xb22476))mkdirSync(_0xb22476,{'recursive':!![]});writeFileSync(_0x472f03[_0x21573e(0x193)],_0x472f03[_0x21573e(0x191)],_0x21573e(0x14f));}return console[_0x21573e(0x18f)](a8_0x3ddac9[_0x21573e(0x188)]('Wrote\x20'+_0x339bad[_0x21573e(0x12c)]+'\x20file(s)\x20to\x20'+_0x3692bc)),0x0;}}export class CASPushCommand extends BaseCommand{[a8_0x19dc26(0x141)]=a8_0x19dc26(0x148);[a8_0x19dc26(0x1c2)]=a8_0x19dc26(0x184);async['execute'](_0x4e53ef){const _0x42bb7e=a8_0x19dc26,{options:_0x46be4d,args:_0x2dd2aa,tdx:_0x2437b4}=_0x4e53ef,_0x3793f8=_0x46be4d;let _0x5a6437=_0x2dd2aa[0x0];!_0x5a6437&&_0x46be4d['composableAudience']&&(_0x5a6437=a8_0x27ea60[_0x42bb7e(0x180)](process[_0x42bb7e(0x15f)](),_0x42bb7e(0x1ab),sanitizeFileName(_0x46be4d[_0x42bb7e(0x132)])));if(!_0x5a6437)return console[_0x42bb7e(0x1b4)](a8_0x3ddac9[_0x42bb7e(0x160)]('No\x20composable\x20audience\x20specified.')),console['error'](_0x42bb7e(0x1a7)+a8_0x3ddac9[_0x42bb7e(0x195)](_0x42bb7e(0x1b3))+_0x42bb7e(0x1bd)+a8_0x3ddac9['cyan'](_0x42bb7e(0x170))),0x1;if(!existsSync(_0x5a6437))return console['error'](a8_0x3ddac9[_0x42bb7e(0x15b)](_0x42bb7e(0x14d)+_0x5a6437)),console[_0x42bb7e(0x1b4)](a8_0x3ddac9[_0x42bb7e(0x161)](_0x42bb7e(0x1a2))),0x1;const _0x544eb7=_0x46be4d[_0x42bb7e(0x132)]||a8_0x27ea60['basename'](_0x5a6437),_0x5d04f9=a8_0x27ea60[_0x42bb7e(0x147)](process[_0x42bb7e(0x15f)](),_0x5a6437)||'.';console[_0x42bb7e(0x18f)](_0x42bb7e(0x129)+a8_0x3ddac9['cyan'](_0x544eb7)),console['log'](_0x42bb7e(0x13a)+a8_0x3ddac9[_0x42bb7e(0x161)](_0x5d04f9)),console[_0x42bb7e(0x18f)]();const _0x23e209=collectYamlFiles(_0x5a6437);if(_0x23e209[_0x42bb7e(0x12c)]===0x0)return console[_0x42bb7e(0x1b4)](a8_0x3ddac9[_0x42bb7e(0x15b)](_0x42bb7e(0x138)+_0x5a6437)),0x1;console['log'](_0x42bb7e(0x1be)+_0x23e209[_0x42bb7e(0x12c)]+'\x20YAML\x20file(s)');const _0xd43434=await withProgressSpinner(_0x42bb7e(0x13e),()=>buildConnectionMaps(_0x2437b4[_0x42bb7e(0x17c)]),{'verbose':_0x3793f8[_0x42bb7e(0x1ae)]}),_0x194d9a=_0xd43434[_0x42bb7e(0x15a)],{nameToId:_0x29882c,nameToType:_0xa435ce,idToType:_0x6734d9}=_0x194d9a,_0x1dfd0d=validateCasYamlFiles(_0x23e209,_0x5a6437,{'connectionNameToType':_0xa435ce,'connectionIdToType':_0x6734d9,'connectionNameToId':_0x29882c}),_0x516892=calculateCasValidationSummary(_0x1dfd0d);if(_0x516892[_0x42bb7e(0x1b6)]){console[_0x42bb7e(0x1b4)](a8_0x3ddac9['red']('\x0aValidation\x20failed:'));for(const _0x53b606 of _0x1dfd0d){isCasValidationResult(_0x53b606)&&!_0x53b606[_0x42bb7e(0x1b9)][_0x42bb7e(0x11b)]&&(console['error']('\x0a'+_0x53b606[_0x42bb7e(0x166)]+':\x20'+_0x53b606['result'][_0x42bb7e(0x123)][_0x42bb7e(0x12c)]+_0x42bb7e(0x1a5)),console[_0x42bb7e(0x1b4)](formatValidationResult(_0x53b606[_0x42bb7e(0x1b9)],_0x53b606[_0x42bb7e(0x13d)],_0x53b606[_0x42bb7e(0x166)])));}return console[_0x42bb7e(0x1b4)](a8_0x3ddac9[_0x42bb7e(0x160)](_0x42bb7e(0x133))),0x1;}const _0xde2eee=await withProgressSpinner(_0x42bb7e(0x158),_0x2e5230=>_0x2437b4['cas'][_0x42bb7e(0x167)](_0x23e209,{'dryRun':!![],'verbose':_0x3793f8[_0x42bb7e(0x1ae)],'deleteDrift':_0x3793f8['delete'],'connectionMaps':_0x194d9a,'progress':{'update':_0x383c86=>_0x2e5230['setPhase'](_0x383c86)}}),{'verbose':_0x3793f8[_0x42bb7e(0x1ae)]}),_0x41e2de=_0xde2eee[_0x42bb7e(0x15a)],_0x3550c5=(_0x119536,_0x4a7eb5)=>{const _0x488ce3=_0x42bb7e,_0x196fe7=_0x119536[_0x4a7eb5],_0x23854b=[];if(_0x196fe7[_0x488ce3(0x1c1)])_0x23854b[_0x488ce3(0x167)](_0x196fe7[_0x488ce3(0x1c1)]+_0x488ce3(0x122));if(_0x196fe7[_0x488ce3(0x17f)])_0x23854b[_0x488ce3(0x167)](_0x196fe7[_0x488ce3(0x17f)]+_0x488ce3(0x145));if(_0x196fe7[_0x488ce3(0x1a1)])_0x23854b[_0x488ce3(0x167)](_0x196fe7[_0x488ce3(0x1a1)]+_0x488ce3(0x154));if(_0x196fe7[_0x488ce3(0x187)])_0x23854b[_0x488ce3(0x167)](_0x196fe7[_0x488ce3(0x187)]+_0x488ce3(0x12f));return _0x23854b;},_0x26310a=_0x3550c5(_0x41e2de,_0x42bb7e(0x17b)),_0x3a1ef0=_0x3550c5(_0x41e2de,_0x42bb7e(0x197)),_0xfa6f7a=_0x41e2de[_0x42bb7e(0x17b)][_0x42bb7e(0x1c1)]+_0x41e2de['created'][_0x42bb7e(0x17f)]+_0x41e2de[_0x42bb7e(0x17b)][_0x42bb7e(0x1a1)]+_0x41e2de[_0x42bb7e(0x17b)][_0x42bb7e(0x187)]+_0x41e2de['updated'][_0x42bb7e(0x1c1)]+_0x41e2de['updated'][_0x42bb7e(0x17f)]+_0x41e2de[_0x42bb7e(0x197)][_0x42bb7e(0x1a1)]+_0x41e2de[_0x42bb7e(0x197)][_0x42bb7e(0x187)];if(_0xfa6f7a===0x0)return console[_0x42bb7e(0x18f)](a8_0x3ddac9[_0x42bb7e(0x161)](_0x42bb7e(0x149))),0x0;if(_0x26310a['length']>0x0)console[_0x42bb7e(0x18f)](_0x42bb7e(0x18c)+_0x26310a[_0x42bb7e(0x180)](',\x20'));if(_0x3a1ef0[_0x42bb7e(0x12c)]>0x0)console[_0x42bb7e(0x18f)](_0x42bb7e(0x12a)+_0x3a1ef0[_0x42bb7e(0x180)](',\x20'));const _0x3b581d=_0x41e2de[_0x42bb7e(0x1af)];if(_0x3b581d&&(_0x3b581d[_0x42bb7e(0x194)]['length']||_0x3b581d[_0x42bb7e(0x16f)]['length'])){const _0x3db281=[];_0x3b581d[_0x42bb7e(0x194)][_0x42bb7e(0x12c)]&&_0x3db281[_0x42bb7e(0x167)]('attribute(s)\x20'+_0x3b581d[_0x42bb7e(0x194)][_0x42bb7e(0x180)](',\x20')),_0x3b581d[_0x42bb7e(0x16f)][_0x42bb7e(0x12c)]&&_0x3db281[_0x42bb7e(0x167)]('behavior(s)\x20'+_0x3b581d['removedBehaviors'][_0x42bb7e(0x180)](',\x20')),console[_0x42bb7e(0x18f)](a8_0x3ddac9[_0x42bb7e(0x15b)]('\x0a⚠\x20On\x20server\x20but\x20not\x20in\x20this\x20YAML:\x20'+_0x3db281[_0x42bb7e(0x180)]('\x20and\x20')+_0x42bb7e(0x143)));}if(_0x3b581d&&(_0x3b581d[_0x42bb7e(0x182)][_0x42bb7e(0x12c)]||_0x3b581d[_0x42bb7e(0x11e)]['length'])){for(const _0x2ada30 of _0x3b581d[_0x42bb7e(0x182)]){console[_0x42bb7e(0x18f)](a8_0x3ddac9['yellow'](_0x42bb7e(0x1a8)+_0x2ada30['from']+_0x42bb7e(0x1a3)+_0x2ada30['to']+'\x22'));}for(const _0x355af5 of _0x3b581d[_0x42bb7e(0x11e)]){console[_0x42bb7e(0x18f)](a8_0x3ddac9[_0x42bb7e(0x160)](_0x42bb7e(0x1a9)+_0x355af5[_0x42bb7e(0x177)]+_0x42bb7e(0x1a3)+_0x355af5['to']+'\x22'));}console[_0x42bb7e(0x18f)](a8_0x3ddac9[_0x42bb7e(0x161)](_0x42bb7e(0x135)));}if(_0x3793f8['dryRun'])return console[_0x42bb7e(0x18f)](a8_0x3ddac9[_0x42bb7e(0x160)](_0x42bb7e(0x155))),0x0;if(!_0x3793f8['yes']){if(!isInteractive())return console[_0x42bb7e(0x1b4)](a8_0x3ddac9[_0x42bb7e(0x15b)](_0x42bb7e(0x11f)),'Confirmation\x20required\x20but\x20running\x20in\x20non-interactive\x20mode'),console['error'](a8_0x3ddac9[_0x42bb7e(0x161)]('Use\x20-y\x20or\x20--yes\x20flag\x20to\x20apply\x20changes\x20without\x20confirmation')),0x1;const _0x41cfc4=await confirmKey(_0x42bb7e(0x17e)+_0xfa6f7a+_0x42bb7e(0x1aa));if(!_0x41cfc4)return console[_0x42bb7e(0x18f)](a8_0x3ddac9[_0x42bb7e(0x160)](_0x42bb7e(0x127))),0x1;}const _0x97670c=await withProgressSpinner(_0x42bb7e(0x1c6),_0x319883=>_0x2437b4['cas'][_0x42bb7e(0x167)](_0x23e209,{'dryRun':![],'verbose':_0x3793f8[_0x42bb7e(0x1ae)],'deleteDrift':_0x3793f8[_0x42bb7e(0x19e)],'progress':{'update':_0x4bb198=>_0x319883[_0x42bb7e(0x11c)](_0x4bb198)}}),{'verbose':_0x3793f8[_0x42bb7e(0x1ae)]}),_0x2b7101=_0x97670c[_0x42bb7e(0x15a)];console[_0x42bb7e(0x18f)](a8_0x3ddac9['green']('\x0a✔\x20Push\x20complete'));_0x2b7101[_0x42bb7e(0x18e)]&&console[_0x42bb7e(0x18f)](_0x42bb7e(0x19d)+a8_0x3ddac9[_0x42bb7e(0x195)](_0x2b7101[_0x42bb7e(0x18e)]));const _0x138f9c=_0x3550c5(_0x2b7101,_0x42bb7e(0x17b)),_0x159223=_0x3550c5(_0x2b7101,_0x42bb7e(0x197));if(_0x138f9c['length']>0x0)console[_0x42bb7e(0x18f)]('\x20\x20Created:\x20'+_0x138f9c[_0x42bb7e(0x180)](',\x20'));if(_0x159223['length']>0x0)console['log'](_0x42bb7e(0x19f)+_0x159223[_0x42bb7e(0x180)](',\x20'));const _0x4363b0=_0x2b7101[_0x42bb7e(0x1af)];if(_0x4363b0&&(_0x4363b0['removedAttributes']['length']||_0x4363b0[_0x42bb7e(0x16f)][_0x42bb7e(0x12c)])){const _0x4e4239=[];_0x4363b0[_0x42bb7e(0x194)][_0x42bb7e(0x12c)]&&_0x4e4239[_0x42bb7e(0x167)](_0x42bb7e(0x1ba)+_0x4363b0['removedAttributes'][_0x42bb7e(0x180)](',\x20')),_0x4363b0[_0x42bb7e(0x16f)][_0x42bb7e(0x12c)]&&_0x4e4239[_0x42bb7e(0x167)]('behavior(s)\x20'+_0x4363b0[_0x42bb7e(0x16f)][_0x42bb7e(0x180)](',\x20')),console[_0x42bb7e(0x18f)](a8_0x3ddac9['red'](_0x42bb7e(0x172)+_0x4e4239[_0x42bb7e(0x180)](_0x42bb7e(0x150))));}for(const _0x8902f8 of _0x2b7101['renamedAttributeIds']??[]){console[_0x42bb7e(0x18f)](a8_0x3ddac9[_0x42bb7e(0x160)](_0x42bb7e(0x12d)+_0x8902f8[_0x42bb7e(0x177)]+'\x22\x20→\x20\x22'+_0x8902f8['to']+'\x22'+(_0x8902f8[_0x42bb7e(0x134)]&&_0x8902f8[_0x42bb7e(0x12e)]?_0x42bb7e(0x13f)+_0x8902f8[_0x42bb7e(0x134)]+'\x20→\x20'+_0x8902f8[_0x42bb7e(0x12e)]+')':'')));}for(const _0x4052d4 of _0x2b7101['renamedBehaviorIds']??[]){console[_0x42bb7e(0x18f)](a8_0x3ddac9[_0x42bb7e(0x160)](_0x42bb7e(0x190)+_0x4052d4[_0x42bb7e(0x177)]+'\x22\x20→\x20\x22'+_0x4052d4['to']+'\x22'+(_0x4052d4[_0x42bb7e(0x134)]&&_0x4052d4['toId']?'\x20(server\x20id\x20changed\x20'+_0x4052d4[_0x42bb7e(0x134)]+_0x42bb7e(0x139)+_0x4052d4[_0x42bb7e(0x12e)]+')':'')));}return 0x0;}}export class CASValidateCommand extends BaseCommand{[a8_0x19dc26(0x141)]=a8_0x19dc26(0x192);[a8_0x19dc26(0x1c2)]='Validate\x20composable\x20audience\x20YAML\x20files\x20locally';async[a8_0x19dc26(0x128)](_0x2dd2fb){const _0x40345f=a8_0x19dc26,{options:_0x180b06,args:_0x5d9c27,tdx:_0x23c954}=_0x2dd2fb,_0x4c489a=_0x180b06;let _0x4af34e=_0x5d9c27[0x0];!_0x4af34e&&_0x180b06[_0x40345f(0x132)]&&(_0x4af34e=a8_0x27ea60[_0x40345f(0x180)](process['cwd'](),_0x40345f(0x1ab),sanitizeFileName(_0x180b06['composableAudience'])));if(!_0x4af34e)return console['error'](a8_0x3ddac9[_0x40345f(0x160)]('No\x20composable\x20audience\x20specified.')),console['error'](_0x40345f(0x1a7)+a8_0x3ddac9[_0x40345f(0x195)]('tdx\x20cas\x20validate\x20<path>')+_0x40345f(0x1bd)+a8_0x3ddac9['cyan'](_0x40345f(0x170))),0x1;if(!existsSync(_0x4af34e))return console['error'](a8_0x3ddac9['red']('Not\x20found:\x20'+_0x4af34e)),0x1;const _0x2793fd=collectYamlFiles(_0x4af34e);if(_0x2793fd[_0x40345f(0x12c)]===0x0)return console[_0x40345f(0x1b4)](a8_0x3ddac9[_0x40345f(0x15b)](_0x40345f(0x138)+_0x4af34e)),0x1;const _0x2bb169=await withProgressSpinner(_0x40345f(0x13e),()=>buildConnectionMaps(_0x23c954['connection']),{'verbose':_0x4c489a[_0x40345f(0x1ae)]}),{nameToId:_0x1a21b8,nameToType:_0x13a520,idToType:_0x100564}=_0x2bb169[_0x40345f(0x15a)],_0x2e5d67=validateCasYamlFiles(_0x2793fd,_0x4af34e,{'connectionNameToType':_0x13a520,'connectionIdToType':_0x100564,'connectionNameToId':_0x1a21b8}),_0x3eddce=calculateCasValidationSummary(_0x2e5d67);for(const _0x636d61 of _0x2e5d67){if(!isCasValidationResult(_0x636d61)){_0x4c489a[_0x40345f(0x1ae)]&&console['log'](a8_0x3ddac9[_0x40345f(0x161)]('⊘\x20'+_0x636d61[_0x40345f(0x166)]+':\x20skipped\x20('+_0x636d61[_0x40345f(0x1c4)]+')'));continue;}if(_0x636d61[_0x40345f(0x1b9)]['valid']&&_0x636d61[_0x40345f(0x1b9)]['warnings']['length']===0x0)_0x4c489a['verbose']&&console[_0x40345f(0x18f)](a8_0x3ddac9[_0x40345f(0x188)]('✔\x20'+_0x636d61[_0x40345f(0x166)]));else _0x636d61['result']['valid']?(console[_0x40345f(0x18f)](a8_0x3ddac9[_0x40345f(0x160)]('⚠\x20'+_0x636d61[_0x40345f(0x166)])+a8_0x3ddac9['dim'](':\x20'+_0x636d61[_0x40345f(0x1b9)][_0x40345f(0x19c)][_0x40345f(0x12c)]+_0x40345f(0x15e))),console[_0x40345f(0x18f)](formatValidationResult(_0x636d61[_0x40345f(0x1b9)],_0x636d61[_0x40345f(0x13d)],_0x636d61[_0x40345f(0x166)]))):(console[_0x40345f(0x18f)](a8_0x3ddac9['red']('✖\x20'+_0x636d61['relativePath'])+a8_0x3ddac9[_0x40345f(0x161)](':\x20'+_0x636d61[_0x40345f(0x1b9)]['errors'][_0x40345f(0x12c)]+_0x40345f(0x1a5))),console['log'](formatValidationResult(_0x636d61['result'],_0x636d61[_0x40345f(0x13d)],_0x636d61[_0x40345f(0x166)])));}console[_0x40345f(0x18f)]('');if(_0x3eddce[_0x40345f(0x1b6)])return console['log'](a8_0x3ddac9['red']('Validation\x20failed:\x20'+_0x3eddce[_0x40345f(0x171)]+_0x40345f(0x14a)+_0x3eddce[_0x40345f(0x12b)]+_0x40345f(0x153))),_0x3eddce[_0x40345f(0x1a6)]>0x0&&console['log'](a8_0x3ddac9['yellow'](_0x3eddce[_0x40345f(0x1a6)]+_0x40345f(0x16d))),0x1;return console[_0x40345f(0x18f)](a8_0x3ddac9[_0x40345f(0x188)](_0x40345f(0x14b)+_0x3eddce['validCount']+_0x40345f(0x14e))),_0x3eddce[_0x40345f(0x1a6)]>0x0&&console[_0x40345f(0x18f)](a8_0x3ddac9[_0x40345f(0x160)](_0x3eddce[_0x40345f(0x1a6)]+'\x20warning(s)\x20found')),_0x3eddce['skippedCount']>0x0&&console[_0x40345f(0x18f)](a8_0x3ddac9[_0x40345f(0x161)](_0x3eddce['skippedCount']+_0x40345f(0x175))),0x0;}}export class CASPreviewCommand extends BaseCommand{['name']=a8_0x19dc26(0x1ac);[a8_0x19dc26(0x1c2)]='Preview\x20composable\x20segment\x20query\x20on\x20CDW';async['execute'](_0xc2d938){const _0x59c997=a8_0x19dc26,{options:_0x216e8c,args:_0x94a35c,tdx:_0x205540}=_0xc2d938,_0x37105f=_0x94a35c[0x0],_0x194b32=_0x94a35c[0x1]||_0x216e8c['composableAudience'];if(!_0x37105f)return console[_0x59c997(0x1b4)](a8_0x3ddac9[_0x59c997(0x15b)](_0x59c997(0x1ad))),0x1;if(!_0x194b32)return console[_0x59c997(0x1b4)](a8_0x3ddac9[_0x59c997(0x160)](_0x59c997(0x179))),console[_0x59c997(0x1b4)](_0x59c997(0x1a7)+a8_0x3ddac9[_0x59c997(0x195)]('--audience\x20<name>')+_0x59c997(0x1bd)+a8_0x3ddac9[_0x59c997(0x195)](_0x59c997(0x170))),0x1;const _0x1e0d24=await withProgressSpinner(_0x59c997(0x186)+_0x37105f+_0x59c997(0x16a),()=>_0x205540[_0x59c997(0x1ab)][_0x59c997(0x164)](_0x194b32,_0x37105f),{'verbose':_0x216e8c[_0x59c997(0x1ae)]}),{query:_0x1029c8,customers:_0x4eb220}=_0x1e0d24['data'];if(isStructuredFormat(_0x216e8c))return await handleSingleObjectOutput({'query':_0x1029c8,'customers':_0x4eb220},_0x216e8c),0x0;const _0x3cdbb7=_0x1029c8[_0x59c997(0x14c)]===_0x59c997(0x18b)?a8_0x3ddac9['green']:a8_0x3ddac9[_0x59c997(0x160)];console[_0x59c997(0x18f)]('Status:\x20'+_0x3cdbb7(_0x1029c8['status'])),console[_0x59c997(0x18f)](_0x59c997(0x120)+a8_0x3ddac9['bold'](String(_0x1029c8[_0x59c997(0x1b2)])));_0x1029c8[_0x59c997(0x1b4)]&&console[_0x59c997(0x18f)](_0x59c997(0x11d)+a8_0x3ddac9[_0x59c997(0x15b)](_0x1029c8[_0x59c997(0x1b4)]));if(_0x4eb220?.[_0x59c997(0x174)]&&_0x4eb220?.[_0x59c997(0x126)]){console[_0x59c997(0x18f)](a8_0x3ddac9[_0x59c997(0x1c7)](_0x59c997(0x142)+_0x4eb220[_0x59c997(0x126)][_0x59c997(0x12c)]+')'));const _0x57841f=_0x4eb220[_0x59c997(0x126)][_0x59c997(0x136)](_0x56631c=>{const _0x1b1938=_0x59c997,_0x50d3c6={};for(let _0x24a508=0x0;_0x24a508<_0x4eb220[_0x1b1938(0x174)][_0x1b1938(0x12c)];_0x24a508++){_0x50d3c6[_0x4eb220[_0x1b1938(0x174)][_0x24a508]]=_0x56631c[_0x24a508];}return _0x50d3c6;});await handleSDKOutput(_0x57841f,_0x216e8c);}return 0x0;}}
|
|
1
|
+
const a9_0x2a02ef=a9_0x109b;(function(_0x3dd7cc,_0xc540f9){const _0x2b0e0a=a9_0x109b,_0x16f68f=_0x3dd7cc();while(!![]){try{const _0x1a96a6=-parseInt(_0x2b0e0a(0x163))/0x1*(-parseInt(_0x2b0e0a(0x114))/0x2)+parseInt(_0x2b0e0a(0x182))/0x3*(-parseInt(_0x2b0e0a(0x147))/0x4)+-parseInt(_0x2b0e0a(0x132))/0x5+parseInt(_0x2b0e0a(0x185))/0x6*(parseInt(_0x2b0e0a(0x186))/0x7)+parseInt(_0x2b0e0a(0x119))/0x8+parseInt(_0x2b0e0a(0x15c))/0x9+-parseInt(_0x2b0e0a(0x161))/0xa;if(_0x1a96a6===_0xc540f9)break;else _0x16f68f['push'](_0x16f68f['shift']());}catch(_0x404334){_0x16f68f['push'](_0x16f68f['shift']());}}}(a9_0x2444,0x78203));import{BaseCommand}from'./command.js';import{withProgressSpinner}from'../utils/spinner.js';import{handleSDKOutput,handleSingleObjectOutput,isStructuredFormat}from'../core/command-output.js';function a9_0x2444(){const _0x411d05=['rows','folders','warningCount','hasChanges','underline','\x20or\x20set\x20context\x20with\x20','Confirmation\x20required\x20but\x20running\x20in\x20non-interactive\x20mode','data','removedBehaviors','Resolving\x20connections...','Master\x20Table','masterTable','toId','masterSchema','Pulling\x20composable\x20audience\x20\x27','cas:preview','list','All\x20files\x20are\x20up\x20to\x20date.','\x20\x20Renames\x20are\x20applied\x20by\x20recreating\x20the\x20attribute/behavior\x20server-side\x20—\x20its\x20id\x20will\x20change.','925252ZilVZs','\x20=\x20','No\x20composable\x20audience\x20specified.','\x20composable\x20audiences','Fetching\x20audience\x20\x27','154264xtCpAk','skippedCount','No\x20composable\x20audiences\x20found.','\x20segments,\x20','counts','Running\x20preview\x20for\x20\x27','count','diff','Error:\x20\x20','\x20\x20Table:\x20\x20','\x20\x20Schema:\x20','schema','\x20change(s)?','isNew','activations','\x20—\x20','dir','Validation\x20failed:\x20','warnings','\x20→\x20','source','description','\x0aSample\x20Rows\x20(','Found\x20','Push\x20YAML\x20files\x20to\x20CAS\x20API','510390fQKBtP','population','toLocaleString','\x0aValidation\x20failed:','dim','Pushing\x20to\x20CAS\x20API...','errors','\x0a[Dry\x20run]\x20No\x20changes\x20were\x20made','table','result','\x22\x20→\x20\x22','Attributes\x20(','behavior(s)\x20','relativePath','\x27...','log','execute','✔\x20All\x20','\x20composable\x20segment\x20file(s)\x20not\x20validated','cas','segments','220maYgtD','dirname','tdx\x20cas\x20validate\x20<path>',':\x20skipped\x20(','List\x20composable\x20audiences','\x20\x20Updated:\x20','behaviors','attribute(s)\x20','Write\x20files?','validCount','cas:pull','\x20\x20Removed\x20(--delete):\x20','\x20\x20Audience:\x20','removedAttributes','cwd','timeColumn','--audience\x20<name>','absolutePath','Cancelled.','Context\x20set:\x20','Status:\x20','1871910ciNolU','yellow','map','tdx\x20cas\x20push\x20<path>','bold','8178020XcZgaa','Usage:\x20tdx\x20cas\x20preview\x20<segment_name>\x20[--audience\x20<name>]','2Iizjpf','composable_audience','name','delete','audienceName','cyan','Fetching\x20composable\x20audiences...','\x20(new)','verbose','attributes','error','\x20activation(s)','session','masterKeyColumn','hasErrors','Tip:\x20Run\x20`tdx\x20cas\x20pull\x20<name>`\x20first\x20to\x20create\x20the\x20folder\x20structure','\x20folder(s)','invalidCount','Analyzing\x20CAS\x20YAML\x20files...','renamedAttributeIds','Aborted.','🧊\x20','valid','tdx\x20use\x20cas\x20<name>','cas:push','push','\x20error(s)','audienceDrift','\x20file(s)\x20to\x20write\x20','Count:\x20\x20','green','18699DNllBJ','Would\x20update:\x20','from','12678qdeTlh','1995qzPiPG','\x20\x20Created:\x20','Wrote\x20','\x20warning(s)\x20found','filter','\x0aError:','\x20activations)','connection','\x20\x20Renamed\x20attribute:\x20\x22','yes','relative','No\x20YAML\x20files\x20found\x20in:\x20','tdx\x20cas\x20pull\x20<name>','\x20and\x20','\x20file(s)\x20valid','length','created','status','(dry\x20run\x20—\x20no\x20files\x20written)','content','audiences','Describe\x20a\x20composable\x20audience','\x0a⚠\x20On\x20server\x20but\x20not\x20in\x20this\x20YAML:\x20','updated','Use\x20-y\x20or\x20--yes\x20flag\x20to\x20apply\x20changes\x20without\x20confirmation','dryRun','Pull\x20composable\x20audience\x20to\x20YAML\x20files','fromId','\x0a↻\x20Would\x20rename\x20behavior\x20\x22','\x20YAML\x20file(s)','\x20(time:\x20','Source:\x20\x20\x20','tdx\x20cas\x20desc\x20<name>','join','setPhase','cas:desc','red','\x20\x20Renamed\x20behavior:\x20\x22','\x20(server\x20id\x20changed\x20','\x0aFix\x20the\x20errors\x20above\x20and\x20try\x20again.\x20Use\x20`tdx\x20cas\x20validate`\x20to\x20check\x20files\x20locally.','\x0aPush\x20','pull','renamedBehaviors','Use\x20','names','\x20file(s)\x20to\x20','composableAudience'];a9_0x2444=function(){return _0x411d05;};return a9_0x2444();}import a9_0x175f66 from'chalk';import{existsSync,mkdirSync,writeFileSync}from'fs';import a9_0x28b55a from'path';import{confirmKey,isInteractive}from'../utils/prompt.js';import{collectYamlFiles,buildConnectionMaps}from'../sdk/cas/push-workflow.js';import{validateCasYamlFiles,isCasValidationResult,calculateCasValidationSummary}from'../sdk/cas/validate-files.js';import{formatValidationResult}from'../sdk/segment/yaml-validator.js';import{saveSessionContext}from'../core/session.js';import{sanitizeFileName}from'../utils/string-utils.js';export class CASListCommand extends BaseCommand{[a9_0x2a02ef(0x165)]='cas:list';[a9_0x2a02ef(0x12e)]=a9_0x2a02ef(0x14b);async[a9_0x2a02ef(0x142)](_0x14af54){const _0x1d1df3=a9_0x2a02ef,{options:_0x225e87,tdx:_0x22c839}=_0x14af54,_0x45ceab=await withProgressSpinner(_0x1d1df3(0x169),()=>_0x22c839['cas'][_0x1d1df3(0x111)](),{'verbose':_0x225e87[_0x1d1df3(0x16b)]}),_0x1f8596=_0x45ceab[_0x1d1df3(0x108)];if(isStructuredFormat(_0x225e87))return await handleSDKOutput(_0x1f8596,_0x225e87),0x0;if(_0x1f8596[_0x1d1df3(0xe1)]===0x0)return console[_0x1d1df3(0x141)](a9_0x175f66[_0x1d1df3(0x136)](_0x1d1df3(0x11b))),0x0;console[_0x1d1df3(0x141)](a9_0x175f66[_0x1d1df3(0x181)](_0x1d1df3(0x130)+_0x1f8596['length']+_0x1d1df3(0x117)));for(const _0x577f11 of _0x1f8596){const _0x18160d=_0x577f11['population']?a9_0x175f66[_0x1d1df3(0x136)]('\x20('+Number(_0x577f11[_0x1d1df3(0x133)])[_0x1d1df3(0x134)]()+')'):'',_0x42599f=a9_0x175f66[_0x1d1df3(0x136)]('\x20'+_0x577f11['masterSchema']+'.'+_0x577f11[_0x1d1df3(0x10c)]);console[_0x1d1df3(0x141)](_0x1d1df3(0x178)+_0x577f11['name']+_0x18160d+_0x42599f),_0x577f11[_0x1d1df3(0x12e)]&&console[_0x1d1df3(0x141)]('\x20\x20'+a9_0x175f66[_0x1d1df3(0x136)](_0x577f11[_0x1d1df3(0x12e)]));}return 0x0;}}export class CASDescCommand extends BaseCommand{[a9_0x2a02ef(0x165)]=a9_0x2a02ef(0xf5);[a9_0x2a02ef(0x12e)]=a9_0x2a02ef(0xe7);async['execute'](_0x21cbe6){const _0x461a6c=a9_0x2a02ef,{options:_0x40aca1,args:_0x567283,tdx:_0x2d52a8}=_0x21cbe6,_0x265437=_0x567283[0x0]||_0x40aca1[_0x461a6c(0x100)];if(!_0x265437)return console[_0x461a6c(0x16d)](a9_0x175f66[_0x461a6c(0x15d)](_0x461a6c(0x116))),console['error']('Use\x20'+a9_0x175f66[_0x461a6c(0x168)](_0x461a6c(0xf2))+_0x461a6c(0x106)+a9_0x175f66[_0x461a6c(0x168)](_0x461a6c(0x17a))),0x1;const _0x512628=await withProgressSpinner(_0x461a6c(0x118)+_0x265437+_0x461a6c(0x140),()=>_0x2d52a8[_0x461a6c(0x145)]['get'](_0x265437),{'verbose':_0x40aca1[_0x461a6c(0x16b)]}),_0x1c71de=_0x512628[_0x461a6c(0x108)];if(isStructuredFormat(_0x40aca1))return await handleSingleObjectOutput(_0x1c71de,_0x40aca1),0x0;console['log'](a9_0x175f66[_0x461a6c(0x160)](_0x1c71de['name']));if(_0x1c71de['description'])console[_0x461a6c(0x141)](a9_0x175f66[_0x461a6c(0x136)](_0x1c71de[_0x461a6c(0x12e)]));console[_0x461a6c(0x141)](),console['log'](a9_0x175f66['underline'](_0x461a6c(0x10b))),console[_0x461a6c(0x141)](_0x461a6c(0x123)+_0x1c71de[_0x461a6c(0x10e)]),console[_0x461a6c(0x141)](_0x461a6c(0x122)+_0x1c71de[_0x461a6c(0x10c)]),console['log']('\x20\x20Key:\x20\x20\x20\x20'+_0x1c71de[_0x461a6c(0x170)]),console[_0x461a6c(0x141)]();if(_0x1c71de[_0x461a6c(0x16c)]?.[_0x461a6c(0xe1)]){console[_0x461a6c(0x141)](a9_0x175f66[_0x461a6c(0x105)](_0x461a6c(0x13d)+_0x1c71de[_0x461a6c(0x16c)]['length']+')'));for(const _0x58b31a of _0x1c71de[_0x461a6c(0x16c)]){console['log']('\x20\x20'+a9_0x175f66[_0x461a6c(0x160)](_0x58b31a[_0x461a6c(0x165)])+_0x461a6c(0x128)+_0x58b31a[_0x461a6c(0x124)]+'.'+_0x58b31a[_0x461a6c(0x13a)]+'.'+_0x58b31a['column']+'\x20('+a9_0x175f66[_0x461a6c(0x136)](_0x58b31a['type'])+')');}console[_0x461a6c(0x141)]();}if(_0x1c71de[_0x461a6c(0x14d)]?.[_0x461a6c(0xe1)]){console['log'](a9_0x175f66[_0x461a6c(0x105)]('Behaviors\x20('+_0x1c71de[_0x461a6c(0x14d)][_0x461a6c(0xe1)]+')'));for(const _0x191415 of _0x1c71de[_0x461a6c(0x14d)]){const _0x186e7c=_0x191415[_0x461a6c(0x156)]?_0x461a6c(0xf0)+_0x191415['timeColumn']+')':'';console['log']('\x20\x20'+a9_0x175f66[_0x461a6c(0x160)](_0x191415[_0x461a6c(0x165)])+_0x461a6c(0x128)+_0x191415[_0x461a6c(0x124)]+'.'+_0x191415[_0x461a6c(0x13a)]+_0x186e7c);}}return 0x0;}}export class CASPullCommand extends BaseCommand{[a9_0x2a02ef(0x165)]=a9_0x2a02ef(0x151);[a9_0x2a02ef(0x12e)]=a9_0x2a02ef(0xec);async[a9_0x2a02ef(0x142)](_0x1e6c78){const _0x4e8740=a9_0x2a02ef,{options:_0xd88f8e,args:_0x175ef9,tdx:_0x26c4f9}=_0x1e6c78,_0x226838=_0xd88f8e,_0x50a9d9=_0x175ef9[0x0]||_0xd88f8e['composableAudience'];if(!_0x50a9d9)return console[_0x4e8740(0x16d)](a9_0x175f66[_0x4e8740(0x15d)](_0x4e8740(0x116))),console[_0x4e8740(0x16d)](_0x4e8740(0xfd)+a9_0x175f66[_0x4e8740(0x168)](_0x4e8740(0xde))+'\x20or\x20set\x20context\x20with\x20'+a9_0x175f66[_0x4e8740(0x168)](_0x4e8740(0x17a))),0x1;const _0x16c2bf=_0x226838[_0x4e8740(0x129)]||a9_0x28b55a[_0x4e8740(0xf3)](process['cwd'](),'cas',sanitizeFileName(_0x50a9d9)),_0x19126c=await withProgressSpinner(_0x4e8740(0x10f)+_0x50a9d9+_0x4e8740(0x140),_0x53d899=>_0x26c4f9[_0x4e8740(0x145)][_0x4e8740(0xfb)](_0x50a9d9,{'targetDir':_0x16c2bf,'verbose':_0x226838[_0x4e8740(0x16b)],'progress':{'update':_0x2d9266=>_0x53d899[_0x4e8740(0xf4)](_0x2d9266)}}),{'verbose':_0x226838['verbose']}),_0x32f957=_0x19126c['data'],_0x58343a=_0x32f957['files'][_0x4e8740(0x18a)](_0x1ed7c2=>_0x1ed7c2[_0x4e8740(0x126)]||_0x1ed7c2[_0x4e8740(0x104)]);saveSessionContext({'composable_audience':_0x32f957[_0x4e8740(0x167)]},_0x226838[_0x4e8740(0x16f)]),console[_0x4e8740(0x141)](a9_0x175f66[_0x4e8740(0x181)](_0x4e8740(0x15a)+a9_0x175f66[_0x4e8740(0x136)](_0x4e8740(0x164))+_0x4e8740(0x115)+a9_0x175f66['cyan'](_0x32f957['audienceName'])));if(_0x58343a[_0x4e8740(0xe1)]===0x0)return console[_0x4e8740(0x141)](a9_0x175f66['green'](_0x4e8740(0x112))),0x0;for(const _0x28b8e9 of _0x58343a){if(_0x28b8e9[_0x4e8740(0x126)])console[_0x4e8740(0x141)](a9_0x175f66[_0x4e8740(0x181)]('+\x20'+_0x28b8e9[_0x4e8740(0x13f)]+_0x4e8740(0x16a)));else _0x28b8e9[_0x4e8740(0x120)]&&(console[_0x4e8740(0x141)](a9_0x175f66[_0x4e8740(0x15d)]('~\x20'+_0x28b8e9[_0x4e8740(0x13f)])),console[_0x4e8740(0x141)](_0x28b8e9[_0x4e8740(0x120)]));}console[_0x4e8740(0x141)]('\x0a'+_0x58343a[_0x4e8740(0xe1)]+_0x4e8740(0x17f)+('('+_0x32f957['counts'][_0x4e8740(0x146)]+_0x4e8740(0x11c)+_0x32f957[_0x4e8740(0x11d)][_0x4e8740(0x127)]+_0x4e8740(0x18c)));if(_0x226838[_0x4e8740(0xeb)])return console[_0x4e8740(0x141)](a9_0x175f66[_0x4e8740(0x136)](_0x4e8740(0xe4))),0x0;if(!_0x226838[_0x4e8740(0x18f)]&&isInteractive()){const _0x20d671=await confirmKey(_0x4e8740(0x14f));if(!_0x20d671)return console[_0x4e8740(0x141)](a9_0x175f66[_0x4e8740(0x136)](_0x4e8740(0x159))),0x0;}for(const _0x88ed91 of _0x58343a){const _0xba3404=a9_0x28b55a[_0x4e8740(0x148)](_0x88ed91[_0x4e8740(0x158)]);if(!existsSync(_0xba3404))mkdirSync(_0xba3404,{'recursive':!![]});writeFileSync(_0x88ed91['absolutePath'],_0x88ed91[_0x4e8740(0xe5)],'utf-8');}return console[_0x4e8740(0x141)](a9_0x175f66['green'](_0x4e8740(0x188)+_0x58343a[_0x4e8740(0xe1)]+_0x4e8740(0xff)+_0x16c2bf)),0x0;}}function a9_0x109b(_0x54e56b,_0x41b957){_0x54e56b=_0x54e56b-0xdc;const _0x244442=a9_0x2444();let _0x109b71=_0x244442[_0x54e56b];return _0x109b71;}export class CASPushCommand extends BaseCommand{[a9_0x2a02ef(0x165)]=a9_0x2a02ef(0x17b);[a9_0x2a02ef(0x12e)]=a9_0x2a02ef(0x131);async[a9_0x2a02ef(0x142)](_0x21b48e){const _0x593e11=a9_0x2a02ef,{options:_0x399ae7,args:_0x111171,tdx:_0x523905}=_0x21b48e,_0x15c840=_0x399ae7;let _0x33790b=_0x111171[0x0];!_0x33790b&&_0x399ae7[_0x593e11(0x100)]&&(_0x33790b=a9_0x28b55a['join'](process[_0x593e11(0x155)](),_0x593e11(0x145),sanitizeFileName(_0x399ae7[_0x593e11(0x100)])));if(!_0x33790b)return console[_0x593e11(0x16d)](a9_0x175f66['yellow']('No\x20composable\x20audience\x20specified.')),console['error']('Use\x20'+a9_0x175f66[_0x593e11(0x168)](_0x593e11(0x15f))+_0x593e11(0x106)+a9_0x175f66[_0x593e11(0x168)](_0x593e11(0x17a))),0x1;if(!existsSync(_0x33790b))return console['error'](a9_0x175f66[_0x593e11(0xf6)]('Directory\x20not\x20found:\x20'+_0x33790b)),console[_0x593e11(0x16d)](a9_0x175f66['dim'](_0x593e11(0x172))),0x1;const _0x234501=_0x399ae7[_0x593e11(0x100)]||a9_0x28b55a['basename'](_0x33790b),_0x547144=a9_0x28b55a[_0x593e11(0xdc)](process[_0x593e11(0x155)](),_0x33790b)||'.';console['log']('Audience:\x20'+a9_0x175f66[_0x593e11(0x168)](_0x234501)),console[_0x593e11(0x141)](_0x593e11(0xf1)+a9_0x175f66[_0x593e11(0x136)](_0x547144)),console[_0x593e11(0x141)]();const _0x38bfad=collectYamlFiles(_0x33790b);if(_0x38bfad[_0x593e11(0xe1)]===0x0)return console['error'](a9_0x175f66[_0x593e11(0xf6)](_0x593e11(0xdd)+_0x33790b)),0x1;console[_0x593e11(0x141)]('Found\x20'+_0x38bfad['length']+_0x593e11(0xef));const _0x43a437=await withProgressSpinner(_0x593e11(0x10a),()=>buildConnectionMaps(_0x523905[_0x593e11(0x18d)]),{'verbose':_0x15c840['verbose']}),_0x5d0854=_0x43a437[_0x593e11(0x108)],{nameToId:_0x4424a5,nameToType:_0x59e850,idToType:_0x4d466f}=_0x5d0854,_0x481441=validateCasYamlFiles(_0x38bfad,_0x33790b,{'connectionNameToType':_0x59e850,'connectionIdToType':_0x4d466f,'connectionNameToId':_0x4424a5}),_0x14e19c=calculateCasValidationSummary(_0x481441);if(_0x14e19c[_0x593e11(0x171)]){console[_0x593e11(0x16d)](a9_0x175f66[_0x593e11(0xf6)](_0x593e11(0x135)));for(const _0x428987 of _0x481441){isCasValidationResult(_0x428987)&&!_0x428987[_0x593e11(0x13b)][_0x593e11(0x179)]&&(console[_0x593e11(0x16d)]('\x0a'+_0x428987['relativePath']+':\x20'+_0x428987[_0x593e11(0x13b)]['errors'][_0x593e11(0xe1)]+'\x20error(s)'),console[_0x593e11(0x16d)](formatValidationResult(_0x428987[_0x593e11(0x13b)],_0x428987['source'],_0x428987['relativePath'])));}return console['error'](a9_0x175f66[_0x593e11(0x15d)](_0x593e11(0xf9))),0x1;}const _0x2bc9cd=await withProgressSpinner(_0x593e11(0x175),_0x26113c=>_0x523905['cas'][_0x593e11(0x17c)](_0x38bfad,{'dryRun':!![],'verbose':_0x15c840[_0x593e11(0x16b)],'deleteDrift':_0x15c840['delete'],'connectionMaps':_0x5d0854,'progress':{'update':_0x426744=>_0x26113c[_0x593e11(0xf4)](_0x426744)}}),{'verbose':_0x15c840[_0x593e11(0x16b)]}),_0x4c9b33=_0x2bc9cd[_0x593e11(0x108)],_0x224e0f=(_0xbcf9f5,_0xa57df1)=>{const _0x2e56f0=_0x593e11,_0x5e68ea=_0xbcf9f5[_0xa57df1],_0x498755=[];if(_0x5e68ea[_0x2e56f0(0xe6)])_0x498755[_0x2e56f0(0x17c)](_0x5e68ea[_0x2e56f0(0xe6)]+'\x20audience(s)');if(_0x5e68ea[_0x2e56f0(0x102)])_0x498755[_0x2e56f0(0x17c)](_0x5e68ea[_0x2e56f0(0x102)]+_0x2e56f0(0x173));if(_0x5e68ea[_0x2e56f0(0x146)])_0x498755[_0x2e56f0(0x17c)](_0x5e68ea[_0x2e56f0(0x146)]+'\x20segment(s)');if(_0x5e68ea[_0x2e56f0(0x127)])_0x498755[_0x2e56f0(0x17c)](_0x5e68ea[_0x2e56f0(0x127)]+_0x2e56f0(0x16e));return _0x498755;},_0x3bab24=_0x224e0f(_0x4c9b33,'created'),_0x44b109=_0x224e0f(_0x4c9b33,_0x593e11(0xe9)),_0x3b1be4=_0x4c9b33['created'][_0x593e11(0xe6)]+_0x4c9b33[_0x593e11(0xe2)][_0x593e11(0x102)]+_0x4c9b33[_0x593e11(0xe2)][_0x593e11(0x146)]+_0x4c9b33[_0x593e11(0xe2)][_0x593e11(0x127)]+_0x4c9b33[_0x593e11(0xe9)][_0x593e11(0xe6)]+_0x4c9b33[_0x593e11(0xe9)]['folders']+_0x4c9b33[_0x593e11(0xe9)]['segments']+_0x4c9b33[_0x593e11(0xe9)][_0x593e11(0x127)];if(_0x3b1be4===0x0)return console['log'](a9_0x175f66['dim']('No\x20CAS\x20resources\x20found\x20in\x20YAML\x20files.')),0x0;if(_0x3bab24[_0x593e11(0xe1)]>0x0)console[_0x593e11(0x141)]('Would\x20create:\x20'+_0x3bab24['join'](',\x20'));if(_0x44b109[_0x593e11(0xe1)]>0x0)console[_0x593e11(0x141)](_0x593e11(0x183)+_0x44b109[_0x593e11(0xf3)](',\x20'));const _0x23eae1=_0x4c9b33[_0x593e11(0x17e)];if(_0x23eae1&&(_0x23eae1[_0x593e11(0x154)]['length']||_0x23eae1[_0x593e11(0x109)][_0x593e11(0xe1)])){const _0x383c82=[];_0x23eae1[_0x593e11(0x154)]['length']&&_0x383c82[_0x593e11(0x17c)]('attribute(s)\x20'+_0x23eae1['removedAttributes'][_0x593e11(0xf3)](',\x20')),_0x23eae1[_0x593e11(0x109)][_0x593e11(0xe1)]&&_0x383c82[_0x593e11(0x17c)](_0x593e11(0x13e)+_0x23eae1[_0x593e11(0x109)][_0x593e11(0xf3)](',\x20')),console[_0x593e11(0x141)](a9_0x175f66[_0x593e11(0xf6)](_0x593e11(0xe8)+_0x383c82[_0x593e11(0xf3)](_0x593e11(0xdf))+'\x20—\x20a\x20real\x20push\x20will\x20refuse\x20unless\x20run\x20with\x20--delete.'));}if(_0x23eae1&&(_0x23eae1['renamedAttributes'][_0x593e11(0xe1)]||_0x23eae1['renamedBehaviors'][_0x593e11(0xe1)])){for(const _0x353990 of _0x23eae1['renamedAttributes']){console['log'](a9_0x175f66[_0x593e11(0x15d)]('\x0a↻\x20Would\x20rename\x20attribute\x20\x22'+_0x353990[_0x593e11(0x184)]+_0x593e11(0x13c)+_0x353990['to']+'\x22'));}for(const _0x44170b of _0x23eae1[_0x593e11(0xfc)]){console['log'](a9_0x175f66['yellow'](_0x593e11(0xee)+_0x44170b[_0x593e11(0x184)]+_0x593e11(0x13c)+_0x44170b['to']+'\x22'));}console['log'](a9_0x175f66[_0x593e11(0x136)](_0x593e11(0x113)));}if(_0x15c840['dryRun'])return console[_0x593e11(0x141)](a9_0x175f66[_0x593e11(0x15d)](_0x593e11(0x139))),0x0;if(!_0x15c840[_0x593e11(0x18f)]){if(!isInteractive())return console['error'](a9_0x175f66[_0x593e11(0xf6)](_0x593e11(0x18b)),_0x593e11(0x107)),console['error'](a9_0x175f66[_0x593e11(0x136)](_0x593e11(0xea))),0x1;const _0x3cfdfc=await confirmKey(_0x593e11(0xfa)+_0x3b1be4+_0x593e11(0x125));if(!_0x3cfdfc)return console[_0x593e11(0x141)](a9_0x175f66[_0x593e11(0x15d)](_0x593e11(0x177))),0x1;}const _0x1e05ab=await withProgressSpinner(_0x593e11(0x137),_0x29b2b9=>_0x523905[_0x593e11(0x145)][_0x593e11(0x17c)](_0x38bfad,{'dryRun':![],'verbose':_0x15c840['verbose'],'deleteDrift':_0x15c840[_0x593e11(0x166)],'progress':{'update':_0x328ac4=>_0x29b2b9[_0x593e11(0xf4)](_0x328ac4)}}),{'verbose':_0x15c840['verbose']}),_0x4acd59=_0x1e05ab['data'];console['log'](a9_0x175f66[_0x593e11(0x181)]('\x0a✔\x20Push\x20complete'));_0x4acd59[_0x593e11(0x167)]&&console[_0x593e11(0x141)](_0x593e11(0x153)+a9_0x175f66['cyan'](_0x4acd59[_0x593e11(0x167)]));const _0x150b1c=_0x224e0f(_0x4acd59,_0x593e11(0xe2)),_0x1a0e95=_0x224e0f(_0x4acd59,_0x593e11(0xe9));if(_0x150b1c[_0x593e11(0xe1)]>0x0)console['log'](_0x593e11(0x187)+_0x150b1c[_0x593e11(0xf3)](',\x20'));if(_0x1a0e95[_0x593e11(0xe1)]>0x0)console[_0x593e11(0x141)](_0x593e11(0x14c)+_0x1a0e95['join'](',\x20'));const _0x5e4f20=_0x4acd59['audienceDrift'];if(_0x5e4f20&&(_0x5e4f20[_0x593e11(0x154)][_0x593e11(0xe1)]||_0x5e4f20[_0x593e11(0x109)][_0x593e11(0xe1)])){const _0x20766b=[];_0x5e4f20['removedAttributes'][_0x593e11(0xe1)]&&_0x20766b[_0x593e11(0x17c)](_0x593e11(0x14e)+_0x5e4f20[_0x593e11(0x154)][_0x593e11(0xf3)](',\x20')),_0x5e4f20[_0x593e11(0x109)]['length']&&_0x20766b[_0x593e11(0x17c)]('behavior(s)\x20'+_0x5e4f20[_0x593e11(0x109)][_0x593e11(0xf3)](',\x20')),console[_0x593e11(0x141)](a9_0x175f66[_0x593e11(0xf6)](_0x593e11(0x152)+_0x20766b[_0x593e11(0xf3)](_0x593e11(0xdf))));}for(const _0x266028 of _0x4acd59[_0x593e11(0x176)]??[]){console[_0x593e11(0x141)](a9_0x175f66[_0x593e11(0x15d)](_0x593e11(0x18e)+_0x266028[_0x593e11(0x184)]+_0x593e11(0x13c)+_0x266028['to']+'\x22'+(_0x266028[_0x593e11(0xed)]&&_0x266028[_0x593e11(0x10d)]?_0x593e11(0xf8)+_0x266028[_0x593e11(0xed)]+_0x593e11(0x12c)+_0x266028[_0x593e11(0x10d)]+')':'')));}for(const _0x229016 of _0x4acd59['renamedBehaviorIds']??[]){console['log'](a9_0x175f66[_0x593e11(0x15d)](_0x593e11(0xf7)+_0x229016[_0x593e11(0x184)]+_0x593e11(0x13c)+_0x229016['to']+'\x22'+(_0x229016[_0x593e11(0xed)]&&_0x229016[_0x593e11(0x10d)]?_0x593e11(0xf8)+_0x229016['fromId']+_0x593e11(0x12c)+_0x229016['toId']+')':'')));}return 0x0;}}export class CASValidateCommand extends BaseCommand{['name']='cas:validate';[a9_0x2a02ef(0x12e)]='Validate\x20composable\x20audience\x20YAML\x20files\x20locally';async[a9_0x2a02ef(0x142)](_0x545137){const _0x26f94b=a9_0x2a02ef,{options:_0x2bc52d,args:_0xbb2021,tdx:_0x35f5b2}=_0x545137,_0x1755f4=_0x2bc52d;let _0x572ac4=_0xbb2021[0x0];!_0x572ac4&&_0x2bc52d[_0x26f94b(0x100)]&&(_0x572ac4=a9_0x28b55a['join'](process[_0x26f94b(0x155)](),'cas',sanitizeFileName(_0x2bc52d[_0x26f94b(0x100)])));if(!_0x572ac4)return console[_0x26f94b(0x16d)](a9_0x175f66[_0x26f94b(0x15d)](_0x26f94b(0x116))),console['error'](_0x26f94b(0xfd)+a9_0x175f66[_0x26f94b(0x168)](_0x26f94b(0x149))+_0x26f94b(0x106)+a9_0x175f66[_0x26f94b(0x168)](_0x26f94b(0x17a))),0x1;if(!existsSync(_0x572ac4))return console['error'](a9_0x175f66[_0x26f94b(0xf6)]('Not\x20found:\x20'+_0x572ac4)),0x1;const _0x23bfdd=collectYamlFiles(_0x572ac4);if(_0x23bfdd[_0x26f94b(0xe1)]===0x0)return console['error'](a9_0x175f66['red'](_0x26f94b(0xdd)+_0x572ac4)),0x1;const _0xd9fa4d=await withProgressSpinner(_0x26f94b(0x10a),()=>buildConnectionMaps(_0x35f5b2['connection']),{'verbose':_0x1755f4[_0x26f94b(0x16b)]}),{nameToId:_0xe22921,nameToType:_0x4147ca,idToType:_0x4cc017}=_0xd9fa4d['data'],_0x2a746f=validateCasYamlFiles(_0x23bfdd,_0x572ac4,{'connectionNameToType':_0x4147ca,'connectionIdToType':_0x4cc017,'connectionNameToId':_0xe22921}),_0x1e241c=calculateCasValidationSummary(_0x2a746f);for(const _0x400fd6 of _0x2a746f){if(!isCasValidationResult(_0x400fd6)){_0x1755f4[_0x26f94b(0x16b)]&&console[_0x26f94b(0x141)](a9_0x175f66[_0x26f94b(0x136)]('⊘\x20'+_0x400fd6[_0x26f94b(0x13f)]+_0x26f94b(0x14a)+_0x400fd6['reason']+')'));continue;}if(_0x400fd6[_0x26f94b(0x13b)]['valid']&&_0x400fd6['result'][_0x26f94b(0x12b)][_0x26f94b(0xe1)]===0x0)_0x1755f4[_0x26f94b(0x16b)]&&console[_0x26f94b(0x141)](a9_0x175f66['green']('✔\x20'+_0x400fd6['relativePath']));else _0x400fd6['result'][_0x26f94b(0x179)]?(console[_0x26f94b(0x141)](a9_0x175f66[_0x26f94b(0x15d)]('⚠\x20'+_0x400fd6[_0x26f94b(0x13f)])+a9_0x175f66['dim'](':\x20'+_0x400fd6['result'][_0x26f94b(0x12b)][_0x26f94b(0xe1)]+'\x20warning(s)')),console[_0x26f94b(0x141)](formatValidationResult(_0x400fd6[_0x26f94b(0x13b)],_0x400fd6[_0x26f94b(0x12d)],_0x400fd6[_0x26f94b(0x13f)]))):(console[_0x26f94b(0x141)](a9_0x175f66[_0x26f94b(0xf6)]('✖\x20'+_0x400fd6[_0x26f94b(0x13f)])+a9_0x175f66['dim'](':\x20'+_0x400fd6[_0x26f94b(0x13b)][_0x26f94b(0x138)][_0x26f94b(0xe1)]+_0x26f94b(0x17d))),console['log'](formatValidationResult(_0x400fd6[_0x26f94b(0x13b)],_0x400fd6[_0x26f94b(0x12d)],_0x400fd6[_0x26f94b(0x13f)])));}console[_0x26f94b(0x141)]('');if(_0x1e241c[_0x26f94b(0x171)])return console['log'](a9_0x175f66[_0x26f94b(0xf6)](_0x26f94b(0x12a)+_0x1e241c[_0x26f94b(0x174)]+'\x20file(s)\x20with\x20errors,\x20'+_0x1e241c[_0x26f94b(0x150)]+'\x20valid')),_0x1e241c[_0x26f94b(0x103)]>0x0&&console[_0x26f94b(0x141)](a9_0x175f66[_0x26f94b(0x15d)](_0x1e241c['warningCount']+'\x20warning(s)\x20found')),0x1;return console[_0x26f94b(0x141)](a9_0x175f66[_0x26f94b(0x181)](_0x26f94b(0x143)+_0x1e241c[_0x26f94b(0x150)]+_0x26f94b(0xe0))),_0x1e241c[_0x26f94b(0x103)]>0x0&&console[_0x26f94b(0x141)](a9_0x175f66[_0x26f94b(0x15d)](_0x1e241c[_0x26f94b(0x103)]+_0x26f94b(0x189))),_0x1e241c[_0x26f94b(0x11a)]>0x0&&console[_0x26f94b(0x141)](a9_0x175f66[_0x26f94b(0x136)](_0x1e241c[_0x26f94b(0x11a)]+_0x26f94b(0x144))),0x0;}}export class CASPreviewCommand extends BaseCommand{[a9_0x2a02ef(0x165)]=a9_0x2a02ef(0x110);[a9_0x2a02ef(0x12e)]='Preview\x20composable\x20segment\x20query\x20on\x20CDW';async[a9_0x2a02ef(0x142)](_0x29ca4c){const _0x3424f4=a9_0x2a02ef,{options:_0x579229,args:_0xf31a5b,tdx:_0x4d0f12}=_0x29ca4c,_0x141ac0=_0xf31a5b[0x0],_0x34231f=_0xf31a5b[0x1]||_0x579229['composableAudience'];if(!_0x141ac0)return console[_0x3424f4(0x16d)](a9_0x175f66[_0x3424f4(0xf6)](_0x3424f4(0x162))),0x1;if(!_0x34231f)return console[_0x3424f4(0x16d)](a9_0x175f66[_0x3424f4(0x15d)]('Audience\x20name\x20required.')),console[_0x3424f4(0x16d)](_0x3424f4(0xfd)+a9_0x175f66[_0x3424f4(0x168)](_0x3424f4(0x157))+_0x3424f4(0x106)+a9_0x175f66[_0x3424f4(0x168)](_0x3424f4(0x17a))),0x1;const _0x13c92a=await withProgressSpinner(_0x3424f4(0x11e)+_0x141ac0+_0x3424f4(0x140),()=>_0x4d0f12['cas']['preview'](_0x34231f,_0x141ac0),{'verbose':_0x579229[_0x3424f4(0x16b)]}),{query:_0xf1b217,customers:_0x4b5a02}=_0x13c92a[_0x3424f4(0x108)];if(isStructuredFormat(_0x579229))return await handleSingleObjectOutput({'query':_0xf1b217,'customers':_0x4b5a02},_0x579229),0x0;const _0x327513=_0xf1b217[_0x3424f4(0xe3)]==='success'?a9_0x175f66[_0x3424f4(0x181)]:a9_0x175f66[_0x3424f4(0x15d)];console[_0x3424f4(0x141)](_0x3424f4(0x15b)+_0x327513(_0xf1b217[_0x3424f4(0xe3)])),console[_0x3424f4(0x141)](_0x3424f4(0x180)+a9_0x175f66[_0x3424f4(0x160)](String(_0xf1b217[_0x3424f4(0x11f)])));_0xf1b217[_0x3424f4(0x16d)]&&console[_0x3424f4(0x141)](_0x3424f4(0x121)+a9_0x175f66[_0x3424f4(0xf6)](_0xf1b217[_0x3424f4(0x16d)]));if(_0x4b5a02?.[_0x3424f4(0xfe)]&&_0x4b5a02?.[_0x3424f4(0x101)]){console[_0x3424f4(0x141)](a9_0x175f66['underline'](_0x3424f4(0x12f)+_0x4b5a02['rows'][_0x3424f4(0xe1)]+')'));const _0x5c9f87=_0x4b5a02[_0x3424f4(0x101)][_0x3424f4(0x15e)](_0x932d77=>{const _0xace6c2=_0x3424f4,_0x2d127e={};for(let _0x21adc9=0x0;_0x21adc9<_0x4b5a02[_0xace6c2(0xfe)][_0xace6c2(0xe1)];_0x21adc9++){_0x2d127e[_0x4b5a02['names'][_0x21adc9]]=_0x932d77[_0x21adc9];}return _0x2d127e;});await handleSDKOutput(_0x5c9f87,_0x579229);}return 0x0;}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a9_0x398f7e=a9_0x309e;(function(_0xc7fd10,_0x4717ab){const _0x5719af=a9_0x309e,_0x9b3b93=_0xc7fd10();while(!![]){try{const _0x2e8f51=parseInt(_0x5719af(0xa1))/0x1+parseInt(_0x5719af(0xb7))/0x2*(parseInt(_0x5719af(0xac))/0x3)+-parseInt(_0x5719af(0xba))/0x4+parseInt(_0x5719af(0xa2))/0x5*(parseInt(_0x5719af(0xaa))/0x6)+-parseInt(_0x5719af(0xc8))/0x7+-parseInt(_0x5719af(0xbe))/0x8*(-parseInt(_0x5719af(0xc0))/0x9)+parseInt(_0x5719af(0xe4))/0xa;if(_0x2e8f51===_0x4717ab)break;else _0x9b3b93['push'](_0x9b3b93['shift']());}catch(_0x3c8d60){_0x9b3b93['push'](_0x9b3b93['shift']());}}}(a9_0xf8a7,0xa80b1));import a9_0x14ba87 from'path';import{existsSync,readFileSync,statSync}from'fs';import*as a9_0x43de6c from'yaml';import{BaseCommand}from'./command.js';import{withProgressSpinner}from'../utils/spinner.js';import{handleSDKOutput,isStructuredFormat}from'../core/command-output.js';import{formatRows}from'../sdk/util/formatters.js';import{confirmKey,isInteractive}from'../utils/prompt.js';import{buildConnectionMaps}from'../sdk/cas/push-workflow.js';import{isComposableSegmentDef}from'../sdk/cas/cas-segment-yaml.js';function a9_0x309e(_0x37f471,_0x352a55){_0x37f471=_0x37f471-0x99;const _0xf8a778=a9_0xf8a7();let _0x309e6d=_0xf8a778[_0x37f471];return _0x309e6d;}import{validateComposableSegmentRule,audienceFieldNamesFromApi,formatSegmentRuleErrors}from'../sdk/cas/cas-segment-validator.js';import a9_0x2c22b7 from'chalk';export class CASSegmentListCommand extends BaseCommand{[a9_0x398f7e(0x9c)]='cas:sg:list';[a9_0x398f7e(0xa4)]=a9_0x398f7e(0xb4);async[a9_0x398f7e(0xb8)](_0x28d751){const _0x5efcf1=a9_0x398f7e,{options:_0x22d81e,args:_0x3a6e7a,tdx:_0x852d57}=_0x28d751,_0x561429=_0x3a6e7a[0x0]||_0x22d81e[_0x5efcf1(0xf1)];if(!_0x561429)return console[_0x5efcf1(0xc6)](a9_0x2c22b7[_0x5efcf1(0xce)](_0x5efcf1(0xe7))),console[_0x5efcf1(0xc6)](a9_0x2c22b7[_0x5efcf1(0xc5)](_0x5efcf1(0xcd))),0x1;const _0x343b24=await withProgressSpinner(_0x5efcf1(0x9e)+_0x561429+'\x27...',()=>_0x852d57[_0x5efcf1(0xd1)][_0x5efcf1(0xd6)](_0x561429),{'verbose':_0x22d81e[_0x5efcf1(0xbd)]}),_0x45cae2=_0x343b24[_0x5efcf1(0xda)];if(isStructuredFormat(_0x22d81e))return await handleSDKOutput(_0x45cae2,_0x22d81e),0x0;console[_0x5efcf1(0xe3)](a9_0x2c22b7[_0x5efcf1(0xe6)](_0x5efcf1(0xcb)+_0x45cae2[_0x5efcf1(0xde)]+_0x5efcf1(0xcf)+(_0x45cae2[_0x5efcf1(0xde)]!==0x1?'s':'')));if(_0x45cae2['length']===0x0)return 0x0;for(const _0x5cbd19 of _0x45cae2){const _0x353029=_0x5cbd19[_0x5efcf1(0xd7)]!=null?a9_0x2c22b7[_0x5efcf1(0xc5)]('\x20('+formatRows(_0x5cbd19[_0x5efcf1(0xd7)])+')'):'';console[_0x5efcf1(0xe3)](_0x5efcf1(0x9f)+_0x5cbd19[_0x5efcf1(0x9c)]+_0x353029),_0x5cbd19[_0x5efcf1(0xa4)]&&console[_0x5efcf1(0xe3)]('\x20\x20'+a9_0x2c22b7[_0x5efcf1(0xc5)](_0x5cbd19[_0x5efcf1(0xa4)]));}return 0x0;}}export class CASSegmentPushCommand extends BaseCommand{[a9_0x398f7e(0x9c)]='cas:sg:push';[a9_0x398f7e(0xa4)]=a9_0x398f7e(0xb2);async[a9_0x398f7e(0xb8)](_0x3b141e){const _0x113fff=a9_0x398f7e,{options:_0x442443,args:_0x3b634f,tdx:_0x455753}=_0x3b141e,_0x3ee546=_0x442443,_0x2b60a0=_0x3b634f[0x0];if(!_0x2b60a0)return console[_0x113fff(0xc6)](a9_0x2c22b7[_0x113fff(0xce)](_0x113fff(0x9a))),0x1;if(!existsSync(_0x2b60a0))return console[_0x113fff(0xc6)](a9_0x2c22b7[_0x113fff(0xce)](_0x113fff(0xef)+_0x2b60a0)),0x1;if(statSync(_0x2b60a0)[_0x113fff(0xc7)]())return console[_0x113fff(0xc6)](a9_0x2c22b7[_0x113fff(0xce)](_0x2b60a0+_0x113fff(0xdd))),_0x3ee546[_0x113fff(0xa7)]?console[_0x113fff(0xc6)](a9_0x2c22b7[_0x113fff(0xc5)](_0x113fff(0xb6))):console[_0x113fff(0xc6)](a9_0x2c22b7[_0x113fff(0xc5)](_0x113fff(0xab))),0x1;const _0x4c4a4f=_0x3ee546[_0x113fff(0xca)]||_0x442443['composableAudience'];if(!_0x4c4a4f)return console['error'](a9_0x2c22b7['yellow'](_0x113fff(0xd5))),console[_0x113fff(0xc6)](_0x113fff(0xd3)+a9_0x2c22b7[_0x113fff(0xb0)]('--audience\x20<name>')+_0x113fff(0xae)+a9_0x2c22b7[_0x113fff(0xb0)](_0x113fff(0xee))),0x1;console['log'](_0x113fff(0xe9)+a9_0x2c22b7[_0x113fff(0xb0)](_0x4c4a4f)),console[_0x113fff(0xe3)](_0x113fff(0xe5)+a9_0x2c22b7[_0x113fff(0xc5)](a9_0x14ba87[_0x113fff(0xeb)](process[_0x113fff(0xec)](),_0x2b60a0)||'.')),console[_0x113fff(0xe3)]();let _0x26528e;try{_0x26528e=a9_0x43de6c[_0x113fff(0xc2)](readFileSync(_0x2b60a0,_0x113fff(0xb3)));}catch(_0x79bec){return console[_0x113fff(0xc6)](a9_0x2c22b7[_0x113fff(0xce)](_0x113fff(0xa9)+a9_0x14ba87[_0x113fff(0xa3)](_0x2b60a0)+'\x20as\x20YAML:\x20'),_0x79bec instanceof Error?_0x79bec[_0x113fff(0xb1)]:String(_0x79bec)),0x1;}if(!isComposableSegmentDef(_0x26528e))return console[_0x113fff(0xc6)](a9_0x2c22b7['red'](a9_0x14ba87['basename'](_0x2b60a0)+'\x20doesn\x27t\x20look\x20like\x20a\x20composable\x20segment.')),console[_0x113fff(0xc6)](a9_0x2c22b7[_0x113fff(0xd2)](_0x113fff(0xbb))),0x1;if(_0x3ee546[_0x113fff(0xa7)])return this[_0x113fff(0xed)](_0x3b141e,_0x4c4a4f,_0x26528e[_0x113fff(0x9c)],_0x3ee546);const _0x2523a1=await withProgressSpinner('Resolving\x20connections...',()=>buildConnectionMaps(_0x455753[_0x113fff(0xd8)]),{'verbose':_0x3ee546[_0x113fff(0xbd)]}),_0x871145=_0x2523a1[_0x113fff(0xda)],_0x1e04e9=await withProgressSpinner('Resolving\x20audience\x20\x27'+_0x4c4a4f+_0x113fff(0xbf),()=>_0x455753[_0x113fff(0xd1)][_0x113fff(0xc9)](_0x4c4a4f),{'verbose':_0x3ee546[_0x113fff(0xbd)]}),_0x3a9d9a=_0x1e04e9[_0x113fff(0xda)],_0x47e89d=_0x3a9d9a['id'];if(_0x26528e[_0x113fff(0xad)]){const _0x2d383b=validateComposableSegmentRule(_0x26528e[_0x113fff(0xad)],{},{'audienceFieldNames':audienceFieldNamesFromApi(_0x3a9d9a)});if(!_0x2d383b[_0x113fff(0xea)])return console[_0x113fff(0xc6)](a9_0x2c22b7[_0x113fff(0xce)](a9_0x14ba87[_0x113fff(0xa3)](_0x2b60a0)+_0x113fff(0xdf))),console[_0x113fff(0xc6)](a9_0x2c22b7[_0x113fff(0xce)](formatSegmentRuleErrors(_0x2d383b))),0x1;}const _0xd28796=await withProgressSpinner('Analyzing\x20segment\x20YAML...',_0x4e52f8=>_0x455753[_0x113fff(0xd1)][_0x113fff(0xcc)]([_0x2b60a0],{'dryRun':!![],'verbose':_0x3ee546['verbose'],'resolvedAudienceId':_0x47e89d,'connectionMaps':_0x871145,'progress':{'update':_0x2f76cc=>_0x4e52f8[_0x113fff(0xd4)](_0x2f76cc)}}),{'verbose':_0x3ee546[_0x113fff(0xbd)]}),_0x3c0d4e=_0xd28796[_0x113fff(0xda)],_0x4604f0=_0x3c0d4e['updated'][_0x113fff(0xd0)]>0x0,_0x3fef02=_0x4604f0?_0x113fff(0xc1):_0x113fff(0xdc);console[_0x113fff(0xe3)]('Would\x20'+_0x3fef02+_0x113fff(0xc3)+a9_0x2c22b7[_0x113fff(0xb0)](_0x4c4a4f));if(_0x3ee546[_0x113fff(0xaf)])return console[_0x113fff(0xe3)](a9_0x2c22b7[_0x113fff(0xd2)](_0x113fff(0xd9))),0x0;if(!_0x3ee546['yes']){if(!isInteractive())return console[_0x113fff(0xc6)](a9_0x2c22b7[_0x113fff(0xce)](_0x113fff(0x9b)),_0x113fff(0x99)),console[_0x113fff(0xc6)](a9_0x2c22b7[_0x113fff(0xc5)]('Use\x20-y\x20or\x20--yes\x20flag\x20to\x20apply\x20changes\x20without\x20confirmation')),0x1;const _0x4953cf=await confirmKey('\x0a'+(_0x4604f0?_0x113fff(0xe1):_0x113fff(0xc4))+_0x113fff(0xe0));if(!_0x4953cf)return console[_0x113fff(0xe3)](a9_0x2c22b7[_0x113fff(0xd2)]('Aborted.')),0x1;}const _0x2e80e6=await withProgressSpinner(_0x113fff(0xa5)+_0x4c4a4f+_0x113fff(0xbf),_0x547b1a=>_0x455753[_0x113fff(0xd1)][_0x113fff(0xcc)]([_0x2b60a0],{'dryRun':![],'verbose':_0x3ee546['verbose'],'resolvedAudienceId':_0x47e89d,'progress':{'update':_0x5a35e4=>_0x547b1a[_0x113fff(0xd4)](_0x5a35e4)}}),{'verbose':_0x3ee546[_0x113fff(0xbd)]}),_0x24d939=_0x2e80e6['data'],_0x18bfce=_0x24d939[_0x113fff(0xe8)][_0x113fff(0xd0)]>0x0;return console[_0x113fff(0xe3)](a9_0x2c22b7['green'](_0x113fff(0xe2)+(_0x18bfce?_0x113fff(0xe8):'updated'))),console['log'](_0x113fff(0x9d)+a9_0x2c22b7[_0x113fff(0xb0)](_0x4c4a4f)),0x0;}async['executeDelete'](_0x17f54e,_0xcb8802,_0xa6e3c1,_0x48f95d){const _0x97bb94=a9_0x398f7e,{tdx:_0x177440}=_0x17f54e,_0x52139a=await withProgressSpinner(_0x97bb94(0x9e)+_0xcb8802+'\x27...',()=>_0x177440[_0x97bb94(0xd1)][_0x97bb94(0xd6)](_0xcb8802),{'verbose':_0x48f95d[_0x97bb94(0xbd)]}),_0xe57b60=_0x52139a['data'][_0x97bb94(0xa6)](_0x1915aa=>_0x1915aa['name']===_0xa6e3c1);if(!_0xe57b60)return console['error'](a9_0x2c22b7['red'](_0x97bb94(0xf0)+_0xa6e3c1+'\x22\x20not\x20found\x20under\x20audience\x20\x22'+_0xcb8802+'\x22.')),console[_0x97bb94(0xc6)](a9_0x2c22b7[_0x97bb94(0xc5)](_0x97bb94(0xf2))),0x1;console[_0x97bb94(0xe3)]('Would\x20delete\x20segment\x20'+a9_0x2c22b7['red'](_0xa6e3c1)+'\x20from\x20audience\x20'+a9_0x2c22b7[_0x97bb94(0xb0)](_0xcb8802));if(_0x48f95d[_0x97bb94(0xaf)])return console[_0x97bb94(0xe3)](a9_0x2c22b7[_0x97bb94(0xd2)](_0x97bb94(0xd9))),0x0;if(!_0x48f95d[_0x97bb94(0xa8)]){if(!isInteractive())return console[_0x97bb94(0xc6)](a9_0x2c22b7['red'](_0x97bb94(0x9b)),'Confirmation\x20required\x20but\x20running\x20in\x20non-interactive\x20mode'),console[_0x97bb94(0xc6)](a9_0x2c22b7[_0x97bb94(0xc5)]('Use\x20-y\x20or\x20--yes\x20flag\x20to\x20apply\x20changes\x20without\x20confirmation')),0x1;const _0x48ba78=await confirmKey(_0x97bb94(0xbc)+_0xa6e3c1+'\x22\x20from\x20audience\x20\x22'+_0xcb8802+_0x97bb94(0xa0));if(!_0x48ba78)return console[_0x97bb94(0xe3)](a9_0x2c22b7[_0x97bb94(0xd2)](_0x97bb94(0xb5))),0x1;}return await withProgressSpinner('Deleting\x20segment\x20\x27'+_0xa6e3c1+_0x97bb94(0xbf),()=>_0x177440[_0x97bb94(0xd1)][_0x97bb94(0xdb)](_0xe57b60['id']),{'verbose':_0x48f95d[_0x97bb94(0xbd)]}),console[_0x97bb94(0xe3)](a9_0x2c22b7[_0x97bb94(0xe6)]('\x0a✔\x20Segment\x20deleted')),console[_0x97bb94(0xe3)](_0x97bb94(0xb9)+a9_0x2c22b7[_0x97bb94(0xb0)](_0xa6e3c1)),console[_0x97bb94(0xe3)](_0x97bb94(0x9d)+a9_0x2c22b7['cyan'](_0xcb8802)),0x0;}}function a9_0xf8a7(){const _0x40e6c6=['Audience:\x20','valid','relative','cwd','executeDelete','tdx\x20use\x20cas\x20<name>','File\x20not\x20found:\x20','Composable\x20segment\x20\x22','composableAudience','Nothing\x20to\x20delete.','Confirmation\x20required\x20but\x20running\x20in\x20non-interactive\x20mode','Usage:\x20tdx\x20cas\x20sg\x20push\x20<segment.yml>\x20[--audience\x20<name>]','\x0aError:','name','\x20\x20Audience:\x20','Fetching\x20segments\x20for\x20\x27','🎯\x20','\x22?\x20This\x20cannot\x20be\x20undone.','384163huRWTC','83855fRwTfv','basename','description','Pushing\x20segment\x20to\x20\x27','find','delete','yes','Failed\x20to\x20parse\x20','312JbTYwQ','Use\x20`tdx\x20cas\x20push\x20<dir>`\x20to\x20push\x20multiple\x20files\x20at\x20once.','33jDdxhj','rule','\x20or\x20set\x20context\x20with\x20','dryRun','cyan','message','Create\x20or\x20update\x20a\x20single\x20composable\x20child\x20segment','utf-8','List\x20composable\x20segments\x20for\x20an\x20audience','Aborted.','Bulk/directory\x20delete\x20is\x20not\x20supported\x20yet.','500ZwgwbT','execute','\x20\x20Segment:\x20\x20','3880588sztrCa','Composable\x20segment\x20YAML\x20requires\x20`type:\x20composable_segment`\x20at\x20the\x20top\x20level.','\x0aDelete\x20segment\x20\x22','verbose','2576bejbvj','\x27...','33345AXrrcV','update','parse','\x20segment\x20in\x20audience\x20','Create','dim','error','isDirectory','8837612jygQhI','get','audience','Found\x20','push','Or\x20set\x20context:\x20tdx\x20use\x20cas\x20<audience_name>','red','\x20segment','segments','cas','yellow','Use\x20','setPhase','Audience\x20name\x20required.','listSegments','population','connection','\x0a[Dry\x20run]\x20No\x20changes\x20were\x20made','data','deleteSegmentById','create','\x20is\x20a\x20directory\x20—\x20tdx\x20cas\x20sg\x20push\x20takes\x20a\x20single\x20file.','length','\x27s\x20rule\x20is\x20invalid:','\x20this\x20segment?','Update','\x0a✔\x20Segment\x20','log','4689530tLaPnd','Source:\x20\x20\x20','green','Usage:\x20tdx\x20cas\x20sg\x20list\x20<audience_name>','created'];a9_0xf8a7=function(){return _0x40e6c6;};return a9_0xf8a7();}
|
|
1
|
+
const a10_0x13cac5=a10_0x40a4;(function(_0x67739c,_0x53525d){const _0x20f7ca=a10_0x40a4,_0x3ec68f=_0x67739c();while(!![]){try{const _0x2de871=-parseInt(_0x20f7ca(0x1e3))/0x1+-parseInt(_0x20f7ca(0x203))/0x2+parseInt(_0x20f7ca(0x1ac))/0x3*(parseInt(_0x20f7ca(0x1cf))/0x4)+parseInt(_0x20f7ca(0x1cc))/0x5*(-parseInt(_0x20f7ca(0x1e5))/0x6)+-parseInt(_0x20f7ca(0x1c1))/0x7+parseInt(_0x20f7ca(0x1eb))/0x8+-parseInt(_0x20f7ca(0x1f3))/0x9*(-parseInt(_0x20f7ca(0x1ba))/0xa);if(_0x2de871===_0x53525d)break;else _0x3ec68f['push'](_0x3ec68f['shift']());}catch(_0x555bdb){_0x3ec68f['push'](_0x3ec68f['shift']());}}}(a10_0xb92b,0xb07f9));import a10_0x1492be from'path';import{existsSync,readFileSync,statSync}from'fs';import*as a10_0x5de908 from'yaml';function a10_0xb92b(){const _0x357f9d=['basename','dryRun','\x20doesn\x27t\x20look\x20like\x20a\x20composable\x20segment.','\x20is\x20a\x20directory\x20—\x20tdx\x20cas\x20sg\x20push\x20takes\x20a\x20single\x20file.','63auropF','\x20segment\x20in\x20audience\x20','Analyzing\x20segment\x20YAML...','error','Resolving\x20connections...','🎯\x20','Pushing\x20segment\x20to\x20\x27','\x20or\x20set\x20context\x20with\x20','created','get','length','tdx\x20use\x20cas\x20<name>','\x0a[Dry\x20run]\x20No\x20changes\x20were\x20made','Resolving\x20audience\x20\x27','Use\x20`tdx\x20cas\x20push\x20<dir>`\x20to\x20push\x20multiple\x20files\x20at\x20once.','\x22?\x20This\x20cannot\x20be\x20undone.','1331264MwGlCA','red','verbose','Failed\x20to\x20parse\x20','\x27...','connection','Composable\x20segment\x20YAML\x20requires\x20`type:\x20composable_segment`\x20at\x20the\x20top\x20level.','parse','214197bkVESE','--audience\x20<name>','\x20from\x20audience\x20','setPhase','\x0aDelete\x20segment\x20\x22','data','Deleting\x20segment\x20\x27','List\x20composable\x20segments\x20for\x20an\x20audience','Would\x20','Audience\x20name\x20required.','Use\x20','Usage:\x20tdx\x20cas\x20sg\x20list\x20<audience_name>','\x0a✔\x20Segment\x20','audience','1792070UOdJOS','Usage:\x20tdx\x20cas\x20sg\x20push\x20<segment.yml>\x20[--audience\x20<name>]','log','green','push','executeDelete','updated','673750MwjUTa','execute','description','rule','cyan','cas:sg:push','create','Update','name','utf-8','Audience:\x20','105xzbptS','find','Or\x20set\x20context:\x20tdx\x20use\x20cas\x20<audience_name>','56bzsVHH','cas','composableAudience','Fetching\x20segments\x20for\x20\x27','\x27s\x20rule\x20is\x20invalid:','segments','Create\x20or\x20update\x20a\x20single\x20composable\x20child\x20segment','yes','Confirmation\x20required\x20but\x20running\x20in\x20non-interactive\x20mode','\x20\x20Segment:\x20\x20','\x22\x20not\x20found\x20under\x20audience\x20\x22','\x0aError:','Bulk/directory\x20delete\x20is\x20not\x20supported\x20yet.','cwd','File\x20not\x20found:\x20','\x20\x20Audience:\x20','\x22\x20from\x20audience\x20\x22','dim','Nothing\x20to\x20delete.','listSegments','206123dzYIgv','cas:sg:list','238470MmmvcT','relative','Composable\x20segment\x20\x22','valid','Aborted.','yellow','2172416OVEwlk','population','Create','Use\x20-y\x20or\x20--yes\x20flag\x20to\x20apply\x20changes\x20without\x20confirmation'];a10_0xb92b=function(){return _0x357f9d;};return a10_0xb92b();}import{BaseCommand}from'./command.js';function a10_0x40a4(_0xaddb5c,_0x4791b4){_0xaddb5c=_0xaddb5c-0x1a9;const _0xb92b1=a10_0xb92b();let _0x40a4cc=_0xb92b1[_0xaddb5c];return _0x40a4cc;}import{withProgressSpinner}from'../utils/spinner.js';import{handleSDKOutput,isStructuredFormat}from'../core/command-output.js';import{formatRows}from'../sdk/util/formatters.js';import{confirmKey,isInteractive}from'../utils/prompt.js';import{buildConnectionMaps}from'../sdk/cas/push-workflow.js';import{isComposableSegmentDef}from'../sdk/cas/cas-segment-yaml.js';import{validateComposableSegmentRule,audienceFieldNamesFromApi,formatSegmentRuleErrors}from'../sdk/cas/cas-segment-validator.js';import a10_0x45b9b1 from'chalk';export class CASSegmentListCommand extends BaseCommand{[a10_0x13cac5(0x1c9)]=a10_0x13cac5(0x1e4);[a10_0x13cac5(0x1c3)]=a10_0x13cac5(0x1b3);async[a10_0x13cac5(0x1c2)](_0x175486){const _0x2fed60=a10_0x13cac5,{options:_0x2a16d0,args:_0x5e64a2,tdx:_0xb9bc63}=_0x175486,_0x3e54c6=_0x5e64a2[0x0]||_0x2a16d0[_0x2fed60(0x1d1)];if(!_0x3e54c6)return console[_0x2fed60(0x1f6)](a10_0x45b9b1[_0x2fed60(0x204)](_0x2fed60(0x1b7))),console[_0x2fed60(0x1f6)](a10_0x45b9b1[_0x2fed60(0x1e0)](_0x2fed60(0x1ce))),0x1;const _0x4df5de=await withProgressSpinner('Fetching\x20segments\x20for\x20\x27'+_0x3e54c6+_0x2fed60(0x207),()=>_0xb9bc63[_0x2fed60(0x1d0)][_0x2fed60(0x1e2)](_0x3e54c6),{'verbose':_0x2a16d0[_0x2fed60(0x205)]}),_0x450217=_0x4df5de[_0x2fed60(0x1b1)];if(isStructuredFormat(_0x2a16d0))return await handleSDKOutput(_0x450217,_0x2a16d0),0x0;console[_0x2fed60(0x1bc)](a10_0x45b9b1[_0x2fed60(0x1bd)]('Found\x20'+_0x450217[_0x2fed60(0x1fd)]+'\x20segment'+(_0x450217[_0x2fed60(0x1fd)]!==0x1?'s':'')));if(_0x450217[_0x2fed60(0x1fd)]===0x0)return 0x0;for(const _0x55d9b7 of _0x450217){const _0x4fb3dc=_0x55d9b7[_0x2fed60(0x1ec)]!=null?a10_0x45b9b1['dim']('\x20('+formatRows(_0x55d9b7['population'])+')'):'';console[_0x2fed60(0x1bc)](_0x2fed60(0x1f8)+_0x55d9b7['name']+_0x4fb3dc),_0x55d9b7[_0x2fed60(0x1c3)]&&console['log']('\x20\x20'+a10_0x45b9b1[_0x2fed60(0x1e0)](_0x55d9b7[_0x2fed60(0x1c3)]));}return 0x0;}}export class CASSegmentPushCommand extends BaseCommand{[a10_0x13cac5(0x1c9)]=a10_0x13cac5(0x1c6);[a10_0x13cac5(0x1c3)]=a10_0x13cac5(0x1d5);async['execute'](_0x50b9bb){const _0x4aed5e=a10_0x13cac5,{options:_0x3e6dda,args:_0xaecbcd,tdx:_0x151cbb}=_0x50b9bb,_0x1d9063=_0x3e6dda,_0x3ea890=_0xaecbcd[0x0];if(!_0x3ea890)return console[_0x4aed5e(0x1f6)](a10_0x45b9b1[_0x4aed5e(0x204)](_0x4aed5e(0x1bb))),0x1;if(!existsSync(_0x3ea890))return console[_0x4aed5e(0x1f6)](a10_0x45b9b1[_0x4aed5e(0x204)](_0x4aed5e(0x1dd)+_0x3ea890)),0x1;if(statSync(_0x3ea890)['isDirectory']())return console[_0x4aed5e(0x1f6)](a10_0x45b9b1['red'](_0x3ea890+_0x4aed5e(0x1f2))),_0x1d9063['delete']?console[_0x4aed5e(0x1f6)](a10_0x45b9b1[_0x4aed5e(0x1e0)](_0x4aed5e(0x1db))):console[_0x4aed5e(0x1f6)](a10_0x45b9b1[_0x4aed5e(0x1e0)](_0x4aed5e(0x201))),0x1;const _0x44f16c=_0x1d9063[_0x4aed5e(0x1b9)]||_0x3e6dda[_0x4aed5e(0x1d1)];if(!_0x44f16c)return console[_0x4aed5e(0x1f6)](a10_0x45b9b1['yellow'](_0x4aed5e(0x1b5))),console[_0x4aed5e(0x1f6)](_0x4aed5e(0x1b6)+a10_0x45b9b1[_0x4aed5e(0x1c5)](_0x4aed5e(0x1ad))+_0x4aed5e(0x1fa)+a10_0x45b9b1[_0x4aed5e(0x1c5)](_0x4aed5e(0x1fe))),0x1;console[_0x4aed5e(0x1bc)](_0x4aed5e(0x1cb)+a10_0x45b9b1['cyan'](_0x44f16c)),console['log']('Source:\x20\x20\x20'+a10_0x45b9b1[_0x4aed5e(0x1e0)](a10_0x1492be[_0x4aed5e(0x1e6)](process[_0x4aed5e(0x1dc)](),_0x3ea890)||'.')),console[_0x4aed5e(0x1bc)]();let _0x3e79ef;try{_0x3e79ef=a10_0x5de908[_0x4aed5e(0x1ab)](readFileSync(_0x3ea890,_0x4aed5e(0x1ca)));}catch(_0x3a8357){return console[_0x4aed5e(0x1f6)](a10_0x45b9b1[_0x4aed5e(0x204)](_0x4aed5e(0x206)+a10_0x1492be['basename'](_0x3ea890)+'\x20as\x20YAML:\x20'),_0x3a8357 instanceof Error?_0x3a8357['message']:String(_0x3a8357)),0x1;}if(!isComposableSegmentDef(_0x3e79ef))return console['error'](a10_0x45b9b1['red'](a10_0x1492be[_0x4aed5e(0x1ef)](_0x3ea890)+_0x4aed5e(0x1f1))),console[_0x4aed5e(0x1f6)](a10_0x45b9b1[_0x4aed5e(0x1ea)](_0x4aed5e(0x1aa))),0x1;if(_0x1d9063['delete'])return this[_0x4aed5e(0x1bf)](_0x50b9bb,_0x44f16c,_0x3e79ef[_0x4aed5e(0x1c9)],_0x1d9063);const _0x509854=await withProgressSpinner(_0x4aed5e(0x1f7),()=>buildConnectionMaps(_0x151cbb[_0x4aed5e(0x1a9)]),{'verbose':_0x1d9063[_0x4aed5e(0x205)]}),_0x3796ae=_0x509854['data'],_0x51b7ce=await withProgressSpinner(_0x4aed5e(0x200)+_0x44f16c+_0x4aed5e(0x207),()=>_0x151cbb[_0x4aed5e(0x1d0)][_0x4aed5e(0x1fc)](_0x44f16c),{'verbose':_0x1d9063['verbose']}),_0x5c21c7=_0x51b7ce[_0x4aed5e(0x1b1)],_0x362fe4=_0x5c21c7['id'];if(_0x3e79ef['rule']){const _0x42beb3=validateComposableSegmentRule(_0x3e79ef[_0x4aed5e(0x1c4)],{},{'audienceFieldNames':audienceFieldNamesFromApi(_0x5c21c7)});if(!_0x42beb3[_0x4aed5e(0x1e8)])return console[_0x4aed5e(0x1f6)](a10_0x45b9b1[_0x4aed5e(0x204)](a10_0x1492be[_0x4aed5e(0x1ef)](_0x3ea890)+_0x4aed5e(0x1d3))),console[_0x4aed5e(0x1f6)](a10_0x45b9b1[_0x4aed5e(0x204)](formatSegmentRuleErrors(_0x42beb3))),0x1;}const _0x177361=await withProgressSpinner(_0x4aed5e(0x1f5),_0x43cbb0=>_0x151cbb[_0x4aed5e(0x1d0)][_0x4aed5e(0x1be)]([_0x3ea890],{'dryRun':!![],'verbose':_0x1d9063[_0x4aed5e(0x205)],'resolvedAudienceId':_0x362fe4,'connectionMaps':_0x3796ae,'progress':{'update':_0xf1f516=>_0x43cbb0[_0x4aed5e(0x1af)](_0xf1f516)}}),{'verbose':_0x1d9063['verbose']}),_0xbe831d=_0x177361[_0x4aed5e(0x1b1)],_0x24e311=_0xbe831d['updated'][_0x4aed5e(0x1d4)]>0x0,_0x21d3e8=_0x24e311?'update':_0x4aed5e(0x1c7);console[_0x4aed5e(0x1bc)](_0x4aed5e(0x1b4)+_0x21d3e8+_0x4aed5e(0x1f4)+a10_0x45b9b1[_0x4aed5e(0x1c5)](_0x44f16c));if(_0x1d9063[_0x4aed5e(0x1f0)])return console[_0x4aed5e(0x1bc)](a10_0x45b9b1[_0x4aed5e(0x1ea)]('\x0a[Dry\x20run]\x20No\x20changes\x20were\x20made')),0x0;if(!_0x1d9063[_0x4aed5e(0x1d6)]){if(!isInteractive())return console['error'](a10_0x45b9b1[_0x4aed5e(0x204)](_0x4aed5e(0x1da)),_0x4aed5e(0x1d7)),console[_0x4aed5e(0x1f6)](a10_0x45b9b1[_0x4aed5e(0x1e0)](_0x4aed5e(0x1ee))),0x1;const _0x5eeef8=await confirmKey('\x0a'+(_0x24e311?_0x4aed5e(0x1c8):_0x4aed5e(0x1ed))+'\x20this\x20segment?');if(!_0x5eeef8)return console[_0x4aed5e(0x1bc)](a10_0x45b9b1[_0x4aed5e(0x1ea)](_0x4aed5e(0x1e9))),0x1;}const _0x48c49f=await withProgressSpinner(_0x4aed5e(0x1f9)+_0x44f16c+_0x4aed5e(0x207),_0x51b43d=>_0x151cbb[_0x4aed5e(0x1d0)][_0x4aed5e(0x1be)]([_0x3ea890],{'dryRun':![],'verbose':_0x1d9063[_0x4aed5e(0x205)],'resolvedAudienceId':_0x362fe4,'progress':{'update':_0x49e2aa=>_0x51b43d[_0x4aed5e(0x1af)](_0x49e2aa)}}),{'verbose':_0x1d9063[_0x4aed5e(0x205)]}),_0x4a1994=_0x48c49f[_0x4aed5e(0x1b1)],_0x5863ab=_0x4a1994[_0x4aed5e(0x1fb)]['segments']>0x0;return console[_0x4aed5e(0x1bc)](a10_0x45b9b1[_0x4aed5e(0x1bd)](_0x4aed5e(0x1b8)+(_0x5863ab?'created':_0x4aed5e(0x1c0)))),console['log'](_0x4aed5e(0x1de)+a10_0x45b9b1[_0x4aed5e(0x1c5)](_0x44f16c)),0x0;}async[a10_0x13cac5(0x1bf)](_0x5d1960,_0x5ae6a2,_0x582b38,_0x2995b7){const _0x45ac80=a10_0x13cac5,{tdx:_0x24c034}=_0x5d1960,_0x2b3933=await withProgressSpinner(_0x45ac80(0x1d2)+_0x5ae6a2+_0x45ac80(0x207),()=>_0x24c034[_0x45ac80(0x1d0)][_0x45ac80(0x1e2)](_0x5ae6a2),{'verbose':_0x2995b7[_0x45ac80(0x205)]}),_0x46760a=_0x2b3933['data'][_0x45ac80(0x1cd)](_0x2b7687=>_0x2b7687[_0x45ac80(0x1c9)]===_0x582b38);if(!_0x46760a)return console[_0x45ac80(0x1f6)](a10_0x45b9b1[_0x45ac80(0x204)](_0x45ac80(0x1e7)+_0x582b38+_0x45ac80(0x1d9)+_0x5ae6a2+'\x22.')),console[_0x45ac80(0x1f6)](a10_0x45b9b1['dim'](_0x45ac80(0x1e1))),0x1;console[_0x45ac80(0x1bc)]('Would\x20delete\x20segment\x20'+a10_0x45b9b1[_0x45ac80(0x204)](_0x582b38)+_0x45ac80(0x1ae)+a10_0x45b9b1['cyan'](_0x5ae6a2));if(_0x2995b7['dryRun'])return console[_0x45ac80(0x1bc)](a10_0x45b9b1['yellow'](_0x45ac80(0x1ff))),0x0;if(!_0x2995b7['yes']){if(!isInteractive())return console[_0x45ac80(0x1f6)](a10_0x45b9b1[_0x45ac80(0x204)](_0x45ac80(0x1da)),_0x45ac80(0x1d7)),console[_0x45ac80(0x1f6)](a10_0x45b9b1[_0x45ac80(0x1e0)](_0x45ac80(0x1ee))),0x1;const _0x2a94d4=await confirmKey(_0x45ac80(0x1b0)+_0x582b38+_0x45ac80(0x1df)+_0x5ae6a2+_0x45ac80(0x202));if(!_0x2a94d4)return console['log'](a10_0x45b9b1['yellow'](_0x45ac80(0x1e9))),0x1;}return await withProgressSpinner(_0x45ac80(0x1b2)+_0x582b38+'\x27...',()=>_0x24c034[_0x45ac80(0x1d0)]['deleteSegmentById'](_0x46760a['id']),{'verbose':_0x2995b7[_0x45ac80(0x205)]}),console[_0x45ac80(0x1bc)](a10_0x45b9b1[_0x45ac80(0x1bd)]('\x0a✔\x20Segment\x20deleted')),console[_0x45ac80(0x1bc)](_0x45ac80(0x1d8)+a10_0x45b9b1[_0x45ac80(0x1c5)](_0x582b38)),console['log'](_0x45ac80(0x1de)+a10_0x45b9b1[_0x45ac80(0x1c5)](_0x5ae6a2)),0x0;}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function a10_0x40fb(_0xea166a,_0x458c51){_0xea166a=_0xea166a-0x1eb;const _0x569f6a=a10_0x569f();let _0x40fb8c=_0x569f6a[_0xea166a];return _0x40fb8c;}const a10_0x2f2689=a10_0x40fb;(function(_0x3f9798,_0x23ff07){const _0x3380cd=a10_0x40fb,_0x50a6a8=_0x3f9798();while(!![]){try{const _0x259b46=-parseInt(_0x3380cd(0x218))/0x1*(parseInt(_0x3380cd(0x227))/0x2)+parseInt(_0x3380cd(0x1f3))/0x3*(-parseInt(_0x3380cd(0x20d))/0x4)+-parseInt(_0x3380cd(0x207))/0x5*(parseInt(_0x3380cd(0x224))/0x6)+parseInt(_0x3380cd(0x1fc))/0x7+parseInt(_0x3380cd(0x228))/0x8+parseInt(_0x3380cd(0x217))/0x9+parseInt(_0x3380cd(0x22f))/0xa;if(_0x259b46===_0x23ff07)break;else _0x50a6a8['push'](_0x50a6a8['shift']());}catch(_0x106258){_0x50a6a8['push'](_0x50a6a8['shift']());}}}(a10_0x569f,0xa19e8));import{BaseCommand}from'./command.js';import{SDKError,ErrorCode}from'../sdk/errors.js';import{withSpinner}from'../utils/spinner.js';import{parseAgentRef}from'../sdk/agent/agent-ref-parser.js';import{saveLastChatId,loadLastChatId}from'../sdk/llm/chat-cache.js';import{getLLMConversationUrl}from'../sdk/client/endpoints.js';function handleSDKError(_0x33079e,_0x36ad6e){const _0x23a71c=a10_0x40fb;if(_0x33079e instanceof SDKError)console[_0x23a71c(0x22d)](_0x23a71c(0x21a)+_0x33079e[_0x23a71c(0x1fe)]),_0x36ad6e[_0x23a71c(0x204)]&&(_0x33079e[_0x23a71c(0x20e)]&&console[_0x23a71c(0x22d)](_0x23a71c(0x22b)+_0x33079e['cause']),_0x33079e[_0x23a71c(0x209)]&&(console['error']('\x0aStack\x20trace:'),console[_0x23a71c(0x22d)](_0x33079e[_0x23a71c(0x209)])));else throw _0x33079e;}async function resolveAgentId(_0x4ef6c8,_0x1334c6,_0x344cc5,_0x4e3830,_0x190bd6){const _0x4b723d=a10_0x40fb,_0x14dd8e=_0x1334c6||_0x344cc5;if(_0x14dd8e){const {projectName:_0x50a5d0,agentName:_0x5a9e11}=parseAgentRef(_0x14dd8e),_0x4f7b0a=_0x5a9e11||_0x14dd8e,_0x6e828b=_0x5a9e11?_0x50a5d0:_0x4e3830;if(!_0x6e828b)throw new Error(_0x4b723d(0x21f));if(_0x190bd6){const _0x4949bb=_0x1334c6?_0x4b723d(0x214):_0x4b723d(0x20c);console[_0x4b723d(0x22d)](_0x4b723d(0x236)+_0x4949bb+':\x20'+_0x6e828b+'/'+_0x4f7b0a);}const _0x15f433=await withSpinner('Resolving\x20project\x20\x27'+_0x6e828b+_0x4b723d(0x1eb),()=>_0x4ef6c8[_0x4b723d(0x20b)]['resolveProjectId'](_0x6e828b),{'verbose':_0x190bd6}),_0x4327a9=await withSpinner(_0x4b723d(0x1ec)+_0x4f7b0a+_0x4b723d(0x1eb),()=>_0x4ef6c8['llm'][_0x4b723d(0x229)](_0x4f7b0a,_0x15f433[_0x4b723d(0x23b)]),{'verbose':_0x190bd6});return _0x4327a9[_0x4b723d(0x23b)];}else{const _0x41260e=_0x4ef6c8[_0x4b723d(0x20b)][_0x4b723d(0x1f8)]();if(_0x41260e)return _0x190bd6&&console[_0x4b723d(0x22d)](_0x4b723d(0x219)+_0x41260e[_0x4b723d(0x211)]),_0x41260e['id'];const _0x23ebb4=await withSpinner(_0x4b723d(0x1ff),()=>_0x4ef6c8[_0x4b723d(0x20b)][_0x4b723d(0x20a)](_0x4b723d(0x21c),0x0),{'verbose':_0x190bd6});return _0x23ebb4[_0x4b723d(0x23b)]['id'];}}export class ChatCommand extends BaseCommand{[a10_0x2f2689(0x211)]='chat';[a10_0x2f2689(0x22e)]=a10_0x2f2689(0x203);['validate'](_0x16cacd){const _0x2c4ac0=a10_0x2f2689,_0x3188e1=_0x16cacd[_0x2c4ac0(0x208)][_0x2c4ac0(0x212)]('\x20');if(!_0x3188e1)return _0x2c4ac0(0x1fd);return undefined;}async[a10_0x2f2689(0x216)](_0x5d6454,_0x461c94,_0x1882ac,_0x6631f7,_0x22b589){const _0x2696af=a10_0x2f2689;for await(const _0x36f4ad of _0x5d6454[_0x2696af(0x20b)][_0x2696af(0x1f9)](_0x461c94,{'agentId':_0x1882ac,'chatId':_0x6631f7})){if(_0x36f4ad[_0x2696af(0x233)]==='metadata'){const _0x3026e3=_0x36f4ad['data'][_0x2696af(0x223)];saveLastChatId(_0x3026e3),_0x22b589&&console['error']('Chat\x20session:\x20'+_0x3026e3);}else _0x36f4ad[_0x2696af(0x233)]===_0x2696af(0x1f6)&&this[_0x2696af(0x235)](_0x36f4ad[_0x2696af(0x23b)]);}}async[a10_0x2f2689(0x237)](_0x5619b4,_0x2fdf01,_0x1f6c6a,_0x466aa4){const _0x1a8e39=a10_0x2f2689,_0x3f7053=_0x5619b4[_0x1a8e39(0x232)]['site'];let _0x56fdee=![];for await(const _0x30abe4 of _0x5619b4[_0x1a8e39(0x20b)][_0x1a8e39(0x1f9)](_0x2fdf01,{'agentId':_0x1f6c6a,'chatId':_0x466aa4})){if(_0x30abe4[_0x1a8e39(0x233)]===_0x1a8e39(0x23a)){const _0x159ad6=_0x30abe4['data'];saveLastChatId(_0x159ad6[_0x1a8e39(0x223)]);const _0x312a8d=_0x159ad6[_0x1a8e39(0x200)]&&_0x159ad6[_0x1a8e39(0x1f2)]?getLLMConversationUrl(_0x3f7053,_0x159ad6['projectId'],_0x159ad6[_0x1a8e39(0x1f2)],_0x159ad6[_0x1a8e39(0x223)]):undefined;console[_0x1a8e39(0x238)](JSON[_0x1a8e39(0x1f0)]({'type':'metadata','data':{'chatId':_0x159ad6['chatId'],'agentId':_0x159ad6[_0x1a8e39(0x1f2)],'consoleUrl':_0x312a8d}})),_0x56fdee=!![];}else{if(_0x30abe4[_0x1a8e39(0x233)]===_0x1a8e39(0x1f6)){!_0x56fdee&&_0x466aa4&&(console[_0x1a8e39(0x238)](JSON[_0x1a8e39(0x1f0)]({'type':'metadata','data':{'chatId':_0x466aa4}})),_0x56fdee=!![]);const _0x34e477=_0x30abe4[_0x1a8e39(0x23b)];if(_0x1a8e39(0x215)in _0x34e477)console[_0x1a8e39(0x238)](JSON[_0x1a8e39(0x1f0)]({'type':'content','data':{'content':_0x34e477['content']}}));else{if(_0x1a8e39(0x230)in _0x34e477){const _0x1c16e6=_0x34e477['tool_call'];console[_0x1a8e39(0x238)](JSON[_0x1a8e39(0x1f0)]({'type':'tool_call','data':{'id':_0x1c16e6['id'],'name':_0x1c16e6[_0x1a8e39(0x21e)],'target':_0x1c16e6[_0x1a8e39(0x205)]?.[_0x1a8e39(0x211)]||_0x1c16e6[_0x1a8e39(0x22a)]?.[_0x1a8e39(0x211)]||_0x1c16e6[_0x1a8e39(0x201)]?.[_0x1a8e39(0x211)]||_0x1c16e6[_0x1a8e39(0x213)]}}));}else{if(_0x1a8e39(0x206)in _0x34e477)console[_0x1a8e39(0x238)](JSON[_0x1a8e39(0x1f0)]({'type':'tool_result','data':{'id':_0x34e477[_0x1a8e39(0x206)]['id'],'name':_0x34e477['tool']['functionName'],'result':typeof _0x34e477[_0x1a8e39(0x206)][_0x1a8e39(0x215)]===_0x1a8e39(0x221)?_0x34e477[_0x1a8e39(0x206)][_0x1a8e39(0x215)]['slice'](0x0,0x1f4):''}}));else _0x1a8e39(0x22d)in _0x34e477&&console[_0x1a8e39(0x238)](JSON[_0x1a8e39(0x1f0)]({'type':'error','data':{'error':_0x34e477[_0x1a8e39(0x22d)]}}));}}}}}console['log'](JSON['stringify']({'type':_0x1a8e39(0x226)}));}async['execute'](_0xb08ca0){const _0x402b4d=a10_0x2f2689,{options:_0xe9fee3,args:_0x5938d9,tdx:_0x48b571}=_0xb08ca0,_0x46b042=_0x5938d9[_0x402b4d(0x212)]('\x20'),_0x1f0142=_0xe9fee3,_0x846327=_0x1f0142[_0x402b4d(0x231)],_0x3b814f=_0x1f0142[_0x402b4d(0x21d)],_0x252342=_0x1f0142[_0x402b4d(0x1fb)],_0x50f6cf=_0x1f0142[_0x402b4d(0x1f5)],_0x11f4a2=_0x1f0142[_0x402b4d(0x223)],_0x3db591=_0x1f0142['stream'];if(_0x50f6cf&&_0x11f4a2)return console[_0x402b4d(0x22d)](_0x402b4d(0x21b)),0x1;try{let _0x113034,_0x549f71;if(_0x11f4a2)_0x549f71=_0x11f4a2;else!_0x50f6cf&&(_0x549f71=loadLastChatId(),_0x549f71&&_0xe9fee3[_0x402b4d(0x204)]&&console[_0x402b4d(0x22d)](_0x402b4d(0x1ed)+_0x549f71));!_0x11f4a2&&(_0x50f6cf||!_0x549f71)&&(_0x113034=await resolveAgentId(_0x48b571,_0x846327,_0x3b814f,_0x252342,_0xe9fee3[_0x402b4d(0x204)]));const _0x333b09=_0x3db591?(_0x59ce4c,_0x5c5560,_0x1ea74a)=>this[_0x402b4d(0x237)](_0x48b571,_0x59ce4c,_0x5c5560,_0x1ea74a):(_0x4b49c6,_0x2dec95,_0x25df90)=>this[_0x402b4d(0x216)](_0x48b571,_0x4b49c6,_0x2dec95,_0x25df90,_0xe9fee3[_0x402b4d(0x204)]);try{await _0x333b09(_0x46b042,_0x113034,_0x549f71);}catch(_0x55c401){const _0x5ea248=_0x55c401 instanceof SDKError&&_0x55c401[_0x402b4d(0x22c)]===ErrorCode[_0x402b4d(0x20f)]||_0x55c401 instanceof Error&&_0x55c401[_0x402b4d(0x1fe)][_0x402b4d(0x210)]('404');if(_0x5ea248&&_0x11f4a2)return console[_0x402b4d(0x22d)](_0x402b4d(0x1ef)+_0x11f4a2+_0x402b4d(0x1f7)),0x1;if(_0x5ea248)_0xe9fee3[_0x402b4d(0x204)]&&console[_0x402b4d(0x22d)](_0x402b4d(0x1f1)),!_0x113034&&(_0x113034=await resolveAgentId(_0x48b571,_0x846327,_0x3b814f,_0x252342,_0xe9fee3['verbose'])),await _0x333b09(_0x46b042,_0x113034,undefined);else throw _0x55c401;}return!_0x3db591&&console[_0x402b4d(0x238)](),0x0;}catch(_0x4c3a83){return console[_0x402b4d(0x22d)](),handleSDKError(_0x4c3a83,_0xe9fee3),0x1;}}[a10_0x2f2689(0x235)](_0x20f142){const _0x33ecd8=a10_0x2f2689;if(_0x33ecd8(0x215)in _0x20f142)process[_0x33ecd8(0x1ee)][_0x33ecd8(0x202)](_0x20f142[_0x33ecd8(0x215)]);else _0x33ecd8(0x22d)in _0x20f142&&console[_0x33ecd8(0x22d)](_0x33ecd8(0x1f4)+_0x20f142[_0x33ecd8(0x22d)]);}}function a10_0x569f(){const _0x5e39ac=['Chat\x20with\x20an\x20LLM\x20agent\x20(simplified)','verbose','targetKnowledgeBase','tool','962590WuRbXP','args','stack','getOrCreateDefaultAgent','llm','session\x20context','3386284TZRPCB','cause','CHAT_NOT_FOUND','includes','name','join','targetFunction','--agent\x20flag','content','streamChat','6919515IFMABa','99yTXdla','Using\x20cached\x20default\x20agent:\x20','Error:\x20','Error:\x20Cannot\x20use\x20--new\x20and\x20--chat-id\x20together','claude-4.5-haiku','llmAgent','functionName','No\x20project\x20specified.\x20Use\x20\x22Project/Agent\x22\x20format\x20or\x20set\x20project\x20with\x20\x22tdx\x20use\x20llm_project\x22','Agent\x20required.\x20Use\x20--agent\x20\x22Project/Agent\x22\x20or\x20set\x20agent\x20with\x20\x22tdx\x20use\x20agent\x22','string','startChat','chatId','6BGKDFK','validate','done','2096vKgqvW','4787392ljbtgt','resolveAgentId','targetAgent','\x20\x20Cause:\x20','code','error','description','2015430qLYFkG','tool_call','agent','context','type','options','handleChatEvent','Using\x20agent\x20from\x20','streamChatJsonl','log','chat-create','metadata','data','\x27...','Resolving\x20agent\x20\x27','Continuing\x20chat:\x20','stdout','Error:\x20Chat\x20session\x20\x27','stringify','Chat\x20session\x20not\x20found,\x20starting\x20new\x20chat...','agentId','3DUtkFY','\x0aError:\x20','new','event','\x27\x20not\x20found','getDefaultAgent','chat','Create\x20a\x20new\x20chat\x20session','llmProject','1652217CqHGDt','Usage:\x20tdx\x20chat\x20\x22your\x20message\x22\x0a\x0aRun\x20\x27tdx\x20chat\x20--help\x27\x20for\x20more\x20options','message','Getting\x20default\x20agent...','projectId','targetWebSearchTool','write'];a10_0x569f=function(){return _0x5e39ac;};return a10_0x569f();}export class ChatCreateCommand extends BaseCommand{[a10_0x2f2689(0x211)]=a10_0x2f2689(0x239);[a10_0x2f2689(0x22e)]=a10_0x2f2689(0x1fa);[a10_0x2f2689(0x225)](_0x1311c9){const _0x3967c0=a10_0x2f2689,_0x5d159f=_0x1311c9[_0x3967c0(0x234)],_0x259b65=_0x5d159f['agent'],_0x521079=_0x5d159f['llmAgent'];if(!_0x259b65&&!_0x521079)return _0x3967c0(0x220);return undefined;}async['execute'](_0x19c2d2){const _0x5ec299=a10_0x2f2689,{options:_0x238155,tdx:_0x34d910}=_0x19c2d2,_0x52a222=_0x238155,_0x377cdd=_0x52a222[_0x5ec299(0x231)],_0x2f1f2c=_0x52a222[_0x5ec299(0x21d)],_0x2bb57c=_0x52a222[_0x5ec299(0x1fb)];try{const _0x90ddb4=await resolveAgentId(_0x34d910,_0x377cdd,_0x2f1f2c,_0x2bb57c,_0x238155['verbose']),_0x58a4c9=await _0x34d910[_0x5ec299(0x20b)][_0x5ec299(0x222)](_0x90ddb4);return saveLastChatId(_0x58a4c9['id']),console[_0x5ec299(0x238)](JSON[_0x5ec299(0x1f0)]({'chatId':_0x58a4c9['id'],'agentId':_0x90ddb4})),0x0;}catch(_0x1766b2){return handleSDKError(_0x1766b2,_0x238155),0x1;}}}
|
|
1
|
+
const a11_0x2f58dd=a11_0x41f8;(function(_0x3f1bbf,_0x51588c){const _0x169d34=a11_0x41f8,_0x48059f=_0x3f1bbf();while(!![]){try{const _0x240030=parseInt(_0x169d34(0x10c))/0x1*(-parseInt(_0x169d34(0x155))/0x2)+parseInt(_0x169d34(0x132))/0x3*(parseInt(_0x169d34(0x11a))/0x4)+parseInt(_0x169d34(0x10d))/0x5*(-parseInt(_0x169d34(0x13c))/0x6)+-parseInt(_0x169d34(0x130))/0x7*(-parseInt(_0x169d34(0x151))/0x8)+parseInt(_0x169d34(0x147))/0x9*(parseInt(_0x169d34(0x148))/0xa)+-parseInt(_0x169d34(0x13b))/0xb+-parseInt(_0x169d34(0x124))/0xc*(parseInt(_0x169d34(0x14e))/0xd);if(_0x240030===_0x51588c)break;else _0x48059f['push'](_0x48059f['shift']());}catch(_0x50840d){_0x48059f['push'](_0x48059f['shift']());}}}(a11_0x470a,0xdf326));import{BaseCommand}from'./command.js';function a11_0x470a(){const _0x591f8a=['llmAgent','targetWebSearchTool','Error:\x20Cannot\x20use\x20--new\x20and\x20--chat-id\x20together','CHAT_NOT_FOUND','string','chat','verbose','3038GhRJhl','name','10137pzVoPp','Getting\x20default\x20agent...','done','Using\x20cached\x20default\x20agent:\x20','Chat\x20with\x20an\x20LLM\x20agent\x20(simplified)','agentId','tool','metadata','resolveAgentId','1078077kdoVfd','3880536QlXoHC','\x20\x20Cause:\x20','No\x20project\x20specified.\x20Use\x20\x22Project/Agent\x22\x20format\x20or\x20set\x20project\x20with\x20\x22tdx\x20use\x20llm_project\x22','projectId','functionName','type','context','llm','data','llmProject','getOrCreateDefaultAgent','1243386NpJZAg','80xhLYke','targetFunction','stdout','description','execute','handleChatEvent','13zMewxd','\x0aStack\x20trace:','tool_call','32872CRrQhx','\x27\x20not\x20found','agent','Continuing\x20chat:\x20','2xndqQE','content','Create\x20a\x20new\x20chat\x20session','error','chat-create','streamChatJsonl','claude-4.5-haiku','\x0aError:\x20','cause','new','log','startChat','join','795689IsAydS','10CNUvMl','404','Resolving\x20project\x20\x27','Resolving\x20agent\x20\x27','targetKnowledgeBase','includes','chatId','session\x20context','stream','Chat\x20session\x20not\x20found,\x20starting\x20new\x20chat...','code','stringify','message','620OPEigK','\x27...','targetAgent','validate','args','--agent\x20flag','site','resolveProjectId','Usage:\x20tdx\x20chat\x20\x22your\x20message\x22\x0a\x0aRun\x20\x27tdx\x20chat\x20--help\x27\x20for\x20more\x20options','write','3730332VuEeXY','streamChat','tool_result','Agent\x20required.\x20Use\x20--agent\x20\x22Project/Agent\x22\x20or\x20set\x20agent\x20with\x20\x22tdx\x20use\x20agent\x22','Error:\x20'];a11_0x470a=function(){return _0x591f8a;};return a11_0x470a();}import{SDKError,ErrorCode}from'../sdk/errors.js';import{withSpinner}from'../utils/spinner.js';import{parseAgentRef}from'../sdk/agent/agent-ref-parser.js';function a11_0x41f8(_0x21423c,_0x52ff6b){_0x21423c=_0x21423c-0x105;const _0x470a81=a11_0x470a();let _0x41f8db=_0x470a81[_0x21423c];return _0x41f8db;}import{saveLastChatId,loadLastChatId}from'../sdk/llm/chat-cache.js';import{getLLMConversationUrl}from'../sdk/client/endpoints.js';function handleSDKError(_0x3a0887,_0x1ef6e9){const _0x307687=a11_0x41f8;if(_0x3a0887 instanceof SDKError)console[_0x307687(0x158)](_0x307687(0x128)+_0x3a0887['message']),_0x1ef6e9[_0x307687(0x12f)]&&(_0x3a0887[_0x307687(0x107)]&&console[_0x307687(0x158)](_0x307687(0x13d)+_0x3a0887[_0x307687(0x107)]),_0x3a0887['stack']&&(console[_0x307687(0x158)](_0x307687(0x14f)),console[_0x307687(0x158)](_0x3a0887['stack'])));else throw _0x3a0887;}async function resolveAgentId(_0x181e5e,_0x38f143,_0xc276bd,_0x5d0905,_0x3c500c){const _0x2493c2=a11_0x41f8,_0x594f62=_0x38f143||_0xc276bd;if(_0x594f62){const {projectName:_0x1187be,agentName:_0x33b0f9}=parseAgentRef(_0x594f62),_0x442a56=_0x33b0f9||_0x594f62,_0x338e1d=_0x33b0f9?_0x1187be:_0x5d0905;if(!_0x338e1d)throw new Error(_0x2493c2(0x13e));if(_0x3c500c){const _0x584fbb=_0x38f143?_0x2493c2(0x11f):_0x2493c2(0x114);console['error']('Using\x20agent\x20from\x20'+_0x584fbb+':\x20'+_0x338e1d+'/'+_0x442a56);}const _0x34dc7b=await withSpinner(_0x2493c2(0x10f)+_0x338e1d+'\x27...',()=>_0x181e5e['llm'][_0x2493c2(0x121)](_0x338e1d),{'verbose':_0x3c500c}),_0x48a1de=await withSpinner(_0x2493c2(0x110)+_0x442a56+_0x2493c2(0x11b),()=>_0x181e5e[_0x2493c2(0x143)][_0x2493c2(0x13a)](_0x442a56,_0x34dc7b[_0x2493c2(0x144)]),{'verbose':_0x3c500c});return _0x48a1de[_0x2493c2(0x144)];}else{const _0x487d29=_0x181e5e[_0x2493c2(0x143)]['getDefaultAgent']();if(_0x487d29)return _0x3c500c&&console['error'](_0x2493c2(0x135)+_0x487d29[_0x2493c2(0x131)]),_0x487d29['id'];const _0x30bff1=await withSpinner(_0x2493c2(0x133),()=>_0x181e5e[_0x2493c2(0x143)][_0x2493c2(0x146)](_0x2493c2(0x105),0x0),{'verbose':_0x3c500c});return _0x30bff1[_0x2493c2(0x144)]['id'];}}export class ChatCommand extends BaseCommand{[a11_0x2f58dd(0x131)]=a11_0x2f58dd(0x12e);[a11_0x2f58dd(0x14b)]=a11_0x2f58dd(0x136);[a11_0x2f58dd(0x11d)](_0x1a2825){const _0x123e50=a11_0x2f58dd,_0x503945=_0x1a2825[_0x123e50(0x11e)][_0x123e50(0x10b)]('\x20');if(!_0x503945)return _0x123e50(0x122);return undefined;}async[a11_0x2f58dd(0x125)](_0x445157,_0x547cbe,_0x19474b,_0x5074d5,_0x52df5e){const _0x18d5ed=a11_0x2f58dd;for await(const _0x49e8d2 of _0x445157[_0x18d5ed(0x143)]['chat'](_0x547cbe,{'agentId':_0x19474b,'chatId':_0x5074d5})){if(_0x49e8d2[_0x18d5ed(0x141)]==='metadata'){const _0x175279=_0x49e8d2['data'][_0x18d5ed(0x113)];saveLastChatId(_0x175279),_0x52df5e&&console[_0x18d5ed(0x158)]('Chat\x20session:\x20'+_0x175279);}else _0x49e8d2[_0x18d5ed(0x141)]==='event'&&this[_0x18d5ed(0x14d)](_0x49e8d2[_0x18d5ed(0x144)]);}}async['streamChatJsonl'](_0x5ee6d2,_0x51539d,_0x432aaf,_0x792b47){const _0x464d1b=a11_0x2f58dd,_0x41664d=_0x5ee6d2[_0x464d1b(0x142)][_0x464d1b(0x120)];let _0x370652=![];for await(const _0x407b87 of _0x5ee6d2[_0x464d1b(0x143)]['chat'](_0x51539d,{'agentId':_0x432aaf,'chatId':_0x792b47})){if(_0x407b87[_0x464d1b(0x141)]==='metadata'){const _0x2cd4bd=_0x407b87[_0x464d1b(0x144)];saveLastChatId(_0x2cd4bd[_0x464d1b(0x113)]);const _0x498823=_0x2cd4bd[_0x464d1b(0x13f)]&&_0x2cd4bd[_0x464d1b(0x137)]?getLLMConversationUrl(_0x41664d,_0x2cd4bd[_0x464d1b(0x13f)],_0x2cd4bd[_0x464d1b(0x137)],_0x2cd4bd[_0x464d1b(0x113)]):undefined;console[_0x464d1b(0x109)](JSON[_0x464d1b(0x118)]({'type':_0x464d1b(0x139),'data':{'chatId':_0x2cd4bd['chatId'],'agentId':_0x2cd4bd[_0x464d1b(0x137)],'consoleUrl':_0x498823}})),_0x370652=!![];}else{if(_0x407b87['type']==='event'){!_0x370652&&_0x792b47&&(console[_0x464d1b(0x109)](JSON['stringify']({'type':'metadata','data':{'chatId':_0x792b47}})),_0x370652=!![]);const _0x4ff270=_0x407b87[_0x464d1b(0x144)];if(_0x464d1b(0x156)in _0x4ff270)console[_0x464d1b(0x109)](JSON[_0x464d1b(0x118)]({'type':_0x464d1b(0x156),'data':{'content':_0x4ff270[_0x464d1b(0x156)]}}));else{if(_0x464d1b(0x150)in _0x4ff270){const _0x5a0089=_0x4ff270['tool_call'];console[_0x464d1b(0x109)](JSON['stringify']({'type':_0x464d1b(0x150),'data':{'id':_0x5a0089['id'],'name':_0x5a0089['functionName'],'target':_0x5a0089[_0x464d1b(0x111)]?.[_0x464d1b(0x131)]||_0x5a0089[_0x464d1b(0x11c)]?.[_0x464d1b(0x131)]||_0x5a0089[_0x464d1b(0x12a)]?.[_0x464d1b(0x131)]||_0x5a0089[_0x464d1b(0x149)]}}));}else{if(_0x464d1b(0x138)in _0x4ff270)console[_0x464d1b(0x109)](JSON['stringify']({'type':_0x464d1b(0x126),'data':{'id':_0x4ff270['tool']['id'],'name':_0x4ff270[_0x464d1b(0x138)][_0x464d1b(0x140)],'result':typeof _0x4ff270[_0x464d1b(0x138)][_0x464d1b(0x156)]===_0x464d1b(0x12d)?_0x4ff270['tool'][_0x464d1b(0x156)]['slice'](0x0,0x1f4):''}}));else _0x464d1b(0x158)in _0x4ff270&&console[_0x464d1b(0x109)](JSON[_0x464d1b(0x118)]({'type':'error','data':{'error':_0x4ff270[_0x464d1b(0x158)]}}));}}}}}console[_0x464d1b(0x109)](JSON[_0x464d1b(0x118)]({'type':_0x464d1b(0x134)}));}async[a11_0x2f58dd(0x14c)](_0x2a7778){const _0x24e737=a11_0x2f58dd,{options:_0x338627,args:_0x5f0a60,tdx:_0xe641c7}=_0x2a7778,_0x39659a=_0x5f0a60[_0x24e737(0x10b)]('\x20'),_0x3ee2f4=_0x338627,_0xae229e=_0x3ee2f4[_0x24e737(0x153)],_0x3901b5=_0x3ee2f4[_0x24e737(0x129)],_0x146fb4=_0x3ee2f4[_0x24e737(0x145)],_0x54e421=_0x3ee2f4[_0x24e737(0x108)],_0x4a43cf=_0x3ee2f4[_0x24e737(0x113)],_0x1a2e70=_0x3ee2f4[_0x24e737(0x115)];if(_0x54e421&&_0x4a43cf)return console[_0x24e737(0x158)](_0x24e737(0x12b)),0x1;try{let _0x333c4e,_0x293ffb;if(_0x4a43cf)_0x293ffb=_0x4a43cf;else!_0x54e421&&(_0x293ffb=loadLastChatId(),_0x293ffb&&_0x338627[_0x24e737(0x12f)]&&console[_0x24e737(0x158)](_0x24e737(0x154)+_0x293ffb));!_0x4a43cf&&(_0x54e421||!_0x293ffb)&&(_0x333c4e=await resolveAgentId(_0xe641c7,_0xae229e,_0x3901b5,_0x146fb4,_0x338627['verbose']));const _0x2a5665=_0x1a2e70?(_0x57c8c2,_0x3bb2ad,_0x2f6b06)=>this[_0x24e737(0x15a)](_0xe641c7,_0x57c8c2,_0x3bb2ad,_0x2f6b06):(_0x548ff0,_0x21a330,_0x16bf5b)=>this[_0x24e737(0x125)](_0xe641c7,_0x548ff0,_0x21a330,_0x16bf5b,_0x338627[_0x24e737(0x12f)]);try{await _0x2a5665(_0x39659a,_0x333c4e,_0x293ffb);}catch(_0x20c81b){const _0x657f02=_0x20c81b instanceof SDKError&&_0x20c81b[_0x24e737(0x117)]===ErrorCode[_0x24e737(0x12c)]||_0x20c81b instanceof Error&&_0x20c81b[_0x24e737(0x119)][_0x24e737(0x112)](_0x24e737(0x10e));if(_0x657f02&&_0x4a43cf)return console[_0x24e737(0x158)]('Error:\x20Chat\x20session\x20\x27'+_0x4a43cf+_0x24e737(0x152)),0x1;if(_0x657f02)_0x338627[_0x24e737(0x12f)]&&console['error'](_0x24e737(0x116)),!_0x333c4e&&(_0x333c4e=await resolveAgentId(_0xe641c7,_0xae229e,_0x3901b5,_0x146fb4,_0x338627[_0x24e737(0x12f)])),await _0x2a5665(_0x39659a,_0x333c4e,undefined);else throw _0x20c81b;}return!_0x1a2e70&&console['log'](),0x0;}catch(_0x282fdd){return console[_0x24e737(0x158)](),handleSDKError(_0x282fdd,_0x338627),0x1;}}[a11_0x2f58dd(0x14d)](_0x212d13){const _0x1bc7b2=a11_0x2f58dd;if('content'in _0x212d13)process[_0x1bc7b2(0x14a)][_0x1bc7b2(0x123)](_0x212d13[_0x1bc7b2(0x156)]);else _0x1bc7b2(0x158)in _0x212d13&&console['error'](_0x1bc7b2(0x106)+_0x212d13[_0x1bc7b2(0x158)]);}}export class ChatCreateCommand extends BaseCommand{[a11_0x2f58dd(0x131)]=a11_0x2f58dd(0x159);[a11_0x2f58dd(0x14b)]=a11_0x2f58dd(0x157);[a11_0x2f58dd(0x11d)](_0x580937){const _0x2dd7c8=a11_0x2f58dd,_0x14991c=_0x580937['options'],_0x4f4103=_0x14991c[_0x2dd7c8(0x153)],_0xde8a07=_0x14991c['llmAgent'];if(!_0x4f4103&&!_0xde8a07)return _0x2dd7c8(0x127);return undefined;}async[a11_0x2f58dd(0x14c)](_0x26b992){const _0x5eaea4=a11_0x2f58dd,{options:_0x115456,tdx:_0x58c48d}=_0x26b992,_0x44c24d=_0x115456,_0x47a7d2=_0x44c24d[_0x5eaea4(0x153)],_0xf12a33=_0x44c24d['llmAgent'],_0x46e92c=_0x44c24d['llmProject'];try{const _0x3d5bb0=await resolveAgentId(_0x58c48d,_0x47a7d2,_0xf12a33,_0x46e92c,_0x115456[_0x5eaea4(0x12f)]),_0x338b5a=await _0x58c48d[_0x5eaea4(0x143)][_0x5eaea4(0x10a)](_0x3d5bb0);return saveLastChatId(_0x338b5a['id']),console[_0x5eaea4(0x109)](JSON[_0x5eaea4(0x118)]({'chatId':_0x338b5a['id'],'agentId':_0x3d5bb0})),0x0;}catch(_0x21304f){return handleSDKError(_0x21304f,_0x115456),0x1;}}}
|
|
@@ -1,15 +1,72 @@
|
|
|
1
1
|
import { BaseCommand, type CommandContext } from './command.js';
|
|
2
2
|
import { type ReleaseChannel } from '../core/config.js';
|
|
3
|
+
/**
|
|
4
|
+
* Preserve Claude Code's native arguments without reordering or interpreting them.
|
|
5
|
+
* In particular, `--resume` accepts an optional value that must remain adjacent.
|
|
6
|
+
*/
|
|
7
|
+
export declare function buildClaudeInvocationArgs(args: string[]): string[];
|
|
3
8
|
/**
|
|
4
9
|
* Build the Claude Code arguments for settings that apply only to this session.
|
|
5
10
|
* The inline JSON avoids modifying any project-local Claude Code settings.
|
|
11
|
+
*
|
|
12
|
+
* Passing `envOverrides` embeds an `env` block. Claude Code merges the settings
|
|
13
|
+
* from `--settings` at precedence level 2 (above `.claude/settings.local.json`,
|
|
14
|
+
* `.claude/settings.json`, and `~/.claude/settings.json`), and its env-block
|
|
15
|
+
* values replace shell env at startup — so an entry set here wins over the
|
|
16
|
+
* same key in any user-editable settings file and over the spawned process env.
|
|
6
17
|
*/
|
|
7
|
-
export declare function buildClaudeSettingsArgs(profile?: string): string[];
|
|
18
|
+
export declare function buildClaudeSettingsArgs(profile?: string, envOverrides?: Record<string, string>): string[];
|
|
8
19
|
/**
|
|
9
20
|
* Add TDX's session-scoped settings unless the user supplied their own settings.
|
|
10
21
|
* Avoiding duplicate --settings flags leaves precedence explicit and predictable.
|
|
22
|
+
* When the user forwards their own `--settings`, tdx's `envOverrides` are also
|
|
23
|
+
* skipped; the spawned process env then carries the proxy vars as a fallback.
|
|
24
|
+
*/
|
|
25
|
+
export declare function buildClaudeLaunchArgs(args: string[], profile?: string, envOverrides?: Record<string, string>): string[];
|
|
26
|
+
export declare function buildClaudeProxyEnvOverrides(port: number | undefined): Record<string, string>;
|
|
27
|
+
/** Env var Claude Code reads for the sub-agent model (alias or model id). */
|
|
28
|
+
export declare const SUBAGENT_MODEL_ENV = "CLAUDE_CODE_SUBAGENT_MODEL";
|
|
29
|
+
/** When '1', the sub-agent model wins over per-agent frontmatter and Explore's cap. */
|
|
30
|
+
export declare const SUBAGENT_MODEL_FORCE_ENV = "CLAUDE_CODE_SUBAGENT_MODEL_FORCE";
|
|
31
|
+
/**
|
|
32
|
+
* Find the session model Claude Code will run on: the last forwarded
|
|
33
|
+
* `--model <id>` / `--model=<id>`, then `ANTHROPIC_MODEL` from the launching env.
|
|
34
|
+
* Claude Code resolves its own default the same way, so this is the id the main
|
|
35
|
+
* conversation actually uses.
|
|
36
|
+
*/
|
|
37
|
+
export declare function resolveMainModel(claudeArgs: string[], env: NodeJS.ProcessEnv): string | undefined;
|
|
38
|
+
export interface SubagentModelEnvOptions {
|
|
39
|
+
/** Value of `--subagent-model`; undefined when the option was omitted. */
|
|
40
|
+
subagentModel?: string;
|
|
41
|
+
/** Claude Code arguments forwarded unchanged (searched for `--model`). */
|
|
42
|
+
claudeArgs: string[];
|
|
43
|
+
/** The launching environment. */
|
|
44
|
+
env: NodeJS.ProcessEnv;
|
|
45
|
+
/** `--no-proxy` session: the implicit default is skipped. */
|
|
46
|
+
noProxy: boolean;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Translate `--subagent-model` into Claude Code's sub-agent env vars.
|
|
50
|
+
*
|
|
51
|
+
* Claude Code has no CLI flag for this; `CLAUDE_CODE_SUBAGENT_MODEL` plus
|
|
52
|
+
* `CLAUDE_CODE_SUBAGENT_MODEL_FORCE=1` (Claude Code >= 2.1.257) is the only knob
|
|
53
|
+
* that also moves the built-in Explore/Plan agents off their Opus-tier cap.
|
|
54
|
+
* `_FORCE=1` alone is not enough — Explore keeps its cap unless a concrete model
|
|
55
|
+
* id is pinned alongside it (see plans/2026-09-12-claude-subagent-model.md).
|
|
56
|
+
*
|
|
57
|
+
* - `inherit` (default): pin every sub-agent to the main conversation's model
|
|
58
|
+
* when one was chosen via `--model` / `ANTHROPIC_MODEL`. When the option is
|
|
59
|
+
* omitted and no model was chosen, emit nothing so today's routing is kept.
|
|
60
|
+
* - `auto`: unset both vars so Claude Code's own per-agent routing applies.
|
|
61
|
+
* - anything else: pin every sub-agent to that model id or alias, verbatim.
|
|
62
|
+
*
|
|
63
|
+
* When the option is omitted, a `CLAUDE_CODE_SUBAGENT_MODEL*` already exported
|
|
64
|
+
* in the user's shell is left untouched; tdx is a launcher, not the owner of the
|
|
65
|
+
* user's environment.
|
|
66
|
+
*
|
|
67
|
+
* @returns Env entries to apply; an `undefined` value means "unset this var".
|
|
11
68
|
*/
|
|
12
|
-
export declare function
|
|
69
|
+
export declare function buildSubagentModelEnv(options: SubagentModelEnvOptions): Record<string, string | undefined>;
|
|
13
70
|
/**
|
|
14
71
|
* Parse semantic version string (e.g., "2.0.20" or "v2.0.20")
|
|
15
72
|
* @param version - Version string to parse
|
|
@@ -100,7 +157,7 @@ export declare function planClaudeSetup(skillsRepoUrl: string, releaseChannel: R
|
|
|
100
157
|
*/
|
|
101
158
|
export declare class ClaudeCommand extends BaseCommand {
|
|
102
159
|
readonly name = "claude";
|
|
103
|
-
readonly description = "Launch Claude Code with
|
|
160
|
+
readonly description = "Launch Claude Code with Treasure AI as the backend";
|
|
104
161
|
private passThroughServer?;
|
|
105
162
|
private logger?;
|
|
106
163
|
private port?;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"claude-command.d.ts","sourceRoot":"","sources":["../../src/commands/claude-command.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,WAAW,EAAE,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAShE,OAAO,EAA8C,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAkBpG;;;GAGG;AACH,wBAAgB,
|
|
1
|
+
{"version":3,"file":"claude-command.d.ts","sourceRoot":"","sources":["../../src/commands/claude-command.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,WAAW,EAAE,KAAK,cAAc,EAAE,MAAM,cAAc,CAAC;AAShE,OAAO,EAA8C,KAAK,cAAc,EAAE,MAAM,mBAAmB,CAAC;AAkBpG;;;GAGG;AACH,wBAAgB,yBAAyB,CAAC,IAAI,EAAE,MAAM,EAAE,GAAG,MAAM,EAAE,CAElE;AAED;;;;;;;;;GASG;AACH,wBAAgB,uBAAuB,CACrC,OAAO,CAAC,EAAE,MAAM,EAChB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACpC,MAAM,EAAE,CAWV;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,IAAI,EAAE,MAAM,EAAE,EACd,OAAO,CAAC,EAAE,MAAM,EAChB,YAAY,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GACpC,MAAM,EAAE,CAMV;AAED,wBAAgB,4BAA4B,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAa7F;AAED,6EAA6E;AAC7E,eAAO,MAAM,kBAAkB,+BAA+B,CAAC;AAC/D,uFAAuF;AACvF,eAAO,MAAM,wBAAwB,qCAAqC,CAAC;AAE3E;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,UAAU,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,CAAC,UAAU,GAAG,MAAM,GAAG,SAAS,CAajG;AAED,MAAM,WAAW,uBAAuB;IACtC,0EAA0E;IAC1E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,0EAA0E;IAC1E,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,iCAAiC;IACjC,GAAG,EAAE,MAAM,CAAC,UAAU,CAAC;IACvB,6DAA6D;IAC7D,OAAO,EAAE,OAAO,CAAC;CAClB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,uBAAuB,GAC/B,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAiCpC;AA0BD;;;;GAIG;AACH,wBAAgB,YAAY,CAC1B,OAAO,EAAE,MAAM,GACd;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAQxD;AAED;;;GAGG;AACH,wBAAgB,eAAe,CAC7B,EAAE,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EACnD,EAAE,EAAE;IAAE,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAClD,MAAM,CAIR;AAiLD,4DAA4D;AAC5D,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,0EAA0E;AAC1E,eAAO,MAAM,cAAc,EAAE,aAAa,EAEzC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,qBAAqB,+CAA+C,CAAC;AAElF;;;GAGG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAO3C;AAyGD,kDAAkD;AAClD,eAAO,MAAM,iBAAiB,UAAkD,CAAC;AAEjF;;;;;;;GAOG;AACH,eAAO,MAAM,YAAY,QAA2B,CAAC;AAiFrD,0DAA0D;AAC1D,wBAAgB,kBAAkB,IAAI,IAAI,CAEzC;AAkBD,2EAA2E;AAC3E,wBAAgB,mBAAmB,CAAC,aAAa,EAAE,MAAM,EAAE,cAAc,EAAE,cAAc,GAAG,IAAI,CAS/F;AAYD,0EAA0E;AAC1E,wBAAgB,cAAc,CAAC,MAAM,EAAE,aAAa,EAAE,GAAG,EAAE,MAAM,GAAG,IAAI,CAavE;AAED;;;GAGG;AACH,MAAM,WAAW,eAAe;IAC9B,+EAA+E;IAC/E,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,2EAA2E;IAC3E,WAAW,EAAE,OAAO,CAAC;IACrB,wCAAwC;IACxC,cAAc,EAAE,MAAM,EAAE,CAAC;IACzB,wDAAwD;IACxD,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,uEAAuE;AACvE,wBAAgB,YAAY,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAO3D;AAED;;;;;;;;;GASG;AACH,wBAAgB,eAAe,CAC7B,aAAa,EAAE,MAAM,EACrB,cAAc,EAAE,cAAc,EAC9B,KAAK,EAAE,OAAO,GACb,eAAe,CA0CjB;AA6BD;;;GAGG;AACH,qBAAa,aAAc,SAAQ,WAAW;IAC5C,QAAQ,CAAC,IAAI,YAAY;IACzB,QAAQ,CAAC,WAAW,wDAAwD;IAE5E,OAAO,CAAC,iBAAiB,CAAC,CAAyB;IACnD,OAAO,CAAC,MAAM,CAAC,CAAY;IAC3B,OAAO,CAAC,IAAI,CAAC,CAAS;IAEtB;;;;;;;;;;;;OAYG;YACW,sBAAsB;IAsF9B,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,MAAM,CAAC;CAgNxD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a11_0x44257a=a11_0x1930;function a11_0x1930(_0x291aee,_0x22db7c){_0x291aee=_0x291aee-0x196;const _0x44fa37=a11_0x44fa();let _0x19305=_0x44fa37[_0x291aee];return _0x19305;}(function(_0x26c1a4,_0x5c47c6){const _0x43bb4f=a11_0x1930,_0x49ae19=_0x26c1a4();while(!![]){try{const _0x34bc1a=parseInt(_0x43bb4f(0x1ec))/0x1+-parseInt(_0x43bb4f(0x198))/0x2*(-parseInt(_0x43bb4f(0x1cf))/0x3)+parseInt(_0x43bb4f(0x19a))/0x4*(-parseInt(_0x43bb4f(0x196))/0x5)+parseInt(_0x43bb4f(0x1e0))/0x6+-parseInt(_0x43bb4f(0x1f7))/0x7+parseInt(_0x43bb4f(0x1c6))/0x8*(parseInt(_0x43bb4f(0x1dd))/0x9)+parseInt(_0x43bb4f(0x1c0))/0xa*(-parseInt(_0x43bb4f(0x213))/0xb);if(_0x34bc1a===_0x5c47c6)break;else _0x49ae19['push'](_0x49ae19['shift']());}catch(_0x4656b7){_0x49ae19['push'](_0x49ae19['shift']());}}}(a11_0x44fa,0x9533e));import{execFile}from'node:child_process';import{existsSync}from'node:fs';import{join}from'node:path';import{promisify}from'node:util';import a11_0x5f15ec from'chalk';import{BaseCommand}from'./command.js';import{PassThroughProxyServer}from'../proxy/passthrough-server.js';import{TDXLogger}from'../utils/tdx-logger.js';import{getEndpoint,getConsoleUrl}from'../sdk/client/endpoints.js';import{getOAuthTokens}from'../core/oauth-keychain.js';import{findExecutable,crossSpawn}from'../utils/process.js';import{SDKError,ErrorCode,errorContains}from'../sdk/errors.js';import{createCommandSpinner}from'../utils/spinner.js';import{writeCachedAccountInfo,loadReleaseChannel}from'../core/config.js';import{getVersion}from'../core/version.js';import{resolveReleaseTag}from'../utils/github-releases.js';import{createGlobalCache}from'../utils/global-cache.js';import{findMcpServerUrl,getClaudeConfigDir,isPluginInstalled,normalizeRepoUrl,readMarketplaceSourceUrl}from'../utils/claude-code-state.js';const execFileAsync=promisify(execFile),MIN_CLAUDE_VERSION=a11_0x44257a(0x22b);export function buildClaudeSettingsArgs(_0x282ed7){const _0x431f5f=a11_0x44257a;return[_0x431f5f(0x253),JSON['stringify']({'statusLine':{'type':'command','command':_0x282ed7?_0x431f5f(0x205)+_0x282ed7+_0x431f5f(0x23f):_0x431f5f(0x231)}})];}export function buildClaudeLaunchArgs(_0x38ade8,_0x192439){const _0x3c1e27=a11_0x44257a;if(_0x38ade8[_0x3c1e27(0x208)]('--settings')||_0x38ade8[_0x3c1e27(0x219)](_0x4bbd25=>_0x4bbd25[_0x3c1e27(0x243)](_0x3c1e27(0x1b3))))return[..._0x38ade8];return[..._0x38ade8,...buildClaudeSettingsArgs(_0x192439)];}function handleInstallationError(_0x5f09dc,_0x30476f,_0x45b9e0,_0x2609ed){const _0x67026b=a11_0x44257a;errorContains(_0x5f09dc,_0x67026b(0x197),_0x67026b(0x20b),'already\x20configured')?(_0x45b9e0[_0x67026b(0x203)]='✓\x20'+_0x30476f+_0x67026b(0x214),_0x2609ed?.[_0x67026b(0x1f0)](_0x30476f+_0x67026b(0x214)),_0x5f09dc instanceof SDKError&&_0x5f09dc[_0x67026b(0x1b4)]&&_0x2609ed?.['debug']('Command\x20output:\x20'+_0x5f09dc[_0x67026b(0x1b4)][_0x67026b(0x1cc)])):(_0x45b9e0[_0x67026b(0x1dc)](_0x67026b(0x227)+_0x30476f),_0x2609ed?.[_0x67026b(0x1e3)](_0x30476f+_0x67026b(0x222),_0x5f09dc));}export function parseVersion(_0x5e552c){const _0x242ea2=a11_0x44257a,_0x45ecbb=_0x5e552c[_0x242ea2(0x1bd)]()[_0x242ea2(0x20d)](/^v?(\d+)\.(\d+)\.(\d+)/);if(!_0x45ecbb)return null;return{'major':parseInt(_0x45ecbb[0x1],0xa),'minor':parseInt(_0x45ecbb[0x2],0xa),'patch':parseInt(_0x45ecbb[0x3],0xa)};}export function compareVersions(_0x13a55d,_0x591f5e){const _0x1c6a55=a11_0x44257a;if(_0x13a55d[_0x1c6a55(0x21b)]!==_0x591f5e[_0x1c6a55(0x21b)])return _0x13a55d[_0x1c6a55(0x21b)]-_0x591f5e[_0x1c6a55(0x21b)];if(_0x13a55d[_0x1c6a55(0x241)]!==_0x591f5e[_0x1c6a55(0x241)])return _0x13a55d[_0x1c6a55(0x241)]-_0x591f5e['minor'];return _0x13a55d[_0x1c6a55(0x24f)]-_0x591f5e[_0x1c6a55(0x24f)];}async function checkClaudeVersion(_0x379044,_0x2cdc75){const _0x55656f=a11_0x44257a;_0x2cdc75?.[_0x55656f(0x225)](_0x55656f(0x22c)+_0x379044+')');const _0x4add0a=await executeClaudeCommand(['--version'],undefined,_0x2cdc75),_0x1aea75=parseVersion(_0x4add0a);if(!_0x1aea75){_0x2cdc75?.[_0x55656f(0x1dc)]('Could\x20not\x20parse\x20Claude\x20Code\x20version\x20from:\x20'+_0x4add0a);return;}const _0x2bac95=_0x1aea75[_0x55656f(0x21b)]+'.'+_0x1aea75[_0x55656f(0x241)]+'.'+_0x1aea75[_0x55656f(0x24f)],_0x110aa3=parseVersion(_0x379044);if(!_0x110aa3){_0x2cdc75?.[_0x55656f(0x1dc)](_0x55656f(0x1f6)+_0x379044);return;}if(compareVersions(_0x1aea75,_0x110aa3)<0x0){_0x2cdc75?.[_0x55656f(0x1e3)]('Claude\x20Code\x20version\x20'+_0x2bac95+_0x55656f(0x1b2)+_0x379044+')');throw new SDKError(ErrorCode[_0x55656f(0x1eb)],'Claude\x20Code\x20version\x20'+_0x2bac95+_0x55656f(0x21a)+_0x379044+_0x55656f(0x200),undefined,{'helpText':_0x55656f(0x19f)});}_0x2cdc75?.[_0x55656f(0x225)]('Claude\x20Code\x20version\x20'+_0x2bac95+_0x55656f(0x1a2));}async function executeClaudeCommand(_0x1cdf52,_0xfaa027,_0x45adee){const _0x54c894=a11_0x44257a;return _0x45adee?.[_0x54c894(0x1f0)](_0x54c894(0x226)+_0x1cdf52[_0x54c894(0x1a3)]('\x20')),new Promise((_0x28bdb2,_0x552e5f)=>{const _0x168c95=_0x54c894,_0x4ca2a4=crossSpawn(_0x168c95(0x217),_0x1cdf52,{'stdio':_0x168c95(0x1b7)});let _0x24f47e='',_0x4e0895='';_0x4ca2a4['stdout']?.['on']('data',_0x50a62e=>{_0x24f47e+=_0x50a62e['toString']();}),_0x4ca2a4[_0x168c95(0x1b9)]?.['on'](_0x168c95(0x247),_0x5499bd=>{const _0x38e0c3=_0x168c95;_0x4e0895+=_0x5499bd[_0x38e0c3(0x1f3)]();}),_0x4ca2a4['on'](_0x168c95(0x1e3),_0x1ff822=>{const _0x597b87=_0x168c95;_0x1ff822['code']==='ENOENT'?(_0x45adee?.[_0x597b87(0x1e3)]('Claude\x20Code\x20CLI\x20not\x20found'),_0x552e5f(new SDKError(ErrorCode[_0x597b87(0x228)],_0x597b87(0x1d4),_0x1ff822,{'helpText':_0x597b87(0x1d5)}))):(_0x45adee?.['error'](_0x597b87(0x23b)+_0x1ff822[_0x597b87(0x1cc)]),_0x552e5f(new SDKError(ErrorCode['INTERNAL'],'Failed\x20to\x20spawn\x20claude\x20command:\x20'+_0x1ff822[_0x597b87(0x1cc)],_0x1ff822)));}),_0x4ca2a4['on']('exit',_0x46e2c1=>{const _0x3605ab=_0x168c95;if(_0x46e2c1===0x0)_0x28bdb2(_0x24f47e);else _0xfaa027?(_0x45adee?.[_0x3605ab(0x1e3)](_0x3605ab(0x221)+_0x46e2c1+_0x3605ab(0x232)+_0x1cdf52[_0x3605ab(0x1a3)]('\x20')),_0x552e5f(new SDKError(ErrorCode[_0x3605ab(0x1c5)],_0xfaa027,new Error(_0x4e0895)))):_0x28bdb2('');});});}async function ensureMcpServer(_0x56cb09,_0x593b41,_0x2a3911,_0x487f49,_0x544f06){const _0x58e8f3=a11_0x44257a;_0x487f49[_0x58e8f3(0x203)]=_0x58e8f3(0x210)+_0x56cb09+'\x27...';const _0x5241cc=await executeClaudeCommand(['mcp','get',_0x56cb09],undefined,_0x544f06);if(_0x5241cc){const _0x3778be=_0x5241cc[_0x58e8f3(0x20d)](/URL:\s*(\S+)/);if(_0x3778be&&_0x3778be[0x1]===_0x593b41){_0x487f49[_0x58e8f3(0x203)]=_0x58e8f3(0x21d)+_0x56cb09+_0x58e8f3(0x1ed);return;}else{if(_0x3778be){const _0x5494a5=_0x3778be[0x1];_0x544f06?.['info'](_0x58e8f3(0x1ab)+_0x56cb09+_0x58e8f3(0x1ad)+_0x5494a5+_0x58e8f3(0x245)+_0x593b41),_0x487f49[_0x58e8f3(0x203)]=_0x58e8f3(0x1a7)+_0x56cb09+_0x58e8f3(0x20c),await executeClaudeCommand([_0x58e8f3(0x1e4),_0x58e8f3(0x23e),_0x56cb09],_0x58e8f3(0x1bb)+_0x56cb09+'\x27',_0x544f06);try{await executeClaudeCommand([_0x58e8f3(0x1e4),_0x58e8f3(0x218),_0x56cb09,_0x593b41,_0x58e8f3(0x237),_0x2a3911],_0x58e8f3(0x1ae)+_0x56cb09+'\x27',_0x544f06),_0x487f49[_0x58e8f3(0x203)]=_0x58e8f3(0x21d)+_0x56cb09+_0x58e8f3(0x254);return;}catch(_0x2cc1d2){_0x544f06?.[_0x58e8f3(0x1e3)](_0x58e8f3(0x242)+_0x5494a5),await executeClaudeCommand([_0x58e8f3(0x1e4),_0x58e8f3(0x218),_0x56cb09,_0x5494a5,_0x58e8f3(0x237),_0x2a3911],'Failed\x20to\x20restore\x20MCP\x20server\x20\x27'+_0x56cb09+_0x58e8f3(0x1da)+_0x5494a5,_0x544f06)['catch'](_0xe50eab=>_0x544f06?.[_0x58e8f3(0x1e3)](_0x58e8f3(0x1df)+_0xe50eab));throw _0x2cc1d2;}}}}await executeClaudeCommand(['mcp',_0x58e8f3(0x218),_0x56cb09,_0x593b41,_0x58e8f3(0x237),_0x2a3911],_0x58e8f3(0x1ae)+_0x56cb09+'\x27',_0x544f06),_0x487f49['text']=_0x58e8f3(0x21d)+_0x56cb09+_0x58e8f3(0x1ed);}const TD_DOCS_MCP_URL='https://docs.treasure.ai/mcp';export const TD_MCP_SERVERS=[{'name':a11_0x44257a(0x1a0),'url':TD_DOCS_MCP_URL,'transport':a11_0x44257a(0x1bc)}];export const DEFAULT_TD_SKILLS_URL=a11_0x44257a(0x1c8);export function getTdSkillsRepoUrl(){const _0x3504dd=process.env.TDX_TD_SKILLS_REPO;if(_0x3504dd)return _0x3504dd;return DEFAULT_TD_SKILLS_URL;}async function removeMarketplace(_0x387ee4,_0x441101){const _0x251009=a11_0x44257a;try{const _0x3331c2=await executeClaudeCommand(['plugin',_0x251009(0x1a8),'list'],_0x251009(0x1ee),_0x441101);if(!_0x3331c2['includes'](_0x387ee4)){_0x441101?.[_0x251009(0x225)](_0x251009(0x22e)+_0x387ee4+_0x251009(0x201));return;}await executeClaudeCommand([_0x251009(0x1d2),_0x251009(0x1a8),'remove',_0x387ee4],'Failed\x20to\x20remove\x20marketplace\x20\x27'+_0x387ee4+'\x27',_0x441101),_0x441101?.[_0x251009(0x1f0)]('Marketplace\x20\x27'+_0x387ee4+'\x27\x20removed');}catch(_0x588635){_0x441101?.[_0x251009(0x1dc)](_0x251009(0x22d)+_0x387ee4+_0x251009(0x1fe)+_0x588635);}}async function restoreDefaultTdSkillsMarketplace(_0x4bb844){const _0x34316e=a11_0x44257a;try{await removeMarketplace('td-skills',_0x4bb844),await executeClaudeCommand([_0x34316e(0x1d2),_0x34316e(0x1a8),_0x34316e(0x218),DEFAULT_TD_SKILLS_URL],undefined,_0x4bb844),_0x4bb844?.['info']('Restored\x20default\x20td-skills\x20marketplace');}catch{}}async function ensureMarketplace(_0x7248f7,_0x1fb812,_0x5c24d6,_0x4a8bcc){const _0x29d84a=a11_0x44257a;_0x5c24d6[_0x29d84a(0x203)]='Configuring\x20marketplace\x20\x27'+_0x7248f7+_0x29d84a(0x1af),await executeClaudeCommand([_0x29d84a(0x1d2),_0x29d84a(0x1a8),_0x29d84a(0x218),_0x1fb812],_0x29d84a(0x1c7)+_0x7248f7+'\x27',_0x4a8bcc),_0x5c24d6[_0x29d84a(0x203)]=_0x29d84a(0x1cd)+_0x7248f7+_0x29d84a(0x1ed);}async function updateMarketplace(_0x370334,_0x4cf2cb,_0xf03a53){const _0x59fb24=a11_0x44257a;_0x4cf2cb[_0x59fb24(0x203)]=_0x59fb24(0x1b8)+_0x370334+_0x59fb24(0x1af),await executeClaudeCommand([_0x59fb24(0x1d2),_0x59fb24(0x1a8),_0x59fb24(0x238),_0x370334],_0x59fb24(0x1a9)+_0x370334+'\x27',_0xf03a53),_0x4cf2cb[_0x59fb24(0x203)]=_0x59fb24(0x1cd)+_0x370334+'\x27\x20updated';}async function ensurePlugin(_0x7fdfe8,_0x16de85,_0x160930,_0x49c8f3){const _0x384bdf=a11_0x44257a;_0x160930[_0x384bdf(0x203)]=_0x384bdf(0x1c9)+_0x7fdfe8+_0x384bdf(0x1af),await executeClaudeCommand([_0x384bdf(0x1d2),_0x384bdf(0x244),_0x7fdfe8+'@'+_0x16de85],_0x384bdf(0x21c)+_0x7fdfe8+'\x27',_0x49c8f3),_0x160930[_0x384bdf(0x203)]=_0x384bdf(0x22f)+_0x7fdfe8+_0x384bdf(0x236);}export const TD_SKILLS_PLUGINS=['sql-skills',a11_0x44257a(0x1c1),'tdx-skills'];export const SETUP_TTL_MS=0xe*0x18*0x3c*0x3c*0x3e8;function isWithinTtl(_0x28efc1){const _0x3b334c=a11_0x44257a;if(!_0x28efc1)return![];const _0x1d475b=Date[_0x3b334c(0x20a)]()-new Date(_0x28efc1)[_0x3b334c(0x21e)]();return Number[_0x3b334c(0x1cb)](_0x1d475b)&&_0x1d475b>=0x0&&_0x1d475b<=SETUP_TTL_MS;}function a11_0x44fa(){const _0x23a200=['passThroughServer','\x20is\x20too\x20old\x20(minimum:\x20','--settings=','cause','refresh_token','apikey','pipe','Updating\x20marketplace\x20\x27','stderr','http://127.0.0.1:','Failed\x20to\x20remove\x20outdated\x20MCP\x20server\x20\x27','http','trim','fetch','unshift','84210DndKqd','workflow-skills','Setup\x20failed','slice','Launch\x20Claude\x20Code\x20with\x20integrated\x20LLM\x20proxy','INSTALLATION_FAILED','16NhbQGW','Failed\x20to\x20configure\x20marketplace\x20\x27','https://github.com/treasure-data/td-skills','Installing\x20plugin\x20\x27','localeCompare','isFinite','message','✓\x20Marketplace\x20\x27','length','147NMDonm','false','url','plugin','profile','Claude\x20Code\x20CLI\x20not\x20found','Please\x20install\x20Claude\x20Code\x20from\x20https://claude.com/claude-code','user','oauth','pluginIds','read','\x27\x20to\x20','td-skills','warn','2942019ZVLiqv','✓\x20Claude\x20Code\x20version\x20OK','Restore\x20also\x20failed:\x20','5478576TzjczS','init','✓\x20td-skills\x20checked\x20out\x20at\x20','error','mcp','logLevel','start','✓\x20TD\x20LLM\x20pass-through\x20proxy\x20running\x20on\x20port\x20','cwds','✓\x20Logs\x20saved\x20to\x20','verbose','CLAUDE_CODE_UNSUPPORTED_VERSION','1068200Mharre','\x27\x20configured','Failed\x20to\x20list\x20marketplaces','execute','info','context','td-skills\x20marketplace\x20dir\x20not\x20found,\x20skipping\x20release\x20tag\x20checkout','toString','resume','stop','Invalid\x20minimum\x20version\x20format:\x20','1179738EROtUs','description','log','Authentication\x20required\x20for\x20TD\x20LLM\x20Proxy.\x20Run:\x20tdx\x20auth\x20setup','continue','name','site','\x27:\x20','marketplaces','\x20or\x20later.','\x27\x20not\x20found\x20in\x20list,\x20skipping\x20removal','✓\x20TD\x20LLM\x20proxy\x20settings\x20prepared\x20for\x20this\x20session','text','apiKey','tdx\x20--profile\x20','getLogPath','checkout','includes','Checking\x20out\x20td-skills\x20','now','already\x20installed','\x27\x20URL...','match','reset','transport','Configuring\x20MCP\x20server\x20\x27','fromEntries','toISOString','2123WOkYZW','\x20already\x20configured','cwd','entries','claude','add','some','\x20does\x20not\x20support\x20required\x20features.\x20Please\x20upgrade\x20to\x20version\x20','major','Failed\x20to\x20install\x20plugin\x20\x27','✓\x20MCP\x20server\x20\x27','getTime','llm-proxy','CLAUDE_CODE_USE_BEDROCK','Command\x20failed\x20(exit\x20','\x20configuration\x20failed','account_id','port','debug','Executing:\x20claude\x20','Warning:\x20Failed\x20to\x20configure\x20','CLAUDE_CODE_NOT_FOUND','--hard','origin/main','2.0.20','Checking\x20Claude\x20Code\x20version\x20(minimum\x20required:\x20','Failed\x20to\x20remove\x20marketplace\x20\x27','Marketplace\x20\x27','✓\x20Plugin\x20\x27','git','tdx\x20claude\x20statusline','):\x20claude\x20','✓\x20TD\x20LLM\x20pass-through\x20proxy\x20server\x20stopped','missingPlugins','...','\x27\x20installed','--transport','update','filter','claude_setup.json','Command\x20spawn\x20error:\x20','Claude\x20setup\x20plan:\x20','tdx-cli','remove','\x20claude\x20statusline','close','minor','Failed\x20to\x20add\x20new\x20URL,\x20restoring\x20previous\x20URL:\x20','startsWith','install','\x20→\x20','tdxVersion','data','logger','origin','sort','td-skills\x20checked\x20out\x20at\x20tag\x20','Checking\x20Claude\x20Code\x20version...','claude-command','exit','patch','repoUrl','refreshedAt','Failed\x20to\x20apply\x20td-skills\x20release\x20channel:\x20','--settings','\x27\x20updated','map','6250XPKqUB','already\x20exists','18514XFgmDr','proxy','2188CdSfNW','Claude\x20Code\x20version\x20check\x20failed','ANTHROPIC_BASE_URL','ANTHROPIC_AUTH_TOKEN','refresh','Download\x20the\x20latest\x20version\x20from\x20https://claude.com/claude-code','td-docs','TDX_PROFILE','\x20meets\x20minimum\x20requirement','join','plugins','main','✓\x20Logging\x20to\x20','Updating\x20MCP\x20server\x20\x27','marketplace','Failed\x20to\x20update\x20marketplace\x20\x27','td-skills\x20Plugins','MCP\x20server\x20\x27','fail','\x27\x20URL\x20changed:\x20','Failed\x20to\x20configure\x20MCP\x20server\x20\x27','\x27...','red'];a11_0x44fa=function(){return _0x23a200;};return a11_0x44fa();}const setupCache=createGlobalCache(a11_0x44257a(0x23a),a11_0x44257a(0x24d));function updateSetupCache(_0xdef6ce){const _0x55aaf3=a11_0x44257a;try{setupCache['write']({...setupCache[_0x55aaf3(0x1d9)](),..._0xdef6ce});}catch{}}function isTdxUpgradeSinceSetup(){const _0x490b89=a11_0x44257a;return setupCache[_0x490b89(0x1d9)]()?.[_0x490b89(0x246)]!==getVersion();}export function recordSetupVersion(){updateSetupCache({'tdxVersion':getVersion()});}function isSkillsRefreshDue(_0x453987,_0x2983d7){const _0x5ddbf6=a11_0x44257a,_0x15939d=setupCache[_0x5ddbf6(0x1d9)]()?.['skills'];if(!_0x15939d)return!![];if(_0x15939d[_0x5ddbf6(0x250)]!==_0x453987||_0x15939d['releaseChannel']!==_0x2983d7||_0x15939d[_0x5ddbf6(0x1d8)]?.[_0x5ddbf6(0x1a3)](',')!==TD_SKILLS_PLUGINS['join'](','))return!![];return!isWithinTtl(_0x15939d[_0x5ddbf6(0x251)]);}export function recordSkillsRefresh(_0x36806b,_0xc6b42c){const _0x494786=a11_0x44257a;updateSetupCache({'skills':{'refreshedAt':new Date()[_0x494786(0x212)](),'repoUrl':_0x36806b,'releaseChannel':_0xc6b42c,'pluginIds':TD_SKILLS_PLUGINS}});}const MCP_SETUP_MAX_CWDS=0x64;function wasMcpConfiguredRecently(_0x375cb0,_0x5853e2){const _0x2f8dfa=a11_0x44257a,_0xd0f402=setupCache['read']()?.['mcp']?.[_0x375cb0[_0x2f8dfa(0x1fc)]];if(_0xd0f402?.[_0x2f8dfa(0x1d1)]!==_0x375cb0[_0x2f8dfa(0x1d1)])return![];return isWithinTtl(_0xd0f402[_0x2f8dfa(0x1e8)]?.[_0x5853e2]);}export function recordMcpSetup(_0x43e07e,_0x3369c8){const _0x40edde=a11_0x44257a,_0x5e1e03=setupCache['read']()?.[_0x40edde(0x1e4)]??{},_0x30629c=_0x5e1e03[_0x43e07e['name']],_0x5bcf6e=_0x30629c?.[_0x40edde(0x1d1)]===_0x43e07e[_0x40edde(0x1d1)]?_0x30629c[_0x40edde(0x1e8)]:{},_0x2d3462=Object[_0x40edde(0x216)]({..._0x5bcf6e,[_0x3369c8]:new Date()[_0x40edde(0x212)]()})[_0x40edde(0x239)](([,_0x3bca5f])=>isWithinTtl(_0x3bca5f))[_0x40edde(0x24a)](([,_0x33a3f6],[,_0x3dce86])=>_0x3dce86[_0x40edde(0x1ca)](_0x33a3f6))[_0x40edde(0x1c3)](0x0,MCP_SETUP_MAX_CWDS);updateSetupCache({'mcp':{..._0x5e1e03,[_0x43e07e['name']]:{'url':_0x43e07e[_0x40edde(0x1d1)],'cwds':Object[_0x40edde(0x211)](_0x2d3462)}}});}export function hasSetupWork(_0x5d1017){const _0x5cb869=a11_0x44257a;return _0x5d1017['missingMcpServers'][_0x5cb869(0x1ce)]>0x0||_0x5d1017[_0x5cb869(0x1a8)]||_0x5d1017[_0x5cb869(0x234)]['length']>0x0||_0x5d1017[_0x5cb869(0x19e)];}export function planClaudeSetup(_0x1bb183,_0x5d65fc,_0x18a109){const _0x1f0545=a11_0x44257a;if(_0x18a109||isTdxUpgradeSinceSetup())return{'missingMcpServers':TD_MCP_SERVERS[_0x1f0545(0x255)](_0x4e94ff=>_0x4e94ff['name']),'marketplace':!![],'missingPlugins':[...TD_SKILLS_PLUGINS],'refresh':!![]};const _0x5e584c=readMarketplaceSourceUrl(_0x1f0545(0x1db))!==normalizeRepoUrl(_0x1bb183),_0xa1e59e=_0x5e584c?[...TD_SKILLS_PLUGINS]:TD_SKILLS_PLUGINS[_0x1f0545(0x239)](_0x8a792=>!isPluginInstalled(_0x8a792,_0x1f0545(0x1db))),_0x89d235=_0x1bb183!==DEFAULT_TD_SKILLS_URL,_0x13bae8=process[_0x1f0545(0x215)](),_0x3ff0b4=TD_MCP_SERVERS[_0x1f0545(0x239)](_0x4a4986=>findMcpServerUrl(_0x4a4986[_0x1f0545(0x1fc)],_0x13bae8)!==_0x4a4986[_0x1f0545(0x1d1)]&&!wasMcpConfiguredRecently(_0x4a4986,_0x13bae8))['map'](_0x3657cd=>_0x3657cd['name']);return{'missingMcpServers':_0x3ff0b4,'marketplace':_0x5e584c,'missingPlugins':_0xa1e59e,'refresh':_0x5e584c||_0xa1e59e[_0x1f0545(0x1ce)]>0x0||_0x89d235||isSkillsRefreshDue(_0x1bb183,_0x5d65fc)};}async function checkoutReleaseTag(_0x5150d5,_0x3aeb0e,_0x39a82c){const _0x2b3a8d=a11_0x44257a,_0x5ba7f1=join(getClaudeConfigDir(),_0x2b3a8d(0x1a4),_0x2b3a8d(0x1ff),_0x2b3a8d(0x1db));if(!existsSync(_0x5ba7f1)){_0x39a82c?.[_0x2b3a8d(0x225)](_0x2b3a8d(0x1f2));return;}_0x3aeb0e['text']=_0x2b3a8d(0x209)+_0x5150d5+_0x2b3a8d(0x235),await execFileAsync(_0x2b3a8d(0x230),[_0x2b3a8d(0x1be),_0x2b3a8d(0x249),'--tags','--force'],{'cwd':_0x5ba7f1});try{await execFileAsync('git',[_0x2b3a8d(0x207),_0x2b3a8d(0x1a5)],{'cwd':_0x5ba7f1});}catch{await execFileAsync(_0x2b3a8d(0x230),[_0x2b3a8d(0x207),'-b',_0x2b3a8d(0x1a5),_0x2b3a8d(0x22a)],{'cwd':_0x5ba7f1});}await execFileAsync(_0x2b3a8d(0x230),[_0x2b3a8d(0x20e),_0x2b3a8d(0x229),_0x5150d5],{'cwd':_0x5ba7f1}),_0x3aeb0e[_0x2b3a8d(0x203)]=_0x2b3a8d(0x1e2)+_0x5150d5,_0x39a82c?.['info'](_0x2b3a8d(0x24b)+_0x5150d5);}export class ClaudeCommand extends BaseCommand{['name']=a11_0x44257a(0x217);[a11_0x44257a(0x1f8)]=a11_0x44257a(0x1c4);[a11_0x44257a(0x1b1)];[a11_0x44257a(0x248)];[a11_0x44257a(0x224)];async['setUpClaudeIntegration'](_0x5162ab,_0x591436,_0x10061d){const _0x2944bd=a11_0x44257a,_0x49c49e=loadReleaseChannel(),_0x25b806=planClaudeSetup(_0x5162ab,_0x49c49e,_0x591436);this['logger']?.[_0x2944bd(0x225)](_0x2944bd(0x23c)+JSON['stringify'](_0x25b806));if(!hasSetupWork(_0x25b806))return;try{_0x10061d[_0x2944bd(0x203)]=_0x2944bd(0x24c),await checkClaudeVersion(MIN_CLAUDE_VERSION,this[_0x2944bd(0x248)]),_0x10061d[_0x2944bd(0x203)]=_0x2944bd(0x1de);}catch(_0x4df2de){_0x10061d['fail'](_0x2944bd(0x19b));throw _0x4df2de;}let _0xdb6bd1=!![];for(const _0x1c2b4a of TD_MCP_SERVERS[_0x2944bd(0x239)](_0x31b401=>_0x25b806['missingMcpServers']['includes'](_0x31b401[_0x2944bd(0x1fc)]))){try{await ensureMcpServer(_0x1c2b4a[_0x2944bd(0x1fc)],_0x1c2b4a[_0x2944bd(0x1d1)],_0x1c2b4a[_0x2944bd(0x20f)],_0x10061d,this[_0x2944bd(0x248)]),recordMcpSetup(_0x1c2b4a,process[_0x2944bd(0x215)]());}catch(_0x4cbb9d){_0xdb6bd1=![],handleInstallationError(_0x4cbb9d,_0x2944bd(0x1ab)+_0x1c2b4a['name']+'\x27',_0x10061d,this[_0x2944bd(0x248)]);}}try{_0x25b806[_0x2944bd(0x1a8)]&&(await removeMarketplace(_0x2944bd(0x1db),this[_0x2944bd(0x248)]),await ensureMarketplace(_0x2944bd(0x1db),_0x5162ab,_0x10061d,this[_0x2944bd(0x248)]));_0x25b806['refresh']&&await updateMarketplace(_0x2944bd(0x1db),_0x10061d,this[_0x2944bd(0x248)]);for(const _0x31c503 of _0x25b806[_0x2944bd(0x234)]){await ensurePlugin(_0x31c503,_0x2944bd(0x1db),_0x10061d,this[_0x2944bd(0x248)]);}if(_0x25b806[_0x2944bd(0x19e)])try{const _0x4040e6=await resolveReleaseTag(_0x49c49e,'treasure-data',_0x2944bd(0x1db),_0x2944bd(0x23d));_0x4040e6&&await checkoutReleaseTag(_0x4040e6,_0x10061d,this[_0x2944bd(0x248)]),recordSkillsRefresh(_0x5162ab,_0x49c49e);}catch(_0xe73fa0){_0xdb6bd1=![],this['logger']?.[_0x2944bd(0x1dc)](_0x2944bd(0x252)+_0xe73fa0);}}catch(_0x19a3e8){_0xdb6bd1=![],handleInstallationError(_0x19a3e8,_0x2944bd(0x1aa),_0x10061d,this[_0x2944bd(0x248)]);}_0xdb6bd1&&recordSetupVersion();}async[a11_0x44257a(0x1ef)](_0x213523){const _0x22e5fc=a11_0x44257a,{tdx:_0x2a0e6c,options:_0x2b29de,args:_0x5c0bb7}=_0x213523;let _0x23d913=![];try{const _0x3b5eaa=_0x2b29de,_0x4bc10b=_0x3b5eaa[_0x22e5fc(0x199)]===![],_0x2227a0=_0x3b5eaa[_0x22e5fc(0x1fb)]===!![],_0x48e1eb=_0x3b5eaa[_0x22e5fc(0x1f4)]===!![],_0x346eac=[..._0x5c0bb7];if(_0x2227a0)_0x346eac['unshift']('-c');else _0x48e1eb&&_0x346eac[_0x22e5fc(0x1bf)]('-r');const _0x50420d=createCommandSpinner('Initializing...',{'verbose':_0x2b29de[_0x22e5fc(0x1ea)]});_0x50420d['start']();try{if(!_0x4bc10b){const _0x2e13a9=_0x2b29de[_0x22e5fc(0x1d3)];try{const _0x2e8986=await _0x2a0e6c[_0x22e5fc(0x1d6)]['getCurrent']();_0x2e8986[_0x22e5fc(0x223)]&&writeCachedAccountInfo(_0x2b29de[_0x22e5fc(0x1fd)]??'us01',_0x2e8986[_0x22e5fc(0x223)],_0x2e13a9);}catch{}_0x50420d['text']='Initializing\x20proxy\x20logger...',this[_0x22e5fc(0x248)]=new TDXLogger(_0x2b29de[_0x22e5fc(0x1e5)],!![]),await this[_0x22e5fc(0x248)][_0x22e5fc(0x1e1)]();const _0x1967a0=this[_0x22e5fc(0x248)][_0x22e5fc(0x206)]();_0x50420d[_0x22e5fc(0x203)]=_0x22e5fc(0x1a6)+_0x1967a0;const _0x31fd8b=getEndpoint(_0x2b29de[_0x22e5fc(0x1fd)],_0x22e5fc(0x21f));_0x50420d[_0x22e5fc(0x203)]='Starting\x20TD\x20LLM\x20pass-through\x20proxy...';let _0x400ad3;const _0x2a2afe=await getOAuthTokens(_0x2e13a9);if(_0x2a2afe)_0x400ad3={'type':_0x22e5fc(0x1d7),'accessToken':_0x2a2afe['access_token'],'refreshToken':_0x2a2afe[_0x22e5fc(0x1b5)],'expiresAt':_0x2a2afe['expires_at'],'consoleUrl':getConsoleUrl(_0x2b29de[_0x22e5fc(0x1fd)])};else{if(_0x2a0e6c[_0x22e5fc(0x1f1)][_0x22e5fc(0x204)])_0x400ad3={'type':_0x22e5fc(0x1b6),'apiKey':_0x2a0e6c[_0x22e5fc(0x1f1)][_0x22e5fc(0x204)]};else throw new SDKError(ErrorCode['INVALID_ARGUMENT'],_0x22e5fc(0x1fa));}this['passThroughServer']=new PassThroughProxyServer({'startPort':0xfa0,'llmProxyUrl':_0x31fd8b,'auth':_0x400ad3,'logger':this[_0x22e5fc(0x248)],'site':_0x2b29de[_0x22e5fc(0x1fd)]??'us01','profile':_0x2e13a9,'proxy':_0x2a0e6c['context'][_0x22e5fc(0x199)]}),await this['passThroughServer'][_0x22e5fc(0x1e6)](),this[_0x22e5fc(0x224)]=this[_0x22e5fc(0x1b1)][_0x22e5fc(0x224)],_0x50420d[_0x22e5fc(0x203)]=_0x22e5fc(0x1e7)+this[_0x22e5fc(0x224)]+_0x22e5fc(0x245)+_0x31fd8b,_0x50420d[_0x22e5fc(0x203)]=_0x22e5fc(0x202);}else _0x50420d[_0x22e5fc(0x203)]='Skipping\x20TD\x20LLM\x20proxy\x20setup\x20(--no-proxy)';const _0x16c056=getTdSkillsRepoUrl();_0x23d913=_0x16c056!==DEFAULT_TD_SKILLS_URL,await this['setUpClaudeIntegration'](_0x16c056,_0x3b5eaa[_0x22e5fc(0x19e)]===!![],_0x50420d),_0x50420d[_0x22e5fc(0x1f5)]();}catch(_0x291112){_0x50420d[_0x22e5fc(0x1ac)](_0x22e5fc(0x1c2));throw _0x291112;}const _0x15bba8=await findExecutable(_0x22e5fc(0x217));if(!_0x15bba8)throw new SDKError(ErrorCode[_0x22e5fc(0x228)],'Claude\x20Code\x20CLI\x20not\x20found',undefined,{'helpText':'Please\x20install\x20Claude\x20Code\x20from\x20https://claude.com/claude-code'});const _0x3b213a=_0x4bc10b?_0x346eac:buildClaudeLaunchArgs(_0x346eac,_0x2a0e6c['context'][_0x22e5fc(0x1d3)]),_0x53bc09={...process.env};!_0x4bc10b&&(_0x53bc09[_0x22e5fc(0x19c)]=_0x22e5fc(0x1ba)+this[_0x22e5fc(0x224)],_0x53bc09[_0x22e5fc(0x19d)]='tdx-managed-proxy',_0x53bc09[_0x22e5fc(0x220)]='false',_0x53bc09['CLAUDE_CODE_USE_VERTEX']=_0x22e5fc(0x1d0));_0x2a0e6c[_0x22e5fc(0x1f1)]['profile']&&(_0x53bc09[_0x22e5fc(0x1a1)]=_0x2a0e6c[_0x22e5fc(0x1f1)][_0x22e5fc(0x1d3)]);const _0x3e55c6=crossSpawn(_0x15bba8,_0x3b213a,{'stdio':'inherit','env':_0x53bc09}),_0x1f66cd=await new Promise(_0x137de0=>{const _0x3a568d=_0x22e5fc;_0x3e55c6['on'](_0x3a568d(0x24e),_0x276ecf=>{_0x137de0(_0x276ecf||0x0);}),_0x3e55c6['on']('error',_0xfab731=>{const _0x41251e=_0x3a568d;console[_0x41251e(0x1e3)](a11_0x5f15ec[_0x41251e(0x1b0)]('Failed\x20to\x20launch\x20Claude\x20Code:\x20'+_0xfab731[_0x41251e(0x1cc)])),_0x137de0(0x1);});});_0x23d913&&await restoreDefaultTdSkillsMarketplace(this[_0x22e5fc(0x248)]);this[_0x22e5fc(0x1b1)]&&(await this[_0x22e5fc(0x1b1)][_0x22e5fc(0x1f5)](),console[_0x22e5fc(0x1f9)](a11_0x5f15ec['green'](_0x22e5fc(0x233))));if(this[_0x22e5fc(0x248)]){await this['logger'][_0x22e5fc(0x240)]();const _0xa85f14=this[_0x22e5fc(0x248)][_0x22e5fc(0x206)]();console[_0x22e5fc(0x1f9)](a11_0x5f15ec['green'](_0x22e5fc(0x1e9)+_0xa85f14));}return _0x1f66cd;}catch(_0x301f1e){_0x23d913&&await restoreDefaultTdSkillsMarketplace(this[_0x22e5fc(0x248)]);this[_0x22e5fc(0x1b1)]&&await this[_0x22e5fc(0x1b1)][_0x22e5fc(0x1f5)]();this[_0x22e5fc(0x248)]&&await this[_0x22e5fc(0x248)][_0x22e5fc(0x240)]();throw _0x301f1e;}}}
|
|
1
|
+
const a12_0x2d6aa3=a12_0x1bdd;(function(_0x2566b6,_0x1b248a){const _0x3837be=a12_0x1bdd,_0x11124c=_0x2566b6();while(!![]){try{const _0x565a29=-parseInt(_0x3837be(0x133))/0x1*(-parseInt(_0x3837be(0x13e))/0x2)+-parseInt(_0x3837be(0x174))/0x3*(-parseInt(_0x3837be(0x18f))/0x4)+-parseInt(_0x3837be(0x170))/0x5+-parseInt(_0x3837be(0x123))/0x6+-parseInt(_0x3837be(0x12c))/0x7*(-parseInt(_0x3837be(0xe4))/0x8)+-parseInt(_0x3837be(0xe2))/0x9*(parseInt(_0x3837be(0x102))/0xa)+parseInt(_0x3837be(0x175))/0xb;if(_0x565a29===_0x1b248a)break;else _0x11124c['push'](_0x11124c['shift']());}catch(_0x209408){_0x11124c['push'](_0x11124c['shift']());}}}(a12_0x3b26,0xb4c50));import{execFile}from'node:child_process';import{existsSync}from'node:fs';import{join}from'node:path';import{promisify}from'node:util';import a12_0x803173 from'chalk';import{BaseCommand}from'./command.js';import{PassThroughProxyServer}from'../proxy/passthrough-server.js';import{TDXLogger}from'../utils/tdx-logger.js';import{getEndpoint,getConsoleUrl}from'../sdk/client/endpoints.js';import{getOAuthTokens}from'../core/oauth-keychain.js';import{findExecutable,crossSpawn}from'../utils/process.js';import{SDKError,ErrorCode,errorContains}from'../sdk/errors.js';import{createCommandSpinner}from'../utils/spinner.js';import{writeCachedAccountInfo,loadReleaseChannel}from'../core/config.js';import{getVersion}from'../core/version.js';import{resolveReleaseTag}from'../utils/github-releases.js';import{createGlobalCache}from'../utils/global-cache.js';import{findMcpServerUrl,getClaudeConfigDir,isPluginInstalled,normalizeRepoUrl,readMarketplaceSourceUrl}from'../utils/claude-code-state.js';const execFileAsync=promisify(execFile),MIN_CLAUDE_VERSION=a12_0x2d6aa3(0x121);export function buildClaudeInvocationArgs(_0x79e849){return[..._0x79e849];}export function buildClaudeSettingsArgs(_0x4b8b88,_0x2b2c0c){const _0x102bb0=a12_0x2d6aa3,_0x4d73e6={'statusLine':{'type':_0x102bb0(0xef),'command':_0x4b8b88?_0x102bb0(0x193)+_0x4b8b88+'\x20claude\x20statusline':_0x102bb0(0xf0)}};return _0x2b2c0c&&Object[_0x102bb0(0x18e)](_0x2b2c0c)[_0x102bb0(0x13d)]>0x0&&(_0x4d73e6[_0x102bb0(0x10e)]={..._0x2b2c0c}),[_0x102bb0(0x195),JSON[_0x102bb0(0x17d)](_0x4d73e6)];}export function buildClaudeLaunchArgs(_0x3aef30,_0x558783,_0x3b93c5){const _0x49dc79=a12_0x2d6aa3;if(_0x3aef30[_0x49dc79(0xf5)](_0x49dc79(0x195))||_0x3aef30[_0x49dc79(0x151)](_0xbdaec2=>_0xbdaec2[_0x49dc79(0x173)](_0x49dc79(0x162))))return[..._0x3aef30];return[..._0x3aef30,...buildClaudeSettingsArgs(_0x558783,_0x3b93c5)];}export function buildClaudeProxyEnvOverrides(_0x1415e0){const _0x25546a=a12_0x2d6aa3;if(_0x1415e0===undefined)throw new Error('TD\x20LLM\x20proxy\x20port\x20not\x20initialized');return{'ANTHROPIC_BASE_URL':_0x25546a(0x1a3)+_0x1415e0,'ANTHROPIC_AUTH_TOKEN':'tdx-managed-proxy','CLAUDE_CODE_USE_BEDROCK':'false','CLAUDE_CODE_USE_VERTEX':_0x25546a(0x1a7),'CLAUDE_CODE_AUTO_MODE_SERVER':'0'};}export const SUBAGENT_MODEL_ENV=a12_0x2d6aa3(0xf7);export const SUBAGENT_MODEL_FORCE_ENV=a12_0x2d6aa3(0x16c);export function resolveMainModel(_0x5cfcbd,_0x15e508){const _0x497eec=a12_0x2d6aa3;let _0x2a0546;for(let _0x49d8c3=0x0;_0x49d8c3<_0x5cfcbd[_0x497eec(0x13d)];_0x49d8c3++){const _0x894532=_0x5cfcbd[_0x49d8c3],_0x272c13=_0x5cfcbd[_0x49d8c3+0x1];if(_0x894532===_0x497eec(0xf2)&&_0x272c13!==undefined&&!_0x272c13['startsWith']('-'))_0x2a0546=_0x272c13;else _0x894532[_0x497eec(0x173)](_0x497eec(0x1a9))&&(_0x2a0546=_0x894532[_0x497eec(0x165)](_0x497eec(0x1a9)[_0x497eec(0x13d)]));}const _0x41b582=(_0x2a0546||_0x15e508['ANTHROPIC_MODEL'])?.['trim']();return _0x41b582||undefined;}export function buildSubagentModelEnv(_0x1f5b6a){const _0x4fb36c=a12_0x2d6aa3,{claudeArgs:_0xd42927,env:_0x4eae0f,noProxy:_0x181011}=_0x1f5b6a,_0x1cce9e=_0x1f5b6a[_0x4fb36c(0x105)]?.[_0x4fb36c(0x124)]();if(!_0x1cce9e){if(_0x4eae0f[SUBAGENT_MODEL_ENV]!==undefined||_0x4eae0f[SUBAGENT_MODEL_FORCE_ENV]!==undefined)return{};if(_0x181011)return{};const _0x334747=resolveMainModel(_0xd42927,_0x4eae0f);if(!_0x334747)return{};return{[SUBAGENT_MODEL_FORCE_ENV]:'1',[SUBAGENT_MODEL_ENV]:_0x334747};}if(_0x1cce9e===_0x4fb36c(0x1a8))return{[SUBAGENT_MODEL_FORCE_ENV]:undefined,[SUBAGENT_MODEL_ENV]:undefined};if(_0x1cce9e===_0x4fb36c(0x146))return{[SUBAGENT_MODEL_FORCE_ENV]:'1',[SUBAGENT_MODEL_ENV]:resolveMainModel(_0xd42927,_0x4eae0f)};return{[SUBAGENT_MODEL_FORCE_ENV]:'1',[SUBAGENT_MODEL_ENV]:_0x1cce9e};}function handleInstallationError(_0x3fecba,_0x186c4e,_0x59544c,_0x58b1c2){const _0x2a0af0=a12_0x2d6aa3;errorContains(_0x3fecba,_0x2a0af0(0x15e),_0x2a0af0(0x13f),_0x2a0af0(0x19c))?(_0x59544c[_0x2a0af0(0x13a)]='✓\x20'+_0x186c4e+_0x2a0af0(0x130),_0x58b1c2?.['info'](_0x186c4e+_0x2a0af0(0x130)),_0x3fecba instanceof SDKError&&_0x3fecba[_0x2a0af0(0x186)]&&_0x58b1c2?.[_0x2a0af0(0x12d)](_0x2a0af0(0x109)+_0x3fecba[_0x2a0af0(0x186)][_0x2a0af0(0x199)])):(_0x59544c[_0x2a0af0(0x14f)](_0x2a0af0(0x178)+_0x186c4e),_0x58b1c2?.[_0x2a0af0(0x118)](_0x186c4e+_0x2a0af0(0xee),_0x3fecba));}export function parseVersion(_0xc47dd5){const _0x5cf199=a12_0x2d6aa3,_0x381ce=_0xc47dd5[_0x5cf199(0x124)]()[_0x5cf199(0x179)](/^v?(\d+)\.(\d+)\.(\d+)/);if(!_0x381ce)return null;return{'major':parseInt(_0x381ce[0x1],0xa),'minor':parseInt(_0x381ce[0x2],0xa),'patch':parseInt(_0x381ce[0x3],0xa)};}export function compareVersions(_0x373623,_0x28db7c){const _0x40fc5e=a12_0x2d6aa3;if(_0x373623[_0x40fc5e(0x149)]!==_0x28db7c[_0x40fc5e(0x149)])return _0x373623[_0x40fc5e(0x149)]-_0x28db7c[_0x40fc5e(0x149)];if(_0x373623['minor']!==_0x28db7c[_0x40fc5e(0x101)])return _0x373623[_0x40fc5e(0x101)]-_0x28db7c[_0x40fc5e(0x101)];return _0x373623[_0x40fc5e(0x198)]-_0x28db7c['patch'];}async function checkClaudeVersion(_0x976c37,_0x23cc47){const _0xd759d3=a12_0x2d6aa3;_0x23cc47?.['debug'](_0xd759d3(0xfc)+_0x976c37+')');const _0x139c3e=await executeClaudeCommand([_0xd759d3(0x182)],undefined,_0x23cc47),_0x4c5d09=parseVersion(_0x139c3e);if(!_0x4c5d09){_0x23cc47?.[_0xd759d3(0x14f)](_0xd759d3(0x185)+_0x139c3e);return;}const _0x285bbb=_0x4c5d09['major']+'.'+_0x4c5d09[_0xd759d3(0x101)]+'.'+_0x4c5d09[_0xd759d3(0x198)],_0x4e5f54=parseVersion(_0x976c37);if(!_0x4e5f54){_0x23cc47?.[_0xd759d3(0x14f)](_0xd759d3(0x190)+_0x976c37);return;}if(compareVersions(_0x4c5d09,_0x4e5f54)<0x0){_0x23cc47?.[_0xd759d3(0x118)](_0xd759d3(0x114)+_0x285bbb+_0xd759d3(0x14a)+_0x976c37+')');throw new SDKError(ErrorCode['CLAUDE_CODE_UNSUPPORTED_VERSION'],'Claude\x20Code\x20version\x20'+_0x285bbb+_0xd759d3(0x15b)+_0x976c37+'\x20or\x20later.',undefined,{'helpText':_0xd759d3(0x108)});}_0x23cc47?.[_0xd759d3(0x12d)](_0xd759d3(0x114)+_0x285bbb+'\x20meets\x20minimum\x20requirement');}async function executeClaudeCommand(_0x48613d,_0x45c2c3,_0x583a18){const _0x192323=a12_0x2d6aa3;return _0x583a18?.[_0x192323(0x172)]('Executing:\x20claude\x20'+_0x48613d[_0x192323(0x158)]('\x20')),new Promise((_0x3f298f,_0x395ce4)=>{const _0x4fa64b=_0x192323,_0x31c068=crossSpawn('claude',_0x48613d,{'stdio':_0x4fa64b(0x1a1)});let _0x6a02cd='',_0x2f5ec7='';_0x31c068[_0x4fa64b(0x15a)]?.['on'](_0x4fa64b(0xfe),_0xc4ad22=>{const _0x508141=_0x4fa64b;_0x6a02cd+=_0xc4ad22[_0x508141(0x11f)]();}),_0x31c068[_0x4fa64b(0x183)]?.['on'](_0x4fa64b(0xfe),_0x376faf=>{const _0x171a69=_0x4fa64b;_0x2f5ec7+=_0x376faf[_0x171a69(0x11f)]();}),_0x31c068['on'](_0x4fa64b(0x118),_0x13ad49=>{const _0x30ed02=_0x4fa64b;_0x13ad49[_0x30ed02(0x117)]===_0x30ed02(0x1a4)?(_0x583a18?.[_0x30ed02(0x118)](_0x30ed02(0x12b)),_0x395ce4(new SDKError(ErrorCode['CLAUDE_CODE_NOT_FOUND'],_0x30ed02(0x12b),_0x13ad49,{'helpText':'Please\x20install\x20Claude\x20Code\x20from\x20https://claude.com/claude-code'}))):(_0x583a18?.[_0x30ed02(0x118)]('Command\x20spawn\x20error:\x20'+_0x13ad49[_0x30ed02(0x199)]),_0x395ce4(new SDKError(ErrorCode[_0x30ed02(0xe6)],_0x30ed02(0x107)+_0x13ad49['message'],_0x13ad49)));}),_0x31c068['on'](_0x4fa64b(0x111),_0x45278c=>{const _0x371a5c=_0x4fa64b;if(_0x45278c===0x0)_0x3f298f(_0x6a02cd);else _0x45c2c3?(_0x583a18?.[_0x371a5c(0x118)]('Command\x20failed\x20(exit\x20'+_0x45278c+_0x371a5c(0x110)+_0x48613d[_0x371a5c(0x158)]('\x20')),_0x395ce4(new SDKError(ErrorCode[_0x371a5c(0x154)],_0x45c2c3,new Error(_0x2f5ec7)))):_0x3f298f('');});});}async function ensureMcpServer(_0x34cb20,_0x4611dc,_0xfbf319,_0x4ba622,_0x218509){const _0xf0dfe0=a12_0x2d6aa3;_0x4ba622[_0xf0dfe0(0x13a)]=_0xf0dfe0(0xea)+_0x34cb20+_0xf0dfe0(0x1a2);const _0x531b61=await executeClaudeCommand([_0xf0dfe0(0x168),_0xf0dfe0(0xf8),_0x34cb20],undefined,_0x218509);if(_0x531b61){const _0x3fda3d=_0x531b61[_0xf0dfe0(0x179)](/URL:\s*(\S+)/);if(_0x3fda3d&&_0x3fda3d[0x1]===_0x4611dc){_0x4ba622[_0xf0dfe0(0x13a)]='✓\x20MCP\x20server\x20\x27'+_0x34cb20+_0xf0dfe0(0x144);return;}else{if(_0x3fda3d){const _0x256b9d=_0x3fda3d[0x1];_0x218509?.[_0xf0dfe0(0x172)](_0xf0dfe0(0x16b)+_0x34cb20+_0xf0dfe0(0xff)+_0x256b9d+_0xf0dfe0(0x184)+_0x4611dc),_0x4ba622[_0xf0dfe0(0x13a)]=_0xf0dfe0(0x12e)+_0x34cb20+_0xf0dfe0(0x116),await executeClaudeCommand([_0xf0dfe0(0x168),_0xf0dfe0(0x127),_0x34cb20],_0xf0dfe0(0xec)+_0x34cb20+'\x27',_0x218509);try{await executeClaudeCommand([_0xf0dfe0(0x168),_0xf0dfe0(0x1ab),_0x34cb20,_0x4611dc,_0xf0dfe0(0x104),_0xfbf319],_0xf0dfe0(0xe8)+_0x34cb20+'\x27',_0x218509),_0x4ba622[_0xf0dfe0(0x13a)]=_0xf0dfe0(0x196)+_0x34cb20+_0xf0dfe0(0x147);return;}catch(_0x394f9b){_0x218509?.['error'](_0xf0dfe0(0x10a)+_0x256b9d),await executeClaudeCommand([_0xf0dfe0(0x168),_0xf0dfe0(0x1ab),_0x34cb20,_0x256b9d,_0xf0dfe0(0x104),_0xfbf319],_0xf0dfe0(0x11e)+_0x34cb20+_0xf0dfe0(0x176)+_0x256b9d,_0x218509)[_0xf0dfe0(0x14e)](_0x3cee04=>_0x218509?.[_0xf0dfe0(0x118)]('Restore\x20also\x20failed:\x20'+_0x3cee04));throw _0x394f9b;}}}}await executeClaudeCommand([_0xf0dfe0(0x168),_0xf0dfe0(0x1ab),_0x34cb20,_0x4611dc,_0xf0dfe0(0x104),_0xfbf319],_0xf0dfe0(0xe8)+_0x34cb20+'\x27',_0x218509),_0x4ba622[_0xf0dfe0(0x13a)]='✓\x20MCP\x20server\x20\x27'+_0x34cb20+'\x27\x20configured';}const TD_DOCS_MCP_URL=a12_0x2d6aa3(0x113);export const TD_MCP_SERVERS=[{'name':'td-docs','url':TD_DOCS_MCP_URL,'transport':a12_0x2d6aa3(0x17c)}];export const DEFAULT_TD_SKILLS_URL=a12_0x2d6aa3(0x153);export function getTdSkillsRepoUrl(){const _0x421584=process.env.TDX_TD_SKILLS_REPO;if(_0x421584)return _0x421584;return DEFAULT_TD_SKILLS_URL;}async function removeMarketplace(_0x14a046,_0x225e2f){const _0x4cffaf=a12_0x2d6aa3;try{const _0x58a7ee=await executeClaudeCommand([_0x4cffaf(0x19f),_0x4cffaf(0xfd),_0x4cffaf(0xf1)],'Failed\x20to\x20list\x20marketplaces',_0x225e2f);if(!_0x58a7ee['includes'](_0x14a046)){_0x225e2f?.[_0x4cffaf(0x12d)](_0x4cffaf(0x138)+_0x14a046+_0x4cffaf(0x16e));return;}await executeClaudeCommand([_0x4cffaf(0x19f),'marketplace',_0x4cffaf(0x127),_0x14a046],_0x4cffaf(0x14b)+_0x14a046+'\x27',_0x225e2f),_0x225e2f?.[_0x4cffaf(0x172)](_0x4cffaf(0x138)+_0x14a046+_0x4cffaf(0x148));}catch(_0x3c0303){_0x225e2f?.[_0x4cffaf(0x14f)](_0x4cffaf(0x14b)+_0x14a046+_0x4cffaf(0x167)+_0x3c0303);}}function a12_0x1bdd(_0x21c121,_0x31bee6){_0x21c121=_0x21c121-0xe2;const _0x3b2675=a12_0x3b26();let _0x1bdd93=_0x3b2675[_0x21c121];return _0x1bdd93;}async function restoreDefaultTdSkillsMarketplace(_0x23d085){const _0x57475b=a12_0x2d6aa3;try{await removeMarketplace(_0x57475b(0x12a),_0x23d085),await executeClaudeCommand(['plugin','marketplace',_0x57475b(0x1ab),DEFAULT_TD_SKILLS_URL],undefined,_0x23d085),_0x23d085?.[_0x57475b(0x172)](_0x57475b(0x129));}catch{}}async function ensureMarketplace(_0x9bc961,_0x1a0992,_0x51c67e,_0x2907e3){const _0x49d373=a12_0x2d6aa3;_0x51c67e['text']=_0x49d373(0x145)+_0x9bc961+_0x49d373(0x1a2),await executeClaudeCommand([_0x49d373(0x19f),_0x49d373(0xfd),_0x49d373(0x1ab),_0x1a0992],_0x49d373(0x160)+_0x9bc961+'\x27',_0x2907e3),_0x51c67e[_0x49d373(0x13a)]=_0x49d373(0x191)+_0x9bc961+_0x49d373(0x144);}async function updateMarketplace(_0x7b3ef3,_0xdc2182,_0x5f40e5){const _0x3467ed=a12_0x2d6aa3;_0xdc2182[_0x3467ed(0x13a)]=_0x3467ed(0x150)+_0x7b3ef3+_0x3467ed(0x1a2),await executeClaudeCommand(['plugin',_0x3467ed(0xfd),_0x3467ed(0x163),_0x7b3ef3],_0x3467ed(0x140)+_0x7b3ef3+'\x27',_0x5f40e5),_0xdc2182[_0x3467ed(0x13a)]='✓\x20Marketplace\x20\x27'+_0x7b3ef3+_0x3467ed(0x147);}async function ensurePlugin(_0x117cb4,_0x48a1ce,_0xe96255,_0x5cd033){const _0x7bbb8b=a12_0x2d6aa3;_0xe96255[_0x7bbb8b(0x13a)]=_0x7bbb8b(0x103)+_0x117cb4+'\x27...',await executeClaudeCommand([_0x7bbb8b(0x19f),_0x7bbb8b(0x19b),_0x117cb4+'@'+_0x48a1ce],_0x7bbb8b(0xed)+_0x117cb4+'\x27',_0x5cd033),_0xe96255[_0x7bbb8b(0x13a)]='✓\x20Plugin\x20\x27'+_0x117cb4+_0x7bbb8b(0x1a6);}export const TD_SKILLS_PLUGINS=[a12_0x2d6aa3(0x17a),a12_0x2d6aa3(0x12f),a12_0x2d6aa3(0x17e)];export const SETUP_TTL_MS=0xe*0x18*0x3c*0x3c*0x3e8;function isWithinTtl(_0x418c20){const _0x4c6afd=a12_0x2d6aa3;if(!_0x418c20)return![];const _0x537b13=Date[_0x4c6afd(0x126)]()-new Date(_0x418c20)['getTime']();return Number['isFinite'](_0x537b13)&&_0x537b13>=0x0&&_0x537b13<=SETUP_TTL_MS;}const setupCache=createGlobalCache('claude_setup.json',a12_0x2d6aa3(0x180));function updateSetupCache(_0x340865){const _0x3e609a=a12_0x2d6aa3;try{setupCache['write']({...setupCache[_0x3e609a(0x115)](),..._0x340865});}catch{}}function isTdxUpgradeSinceSetup(){const _0x35d510=a12_0x2d6aa3;return setupCache[_0x35d510(0x115)]()?.[_0x35d510(0x15c)]!==getVersion();}function a12_0x3b26(){const _0x313963=['minor','1932020FkEABy','Installing\x20plugin\x20\x27','--transport','subagentModel','claude','Failed\x20to\x20spawn\x20claude\x20command:\x20','Download\x20the\x20latest\x20version\x20from\x20https://claude.com/claude-code','Command\x20output:\x20','Failed\x20to\x20add\x20new\x20URL,\x20restoring\x20previous\x20URL:\x20','✓\x20Logging\x20to\x20','filter','td-skills\x20marketplace\x20dir\x20not\x20found,\x20skipping\x20release\x20tag\x20checkout','env','fromEntries','):\x20claude\x20','exit','expires_at','https://docs.treasure.ai/mcp','Claude\x20Code\x20version\x20','read','\x27\x20URL...','code','error','us01','Authentication\x20required\x20for\x20TD\x20LLM\x20Proxy.\x20Run:\x20tdx\x20auth\x20setup','stop','fetch','✓\x20Claude\x20Code\x20version\x20OK','Failed\x20to\x20restore\x20MCP\x20server\x20\x27','toString','Failed\x20to\x20apply\x20td-skills\x20release\x20channel:\x20','2.0.20','pluginIds','4968522sUpQrb','trim','logger','now','remove','Initializing\x20proxy\x20logger...','Restored\x20default\x20td-skills\x20marketplace','td-skills','Claude\x20Code\x20CLI\x20not\x20found','3782975oKEEKs','debug','Updating\x20MCP\x20server\x20\x27','workflow-skills','\x20already\x20configured','checkout','assign','510136movvxt','passThroughServer','context','origin','name','Marketplace\x20\x27','Checking\x20Claude\x20Code\x20version...','text','--force','cwd','length','2GnFaRz','already\x20installed','Failed\x20to\x20update\x20marketplace\x20\x27','setUpClaudeIntegration','verbose','localeCompare','\x27\x20configured','Configuring\x20marketplace\x20\x27','inherit','\x27\x20updated','\x27\x20removed','major','\x20is\x20too\x20old\x20(minimum:\x20','Failed\x20to\x20remove\x20marketplace\x20\x27','llm-proxy','Failed\x20to\x20launch\x20Claude\x20Code:\x20','catch','warn','Updating\x20marketplace\x20\x27','some','Claude\x20Code\x20version\x20check\x20failed','https://github.com/treasure-data/td-skills','INSTALLATION_FAILED','✓\x20TD\x20LLM\x20pass-through\x20proxy\x20server\x20stopped','red','getLogPath','join','--tags','stdout','\x20does\x20not\x20support\x20required\x20features.\x20Please\x20upgrade\x20to\x20version\x20','tdxVersion','log','already\x20exists','proxy','Failed\x20to\x20configure\x20marketplace\x20\x27','close','--settings=','update','plugins','slice','reset','\x27:\x20','mcp','repoUrl','...','MCP\x20server\x20\x27','CLAUDE_CODE_SUBAGENT_MODEL_FORCE','sort','\x27\x20not\x20found\x20in\x20list,\x20skipping\x20removal','url','4909020erNbcU','access_token','info','startsWith','207qneeRh','19043728HzXtza','\x27\x20to\x20','entries','Warning:\x20Failed\x20to\x20configure\x20','match','sql-skills','oauth','http','stringify','tdx-skills','main','claude-command','git','--version','stderr','\x20→\x20','Could\x20not\x20parse\x20Claude\x20Code\x20version\x20from:\x20','cause','fail','refresh','profile','skills','start','refresh_token','missingMcpServers','keys','52qIwuwg','Invalid\x20minimum\x20version\x20format:\x20','✓\x20Marketplace\x20\x27','port','tdx\x20--profile\x20','refreshedAt','--settings','✓\x20MCP\x20server\x20\x27','init','patch','message','cwds','install','already\x20configured','account_id','td-skills\x20checked\x20out\x20at\x20tag\x20','plugin','green','pipe','\x27...','http://127.0.0.1:','ENOENT','Starting\x20TD\x20LLM\x20pass-through\x20proxy...','\x27\x20installed','false','auto','--model=','td-skills\x20Plugins','add','tdx-cli','toISOString','releaseChannel','36yuPEDS','map','16cgZqNw','Setup\x20failed','INTERNAL','logLevel','Failed\x20to\x20configure\x20MCP\x20server\x20\x27','apiKey','Configuring\x20MCP\x20server\x20\x27','Skipping\x20TD\x20LLM\x20proxy\x20setup\x20(--no-proxy)','Failed\x20to\x20remove\x20outdated\x20MCP\x20server\x20\x27','Failed\x20to\x20install\x20plugin\x20\x27','\x20configuration\x20failed','command','tdx\x20claude\x20statusline','list','--model','✓\x20TD\x20LLM\x20pass-through\x20proxy\x20running\x20on\x20port\x20','getCurrent','includes','Please\x20install\x20Claude\x20Code\x20from\x20https://claude.com/claude-code','CLAUDE_CODE_SUBAGENT_MODEL','get','INVALID_ARGUMENT','Sub-agent\x20model\x20env:\x20','✓\x20td-skills\x20checked\x20out\x20at\x20','Checking\x20Claude\x20Code\x20version\x20(minimum\x20required:\x20','marketplace','data','\x27\x20URL\x20changed:\x20','Launch\x20Claude\x20Code\x20with\x20Treasure\x20AI\x20as\x20the\x20backend'];a12_0x3b26=function(){return _0x313963;};return a12_0x3b26();}export function recordSetupVersion(){updateSetupCache({'tdxVersion':getVersion()});}function isSkillsRefreshDue(_0x2c2e47,_0x444f7f){const _0xc80634=a12_0x2d6aa3,_0x582710=setupCache[_0xc80634(0x115)]()?.[_0xc80634(0x18a)];if(!_0x582710)return!![];if(_0x582710[_0xc80634(0x169)]!==_0x2c2e47||_0x582710[_0xc80634(0x1ae)]!==_0x444f7f||_0x582710[_0xc80634(0x122)]?.[_0xc80634(0x158)](',')!==TD_SKILLS_PLUGINS['join'](','))return!![];return!isWithinTtl(_0x582710[_0xc80634(0x194)]);}export function recordSkillsRefresh(_0x456bda,_0x199144){const _0x2c9bbc=a12_0x2d6aa3;updateSetupCache({'skills':{'refreshedAt':new Date()[_0x2c9bbc(0x1ad)](),'repoUrl':_0x456bda,'releaseChannel':_0x199144,'pluginIds':TD_SKILLS_PLUGINS}});}const MCP_SETUP_MAX_CWDS=0x64;function wasMcpConfiguredRecently(_0x28cf0c,_0x12c672){const _0x47e4f8=a12_0x2d6aa3,_0x2d868f=setupCache['read']()?.[_0x47e4f8(0x168)]?.[_0x28cf0c['name']];if(_0x2d868f?.['url']!==_0x28cf0c[_0x47e4f8(0x16f)])return![];return isWithinTtl(_0x2d868f[_0x47e4f8(0x19a)]?.[_0x12c672]);}export function recordMcpSetup(_0x255db5,_0x3ecd9e){const _0x3e38b8=a12_0x2d6aa3,_0x323352=setupCache[_0x3e38b8(0x115)]()?.['mcp']??{},_0x385cae=_0x323352[_0x255db5[_0x3e38b8(0x137)]],_0xb54220=_0x385cae?.['url']===_0x255db5[_0x3e38b8(0x16f)]?_0x385cae[_0x3e38b8(0x19a)]:{},_0x3c3404=Object[_0x3e38b8(0x177)]({..._0xb54220,[_0x3ecd9e]:new Date()[_0x3e38b8(0x1ad)]()})['filter'](([,_0x1f6c46])=>isWithinTtl(_0x1f6c46))[_0x3e38b8(0x16d)](([,_0x2910c7],[,_0x2d1c38])=>_0x2d1c38[_0x3e38b8(0x143)](_0x2910c7))[_0x3e38b8(0x165)](0x0,MCP_SETUP_MAX_CWDS);updateSetupCache({'mcp':{..._0x323352,[_0x255db5[_0x3e38b8(0x137)]]:{'url':_0x255db5['url'],'cwds':Object[_0x3e38b8(0x10f)](_0x3c3404)}}});}export function hasSetupWork(_0x142900){const _0x58887e=a12_0x2d6aa3;return _0x142900[_0x58887e(0x18d)]['length']>0x0||_0x142900[_0x58887e(0xfd)]||_0x142900['missingPlugins'][_0x58887e(0x13d)]>0x0||_0x142900[_0x58887e(0x188)];}export function planClaudeSetup(_0xab923f,_0x4c86b0,_0x12ed4a){const _0x59045c=a12_0x2d6aa3;if(_0x12ed4a||isTdxUpgradeSinceSetup())return{'missingMcpServers':TD_MCP_SERVERS[_0x59045c(0xe3)](_0x528c56=>_0x528c56[_0x59045c(0x137)]),'marketplace':!![],'missingPlugins':[...TD_SKILLS_PLUGINS],'refresh':!![]};const _0x19136f=readMarketplaceSourceUrl(_0x59045c(0x12a))!==normalizeRepoUrl(_0xab923f),_0x38c7e1=_0x19136f?[...TD_SKILLS_PLUGINS]:TD_SKILLS_PLUGINS[_0x59045c(0x10c)](_0xedf171=>!isPluginInstalled(_0xedf171,_0x59045c(0x12a))),_0x2eddf4=_0xab923f!==DEFAULT_TD_SKILLS_URL,_0xcd1a06=process[_0x59045c(0x13c)](),_0x3bf198=TD_MCP_SERVERS[_0x59045c(0x10c)](_0x16641b=>findMcpServerUrl(_0x16641b[_0x59045c(0x137)],_0xcd1a06)!==_0x16641b[_0x59045c(0x16f)]&&!wasMcpConfiguredRecently(_0x16641b,_0xcd1a06))['map'](_0x5252ba=>_0x5252ba[_0x59045c(0x137)]);return{'missingMcpServers':_0x3bf198,'marketplace':_0x19136f,'missingPlugins':_0x38c7e1,'refresh':_0x19136f||_0x38c7e1[_0x59045c(0x13d)]>0x0||_0x2eddf4||isSkillsRefreshDue(_0xab923f,_0x4c86b0)};}async function checkoutReleaseTag(_0x1bb19e,_0x18f6ee,_0xb8e0fc){const _0x330c7e=a12_0x2d6aa3,_0x1bf2f7=join(getClaudeConfigDir(),_0x330c7e(0x164),'marketplaces',_0x330c7e(0x12a));if(!existsSync(_0x1bf2f7)){_0xb8e0fc?.[_0x330c7e(0x12d)](_0x330c7e(0x10d));return;}_0x18f6ee[_0x330c7e(0x13a)]='Checking\x20out\x20td-skills\x20'+_0x1bb19e+_0x330c7e(0x16a),await execFileAsync(_0x330c7e(0x181),[_0x330c7e(0x11c),_0x330c7e(0x136),_0x330c7e(0x159),_0x330c7e(0x13b)],{'cwd':_0x1bf2f7});try{await execFileAsync(_0x330c7e(0x181),['checkout','main'],{'cwd':_0x1bf2f7});}catch{await execFileAsync(_0x330c7e(0x181),[_0x330c7e(0x131),'-b',_0x330c7e(0x17f),'origin/main'],{'cwd':_0x1bf2f7});}await execFileAsync('git',[_0x330c7e(0x166),'--hard',_0x1bb19e],{'cwd':_0x1bf2f7}),_0x18f6ee[_0x330c7e(0x13a)]=_0x330c7e(0xfb)+_0x1bb19e,_0xb8e0fc?.['info'](_0x330c7e(0x19e)+_0x1bb19e);}export class ClaudeCommand extends BaseCommand{[a12_0x2d6aa3(0x137)]=a12_0x2d6aa3(0x106);['description']=a12_0x2d6aa3(0x100);[a12_0x2d6aa3(0x134)];['logger'];[a12_0x2d6aa3(0x192)];async[a12_0x2d6aa3(0x141)](_0x3e7631,_0x2bac80,_0x30fb99){const _0x582bd=a12_0x2d6aa3,_0x21bbed=loadReleaseChannel(),_0x22948e=planClaudeSetup(_0x3e7631,_0x21bbed,_0x2bac80);this[_0x582bd(0x125)]?.[_0x582bd(0x12d)]('Claude\x20setup\x20plan:\x20'+JSON[_0x582bd(0x17d)](_0x22948e));if(!hasSetupWork(_0x22948e))return;try{_0x30fb99[_0x582bd(0x13a)]=_0x582bd(0x139),await checkClaudeVersion(MIN_CLAUDE_VERSION,this[_0x582bd(0x125)]),_0x30fb99['text']=_0x582bd(0x11d);}catch(_0x1902c1){_0x30fb99['fail'](_0x582bd(0x152));throw _0x1902c1;}let _0xc0b3c2=!![];for(const _0x51f44b of TD_MCP_SERVERS['filter'](_0x50adc9=>_0x22948e[_0x582bd(0x18d)][_0x582bd(0xf5)](_0x50adc9['name']))){try{await ensureMcpServer(_0x51f44b['name'],_0x51f44b[_0x582bd(0x16f)],_0x51f44b['transport'],_0x30fb99,this[_0x582bd(0x125)]),recordMcpSetup(_0x51f44b,process[_0x582bd(0x13c)]());}catch(_0x4cf16d){_0xc0b3c2=![],handleInstallationError(_0x4cf16d,_0x582bd(0x16b)+_0x51f44b[_0x582bd(0x137)]+'\x27',_0x30fb99,this[_0x582bd(0x125)]);}}try{_0x22948e[_0x582bd(0xfd)]&&(await removeMarketplace(_0x582bd(0x12a),this['logger']),await ensureMarketplace(_0x582bd(0x12a),_0x3e7631,_0x30fb99,this[_0x582bd(0x125)]));_0x22948e[_0x582bd(0x188)]&&await updateMarketplace(_0x582bd(0x12a),_0x30fb99,this[_0x582bd(0x125)]);for(const _0x5b5670 of _0x22948e['missingPlugins']){await ensurePlugin(_0x5b5670,_0x582bd(0x12a),_0x30fb99,this['logger']);}if(_0x22948e[_0x582bd(0x188)])try{const _0x1ba65b=await resolveReleaseTag(_0x21bbed,'treasure-data',_0x582bd(0x12a),_0x582bd(0x1ac));_0x1ba65b&&await checkoutReleaseTag(_0x1ba65b,_0x30fb99,this['logger']),recordSkillsRefresh(_0x3e7631,_0x21bbed);}catch(_0x147dc6){_0xc0b3c2=![],this[_0x582bd(0x125)]?.[_0x582bd(0x14f)](_0x582bd(0x120)+_0x147dc6);}}catch(_0x3db81e){_0xc0b3c2=![],handleInstallationError(_0x3db81e,_0x582bd(0x1aa),_0x30fb99,this[_0x582bd(0x125)]);}_0xc0b3c2&&recordSetupVersion();}async['execute'](_0x410835){const _0x68a1df=a12_0x2d6aa3,{tdx:_0x27e520,options:_0xe702ba,args:_0x51d386}=_0x410835;let _0x334ac1=![];try{const _0x10af1c=_0xe702ba,_0x283e45=_0x10af1c[_0x68a1df(0x15f)]===![],_0x530af5=buildClaudeInvocationArgs(_0x51d386),_0x1e73e2=createCommandSpinner('Initializing...',{'verbose':_0xe702ba[_0x68a1df(0x142)]});_0x1e73e2['start']();try{if(!_0x283e45){const _0xb67ded=_0xe702ba['profile'];try{const _0xa58993=await _0x27e520['user'][_0x68a1df(0xf4)]();_0xa58993['account_id']&&writeCachedAccountInfo(_0xe702ba['site']??_0x68a1df(0x119),_0xa58993[_0x68a1df(0x19d)],_0xb67ded);}catch{}_0x1e73e2['text']=_0x68a1df(0x128),this['logger']=new TDXLogger(_0xe702ba[_0x68a1df(0xe7)],!![]),await this[_0x68a1df(0x125)][_0x68a1df(0x197)]();const _0x294a6a=this[_0x68a1df(0x125)][_0x68a1df(0x157)]();_0x1e73e2[_0x68a1df(0x13a)]=_0x68a1df(0x10b)+_0x294a6a;const _0x49a8ca=getEndpoint(_0xe702ba['site'],_0x68a1df(0x14c));_0x1e73e2['text']=_0x68a1df(0x1a5);let _0x45a681;const _0xd98794=await getOAuthTokens(_0xb67ded);if(_0xd98794)_0x45a681={'type':_0x68a1df(0x17b),'accessToken':_0xd98794[_0x68a1df(0x171)],'refreshToken':_0xd98794[_0x68a1df(0x18c)],'expiresAt':_0xd98794[_0x68a1df(0x112)],'consoleUrl':getConsoleUrl(_0xe702ba['site'])};else{if(_0x27e520[_0x68a1df(0x135)]['apiKey'])_0x45a681={'type':'apikey','apiKey':_0x27e520[_0x68a1df(0x135)][_0x68a1df(0xe9)]};else throw new SDKError(ErrorCode[_0x68a1df(0xf9)],_0x68a1df(0x11a));}this[_0x68a1df(0x134)]=new PassThroughProxyServer({'startPort':0xfa0,'llmProxyUrl':_0x49a8ca,'auth':_0x45a681,'logger':this[_0x68a1df(0x125)],'site':_0xe702ba['site']??_0x68a1df(0x119),'profile':_0xb67ded,'proxy':_0x27e520['context'][_0x68a1df(0x15f)]}),await this['passThroughServer'][_0x68a1df(0x18b)](),this[_0x68a1df(0x192)]=this[_0x68a1df(0x134)][_0x68a1df(0x192)],_0x1e73e2[_0x68a1df(0x13a)]=_0x68a1df(0xf3)+this[_0x68a1df(0x192)]+_0x68a1df(0x184)+_0x49a8ca,_0x1e73e2[_0x68a1df(0x13a)]='✓\x20TD\x20LLM\x20proxy\x20settings\x20prepared\x20for\x20this\x20session';}else _0x1e73e2[_0x68a1df(0x13a)]=_0x68a1df(0xeb);const _0x2c6807=getTdSkillsRepoUrl();_0x334ac1=_0x2c6807!==DEFAULT_TD_SKILLS_URL,await this[_0x68a1df(0x141)](_0x2c6807,_0x10af1c['refresh']===!![],_0x1e73e2),_0x1e73e2[_0x68a1df(0x11b)]();}catch(_0x421d2f){_0x1e73e2[_0x68a1df(0x187)](_0x68a1df(0xe5));throw _0x421d2f;}const _0x27d02e=await findExecutable(_0x68a1df(0x106));if(!_0x27d02e)throw new SDKError(ErrorCode['CLAUDE_CODE_NOT_FOUND'],'Claude\x20Code\x20CLI\x20not\x20found',undefined,{'helpText':_0x68a1df(0xf6)});const _0x358276=_0x283e45?undefined:buildClaudeProxyEnvOverrides(this['port']),_0x3b0c77=_0x283e45?_0x530af5:buildClaudeLaunchArgs(_0x530af5,_0x27e520['context'][_0x68a1df(0x189)],_0x358276),_0x301607={...process.env};_0x358276&&Object[_0x68a1df(0x132)](_0x301607,_0x358276);_0x27e520['context'][_0x68a1df(0x189)]&&(_0x301607['TDX_PROFILE']=_0x27e520[_0x68a1df(0x135)][_0x68a1df(0x189)]);const _0xdf88bb=buildSubagentModelEnv({'subagentModel':_0x10af1c[_0x68a1df(0x105)],'claudeArgs':_0x530af5,'env':process.env,'noProxy':_0x283e45});for(const [_0x41a02b,_0xdaf95a]of Object[_0x68a1df(0x177)](_0xdf88bb)){_0xdaf95a===undefined?(delete _0x301607[_0x41a02b],this[_0x68a1df(0x125)]?.['debug']('Sub-agent\x20model\x20env:\x20unset\x20'+_0x41a02b)):(_0x301607[_0x41a02b]=_0xdaf95a,this[_0x68a1df(0x125)]?.['debug'](_0x68a1df(0xfa)+_0x41a02b+'='+_0xdaf95a));}const _0x25acc2=crossSpawn(_0x27d02e,_0x3b0c77,{'stdio':_0x68a1df(0x146),'env':_0x301607}),_0x56be1d=await new Promise(_0x5e491a=>{const _0x359a54=_0x68a1df;_0x25acc2['on'](_0x359a54(0x111),_0x3a9ae8=>{_0x5e491a(_0x3a9ae8||0x0);}),_0x25acc2['on']('error',_0x199167=>{const _0xd512bc=_0x359a54;console[_0xd512bc(0x118)](a12_0x803173[_0xd512bc(0x156)](_0xd512bc(0x14d)+_0x199167[_0xd512bc(0x199)])),_0x5e491a(0x1);});});_0x334ac1&&await restoreDefaultTdSkillsMarketplace(this[_0x68a1df(0x125)]);this['passThroughServer']&&(await this[_0x68a1df(0x134)][_0x68a1df(0x11b)](),console[_0x68a1df(0x15d)](a12_0x803173[_0x68a1df(0x1a0)](_0x68a1df(0x155))));if(this['logger']){await this[_0x68a1df(0x125)]['close']();const _0x57e5d2=this[_0x68a1df(0x125)][_0x68a1df(0x157)]();console[_0x68a1df(0x15d)](a12_0x803173['green']('✓\x20Logs\x20saved\x20to\x20'+_0x57e5d2));}return _0x56be1d;}catch(_0x8b70f9){_0x334ac1&&await restoreDefaultTdSkillsMarketplace(this[_0x68a1df(0x125)]);this['passThroughServer']&&await this[_0x68a1df(0x134)][_0x68a1df(0x11b)]();this[_0x68a1df(0x125)]&&await this[_0x68a1df(0x125)][_0x68a1df(0x161)]();throw _0x8b70f9;}}}
|