@principal-ai/principal-view-core 0.22.0 → 0.23.0

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 (48) hide show
  1. package/dist/index.d.ts +4 -2
  2. package/dist/index.d.ts.map +1 -1
  3. package/dist/index.js +2 -1
  4. package/dist/index.js.map +1 -1
  5. package/dist/node.d.ts +2 -2
  6. package/dist/node.d.ts.map +1 -1
  7. package/dist/node.js +1 -1
  8. package/dist/node.js.map +1 -1
  9. package/dist/registry/VersionRegistry.d.ts +51 -0
  10. package/dist/registry/VersionRegistry.d.ts.map +1 -0
  11. package/dist/registry/VersionRegistry.js +100 -0
  12. package/dist/registry/VersionRegistry.js.map +1 -0
  13. package/dist/storyboard/builder.js +2 -2
  14. package/dist/storyboard/builder.js.map +1 -1
  15. package/dist/types/version-registry.d.ts +112 -0
  16. package/dist/types/version-registry.d.ts.map +1 -0
  17. package/dist/types/version-registry.js +9 -0
  18. package/dist/types/version-registry.js.map +1 -0
  19. package/dist/workflow/example.d.ts.map +1 -1
  20. package/dist/workflow/example.js +6 -23
  21. package/dist/workflow/example.js.map +1 -1
  22. package/dist/workflow/index.d.ts +2 -2
  23. package/dist/workflow/index.d.ts.map +1 -1
  24. package/dist/workflow/index.js +1 -1
  25. package/dist/workflow/index.js.map +1 -1
  26. package/dist/workflow/scenario-matcher.d.ts +11 -27
  27. package/dist/workflow/scenario-matcher.d.ts.map +1 -1
  28. package/dist/workflow/scenario-matcher.js +26 -123
  29. package/dist/workflow/scenario-matcher.js.map +1 -1
  30. package/dist/workflow/types.d.ts +4 -42
  31. package/dist/workflow/types.d.ts.map +1 -1
  32. package/dist/workflow/validator.d.ts +34 -2
  33. package/dist/workflow/validator.d.ts.map +1 -1
  34. package/dist/workflow/validator.js +199 -116
  35. package/dist/workflow/validator.js.map +1 -1
  36. package/package.json +2 -1
  37. package/src/index.ts +11 -4
  38. package/src/node.ts +1 -4
  39. package/src/registry/VersionRegistry.test.ts +223 -0
  40. package/src/registry/VersionRegistry.ts +121 -0
  41. package/src/storyboard/builder.ts +2 -2
  42. package/src/types/version-registry.ts +123 -0
  43. package/src/workflow/__tests__/validator.test.ts +691 -107
  44. package/src/workflow/example.ts +6 -23
  45. package/src/workflow/index.ts +1 -3
  46. package/src/workflow/scenario-matcher.ts +32 -145
  47. package/src/workflow/types.ts +6 -61
  48. package/src/workflow/validator.ts +222 -124
@@ -4,32 +4,27 @@
4
4
  * Selects the appropriate workflow scenario based on which events occurred
5
5
  * during execution. Uses priority-based, first-match-wins algorithm.
6
6
  */
7
- import type { WorkflowTemplate, ScenarioCondition, Assertion, OtelEvent, ScenarioMatchResult } from './types';
7
+ import type { WorkflowScenario, WorkflowTemplate, OtelEvent, ScenarioMatchResult } from './types';
8
+ /**
9
+ * Get required events for a scenario (derived from template.events)
10
+ *
11
+ * @param scenario - Scenario to extract events from
12
+ * @returns Array of event names required for this scenario to match
13
+ */
14
+ export declare function getRequiredEvents(scenario: WorkflowScenario): string[];
8
15
  /**
9
16
  * Select the first matching scenario from a workflow template
10
17
  *
11
18
  * Scenarios are evaluated in priority order (lowest priority number first).
12
- * Returns the first scenario whose conditions are met.
19
+ * Returns the first scenario whose events are all present.
13
20
  *
14
21
  * @param template - Workflow template with scenarios
15
22
  * @param events - Collected OTEL events
16
- * @param attributes - Aggregated attributes (computed from events)
23
+ * @param attributes - Aggregated attributes (computed from events) - DEPRECATED, no longer used
17
24
  * @returns Matched scenario and metadata
18
- * @throws Error if no scenario matches (template should have default fallback)
25
+ * @throws Error if no scenario matches
19
26
  */
20
27
  export declare function selectScenario(template: WorkflowTemplate, events: OtelEvent[], attributes?: Record<string, unknown>): ScenarioMatchResult;
21
- /**
22
- * Check if a scenario condition matches the given events and attributes
23
- *
24
- * @param condition - Scenario condition to evaluate
25
- * @param events - Collected OTEL events
26
- * @param attributes - Aggregated attributes
27
- * @returns Match result with reason if not matched
28
- */
29
- export declare function matchesCondition(condition: ScenarioCondition, events: OtelEvent[], attributes: Record<string, unknown>): {
30
- matches: boolean;
31
- reason?: string;
32
- };
33
28
  /**
34
29
  * Check if any event matches the given pattern (supports glob-style wildcards)
35
30
  *
@@ -44,17 +39,6 @@ export declare function matchesCondition(condition: ScenarioCondition, events: O
44
39
  * @returns True if any event matches the pattern
45
40
  */
46
41
  export declare function hasEventMatching(events: OtelEvent[], pattern: string): boolean;
47
- /**
48
- * Evaluate an assertion against a value
49
- *
50
- * @param value - Value to test
51
- * @param assertion - Assertion operators
52
- * @returns Match result with reason if not matched
53
- */
54
- export declare function evaluateAssertion(value: unknown, assertion: Assertion): {
55
- matches: boolean;
56
- reason?: string;
57
- };
58
42
  /**
59
43
  * Get nested value from object using dot notation
60
44
  *
@@ -1 +1 @@
1
- {"version":3,"file":"scenario-matcher.d.ts","sourceRoot":"","sources":["../../src/workflow/scenario-matcher.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAEV,gBAAgB,EAChB,iBAAiB,EACjB,SAAS,EACT,SAAS,EACT,mBAAmB,EACpB,MAAM,SAAS,CAAC;AAEjB;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,gBAAgB,EAC1B,MAAM,EAAE,SAAS,EAAE,EACnB,UAAU,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GACvC,mBAAmB,CAmCrB;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,iBAAiB,EAC5B,MAAM,EAAE,SAAS,EAAE,EACnB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAClC;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAkDvC;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAS9E;AAED;;;;;;GAMG;AACH,wBAAgB,iBAAiB,CAC/B,KAAK,EAAE,OAAO,EACd,SAAS,EAAE,SAAS,GACnB;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CA0DvC;AAED;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAqBlF;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAc/F;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAuC9E"}
1
+ {"version":3,"file":"scenario-matcher.d.ts","sourceRoot":"","sources":["../../src/workflow/scenario-matcher.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EACV,gBAAgB,EAChB,gBAAgB,EAChB,SAAS,EACT,mBAAmB,EACpB,MAAM,SAAS,CAAC;AAEjB;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,MAAM,EAAE,CAEtE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,gBAAgB,EAC1B,MAAM,EAAE,SAAS,EAAE,EACnB,UAAU,GAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAM,GACvC,mBAAmB,CA8CrB;AAGD;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,EAAE,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAS9E;AAGD;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAqBlF;AAED;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,OAAO,GAAG,IAAI,CAc/F;AAED;;;;;;;;GAQG;AACH,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAuC9E"}
@@ -4,17 +4,26 @@
4
4
  * Selects the appropriate workflow scenario based on which events occurred
5
5
  * during execution. Uses priority-based, first-match-wins algorithm.
6
6
  */
7
+ /**
8
+ * Get required events for a scenario (derived from template.events)
9
+ *
10
+ * @param scenario - Scenario to extract events from
11
+ * @returns Array of event names required for this scenario to match
12
+ */
13
+ export function getRequiredEvents(scenario) {
14
+ return Object.keys(scenario.template?.events || {});
15
+ }
7
16
  /**
8
17
  * Select the first matching scenario from a workflow template
9
18
  *
10
19
  * Scenarios are evaluated in priority order (lowest priority number first).
11
- * Returns the first scenario whose conditions are met.
20
+ * Returns the first scenario whose events are all present.
12
21
  *
13
22
  * @param template - Workflow template with scenarios
14
23
  * @param events - Collected OTEL events
15
- * @param attributes - Aggregated attributes (computed from events)
24
+ * @param attributes - Aggregated attributes (computed from events) - DEPRECATED, no longer used
16
25
  * @returns Matched scenario and metadata
17
- * @throws Error if no scenario matches (template should have default fallback)
26
+ * @throws Error if no scenario matches
18
27
  */
19
28
  export function selectScenario(template, events, attributes = {}) {
20
29
  // Sort scenarios by priority (should already be sorted in template)
@@ -23,77 +32,32 @@ export function selectScenario(template, events, attributes = {}) {
23
32
  const matchReasons = {};
24
33
  // Find first matching scenario
25
34
  for (const scenario of sorted) {
26
- const matchResult = matchesCondition(scenario.condition, events, attributes);
27
- if (matchResult.matches) {
35
+ const requiredEvents = getRequiredEvents(scenario);
36
+ // Check if ALL required events are present
37
+ const hasAllEvents = requiredEvents.every((eventName) => hasEventMatching(events, eventName));
38
+ if (hasAllEvents) {
28
39
  // Check if there are other applicable scenarios (for UI)
29
40
  for (const other of sorted) {
30
- if (other.id !== scenario.id && matchesCondition(other.condition, events, attributes).matches) {
31
- applicableScenarios.push(other);
41
+ if (other.id !== scenario.id) {
42
+ const otherRequired = getRequiredEvents(other);
43
+ const otherMatches = otherRequired.every((eventName) => hasEventMatching(events, eventName));
44
+ if (otherMatches) {
45
+ applicableScenarios.push(other);
46
+ }
32
47
  }
33
48
  }
34
49
  return {
35
50
  scenario,
36
- isDefault: Boolean(scenario.condition.default),
51
+ isDefault: false,
37
52
  applicableScenarios: [scenario, ...applicableScenarios],
38
53
  matchReasons,
39
54
  };
40
55
  }
41
- matchReasons[scenario.id] = matchResult.reason || 'Unknown';
56
+ const missingEvents = requiredEvents.filter((eventName) => !hasEventMatching(events, eventName));
57
+ matchReasons[scenario.id] = `Missing required event(s): ${missingEvents.join(', ')}`;
42
58
  }
43
59
  throw new Error(`No scenario matched for template "${template.name}". ` +
44
- `Ensure there is a default scenario with { default: true } condition. ` +
45
- `Events: ${events.map((e) => e.name).join(', ')}`);
46
- }
47
- /**
48
- * Check if a scenario condition matches the given events and attributes
49
- *
50
- * @param condition - Scenario condition to evaluate
51
- * @param events - Collected OTEL events
52
- * @param attributes - Aggregated attributes
53
- * @returns Match result with reason if not matched
54
- */
55
- export function matchesCondition(condition, events, attributes) {
56
- // 1. Check default condition (always matches)
57
- if (condition.default) {
58
- return { matches: true };
59
- }
60
- // 2. Check required events
61
- if (condition.requires) {
62
- const matchMode = condition.any ? 'some' : 'every';
63
- const hasRequired = condition.requires[matchMode]((pattern) => hasEventMatching(events, pattern));
64
- if (!hasRequired) {
65
- const missing = condition.requires.filter((pattern) => !hasEventMatching(events, pattern));
66
- return {
67
- matches: false,
68
- reason: `Missing required event(s): ${missing.join(', ')}`,
69
- };
70
- }
71
- }
72
- // 3. Check excluded events
73
- if (condition.excludes) {
74
- const excluded = condition.excludes.find((pattern) => hasEventMatching(events, pattern));
75
- if (excluded) {
76
- return {
77
- matches: false,
78
- reason: `Found excluded event: ${excluded}`,
79
- };
80
- }
81
- }
82
- // 4. Check attribute assertions
83
- if (condition.assertions) {
84
- for (const [key, assertion] of Object.entries(condition.assertions)) {
85
- const value = getNestedValue(attributes, key);
86
- const assertionResult = evaluateAssertion(value, assertion);
87
- if (!assertionResult.matches) {
88
- return {
89
- matches: false,
90
- reason: `Assertion failed for "${key}": ${assertionResult.reason}`,
91
- };
92
- }
93
- }
94
- }
95
- // All checks passed
96
- return { matches: true };
60
+ `Events in trace: ${events.map((e) => e.name).join(', ')}`);
97
61
  }
98
62
  /**
99
63
  * Check if any event matches the given pattern (supports glob-style wildcards)
@@ -116,67 +80,6 @@ export function hasEventMatching(events, pattern) {
116
80
  const regex = new RegExp(`^${regexPattern}$`);
117
81
  return events.some((event) => regex.test(event.name));
118
82
  }
119
- /**
120
- * Evaluate an assertion against a value
121
- *
122
- * @param value - Value to test
123
- * @param assertion - Assertion operators
124
- * @returns Match result with reason if not matched
125
- */
126
- export function evaluateAssertion(value, assertion) {
127
- // $exists check
128
- if (assertion.$exists !== undefined) {
129
- const exists = value !== undefined && value !== null;
130
- if (exists !== assertion.$exists) {
131
- return {
132
- matches: false,
133
- reason: assertion.$exists ? 'Value does not exist' : 'Value exists but should not',
134
- };
135
- }
136
- // If only checking existence, we're done
137
- if (Object.keys(assertion).length === 1) {
138
- return { matches: true };
139
- }
140
- }
141
- // If value doesn't exist and we're checking other operators, fail
142
- if (value === undefined || value === null) {
143
- return { matches: false, reason: 'Value is undefined or null' };
144
- }
145
- // Numeric comparisons
146
- if (typeof value === 'number') {
147
- if (assertion.$gt !== undefined && !(value > assertion.$gt)) {
148
- return { matches: false, reason: `${value} is not > ${assertion.$gt}` };
149
- }
150
- if (assertion.$gte !== undefined && !(value >= assertion.$gte)) {
151
- return { matches: false, reason: `${value} is not >= ${assertion.$gte}` };
152
- }
153
- if (assertion.$lt !== undefined && !(value < assertion.$lt)) {
154
- return { matches: false, reason: `${value} is not < ${assertion.$lt}` };
155
- }
156
- if (assertion.$lte !== undefined && !(value <= assertion.$lte)) {
157
- return { matches: false, reason: `${value} is not <= ${assertion.$lte}` };
158
- }
159
- }
160
- // Equality checks
161
- if (assertion.$eq !== undefined && value !== assertion.$eq) {
162
- return { matches: false, reason: `${value} !== ${assertion.$eq}` };
163
- }
164
- if (assertion.$ne !== undefined && value === assertion.$ne) {
165
- return { matches: false, reason: `${value} === ${assertion.$ne} (should not equal)` };
166
- }
167
- // Array membership
168
- if (assertion.$in !== undefined) {
169
- if (!assertion.$in.includes(value)) {
170
- return { matches: false, reason: `${value} not in [${assertion.$in.join(', ')}]` };
171
- }
172
- }
173
- if (assertion.$nin !== undefined) {
174
- if (assertion.$nin.includes(value)) {
175
- return { matches: false, reason: `${value} found in excluded list [${assertion.$nin.join(', ')}]` };
176
- }
177
- }
178
- return { matches: true };
179
- }
180
83
  /**
181
84
  * Get nested value from object using dot notation
182
85
  *
@@ -1 +1 @@
1
- {"version":3,"file":"scenario-matcher.js","sourceRoot":"","sources":["../../src/workflow/scenario-matcher.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scenario-matcher.js","sourceRoot":"","sources":["../../src/workflow/scenario-matcher.ts"],"names":[],"mappings":"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"}
@@ -50,6 +50,8 @@ export interface WorkflowTemplate {
50
50
  name: string;
51
51
  /** Purpose of this workflow view */
52
52
  description: string;
53
+ /** Exact span name this workflow applies to */
54
+ spanPattern: string;
53
55
  /** How to structure the workflow */
54
56
  mode: WorkflowMode;
55
57
  /** Scenario selection strategy */
@@ -70,8 +72,8 @@ export type WorkflowMode = 'span-tree' | 'timeline';
70
72
  /**
71
73
  * Workflow scenario definition
72
74
  *
73
- * Scenarios are mutually exclusive workflow templates selected
74
- * based on which events occurred during execution.
75
+ * Scenarios are mutually exclusive workflow templates.
76
+ * Required events are automatically derived from template.events keys.
75
77
  */
76
78
  export interface WorkflowScenario {
77
79
  /** Unique scenario identifier (kebab-case) */
@@ -80,49 +82,9 @@ export interface WorkflowScenario {
80
82
  priority: number;
81
83
  /** What this scenario represents */
82
84
  description: string;
83
- /** Conditions that must be met for this scenario to match */
84
- condition: ScenarioCondition;
85
85
  /** Workflow template content */
86
86
  template: ScenarioTemplate;
87
87
  }
88
- /**
89
- * Scenario matching conditions
90
- */
91
- export interface ScenarioCondition {
92
- /** Must have these events (supports glob patterns like "*.error") */
93
- requires?: string[];
94
- /** Must NOT have these events (supports glob patterns) */
95
- excludes?: string[];
96
- /** Assertions on event attributes */
97
- assertions?: Record<string, Assertion>;
98
- /** Always matches (use as fallback) */
99
- default?: boolean;
100
- /** Match if ANY requires condition met (instead of ALL) */
101
- any?: boolean;
102
- }
103
- /**
104
- * Attribute assertion operators
105
- */
106
- export interface Assertion {
107
- /** Greater than */
108
- $gt?: number;
109
- /** Greater than or equal */
110
- $gte?: number;
111
- /** Less than */
112
- $lt?: number;
113
- /** Less than or equal */
114
- $lte?: number;
115
- /** Equal to */
116
- $eq?: string | number | boolean;
117
- /** Not equal to */
118
- $ne?: string | number | boolean;
119
- /** Attribute exists/doesn't exist */
120
- $exists?: boolean;
121
- /** Value in array */
122
- $in?: (string | number | boolean)[];
123
- /** Value not in array */
124
- $nin?: (string | number | boolean)[];
125
- }
126
88
  /**
127
89
  * Scenario template content
128
90
  */
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/workflow/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/workflow/types.ts"],"names":[],"mappings":"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"}
@@ -80,6 +80,19 @@ export declare class WorkflowValidator {
80
80
  * Validate a workflow template
81
81
  */
82
82
  validate(context: WorkflowValidationContext): Promise<WorkflowValidationResult>;
83
+ /**
84
+ * Validate multiple workflows for duplicate spanPatterns
85
+ *
86
+ * This is a CLI-level validation that checks for conflicts across workflows.
87
+ * Call this method after validating individual workflows.
88
+ *
89
+ * @param workflows Array of workflow templates with their file paths
90
+ * @returns Array of violations for duplicate spanPatterns
91
+ */
92
+ static validateSpanPatterns(workflows: Array<{
93
+ workflow: WorkflowTemplate;
94
+ workflowPath: string;
95
+ }>): WorkflowViolation[];
83
96
  /**
84
97
  * Check schema validity (required fields, valid values)
85
98
  */
@@ -88,6 +101,10 @@ export declare class WorkflowValidator {
88
101
  * Check that the referenced canvas file exists
89
102
  */
90
103
  private checkCanvasExists;
104
+ /**
105
+ * Check for deprecated fields (condition, condition.requires, etc.)
106
+ */
107
+ private checkDeprecatedFields;
91
108
  /**
92
109
  * Check that events referenced in templates exist in the canvas
93
110
  *
@@ -101,9 +118,24 @@ export declare class WorkflowValidator {
101
118
  */
102
119
  private checkScenarios;
103
120
  /**
104
- * Check that condition uses valid fields (not legacy format)
121
+ * Check for subset relationships between scenarios
122
+ *
123
+ * Ensures no scenario's event set is a strict subset of another scenario's event set.
124
+ * This prevents ambiguous matching where a trace could match multiple scenarios.
125
+ */
126
+ private checkScenarioSubsets;
127
+ /**
128
+ * Check if set A is a strict subset of set B
129
+ *
130
+ * A is a strict subset of B if:
131
+ * 1. All elements of A are in B
132
+ * 2. A has fewer elements than B
133
+ */
134
+ private isStrictSubset;
135
+ /**
136
+ * Generate helpful suggestion for fixing subset relationship
105
137
  */
106
- private checkConditionStructure;
138
+ private generateSubsetFixSuggestion;
107
139
  /**
108
140
  * Check that template uses valid fields (not legacy format)
109
141
  */
@@ -1 +1 @@
1
- {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../src/workflow/validator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,SAAS,CAAC;AAChD,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAGtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAO/D,MAAM,WAAW,yBAAyB;IACxC,4CAA4C;IAC5C,QAAQ,EAAE,gBAAgB,CAAC;IAE3B,gCAAgC;IAChC,YAAY,EAAE,MAAM,CAAC;IAErB,iCAAiC;IACjC,MAAM,CAAC,EAAE,cAAc,CAAC;IAExB,8BAA8B;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,6CAA6C;IAC7C,QAAQ,EAAE,MAAM,CAAC;IAEjB,kDAAkD;IAClD,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,oEAAoE;IACpE,aAAa,CAAC,EAAE;QACd,mDAAmD;QACnD,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACpC,uCAAuC;QACvC,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;KACvD,CAAC;IAEF;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAE1B;;;;;;OAMG;IACH,iBAAiB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAEhC;;;;OAIG;IACH,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B;AAED,MAAM,WAAW,iBAAiB;IAChC,2CAA2C;IAC3C,MAAM,EAAE,MAAM,CAAC;IAEf,qBAAqB;IACrB,QAAQ,EAAE,OAAO,GAAG,MAAM,CAAC;IAE3B,gBAAgB;IAChB,IAAI,EAAE,MAAM,CAAC;IAEb,8BAA8B;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,yCAAyC;IACzC,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,0BAA0B;IAC1B,OAAO,EAAE,MAAM,CAAC;IAEhB,4BAA4B;IAC5B,MAAM,EAAE,MAAM,CAAC;IAEf,4BAA4B;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,qCAAqC;IACrC,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,wBAAwB;IACvC,2BAA2B;IAC3B,UAAU,EAAE,iBAAiB,EAAE,CAAC;IAEhC,sBAAsB;IACtB,UAAU,EAAE,MAAM,CAAC;IAEnB,wBAAwB;IACxB,YAAY,EAAE,MAAM,CAAC;IAErB,kCAAkC;IAClC,YAAY,EAAE,MAAM,CAAC;CACtB;AAMD,qBAAa,iBAAiB;IAC5B;;OAEG;IACG,QAAQ,CACZ,OAAO,EAAE,yBAAyB,GACjC,OAAO,CAAC,wBAAwB,CAAC;IA8BpC;;OAEG;IACH,OAAO,CAAC,WAAW;IA4InB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA4BzB;;;;;;OAMG;IACH,OAAO,CAAC,oBAAoB;IA0H5B;;OAEG;IACH,OAAO,CAAC,cAAc;IA6ItB;;OAEG;IACH,OAAO,CAAC,uBAAuB;IA2D/B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAgG9B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA+D5B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA4E3B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAyF9B;;;;;;;OAOG;IACH,OAAO,CAAC,wBAAwB;IAkEhC;;;;;;;;;;OAUG;IACH,OAAO,CAAC,kBAAkB;IA6D1B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAsE9B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IA2B7B;;;;;;;;OAQG;IACH,OAAO,CAAC,qBAAqB;IAmC7B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IA4B9B;;;;;OAKG;IACH,OAAO,CAAC,8BAA8B;IA+GtC;;;OAGG;IACH,OAAO,CAAC,wBAAwB;IAiBhC;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAgEhC;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAuC/B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA4BxB;;OAEG;IACH,OAAO,CAAC,aAAa;IAKrB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAc3B;;;;;;;OAOG;IACH,OAAO,CAAC,oBAAoB;IAQ5B;;;;;;;OAOG;IACH,OAAO,CAAC,qBAAqB;IAQ7B;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,0BAA0B;IAgClC;;;;;;;;;;OAUG;IACH,OAAO,CAAC,+BAA+B;IA4BvC;;;;;OAKG;IACH,OAAO,CAAC,YAAY;CAQrB;AAED;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,iBAAiB,CAE3D"}
1
+ {"version":3,"file":"validator.d.ts","sourceRoot":"","sources":["../../src/workflow/validator.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAoB,MAAM,SAAS,CAAC;AAClE,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAGtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAO/D,MAAM,WAAW,yBAAyB;IACxC,4CAA4C;IAC5C,QAAQ,EAAE,gBAAgB,CAAC;IAE3B,gCAAgC;IAChC,YAAY,EAAE,MAAM,CAAC;IAErB,iCAAiC;IACjC,MAAM,CAAC,EAAE,cAAc,CAAC;IAExB,8BAA8B;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,6CAA6C;IAC7C,QAAQ,EAAE,MAAM,CAAC;IAEjB,kDAAkD;IAClD,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,oEAAoE;IACpE,aAAa,CAAC,EAAE;QACd,mDAAmD;QACnD,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACpC,uCAAuC;QACvC,eAAe,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;KACvD,CAAC;IAEF;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAE1B;;;;;;OAMG;IACH,iBAAiB,CAAC,EAAE,GAAG,CAAC,MAAM,CAAC,CAAC;IAEhC;;;;OAIG;IACH,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B;AAED,MAAM,WAAW,iBAAiB;IAChC,2CAA2C;IAC3C,MAAM,EAAE,MAAM,CAAC;IAEf,qBAAqB;IACrB,QAAQ,EAAE,OAAO,GAAG,MAAM,CAAC;IAE3B,gBAAgB;IAChB,IAAI,EAAE,MAAM,CAAC;IAEb,8BAA8B;IAC9B,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,yCAAyC;IACzC,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,0BAA0B;IAC1B,OAAO,EAAE,MAAM,CAAC;IAEhB,4BAA4B;IAC5B,MAAM,EAAE,MAAM,CAAC;IAEf,4BAA4B;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IAEpB,qCAAqC;IACrC,OAAO,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,wBAAwB;IACvC,2BAA2B;IAC3B,UAAU,EAAE,iBAAiB,EAAE,CAAC;IAEhC,sBAAsB;IACtB,UAAU,EAAE,MAAM,CAAC;IAEnB,wBAAwB;IACxB,YAAY,EAAE,MAAM,CAAC;IAErB,kCAAkC;IAClC,YAAY,EAAE,MAAM,CAAC;CACtB;AAMD,qBAAa,iBAAiB;IAC5B;;OAEG;IACG,QAAQ,CACZ,OAAO,EAAE,yBAAyB,GACjC,OAAO,CAAC,wBAAwB,CAAC;IAgCpC;;;;;;;;OAQG;IACH,MAAM,CAAC,oBAAoB,CACzB,SAAS,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,gBAAgB,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,CAAC,GACrE,iBAAiB,EAAE;IAuCtB;;OAEG;IACH,OAAO,CAAC,WAAW;IAqKnB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IA4BzB;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAqD7B;;;;;;OAMG;IACH,OAAO,CAAC,oBAAoB;IAiH5B;;OAEG;IACH,OAAO,CAAC,cAAc;IAwGtB;;;;;OAKG;IACH,OAAO,CAAC,oBAAoB;IAgD5B;;;;;;OAMG;IACH,OAAO,CAAC,cAAc;IAgBtB;;OAEG;IACH,OAAO,CAAC,2BAA2B;IA6BnC;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAgG9B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA2B5B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA4E3B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAyF9B;;;;;;;OAOG;IACH,OAAO,CAAC,wBAAwB;IAkEhC;;;;;;;;;;OAUG;IACH,OAAO,CAAC,kBAAkB;IA6D1B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAsE9B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IA2B7B;;;;;;;;OAQG;IACH,OAAO,CAAC,qBAAqB;IAmC7B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IA4B9B;;;;;OAKG;IACH,OAAO,CAAC,8BAA8B;IA+GtC;;;OAGG;IACH,OAAO,CAAC,wBAAwB;IAiBhC;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAgEhC;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAuC/B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA4BxB;;OAEG;IACH,OAAO,CAAC,aAAa;IAKrB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAc3B;;;;;;;OAOG;IACH,OAAO,CAAC,oBAAoB;IAQ5B;;;;;;;OAOG;IACH,OAAO,CAAC,qBAAqB;IAQ7B;;;;;;;;;;;OAWG;IACH,OAAO,CAAC,0BAA0B;IAgClC;;;;;;;;;;OAUG;IACH,OAAO,CAAC,+BAA+B;IA4BvC;;;;;OAKG;IACH,OAAO,CAAC,YAAY;CAQrB;AAED;;GAEG;AACH,wBAAgB,uBAAuB,IAAI,iBAAiB,CAE3D"}