@treasuredata/tdx 0.8.4 → 0.8.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (160) hide show
  1. package/dist/bin.js +1 -1
  2. package/dist/build-info.json +2 -2
  3. package/dist/cli-categories.d.ts +1 -1
  4. package/dist/cli-categories.js +1 -1
  5. package/dist/cli-categories.js.map +1 -1
  6. package/dist/cli.d.ts.map +1 -1
  7. package/dist/cli.js +1 -1
  8. package/dist/cli.js.map +1 -1
  9. package/dist/client/cdp-api-client.d.ts +59 -1
  10. package/dist/client/cdp-api-client.d.ts.map +1 -1
  11. package/dist/client/cdp-api-client.js +1 -1
  12. package/dist/client/cdp-api-client.js.map +1 -1
  13. package/dist/client/engage-api-client.js +1 -1
  14. package/dist/client/http-client.js +1 -1
  15. package/dist/client/llm-api-client.js +1 -1
  16. package/dist/client/rate-limiter.js +1 -1
  17. package/dist/client/td-api-client.js +1 -1
  18. package/dist/client/trino-api-client.js +1 -1
  19. package/dist/client/workflow-client.js +1 -1
  20. package/dist/commands/activations.js +1 -1
  21. package/dist/commands/api-command.js +1 -1
  22. package/dist/commands/auth-command.js +1 -1
  23. package/dist/commands/auth-command.js.map +1 -1
  24. package/dist/commands/chat-command.js +1 -1
  25. package/dist/commands/claude-command.d.ts.map +1 -1
  26. package/dist/commands/claude-command.js +1 -1
  27. package/dist/commands/claude-command.js.map +1 -1
  28. package/dist/commands/claude-statusline-command.js +1 -1
  29. package/dist/commands/claude-usage-command.js +1 -1
  30. package/dist/commands/command.js +1 -1
  31. package/dist/commands/connection-command.js +1 -1
  32. package/dist/commands/context-command.js +1 -1
  33. package/dist/commands/databases.js +1 -1
  34. package/dist/commands/describe.js +1 -1
  35. package/dist/commands/engage-command.js +1 -1
  36. package/dist/commands/job-command.js +1 -1
  37. package/dist/commands/journey-command.d.ts +53 -0
  38. package/dist/commands/journey-command.d.ts.map +1 -0
  39. package/dist/commands/journey-command.js +1 -0
  40. package/dist/commands/journey-command.js.map +1 -0
  41. package/dist/commands/llm-command.js +1 -1
  42. package/dist/commands/llm-proxy.d.ts.map +1 -1
  43. package/dist/commands/llm-proxy.js +1 -1
  44. package/dist/commands/llm-proxy.js.map +1 -1
  45. package/dist/commands/parent-segment-command.d.ts.map +1 -1
  46. package/dist/commands/parent-segment-command.js +1 -1
  47. package/dist/commands/parent-segment-command.js.map +1 -1
  48. package/dist/commands/profiles-command.js +1 -1
  49. package/dist/commands/query-command.js +1 -1
  50. package/dist/commands/segment-command.js +1 -1
  51. package/dist/commands/segment-create-command.js +1 -1
  52. package/dist/commands/segment-fields-command.js +1 -1
  53. package/dist/commands/segment-pull-command.d.ts.map +1 -1
  54. package/dist/commands/segment-pull-command.js +1 -1
  55. package/dist/commands/segment-pull-command.js.map +1 -1
  56. package/dist/commands/segment-push-command.d.ts.map +1 -1
  57. package/dist/commands/segment-push-command.js +1 -1
  58. package/dist/commands/segment-push-command.js.map +1 -1
  59. package/dist/commands/segment-update-command.js +1 -1
  60. package/dist/commands/segment-use-command.js +1 -1
  61. package/dist/commands/segments.js +1 -1
  62. package/dist/commands/show.js +1 -1
  63. package/dist/commands/tables.js +1 -1
  64. package/dist/commands/use-command.js +1 -1
  65. package/dist/commands/user-command.js +1 -1
  66. package/dist/commands/workflow-command.js +1 -1
  67. package/dist/core/auth.js +1 -1
  68. package/dist/core/config.js +1 -1
  69. package/dist/core/connection-cache.js +1 -1
  70. package/dist/core/credential-cache.js +1 -1
  71. package/dist/core/global-context.js +1 -1
  72. package/dist/core/keychain.js +1 -1
  73. package/dist/core/profile.js +1 -1
  74. package/dist/core/project-config.js +1 -1
  75. package/dist/core/session.js +1 -1
  76. package/dist/core/user-cache.js +1 -1
  77. package/dist/index.js +1 -1
  78. package/dist/proxy/anthropic-adapter.js +1 -1
  79. package/dist/proxy/claude-usage-tracker.js +1 -1
  80. package/dist/proxy/context-signature.js +1 -1
  81. package/dist/proxy/conversation-utils.js +1 -1
  82. package/dist/proxy/server.js +1 -1
  83. package/dist/proxy/session-cache.js +1 -1
  84. package/dist/sdk/api.js +1 -1
  85. package/dist/sdk/connection.js +1 -1
  86. package/dist/sdk/engage.js +1 -1
  87. package/dist/sdk/errors.d.ts +11 -0
  88. package/dist/sdk/errors.d.ts.map +1 -1
  89. package/dist/sdk/errors.js +1 -1
  90. package/dist/sdk/errors.js.map +1 -1
  91. package/dist/sdk/index.d.ts +7 -0
  92. package/dist/sdk/index.d.ts.map +1 -1
  93. package/dist/sdk/index.js +1 -1
  94. package/dist/sdk/index.js.map +1 -1
  95. package/dist/sdk/job.js +1 -1
  96. package/dist/sdk/journey.d.ts +82 -0
  97. package/dist/sdk/journey.d.ts.map +1 -0
  98. package/dist/sdk/journey.js +1 -0
  99. package/dist/sdk/journey.js.map +1 -0
  100. package/dist/sdk/llm.js +1 -1
  101. package/dist/sdk/query.js +1 -1
  102. package/dist/sdk/segment/child-segment-yaml.d.ts +11 -1
  103. package/dist/sdk/segment/child-segment-yaml.d.ts.map +1 -1
  104. package/dist/sdk/segment/child-segment-yaml.js +1 -1
  105. package/dist/sdk/segment/child-segment-yaml.js.map +1 -1
  106. package/dist/sdk/segment/journey-yaml.d.ts +616 -0
  107. package/dist/sdk/segment/journey-yaml.d.ts.map +1 -0
  108. package/dist/sdk/segment/journey-yaml.js +1 -0
  109. package/dist/sdk/segment/journey-yaml.js.map +1 -0
  110. package/dist/sdk/segment/parent-segment-preview.js +1 -1
  111. package/dist/sdk/segment/parent-segment-yaml.js +1 -1
  112. package/dist/sdk/segment.js +1 -1
  113. package/dist/sdk/user.js +1 -1
  114. package/dist/sdk/workflow.js +1 -1
  115. package/dist/types/cdp.d.ts +253 -0
  116. package/dist/types/cdp.d.ts.map +1 -1
  117. package/dist/types/endpoints.js +1 -1
  118. package/dist/types/index.d.ts +1 -1
  119. package/dist/types/index.d.ts.map +1 -1
  120. package/dist/types/index.js +1 -1
  121. package/dist/utils/agent-ref-parser.js +1 -1
  122. package/dist/utils/async.js +1 -1
  123. package/dist/utils/chat-cache.js +1 -1
  124. package/dist/utils/colors.js +1 -1
  125. package/dist/utils/command-output.js +1 -1
  126. package/dist/utils/constants.js +1 -1
  127. package/dist/utils/diff.js +1 -1
  128. package/dist/utils/fields-display.js +1 -1
  129. package/dist/utils/file-permissions.js +1 -1
  130. package/dist/utils/format-detector.js +1 -1
  131. package/dist/utils/formatters.js +1 -1
  132. package/dist/utils/json-loader.js +1 -1
  133. package/dist/utils/llm-backup-utils.js +1 -1
  134. package/dist/utils/model-aliases.js +1 -1
  135. package/dist/utils/model-factors.js +1 -1
  136. package/dist/utils/option-validation.js +1 -1
  137. package/dist/utils/port.js +1 -1
  138. package/dist/utils/process.d.ts.map +1 -1
  139. package/dist/utils/process.js +1 -1
  140. package/dist/utils/process.js.map +1 -1
  141. package/dist/utils/prompt.js +1 -1
  142. package/dist/utils/segment-path-parser.d.ts +8 -2
  143. package/dist/utils/segment-path-parser.d.ts.map +1 -1
  144. package/dist/utils/segment-path-parser.js +1 -1
  145. package/dist/utils/segment-path-parser.js.map +1 -1
  146. package/dist/utils/segment-ref-parser.js +1 -1
  147. package/dist/utils/spinner.js +1 -1
  148. package/dist/utils/sql-parser.js +1 -1
  149. package/dist/utils/sse-parser.js +1 -1
  150. package/dist/utils/string-utils.d.ts +12 -0
  151. package/dist/utils/string-utils.d.ts.map +1 -1
  152. package/dist/utils/string-utils.js +1 -1
  153. package/dist/utils/string-utils.js.map +1 -1
  154. package/dist/utils/table-ref-parser.js +1 -1
  155. package/dist/utils/tdx-config.js +1 -1
  156. package/dist/utils/tdx-logger.js +1 -1
  157. package/dist/utils/tree-formatter.js +1 -1
  158. package/dist/utils/version-check.js +1 -1
  159. package/dist/utils/workflow-utils.js +1 -1
  160. package/package.json +1 -1
@@ -0,0 +1,616 @@
1
+ /**
2
+ * Journey YAML Schema Types and Conversion Utilities
3
+ *
4
+ * This module provides a human-friendly YAML format for journey configuration
5
+ * and utilities to convert between YAML and API formats.
6
+ */
7
+ import type { YamlRule } from './child-segment-yaml.js';
8
+ export type { YamlRule, YamlCondition, YamlOperator } from './child-segment-yaml.js';
9
+ /**
10
+ * Reentry mode for journey
11
+ */
12
+ export type ReentryMode = 'no_reentry' | 'reentry_unless_goal_achieved' | 'reentry_always';
13
+ /**
14
+ * Journey state
15
+ */
16
+ export type JourneyState = 'draft' | 'simulation' | 'launched';
17
+ /**
18
+ * Wait step time unit
19
+ */
20
+ export type WaitUnit = 'day' | 'week';
21
+ /**
22
+ * Step type enumeration
23
+ */
24
+ export type StepType = 'wait' | 'activation' | 'decision_point' | 'ab_test' | 'merge' | 'jump' | 'end';
25
+ /**
26
+ * Reference to a child segment (by name or ID)
27
+ * @deprecated Use segment name directly in criteria/branches
28
+ */
29
+ export interface YamlSegmentRef {
30
+ /** Segment name (resolved to ID during push) */
31
+ segment?: string;
32
+ /** Segment ID (used directly) - internal only, not in user-facing YAML */
33
+ segment_id?: string;
34
+ }
35
+ /**
36
+ * Embedded segment definition for journey-local segments.
37
+ * These segments are created when the journey is launched and are scoped to the journey.
38
+ *
39
+ * Segment names should be kebab-case identifiers (e.g., "high-value-customers").
40
+ */
41
+ export interface YamlEmbeddedSegment {
42
+ /** Segment description */
43
+ description?: string;
44
+ /** Filtering rule that defines the segment criteria */
45
+ rule: YamlRule;
46
+ }
47
+ /**
48
+ * Journey goal/milestone/criteria definition
49
+ */
50
+ export interface YamlJourneyCriteria {
51
+ /** Display name */
52
+ name: string;
53
+ /** Description */
54
+ description?: string;
55
+ /**
56
+ * Segment reference - can be:
57
+ * - Name of embedded segment (defined in journey's `segments` section)
58
+ * - "ref:Segment Name" to reference an existing child segment
59
+ * - Segment ID (internal, for API compatibility)
60
+ */
61
+ segment: string;
62
+ /** Optional jump target when criteria is met */
63
+ target?: YamlJumpTarget;
64
+ }
65
+ /**
66
+ * Jump target to another journey/stage
67
+ */
68
+ export interface YamlJumpTarget {
69
+ /** Target journey name or ID */
70
+ journey: string;
71
+ /** Target stage name */
72
+ stage: string;
73
+ /** Journey bundle ID (optional, for versioned journeys) */
74
+ bundle_id?: string;
75
+ }
76
+ /**
77
+ * Base step interface
78
+ */
79
+ export interface YamlStepBase {
80
+ /** Step type */
81
+ type: StepType;
82
+ /** Step name */
83
+ name?: string;
84
+ /** UUID for step (auto-generated if not provided) */
85
+ uuid?: string;
86
+ /** Next step UUID or name */
87
+ next?: string;
88
+ }
89
+ /**
90
+ * Wait step - pause execution
91
+ */
92
+ export interface YamlWaitStep extends YamlStepBase {
93
+ type: 'wait';
94
+ /** Duration to wait */
95
+ duration?: number;
96
+ /** Time unit (day or week) */
97
+ unit?: WaitUnit;
98
+ /** Wait until specific date */
99
+ wait_until?: string;
100
+ /** Wait until condition is met */
101
+ condition?: {
102
+ segment: string;
103
+ timeout?: {
104
+ duration: number;
105
+ unit: WaitUnit;
106
+ };
107
+ };
108
+ /** Days of the week to wait for */
109
+ days_of_week?: string[];
110
+ }
111
+ /**
112
+ * Activation step - send to external system
113
+ */
114
+ export interface YamlActivationStep extends YamlStepBase {
115
+ type: 'activation';
116
+ /** Activation name (resolved to ID during push) */
117
+ activation: string;
118
+ }
119
+ /**
120
+ * Decision point branch
121
+ */
122
+ export interface YamlDecisionBranch {
123
+ /** Branch name */
124
+ name: string;
125
+ /**
126
+ * Segment reference - can be:
127
+ * - Name of embedded segment (defined in journey's `segments` section)
128
+ * - "ref:Segment Name" to reference an existing child segment
129
+ * - Segment ID (internal, for API compatibility)
130
+ */
131
+ segment?: string;
132
+ /**
133
+ * Segment ID (alternative to segment name)
134
+ * @deprecated Use `segment` name instead - IDs are internal only
135
+ * @internal
136
+ */
137
+ segment_id?: string;
138
+ /** Is this the excluded/else path? */
139
+ excluded?: boolean;
140
+ /** Next step for this branch */
141
+ next?: string;
142
+ }
143
+ /**
144
+ * Decision point step - branch based on segment
145
+ */
146
+ export interface YamlDecisionPointStep extends YamlStepBase {
147
+ type: 'decision_point';
148
+ /** Branches for the decision */
149
+ branches: YamlDecisionBranch[];
150
+ }
151
+ /**
152
+ * A/B test variant
153
+ */
154
+ export interface YamlAbTestVariant {
155
+ /** Variant ID */
156
+ id?: string;
157
+ /** Variant name */
158
+ name: string;
159
+ /** Percentage of traffic (0-100) */
160
+ percentage: number;
161
+ /** Next step for this variant */
162
+ next?: string;
163
+ }
164
+ /**
165
+ * A/B test step - split traffic for testing
166
+ */
167
+ export interface YamlAbTestStep extends YamlStepBase {
168
+ type: 'ab_test';
169
+ /** Use custom split percentages (vs equal distribution) */
170
+ customized_split?: boolean;
171
+ /** Unique ID for the test */
172
+ unique_id?: string;
173
+ /** Test variants */
174
+ variants: YamlAbTestVariant[];
175
+ }
176
+ /**
177
+ * Merge step - rejoin branched paths
178
+ */
179
+ export interface YamlMergeStep extends YamlStepBase {
180
+ type: 'merge';
181
+ }
182
+ /**
183
+ * Jump step - go to another journey/stage
184
+ */
185
+ export interface YamlJumpStep extends YamlStepBase {
186
+ type: 'jump';
187
+ /** Jump target */
188
+ target: YamlJumpTarget;
189
+ }
190
+ /**
191
+ * End step - exit the stage
192
+ */
193
+ export interface YamlEndStep extends YamlStepBase {
194
+ type: 'end';
195
+ }
196
+ /**
197
+ * Union of all step types
198
+ */
199
+ export type YamlStep = YamlWaitStep | YamlActivationStep | YamlDecisionPointStep | YamlAbTestStep | YamlMergeStep | YamlJumpStep | YamlEndStep;
200
+ /**
201
+ * Journey stage definition
202
+ */
203
+ export interface YamlJourneyStage {
204
+ /** Stage name */
205
+ name: string;
206
+ /** Stage description */
207
+ description?: string;
208
+ /**
209
+ * Stage ID (from API, used for updates)
210
+ * @internal Not included in user-facing YAML output
211
+ */
212
+ id?: string;
213
+ /** Entry criteria - who enters this stage */
214
+ entry_criteria?: YamlJourneyCriteria;
215
+ /** Exit criteria - when to remove from stage */
216
+ exit_criteria?: YamlJourneyCriteria[];
217
+ /** Milestone - tracking point */
218
+ milestone?: YamlJourneyCriteria;
219
+ /** Root step UUID (entry point) */
220
+ root_step?: string;
221
+ /** Steps in this stage */
222
+ steps?: YamlStep[];
223
+ }
224
+ /**
225
+ * Resource type discriminator for YAML files
226
+ */
227
+ export type YamlResourceType = 'segment' | 'journey';
228
+ /**
229
+ * Journey version definition for multi-version YAML files.
230
+ * Each version has its own stages but shares segment definitions with other versions.
231
+ */
232
+ export interface YamlJourneyVersion {
233
+ /** Version name (e.g., "v1", "v2") */
234
+ name: string;
235
+ /** Version state */
236
+ state: 'draft' | 'launched';
237
+ /**
238
+ * Whether this is the currently active (latest) version.
239
+ * Only one version should have latest=true.
240
+ * Default: false (omit if false)
241
+ */
242
+ latest?: boolean;
243
+ /** Version-specific stages (1-8) */
244
+ stages: YamlJourneyStage[];
245
+ /**
246
+ * Journey ID for this version (from API, used for updates)
247
+ * @internal Not included in user-facing YAML output
248
+ */
249
+ id?: string;
250
+ /** Version number */
251
+ version_number?: number;
252
+ }
253
+ /**
254
+ * Complete journey YAML configuration.
255
+ *
256
+ * Supports two modes:
257
+ * 1. Single-version mode: Use `stages` at top level (backward compatible)
258
+ * 2. Multi-version mode: Use `versions` array (all versions in one YAML)
259
+ *
260
+ * Cannot have both `stages` and `versions` at top level.
261
+ *
262
+ * Folder is NOT stored in YAML - it's inferred from the local file path structure.
263
+ */
264
+ export interface JourneyYaml {
265
+ /** Resource type - must be 'journey' to distinguish from segments */
266
+ type: 'journey';
267
+ /** Journey name (the actual journey name, same as bundle_name) */
268
+ name: string;
269
+ /** Journey description */
270
+ description?: string;
271
+ /**
272
+ * Embedded segment definitions local to this journey.
273
+ * These segments are created when the journey is launched.
274
+ *
275
+ * Keys are segment names (kebab-case, e.g., "high-value-customers").
276
+ * Reference these names in criteria/branches using the segment field.
277
+ * To reference an existing child segment, use "ref:Segment Name" prefix.
278
+ */
279
+ segments?: Record<string, YamlEmbeddedSegment>;
280
+ /** Journey goal (shared across all versions) */
281
+ goal?: YamlJourneyCriteria;
282
+ /** Reentry mode (shared across all versions) */
283
+ reentry?: ReentryMode;
284
+ /**
285
+ * Journey stages for single-version mode (1-8).
286
+ * Cannot be used together with `versions`.
287
+ */
288
+ stages?: YamlJourneyStage[];
289
+ /**
290
+ * Journey versions for multi-version mode.
291
+ * Each version has its own stages but shares segments/goal with other versions.
292
+ * Cannot be used together with `stages`.
293
+ */
294
+ versions?: YamlJourneyVersion[];
295
+ /**
296
+ * Journey ID (from API, used for updates)
297
+ * @internal Not included in user-facing YAML output
298
+ */
299
+ id?: string;
300
+ /**
301
+ * Version name (e.g., "v11") - the API name field
302
+ * @internal Used for single-version mode API compatibility
303
+ */
304
+ version?: string;
305
+ /**
306
+ * Version number
307
+ * @internal Used for single-version mode API compatibility
308
+ */
309
+ version_number?: number;
310
+ /**
311
+ * Folder ID (from API)
312
+ * @internal Folder is inferred from file path, not stored in YAML
313
+ */
314
+ folder_id?: string;
315
+ /**
316
+ * Journey bundle ID (for versioned journeys)
317
+ * @internal Not included in user-facing YAML output
318
+ */
319
+ bundle_id?: string;
320
+ /**
321
+ * Bundle name (same as name, kept for compatibility)
322
+ * @internal Not included in user-facing YAML output
323
+ */
324
+ bundle_name?: string;
325
+ /**
326
+ * Allow reentry (legacy, use reentry instead)
327
+ * @deprecated Use `reentry` instead
328
+ */
329
+ allow_reentry?: boolean;
330
+ }
331
+ /**
332
+ * Journey criteria from API
333
+ */
334
+ export interface ApiJourneyCriteria {
335
+ name: string;
336
+ description?: string;
337
+ segmentId: string;
338
+ target?: {
339
+ journeyId: string;
340
+ journeyStageId: string;
341
+ journeyBundleId?: string;
342
+ stageOrderIndex?: number;
343
+ };
344
+ }
345
+ /**
346
+ * Journey step from API (keyed by UUID)
347
+ */
348
+ export interface ApiJourneyStep {
349
+ type: 'WaitStep' | 'Activation' | 'DecisionPoint' | 'AbTest' | 'Merge' | 'Jump' | 'End';
350
+ name?: string;
351
+ waitStepType?: 'Duration' | 'Date' | 'DaysOfTheWeek' | 'Condition';
352
+ waitStep?: number;
353
+ waitStepUnit?: 'day' | 'week';
354
+ waitUntilDate?: string;
355
+ daysOfWeek?: string[];
356
+ conditionSegmentId?: string;
357
+ conditionTimeoutDuration?: number;
358
+ conditionTimeoutUnit?: 'day' | 'week';
359
+ journeyActivationStepId?: string;
360
+ branches?: {
361
+ name: string;
362
+ segmentId: string;
363
+ excludedPath?: boolean;
364
+ next?: string;
365
+ }[];
366
+ customizedSplit?: boolean;
367
+ uniqueId?: string;
368
+ variants?: {
369
+ id: string;
370
+ name: string;
371
+ percentage: number;
372
+ next?: string;
373
+ }[];
374
+ target?: {
375
+ journeyId: string;
376
+ journeyStageId: string;
377
+ journeyBundleId?: string;
378
+ };
379
+ next?: string;
380
+ }
381
+ /**
382
+ * Journey stage from API
383
+ */
384
+ export interface ApiJourneyStage {
385
+ id?: string;
386
+ name: string;
387
+ description?: string;
388
+ entryCriteria?: ApiJourneyCriteria;
389
+ exitCriterias?: ApiJourneyCriteria[];
390
+ milestone?: ApiJourneyCriteria;
391
+ rootStep?: string;
392
+ steps?: Record<string, ApiJourneyStep>;
393
+ }
394
+ /**
395
+ * Full journey from API
396
+ */
397
+ export interface ApiJourney {
398
+ id: string;
399
+ type: 'journey';
400
+ attributes: {
401
+ name: string;
402
+ description?: string;
403
+ audienceId: string;
404
+ state: JourneyState;
405
+ goal?: ApiJourneyCriteria;
406
+ allowReentry?: boolean;
407
+ reentryMode?: ReentryMode;
408
+ paused?: boolean;
409
+ pausedAt?: string;
410
+ journeyBundleId?: string;
411
+ journeyBundleName?: string;
412
+ versionNumber?: number;
413
+ journeyStages: ApiJourneyStage[];
414
+ createdAt: string;
415
+ updatedAt: string;
416
+ launchedAt?: string;
417
+ };
418
+ relationships?: {
419
+ parentFolder?: {
420
+ data?: {
421
+ id: string;
422
+ type: 'folder';
423
+ };
424
+ };
425
+ createdBy?: {
426
+ data?: {
427
+ id: string;
428
+ type: 'user';
429
+ };
430
+ };
431
+ };
432
+ }
433
+ /**
434
+ * Resolved segment information for embedding in YAML
435
+ */
436
+ export interface ResolvedSegment {
437
+ /** Segment name (kebab-case identifier for embedding, or original name for ref) */
438
+ name: string;
439
+ /** Whether this is a journey-local segment (true) or external child segment (false) */
440
+ isJourneyLocal: boolean;
441
+ /** Segment rule definition (only for journey-local segments) */
442
+ definition?: YamlEmbeddedSegment;
443
+ }
444
+ /**
445
+ * Context for resolving IDs to names during API → YAML conversion (pull).
446
+ *
447
+ * When pulling from API, references are stored as IDs. To make YAML human-readable,
448
+ * these IDs can be resolved to names using the context functions.
449
+ *
450
+ * If no context is provided, IDs are stored as-is in the YAML output.
451
+ */
452
+ export interface ApiToYamlContext {
453
+ /**
454
+ * Resolve segment ID to its definition and metadata.
455
+ * Returns name and whether it's journey-local or an external ref.
456
+ * For journey-local segments, also returns the rule definition for embedding.
457
+ */
458
+ resolveSegment?: (id: string) => Promise<ResolvedSegment>;
459
+ /**
460
+ * Resolve segment ID to name (simple version, for backward compatibility)
461
+ * @deprecated Use resolveSegment for full segment resolution
462
+ */
463
+ resolveSegmentName?: (id: string) => Promise<string>;
464
+ /** Resolve activation ID to name */
465
+ resolveActivationName?: (id: string) => Promise<string>;
466
+ /** Resolve journey ID to name */
467
+ resolveJourneyName?: (id: string) => Promise<string>;
468
+ }
469
+ /**
470
+ * Convert API journey to YAML format.
471
+ *
472
+ * Note: This is a synchronous version that stores IDs as-is (for internal use).
473
+ * For human-readable YAML output, use apiToYamlAsync with a resolution context.
474
+ *
475
+ * @internal Use apiToYamlAsync for user-facing YAML
476
+ */
477
+ export declare function apiToYaml(api: ApiJourney): JourneyYaml;
478
+ /**
479
+ * Convert API journey to YAML format with segment resolution.
480
+ *
481
+ * This async version resolves segment IDs to names and builds the embedded
482
+ * segments section for journey-local segments.
483
+ *
484
+ * @param api - Journey from API
485
+ * @param context - Resolution context for IDs to names
486
+ * @returns Journey YAML with embedded segments and name references
487
+ */
488
+ export declare function apiToYamlAsync(api: ApiJourney, context?: ApiToYamlContext): Promise<JourneyYaml>;
489
+ /**
490
+ * Context for resolving references during YAML → API conversion
491
+ */
492
+ export interface YamlToApiContext {
493
+ /** Resolve segment name to ID */
494
+ resolveSegmentId?: (name: string) => Promise<string>;
495
+ /** Resolve activation name to ID */
496
+ resolveActivationId?: (name: string) => Promise<string>;
497
+ /** Resolve journey name to ID */
498
+ resolveJourneyId?: (name: string) => Promise<string>;
499
+ /**
500
+ * Resolve embedded segment definition to ID.
501
+ * Used when an embedded segment needs to be created/matched in the API.
502
+ */
503
+ resolveEmbeddedSegmentId?: (name: string, definition: YamlEmbeddedSegment) => Promise<string>;
504
+ }
505
+ /**
506
+ * API request format for creating/updating a journey
507
+ */
508
+ export interface ApiJourneyRequest {
509
+ id?: string;
510
+ type: 'journey';
511
+ attributes: {
512
+ name: string;
513
+ description?: string;
514
+ audienceId: string;
515
+ goal?: ApiJourneyCriteria;
516
+ reentryMode?: ReentryMode;
517
+ allowReentry?: boolean;
518
+ journeyStages: ApiJourneyStage[];
519
+ };
520
+ relationships?: {
521
+ parentFolder?: {
522
+ data: {
523
+ id: string;
524
+ type: 'folder';
525
+ };
526
+ };
527
+ };
528
+ }
529
+ /**
530
+ * Convert YAML journey to API request format
531
+ *
532
+ * @param yamlConfig - Journey YAML configuration
533
+ * @param audienceId - Parent segment ID (from context, not stored in YAML)
534
+ * @param context - Resolution context for references
535
+ */
536
+ export declare function yamlToApi(yamlConfig: JourneyYaml, audienceId: string, context?: YamlToApiContext): Promise<ApiJourneyRequest>;
537
+ /**
538
+ * Serialize journey config to YAML string.
539
+ * Strips internal fields (IDs, folder_id, etc.) from output for clean, portable YAML.
540
+ */
541
+ export declare function toYamlString(config: JourneyYaml): string;
542
+ /**
543
+ * Parse YAML string to journey config.
544
+ * Supports both single-version mode (stages at top level) and multi-version mode (versions array).
545
+ */
546
+ export declare function parseYamlString(yamlString: string): JourneyYaml;
547
+ /**
548
+ * Check if a YAML object represents a journey (vs segment)
549
+ */
550
+ export declare function isJourneyYaml(parsed: unknown): parsed is JourneyYaml;
551
+ /**
552
+ * Generate a sample YAML template for a new journey
553
+ */
554
+ export declare function generateTemplate(name: string, entrySegment: string): string;
555
+ /**
556
+ * Prefix for referencing existing child segments (not embedded in YAML).
557
+ * Use "ref:Segment Name" to reference an existing child segment by name.
558
+ */
559
+ export declare const SEGMENT_REF_PREFIX = "ref:";
560
+ /**
561
+ * Parse a segment reference string.
562
+ *
563
+ * Returns the type and name:
564
+ * - { type: 'embedded', name: 'segment-name' } for embedded segments
565
+ * - { type: 'ref', name: 'Segment Name' } for existing child segment references
566
+ * - { type: 'id', name: '12345' } for raw IDs (internal use)
567
+ */
568
+ export declare function parseSegmentRef(ref: string): {
569
+ type: 'embedded' | 'ref' | 'id';
570
+ name: string;
571
+ };
572
+ /**
573
+ * Create a reference string for an existing child segment.
574
+ */
575
+ export declare function makeSegmentRef(segmentName: string): string;
576
+ /**
577
+ * Check if a segment reference points to an existing child segment (vs embedded).
578
+ */
579
+ export declare function isExternalSegmentRef(ref: string): boolean;
580
+ /**
581
+ * Check if a journey YAML is in multi-version mode.
582
+ */
583
+ export declare function isMultiVersionMode(config: JourneyYaml): boolean;
584
+ /**
585
+ * Check if a journey YAML is in single-version mode.
586
+ */
587
+ export declare function isSingleVersionMode(config: JourneyYaml): boolean;
588
+ /**
589
+ * Get all stages from a journey YAML, regardless of mode.
590
+ * For single-version mode, returns the stages array.
591
+ * For multi-version mode, returns stages from the latest version (or first version if no latest).
592
+ */
593
+ export declare function getActiveStages(config: JourneyYaml): YamlJourneyStage[];
594
+ /**
595
+ * Get the latest/active version from a multi-version journey YAML.
596
+ * Returns undefined for single-version mode.
597
+ */
598
+ /**
599
+ * Get the latest/active version from a multi-version journey.
600
+ * Returns the version marked with `latest: true`, or the first version as fallback.
601
+ * Returns undefined for single-version mode journeys.
602
+ *
603
+ * Note: Returns first version (not last) when none marked latest for deterministic behavior.
604
+ */
605
+ export declare function getLatestVersion(config: JourneyYaml): YamlJourneyVersion | undefined;
606
+ /**
607
+ * Collect all segment references from a journey YAML.
608
+ * Returns a set of unique segment reference strings.
609
+ */
610
+ export declare function collectSegmentRefs(config: JourneyYaml): Set<string>;
611
+ /**
612
+ * Validate that all segment references in a journey YAML are resolvable.
613
+ * Returns an array of validation errors (empty if all valid).
614
+ */
615
+ export declare function validateSegmentRefs(config: JourneyYaml): string[];
616
+ //# sourceMappingURL=journey-yaml.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"journey-yaml.d.ts","sourceRoot":"","sources":["../../../src/sdk/segment/journey-yaml.ts"],"names":[],"mappings":"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"}