@usearazzo/runner 1.0.1-alpha.23 → 1.0.1-alpha.25

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 (58) hide show
  1. package/CHANGELOG.md +20 -0
  2. package/README.md +3 -1
  3. package/dist/arazzo-runner.browser.js +400 -229
  4. package/dist/arazzo-runner.browser.min.js +1 -1
  5. package/package.json +4 -4
  6. package/src/action/ActionResolver.cjs +4 -4
  7. package/src/action/ActionResolver.mjs +4 -4
  8. package/src/criterion/CriterionEvaluator.cjs +8 -9
  9. package/src/criterion/CriterionEvaluator.mjs +8 -9
  10. package/src/criterion/JSONPathCriterionEvaluator.cjs +1 -2
  11. package/src/criterion/JSONPathCriterionEvaluator.mjs +1 -2
  12. package/src/criterion/RegexCriterionEvaluator.cjs +1 -2
  13. package/src/criterion/RegexCriterionEvaluator.mjs +1 -2
  14. package/src/criterion/SimpleCriterionEvaluator.cjs +1 -2
  15. package/src/criterion/SimpleCriterionEvaluator.mjs +1 -2
  16. package/src/criterion/XPathCriterionEvaluator.cjs +4 -5
  17. package/src/criterion/XPathCriterionEvaluator.mjs +4 -5
  18. package/src/document/ArazzoDocument.cjs +33 -1
  19. package/src/document/ArazzoDocument.mjs +32 -1
  20. package/src/errors/CriterionError.cjs +52 -2
  21. package/src/errors/CriterionError.mjs +53 -2
  22. package/src/errors/ExecutionError.cjs +73 -2
  23. package/src/errors/ExecutionError.mjs +74 -2
  24. package/src/errors/ResolverError.cjs +53 -2
  25. package/src/errors/ResolverError.mjs +54 -2
  26. package/src/errors/RuntimeExpressionError.cjs +32 -2
  27. package/src/errors/RuntimeExpressionError.mjs +33 -2
  28. package/src/executor/ArazzoWorkflowLocatorNormalizer.cjs +4 -4
  29. package/src/executor/ArazzoWorkflowLocatorNormalizer.mjs +4 -4
  30. package/src/executor/OpenAPIOperationLocatorNormalizer.cjs +11 -11
  31. package/src/executor/OpenAPIOperationLocatorNormalizer.mjs +11 -11
  32. package/src/executor/StepExecutor.cjs +7 -7
  33. package/src/executor/StepExecutor.mjs +7 -7
  34. package/src/executor/StepRetryRunner.cjs +1 -1
  35. package/src/executor/StepRetryRunner.mjs +1 -1
  36. package/src/executor/StepTransitionInterpreter.cjs +3 -3
  37. package/src/executor/StepTransitionInterpreter.mjs +3 -3
  38. package/src/executor/WorkflowCallStack.cjs +2 -2
  39. package/src/executor/WorkflowCallStack.mjs +2 -2
  40. package/src/executor/WorkflowExecutor.cjs +13 -13
  41. package/src/executor/WorkflowExecutor.mjs +13 -13
  42. package/src/executor/abort.cjs +3 -3
  43. package/src/executor/abort.mjs +3 -3
  44. package/src/expression/RuntimeExpressionEvaluator.cjs +5 -5
  45. package/src/expression/RuntimeExpressionEvaluator.mjs +5 -5
  46. package/src/index.cjs +0 -7
  47. package/src/index.mjs +0 -1
  48. package/src/resolver/OpenAPIOperationParameterResolver.cjs +6 -6
  49. package/src/resolver/OpenAPIOperationParameterResolver.mjs +6 -6
  50. package/src/resolver/OutputResolver.cjs +3 -3
  51. package/src/resolver/OutputResolver.mjs +3 -3
  52. package/src/resolver/RequestBodyResolver.cjs +6 -6
  53. package/src/resolver/RequestBodyResolver.mjs +6 -6
  54. package/src/resolver/WorkflowParameterResolver.cjs +1 -1
  55. package/src/resolver/WorkflowParameterResolver.mjs +1 -1
  56. package/types/runner.d.ts +228 -46
  57. package/src/criterion/CriterionErrorReason.cjs +0 -51
  58. package/src/criterion/CriterionErrorReason.mjs +0 -46
@@ -70,7 +70,7 @@ class OpenAPIOperationParameterResolver extends _StepParameterResolver.default {
70
70
  throw new _ResolverError.default('`parameters` is present but is not a list', {
71
71
  ...scope,
72
72
  target: 'parameters',
73
- reason: 'malformed-parameters'
73
+ reason: _ResolverError.default.MalformedParameters
74
74
  });
75
75
  }
76
76
  for (const parameter of parameters) {
@@ -82,7 +82,7 @@ class OpenAPIOperationParameterResolver extends _StepParameterResolver.default {
82
82
  if (identity === undefined) {
83
83
  throw new _ResolverError.default('Parameter has a missing or non-string name', {
84
84
  ...scope,
85
- reason: 'missing-name'
85
+ reason: _ResolverError.default.MissingName
86
86
  });
87
87
  }
88
88
  const {
@@ -93,21 +93,21 @@ class OpenAPIOperationParameterResolver extends _StepParameterResolver.default {
93
93
  throw new _ResolverError.default(`Parameter "${name}" declares no location ("in"), which a step targeting an operation requires`, {
94
94
  ...scope,
95
95
  target: name,
96
- reason: 'missing-location'
96
+ reason: _ResolverError.default.MissingLocation
97
97
  });
98
98
  }
99
99
  if (location === null) {
100
100
  throw new _ResolverError.default(`Parameter "${name}" has a non-string location ("in")`, {
101
101
  ...scope,
102
102
  target: name,
103
- reason: 'malformed-location'
103
+ reason: _ResolverError.default.MalformedLocation
104
104
  });
105
105
  }
106
106
  if (!identity.hasDefinedLocation) {
107
107
  throw new _ResolverError.default(`Parameter "${name}" has location "${location}", which is not one of ` + `${_ParameterIdentity.default.LOCATIONS.join(', ')}`, {
108
108
  ...scope,
109
109
  target: name,
110
- reason: 'invalid-location'
110
+ reason: _ResolverError.default.InvalidLocation
111
111
  });
112
112
  }
113
113
  const {
@@ -121,7 +121,7 @@ class OpenAPIOperationParameterResolver extends _StepParameterResolver.default {
121
121
  throw new _ResolverError.default(`Parameter "${name}" (in: ${location}) ${why} and cannot be delivered unambiguously`, {
122
122
  ...scope,
123
123
  target: name,
124
- reason: 'ambiguous-delivery'
124
+ reason: _ResolverError.default.AmbiguousDelivery
125
125
  });
126
126
  }
127
127
  delivery.set(key, this.resolveValue(parameter.value, resolve));
@@ -63,7 +63,7 @@ class OpenAPIOperationParameterResolver extends StepParameterResolver {
63
63
  throw new ResolverError('`parameters` is present but is not a list', {
64
64
  ...scope,
65
65
  target: 'parameters',
66
- reason: 'malformed-parameters'
66
+ reason: ResolverError.MalformedParameters
67
67
  });
68
68
  }
69
69
  for (const parameter of parameters) {
@@ -75,7 +75,7 @@ class OpenAPIOperationParameterResolver extends StepParameterResolver {
75
75
  if (identity === undefined) {
76
76
  throw new ResolverError('Parameter has a missing or non-string name', {
77
77
  ...scope,
78
- reason: 'missing-name'
78
+ reason: ResolverError.MissingName
79
79
  });
80
80
  }
81
81
  const {
@@ -86,21 +86,21 @@ class OpenAPIOperationParameterResolver extends StepParameterResolver {
86
86
  throw new ResolverError(`Parameter "${name}" declares no location ("in"), which a step targeting an operation requires`, {
87
87
  ...scope,
88
88
  target: name,
89
- reason: 'missing-location'
89
+ reason: ResolverError.MissingLocation
90
90
  });
91
91
  }
92
92
  if (location === null) {
93
93
  throw new ResolverError(`Parameter "${name}" has a non-string location ("in")`, {
94
94
  ...scope,
95
95
  target: name,
96
- reason: 'malformed-location'
96
+ reason: ResolverError.MalformedLocation
97
97
  });
98
98
  }
99
99
  if (!identity.hasDefinedLocation) {
100
100
  throw new ResolverError(`Parameter "${name}" has location "${location}", which is not one of ` + `${ParameterIdentity.LOCATIONS.join(', ')}`, {
101
101
  ...scope,
102
102
  target: name,
103
- reason: 'invalid-location'
103
+ reason: ResolverError.InvalidLocation
104
104
  });
105
105
  }
106
106
  const {
@@ -114,7 +114,7 @@ class OpenAPIOperationParameterResolver extends StepParameterResolver {
114
114
  throw new ResolverError(`Parameter "${name}" (in: ${location}) ${why} and cannot be delivered unambiguously`, {
115
115
  ...scope,
116
116
  target: name,
117
- reason: 'ambiguous-delivery'
117
+ reason: ResolverError.AmbiguousDelivery
118
118
  });
119
119
  }
120
120
  delivery.set(key, this.resolveValue(parameter.value, resolve));
@@ -30,7 +30,7 @@ class OutputResolver extends _ArazzoValueResolver.default {
30
30
  *
31
31
  * `scope` names the step or workflow the outputs belong to, for a thrown
32
32
  * {@link ResolverError}. An output value that is not a valid runtime
33
- * expression throws with `reason: 'invalid-expression'`.
33
+ * expression throws with reason `ResolverError.InvalidExpression`.
34
34
  */
35
35
  resolve(outputs, resolve, scope) {
36
36
  const result = {};
@@ -41,7 +41,7 @@ class OutputResolver extends _ArazzoValueResolver.default {
41
41
  throw new _ResolverError.default('`outputs` is present but is not a map', {
42
42
  ...scope,
43
43
  target: 'outputs',
44
- reason: 'malformed-outputs'
44
+ reason: _ResolverError.default.MalformedOutputs
45
45
  });
46
46
  }
47
47
  outputs.forEach((value, key) => {
@@ -51,7 +51,7 @@ class OutputResolver extends _ArazzoValueResolver.default {
51
51
  throw new _ResolverError.default(`Output "${name}" is not a valid runtime expression`, {
52
52
  ...scope,
53
53
  target: 'outputs',
54
- reason: 'invalid-expression'
54
+ reason: _ResolverError.default.InvalidExpression
55
55
  });
56
56
  }
57
57
  // defined rather than assigned: a name like `__proto__` hits the
@@ -23,7 +23,7 @@ class OutputResolver extends ArazzoValueResolver {
23
23
  *
24
24
  * `scope` names the step or workflow the outputs belong to, for a thrown
25
25
  * {@link ResolverError}. An output value that is not a valid runtime
26
- * expression throws with `reason: 'invalid-expression'`.
26
+ * expression throws with reason `ResolverError.InvalidExpression`.
27
27
  */
28
28
  resolve(outputs, resolve, scope) {
29
29
  const result = {};
@@ -34,7 +34,7 @@ class OutputResolver extends ArazzoValueResolver {
34
34
  throw new ResolverError('`outputs` is present but is not a map', {
35
35
  ...scope,
36
36
  target: 'outputs',
37
- reason: 'malformed-outputs'
37
+ reason: ResolverError.MalformedOutputs
38
38
  });
39
39
  }
40
40
  outputs.forEach((value, key) => {
@@ -44,7 +44,7 @@ class OutputResolver extends ArazzoValueResolver {
44
44
  throw new ResolverError(`Output "${name}" is not a valid runtime expression`, {
45
45
  ...scope,
46
46
  target: 'outputs',
47
- reason: 'invalid-expression'
47
+ reason: ResolverError.InvalidExpression
48
48
  });
49
49
  }
50
50
  // defined rather than assigned: a name like `__proto__` hits the
@@ -75,7 +75,7 @@ class RequestBodyResolver extends _ArazzoValueResolver.default {
75
75
  throw new _ResolverError.default('`requestBody` is present but is not a map', {
76
76
  ...scope,
77
77
  target: 'requestBody',
78
- reason: 'malformed-request-body'
78
+ reason: _ResolverError.default.MalformedRequestBody
79
79
  });
80
80
  }
81
81
  const authoredPayload = (0, _apidomCore.toValue)(requestBody.payload);
@@ -87,7 +87,7 @@ class RequestBodyResolver extends _ArazzoValueResolver.default {
87
87
  throw new _ResolverError.default('`requestBody.replacements` is present but is not a list', {
88
88
  ...scope,
89
89
  target: 'requestBody.replacements',
90
- reason: 'malformed-replacements'
90
+ reason: _ResolverError.default.MalformedReplacements
91
91
  });
92
92
  }
93
93
  for (const replacement of requestBody.replacements) {
@@ -152,7 +152,7 @@ class RequestBodyResolver extends _ArazzoValueResolver.default {
152
152
  throw new _ResolverError.default(`Invalid runtime expression "${text}" in ${this.#payloadTarget(tokens)}`, {
153
153
  ...scope,
154
154
  target: this.#payloadTarget(tokens),
155
- reason: 'invalid-expression'
155
+ reason: _ResolverError.default.InvalidExpression
156
156
  });
157
157
  }
158
158
  });
@@ -171,7 +171,7 @@ class RequestBodyResolver extends _ArazzoValueResolver.default {
171
171
  return new _ResolverError.default(`Runtime expression "${expression}" in ${target} did not resolve`, {
172
172
  ...scope,
173
173
  target,
174
- reason: 'unresolved-expression'
174
+ reason: _ResolverError.default.UnresolvedExpression
175
175
  });
176
176
  }
177
177
 
@@ -195,7 +195,7 @@ class RequestBodyResolver extends _ArazzoValueResolver.default {
195
195
  throw new _ResolverError.default(`Unsupported requestBody replacement target "${target}" (expected JSON Pointer)`, {
196
196
  ...scope,
197
197
  target,
198
- reason: 'unsupported-target'
198
+ reason: _ResolverError.default.UnsupportedTarget
199
199
  });
200
200
  }
201
201
 
@@ -209,7 +209,7 @@ class RequestBodyResolver extends _ArazzoValueResolver.default {
209
209
  throw new _ResolverError.default(`requestBody replacement target "${target}" does not resolve in the payload`, {
210
210
  ...scope,
211
211
  target,
212
- reason: 'unresolved-target'
212
+ reason: _ResolverError.default.UnresolvedTarget
213
213
  });
214
214
  }
215
215
  return (0, _ramda.assocPath)(tokens, value, payload);
@@ -68,7 +68,7 @@ class RequestBodyResolver extends ArazzoValueResolver {
68
68
  throw new ResolverError('`requestBody` is present but is not a map', {
69
69
  ...scope,
70
70
  target: 'requestBody',
71
- reason: 'malformed-request-body'
71
+ reason: ResolverError.MalformedRequestBody
72
72
  });
73
73
  }
74
74
  const authoredPayload = toValue(requestBody.payload);
@@ -80,7 +80,7 @@ class RequestBodyResolver extends ArazzoValueResolver {
80
80
  throw new ResolverError('`requestBody.replacements` is present but is not a list', {
81
81
  ...scope,
82
82
  target: 'requestBody.replacements',
83
- reason: 'malformed-replacements'
83
+ reason: ResolverError.MalformedReplacements
84
84
  });
85
85
  }
86
86
  for (const replacement of requestBody.replacements) {
@@ -145,7 +145,7 @@ class RequestBodyResolver extends ArazzoValueResolver {
145
145
  throw new ResolverError(`Invalid runtime expression "${text}" in ${this.#payloadTarget(tokens)}`, {
146
146
  ...scope,
147
147
  target: this.#payloadTarget(tokens),
148
- reason: 'invalid-expression'
148
+ reason: ResolverError.InvalidExpression
149
149
  });
150
150
  }
151
151
  });
@@ -164,7 +164,7 @@ class RequestBodyResolver extends ArazzoValueResolver {
164
164
  return new ResolverError(`Runtime expression "${expression}" in ${target} did not resolve`, {
165
165
  ...scope,
166
166
  target,
167
- reason: 'unresolved-expression'
167
+ reason: ResolverError.UnresolvedExpression
168
168
  });
169
169
  }
170
170
 
@@ -188,7 +188,7 @@ class RequestBodyResolver extends ArazzoValueResolver {
188
188
  throw new ResolverError(`Unsupported requestBody replacement target "${target}" (expected JSON Pointer)`, {
189
189
  ...scope,
190
190
  target,
191
- reason: 'unsupported-target'
191
+ reason: ResolverError.UnsupportedTarget
192
192
  });
193
193
  }
194
194
 
@@ -202,7 +202,7 @@ class RequestBodyResolver extends ArazzoValueResolver {
202
202
  throw new ResolverError(`requestBody replacement target "${target}" does not resolve in the payload`, {
203
203
  ...scope,
204
204
  target,
205
- reason: 'unresolved-target'
205
+ reason: ResolverError.UnresolvedTarget
206
206
  });
207
207
  }
208
208
  return assocPath(tokens, value, payload);
@@ -44,7 +44,7 @@ class WorkflowParameterResolver extends _StepParameterResolver.default {
44
44
  throw new _ResolverError.default('`parameters` is present but is not a list', {
45
45
  ...scope,
46
46
  target: 'parameters',
47
- reason: 'malformed-parameters'
47
+ reason: _ResolverError.default.MalformedParameters
48
48
  });
49
49
  }
50
50
  for (const parameter of parameters) {
@@ -37,7 +37,7 @@ class WorkflowParameterResolver extends StepParameterResolver {
37
37
  throw new ResolverError('`parameters` is present but is not a list', {
38
38
  ...scope,
39
39
  target: 'parameters',
40
- reason: 'malformed-parameters'
40
+ reason: ResolverError.MalformedParameters
41
41
  });
42
42
  }
43
43
  for (const parameter of parameters) {