@treasuredata/tdx 2026.8.4 → 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.js +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.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/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.js +1 -1
- package/dist/proxy/sse-usage-parser.js +1 -1
- package/dist/sdk/agent/agent-config.js +1 -1
- package/dist/sdk/agent/agent-ref-parser.js +1 -1
- package/dist/sdk/agent/agent-yaml.js +1 -1
- package/dist/sdk/agent/test/evaluator.js +1 -1
- package/dist/sdk/agent/test/executor.js +1 -1
- package/dist/sdk/agent/test/index.js +1 -1
- package/dist/sdk/agent/test/output.js +1 -1
- package/dist/sdk/agent/test/parser.js +1 -1
- package/dist/sdk/agent/tool-target-registry.js +1 -1
- package/dist/sdk/api.js +1 -1
- package/dist/sdk/auth-token.js +1 -1
- package/dist/sdk/cas/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.js +1 -1
- package/dist/sdk/client/engage-api-client.js +1 -1
- package/dist/sdk/client/http-client.js +1 -1
- package/dist/sdk/client/llm-api-client.js +1 -1
- package/dist/sdk/client/oauth-refresh.js +1 -1
- package/dist/sdk/client/p13n-studio-api-client.js +1 -1
- package/dist/sdk/client/rate-limiter.js +1 -1
- package/dist/sdk/client/td-api-client.js +1 -1
- package/dist/sdk/client/trino-api-client.js +1 -1
- package/dist/sdk/client/workflow-client.js +1 -1
- package/dist/sdk/connection-validator.js +1 -1
- package/dist/sdk/connection.js +1 -1
- package/dist/sdk/delivery.js +1 -1
- package/dist/sdk/engage/always-on-campaign-pull.js +1 -1
- package/dist/sdk/engage/always-on-campaign-push.js +1 -1
- package/dist/sdk/engage/always-on-campaign-validator.js +1 -1
- package/dist/sdk/engage/always-on-campaign-yaml.js +1 -1
- package/dist/sdk/engage/campaign-pull.js +1 -1
- package/dist/sdk/engage/campaign-push.js +1 -1
- package/dist/sdk/engage/campaign-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.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/p13n-studio.js +1 -1
- package/dist/sdk/personalization.js +1 -1
- package/dist/sdk/policy.js +1 -1
- package/dist/sdk/query/deleted-table-validation.js +1 -1
- package/dist/sdk/query/index.js +1 -1
- package/dist/sdk/query/sql-parser.js +1 -1
- package/dist/sdk/realtime.js +1 -1
- package/dist/sdk/schedule.js +1 -1
- package/dist/sdk/segment/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.js +1 -1
- package/dist/sdk/types/progress.js +1 -1
- package/dist/sdk/types/workspace.js +1 -1
- package/dist/sdk/user.js +1 -1
- package/dist/sdk/util/format-detector.js +1 -1
- package/dist/sdk/util/formatters.js +1 -1
- package/dist/sdk/util/index.js +1 -1
- package/dist/sdk/util/paginate.js +1 -1
- package/dist/sdk/util/tree-formatter.js +1 -1
- package/dist/sdk/util/tree-search.js +1 -1
- package/dist/sdk/workflow/archive-validation.js +1 -1
- package/dist/sdk/workflow/clone-workflow.js +1 -1
- package/dist/sdk/workflow/index.js +1 -1
- package/dist/sdk/workflow/pull-workflow.js +1 -1
- package/dist/sdk/workflow/push-workflow.js +1 -1
- package/dist/sdk/workflow/task-graph.js +1 -1
- package/dist/sdk/workflow/tdx-config.js +1 -1
- package/dist/sdk/workflow/workflow-utils.js +1 -1
- package/dist/sdk/workspace/access-tracker.js +1 -1
- package/dist/sdk/workspace/frontmatter.js +1 -1
- package/dist/sdk/workspace/git.js +1 -1
- package/dist/sdk/workspace/index.js +1 -1
- package/dist/sdk/workspace/templates.js +1 -1
- package/dist/sdk/workspace/weekly.js +1 -1
- package/dist/sdk/workspace/wikilinks.js +1 -1
- package/dist/test-utils/command-runner.js +1 -1
- package/dist/test-utils/factories.js +1 -1
- package/dist/test-utils/fixtures.js +1 -1
- package/dist/test-utils/http-mock.js +1 -1
- package/dist/test-utils/index.js +1 -1
- package/dist/utils/async.js +1 -1
- package/dist/utils/claude-code-state.js +1 -1
- package/dist/utils/colors.js +1 -1
- package/dist/utils/diff.js +1 -1
- package/dist/utils/file-permissions.js +1 -1
- package/dist/utils/file-reader.js +1 -1
- package/dist/utils/github-releases.js +1 -1
- package/dist/utils/global-cache.js +1 -1
- package/dist/utils/json-loader.js +1 -1
- package/dist/utils/local-cache.js +1 -1
- package/dist/utils/logger/formatters/default-formatter.js +1 -1
- package/dist/utils/logger/formatters/index.js +1 -1
- package/dist/utils/logger/handlers/console-handler.js +1 -1
- package/dist/utils/logger/handlers/file-handler.js +1 -1
- package/dist/utils/logger/handlers/index.js +1 -1
- package/dist/utils/logger/handlers/null-handler.js +1 -1
- package/dist/utils/logger/index.js +1 -1
- package/dist/utils/logger/logger.js +1 -1
- package/dist/utils/logger/types.js +1 -1
- package/dist/utils/option-validation.js +1 -1
- package/dist/utils/process.js +1 -1
- package/dist/utils/prompt.js +1 -1
- package/dist/utils/proxy-fetch.js +1 -1
- package/dist/utils/spinner.js +1 -1
- package/dist/utils/sse-parser.js +1 -1
- package/dist/utils/string-utils.js +1 -1
- package/dist/utils/table-ref-parser.js +1 -1
- package/dist/utils/tdx-logger.js +1 -1
- package/dist/utils/version-check.js +1 -1
- package/package.json +1 -1
|
@@ -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":"AAAA;;;;;;;;;;;;;;;GAeG;AAGH,OAAO,EACL,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,GAGjB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EACL,aAAa,EACb,gBAAgB,EAChB,mBAAmB,EACnB,WAAW,GAIZ,MAAM,8BAA8B,CAAC;AActC;;;;;;GAMG;AACH,MAAM,UAAU,6BAA6B,CAC3C,IAAa,EACb,UAA6B,EAAE,EAC/B,UAAgD,EAAE;IAElD,MAAM,MAAM,GAAG,oBAAoB,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IAEpD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;QACpB,OAAO,2BAA2B,CAAC,MAAM,CAAC,KAAK,EAAE,OAAO,CAAC,CAAC;IAC5D,CAAC;IAED,MAAM,MAAM,GAAsB,EAAE,CAAC;IACrC,IAAI,OAAO,CAAC,kBAAkB,EAAE,CAAC;QAC/B,MAAM,CAAC,IAAI,CAAC,GAAG,mBAAmB,CAAC,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,kBAAkB,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;IAChG,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;AAC9D,CAAC;AAED,SAAS,2BAA2B,CAClC,KAAiB,EACjB,OAA0B;IAE1B,MAAM,UAAU,GAAG,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IAElD,MAAM,MAAM,GAAsB,UAAU,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE;QACzD,MAAM,IAAI,GAAG,QAAQ,aAAa,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;QACjD,MAAM,QAAQ,GAAG,mBAAmB,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,EAAE,WAAW,CAAC,IAAI,CAAC,CAAC,CAAC;QAE1F,OAAO;YACL,KAAK,EAAE,OAAgB;YACvB,IAAI;YACJ,IAAI,EAAE,0BAAmC;YACzC,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,GAAG,CAAC,QAAQ,IAAI,EAAE,QAAQ,EAAE,CAAC;SAC9B,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC;AAChD,CAAC;AAED;;;;;;GAMG;AACH,SAAS,mBAAmB,CAC1B,IAA6B,EAC7B,kBAA+B,EAC/B,OAA0B,EAC1B,IAAY;IAEZ,MAAM,MAAM,GAAsB,EAAE,CAAC;IAErC,IAAI,gBAAgB,CAAC,IAAI,CAAC,EAAE,CAAC;QAC3B,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,CAAC,EAAE,EAAE;YACnC,MAAM,CAAC,IAAI,CACT,GAAG,mBAAmB,CAAC,KAAK,EAAE,kBAAkB,EAAE,OAAO,EAAE,GAAG,IAAI,eAAe,CAAC,GAAG,CAAC,CACvF,CAAC;QACJ,CAAC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC;IAChB,CAAC;IAED,sFAAsF;IACtF,mEAAmE;IACnE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC;QAAE,OAAO,MAAM,CAAC;IAE3C,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC;IACjC,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;QAClC,MAAM,QAAQ,GAAG,GAAG,IAAI,iBAAiB,CAAC;QAC1C,MAAM,UAAU,GAAG,eAAe,CAAC,IAAI,EAAE,kBAAkB,CAAC,CAAC;QAC7D,MAAM,CAAC,IAAI,CAAC;YACV,KAAK,EAAE,OAAO;YACd,IAAI,EAAE,QAAQ;YACd,IAAI,EAAE,4BAA4B;YAClC,OAAO,EAAE,UAAU;gBACjB,CAAC,CAAC,mBAAmB,IAAI,gFAAgF,UAAU,0HAA0H;gBAC7O,CAAC,CAAC,mBAAmB,IAAI,oLAAoL;YAC/M,QAAQ,EAAE,mBAAmB,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,MAAM,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC;SACvF,CAAC,CAAC;IACL,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,2FAA2F;AAC3F,SAAS,eAAe,CAAC,IAAY,EAAE,UAAuB;IAC5D,MAAM,KAAK,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;IACjC,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IAAI,SAAS,CAAC,WAAW,EAAE,KAAK,KAAK;YAAE,OAAO,SAAS,CAAC;IAC1D,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,uBAAuB,CAAC,MAAwB;IAC9D,OAAO,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,CAAC,IAAI,KAAK,KAAK,CAAC,OAAO,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACxF,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,UAAU,yBAAyB,CAAC,QAIzC;IACC,MAAM,KAAK,GAAG,IAAI,GAAG,EAAU,CAAC;IAChC,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACvD,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACtD,IAAI,QAAQ,CAAC,eAAe,EAAE,CAAC;QAC7B,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC;QACpC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,eAAe,CAAC,WAAW,EAAE,CAAC,CAAC;IACpD,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,6FAA6F;AAC7F,MAAM,UAAU,yBAAyB,CAAC,GAIzC;IACC,OAAO,yBAAyB,CAAC;QAC/B,UAAU,EAAE,GAAG,CAAC,UAAU;QAC1B,SAAS,EAAE,GAAG,CAAC,SAAS;QACxB,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,UAAU;KACxC,CAAC,CAAC;AACL,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
(function(
|
|
1
|
+
(function(_0x55c686,_0x2d2c79){const _0x3e163e=a106_0x489b,_0x58a3f9=_0x55c686();while(!![]){try{const _0x3582c8=parseInt(_0x3e163e(0x152))/0x1*(-parseInt(_0x3e163e(0x158))/0x2)+parseInt(_0x3e163e(0x170))/0x3*(-parseInt(_0x3e163e(0x16b))/0x4)+-parseInt(_0x3e163e(0x15e))/0x5+parseInt(_0x3e163e(0x154))/0x6*(parseInt(_0x3e163e(0x14e))/0x7)+-parseInt(_0x3e163e(0x16a))/0x8+-parseInt(_0x3e163e(0x153))/0x9*(-parseInt(_0x3e163e(0x17a))/0xa)+parseInt(_0x3e163e(0x167))/0xb*(parseInt(_0x3e163e(0x162))/0xc);if(_0x3582c8===_0x2d2c79)break;else _0x58a3f9['push'](_0x58a3f9['shift']());}catch(_0x1ef27b){_0x58a3f9['push'](_0x58a3f9['shift']());}}}(a106_0x2f74,0x88714));function a106_0x489b(_0x31c229,_0x2952bc){_0x31c229=_0x31c229-0x148;const _0x2f7486=a106_0x2f74();let _0x489b2b=_0x2f7486[_0x31c229];return _0x489b2b;}import*as a106_0x4da64e from'yaml';import{SDKError,ErrorCode}from'../errors.js';export function segmentApiToDef(_0x60fffc,_0x7a809e,_0x87909b,_0x163af7){const _0x2ccc78=a106_0x489b,_0x5c5cd7={'type':_0x2ccc78(0x14d),'name':_0x60fffc['name'],..._0x60fffc[_0x2ccc78(0x17b)]&&{'description':_0x60fffc['description']},..._0x60fffc['folderId']&&_0x87909b[_0x2ccc78(0x15d)](_0x60fffc[_0x2ccc78(0x173)])&&{'folder':_0x87909b['get'](_0x60fffc['folderId'])},..._0x60fffc[_0x2ccc78(0x161)]&&{'rule':_0x60fffc[_0x2ccc78(0x161)]}};return _0x7a809e[_0x2ccc78(0x172)]>0x0&&(_0x5c5cd7[_0x2ccc78(0x17d)]=_0x7a809e[_0x2ccc78(0x157)](_0x158a26=>activationApiToDef(_0x158a26,_0x163af7))),_0x5c5cd7;}function activationApiToDef(_0x40738c,_0x406dd4){const _0x50a9fb=a106_0x489b,_0x5df814=_0x406dd4[_0x50a9fb(0x179)](_0x40738c[_0x50a9fb(0x156)]||'')||_0x40738c[_0x50a9fb(0x156)]||'',_0x395859={..._0x40738c[_0x50a9fb(0x169)]&&{'type':_0x40738c[_0x50a9fb(0x169)]},..._0x40738c[_0x50a9fb(0x16c)]&&{'timezone':_0x40738c[_0x50a9fb(0x16c)]},..._0x40738c[_0x50a9fb(0x159)]&&{'repeat_unit':_0x40738c['repeatUnit']},..._0x40738c[_0x50a9fb(0x16e)]!==undefined&&{'repeat_frequency':_0x40738c[_0x50a9fb(0x16e)]},..._0x40738c[_0x50a9fb(0x15f)]&&{'start_at':_0x40738c[_0x50a9fb(0x15f)]},..._0x40738c[_0x50a9fb(0x177)]!==undefined&&_0x40738c[_0x50a9fb(0x177)]!==null&&{'end_on':_0x40738c['endOn']},..._0x40738c[_0x50a9fb(0x17c)]?.[_0x50a9fb(0x172)]&&{'notify_on':_0x40738c[_0x50a9fb(0x17c)]},..._0x40738c['emailRecipients']?.['length']&&{'email_recipients':_0x40738c[_0x50a9fb(0x160)]}};return{'name':_0x40738c[_0x50a9fb(0x151)],'connection':_0x5df814,..._0x40738c[_0x50a9fb(0x17b)]&&{'description':_0x40738c[_0x50a9fb(0x17b)]},..._0x40738c['connectorConfig']&&{'connector_config':_0x40738c['connectorConfig']},..._0x40738c[_0x50a9fb(0x175)]&&{'all_columns':_0x40738c[_0x50a9fb(0x175)]},..._0x40738c[_0x50a9fb(0x15a)]?.[_0x50a9fb(0x172)]&&{'columns':_0x40738c['columns'][_0x50a9fb(0x149)](_0x1ea7e0=>_0x1ea7e0[_0x50a9fb(0x165)]||_0x1ea7e0['name'])['map'](_0x4839f4=>({'name':_0x4839f4[_0x50a9fb(0x165)]||_0x4839f4[_0x50a9fb(0x151)],'type':_0x4839f4[_0x50a9fb(0x166)]}))},...Object[_0x50a9fb(0x15c)](_0x395859)['length']>0x0&&{'schedule':_0x395859}};}function a106_0x2f74(){const _0x3addf4=['42860XfjPxS','description','notifyOn','activations','folder','filter','connector_config','email_recipients','repeat_frequency','composable_segment','21CyvNBR','all_columns','Activation\x20\x22','name','19vaOQwW','2043qWDmNy','1254894jvKNQS','An\x20activation\x20under\x20segment\x20\x22','connectionId','map','11470uimVgS','repeatUnit','columns','INVALID_ARGUMENT','keys','has','3625205scuVnd','startAt','emailRecipients','rule','12aHmJzo','repeat_unit','\x22\x20(under\x20segment\x20\x22','column','type','9902706xJGJyQ','schedule','scheduleType','5135672AdYvqR','931564YejSft','timezone','start_at','repeatFrequency','stringify','6UVLRXU','\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).','length','folderId','notify_on','allColumns','end_on','endOn','object','get'];a106_0x2f74=function(){return _0x3addf4;};return a106_0x2f74();}export function defToSegmentApi(_0x5ac3bf,_0xef98dd,_0x561312){const _0x2f0366=a106_0x489b;return{'name':_0x5ac3bf[_0x2f0366(0x151)],'composableAudienceId':_0xef98dd,'description':_0x5ac3bf['description']??'',..._0x561312&&{'segmentFolderId':_0x561312[_0x2f0366(0x179)](_0x5ac3bf[_0x2f0366(0x148)]??'')},..._0x5ac3bf[_0x2f0366(0x161)]&&{'rule':_0x5ac3bf[_0x2f0366(0x161)]}};}export function activationDefToApi(_0x476ee5,_0x145046,_0x1fc359){const _0x153c2c=a106_0x489b;if(!_0x476ee5[_0x153c2c(0x151)])throw new SDKError(ErrorCode[_0x153c2c(0x15b)],_0x153c2c(0x155)+_0x1fc359+'\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).');if(!_0x476ee5['connection'])throw new SDKError(ErrorCode[_0x153c2c(0x15b)],'Activation\x20\x22'+_0x476ee5['name']+_0x153c2c(0x164)+_0x1fc359+'\x22)\x20is\x20missing\x20\x22connection\x22.');if(!_0x476ee5[_0x153c2c(0x14f)]&&!_0x476ee5[_0x153c2c(0x15a)]?.[_0x153c2c(0x172)])throw new SDKError(ErrorCode[_0x153c2c(0x15b)],_0x153c2c(0x150)+_0x476ee5[_0x153c2c(0x151)]+_0x153c2c(0x164)+_0x1fc359+_0x153c2c(0x171));const _0x37b641=_0x476ee5[_0x153c2c(0x168)];return{'name':_0x476ee5[_0x153c2c(0x151)],'connectionId':_0x145046,..._0x476ee5['description']&&{'description':_0x476ee5[_0x153c2c(0x17b)]},..._0x476ee5[_0x153c2c(0x14a)]&&{'connectorConfig':_0x476ee5[_0x153c2c(0x14a)]},..._0x476ee5[_0x153c2c(0x14f)]&&{'allColumns':_0x476ee5['all_columns']},..._0x476ee5['columns']?.[_0x153c2c(0x172)]&&{'columns':_0x476ee5[_0x153c2c(0x15a)][_0x153c2c(0x157)](_0x3d831d=>({'name':_0x3d831d[_0x153c2c(0x151)],'type':_0x3d831d[_0x153c2c(0x166)]}))},..._0x37b641?.['type']&&{'scheduleType':_0x37b641['type']},..._0x37b641?.[_0x153c2c(0x16c)]&&{'timezone':_0x37b641[_0x153c2c(0x16c)]},..._0x37b641?.['repeat_unit']&&{'repeatUnit':_0x37b641[_0x153c2c(0x163)]},..._0x37b641?.[_0x153c2c(0x14c)]!==undefined&&{'repeatFrequency':_0x37b641['repeat_frequency']},..._0x37b641?.[_0x153c2c(0x16d)]&&{'startAt':_0x37b641[_0x153c2c(0x16d)]},..._0x37b641?.['end_on']!==undefined&&{'endOn':_0x37b641[_0x153c2c(0x176)]},..._0x37b641?.['notify_on']?.[_0x153c2c(0x172)]&&{'notifyOn':_0x37b641[_0x153c2c(0x174)]},..._0x37b641?.[_0x153c2c(0x14b)]?.[_0x153c2c(0x172)]&&{'emailRecipients':_0x37b641[_0x153c2c(0x14b)]}};}export function serializeSegmentDef(_0x1f84a8){const _0x3a47f5=a106_0x489b;return a106_0x4da64e[_0x3a47f5(0x16f)](_0x1f84a8,{'lineWidth':0x78});}export function parseSegmentDef(_0x469dae){return a106_0x4da64e['parse'](_0x469dae);}export function isComposableSegmentDef(_0x299f9d){const _0x24408c=a106_0x489b;return typeof _0x299f9d===_0x24408c(0x178)&&_0x299f9d!==null&&_0x24408c(0x166)in _0x299f9d&&_0x299f9d[_0x24408c(0x166)]==='composable_segment';}
|
package/dist/sdk/cas/index.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
const
|
|
1
|
+
const a107_0x5c7da7=a107_0x3532;(function(_0x370a67,_0x733d6){const _0x4c671e=a107_0x3532,_0x3dc82e=_0x370a67();while(!![]){try{const _0x5c8b41=-parseInt(_0x4c671e(0x119))/0x1*(-parseInt(_0x4c671e(0x118))/0x2)+parseInt(_0x4c671e(0x121))/0x3+-parseInt(_0x4c671e(0xfe))/0x4+-parseInt(_0x4c671e(0x114))/0x5+parseInt(_0x4c671e(0x104))/0x6+parseInt(_0x4c671e(0x106))/0x7*(parseInt(_0x4c671e(0x110))/0x8)+parseInt(_0x4c671e(0x127))/0x9*(-parseInt(_0x4c671e(0x10c))/0xa);if(_0x5c8b41===_0x733d6)break;else _0x3dc82e['push'](_0x3dc82e['shift']());}catch(_0x4b4d17){_0x3dc82e['push'](_0x3dc82e['shift']());}}}(a107_0x430f,0x4f5a8));import{CASApiClient}from'./cas-api-client.js';import{SDKError,ErrorCode}from'../errors.js';function a107_0x3532(_0x37047e,_0x1b1039){_0x37047e=_0x37047e-0xfe;const _0x430f24=a107_0x430f();let _0x35327b=_0x430f24[_0x37047e];return _0x35327b;}import{pullComposableAudience}from'./pull-workflow.js';import{pushComposableFiles,deleteComposableSegment}from'./push-workflow.js';function hasRule(_0x3f8aed){const _0x1fe163=a107_0x3532;return!!_0x3f8aed[_0x1fe163(0x101)]&&Object[_0x1fe163(0x11c)](_0x3f8aed['rule'])[_0x1fe163(0x115)]>0x0;}function a107_0x430f(){const _0x510ed8=['getPreviewQuery','Composable\x20segment\x20not\x20found:\x20','deleteSegment','getComposableAudience','783639YXMsvF','name','get','resolveSegmentId','deleteSegmentById','ConnectionSDK\x20not\x20initialized','800154HyyvTq','listComposableAudiences','Composable\x20audience\x20not\x20found:\x20','\x27\x20has\x20no\x20saved\x20rule\x20to\x20preview','find','count','2301096gdqVUW','resolveAudienceId','resolveSegmentInAudience','rule','connection','resolveSegment','3707022pmpLzb','status','35168eJyZky','_connectionSDK','Composable\x20segment\x20\x27','getPreviewCustomers','toLowerCase','queryId','110rcjmFy','NOT_FOUND','pull','previewSegment','1032ktrasZ','push','error','listSegments','313765bSZucC','length','success','list','827758cRKkRd','1SFgvOp','client','INVALID_ARGUMENT','keys'];a107_0x430f=function(){return _0x510ed8;};return a107_0x430f();}export class CASSDK{[a107_0x5c7da7(0x11a)];[a107_0x5c7da7(0x107)];constructor(_0x44bda7){const _0x4c4e25=a107_0x5c7da7;this[_0x4c4e25(0x11a)]=new CASApiClient(_0x44bda7);}get[a107_0x5c7da7(0x102)](){const _0x2da753=a107_0x5c7da7;if(!this[_0x2da753(0x107)])throw new SDKError(ErrorCode['INTERNAL'],_0x2da753(0x126));return this['_connectionSDK'];}async[a107_0x5c7da7(0x117)](){const _0x5d6866=a107_0x5c7da7;return this[_0x5d6866(0x11a)][_0x5d6866(0x128)]();}async[a107_0x5c7da7(0x123)](_0x5993b3){const _0x31478e=a107_0x5c7da7;try{return await this[_0x31478e(0x11a)][_0x31478e(0x120)](_0x5993b3);}catch{const _0x11ddba=await this['client'][_0x31478e(0x128)](),_0x420754=_0x11ddba[_0x31478e(0x12b)](_0x558ac9=>_0x558ac9['name'][_0x31478e(0x10a)]()===_0x5993b3['toLowerCase']());if(!_0x420754)throw new SDKError(ErrorCode[_0x31478e(0x10d)],_0x31478e(0x129)+_0x5993b3);return this[_0x31478e(0x11a)][_0x31478e(0x120)](_0x420754['id']);}}async[a107_0x5c7da7(0xff)](_0x194ad7){const _0x4bcf77=a107_0x5c7da7,_0x176dca=await this[_0x4bcf77(0x123)](_0x194ad7);return _0x176dca['id'];}async[a107_0x5c7da7(0x113)](_0x373a8d){const _0x3c6660=a107_0x5c7da7,_0x11bf5b=await this[_0x3c6660(0xff)](_0x373a8d);return this[_0x3c6660(0x11a)][_0x3c6660(0x113)](_0x11bf5b);}async[a107_0x5c7da7(0x10e)](_0x534668,_0x3a9765){const _0x20aa6c=a107_0x5c7da7,_0x2ec9c0=await this[_0x20aa6c(0xff)](_0x534668);return pullComposableAudience(_0x2ec9c0,{'client':this['client'],'connection':this['connection']},_0x3a9765);}async[a107_0x5c7da7(0x111)](_0x4cc604,_0x29621c){const _0x57c9bc=a107_0x5c7da7;return pushComposableFiles(_0x4cc604,{'client':this[_0x57c9bc(0x11a)],'connection':this['connection']},_0x29621c||{});}async['deleteSegment'](_0x1b263e,_0x2acc04){const _0x53fa83=a107_0x5c7da7,_0x31f383=await this['resolveAudienceId'](_0x1b263e);return deleteComposableSegment(this[_0x53fa83(0x11a)],_0x31f383,_0x2acc04);}async[a107_0x5c7da7(0x125)](_0x43553d){const _0x483e1b=a107_0x5c7da7;await this[_0x483e1b(0x11a)][_0x483e1b(0x11f)](_0x43553d);}async[a107_0x5c7da7(0x103)](_0x25cc20,_0x335c1d){const _0x5725a0=a107_0x5c7da7,_0xd317a4=await this[_0x5725a0(0xff)](_0x25cc20);return this[_0x5725a0(0x100)](_0xd317a4,_0x335c1d);}async['resolveSegmentInAudience'](_0x56fc67,_0xf619f0){const _0x8039f3=a107_0x5c7da7,_0x41f3b9=await this[_0x8039f3(0x11a)][_0x8039f3(0x113)](_0x56fc67),_0x256b2f=_0x41f3b9['find'](_0x1b6894=>_0x1b6894['id']===_0xf619f0||_0x1b6894[_0x8039f3(0x122)][_0x8039f3(0x10a)]()===_0xf619f0[_0x8039f3(0x10a)]());if(!_0x256b2f)throw new SDKError(ErrorCode[_0x8039f3(0x10d)],_0x8039f3(0x11e)+_0xf619f0);return _0x256b2f;}async[a107_0x5c7da7(0x124)](_0x430ec6,_0x116ebe){const _0xf72500=a107_0x5c7da7,_0x2bca15=await this[_0xf72500(0x103)](_0x430ec6,_0x116ebe);return _0x2bca15['id'];}async['preview'](_0x4faed4,_0x25f5ed){const _0x29d029=a107_0x5c7da7,_0x2fd5d7=await this[_0x29d029(0xff)](_0x4faed4);let _0x13ee09=await this[_0x29d029(0x100)](_0x2fd5d7,_0x25f5ed);!hasRule(_0x13ee09)&&(_0x13ee09=await this['client']['getSegment'](_0x13ee09['id']));if(!hasRule(_0x13ee09))throw new SDKError(ErrorCode[_0x29d029(0x11b)],_0x29d029(0x108)+_0x13ee09[_0x29d029(0x122)]+_0x29d029(0x12a));const _0x46d4bf=await this['client'][_0x29d029(0x10f)](_0x2fd5d7,_0x13ee09[_0x29d029(0x101)]);let _0x1f262c=_0x46d4bf[_0x29d029(0x105)];const _0x3ea1dd=_0x46d4bf[_0x29d029(0x10b)],_0x2742b9=0x1e;for(let _0x3c7fc3=0x0;_0x3c7fc3<_0x2742b9&&_0x1f262c!==_0x29d029(0x116)&&_0x1f262c!==_0x29d029(0x112);_0x3c7fc3++){await new Promise(_0x1c4c4a=>setTimeout(_0x1c4c4a,0x7d0));const _0x5cf66c=await this['client'][_0x29d029(0x11d)](_0x2fd5d7,_0x3ea1dd);_0x1f262c=_0x5cf66c[_0x29d029(0x105)],_0x46d4bf['status']=_0x1f262c,_0x46d4bf['count']=_0x5cf66c[_0x29d029(0x12c)];}if(_0x1f262c!=='success')return{'query':_0x46d4bf};try{const _0x42f9d0=await this[_0x29d029(0x11a)][_0x29d029(0x109)](_0x2fd5d7,_0x3ea1dd);return{'query':_0x46d4bf,'customers':_0x42f9d0};}catch{return{'query':_0x46d4bf};}}}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x961cab,_0x46cf94){const _0x30d48d=a108_0x3ef1,_0x5ca91c=_0x961cab();while(!![]){try{const _0x761810=-parseInt(_0x30d48d(0x1dc))/0x1+-parseInt(_0x30d48d(0x1e3))/0x2*(-parseInt(_0x30d48d(0x1d4))/0x3)+parseInt(_0x30d48d(0x1cd))/0x4+parseInt(_0x30d48d(0x1ce))/0x5+parseInt(_0x30d48d(0x1da))/0x6+parseInt(_0x30d48d(0x1d3))/0x7+-parseInt(_0x30d48d(0x1dd))/0x8;if(_0x761810===_0x46cf94)break;else _0x5ca91c['push'](_0x5ca91c['shift']());}catch(_0x583198){_0x5ca91c['push'](_0x5ca91c['shift']());}}}(a108_0x72c1,0xa0d60));import a108_0x1050f7 from'path';function a108_0x72c1(){const _0x3ebede=['1191475NhYROF','17144328WudHQH','audience.yml','listFolders','parentFolderId','length','set','159700ARzCAA','update','all','folderId','Generating\x20YAML\x20files...','map','4526584MiCOre','4954675hhDOUL','find','name','get','.yml','101185kYwLsF','48VSgaUe','Fetching\x20activations...','listAllActivations','list','push','utf-8','3471984GDaCYP','join'];a108_0x72c1=function(){return _0x3ebede;};return a108_0x72c1();}function a108_0x3ef1(_0x2a9316,_0x2cb0ea){_0x2a9316=_0x2a9316-0x1cb;const _0x72c17=a108_0x72c1();let _0x3ef197=_0x72c17[_0x2a9316];return _0x3ef197;}import{existsSync,readFileSync}from'fs';import{generateDiff,formatDiffWithColors,hasChanges}from'../../utils/diff.js';import{sanitizeFileName}from'../../utils/string-utils.js';import{apiToDef,serializeDef}from'./cas-audience-yaml.js';import{segmentApiToDef,serializeSegmentDef}from'./cas-segment-yaml.js';async function buildConnectionMap(_0x207e17){const _0x34a18a=a108_0x3ef1,_0x39196d=await _0x207e17[_0x34a18a(0x1d7)](),_0x3862e0=new Map();for(const _0x3306fa of _0x39196d){if(_0x3306fa['id'])_0x3862e0[_0x34a18a(0x1e2)](_0x3306fa['id'],_0x3306fa['name']);}return _0x3862e0;}function buildFolderMap(_0x52288a){const _0x3111d5=a108_0x3ef1,_0xf29643=new Map(),_0x3cc8b1=new Map(_0x52288a[_0x3111d5(0x1cc)](_0x1ce263=>[_0x1ce263['id'],_0x1ce263])),_0x15d876=_0x52288a[_0x3111d5(0x1cf)](_0x5198ea=>!_0x5198ea[_0x3111d5(0x1e0)])?.['id'];function _0x56e6d6(_0x1fffe6){const _0x10a929=_0x3111d5,_0x2814f0=_0x3cc8b1['get'](_0x1fffe6);if(!_0x2814f0)return'';if(!_0x2814f0[_0x10a929(0x1e0)]||_0x2814f0['id']===_0x15d876)return'';const _0x44433b=_0x56e6d6(_0x2814f0[_0x10a929(0x1e0)]);return _0x44433b?_0x44433b+'/'+_0x2814f0[_0x10a929(0x1d0)]:_0x2814f0[_0x10a929(0x1d0)];}for(const _0x1c9cb9 of _0x52288a){_0xf29643[_0x3111d5(0x1e2)](_0x1c9cb9['id'],_0x56e6d6(_0x1c9cb9['id']));}return _0xf29643;}function createPullFile(_0x16e660,_0x200af5,_0x571694){const _0xeab3c7=a108_0x3ef1,_0x18b226=a108_0x1050f7[_0xeab3c7(0x1db)](_0x200af5,_0x16e660),_0x5add29=!existsSync(_0x18b226);let _0x6ba18d=_0x5add29,_0x4ec0fb;if(!_0x5add29){const _0x270819=readFileSync(_0x18b226,_0xeab3c7(0x1d9)),_0xaa4a6b=generateDiff(_0x270819,_0x571694);_0x6ba18d=hasChanges(_0xaa4a6b),_0x6ba18d&&(_0x4ec0fb=formatDiffWithColors(_0xaa4a6b));}return{'relativePath':_0x16e660,'absolutePath':_0x18b226,'content':_0x571694,'isNew':_0x5add29,'hasChanges':_0x6ba18d,'diff':_0x4ec0fb};}export async function pullComposableAudience(_0x389563,_0x2e1870,_0x234fa5){const _0x266dcc=a108_0x3ef1,{client:_0x13ba8f,connection:_0x4c1e79}=_0x2e1870,{targetDir:_0x24a8d0,progress:_0x2cb210}=_0x234fa5;_0x2cb210?.[_0x266dcc(0x1e4)]('Fetching\x20audience\x20and\x20segments...');const [_0x22c45f,_0x27ec85,_0x14244c,_0x168827]=await Promise[_0x266dcc(0x1e5)]([_0x13ba8f['getComposableAudience'](_0x389563),_0x13ba8f['listSegments'](_0x389563),_0x13ba8f[_0x266dcc(0x1df)](_0x389563),buildConnectionMap(_0x4c1e79)]),_0x47b9ac=buildFolderMap(_0x14244c);_0x2cb210?.[_0x266dcc(0x1e4)](_0x266dcc(0x1d5));const _0x4a514d=await _0x13ba8f[_0x266dcc(0x1d6)](_0x27ec85),_0x489263=[];let _0x42cc85=0x0;_0x2cb210?.[_0x266dcc(0x1e4)](_0x266dcc(0x1cb));const _0x8e936f=apiToDef(_0x22c45f,_0x168827),_0x5aac54=serializeDef(_0x8e936f);_0x489263[_0x266dcc(0x1d8)](createPullFile(_0x266dcc(0x1de),_0x24a8d0,_0x5aac54));for(const _0x53c108 of _0x27ec85){const _0x34830e=_0x4a514d[_0x266dcc(0x1d1)](_0x53c108['id'])||[];_0x42cc85+=_0x34830e[_0x266dcc(0x1e1)];const _0x59da8f=segmentApiToDef(_0x53c108,_0x34830e,_0x47b9ac,_0x168827),_0x44bb8c=serializeSegmentDef(_0x59da8f),_0x123511=_0x53c108[_0x266dcc(0x1e6)]?_0x47b9ac[_0x266dcc(0x1d1)](_0x53c108[_0x266dcc(0x1e6)]):undefined,_0x108b07=_0x123511?_0x123511+'/'+sanitizeFileName(_0x53c108[_0x266dcc(0x1d0)])+_0x266dcc(0x1d2):sanitizeFileName(_0x53c108[_0x266dcc(0x1d0)])+'.yml';_0x489263[_0x266dcc(0x1d8)](createPullFile(_0x108b07,_0x24a8d0,_0x44bb8c));}return{'audienceName':_0x22c45f[_0x266dcc(0x1d0)],'audienceId':_0x22c45f['id'],'targetDir':_0x24a8d0,'files':_0x489263,'counts':{'segments':_0x27ec85[_0x266dcc(0x1e1)],'activations':_0x42cc85}};}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
function a107_0x485f(){const _0x37a504=['10026IjOsRU','CDW\x20connection\x20not\x20found\x20or\x20not\x20accessible\x20for\x20audience\x20\x22','.yaml','\x22\x20(parent\x20path\x20\x22','column','update','1882962YKQkyo','27ACcHfA','has','listComposableAudiences','renamedAttributeIds','Couldn\x27t\x20find','time_column','7665714WCMThg','\x20activation\x20\x22','1151868JbMKZg','COMPOSABLE_AUDIENCE_DRIFT','create','getComposableAudience','maxActivationBehaviorRow','createComposableAudience','.yml','segments','allColumns','Failed\x20to\x20','getSegment','allowActivationBehavior','\x20segment\x20\x22','all_columns','5595ABixYC','\x22,\x20expected\x20\x22','COMPOSABLE_ACTIVATION_UPDATE_ERROR','behaviors','Push\x20to\x20\x22','push','Could\x20not\x20resolve\x20parent\x20folder\x20for\x20\x22','\x22\x20under\x20segment\x20\x22','get','folder','Pushing\x20segment:\x20','CONNECTION_NOT_FOUND','audienceName','\x22\x20(','COMPOSABLE_AUDIENCE_UPDATE_ERROR','list','basename','missing','listActivations','COMPOSABLE_SEGMENT_VERIFICATION_FAILED','map','INVALID_ARGUMENT','audience','utf-8','\x22\x20would\x20remove\x20','behavior\x20\x22','attribute\x20\x22','this\x20is\x20a\x20new\x20behavior','schema','COMPOSABLE_SEGMENT_SYNTAX_ERROR','10ayujTk','segment','this\x20behavior\x20currently\x20does\x20not','name\x20is\x20\x22','unexpected\x20attribute(s):\x20','updateCode','updated','2999592txqulq','join','\x0a\x20\x20','\x20than\x20what\x20was\x20pushed','not\x20found\x20or\x20not\x20accessible','renamedBehaviorIds','folders','name','\x22:\x20','master','rule','\x22\x20not\x20found).','COMPOSABLE_ACTIVATION_SYNTAX_ERROR','missing\x20behavior(s):\x20','audienceDrift','deleteDrift','INTERNAL','\x22\x20has\x20a\x20different\x20','COMPOSABLE_AUDIENCE_SYNTAX_ERROR','length','\x22.\x20Check\x20the\x20connection\x20name\x20in\x20your\x20YAML.','unknown','endsWith','CDW\x20connection\x20not\x20found\x20or\x20not\x20accessible\x20for\x20activation\x20\x22','deleteSegment','slice','created','updateComposableAudience','activations','createSegment','renamedBehaviors','audienceId','Push\x20to\x20segment\x20\x22','COMPOSABLE_AUDIENCE_VERIFICATION_FAILED','\x22\x20renamed\x20to\x20\x22','removedBehaviors','Cannot\x20push\x20segments:\x20no\x20audience\x20ID\x20available.\x20Push\x20the\x20audience\x20YAML\x20first.','removedAttributes','2744jshFtJ','syntaxCode','Found\x20','rule\x20does\x20not\x20match\x20what\x20was\x20pushed','Composable\x20segment\x20\x22','connectionNotFoundMessage','listSegments','find','attributes','max_activation_behavior_row\x20came\x20back\x20','some','filter','table','timeColumn','Failed\x20to\x20create\x20folder\x20\x22','isDirectory','.\x20Check\x20the\x20segment\x20in\x20Console\x20before\x20pushing\x20again\x20—\x20nothing\x20further\x20was\x20changed\x20automatically.','stringify','\x20was\x20pushed','allow_activation_behavior','parse','Creating\x20folder:\x20','connectionMaps','def','set','\x22\x20reported\x20success,\x20but\x20re-reading\x20it\x20shows\x20it\x20doesn\x27t\x20match\x20what\x20was\x20sent:\x20','resolve','audiences','updateSegment','\x22\x20not\x20found\x20under\x20this\x20audience\x20—\x20nothing\x20to\x20delete.','.\x20Use\x20an\x20explicit\x20\x22columns\x22\x20list\x20instead.','object','\x20composable\x20audience\x20definitions\x20in\x20the\x20target,\x20but\x20a\x20push\x20can\x20only\x20target\x20one\x20at\x20a\x20time:\x20','behavior(s)\x20','unexpected\x20behavior(s):\x20','\x22\x20sets\x20\x22all_columns:\x20true\x22,\x20but\x20the\x20backend\x20only\x20accepts\x20that\x20for\x20a\x20behavior\x20that\x20already\x20has\x20it\x20—\x20','max_activation_behavior_row','\x20but\x20','Resolving\x20connections...','\x20that\x20exist\x20on\x20the\x20server\x20but\x20aren\x27t\x20in\x20this\x20YAML\x20—\x20the\x20backend\x20replaces\x20the\x20full\x20set\x20on\x20update,\x20it\x20doesn\x27t\x20merge.\x20No\x20changes\x20were\x20made.\x20If\x20your\x20YAML\x20is\x20stale,\x20run\x20`tdx\x20cas\x20pull`\x20and\x20reconcile\x20it.\x20If\x20removing\x20them\x20is\x20intentional,\x20re-run\x20with\x20--delete.','isFile','11076921fKSCbP','\x20and\x20','unexpected','attribute(s)\x20','type','connection','resolvedAudienceId','renamedAttributes'];a107_0x485f=function(){return _0x37a504;};return a107_0x485f();}(function(_0x2f59bf,_0x5b5e42){const _0x2b0374=a107_0x52f7,_0x4d1ba5=_0x2f59bf();while(!![]){try{const _0x27336e=-parseInt(_0x2b0374(0x1db))/0x1*(-parseInt(_0x2b0374(0x1d4))/0x2)+parseInt(_0x2b0374(0x1e3))/0x3+parseInt(_0x2b0374(0x1a3))/0x4*(-parseInt(_0x2b0374(0x158))/0x5)+parseInt(_0x2b0374(0x1da))/0x6+-parseInt(_0x2b0374(0x1e1))/0x7+parseInt(_0x2b0374(0x17d))/0x8+parseInt(_0x2b0374(0x1cc))/0x9*(parseInt(_0x2b0374(0x176))/0xa);if(_0x27336e===_0x5b5e42)break;else _0x4d1ba5['push'](_0x4d1ba5['shift']());}catch(_0x5857ed){_0x4d1ba5['push'](_0x4d1ba5['shift']());}}}(a107_0x485f,0x8ca74));function a107_0x52f7(_0x4dac82,_0x40c91a){_0x4dac82=_0x4dac82-0x14c;const _0x485f6c=a107_0x485f();let _0x52f7a4=_0x485f6c[_0x4dac82];return _0x52f7a4;}import{existsSync,readFileSync,readdirSync,statSync}from'fs';import a107_0x1d40cc from'path';import{isDeepStrictEqual}from'node:util';import{parseDef,defToApi}from'./cas-audience-yaml.js';import{parseSegmentDef,isComposableSegmentDef,defToSegmentApi,activationDefToApi}from'./cas-segment-yaml.js';import{buildFolderPathToIdMap}from'../segment/resolution-context.js';import{addFoldersToCreate,sortFoldersByDepth}from'../segment/push-workflow.js';import{SDKError,ErrorCode,isHttp400Error,getErrorMessage,errorContains}from'../errors.js';import*as a107_0x1a41ca from'yaml';export function findAudienceByName(_0x43b56b,_0x1cd4da){const _0x4128ab=a107_0x52f7;return _0x43b56b['find'](_0x41257c=>_0x41257c[_0x4128ab(0x184)]===_0x1cd4da);}export function computeAudienceDrift(_0x387615,_0x57047b){const _0xda47f2=a107_0x52f7,_0x2ce645=_0x57047b['attributes']??[],_0x1a1474=_0x57047b[_0xda47f2(0x15b)]??[],_0x288d17=new Set(_0x2ce645[_0xda47f2(0x16c)](_0x40982d=>_0x40982d[_0xda47f2(0x184)])),_0x33c2dd=new Set(_0x1a1474['map'](_0x269fea=>_0x269fea[_0xda47f2(0x184)])),_0x5c83f6=[],_0x54e12d=[];for(const _0x51a1e4 of _0x387615[_0xda47f2(0x1ab)]??[]){if(_0x288d17[_0xda47f2(0x1dc)](_0x51a1e4[_0xda47f2(0x184)]))continue;const _0x2a170b=_0x2ce645[_0xda47f2(0x1aa)](_0x2b2c62=>_0x2b2c62[_0xda47f2(0x174)]===_0x51a1e4[_0xda47f2(0x174)]&&_0x2b2c62[_0xda47f2(0x1af)]===_0x51a1e4[_0xda47f2(0x1af)]&&_0x2b2c62[_0xda47f2(0x1d8)]===_0x51a1e4[_0xda47f2(0x1d8)]);_0x2a170b?_0x54e12d[_0xda47f2(0x15d)]({'from':_0x51a1e4['name'],'to':_0x2a170b['name']}):_0x5c83f6[_0xda47f2(0x15d)](_0x51a1e4['name']);}const _0x310fee=[],_0xeef5d6=[];for(const _0x31e723 of _0x387615[_0xda47f2(0x15b)]??[]){if(_0x33c2dd['has'](_0x31e723[_0xda47f2(0x184)]))continue;const _0x4896bb=_0x1a1474['find'](_0x1dd920=>_0x1dd920['schema']===_0x31e723['schema']&&_0x1dd920[_0xda47f2(0x1af)]===_0x31e723[_0xda47f2(0x1af)]&&_0x1dd920[_0xda47f2(0x1e0)]===_0x31e723[_0xda47f2(0x1b0)]);_0x4896bb?_0xeef5d6['push']({'from':_0x31e723['name'],'to':_0x4896bb['name']}):_0x310fee['push'](_0x31e723[_0xda47f2(0x184)]);}return{'removedAttributes':_0x5c83f6,'removedBehaviors':_0x310fee,'renamedAttributes':_0x54e12d,'renamedBehaviors':_0xeef5d6};}function diffNameSets(_0x3d12d3,_0x5787cf){const _0x63d09f=a107_0x52f7,_0x106788=new Set(_0x3d12d3),_0x4e13c5=new Set(_0x5787cf);return{'missing':_0x3d12d3[_0x63d09f(0x1ae)](_0x19f261=>!_0x4e13c5[_0x63d09f(0x1dc)](_0x19f261)),'unexpected':_0x5787cf[_0x63d09f(0x1ae)](_0x5403a0=>!_0x106788['has'](_0x5403a0))};}export function verifyAudienceWrite(_0x4f1d7f,_0xa032e,_0x44b5d8){const _0x275076=a107_0x52f7,_0x539204=(_0x4f1d7f[_0x275076(0x1ab)]??[])[_0x275076(0x16c)](_0x3a8aab=>_0x3a8aab[_0x275076(0x184)]),_0x303a94=(_0x4f1d7f[_0x275076(0x15b)]??[])[_0x275076(0x16c)](_0xc198c4=>_0xc198c4[_0x275076(0x184)]),_0x15ff16=(_0xa032e['attributes']??[])[_0x275076(0x16c)](_0x5c8ebf=>_0x5c8ebf['name']),_0x20088a=(_0xa032e[_0x275076(0x15b)]??[])[_0x275076(0x16c)](_0x4519de=>_0x4519de[_0x275076(0x184)]),_0x11cc7e=diffNameSets(_0x539204,_0x15ff16),_0x1adc31=diffNameSets(_0x303a94,_0x20088a),_0x16372b=[];_0x11cc7e[_0x275076(0x169)][_0x275076(0x190)]&&_0x16372b[_0x275076(0x15d)]('missing\x20attribute(s):\x20'+_0x11cc7e['missing'][_0x275076(0x17e)](',\x20'));_0x11cc7e[_0x275076(0x1ce)]['length']&&_0x16372b['push'](_0x275076(0x17a)+_0x11cc7e['unexpected'][_0x275076(0x17e)](',\x20'));_0x1adc31[_0x275076(0x169)][_0x275076(0x190)]&&_0x16372b[_0x275076(0x15d)](_0x275076(0x18a)+_0x1adc31[_0x275076(0x169)]['join'](',\x20'));_0x1adc31[_0x275076(0x1ce)][_0x275076(0x190)]&&_0x16372b[_0x275076(0x15d)](_0x275076(0x1c5)+_0x1adc31['unexpected'][_0x275076(0x17e)](',\x20'));for(const _0x14b0fd of _0x4f1d7f[_0x275076(0x1ab)]??[]){const _0x559641=_0xa032e[_0x275076(0x1ab)]?.[_0x275076(0x1aa)](_0x4adf9e=>_0x4adf9e['name']===_0x14b0fd[_0x275076(0x184)]);if(!_0x559641)continue;const _0x6d5ce4=[];if(_0x559641[_0x275076(0x174)]!==_0x14b0fd[_0x275076(0x174)])_0x6d5ce4['push'](_0x275076(0x174));if(_0x559641[_0x275076(0x1af)]!==_0x14b0fd['table'])_0x6d5ce4[_0x275076(0x15d)](_0x275076(0x1af));if(_0x559641[_0x275076(0x1d8)]!==_0x14b0fd[_0x275076(0x1d8)])_0x6d5ce4['push']('column');if(_0x559641['type']!==_0x14b0fd[_0x275076(0x1d0)])_0x6d5ce4[_0x275076(0x15d)](_0x275076(0x1d0));_0x6d5ce4[_0x275076(0x190)]&&_0x16372b[_0x275076(0x15d)](_0x275076(0x172)+_0x14b0fd[_0x275076(0x184)]+_0x275076(0x18e)+_0x6d5ce4['join']('/')+'\x20than\x20what\x20was\x20pushed');}for(const _0x259f97 of _0x4f1d7f[_0x275076(0x15b)]??[]){const _0x2bb5dc=_0xa032e[_0x275076(0x15b)]?.[_0x275076(0x1aa)](_0x48f321=>_0x48f321[_0x275076(0x184)]===_0x259f97[_0x275076(0x184)]);if(!_0x2bb5dc)continue;const _0x325772=[];if(_0x2bb5dc[_0x275076(0x174)]!==_0x259f97[_0x275076(0x174)])_0x325772[_0x275076(0x15d)]('schema');if(_0x2bb5dc['table']!==_0x259f97[_0x275076(0x1af)])_0x325772[_0x275076(0x15d)](_0x275076(0x1af));if((_0x2bb5dc[_0x275076(0x1b0)]??'')!==(_0x259f97[_0x275076(0x1e0)]??''))_0x325772[_0x275076(0x15d)]('time_column');_0x325772[_0x275076(0x190)]&&_0x16372b['push'](_0x275076(0x171)+_0x259f97['name']+_0x275076(0x18e)+_0x325772[_0x275076(0x17e)]('/')+_0x275076(0x180));}_0x4f1d7f[_0x275076(0x1b6)]!==undefined&&_0xa032e[_0x275076(0x155)]!==_0x4f1d7f[_0x275076(0x1b6)]&&_0x16372b['push']('allow_activation_behavior\x20came\x20back\x20'+_0xa032e[_0x275076(0x155)]+'\x20but\x20'+_0x4f1d7f[_0x275076(0x1b6)]+_0x275076(0x1b5));_0x4f1d7f['max_activation_behavior_row']!==undefined&&_0xa032e[_0x275076(0x14e)]!==_0x4f1d7f[_0x275076(0x1c7)]&&_0x16372b[_0x275076(0x15d)](_0x275076(0x1ac)+_0xa032e[_0x275076(0x14e)]+_0x275076(0x1c8)+_0x4f1d7f[_0x275076(0x1c7)]+'\x20was\x20pushed');const _0x259ec0=[],_0x445edd=[];if(_0x44b5d8){const _0x5603e8=computeAudienceDrift(_0x44b5d8,_0x4f1d7f);for(const {from:_0x539a18,to:_0x445916}of _0x5603e8[_0x275076(0x1d3)]){const _0x609e64=_0x44b5d8[_0x275076(0x1ab)]?.[_0x275076(0x1aa)](_0x353e62=>_0x353e62['name']===_0x539a18),_0x2e97ef=_0xa032e['attributes']?.[_0x275076(0x1aa)](_0x33e1ec=>_0x33e1ec[_0x275076(0x184)]===_0x445916);_0x609e64?.['id']&&_0xa032e[_0x275076(0x1ab)]?.[_0x275076(0x1ad)](_0xec052b=>_0xec052b['id']===_0x609e64['id'])&&_0x16372b['push'](_0x275076(0x172)+_0x539a18+_0x275076(0x19f)+_0x445916+'\x22:\x20its\x20old\x20id\x20('+_0x609e64['id']+')\x20is\x20still\x20present\x20after\x20the\x20push\x20—\x20expected\x20it\x20to\x20be\x20gone\x20(renames\x20recreate\x20the\x20attribute\x20under\x20a\x20new\x20id).'),_0x259ec0[_0x275076(0x15d)]({'from':_0x539a18,'to':_0x445916,'fromId':_0x609e64?.['id'],'toId':_0x2e97ef?.['id']});}for(const {from:_0x5f5dfb,to:_0x5a2cb2}of _0x5603e8[_0x275076(0x19b)]){const _0x3fa494=_0x44b5d8[_0x275076(0x15b)]?.[_0x275076(0x1aa)](_0x5bce8d=>_0x5bce8d[_0x275076(0x184)]===_0x5f5dfb),_0x29f992=_0xa032e[_0x275076(0x15b)]?.[_0x275076(0x1aa)](_0x38a008=>_0x38a008[_0x275076(0x184)]===_0x5a2cb2);_0x3fa494?.['id']&&_0xa032e[_0x275076(0x15b)]?.['some'](_0x2fb671=>_0x2fb671['id']===_0x3fa494['id'])&&_0x16372b[_0x275076(0x15d)](_0x275076(0x171)+_0x5f5dfb+_0x275076(0x19f)+_0x5a2cb2+'\x22:\x20its\x20old\x20id\x20('+_0x3fa494['id']+')\x20is\x20still\x20present\x20after\x20the\x20push\x20—\x20expected\x20it\x20to\x20be\x20gone\x20(renames\x20recreate\x20the\x20behavior\x20under\x20a\x20new\x20id).'),_0x445edd[_0x275076(0x15d)]({'from':_0x5f5dfb,'to':_0x5a2cb2,'fromId':_0x3fa494?.['id'],'toId':_0x29f992?.['id']});}}if(_0x16372b[_0x275076(0x190)]>0x0)throw new SDKError(ErrorCode[_0x275076(0x19e)],_0x275076(0x15c)+_0x4f1d7f['name']+'\x22\x20reported\x20success,\x20but\x20re-reading\x20the\x20audience\x20shows\x20it\x20doesn\x27t\x20match\x20what\x20was\x20sent:\x20'+_0x16372b[_0x275076(0x17e)](';\x20')+'.\x20Check\x20the\x20audience\x20in\x20Console\x20before\x20pushing\x20again\x20—\x20nothing\x20further\x20was\x20changed\x20automatically.');return{'renamedAttributes':_0x259ec0,'renamedBehaviors':_0x445edd};}export function verifySegmentWrite(_0x35b122,_0x455aeb){const _0x13bd4f=a107_0x52f7,_0x2be47d=[];_0x455aeb['name']!==_0x35b122['name']&&_0x2be47d[_0x13bd4f(0x15d)](_0x13bd4f(0x179)+_0x455aeb[_0x13bd4f(0x184)]+_0x13bd4f(0x159)+_0x35b122['name']+'\x22');const _0x27867d=_0x472b24=>_0x472b24===undefined?null:JSON[_0x13bd4f(0x1b7)](JSON[_0x13bd4f(0x1b4)](_0x472b24));!isDeepStrictEqual(_0x27867d(_0x455aeb[_0x13bd4f(0x187)]),_0x27867d(_0x35b122[_0x13bd4f(0x187)]))&&_0x2be47d[_0x13bd4f(0x15d)](_0x13bd4f(0x1a6));if(_0x2be47d[_0x13bd4f(0x190)]>0x0)throw new SDKError(ErrorCode[_0x13bd4f(0x16b)],_0x13bd4f(0x19d)+_0x35b122['name']+_0x13bd4f(0x1bc)+_0x2be47d[_0x13bd4f(0x17e)](';\x20')+_0x13bd4f(0x1b3));}export function findSegmentByName(_0xb88592,_0x1bebbe){const _0x569085=a107_0x52f7;return _0xb88592[_0x569085(0x1aa)](_0x39f56f=>_0x39f56f[_0x569085(0x184)]===_0x1bebbe);}export function findActivationByName(_0x134054,_0x3fe1d1){const _0x287792=a107_0x52f7;return _0x134054[_0x287792(0x1aa)](_0x2ad8c2=>_0x2ad8c2['name']===_0x3fe1d1);}export async function deleteComposableSegment(_0x5eac44,_0x546392,_0x41c08e){const _0x17fe95=a107_0x52f7,_0x581324=await _0x5eac44[_0x17fe95(0x1a9)](_0x546392),_0x43659f=findSegmentByName(_0x581324,_0x41c08e);if(!_0x43659f)throw new SDKError(ErrorCode['COMPOSABLE_SEGMENT_NOT_FOUND'],_0x17fe95(0x1a7)+_0x41c08e+_0x17fe95(0x1c0));return await _0x5eac44[_0x17fe95(0x195)](_0x43659f['id']),{'id':_0x43659f['id']};}function mapComposableError(_0x1b6e86,_0x5b3dab){const _0x5800ce=a107_0x52f7;if(_0x5b3dab[_0x5800ce(0x1a8)]&&errorContains(_0x1b6e86,'not\x20found\x20or\x20not\x20accessible',_0x5800ce(0x1df)))throw new SDKError(ErrorCode[_0x5800ce(0x163)],_0x5b3dab[_0x5800ce(0x1a8)],_0x1b6e86);const _0x2b4d76=isHttp400Error(_0x1b6e86),_0x47a329=_0x2b4d76?_0x5b3dab[_0x5800ce(0x1a4)]:_0x5b3dab[_0x5800ce(0x17b)];throw new SDKError(_0x47a329,_0x5b3dab['failureMessage']+_0x5800ce(0x17f)+getErrorMessage(_0x1b6e86),_0x1b6e86);}export async function buildConnectionMaps(_0xd6e94c){const _0x4c89f3=a107_0x52f7,_0x3c6646=await _0xd6e94c[_0x4c89f3(0x167)](),_0x2ec2d4=new Map(),_0x5e085a=new Map(),_0xdbc87f=new Map();for(const _0x4faa19 of _0x3c6646){_0x4faa19['id']&&(_0x2ec2d4[_0x4c89f3(0x1bb)](_0x4faa19[_0x4c89f3(0x184)],_0x4faa19['id']),_0xdbc87f['set'](_0x4faa19['id'],_0x4faa19[_0x4c89f3(0x1d0)])),_0x5e085a[_0x4c89f3(0x1bb)](_0x4faa19['name'],_0x4faa19['type']);}return{'nameToId':_0x2ec2d4,'nameToType':_0x5e085a,'idToType':_0xdbc87f};}function parseAndClassify(_0xaded22){const _0x11d991=a107_0x52f7,_0x5441c0=readFileSync(_0xaded22,_0x11d991(0x16f)),_0x34cd35=a107_0x1a41ca[_0x11d991(0x1b7)](_0x5441c0);if(!_0x34cd35||typeof _0x34cd35!==_0x11d991(0x1c2))return{'type':_0x11d991(0x192)};if(isComposableSegmentDef(_0x34cd35))return{'type':_0x11d991(0x177),'def':parseSegmentDef(_0x5441c0)};if(_0x11d991(0x186)in _0x34cd35&&_0x11d991(0x184)in _0x34cd35)return{'type':_0x11d991(0x16e),'def':parseDef(_0x5441c0)};return{'type':'unknown'};}export function assertSingleAudience(_0x53a868,_0x5270bb){const _0x20256d=a107_0x52f7;if(_0x53a868[_0x20256d(0x190)]<=0x1)return;const _0x2a9eaf=_0x53a868[_0x20256d(0x16c)]((_0x5c3851,_0x1ac4ea)=>'\x22'+_0x5c3851[_0x20256d(0x184)]+_0x20256d(0x165)+a107_0x1d40cc[_0x20256d(0x168)](_0x5270bb[_0x1ac4ea])+')')[_0x20256d(0x17e)](',\x20');throw new SDKError(ErrorCode['INVALID_ARGUMENT'],_0x20256d(0x1a5)+_0x53a868[_0x20256d(0x190)]+_0x20256d(0x1c3)+_0x2a9eaf+'.\x20Move\x20each\x20audience\x20to\x20its\x20own\x20folder\x20before\x20pushing.');}export async function pushComposableFiles(_0x3012b6,_0x1b9f19,_0x9d3f88){const _0x19143c=a107_0x52f7,{client:_0x1635fb,connection:_0x544e21}=_0x1b9f19,{dryRun:_0x2764a6,progress:_0x24546c}=_0x9d3f88,_0x29d6dd={'created':{'segments':0x0,'activations':0x0,'audiences':0x0,'folders':0x0},'updated':{'segments':0x0,'activations':0x0,'audiences':0x0,'folders':0x0}},{nameToId:_0x39195d,nameToType:_0x5875f1,idToType:_0x2102f7}=await((async()=>{const _0x223cee=a107_0x52f7;if(_0x9d3f88[_0x223cee(0x1b9)])return _0x9d3f88[_0x223cee(0x1b9)];return _0x24546c?.[_0x223cee(0x1d9)](_0x223cee(0x1c9)),buildConnectionMaps(_0x544e21);})()),_0x1d488f=[],_0x29bc08=[],_0x323a09=[];for(const _0x2bf835 of _0x3012b6){const _0x24d875=parseAndClassify(_0x2bf835);if(_0x24d875[_0x19143c(0x1d0)]==='audience')_0x1d488f[_0x19143c(0x15d)](_0x24d875[_0x19143c(0x1ba)]),_0x29bc08[_0x19143c(0x15d)](_0x2bf835);else _0x24d875[_0x19143c(0x1d0)]===_0x19143c(0x177)&&_0x323a09[_0x19143c(0x15d)](_0x24d875[_0x19143c(0x1ba)]);}assertSingleAudience(_0x1d488f,_0x29bc08);_0x1d488f['length']===0x0&&_0x9d3f88[_0x19143c(0x1d2)]&&(_0x29d6dd[_0x19143c(0x19c)]=_0x9d3f88['resolvedAudienceId']);let _0x4b771c;for(const _0x32fe5a of _0x1d488f){_0x24546c?.[_0x19143c(0x1d9)]('Pushing\x20audience:\x20'+_0x32fe5a[_0x19143c(0x184)]);if(_0x2764a6){_0x4b771c??=await _0x1635fb[_0x19143c(0x1dd)]();const _0x2cdbdd=findAudienceByName(_0x4b771c,_0x32fe5a[_0x19143c(0x184)]);_0x29d6dd[_0x19143c(0x164)]=_0x32fe5a[_0x19143c(0x184)],_0x29d6dd['audienceId']=_0x2cdbdd?.['id'];if(_0x2cdbdd){_0x29d6dd[_0x19143c(0x17c)][_0x19143c(0x1be)]++;const _0x3e764b=await _0x1635fb[_0x19143c(0x14d)](_0x2cdbdd['id']),_0x5bd489=computeAudienceDrift(_0x3e764b,_0x32fe5a);(_0x5bd489[_0x19143c(0x1a2)]['length']||_0x5bd489['removedBehaviors'][_0x19143c(0x190)]||_0x5bd489[_0x19143c(0x1d3)][_0x19143c(0x190)]||_0x5bd489[_0x19143c(0x19b)][_0x19143c(0x190)])&&(_0x29d6dd[_0x19143c(0x18b)]=_0x5bd489);}else _0x29d6dd[_0x19143c(0x197)][_0x19143c(0x1be)]++;continue;}const {id:_0x36f1f8,isNew:_0x1aa4e0,appliedDrift:_0x2f3e80,renamedAttributeIds:_0x4b18d5,renamedBehaviorIds:_0x20843f}=await pushAudience(_0x32fe5a,_0x1635fb,_0x39195d,_0x5875f1,_0x2102f7,!!_0x9d3f88[_0x19143c(0x18c)]);_0x29d6dd[_0x19143c(0x164)]=_0x32fe5a[_0x19143c(0x184)],_0x29d6dd[_0x19143c(0x19c)]=_0x36f1f8;if(_0x2f3e80)_0x29d6dd[_0x19143c(0x18b)]=_0x2f3e80;if(_0x4b18d5?.[_0x19143c(0x190)])_0x29d6dd[_0x19143c(0x1de)]=_0x4b18d5;if(_0x20843f?.[_0x19143c(0x190)])_0x29d6dd[_0x19143c(0x182)]=_0x20843f;if(_0x1aa4e0)_0x29d6dd['created'][_0x19143c(0x1be)]++;else _0x29d6dd[_0x19143c(0x17c)][_0x19143c(0x1be)]++;}if(_0x323a09[_0x19143c(0x190)]===0x0)return _0x29d6dd;const _0x5974d8=_0x29d6dd[_0x19143c(0x19c)];if(_0x2764a6){const _0x3721ba=_0x5974d8?buildFolderPathToIdMap(await _0x1635fb['listFolders'](_0x5974d8)):new Map(),_0x2ca9bc=new Set();for(const _0x2bff8d of _0x323a09){if(_0x2bff8d[_0x19143c(0x161)])addFoldersToCreate(_0x2bff8d[_0x19143c(0x161)],_0x3721ba,_0x2ca9bc);}_0x29d6dd[_0x19143c(0x197)][_0x19143c(0x183)]+=_0x2ca9bc['size'];const _0x5ebc40=_0x5974d8?await _0x1635fb[_0x19143c(0x1a9)](_0x5974d8):[];for(const _0x298bd4 of _0x323a09){const _0x962298=findSegmentByName(_0x5ebc40,_0x298bd4[_0x19143c(0x184)]);if(_0x962298)_0x29d6dd[_0x19143c(0x17c)]['segments']++;else _0x29d6dd[_0x19143c(0x197)]['segments']++;if(_0x298bd4['activations']){const _0x24375c=_0x962298?await _0x1635fb[_0x19143c(0x16a)](_0x962298['id']):[];for(const _0x5bd2ad of _0x298bd4[_0x19143c(0x199)]){findActivationByName(_0x24375c,_0x5bd2ad[_0x19143c(0x184)])?_0x29d6dd[_0x19143c(0x17c)][_0x19143c(0x199)]++:_0x29d6dd[_0x19143c(0x197)][_0x19143c(0x199)]++;}}}return _0x29d6dd;}if(!_0x5974d8)throw new SDKError(ErrorCode[_0x19143c(0x16d)],_0x19143c(0x1a1));let _0x17b32f=buildFolderPathToIdMap(await _0x1635fb['listFolders'](_0x5974d8));const _0x537db8=new Set();for(const _0x6d10f1 of _0x323a09){if(_0x6d10f1[_0x19143c(0x161)])addFoldersToCreate(_0x6d10f1[_0x19143c(0x161)],_0x17b32f,_0x537db8);}for(const _0x491d48 of sortFoldersByDepth(_0x537db8)){const _0x428313=_0x491d48['split']('/'),_0x35d31f=_0x428313[_0x428313[_0x19143c(0x190)]-0x1],_0xf5a065=_0x428313[_0x19143c(0x196)](0x0,-0x1)[_0x19143c(0x17e)]('/'),_0x3cd01a=_0x17b32f[_0x19143c(0x160)](_0xf5a065);if(!_0x3cd01a)throw new SDKError(ErrorCode[_0x19143c(0x18d)],_0x19143c(0x15e)+_0x491d48+_0x19143c(0x1d7)+_0xf5a065+_0x19143c(0x188));_0x24546c?.['update'](_0x19143c(0x1b8)+_0x491d48);let _0x1781b1;try{_0x1781b1=await _0x1635fb['createFolder'](_0x5974d8,{'name':_0x35d31f,'parentFolderId':_0x3cd01a});}catch(_0x7ef2df){mapComposableError(_0x7ef2df,{'syntaxCode':ErrorCode[_0x19143c(0x175)],'updateCode':ErrorCode['COMPOSABLE_SEGMENT_UPDATE_ERROR'],'failureMessage':_0x19143c(0x1b1)+_0x491d48+'\x22'});}_0x17b32f[_0x19143c(0x1bb)](_0x491d48,_0x1781b1['id']),_0x29d6dd['created'][_0x19143c(0x183)]++;}const _0x56f38a=await _0x1635fb[_0x19143c(0x1a9)](_0x5974d8);for(const _0x9a5129 of _0x323a09){_0x24546c?.[_0x19143c(0x1d9)](_0x19143c(0x162)+_0x9a5129[_0x19143c(0x184)]);const _0x248d15=defToSegmentApi(_0x9a5129,_0x5974d8,_0x17b32f),_0x1d0aad=findSegmentByName(_0x56f38a,_0x9a5129[_0x19143c(0x184)]);let _0x372d2d;try{if(_0x1d0aad)await _0x1635fb[_0x19143c(0x1bf)](_0x1d0aad['id'],_0x248d15),_0x372d2d=_0x1d0aad['id'],_0x29d6dd[_0x19143c(0x17c)][_0x19143c(0x151)]++;else{const _0x5bfd1c=await _0x1635fb[_0x19143c(0x19a)](_0x248d15);_0x372d2d=_0x5bfd1c['id'],_0x29d6dd['created'][_0x19143c(0x151)]++;}}catch(_0x4dae48){mapComposableError(_0x4dae48,{'syntaxCode':ErrorCode[_0x19143c(0x175)],'updateCode':ErrorCode['COMPOSABLE_SEGMENT_UPDATE_ERROR'],'failureMessage':_0x19143c(0x153)+(_0x1d0aad?_0x19143c(0x1d9):_0x19143c(0x14c))+_0x19143c(0x156)+_0x9a5129[_0x19143c(0x184)]+'\x22'});}const _0x592834=await _0x1635fb[_0x19143c(0x154)](_0x372d2d);verifySegmentWrite(_0x9a5129,_0x592834);if(_0x9a5129['activations']){const _0x30734a=_0x1d0aad?await _0x1635fb['listActivations'](_0x372d2d):[];for(const _0x24abec of _0x9a5129[_0x19143c(0x199)]){const _0x463ea6=_0x39195d['get'](_0x24abec[_0x19143c(0x1d1)])||_0x24abec['connection'],_0x1c90dd=activationDefToApi(_0x24abec,_0x463ea6,_0x9a5129[_0x19143c(0x184)]),_0x221998=findActivationByName(_0x30734a,_0x24abec[_0x19143c(0x184)]);try{_0x221998?(await _0x1635fb['updateActivation'](_0x372d2d,_0x221998['id'],_0x1c90dd),_0x29d6dd[_0x19143c(0x17c)]['activations']++):(await _0x1635fb['createActivation'](_0x372d2d,_0x1c90dd),_0x29d6dd[_0x19143c(0x197)]['activations']++);}catch(_0x41551c){mapComposableError(_0x41551c,{'syntaxCode':ErrorCode[_0x19143c(0x189)],'updateCode':ErrorCode[_0x19143c(0x15a)],'failureMessage':'Failed\x20to\x20'+(_0x221998?_0x19143c(0x1d9):_0x19143c(0x14c))+_0x19143c(0x1e2)+_0x24abec[_0x19143c(0x184)]+_0x19143c(0x15f)+_0x9a5129['name']+'\x22','connectionNotFoundMessage':_0x19143c(0x194)+_0x24abec[_0x19143c(0x184)]+'\x22\x20under\x20segment\x20\x22'+_0x9a5129[_0x19143c(0x184)]+'\x22.\x20Check\x20the\x20connection\x20name\x20in\x20your\x20YAML.'});}}}}return _0x29d6dd;}async function pushAudience(_0x3838a2,_0xb3a767,_0x5fe6a,_0x3c0e56,_0x1dfcde,_0x2a9197){const _0x32ada6=a107_0x52f7,_0x300d7c=await _0xb3a767['listComposableAudiences'](),_0x1842d4=findAudienceByName(_0x300d7c,_0x3838a2[_0x32ada6(0x184)]);let _0x438731,_0x4f5f40;if(_0x1842d4){_0x438731=await _0xb3a767[_0x32ada6(0x14d)](_0x1842d4['id']);const _0x386765=computeAudienceDrift(_0x438731,_0x3838a2),_0x23cc97=_0x386765['removedAttributes'][_0x32ada6(0x190)]>0x0||_0x386765[_0x32ada6(0x1a0)][_0x32ada6(0x190)]>0x0;if(_0x23cc97&&!_0x2a9197){const _0x101c7e=[];_0x386765[_0x32ada6(0x1a2)][_0x32ada6(0x190)]&&_0x101c7e['push'](_0x32ada6(0x1cf)+_0x386765[_0x32ada6(0x1a2)][_0x32ada6(0x17e)](',\x20'));_0x386765[_0x32ada6(0x1a0)]['length']&&_0x101c7e[_0x32ada6(0x15d)](_0x32ada6(0x1c4)+_0x386765[_0x32ada6(0x1a0)][_0x32ada6(0x17e)](',\x20'));throw new SDKError(ErrorCode[_0x32ada6(0x1e4)],'Pushing\x20\x22'+_0x3838a2[_0x32ada6(0x184)]+_0x32ada6(0x170)+_0x101c7e[_0x32ada6(0x17e)](_0x32ada6(0x1cd))+_0x32ada6(0x1ca));}(_0x23cc97||_0x386765[_0x32ada6(0x1d3)][_0x32ada6(0x190)]||_0x386765[_0x32ada6(0x19b)][_0x32ada6(0x190)])&&(_0x4f5f40=_0x386765);}for(const _0x47ad54 of _0x3838a2[_0x32ada6(0x15b)]??[]){if(!_0x47ad54[_0x32ada6(0x157)])continue;const _0x4d211f=_0x438731?.[_0x32ada6(0x15b)]?.[_0x32ada6(0x1aa)](_0x56fa1c=>_0x56fa1c[_0x32ada6(0x184)]===_0x47ad54['name']);if(!_0x4d211f?.[_0x32ada6(0x152)])throw new SDKError(ErrorCode['INVALID_ARGUMENT'],'Behavior\x20\x22'+_0x47ad54[_0x32ada6(0x184)]+_0x32ada6(0x1c6)+(_0x4d211f?_0x32ada6(0x178):_0x32ada6(0x173))+_0x32ada6(0x1c1));}const _0x14f988=defToApi(_0x3838a2,_0x5fe6a,_0x3c0e56,_0x1dfcde);let _0x2af302,_0x36770e;try{if(_0x1842d4)await _0xb3a767[_0x32ada6(0x198)](_0x1842d4['id'],_0x14f988),_0x2af302=_0x1842d4['id'],_0x36770e=![];else{const _0x494a05=await _0xb3a767[_0x32ada6(0x14f)](_0x14f988);_0x2af302=_0x494a05['id'],_0x36770e=!![];}}catch(_0x1deeb3){if(errorContains(_0x1deeb3,_0x32ada6(0x181),'Couldn\x27t\x20find'))throw new SDKError(ErrorCode['CONNECTION_NOT_FOUND'],_0x32ada6(0x1d5)+_0x3838a2[_0x32ada6(0x184)]+_0x32ada6(0x191),_0x1deeb3);const _0x3bd5cc=isHttp400Error(_0x1deeb3),_0x2c2873=_0x3bd5cc?ErrorCode[_0x32ada6(0x18f)]:ErrorCode[_0x32ada6(0x166)];throw new SDKError(_0x2c2873,_0x32ada6(0x153)+(_0x1842d4?_0x32ada6(0x1d9):_0x32ada6(0x14c))+'\x20composable\x20audience\x20\x22'+_0x3838a2['name']+_0x32ada6(0x185)+getErrorMessage(_0x1deeb3),_0x1deeb3);}const _0x263637=await _0xb3a767[_0x32ada6(0x14d)](_0x2af302),_0x5245a2=verifyAudienceWrite(_0x3838a2,_0x263637,_0x438731);return{'id':_0x2af302,'isNew':_0x36770e,'appliedDrift':_0x4f5f40,'renamedAttributeIds':_0x5245a2[_0x32ada6(0x1d3)],'renamedBehaviorIds':_0x5245a2[_0x32ada6(0x19b)]};}export function collectYamlFiles(_0x2921c8){const _0x36f8ee=a107_0x52f7,_0x29a135=a107_0x1d40cc[_0x36f8ee(0x1bd)](_0x2921c8);if(!existsSync(_0x29a135))return[];const _0x2795d4=statSync(_0x29a135);if(_0x2795d4[_0x36f8ee(0x1cb)]())return _0x29a135[_0x36f8ee(0x193)](_0x36f8ee(0x150))||_0x29a135[_0x36f8ee(0x193)](_0x36f8ee(0x1d6))?[_0x29a135]:[];if(_0x2795d4[_0x36f8ee(0x1b2)]()){const _0x56dcce=[];for(const _0x41d09f of readdirSync(_0x29a135)){const _0x43c16f=a107_0x1d40cc[_0x36f8ee(0x17e)](_0x29a135,_0x41d09f),_0x712c0e=statSync(_0x43c16f);if(_0x712c0e[_0x36f8ee(0x1cb)]()&&(_0x41d09f['endsWith'](_0x36f8ee(0x150))||_0x41d09f[_0x36f8ee(0x193)]('.yaml')))_0x56dcce['push'](_0x43c16f);else _0x712c0e[_0x36f8ee(0x1b2)]()&&_0x56dcce[_0x36f8ee(0x15d)](...collectYamlFiles(_0x43c16f));}return _0x56dcce;}return[];}
|
|
1
|
+
(function(_0x24129b,_0x44fdc4){const _0x22dc46=a109_0x4ca6,_0x110325=_0x24129b();while(!![]){try{const _0x5e5977=parseInt(_0x22dc46(0x160))/0x1*(parseInt(_0x22dc46(0x125))/0x2)+parseInt(_0x22dc46(0x148))/0x3+-parseInt(_0x22dc46(0x184))/0x4*(-parseInt(_0x22dc46(0x13a))/0x5)+-parseInt(_0x22dc46(0x10a))/0x6*(parseInt(_0x22dc46(0x133))/0x7)+-parseInt(_0x22dc46(0x180))/0x8+-parseInt(_0x22dc46(0x163))/0x9*(-parseInt(_0x22dc46(0x153))/0xa)+-parseInt(_0x22dc46(0x18e))/0xb;if(_0x5e5977===_0x44fdc4)break;else _0x110325['push'](_0x110325['shift']());}catch(_0x4d88b5){_0x110325['push'](_0x110325['shift']());}}}(a109_0x1325,0xad249));import{existsSync,readFileSync,readdirSync,statSync}from'fs';import a109_0x3f0705 from'path';import{isDeepStrictEqual}from'node:util';import{parseDef,defToApi}from'./cas-audience-yaml.js';import{parseSegmentDef,isComposableSegmentDef,defToSegmentApi,activationDefToApi}from'./cas-segment-yaml.js';import{buildFolderPathToIdMap}from'../segment/resolution-context.js';import{addFoldersToCreate,sortFoldersByDepth}from'../segment/push-workflow.js';import{SDKError,ErrorCode,isHttp400Error,getErrorMessage,errorContains}from'../errors.js';import*as a109_0x77bfe0 from'yaml';export function findAudienceByName(_0x565ef6,_0x139fbd){const _0x30eb28=a109_0x4ca6;return _0x565ef6[_0x30eb28(0x17b)](_0x122653=>_0x122653['name']===_0x139fbd);}export function computeAudienceDrift(_0xe8cf08,_0x49ab0e){const _0x5326bf=a109_0x4ca6,_0x4dc994=_0x49ab0e['attributes']??[],_0x1a2820=_0x49ab0e['behaviors']??[],_0x232ae4=new Set(_0x4dc994[_0x5326bf(0x11e)](_0x1af559=>_0x1af559[_0x5326bf(0x100)])),_0x2a5a6f=new Set(_0x1a2820[_0x5326bf(0x11e)](_0x2446a2=>_0x2446a2['name'])),_0x3cbf88=[],_0xe05f75=[];for(const _0x553f2b of _0xe8cf08['attributes']??[]){if(_0x232ae4[_0x5326bf(0x16d)](_0x553f2b['name']))continue;const _0x22d7ea=_0x4dc994[_0x5326bf(0x17b)](_0x3d301d=>_0x3d301d[_0x5326bf(0x155)]===_0x553f2b['schema']&&_0x3d301d['table']===_0x553f2b[_0x5326bf(0x16f)]&&_0x3d301d[_0x5326bf(0x120)]===_0x553f2b['column']);_0x22d7ea?_0xe05f75[_0x5326bf(0x141)]({'from':_0x553f2b[_0x5326bf(0x100)],'to':_0x22d7ea['name']}):_0x3cbf88['push'](_0x553f2b['name']);}const _0x4741d1=[],_0x252991=[];for(const _0x4665e1 of _0xe8cf08[_0x5326bf(0x10e)]??[]){if(_0x2a5a6f[_0x5326bf(0x16d)](_0x4665e1['name']))continue;const _0x5cef58=_0x1a2820[_0x5326bf(0x17b)](_0x46adc1=>_0x46adc1[_0x5326bf(0x155)]===_0x4665e1[_0x5326bf(0x155)]&&_0x46adc1[_0x5326bf(0x16f)]===_0x4665e1[_0x5326bf(0x16f)]&&_0x46adc1[_0x5326bf(0x117)]===_0x4665e1['timeColumn']);_0x5cef58?_0x252991[_0x5326bf(0x141)]({'from':_0x4665e1[_0x5326bf(0x100)],'to':_0x5cef58['name']}):_0x4741d1[_0x5326bf(0x141)](_0x4665e1[_0x5326bf(0x100)]);}return{'removedAttributes':_0x3cbf88,'removedBehaviors':_0x4741d1,'renamedAttributes':_0xe05f75,'renamedBehaviors':_0x252991};}function diffNameSets(_0x519570,_0x4b9d54){const _0x1d330e=a109_0x4ca6,_0x5c8698=new Set(_0x519570),_0x2f2783=new Set(_0x4b9d54);return{'missing':_0x519570[_0x1d330e(0x15a)](_0x1f9374=>!_0x2f2783['has'](_0x1f9374)),'unexpected':_0x4b9d54[_0x1d330e(0x15a)](_0x4c9de9=>!_0x5c8698[_0x1d330e(0x16d)](_0x4c9de9))};}export function verifyAudienceWrite(_0x4157c9,_0x3a2b5b,_0x57bbfb){const _0x56b147=a109_0x4ca6,_0x2fa236=(_0x4157c9['attributes']??[])[_0x56b147(0x11e)](_0x46e109=>_0x46e109['name']),_0x5a3036=(_0x4157c9[_0x56b147(0x10e)]??[])[_0x56b147(0x11e)](_0x221b9e=>_0x221b9e[_0x56b147(0x100)]),_0x9124cd=(_0x3a2b5b[_0x56b147(0x128)]??[])['map'](_0xf2346d=>_0xf2346d[_0x56b147(0x100)]),_0xadb526=(_0x3a2b5b[_0x56b147(0x10e)]??[])[_0x56b147(0x11e)](_0x17ee85=>_0x17ee85[_0x56b147(0x100)]),_0x536986=diffNameSets(_0x2fa236,_0x9124cd),_0x5ce7ea=diffNameSets(_0x5a3036,_0xadb526),_0x46b95b=[];_0x536986[_0x56b147(0x10b)][_0x56b147(0x121)]&&_0x46b95b[_0x56b147(0x141)](_0x56b147(0x165)+_0x536986[_0x56b147(0x10b)][_0x56b147(0x166)](',\x20'));_0x536986[_0x56b147(0x144)]['length']&&_0x46b95b['push'](_0x56b147(0x150)+_0x536986[_0x56b147(0x144)][_0x56b147(0x166)](',\x20'));_0x5ce7ea[_0x56b147(0x10b)][_0x56b147(0x121)]&&_0x46b95b[_0x56b147(0x141)](_0x56b147(0x10f)+_0x5ce7ea[_0x56b147(0x10b)][_0x56b147(0x166)](',\x20'));_0x5ce7ea['unexpected']['length']&&_0x46b95b[_0x56b147(0x141)](_0x56b147(0x18f)+_0x5ce7ea[_0x56b147(0x144)][_0x56b147(0x166)](',\x20'));for(const _0x421d15 of _0x4157c9[_0x56b147(0x128)]??[]){const _0x56b549=_0x3a2b5b[_0x56b147(0x128)]?.[_0x56b147(0x17b)](_0x2d942c=>_0x2d942c['name']===_0x421d15[_0x56b147(0x100)]);if(!_0x56b549)continue;const _0x3eb41f=[];if(_0x56b549['schema']!==_0x421d15[_0x56b147(0x155)])_0x3eb41f[_0x56b147(0x141)]('schema');if(_0x56b549[_0x56b147(0x16f)]!==_0x421d15[_0x56b147(0x16f)])_0x3eb41f['push'](_0x56b147(0x16f));if(_0x56b549[_0x56b147(0x120)]!==_0x421d15[_0x56b147(0x120)])_0x3eb41f['push'](_0x56b147(0x120));if(_0x56b549[_0x56b147(0x104)]!==_0x421d15[_0x56b147(0x104)])_0x3eb41f['push']('type');_0x3eb41f['length']&&_0x46b95b[_0x56b147(0x141)]('attribute\x20\x22'+_0x421d15[_0x56b147(0x100)]+_0x56b147(0x18d)+_0x3eb41f['join']('/')+_0x56b147(0x176));}for(const _0x40c556 of _0x4157c9[_0x56b147(0x10e)]??[]){const _0x4195fb=_0x3a2b5b['behaviors']?.['find'](_0x487159=>_0x487159['name']===_0x40c556[_0x56b147(0x100)]);if(!_0x4195fb)continue;const _0x2c4821=[];if(_0x4195fb[_0x56b147(0x155)]!==_0x40c556[_0x56b147(0x155)])_0x2c4821[_0x56b147(0x141)](_0x56b147(0x155));if(_0x4195fb[_0x56b147(0x16f)]!==_0x40c556['table'])_0x2c4821[_0x56b147(0x141)](_0x56b147(0x16f));if((_0x4195fb[_0x56b147(0x171)]??'')!==(_0x40c556['time_column']??''))_0x2c4821[_0x56b147(0x141)](_0x56b147(0x117));_0x2c4821['length']&&_0x46b95b[_0x56b147(0x141)](_0x56b147(0x131)+_0x40c556[_0x56b147(0x100)]+_0x56b147(0x18d)+_0x2c4821[_0x56b147(0x166)]('/')+_0x56b147(0x176));}_0x4157c9['allow_activation_behavior']!==undefined&&_0x3a2b5b[_0x56b147(0x16a)]!==_0x4157c9[_0x56b147(0x12e)]&&_0x46b95b[_0x56b147(0x141)](_0x56b147(0x172)+_0x3a2b5b[_0x56b147(0x16a)]+_0x56b147(0x18c)+_0x4157c9[_0x56b147(0x12e)]+'\x20was\x20pushed');_0x4157c9['max_activation_behavior_row']!==undefined&&_0x3a2b5b[_0x56b147(0x17c)]!==_0x4157c9[_0x56b147(0x12d)]&&_0x46b95b[_0x56b147(0x141)](_0x56b147(0x145)+_0x3a2b5b[_0x56b147(0x17c)]+'\x20but\x20'+_0x4157c9[_0x56b147(0x12d)]+_0x56b147(0x102));const _0x2e203e=[],_0x2b8511=[];if(_0x57bbfb){const _0x510a28=computeAudienceDrift(_0x57bbfb,_0x4157c9);for(const {from:_0x35cc95,to:_0x5b2393}of _0x510a28[_0x56b147(0x11b)]){const _0x45aef2=_0x57bbfb[_0x56b147(0x128)]?.[_0x56b147(0x17b)](_0x58bd8d=>_0x58bd8d[_0x56b147(0x100)]===_0x35cc95),_0x44dd53=_0x3a2b5b[_0x56b147(0x128)]?.[_0x56b147(0x17b)](_0x50e88f=>_0x50e88f[_0x56b147(0x100)]===_0x5b2393);_0x45aef2?.['id']&&_0x3a2b5b[_0x56b147(0x128)]?.['some'](_0x4c7924=>_0x4c7924['id']===_0x45aef2['id'])&&_0x46b95b[_0x56b147(0x141)](_0x56b147(0x15e)+_0x35cc95+_0x56b147(0x11c)+_0x5b2393+'\x22:\x20its\x20old\x20id\x20('+_0x45aef2['id']+_0x56b147(0x129)),_0x2e203e[_0x56b147(0x141)]({'from':_0x35cc95,'to':_0x5b2393,'fromId':_0x45aef2?.['id'],'toId':_0x44dd53?.['id']});}for(const {from:_0x38b199,to:_0x3173a6}of _0x510a28[_0x56b147(0x174)]){const _0x4b3689=_0x57bbfb[_0x56b147(0x10e)]?.[_0x56b147(0x17b)](_0x304ec9=>_0x304ec9[_0x56b147(0x100)]===_0x38b199),_0x4a97b2=_0x3a2b5b['behaviors']?.[_0x56b147(0x17b)](_0x17e36a=>_0x17e36a['name']===_0x3173a6);_0x4b3689?.['id']&&_0x3a2b5b[_0x56b147(0x10e)]?.[_0x56b147(0x147)](_0x372fab=>_0x372fab['id']===_0x4b3689['id'])&&_0x46b95b[_0x56b147(0x141)]('behavior\x20\x22'+_0x38b199+_0x56b147(0x11c)+_0x3173a6+'\x22:\x20its\x20old\x20id\x20('+_0x4b3689['id']+_0x56b147(0x167)),_0x2b8511[_0x56b147(0x141)]({'from':_0x38b199,'to':_0x3173a6,'fromId':_0x4b3689?.['id'],'toId':_0x4a97b2?.['id']});}}if(_0x46b95b[_0x56b147(0x121)]>0x0)throw new SDKError(ErrorCode[_0x56b147(0x109)],_0x56b147(0x169)+_0x4157c9[_0x56b147(0x100)]+'\x22\x20reported\x20success,\x20but\x20re-reading\x20the\x20audience\x20shows\x20it\x20doesn\x27t\x20match\x20what\x20was\x20sent:\x20'+_0x46b95b['join'](';\x20')+_0x56b147(0x16e));return{'renamedAttributes':_0x2e203e,'renamedBehaviors':_0x2b8511};}export function verifySegmentWrite(_0x56e031,_0x5ebb48){const _0x1fb158=a109_0x4ca6,_0x5e8d3e=[];_0x5ebb48['name']!==_0x56e031[_0x1fb158(0x100)]&&_0x5e8d3e['push']('name\x20is\x20\x22'+_0x5ebb48[_0x1fb158(0x100)]+_0x1fb158(0xff)+_0x56e031[_0x1fb158(0x100)]+'\x22');const _0x2c882c=_0x11b3d4=>_0x11b3d4===undefined?null:JSON['parse'](JSON[_0x1fb158(0x14a)](_0x11b3d4));!isDeepStrictEqual(_0x2c882c(_0x5ebb48['rule']),_0x2c882c(_0x56e031[_0x1fb158(0x12a)]))&&_0x5e8d3e['push']('rule\x20does\x20not\x20match\x20what\x20was\x20pushed');if(_0x5e8d3e['length']>0x0)throw new SDKError(ErrorCode[_0x1fb158(0x156)],_0x1fb158(0x17a)+_0x56e031[_0x1fb158(0x100)]+'\x22\x20reported\x20success,\x20but\x20re-reading\x20it\x20shows\x20it\x20doesn\x27t\x20match\x20what\x20was\x20sent:\x20'+_0x5e8d3e[_0x1fb158(0x166)](';\x20')+_0x1fb158(0x13b));}export function findSegmentByName(_0xe935ce,_0x3309cc){const _0x1e055f=a109_0x4ca6;return _0xe935ce[_0x1e055f(0x17b)](_0x235a1e=>_0x235a1e[_0x1e055f(0x100)]===_0x3309cc);}export function findActivationByName(_0x50e07c,_0x519c9c){const _0x5aa582=a109_0x4ca6;return _0x50e07c['find'](_0x54dc62=>_0x54dc62[_0x5aa582(0x100)]===_0x519c9c);}export async function deleteComposableSegment(_0x224477,_0x23a578,_0x3ab3f6){const _0x4ca25=a109_0x4ca6,_0x22a653=await _0x224477[_0x4ca25(0x13f)](_0x23a578),_0x5acd53=findSegmentByName(_0x22a653,_0x3ab3f6);if(!_0x5acd53)throw new SDKError(ErrorCode[_0x4ca25(0x110)],_0x4ca25(0x152)+_0x3ab3f6+_0x4ca25(0x106));return await _0x224477['deleteSegment'](_0x5acd53['id']),{'id':_0x5acd53['id']};}function mapComposableError(_0x153a43,_0x1b25ce){const _0x20d94b=a109_0x4ca6;if(_0x1b25ce['connectionNotFoundMessage']&&errorContains(_0x153a43,_0x20d94b(0x12f),'Couldn\x27t\x20find'))throw new SDKError(ErrorCode[_0x20d94b(0x143)],_0x1b25ce[_0x20d94b(0x190)],_0x153a43);const _0x15c0db=isHttp400Error(_0x153a43),_0x42d493=_0x15c0db?_0x1b25ce[_0x20d94b(0x179)]:_0x1b25ce[_0x20d94b(0x107)];throw new SDKError(_0x42d493,_0x1b25ce[_0x20d94b(0x118)]+_0x20d94b(0x146)+getErrorMessage(_0x153a43),_0x153a43);}export async function buildConnectionMaps(_0x403e3f){const _0x4edf8f=a109_0x4ca6,_0x4659a3=await _0x403e3f['list'](),_0x45099a=new Map(),_0xcdc357=new Map(),_0x3b9ab2=new Map();for(const _0xdb78dc of _0x4659a3){_0xdb78dc['id']&&(_0x45099a['set'](_0xdb78dc['name'],_0xdb78dc['id']),_0x3b9ab2[_0x4edf8f(0x149)](_0xdb78dc['id'],_0xdb78dc[_0x4edf8f(0x104)])),_0xcdc357[_0x4edf8f(0x149)](_0xdb78dc['name'],_0xdb78dc['type']);}return{'nameToId':_0x45099a,'nameToType':_0xcdc357,'idToType':_0x3b9ab2};}function parseAndClassify(_0x1db66d){const _0x19ca47=a109_0x4ca6,_0x4a676=readFileSync(_0x1db66d,_0x19ca47(0x14b)),_0x5e6896=a109_0x77bfe0[_0x19ca47(0x11d)](_0x4a676);if(!_0x5e6896||typeof _0x5e6896!==_0x19ca47(0x164))return{'type':_0x19ca47(0x108)};if(isComposableSegmentDef(_0x5e6896))return{'type':_0x19ca47(0x134),'def':parseSegmentDef(_0x4a676)};if(_0x19ca47(0x181)in _0x5e6896&&'name'in _0x5e6896)return{'type':_0x19ca47(0x11f),'def':parseDef(_0x4a676)};return{'type':_0x19ca47(0x108)};}export function assertSingleAudience(_0x524714,_0x5ab61e){const _0x4f7426=a109_0x4ca6;if(_0x524714[_0x4f7426(0x121)]<=0x1)return;const _0x13556c=_0x524714[_0x4f7426(0x11e)]((_0x2c4638,_0x5d8f1f)=>'\x22'+_0x2c4638['name']+'\x22\x20('+a109_0x3f0705[_0x4f7426(0x123)](_0x5ab61e[_0x5d8f1f])+')')[_0x4f7426(0x166)](',\x20');throw new SDKError(ErrorCode['INVALID_ARGUMENT'],_0x4f7426(0x18b)+_0x524714[_0x4f7426(0x121)]+'\x20composable\x20audience\x20definitions\x20in\x20the\x20target,\x20but\x20a\x20push\x20can\x20only\x20target\x20one\x20at\x20a\x20time:\x20'+_0x13556c+_0x4f7426(0x12b));}export async function pushComposableFiles(_0x54e006,_0x3e7dc8,_0x4cc437){const _0x4e489e=a109_0x4ca6,{client:_0x1916fe,connection:_0x24abfc}=_0x3e7dc8,{dryRun:_0x24c350,progress:_0x4502fc}=_0x4cc437,_0x2bd63e={'created':{'segments':0x0,'activations':0x0,'audiences':0x0,'folders':0x0},'updated':{'segments':0x0,'activations':0x0,'audiences':0x0,'folders':0x0}},{nameToId:_0x3eb34d,nameToType:_0x673d44,idToType:_0x2e9018}=await((async()=>{const _0x4c4599=a109_0x4ca6;if(_0x4cc437[_0x4c4599(0x114)])return _0x4cc437[_0x4c4599(0x114)];return _0x4502fc?.[_0x4c4599(0x103)](_0x4c4599(0x111)),buildConnectionMaps(_0x24abfc);})()),_0x3701b2=[],_0x29cccc=[],_0x4e5da9=[];for(const _0x241610 of _0x54e006){const _0xeb3a15=parseAndClassify(_0x241610);if(_0xeb3a15[_0x4e489e(0x104)]==='audience')_0x3701b2['push'](_0xeb3a15[_0x4e489e(0x183)]),_0x29cccc['push'](_0x241610);else _0xeb3a15[_0x4e489e(0x104)]===_0x4e489e(0x134)&&_0x4e5da9['push'](_0xeb3a15[_0x4e489e(0x183)]);}assertSingleAudience(_0x3701b2,_0x29cccc);_0x3701b2[_0x4e489e(0x121)]===0x0&&_0x4cc437[_0x4e489e(0x142)]&&(_0x2bd63e[_0x4e489e(0x140)]=_0x4cc437[_0x4e489e(0x142)]);let _0x51f82f;for(const _0x191118 of _0x3701b2){_0x4502fc?.[_0x4e489e(0x103)](_0x4e489e(0x16b)+_0x191118[_0x4e489e(0x100)]);if(_0x24c350){_0x51f82f??=await _0x1916fe[_0x4e489e(0x11a)]();const _0x2b54fe=findAudienceByName(_0x51f82f,_0x191118[_0x4e489e(0x100)]);_0x2bd63e[_0x4e489e(0xfe)]=_0x191118[_0x4e489e(0x100)],_0x2bd63e[_0x4e489e(0x140)]=_0x2b54fe?.['id'];if(_0x2b54fe){_0x2bd63e['updated'][_0x4e489e(0x132)]++;const _0x404bfd=await _0x1916fe['getComposableAudience'](_0x2b54fe['id']),_0x32580b=computeAudienceDrift(_0x404bfd,_0x191118);(_0x32580b['removedAttributes']['length']||_0x32580b[_0x4e489e(0x10c)]['length']||_0x32580b[_0x4e489e(0x11b)][_0x4e489e(0x121)]||_0x32580b[_0x4e489e(0x174)][_0x4e489e(0x121)])&&(_0x2bd63e[_0x4e489e(0x161)]=_0x32580b);}else _0x2bd63e[_0x4e489e(0x115)][_0x4e489e(0x132)]++;continue;}const {id:_0x338208,isNew:_0x4b2b17,appliedDrift:_0x4230e5,renamedAttributeIds:_0x4e3b56,renamedBehaviorIds:_0x368e6b}=await pushAudience(_0x191118,_0x1916fe,_0x3eb34d,_0x673d44,_0x2e9018,!!_0x4cc437[_0x4e489e(0x157)]);_0x2bd63e['audienceName']=_0x191118['name'],_0x2bd63e[_0x4e489e(0x140)]=_0x338208;if(_0x4230e5)_0x2bd63e['audienceDrift']=_0x4230e5;if(_0x4e3b56?.[_0x4e489e(0x121)])_0x2bd63e[_0x4e489e(0xfc)]=_0x4e3b56;if(_0x368e6b?.[_0x4e489e(0x121)])_0x2bd63e['renamedBehaviorIds']=_0x368e6b;if(_0x4b2b17)_0x2bd63e[_0x4e489e(0x115)]['audiences']++;else _0x2bd63e[_0x4e489e(0x170)][_0x4e489e(0x132)]++;}if(_0x4e5da9[_0x4e489e(0x121)]===0x0)return _0x2bd63e;const _0x59e629=_0x2bd63e[_0x4e489e(0x140)];if(_0x24c350){const _0x539a50=_0x59e629?buildFolderPathToIdMap(await _0x1916fe[_0x4e489e(0x113)](_0x59e629)):new Map(),_0x59e95e=new Set();for(const _0x345725 of _0x4e5da9){if(_0x345725['folder'])addFoldersToCreate(_0x345725[_0x4e489e(0x18a)],_0x539a50,_0x59e95e);}_0x2bd63e['created']['folders']+=_0x59e95e[_0x4e489e(0x112)];const _0xab990a=_0x59e629?await _0x1916fe[_0x4e489e(0x13f)](_0x59e629):[];for(const _0x529a98 of _0x4e5da9){const _0x2bd5e9=findSegmentByName(_0xab990a,_0x529a98['name']);if(_0x2bd5e9)_0x2bd63e['updated'][_0x4e489e(0x14e)]++;else _0x2bd63e[_0x4e489e(0x115)]['segments']++;if(_0x529a98[_0x4e489e(0x136)]){const _0x5b1e3e=_0x2bd5e9?await _0x1916fe['listActivations'](_0x2bd5e9['id']):[];for(const _0x1a2dea of _0x529a98[_0x4e489e(0x136)]){findActivationByName(_0x5b1e3e,_0x1a2dea[_0x4e489e(0x100)])?_0x2bd63e[_0x4e489e(0x170)][_0x4e489e(0x136)]++:_0x2bd63e[_0x4e489e(0x115)][_0x4e489e(0x136)]++;}}}return _0x2bd63e;}if(!_0x59e629)throw new SDKError(ErrorCode[_0x4e489e(0x13e)],_0x4e489e(0x15d));let _0x1c1677=buildFolderPathToIdMap(await _0x1916fe[_0x4e489e(0x113)](_0x59e629));const _0x18e371=new Set();for(const _0x21c458 of _0x4e5da9){if(_0x21c458[_0x4e489e(0x18a)])addFoldersToCreate(_0x21c458[_0x4e489e(0x18a)],_0x1c1677,_0x18e371);}for(const _0x87057e of sortFoldersByDepth(_0x18e371)){const _0x465aba=_0x87057e[_0x4e489e(0x119)]('/'),_0xa79998=_0x465aba[_0x465aba[_0x4e489e(0x121)]-0x1],_0x47332d=_0x465aba[_0x4e489e(0x14d)](0x0,-0x1)[_0x4e489e(0x166)]('/'),_0x2360e8=_0x1c1677[_0x4e489e(0x158)](_0x47332d);if(!_0x2360e8)throw new SDKError(ErrorCode[_0x4e489e(0x177)],_0x4e489e(0x15c)+_0x87057e+_0x4e489e(0x188)+_0x47332d+_0x4e489e(0x130));_0x4502fc?.[_0x4e489e(0x103)]('Creating\x20folder:\x20'+_0x87057e);let _0x3a8700;try{_0x3a8700=await _0x1916fe[_0x4e489e(0x127)](_0x59e629,{'name':_0xa79998,'parentFolderId':_0x2360e8});}catch(_0x330ed0){mapComposableError(_0x330ed0,{'syntaxCode':ErrorCode[_0x4e489e(0x162)],'updateCode':ErrorCode[_0x4e489e(0x116)],'failureMessage':'Failed\x20to\x20create\x20folder\x20\x22'+_0x87057e+'\x22'});}_0x1c1677['set'](_0x87057e,_0x3a8700['id']),_0x2bd63e[_0x4e489e(0x115)]['folders']++;}const _0xbe6aef=await _0x1916fe['listSegments'](_0x59e629);for(const _0x12ade6 of _0x4e5da9){_0x4502fc?.['update'](_0x4e489e(0x191)+_0x12ade6['name']);const _0x493267=defToSegmentApi(_0x12ade6,_0x59e629,_0x1c1677),_0x56343e=findSegmentByName(_0xbe6aef,_0x12ade6[_0x4e489e(0x100)]);let _0x55174b;try{if(_0x56343e)await _0x1916fe['updateSegment'](_0x56343e['id'],_0x493267),_0x55174b=_0x56343e['id'],_0x2bd63e[_0x4e489e(0x170)][_0x4e489e(0x14e)]++;else{const _0x56852c=await _0x1916fe[_0x4e489e(0x138)](_0x493267);_0x55174b=_0x56852c['id'],_0x2bd63e[_0x4e489e(0x115)][_0x4e489e(0x14e)]++;}}catch(_0xdffcfb){mapComposableError(_0xdffcfb,{'syntaxCode':ErrorCode[_0x4e489e(0x162)],'updateCode':ErrorCode[_0x4e489e(0x116)],'failureMessage':_0x4e489e(0xf9)+(_0x56343e?_0x4e489e(0x103):_0x4e489e(0x10d))+_0x4e489e(0x186)+_0x12ade6['name']+'\x22'});}const _0x29329d=await _0x1916fe['getSegment'](_0x55174b);verifySegmentWrite(_0x12ade6,_0x29329d);if(_0x12ade6['activations']){const _0x8afb68=_0x56343e?await _0x1916fe[_0x4e489e(0x178)](_0x55174b):[];for(const _0x1596aa of _0x12ade6[_0x4e489e(0x136)]){const _0x4e5225=_0x3eb34d[_0x4e489e(0x158)](_0x1596aa['connection'])||_0x1596aa[_0x4e489e(0x182)],_0x4ca44e=activationDefToApi(_0x1596aa,_0x4e5225,_0x12ade6[_0x4e489e(0x100)]),_0x212546=findActivationByName(_0x8afb68,_0x1596aa[_0x4e489e(0x100)]);try{_0x212546?(await _0x1916fe[_0x4e489e(0x122)](_0x55174b,_0x212546['id'],_0x4ca44e),_0x2bd63e[_0x4e489e(0x170)][_0x4e489e(0x136)]++):(await _0x1916fe[_0x4e489e(0x168)](_0x55174b,_0x4ca44e),_0x2bd63e['created'][_0x4e489e(0x136)]++);}catch(_0x555e9a){mapComposableError(_0x555e9a,{'syntaxCode':ErrorCode[_0x4e489e(0x189)],'updateCode':ErrorCode['COMPOSABLE_ACTIVATION_UPDATE_ERROR'],'failureMessage':_0x4e489e(0xf9)+(_0x212546?_0x4e489e(0x103):_0x4e489e(0x10d))+_0x4e489e(0x105)+_0x1596aa[_0x4e489e(0x100)]+_0x4e489e(0x139)+_0x12ade6['name']+'\x22','connectionNotFoundMessage':_0x4e489e(0xf8)+_0x1596aa[_0x4e489e(0x100)]+_0x4e489e(0x139)+_0x12ade6[_0x4e489e(0x100)]+_0x4e489e(0x135)});}}}}return _0x2bd63e;}function a109_0x4ca6(_0x387c98,_0x3d12e8){_0x387c98=_0x387c98-0xf8;const _0x1325d4=a109_0x1325();let _0x4ca6ec=_0x1325d4[_0x387c98];return _0x4ca6ec;}function a109_0x1325(){const _0xd9163a=['has','.\x20Check\x20the\x20audience\x20in\x20Console\x20before\x20pushing\x20again\x20—\x20nothing\x20further\x20was\x20changed\x20automatically.','table','updated','timeColumn','allow_activation_behavior\x20came\x20back\x20','Pushing\x20\x22','renamedBehaviors','isDirectory','\x20than\x20what\x20was\x20pushed','INTERNAL','listActivations','syntaxCode','Push\x20to\x20segment\x20\x22','find','maxActivationBehaviorRow','\x22\x20would\x20remove\x20','Couldn\x27t\x20find','getComposableAudience','8048448etoXnT','master','connection','def','20WDhZmu','resolve','\x20segment\x20\x22','.yml','\x22\x20(parent\x20path\x20\x22','COMPOSABLE_ACTIVATION_SYNTAX_ERROR','folder','Found\x20','\x20but\x20','\x22\x20has\x20a\x20different\x20','9146577QDqVwo','unexpected\x20behavior(s):\x20','connectionNotFoundMessage','Pushing\x20segment:\x20','CDW\x20connection\x20not\x20found\x20or\x20not\x20accessible\x20for\x20activation\x20\x22','Failed\x20to\x20','COMPOSABLE_AUDIENCE_DRIFT','this\x20is\x20a\x20new\x20behavior','renamedAttributeIds','\x20that\x20exist\x20on\x20the\x20server\x20but\x20aren\x27t\x20in\x20this\x20YAML\x20—\x20the\x20backend\x20replaces\x20the\x20full\x20set\x20on\x20update,\x20it\x20doesn\x27t\x20merge.\x20No\x20changes\x20were\x20made.\x20If\x20your\x20YAML\x20is\x20stale,\x20run\x20`tdx\x20cas\x20pull`\x20and\x20reconcile\x20it.\x20If\x20removing\x20them\x20is\x20intentional,\x20re-run\x20with\x20--delete.','audienceName','\x22,\x20expected\x20\x22','name','isFile','\x20was\x20pushed','update','type','\x20activation\x20\x22','\x22\x20not\x20found\x20under\x20this\x20audience\x20—\x20nothing\x20to\x20delete.','updateCode','unknown','COMPOSABLE_AUDIENCE_VERIFICATION_FAILED','6snQqvF','missing','removedBehaviors','create','behaviors','missing\x20behavior(s):\x20','COMPOSABLE_SEGMENT_NOT_FOUND','Resolving\x20connections...','size','listFolders','connectionMaps','created','COMPOSABLE_SEGMENT_UPDATE_ERROR','time_column','failureMessage','split','listComposableAudiences','renamedAttributes','\x22\x20renamed\x20to\x20\x22','parse','map','audience','column','length','updateActivation','basename','\x20composable\x20audience\x20\x22','218nvrOoh','Behavior\x20\x22','createFolder','attributes',')\x20is\x20still\x20present\x20after\x20the\x20push\x20—\x20expected\x20it\x20to\x20be\x20gone\x20(renames\x20recreate\x20the\x20attribute\x20under\x20a\x20new\x20id).','rule','.\x20Move\x20each\x20audience\x20to\x20its\x20own\x20folder\x20before\x20pushing.','behavior(s)\x20','max_activation_behavior_row','allow_activation_behavior','not\x20found\x20or\x20not\x20accessible','\x22\x20not\x20found).','behavior\x20\x22','audiences','5456185tNtPYL','segment','\x22.\x20Check\x20the\x20connection\x20name\x20in\x20your\x20YAML.','activations','\x22:\x20','createSegment','\x22\x20under\x20segment\x20\x22','1050135wkaPOT','.\x20Check\x20the\x20segment\x20in\x20Console\x20before\x20pushing\x20again\x20—\x20nothing\x20further\x20was\x20changed\x20automatically.','attribute(s)\x20','CDW\x20connection\x20not\x20found\x20or\x20not\x20accessible\x20for\x20audience\x20\x22','INVALID_ARGUMENT','listSegments','audienceId','push','resolvedAudienceId','CONNECTION_NOT_FOUND','unexpected','max_activation_behavior_row\x20came\x20back\x20','\x0a\x20\x20','some','2950572lHVwgU','set','stringify','utf-8','.\x20Use\x20an\x20explicit\x20\x22columns\x22\x20list\x20instead.','slice','segments','this\x20behavior\x20currently\x20does\x20not','unexpected\x20attribute(s):\x20','removedAttributes','Composable\x20segment\x20\x22','10KGgimW','endsWith','schema','COMPOSABLE_SEGMENT_VERIFICATION_FAILED','deleteDrift','get','COMPOSABLE_AUDIENCE_SYNTAX_ERROR','filter','updateComposableAudience','Could\x20not\x20resolve\x20parent\x20folder\x20for\x20\x22','Cannot\x20push\x20segments:\x20no\x20audience\x20ID\x20available.\x20Push\x20the\x20audience\x20YAML\x20first.','attribute\x20\x22','allColumns','3997FDVAtX','audienceDrift','COMPOSABLE_SEGMENT_SYNTAX_ERROR','7711911vJMbSW','object','missing\x20attribute(s):\x20','join',')\x20is\x20still\x20present\x20after\x20the\x20push\x20—\x20expected\x20it\x20to\x20be\x20gone\x20(renames\x20recreate\x20the\x20behavior\x20under\x20a\x20new\x20id).','createActivation','Push\x20to\x20\x22','allowActivationBehavior','Pushing\x20audience:\x20','\x22\x20sets\x20\x22all_columns:\x20true\x22,\x20but\x20the\x20backend\x20only\x20accepts\x20that\x20for\x20a\x20behavior\x20that\x20already\x20has\x20it\x20—\x20'];a109_0x1325=function(){return _0xd9163a;};return a109_0x1325();}async function pushAudience(_0x3fd555,_0x24bfd6,_0xd8045a,_0x1d33bd,_0x5f00a2,_0x3d3bc7){const _0x3e77f9=a109_0x4ca6,_0x5aa5bb=await _0x24bfd6[_0x3e77f9(0x11a)](),_0x251d6a=findAudienceByName(_0x5aa5bb,_0x3fd555[_0x3e77f9(0x100)]);let _0x2f3c8c,_0x6d1907;if(_0x251d6a){_0x2f3c8c=await _0x24bfd6['getComposableAudience'](_0x251d6a['id']);const _0x57a057=computeAudienceDrift(_0x2f3c8c,_0x3fd555),_0x42e1ed=_0x57a057[_0x3e77f9(0x151)][_0x3e77f9(0x121)]>0x0||_0x57a057['removedBehaviors']['length']>0x0;if(_0x42e1ed&&!_0x3d3bc7){const _0x4c6a3c=[];_0x57a057[_0x3e77f9(0x151)][_0x3e77f9(0x121)]&&_0x4c6a3c[_0x3e77f9(0x141)](_0x3e77f9(0x13c)+_0x57a057[_0x3e77f9(0x151)][_0x3e77f9(0x166)](',\x20'));_0x57a057[_0x3e77f9(0x10c)]['length']&&_0x4c6a3c['push'](_0x3e77f9(0x12c)+_0x57a057['removedBehaviors'][_0x3e77f9(0x166)](',\x20'));throw new SDKError(ErrorCode[_0x3e77f9(0xfa)],_0x3e77f9(0x173)+_0x3fd555[_0x3e77f9(0x100)]+_0x3e77f9(0x17d)+_0x4c6a3c[_0x3e77f9(0x166)]('\x20and\x20')+_0x3e77f9(0xfd));}(_0x42e1ed||_0x57a057['renamedAttributes'][_0x3e77f9(0x121)]||_0x57a057[_0x3e77f9(0x174)][_0x3e77f9(0x121)])&&(_0x6d1907=_0x57a057);}for(const _0x14c83e of _0x3fd555[_0x3e77f9(0x10e)]??[]){if(!_0x14c83e['all_columns'])continue;const _0x221397=_0x2f3c8c?.['behaviors']?.[_0x3e77f9(0x17b)](_0x545b08=>_0x545b08[_0x3e77f9(0x100)]===_0x14c83e[_0x3e77f9(0x100)]);if(!_0x221397?.[_0x3e77f9(0x15f)])throw new SDKError(ErrorCode['INVALID_ARGUMENT'],_0x3e77f9(0x126)+_0x14c83e[_0x3e77f9(0x100)]+_0x3e77f9(0x16c)+(_0x221397?_0x3e77f9(0x14f):_0x3e77f9(0xfb))+_0x3e77f9(0x14c));}const _0x240ec=defToApi(_0x3fd555,_0xd8045a,_0x1d33bd,_0x5f00a2);let _0x21bb52,_0xa4d092;try{if(_0x251d6a)await _0x24bfd6[_0x3e77f9(0x15b)](_0x251d6a['id'],_0x240ec),_0x21bb52=_0x251d6a['id'],_0xa4d092=![];else{const _0x167997=await _0x24bfd6['createComposableAudience'](_0x240ec);_0x21bb52=_0x167997['id'],_0xa4d092=!![];}}catch(_0x1ca26a){if(errorContains(_0x1ca26a,_0x3e77f9(0x12f),_0x3e77f9(0x17e)))throw new SDKError(ErrorCode[_0x3e77f9(0x143)],_0x3e77f9(0x13d)+_0x3fd555[_0x3e77f9(0x100)]+_0x3e77f9(0x135),_0x1ca26a);const _0x2d5a8d=isHttp400Error(_0x1ca26a),_0x138c07=_0x2d5a8d?ErrorCode[_0x3e77f9(0x159)]:ErrorCode['COMPOSABLE_AUDIENCE_UPDATE_ERROR'];throw new SDKError(_0x138c07,_0x3e77f9(0xf9)+(_0x251d6a?_0x3e77f9(0x103):_0x3e77f9(0x10d))+_0x3e77f9(0x124)+_0x3fd555[_0x3e77f9(0x100)]+_0x3e77f9(0x137)+getErrorMessage(_0x1ca26a),_0x1ca26a);}const _0x2feb29=await _0x24bfd6[_0x3e77f9(0x17f)](_0x21bb52),_0x442aad=verifyAudienceWrite(_0x3fd555,_0x2feb29,_0x2f3c8c);return{'id':_0x21bb52,'isNew':_0xa4d092,'appliedDrift':_0x6d1907,'renamedAttributeIds':_0x442aad[_0x3e77f9(0x11b)],'renamedBehaviorIds':_0x442aad[_0x3e77f9(0x174)]};}export function collectYamlFiles(_0x1bc16e){const _0x44bdc4=a109_0x4ca6,_0x2bba4b=a109_0x3f0705[_0x44bdc4(0x185)](_0x1bc16e);if(!existsSync(_0x2bba4b))return[];const _0x4f0797=statSync(_0x2bba4b);if(_0x4f0797[_0x44bdc4(0x101)]())return _0x2bba4b[_0x44bdc4(0x154)]('.yml')||_0x2bba4b[_0x44bdc4(0x154)]('.yaml')?[_0x2bba4b]:[];if(_0x4f0797[_0x44bdc4(0x175)]()){const _0x96f6ed=[];for(const _0x1d779c of readdirSync(_0x2bba4b)){const _0x4beb55=a109_0x3f0705['join'](_0x2bba4b,_0x1d779c),_0x309b57=statSync(_0x4beb55);if(_0x309b57[_0x44bdc4(0x101)]()&&(_0x1d779c[_0x44bdc4(0x154)](_0x44bdc4(0x187))||_0x1d779c['endsWith']('.yaml')))_0x96f6ed[_0x44bdc4(0x141)](_0x4beb55);else _0x309b57[_0x44bdc4(0x175)]()&&_0x96f6ed[_0x44bdc4(0x141)](...collectYamlFiles(_0x4beb55));}return _0x96f6ed;}return[];}
|
|
@@ -5,10 +5,15 @@
|
|
|
5
5
|
* check, so both agree on what counts as a valid composable audience definition — mirroring
|
|
6
6
|
* the role `segment/validate-files.ts` plays for `tdx sg validate` / `tdx sg push`.
|
|
7
7
|
*
|
|
8
|
-
* Scope: composable audience (`master:`/`type` omitted)
|
|
9
|
-
* YAML (`type: composable_segment
|
|
10
|
-
*
|
|
11
|
-
*
|
|
8
|
+
* Scope: composable audience (`master:`/`type` omitted) files get full schema + semantic
|
|
9
|
+
* validation. Composable segment YAML (`type: composable_segment`, TAI-2042) gets structural
|
|
10
|
+
* schema validation (rule shape, nested And/Or) always, plus `leftValue.name` resolution
|
|
11
|
+
* against the batch's sibling `audience.yml` when one is present in the same file batch —
|
|
12
|
+
* `tdx cas pull` always writes audience.yml alongside its segments, so a validated directory
|
|
13
|
+
* normally has one. A lone segment file with no sibling audience.yml in the batch only gets
|
|
14
|
+
* the structural check; the live-attribute-name check for that case runs at `tdx cas sg push`
|
|
15
|
+
* time instead (`cas-segment-command.ts`), which always has a resolved audience to check
|
|
16
|
+
* against.
|
|
12
17
|
*
|
|
13
18
|
* @module
|
|
14
19
|
*/
|
|
@@ -47,9 +52,21 @@ export interface CASConnectionMaps {
|
|
|
47
52
|
* When omitted, the platform/catalog checks for resolvable connections are skipped — schema
|
|
48
53
|
* and semantic checks still run. `CASPushCommand`'s pre-flight check omits this (push already
|
|
49
54
|
* surfaces connection errors from the API); `CASValidateCommand` provides it.
|
|
55
|
+
* @param audienceFieldNames - Real attribute/behavior names on the parent audience (TAI-2042),
|
|
56
|
+
* used only when this file turns out to be a composable segment. Omit when unknown (e.g. no
|
|
57
|
+
* sibling audience.yml in the batch) — the structural (schema) check still runs.
|
|
58
|
+
*/
|
|
59
|
+
export declare function validateCasYamlFile(yamlFile: string, sourceDir: string, connectionMaps?: CASConnectionMaps, audienceFieldNames?: Set<string>): CASFileProcessResult;
|
|
60
|
+
/**
|
|
61
|
+
* Validate multiple composable audience YAML files. See {@link validateCasYamlFile}.
|
|
62
|
+
*
|
|
63
|
+
* First pass: find any non-segment file in the batch (a sibling `audience.yml` — `tdx cas
|
|
64
|
+
* pull` always writes one alongside its segments) and, if it parses as a valid composable
|
|
65
|
+
* audience, extract its attribute/behavior names for the `leftValue.name` check (TAI-2042)
|
|
66
|
+
* on every segment file in the same batch. A batch with no audience file (or an invalid one)
|
|
67
|
+
* still gets structural segment validation — just not the name-resolution check, which needs
|
|
68
|
+
* to know what names actually exist.
|
|
50
69
|
*/
|
|
51
|
-
export declare function validateCasYamlFile(yamlFile: string, sourceDir: string, connectionMaps?: CASConnectionMaps): CASFileProcessResult;
|
|
52
|
-
/** Validate multiple composable audience YAML files. See {@link validateCasYamlFile}. */
|
|
53
70
|
export declare function validateCasYamlFiles(yamlFiles: string[], sourceDir: string, connectionMaps?: CASConnectionMaps): CASFileProcessResult[];
|
|
54
71
|
/** Summary statistics for a batch of validation results. */
|
|
55
72
|
export interface CASValidationSummary {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate-files.d.ts","sourceRoot":"","sources":["../../../src/sdk/cas/validate-files.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"validate-files.d.ts","sourceRoot":"","sources":["../../../src/sdk/cas/validate-files.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;GAkBG;AAKH,OAAO,EAEL,KAAK,oBAAoB,EAC1B,MAAM,6BAA6B,CAAC;AAOrC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,8BAA8B,CAAC;AAErE,MAAM,MAAM,WAAW,GAAG,UAAU,GAAG,SAAS,CAAC;AAEjD,mEAAmE;AACnE,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,gBAAgB,CAAC;IACzB,QAAQ,EAAE,WAAW,CAAC;CACvB;AAED,kGAAkG;AAClG,MAAM,WAAW,cAAc;IAC7B,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,IAAI,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,oBAAoB,GAAG,uBAAuB,GAAG,cAAc,CAAC;AAE5E,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,oBAAoB,GAC3B,MAAM,IAAI,uBAAuB,CAEnC;AAED,mHAAmH;AACnH,MAAM,WAAW,iBAAiB;IAChC,oBAAoB,EAAE,oBAAoB,CAAC;IAC3C,kBAAkB,EAAE,oBAAoB,CAAC;IACzC,kBAAkB,EAAE,oBAAoB,CAAC;CAC1C;AAqBD;;;;;;;;;;;;GAYG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,cAAc,CAAC,EAAE,iBAAiB,EAClC,kBAAkB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,GAC/B,oBAAoB,CAkEtB;AAED;;;;;;;;;GASG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,MAAM,EAAE,EACnB,SAAS,EAAE,MAAM,EACjB,cAAc,CAAC,EAAE,iBAAiB,GACjC,oBAAoB,EAAE,CAKxB;AAoBD,4DAA4D;AAC5D,MAAM,WAAW,oBAAoB;IACnC,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,OAAO,CAAC;CACpB;AAED,4DAA4D;AAC5D,wBAAgB,6BAA6B,CAC3C,OAAO,EAAE,oBAAoB,EAAE,GAC9B,oBAAoB,CAoBtB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
(function(_0x4b8b59,_0x402cf5){const _0x2e6365=a111_0x250c,_0x37b155=_0x4b8b59();while(!![]){try{const _0x172e39=parseInt(_0x2e6365(0x117))/0x1*(parseInt(_0x2e6365(0x11a))/0x2)+-parseInt(_0x2e6365(0x116))/0x3+parseInt(_0x2e6365(0x118))/0x4*(-parseInt(_0x2e6365(0x108))/0x5)+-parseInt(_0x2e6365(0x103))/0x6*(-parseInt(_0x2e6365(0x101))/0x7)+parseInt(_0x2e6365(0x119))/0x8+-parseInt(_0x2e6365(0x113))/0x9*(parseInt(_0x2e6365(0x111))/0xa)+parseInt(_0x2e6365(0x10e))/0xb*(parseInt(_0x2e6365(0x10f))/0xc);if(_0x172e39===_0x402cf5)break;else _0x37b155['push'](_0x37b155['shift']());}catch(_0x665b21){_0x37b155['push'](_0x37b155['shift']());}}}(a111_0x12b6,0x42e8b));import{readFileSync}from'fs';function a111_0x250c(_0x107031,_0x85f13b){_0x107031=_0x107031-0x101;const _0x12b65a=a111_0x12b6();let _0x250cb6=_0x12b65a[_0x107031];return _0x250cb6;}function a111_0x12b6(){const _0x4c376f=['30060WPOHMH','parse','errors','1483434MOYNVz','16quJvDn','52424QTHESj','1614160whPVkb','5692iWRDjz','valid','utf-8','YAML_PARSE_ERROR','object','rule','message','error','skipped','229327rqXYLv','length','6mKlvoR','connectionNameToType','parseDocument','audience','basename','130IDieiC','data','Failed\x20to\x20read\x20file:\x20','YAML\x20parse\x20error:\x20','safeParse','result','11WUfeCT','12796392myaGRG','segment','710oNJWtW','Failed\x20to\x20parse\x20YAML\x20file\x20(empty\x20or\x20invalid)'];a111_0x12b6=function(){return _0x4c376f;};return a111_0x12b6();}import*as a111_0x5498cd from'path';import*as a111_0x42ed8b from'yaml';import{validateComposableAudienceDef}from'./cas-audience-validator.js';import{ComposableAudienceDefSchema}from'./cas-audience-schema.js';import{validateComposableSegmentRule,audienceFieldNamesFromDef}from'./cas-segment-validator.js';import{isComposableSegmentDef}from'./cas-segment-yaml.js';export function isCasValidationResult(_0x40dc04){const _0x44e066=a111_0x250c;return!(_0x44e066(0x122)in _0x40dc04);}function createParseErrorResult(_0x3c2af6,_0x3deb15,_0x2a85b8,_0x4bd874){const _0x5ee8df=a111_0x250c;return{'filePath':_0x3c2af6,'relativePath':_0x3deb15,'source':_0x2a85b8,'result':{'valid':![],'errors':[{'level':_0x5ee8df(0x121),'path':'','code':_0x5ee8df(0x11d),'message':_0x4bd874}],'warnings':[]},'fileType':_0x5ee8df(0x106)};}export function validateCasYamlFile(_0x36b405,_0x529206,_0x368418,_0x1869d7){const _0x3a2da5=a111_0x250c,_0x195b12=a111_0x5498cd['relative'](_0x529206,_0x36b405)||a111_0x5498cd[_0x3a2da5(0x107)](_0x36b405);let _0x1984e6;try{_0x1984e6=readFileSync(_0x36b405,_0x3a2da5(0x11c));}catch(_0xd8debe){return createParseErrorResult(_0x36b405,_0x195b12,'',_0x3a2da5(0x10a)+(_0xd8debe instanceof Error?_0xd8debe[_0x3a2da5(0x120)]:String(_0xd8debe)));}let _0xba1bd7,_0x307038;try{_0xba1bd7=a111_0x42ed8b[_0x3a2da5(0x105)](_0x1984e6);if(_0xba1bd7[_0x3a2da5(0x115)][_0x3a2da5(0x102)]>0x0)return createParseErrorResult(_0x36b405,_0x195b12,_0x1984e6,_0x3a2da5(0x10b)+_0xba1bd7[_0x3a2da5(0x115)][0x0][_0x3a2da5(0x120)]);_0x307038=_0xba1bd7['toJSON']();}catch(_0x1b5d50){return createParseErrorResult(_0x36b405,_0x195b12,_0x1984e6,'YAML\x20parse\x20error:\x20'+(_0x1b5d50 instanceof Error?_0x1b5d50['message']:String(_0x1b5d50)));}if(!_0x307038||typeof _0x307038!==_0x3a2da5(0x11e))return createParseErrorResult(_0x36b405,_0x195b12,_0x1984e6,_0x3a2da5(0x112));if(isComposableSegmentDef(_0x307038)){const _0x2de595=_0x307038[_0x3a2da5(0x11f)]?validateComposableSegmentRule(_0x307038['rule'],{'source':_0x1984e6,'document':_0xba1bd7},{'audienceFieldNames':_0x1869d7}):{'valid':!![],'errors':[],'warnings':[]};return{'filePath':_0x36b405,'relativePath':_0x195b12,'source':_0x1984e6,'result':_0x2de595,'fileType':_0x3a2da5(0x110)};}const _0x3f62a=validateComposableAudienceDef(_0x307038,{'source':_0x1984e6,'document':_0xba1bd7},{'connectionNameToType':_0x368418?.[_0x3a2da5(0x104)],'connectionIdToType':_0x368418?.['connectionIdToType'],'connectionNameToId':_0x368418?.['connectionNameToId']});return{'filePath':_0x36b405,'relativePath':_0x195b12,'source':_0x1984e6,'result':_0x3f62a,'fileType':'audience'};}export function validateCasYamlFiles(_0x289677,_0x15798c,_0x83fe02){const _0x36da7e=findAudienceFieldNamesInBatch(_0x289677);return _0x289677['map'](_0x172712=>validateCasYamlFile(_0x172712,_0x15798c,_0x83fe02,_0x36da7e));}function findAudienceFieldNamesInBatch(_0x40a082){const _0x93b8a0=a111_0x250c;for(const _0x438b22 of _0x40a082){let _0x244652;try{_0x244652=a111_0x42ed8b[_0x93b8a0(0x114)](readFileSync(_0x438b22,_0x93b8a0(0x11c)));}catch{continue;}if(!_0x244652||typeof _0x244652!==_0x93b8a0(0x11e)||isComposableSegmentDef(_0x244652))continue;const _0x4b1c03=ComposableAudienceDefSchema[_0x93b8a0(0x10c)](_0x244652);if(_0x4b1c03['success'])return audienceFieldNamesFromDef(_0x4b1c03[_0x93b8a0(0x109)]);}return undefined;}export function calculateCasValidationSummary(_0x17645f){const _0x191c4e=a111_0x250c;let _0x246e41=0x0,_0x143965=0x0,_0x20a8a6=0x0,_0x5a48d8=0x0;for(const _0x5b0d4e of _0x17645f){if(!isCasValidationResult(_0x5b0d4e)){_0x5a48d8++;continue;}_0x5b0d4e[_0x191c4e(0x10d)][_0x191c4e(0x11b)]?_0x246e41++:_0x143965++,_0x20a8a6+=_0x5b0d4e[_0x191c4e(0x10d)]['warnings'][_0x191c4e(0x102)];}return{'validCount':_0x246e41,'invalidCount':_0x143965,'warningCount':_0x20a8a6,'skippedCount':_0x5a48d8,'hasErrors':_0x143965>0x0};}
|