@treasuredata/tdx 2026.8.3 → 2026.8.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bin.js +1 -1
- package/dist/build-info.json +3 -3
- package/dist/cli-categories.js +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +1 -1
- package/dist/cli.js.map +1 -1
- package/dist/commands/activations.js +1 -1
- package/dist/commands/agent-command.js +1 -1
- package/dist/commands/agent-test-command.js +1 -1
- package/dist/commands/api-command.js +1 -1
- package/dist/commands/auth-command.js +1 -1
- package/dist/commands/cas-command.js +1 -1
- package/dist/commands/cas-segment-command.d.ts.map +1 -1
- package/dist/commands/cas-segment-command.js +1 -1
- package/dist/commands/cas-segment-command.js.map +1 -1
- package/dist/commands/chat-command.js +1 -1
- package/dist/commands/claude-command.js +1 -1
- package/dist/commands/claude-statusline-command.js +1 -1
- package/dist/commands/claude-usage-command.js +1 -1
- package/dist/commands/command.js +1 -1
- package/dist/commands/connection-command.js +1 -1
- package/dist/commands/databases.js +1 -1
- package/dist/commands/delivery-command.js +1 -1
- package/dist/commands/describe.js +1 -1
- package/dist/commands/engage-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-template-pull-command.js +1 -1
- package/dist/commands/engage-template-push-command.js +1 -1
- package/dist/commands/engage-template-validate-command.js +1 -1
- package/dist/commands/job-command.js +1 -1
- package/dist/commands/journey-command.js +1 -1
- package/dist/commands/journey-validate-command.js +1 -1
- package/dist/commands/llm-command.js +1 -1
- package/dist/commands/mcp-command.js +1 -1
- package/dist/commands/p13n-command.d.ts +11 -0
- package/dist/commands/p13n-command.d.ts.map +1 -0
- package/dist/commands/p13n-command.js +1 -0
- package/dist/commands/p13n-command.js.map +1 -0
- package/dist/commands/parent-segment-command.js +1 -1
- package/dist/commands/policy-command.js +1 -1
- package/dist/commands/profile-command.js +1 -1
- package/dist/commands/profiles-command.js +1 -1
- package/dist/commands/query-command.js +1 -1
- package/dist/commands/schedule-command.js +1 -1
- package/dist/commands/segment-command.js +1 -1
- package/dist/commands/segment-create-command.js +1 -1
- package/dist/commands/segment-fields-command.js +1 -1
- package/dist/commands/segment-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.d.ts.map +1 -1
- package/dist/core/global-context.js +1 -1
- package/dist/core/global-context.js.map +1 -1
- package/dist/core/keychain.js +1 -1
- package/dist/core/oauth-keychain.js +1 -1
- package/dist/core/oauth.d.ts +9 -1
- package/dist/core/oauth.d.ts.map +1 -1
- package/dist/core/oauth.js +1 -1
- package/dist/core/oauth.js.map +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.js +1 -1
- 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.d.ts +42 -6
- package/dist/sdk/auth-token.d.ts.map +1 -1
- package/dist/sdk/auth-token.js +1 -1
- package/dist/sdk/auth-token.js.map +1 -1
- package/dist/sdk/cas/cas-api-client.js +1 -1
- package/dist/sdk/cas/cas-audience-schema.js +1 -1
- package/dist/sdk/cas/cas-audience-validator.js +1 -1
- package/dist/sdk/cas/cas-audience-yaml.js +1 -1
- package/dist/sdk/cas/cas-segment-schema.d.ts +63 -0
- package/dist/sdk/cas/cas-segment-schema.d.ts.map +1 -0
- package/dist/sdk/cas/cas-segment-schema.js +1 -0
- package/dist/sdk/cas/cas-segment-schema.js.map +1 -0
- package/dist/sdk/cas/cas-segment-validator.d.ts +76 -0
- package/dist/sdk/cas/cas-segment-validator.d.ts.map +1 -0
- package/dist/sdk/cas/cas-segment-validator.js +1 -0
- package/dist/sdk/cas/cas-segment-validator.js.map +1 -0
- package/dist/sdk/cas/cas-segment-yaml.js +1 -1
- package/dist/sdk/cas/index.js +1 -1
- package/dist/sdk/cas/pull-workflow.js +1 -1
- package/dist/sdk/cas/push-workflow.js +1 -1
- package/dist/sdk/cas/validate-files.d.ts +23 -6
- package/dist/sdk/cas/validate-files.d.ts.map +1 -1
- package/dist/sdk/cas/validate-files.js +1 -1
- package/dist/sdk/cas/validate-files.js.map +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 +6 -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.js +1 -1
- package/dist/sdk/client/http-client.js +1 -1
- package/dist/sdk/client/llm-api-client.js +1 -1
- package/dist/sdk/client/oauth-refresh.d.ts +11 -2
- package/dist/sdk/client/oauth-refresh.d.ts.map +1 -1
- package/dist/sdk/client/oauth-refresh.js +1 -1
- package/dist/sdk/client/oauth-refresh.js.map +1 -1
- package/dist/sdk/client/p13n-studio-api-client.d.ts +19 -0
- package/dist/sdk/client/p13n-studio-api-client.d.ts.map +1 -0
- package/dist/sdk/client/p13n-studio-api-client.js +1 -0
- package/dist/sdk/client/p13n-studio-api-client.js.map +1 -0
- 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/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/template-schema.js +1 -1
- package/dist/sdk/engage.js +1 -1
- package/dist/sdk/errors.js +1 -1
- package/dist/sdk/index.d.ts +6 -0
- package/dist/sdk/index.d.ts.map +1 -1
- package/dist/sdk/index.js +1 -1
- package/dist/sdk/index.js.map +1 -1
- package/dist/sdk/io/index.js +1 -1
- package/dist/sdk/io/node-filesystem.js +1 -1
- package/dist/sdk/job.js +1 -1
- package/dist/sdk/journey.js +1 -1
- package/dist/sdk/llm/chat-cache.js +1 -1
- package/dist/sdk/llm/index.js +1 -1
- package/dist/sdk/llm/llm-backup-utils.js +1 -1
- package/dist/sdk/llm/model-factors.js +1 -1
- package/dist/sdk/llm/user-settings.js +1 -1
- package/dist/sdk/p13n-studio.d.ts +13 -0
- package/dist/sdk/p13n-studio.d.ts.map +1 -0
- package/dist/sdk/p13n-studio.js +1 -0
- package/dist/sdk/p13n-studio.js.map +1 -0
- package/dist/sdk/personalization.js +1 -1
- package/dist/sdk/policy.js +1 -1
- package/dist/sdk/query/deleted-table-validation.js +1 -1
- package/dist/sdk/query/index.js +1 -1
- package/dist/sdk/query/sql-parser.js +1 -1
- package/dist/sdk/realtime.js +1 -1
- package/dist/sdk/schedule.js +1 -1
- package/dist/sdk/segment/child-segment-yaml.d.ts.map +1 -1
- package/dist/sdk/segment/child-segment-yaml.js +1 -1
- package/dist/sdk/segment/child-segment-yaml.js.map +1 -1
- package/dist/sdk/segment/fields-display.js +1 -1
- package/dist/sdk/segment/file-discovery.js +1 -1
- package/dist/sdk/segment/journey-utils.js +1 -1
- package/dist/sdk/segment/journey-validator.js +1 -1
- package/dist/sdk/segment/journey-yaml.js +1 -1
- package/dist/sdk/segment/parent-segment-preview.js +1 -1
- package/dist/sdk/segment/parent-segment-yaml.js +1 -1
- package/dist/sdk/segment/pull-workflow.js +1 -1
- package/dist/sdk/segment/push-recovery.js +1 -1
- package/dist/sdk/segment/push-workflow.js +1 -1
- package/dist/sdk/segment/resolution-context.js +1 -1
- package/dist/sdk/segment/segment-path-parser.js +1 -1
- package/dist/sdk/segment/segment-ref-parser.js +1 -1
- package/dist/sdk/segment/segment-validator.js +1 -1
- package/dist/sdk/segment/target-resolution.js +1 -1
- package/dist/sdk/segment/tdx-config.js +1 -1
- package/dist/sdk/segment/types/activation-schema.js +1 -1
- package/dist/sdk/segment/types/journey-def.js +1 -1
- package/dist/sdk/segment/types/journey-schema.js +1 -1
- package/dist/sdk/segment/types/segment-def.js +1 -1
- package/dist/sdk/segment/types/segment-schema.d.ts.map +1 -1
- package/dist/sdk/segment/types/segment-schema.js +1 -1
- package/dist/sdk/segment/types/segment-schema.js.map +1 -1
- package/dist/sdk/segment/validate-files.js +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.js +1 -1
- package/dist/sdk/types/index.d.ts +2 -1
- 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 +18 -0
- package/dist/sdk/types/p13n-studio.d.ts.map +1 -0
- package/dist/sdk/types/p13n-studio.js +1 -0
- package/dist/sdk/types/p13n-studio.js.map +1 -0
- package/dist/sdk/types/progress.js +1 -1
- package/dist/sdk/types/workspace.js +1 -1
- package/dist/sdk/user.js +1 -1
- package/dist/sdk/util/format-detector.js +1 -1
- package/dist/sdk/util/formatters.js +1 -1
- package/dist/sdk/util/index.js +1 -1
- package/dist/sdk/util/paginate.js +1 -1
- package/dist/sdk/util/tree-formatter.js +1 -1
- package/dist/sdk/util/tree-search.js +1 -1
- package/dist/sdk/workflow/archive-validation.js +1 -1
- package/dist/sdk/workflow/clone-workflow.js +1 -1
- package/dist/sdk/workflow/index.js +1 -1
- package/dist/sdk/workflow/pull-workflow.js +1 -1
- package/dist/sdk/workflow/push-workflow.js +1 -1
- package/dist/sdk/workflow/task-graph.js +1 -1
- package/dist/sdk/workflow/tdx-config.js +1 -1
- package/dist/sdk/workflow/workflow-utils.js +1 -1
- package/dist/sdk/workspace/access-tracker.js +1 -1
- package/dist/sdk/workspace/frontmatter.js +1 -1
- package/dist/sdk/workspace/git.js +1 -1
- package/dist/sdk/workspace/index.js +1 -1
- package/dist/sdk/workspace/templates.js +1 -1
- package/dist/sdk/workspace/weekly.js +1 -1
- package/dist/sdk/workspace/wikilinks.js +1 -1
- package/dist/test-utils/command-runner.js +1 -1
- package/dist/test-utils/factories.js +1 -1
- package/dist/test-utils/fixtures.js +1 -1
- package/dist/test-utils/http-mock.js +1 -1
- package/dist/test-utils/index.js +1 -1
- package/dist/utils/async.js +1 -1
- package/dist/utils/claude-code-state.js +1 -1
- package/dist/utils/colors.js +1 -1
- package/dist/utils/diff.js +1 -1
- package/dist/utils/file-permissions.js +1 -1
- package/dist/utils/file-reader.js +1 -1
- package/dist/utils/github-releases.js +1 -1
- package/dist/utils/global-cache.js +1 -1
- package/dist/utils/json-loader.js +1 -1
- package/dist/utils/local-cache.js +1 -1
- package/dist/utils/logger/formatters/default-formatter.js +1 -1
- package/dist/utils/logger/formatters/index.js +1 -1
- package/dist/utils/logger/handlers/console-handler.js +1 -1
- package/dist/utils/logger/handlers/file-handler.js +1 -1
- package/dist/utils/logger/handlers/index.js +1 -1
- package/dist/utils/logger/handlers/null-handler.js +1 -1
- package/dist/utils/logger/index.js +1 -1
- package/dist/utils/logger/logger.js +1 -1
- package/dist/utils/logger/types.js +1 -1
- package/dist/utils/option-validation.js +1 -1
- package/dist/utils/process.js +1 -1
- package/dist/utils/prompt.js +1 -1
- package/dist/utils/proxy-fetch.js +1 -1
- package/dist/utils/spinner.js +1 -1
- package/dist/utils/sse-parser.js +1 -1
- package/dist/utils/string-utils.js +1 -1
- package/dist/utils/table-ref-parser.js +1 -1
- package/dist/utils/tdx-logger.js +1 -1
- package/dist/utils/version-check.js +1 -1
- package/package.json +1 -1
package/dist/sdk/auth-token.d.ts
CHANGED
|
@@ -4,16 +4,52 @@
|
|
|
4
4
|
import type { OAuthTokenData } from '../core/oauth.js';
|
|
5
5
|
import type { TDSite } from './types/index.js';
|
|
6
6
|
/**
|
|
7
|
-
*
|
|
8
|
-
*
|
|
7
|
+
* Decide what to do with a keychain-stored OAuth token before use.
|
|
8
|
+
*
|
|
9
|
+
* `use` returns the current access token as-is; `refresh` triggers a refresh
|
|
10
|
+
* with the given refresh token; `reauth` signals the token is known-expired
|
|
11
|
+
* and cannot be refreshed, so the user must sign in again.
|
|
12
|
+
*
|
|
13
|
+
* Legacy keychain entries written before `expires_at` was persisted are
|
|
14
|
+
* treated as "unknown expiry, not known-expired": we refresh proactively when
|
|
15
|
+
* a refresh token is available (auto-migrating them to the new format), and
|
|
16
|
+
* otherwise return the stored access token so the user isn't forced to
|
|
17
|
+
* re-authenticate a bearer that may still be perfectly valid. A downstream
|
|
18
|
+
* 401 will still guide them to `tdx auth setup`.
|
|
19
|
+
*/
|
|
20
|
+
export type OAuthTokenAction = {
|
|
21
|
+
type: 'use';
|
|
22
|
+
access_token: string;
|
|
23
|
+
} | {
|
|
24
|
+
type: 'refresh';
|
|
25
|
+
refresh_token: string;
|
|
26
|
+
} | {
|
|
27
|
+
type: 'reauth';
|
|
28
|
+
};
|
|
29
|
+
export declare function decideOAuthTokenAction(tokens: Pick<OAuthTokenData, 'access_token' | 'refresh_token' | 'expires_at'>, now?: number): OAuthTokenAction;
|
|
30
|
+
/**
|
|
31
|
+
* Run the refresh loop for a set of keychain-stored OAuth tokens: refresh when
|
|
32
|
+
* the current access token is expiring, persist the new record, and return the
|
|
33
|
+
* access token to use. `reauth` cases always throw UNAUTHENTICATED so callers do
|
|
34
|
+
* not pass a stale bearer downstream. `onRefreshError` controls what happens
|
|
35
|
+
* when the refresh network call itself fails: `'throw'` propagates the error;
|
|
36
|
+
* `'useStale'` falls back to the old access token so a transient network glitch
|
|
37
|
+
* does not fail every subsequent tdx command.
|
|
9
38
|
*/
|
|
10
|
-
export declare function
|
|
39
|
+
export declare function refreshOAuthTokenIfNeeded(tokens: OAuthTokenData, options: {
|
|
40
|
+
site: TDSite;
|
|
41
|
+
profile?: string;
|
|
42
|
+
proxy?: string;
|
|
43
|
+
onRefreshError: 'throw' | 'useStale';
|
|
44
|
+
}): Promise<string>;
|
|
11
45
|
/**
|
|
12
46
|
* Resolve the current OAuth bearer token for a site and profile.
|
|
13
47
|
*
|
|
14
|
-
* Environment-provided access tokens take precedence and are returned as-is.
|
|
15
|
-
* stored in the keychain are refreshed when they are expired or within
|
|
16
|
-
* of expiry, and the refreshed credentials are persisted for
|
|
48
|
+
* Environment-provided access tokens take precedence and are returned as-is.
|
|
49
|
+
* Tokens stored in the keychain are refreshed when they are expired or within
|
|
50
|
+
* five minutes of expiry, and the refreshed credentials are persisted for
|
|
51
|
+
* subsequent calls. An expired token with no refresh token surfaces as
|
|
52
|
+
* UNAUTHENTICATED so callers do not pass a stale token to downstream APIs.
|
|
17
53
|
*/
|
|
18
54
|
export declare function resolveOAuthAccessToken(options: {
|
|
19
55
|
site: TDSite;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-token.d.ts","sourceRoot":"","sources":["../../src/sdk/auth-token.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGvD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"auth-token.d.ts","sourceRoot":"","sources":["../../src/sdk/auth-token.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAGvD,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAQ/C;;;;;;;;;;;;;GAaG;AACH,MAAM,MAAM,gBAAgB,GACxB;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,GACrC;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,aAAa,EAAE,MAAM,CAAA;CAAE,GAC1C;IAAE,IAAI,EAAE,QAAQ,CAAA;CAAE,CAAC;AAEvB,wBAAgB,sBAAsB,CACpC,MAAM,EAAE,IAAI,CAAC,cAAc,EAAE,cAAc,GAAG,eAAe,GAAG,YAAY,CAAC,EAC7E,GAAG,SAAa,GACf,gBAAgB,CAgBlB;AAED;;;;;;;;GAQG;AACH,wBAAsB,yBAAyB,CAC7C,MAAM,EAAE,cAAc,EACtB,OAAO,EAAE;IACP,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,cAAc,EAAE,OAAO,GAAG,UAAU,CAAC;CACtC,GACA,OAAO,CAAC,MAAM,CAAC,CAqBjB;AAED;;;;;;;;GAQG;AACH,wBAAsB,uBAAuB,CAAC,OAAO,EAAE;IACrD,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,GAAG,OAAO,CAAC,MAAM,CAAC,CAqBlB"}
|
package/dist/sdk/auth-token.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a99_0xbbf1d0=a99_0x4126;function a99_0x4126(_0x1e19b3,_0x232bc9){_0x1e19b3=_0x1e19b3-0x123;const _0x376122=a99_0x3761();let _0x41265d=_0x376122[_0x1e19b3];return _0x41265d;}(function(_0x13ddd4,_0xf0d899){const _0x34ed2f=a99_0x4126,_0x2bfb60=_0x13ddd4();while(!![]){try{const _0x4f10ad=parseInt(_0x34ed2f(0x127))/0x1*(parseInt(_0x34ed2f(0x129))/0x2)+-parseInt(_0x34ed2f(0x12a))/0x3+parseInt(_0x34ed2f(0x134))/0x4+parseInt(_0x34ed2f(0x136))/0x5+-parseInt(_0x34ed2f(0x123))/0x6+parseInt(_0x34ed2f(0x12c))/0x7+parseInt(_0x34ed2f(0x12d))/0x8*(-parseInt(_0x34ed2f(0x135))/0x9);if(_0x4f10ad===_0xf0d899)break;else _0x2bfb60['push'](_0x2bfb60['shift']());}catch(_0x436c08){_0x2bfb60['push'](_0x2bfb60['shift']());}}}(a99_0x3761,0x39c14));import{getAccessToken,loadGlobalProxy}from'../core/config.js';import{getActiveProfile}from'../core/profile.js';function a99_0x3761(){const _0x101551=['reauth','refresh','access_token','467274EIbUwx','UNAUTHENTICATED','type','refresh_token','467yLBScs','No\x20OAuth\x20access\x20token\x20found.\x20Run\x20`tdx\x20auth\x20setup`\x20and\x20choose\x20browser\x20sign-in\x20first.','1958cDeWna','54282eMTfWj','throw','1127028TJkKdb','182824mwGQOW','now','onRefreshError','OAuth\x20access\x20token\x20has\x20expired\x20and\x20no\x20refresh\x20token\x20is\x20available.\x20Run\x20`tdx\x20auth\x20setup`\x20to\x20sign\x20in\x20again.','profile','site','use','1266792VmUPBn','279VmNTih','530425rubMNz','expires_at'];a99_0x3761=function(){return _0x101551;};return a99_0x3761();}import{getOAuthTokens,saveOAuthTokens}from'../core/oauth-keychain.js';import{getConsoleUrl}from'./client/endpoints.js';import{refreshAccessToken}from'./client/oauth-refresh.js';import{ErrorCode,SDKError}from'./errors.js';const EXPIRY_BUFFER_MS=0x5*0x3c*0x3e8,REAUTH_MESSAGE=a99_0xbbf1d0(0x130);export function decideOAuthTokenAction(_0x383a3a,_0x1ed29f=Date[a99_0xbbf1d0(0x12e)]()){const _0x850336=a99_0xbbf1d0;if(_0x383a3a[_0x850336(0x137)]&&_0x383a3a[_0x850336(0x137)]>_0x1ed29f+EXPIRY_BUFFER_MS)return{'type':_0x850336(0x133),'access_token':_0x383a3a[_0x850336(0x13a)]};if(_0x383a3a[_0x850336(0x126)])return{'type':_0x850336(0x139),'refresh_token':_0x383a3a['refresh_token']};if(_0x383a3a[_0x850336(0x137)])return{'type':_0x850336(0x138)};return{'type':_0x850336(0x133),'access_token':_0x383a3a[_0x850336(0x13a)]};}export async function refreshOAuthTokenIfNeeded(_0x4bac81,_0x3dcbeb){const _0x41c13e=a99_0xbbf1d0,_0x13a44a=decideOAuthTokenAction(_0x4bac81);if(_0x13a44a[_0x41c13e(0x125)]===_0x41c13e(0x133))return _0x13a44a[_0x41c13e(0x13a)];if(_0x13a44a['type']===_0x41c13e(0x138))throw new SDKError(ErrorCode[_0x41c13e(0x124)],REAUTH_MESSAGE);try{const _0xaa0836=await refreshAccessToken(getConsoleUrl(_0x3dcbeb[_0x41c13e(0x132)]),_0x13a44a[_0x41c13e(0x126)],{'proxy':_0x3dcbeb['proxy']||loadGlobalProxy()||process.env.HTTPS_PROXY||process.env.HTTP_PROXY});return await saveOAuthTokens(_0xaa0836,_0x3dcbeb[_0x41c13e(0x131)]),_0xaa0836[_0x41c13e(0x13a)];}catch(_0x2b61ba){if(_0x3dcbeb[_0x41c13e(0x12f)]===_0x41c13e(0x12b))throw _0x2b61ba;return _0x4bac81['access_token'];}}export async function resolveOAuthAccessToken(_0x789b1f){const _0x37511c=a99_0xbbf1d0,_0x1801e4=_0x789b1f['profile']||getActiveProfile()||undefined,_0x578283=getAccessToken(_0x1801e4);if(_0x578283)return _0x578283;const _0x205585=await getOAuthTokens(_0x1801e4);if(!_0x205585?.[_0x37511c(0x13a)])throw new SDKError(ErrorCode[_0x37511c(0x124)],_0x37511c(0x128));return refreshOAuthTokenIfNeeded(_0x205585,{'site':_0x789b1f[_0x37511c(0x132)],'profile':_0x1801e4,'proxy':_0x789b1f['proxy'],'onRefreshError':'throw'});}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-token.js","sourceRoot":"","sources":["../../src/sdk/auth-token.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,cAAc,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAE5E,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAE/D,OAAO,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAElD,MAAM,gBAAgB,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC;AAEvC
|
|
1
|
+
{"version":3,"file":"auth-token.js","sourceRoot":"","sources":["../../src/sdk/auth-token.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const a99_0x23de40=a99_0x41f2;(function(_0x41a5d4,_0x536579){const _0xfd796=a99_0x41f2,_0x51e8ba=_0x41a5d4();while(!![]){try{const _0x2feb2c=parseInt(_0xfd796(0x21e))/0x1*(parseInt(_0xfd796(0x205))/0x2)+parseInt(_0xfd796(0x221))/0x3+parseInt(_0xfd796(0x209))/0x4+parseInt(_0xfd796(0x1ce))/0x5*(-parseInt(_0xfd796(0x1d3))/0x6)+-parseInt(_0xfd796(0x203))/0x7*(-parseInt(_0xfd796(0x1d0))/0x8)+-parseInt(_0xfd796(0x1d4))/0x9+-parseInt(_0xfd796(0x1d5))/0xa*(parseInt(_0xfd796(0x1e2))/0xb);if(_0x2feb2c===_0x536579)break;else _0x51e8ba['push'](_0x51e8ba['shift']());}catch(_0x5ed003){_0x51e8ba['push'](_0x51e8ba['shift']());}}}(a99_0x53f1,0xbc8b4));import{HTTPClient}from'../client/http-client.js';import{getEndpoint}from'../types/index.js';import{getAuthHeaders,toHeaderRecord}from'../../core/auth.js';export class CASApiClient{[a99_0x23de40(0x1f5)];constructor(_0x840dc){const _0xf277b5=a99_0x23de40,_0x344ebb=getEndpoint(_0x840dc[_0xf277b5(0x1fb)],'cas'),_0x1ff705=toHeaderRecord(getAuthHeaders(_0x840dc[_0xf277b5(0x1fb)],_0x840dc[_0xf277b5(0x206)],_0x840dc[_0xf277b5(0x218)]));this[_0xf277b5(0x1f5)]=new HTTPClient(_0x344ebb,{..._0x1ff705,'Accept':_0xf277b5(0x1f6),'Content-Type':_0xf277b5(0x1e3)},{'proxy':_0x840dc[_0xf277b5(0x1d1)],'defaultTimeout':_0x840dc[_0xf277b5(0x1fc)]});}async[a99_0x23de40(0x20a)](){const _0x96bf96=a99_0x23de40,_0x32e550=await this['httpClient'][_0x96bf96(0x1e5)]('GET',_0x96bf96(0x1ea));return Array[_0x96bf96(0x1fd)](_0x32e550)?_0x32e550:_0x32e550[_0x96bf96(0x20e)];}async[a99_0x23de40(0x216)](_0x464b8b){const _0x359235=a99_0x23de40,_0x187266=await this[_0x359235(0x1f5)]['request'](_0x359235(0x1d2),_0x359235(0x1d6)+_0x464b8b);return _0x359235(0x20e)in _0x187266?_0x187266['data']:_0x187266;}async[a99_0x23de40(0x1fe)](_0x4fa734){const _0x10d932=a99_0x23de40,_0xdf798=await this[_0x10d932(0x1f5)]['request'](_0x10d932(0x214),_0x10d932(0x1ea),{'body':_0x4fa734});return'data'in _0xdf798?_0xdf798['data']:_0xdf798;}async[a99_0x23de40(0x1eb)](_0x3987f2,_0x35bf2a){const _0x43f84f=a99_0x23de40,_0x4bca8f=await this[_0x43f84f(0x1f5)][_0x43f84f(0x1e5)](_0x43f84f(0x202),_0x43f84f(0x1d6)+_0x3987f2,{'body':_0x35bf2a});return _0x43f84f(0x20e)in _0x4bca8f?_0x4bca8f[_0x43f84f(0x20e)]:_0x4bca8f;}async[a99_0x23de40(0x210)](_0x27645d){const _0x98e4c2=a99_0x23de40;await this['httpClient']['request']('DELETE',_0x98e4c2(0x1d6)+_0x27645d);}async[a99_0x23de40(0x1e8)](_0x550feb){const _0x52ace4=a99_0x23de40,_0x46506b=await this[_0x52ace4(0x20f)](_0x550feb);if(_0x46506b[_0x52ace4(0x208)]===0x0)return[];const _0x3b3438=[],_0x2f3098=new Set(),_0x1c0978=_0x46506b[_0x52ace4(0x217)](async _0x26ebe8=>{const _0x810fd0=_0x52ace4,_0x56896d=await this[_0x810fd0(0x1dc)](_0x26ebe8['id']);for(const _0x1ecc1f of _0x56896d){if(_0x1ecc1f['type']===_0x810fd0(0x1df)&&!_0x2f3098[_0x810fd0(0x1f2)](_0x1ecc1f['id'])){_0x2f3098[_0x810fd0(0x1dd)](_0x1ecc1f['id']);const _0x5b41ab=_0x1ecc1f[_0x810fd0(0x1f8)]||{};_0x3b3438[_0x810fd0(0x215)]({'id':_0x1ecc1f['id'],'name':_0x5b41ab['name'],'description':_0x5b41ab[_0x810fd0(0x1ef)],'composableAudienceId':_0x5b41ab[_0x810fd0(0x212)]||_0x550feb,'folderId':_0x26ebe8['id'],'rule':_0x5b41ab['rule'],'population':_0x5b41ab[_0x810fd0(0x1f0)],'numSyndications':_0x5b41ab['numSyndications'],'status':_0x5b41ab[_0x810fd0(0x1cc)],'createdAt':_0x5b41ab[_0x810fd0(0x1da)],'updatedAt':_0x5b41ab['updatedAt']});}}});return await Promise[_0x52ace4(0x207)](_0x1c0978),_0x3b3438;}[a99_0x23de40(0x1fa)](_0xd0cded){const _0xf81abf=a99_0x23de40,_0x2caace=_0xd0cded['attributes']||{},_0x522901=_0xd0cded[_0xf81abf(0x1e0)];return{'id':_0xd0cded['id'],'name':_0x2caace[_0xf81abf(0x1ec)],'description':_0x2caace[_0xf81abf(0x1ef)],'composableAudienceId':_0x2caace[_0xf81abf(0x212)],'folderId':_0x522901?.['parentFolder']?.['data']?.['id'],'rule':_0x2caace[_0xf81abf(0x20d)],'population':_0x2caace['population'],'numSyndications':_0x2caace['numSyndications'],'createdAt':_0x2caace[_0xf81abf(0x1da)],'updatedAt':_0x2caace[_0xf81abf(0x1e7)]};}async[a99_0x23de40(0x200)](_0x1844a5){const _0x1dda7c=a99_0x23de40,_0x37b346=await this['httpClient'][_0x1dda7c(0x1e5)]('GET',_0x1dda7c(0x21a)+_0x1844a5);return this['jsonApiSegmentToFlat'](_0x37b346[_0x1dda7c(0x20e)]);}async['createSegment'](_0x569163){const _0x543bd6=a99_0x23de40,_0x14bb69=await this[_0x543bd6(0x1f5)][_0x543bd6(0x1e5)](_0x543bd6(0x214),_0x543bd6(0x1cf),{'body':_0x569163});return this[_0x543bd6(0x1fa)](_0x14bb69['data']);}async[a99_0x23de40(0x1ff)](_0x5c9dad,_0x25c143){const _0x38dea9=a99_0x23de40,_0x1c25ff=await this[_0x38dea9(0x1f5)]['request']('PUT',_0x38dea9(0x21a)+_0x5c9dad,{'body':_0x25c143});return this[_0x38dea9(0x1fa)](_0x1c25ff['data']);}async['deleteSegment'](_0x266850){const _0x1bbacb=a99_0x23de40;await this['httpClient']['request'](_0x1bbacb(0x219),_0x1bbacb(0x21a)+_0x266850);}[a99_0x23de40(0x1f1)](_0x5e7594,_0x26b64a){const _0x4728e3=a99_0x23de40,_0x3464f8=_0x5e7594[_0x4728e3(0x1f8)]||{};return{'id':_0x5e7594['id'],'composableSegmentId':_0x26b64a,'name':_0x3464f8[_0x4728e3(0x1ec)],'description':_0x3464f8[_0x4728e3(0x1ef)]??undefined,'connectionId':_0x3464f8[_0x4728e3(0x222)],'connectorConfig':_0x3464f8[_0x4728e3(0x1d9)],'columns':_0x3464f8['columns']??undefined,'allColumns':_0x3464f8[_0x4728e3(0x201)],'scheduleType':_0x3464f8[_0x4728e3(0x1f4)],'timezone':_0x3464f8[_0x4728e3(0x1e1)],'startAt':_0x3464f8[_0x4728e3(0x1d7)],'endOn':_0x3464f8[_0x4728e3(0x223)],'repeatUnit':_0x3464f8['repeatUnit'],'repeatFrequency':_0x3464f8[_0x4728e3(0x1e9)],'notifyOn':_0x3464f8['notifyOn'],'emailRecipients':_0x3464f8[_0x4728e3(0x1ed)],'createdAt':_0x3464f8[_0x4728e3(0x1da)],'updatedAt':_0x3464f8[_0x4728e3(0x1e7)]};}async[a99_0x23de40(0x1f3)](_0x20141f){const _0x44b6c0=a99_0x23de40,_0x54c0e0=await this[_0x44b6c0(0x1f5)][_0x44b6c0(0x1e5)]('GET',_0x44b6c0(0x21a)+_0x20141f+_0x44b6c0(0x204));return(_0x54c0e0[_0x44b6c0(0x20e)]||[])['map'](_0x2962df=>this[_0x44b6c0(0x1f1)](_0x2962df,_0x20141f));}async[a99_0x23de40(0x21d)](_0x38ca20,_0x492161){const _0x80fe1b=a99_0x23de40,_0x33a851=await this[_0x80fe1b(0x1f5)][_0x80fe1b(0x1e5)](_0x80fe1b(0x214),_0x80fe1b(0x21a)+_0x38ca20+'/activations',{'body':{'type':_0x80fe1b(0x1e4),'attributes':_0x492161}});return this[_0x80fe1b(0x1f1)](_0x33a851[_0x80fe1b(0x20e)],_0x38ca20);}async['getActivation'](_0x3da6f0,_0x346394){const _0x14ef97=a99_0x23de40,_0x47fb82=await this[_0x14ef97(0x1f5)][_0x14ef97(0x1e5)]('GET',_0x14ef97(0x21a)+_0x3da6f0+_0x14ef97(0x1f9)+_0x346394);return this[_0x14ef97(0x1f1)](_0x47fb82[_0x14ef97(0x20e)],_0x3da6f0);}async[a99_0x23de40(0x21f)](_0x1affc4,_0x1f7a10,_0x1d7a8f){const _0x4d4415=a99_0x23de40,_0x531c85=await this[_0x4d4415(0x1f5)][_0x4d4415(0x1e5)](_0x4d4415(0x202),_0x4d4415(0x21a)+_0x1affc4+'/activations/'+_0x1f7a10,{'body':{'type':_0x4d4415(0x1e4),'attributes':_0x1d7a8f}});return this[_0x4d4415(0x1f1)](_0x531c85[_0x4d4415(0x20e)],_0x1affc4);}async[a99_0x23de40(0x21c)](_0xabd8c3,_0x3c8bfe){const _0x41e74d=a99_0x23de40;await this[_0x41e74d(0x1f5)][_0x41e74d(0x1e5)](_0x41e74d(0x219),_0x41e74d(0x21a)+_0xabd8c3+'/activations/'+_0x3c8bfe);}async[a99_0x23de40(0x1f7)](_0x124ced){const _0x5be0bd=a99_0x23de40,_0x51bfa2=new Map(),_0x5ef2a4=_0x124ced[_0x5be0bd(0x217)](async _0x5f4e62=>{const _0x35989b=_0x5be0bd,_0x584473=await this[_0x35989b(0x1f3)](_0x5f4e62['id']);_0x51bfa2[_0x35989b(0x213)](_0x5f4e62['id'],_0x584473);});return await Promise[_0x5be0bd(0x207)](_0x5ef2a4),_0x51bfa2;}async['listFolders'](_0x479939){const _0x1bc63b=a99_0x23de40,_0x1c5994=await this['httpClient'][_0x1bc63b(0x1e5)](_0x1bc63b(0x1d2),'/composable_audiences/'+_0x479939+_0x1bc63b(0x20b)),_0x3f34a2=Array[_0x1bc63b(0x1fd)](_0x1c5994)?_0x1c5994:_0x1c5994[_0x1bc63b(0x20e)];return(_0x3f34a2||[])[_0x1bc63b(0x217)](_0xec927c=>({..._0xec927c,'composableAudienceId':_0x479939}));}async[a99_0x23de40(0x220)](_0x3763c3,_0x6cf449){const _0xa55731=a99_0x23de40,_0x2a832={'type':_0xa55731(0x1ee),'attributes':{'name':_0x6cf449[_0xa55731(0x1ec)],'description':_0x6cf449[_0xa55731(0x1ef)]??''},'relationships':{'parentFolder':{'data':{'id':_0x6cf449[_0xa55731(0x1cd)],'type':'folder-segment'}}}},_0x1a726a=await this[_0xa55731(0x1f5)][_0xa55731(0x1e5)](_0xa55731(0x214),'/entities/folders',{'body':_0x2a832,'headers':{'Content-Type':'application/vnd.treasuredata.v1+json'}});return{'id':_0x1a726a[_0xa55731(0x20e)]['id'],'name':_0x1a726a[_0xa55731(0x20e)][_0xa55731(0x1f8)][_0xa55731(0x1ec)],'parentFolderId':_0x1a726a[_0xa55731(0x20e)][_0xa55731(0x1e0)]?.['parentFolder']?.[_0xa55731(0x20e)]?.['id'],'composableAudienceId':_0x3763c3};}async['listEntitiesByFolder'](_0x348bcc){const _0x20fedf=a99_0x23de40,_0x56dd28=await this[_0x20fedf(0x1f5)][_0x20fedf(0x1e5)](_0x20fedf(0x1d2),_0x20fedf(0x21b)+_0x348bcc);return _0x56dd28[_0x20fedf(0x20e)]||[];}async[a99_0x23de40(0x211)](_0x33259f,_0x3cbaed){const _0x397802=a99_0x23de40,_0x1c1267=await this[_0x397802(0x1f5)]['request']('POST','/composable_audiences/'+_0x33259f+_0x397802(0x1de),{'body':{'rule':_0x3cbaed}});return _0x1c1267;}async[a99_0x23de40(0x20c)](_0x925059,_0x2f74b6){const _0x49a6f5=a99_0x23de40;return await this['httpClient']['request'](_0x49a6f5(0x1d2),_0x49a6f5(0x1d6)+_0x925059+_0x49a6f5(0x1db)+_0x2f74b6);}async['getPreviewCustomers'](_0x3ebf70,_0x186906){const _0x554132=a99_0x23de40;return await this['httpClient'][_0x554132(0x1e5)]('GET',_0x554132(0x1d6)+_0x3ebf70+_0x554132(0x1db)+_0x186906+_0x554132(0x1d8));}async['getSegmentStatistics'](_0x53d226){const _0x471a9f=a99_0x23de40;return await this[_0x471a9f(0x1f5)]['request'](_0x471a9f(0x1d2),_0x471a9f(0x21a)+_0x53d226+_0x471a9f(0x1e6));}}function a99_0x41f2(_0x35d126,_0x406a53){_0x35d126=_0x35d126-0x1cc;const _0x53f11c=a99_0x53f1();let _0x41f2f=_0x53f11c[_0x35d126];return _0x41f2f;}function a99_0x53f1(){const _0x2d41dc=['composable-segment','relationships','timezone','431442YGyHxM','application/json','syndication','request','/statistics','updatedAt','listSegments','repeatFrequency','/composable_audiences','updateComposableAudience','name','emailRecipients','folder-segment','description','population','jsonApiActivationToFlat','has','listActivations','scheduleType','httpClient','application/vnd.treasuredata.v1+json','listAllActivations','attributes','/activations/','jsonApiSegmentToFlat','site','timeout','isArray','createComposableAudience','updateSegment','getSegment','allColumns','PUT','2254ZJNQOn','/activations','10694JjcaFT','apiKey','all','length','5370328ikAgDB','listComposableAudiences','/folders','getPreviewQuery','rule','data','listFolders','deleteComposableAudience','previewSegment','composableAudienceId','set','POST','push','getComposableAudience','map','accessToken','DELETE','/entities/composable_segments/','/entities/by-folder/','deleteActivation','createActivation','205JaWRaJ','updateActivation','createFolder','4208625FJalTv','connectionId','endOn','status','parentFolderId','4219525deqJHg','/entities/composable_segments','31184mmbYhf','proxy','GET','6VideuK','9439227UqrvEs','620GUvDYX','/composable_audiences/','startAt','/customers','connectorConfig','createdAt','/segments/queries/','listEntitiesByFolder','add','/segments/queries'];a99_0x53f1=function(){return _0x2d41dc;};return a99_0x53f1();}
|
|
1
|
+
const a100_0xea16ee=a100_0x3693;(function(_0x2ee112,_0x3d8d67){const _0x4b8cb5=a100_0x3693,_0xeca324=_0x2ee112();while(!![]){try{const _0x1962b6=-parseInt(_0x4b8cb5(0x1da))/0x1+-parseInt(_0x4b8cb5(0x212))/0x2*(-parseInt(_0x4b8cb5(0x1cf))/0x3)+-parseInt(_0x4b8cb5(0x21b))/0x4*(-parseInt(_0x4b8cb5(0x1f5))/0x5)+parseInt(_0x4b8cb5(0x1d3))/0x6*(-parseInt(_0x4b8cb5(0x1e3))/0x7)+-parseInt(_0x4b8cb5(0x1df))/0x8+-parseInt(_0x4b8cb5(0x209))/0x9+parseInt(_0x4b8cb5(0x214))/0xa;if(_0x1962b6===_0x3d8d67)break;else _0xeca324['push'](_0xeca324['shift']());}catch(_0x246726){_0xeca324['push'](_0xeca324['shift']());}}}(a100_0x154b,0x6bc7f));import{HTTPClient}from'../client/http-client.js';function a100_0x3693(_0x14e4d2,_0x4cd6ff){_0x14e4d2=_0x14e4d2-0x1ce;const _0x154b0e=a100_0x154b();let _0x36937c=_0x154b0e[_0x14e4d2];return _0x36937c;}import{getEndpoint}from'../types/index.js';import{getAuthHeaders,toHeaderRecord}from'../../core/auth.js';export class CASApiClient{[a100_0xea16ee(0x1db)];constructor(_0x4148ef){const _0x479306=a100_0xea16ee,_0x29469c=getEndpoint(_0x4148ef[_0x479306(0x1d1)],_0x479306(0x1d5)),_0x2f4650=toHeaderRecord(getAuthHeaders(_0x4148ef[_0x479306(0x1d1)],_0x4148ef[_0x479306(0x1fb)],_0x4148ef[_0x479306(0x1e9)]));this[_0x479306(0x1db)]=new HTTPClient(_0x29469c,{..._0x2f4650,'Accept':'application/vnd.treasuredata.v1+json','Content-Type':_0x479306(0x1e0)},{'proxy':_0x4148ef['proxy'],'defaultTimeout':_0x4148ef[_0x479306(0x1ed)]});}async[a100_0xea16ee(0x218)](){const _0xcb3df1=a100_0xea16ee,_0x1cdefc=await this[_0xcb3df1(0x1db)][_0xcb3df1(0x1d2)](_0xcb3df1(0x21d),_0xcb3df1(0x207));return Array['isArray'](_0x1cdefc)?_0x1cdefc:_0x1cdefc[_0xcb3df1(0x205)];}async[a100_0xea16ee(0x220)](_0x331675){const _0x35c07e=a100_0xea16ee,_0x479f65=await this[_0x35c07e(0x1db)][_0x35c07e(0x1d2)](_0x35c07e(0x21d),'/composable_audiences/'+_0x331675);return'data'in _0x479f65?_0x479f65[_0x35c07e(0x205)]:_0x479f65;}async[a100_0xea16ee(0x1d7)](_0x238bc3){const _0x530561=a100_0xea16ee,_0x53d406=await this[_0x530561(0x1db)][_0x530561(0x1d2)](_0x530561(0x1e8),_0x530561(0x207),{'body':_0x238bc3});return _0x530561(0x205)in _0x53d406?_0x53d406[_0x530561(0x205)]:_0x53d406;}async[a100_0xea16ee(0x206)](_0x3d4b13,_0x5f4f33){const _0x29fd08=a100_0xea16ee,_0x2bfc67=await this['httpClient'][_0x29fd08(0x1d2)](_0x29fd08(0x20e),'/composable_audiences/'+_0x3d4b13,{'body':_0x5f4f33});return _0x29fd08(0x205)in _0x2bfc67?_0x2bfc67[_0x29fd08(0x205)]:_0x2bfc67;}async[a100_0xea16ee(0x223)](_0x152411){const _0x5cba39=a100_0xea16ee;await this[_0x5cba39(0x1db)][_0x5cba39(0x1d2)](_0x5cba39(0x1e6),_0x5cba39(0x21c)+_0x152411);}async[a100_0xea16ee(0x1e1)](_0x42da55){const _0x1c1602=a100_0xea16ee,_0x5bf2cd=await this['listFolders'](_0x42da55);if(_0x5bf2cd[_0x1c1602(0x216)]===0x0)return[];const _0x362110=[],_0x19c146=new Set(),_0x28776e=_0x5bf2cd[_0x1c1602(0x1ff)](async _0x52d5e9=>{const _0x17628c=_0x1c1602,_0x51b16e=await this[_0x17628c(0x1eb)](_0x52d5e9['id']);for(const _0x342071 of _0x51b16e){if(_0x342071['type']===_0x17628c(0x1ef)&&!_0x19c146[_0x17628c(0x201)](_0x342071['id'])){_0x19c146[_0x17628c(0x1f6)](_0x342071['id']);const _0x44ff01=_0x342071[_0x17628c(0x222)]||{};_0x362110['push']({'id':_0x342071['id'],'name':_0x44ff01[_0x17628c(0x210)],'description':_0x44ff01[_0x17628c(0x20c)],'composableAudienceId':_0x44ff01[_0x17628c(0x219)]||_0x42da55,'folderId':_0x52d5e9['id'],'rule':_0x44ff01[_0x17628c(0x1ea)],'population':_0x44ff01[_0x17628c(0x1fd)],'numSyndications':_0x44ff01[_0x17628c(0x1f4)],'status':_0x44ff01[_0x17628c(0x21e)],'createdAt':_0x44ff01[_0x17628c(0x1ee)],'updatedAt':_0x44ff01['updatedAt']});}}});return await Promise[_0x1c1602(0x200)](_0x28776e),_0x362110;}[a100_0xea16ee(0x21a)](_0x560b68){const _0x152d8c=a100_0xea16ee,_0x5512b5=_0x560b68[_0x152d8c(0x222)]||{},_0x3e1acb=_0x560b68[_0x152d8c(0x1f7)];return{'id':_0x560b68['id'],'name':_0x5512b5[_0x152d8c(0x210)],'description':_0x5512b5['description'],'composableAudienceId':_0x5512b5[_0x152d8c(0x219)],'folderId':_0x3e1acb?.[_0x152d8c(0x20f)]?.[_0x152d8c(0x205)]?.['id'],'rule':_0x5512b5['rule'],'population':_0x5512b5['population'],'numSyndications':_0x5512b5[_0x152d8c(0x1f4)],'createdAt':_0x5512b5[_0x152d8c(0x1ee)],'updatedAt':_0x5512b5[_0x152d8c(0x1ce)]};}async[a100_0xea16ee(0x1f3)](_0x4de78d){const _0x3ccbbc=a100_0xea16ee,_0x1b74de=await this['httpClient'][_0x3ccbbc(0x1d2)](_0x3ccbbc(0x21d),'/entities/composable_segments/'+_0x4de78d);return this[_0x3ccbbc(0x21a)](_0x1b74de['data']);}async[a100_0xea16ee(0x217)](_0x33e158){const _0x46e294=a100_0xea16ee,_0x144de0=await this[_0x46e294(0x1db)][_0x46e294(0x1d2)]('POST',_0x46e294(0x213),{'body':_0x33e158});return this['jsonApiSegmentToFlat'](_0x144de0[_0x46e294(0x205)]);}async[a100_0xea16ee(0x221)](_0x46feef,_0x21f340){const _0x592697=a100_0xea16ee,_0x3c5917=await this[_0x592697(0x1db)][_0x592697(0x1d2)](_0x592697(0x20e),_0x592697(0x1d0)+_0x46feef,{'body':_0x21f340});return this[_0x592697(0x21a)](_0x3c5917[_0x592697(0x205)]);}async[a100_0xea16ee(0x1fe)](_0x564f89){const _0x498dd9=a100_0xea16ee;await this[_0x498dd9(0x1db)][_0x498dd9(0x1d2)](_0x498dd9(0x1e6),_0x498dd9(0x1d0)+_0x564f89);}['jsonApiActivationToFlat'](_0x8a1252,_0x5da838){const _0x4a847d=a100_0xea16ee,_0x3067b9=_0x8a1252[_0x4a847d(0x222)]||{};return{'id':_0x8a1252['id'],'composableSegmentId':_0x5da838,'name':_0x3067b9[_0x4a847d(0x210)],'description':_0x3067b9[_0x4a847d(0x20c)]??undefined,'connectionId':_0x3067b9[_0x4a847d(0x20a)],'connectorConfig':_0x3067b9['connectorConfig'],'columns':_0x3067b9['columns']??undefined,'allColumns':_0x3067b9['allColumns'],'scheduleType':_0x3067b9[_0x4a847d(0x1dd)],'timezone':_0x3067b9[_0x4a847d(0x20b)],'startAt':_0x3067b9[_0x4a847d(0x1f8)],'endOn':_0x3067b9[_0x4a847d(0x1f1)],'repeatUnit':_0x3067b9[_0x4a847d(0x224)],'repeatFrequency':_0x3067b9[_0x4a847d(0x203)],'notifyOn':_0x3067b9['notifyOn'],'emailRecipients':_0x3067b9[_0x4a847d(0x21f)],'createdAt':_0x3067b9[_0x4a847d(0x1ee)],'updatedAt':_0x3067b9[_0x4a847d(0x1ce)]};}async[a100_0xea16ee(0x1d9)](_0x2ca1c2){const _0x7101ac=a100_0xea16ee,_0x57d1ec=await this[_0x7101ac(0x1db)][_0x7101ac(0x1d2)](_0x7101ac(0x21d),_0x7101ac(0x1d0)+_0x2ca1c2+_0x7101ac(0x1ec));return(_0x57d1ec[_0x7101ac(0x205)]||[])[_0x7101ac(0x1ff)](_0x2279be=>this[_0x7101ac(0x1e4)](_0x2279be,_0x2ca1c2));}async['createActivation'](_0x54b650,_0x29757a){const _0x4cb1a6=a100_0xea16ee,_0x1e4e97=await this[_0x4cb1a6(0x1db)][_0x4cb1a6(0x1d2)](_0x4cb1a6(0x1e8),'/entities/composable_segments/'+_0x54b650+_0x4cb1a6(0x1ec),{'body':{'type':'syndication','attributes':_0x29757a}});return this[_0x4cb1a6(0x1e4)](_0x1e4e97[_0x4cb1a6(0x205)],_0x54b650);}async['getActivation'](_0xaec54f,_0x4acb45){const _0x2b31a1=a100_0xea16ee,_0x10ce24=await this['httpClient'][_0x2b31a1(0x1d2)](_0x2b31a1(0x21d),_0x2b31a1(0x1d0)+_0xaec54f+'/activations/'+_0x4acb45);return this[_0x2b31a1(0x1e4)](_0x10ce24[_0x2b31a1(0x205)],_0xaec54f);}async[a100_0xea16ee(0x202)](_0x5b1931,_0x3b9c35,_0x283e9d){const _0x28e94f=a100_0xea16ee,_0x58e27e=await this[_0x28e94f(0x1db)]['request']('PUT','/entities/composable_segments/'+_0x5b1931+_0x28e94f(0x1e2)+_0x3b9c35,{'body':{'type':_0x28e94f(0x1de),'attributes':_0x283e9d}});return this[_0x28e94f(0x1e4)](_0x58e27e[_0x28e94f(0x205)],_0x5b1931);}async['deleteActivation'](_0x10ec94,_0x4b036a){const _0x421e84=a100_0xea16ee;await this['httpClient']['request'](_0x421e84(0x1e6),'/entities/composable_segments/'+_0x10ec94+_0x421e84(0x1e2)+_0x4b036a);}async[a100_0xea16ee(0x208)](_0x36c10d){const _0x25dd1e=a100_0xea16ee,_0x292fcf=new Map(),_0x5077bf=_0x36c10d[_0x25dd1e(0x1ff)](async _0x1c2f53=>{const _0x5e4169=_0x25dd1e,_0x45636c=await this['listActivations'](_0x1c2f53['id']);_0x292fcf[_0x5e4169(0x204)](_0x1c2f53['id'],_0x45636c);});return await Promise[_0x25dd1e(0x200)](_0x5077bf),_0x292fcf;}async[a100_0xea16ee(0x1d4)](_0x1bdf1a){const _0x3aaa00=a100_0xea16ee,_0x7425f3=await this[_0x3aaa00(0x1db)][_0x3aaa00(0x1d2)](_0x3aaa00(0x21d),'/composable_audiences/'+_0x1bdf1a+'/folders'),_0x25c7ef=Array[_0x3aaa00(0x1dc)](_0x7425f3)?_0x7425f3:_0x7425f3['data'];return(_0x25c7ef||[])[_0x3aaa00(0x1ff)](_0x40ae27=>({..._0x40ae27,'composableAudienceId':_0x1bdf1a}));}async[a100_0xea16ee(0x211)](_0x40623a,_0x5d08b0){const _0x576f6a=a100_0xea16ee,_0x6fa9bb={'type':_0x576f6a(0x1fa),'attributes':{'name':_0x5d08b0[_0x576f6a(0x210)],'description':_0x5d08b0[_0x576f6a(0x20c)]??''},'relationships':{'parentFolder':{'data':{'id':_0x5d08b0[_0x576f6a(0x1fc)],'type':_0x576f6a(0x1fa)}}}},_0x3d7756=await this[_0x576f6a(0x1db)][_0x576f6a(0x1d2)](_0x576f6a(0x1e8),'/entities/folders',{'body':_0x6fa9bb,'headers':{'Content-Type':_0x576f6a(0x1f0)}});return{'id':_0x3d7756[_0x576f6a(0x205)]['id'],'name':_0x3d7756['data'][_0x576f6a(0x222)][_0x576f6a(0x210)],'parentFolderId':_0x3d7756[_0x576f6a(0x205)][_0x576f6a(0x1f7)]?.[_0x576f6a(0x20f)]?.[_0x576f6a(0x205)]?.['id'],'composableAudienceId':_0x40623a};}async['listEntitiesByFolder'](_0x3c11d4){const _0x21fbb9=a100_0xea16ee,_0x234c44=await this['httpClient']['request'](_0x21fbb9(0x21d),_0x21fbb9(0x1e5)+_0x3c11d4);return _0x234c44[_0x21fbb9(0x205)]||[];}async['previewSegment'](_0x52b020,_0x482c1d){const _0x341e55=a100_0xea16ee,_0x5c22dd=await this[_0x341e55(0x1db)]['request'](_0x341e55(0x1e8),_0x341e55(0x21c)+_0x52b020+_0x341e55(0x1f9),{'body':{'rule':_0x482c1d}});return _0x5c22dd;}async[a100_0xea16ee(0x1e7)](_0x4c29cf,_0x50840d){const _0x497089=a100_0xea16ee;return await this[_0x497089(0x1db)][_0x497089(0x1d2)](_0x497089(0x21d),'/composable_audiences/'+_0x4c29cf+_0x497089(0x1d6)+_0x50840d);}async[a100_0xea16ee(0x215)](_0x3a0237,_0xc25d11){const _0x1a7e5e=a100_0xea16ee;return await this['httpClient'][_0x1a7e5e(0x1d2)](_0x1a7e5e(0x21d),'/composable_audiences/'+_0x3a0237+'/segments/queries/'+_0xc25d11+_0x1a7e5e(0x1f2));}async[a100_0xea16ee(0x1d8)](_0x233eb3){const _0x129e07=a100_0xea16ee;return await this[_0x129e07(0x1db)][_0x129e07(0x1d2)](_0x129e07(0x21d),'/entities/composable_segments/'+_0x233eb3+_0x129e07(0x20d));}}function a100_0x154b(){const _0xf37042=['folder-segment','apiKey','parentFolderId','population','deleteSegment','map','all','has','updateActivation','repeatFrequency','set','data','updateComposableAudience','/composable_audiences','listAllActivations','5777892LeDTxS','connectionId','timezone','description','/statistics','PUT','parentFolder','name','createFolder','2CAqmHg','/entities/composable_segments','17623850KkLmPR','getPreviewCustomers','length','createSegment','listComposableAudiences','composableAudienceId','jsonApiSegmentToFlat','5284obSeYV','/composable_audiences/','GET','status','emailRecipients','getComposableAudience','updateSegment','attributes','deleteComposableAudience','repeatUnit','updatedAt','999627SCBBgn','/entities/composable_segments/','site','request','534mKHeLV','listFolders','cas','/segments/queries/','createComposableAudience','getSegmentStatistics','listActivations','218761dSkjRV','httpClient','isArray','scheduleType','syndication','6823160wTluDQ','application/json','listSegments','/activations/','57554POkstB','jsonApiActivationToFlat','/entities/by-folder/','DELETE','getPreviewQuery','POST','accessToken','rule','listEntitiesByFolder','/activations','timeout','createdAt','composable-segment','application/vnd.treasuredata.v1+json','endOn','/customers','getSegment','numSyndications','2995kyLNRC','add','relationships','startAt','/segments/queries'];a100_0x154b=function(){return _0xf37042;};return a100_0x154b();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a101_0x49c771=a101_0xeb76;(function(_0x42a43e,_0x3f08af){const _0xaebef9=a101_0xeb76,_0x25815a=_0x42a43e();while(!![]){try{const _0x47a2bd=-parseInt(_0xaebef9(0x166))/0x1+-parseInt(_0xaebef9(0x169))/0x2*(parseInt(_0xaebef9(0x16f))/0x3)+-parseInt(_0xaebef9(0x162))/0x4+parseInt(_0xaebef9(0x163))/0x5+-parseInt(_0xaebef9(0x15b))/0x6*(-parseInt(_0xaebef9(0x175))/0x7)+parseInt(_0xaebef9(0x173))/0x8+parseInt(_0xaebef9(0x16e))/0x9;if(_0x47a2bd===_0x3f08af)break;else _0x25815a['push'](_0x25815a['shift']());}catch(_0x3a2481){_0x25815a['push'](_0x25815a['shift']());}}}(a101_0x5984,0xdb78a));import{z}from'zod';export const CASIonTypeSchema=z[a101_0x49c771(0x15f)]([a101_0x49c771(0x15a),a101_0x49c771(0x160),'timestamp',a101_0x49c771(0x171),'date',a101_0x49c771(0x16a),'number_array']);export const CASJoinDefSchema=z[a101_0x49c771(0x158)]({'table_key':z[a101_0x49c771(0x15a)]()[a101_0x49c771(0x16c)](0x1,a101_0x49c771(0x161)),'master_key':z[a101_0x49c771(0x15a)]()[a101_0x49c771(0x16c)](0x1,a101_0x49c771(0x164))});export const CASMasterDefSchema=z[a101_0x49c771(0x158)]({'connection':z[a101_0x49c771(0x15a)]()[a101_0x49c771(0x16c)](0x1,a101_0x49c771(0x15c)),'catalog':z[a101_0x49c771(0x15a)]()[a101_0x49c771(0x165)](),'schema':z['string']()[a101_0x49c771(0x16c)](0x1,a101_0x49c771(0x16d)),'table':z[a101_0x49c771(0x15a)]()[a101_0x49c771(0x16c)](0x1,a101_0x49c771(0x167)),'key_column':z[a101_0x49c771(0x15a)]()[a101_0x49c771(0x16c)](0x1,'key_column\x20is\x20required')});export const CASAttributeDefSchema=z['object']({'name':z[a101_0x49c771(0x15a)]()[a101_0x49c771(0x16c)](0x1,'attribute\x20name\x20is\x20required'),'connection':z[a101_0x49c771(0x15a)]()[a101_0x49c771(0x16c)](0x1,'connection\x20is\x20required'),'schema':z['string']()[a101_0x49c771(0x16c)](0x1,'schema\x20is\x20required'),'table':z[a101_0x49c771(0x15a)]()[a101_0x49c771(0x16c)](0x1,a101_0x49c771(0x167)),'join':CASJoinDefSchema,'column':z[a101_0x49c771(0x15a)]()['min'](0x1,a101_0x49c771(0x176)),'type':CASIonTypeSchema});function a101_0xeb76(_0x58cd52,_0x54b0e9){_0x58cd52=_0x58cd52-0x158;const _0x5984f8=a101_0x5984();let _0xeb7652=_0x5984f8[_0x58cd52];return _0xeb7652;}export const CASBehaviorColumnDefSchema=z[a101_0x49c771(0x158)]({'name':z[a101_0x49c771(0x15a)]()['min'](0x1,a101_0x49c771(0x16b)),'type':CASIonTypeSchema,'column':z[a101_0x49c771(0x15a)]()[a101_0x49c771(0x16c)](0x1,a101_0x49c771(0x174))});export const CASBehaviorDefSchema=z[a101_0x49c771(0x158)]({'name':z[a101_0x49c771(0x15a)]()[a101_0x49c771(0x16c)](0x1,a101_0x49c771(0x168)),'connection':z[a101_0x49c771(0x15a)]()['min'](0x1,a101_0x49c771(0x15c)),'schema':z[a101_0x49c771(0x15a)]()[a101_0x49c771(0x16c)](0x1,a101_0x49c771(0x16d)),'table':z['string']()[a101_0x49c771(0x16c)](0x1,a101_0x49c771(0x167)),'join':CASJoinDefSchema,'time_column':z[a101_0x49c771(0x15a)]()[a101_0x49c771(0x16c)](0x1,a101_0x49c771(0x172)),'all_columns':z[a101_0x49c771(0x171)]()[a101_0x49c771(0x165)](),'columns':z[a101_0x49c771(0x15e)](CASBehaviorColumnDefSchema)[a101_0x49c771(0x165)]()});export const ComposableAudienceDefSchema=z['object']({'name':z[a101_0x49c771(0x15a)]()['min'](0x1,'Audience\x20name\x20is\x20required'),'description':z[a101_0x49c771(0x15a)]()[a101_0x49c771(0x165)](),'timezone':z[a101_0x49c771(0x15a)]()[a101_0x49c771(0x165)](),'allow_activation_behavior':z[a101_0x49c771(0x171)]()[a101_0x49c771(0x165)](),'max_activation_behavior_row':z[a101_0x49c771(0x160)]()[a101_0x49c771(0x170)]()[a101_0x49c771(0x16c)](0x1)[a101_0x49c771(0x159)](0x14)[a101_0x49c771(0x165)](),'master':CASMasterDefSchema,'attributes':z[a101_0x49c771(0x15e)](CASAttributeDefSchema)[a101_0x49c771(0x16c)](0x1,a101_0x49c771(0x15d)),'behaviors':z['array'](CASBehaviorDefSchema)[a101_0x49c771(0x165)]()});function a101_0x5984(){const _0x4a245c=['2017563cvsLhi','int','boolean','time_column\x20is\x20required','2373888CIqdnL','source\x20column\x20is\x20required','287jDRlux','column\x20is\x20required','object','max','string','116202pDwrvm','connection\x20is\x20required','At\x20least\x20one\x20attribute\x20is\x20required','array','enum','number','table_key\x20is\x20required','5240020AhiTvk','1867670YpYnCB','master_key\x20is\x20required','optional','1609610oEZcHH','table\x20is\x20required','behavior\x20name\x20is\x20required','2Fgaioc','string_array','column\x20name\x20is\x20required','min','schema\x20is\x20required','27240957vUzzcB'];a101_0x5984=function(){return _0x4a245c;};return a101_0x5984();}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x443f66,_0x48d5c5){const _0x3dfb23=a102_0x59fa,_0x30c4c6=_0x443f66();while(!![]){try{const _0x48cf26=parseInt(_0x3dfb23(0x131))/0x1+parseInt(_0x3dfb23(0x157))/0x2*(-parseInt(_0x3dfb23(0x136))/0x3)+-parseInt(_0x3dfb23(0x14f))/0x4*(-parseInt(_0x3dfb23(0x15d))/0x5)+parseInt(_0x3dfb23(0x126))/0x6+-parseInt(_0x3dfb23(0x154))/0x7*(-parseInt(_0x3dfb23(0x137))/0x8)+-parseInt(_0x3dfb23(0x144))/0x9*(-parseInt(_0x3dfb23(0x146))/0xa)+-parseInt(_0x3dfb23(0x127))/0xb;if(_0x48cf26===_0x48d5c5)break;else _0x30c4c6['push'](_0x30c4c6['shift']());}catch(_0x706377){_0x30c4c6['push'](_0x30c4c6['shift']());}}}(a102_0x192c,0x94d57));import{ComposableAudienceDefSchema}from'./cas-audience-schema.js';import{CATALOG_PLATFORMS,SUPPORTED_PLATFORMS,connectorBaseType,isSnowflakeConnectorNameMisuse}from'./cas-audience-yaml.js';function a102_0x192c(){const _0x5b665d=['message',']).\x20','CAS_UNSUPPORTED_CONNECTION_TYPE','connectionNameToId','\x22\x20matches\x20a\x20registered\x20connector\x20name,\x20which\x20isn\x27t\x20valid\x20here\x20—\x20run\x20`tdx\x20cas\x20pull`\x20on\x20an\x20existing\x20Snowflake\x20composable\x20audience\x20to\x20see\x20the\x20ID\x20format\x20expected\x20(e.g.\x20\x22204\x22).','behavior','\x22\x20for\x20connection\x20\x22','skipSchema','behaviors[','path','9yEXuWs','level','11744870TEXIBt','issues','safeParse','Behavior','attributes[','Unsupported\x20CDW\x20connection\x20type\x20\x22','symbol','attribute','name','81596xdeaWN','has','catalog','CAS_SCHEMA_ERROR','attributes','5559015naDcxJ','connection','Attribute','10lgPatV','success','\x22).','\x22\x20needs\x20either\x20\x22all_columns:\x20true\x22\x20or\x20a\x20non-empty\x20\x22columns\x22\x20list\x20—\x20the\x20backend\x20rejects\x20a\x20behavior\x20with\x20neither.','get','document','50LezVfX','].connection','all_columns','\x22.\x20Supported:\x20snowflake,\x20databricks,\x20bigquery.','forEach','source','1650420EaqeRq','22460669HVPsaV','replace','CAS_SNOWFLAKE_CONNECTOR_NAME_MISUSE','error','behaviors','\x20name\x20\x22','map','length','master','data','501590wpDcsT','catalog\x20is\x20required\x20for\x20\x22','\x22\x20is\x20duplicated\x20(first\x20defined\x20at\x20','.catalog','push','178668MsaWLz','8RoMboY','filter','connectionIdToType'];a102_0x192c=function(){return _0x5b665d;};return a102_0x192c();}import{formatZodPath,flattenZodIssues,getLocationFromPath,pathToArray}from'../segment/yaml-validator.js';export function validateComposableAudienceDef(_0x2ed0d1,_0x10a42f={},_0x55b14d={}){const _0x56b435=a102_0x59fa;if(_0x55b14d[_0x56b435(0x141)])return runSemanticChecks(_0x2ed0d1,_0x10a42f,_0x55b14d);const _0x390d5f=ComposableAudienceDefSchema[_0x56b435(0x148)](_0x2ed0d1);if(_0x390d5f[_0x56b435(0x158)])return runSemanticChecks(_0x390d5f[_0x56b435(0x130)],_0x10a42f,_0x55b14d);return zodErrorsToValidationResult(_0x390d5f[_0x56b435(0x12a)],_0x10a42f);}function zodErrorsToValidationResult(_0x28a89f,_0x3422e6){const _0x1809de=a102_0x59fa,_0x115939=flattenZodIssues(_0x28a89f[_0x1809de(0x147)]),_0x3a6785=_0x115939['map'](_0x5a334e=>{const _0xb43fd5=_0x1809de,_0x6d6835=formatZodPath(_0x5a334e[_0xb43fd5(0x143)]),_0x4ef489=getLocationFromPath(_0x3422e6[_0xb43fd5(0x15c)],_0x3422e6[_0xb43fd5(0x125)],_0x5a334e[_0xb43fd5(0x143)][_0xb43fd5(0x12d)](_0x772567=>typeof _0x772567===_0xb43fd5(0x14c)?String(_0x772567):_0x772567));return{'level':_0xb43fd5(0x12a),'path':_0x6d6835,'code':_0xb43fd5(0x152),'message':_0x5a334e[_0xb43fd5(0x13a)],..._0x4ef489&&{'location':_0x4ef489}};});return{'valid':![],'errors':_0x3a6785,'warnings':[]};}function runSemanticChecks(_0x4e354a,_0x3ac756,_0x4d0e0a){const _0x564fd8=a102_0x59fa,_0x241541=[...checkDuplicateNames(_0x4e354a,_0x3ac756),...checkBehaviorColumns(_0x4e354a,_0x3ac756)];(_0x4d0e0a['connectionNameToType']||_0x4d0e0a[_0x564fd8(0x139)])&&_0x241541[_0x564fd8(0x135)](...checkConnections(_0x4e354a,_0x4d0e0a['connectionNameToType']??new Map(),_0x4d0e0a[_0x564fd8(0x139)]??new Map(),_0x4d0e0a[_0x564fd8(0x13d)]??new Map(),_0x3ac756));const _0x4e197f=_0x241541[_0x564fd8(0x138)](_0x176304=>_0x176304[_0x564fd8(0x145)]===_0x564fd8(0x12a)),_0x513e0c=_0x241541[_0x564fd8(0x138)](_0x234d6e=>_0x234d6e['level']==='warning');return{'valid':_0x4e197f['length']===0x0,'errors':_0x4e197f,'warnings':_0x513e0c};}function a102_0x59fa(_0x5ee486,_0x5cb9c9){_0x5ee486=_0x5ee486-0x124;const _0x192cd3=a102_0x192c();let _0x59fac6=_0x192cd3[_0x5ee486];return _0x59fac6;}function checkDuplicateNames(_0x332c02,_0x374303){const _0x52d766=a102_0x59fa,_0x4f8eaa=[],_0x3e497c=(_0x549a9b,_0x4ca713,_0x1a9319,_0x42fa91)=>{const _0x58d842=a102_0x59fa;if(!_0x549a9b?.[_0x58d842(0x12e)])return;const _0x107c60=new Map();_0x549a9b[_0x58d842(0x124)]((_0x4c7565,_0x306665)=>{const _0x1ac3b8=_0x58d842,_0x2de79b=_0x107c60[_0x1ac3b8(0x15b)](_0x4c7565[_0x1ac3b8(0x14e)]);if(_0x2de79b!==undefined){const _0x5367ff=_0x42fa91+'['+_0x306665+'].name';_0x4f8eaa['push']({'level':_0x1ac3b8(0x12a),'path':_0x5367ff,'code':_0x1a9319,'message':(_0x4ca713===_0x1ac3b8(0x14d)?_0x1ac3b8(0x156):_0x1ac3b8(0x149))+_0x1ac3b8(0x12c)+_0x4c7565['name']+_0x1ac3b8(0x133)+_0x42fa91+'['+_0x2de79b+_0x1ac3b8(0x13b)+(_0x4ca713===_0x1ac3b8(0x14d)?_0x1ac3b8(0x156):_0x1ac3b8(0x149))+'\x20names\x20must\x20be\x20unique\x20within\x20an\x20audience.','location':getLocationFromPath(_0x374303['document'],_0x374303[_0x1ac3b8(0x125)],pathToArray(_0x5367ff))});}else _0x107c60['set'](_0x4c7565['name'],_0x306665);});};return _0x3e497c(_0x332c02[_0x52d766(0x153)],'attribute','CAS_DUPLICATE_ATTRIBUTE_NAME',_0x52d766(0x153)),_0x3e497c(_0x332c02[_0x52d766(0x12b)],_0x52d766(0x13f),'CAS_DUPLICATE_BEHAVIOR_NAME','behaviors'),_0x4f8eaa;}function checkBehaviorColumns(_0x2876cd,_0x29c294){const _0x27885e=a102_0x59fa,_0x2d2336=[];return _0x2876cd[_0x27885e(0x12b)]?.[_0x27885e(0x124)]((_0x15c5de,_0x5de286)=>{const _0x1f24a9=_0x27885e;if(_0x15c5de[_0x1f24a9(0x15f)]||_0x15c5de['columns']?.[_0x1f24a9(0x12e)])return;const _0x22bac7='behaviors['+_0x5de286+']';_0x2d2336[_0x1f24a9(0x135)]({'level':'error','path':_0x22bac7,'code':'CAS_BEHAVIOR_MISSING_COLUMNS','message':'Behavior\x20\x22'+_0x15c5de['name']+_0x1f24a9(0x15a),'location':getLocationFromPath(_0x29c294[_0x1f24a9(0x15c)],_0x29c294[_0x1f24a9(0x125)],pathToArray(_0x22bac7))});}),_0x2d2336;}function checkConnections(_0x31f1eb,_0x4090b4,_0x1ac9e8,_0x29a7a3,_0x5b82a5){const _0x2a6e16=a102_0x59fa,_0x16883e=[],_0x21ebfe=(_0xa3ea1c,_0x39d004,_0x4e5622)=>{const _0x386eea=a102_0x59fa,_0x18052b=_0x4090b4[_0x386eea(0x15b)](_0xa3ea1c)||_0x1ac9e8['get'](_0xa3ea1c);if(!_0x18052b)return;const _0x573b4d=connectorBaseType(_0x18052b);if(!SUPPORTED_PLATFORMS[_0x386eea(0x150)](_0x573b4d)){_0x16883e[_0x386eea(0x135)]({'level':_0x386eea(0x12a),'path':_0x39d004,'code':_0x386eea(0x13c),'message':_0x386eea(0x14b)+_0x18052b+_0x386eea(0x140)+_0xa3ea1c+_0x386eea(0x160),'location':getLocationFromPath(_0x5b82a5['document'],_0x5b82a5[_0x386eea(0x125)],pathToArray(_0x39d004))});return;}if(isSnowflakeConnectorNameMisuse(_0x573b4d,_0xa3ea1c,_0x29a7a3)){_0x16883e[_0x386eea(0x135)]({'level':_0x386eea(0x12a),'path':_0x39d004,'code':_0x386eea(0x129),'message':'Snowflake\x20composable\x20audiences\x20use\x20a\x20federated\x20query\x20config\x20(zero-copy\x20config)\x20ID\x20for\x20\x22connection\x22,\x20not\x20a\x20connector\x20name.\x20\x22'+_0xa3ea1c+_0x386eea(0x13e),'location':getLocationFromPath(_0x5b82a5[_0x386eea(0x15c)],_0x5b82a5[_0x386eea(0x125)],pathToArray(_0x39d004))});return;}if(_0x4e5622!==undefined&&CATALOG_PLATFORMS[_0x386eea(0x150)](_0x573b4d)&&!_0x4e5622){const _0x159b78=_0x39d004[_0x386eea(0x128)](/\.connection$/,_0x386eea(0x134));_0x16883e[_0x386eea(0x135)]({'level':_0x386eea(0x12a),'path':_0x159b78,'code':'CAS_MISSING_CATALOG','message':_0x386eea(0x132)+_0x573b4d+'\x22\x20connections\x20(connection\x20\x22'+_0xa3ea1c+_0x386eea(0x159),'location':getLocationFromPath(_0x5b82a5[_0x386eea(0x15c)],_0x5b82a5[_0x386eea(0x125)],pathToArray(_0x159b78))});}};return _0x21ebfe(_0x31f1eb[_0x2a6e16(0x12f)][_0x2a6e16(0x155)],'master.connection',_0x31f1eb[_0x2a6e16(0x12f)][_0x2a6e16(0x151)]??''),_0x31f1eb['attributes']?.[_0x2a6e16(0x124)]((_0x36a98a,_0x1adb6f)=>{const _0x4c4339=_0x2a6e16;_0x21ebfe(_0x36a98a[_0x4c4339(0x155)],_0x4c4339(0x14a)+_0x1adb6f+_0x4c4339(0x15e));}),_0x31f1eb['behaviors']?.[_0x2a6e16(0x124)]((_0x36eb88,_0x5a4c63)=>{const _0x3a1b48=_0x2a6e16;_0x21ebfe(_0x36eb88[_0x3a1b48(0x155)],_0x3a1b48(0x142)+_0x5a4c63+'].connection');}),_0x16883e;}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
function a103_0x12b4(){const _0x5b5942=['join','snowflake','cdwColumn','get','timeColumn','behaviors','\x22\x20needs\x20either\x20\x22all_columns:\x20true\x22\x20or\x20a\x20non-empty\x20\x22columns\x22\x20list\x20(set\x20columns\x20in\x20the\x20audience\x20YAML,\x20or\x20all_columns:\x20true\x20to\x20expose\x20every\x20column).','master','\x22\x20matches\x20a\x20registered\x20connector\x20name,\x20which\x20isn\x27t\x20valid\x20here\x20—\x20zero-copy\x20config\x20IDs\x20are\x20a\x20separate\x20resource,\x20never\x20listed\x20by\x20`tdx\x20connections`.\x20You\x20can\x20find\x20it\x20in\x20the\x20configuration\x20details\x20within\x20the\x20Integration\x20Hub.\x20Use\x20the\x20first\x20three\x20numbers\x20as\x20the\x20`federatedQueryConfigId`\x20(e.g.\x20\x22204\x22).','\x22).','masterKeyColumn','key_column','master_key','allow_activation_behavior','databricks','6MhGIwq','maxActivationBehaviorRow','636892PONCLr','columns','4503008VkQwAB','timezone','allColumns','9GZVbHw','time_column','table_key','parse','all_columns','catalog','type','tableKey','has','connection','\x22\x20(connection\x20\x22','masterKey','schema','columnMapping','1261480puZeig','replace','INVALID_ARGUMENT','841631wbbmVC','1410028xtcEPM','6sIWJRa','Unsupported\x20CDW\x20connection\x20type\x20for\x20composable\x20audience:\x20\x22','connectionId','\x22).\x20Supported:\x20snowflake,\x20databricks,\x20bigquery.','federatedQueryConfigId','table','bigquery','name','description','length','attributes','allowActivationBehavior','catalog\x20is\x20required\x20for\x20\x22','map','column','681466qbqkzD','masterCatalog','5714330ERZqUC','max_activation_behavior_row'];a103_0x12b4=function(){return _0x5b5942;};return a103_0x12b4();}const a103_0x3b2e41=a103_0x1d28;function a103_0x1d28(_0x53b274,_0x2c9347){_0x53b274=_0x53b274-0x1c1;const _0x12b471=a103_0x12b4();let _0x1d2825=_0x12b471[_0x53b274];return _0x1d2825;}(function(_0x22155a,_0x49df18){const _0x2050b9=a103_0x1d28,_0x437151=_0x22155a();while(!![]){try{const _0x52f7fa=parseInt(_0x2050b9(0x1d5))/0x1+-parseInt(_0x2050b9(0x1fc))/0x2+parseInt(_0x2050b9(0x1ed))/0x3*(-parseInt(_0x2050b9(0x1ec))/0x4)+-parseInt(_0x2050b9(0x1e8))/0x5+-parseInt(_0x2050b9(0x1d3))/0x6*(parseInt(_0x2050b9(0x1eb))/0x7)+parseInt(_0x2050b9(0x1d7))/0x8+parseInt(_0x2050b9(0x1da))/0x9*(parseInt(_0x2050b9(0x1c2))/0xa);if(_0x52f7fa===_0x49df18)break;else _0x437151['push'](_0x437151['shift']());}catch(_0x5a44fc){_0x437151['push'](_0x437151['shift']());}}}(a103_0x12b4,0x5629d));import*as a103_0x8120fe from'yaml';import{SDKError,ErrorCode}from'../errors.js';export const CATALOG_PLATFORMS=new Set(['databricks','bigquery']);export const SUPPORTED_PLATFORMS=new Set([a103_0x3b2e41(0x1c5),a103_0x3b2e41(0x1d2),a103_0x3b2e41(0x1f3)]);export function connectorBaseType(_0x4015d3){const _0x24bb3e=a103_0x3b2e41;return _0x4015d3['toLowerCase']()[_0x24bb3e(0x1e9)](/_v\d+$/,'');}export function isSnowflakeConnectorNameMisuse(_0x53c15b,_0x14cba2,_0x412f19){const _0x205bf6=a103_0x3b2e41;return _0x53c15b===_0x205bf6(0x1c5)&&_0x412f19[_0x205bf6(0x1e2)](_0x14cba2);}function resolveConnectionRef(_0x349f1f,_0x1f1a5e,_0x1d3b63,_0xa3c051){const _0x2b09a6=a103_0x3b2e41,_0x3a1e48=_0x1f1a5e[_0x2b09a6(0x1c7)](_0x349f1f)||_0x349f1f,_0x1dbd32=_0x1d3b63[_0x2b09a6(0x1c7)](_0x349f1f)||_0xa3c051[_0x2b09a6(0x1c7)](_0x349f1f)||'',_0x440c40=connectorBaseType(_0x1dbd32);if(_0x440c40&&!SUPPORTED_PLATFORMS[_0x2b09a6(0x1e2)](_0x440c40))throw new SDKError(ErrorCode[_0x2b09a6(0x1ea)],_0x2b09a6(0x1ee)+_0x1dbd32+_0x2b09a6(0x1e4)+_0x349f1f+_0x2b09a6(0x1f0));if(isSnowflakeConnectorNameMisuse(_0x440c40,_0x349f1f,_0x1f1a5e))throw new SDKError(ErrorCode[_0x2b09a6(0x1ea)],'Snowflake\x20composable\x20audiences\x20use\x20a\x20federated\x20query\x20config\x20(zero-copy\x20config)\x20ID\x20for\x20\x22connection\x22,\x20not\x20a\x20connector\x20name.\x20\x22'+_0x349f1f+_0x2b09a6(0x1cc));if(CATALOG_PLATFORMS[_0x2b09a6(0x1e2)](_0x440c40))return{'connectionId':_0x3a1e48,'type':_0x440c40};return{'federatedQueryConfigId':_0x3a1e48,'type':_0x440c40};}export function apiToDef(_0x425d7e,_0x5043ba){const _0x569f0a=a103_0x3b2e41,_0x445f45=_0x22c7e5=>{const _0x2abcfa=a103_0x1d28;if(!_0x22c7e5)return'';return _0x5043ba[_0x2abcfa(0x1c7)](_0x22c7e5)||_0x22c7e5;},_0x438bc5={'name':_0x425d7e['name'],..._0x425d7e[_0x569f0a(0x1f5)]&&{'description':_0x425d7e[_0x569f0a(0x1f5)]},..._0x425d7e[_0x569f0a(0x1d8)]&&{'timezone':_0x425d7e[_0x569f0a(0x1d8)]},..._0x425d7e[_0x569f0a(0x1f8)]!=null&&{'allow_activation_behavior':_0x425d7e[_0x569f0a(0x1f8)]},..._0x425d7e['maxActivationBehaviorRow']!=null&&{'max_activation_behavior_row':_0x425d7e[_0x569f0a(0x1d4)]},'master':{'connection':_0x445f45(_0x425d7e[_0x569f0a(0x1ef)]??_0x425d7e[_0x569f0a(0x1f1)]),..._0x425d7e['masterCatalog']&&{'catalog':_0x425d7e[_0x569f0a(0x1c1)]},'schema':_0x425d7e['masterSchema'],'table':_0x425d7e['masterTable'],'key_column':_0x425d7e[_0x569f0a(0x1ce)]}};return _0x425d7e[_0x569f0a(0x1f7)]?.['length']&&(_0x438bc5[_0x569f0a(0x1f7)]=_0x425d7e[_0x569f0a(0x1f7)][_0x569f0a(0x1fa)](_0x5aecf3=>apiAttributeToDef(_0x5aecf3,_0x5043ba))),_0x425d7e[_0x569f0a(0x1c9)]?.[_0x569f0a(0x1f6)]&&(_0x438bc5[_0x569f0a(0x1c9)]=_0x425d7e[_0x569f0a(0x1c9)][_0x569f0a(0x1fa)](_0x5bbccf=>apiBehaviorToDef(_0x5bbccf,_0x5043ba))),_0x438bc5;}function apiAttributeToDef(_0x1220e5,_0x378993){const _0x3fe764=a103_0x3b2e41,_0x2a8bff=_0x1220e5[_0x3fe764(0x1ef)]??_0x1220e5[_0x3fe764(0x1f1)],_0x51c7cf=_0x378993[_0x3fe764(0x1c7)](_0x2a8bff||'')||_0x2a8bff||'';return{'name':_0x1220e5[_0x3fe764(0x1f4)],'connection':_0x51c7cf,'schema':_0x1220e5['schema'],'table':_0x1220e5[_0x3fe764(0x1f2)],'join':{'table_key':_0x1220e5[_0x3fe764(0x1e1)],'master_key':_0x1220e5[_0x3fe764(0x1e5)]},'column':_0x1220e5[_0x3fe764(0x1fb)],'type':_0x1220e5[_0x3fe764(0x1e0)]};}function apiBehaviorToDef(_0x20538e,_0x324504){const _0xc460f3=a103_0x3b2e41,_0x20d730=_0x20538e[_0xc460f3(0x1ef)]??_0x20538e[_0xc460f3(0x1f1)],_0xa258dc=_0x324504[_0xc460f3(0x1c7)](_0x20d730||'')||_0x20d730||'';return{'name':_0x20538e[_0xc460f3(0x1f4)],'connection':_0xa258dc,'schema':_0x20538e[_0xc460f3(0x1e6)],'table':_0x20538e['table'],'join':{'table_key':_0x20538e[_0xc460f3(0x1e1)],'master_key':_0x20538e[_0xc460f3(0x1e5)]},'time_column':_0x20538e[_0xc460f3(0x1c8)]||'',..._0x20538e['allColumns']&&{'all_columns':_0x20538e[_0xc460f3(0x1d9)]},..._0x20538e[_0xc460f3(0x1e7)]?.[_0xc460f3(0x1f6)]&&{'columns':_0x20538e[_0xc460f3(0x1e7)]['map'](_0x3ecc63=>({'name':_0x3ecc63[_0xc460f3(0x1f4)],'type':_0x3ecc63['type'],'column':_0x3ecc63[_0xc460f3(0x1c6)]}))}};}export function defToApi(_0x17e5d9,_0x28a42b,_0x125de8,_0x217065){const _0x44380a=a103_0x3b2e41,_0x504f3f=resolveConnectionRef(_0x17e5d9[_0x44380a(0x1cb)][_0x44380a(0x1e3)],_0x28a42b,_0x125de8,_0x217065);if(CATALOG_PLATFORMS[_0x44380a(0x1e2)](_0x504f3f['type'])&&!_0x17e5d9['master'][_0x44380a(0x1df)])throw new SDKError(ErrorCode['INVALID_ARGUMENT'],_0x44380a(0x1f9)+_0x504f3f[_0x44380a(0x1e0)]+'\x22\x20connections\x20(set\x20master.catalog\x20in\x20the\x20audience\x20YAML\x20for\x20\x22'+_0x17e5d9[_0x44380a(0x1cb)][_0x44380a(0x1e3)]+_0x44380a(0x1cd));return{'name':_0x17e5d9[_0x44380a(0x1f4)],'description':_0x17e5d9[_0x44380a(0x1f5)]??'',..._0x17e5d9[_0x44380a(0x1d8)]&&{'timezone':_0x17e5d9[_0x44380a(0x1d8)]},..._0x17e5d9[_0x44380a(0x1d1)]!==undefined&&{'allowActivationBehavior':_0x17e5d9[_0x44380a(0x1d1)]},..._0x17e5d9[_0x44380a(0x1c3)]!==undefined&&{'maxActivationBehaviorRow':_0x17e5d9['max_activation_behavior_row']},'master':{..._0x504f3f['federatedQueryConfigId']&&{'federatedQueryConfigId':_0x504f3f[_0x44380a(0x1f1)]},..._0x504f3f[_0x44380a(0x1ef)]&&{'connectionId':_0x504f3f[_0x44380a(0x1ef)]},..._0x17e5d9[_0x44380a(0x1cb)]['catalog']&&{'catalog':_0x17e5d9[_0x44380a(0x1cb)][_0x44380a(0x1df)]},'schema':_0x17e5d9[_0x44380a(0x1cb)][_0x44380a(0x1e6)],'table':_0x17e5d9[_0x44380a(0x1cb)]['table'],'keyColumn':_0x17e5d9['master'][_0x44380a(0x1cf)]},..._0x17e5d9[_0x44380a(0x1f7)]?.['length']&&{'attributes':_0x17e5d9[_0x44380a(0x1f7)]['map'](_0x54a3aa=>{const _0x1ee2fd=_0x44380a,_0x5613ca=resolveConnectionRef(_0x54a3aa[_0x1ee2fd(0x1e3)],_0x28a42b,_0x125de8,_0x217065);return{'name':_0x54a3aa[_0x1ee2fd(0x1f4)],..._0x5613ca[_0x1ee2fd(0x1f1)]&&{'federatedQueryConfigId':_0x5613ca[_0x1ee2fd(0x1f1)]},..._0x5613ca['connectionId']&&{'connectionId':_0x5613ca['connectionId']},'schema':_0x54a3aa[_0x1ee2fd(0x1e6)],'table':_0x54a3aa[_0x1ee2fd(0x1f2)],'tableKey':_0x54a3aa[_0x1ee2fd(0x1c4)][_0x1ee2fd(0x1dc)],'masterKey':_0x54a3aa[_0x1ee2fd(0x1c4)][_0x1ee2fd(0x1d0)],'column':_0x54a3aa[_0x1ee2fd(0x1fb)],'type':_0x54a3aa['type']};})},..._0x17e5d9[_0x44380a(0x1c9)]?.[_0x44380a(0x1f6)]&&{'behaviors':_0x17e5d9[_0x44380a(0x1c9)][_0x44380a(0x1fa)](_0x3ba280=>{const _0x52f9f7=_0x44380a,_0x4cca52=resolveConnectionRef(_0x3ba280[_0x52f9f7(0x1e3)],_0x28a42b,_0x125de8,_0x217065);if(!_0x3ba280[_0x52f9f7(0x1de)]&&!_0x3ba280[_0x52f9f7(0x1d6)]?.['length'])throw new SDKError(ErrorCode[_0x52f9f7(0x1ea)],'Behavior\x20\x22'+_0x3ba280[_0x52f9f7(0x1f4)]+_0x52f9f7(0x1ca));return{'name':_0x3ba280[_0x52f9f7(0x1f4)],..._0x4cca52[_0x52f9f7(0x1f1)]&&{'federatedQueryConfigId':_0x4cca52[_0x52f9f7(0x1f1)]},..._0x4cca52['connectionId']&&{'connectionId':_0x4cca52[_0x52f9f7(0x1ef)]},'schema':_0x3ba280[_0x52f9f7(0x1e6)],'table':_0x3ba280[_0x52f9f7(0x1f2)],'tableKey':_0x3ba280[_0x52f9f7(0x1c4)][_0x52f9f7(0x1dc)],'masterKey':_0x3ba280['join']['master_key'],..._0x3ba280[_0x52f9f7(0x1db)]&&{'timeColumn':_0x3ba280[_0x52f9f7(0x1db)]},..._0x3ba280[_0x52f9f7(0x1de)]&&{'allColumns':_0x3ba280['all_columns']},..._0x3ba280['columns']?.[_0x52f9f7(0x1f6)]&&{'columnMapping':_0x3ba280['columns'][_0x52f9f7(0x1fa)](_0x108dce=>({'name':_0x108dce['name'],'type':_0x108dce['type'],'cdwColumn':_0x108dce[_0x52f9f7(0x1fb)]}))}};})}};}export function serializeDef(_0x2dc116){return a103_0x8120fe['stringify'](_0x2dc116,{'lineWidth':0x78});}export function parseDef(_0x106e2d){const _0x5ef2d4=a103_0x3b2e41;return a103_0x8120fe[_0x5ef2d4(0x1dd)](_0x106e2d);}
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Composable Segment Rule Zod Schemas (TAI-2042)
|
|
3
|
+
*
|
|
4
|
+
* Composable segment YAML has no translation layer the way child-segment YAML does
|
|
5
|
+
* (`child-segment-yaml.ts` maps a friendlier `attribute`/`value` shape to/from the API) —
|
|
6
|
+
* `defToSegmentApi` in `cas-segment-yaml.ts` passes `rule:` straight through unchanged
|
|
7
|
+
* (`ComposableSegment`'s own doc comment: "pass-through — CAS uses same rule structure as
|
|
8
|
+
* CDP"). So this schema validates the raw API wire shape directly (`leftValue.name`), not the
|
|
9
|
+
* ergonomic `attribute`/`value` shape `src/sdk/segment/types/segment-schema.ts` validates.
|
|
10
|
+
*
|
|
11
|
+
* Deliberately NOT a closed allowlist of operator/condition types. td-crystal's `ionRule.ts`
|
|
12
|
+
* defines the real wire shape as a union of operator families that share type names
|
|
13
|
+
* (`GreaterEqual`, etc.) with different field shapes depending on context (`TimeframeOperatorSchema`
|
|
14
|
+
* vs `ValueOperatorSchema` — see the TAI-2034/GH-2753 investigation), plus condition types this
|
|
15
|
+
* repo doesn't model at all yet (`type: 'Behavior'`, per `cas-segment-yaml.test.ts`'s own
|
|
16
|
+
* fixture). Enumerating that here and hard-failing on anything outside it would repeat exactly
|
|
17
|
+
* the client-schema-drifts-from-real-API bug class TAI-2034/2035/GH-2753 fixed elsewhere in this
|
|
18
|
+
* repo — trading TAI-2041's "silently matches zero rows" for "can't push at all" on shapes this
|
|
19
|
+
* validator simply doesn't know about yet.
|
|
20
|
+
*
|
|
21
|
+
* So: only `type: 'Value'` conditions get their `leftValue.name` checked (the actual TAI-2041
|
|
22
|
+
* fix, in `cas-segment-validator.ts`) — any other condition type structurally validates as long
|
|
23
|
+
* as it has a `type` string, with everything else passed through untouched.
|
|
24
|
+
*
|
|
25
|
+
* @module
|
|
26
|
+
*/
|
|
27
|
+
import { z } from 'zod';
|
|
28
|
+
/** A `Value` leaf condition — the only shape this schema checks structurally beyond `type`. */
|
|
29
|
+
export interface CASSegmentValueCondition {
|
|
30
|
+
type: 'Value';
|
|
31
|
+
leftValue: {
|
|
32
|
+
name: string;
|
|
33
|
+
};
|
|
34
|
+
operator: {
|
|
35
|
+
type: string;
|
|
36
|
+
[key: string]: unknown;
|
|
37
|
+
};
|
|
38
|
+
exclude?: boolean;
|
|
39
|
+
description?: string;
|
|
40
|
+
arrayMatching?: unknown;
|
|
41
|
+
[key: string]: unknown;
|
|
42
|
+
}
|
|
43
|
+
/**
|
|
44
|
+
* Any other leaf condition (e.g. `Behavior`) whose wire shape isn't modeled here. Passed
|
|
45
|
+
* through unchanged — no operator/field validation, since we don't know the real shape.
|
|
46
|
+
*/
|
|
47
|
+
export interface CASSegmentOtherCondition {
|
|
48
|
+
type: string;
|
|
49
|
+
[key: string]: unknown;
|
|
50
|
+
}
|
|
51
|
+
export type CASSegmentLeafCondition = CASSegmentValueCondition | CASSegmentOtherCondition;
|
|
52
|
+
export interface CASSegmentGroupCondition {
|
|
53
|
+
type: 'And' | 'Or';
|
|
54
|
+
conditions: CASSegmentRuleCondition[];
|
|
55
|
+
description?: string;
|
|
56
|
+
}
|
|
57
|
+
export type CASSegmentRuleCondition = CASSegmentGroupCondition | CASSegmentLeafCondition;
|
|
58
|
+
export declare function isGroupCondition(node: CASSegmentRuleCondition): node is CASSegmentGroupCondition;
|
|
59
|
+
export declare function isValueCondition(node: CASSegmentRuleCondition): node is CASSegmentValueCondition;
|
|
60
|
+
export declare const CASSegmentConditionSchema: z.ZodType<CASSegmentRuleCondition>;
|
|
61
|
+
export declare const CASSegmentRuleSchema: z.ZodType<CASSegmentGroupCondition>;
|
|
62
|
+
export type CASSegmentRuleParsed = z.infer<typeof CASSegmentRuleSchema>;
|
|
63
|
+
//# sourceMappingURL=cas-segment-schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cas-segment-schema.d.ts","sourceRoot":"","sources":["../../../src/sdk/cas/cas-segment-schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,+FAA+F;AAC/F,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,OAAO,CAAC;IACd,SAAS,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAC5B,QAAQ,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;IACnD,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED;;;GAGG;AACH,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,MAAM,CAAC;IACb,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,MAAM,MAAM,uBAAuB,GAAG,wBAAwB,GAAG,wBAAwB,CAAC;AAE1F,MAAM,WAAW,wBAAwB;IACvC,IAAI,EAAE,KAAK,GAAG,IAAI,CAAC;IACnB,UAAU,EAAE,uBAAuB,EAAE,CAAC;IACtC,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,MAAM,uBAAuB,GAAG,wBAAwB,GAAG,uBAAuB,CAAC;AAKzF,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,uBAAuB,GAAG,IAAI,IAAI,wBAAwB,CAEhG;AAED,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,uBAAuB,GAAG,IAAI,IAAI,wBAAwB,CAEhG;AA0CD,eAAO,MAAM,yBAAyB,EAAE,CAAC,CAAC,OAAO,CAAC,uBAAuB,CASxE,CAAC;AAEF,eAAO,MAAM,oBAAoB,EAAE,CAAC,CAAC,OAAO,CAAC,wBAAwB,CAInE,CAAC;AAEH,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const a104_0x397ca2=a104_0x93f0;(function(_0x41e8ac,_0x1f3959){const _0x4a6fce=a104_0x93f0,_0x30f5af=_0x41e8ac();while(!![]){try{const _0x97676a=-parseInt(_0x4a6fce(0x173))/0x1*(-parseInt(_0x4a6fce(0x162))/0x2)+-parseInt(_0x4a6fce(0x174))/0x3*(parseInt(_0x4a6fce(0x16c))/0x4)+-parseInt(_0x4a6fce(0x169))/0x5*(parseInt(_0x4a6fce(0x15f))/0x6)+-parseInt(_0x4a6fce(0x163))/0x7*(parseInt(_0x4a6fce(0x16d))/0x8)+parseInt(_0x4a6fce(0x16e))/0x9+-parseInt(_0x4a6fce(0x170))/0xa+parseInt(_0x4a6fce(0x161))/0xb;if(_0x97676a===_0x1f3959)break;else _0x30f5af['push'](_0x30f5af['shift']());}catch(_0x36f23a){_0x30f5af['push'](_0x30f5af['shift']());}}}(a104_0x1d67,0x2fde9));import{z}from'zod';export function isGroupCondition(_0x5d953d){const _0x4ffd21=a104_0x93f0;return _0x5d953d[_0x4ffd21(0x17b)]===_0x4ffd21(0x165)||_0x5d953d['type']==='Or';}export function isValueCondition(_0xef5961){return _0xef5961['type']==='Value';}function a104_0x1d67(){const _0x106e4f=['leftValue.name\x20is\x20required','custom','passthrough','5WDUKKh','leftValue','lazy','14044pgOeRi','6256JLpFyX','2950785hinofr','Value','678480ouYYIK','addIssue','conditions\x20must\x20not\x20be\x20empty','17vOfHqc','195Ufxwff','enum','superRefine','operator.type\x20is\x20required','name','min','object','type','ZodIssueCode','array','type\x20is\x20required','string','1822794gbkjpW','operator','4690433tSvVFa','26706HSWVHq','1659nWCuvz','optional','And'];a104_0x1d67=function(){return _0x106e4f;};return a104_0x1d67();}const CASSegmentLeafConditionSchema=z[a104_0x397ca2(0x17a)]({'type':z[a104_0x397ca2(0x15e)]()['min'](0x1,a104_0x397ca2(0x17e))})[a104_0x397ca2(0x168)]()[a104_0x397ca2(0x176)]((_0x3571ff,_0x53c56e)=>{const _0xb7f88b=a104_0x397ca2;if(_0x3571ff['type']!==_0xb7f88b(0x16f))return;const _0x23cc95=_0x3571ff[_0xb7f88b(0x16a)];(typeof _0x23cc95!==_0xb7f88b(0x17a)||_0x23cc95===null||typeof _0x23cc95[_0xb7f88b(0x178)]!==_0xb7f88b(0x15e)||!_0x23cc95[_0xb7f88b(0x178)])&&_0x53c56e[_0xb7f88b(0x171)]({'code':z[_0xb7f88b(0x17c)]['custom'],'path':[_0xb7f88b(0x16a),_0xb7f88b(0x178)],'message':_0xb7f88b(0x166)});const _0x18fb05=_0x3571ff['operator'];(typeof _0x18fb05!==_0xb7f88b(0x17a)||_0x18fb05===null||typeof _0x18fb05[_0xb7f88b(0x17b)]!==_0xb7f88b(0x15e)||!_0x18fb05[_0xb7f88b(0x17b)])&&_0x53c56e[_0xb7f88b(0x171)]({'code':z[_0xb7f88b(0x17c)][_0xb7f88b(0x167)],'path':[_0xb7f88b(0x160),'type'],'message':_0xb7f88b(0x177)});});export const CASSegmentConditionSchema=z[a104_0x397ca2(0x16b)](()=>z['union']([z[a104_0x397ca2(0x17a)]({'type':z['enum']([a104_0x397ca2(0x165),'Or']),'conditions':z[a104_0x397ca2(0x17d)](CASSegmentConditionSchema)[a104_0x397ca2(0x179)](0x1,a104_0x397ca2(0x172)),'description':z[a104_0x397ca2(0x15e)]()[a104_0x397ca2(0x164)]()}),CASSegmentLeafConditionSchema]));function a104_0x93f0(_0x449dae,_0x3da144){_0x449dae=_0x449dae-0x15e;const _0x1d6769=a104_0x1d67();let _0x93f0a0=_0x1d6769[_0x449dae];return _0x93f0a0;}export const CASSegmentRuleSchema=z[a104_0x397ca2(0x17a)]({'type':z[a104_0x397ca2(0x175)]([a104_0x397ca2(0x165),'Or']),'conditions':z['array'](CASSegmentConditionSchema)['min'](0x1,a104_0x397ca2(0x172)),'description':z[a104_0x397ca2(0x15e)]()[a104_0x397ca2(0x164)]()});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cas-segment-schema.js","sourceRoot":"","sources":["../../../src/sdk/cas/cas-segment-schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAoCxB,iGAAiG;AACjG,4FAA4F;AAC5F,oCAAoC;AACpC,MAAM,UAAU,gBAAgB,CAAC,IAA6B;IAC5D,OAAO,IAAI,CAAC,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,IAA6B;IAC5D,OAAO,IAAI,CAAC,IAAI,KAAK,OAAO,CAAC;AAC/B,CAAC;AAED,4FAA4F;AAC5F,6FAA6F;AAC7F,0FAA0F;AAC1F,+FAA+F;AAC/F,4EAA4E;AAC5E,MAAM,6BAA6B,GAAG,CAAC;KACpC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,EAAE,kBAAkB,CAAC,EAAE,CAAC;KACvD,WAAW,EAAE;KACb,WAAW,CAAC,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;IACxB,IAAI,GAAG,CAAC,IAAI,KAAK,OAAO;QAAE,OAAO;IAEjC,MAAM,SAAS,GAAI,GAA+B,CAAC,SAAS,CAAC;IAC7D,IACE,OAAO,SAAS,KAAK,QAAQ;QAC7B,SAAS,KAAK,IAAI;QAClB,OAAQ,SAAqC,CAAC,IAAI,KAAK,QAAQ;QAC/D,CAAE,SAAqC,CAAC,IAAI,EAC5C,CAAC;QACD,GAAG,CAAC,QAAQ,CAAC;YACX,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM;YAC3B,IAAI,EAAE,CAAC,WAAW,EAAE,MAAM,CAAC;YAC3B,OAAO,EAAE,4BAA4B;SACtC,CAAC,CAAC;IACL,CAAC;IAED,MAAM,QAAQ,GAAI,GAA+B,CAAC,QAAQ,CAAC;IAC3D,IACE,OAAO,QAAQ,KAAK,QAAQ;QAC5B,QAAQ,KAAK,IAAI;QACjB,OAAQ,QAAoC,CAAC,IAAI,KAAK,QAAQ;QAC9D,CAAE,QAAoC,CAAC,IAAI,EAC3C,CAAC;QACD,GAAG,CAAC,QAAQ,CAAC;YACX,IAAI,EAAE,CAAC,CAAC,YAAY,CAAC,MAAM;YAC3B,IAAI,EAAE,CAAC,UAAU,EAAE,MAAM,CAAC;YAC1B,OAAO,EAAE,2BAA2B;SACrC,CAAC,CAAC;IACL,CAAC;AACH,CAAC,CAAC,CAAC;AAEL,MAAM,CAAC,MAAM,yBAAyB,GAAuC,CAAC,CAAC,IAAI,CAAC,GAAG,EAAE,CACvF,CAAC,CAAC,KAAK,CAAC;IACN,CAAC,CAAC,MAAM,CAAC;QACP,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAC3B,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,8BAA8B,CAAC;QACrF,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;KACnC,CAAC;IACF,6BAA6B;CAC9B,CAAC,CACH,CAAC;AAEF,MAAM,CAAC,MAAM,oBAAoB,GAAwC,CAAC,CAAC,MAAM,CAAC;IAChF,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;IAC3B,UAAU,EAAE,CAAC,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,8BAA8B,CAAC;IACrF,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACnC,CAAC,CAAC"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Composable Segment Rule Validator (TAI-2042)
|
|
3
|
+
*
|
|
4
|
+
* Validates a composable segment's `rule:` using a Zod schema with source location
|
|
5
|
+
* tracking, then (when the caller supplies the parent audience's attribute/behavior
|
|
6
|
+
* names) runs the semantic check Zod cannot express: `leftValue.name` must exactly match
|
|
7
|
+
* a real attribute/behavior name on the parent audience — not the underlying CDW column
|
|
8
|
+
* name. Mirrors the pattern in `cas-audience-validator.ts`.
|
|
9
|
+
*
|
|
10
|
+
* TAI-2041: without this check, a mismatched name (e.g. the CDW column name `STATE`
|
|
11
|
+
* instead of the audience's attribute name `region_state`) pushes successfully and the
|
|
12
|
+
* segment silently matches zero rows — confirmed live, 3/3 runs, no error/warning/non-zero
|
|
13
|
+
* exit. This is the fix for that finding specifically.
|
|
14
|
+
*
|
|
15
|
+
* @module
|
|
16
|
+
*/
|
|
17
|
+
import { type CASSegmentRuleParsed } from './cas-segment-schema.js';
|
|
18
|
+
import { type ValidationResult, type ValidationContext } from '../segment/yaml-validator.js';
|
|
19
|
+
/** Options for validateComposableSegmentRule. */
|
|
20
|
+
export interface ValidateComposableSegmentRuleOptions {
|
|
21
|
+
/**
|
|
22
|
+
* Real attribute/behavior names on the parent audience (from `ComposableAudience`'s
|
|
23
|
+
* `attributes`/`behaviors`, or a sibling `audience.yml`'s declared names). When omitted,
|
|
24
|
+
* only structural (Zod schema) validation runs — the name-resolution check needs to know
|
|
25
|
+
* what names actually exist, which requires either a live audience fetch or a sibling
|
|
26
|
+
* audience file; offline validation of a lone segment file can't determine this.
|
|
27
|
+
*/
|
|
28
|
+
audienceFieldNames?: Set<string>;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Validate a composable segment's `rule:` using Zod schema + semantic checks.
|
|
32
|
+
*
|
|
33
|
+
* @param rule - Raw parsed `rule:` value from segment YAML (unknown)
|
|
34
|
+
* @param context - Optional validation context with YAML source/document for location tracking
|
|
35
|
+
* @param options - Optional validation options
|
|
36
|
+
*/
|
|
37
|
+
export declare function validateComposableSegmentRule(rule: unknown, context?: ValidationContext, options?: ValidateComposableSegmentRuleOptions): ValidationResult;
|
|
38
|
+
/**
|
|
39
|
+
* Format a composable segment rule's validation errors for CLI output, one `✖ path: message`
|
|
40
|
+
* line per issue. Kept in the SDK layer (mirrors `formatValidationErrors` in
|
|
41
|
+
* `segment/push-workflow.ts`) so the command stays presentation-only.
|
|
42
|
+
*/
|
|
43
|
+
export declare function formatSegmentRuleErrors(result: ValidationResult): string;
|
|
44
|
+
/**
|
|
45
|
+
* Build the set of real attribute/behavior names from a `ComposableAudience` API response.
|
|
46
|
+
*
|
|
47
|
+
* The master key column is also a valid `leftValue.name` — every audience's rules can filter
|
|
48
|
+
* on it even though it isn't listed under `attributes`/`behaviors` (confirmed live: e2e segment
|
|
49
|
+
* fixtures reference it as `master_key_column.toLowerCase()`, e.g. `cdp_customer_id` for a
|
|
50
|
+
* `CDP_CUSTOMER_ID` master key). Both the raw and lowercased forms are included since attribute/
|
|
51
|
+
* behavior names are used as-declared (case-sensitive) while the master key's underlying CDW
|
|
52
|
+
* column name is typically uppercase but referenced lowercased in rules.
|
|
53
|
+
*/
|
|
54
|
+
export declare function audienceFieldNamesFromApi(audience: {
|
|
55
|
+
attributes?: {
|
|
56
|
+
name: string;
|
|
57
|
+
}[];
|
|
58
|
+
behaviors?: {
|
|
59
|
+
name: string;
|
|
60
|
+
}[];
|
|
61
|
+
masterKeyColumn?: string;
|
|
62
|
+
}): Set<string>;
|
|
63
|
+
/** Build the set of real attribute/behavior names from a parsed audience YAML definition. */
|
|
64
|
+
export declare function audienceFieldNamesFromDef(def: {
|
|
65
|
+
attributes?: {
|
|
66
|
+
name: string;
|
|
67
|
+
}[];
|
|
68
|
+
behaviors?: {
|
|
69
|
+
name: string;
|
|
70
|
+
}[];
|
|
71
|
+
master?: {
|
|
72
|
+
key_column?: string;
|
|
73
|
+
};
|
|
74
|
+
}): Set<string>;
|
|
75
|
+
export type { CASSegmentRuleParsed };
|
|
76
|
+
//# sourceMappingURL=cas-segment-validator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cas-segment-validator.d.ts","sourceRoot":"","sources":["../../../src/sdk/cas/cas-segment-validator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,EAIL,KAAK,oBAAoB,EAE1B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAKL,KAAK,gBAAgB,EAErB,KAAK,iBAAiB,EACvB,MAAM,8BAA8B,CAAC;AAEtC,iDAAiD;AACjD,MAAM,WAAW,oCAAoC;IACnD;;;;;;OAMG;IACH,kBAAkB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;CAClC;AAED;;;;;;GAMG;AACH,wBAAgB,6BAA6B,CAC3C,IAAI,EAAE,OAAO,EACb,OAAO,GAAE,iBAAsB,EAC/B,OAAO,GAAE,oCAAyC,GACjD,gBAAgB,CAalB;AA+ED;;;;GAIG;AACH,wBAAgB,uBAAuB,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,CAExE;AAED;;;;;;;;;GASG;AACH,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE;IAClD,UAAU,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAChC,SAAS,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC/B,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B,GAAG,GAAG,CAAC,MAAM,CAAC,CASd;AAED,6FAA6F;AAC7F,wBAAgB,yBAAyB,CAAC,GAAG,EAAE;IAC7C,UAAU,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAChC,SAAS,CAAC,EAAE;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC/B,MAAM,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAClC,GAAG,GAAG,CAAC,MAAM,CAAC,CAMd;AAED,YAAY,EAAE,oBAAoB,EAAE,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(function(_0x1f5acd,_0x54f91b){const _0x203c82=a105_0x13b7,_0x3e4171=_0x1f5acd();while(!![]){try{const _0x26d746=parseInt(_0x203c82(0x140))/0x1+-parseInt(_0x203c82(0x149))/0x2+-parseInt(_0x203c82(0x13b))/0x3*(-parseInt(_0x203c82(0x131))/0x4)+parseInt(_0x203c82(0x138))/0x5+-parseInt(_0x203c82(0x135))/0x6+-parseInt(_0x203c82(0x125))/0x7+parseInt(_0x203c82(0x133))/0x8;if(_0x26d746===_0x54f91b)break;else _0x3e4171['push'](_0x3e4171['shift']());}catch(_0x52619f){_0x3e4171['push'](_0x3e4171['shift']());}}}(a105_0x2628,0xb2c38));import{CASSegmentRuleSchema,isGroupCondition,isValueCondition}from'./cas-segment-schema.js';import{formatZodPath,flattenZodIssues,getLocationFromPath,pathToArray}from'../segment/yaml-validator.js';export function validateComposableSegmentRule(_0xb16b5a,_0x49562b={},_0x28fb5f={}){const _0x1f9b14=a105_0x13b7,_0x38aad1=CASSegmentRuleSchema['safeParse'](_0xb16b5a);if(!_0x38aad1[_0x1f9b14(0x136)])return zodErrorsToValidationResult(_0x38aad1['error'],_0x49562b);const _0x582e63=[];return _0x28fb5f[_0x1f9b14(0x144)]&&_0x582e63[_0x1f9b14(0x13a)](...checkAttributeNames(_0x38aad1[_0x1f9b14(0x145)],_0x28fb5f['audienceFieldNames'],_0x49562b,_0x1f9b14(0x142))),{'valid':_0x582e63[_0x1f9b14(0x126)]===0x0,'errors':_0x582e63,'warnings':[]};}function a105_0x13b7(_0x314f39,_0x5e2d3a){_0x314f39=_0x314f39-0x122;const _0x26285c=a105_0x2628();let _0x13b7ec=_0x26285c[_0x314f39];return _0x13b7ec;}function a105_0x2628(){const _0x278136=['map','name','attributes','2003626hSBLZU','master','document','path','9183741zClvQg','length','source','masterKeyColumn','.leftValue.name','key_column','add','CAS_UNKNOWN_ATTRIBUTE_NAME','join','\x22?\x20(leftValue.name\x20must\x20be\x20the\x20audience\x27s\x20attribute/behavior\x20name,\x20not\x20the\x20underlying\x20CDW\x20column\x20name\x20—\x20case-sensitive.)','rule.','error','35884nOgEME','has','18494880umqrfX','\x22\x20doesn\x27t\x20match\x20any\x20attribute/behavior\x20on\x20the\x20parent\x20audience.\x20leftValue.name\x20must\x20be\x20the\x20audience\x27s\x20attribute/behavior\x20name,\x20not\x20the\x20underlying\x20CDW\x20column\x20name\x20—\x20case-sensitive.','4418796ZlUhAf','success','.conditions[','2515940PqKBtr','leftValue','push','48lAipnA','issues','conditions','toLowerCase','message','823874vLgTnE','leftValue.name\x20\x22','rule','forEach','audienceFieldNames','data'];a105_0x2628=function(){return _0x278136;};return a105_0x2628();}function zodErrorsToValidationResult(_0x564694,_0x3aba8c){const _0x2794f7=a105_0x13b7,_0x2e4a7d=flattenZodIssues(_0x564694[_0x2794f7(0x13c)]),_0x5117ff=_0x2e4a7d[_0x2794f7(0x146)](_0x249228=>{const _0x5b8641=_0x2794f7,_0x58f820=_0x5b8641(0x12f)+formatZodPath(_0x249228['path']),_0x227b30=getLocationFromPath(_0x3aba8c[_0x5b8641(0x123)],_0x3aba8c['source'],pathToArray(_0x58f820));return{'level':_0x5b8641(0x130),'path':_0x58f820,'code':'CAS_SEGMENT_SCHEMA_ERROR','message':_0x249228['message'],..._0x227b30&&{'location':_0x227b30}};});return{'valid':![],'errors':_0x5117ff,'warnings':[]};}function checkAttributeNames(_0x22da2d,_0x1730cd,_0xb5f34,_0x10613a){const _0x144966=a105_0x13b7,_0x6ac80c=[];if(isGroupCondition(_0x22da2d))return _0x22da2d[_0x144966(0x13d)]['forEach']((_0x4b4e5f,_0xfcf229)=>{const _0x3318fb=_0x144966;_0x6ac80c[_0x3318fb(0x13a)](...checkAttributeNames(_0x4b4e5f,_0x1730cd,_0xb5f34,_0x10613a+_0x3318fb(0x137)+_0xfcf229+']'));}),_0x6ac80c;if(!isValueCondition(_0x22da2d))return _0x6ac80c;const _0x48d1fe=_0x22da2d[_0x144966(0x139)][_0x144966(0x147)];if(!_0x1730cd[_0x144966(0x132)](_0x48d1fe)){const _0x4b163c=_0x10613a+_0x144966(0x129),_0xac8417=findClosestName(_0x48d1fe,_0x1730cd);_0x6ac80c[_0x144966(0x13a)]({'level':_0x144966(0x130),'path':_0x4b163c,'code':_0x144966(0x12c),'message':_0xac8417?_0x144966(0x141)+_0x48d1fe+'\x22\x20doesn\x27t\x20match\x20any\x20attribute/behavior\x20on\x20the\x20parent\x20audience.\x20Did\x20you\x20mean\x20\x22'+_0xac8417+_0x144966(0x12e):_0x144966(0x141)+_0x48d1fe+_0x144966(0x134),'location':getLocationFromPath(_0xb5f34['document'],_0xb5f34[_0x144966(0x127)],pathToArray(_0x4b163c))});}return _0x6ac80c;}function findClosestName(_0x133b88,_0x6feb5e){const _0x4fa0c0=a105_0x13b7,_0x7c4ae0=_0x133b88[_0x4fa0c0(0x13e)]();for(const _0x48504b of _0x6feb5e){if(_0x48504b['toLowerCase']()===_0x7c4ae0)return _0x48504b;}return undefined;}export function formatSegmentRuleErrors(_0x37b8ba){const _0x5490b7=a105_0x13b7;return _0x37b8ba['errors'][_0x5490b7(0x146)](_0x14b5ed=>'\x20\x20✖\x20'+_0x14b5ed[_0x5490b7(0x124)]+':\x20'+_0x14b5ed[_0x5490b7(0x13f)])[_0x5490b7(0x12d)]('\x0a');}export function audienceFieldNamesFromApi(_0x5e38cb){const _0x3fbce2=a105_0x13b7,_0x25945a=new Set();return _0x5e38cb['attributes']?.[_0x3fbce2(0x143)](_0x738d7c=>_0x25945a[_0x3fbce2(0x12b)](_0x738d7c['name'])),_0x5e38cb['behaviors']?.[_0x3fbce2(0x143)](_0x34dc1a=>_0x25945a[_0x3fbce2(0x12b)](_0x34dc1a[_0x3fbce2(0x147)])),_0x5e38cb[_0x3fbce2(0x128)]&&(_0x25945a[_0x3fbce2(0x12b)](_0x5e38cb[_0x3fbce2(0x128)]),_0x25945a[_0x3fbce2(0x12b)](_0x5e38cb[_0x3fbce2(0x128)][_0x3fbce2(0x13e)]())),_0x25945a;}export function audienceFieldNamesFromDef(_0x7bffe3){const _0x4613e7=a105_0x13b7;return audienceFieldNamesFromApi({'attributes':_0x7bffe3[_0x4613e7(0x148)],'behaviors':_0x7bffe3['behaviors'],'masterKeyColumn':_0x7bffe3[_0x4613e7(0x122)]?.[_0x4613e7(0x12a)]});}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cas-segment-validator.js","sourceRoot":"","sources":["../../../src/sdk/cas/cas-segment-validator.ts"],"names":[],"mappings":"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"}
|