@treasuredata/tdx 2026.8.4 → 2026.8.6

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.
Files changed (294) hide show
  1. package/README.md +1 -0
  2. package/dist/bin.js +1 -1
  3. package/dist/build-info.json +3 -3
  4. package/dist/cli-categories.d.ts +1 -1
  5. package/dist/cli-categories.js +1 -1
  6. package/dist/cli-categories.js.map +1 -1
  7. package/dist/cli.d.ts.map +1 -1
  8. package/dist/cli.js +1 -1
  9. package/dist/cli.js.map +1 -1
  10. package/dist/commands/activations.js +1 -1
  11. package/dist/commands/agent-command.js +1 -1
  12. package/dist/commands/agent-test-command.js +1 -1
  13. package/dist/commands/api-command.js +1 -1
  14. package/dist/commands/auth-command.js +1 -1
  15. package/dist/commands/cas-command.js +1 -1
  16. package/dist/commands/cas-segment-command.d.ts.map +1 -1
  17. package/dist/commands/cas-segment-command.js +1 -1
  18. package/dist/commands/cas-segment-command.js.map +1 -1
  19. package/dist/commands/chat-command.js +1 -1
  20. package/dist/commands/claude-command.js +1 -1
  21. package/dist/commands/claude-statusline-command.js +1 -1
  22. package/dist/commands/claude-usage-command.js +1 -1
  23. package/dist/commands/codex-command.d.ts +51 -0
  24. package/dist/commands/codex-command.d.ts.map +1 -0
  25. package/dist/commands/codex-command.js +1 -0
  26. package/dist/commands/codex-command.js.map +1 -0
  27. package/dist/commands/command.js +1 -1
  28. package/dist/commands/connection-command.js +1 -1
  29. package/dist/commands/databases.js +1 -1
  30. package/dist/commands/delivery-command.js +1 -1
  31. package/dist/commands/describe.js +1 -1
  32. package/dist/commands/engage-always-on-campaign-pull-command.js +1 -1
  33. package/dist/commands/engage-always-on-campaign-push-command.js +1 -1
  34. package/dist/commands/engage-always-on-campaign-validate-command.js +1 -1
  35. package/dist/commands/engage-campaign-pull-command.js +1 -1
  36. package/dist/commands/engage-campaign-push-command.js +1 -1
  37. package/dist/commands/engage-campaign-validate-command.js +1 -1
  38. package/dist/commands/engage-command.d.ts.map +1 -1
  39. package/dist/commands/engage-command.js +1 -1
  40. package/dist/commands/engage-command.js.map +1 -1
  41. package/dist/commands/engage-template-pull-command.js +1 -1
  42. package/dist/commands/engage-template-push-command.js +1 -1
  43. package/dist/commands/engage-template-validate-command.js +1 -1
  44. package/dist/commands/job-command.js +1 -1
  45. package/dist/commands/journey-command.js +1 -1
  46. package/dist/commands/journey-validate-command.js +1 -1
  47. package/dist/commands/llm-command.js +1 -1
  48. package/dist/commands/mcp-command.js +1 -1
  49. package/dist/commands/p13n-command.js +1 -1
  50. package/dist/commands/parent-segment-command.js +1 -1
  51. package/dist/commands/policy-command.js +1 -1
  52. package/dist/commands/profile-command.js +1 -1
  53. package/dist/commands/profiles-command.js +1 -1
  54. package/dist/commands/query-command.js +1 -1
  55. package/dist/commands/schedule-command.js +1 -1
  56. package/dist/commands/segment-command.js +1 -1
  57. package/dist/commands/segment-create-command.js +1 -1
  58. package/dist/commands/segment-fields-command.js +1 -1
  59. package/dist/commands/segment-move-command.js +1 -1
  60. package/dist/commands/segment-pull-command.js +1 -1
  61. package/dist/commands/segment-push-command.js +1 -1
  62. package/dist/commands/segment-update-command.js +1 -1
  63. package/dist/commands/segment-use-command.js +1 -1
  64. package/dist/commands/segment-validate-command.js +1 -1
  65. package/dist/commands/segments.js +1 -1
  66. package/dist/commands/show.js +1 -1
  67. package/dist/commands/status-command.js +1 -1
  68. package/dist/commands/table-deleted.js +1 -1
  69. package/dist/commands/tables.js +1 -1
  70. package/dist/commands/unset-command.js +1 -1
  71. package/dist/commands/upgrade-command.js +1 -1
  72. package/dist/commands/use-command.js +1 -1
  73. package/dist/commands/user-command.js +1 -1
  74. package/dist/commands/work-command.js +1 -1
  75. package/dist/commands/workflow-command.js +1 -1
  76. package/dist/core/auth.js +1 -1
  77. package/dist/core/command-output.js +1 -1
  78. package/dist/core/config.js +1 -1
  79. package/dist/core/connection-cache.js +1 -1
  80. package/dist/core/constants.js +1 -1
  81. package/dist/core/credential-cache.js +1 -1
  82. package/dist/core/global-context.js +1 -1
  83. package/dist/core/keychain.js +1 -1
  84. package/dist/core/oauth-keychain.js +1 -1
  85. package/dist/core/oauth.js +1 -1
  86. package/dist/core/profile.js +1 -1
  87. package/dist/core/project-config.js +1 -1
  88. package/dist/core/session.js +1 -1
  89. package/dist/core/site-mismatch.js +1 -1
  90. package/dist/core/user-cache.js +1 -1
  91. package/dist/core/version.d.ts +3 -3
  92. package/dist/core/version.d.ts.map +1 -1
  93. package/dist/core/version.js +1 -1
  94. package/dist/core/version.js.map +1 -1
  95. package/dist/index.js +1 -1
  96. package/dist/mcp/server.js +1 -1
  97. package/dist/mcp/tools/index.js +1 -1
  98. package/dist/mcp/tools/tdx-run.js +1 -1
  99. package/dist/mcp/tools/tdx-search.js +1 -1
  100. package/dist/mcp/tools/work-create-item.js +1 -1
  101. package/dist/mcp/utils.js +1 -1
  102. package/dist/proxy/claude-usage-tracker.js +1 -1
  103. package/dist/proxy/passthrough-server.js +1 -1
  104. package/dist/proxy/sse-usage-parser.js +1 -1
  105. package/dist/sdk/agent/agent-config.js +1 -1
  106. package/dist/sdk/agent/agent-ref-parser.js +1 -1
  107. package/dist/sdk/agent/agent-yaml.js +1 -1
  108. package/dist/sdk/agent/test/evaluator.js +1 -1
  109. package/dist/sdk/agent/test/executor.js +1 -1
  110. package/dist/sdk/agent/test/index.js +1 -1
  111. package/dist/sdk/agent/test/output.js +1 -1
  112. package/dist/sdk/agent/test/parser.js +1 -1
  113. package/dist/sdk/agent/tool-target-registry.js +1 -1
  114. package/dist/sdk/api.js +1 -1
  115. package/dist/sdk/auth-token.js +1 -1
  116. package/dist/sdk/cas/cas-api-client.js +1 -1
  117. package/dist/sdk/cas/cas-audience-schema.js +1 -1
  118. package/dist/sdk/cas/cas-audience-validator.js +1 -1
  119. package/dist/sdk/cas/cas-audience-yaml.js +1 -1
  120. package/dist/sdk/cas/cas-segment-schema.d.ts +63 -0
  121. package/dist/sdk/cas/cas-segment-schema.d.ts.map +1 -0
  122. package/dist/sdk/cas/cas-segment-schema.js +1 -0
  123. package/dist/sdk/cas/cas-segment-schema.js.map +1 -0
  124. package/dist/sdk/cas/cas-segment-validator.d.ts +76 -0
  125. package/dist/sdk/cas/cas-segment-validator.d.ts.map +1 -0
  126. package/dist/sdk/cas/cas-segment-validator.js +1 -0
  127. package/dist/sdk/cas/cas-segment-validator.js.map +1 -0
  128. package/dist/sdk/cas/cas-segment-yaml.js +1 -1
  129. package/dist/sdk/cas/index.js +1 -1
  130. package/dist/sdk/cas/pull-workflow.js +1 -1
  131. package/dist/sdk/cas/push-workflow.js +1 -1
  132. package/dist/sdk/cas/validate-files.d.ts +23 -6
  133. package/dist/sdk/cas/validate-files.d.ts.map +1 -1
  134. package/dist/sdk/cas/validate-files.js +1 -1
  135. package/dist/sdk/cas/validate-files.js.map +1 -1
  136. package/dist/sdk/client/cdp-api-client.js +1 -1
  137. package/dist/sdk/client/delivery-api-client.js +1 -1
  138. package/dist/sdk/client/endpoints.js +1 -1
  139. package/dist/sdk/client/engage-api-client.js +1 -1
  140. package/dist/sdk/client/http-client.js +1 -1
  141. package/dist/sdk/client/llm-api-client.js +1 -1
  142. package/dist/sdk/client/oauth-refresh.js +1 -1
  143. package/dist/sdk/client/p13n-studio-api-client.js +1 -1
  144. package/dist/sdk/client/rate-limiter.js +1 -1
  145. package/dist/sdk/client/td-api-client.js +1 -1
  146. package/dist/sdk/client/trino-api-client.js +1 -1
  147. package/dist/sdk/client/workflow-client.js +1 -1
  148. package/dist/sdk/connection-validator.js +1 -1
  149. package/dist/sdk/connection.js +1 -1
  150. package/dist/sdk/delivery.js +1 -1
  151. package/dist/sdk/engage/always-on-campaign-pull.js +1 -1
  152. package/dist/sdk/engage/always-on-campaign-push.js +1 -1
  153. package/dist/sdk/engage/always-on-campaign-validator.js +1 -1
  154. package/dist/sdk/engage/always-on-campaign-yaml.d.ts.map +1 -1
  155. package/dist/sdk/engage/always-on-campaign-yaml.js +1 -1
  156. package/dist/sdk/engage/always-on-campaign-yaml.js.map +1 -1
  157. package/dist/sdk/engage/campaign-pull.js +1 -1
  158. package/dist/sdk/engage/campaign-push.js +1 -1
  159. package/dist/sdk/engage/campaign-validator.js +1 -1
  160. package/dist/sdk/engage/campaign-yaml.d.ts.map +1 -1
  161. package/dist/sdk/engage/campaign-yaml.js +1 -1
  162. package/dist/sdk/engage/campaign-yaml.js.map +1 -1
  163. package/dist/sdk/engage/template-pull.js +1 -1
  164. package/dist/sdk/engage/template-push.js +1 -1
  165. package/dist/sdk/engage/template-validator.js +1 -1
  166. package/dist/sdk/engage/template-yaml.d.ts.map +1 -1
  167. package/dist/sdk/engage/template-yaml.js +1 -1
  168. package/dist/sdk/engage/template-yaml.js.map +1 -1
  169. package/dist/sdk/engage/types/always-on-campaign-schema.d.ts +1 -0
  170. package/dist/sdk/engage/types/always-on-campaign-schema.d.ts.map +1 -1
  171. package/dist/sdk/engage/types/always-on-campaign-schema.js +1 -1
  172. package/dist/sdk/engage/types/campaign-def.js +1 -1
  173. package/dist/sdk/engage/types/campaign-schema.d.ts +2 -0
  174. package/dist/sdk/engage/types/campaign-schema.d.ts.map +1 -1
  175. package/dist/sdk/engage/types/campaign-schema.js +1 -1
  176. package/dist/sdk/engage/types/campaign-schema.js.map +1 -1
  177. package/dist/sdk/engage/types/template-schema.d.ts +1 -0
  178. package/dist/sdk/engage/types/template-schema.d.ts.map +1 -1
  179. package/dist/sdk/engage/types/template-schema.js +1 -1
  180. package/dist/sdk/engage/types/template-schema.js.map +1 -1
  181. package/dist/sdk/engage.js +1 -1
  182. package/dist/sdk/errors.js +1 -1
  183. package/dist/sdk/index.js +1 -1
  184. package/dist/sdk/io/index.js +1 -1
  185. package/dist/sdk/io/node-filesystem.js +1 -1
  186. package/dist/sdk/job.js +1 -1
  187. package/dist/sdk/journey.js +1 -1
  188. package/dist/sdk/llm/chat-cache.js +1 -1
  189. package/dist/sdk/llm/index.js +1 -1
  190. package/dist/sdk/llm/llm-backup-utils.js +1 -1
  191. package/dist/sdk/llm/model-factors.js +1 -1
  192. package/dist/sdk/llm/user-settings.js +1 -1
  193. package/dist/sdk/p13n-studio.js +1 -1
  194. package/dist/sdk/personalization.js +1 -1
  195. package/dist/sdk/policy.js +1 -1
  196. package/dist/sdk/query/deleted-table-validation.js +1 -1
  197. package/dist/sdk/query/index.js +1 -1
  198. package/dist/sdk/query/sql-parser.js +1 -1
  199. package/dist/sdk/realtime.js +1 -1
  200. package/dist/sdk/schedule.js +1 -1
  201. package/dist/sdk/segment/child-segment-yaml.d.ts.map +1 -1
  202. package/dist/sdk/segment/child-segment-yaml.js +1 -1
  203. package/dist/sdk/segment/child-segment-yaml.js.map +1 -1
  204. package/dist/sdk/segment/fields-display.js +1 -1
  205. package/dist/sdk/segment/file-discovery.js +1 -1
  206. package/dist/sdk/segment/journey-utils.js +1 -1
  207. package/dist/sdk/segment/journey-validator.js +1 -1
  208. package/dist/sdk/segment/journey-yaml.js +1 -1
  209. package/dist/sdk/segment/parent-segment-preview.js +1 -1
  210. package/dist/sdk/segment/parent-segment-yaml.js +1 -1
  211. package/dist/sdk/segment/pull-workflow.js +1 -1
  212. package/dist/sdk/segment/push-recovery.js +1 -1
  213. package/dist/sdk/segment/push-workflow.js +1 -1
  214. package/dist/sdk/segment/resolution-context.js +1 -1
  215. package/dist/sdk/segment/segment-path-parser.js +1 -1
  216. package/dist/sdk/segment/segment-ref-parser.js +1 -1
  217. package/dist/sdk/segment/segment-validator.js +1 -1
  218. package/dist/sdk/segment/target-resolution.js +1 -1
  219. package/dist/sdk/segment/tdx-config.js +1 -1
  220. package/dist/sdk/segment/types/activation-schema.js +1 -1
  221. package/dist/sdk/segment/types/journey-def.js +1 -1
  222. package/dist/sdk/segment/types/journey-schema.js +1 -1
  223. package/dist/sdk/segment/types/segment-def.js +1 -1
  224. package/dist/sdk/segment/types/segment-schema.d.ts.map +1 -1
  225. package/dist/sdk/segment/types/segment-schema.js +1 -1
  226. package/dist/sdk/segment/types/segment-schema.js.map +1 -1
  227. package/dist/sdk/segment/validate-files.js +1 -1
  228. package/dist/sdk/segment/yaml-validator.d.ts +1 -1
  229. package/dist/sdk/segment/yaml-validator.d.ts.map +1 -1
  230. package/dist/sdk/segment/yaml-validator.js +1 -1
  231. package/dist/sdk/segment/yaml-validator.js.map +1 -1
  232. package/dist/sdk/segment.js +1 -1
  233. package/dist/sdk/types/engage.d.ts +8 -0
  234. package/dist/sdk/types/engage.d.ts.map +1 -1
  235. package/dist/sdk/types/index.js +1 -1
  236. package/dist/sdk/types/progress.js +1 -1
  237. package/dist/sdk/types/workspace.js +1 -1
  238. package/dist/sdk/user.js +1 -1
  239. package/dist/sdk/util/format-detector.js +1 -1
  240. package/dist/sdk/util/formatters.js +1 -1
  241. package/dist/sdk/util/index.js +1 -1
  242. package/dist/sdk/util/paginate.js +1 -1
  243. package/dist/sdk/util/tree-formatter.js +1 -1
  244. package/dist/sdk/util/tree-search.js +1 -1
  245. package/dist/sdk/workflow/archive-validation.js +1 -1
  246. package/dist/sdk/workflow/clone-workflow.js +1 -1
  247. package/dist/sdk/workflow/index.js +1 -1
  248. package/dist/sdk/workflow/pull-workflow.js +1 -1
  249. package/dist/sdk/workflow/push-workflow.js +1 -1
  250. package/dist/sdk/workflow/task-graph.js +1 -1
  251. package/dist/sdk/workflow/tdx-config.js +1 -1
  252. package/dist/sdk/workflow/workflow-utils.js +1 -1
  253. package/dist/sdk/workspace/access-tracker.js +1 -1
  254. package/dist/sdk/workspace/frontmatter.js +1 -1
  255. package/dist/sdk/workspace/git.js +1 -1
  256. package/dist/sdk/workspace/index.js +1 -1
  257. package/dist/sdk/workspace/templates.js +1 -1
  258. package/dist/sdk/workspace/weekly.js +1 -1
  259. package/dist/sdk/workspace/wikilinks.js +1 -1
  260. package/dist/test-utils/command-runner.js +1 -1
  261. package/dist/test-utils/factories.js +1 -1
  262. package/dist/test-utils/fixtures.js +1 -1
  263. package/dist/test-utils/http-mock.js +1 -1
  264. package/dist/test-utils/index.js +1 -1
  265. package/dist/utils/async.js +1 -1
  266. package/dist/utils/claude-code-state.js +1 -1
  267. package/dist/utils/colors.js +1 -1
  268. package/dist/utils/diff.js +1 -1
  269. package/dist/utils/file-permissions.js +1 -1
  270. package/dist/utils/file-reader.js +1 -1
  271. package/dist/utils/github-releases.js +1 -1
  272. package/dist/utils/global-cache.js +1 -1
  273. package/dist/utils/json-loader.js +1 -1
  274. package/dist/utils/local-cache.js +1 -1
  275. package/dist/utils/logger/formatters/default-formatter.js +1 -1
  276. package/dist/utils/logger/formatters/index.js +1 -1
  277. package/dist/utils/logger/handlers/console-handler.js +1 -1
  278. package/dist/utils/logger/handlers/file-handler.js +1 -1
  279. package/dist/utils/logger/handlers/index.js +1 -1
  280. package/dist/utils/logger/handlers/null-handler.js +1 -1
  281. package/dist/utils/logger/index.js +1 -1
  282. package/dist/utils/logger/logger.js +1 -1
  283. package/dist/utils/logger/types.js +1 -1
  284. package/dist/utils/option-validation.js +1 -1
  285. package/dist/utils/process.js +1 -1
  286. package/dist/utils/prompt.js +1 -1
  287. package/dist/utils/proxy-fetch.js +1 -1
  288. package/dist/utils/spinner.js +1 -1
  289. package/dist/utils/sse-parser.js +1 -1
  290. package/dist/utils/string-utils.js +1 -1
  291. package/dist/utils/table-ref-parser.js +1 -1
  292. package/dist/utils/tdx-logger.js +1 -1
  293. package/dist/utils/version-check.js +1 -1
  294. package/package.json +2 -47
@@ -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 a105_0x5c87d8=a105_0x16d4;function a105_0x1002(){const _0x55f58f=['925476EFLyJL','optional','string','object','addIssue','conditions\x20must\x20not\x20be\x20empty','2437788sgInfK','13159279aZMElq','superRefine','ZodIssueCode','union','43403itUyGl','type\x20is\x20required','operator.type\x20is\x20required','name','9070281pgpzeJ','8oWvGhr','10527450YgCTvM','And','custom','8926400QdMLuV','8HYXnlv','type','min','52xpZVHX','passthrough','enum','leftValue','leftValue.name\x20is\x20required','Value'];a105_0x1002=function(){return _0x55f58f;};return a105_0x1002();}function a105_0x16d4(_0x122745,_0x26e86d){_0x122745=_0x122745-0x127;const _0x100222=a105_0x1002();let _0x16d461=_0x100222[_0x122745];return _0x16d461;}(function(_0x462cfe,_0x50140e){const _0x3eec3a=a105_0x16d4,_0xb8c364=_0x462cfe();while(!![]){try{const _0x1a7b0e=-parseInt(_0x3eec3a(0x128))/0x1*(-parseInt(_0x3eec3a(0x135))/0x2)+-parseInt(_0x3eec3a(0x141))/0x3*(-parseInt(_0x3eec3a(0x12d))/0x4)+-parseInt(_0x3eec3a(0x131))/0x5+parseInt(_0x3eec3a(0x13b))/0x6+-parseInt(_0x3eec3a(0x142))/0x7*(-parseInt(_0x3eec3a(0x132))/0x8)+-parseInt(_0x3eec3a(0x12c))/0x9+-parseInt(_0x3eec3a(0x12e))/0xa;if(_0x1a7b0e===_0x50140e)break;else _0xb8c364['push'](_0xb8c364['shift']());}catch(_0x4b1f89){_0xb8c364['push'](_0xb8c364['shift']());}}}(a105_0x1002,0xe5f9b));import{z}from'zod';export function isGroupCondition(_0x1e6298){const _0x497928=a105_0x16d4;return _0x1e6298[_0x497928(0x133)]===_0x497928(0x12f)||_0x1e6298[_0x497928(0x133)]==='Or';}export function isValueCondition(_0xde128a){const _0x10414c=a105_0x16d4;return _0xde128a[_0x10414c(0x133)]===_0x10414c(0x13a);}const CASSegmentLeafConditionSchema=z['object']({'type':z[a105_0x5c87d8(0x13d)]()[a105_0x5c87d8(0x134)](0x1,a105_0x5c87d8(0x129))})[a105_0x5c87d8(0x136)]()[a105_0x5c87d8(0x143)]((_0x1dd890,_0x16b7ee)=>{const _0x44fdc9=a105_0x5c87d8;if(_0x1dd890[_0x44fdc9(0x133)]!=='Value')return;const _0x13cc81=_0x1dd890['leftValue'];(typeof _0x13cc81!==_0x44fdc9(0x13e)||_0x13cc81===null||typeof _0x13cc81[_0x44fdc9(0x12b)]!==_0x44fdc9(0x13d)||!_0x13cc81['name'])&&_0x16b7ee[_0x44fdc9(0x13f)]({'code':z[_0x44fdc9(0x144)][_0x44fdc9(0x130)],'path':[_0x44fdc9(0x138),_0x44fdc9(0x12b)],'message':_0x44fdc9(0x139)});const _0x37bb9d=_0x1dd890['operator'];(typeof _0x37bb9d!==_0x44fdc9(0x13e)||_0x37bb9d===null||typeof _0x37bb9d['type']!==_0x44fdc9(0x13d)||!_0x37bb9d[_0x44fdc9(0x133)])&&_0x16b7ee['addIssue']({'code':z[_0x44fdc9(0x144)][_0x44fdc9(0x130)],'path':['operator',_0x44fdc9(0x133)],'message':_0x44fdc9(0x12a)});});export const CASSegmentConditionSchema=z['lazy'](()=>z[a105_0x5c87d8(0x127)]([z[a105_0x5c87d8(0x13e)]({'type':z['enum']([a105_0x5c87d8(0x12f),'Or']),'conditions':z['array'](CASSegmentConditionSchema)[a105_0x5c87d8(0x134)](0x1,a105_0x5c87d8(0x140)),'description':z[a105_0x5c87d8(0x13d)]()[a105_0x5c87d8(0x13c)]()}),CASSegmentLeafConditionSchema]));export const CASSegmentRuleSchema=z[a105_0x5c87d8(0x13e)]({'type':z[a105_0x5c87d8(0x137)]([a105_0x5c87d8(0x12f),'Or']),'conditions':z['array'](CASSegmentConditionSchema)[a105_0x5c87d8(0x134)](0x1,'conditions\x20must\x20not\x20be\x20empty'),'description':z['string']()['optional']()});
@@ -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(_0x3923a2,_0x231259){const _0x41a49b=a106_0xa8e0,_0x2f8987=_0x3923a2();while(!![]){try{const _0x4085b0=-parseInt(_0x41a49b(0x1cb))/0x1*(-parseInt(_0x41a49b(0x1b7))/0x2)+-parseInt(_0x41a49b(0x1b9))/0x3+-parseInt(_0x41a49b(0x1b1))/0x4+parseInt(_0x41a49b(0x1c0))/0x5*(parseInt(_0x41a49b(0x1ca))/0x6)+parseInt(_0x41a49b(0x1af))/0x7*(-parseInt(_0x41a49b(0x1a7))/0x8)+parseInt(_0x41a49b(0x1a9))/0x9+-parseInt(_0x41a49b(0x1d0))/0xa*(-parseInt(_0x41a49b(0x1c7))/0xb);if(_0x4085b0===_0x231259)break;else _0x2f8987['push'](_0x2f8987['shift']());}catch(_0x1bcfc1){_0x2f8987['push'](_0x2f8987['shift']());}}}(a106_0x5043,0xb569e));import{CASSegmentRuleSchema,isGroupCondition,isValueCondition}from'./cas-segment-schema.js';import{formatZodPath,flattenZodIssues,getLocationFromPath,pathToArray}from'../segment/yaml-validator.js';function a106_0x5043(){const _0x56d344=['masterKeyColumn','attributes','push','CAS_SEGMENT_SCHEMA_ERROR','errors','1509871lBnMjp','key_column','message','822924bvuCoG','5zbFrNg','master','document','CAS_UNKNOWN_ATTRIBUTE_NAME','.leftValue.name','210oWgpza','\x20\x20✖\x20','toLowerCase','436408pgLkXj','issues','4044402fjcRMn','data','conditions','audienceFieldNames','add','\x22?\x20(leftValue.name\x20must\x20be\x20the\x20audience\x27s\x20attribute/behavior\x20name,\x20not\x20the\x20underlying\x20CDW\x20column\x20name\x20—\x20case-sensitive.)','105dtczxY','\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.','5524596dhwrVd','rule','\x22\x20doesn\x27t\x20match\x20any\x20attribute/behavior\x20on\x20the\x20parent\x20audience.\x20Did\x20you\x20mean\x20\x22','path','join','leftValue.name\x20\x22','48226usEtNE','forEach','2352744ZXsMxw','behaviors','name','map','success','error','source','10xwfpLH','safeParse'];a106_0x5043=function(){return _0x56d344;};return a106_0x5043();}function a106_0xa8e0(_0x451d54,_0x3d8fd5){_0x451d54=_0x451d54-0x1a6;const _0x5043c5=a106_0x5043();let _0xa8e068=_0x5043c5[_0x451d54];return _0xa8e068;}export function validateComposableSegmentRule(_0x21c44c,_0x2974cb={},_0x4cbaae={}){const _0x506ef9=a106_0xa8e0,_0x21507b=CASSegmentRuleSchema[_0x506ef9(0x1c1)](_0x21c44c);if(!_0x21507b[_0x506ef9(0x1bd)])return zodErrorsToValidationResult(_0x21507b[_0x506ef9(0x1be)],_0x2974cb);const _0x54bb90=[];return _0x4cbaae['audienceFieldNames']&&_0x54bb90[_0x506ef9(0x1c4)](...checkAttributeNames(_0x21507b[_0x506ef9(0x1aa)],_0x4cbaae[_0x506ef9(0x1ac)],_0x2974cb,_0x506ef9(0x1b2))),{'valid':_0x54bb90['length']===0x0,'errors':_0x54bb90,'warnings':[]};}function zodErrorsToValidationResult(_0x48abda,_0x230d2c){const _0x4b9764=a106_0xa8e0,_0x241079=flattenZodIssues(_0x48abda[_0x4b9764(0x1a8)]),_0x1b0f80=_0x241079[_0x4b9764(0x1bc)](_0x450d7b=>{const _0x21fe57=_0x4b9764,_0x42fd90='rule.'+formatZodPath(_0x450d7b[_0x21fe57(0x1b4)]),_0x4e9f99=getLocationFromPath(_0x230d2c[_0x21fe57(0x1cd)],_0x230d2c[_0x21fe57(0x1bf)],pathToArray(_0x42fd90));return{'level':'error','path':_0x42fd90,'code':_0x21fe57(0x1c5),'message':_0x450d7b[_0x21fe57(0x1c9)],..._0x4e9f99&&{'location':_0x4e9f99}};});return{'valid':![],'errors':_0x1b0f80,'warnings':[]};}function checkAttributeNames(_0x5b9ae9,_0x19969e,_0x3d03e4,_0x44a52d){const _0x2027d2=a106_0xa8e0,_0x475621=[];if(isGroupCondition(_0x5b9ae9))return _0x5b9ae9[_0x2027d2(0x1ab)][_0x2027d2(0x1b8)]((_0x5d75c0,_0x3ed615)=>{const _0x6102eb=_0x2027d2;_0x475621[_0x6102eb(0x1c4)](...checkAttributeNames(_0x5d75c0,_0x19969e,_0x3d03e4,_0x44a52d+'.conditions['+_0x3ed615+']'));}),_0x475621;if(!isValueCondition(_0x5b9ae9))return _0x475621;const _0x51877d=_0x5b9ae9['leftValue'][_0x2027d2(0x1bb)];if(!_0x19969e['has'](_0x51877d)){const _0x295c45=_0x44a52d+_0x2027d2(0x1cf),_0x469da4=findClosestName(_0x51877d,_0x19969e);_0x475621['push']({'level':_0x2027d2(0x1be),'path':_0x295c45,'code':_0x2027d2(0x1ce),'message':_0x469da4?_0x2027d2(0x1b6)+_0x51877d+_0x2027d2(0x1b3)+_0x469da4+_0x2027d2(0x1ae):'leftValue.name\x20\x22'+_0x51877d+_0x2027d2(0x1b0),'location':getLocationFromPath(_0x3d03e4[_0x2027d2(0x1cd)],_0x3d03e4[_0x2027d2(0x1bf)],pathToArray(_0x295c45))});}return _0x475621;}function findClosestName(_0x5e9d65,_0x6ed43b){const _0x33bbc6=a106_0xa8e0,_0xfca6c6=_0x5e9d65[_0x33bbc6(0x1a6)]();for(const _0x5934fb of _0x6ed43b){if(_0x5934fb[_0x33bbc6(0x1a6)]()===_0xfca6c6)return _0x5934fb;}return undefined;}export function formatSegmentRuleErrors(_0x52c68d){const _0x5de59f=a106_0xa8e0;return _0x52c68d[_0x5de59f(0x1c6)][_0x5de59f(0x1bc)](_0xc1cf5e=>_0x5de59f(0x1d1)+_0xc1cf5e[_0x5de59f(0x1b4)]+':\x20'+_0xc1cf5e[_0x5de59f(0x1c9)])[_0x5de59f(0x1b5)]('\x0a');}export function audienceFieldNamesFromApi(_0x4401f3){const _0x5cdb93=a106_0xa8e0,_0xe58723=new Set();return _0x4401f3[_0x5cdb93(0x1c3)]?.[_0x5cdb93(0x1b8)](_0x423e74=>_0xe58723[_0x5cdb93(0x1ad)](_0x423e74[_0x5cdb93(0x1bb)])),_0x4401f3[_0x5cdb93(0x1ba)]?.[_0x5cdb93(0x1b8)](_0x5acd14=>_0xe58723[_0x5cdb93(0x1ad)](_0x5acd14[_0x5cdb93(0x1bb)])),_0x4401f3['masterKeyColumn']&&(_0xe58723[_0x5cdb93(0x1ad)](_0x4401f3['masterKeyColumn']),_0xe58723[_0x5cdb93(0x1ad)](_0x4401f3[_0x5cdb93(0x1c2)][_0x5cdb93(0x1a6)]())),_0xe58723;}export function audienceFieldNamesFromDef(_0x36e85){const _0x2766e9=a106_0xa8e0;return audienceFieldNamesFromApi({'attributes':_0x36e85[_0x2766e9(0x1c3)],'behaviors':_0x36e85[_0x2766e9(0x1ba)],'masterKeyColumn':_0x36e85[_0x2766e9(0x1cc)]?.[_0x2766e9(0x1c8)]});}
@@ -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(_0x129972,_0x412a9d){const _0x20d2b2=a104_0x3710,_0x39794e=_0x129972();while(!![]){try{const _0xe60a7e=parseInt(_0x20d2b2(0x1bf))/0x1*(parseInt(_0x20d2b2(0x1d7))/0x2)+-parseInt(_0x20d2b2(0x1cf))/0x3+parseInt(_0x20d2b2(0x1d6))/0x4*(-parseInt(_0x20d2b2(0x1c9))/0x5)+parseInt(_0x20d2b2(0x1c8))/0x6*(-parseInt(_0x20d2b2(0x1ca))/0x7)+-parseInt(_0x20d2b2(0x1df))/0x8+parseInt(_0x20d2b2(0x1ce))/0x9*(-parseInt(_0x20d2b2(0x1bd))/0xa)+-parseInt(_0x20d2b2(0x1c2))/0xb*(-parseInt(_0x20d2b2(0x1c6))/0xc);if(_0xe60a7e===_0x412a9d)break;else _0x39794e['push'](_0x39794e['shift']());}catch(_0x5d8c0f){_0x39794e['push'](_0x39794e['shift']());}}}(a104_0x37b0,0x20c0a));function a104_0x37b0(){const _0x5776da=['407178vTUnjv','repeat_frequency','notify_on','folderId','columns','length','scheduleType','42848sXurXr','2vRdePo','stringify','description','get','repeat_unit','repeatUnit','allColumns','repeatFrequency','1316608VMeJKZ','notifyOn','Activation\x20\x22','\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).','start_at','parse','\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).','map','emailRecipients','connectionId','connector_config','startAt','INVALID_ARGUMENT','all_columns','timezone','filter','end_on','name','email_recipients','651110CLECZE','schedule','194971IQDWnp','\x22)\x20is\x20missing\x20\x22connection\x22.','endOn','3702886UrkKFc','rule','\x22\x20(under\x20segment\x20\x22','connectorConfig','24hBerMM','type','6ItysKZ','75qMrXuo','1000055iQWwij','composable_segment','keys','activations','18jbSFeq'];a104_0x37b0=function(){return _0x5776da;};return a104_0x37b0();}import*as a104_0x2d4220 from'yaml';import{SDKError,ErrorCode}from'../errors.js';function a104_0x3710(_0x877085,_0x2e8c9a){_0x877085=_0x877085-0x1b5;const _0x37b0eb=a104_0x37b0();let _0x37105f=_0x37b0eb[_0x877085];return _0x37105f;}export function segmentApiToDef(_0x5a7c21,_0x4b32cb,_0x27d95a,_0x554483){const _0x4e8502=a104_0x3710,_0x6f3d7d={'type':_0x4e8502(0x1cb),'name':_0x5a7c21[_0x4e8502(0x1bb)],..._0x5a7c21[_0x4e8502(0x1d9)]&&{'description':_0x5a7c21['description']},..._0x5a7c21[_0x4e8502(0x1d2)]&&_0x27d95a['has'](_0x5a7c21[_0x4e8502(0x1d2)])&&{'folder':_0x27d95a['get'](_0x5a7c21['folderId'])},..._0x5a7c21[_0x4e8502(0x1c3)]&&{'rule':_0x5a7c21[_0x4e8502(0x1c3)]}};return _0x4b32cb[_0x4e8502(0x1d4)]>0x0&&(_0x6f3d7d[_0x4e8502(0x1cd)]=_0x4b32cb[_0x4e8502(0x1e6)](_0x2ed121=>activationApiToDef(_0x2ed121,_0x554483))),_0x6f3d7d;}function activationApiToDef(_0x5b9328,_0x775d42){const _0x44ab2a=a104_0x3710,_0x43fe6f=_0x775d42[_0x44ab2a(0x1da)](_0x5b9328[_0x44ab2a(0x1e8)]||'')||_0x5b9328[_0x44ab2a(0x1e8)]||'',_0x5e7e99={..._0x5b9328[_0x44ab2a(0x1d5)]&&{'type':_0x5b9328[_0x44ab2a(0x1d5)]},..._0x5b9328[_0x44ab2a(0x1b8)]&&{'timezone':_0x5b9328['timezone']},..._0x5b9328['repeatUnit']&&{'repeat_unit':_0x5b9328[_0x44ab2a(0x1dc)]},..._0x5b9328[_0x44ab2a(0x1de)]!==undefined&&{'repeat_frequency':_0x5b9328[_0x44ab2a(0x1de)]},..._0x5b9328['startAt']&&{'start_at':_0x5b9328[_0x44ab2a(0x1b5)]},..._0x5b9328['endOn']!==undefined&&_0x5b9328['endOn']!==null&&{'end_on':_0x5b9328[_0x44ab2a(0x1c1)]},..._0x5b9328[_0x44ab2a(0x1e0)]?.[_0x44ab2a(0x1d4)]&&{'notify_on':_0x5b9328[_0x44ab2a(0x1e0)]},..._0x5b9328['emailRecipients']?.[_0x44ab2a(0x1d4)]&&{'email_recipients':_0x5b9328[_0x44ab2a(0x1e7)]}};return{'name':_0x5b9328[_0x44ab2a(0x1bb)],'connection':_0x43fe6f,..._0x5b9328[_0x44ab2a(0x1d9)]&&{'description':_0x5b9328['description']},..._0x5b9328[_0x44ab2a(0x1c5)]&&{'connector_config':_0x5b9328[_0x44ab2a(0x1c5)]},..._0x5b9328[_0x44ab2a(0x1dd)]&&{'all_columns':_0x5b9328['allColumns']},..._0x5b9328['columns']?.[_0x44ab2a(0x1d4)]&&{'columns':_0x5b9328[_0x44ab2a(0x1d3)][_0x44ab2a(0x1b9)](_0x115c6b=>_0x115c6b['column']||_0x115c6b[_0x44ab2a(0x1bb)])[_0x44ab2a(0x1e6)](_0x5dd8ea=>({'name':_0x5dd8ea['column']||_0x5dd8ea['name'],'type':_0x5dd8ea[_0x44ab2a(0x1c7)]}))},...Object[_0x44ab2a(0x1cc)](_0x5e7e99)[_0x44ab2a(0x1d4)]>0x0&&{'schedule':_0x5e7e99}};}export function defToSegmentApi(_0x23bc1b,_0x5be712,_0x28134f){const _0x3245a1=a104_0x3710;return{'name':_0x23bc1b[_0x3245a1(0x1bb)],'composableAudienceId':_0x5be712,'description':_0x23bc1b['description']??'',..._0x28134f&&{'segmentFolderId':_0x28134f[_0x3245a1(0x1da)](_0x23bc1b['folder']??'')},..._0x23bc1b[_0x3245a1(0x1c3)]&&{'rule':_0x23bc1b['rule']}};}export function activationDefToApi(_0x30be68,_0x4eccab,_0x46af59){const _0x4625dc=a104_0x3710;if(!_0x30be68[_0x4625dc(0x1bb)])throw new SDKError(ErrorCode[_0x4625dc(0x1b6)],'An\x20activation\x20under\x20segment\x20\x22'+_0x46af59+_0x4625dc(0x1e5));if(!_0x30be68['connection'])throw new SDKError(ErrorCode[_0x4625dc(0x1b6)],_0x4625dc(0x1e1)+_0x30be68['name']+_0x4625dc(0x1c4)+_0x46af59+_0x4625dc(0x1c0));if(!_0x30be68[_0x4625dc(0x1b7)]&&!_0x30be68[_0x4625dc(0x1d3)]?.[_0x4625dc(0x1d4)])throw new SDKError(ErrorCode[_0x4625dc(0x1b6)],_0x4625dc(0x1e1)+_0x30be68['name']+'\x22\x20(under\x20segment\x20\x22'+_0x46af59+_0x4625dc(0x1e2));const _0x48ddd7=_0x30be68[_0x4625dc(0x1be)];return{'name':_0x30be68['name'],'connectionId':_0x4eccab,..._0x30be68[_0x4625dc(0x1d9)]&&{'description':_0x30be68[_0x4625dc(0x1d9)]},..._0x30be68[_0x4625dc(0x1e9)]&&{'connectorConfig':_0x30be68[_0x4625dc(0x1e9)]},..._0x30be68[_0x4625dc(0x1b7)]&&{'allColumns':_0x30be68[_0x4625dc(0x1b7)]},..._0x30be68[_0x4625dc(0x1d3)]?.[_0x4625dc(0x1d4)]&&{'columns':_0x30be68[_0x4625dc(0x1d3)][_0x4625dc(0x1e6)](_0x2542ba=>({'name':_0x2542ba['name'],'type':_0x2542ba[_0x4625dc(0x1c7)]}))},..._0x48ddd7?.[_0x4625dc(0x1c7)]&&{'scheduleType':_0x48ddd7[_0x4625dc(0x1c7)]},..._0x48ddd7?.[_0x4625dc(0x1b8)]&&{'timezone':_0x48ddd7[_0x4625dc(0x1b8)]},..._0x48ddd7?.[_0x4625dc(0x1db)]&&{'repeatUnit':_0x48ddd7[_0x4625dc(0x1db)]},..._0x48ddd7?.[_0x4625dc(0x1d0)]!==undefined&&{'repeatFrequency':_0x48ddd7['repeat_frequency']},..._0x48ddd7?.['start_at']&&{'startAt':_0x48ddd7[_0x4625dc(0x1e3)]},..._0x48ddd7?.['end_on']!==undefined&&{'endOn':_0x48ddd7[_0x4625dc(0x1ba)]},..._0x48ddd7?.[_0x4625dc(0x1d1)]?.['length']&&{'notifyOn':_0x48ddd7[_0x4625dc(0x1d1)]},..._0x48ddd7?.[_0x4625dc(0x1bc)]?.[_0x4625dc(0x1d4)]&&{'emailRecipients':_0x48ddd7[_0x4625dc(0x1bc)]}};}export function serializeSegmentDef(_0x4ef807){const _0x5457fd=a104_0x3710;return a104_0x2d4220[_0x5457fd(0x1d8)](_0x4ef807,{'lineWidth':0x78});}export function parseSegmentDef(_0x359c1){const _0x1d437e=a104_0x3710;return a104_0x2d4220[_0x1d437e(0x1e4)](_0x359c1);}export function isComposableSegmentDef(_0x3f3336){const _0x3fca22=a104_0x3710;return typeof _0x3f3336==='object'&&_0x3f3336!==null&&'type'in _0x3f3336&&_0x3f3336[_0x3fca22(0x1c7)]==='composable_segment';}
1
+ (function(_0x2074b2,_0x425f5a){const _0x4b51eb=a107_0x1989,_0x5d0306=_0x2074b2();while(!![]){try{const _0x2e0608=parseInt(_0x4b51eb(0x74))/0x1*(-parseInt(_0x4b51eb(0x86))/0x2)+parseInt(_0x4b51eb(0x75))/0x3*(parseInt(_0x4b51eb(0xa2))/0x4)+parseInt(_0x4b51eb(0x89))/0x5*(parseInt(_0x4b51eb(0x92))/0x6)+-parseInt(_0x4b51eb(0x87))/0x7+parseInt(_0x4b51eb(0x72))/0x8+-parseInt(_0x4b51eb(0x97))/0x9*(parseInt(_0x4b51eb(0x88))/0xa)+parseInt(_0x4b51eb(0x99))/0xb*(parseInt(_0x4b51eb(0x8a))/0xc);if(_0x2e0608===_0x425f5a)break;else _0x5d0306['push'](_0x5d0306['shift']());}catch(_0x30c850){_0x5d0306['push'](_0x5d0306['shift']());}}}(a107_0x9806,0xb6df8));import*as a107_0x195cb6 from'yaml';import{SDKError,ErrorCode}from'../errors.js';export function segmentApiToDef(_0x206709,_0x305661,_0x2ec0ca,_0x38e397){const _0xdcf7bc=a107_0x1989,_0x52d034={'type':'composable_segment','name':_0x206709['name'],..._0x206709[_0xdcf7bc(0x71)]&&{'description':_0x206709[_0xdcf7bc(0x71)]},..._0x206709[_0xdcf7bc(0x6e)]&&_0x2ec0ca[_0xdcf7bc(0xa0)](_0x206709[_0xdcf7bc(0x6e)])&&{'folder':_0x2ec0ca[_0xdcf7bc(0x8f)](_0x206709[_0xdcf7bc(0x6e)])},..._0x206709['rule']&&{'rule':_0x206709[_0xdcf7bc(0x8e)]}};return _0x305661[_0xdcf7bc(0x95)]>0x0&&(_0x52d034[_0xdcf7bc(0x84)]=_0x305661[_0xdcf7bc(0x7f)](_0x468271=>activationApiToDef(_0x468271,_0x38e397))),_0x52d034;}function activationApiToDef(_0x349829,_0x289420){const _0x2fa974=a107_0x1989,_0x48f6d7=_0x289420[_0x2fa974(0x8f)](_0x349829['connectionId']||'')||_0x349829[_0x2fa974(0x8b)]||'',_0x14bb44={..._0x349829[_0x2fa974(0x96)]&&{'type':_0x349829[_0x2fa974(0x96)]},..._0x349829['timezone']&&{'timezone':_0x349829[_0x2fa974(0xa3)]},..._0x349829[_0x2fa974(0x9b)]&&{'repeat_unit':_0x349829[_0x2fa974(0x9b)]},..._0x349829[_0x2fa974(0x9a)]!==undefined&&{'repeat_frequency':_0x349829[_0x2fa974(0x9a)]},..._0x349829[_0x2fa974(0x78)]&&{'start_at':_0x349829[_0x2fa974(0x78)]},..._0x349829[_0x2fa974(0x9d)]!==undefined&&_0x349829[_0x2fa974(0x9d)]!==null&&{'end_on':_0x349829[_0x2fa974(0x9d)]},..._0x349829[_0x2fa974(0x79)]?.['length']&&{'notify_on':_0x349829[_0x2fa974(0x79)]},..._0x349829['emailRecipients']?.[_0x2fa974(0x95)]&&{'email_recipients':_0x349829[_0x2fa974(0x76)]}};return{'name':_0x349829['name'],'connection':_0x48f6d7,..._0x349829['description']&&{'description':_0x349829[_0x2fa974(0x71)]},..._0x349829[_0x2fa974(0x77)]&&{'connector_config':_0x349829['connectorConfig']},..._0x349829[_0x2fa974(0x80)]&&{'all_columns':_0x349829[_0x2fa974(0x80)]},..._0x349829[_0x2fa974(0x6f)]?.['length']&&{'columns':_0x349829[_0x2fa974(0x6f)]['filter'](_0x44416d=>_0x44416d[_0x2fa974(0x7e)]||_0x44416d[_0x2fa974(0x94)])['map'](_0x550b6c=>({'name':_0x550b6c['column']||_0x550b6c[_0x2fa974(0x94)],'type':_0x550b6c['type']}))},...Object['keys'](_0x14bb44)[_0x2fa974(0x95)]>0x0&&{'schedule':_0x14bb44}};}function a107_0x1989(_0x4316b9,_0x27fdc9){_0x4316b9=_0x4316b9-0x6d;const _0x9806c3=a107_0x9806();let _0x198979=_0x9806c3[_0x4316b9];return _0x198979;}export function defToSegmentApi(_0x372cf5,_0x50070a,_0x3ece90){const _0x149159=a107_0x1989;return{'name':_0x372cf5[_0x149159(0x94)],'composableAudienceId':_0x50070a,'description':_0x372cf5[_0x149159(0x71)]??'',..._0x3ece90&&{'segmentFolderId':_0x3ece90[_0x149159(0x8f)](_0x372cf5[_0x149159(0x70)]??'')},..._0x372cf5['rule']&&{'rule':_0x372cf5[_0x149159(0x8e)]}};}export function activationDefToApi(_0x2c681f,_0x2147fb,_0x50f271){const _0x434605=a107_0x1989;if(!_0x2c681f[_0x434605(0x94)])throw new SDKError(ErrorCode[_0x434605(0x85)],_0x434605(0x6d)+_0x50f271+_0x434605(0x9c));if(!_0x2c681f[_0x434605(0x93)])throw new SDKError(ErrorCode[_0x434605(0x85)],_0x434605(0x7a)+_0x2c681f[_0x434605(0x94)]+_0x434605(0x9f)+_0x50f271+_0x434605(0xa4));if(!_0x2c681f[_0x434605(0x83)]&&!_0x2c681f['columns']?.[_0x434605(0x95)])throw new SDKError(ErrorCode[_0x434605(0x85)],_0x434605(0x7a)+_0x2c681f[_0x434605(0x94)]+_0x434605(0x9f)+_0x50f271+_0x434605(0x8c));const _0x59c3e7=_0x2c681f[_0x434605(0x7c)];return{'name':_0x2c681f[_0x434605(0x94)],'connectionId':_0x2147fb,..._0x2c681f[_0x434605(0x71)]&&{'description':_0x2c681f['description']},..._0x2c681f[_0x434605(0x7d)]&&{'connectorConfig':_0x2c681f[_0x434605(0x7d)]},..._0x2c681f[_0x434605(0x83)]&&{'allColumns':_0x2c681f[_0x434605(0x83)]},..._0x2c681f[_0x434605(0x6f)]?.[_0x434605(0x95)]&&{'columns':_0x2c681f[_0x434605(0x6f)][_0x434605(0x7f)](_0x53346e=>({'name':_0x53346e['name'],'type':_0x53346e[_0x434605(0x90)]}))},..._0x59c3e7?.[_0x434605(0x90)]&&{'scheduleType':_0x59c3e7[_0x434605(0x90)]},..._0x59c3e7?.[_0x434605(0xa3)]&&{'timezone':_0x59c3e7[_0x434605(0xa3)]},..._0x59c3e7?.['repeat_unit']&&{'repeatUnit':_0x59c3e7[_0x434605(0xa1)]},..._0x59c3e7?.[_0x434605(0x81)]!==undefined&&{'repeatFrequency':_0x59c3e7[_0x434605(0x81)]},..._0x59c3e7?.[_0x434605(0x82)]&&{'startAt':_0x59c3e7[_0x434605(0x82)]},..._0x59c3e7?.[_0x434605(0x9e)]!==undefined&&{'endOn':_0x59c3e7['end_on']},..._0x59c3e7?.[_0x434605(0x7b)]?.['length']&&{'notifyOn':_0x59c3e7['notify_on']},..._0x59c3e7?.[_0x434605(0x73)]?.[_0x434605(0x95)]&&{'emailRecipients':_0x59c3e7[_0x434605(0x73)]}};}export function serializeSegmentDef(_0x3fcb1f){const _0x57bad2=a107_0x1989;return a107_0x195cb6[_0x57bad2(0x8d)](_0x3fcb1f,{'lineWidth':0x78});}export function parseSegmentDef(_0x326283){const _0x56a69c=a107_0x1989;return a107_0x195cb6[_0x56a69c(0x91)](_0x326283);}export function isComposableSegmentDef(_0x5cab27){const _0x3ce0b9=a107_0x1989;return typeof _0x5cab27==='object'&&_0x5cab27!==null&&_0x3ce0b9(0x90)in _0x5cab27&&_0x5cab27[_0x3ce0b9(0x90)]===_0x3ce0b9(0x98);}function a107_0x9806(){const _0x4595a2=['endOn','end_on','\x22\x20(under\x20segment\x20\x22','has','repeat_unit','106160BaRXxi','timezone','\x22)\x20is\x20missing\x20\x22connection\x22.','An\x20activation\x20under\x20segment\x20\x22','folderId','columns','folder','description','4911784cafXYF','email_recipients','1502kUEvuE','138RywDHT','emailRecipients','connectorConfig','startAt','notifyOn','Activation\x20\x22','notify_on','schedule','connector_config','column','map','allColumns','repeat_frequency','start_at','all_columns','activations','INVALID_ARGUMENT','1622lyYlzp','8422099auAxOJ','4995800AldLiw','5jYNEwf','3660xinhIp','connectionId','\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).','stringify','rule','get','type','parse','2777394NdLNPD','connection','name','length','scheduleType','9xQtBui','composable_segment','49489RfyfqL','repeatFrequency','repeatUnit','\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).'];a107_0x9806=function(){return _0x4595a2;};return a107_0x9806();}
@@ -1 +1 @@
1
- const a105_0x1c8bd0=a105_0x2344;(function(_0x1539f5,_0x6eea81){const _0x5d6321=a105_0x2344,_0x41fd4d=_0x1539f5();while(!![]){try{const _0x55e717=parseInt(_0x5d6321(0x17a))/0x1*(parseInt(_0x5d6321(0x18e))/0x2)+parseInt(_0x5d6321(0x18c))/0x3*(parseInt(_0x5d6321(0x187))/0x4)+parseInt(_0x5d6321(0x171))/0x5+-parseInt(_0x5d6321(0x196))/0x6+-parseInt(_0x5d6321(0x198))/0x7+-parseInt(_0x5d6321(0x191))/0x8+-parseInt(_0x5d6321(0x179))/0x9;if(_0x55e717===_0x6eea81)break;else _0x41fd4d['push'](_0x41fd4d['shift']());}catch(_0x190aad){_0x41fd4d['push'](_0x41fd4d['shift']());}}}(a105_0x2cee,0x43331));import{CASApiClient}from'./cas-api-client.js';function a105_0x2344(_0x3bc089,_0x3c9c00){_0x3bc089=_0x3bc089-0x16e;const _0x2cee25=a105_0x2cee();let _0x23447a=_0x2cee25[_0x3bc089];return _0x23447a;}import{SDKError,ErrorCode}from'../errors.js';import{pullComposableAudience}from'./pull-workflow.js';import{pushComposableFiles,deleteComposableSegment}from'./push-workflow.js';function a105_0x2cee(){const _0x4d673b=['keys','getSegment','Composable\x20segment\x20\x27','\x27\x20has\x20no\x20saved\x20rule\x20to\x20preview','count','getPreviewQuery','length','1889577RNFZkg','1bkPkhT','rule','NOT_FOUND','listComposableAudiences','client','pull','name','preview','get','INVALID_ARGUMENT','success','getPreviewCustomers','resolveAudienceId','404pEaYzQ','getComposableAudience','toLowerCase','resolveSegmentId','connection','11430rTHVdS','ConnectionSDK\x20not\x20initialized','485548EHSGXO','previewSegment','deleteSegment','1975208lORZPi','resolveSegment','status','Composable\x20segment\x20not\x20found:\x20','listSegments','338964XZIixg','_connectionSDK','1213317KGHXuF','find','deleteSegmentById','resolveSegmentInAudience','Composable\x20audience\x20not\x20found:\x20','1671720YqXnPj'];a105_0x2cee=function(){return _0x4d673b;};return a105_0x2cee();}function hasRule(_0x1efe85){const _0x2855a9=a105_0x2344;return!!_0x1efe85[_0x2855a9(0x17b)]&&Object[_0x2855a9(0x172)](_0x1efe85[_0x2855a9(0x17b)])[_0x2855a9(0x178)]>0x0;}export class CASSDK{[a105_0x1c8bd0(0x17e)];['_connectionSDK'];constructor(_0x48e2e3){const _0x1f4240=a105_0x1c8bd0;this[_0x1f4240(0x17e)]=new CASApiClient(_0x48e2e3);}get[a105_0x1c8bd0(0x18b)](){const _0x5d6065=a105_0x1c8bd0;if(!this[_0x5d6065(0x197)])throw new SDKError(ErrorCode['INTERNAL'],_0x5d6065(0x18d));return this[_0x5d6065(0x197)];}async['list'](){const _0x5b3469=a105_0x1c8bd0;return this[_0x5b3469(0x17e)][_0x5b3469(0x17d)]();}async[a105_0x1c8bd0(0x182)](_0x570385){const _0x2151e7=a105_0x1c8bd0;try{return await this['client'][_0x2151e7(0x188)](_0x570385);}catch{const _0x187293=await this[_0x2151e7(0x17e)][_0x2151e7(0x17d)](),_0x36c96b=_0x187293[_0x2151e7(0x199)](_0x750730=>_0x750730[_0x2151e7(0x180)][_0x2151e7(0x189)]()===_0x570385[_0x2151e7(0x189)]());if(!_0x36c96b)throw new SDKError(ErrorCode[_0x2151e7(0x17c)],_0x2151e7(0x170)+_0x570385);return this['client'][_0x2151e7(0x188)](_0x36c96b['id']);}}async[a105_0x1c8bd0(0x186)](_0x32b515){const _0x4c75f9=a105_0x1c8bd0,_0x4eab0d=await this[_0x4c75f9(0x182)](_0x32b515);return _0x4eab0d['id'];}async[a105_0x1c8bd0(0x195)](_0x17c41c){const _0x5a3178=a105_0x1c8bd0,_0x5e1d44=await this[_0x5a3178(0x186)](_0x17c41c);return this[_0x5a3178(0x17e)][_0x5a3178(0x195)](_0x5e1d44);}async[a105_0x1c8bd0(0x17f)](_0x15312b,_0x3c6791){const _0x3f5a54=a105_0x1c8bd0,_0x748f8d=await this['resolveAudienceId'](_0x15312b);return pullComposableAudience(_0x748f8d,{'client':this[_0x3f5a54(0x17e)],'connection':this[_0x3f5a54(0x18b)]},_0x3c6791);}async['push'](_0x55ea6d,_0x3dd1f6){const _0x9a108d=a105_0x1c8bd0;return pushComposableFiles(_0x55ea6d,{'client':this[_0x9a108d(0x17e)],'connection':this[_0x9a108d(0x18b)]},_0x3dd1f6||{});}async['deleteSegment'](_0x4ca1b0,_0x35823c){const _0x158405=a105_0x1c8bd0,_0x4eac86=await this['resolveAudienceId'](_0x4ca1b0);return deleteComposableSegment(this[_0x158405(0x17e)],_0x4eac86,_0x35823c);}async[a105_0x1c8bd0(0x16e)](_0xe76519){const _0x3476ac=a105_0x1c8bd0;await this[_0x3476ac(0x17e)][_0x3476ac(0x190)](_0xe76519);}async[a105_0x1c8bd0(0x192)](_0x2656b2,_0x26691a){const _0x2497cc=a105_0x1c8bd0,_0xb5d38=await this[_0x2497cc(0x186)](_0x2656b2);return this[_0x2497cc(0x16f)](_0xb5d38,_0x26691a);}async[a105_0x1c8bd0(0x16f)](_0x527378,_0x3389e2){const _0x250d10=a105_0x1c8bd0,_0x4db71=await this['client'][_0x250d10(0x195)](_0x527378),_0x4805bb=_0x4db71[_0x250d10(0x199)](_0x4ad90a=>_0x4ad90a['id']===_0x3389e2||_0x4ad90a['name'][_0x250d10(0x189)]()===_0x3389e2[_0x250d10(0x189)]());if(!_0x4805bb)throw new SDKError(ErrorCode[_0x250d10(0x17c)],_0x250d10(0x194)+_0x3389e2);return _0x4805bb;}async[a105_0x1c8bd0(0x18a)](_0x286a9b,_0x460f36){const _0x1efe97=a105_0x1c8bd0,_0x776911=await this[_0x1efe97(0x192)](_0x286a9b,_0x460f36);return _0x776911['id'];}async[a105_0x1c8bd0(0x181)](_0x19a58f,_0x518f69){const _0x5b0331=a105_0x1c8bd0,_0x2f3e05=await this[_0x5b0331(0x186)](_0x19a58f);let _0x48f35c=await this[_0x5b0331(0x16f)](_0x2f3e05,_0x518f69);!hasRule(_0x48f35c)&&(_0x48f35c=await this[_0x5b0331(0x17e)][_0x5b0331(0x173)](_0x48f35c['id']));if(!hasRule(_0x48f35c))throw new SDKError(ErrorCode[_0x5b0331(0x183)],_0x5b0331(0x174)+_0x48f35c['name']+_0x5b0331(0x175));const _0x37f435=await this[_0x5b0331(0x17e)][_0x5b0331(0x18f)](_0x2f3e05,_0x48f35c[_0x5b0331(0x17b)]);let _0x28843d=_0x37f435[_0x5b0331(0x193)];const _0x5239cf=_0x37f435['queryId'],_0x34fd8e=0x1e;for(let _0x4ea003=0x0;_0x4ea003<_0x34fd8e&&_0x28843d!=='success'&&_0x28843d!=='error';_0x4ea003++){await new Promise(_0x3e44e5=>setTimeout(_0x3e44e5,0x7d0));const _0x2a6b7d=await this[_0x5b0331(0x17e)][_0x5b0331(0x177)](_0x2f3e05,_0x5239cf);_0x28843d=_0x2a6b7d[_0x5b0331(0x193)],_0x37f435['status']=_0x28843d,_0x37f435['count']=_0x2a6b7d[_0x5b0331(0x176)];}if(_0x28843d!==_0x5b0331(0x184))return{'query':_0x37f435};try{const _0x3a81f8=await this[_0x5b0331(0x17e)][_0x5b0331(0x185)](_0x2f3e05,_0x5239cf);return{'query':_0x37f435,'customers':_0x3a81f8};}catch{return{'query':_0x37f435};}}}
1
+ const a108_0x54025b=a108_0x3c1a;(function(_0x5c6c73,_0x2a61ca){const _0x3269a1=a108_0x3c1a,_0x1f220b=_0x5c6c73();while(!![]){try{const _0x14a04f=-parseInt(_0x3269a1(0x103))/0x1+-parseInt(_0x3269a1(0xeb))/0x2+-parseInt(_0x3269a1(0xed))/0x3+parseInt(_0x3269a1(0xe1))/0x4+parseInt(_0x3269a1(0xff))/0x5+parseInt(_0x3269a1(0xdd))/0x6+parseInt(_0x3269a1(0xf7))/0x7*(parseInt(_0x3269a1(0xf3))/0x8);if(_0x14a04f===_0x2a61ca)break;else _0x1f220b['push'](_0x1f220b['shift']());}catch(_0x4132cb){_0x1f220b['push'](_0x1f220b['shift']());}}}(a108_0x16a3,0x4c64c));import{CASApiClient}from'./cas-api-client.js';function a108_0x3c1a(_0x2638f5,_0x41a2ca){_0x2638f5=_0x2638f5-0xdd;const _0x16a3af=a108_0x16a3();let _0x3c1a91=_0x16a3af[_0x2638f5];return _0x3c1a91;}import{SDKError,ErrorCode}from'../errors.js';import{pullComposableAudience}from'./pull-workflow.js';function a108_0x16a3(){const _0x4319da=['pull','listComposableAudiences','resolveAudienceId','1111130DBphhR','count','listSegments','_connectionSDK','286009iWbHSh','get','getPreviewCustomers','deleteSegment','push','error','2615082gGQNqO','NOT_FOUND','toLowerCase','deleteSegmentById','1829068jgBbyj','status','preview','keys','find','Composable\x20segment\x20not\x20found:\x20','connection','getComposableAudience','rule','INVALID_ARGUMENT','989224CeTCzF','client','1760418MIcsrz','name','getPreviewQuery','INTERNAL','resolveSegmentInAudience','getSegment','8PkkCyC','previewSegment','length','Composable\x20audience\x20not\x20found:\x20','3954965KlsVIR','\x27\x20has\x20no\x20saved\x20rule\x20to\x20preview','ConnectionSDK\x20not\x20initialized','Composable\x20segment\x20\x27','success'];a108_0x16a3=function(){return _0x4319da;};return a108_0x16a3();}import{pushComposableFiles,deleteComposableSegment}from'./push-workflow.js';function hasRule(_0x939203){const _0x1cdb64=a108_0x3c1a;return!!_0x939203['rule']&&Object[_0x1cdb64(0xe4)](_0x939203[_0x1cdb64(0xe9)])[_0x1cdb64(0xf5)]>0x0;}export class CASSDK{['client'];[a108_0x54025b(0x102)];constructor(_0x5db7bf){this['client']=new CASApiClient(_0x5db7bf);}get['connection'](){const _0x1d0b3d=a108_0x54025b;if(!this[_0x1d0b3d(0x102)])throw new SDKError(ErrorCode[_0x1d0b3d(0xf0)],_0x1d0b3d(0xf9));return this['_connectionSDK'];}async['list'](){const _0x54c6c0=a108_0x54025b;return this['client'][_0x54c6c0(0xfd)]();}async[a108_0x54025b(0x104)](_0x371bcb){const _0x17c28d=a108_0x54025b;try{return await this[_0x17c28d(0xec)][_0x17c28d(0xe8)](_0x371bcb);}catch{const _0x2b0923=await this[_0x17c28d(0xec)]['listComposableAudiences'](),_0x368a5e=_0x2b0923[_0x17c28d(0xe5)](_0x50e778=>_0x50e778[_0x17c28d(0xee)][_0x17c28d(0xdf)]()===_0x371bcb[_0x17c28d(0xdf)]());if(!_0x368a5e)throw new SDKError(ErrorCode[_0x17c28d(0xde)],_0x17c28d(0xf6)+_0x371bcb);return this[_0x17c28d(0xec)][_0x17c28d(0xe8)](_0x368a5e['id']);}}async[a108_0x54025b(0xfe)](_0x485b90){const _0x1d8893=await this['get'](_0x485b90);return _0x1d8893['id'];}async[a108_0x54025b(0x101)](_0x259387){const _0x3d2647=a108_0x54025b,_0x379103=await this[_0x3d2647(0xfe)](_0x259387);return this[_0x3d2647(0xec)][_0x3d2647(0x101)](_0x379103);}async[a108_0x54025b(0xfc)](_0xfa0c63,_0x1fb5d4){const _0x5983ab=a108_0x54025b,_0x182eb1=await this[_0x5983ab(0xfe)](_0xfa0c63);return pullComposableAudience(_0x182eb1,{'client':this['client'],'connection':this[_0x5983ab(0xe7)]},_0x1fb5d4);}async[a108_0x54025b(0x107)](_0x5e2838,_0x155d02){return pushComposableFiles(_0x5e2838,{'client':this['client'],'connection':this['connection']},_0x155d02||{});}async[a108_0x54025b(0x106)](_0xb448fc,_0x35b798){const _0x3f8e39=a108_0x54025b,_0x3a279f=await this['resolveAudienceId'](_0xb448fc);return deleteComposableSegment(this[_0x3f8e39(0xec)],_0x3a279f,_0x35b798);}async[a108_0x54025b(0xe0)](_0x459d3d){const _0x2b94f3=a108_0x54025b;await this['client'][_0x2b94f3(0x106)](_0x459d3d);}async['resolveSegment'](_0x1ad353,_0x5ed13b){const _0x3c610b=a108_0x54025b,_0x4eec84=await this[_0x3c610b(0xfe)](_0x1ad353);return this['resolveSegmentInAudience'](_0x4eec84,_0x5ed13b);}async[a108_0x54025b(0xf1)](_0x2b1e7b,_0x2012a8){const _0x4e1a87=a108_0x54025b,_0x4673b4=await this[_0x4e1a87(0xec)][_0x4e1a87(0x101)](_0x2b1e7b),_0x133386=_0x4673b4[_0x4e1a87(0xe5)](_0x1bf7d4=>_0x1bf7d4['id']===_0x2012a8||_0x1bf7d4[_0x4e1a87(0xee)][_0x4e1a87(0xdf)]()===_0x2012a8[_0x4e1a87(0xdf)]());if(!_0x133386)throw new SDKError(ErrorCode[_0x4e1a87(0xde)],_0x4e1a87(0xe6)+_0x2012a8);return _0x133386;}async['resolveSegmentId'](_0xc49612,_0x56e641){const _0x3f467e=await this['resolveSegment'](_0xc49612,_0x56e641);return _0x3f467e['id'];}async[a108_0x54025b(0xe3)](_0x197f31,_0x877afc){const _0x44bee1=a108_0x54025b,_0x1dcac9=await this[_0x44bee1(0xfe)](_0x197f31);let _0x3667f6=await this['resolveSegmentInAudience'](_0x1dcac9,_0x877afc);!hasRule(_0x3667f6)&&(_0x3667f6=await this[_0x44bee1(0xec)][_0x44bee1(0xf2)](_0x3667f6['id']));if(!hasRule(_0x3667f6))throw new SDKError(ErrorCode[_0x44bee1(0xea)],_0x44bee1(0xfa)+_0x3667f6[_0x44bee1(0xee)]+_0x44bee1(0xf8));const _0x20e113=await this[_0x44bee1(0xec)][_0x44bee1(0xf4)](_0x1dcac9,_0x3667f6[_0x44bee1(0xe9)]);let _0x1c097e=_0x20e113[_0x44bee1(0xe2)];const _0x589f39=_0x20e113['queryId'],_0x2044f0=0x1e;for(let _0x10db78=0x0;_0x10db78<_0x2044f0&&_0x1c097e!=='success'&&_0x1c097e!==_0x44bee1(0x108);_0x10db78++){await new Promise(_0x4de147=>setTimeout(_0x4de147,0x7d0));const _0x5c786a=await this[_0x44bee1(0xec)][_0x44bee1(0xef)](_0x1dcac9,_0x589f39);_0x1c097e=_0x5c786a[_0x44bee1(0xe2)],_0x20e113[_0x44bee1(0xe2)]=_0x1c097e,_0x20e113[_0x44bee1(0x100)]=_0x5c786a[_0x44bee1(0x100)];}if(_0x1c097e!==_0x44bee1(0xfb))return{'query':_0x20e113};try{const _0x1a72ee=await this[_0x44bee1(0xec)][_0x44bee1(0x105)](_0x1dcac9,_0x589f39);return{'query':_0x20e113,'customers':_0x1a72ee};}catch{return{'query':_0x20e113};}}}
@@ -1 +1 @@
1
- function a106_0x9f99(){const _0x5c0017=['3081785pYvgLy','8cBXvZL','230RBOGOp','394611LtLfxG','length','130nVQGue','.yml','110394HrisaY','map','folderId','get','575937cnDSjB','join','utf-8','Fetching\x20activations...','all','Generating\x20YAML\x20files...','set','find','Fetching\x20audience\x20and\x20segments...','push','32976SCChum','getComposableAudience','update','listAllActivations','799222GLTWbU','listFolders','parentFolderId','1409056aRenyK','name'];a106_0x9f99=function(){return _0x5c0017;};return a106_0x9f99();}(function(_0x228627,_0xe23d97){const _0x1ee1cb=a106_0x72e7,_0x2b7e7b=_0x228627();while(!![]){try{const _0x359387=-parseInt(_0x1ee1cb(0x1b7))/0x1+parseInt(_0x1ee1cb(0x1c5))/0x2+parseInt(_0x1ee1cb(0x1af))/0x3+parseInt(_0x1ee1cb(0x1aa))/0x4+-parseInt(_0x1ee1cb(0x1b1))/0x5*(parseInt(_0x1ee1cb(0x1c1))/0x6)+-parseInt(_0x1ee1cb(0x1ac))/0x7*(-parseInt(_0x1ee1cb(0x1ad))/0x8)+parseInt(_0x1ee1cb(0x1b3))/0x9*(-parseInt(_0x1ee1cb(0x1ae))/0xa);if(_0x359387===_0xe23d97)break;else _0x2b7e7b['push'](_0x2b7e7b['shift']());}catch(_0x25ab6c){_0x2b7e7b['push'](_0x2b7e7b['shift']());}}}(a106_0x9f99,0x4ec9c));import a106_0x1bda17 from'path';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';function a106_0x72e7(_0x4e15df,_0x2ad99d){_0x4e15df=_0x4e15df-0x1aa;const _0x9f99e7=a106_0x9f99();let _0x72e78d=_0x9f99e7[_0x4e15df];return _0x72e78d;}async function buildConnectionMap(_0x394978){const _0x21060f=a106_0x72e7,_0x123505=await _0x394978['list'](),_0x14affd=new Map();for(const _0x259d29 of _0x123505){if(_0x259d29['id'])_0x14affd[_0x21060f(0x1bd)](_0x259d29['id'],_0x259d29[_0x21060f(0x1ab)]);}return _0x14affd;}function buildFolderMap(_0x13df6f){const _0x575c3f=a106_0x72e7,_0x46545e=new Map(),_0x3f2074=new Map(_0x13df6f[_0x575c3f(0x1b4)](_0x103bce=>[_0x103bce['id'],_0x103bce])),_0x1a286f=_0x13df6f[_0x575c3f(0x1be)](_0xb42e1a=>!_0xb42e1a[_0x575c3f(0x1c7)])?.['id'];function _0x14d7c3(_0x2b38b3){const _0x1d4e0b=_0x575c3f,_0x2d705d=_0x3f2074[_0x1d4e0b(0x1b6)](_0x2b38b3);if(!_0x2d705d)return'';if(!_0x2d705d[_0x1d4e0b(0x1c7)]||_0x2d705d['id']===_0x1a286f)return'';const _0x339a66=_0x14d7c3(_0x2d705d['parentFolderId']);return _0x339a66?_0x339a66+'/'+_0x2d705d[_0x1d4e0b(0x1ab)]:_0x2d705d[_0x1d4e0b(0x1ab)];}for(const _0x366af7 of _0x13df6f){_0x46545e[_0x575c3f(0x1bd)](_0x366af7['id'],_0x14d7c3(_0x366af7['id']));}return _0x46545e;}function createPullFile(_0x2b5022,_0x3928f5,_0x40e542){const _0x1747c4=a106_0x72e7,_0x411d20=a106_0x1bda17[_0x1747c4(0x1b8)](_0x3928f5,_0x2b5022),_0x2f8bef=!existsSync(_0x411d20);let _0x50aad2=_0x2f8bef,_0x432a1a;if(!_0x2f8bef){const _0x224a00=readFileSync(_0x411d20,_0x1747c4(0x1b9)),_0x2a1a35=generateDiff(_0x224a00,_0x40e542);_0x50aad2=hasChanges(_0x2a1a35),_0x50aad2&&(_0x432a1a=formatDiffWithColors(_0x2a1a35));}return{'relativePath':_0x2b5022,'absolutePath':_0x411d20,'content':_0x40e542,'isNew':_0x2f8bef,'hasChanges':_0x50aad2,'diff':_0x432a1a};}export async function pullComposableAudience(_0x3725c2,_0x5a88b6,_0x10b99d){const _0x522112=a106_0x72e7,{client:_0x244b7d,connection:_0xc6c930}=_0x5a88b6,{targetDir:_0x41cef8,progress:_0x5059ea}=_0x10b99d;_0x5059ea?.[_0x522112(0x1c3)](_0x522112(0x1bf));const [_0x36744b,_0x508f41,_0x4b5ca0,_0x90e35c]=await Promise[_0x522112(0x1bb)]([_0x244b7d[_0x522112(0x1c2)](_0x3725c2),_0x244b7d['listSegments'](_0x3725c2),_0x244b7d[_0x522112(0x1c6)](_0x3725c2),buildConnectionMap(_0xc6c930)]),_0x55646c=buildFolderMap(_0x4b5ca0);_0x5059ea?.[_0x522112(0x1c3)](_0x522112(0x1ba));const _0x5a545f=await _0x244b7d[_0x522112(0x1c4)](_0x508f41),_0x2b2ea3=[];let _0x512b9a=0x0;_0x5059ea?.[_0x522112(0x1c3)](_0x522112(0x1bc));const _0x5c52dd=apiToDef(_0x36744b,_0x90e35c),_0x2b8553=serializeDef(_0x5c52dd);_0x2b2ea3[_0x522112(0x1c0)](createPullFile('audience.yml',_0x41cef8,_0x2b8553));for(const _0x19d857 of _0x508f41){const _0x53f864=_0x5a545f[_0x522112(0x1b6)](_0x19d857['id'])||[];_0x512b9a+=_0x53f864['length'];const _0x118fe7=segmentApiToDef(_0x19d857,_0x53f864,_0x55646c,_0x90e35c),_0x327b47=serializeSegmentDef(_0x118fe7),_0x422567=_0x19d857['folderId']?_0x55646c['get'](_0x19d857[_0x522112(0x1b5)]):undefined,_0x41927f=_0x422567?_0x422567+'/'+sanitizeFileName(_0x19d857[_0x522112(0x1ab)])+_0x522112(0x1b2):sanitizeFileName(_0x19d857[_0x522112(0x1ab)])+_0x522112(0x1b2);_0x2b2ea3[_0x522112(0x1c0)](createPullFile(_0x41927f,_0x41cef8,_0x327b47));}return{'audienceName':_0x36744b[_0x522112(0x1ab)],'audienceId':_0x36744b['id'],'targetDir':_0x41cef8,'files':_0x2b2ea3,'counts':{'segments':_0x508f41[_0x522112(0x1b0)],'activations':_0x512b9a}};}
1
+ function a109_0x5649(){const _0x3ae3a9=['get','find','7431ApfQiE','listSegments','join','set','2038653dUQygy','name','14GNrbQl','624Meaaji','2440950fzeuIO','audience.yml','push','.yml','54WMyHQQ','folderId','6usphnq','listAllActivations','1461820GbNxYb','length','Generating\x20YAML\x20files...','parentFolderId','1567736XAmZyK','668604LRjopl','update','Fetching\x20activations...','listFolders'];a109_0x5649=function(){return _0x3ae3a9;};return a109_0x5649();}(function(_0x30fc16,_0x4a4016){const _0x15f36c=a109_0xc23d,_0x2be52a=_0x30fc16();while(!![]){try{const _0x5ea3fe=-parseInt(_0x15f36c(0x163))/0x1*(parseInt(_0x15f36c(0x154))/0x2)+-parseInt(_0x15f36c(0x156))/0x3*(-parseInt(_0x15f36c(0x15d))/0x4)+-parseInt(_0x15f36c(0x158))/0x5+parseInt(_0x15f36c(0x14f))/0x6+parseInt(_0x15f36c(0x14e))/0x7*(parseInt(_0x15f36c(0x15c))/0x8)+parseInt(_0x15f36c(0x167))/0x9+-parseInt(_0x15f36c(0x150))/0xa;if(_0x5ea3fe===_0x4a4016)break;else _0x2be52a['push'](_0x2be52a['shift']());}catch(_0x1d5dd4){_0x2be52a['push'](_0x2be52a['shift']());}}}(a109_0x5649,0x34ad1));import a109_0x3b7fcb from'path';import{existsSync,readFileSync}from'fs';import{generateDiff,formatDiffWithColors,hasChanges}from'../../utils/diff.js';function a109_0xc23d(_0x2f51f2,_0x55f390){_0x2f51f2=_0x2f51f2-0x14e;const _0x5649ee=a109_0x5649();let _0xc23d05=_0x5649ee[_0x2f51f2];return _0xc23d05;}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(_0x314278){const _0x4d38e0=a109_0xc23d,_0x22791a=await _0x314278['list'](),_0x169fae=new Map();for(const _0x256790 of _0x22791a){if(_0x256790['id'])_0x169fae[_0x4d38e0(0x166)](_0x256790['id'],_0x256790[_0x4d38e0(0x168)]);}return _0x169fae;}function buildFolderMap(_0x2b3e7e){const _0x1f4e2f=a109_0xc23d,_0x394e10=new Map(),_0xef9cb4=new Map(_0x2b3e7e['map'](_0x28ea3=>[_0x28ea3['id'],_0x28ea3])),_0x2eee6c=_0x2b3e7e[_0x1f4e2f(0x162)](_0x58b684=>!_0x58b684['parentFolderId'])?.['id'];function _0x41b1b6(_0x35b8f2){const _0x6b8451=_0x1f4e2f,_0x1b6136=_0xef9cb4['get'](_0x35b8f2);if(!_0x1b6136)return'';if(!_0x1b6136['parentFolderId']||_0x1b6136['id']===_0x2eee6c)return'';const _0x5efe70=_0x41b1b6(_0x1b6136[_0x6b8451(0x15b)]);return _0x5efe70?_0x5efe70+'/'+_0x1b6136[_0x6b8451(0x168)]:_0x1b6136['name'];}for(const _0xcd2871 of _0x2b3e7e){_0x394e10['set'](_0xcd2871['id'],_0x41b1b6(_0xcd2871['id']));}return _0x394e10;}function createPullFile(_0x1ffee7,_0x3b84c3,_0x23feb9){const _0x4c2c0f=a109_0xc23d,_0x14f9e5=a109_0x3b7fcb[_0x4c2c0f(0x165)](_0x3b84c3,_0x1ffee7),_0xaf52f3=!existsSync(_0x14f9e5);let _0xd531f7=_0xaf52f3,_0x3d9125;if(!_0xaf52f3){const _0x30e73b=readFileSync(_0x14f9e5,'utf-8'),_0x4970bc=generateDiff(_0x30e73b,_0x23feb9);_0xd531f7=hasChanges(_0x4970bc),_0xd531f7&&(_0x3d9125=formatDiffWithColors(_0x4970bc));}return{'relativePath':_0x1ffee7,'absolutePath':_0x14f9e5,'content':_0x23feb9,'isNew':_0xaf52f3,'hasChanges':_0xd531f7,'diff':_0x3d9125};}export async function pullComposableAudience(_0x3c6868,_0x1e1452,_0x493d3e){const _0xc55c2a=a109_0xc23d,{client:_0x18b80d,connection:_0xed5ca3}=_0x1e1452,{targetDir:_0x288366,progress:_0x47137c}=_0x493d3e;_0x47137c?.['update']('Fetching\x20audience\x20and\x20segments...');const [_0x5bc841,_0x681ef7,_0x481319,_0x2108d8]=await Promise['all']([_0x18b80d['getComposableAudience'](_0x3c6868),_0x18b80d[_0xc55c2a(0x164)](_0x3c6868),_0x18b80d[_0xc55c2a(0x160)](_0x3c6868),buildConnectionMap(_0xed5ca3)]),_0x17bfeb=buildFolderMap(_0x481319);_0x47137c?.[_0xc55c2a(0x15e)](_0xc55c2a(0x15f));const _0x442f61=await _0x18b80d[_0xc55c2a(0x157)](_0x681ef7),_0x359b31=[];let _0x5ab49f=0x0;_0x47137c?.['update'](_0xc55c2a(0x15a));const _0x52a129=apiToDef(_0x5bc841,_0x2108d8),_0x51f615=serializeDef(_0x52a129);_0x359b31[_0xc55c2a(0x152)](createPullFile(_0xc55c2a(0x151),_0x288366,_0x51f615));for(const _0x183488 of _0x681ef7){const _0x4ae85d=_0x442f61[_0xc55c2a(0x161)](_0x183488['id'])||[];_0x5ab49f+=_0x4ae85d['length'];const _0x540f75=segmentApiToDef(_0x183488,_0x4ae85d,_0x17bfeb,_0x2108d8),_0x123bc1=serializeSegmentDef(_0x540f75),_0xf1099e=_0x183488[_0xc55c2a(0x155)]?_0x17bfeb[_0xc55c2a(0x161)](_0x183488[_0xc55c2a(0x155)]):undefined,_0x160e06=_0xf1099e?_0xf1099e+'/'+sanitizeFileName(_0x183488[_0xc55c2a(0x168)])+_0xc55c2a(0x153):sanitizeFileName(_0x183488['name'])+_0xc55c2a(0x153);_0x359b31['push'](createPullFile(_0x160e06,_0x288366,_0x123bc1));}return{'audienceName':_0x5bc841['name'],'audienceId':_0x5bc841['id'],'targetDir':_0x288366,'files':_0x359b31,'counts':{'segments':_0x681ef7[_0xc55c2a(0x159)],'activations':_0x5ab49f}};}
@@ -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(_0x1fb369,_0x3f713e){const _0x4272c4=a110_0x2b2a,_0x1918f4=_0x1fb369();while(!![]){try{const _0x8b0ac5=-parseInt(_0x4272c4(0x1a5))/0x1+-parseInt(_0x4272c4(0x150))/0x2+parseInt(_0x4272c4(0x17e))/0x3*(-parseInt(_0x4272c4(0x13a))/0x4)+-parseInt(_0x4272c4(0x1a3))/0x5+-parseInt(_0x4272c4(0x1b0))/0x6+parseInt(_0x4272c4(0x158))/0x7+parseInt(_0x4272c4(0x1a8))/0x8;if(_0x8b0ac5===_0x3f713e)break;else _0x1918f4['push'](_0x1918f4['shift']());}catch(_0x4566e4){_0x1918f4['push'](_0x1918f4['shift']());}}}(a110_0x259e,0x40fff));import{existsSync,readFileSync,readdirSync,statSync}from'fs';import a110_0x170c4a 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 a110_0x5c0310 from'yaml';export function findAudienceByName(_0x3f9798,_0x1a3a5f){const _0x55d0f8=a110_0x2b2a;return _0x3f9798[_0x55d0f8(0x198)](_0x420fe0=>_0x420fe0['name']===_0x1a3a5f);}export function computeAudienceDrift(_0x15d63e,_0x2f0573){const _0x475cc7=a110_0x2b2a,_0x4b9e6d=_0x2f0573['attributes']??[],_0x61907d=_0x2f0573[_0x475cc7(0x192)]??[],_0x5a7734=new Set(_0x4b9e6d[_0x475cc7(0x140)](_0x141bdc=>_0x141bdc[_0x475cc7(0x1af)])),_0x1de3aa=new Set(_0x61907d['map'](_0x5f4f5f=>_0x5f4f5f['name'])),_0x88bc22=[],_0x17dadb=[];for(const _0x5c63f3 of _0x15d63e[_0x475cc7(0x182)]??[]){if(_0x5a7734[_0x475cc7(0x151)](_0x5c63f3[_0x475cc7(0x1af)]))continue;const _0x360fbf=_0x4b9e6d[_0x475cc7(0x198)](_0x4d2804=>_0x4d2804[_0x475cc7(0x15d)]===_0x5c63f3[_0x475cc7(0x15d)]&&_0x4d2804['table']===_0x5c63f3[_0x475cc7(0x18b)]&&_0x4d2804[_0x475cc7(0x129)]===_0x5c63f3[_0x475cc7(0x129)]);_0x360fbf?_0x17dadb['push']({'from':_0x5c63f3[_0x475cc7(0x1af)],'to':_0x360fbf['name']}):_0x88bc22[_0x475cc7(0x130)](_0x5c63f3[_0x475cc7(0x1af)]);}const _0x5d2582=[],_0x560608=[];for(const _0x4ee17f of _0x15d63e[_0x475cc7(0x192)]??[]){if(_0x1de3aa[_0x475cc7(0x151)](_0x4ee17f[_0x475cc7(0x1af)]))continue;const _0x3c5f5c=_0x61907d[_0x475cc7(0x198)](_0x509b80=>_0x509b80['schema']===_0x4ee17f[_0x475cc7(0x15d)]&&_0x509b80[_0x475cc7(0x18b)]===_0x4ee17f[_0x475cc7(0x18b)]&&_0x509b80[_0x475cc7(0x15c)]===_0x4ee17f[_0x475cc7(0x1b9)]);_0x3c5f5c?_0x560608[_0x475cc7(0x130)]({'from':_0x4ee17f[_0x475cc7(0x1af)],'to':_0x3c5f5c['name']}):_0x5d2582['push'](_0x4ee17f[_0x475cc7(0x1af)]);}return{'removedAttributes':_0x88bc22,'removedBehaviors':_0x5d2582,'renamedAttributes':_0x17dadb,'renamedBehaviors':_0x560608};}function diffNameSets(_0x280ef5,_0x37b92d){const _0x752c81=a110_0x2b2a,_0xe3cef3=new Set(_0x280ef5),_0x5d530a=new Set(_0x37b92d);return{'missing':_0x280ef5[_0x752c81(0x164)](_0x5c446f=>!_0x5d530a[_0x752c81(0x151)](_0x5c446f)),'unexpected':_0x37b92d['filter'](_0x24ecc1=>!_0xe3cef3[_0x752c81(0x151)](_0x24ecc1))};}export function verifyAudienceWrite(_0x3fb907,_0x146e0a,_0x58173a){const _0x5ba595=a110_0x2b2a,_0x5cb744=(_0x3fb907[_0x5ba595(0x182)]??[])[_0x5ba595(0x140)](_0xddff95=>_0xddff95[_0x5ba595(0x1af)]),_0x1e60b0=(_0x3fb907[_0x5ba595(0x192)]??[])[_0x5ba595(0x140)](_0x44055f=>_0x44055f[_0x5ba595(0x1af)]),_0x58ecb3=(_0x146e0a[_0x5ba595(0x182)]??[])[_0x5ba595(0x140)](_0x387e39=>_0x387e39[_0x5ba595(0x1af)]),_0x3e9259=(_0x146e0a['behaviors']??[])[_0x5ba595(0x140)](_0x1d1c27=>_0x1d1c27['name']),_0x1a557a=diffNameSets(_0x5cb744,_0x58ecb3),_0x757efb=diffNameSets(_0x1e60b0,_0x3e9259),_0x1799c8=[];_0x1a557a[_0x5ba595(0x17f)][_0x5ba595(0x1b5)]&&_0x1799c8[_0x5ba595(0x130)](_0x5ba595(0x155)+_0x1a557a['missing'][_0x5ba595(0x160)](',\x20'));_0x1a557a[_0x5ba595(0x139)][_0x5ba595(0x1b5)]&&_0x1799c8[_0x5ba595(0x130)](_0x5ba595(0x1bc)+_0x1a557a[_0x5ba595(0x139)][_0x5ba595(0x160)](',\x20'));_0x757efb[_0x5ba595(0x17f)]['length']&&_0x1799c8[_0x5ba595(0x130)](_0x5ba595(0x143)+_0x757efb['missing'][_0x5ba595(0x160)](',\x20'));_0x757efb[_0x5ba595(0x139)][_0x5ba595(0x1b5)]&&_0x1799c8[_0x5ba595(0x130)](_0x5ba595(0x183)+_0x757efb[_0x5ba595(0x139)][_0x5ba595(0x160)](',\x20'));for(const _0x4695fc of _0x3fb907[_0x5ba595(0x182)]??[]){const _0xbdfbce=_0x146e0a[_0x5ba595(0x182)]?.[_0x5ba595(0x198)](_0x59f776=>_0x59f776[_0x5ba595(0x1af)]===_0x4695fc[_0x5ba595(0x1af)]);if(!_0xbdfbce)continue;const _0x1c8987=[];if(_0xbdfbce[_0x5ba595(0x15d)]!==_0x4695fc[_0x5ba595(0x15d)])_0x1c8987[_0x5ba595(0x130)](_0x5ba595(0x15d));if(_0xbdfbce[_0x5ba595(0x18b)]!==_0x4695fc['table'])_0x1c8987[_0x5ba595(0x130)](_0x5ba595(0x18b));if(_0xbdfbce[_0x5ba595(0x129)]!==_0x4695fc[_0x5ba595(0x129)])_0x1c8987[_0x5ba595(0x130)](_0x5ba595(0x129));if(_0xbdfbce[_0x5ba595(0x154)]!==_0x4695fc[_0x5ba595(0x154)])_0x1c8987['push']('type');_0x1c8987[_0x5ba595(0x1b5)]&&_0x1799c8[_0x5ba595(0x130)](_0x5ba595(0x156)+_0x4695fc[_0x5ba595(0x1af)]+_0x5ba595(0x138)+_0x1c8987[_0x5ba595(0x160)]('/')+_0x5ba595(0x17b));}for(const _0x1cde0b of _0x3fb907['behaviors']??[]){const _0x40a8e1=_0x146e0a[_0x5ba595(0x192)]?.[_0x5ba595(0x198)](_0x3913f1=>_0x3913f1[_0x5ba595(0x1af)]===_0x1cde0b[_0x5ba595(0x1af)]);if(!_0x40a8e1)continue;const _0x19a4ba=[];if(_0x40a8e1[_0x5ba595(0x15d)]!==_0x1cde0b[_0x5ba595(0x15d)])_0x19a4ba[_0x5ba595(0x130)](_0x5ba595(0x15d));if(_0x40a8e1[_0x5ba595(0x18b)]!==_0x1cde0b['table'])_0x19a4ba[_0x5ba595(0x130)](_0x5ba595(0x18b));if((_0x40a8e1['timeColumn']??'')!==(_0x1cde0b['time_column']??''))_0x19a4ba[_0x5ba595(0x130)](_0x5ba595(0x15c));_0x19a4ba[_0x5ba595(0x1b5)]&&_0x1799c8[_0x5ba595(0x130)](_0x5ba595(0x125)+_0x1cde0b[_0x5ba595(0x1af)]+_0x5ba595(0x138)+_0x19a4ba[_0x5ba595(0x160)]('/')+_0x5ba595(0x17b));}_0x3fb907[_0x5ba595(0x179)]!==undefined&&_0x146e0a[_0x5ba595(0x144)]!==_0x3fb907['allow_activation_behavior']&&_0x1799c8[_0x5ba595(0x130)](_0x5ba595(0x176)+_0x146e0a[_0x5ba595(0x144)]+_0x5ba595(0x1b1)+_0x3fb907['allow_activation_behavior']+_0x5ba595(0x184));_0x3fb907['max_activation_behavior_row']!==undefined&&_0x146e0a[_0x5ba595(0x16f)]!==_0x3fb907[_0x5ba595(0x19a)]&&_0x1799c8[_0x5ba595(0x130)](_0x5ba595(0x12f)+_0x146e0a[_0x5ba595(0x16f)]+_0x5ba595(0x1b1)+_0x3fb907[_0x5ba595(0x19a)]+_0x5ba595(0x184));const _0x33b8b6=[],_0x682138=[];if(_0x58173a){const _0x60cc2f=computeAudienceDrift(_0x58173a,_0x3fb907);for(const {from:_0x490cc8,to:_0x34a1f3}of _0x60cc2f[_0x5ba595(0x163)]){const _0x529e4b=_0x58173a['attributes']?.[_0x5ba595(0x198)](_0x43bd90=>_0x43bd90['name']===_0x490cc8),_0x30ddfa=_0x146e0a[_0x5ba595(0x182)]?.['find'](_0x455468=>_0x455468[_0x5ba595(0x1af)]===_0x34a1f3);_0x529e4b?.['id']&&_0x146e0a[_0x5ba595(0x182)]?.['some'](_0x423115=>_0x423115['id']===_0x529e4b['id'])&&_0x1799c8[_0x5ba595(0x130)](_0x5ba595(0x156)+_0x490cc8+'\x22\x20renamed\x20to\x20\x22'+_0x34a1f3+_0x5ba595(0x152)+_0x529e4b['id']+')\x20is\x20still\x20present\x20after\x20the\x20push\x20—\x20expected\x20it\x20to\x20be\x20gone\x20(renames\x20recreate\x20the\x20attribute\x20under\x20a\x20new\x20id).'),_0x33b8b6['push']({'from':_0x490cc8,'to':_0x34a1f3,'fromId':_0x529e4b?.['id'],'toId':_0x30ddfa?.['id']});}for(const {from:_0x1b3e9d,to:_0x10806f}of _0x60cc2f[_0x5ba595(0x162)]){const _0x4575f1=_0x58173a[_0x5ba595(0x192)]?.[_0x5ba595(0x198)](_0x1b988a=>_0x1b988a['name']===_0x1b3e9d),_0x1f04ea=_0x146e0a[_0x5ba595(0x192)]?.[_0x5ba595(0x198)](_0xf42f8c=>_0xf42f8c[_0x5ba595(0x1af)]===_0x10806f);_0x4575f1?.['id']&&_0x146e0a['behaviors']?.[_0x5ba595(0x1ac)](_0x185098=>_0x185098['id']===_0x4575f1['id'])&&_0x1799c8[_0x5ba595(0x130)](_0x5ba595(0x125)+_0x1b3e9d+_0x5ba595(0x141)+_0x10806f+_0x5ba595(0x152)+_0x4575f1['id']+_0x5ba595(0x17d)),_0x682138[_0x5ba595(0x130)]({'from':_0x1b3e9d,'to':_0x10806f,'fromId':_0x4575f1?.['id'],'toId':_0x1f04ea?.['id']});}}if(_0x1799c8['length']>0x0)throw new SDKError(ErrorCode[_0x5ba595(0x1b6)],_0x5ba595(0x168)+_0x3fb907['name']+'\x22\x20reported\x20success,\x20but\x20re-reading\x20the\x20audience\x20shows\x20it\x20doesn\x27t\x20match\x20what\x20was\x20sent:\x20'+_0x1799c8[_0x5ba595(0x160)](';\x20')+'.\x20Check\x20the\x20audience\x20in\x20Console\x20before\x20pushing\x20again\x20—\x20nothing\x20further\x20was\x20changed\x20automatically.');return{'renamedAttributes':_0x33b8b6,'renamedBehaviors':_0x682138};}export function verifySegmentWrite(_0x37ef2c,_0x29ec71){const _0x3b80f2=a110_0x2b2a,_0x21545a=[];_0x29ec71[_0x3b80f2(0x1af)]!==_0x37ef2c[_0x3b80f2(0x1af)]&&_0x21545a[_0x3b80f2(0x130)]('name\x20is\x20\x22'+_0x29ec71['name']+_0x3b80f2(0x133)+_0x37ef2c[_0x3b80f2(0x1af)]+'\x22');const _0x119c67=_0x2f7a70=>_0x2f7a70===undefined?null:JSON['parse'](JSON[_0x3b80f2(0x134)](_0x2f7a70));!isDeepStrictEqual(_0x119c67(_0x29ec71[_0x3b80f2(0x137)]),_0x119c67(_0x37ef2c[_0x3b80f2(0x137)]))&&_0x21545a['push']('rule\x20does\x20not\x20match\x20what\x20was\x20pushed');if(_0x21545a[_0x3b80f2(0x1b5)]>0x0)throw new SDKError(ErrorCode[_0x3b80f2(0x1ba)],_0x3b80f2(0x1ad)+_0x37ef2c[_0x3b80f2(0x1af)]+_0x3b80f2(0x159)+_0x21545a[_0x3b80f2(0x160)](';\x20')+_0x3b80f2(0x189));}export function findSegmentByName(_0x49c86a,_0x54bb01){return _0x49c86a['find'](_0x30b9c1=>_0x30b9c1['name']===_0x54bb01);}export function findActivationByName(_0x107256,_0x5ac78a){const _0x68145b=a110_0x2b2a;return _0x107256['find'](_0x3e67dd=>_0x3e67dd[_0x68145b(0x1af)]===_0x5ac78a);}export async function deleteComposableSegment(_0x134ba2,_0x395784,_0x2d61f7){const _0x1a39fc=a110_0x2b2a,_0x4cf000=await _0x134ba2[_0x1a39fc(0x146)](_0x395784),_0x3adbff=findSegmentByName(_0x4cf000,_0x2d61f7);if(!_0x3adbff)throw new SDKError(ErrorCode[_0x1a39fc(0x145)],_0x1a39fc(0x14a)+_0x2d61f7+'\x22\x20not\x20found\x20under\x20this\x20audience\x20—\x20nothing\x20to\x20delete.');return await _0x134ba2[_0x1a39fc(0x13f)](_0x3adbff['id']),{'id':_0x3adbff['id']};}function mapComposableError(_0x4b9a25,_0x314a60){const _0x4d0469=a110_0x2b2a;if(_0x314a60[_0x4d0469(0x16c)]&&errorContains(_0x4b9a25,'not\x20found\x20or\x20not\x20accessible',_0x4d0469(0x186)))throw new SDKError(ErrorCode[_0x4d0469(0x174)],_0x314a60[_0x4d0469(0x16c)],_0x4b9a25);const _0x20d44a=isHttp400Error(_0x4b9a25),_0x21210b=_0x20d44a?_0x314a60['syntaxCode']:_0x314a60[_0x4d0469(0x187)];throw new SDKError(_0x21210b,_0x314a60[_0x4d0469(0x1a2)]+_0x4d0469(0x1a0)+getErrorMessage(_0x4b9a25),_0x4b9a25);}export async function buildConnectionMaps(_0x2fcf20){const _0x114729=a110_0x2b2a,_0x52877f=await _0x2fcf20[_0x114729(0x13d)](),_0x1bcfb2=new Map(),_0x1d7bc7=new Map(),_0x5e2b4d=new Map();for(const _0x850dfc of _0x52877f){_0x850dfc['id']&&(_0x1bcfb2[_0x114729(0x165)](_0x850dfc[_0x114729(0x1af)],_0x850dfc['id']),_0x5e2b4d[_0x114729(0x165)](_0x850dfc['id'],_0x850dfc[_0x114729(0x154)])),_0x1d7bc7[_0x114729(0x165)](_0x850dfc[_0x114729(0x1af)],_0x850dfc['type']);}return{'nameToId':_0x1bcfb2,'nameToType':_0x1d7bc7,'idToType':_0x5e2b4d};}function parseAndClassify(_0x281bf9){const _0x5ce043=a110_0x2b2a,_0x58b680=readFileSync(_0x281bf9,_0x5ce043(0x126)),_0x4d194d=a110_0x5c0310[_0x5ce043(0x173)](_0x58b680);if(!_0x4d194d||typeof _0x4d194d!==_0x5ce043(0x177))return{'type':_0x5ce043(0x196)};if(isComposableSegmentDef(_0x4d194d))return{'type':_0x5ce043(0x1b4),'def':parseSegmentDef(_0x58b680)};if(_0x5ce043(0x131)in _0x4d194d&&_0x5ce043(0x1af)in _0x4d194d)return{'type':_0x5ce043(0x166),'def':parseDef(_0x58b680)};return{'type':_0x5ce043(0x196)};}export function assertSingleAudience(_0x11a2b5,_0x3fb929){const _0x46884e=a110_0x2b2a;if(_0x11a2b5['length']<=0x1)return;const _0x12db71=_0x11a2b5[_0x46884e(0x140)]((_0x4ee409,_0x42d84a)=>'\x22'+_0x4ee409['name']+_0x46884e(0x19c)+a110_0x170c4a['basename'](_0x3fb929[_0x42d84a])+')')[_0x46884e(0x160)](',\x20');throw new SDKError(ErrorCode['INVALID_ARGUMENT'],_0x46884e(0x135)+_0x11a2b5['length']+_0x46884e(0x14e)+_0x12db71+_0x46884e(0x16e));}function a110_0x259e(){const _0x428d44=['Pushing\x20\x22','behaviors','.\x20Use\x20an\x20explicit\x20\x22columns\x22\x20list\x20instead.','isDirectory','Could\x20not\x20resolve\x20parent\x20folder\x20for\x20\x22','unknown','connection','find','create','max_activation_behavior_row','update','\x22\x20(','Failed\x20to\x20create\x20folder\x20\x22','\x22:\x20','renamedBehaviorIds','\x0a\x20\x20','activations','failureMessage','128545jMdoSv','this\x20is\x20a\x20new\x20behavior','225908aDTbkn','folders','segments','7770752ryPjtm','INTERNAL','COMPOSABLE_AUDIENCE_SYNTAX_ERROR','attribute(s)\x20','some','Push\x20to\x20segment\x20\x22','\x20activation\x20\x22','name','1747824FwMQei','\x20but\x20','\x22\x20(parent\x20path\x20\x22','audiences','segment','length','COMPOSABLE_AUDIENCE_VERIFICATION_FAILED','endsWith','listFolders','timeColumn','COMPOSABLE_SEGMENT_VERIFICATION_FAILED','audienceDrift','unexpected\x20attribute(s):\x20','behavior\x20\x22','utf-8','resolve','deleteDrift','column','allColumns','CDW\x20connection\x20not\x20found\x20or\x20not\x20accessible\x20for\x20activation\x20\x22','def','updated','updateSegment','max_activation_behavior_row\x20came\x20back\x20','push','master','audienceId','\x22,\x20expected\x20\x22','stringify','Found\x20','Resolving\x20connections...','rule','\x22\x20has\x20a\x20different\x20','unexpected','18104qYYUTD','COMPOSABLE_SEGMENT_UPDATE_ERROR','size','list','getSegment','deleteSegment','map','\x22\x20renamed\x20to\x20\x22','resolvedAudienceId','missing\x20behavior(s):\x20','allowActivationBehavior','COMPOSABLE_SEGMENT_NOT_FOUND','listSegments','\x22\x20sets\x20\x22all_columns:\x20true\x22,\x20but\x20the\x20backend\x20only\x20accepts\x20that\x20for\x20a\x20behavior\x20that\x20already\x20has\x20it\x20—\x20','listComposableAudiences','createComposableAudience','Composable\x20segment\x20\x22','\x20and\x20','split','get','\x20composable\x20audience\x20definitions\x20in\x20the\x20target,\x20but\x20a\x20push\x20can\x20only\x20target\x20one\x20at\x20a\x20time:\x20','getComposableAudience','177812xQqZSO','has','\x22:\x20its\x20old\x20id\x20(','removedBehaviors','type','missing\x20attribute(s):\x20','attribute\x20\x22','connectionMaps','2940392MhGvmt','\x22\x20reported\x20success,\x20but\x20re-reading\x20it\x20shows\x20it\x20doesn\x27t\x20match\x20what\x20was\x20sent:\x20','behavior(s)\x20','removedAttributes','time_column','schema','all_columns','slice','join','\x22\x20not\x20found).','renamedBehaviors','renamedAttributes','filter','set','audience','isFile','Push\x20to\x20\x22','not\x20found\x20or\x20not\x20accessible','COMPOSABLE_ACTIVATION_UPDATE_ERROR','listActivations','connectionNotFoundMessage','\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.','.\x20Move\x20each\x20audience\x20to\x20its\x20own\x20folder\x20before\x20pushing.','maxActivationBehaviorRow','COMPOSABLE_AUDIENCE_UPDATE_ERROR','audienceName','\x22\x20under\x20segment\x20\x22','parse','CONNECTION_NOT_FOUND','renamedAttributeIds','allow_activation_behavior\x20came\x20back\x20','object','\x20composable\x20audience\x20\x22','allow_activation_behavior','folder','\x20than\x20what\x20was\x20pushed','COMPOSABLE_AUDIENCE_DRIFT',')\x20is\x20still\x20present\x20after\x20the\x20push\x20—\x20expected\x20it\x20to\x20be\x20gone\x20(renames\x20recreate\x20the\x20behavior\x20under\x20a\x20new\x20id).','327rqBRlh','missing','created','updateComposableAudience','attributes','unexpected\x20behavior(s):\x20','\x20was\x20pushed','Failed\x20to\x20','Couldn\x27t\x20find','updateCode','INVALID_ARGUMENT','.\x20Check\x20the\x20segment\x20in\x20Console\x20before\x20pushing\x20again\x20—\x20nothing\x20further\x20was\x20changed\x20automatically.','CDW\x20connection\x20not\x20found\x20or\x20not\x20accessible\x20for\x20audience\x20\x22','table','\x22.\x20Check\x20the\x20connection\x20name\x20in\x20your\x20YAML.','COMPOSABLE_ACTIVATION_SYNTAX_ERROR','.yml','Pushing\x20audience:\x20','Behavior\x20\x22'];a110_0x259e=function(){return _0x428d44;};return a110_0x259e();}function a110_0x2b2a(_0x2ba129,_0x145738){_0x2ba129=_0x2ba129-0x125;const _0x259e76=a110_0x259e();let _0x2b2ab7=_0x259e76[_0x2ba129];return _0x2b2ab7;}export async function pushComposableFiles(_0x5d06bc,_0x3ede72,_0x538856){const _0x76dac=a110_0x2b2a,{client:_0x302307,connection:_0x3109bd}=_0x3ede72,{dryRun:_0x21d329,progress:_0x3a9115}=_0x538856,_0x5cefb6={'created':{'segments':0x0,'activations':0x0,'audiences':0x0,'folders':0x0},'updated':{'segments':0x0,'activations':0x0,'audiences':0x0,'folders':0x0}},{nameToId:_0x28e9f7,nameToType:_0x9c7d90,idToType:_0x13b6a2}=await((async()=>{const _0x97fcec=a110_0x2b2a;if(_0x538856[_0x97fcec(0x157)])return _0x538856['connectionMaps'];return _0x3a9115?.[_0x97fcec(0x19b)](_0x97fcec(0x136)),buildConnectionMaps(_0x3109bd);})()),_0x1d9011=[],_0x3cb6b3=[],_0x158610=[];for(const _0x7adc4e of _0x5d06bc){const _0x3cc0c0=parseAndClassify(_0x7adc4e);if(_0x3cc0c0[_0x76dac(0x154)]==='audience')_0x1d9011['push'](_0x3cc0c0[_0x76dac(0x12c)]),_0x3cb6b3[_0x76dac(0x130)](_0x7adc4e);else _0x3cc0c0[_0x76dac(0x154)]==='segment'&&_0x158610[_0x76dac(0x130)](_0x3cc0c0[_0x76dac(0x12c)]);}assertSingleAudience(_0x1d9011,_0x3cb6b3);_0x1d9011[_0x76dac(0x1b5)]===0x0&&_0x538856['resolvedAudienceId']&&(_0x5cefb6['audienceId']=_0x538856[_0x76dac(0x142)]);let _0x1656c2;for(const _0x5e473b of _0x1d9011){_0x3a9115?.['update'](_0x76dac(0x18f)+_0x5e473b['name']);if(_0x21d329){_0x1656c2??=await _0x302307[_0x76dac(0x148)]();const _0x47c0cf=findAudienceByName(_0x1656c2,_0x5e473b[_0x76dac(0x1af)]);_0x5cefb6[_0x76dac(0x171)]=_0x5e473b[_0x76dac(0x1af)],_0x5cefb6['audienceId']=_0x47c0cf?.['id'];if(_0x47c0cf){_0x5cefb6['updated'][_0x76dac(0x1b3)]++;const _0x298768=await _0x302307[_0x76dac(0x14f)](_0x47c0cf['id']),_0x5ecdf5=computeAudienceDrift(_0x298768,_0x5e473b);(_0x5ecdf5[_0x76dac(0x15b)][_0x76dac(0x1b5)]||_0x5ecdf5['removedBehaviors'][_0x76dac(0x1b5)]||_0x5ecdf5[_0x76dac(0x163)][_0x76dac(0x1b5)]||_0x5ecdf5[_0x76dac(0x162)][_0x76dac(0x1b5)])&&(_0x5cefb6[_0x76dac(0x1bb)]=_0x5ecdf5);}else _0x5cefb6['created'][_0x76dac(0x1b3)]++;continue;}const {id:_0x431165,isNew:_0x567d3c,appliedDrift:_0x3e603c,renamedAttributeIds:_0xeda00c,renamedBehaviorIds:_0x1c368c}=await pushAudience(_0x5e473b,_0x302307,_0x28e9f7,_0x9c7d90,_0x13b6a2,!!_0x538856[_0x76dac(0x128)]);_0x5cefb6[_0x76dac(0x171)]=_0x5e473b[_0x76dac(0x1af)],_0x5cefb6[_0x76dac(0x132)]=_0x431165;if(_0x3e603c)_0x5cefb6[_0x76dac(0x1bb)]=_0x3e603c;if(_0xeda00c?.['length'])_0x5cefb6[_0x76dac(0x175)]=_0xeda00c;if(_0x1c368c?.['length'])_0x5cefb6[_0x76dac(0x19f)]=_0x1c368c;if(_0x567d3c)_0x5cefb6['created'][_0x76dac(0x1b3)]++;else _0x5cefb6[_0x76dac(0x12d)][_0x76dac(0x1b3)]++;}if(_0x158610['length']===0x0)return _0x5cefb6;const _0x143703=_0x5cefb6[_0x76dac(0x132)];if(_0x21d329){const _0x33af8e=_0x143703?buildFolderPathToIdMap(await _0x302307[_0x76dac(0x1b8)](_0x143703)):new Map(),_0x37911f=new Set();for(const _0x4b78f3 of _0x158610){if(_0x4b78f3[_0x76dac(0x17a)])addFoldersToCreate(_0x4b78f3[_0x76dac(0x17a)],_0x33af8e,_0x37911f);}_0x5cefb6['created'][_0x76dac(0x1a6)]+=_0x37911f[_0x76dac(0x13c)];const _0x4ace8e=_0x143703?await _0x302307['listSegments'](_0x143703):[];for(const _0x3e9087 of _0x158610){const _0x42c712=findSegmentByName(_0x4ace8e,_0x3e9087['name']);if(_0x42c712)_0x5cefb6[_0x76dac(0x12d)][_0x76dac(0x1a7)]++;else _0x5cefb6[_0x76dac(0x180)]['segments']++;if(_0x3e9087[_0x76dac(0x1a1)]){const _0x1b3f62=_0x42c712?await _0x302307[_0x76dac(0x16b)](_0x42c712['id']):[];for(const _0x33554f of _0x3e9087[_0x76dac(0x1a1)]){findActivationByName(_0x1b3f62,_0x33554f[_0x76dac(0x1af)])?_0x5cefb6[_0x76dac(0x12d)]['activations']++:_0x5cefb6[_0x76dac(0x180)][_0x76dac(0x1a1)]++;}}}return _0x5cefb6;}if(!_0x143703)throw new SDKError(ErrorCode[_0x76dac(0x188)],'Cannot\x20push\x20segments:\x20no\x20audience\x20ID\x20available.\x20Push\x20the\x20audience\x20YAML\x20first.');let _0x23d03d=buildFolderPathToIdMap(await _0x302307['listFolders'](_0x143703));const _0x4305fa=new Set();for(const _0x29c8c1 of _0x158610){if(_0x29c8c1[_0x76dac(0x17a)])addFoldersToCreate(_0x29c8c1['folder'],_0x23d03d,_0x4305fa);}for(const _0x5b80e7 of sortFoldersByDepth(_0x4305fa)){const _0x204e9=_0x5b80e7[_0x76dac(0x14c)]('/'),_0x44e9cb=_0x204e9[_0x204e9['length']-0x1],_0x8d01ad=_0x204e9[_0x76dac(0x15f)](0x0,-0x1)[_0x76dac(0x160)]('/'),_0x2a3f4d=_0x23d03d[_0x76dac(0x14d)](_0x8d01ad);if(!_0x2a3f4d)throw new SDKError(ErrorCode[_0x76dac(0x1a9)],_0x76dac(0x195)+_0x5b80e7+_0x76dac(0x1b2)+_0x8d01ad+_0x76dac(0x161));_0x3a9115?.[_0x76dac(0x19b)]('Creating\x20folder:\x20'+_0x5b80e7);let _0x1eb7fa;try{_0x1eb7fa=await _0x302307['createFolder'](_0x143703,{'name':_0x44e9cb,'parentFolderId':_0x2a3f4d});}catch(_0x4c2f66){mapComposableError(_0x4c2f66,{'syntaxCode':ErrorCode['COMPOSABLE_SEGMENT_SYNTAX_ERROR'],'updateCode':ErrorCode['COMPOSABLE_SEGMENT_UPDATE_ERROR'],'failureMessage':_0x76dac(0x19d)+_0x5b80e7+'\x22'});}_0x23d03d[_0x76dac(0x165)](_0x5b80e7,_0x1eb7fa['id']),_0x5cefb6[_0x76dac(0x180)]['folders']++;}const _0x4a4efb=await _0x302307[_0x76dac(0x146)](_0x143703);for(const _0x1794cf of _0x158610){_0x3a9115?.[_0x76dac(0x19b)]('Pushing\x20segment:\x20'+_0x1794cf[_0x76dac(0x1af)]);const _0x51047e=defToSegmentApi(_0x1794cf,_0x143703,_0x23d03d),_0x1e863b=findSegmentByName(_0x4a4efb,_0x1794cf['name']);let _0x335ce0;try{if(_0x1e863b)await _0x302307[_0x76dac(0x12e)](_0x1e863b['id'],_0x51047e),_0x335ce0=_0x1e863b['id'],_0x5cefb6[_0x76dac(0x12d)][_0x76dac(0x1a7)]++;else{const _0x38a27d=await _0x302307['createSegment'](_0x51047e);_0x335ce0=_0x38a27d['id'],_0x5cefb6['created'][_0x76dac(0x1a7)]++;}}catch(_0x4b0a41){mapComposableError(_0x4b0a41,{'syntaxCode':ErrorCode['COMPOSABLE_SEGMENT_SYNTAX_ERROR'],'updateCode':ErrorCode[_0x76dac(0x13b)],'failureMessage':_0x76dac(0x185)+(_0x1e863b?_0x76dac(0x19b):_0x76dac(0x199))+'\x20segment\x20\x22'+_0x1794cf[_0x76dac(0x1af)]+'\x22'});}const _0x5e6e71=await _0x302307[_0x76dac(0x13e)](_0x335ce0);verifySegmentWrite(_0x1794cf,_0x5e6e71);if(_0x1794cf[_0x76dac(0x1a1)]){const _0x40d0ef=_0x1e863b?await _0x302307[_0x76dac(0x16b)](_0x335ce0):[];for(const _0x304385 of _0x1794cf['activations']){const _0x1de85e=_0x28e9f7[_0x76dac(0x14d)](_0x304385['connection'])||_0x304385[_0x76dac(0x197)],_0x242b28=activationDefToApi(_0x304385,_0x1de85e,_0x1794cf[_0x76dac(0x1af)]),_0x5b4108=findActivationByName(_0x40d0ef,_0x304385['name']);try{_0x5b4108?(await _0x302307['updateActivation'](_0x335ce0,_0x5b4108['id'],_0x242b28),_0x5cefb6[_0x76dac(0x12d)][_0x76dac(0x1a1)]++):(await _0x302307['createActivation'](_0x335ce0,_0x242b28),_0x5cefb6[_0x76dac(0x180)]['activations']++);}catch(_0x1eb39d){mapComposableError(_0x1eb39d,{'syntaxCode':ErrorCode[_0x76dac(0x18d)],'updateCode':ErrorCode[_0x76dac(0x16a)],'failureMessage':_0x76dac(0x185)+(_0x5b4108?'update':_0x76dac(0x199))+_0x76dac(0x1ae)+_0x304385[_0x76dac(0x1af)]+_0x76dac(0x172)+_0x1794cf[_0x76dac(0x1af)]+'\x22','connectionNotFoundMessage':_0x76dac(0x12b)+_0x304385[_0x76dac(0x1af)]+'\x22\x20under\x20segment\x20\x22'+_0x1794cf[_0x76dac(0x1af)]+_0x76dac(0x18c)});}}}}return _0x5cefb6;}async function pushAudience(_0x71e7fa,_0x3353e1,_0x5c7b0c,_0x28753f,_0x3da312,_0x5c946c){const _0x5eeb01=a110_0x2b2a,_0x3ee65b=await _0x3353e1[_0x5eeb01(0x148)](),_0x251f3b=findAudienceByName(_0x3ee65b,_0x71e7fa['name']);let _0x17485e,_0x3ca763;if(_0x251f3b){_0x17485e=await _0x3353e1[_0x5eeb01(0x14f)](_0x251f3b['id']);const _0x4589cb=computeAudienceDrift(_0x17485e,_0x71e7fa),_0x13f3b0=_0x4589cb[_0x5eeb01(0x15b)][_0x5eeb01(0x1b5)]>0x0||_0x4589cb[_0x5eeb01(0x153)]['length']>0x0;if(_0x13f3b0&&!_0x5c946c){const _0x5044d1=[];_0x4589cb[_0x5eeb01(0x15b)][_0x5eeb01(0x1b5)]&&_0x5044d1[_0x5eeb01(0x130)](_0x5eeb01(0x1ab)+_0x4589cb['removedAttributes'][_0x5eeb01(0x160)](',\x20'));_0x4589cb[_0x5eeb01(0x153)][_0x5eeb01(0x1b5)]&&_0x5044d1['push'](_0x5eeb01(0x15a)+_0x4589cb['removedBehaviors'][_0x5eeb01(0x160)](',\x20'));throw new SDKError(ErrorCode[_0x5eeb01(0x17c)],_0x5eeb01(0x191)+_0x71e7fa[_0x5eeb01(0x1af)]+'\x22\x20would\x20remove\x20'+_0x5044d1['join'](_0x5eeb01(0x14b))+_0x5eeb01(0x16d));}(_0x13f3b0||_0x4589cb[_0x5eeb01(0x163)][_0x5eeb01(0x1b5)]||_0x4589cb['renamedBehaviors'][_0x5eeb01(0x1b5)])&&(_0x3ca763=_0x4589cb);}for(const _0x1dbe25 of _0x71e7fa[_0x5eeb01(0x192)]??[]){if(!_0x1dbe25[_0x5eeb01(0x15e)])continue;const _0x196aff=_0x17485e?.['behaviors']?.[_0x5eeb01(0x198)](_0x54e02d=>_0x54e02d[_0x5eeb01(0x1af)]===_0x1dbe25['name']);if(!_0x196aff?.[_0x5eeb01(0x12a)])throw new SDKError(ErrorCode['INVALID_ARGUMENT'],_0x5eeb01(0x190)+_0x1dbe25[_0x5eeb01(0x1af)]+_0x5eeb01(0x147)+(_0x196aff?'this\x20behavior\x20currently\x20does\x20not':_0x5eeb01(0x1a4))+_0x5eeb01(0x193));}const _0x48da3f=defToApi(_0x71e7fa,_0x5c7b0c,_0x28753f,_0x3da312);let _0x2c4da2,_0x76b7bd;try{if(_0x251f3b)await _0x3353e1[_0x5eeb01(0x181)](_0x251f3b['id'],_0x48da3f),_0x2c4da2=_0x251f3b['id'],_0x76b7bd=![];else{const _0x40b920=await _0x3353e1[_0x5eeb01(0x149)](_0x48da3f);_0x2c4da2=_0x40b920['id'],_0x76b7bd=!![];}}catch(_0x5f3497){if(errorContains(_0x5f3497,_0x5eeb01(0x169),_0x5eeb01(0x186)))throw new SDKError(ErrorCode['CONNECTION_NOT_FOUND'],_0x5eeb01(0x18a)+_0x71e7fa['name']+'\x22.\x20Check\x20the\x20connection\x20name\x20in\x20your\x20YAML.',_0x5f3497);const _0x1dbc93=isHttp400Error(_0x5f3497),_0x2d34ff=_0x1dbc93?ErrorCode[_0x5eeb01(0x1aa)]:ErrorCode[_0x5eeb01(0x170)];throw new SDKError(_0x2d34ff,_0x5eeb01(0x185)+(_0x251f3b?_0x5eeb01(0x19b):_0x5eeb01(0x199))+_0x5eeb01(0x178)+_0x71e7fa[_0x5eeb01(0x1af)]+_0x5eeb01(0x19e)+getErrorMessage(_0x5f3497),_0x5f3497);}const _0x52a604=await _0x3353e1[_0x5eeb01(0x14f)](_0x2c4da2),_0x15410b=verifyAudienceWrite(_0x71e7fa,_0x52a604,_0x17485e);return{'id':_0x2c4da2,'isNew':_0x76b7bd,'appliedDrift':_0x3ca763,'renamedAttributeIds':_0x15410b[_0x5eeb01(0x163)],'renamedBehaviorIds':_0x15410b[_0x5eeb01(0x162)]};}export function collectYamlFiles(_0x524c89){const _0x1913b4=a110_0x2b2a,_0x30fc49=a110_0x170c4a[_0x1913b4(0x127)](_0x524c89);if(!existsSync(_0x30fc49))return[];const _0x2cf4c7=statSync(_0x30fc49);if(_0x2cf4c7[_0x1913b4(0x167)]())return _0x30fc49[_0x1913b4(0x1b7)]('.yml')||_0x30fc49[_0x1913b4(0x1b7)]('.yaml')?[_0x30fc49]:[];if(_0x2cf4c7[_0x1913b4(0x194)]()){const _0xad611=[];for(const _0x3ca001 of readdirSync(_0x30fc49)){const _0xe45a05=a110_0x170c4a[_0x1913b4(0x160)](_0x30fc49,_0x3ca001),_0x3f8be7=statSync(_0xe45a05);if(_0x3f8be7['isFile']()&&(_0x3ca001[_0x1913b4(0x1b7)](_0x1913b4(0x18e))||_0x3ca001[_0x1913b4(0x1b7)]('.yaml')))_0xad611[_0x1913b4(0x130)](_0xe45a05);else _0x3f8be7[_0x1913b4(0x194)]()&&_0xad611['push'](...collectYamlFiles(_0xe45a05));}return _0xad611;}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) YAML files only. Composable segment
9
- * YAML (`type: composable_segment`) files are classified but not deeply validated — this
10
- * command validates at the audience level, mirroring `tdx ps validate` (parent segment), not
11
- * `tdx sg validate` (child segment). There is no Zod schema for composable segment rules yet.
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;;;;;;;;;;;;;GAaG;AAKH,OAAO,EAEL,KAAK,oBAAoB,EAC1B,MAAM,6BAA6B,CAAC;AAErC,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;;;;;;;;;GASG;AACH,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,MAAM,EAChB,SAAS,EAAE,MAAM,EACjB,cAAc,CAAC,EAAE,iBAAiB,GACjC,oBAAoB,CAqEtB;AAED,yFAAyF;AACzF,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,MAAM,EAAE,EACnB,SAAS,EAAE,MAAM,EACjB,cAAc,CAAC,EAAE,iBAAiB,GACjC,oBAAoB,EAAE,CAExB;AAED,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
+ {"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
- function a109_0x4b83(){const _0x5dde51=['length','utf-8','10mGwavH','relative','connectionNameToId','3202111RtGfST','object','Failed\x20to\x20parse\x20YAML\x20file\x20(empty\x20or\x20invalid)','11sLDOMq','errors','`tdx\x20cas\x20validate`\x20validates\x20composable\x20audience\x20files\x20only,\x20not\x20composable\x20segments','valid','325448GQVMTn','connectionNameToType','audience','6266jLigWi','message','YAML\x20parse\x20error:\x20','7izfUCI','931548drWMQp','parseDocument','1557576SZISCU','674056HbZuCE','1860948aTdhwz','10FpnVlh','warnings','basename','connectionIdToType','skipped','toJSON','result'];a109_0x4b83=function(){return _0x5dde51;};return a109_0x4b83();}(function(_0x26defd,_0x1a02d9){const _0x2f78d0=a109_0x489b,_0xe42204=_0x26defd();while(!![]){try{const _0x5020e2=parseInt(_0x2f78d0(0x128))/0x1*(parseInt(_0x2f78d0(0x110))/0x2)+parseInt(_0x2f78d0(0x114))/0x3+parseInt(_0x2f78d0(0x117))/0x4*(-parseInt(_0x2f78d0(0x119))/0x5)+-parseInt(_0x2f78d0(0x118))/0x6+-parseInt(_0x2f78d0(0x113))/0x7*(-parseInt(_0x2f78d0(0x12c))/0x8)+parseInt(_0x2f78d0(0x116))/0x9+-parseInt(_0x2f78d0(0x122))/0xa*(-parseInt(_0x2f78d0(0x125))/0xb);if(_0x5020e2===_0x1a02d9)break;else _0xe42204['push'](_0xe42204['shift']());}catch(_0x260924){_0xe42204['push'](_0xe42204['shift']());}}}(a109_0x4b83,0x3178f));import{readFileSync}from'fs';import*as a109_0x497299 from'path';import*as a109_0x406f4d from'yaml';import{validateComposableAudienceDef}from'./cas-audience-validator.js';import{isComposableSegmentDef}from'./cas-segment-yaml.js';export function isCasValidationResult(_0x57dee3){const _0x48950c=a109_0x489b;return!(_0x48950c(0x11d)in _0x57dee3);}function a109_0x489b(_0x100ccb,_0x21c24f){_0x100ccb=_0x100ccb-0x10e;const _0x4b83f2=a109_0x4b83();let _0x489b03=_0x4b83f2[_0x100ccb];return _0x489b03;}function createParseErrorResult(_0x5f1f44,_0x459e63,_0xed61e4,_0x129e53){return{'filePath':_0x5f1f44,'relativePath':_0x459e63,'source':_0xed61e4,'result':{'valid':![],'errors':[{'level':'error','path':'','code':'YAML_PARSE_ERROR','message':_0x129e53}],'warnings':[]},'fileType':'audience'};}export function validateCasYamlFile(_0x319d5b,_0x4493e3,_0x1da607){const _0x327535=a109_0x489b,_0x128a56=a109_0x497299[_0x327535(0x123)](_0x4493e3,_0x319d5b)||a109_0x497299[_0x327535(0x11b)](_0x319d5b);let _0x1a58bd;try{_0x1a58bd=readFileSync(_0x319d5b,_0x327535(0x121));}catch(_0x38c153){return createParseErrorResult(_0x319d5b,_0x128a56,'','Failed\x20to\x20read\x20file:\x20'+(_0x38c153 instanceof Error?_0x38c153['message']:String(_0x38c153)));}let _0x32797a,_0x4ef245;try{_0x32797a=a109_0x406f4d[_0x327535(0x115)](_0x1a58bd);if(_0x32797a[_0x327535(0x129)]['length']>0x0)return createParseErrorResult(_0x319d5b,_0x128a56,_0x1a58bd,_0x327535(0x112)+_0x32797a[_0x327535(0x129)][0x0]['message']);_0x4ef245=_0x32797a[_0x327535(0x11e)]();}catch(_0x199c02){return createParseErrorResult(_0x319d5b,_0x128a56,_0x1a58bd,_0x327535(0x112)+(_0x199c02 instanceof Error?_0x199c02[_0x327535(0x111)]:String(_0x199c02)));}if(!_0x4ef245||typeof _0x4ef245!==_0x327535(0x126))return createParseErrorResult(_0x319d5b,_0x128a56,_0x1a58bd,_0x327535(0x127));if(isComposableSegmentDef(_0x4ef245))return{'filePath':_0x319d5b,'relativePath':_0x128a56,'skipped':!![],'reason':_0x327535(0x12a)};const _0x563ab3=validateComposableAudienceDef(_0x4ef245,{'source':_0x1a58bd,'document':_0x32797a},{'connectionNameToType':_0x1da607?.[_0x327535(0x10e)],'connectionIdToType':_0x1da607?.[_0x327535(0x11c)],'connectionNameToId':_0x1da607?.[_0x327535(0x124)]});return{'filePath':_0x319d5b,'relativePath':_0x128a56,'source':_0x1a58bd,'result':_0x563ab3,'fileType':_0x327535(0x10f)};}export function validateCasYamlFiles(_0x5605c2,_0x58cb55,_0x3ed11e){return _0x5605c2['map'](_0xddc255=>validateCasYamlFile(_0xddc255,_0x58cb55,_0x3ed11e));}export function calculateCasValidationSummary(_0x2cbdf9){const _0x1412b6=a109_0x489b;let _0x3587a4=0x0,_0x1bdef6=0x0,_0x3fb5e0=0x0,_0x4998e4=0x0;for(const _0x53a616 of _0x2cbdf9){if(!isCasValidationResult(_0x53a616)){_0x4998e4++;continue;}_0x53a616[_0x1412b6(0x11f)][_0x1412b6(0x12b)]?_0x3587a4++:_0x1bdef6++,_0x3fb5e0+=_0x53a616[_0x1412b6(0x11f)][_0x1412b6(0x11a)][_0x1412b6(0x120)];}return{'validCount':_0x3587a4,'invalidCount':_0x1bdef6,'warningCount':_0x3fb5e0,'skippedCount':_0x4998e4,'hasErrors':_0x1bdef6>0x0};}
1
+ (function(_0x1e1cff,_0x482326){const _0x2f5e2d=a112_0x5c18,_0x2423c1=_0x1e1cff();while(!![]){try{const _0x12d1b3=parseInt(_0x2f5e2d(0x7f))/0x1*(parseInt(_0x2f5e2d(0x7e))/0x2)+-parseInt(_0x2f5e2d(0x74))/0x3+-parseInt(_0x2f5e2d(0x70))/0x4+-parseInt(_0x2f5e2d(0x84))/0x5+parseInt(_0x2f5e2d(0x83))/0x6+parseInt(_0x2f5e2d(0x80))/0x7+-parseInt(_0x2f5e2d(0x76))/0x8*(-parseInt(_0x2f5e2d(0x71))/0x9);if(_0x12d1b3===_0x482326)break;else _0x2423c1['push'](_0x2423c1['shift']());}catch(_0x25df94){_0x2423c1['push'](_0x2423c1['shift']());}}}(a112_0x191c,0xc76e6));import{readFileSync}from'fs';import*as a112_0x38cf5c from'path';import*as a112_0x6c9b42 from'yaml';function a112_0x191c(){const _0x3d584e=['errors','valid','1720548TPwXiD','2540133LSMKnv','message','segment','1955028QxZtMS','success','8fFWXHp','basename','audience','connectionNameToId','parseDocument','utf-8','skipped','data','2821958UAmUWm','1rbUvwg','7207886VEPAED','map','YAML\x20parse\x20error:\x20','3998820BUklHF','7453505RBmGJN','connectionIdToType','Failed\x20to\x20read\x20file:\x20','length','object','relative','toJSON','result','safeParse'];a112_0x191c=function(){return _0x3d584e;};return a112_0x191c();}function a112_0x5c18(_0x281ef5,_0x308a36){_0x281ef5=_0x281ef5-0x6c;const _0x191c00=a112_0x191c();let _0x5c1854=_0x191c00[_0x281ef5];return _0x5c1854;}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(_0x4c452b){const _0x59032c=a112_0x5c18;return!(_0x59032c(0x7c)in _0x4c452b);}function createParseErrorResult(_0x46670d,_0x4ce454,_0x4bcac1,_0x4887ba){const _0x54d570=a112_0x5c18;return{'filePath':_0x46670d,'relativePath':_0x4ce454,'source':_0x4bcac1,'result':{'valid':![],'errors':[{'level':'error','path':'','code':'YAML_PARSE_ERROR','message':_0x4887ba}],'warnings':[]},'fileType':_0x54d570(0x78)};}export function validateCasYamlFile(_0x3cb139,_0x4cdb75,_0x297970,_0x47a1db){const _0xe287ee=a112_0x5c18,_0x798b58=a112_0x38cf5c[_0xe287ee(0x89)](_0x4cdb75,_0x3cb139)||a112_0x38cf5c[_0xe287ee(0x77)](_0x3cb139);let _0x71190d;try{_0x71190d=readFileSync(_0x3cb139,_0xe287ee(0x7b));}catch(_0x2aee47){return createParseErrorResult(_0x3cb139,_0x798b58,'',_0xe287ee(0x86)+(_0x2aee47 instanceof Error?_0x2aee47[_0xe287ee(0x72)]:String(_0x2aee47)));}let _0xeff5dc,_0x25a840;try{_0xeff5dc=a112_0x6c9b42[_0xe287ee(0x7a)](_0x71190d);if(_0xeff5dc[_0xe287ee(0x6e)][_0xe287ee(0x87)]>0x0)return createParseErrorResult(_0x3cb139,_0x798b58,_0x71190d,_0xe287ee(0x82)+_0xeff5dc[_0xe287ee(0x6e)][0x0]['message']);_0x25a840=_0xeff5dc[_0xe287ee(0x8a)]();}catch(_0xd37868){return createParseErrorResult(_0x3cb139,_0x798b58,_0x71190d,_0xe287ee(0x82)+(_0xd37868 instanceof Error?_0xd37868[_0xe287ee(0x72)]:String(_0xd37868)));}if(!_0x25a840||typeof _0x25a840!==_0xe287ee(0x88))return createParseErrorResult(_0x3cb139,_0x798b58,_0x71190d,'Failed\x20to\x20parse\x20YAML\x20file\x20(empty\x20or\x20invalid)');if(isComposableSegmentDef(_0x25a840)){const _0x1297bf=_0x25a840['rule']?validateComposableSegmentRule(_0x25a840['rule'],{'source':_0x71190d,'document':_0xeff5dc},{'audienceFieldNames':_0x47a1db}):{'valid':!![],'errors':[],'warnings':[]};return{'filePath':_0x3cb139,'relativePath':_0x798b58,'source':_0x71190d,'result':_0x1297bf,'fileType':_0xe287ee(0x73)};}const _0x2b2ffa=validateComposableAudienceDef(_0x25a840,{'source':_0x71190d,'document':_0xeff5dc},{'connectionNameToType':_0x297970?.['connectionNameToType'],'connectionIdToType':_0x297970?.[_0xe287ee(0x85)],'connectionNameToId':_0x297970?.[_0xe287ee(0x79)]});return{'filePath':_0x3cb139,'relativePath':_0x798b58,'source':_0x71190d,'result':_0x2b2ffa,'fileType':_0xe287ee(0x78)};}export function validateCasYamlFiles(_0x4664e0,_0x300d0d,_0x4259df){const _0x43b252=a112_0x5c18,_0x5b439d=findAudienceFieldNamesInBatch(_0x4664e0);return _0x4664e0[_0x43b252(0x81)](_0x28af5a=>validateCasYamlFile(_0x28af5a,_0x300d0d,_0x4259df,_0x5b439d));}function findAudienceFieldNamesInBatch(_0x5034a6){const _0x10502c=a112_0x5c18;for(const _0x571a92 of _0x5034a6){let _0x2a15ba;try{_0x2a15ba=a112_0x6c9b42['parse'](readFileSync(_0x571a92,_0x10502c(0x7b)));}catch{continue;}if(!_0x2a15ba||typeof _0x2a15ba!=='object'||isComposableSegmentDef(_0x2a15ba))continue;const _0x3c024b=ComposableAudienceDefSchema[_0x10502c(0x6d)](_0x2a15ba);if(_0x3c024b[_0x10502c(0x75)])return audienceFieldNamesFromDef(_0x3c024b[_0x10502c(0x7d)]);}return undefined;}export function calculateCasValidationSummary(_0x1d1816){const _0xe281a1=a112_0x5c18;let _0x24d6a7=0x0,_0x10c08a=0x0,_0xc4738f=0x0,_0x5af6cb=0x0;for(const _0x5b3b72 of _0x1d1816){if(!isCasValidationResult(_0x5b3b72)){_0x5af6cb++;continue;}_0x5b3b72[_0xe281a1(0x6c)][_0xe281a1(0x6f)]?_0x24d6a7++:_0x10c08a++,_0xc4738f+=_0x5b3b72[_0xe281a1(0x6c)]['warnings'][_0xe281a1(0x87)];}return{'validCount':_0x24d6a7,'invalidCount':_0x10c08a,'warningCount':_0xc4738f,'skippedCount':_0x5af6cb,'hasErrors':_0x10c08a>0x0};}