@treasuredata/tdx 2026.7.1 → 2026.7.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/bin.js +1 -1
- package/dist/build-info.json +3 -3
- package/dist/cli-categories.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.d.ts +20 -0
- package/dist/commands/cas-command.d.ts.map +1 -1
- package/dist/commands/cas-command.js +1 -1
- package/dist/commands/cas-command.js.map +1 -1
- package/dist/commands/cas-segment-command.d.ts +24 -0
- 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-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/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.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/user-cache.js +1 -1
- package/dist/core/version.js +1 -1
- package/dist/index.js +1 -1
- package/dist/mcp/server.js +1 -1
- package/dist/mcp/tools/index.js +1 -1
- package/dist/mcp/tools/tdx-run.js +1 -1
- package/dist/mcp/tools/tdx-search.js +1 -1
- package/dist/mcp/tools/work-create-item.js +1 -1
- package/dist/mcp/utils.js +1 -1
- package/dist/proxy/claude-usage-tracker.js +1 -1
- package/dist/proxy/passthrough-server.js +1 -1
- package/dist/proxy/sse-usage-parser.js +1 -1
- package/dist/sdk/agent/agent-config.js +1 -1
- package/dist/sdk/agent/agent-ref-parser.js +1 -1
- package/dist/sdk/agent/agent-yaml.js +1 -1
- package/dist/sdk/agent/test/evaluator.js +1 -1
- package/dist/sdk/agent/test/executor.js +1 -1
- package/dist/sdk/agent/test/index.js +1 -1
- package/dist/sdk/agent/test/output.js +1 -1
- package/dist/sdk/agent/test/parser.js +1 -1
- package/dist/sdk/agent/tool-target-registry.js +1 -1
- package/dist/sdk/api.js +1 -1
- package/dist/sdk/cas/cas-api-client.d.ts +83 -3
- 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.d.ts +149 -0
- package/dist/sdk/cas/cas-audience-schema.d.ts.map +1 -0
- package/dist/sdk/cas/cas-audience-schema.js +1 -0
- package/dist/sdk/cas/cas-audience-schema.js.map +1 -0
- package/dist/sdk/cas/cas-audience-validator.d.ts +57 -0
- package/dist/sdk/cas/cas-audience-validator.d.ts.map +1 -0
- package/dist/sdk/cas/cas-audience-validator.js +1 -0
- package/dist/sdk/cas/cas-audience-validator.js.map +1 -0
- package/dist/sdk/cas/cas-audience-yaml.d.ts +32 -1
- package/dist/sdk/cas/cas-audience-yaml.d.ts.map +1 -1
- package/dist/sdk/cas/cas-audience-yaml.js +1 -1
- package/dist/sdk/cas/cas-audience-yaml.js.map +1 -1
- package/dist/sdk/cas/cas-segment-yaml.d.ts +30 -2
- package/dist/sdk/cas/cas-segment-yaml.d.ts.map +1 -1
- package/dist/sdk/cas/cas-segment-yaml.js +1 -1
- package/dist/sdk/cas/cas-segment-yaml.js.map +1 -1
- package/dist/sdk/cas/index.d.ts +21 -0
- 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.d.ts +131 -0
- package/dist/sdk/cas/push-workflow.d.ts.map +1 -1
- package/dist/sdk/cas/push-workflow.js +1 -1
- package/dist/sdk/cas/push-workflow.js.map +1 -1
- package/dist/sdk/cas/types.d.ts +33 -4
- package/dist/sdk/cas/types.d.ts.map +1 -1
- package/dist/sdk/cas/validate-files.d.ts +64 -0
- package/dist/sdk/cas/validate-files.d.ts.map +1 -0
- package/dist/sdk/cas/validate-files.js +1 -0
- package/dist/sdk/cas/validate-files.js.map +1 -0
- 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 +11 -1
- 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.js +1 -1
- package/dist/sdk/client/rate-limiter.js +1 -1
- package/dist/sdk/client/td-api-client.js +1 -1
- package/dist/sdk/client/trino-api-client.js +1 -1
- package/dist/sdk/client/workflow-client.js +1 -1
- package/dist/sdk/connection-validator.js +1 -1
- package/dist/sdk/connection.js +1 -1
- package/dist/sdk/delivery.js +1 -1
- package/dist/sdk/engage/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/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.d.ts +20 -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.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/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.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.d.ts +16 -7
- package/dist/sdk/segment/resolution-context.d.ts.map +1 -1
- package/dist/sdk/segment/resolution-context.js +1 -1
- package/dist/sdk/segment/resolution-context.js.map +1 -1
- package/dist/sdk/segment/segment-path-parser.js +1 -1
- package/dist/sdk/segment/segment-ref-parser.js +1 -1
- package/dist/sdk/segment/segment-validator.js +1 -1
- package/dist/sdk/segment/target-resolution.js +1 -1
- package/dist/sdk/segment/tdx-config.js +1 -1
- package/dist/sdk/segment/types/activation-schema.js +1 -1
- package/dist/sdk/segment/types/journey-def.js +1 -1
- package/dist/sdk/segment/types/journey-schema.js +1 -1
- package/dist/sdk/segment/types/segment-def.js +1 -1
- package/dist/sdk/segment/types/segment-schema.js +1 -1
- package/dist/sdk/segment/validate-files.js +1 -1
- package/dist/sdk/segment/yaml-validator.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/cas.d.ts +99 -26
- package/dist/sdk/types/cas.d.ts.map +1 -1
- package/dist/sdk/types/index.d.ts +1 -1
- package/dist/sdk/types/index.d.ts.map +1 -1
- package/dist/sdk/types/index.js +1 -1
- package/dist/sdk/types/index.js.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/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/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
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Composable Audience YAML definition Zod schemas
|
|
3
|
+
*
|
|
4
|
+
* Single source of truth for composable audience/attribute/behavior shape validation.
|
|
5
|
+
* Mirrors the pattern in `src/sdk/segment/types/segment-schema.ts` (Zod schema +
|
|
6
|
+
* z.infer-derived types) so `tdx cas validate` follows the same conventions as
|
|
7
|
+
* `tdx sg validate`.
|
|
8
|
+
*
|
|
9
|
+
* Uses z.object() which strips unknown fields by default.
|
|
10
|
+
*
|
|
11
|
+
* The `type` enum for attribute/behavior-column values mirrors the backend's
|
|
12
|
+
* VALID_ION_TYPES / VALID_BEHAVIOR_ION_TYPES (both `%w[string number timestamp
|
|
13
|
+
* string_array number_array]` — confirmed identical across cas-api's
|
|
14
|
+
* ComposableAudienceAttribute and ComposableAudienceBehavior models).
|
|
15
|
+
*
|
|
16
|
+
* @module
|
|
17
|
+
*/
|
|
18
|
+
import { z } from 'zod';
|
|
19
|
+
export declare const CASIonTypeSchema: z.ZodEnum<{
|
|
20
|
+
string: "string";
|
|
21
|
+
number: "number";
|
|
22
|
+
timestamp: "timestamp";
|
|
23
|
+
string_array: "string_array";
|
|
24
|
+
number_array: "number_array";
|
|
25
|
+
}>;
|
|
26
|
+
export declare const CASJoinDefSchema: z.ZodObject<{
|
|
27
|
+
table_key: z.ZodString;
|
|
28
|
+
master_key: z.ZodString;
|
|
29
|
+
}, z.core.$strip>;
|
|
30
|
+
export declare const CASMasterDefSchema: z.ZodObject<{
|
|
31
|
+
connection: z.ZodString;
|
|
32
|
+
catalog: z.ZodOptional<z.ZodString>;
|
|
33
|
+
schema: z.ZodString;
|
|
34
|
+
table: z.ZodString;
|
|
35
|
+
key_column: z.ZodString;
|
|
36
|
+
}, z.core.$strip>;
|
|
37
|
+
export declare const CASAttributeDefSchema: z.ZodObject<{
|
|
38
|
+
name: z.ZodString;
|
|
39
|
+
connection: z.ZodString;
|
|
40
|
+
schema: z.ZodString;
|
|
41
|
+
table: z.ZodString;
|
|
42
|
+
join: z.ZodObject<{
|
|
43
|
+
table_key: z.ZodString;
|
|
44
|
+
master_key: z.ZodString;
|
|
45
|
+
}, z.core.$strip>;
|
|
46
|
+
column: z.ZodString;
|
|
47
|
+
type: z.ZodEnum<{
|
|
48
|
+
string: "string";
|
|
49
|
+
number: "number";
|
|
50
|
+
timestamp: "timestamp";
|
|
51
|
+
string_array: "string_array";
|
|
52
|
+
number_array: "number_array";
|
|
53
|
+
}>;
|
|
54
|
+
}, z.core.$strip>;
|
|
55
|
+
export declare const CASBehaviorColumnDefSchema: z.ZodObject<{
|
|
56
|
+
name: z.ZodString;
|
|
57
|
+
type: z.ZodEnum<{
|
|
58
|
+
string: "string";
|
|
59
|
+
number: "number";
|
|
60
|
+
timestamp: "timestamp";
|
|
61
|
+
string_array: "string_array";
|
|
62
|
+
number_array: "number_array";
|
|
63
|
+
}>;
|
|
64
|
+
column: z.ZodString;
|
|
65
|
+
}, z.core.$strip>;
|
|
66
|
+
export declare const CASBehaviorDefSchema: z.ZodObject<{
|
|
67
|
+
name: z.ZodString;
|
|
68
|
+
connection: z.ZodString;
|
|
69
|
+
schema: z.ZodString;
|
|
70
|
+
table: z.ZodString;
|
|
71
|
+
join: z.ZodObject<{
|
|
72
|
+
table_key: z.ZodString;
|
|
73
|
+
master_key: z.ZodString;
|
|
74
|
+
}, z.core.$strip>;
|
|
75
|
+
time_column: z.ZodString;
|
|
76
|
+
all_columns: z.ZodOptional<z.ZodBoolean>;
|
|
77
|
+
columns: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
78
|
+
name: z.ZodString;
|
|
79
|
+
type: z.ZodEnum<{
|
|
80
|
+
string: "string";
|
|
81
|
+
number: "number";
|
|
82
|
+
timestamp: "timestamp";
|
|
83
|
+
string_array: "string_array";
|
|
84
|
+
number_array: "number_array";
|
|
85
|
+
}>;
|
|
86
|
+
column: z.ZodString;
|
|
87
|
+
}, z.core.$strip>>>;
|
|
88
|
+
}, z.core.$strip>;
|
|
89
|
+
export declare const ComposableAudienceDefSchema: z.ZodObject<{
|
|
90
|
+
name: z.ZodString;
|
|
91
|
+
description: z.ZodOptional<z.ZodString>;
|
|
92
|
+
timezone: z.ZodOptional<z.ZodString>;
|
|
93
|
+
master: z.ZodObject<{
|
|
94
|
+
connection: z.ZodString;
|
|
95
|
+
catalog: z.ZodOptional<z.ZodString>;
|
|
96
|
+
schema: z.ZodString;
|
|
97
|
+
table: z.ZodString;
|
|
98
|
+
key_column: z.ZodString;
|
|
99
|
+
}, z.core.$strip>;
|
|
100
|
+
attributes: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
101
|
+
name: z.ZodString;
|
|
102
|
+
connection: z.ZodString;
|
|
103
|
+
schema: z.ZodString;
|
|
104
|
+
table: z.ZodString;
|
|
105
|
+
join: z.ZodObject<{
|
|
106
|
+
table_key: z.ZodString;
|
|
107
|
+
master_key: z.ZodString;
|
|
108
|
+
}, z.core.$strip>;
|
|
109
|
+
column: z.ZodString;
|
|
110
|
+
type: z.ZodEnum<{
|
|
111
|
+
string: "string";
|
|
112
|
+
number: "number";
|
|
113
|
+
timestamp: "timestamp";
|
|
114
|
+
string_array: "string_array";
|
|
115
|
+
number_array: "number_array";
|
|
116
|
+
}>;
|
|
117
|
+
}, z.core.$strip>>>;
|
|
118
|
+
behaviors: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
119
|
+
name: z.ZodString;
|
|
120
|
+
connection: z.ZodString;
|
|
121
|
+
schema: z.ZodString;
|
|
122
|
+
table: z.ZodString;
|
|
123
|
+
join: z.ZodObject<{
|
|
124
|
+
table_key: z.ZodString;
|
|
125
|
+
master_key: z.ZodString;
|
|
126
|
+
}, z.core.$strip>;
|
|
127
|
+
time_column: z.ZodString;
|
|
128
|
+
all_columns: z.ZodOptional<z.ZodBoolean>;
|
|
129
|
+
columns: z.ZodOptional<z.ZodArray<z.ZodObject<{
|
|
130
|
+
name: z.ZodString;
|
|
131
|
+
type: z.ZodEnum<{
|
|
132
|
+
string: "string";
|
|
133
|
+
number: "number";
|
|
134
|
+
timestamp: "timestamp";
|
|
135
|
+
string_array: "string_array";
|
|
136
|
+
number_array: "number_array";
|
|
137
|
+
}>;
|
|
138
|
+
column: z.ZodString;
|
|
139
|
+
}, z.core.$strip>>>;
|
|
140
|
+
}, z.core.$strip>>>;
|
|
141
|
+
}, z.core.$strip>;
|
|
142
|
+
export type CASIonType = z.infer<typeof CASIonTypeSchema>;
|
|
143
|
+
export type CASJoinDefParsed = z.infer<typeof CASJoinDefSchema>;
|
|
144
|
+
export type CASMasterDefParsed = z.infer<typeof CASMasterDefSchema>;
|
|
145
|
+
export type CASAttributeDefParsed = z.infer<typeof CASAttributeDefSchema>;
|
|
146
|
+
export type CASBehaviorColumnDefParsed = z.infer<typeof CASBehaviorColumnDefSchema>;
|
|
147
|
+
export type CASBehaviorDefParsed = z.infer<typeof CASBehaviorDefSchema>;
|
|
148
|
+
export type ComposableAudienceDefParsed = z.infer<typeof ComposableAudienceDefSchema>;
|
|
149
|
+
//# sourceMappingURL=cas-audience-schema.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cas-audience-schema.d.ts","sourceRoot":"","sources":["../../../src/sdk/cas/cas-audience-schema.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,eAAO,MAAM,gBAAgB;;;;;;EAM3B,CAAC;AAMH,eAAO,MAAM,gBAAgB;;;iBAG3B,CAAC;AAEH,eAAO,MAAM,kBAAkB;;;;;;iBAM7B,CAAC;AAMH,eAAO,MAAM,qBAAqB;;;;;;;;;;;;;;;;;iBAQhC,CAAC;AAEH,eAAO,MAAM,0BAA0B;;;;;;;;;;iBAIrC,CAAC;AAEH,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;iBAS/B,CAAC;AAMH,eAAO,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;iBAOtC,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAC1D,MAAM,MAAM,gBAAgB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAChE,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AACpE,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,qBAAqB,CAAC,CAAC;AAC1E,MAAM,MAAM,0BAA0B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,0BAA0B,CAAC,CAAC;AACpF,MAAM,MAAM,oBAAoB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,oBAAoB,CAAC,CAAC;AACxE,MAAM,MAAM,2BAA2B,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const a95_0x1d8275=a95_0x55f0;(function(_0x437521,_0x11c0ec){const _0x2f2c0e=a95_0x55f0,_0x4af2a0=_0x437521();while(!![]){try{const _0x5d8c3b=parseInt(_0x2f2c0e(0x14c))/0x1+parseInt(_0x2f2c0e(0x151))/0x2*(-parseInt(_0x2f2c0e(0x145))/0x3)+parseInt(_0x2f2c0e(0x142))/0x4*(parseInt(_0x2f2c0e(0x159))/0x5)+parseInt(_0x2f2c0e(0x154))/0x6*(parseInt(_0x2f2c0e(0x153))/0x7)+parseInt(_0x2f2c0e(0x150))/0x8*(-parseInt(_0x2f2c0e(0x140))/0x9)+parseInt(_0x2f2c0e(0x15a))/0xa+parseInt(_0x2f2c0e(0x155))/0xb*(-parseInt(_0x2f2c0e(0x147))/0xc);if(_0x5d8c3b===_0x11c0ec)break;else _0x4af2a0['push'](_0x4af2a0['shift']());}catch(_0x2f09e7){_0x4af2a0['push'](_0x4af2a0['shift']());}}}(a95_0x4d74,0xf2878));import{z}from'zod';export const CASIonTypeSchema=z[a95_0x1d8275(0x15d)]([a95_0x1d8275(0x149),'number',a95_0x1d8275(0x14b),a95_0x1d8275(0x156),'number_array']);export const CASJoinDefSchema=z[a95_0x1d8275(0x14a)]({'table_key':z[a95_0x1d8275(0x149)]()[a95_0x1d8275(0x144)](0x1,a95_0x1d8275(0x157)),'master_key':z[a95_0x1d8275(0x149)]()[a95_0x1d8275(0x144)](0x1,a95_0x1d8275(0x13f))});export const CASMasterDefSchema=z[a95_0x1d8275(0x14a)]({'connection':z['string']()[a95_0x1d8275(0x144)](0x1,a95_0x1d8275(0x15c)),'catalog':z[a95_0x1d8275(0x149)]()[a95_0x1d8275(0x14e)](),'schema':z[a95_0x1d8275(0x149)]()[a95_0x1d8275(0x144)](0x1,'schema\x20is\x20required'),'table':z[a95_0x1d8275(0x149)]()['min'](0x1,'table\x20is\x20required'),'key_column':z[a95_0x1d8275(0x149)]()[a95_0x1d8275(0x144)](0x1,a95_0x1d8275(0x152))});function a95_0x4d74(){const _0x281d04=['object','timestamp','938593MzISgg','boolean','optional','column\x20name\x20is\x20required','327904fGXorT','474758Bpwtui','key_column\x20is\x20required','655613fIqWjT','84ESgIZF','11zCqdeO','string_array','table_key\x20is\x20required','column\x20is\x20required','8320595iioChi','7668580MNsFGc','Audience\x20name\x20is\x20required','connection\x20is\x20required','enum','master_key\x20is\x20required','126HQZFWy','behavior\x20name\x20is\x20required','4GdEvdP','attribute\x20name\x20is\x20required','min','9jmvyJp','array','28817124MzsRDn','schema\x20is\x20required','string'];a95_0x4d74=function(){return _0x281d04;};return a95_0x4d74();}export const CASAttributeDefSchema=z[a95_0x1d8275(0x14a)]({'name':z[a95_0x1d8275(0x149)]()[a95_0x1d8275(0x144)](0x1,a95_0x1d8275(0x143)),'connection':z['string']()[a95_0x1d8275(0x144)](0x1,'connection\x20is\x20required'),'schema':z[a95_0x1d8275(0x149)]()['min'](0x1,a95_0x1d8275(0x148)),'table':z[a95_0x1d8275(0x149)]()[a95_0x1d8275(0x144)](0x1,'table\x20is\x20required'),'join':CASJoinDefSchema,'column':z['string']()[a95_0x1d8275(0x144)](0x1,a95_0x1d8275(0x158)),'type':CASIonTypeSchema});function a95_0x55f0(_0xb5c54a,_0x3598a8){_0xb5c54a=_0xb5c54a-0x13f;const _0x4d7466=a95_0x4d74();let _0x55f0d2=_0x4d7466[_0xb5c54a];return _0x55f0d2;}export const CASBehaviorColumnDefSchema=z[a95_0x1d8275(0x14a)]({'name':z[a95_0x1d8275(0x149)]()[a95_0x1d8275(0x144)](0x1,a95_0x1d8275(0x14f)),'type':CASIonTypeSchema,'column':z[a95_0x1d8275(0x149)]()['min'](0x1,'source\x20column\x20is\x20required')});export const CASBehaviorDefSchema=z[a95_0x1d8275(0x14a)]({'name':z[a95_0x1d8275(0x149)]()[a95_0x1d8275(0x144)](0x1,a95_0x1d8275(0x141)),'connection':z['string']()['min'](0x1,a95_0x1d8275(0x15c)),'schema':z[a95_0x1d8275(0x149)]()['min'](0x1,'schema\x20is\x20required'),'table':z[a95_0x1d8275(0x149)]()[a95_0x1d8275(0x144)](0x1,'table\x20is\x20required'),'join':CASJoinDefSchema,'time_column':z[a95_0x1d8275(0x149)]()['min'](0x1,'time_column\x20is\x20required'),'all_columns':z[a95_0x1d8275(0x14d)]()['optional'](),'columns':z[a95_0x1d8275(0x146)](CASBehaviorColumnDefSchema)[a95_0x1d8275(0x14e)]()});export const ComposableAudienceDefSchema=z['object']({'name':z['string']()['min'](0x1,a95_0x1d8275(0x15b)),'description':z[a95_0x1d8275(0x149)]()[a95_0x1d8275(0x14e)](),'timezone':z[a95_0x1d8275(0x149)]()[a95_0x1d8275(0x14e)](),'master':CASMasterDefSchema,'attributes':z[a95_0x1d8275(0x146)](CASAttributeDefSchema)[a95_0x1d8275(0x14e)](),'behaviors':z[a95_0x1d8275(0x146)](CASBehaviorDefSchema)[a95_0x1d8275(0x14e)]()});
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cas-audience-schema.js","sourceRoot":"","sources":["../../../src/sdk/cas/cas-audience-schema.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Composable Audience YAML Validator
|
|
3
|
+
*
|
|
4
|
+
* Validates composable audience definitions using a Zod schema with source location
|
|
5
|
+
* tracking, then runs semantic checks Zod cannot express (duplicate names, behavior
|
|
6
|
+
* column requirements, and — when a connector map is supplied — CDW connection
|
|
7
|
+
* platform/catalog checks). Mirrors the pattern in `segment-validator.ts` so
|
|
8
|
+
* `tdx cas validate` follows the same conventions as `tdx sg validate`.
|
|
9
|
+
*
|
|
10
|
+
* Scope note: a `connection:` value is NOT required to be registered in TD's connector
|
|
11
|
+
* list (`/v4/connectors`) — for Snowflake it's a federated_query_config (ZeroCopyConfig)
|
|
12
|
+
* ID, and for Databricks/BigQuery it's an authentication used to connect to the CDW; both
|
|
13
|
+
* are separate resources with their own ID namespaces, never listed alongside connectors.
|
|
14
|
+
* So when a connection value doesn't resolve there, that's expected, not a warning sign —
|
|
15
|
+
* `cas push` itself accepts it silently (see `resolveConnectionRef` in
|
|
16
|
+
* cas-audience-yaml.ts). Only when a value DOES resolve to a registered connector do we
|
|
17
|
+
* check its platform is supported and (for Databricks/BigQuery) that `catalog` is set —
|
|
18
|
+
* this cannot verify TD can actually reach the customer's CDW or that the referenced
|
|
19
|
+
* schema/table/columns exist there; that only happens server-side during an actual
|
|
20
|
+
* `tdx cas push` (the backend has no standalone endpoint for it).
|
|
21
|
+
*
|
|
22
|
+
* @module
|
|
23
|
+
*/
|
|
24
|
+
import { type ValidationResult, type ValidationContext } from '../segment/yaml-validator.js';
|
|
25
|
+
/** Connection name/ID → platform type map, built from `tdx.connection.list()`. */
|
|
26
|
+
export type CASConnectionTypeMap = Map<string, string>;
|
|
27
|
+
/** Options for validateComposableAudienceDef. */
|
|
28
|
+
export interface ValidateComposableAudienceOptions {
|
|
29
|
+
/** Skip Zod schema parsing (use when the input has already been parsed by the schema). */
|
|
30
|
+
skipSchema?: boolean;
|
|
31
|
+
/**
|
|
32
|
+
* Connection name → type map (from `tdx.connection.list()`). When provided (together with
|
|
33
|
+
* connectionIdToType), enables the platform/catalog checks for connections that resolve to
|
|
34
|
+
* a registered connector. Omit for pure offline/local validation (schema + semantic checks
|
|
35
|
+
* only).
|
|
36
|
+
*/
|
|
37
|
+
connectionNameToType?: CASConnectionTypeMap;
|
|
38
|
+
/** Connection ID → type map — see connectionNameToType. A `connection:` value may be either. */
|
|
39
|
+
connectionIdToType?: CASConnectionTypeMap;
|
|
40
|
+
/**
|
|
41
|
+
* Connection name → ID map (from `tdx.connection.list()`). Used to catch a Snowflake
|
|
42
|
+
* `connection:` value that matches a registered connector name — Snowflake needs a raw
|
|
43
|
+
* zero-copy config ID instead, so that's always a mistake (see
|
|
44
|
+
* isSnowflakeConnectorNameMisuse in cas-audience-yaml.ts).
|
|
45
|
+
*/
|
|
46
|
+
connectionNameToId?: CASConnectionTypeMap;
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Validate a composable audience definition using Zod schema + semantic checks.
|
|
50
|
+
*
|
|
51
|
+
* @param def - Raw parsed YAML object (unknown)
|
|
52
|
+
* @param context - Optional validation context with YAML source/document for location tracking
|
|
53
|
+
* @param options - Optional validation options
|
|
54
|
+
* @returns ValidationResult with errors and warnings
|
|
55
|
+
*/
|
|
56
|
+
export declare function validateComposableAudienceDef(def: unknown, context?: ValidationContext, options?: ValidateComposableAudienceOptions): ValidationResult;
|
|
57
|
+
//# sourceMappingURL=cas-audience-validator.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cas-audience-validator.d.ts","sourceRoot":"","sources":["../../../src/sdk/cas/cas-audience-validator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;GAsBG;AAaH,OAAO,EAKL,KAAK,gBAAgB,EAErB,KAAK,iBAAiB,EACvB,MAAM,8BAA8B,CAAC;AAMtC,kFAAkF;AAClF,MAAM,MAAM,oBAAoB,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAEvD,iDAAiD;AACjD,MAAM,WAAW,iCAAiC;IAChD,0FAA0F;IAC1F,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB;;;;;OAKG;IACH,oBAAoB,CAAC,EAAE,oBAAoB,CAAC;IAC5C,gGAAgG;IAChG,kBAAkB,CAAC,EAAE,oBAAoB,CAAC;IAC1C;;;;;OAKG;IACH,kBAAkB,CAAC,EAAE,oBAAoB,CAAC;CAC3C;AAED;;;;;;;GAOG;AACH,wBAAgB,6BAA6B,CAC3C,GAAG,EAAE,OAAO,EACZ,OAAO,GAAE,iBAAsB,EAC/B,OAAO,GAAE,iCAAsC,GAC9C,gBAAgB,CAYlB"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
(function(_0x590fed,_0x5579cd){const _0xc478fd=a96_0xd6af,_0x286a8b=_0x590fed();while(!![]){try{const _0x4ffd77=-parseInt(_0xc478fd(0x170))/0x1+parseInt(_0xc478fd(0x163))/0x2*(parseInt(_0xc478fd(0x133))/0x3)+-parseInt(_0xc478fd(0x151))/0x4*(-parseInt(_0xc478fd(0x16c))/0x5)+-parseInt(_0xc478fd(0x147))/0x6*(parseInt(_0xc478fd(0x168))/0x7)+-parseInt(_0xc478fd(0x16b))/0x8*(-parseInt(_0xc478fd(0x141))/0x9)+parseInt(_0xc478fd(0x150))/0xa*(-parseInt(_0xc478fd(0x16d))/0xb)+-parseInt(_0xc478fd(0x134))/0xc*(-parseInt(_0xc478fd(0x162))/0xd);if(_0x4ffd77===_0x5579cd)break;else _0x286a8b['push'](_0x286a8b['shift']());}catch(_0x1a9515){_0x286a8b['push'](_0x286a8b['shift']());}}}(a96_0x43a1,0xa13d6));import{ComposableAudienceDefSchema}from'./cas-audience-schema.js';import{CATALOG_PLATFORMS,SUPPORTED_PLATFORMS,connectorBaseType,isSnowflakeConnectorNameMisuse}from'./cas-audience-yaml.js';function a96_0x43a1(){const _0x5d0ecb=['path','.catalog','columns','Snowflake\x20composable\x20audiences\x20use\x20a\x20federated\x20query\x20config\x20(zero-copy\x20config)\x20ID\x20for\x20\x22connection\x22,\x20not\x20a\x20connector\x20name.\x20\x22','\x20names\x20must\x20be\x20unique\x20within\x20an\x20audience.','\x22\x20needs\x20either\x20\x22all_columns:\x20true\x22\x20or\x20a\x20non-empty\x20\x22columns\x22\x20list\x20—\x20the\x20backend\x20rejects\x20a\x20behavior\x20with\x20neither.','attributes[','all_columns','4962987nyUmWH','CAS_MISSING_CATALOG','].name','source','level','behaviors','5790PxaIQj','map','catalog','safeParse','connectionNameToType','Behavior','\x22.\x20Supported:\x20snowflake,\x20databricks,\x20bigquery.','behavior','data','77060NHddeY','8bHZGOH','CAS_UNSUPPORTED_CONNECTION_TYPE','has','attribute','filter','CAS_SCHEMA_ERROR','forEach','].connection','catalog\x20is\x20required\x20for\x20\x22','\x20name\x20\x22','length','Attribute',']).\x20','push','connection','get','attributes','39nvrChM','379954KBenyC','Unsupported\x20CDW\x20connection\x20type\x20\x22','success','master.connection','CAS_SNOWFLAKE_CONNECTOR_NAME_MISUSE','721tMqAFd','CAS_BEHAVIOR_MISSING_COLUMNS','issues','16QHIKoN','938545mthTnU','1144DAuyOp','error','\x22).','1232115rtMhqk','CAS_DUPLICATE_BEHAVIOR_NAME','name','\x22\x20connections\x20(connection\x20\x22','\x22\x20for\x20connection\x20\x22','behaviors[','warning','9yOGcaA','2980548FbEruu','master','connectionIdToType','document','skipSchema'];a96_0x43a1=function(){return _0x5d0ecb;};return a96_0x43a1();}import{formatZodPath,flattenZodIssues,getLocationFromPath,pathToArray}from'../segment/yaml-validator.js';export function validateComposableAudienceDef(_0xd0874d,_0x229317={},_0x11a206={}){const _0xca5d3e=a96_0xd6af;if(_0x11a206[_0xca5d3e(0x138)])return runSemanticChecks(_0xd0874d,_0x229317,_0x11a206);const _0x49f975=ComposableAudienceDefSchema[_0xca5d3e(0x14a)](_0xd0874d);if(_0x49f975[_0xca5d3e(0x165)])return runSemanticChecks(_0x49f975[_0xca5d3e(0x14f)],_0x229317,_0x11a206);return zodErrorsToValidationResult(_0x49f975[_0xca5d3e(0x16e)],_0x229317);}function zodErrorsToValidationResult(_0x21ac38,_0x4090f6){const _0x3b109f=a96_0xd6af,_0x300a62=flattenZodIssues(_0x21ac38[_0x3b109f(0x16a)]),_0x25c6cd=_0x300a62[_0x3b109f(0x148)](_0x20e56d=>{const _0x361c55=_0x3b109f,_0x5832b9=formatZodPath(_0x20e56d[_0x361c55(0x139)]),_0xb8d6e5=getLocationFromPath(_0x4090f6[_0x361c55(0x137)],_0x4090f6[_0x361c55(0x144)],_0x20e56d[_0x361c55(0x139)][_0x361c55(0x148)](_0x450ec9=>typeof _0x450ec9==='symbol'?String(_0x450ec9):_0x450ec9));return{'level':_0x361c55(0x16e),'path':_0x5832b9,'code':_0x361c55(0x156),'message':_0x20e56d['message'],..._0xb8d6e5&&{'location':_0xb8d6e5}};});return{'valid':![],'errors':_0x25c6cd,'warnings':[]};}function runSemanticChecks(_0x4d160c,_0x4038ae,_0x2245dd){const _0x1b5ab6=a96_0xd6af,_0x2be941=[...checkDuplicateNames(_0x4d160c,_0x4038ae),...checkBehaviorColumns(_0x4d160c,_0x4038ae)];(_0x2245dd[_0x1b5ab6(0x14b)]||_0x2245dd[_0x1b5ab6(0x136)])&&_0x2be941[_0x1b5ab6(0x15e)](...checkConnections(_0x4d160c,_0x2245dd[_0x1b5ab6(0x14b)]??new Map(),_0x2245dd[_0x1b5ab6(0x136)]??new Map(),_0x2245dd['connectionNameToId']??new Map(),_0x4038ae));const _0x4c83ca=_0x2be941[_0x1b5ab6(0x155)](_0x10c451=>_0x10c451[_0x1b5ab6(0x145)]==='error'),_0x4ec3da=_0x2be941[_0x1b5ab6(0x155)](_0x2c95ec=>_0x2c95ec['level']===_0x1b5ab6(0x132));return{'valid':_0x4c83ca[_0x1b5ab6(0x15b)]===0x0,'errors':_0x4c83ca,'warnings':_0x4ec3da};}function checkDuplicateNames(_0x5024d8,_0x2e5ec0){const _0x3b7c97=a96_0xd6af,_0xbba94a=[],_0x18ed59=(_0x167114,_0x47f78b,_0x49ae4b,_0x3e2faf)=>{const _0x2948fe=a96_0xd6af;if(!_0x167114?.['length'])return;const _0x528dc8=new Map();_0x167114[_0x2948fe(0x157)]((_0x1dd161,_0x25b05f)=>{const _0x46282c=_0x2948fe,_0x2d6668=_0x528dc8[_0x46282c(0x160)](_0x1dd161[_0x46282c(0x172)]);if(_0x2d6668!==undefined){const _0x57797d=_0x3e2faf+'['+_0x25b05f+_0x46282c(0x143);_0xbba94a['push']({'level':_0x46282c(0x16e),'path':_0x57797d,'code':_0x49ae4b,'message':(_0x47f78b===_0x46282c(0x154)?_0x46282c(0x15c):_0x46282c(0x14c))+_0x46282c(0x15a)+_0x1dd161[_0x46282c(0x172)]+'\x22\x20is\x20duplicated\x20(first\x20defined\x20at\x20'+_0x3e2faf+'['+_0x2d6668+_0x46282c(0x15d)+(_0x47f78b===_0x46282c(0x154)?_0x46282c(0x15c):'Behavior')+_0x46282c(0x13d),'location':getLocationFromPath(_0x2e5ec0['document'],_0x2e5ec0['source'],pathToArray(_0x57797d))});}else _0x528dc8['set'](_0x1dd161['name'],_0x25b05f);});};return _0x18ed59(_0x5024d8['attributes'],'attribute','CAS_DUPLICATE_ATTRIBUTE_NAME','attributes'),_0x18ed59(_0x5024d8['behaviors'],_0x3b7c97(0x14e),_0x3b7c97(0x171),_0x3b7c97(0x146)),_0xbba94a;}function a96_0xd6af(_0x3d024c,_0x46c34a){_0x3d024c=_0x3d024c-0x132;const _0x43a1b4=a96_0x43a1();let _0xd6af75=_0x43a1b4[_0x3d024c];return _0xd6af75;}function checkBehaviorColumns(_0x2e40c7,_0x3e3359){const _0x5de03c=a96_0xd6af,_0x32196b=[];return _0x2e40c7[_0x5de03c(0x146)]?.[_0x5de03c(0x157)]((_0x479b89,_0x49b91b)=>{const _0x57eb71=_0x5de03c;if(!_0x479b89[_0x57eb71(0x140)]&&!_0x479b89[_0x57eb71(0x13b)]?.[_0x57eb71(0x15b)]){const _0x1d743a='behaviors['+_0x49b91b+']';_0x32196b[_0x57eb71(0x15e)]({'level':'error','path':_0x1d743a,'code':_0x57eb71(0x169),'message':'Behavior\x20\x22'+_0x479b89[_0x57eb71(0x172)]+_0x57eb71(0x13e),'location':getLocationFromPath(_0x3e3359['document'],_0x3e3359[_0x57eb71(0x144)],pathToArray(_0x1d743a))});}}),_0x32196b;}function checkConnections(_0xe4f39c,_0x2594bd,_0x5e7160,_0x492a16,_0x376c92){const _0x239f7a=a96_0xd6af,_0x235737=[],_0x3e908b=(_0x2ed296,_0x4af280,_0x355c49)=>{const _0x9f36c9=a96_0xd6af,_0x3218c3=_0x2594bd[_0x9f36c9(0x160)](_0x2ed296)||_0x5e7160['get'](_0x2ed296);if(!_0x3218c3)return;const _0x4bd70f=connectorBaseType(_0x3218c3);if(!SUPPORTED_PLATFORMS[_0x9f36c9(0x153)](_0x4bd70f)){_0x235737['push']({'level':_0x9f36c9(0x16e),'path':_0x4af280,'code':_0x9f36c9(0x152),'message':_0x9f36c9(0x164)+_0x3218c3+_0x9f36c9(0x174)+_0x2ed296+_0x9f36c9(0x14d),'location':getLocationFromPath(_0x376c92[_0x9f36c9(0x137)],_0x376c92[_0x9f36c9(0x144)],pathToArray(_0x4af280))});return;}if(isSnowflakeConnectorNameMisuse(_0x4bd70f,_0x2ed296,_0x492a16)){_0x235737[_0x9f36c9(0x15e)]({'level':'error','path':_0x4af280,'code':_0x9f36c9(0x167),'message':_0x9f36c9(0x13c)+_0x2ed296+'\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).','location':getLocationFromPath(_0x376c92['document'],_0x376c92['source'],pathToArray(_0x4af280))});return;}if(_0x355c49!==undefined&&CATALOG_PLATFORMS[_0x9f36c9(0x153)](_0x4bd70f)&&!_0x355c49){const _0x49d8e7=_0x4af280['replace'](/\.connection$/,_0x9f36c9(0x13a));_0x235737[_0x9f36c9(0x15e)]({'level':_0x9f36c9(0x16e),'path':_0x49d8e7,'code':_0x9f36c9(0x142),'message':_0x9f36c9(0x159)+_0x4bd70f+_0x9f36c9(0x173)+_0x2ed296+_0x9f36c9(0x16f),'location':getLocationFromPath(_0x376c92['document'],_0x376c92[_0x9f36c9(0x144)],pathToArray(_0x49d8e7))});}};return _0x3e908b(_0xe4f39c[_0x239f7a(0x135)][_0x239f7a(0x15f)],_0x239f7a(0x166),_0xe4f39c[_0x239f7a(0x135)][_0x239f7a(0x149)]??''),_0xe4f39c[_0x239f7a(0x161)]?.[_0x239f7a(0x157)]((_0xdb530f,_0x20f1e8)=>{const _0x5a48ec=_0x239f7a;_0x3e908b(_0xdb530f[_0x5a48ec(0x15f)],_0x5a48ec(0x13f)+_0x20f1e8+_0x5a48ec(0x158));}),_0xe4f39c[_0x239f7a(0x146)]?.[_0x239f7a(0x157)]((_0x402b8f,_0x4b77de)=>{const _0x3f9093=_0x239f7a;_0x3e908b(_0x402b8f[_0x3f9093(0x15f)],_0x3f9093(0x175)+_0x4b77de+_0x3f9093(0x158));}),_0x235737;}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cas-audience-validator.js","sourceRoot":"","sources":["../../../src/sdk/cas/cas-audience-validator.ts"],"names":[],"mappings":"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"}
|
|
@@ -9,6 +9,37 @@
|
|
|
9
9
|
*/
|
|
10
10
|
import type { ComposableAudience, CreateComposableAudienceRequest } from '../types/cas.js';
|
|
11
11
|
import type { ComposableAudienceDef } from './types.js';
|
|
12
|
+
/**
|
|
13
|
+
* CDW connection base types that authenticate via connectionId + catalog (not federatedQueryConfigId).
|
|
14
|
+
* Exported so cas-audience-validator.ts can classify connections identically without duplicating
|
|
15
|
+
* the platform list (validate's checks must never drift from what push actually enforces).
|
|
16
|
+
*/
|
|
17
|
+
export declare const CATALOG_PLATFORMS: Set<string>;
|
|
18
|
+
/** CDW connection base types supported as a composable audience master/attribute/behavior source. */
|
|
19
|
+
export declare const SUPPORTED_PLATFORMS: Set<string>;
|
|
20
|
+
/**
|
|
21
|
+
* Strip a trailing version suffix (e.g. "bigquery_v2" -> "bigquery") for platform matching.
|
|
22
|
+
* TD connector types are commonly versioned this way (bigquery_v2, s3_v2, google_adwords_v2, ...)
|
|
23
|
+
* and the versioned variant is functionally the same CDW platform for CAS's purposes.
|
|
24
|
+
*/
|
|
25
|
+
export declare function connectorBaseType(type: string): string;
|
|
26
|
+
/**
|
|
27
|
+
* Connection name → type map (e.g. 'snowflake', 'databricks', 'bigquery', 'bigquery_v2'), used to
|
|
28
|
+
* decide whether a connection reference resolves to federatedQueryConfigId or connectionId.
|
|
29
|
+
*/
|
|
30
|
+
export type ConnectionTypeMap = Map<string, string>;
|
|
31
|
+
/**
|
|
32
|
+
* Snowflake composable audiences authenticate via a federated query config (zero-copy
|
|
33
|
+
* config) ID — a resource that has no "name" at all and is never listed by `tdx connections`
|
|
34
|
+
* (confirmed empirically: every real Snowflake composable audience pulled from the API shows
|
|
35
|
+
* a raw numeric ID for `connection`, e.g. "204", never a connector name). If the YAML value
|
|
36
|
+
* happens to match a REGISTERED CONNECTOR's name instead, that's a strong signal the user
|
|
37
|
+
* meant a connector the way Databricks/BigQuery use one — but Snowflake doesn't support that.
|
|
38
|
+
* Resolving it anyway would silently send that connector's ID as federatedQueryConfigId and
|
|
39
|
+
* fail server-side with an opaque "connection not found" error. Exported so
|
|
40
|
+
* cas-audience-validator.ts can catch the identical mistake before push ever runs.
|
|
41
|
+
*/
|
|
42
|
+
export declare function isSnowflakeConnectorNameMisuse(baseType: string, connectionName: string, connectionNameToId: Map<string, string>): boolean;
|
|
12
43
|
/**
|
|
13
44
|
* Connection ID → name mapping for pull operations
|
|
14
45
|
*/
|
|
@@ -20,7 +51,7 @@ export declare function apiToDef(audience: ComposableAudience, connectionMap: Co
|
|
|
20
51
|
/**
|
|
21
52
|
* Convert YAML definition → API request
|
|
22
53
|
*/
|
|
23
|
-
export declare function defToApi(def: ComposableAudienceDef, connectionNameToId: Map<string, string
|
|
54
|
+
export declare function defToApi(def: ComposableAudienceDef, connectionNameToId: Map<string, string>, connectionNameToType: ConnectionTypeMap, connectionIdToType: ConnectionTypeMap): CreateComposableAudienceRequest;
|
|
24
55
|
/**
|
|
25
56
|
* Serialize definition to YAML string
|
|
26
57
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cas-audience-yaml.d.ts","sourceRoot":"","sources":["../../../src/sdk/cas/cas-audience-yaml.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EACV,kBAAkB,EAGlB,+BAA+B,EAChC,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,qBAAqB,EAAmC,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"cas-audience-yaml.d.ts","sourceRoot":"","sources":["../../../src/sdk/cas/cas-audience-yaml.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAGH,OAAO,KAAK,EACV,kBAAkB,EAGlB,+BAA+B,EAChC,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,qBAAqB,EAAmC,MAAM,YAAY,CAAC;AAGzF;;;;GAIG;AACH,eAAO,MAAM,iBAAiB,aAAsC,CAAC;AAErE,qGAAqG;AACrG,eAAO,MAAM,mBAAmB,aAAmD,CAAC;AAEpF;;;;GAIG;AACH,wBAAgB,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAEtD;AAED;;;GAGG;AACH,MAAM,MAAM,iBAAiB,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAEpD;;;;;;;;;;GAUG;AACH,wBAAgB,8BAA8B,CAC5C,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,EACtB,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GACtC,OAAO,CAET;AA2CD;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAEhD;;GAEG;AACH,wBAAgB,QAAQ,CACtB,QAAQ,EAAE,kBAAkB,EAC5B,aAAa,EAAE,aAAa,GAC3B,qBAAqB,CA4BvB;AAuCD;;GAEG;AACH,wBAAgB,QAAQ,CACtB,GAAG,EAAE,qBAAqB,EAC1B,kBAAkB,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EACvC,oBAAoB,EAAE,iBAAiB,EACvC,kBAAkB,EAAE,iBAAiB,GACpC,+BAA+B,CAuFjC;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,GAAG,EAAE,qBAAqB,GAAG,MAAM,CAE/D;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,UAAU,EAAE,MAAM,GAAG,qBAAqB,CAElE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
const a97_0x57cf49=a97_0x4337;(function(_0x52f37b,_0x38bf18){const _0x4fd89a=a97_0x4337,_0xf44400=_0x52f37b();while(!![]){try{const _0x302096=parseInt(_0x4fd89a(0xf2))/0x1+-parseInt(_0x4fd89a(0x114))/0x2+-parseInt(_0x4fd89a(0x106))/0x3+-parseInt(_0x4fd89a(0x117))/0x4+parseInt(_0x4fd89a(0xfd))/0x5*(parseInt(_0x4fd89a(0xe4))/0x6)+parseInt(_0x4fd89a(0x100))/0x7*(parseInt(_0x4fd89a(0x102))/0x8)+-parseInt(_0x4fd89a(0xe0))/0x9;if(_0x302096===_0x38bf18)break;else _0xf44400['push'](_0xf44400['shift']());}catch(_0x413c6a){_0xf44400['push'](_0xf44400['shift']());}}}(a97_0xc42b,0xa110f));function a97_0x4337(_0x1dd4f6,_0x4a3174){_0x1dd4f6=_0x1dd4f6-0xdf;const _0xc42be3=a97_0xc42b();let _0x4337a0=_0xc42be3[_0x1dd4f6];return _0x4337a0;}import*as a97_0x22c782 from'yaml';import{SDKError,ErrorCode}from'../errors.js';export const CATALOG_PLATFORMS=new Set([a97_0x57cf49(0xe9),'bigquery']);function a97_0xc42b(){const _0x45248c=['columns','master','192084hsqYan','all_columns','6911973LTTRAA','master_key','type','federatedQueryConfigId','2586erKusl','description','masterKey','\x22\x20(connection\x20\x22','masterCatalog','databricks','Behavior\x20\x22','bigquery','masterSchema','get','connectionId','schema','Unsupported\x20CDW\x20connection\x20type\x20for\x20composable\x20audience:\x20\x22','length','1131956eqOZKi','masterTable','key_column','name','time_column','tableKey','masterKeyColumn','toLowerCase','snowflake','allColumns','catalog','12310GlPlHX','table','catalog\x20is\x20required\x20for\x20\x22','14AyGYab','attributes','2838952jktUtf','column','stringify','replace','811224hvoMhf','table_key','\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).','\x22).','timeColumn','connection','INVALID_ARGUMENT','has','\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).','behaviors','columnMapping','timezone','map','join','2313326JkWxIk'];a97_0xc42b=function(){return _0x45248c;};return a97_0xc42b();}export const SUPPORTED_PLATFORMS=new Set([a97_0x57cf49(0xfa),a97_0x57cf49(0xe9),a97_0x57cf49(0xeb)]);export function connectorBaseType(_0x2bbc52){const _0x3b3cf1=a97_0x57cf49;return _0x2bbc52[_0x3b3cf1(0xf9)]()[_0x3b3cf1(0x105)](/_v\d+$/,'');}export function isSnowflakeConnectorNameMisuse(_0xf95cd2,_0xc7d1a2,_0x218a0a){const _0x309ca2=a97_0x57cf49;return _0xf95cd2===_0x309ca2(0xfa)&&_0x218a0a[_0x309ca2(0x10d)](_0xc7d1a2);}function resolveConnectionRef(_0x463e5a,_0x4b6f3d,_0x4044cc,_0x298cc4){const _0x54a944=a97_0x57cf49,_0x418626=_0x4b6f3d[_0x54a944(0xed)](_0x463e5a)||_0x463e5a,_0x213d76=_0x4044cc[_0x54a944(0xed)](_0x463e5a)||_0x298cc4[_0x54a944(0xed)](_0x463e5a)||'',_0x5ef6de=connectorBaseType(_0x213d76);if(_0x5ef6de&&!SUPPORTED_PLATFORMS[_0x54a944(0x10d)](_0x5ef6de))throw new SDKError(ErrorCode[_0x54a944(0x10c)],_0x54a944(0xf0)+_0x213d76+_0x54a944(0xe7)+_0x463e5a+'\x22).\x20Supported:\x20snowflake,\x20databricks,\x20bigquery.');if(isSnowflakeConnectorNameMisuse(_0x5ef6de,_0x463e5a,_0x4b6f3d))throw new SDKError(ErrorCode[_0x54a944(0x10c)],'Snowflake\x20composable\x20audiences\x20use\x20a\x20federated\x20query\x20config\x20(zero-copy\x20config)\x20ID\x20for\x20\x22connection\x22,\x20not\x20a\x20connector\x20name.\x20\x22'+_0x463e5a+_0x54a944(0x10e));if(CATALOG_PLATFORMS[_0x54a944(0x10d)](_0x5ef6de))return{'connectionId':_0x418626,'type':_0x5ef6de};return{'federatedQueryConfigId':_0x418626,'type':_0x5ef6de};}export function apiToDef(_0x4b5977,_0xf7594b){const _0x1d6c92=a97_0x57cf49,_0x1d7d52=_0x431965=>{const _0x58dfba=a97_0x4337;if(!_0x431965)return'';return _0xf7594b[_0x58dfba(0xed)](_0x431965)||_0x431965;},_0x575389={'name':_0x4b5977[_0x1d6c92(0xf5)],..._0x4b5977[_0x1d6c92(0xe5)]&&{'description':_0x4b5977[_0x1d6c92(0xe5)]},..._0x4b5977[_0x1d6c92(0x111)]&&{'timezone':_0x4b5977[_0x1d6c92(0x111)]},'master':{'connection':_0x1d7d52(_0x4b5977['connectionId']??_0x4b5977[_0x1d6c92(0xe3)]),..._0x4b5977[_0x1d6c92(0xe8)]&&{'catalog':_0x4b5977['masterCatalog']},'schema':_0x4b5977[_0x1d6c92(0xec)],'table':_0x4b5977[_0x1d6c92(0xf3)],'key_column':_0x4b5977[_0x1d6c92(0xf8)]}};return _0x4b5977['attributes']?.[_0x1d6c92(0xf1)]&&(_0x575389[_0x1d6c92(0x101)]=_0x4b5977[_0x1d6c92(0x101)][_0x1d6c92(0x112)](_0x3d0790=>apiAttributeToDef(_0x3d0790,_0xf7594b))),_0x4b5977[_0x1d6c92(0x10f)]?.[_0x1d6c92(0xf1)]&&(_0x575389['behaviors']=_0x4b5977[_0x1d6c92(0x10f)]['map'](_0x4f8cb5=>apiBehaviorToDef(_0x4f8cb5,_0xf7594b))),_0x575389;}function apiAttributeToDef(_0x60cc2b,_0x44581c){const _0x38bdb4=a97_0x57cf49,_0x1fc564=_0x60cc2b['connectionId']??_0x60cc2b[_0x38bdb4(0xe3)],_0x5c9800=_0x44581c[_0x38bdb4(0xed)](_0x1fc564||'')||_0x1fc564||'';return{'name':_0x60cc2b[_0x38bdb4(0xf5)],'connection':_0x5c9800,'schema':_0x60cc2b[_0x38bdb4(0xef)],'table':_0x60cc2b[_0x38bdb4(0xfe)],'join':{'table_key':_0x60cc2b[_0x38bdb4(0xf7)],'master_key':_0x60cc2b[_0x38bdb4(0xe6)]},'column':_0x60cc2b['column'],'type':_0x60cc2b[_0x38bdb4(0xe2)]};}function apiBehaviorToDef(_0x394b06,_0x4b082a){const _0x42643e=a97_0x57cf49,_0x137027=_0x394b06[_0x42643e(0xee)]??_0x394b06[_0x42643e(0xe3)],_0xc6dac3=_0x4b082a[_0x42643e(0xed)](_0x137027||'')||_0x137027||'';return{'name':_0x394b06[_0x42643e(0xf5)],'connection':_0xc6dac3,'schema':_0x394b06[_0x42643e(0xef)],'table':_0x394b06[_0x42643e(0xfe)],'join':{'table_key':_0x394b06[_0x42643e(0xf7)],'master_key':_0x394b06[_0x42643e(0xe6)]},'time_column':_0x394b06[_0x42643e(0x10a)]||'',..._0x394b06[_0x42643e(0xfb)]&&{'all_columns':_0x394b06[_0x42643e(0xfb)]},..._0x394b06['columnMapping']?.[_0x42643e(0xf1)]&&{'columns':_0x394b06[_0x42643e(0x110)]['map'](_0x160048=>({'name':_0x160048[_0x42643e(0xf5)],'type':_0x160048[_0x42643e(0xe2)],'column':_0x160048['cdwColumn']}))}};}export function defToApi(_0x464c47,_0x5e7465,_0x503bb9,_0x39b705){const _0x3454c8=a97_0x57cf49,_0x52a79f=resolveConnectionRef(_0x464c47[_0x3454c8(0x116)][_0x3454c8(0x10b)],_0x5e7465,_0x503bb9,_0x39b705);if(CATALOG_PLATFORMS[_0x3454c8(0x10d)](_0x52a79f['type'])&&!_0x464c47[_0x3454c8(0x116)][_0x3454c8(0xfc)])throw new SDKError(ErrorCode[_0x3454c8(0x10c)],_0x3454c8(0xff)+_0x52a79f[_0x3454c8(0xe2)]+'\x22\x20connections\x20(set\x20master.catalog\x20in\x20the\x20audience\x20YAML\x20for\x20\x22'+_0x464c47['master'][_0x3454c8(0x10b)]+_0x3454c8(0x109));return{'name':_0x464c47['name'],'description':_0x464c47[_0x3454c8(0xe5)]??'',..._0x464c47[_0x3454c8(0x111)]&&{'timezone':_0x464c47[_0x3454c8(0x111)]},'master':{..._0x52a79f['federatedQueryConfigId']&&{'federatedQueryConfigId':_0x52a79f['federatedQueryConfigId']},..._0x52a79f[_0x3454c8(0xee)]&&{'connectionId':_0x52a79f[_0x3454c8(0xee)]},..._0x464c47['master'][_0x3454c8(0xfc)]&&{'catalog':_0x464c47[_0x3454c8(0x116)][_0x3454c8(0xfc)]},'schema':_0x464c47[_0x3454c8(0x116)][_0x3454c8(0xef)],'table':_0x464c47['master']['table'],'keyColumn':_0x464c47[_0x3454c8(0x116)][_0x3454c8(0xf4)]},..._0x464c47[_0x3454c8(0x101)]?.['length']&&{'attributes':_0x464c47[_0x3454c8(0x101)]['map'](_0x342745=>{const _0x3fee52=_0x3454c8,_0x4ede84=resolveConnectionRef(_0x342745['connection'],_0x5e7465,_0x503bb9,_0x39b705);return{'name':_0x342745[_0x3fee52(0xf5)],..._0x4ede84['federatedQueryConfigId']&&{'federatedQueryConfigId':_0x4ede84[_0x3fee52(0xe3)]},..._0x4ede84['connectionId']&&{'connectionId':_0x4ede84[_0x3fee52(0xee)]},'schema':_0x342745[_0x3fee52(0xef)],'table':_0x342745['table'],'tableKey':_0x342745[_0x3fee52(0x113)][_0x3fee52(0x107)],'masterKey':_0x342745[_0x3fee52(0x113)][_0x3fee52(0xe1)],'column':_0x342745[_0x3fee52(0x103)],'type':_0x342745[_0x3fee52(0xe2)]};})},..._0x464c47[_0x3454c8(0x10f)]?.[_0x3454c8(0xf1)]&&{'behaviors':_0x464c47[_0x3454c8(0x10f)][_0x3454c8(0x112)](_0x4c9859=>{const _0x2aa946=_0x3454c8,_0x2d9580=resolveConnectionRef(_0x4c9859['connection'],_0x5e7465,_0x503bb9,_0x39b705);if(!_0x4c9859[_0x2aa946(0xdf)]&&!_0x4c9859['columns']?.[_0x2aa946(0xf1)])throw new SDKError(ErrorCode[_0x2aa946(0x10c)],_0x2aa946(0xea)+_0x4c9859[_0x2aa946(0xf5)]+_0x2aa946(0x108));return{'name':_0x4c9859[_0x2aa946(0xf5)],..._0x2d9580['federatedQueryConfigId']&&{'federatedQueryConfigId':_0x2d9580[_0x2aa946(0xe3)]},..._0x2d9580[_0x2aa946(0xee)]&&{'connectionId':_0x2d9580[_0x2aa946(0xee)]},'schema':_0x4c9859[_0x2aa946(0xef)],'table':_0x4c9859[_0x2aa946(0xfe)],'tableKey':_0x4c9859[_0x2aa946(0x113)][_0x2aa946(0x107)],'masterKey':_0x4c9859[_0x2aa946(0x113)]['master_key'],..._0x4c9859['time_column']&&{'timeColumn':_0x4c9859[_0x2aa946(0xf6)]},..._0x4c9859[_0x2aa946(0xdf)]&&{'allColumns':_0x4c9859[_0x2aa946(0xdf)]},..._0x4c9859['columns']?.[_0x2aa946(0xf1)]&&{'columnMapping':_0x4c9859[_0x2aa946(0x115)][_0x2aa946(0x112)](_0x3a04a7=>({'name':_0x3a04a7[_0x2aa946(0xf5)],'type':_0x3a04a7[_0x2aa946(0xe2)],'cdwColumn':_0x3a04a7['column']}))}};})}};}export function serializeDef(_0x4b6424){const _0xe7451b=a97_0x57cf49;return a97_0x22c782[_0xe7451b(0x104)](_0x4b6424,{'lineWidth':0x78});}export function parseDef(_0x5f0e54){return a97_0x22c782['parse'](_0x5f0e54);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cas-audience-yaml.js","sourceRoot":"","sources":["../../../src/sdk/cas/cas-audience-yaml.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"cas-audience-yaml.js","sourceRoot":"","sources":["../../../src/sdk/cas/cas-audience-yaml.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAQ7B,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAEnD;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC;AAErE,qGAAqG;AACrG,MAAM,CAAC,MAAM,mBAAmB,GAAG,IAAI,GAAG,CAAC,CAAC,WAAW,EAAE,YAAY,EAAE,UAAU,CAAC,CAAC,CAAC;AAEpF;;;;GAIG;AACH,MAAM,UAAU,iBAAiB,CAAC,IAAY;IAC5C,OAAO,IAAI,CAAC,WAAW,EAAE,CAAC,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;AAClD,CAAC;AAQD;;;;;;;;;;GAUG;AACH,MAAM,UAAU,8BAA8B,CAC5C,QAAgB,EAChB,cAAsB,EACtB,kBAAuC;IAEvC,OAAO,QAAQ,KAAK,WAAW,IAAI,kBAAkB,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC;AAC5E,CAAC;AAED;;;;;;;;;GASG;AACH,SAAS,oBAAoB,CAC3B,cAAsB,EACtB,kBAAuC,EACvC,oBAAuC,EACvC,kBAAqC;IAErC,MAAM,EAAE,GAAG,kBAAkB,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,cAAc,CAAC;IACpE,MAAM,OAAO,GACX,oBAAoB,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,kBAAkB,CAAC,GAAG,CAAC,cAAc,CAAC,IAAI,EAAE,CAAC;IAC3F,MAAM,QAAQ,GAAG,iBAAiB,CAAC,OAAO,CAAC,CAAC;IAE5C,IAAI,QAAQ,IAAI,CAAC,mBAAmB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QACnD,MAAM,IAAI,QAAQ,CAChB,SAAS,CAAC,gBAAgB,EAC1B,6DAA6D,OAAO,kBAAkB,cAAc,iDAAiD,CACtJ,CAAC;IACJ,CAAC;IAED,IAAI,8BAA8B,CAAC,QAAQ,EAAE,cAAc,EAAE,kBAAkB,CAAC,EAAE,CAAC;QACjF,MAAM,IAAI,QAAQ,CAChB,SAAS,CAAC,gBAAgB,EAC1B,8HAA8H,cAAc,ySAAyS,CACtb,CAAC;IACJ,CAAC;IAED,IAAI,iBAAiB,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;QACpC,OAAO,EAAE,YAAY,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;IAC9C,CAAC;IACD,OAAO,EAAE,sBAAsB,EAAE,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC;AACxD,CAAC;AAOD;;GAEG;AACH,MAAM,UAAU,QAAQ,CACtB,QAA4B,EAC5B,aAA4B;IAE5B,MAAM,qBAAqB,GAAG,CAAC,EAAW,EAAU,EAAE;QACpD,IAAI,CAAC,EAAE;YAAE,OAAO,EAAE,CAAC;QACnB,OAAO,aAAa,CAAC,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC;IACrC,CAAC,CAAC;IAEF,MAAM,GAAG,GAA0B;QACjC,IAAI,EAAE,QAAQ,CAAC,IAAI;QACnB,GAAG,CAAC,QAAQ,CAAC,WAAW,IAAI,EAAE,WAAW,EAAE,QAAQ,CAAC,WAAW,EAAE,CAAC;QAClE,GAAG,CAAC,QAAQ,CAAC,QAAQ,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,QAAQ,EAAE,CAAC;QACzD,MAAM,EAAE;YACN,UAAU,EAAE,qBAAqB,CAAC,QAAQ,CAAC,YAAY,IAAI,QAAQ,CAAC,sBAAsB,CAAC;YAC3F,GAAG,CAAC,QAAQ,CAAC,aAAa,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,aAAa,EAAE,CAAC;YAClE,MAAM,EAAE,QAAQ,CAAC,YAAY;YAC7B,KAAK,EAAE,QAAQ,CAAC,WAAW;YAC3B,UAAU,EAAE,QAAQ,CAAC,eAAe;SACrC;KACF,CAAC;IAEF,IAAI,QAAQ,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC;QAChC,GAAG,CAAC,UAAU,GAAG,QAAQ,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,iBAAiB,CAAC,IAAI,EAAE,aAAa,CAAC,CAAC,CAAC;IAC7F,CAAC;IAED,IAAI,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,CAAC;QAC/B,GAAG,CAAC,SAAS,GAAG,QAAQ,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,gBAAgB,CAAC,GAAG,EAAE,aAAa,CAAC,CAAC,CAAC;IACxF,CAAC;IAED,OAAO,GAAG,CAAC;AACb,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAkB,EAAE,aAA4B;IACzE,MAAM,EAAE,GAAG,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,sBAAsB,CAAC;IAC5D,MAAM,cAAc,GAAG,aAAa,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;IAC/D,OAAO;QACL,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,UAAU,EAAE,cAAc;QAC1B,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,KAAK,EAAE,IAAI,CAAC,KAAK;QACjB,IAAI,EAAE;YACJ,SAAS,EAAE,IAAI,CAAC,QAAQ;YACxB,UAAU,EAAE,IAAI,CAAC,SAAS;SAC3B;QACD,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,IAAI,EAAE,IAAI,CAAC,IAAI;KAChB,CAAC;AACJ,CAAC;AAED,SAAS,gBAAgB,CAAC,GAAgB,EAAE,aAA4B;IACtE,MAAM,EAAE,GAAG,GAAG,CAAC,YAAY,IAAI,GAAG,CAAC,sBAAsB,CAAC;IAC1D,MAAM,cAAc,GAAG,aAAa,CAAC,GAAG,CAAC,EAAE,IAAI,EAAE,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC;IAC/D,OAAO;QACL,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,UAAU,EAAE,cAAc;QAC1B,MAAM,EAAE,GAAG,CAAC,MAAM;QAClB,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,IAAI,EAAE;YACJ,SAAS,EAAE,GAAG,CAAC,QAAQ;YACvB,UAAU,EAAE,GAAG,CAAC,SAAS;SAC1B;QACD,WAAW,EAAE,GAAG,CAAC,UAAU,IAAI,EAAE;QACjC,GAAG,CAAC,GAAG,CAAC,UAAU,IAAI,EAAE,WAAW,EAAE,GAAG,CAAC,UAAU,EAAE,CAAC;QACtD,GAAG,CAAC,GAAG,CAAC,aAAa,EAAE,MAAM,IAAI;YAC/B,OAAO,EAAE,GAAG,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC,SAAS,EAAE,CAAC,CAAC;SAC7F,CAAC;KACH,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,QAAQ,CACtB,GAA0B,EAC1B,kBAAuC,EACvC,oBAAuC,EACvC,kBAAqC;IAErC,MAAM,SAAS,GAAG,oBAAoB,CACpC,GAAG,CAAC,MAAM,CAAC,UAAU,EACrB,kBAAkB,EAClB,oBAAoB,EACpB,kBAAkB,CACnB,CAAC;IAEF,IAAI,iBAAiB,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACjE,MAAM,IAAI,QAAQ,CAChB,SAAS,CAAC,gBAAgB,EAC1B,4BAA4B,SAAS,CAAC,IAAI,+DAA+D,GAAG,CAAC,MAAM,CAAC,UAAU,KAAK,CACpI,CAAC;IACJ,CAAC;IAED,OAAO;QACL,IAAI,EAAE,GAAG,CAAC,IAAI;QACd,0EAA0E;QAC1E,WAAW,EAAE,GAAG,CAAC,WAAW,IAAI,EAAE;QAClC,GAAG,CAAC,GAAG,CAAC,QAAQ,IAAI,EAAE,QAAQ,EAAE,GAAG,CAAC,QAAQ,EAAE,CAAC;QAC/C,MAAM,EAAE;YACN,GAAG,CAAC,SAAS,CAAC,sBAAsB,IAAI;gBACtC,sBAAsB,EAAE,SAAS,CAAC,sBAAsB;aACzD,CAAC;YACF,GAAG,CAAC,SAAS,CAAC,YAAY,IAAI,EAAE,YAAY,EAAE,SAAS,CAAC,YAAY,EAAE,CAAC;YACvE,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,IAAI,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YAC1D,MAAM,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM;YACzB,KAAK,EAAE,GAAG,CAAC,MAAM,CAAC,KAAK;YACvB,SAAS,EAAE,GAAG,CAAC,MAAM,CAAC,UAAU;SACjC;QACD,GAAG,CAAC,GAAG,CAAC,UAAU,EAAE,MAAM,IAAI;YAC5B,UAAU,EAAE,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE;gBACtC,MAAM,GAAG,GAAG,oBAAoB,CAC9B,IAAI,CAAC,UAAU,EACf,kBAAkB,EAClB,oBAAoB,EACpB,kBAAkB,CACnB,CAAC;gBACF,OAAO;oBACL,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,GAAG,CAAC,GAAG,CAAC,sBAAsB,IAAI,EAAE,sBAAsB,EAAE,GAAG,CAAC,sBAAsB,EAAE,CAAC;oBACzF,GAAG,CAAC,GAAG,CAAC,YAAY,IAAI,EAAE,YAAY,EAAE,GAAG,CAAC,YAAY,EAAE,CAAC;oBAC3D,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,QAAQ,EAAE,IAAI,CAAC,IAAI,CAAC,SAAS;oBAC7B,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,UAAU;oBAC/B,MAAM,EAAE,IAAI,CAAC,MAAM;oBACnB,IAAI,EAAE,IAAI,CAAC,IAAI;iBAChB,CAAC;YACJ,CAAC,CAAC;SACH,CAAC;QACF,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,MAAM,IAAI;YAC3B,SAAS,EAAE,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE;gBACnC,MAAM,GAAG,GAAG,oBAAoB,CAC9B,GAAG,CAAC,UAAU,EACd,kBAAkB,EAClB,oBAAoB,EACpB,kBAAkB,CACnB,CAAC;gBACF,IAAI,CAAC,GAAG,CAAC,WAAW,IAAI,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,CAAC;oBAC7C,MAAM,IAAI,QAAQ,CAChB,SAAS,CAAC,gBAAgB,EAC1B,aAAa,GAAG,CAAC,IAAI,mJAAmJ,CACzK,CAAC;gBACJ,CAAC;gBAED,OAAO;oBACL,IAAI,EAAE,GAAG,CAAC,IAAI;oBACd,GAAG,CAAC,GAAG,CAAC,sBAAsB,IAAI,EAAE,sBAAsB,EAAE,GAAG,CAAC,sBAAsB,EAAE,CAAC;oBACzF,GAAG,CAAC,GAAG,CAAC,YAAY,IAAI,EAAE,YAAY,EAAE,GAAG,CAAC,YAAY,EAAE,CAAC;oBAC3D,MAAM,EAAE,GAAG,CAAC,MAAM;oBAClB,KAAK,EAAE,GAAG,CAAC,KAAK;oBAChB,QAAQ,EAAE,GAAG,CAAC,IAAI,CAAC,SAAS;oBAC5B,SAAS,EAAE,GAAG,CAAC,IAAI,CAAC,UAAU;oBAC9B,GAAG,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,UAAU,EAAE,GAAG,CAAC,WAAW,EAAE,CAAC;oBACvD,GAAG,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,UAAU,EAAE,GAAG,CAAC,WAAW,EAAE,CAAC;oBACvD,GAAG,CAAC,GAAG,CAAC,OAAO,EAAE,MAAM,IAAI;wBACzB,aAAa,EAAE,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;4BACrC,IAAI,EAAE,CAAC,CAAC,IAAI;4BACZ,IAAI,EAAE,CAAC,CAAC,IAAI;4BACZ,SAAS,EAAE,CAAC,CAAC,MAAM;yBACpB,CAAC,CAAC;qBACJ,CAAC;iBACH,CAAC;YACJ,CAAC,CAAC;SACH,CAAC;KACH,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,GAA0B;IACrD,OAAO,IAAI,CAAC,SAAS,CAAC,GAAG,EAAE,EAAE,SAAS,EAAE,GAAG,EAAE,CAAC,CAAC;AACjD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,QAAQ,CAAC,UAAkB;IACzC,OAAO,IAAI,CAAC,KAAK,CAAC,UAAU,CAA0B,CAAC;AACzD,CAAC"}
|
|
@@ -8,8 +8,8 @@
|
|
|
8
8
|
* - PULL: ComposableSegment + ComposableActivation[] → CASSegmentDef → YAML
|
|
9
9
|
* - PUSH: YAML → CASSegmentDef → API requests
|
|
10
10
|
*/
|
|
11
|
-
import type { ComposableSegment, ComposableActivation, CreateComposableSegmentRequest } from '../types/cas.js';
|
|
12
|
-
import type { CASSegmentDef } from './types.js';
|
|
11
|
+
import type { ComposableSegment, ComposableActivation, CreateComposableSegmentRequest, CreateComposableActivationRequest } from '../types/cas.js';
|
|
12
|
+
import type { CASSegmentDef, CASActivationDef } from './types.js';
|
|
13
13
|
import type { ConnectionMap } from './cas-audience-yaml.js';
|
|
14
14
|
/**
|
|
15
15
|
* Folder ID → path mapping
|
|
@@ -21,8 +21,36 @@ export type FolderMap = Map<string, string>;
|
|
|
21
21
|
export declare function segmentApiToDef(segment: ComposableSegment, activations: ComposableActivation[], folderMap: FolderMap, connectionMap: ConnectionMap): CASSegmentDef;
|
|
22
22
|
/**
|
|
23
23
|
* Convert YAML definition → API create request (segment only, not activations)
|
|
24
|
+
*
|
|
25
|
+
* `description` is always sent (defaulting to '') — the backend rejects a nil description,
|
|
26
|
+
* so omitting the field entirely for a description-less segment fails with a 400.
|
|
27
|
+
*
|
|
28
|
+
* `segmentFolderId` is always resolved too — the backend requires it even for a segment
|
|
29
|
+
* with no `folder:` (root placement); there's no "omit for root" default like folder
|
|
30
|
+
* *creation* has. `folderPathToId`'s `''` entry (from buildFolderPathToIdMap) already holds
|
|
31
|
+
* the audience's root folder ID, so looking up `def.folder ?? ''` covers both cases.
|
|
24
32
|
*/
|
|
25
33
|
export declare function defToSegmentApi(def: CASSegmentDef, audienceId: string, folderPathToId?: Map<string, string>): CreateComposableSegmentRequest;
|
|
34
|
+
/**
|
|
35
|
+
* Convert an activation definition → API create request (name/connectionId resolved by caller).
|
|
36
|
+
*
|
|
37
|
+
* Requires `name`, `connection`, and either `all_columns: true` or a non-empty `columns` list
|
|
38
|
+
* (mirrors the same all_columns/columns requirement composable audience behaviors have) —
|
|
39
|
+
* throws before ever calling the API if any of these are missing, matching this codebase's
|
|
40
|
+
* fail-fast client-side validation convention for backend-required fields that YAML's schema
|
|
41
|
+
* alone can't express (composable segment YAML isn't Zod-validated the way audience YAML is,
|
|
42
|
+
* so a malformed/misindented activation entry only surfaces here, at push time).
|
|
43
|
+
*
|
|
44
|
+
* `segmentName` is used only to make the error identify which segment's activations file has
|
|
45
|
+
* the problem — composable segment YAML has no schema validation ahead of push, so this is
|
|
46
|
+
* often the first place a structural mistake (e.g. a misindented `activations:` list item)
|
|
47
|
+
* becomes visible at all.
|
|
48
|
+
*
|
|
49
|
+
* Schedule/notification fields are flattened onto the request — the wire format has no nested
|
|
50
|
+
* "schedule" object (see ComposableActivation's doc comment); `def.schedule`'s nesting exists
|
|
51
|
+
* only in the human-facing YAML.
|
|
52
|
+
*/
|
|
53
|
+
export declare function activationDefToApi(def: CASActivationDef, connectionId: string, segmentName: string): Omit<CreateComposableActivationRequest, 'composableSegmentId'>;
|
|
26
54
|
/**
|
|
27
55
|
* Serialize segment definition to YAML string
|
|
28
56
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cas-segment-yaml.d.ts","sourceRoot":"","sources":["../../../src/sdk/cas/cas-segment-yaml.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,KAAK,EACV,iBAAiB,EACjB,oBAAoB,EACpB,8BAA8B,
|
|
1
|
+
{"version":3,"file":"cas-segment-yaml.d.ts","sourceRoot":"","sources":["../../../src/sdk/cas/cas-segment-yaml.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAGH,OAAO,KAAK,EACV,iBAAiB,EACjB,oBAAoB,EACpB,8BAA8B,EAC9B,iCAAiC,EAClC,MAAM,iBAAiB,CAAC;AACzB,OAAO,KAAK,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAClE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,wBAAwB,CAAC;AAG5D;;GAEG;AACH,MAAM,MAAM,SAAS,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAE5C;;GAEG;AACH,wBAAgB,eAAe,CAC7B,OAAO,EAAE,iBAAiB,EAC1B,WAAW,EAAE,oBAAoB,EAAE,EACnC,SAAS,EAAE,SAAS,EACpB,aAAa,EAAE,aAAa,GAC3B,aAAa,CAiBf;AA2CD;;;;;;;;;;GAUG;AACH,wBAAgB,eAAe,CAC7B,GAAG,EAAE,aAAa,EAClB,UAAU,EAAE,MAAM,EAClB,cAAc,CAAC,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,GACnC,8BAA8B,CAUhC;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,kBAAkB,CAChC,GAAG,EAAE,gBAAgB,EACrB,YAAY,EAAE,MAAM,EACpB,WAAW,EAAE,MAAM,GAClB,IAAI,CAAC,iCAAiC,EAAE,qBAAqB,CAAC,CAwChE;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,aAAa,GAAG,MAAM,CAE9D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,aAAa,CAEjE;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CAAC,GAAG,EAAE,OAAO,GAAG,GAAG,IAAI,aAAa,CAOzE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x29c253,_0x2dd1f8){const _0x45c4b1=a98_0x575e,_0x10f02d=_0x29c253();while(!![]){try{const _0x55ccc6=parseInt(_0x45c4b1(0x184))/0x1+parseInt(_0x45c4b1(0x168))/0x2*(-parseInt(_0x45c4b1(0x15c))/0x3)+-parseInt(_0x45c4b1(0x177))/0x4+parseInt(_0x45c4b1(0x161))/0x5*(-parseInt(_0x45c4b1(0x183))/0x6)+-parseInt(_0x45c4b1(0x15e))/0x7*(parseInt(_0x45c4b1(0x178))/0x8)+-parseInt(_0x45c4b1(0x159))/0x9*(parseInt(_0x45c4b1(0x174))/0xa)+parseInt(_0x45c4b1(0x154))/0xb;if(_0x55ccc6===_0x2dd1f8)break;else _0x10f02d['push'](_0x10f02d['shift']());}catch(_0x5e7b1e){_0x10f02d['push'](_0x10f02d['shift']());}}}(a98_0x1fa3,0x47d41));import*as a98_0x20384b from'yaml';import{SDKError,ErrorCode}from'../errors.js';export function segmentApiToDef(_0x568e0c,_0x3bc5d2,_0x1e1712,_0x106ce6){const _0x393dc7=a98_0x575e,_0x6eaf06={'type':_0x393dc7(0x16d),'name':_0x568e0c['name'],..._0x568e0c[_0x393dc7(0x167)]&&{'description':_0x568e0c[_0x393dc7(0x167)]},..._0x568e0c['folderId']&&_0x1e1712['has'](_0x568e0c[_0x393dc7(0x173)])&&{'folder':_0x1e1712[_0x393dc7(0x15a)](_0x568e0c[_0x393dc7(0x173)])},..._0x568e0c[_0x393dc7(0x15f)]&&{'rule':_0x568e0c[_0x393dc7(0x15f)]}};return _0x3bc5d2[_0x393dc7(0x185)]>0x0&&(_0x6eaf06[_0x393dc7(0x175)]=_0x3bc5d2[_0x393dc7(0x186)](_0x4f57c5=>activationApiToDef(_0x4f57c5,_0x106ce6))),_0x6eaf06;}function activationApiToDef(_0x234d05,_0x2fc184){const _0x52dfd2=a98_0x575e,_0x889ad9=_0x2fc184[_0x52dfd2(0x15a)](_0x234d05[_0x52dfd2(0x169)]||'')||_0x234d05['connectionId']||'',_0x50c073={..._0x234d05[_0x52dfd2(0x166)]&&{'type':_0x234d05['scheduleType']},..._0x234d05['timezone']&&{'timezone':_0x234d05[_0x52dfd2(0x171)]},..._0x234d05[_0x52dfd2(0x17e)]&&{'repeat_unit':_0x234d05[_0x52dfd2(0x17e)]},..._0x234d05[_0x52dfd2(0x181)]!==undefined&&{'repeat_frequency':_0x234d05[_0x52dfd2(0x181)]},..._0x234d05[_0x52dfd2(0x182)]&&{'start_at':_0x234d05[_0x52dfd2(0x182)]},..._0x234d05[_0x52dfd2(0x17b)]!==undefined&&_0x234d05[_0x52dfd2(0x17b)]!==null&&{'end_on':_0x234d05[_0x52dfd2(0x17b)]},..._0x234d05[_0x52dfd2(0x16c)]?.['length']&&{'notify_on':_0x234d05['notifyOn']},..._0x234d05['emailRecipients']?.['length']&&{'email_recipients':_0x234d05[_0x52dfd2(0x15d)]}};return{'name':_0x234d05[_0x52dfd2(0x162)],'connection':_0x889ad9,..._0x234d05[_0x52dfd2(0x167)]&&{'description':_0x234d05[_0x52dfd2(0x167)]},..._0x234d05[_0x52dfd2(0x16e)]&&{'connector_config':_0x234d05[_0x52dfd2(0x16e)]},..._0x234d05[_0x52dfd2(0x163)]&&{'all_columns':_0x234d05[_0x52dfd2(0x163)]},..._0x234d05[_0x52dfd2(0x16b)]?.[_0x52dfd2(0x185)]&&{'columns':_0x234d05[_0x52dfd2(0x16b)][_0x52dfd2(0x17d)](_0x546c3e=>_0x546c3e['column']||_0x546c3e['name'])[_0x52dfd2(0x186)](_0x250edc=>({'name':_0x250edc[_0x52dfd2(0x158)]||_0x250edc[_0x52dfd2(0x162)],'type':_0x250edc[_0x52dfd2(0x157)]}))},...Object[_0x52dfd2(0x156)](_0x50c073)[_0x52dfd2(0x185)]>0x0&&{'schedule':_0x50c073}};}export function defToSegmentApi(_0x167b5c,_0x2622ea,_0x18b6ff){const _0x106901=a98_0x575e;return{'name':_0x167b5c[_0x106901(0x162)],'composableAudienceId':_0x2622ea,'description':_0x167b5c[_0x106901(0x167)]??'',..._0x18b6ff&&{'segmentFolderId':_0x18b6ff[_0x106901(0x15a)](_0x167b5c[_0x106901(0x179)]??'')},..._0x167b5c[_0x106901(0x15f)]&&{'rule':_0x167b5c[_0x106901(0x15f)]}};}function a98_0x575e(_0x54124f,_0x48de46){_0x54124f=_0x54124f-0x153;const _0x1fa340=a98_0x1fa3();let _0x575e51=_0x1fa340[_0x54124f];return _0x575e51;}export function activationDefToApi(_0x46703a,_0x50f7ac,_0x5279b9){const _0x44def1=a98_0x575e;if(!_0x46703a[_0x44def1(0x162)])throw new SDKError(ErrorCode[_0x44def1(0x17f)],'An\x20activation\x20under\x20segment\x20\x22'+_0x5279b9+_0x44def1(0x16f));if(!_0x46703a['connection'])throw new SDKError(ErrorCode[_0x44def1(0x17f)],_0x44def1(0x15b)+_0x46703a['name']+_0x44def1(0x176)+_0x5279b9+'\x22)\x20is\x20missing\x20\x22connection\x22.');if(!_0x46703a[_0x44def1(0x17c)]&&!_0x46703a[_0x44def1(0x16b)]?.['length'])throw new SDKError(ErrorCode['INVALID_ARGUMENT'],'Activation\x20\x22'+_0x46703a[_0x44def1(0x162)]+_0x44def1(0x176)+_0x5279b9+'\x22)\x20needs\x20either\x20\x22all_columns:\x20true\x22\x20or\x20a\x20non-empty\x20\x22columns\x22\x20list\x20(set\x20columns\x20in\x20the\x20segment\x20YAML,\x20or\x20all_columns:\x20true\x20to\x20export\x20every\x20column).');const _0x1e6f30=_0x46703a[_0x44def1(0x17a)];return{'name':_0x46703a['name'],'connectionId':_0x50f7ac,..._0x46703a[_0x44def1(0x167)]&&{'description':_0x46703a[_0x44def1(0x167)]},..._0x46703a[_0x44def1(0x165)]&&{'connectorConfig':_0x46703a['connector_config']},..._0x46703a[_0x44def1(0x17c)]&&{'allColumns':_0x46703a['all_columns']},..._0x46703a[_0x44def1(0x16b)]?.['length']&&{'columns':_0x46703a[_0x44def1(0x16b)][_0x44def1(0x186)](_0x3af989=>({'name':_0x3af989['name'],'type':_0x3af989['type']}))},..._0x1e6f30?.[_0x44def1(0x157)]&&{'scheduleType':_0x1e6f30[_0x44def1(0x157)]},..._0x1e6f30?.[_0x44def1(0x171)]&&{'timezone':_0x1e6f30[_0x44def1(0x171)]},..._0x1e6f30?.[_0x44def1(0x16a)]&&{'repeatUnit':_0x1e6f30[_0x44def1(0x16a)]},..._0x1e6f30?.[_0x44def1(0x160)]!==undefined&&{'repeatFrequency':_0x1e6f30[_0x44def1(0x160)]},..._0x1e6f30?.[_0x44def1(0x180)]&&{'startAt':_0x1e6f30[_0x44def1(0x180)]},..._0x1e6f30?.['end_on']!==undefined&&{'endOn':_0x1e6f30[_0x44def1(0x170)]},..._0x1e6f30?.[_0x44def1(0x164)]?.[_0x44def1(0x185)]&&{'notifyOn':_0x1e6f30[_0x44def1(0x164)]},..._0x1e6f30?.[_0x44def1(0x172)]?.[_0x44def1(0x185)]&&{'emailRecipients':_0x1e6f30[_0x44def1(0x172)]}};}export function serializeSegmentDef(_0x2aa6de){const _0x4c38a0=a98_0x575e;return a98_0x20384b[_0x4c38a0(0x155)](_0x2aa6de,{'lineWidth':0x78});}function a98_0x1fa3(){const _0x4c53b8=['composable_segment','connectorConfig','\x22\x20is\x20missing\x20\x22name\x22\x20—\x20check\x20the\x20indentation\x20of\x20its\x20entry\x20under\x20\x22activations:\x22\x20(each\x20activation\x20needs\x20its\x20own\x20\x22-\x20name:\x20...\x22\x20at\x20the\x20same\x20level\x20as\x20\x22connection:\x22).','end_on','timezone','email_recipients','folderId','791030IlbPUI','activations','\x22\x20(under\x20segment\x20\x22','1112520NyXMTO','1561016yRgSQe','folder','schedule','endOn','all_columns','filter','repeatUnit','INVALID_ARGUMENT','start_at','repeatFrequency','startAt','911946dNtQHW','55125odfcjc','length','map','parse','19551752EqPBsZ','stringify','keys','type','column','18vutuZF','get','Activation\x20\x22','2913BsvNCA','emailRecipients','21UtgBCo','rule','repeat_frequency','10rmMwFq','name','allColumns','notify_on','connector_config','scheduleType','description','438Nyyhxj','connectionId','repeat_unit','columns','notifyOn'];a98_0x1fa3=function(){return _0x4c53b8;};return a98_0x1fa3();}export function parseSegmentDef(_0xde8887){const _0x1c5a0e=a98_0x575e;return a98_0x20384b[_0x1c5a0e(0x153)](_0xde8887);}export function isComposableSegmentDef(_0x17ce8f){const _0x2df7fe=a98_0x575e;return typeof _0x17ce8f==='object'&&_0x17ce8f!==null&&'type'in _0x17ce8f&&_0x17ce8f['type']===_0x2df7fe(0x16d);}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cas-segment-yaml.js","sourceRoot":"","sources":["../../../src/sdk/cas/cas-segment-yaml.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"cas-segment-yaml.js","sourceRoot":"","sources":["../../../src/sdk/cas/cas-segment-yaml.ts"],"names":[],"mappings":"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"}
|
package/dist/sdk/cas/index.d.ts
CHANGED
|
@@ -45,6 +45,27 @@ export declare class CASSDK {
|
|
|
45
45
|
* Push YAML files to CAS API
|
|
46
46
|
*/
|
|
47
47
|
push(files: string[], options?: CASPushOptions): Promise<CASPushResult>;
|
|
48
|
+
/**
|
|
49
|
+
* Delete a single composable child segment by name, under the given audience. Single-named-
|
|
50
|
+
* target only (not a directory/bulk prune) — see push-workflow.ts's deleteComposableSegment
|
|
51
|
+
* doc comment.
|
|
52
|
+
*
|
|
53
|
+
* Prefer `deleteSegmentById` when the caller has already resolved the segment (e.g. to check
|
|
54
|
+
* it exists before confirming) — this method re-lists and re-resolves by name internally,
|
|
55
|
+
* which is an extra round-trip and a TOCTOU window: if a different segment gets created under
|
|
56
|
+
* the same name between the caller's own lookup and this call, this would delete that one
|
|
57
|
+
* instead of the one the caller actually confirmed.
|
|
58
|
+
*/
|
|
59
|
+
deleteSegment(audienceNameOrId: string, segmentName: string): Promise<{
|
|
60
|
+
id: string;
|
|
61
|
+
}>;
|
|
62
|
+
/**
|
|
63
|
+
* Delete a composable child segment by its already-resolved ID — no name/audience lookup, no
|
|
64
|
+
* re-resolution. Use this whenever the caller already has the segment's ID from its own prior
|
|
65
|
+
* lookup, to avoid both an extra round-trip and the race `deleteSegment`'s doc comment
|
|
66
|
+
* describes.
|
|
67
|
+
*/
|
|
68
|
+
deleteSegmentById(segmentId: string): Promise<void>;
|
|
48
69
|
/**
|
|
49
70
|
* Resolve segment name → ID within an audience
|
|
50
71
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/sdk/cas/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,KAAK,EACV,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,EACpB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,cAAc,EACpB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/sdk/cas/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAC9C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,KAAK,EACV,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,EAChB,mBAAmB,EACpB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAEL,KAAK,aAAa,EAClB,KAAK,cAAc,EACpB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAGL,KAAK,aAAa,EAClB,KAAK,cAAc,EACpB,MAAM,oBAAoB,CAAC;AAG5B,YAAY,EAAE,WAAW,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACrF,YAAY,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACxE,YAAY,EAAE,qBAAqB,EAAE,aAAa,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEzF;;GAEG;AACH,qBAAa,MAAM;IACjB,OAAO,CAAC,MAAM,CAAe;IAC7B,yDAAyD;IACzD,cAAc,CAAC,EAAE,aAAa,CAAC;gBAEnB,OAAO,EAAE,UAAU;IAI/B,OAAO,KAAK,UAAU,GAKrB;IAED;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,kBAAkB,EAAE,CAAC;IAI3C;;OAEG;IACG,GAAG,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAexD;;OAEG;IACG,iBAAiB,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAK1D;;OAEG;IACG,YAAY,CAAC,gBAAgB,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC;IAK1E;;OAEG;IACG,IAAI,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;IAY7E;;OAEG;IACG,IAAI,CAAC,KAAK,EAAE,MAAM,EAAE,EAAE,OAAO,CAAC,EAAE,cAAc,GAAG,OAAO,CAAC,aAAa,CAAC;IAW7E;;;;;;;;;;OAUG;IACG,aAAa,CAAC,gBAAgB,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAA;KAAE,CAAC;IAK3F;;;;;OAKG;IACG,iBAAiB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIzD;;OAEG;IACG,gBAAgB,CAAC,gBAAgB,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAW1F;;;OAGG;IACG,OAAO,CACX,gBAAgB,EAAE,MAAM,EACxB,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC;QAAE,KAAK,EAAE,gBAAgB,CAAC;QAAC,SAAS,CAAC,EAAE,mBAAmB,CAAA;KAAE,CAAC;CA+BzE"}
|