@adcp/sdk 13.0.0-rc.10 → 13.0.0-rc.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/lib/core/AgentClient.d.mts +12 -3
- package/dist/lib/core/AgentClient.d.ts +12 -3
- package/dist/lib/core/AgentClient.d.ts.map +1 -1
- package/dist/lib/core/AgentClient.js +12 -3
- package/dist/lib/core/AgentClient.js.map +1 -1
- package/dist/lib/core/AgentClient.mjs +12 -3
- package/dist/lib/core/AgentClient.mjs.map +1 -1
- package/dist/lib/core/SingleAgentClient.d.mts +13 -3
- package/dist/lib/core/SingleAgentClient.d.ts +13 -3
- package/dist/lib/core/SingleAgentClient.d.ts.map +1 -1
- package/dist/lib/core/SingleAgentClient.js +52 -31
- package/dist/lib/core/SingleAgentClient.js.map +1 -1
- package/dist/lib/core/SingleAgentClient.mjs +52 -31
- package/dist/lib/core/SingleAgentClient.mjs.map +1 -1
- package/dist/lib/index.d.mts +1 -1
- package/dist/lib/index.d.ts +1 -1
- package/dist/lib/index.d.ts.map +1 -1
- package/dist/lib/index.js +8 -0
- package/dist/lib/index.js.map +1 -1
- package/dist/lib/index.mjs +8 -0
- package/dist/lib/index.mjs.map +1 -1
- package/dist/lib/registry/types.generated.d.mts +48 -1
- package/dist/lib/registry/types.generated.d.ts +48 -1
- package/dist/lib/registry/types.generated.d.ts.map +1 -1
- package/dist/lib/registry/types.generated.js.map +1 -1
- package/dist/lib/schemas-data/v2.5/_provenance.json +1 -1
- package/dist/lib/server/decisioning/runtime/from-platform.d.mts +1 -1
- package/dist/lib/server/decisioning/runtime/from-platform.d.ts +1 -1
- package/dist/lib/server/decisioning/runtime/from-platform.d.ts.map +1 -1
- package/dist/lib/server/decisioning/runtime/from-platform.js +389 -65
- package/dist/lib/server/decisioning/runtime/from-platform.js.map +1 -1
- package/dist/lib/server/decisioning/runtime/from-platform.mjs +389 -65
- package/dist/lib/server/decisioning/runtime/from-platform.mjs.map +1 -1
- package/dist/lib/testing/compliance/comply.d.ts.map +1 -1
- package/dist/lib/testing/compliance/comply.js +8 -2
- package/dist/lib/testing/compliance/comply.js.map +1 -1
- package/dist/lib/testing/compliance/comply.mjs +8 -2
- package/dist/lib/testing/compliance/comply.mjs.map +1 -1
- package/dist/lib/testing/compliance/spec-conformance.d.ts.map +1 -1
- package/dist/lib/testing/compliance/spec-conformance.js +2 -0
- package/dist/lib/testing/compliance/spec-conformance.js.map +1 -1
- package/dist/lib/testing/compliance/spec-conformance.mjs +2 -0
- package/dist/lib/testing/compliance/spec-conformance.mjs.map +1 -1
- package/dist/lib/testing/compliance/summary.d.mts +2 -0
- package/dist/lib/testing/compliance/summary.d.ts +2 -0
- package/dist/lib/testing/compliance/summary.d.ts.map +1 -1
- package/dist/lib/testing/compliance/summary.js +3 -2
- package/dist/lib/testing/compliance/summary.js.map +1 -1
- package/dist/lib/testing/compliance/summary.mjs +3 -2
- package/dist/lib/testing/compliance/summary.mjs.map +1 -1
- package/dist/lib/testing/compliance/types.d.mts +4 -0
- package/dist/lib/testing/compliance/types.d.ts +4 -0
- package/dist/lib/testing/compliance/types.d.ts.map +1 -1
- package/dist/lib/testing/compliance/types.js.map +1 -1
- package/dist/lib/testing/storyboard/junit.js +49 -32
- package/dist/lib/testing/storyboard/junit.js.map +1 -1
- package/dist/lib/testing/storyboard/junit.mjs +49 -32
- package/dist/lib/testing/storyboard/junit.mjs.map +1 -1
- package/dist/lib/testing/storyboard/loader.d.ts.map +1 -1
- package/dist/lib/testing/storyboard/loader.js +26 -0
- package/dist/lib/testing/storyboard/loader.js.map +1 -1
- package/dist/lib/testing/storyboard/loader.mjs +26 -0
- package/dist/lib/testing/storyboard/loader.mjs.map +1 -1
- package/dist/lib/testing/storyboard/runner.d.ts.map +1 -1
- package/dist/lib/testing/storyboard/runner.js +66 -15
- package/dist/lib/testing/storyboard/runner.js.map +1 -1
- package/dist/lib/testing/storyboard/runner.mjs +70 -16
- package/dist/lib/testing/storyboard/runner.mjs.map +1 -1
- package/dist/lib/testing/storyboard/types.d.mts +26 -1
- package/dist/lib/testing/storyboard/types.d.ts +26 -1
- package/dist/lib/testing/storyboard/types.d.ts.map +1 -1
- package/dist/lib/testing/storyboard/types.js.map +1 -1
- package/dist/lib/testing/storyboard/types.mjs.map +1 -1
- package/dist/lib/testing/storyboard/validations.d.mts +11 -0
- package/dist/lib/testing/storyboard/validations.d.ts +11 -0
- package/dist/lib/testing/storyboard/validations.d.ts.map +1 -1
- package/dist/lib/testing/storyboard/validations.js +30 -13
- package/dist/lib/testing/storyboard/validations.js.map +1 -1
- package/dist/lib/testing/storyboard/validations.mjs +27 -13
- package/dist/lib/testing/storyboard/validations.mjs.map +1 -1
- package/dist/lib/v2/projection/augment-response.d.mts +45 -0
- package/dist/lib/v2/projection/augment-response.d.ts +45 -0
- package/dist/lib/v2/projection/augment-response.d.ts.map +1 -1
- package/dist/lib/v2/projection/augment-response.js +54 -0
- package/dist/lib/v2/projection/augment-response.js.map +1 -1
- package/dist/lib/v2/projection/augment-response.mjs +52 -0
- package/dist/lib/v2/projection/augment-response.mjs.map +1 -1
- package/dist/lib/v2/projection/index.d.mts +7 -1
- package/dist/lib/v2/projection/index.d.ts +7 -1
- package/dist/lib/v2/projection/index.d.ts.map +1 -1
- package/dist/lib/v2/projection/index.js +9 -0
- package/dist/lib/v2/projection/index.js.map +1 -1
- package/dist/lib/v2/projection/index.mjs +10 -0
- package/dist/lib/v2/projection/index.mjs.map +1 -1
- package/dist/lib/v2/projection/legacy-routes.d.mts +24 -0
- package/dist/lib/v2/projection/legacy-routes.d.ts +25 -0
- package/dist/lib/v2/projection/legacy-routes.d.ts.map +1 -0
- package/dist/lib/v2/projection/legacy-routes.js +163 -0
- package/dist/lib/v2/projection/legacy-routes.js.map +1 -0
- package/dist/lib/v2/projection/legacy-routes.mjs +138 -0
- package/dist/lib/v2/projection/legacy-routes.mjs.map +1 -0
- package/dist/lib/v2/projection/v1-to-v2.d.mts +3 -0
- package/dist/lib/v2/projection/v1-to-v2.d.ts +3 -0
- package/dist/lib/v2/projection/v1-to-v2.d.ts.map +1 -1
- package/dist/lib/v2/projection/v1-to-v2.js +2 -1
- package/dist/lib/v2/projection/v1-to-v2.js.map +1 -1
- package/dist/lib/v2/projection/v1-to-v2.mjs +2 -1
- package/dist/lib/v2/projection/v1-to-v2.mjs.map +1 -1
- package/dist/lib/version.d.mts +3 -3
- package/dist/lib/version.d.ts +3 -3
- package/dist/lib/version.js +3 -3
- package/dist/lib/version.js.map +1 -1
- package/dist/lib/version.mjs +3 -3
- package/dist/lib/version.mjs.map +1 -1
- package/docs/migration-12-to-13.md +56 -2
- package/package.json +3 -1
|
@@ -17,7 +17,10 @@ import { detectContextRejectionHints } from "./rejection-hints.mjs";
|
|
|
17
17
|
import { detectShapeDriftHints } from "./shape-drift-hints.mjs";
|
|
18
18
|
import { detectStrictValidationHints } from "./strict-validation-hints.mjs";
|
|
19
19
|
import {
|
|
20
|
-
runValidations
|
|
20
|
+
runValidations,
|
|
21
|
+
decorateValidationResult,
|
|
22
|
+
validationFailsStep,
|
|
23
|
+
RUNNER_CAPABILITY_VERSION
|
|
21
24
|
} from "./validations.mjs";
|
|
22
25
|
import { PARALLEL_DISPATCH_CONTRACT, runParallelDispatches, validateParallelDispatchSpec } from "./parallel-dispatch.mjs";
|
|
23
26
|
import { resolvePath, resolvePortableIdentifierPathAll, toJsonPointer, validatePortableIdentifierPath } from "./path.mjs";
|
|
@@ -703,6 +706,7 @@ function buildCapabilityUnsupportedResult(agentUrls, storyboard, detail) {
|
|
|
703
706
|
passed_count: 0,
|
|
704
707
|
failed_count: 0,
|
|
705
708
|
skipped_count: 1,
|
|
709
|
+
runner_capability_version: RUNNER_CAPABILITY_VERSION,
|
|
706
710
|
tested_at: (/* @__PURE__ */ new Date()).toISOString(),
|
|
707
711
|
strict_validation_summary: {
|
|
708
712
|
observable: false,
|
|
@@ -785,6 +789,7 @@ function buildRequirementUnmetResult(agentUrls, storyboard, requirement, detail)
|
|
|
785
789
|
passed_count: 0,
|
|
786
790
|
failed_count: 0,
|
|
787
791
|
skipped_count: 1,
|
|
792
|
+
runner_capability_version: RUNNER_CAPABILITY_VERSION,
|
|
788
793
|
tested_at: (/* @__PURE__ */ new Date()).toISOString(),
|
|
789
794
|
strict_validation_summary: {
|
|
790
795
|
observable: false,
|
|
@@ -832,6 +837,7 @@ function buildRequiredAnyOfToolsMissingResult(agentUrls, storyboard, detail) {
|
|
|
832
837
|
passed_count: 0,
|
|
833
838
|
failed_count: 0,
|
|
834
839
|
skipped_count: 1,
|
|
840
|
+
runner_capability_version: RUNNER_CAPABILITY_VERSION,
|
|
835
841
|
tested_at: (/* @__PURE__ */ new Date()).toISOString(),
|
|
836
842
|
strict_validation_summary: {
|
|
837
843
|
observable: false,
|
|
@@ -1040,6 +1046,7 @@ function buildDiscoveryFailedResult(agentUrls, storyboard, discoveryStep) {
|
|
|
1040
1046
|
passed_count: 0,
|
|
1041
1047
|
failed_count: 1,
|
|
1042
1048
|
skipped_count: 0,
|
|
1049
|
+
runner_capability_version: RUNNER_CAPABILITY_VERSION,
|
|
1043
1050
|
tested_at: (/* @__PURE__ */ new Date()).toISOString(),
|
|
1044
1051
|
strict_validation_summary: {
|
|
1045
1052
|
observable: false,
|
|
@@ -1088,6 +1095,7 @@ function buildRequiredToolsMissingResult(agentUrls, storyboard, detail) {
|
|
|
1088
1095
|
passed_count: 0,
|
|
1089
1096
|
failed_count: 0,
|
|
1090
1097
|
skipped_count: 1,
|
|
1098
|
+
runner_capability_version: RUNNER_CAPABILITY_VERSION,
|
|
1091
1099
|
tested_at: (/* @__PURE__ */ new Date()).toISOString(),
|
|
1092
1100
|
strict_validation_summary: {
|
|
1093
1101
|
observable: false,
|
|
@@ -1809,7 +1817,9 @@ async function executeStoryboardPass(agentUrls, storyboard, options, dispatchOff
|
|
|
1809
1817
|
}
|
|
1810
1818
|
stepResults.push(result2);
|
|
1811
1819
|
priorStepResults.set(step.id, result2);
|
|
1812
|
-
const schemaInvalidResponse = result2.validations.some(
|
|
1820
|
+
const schemaInvalidResponse = result2.validations.some(
|
|
1821
|
+
(v) => v.check === "response_schema" && validationFailsStep(v)
|
|
1822
|
+
);
|
|
1813
1823
|
for (const spec of assertions) {
|
|
1814
1824
|
if (!spec.onStep) continue;
|
|
1815
1825
|
if (stepDisablesAssertion(step.invariants, spec.id)) continue;
|
|
@@ -2039,6 +2049,7 @@ async function executeStoryboardPass(agentUrls, storyboard, options, dispatchOff
|
|
|
2039
2049
|
const schemasUsed = collectSchemasUsed(phaseResults);
|
|
2040
2050
|
const strictSummary = summarizeStrictValidation(phaseResults);
|
|
2041
2051
|
const validationsNotApplicable = countValidationsNotApplicable(phaseResults);
|
|
2052
|
+
const validationsAdvisoryFailed = countValidationsAdvisoryFailed(phaseResults);
|
|
2042
2053
|
const notices = mergeRunnerNotices([
|
|
2043
2054
|
...collectCapabilityNotices(storyboard, profile ?? options._profile),
|
|
2044
2055
|
...collectStepNotices(phaseResults)
|
|
@@ -2064,7 +2075,9 @@ async function executeStoryboardPass(agentUrls, storyboard, options, dispatchOff
|
|
|
2064
2075
|
passed_count: passedCount,
|
|
2065
2076
|
failed_count: failedCount,
|
|
2066
2077
|
skipped_count: skippedCount,
|
|
2078
|
+
...validationsAdvisoryFailed > 0 ? { validations_advisory_failed: validationsAdvisoryFailed } : {},
|
|
2067
2079
|
...validationsNotApplicable > 0 ? { validations_not_applicable: validationsNotApplicable } : {},
|
|
2080
|
+
runner_capability_version: RUNNER_CAPABILITY_VERSION,
|
|
2068
2081
|
tested_at: (/* @__PURE__ */ new Date()).toISOString(),
|
|
2069
2082
|
...schemasUsed.length > 0 ? { schemas_used: schemasUsed } : {},
|
|
2070
2083
|
...assertionResults.length > 0 ? { assertions: assertionResults } : {},
|
|
@@ -2146,6 +2159,7 @@ async function runMultiPass(agentUrls, storyboard, options) {
|
|
|
2146
2159
|
passed_count: result.passed_count,
|
|
2147
2160
|
failed_count: result.failed_count,
|
|
2148
2161
|
skipped_count: result.skipped_count,
|
|
2162
|
+
...result.validations_advisory_failed ? { validations_advisory_failed: result.validations_advisory_failed } : {},
|
|
2149
2163
|
...result.validations_not_applicable ? { validations_not_applicable: result.validations_not_applicable } : {},
|
|
2150
2164
|
duration_ms: result.total_duration_ms
|
|
2151
2165
|
});
|
|
@@ -2155,6 +2169,7 @@ async function runMultiPass(agentUrls, storyboard, options) {
|
|
|
2155
2169
|
const passed = passes.reduce((sum, p) => sum + p.passed_count, 0);
|
|
2156
2170
|
const failed = passes.reduce((sum, p) => sum + p.failed_count, 0);
|
|
2157
2171
|
const skipped = passes.reduce((sum, p) => sum + p.skipped_count, 0);
|
|
2172
|
+
const advisoryFailed = passes.reduce((sum, p) => sum + (p.validations_advisory_failed ?? 0), 0);
|
|
2158
2173
|
const notApplicable = passes.reduce((sum, p) => sum + (p.validations_not_applicable ?? 0), 0);
|
|
2159
2174
|
const schemasUsed = passResults.flatMap((r) => r.schemas_used ?? []);
|
|
2160
2175
|
const schemasDedup = [...new Map(schemasUsed.map((s) => [s.schema_id, s])).values()];
|
|
@@ -2174,7 +2189,9 @@ async function runMultiPass(agentUrls, storyboard, options) {
|
|
|
2174
2189
|
passed_count: passed,
|
|
2175
2190
|
failed_count: failed,
|
|
2176
2191
|
skipped_count: skipped,
|
|
2192
|
+
...advisoryFailed > 0 ? { validations_advisory_failed: advisoryFailed } : {},
|
|
2177
2193
|
...notApplicable > 0 ? { validations_not_applicable: notApplicable } : {},
|
|
2194
|
+
runner_capability_version: RUNNER_CAPABILITY_VERSION,
|
|
2178
2195
|
tested_at: (/* @__PURE__ */ new Date()).toISOString(),
|
|
2179
2196
|
...schemasDedup.length > 0 ? { schemas_used: schemasDedup } : {},
|
|
2180
2197
|
...assertionsAgg.length > 0 ? { assertions: assertionsAgg } : {},
|
|
@@ -2194,6 +2211,17 @@ function countValidationsNotApplicable(phases) {
|
|
|
2194
2211
|
}
|
|
2195
2212
|
return n;
|
|
2196
2213
|
}
|
|
2214
|
+
function countValidationsAdvisoryFailed(phases) {
|
|
2215
|
+
let n = 0;
|
|
2216
|
+
for (const phase of phases) {
|
|
2217
|
+
for (const step of phase.steps) {
|
|
2218
|
+
for (const validation of step.validations) {
|
|
2219
|
+
if (!validation.passed && validation.severity === "advisory") n++;
|
|
2220
|
+
}
|
|
2221
|
+
}
|
|
2222
|
+
}
|
|
2223
|
+
return n;
|
|
2224
|
+
}
|
|
2197
2225
|
function collectSchemasUsed(phases) {
|
|
2198
2226
|
const seen = /* @__PURE__ */ new Set();
|
|
2199
2227
|
const out = [];
|
|
@@ -2898,8 +2926,16 @@ async function executeStep(client, step, storyboardId, phaseId, context, allStep
|
|
|
2898
2926
|
} else {
|
|
2899
2927
|
passed = stepResult.passed && (taskResult?.success ?? false);
|
|
2900
2928
|
}
|
|
2929
|
+
const schemaValidationError = caughtError instanceof ResponseSchemaValidationError ? caughtError : void 0;
|
|
2930
|
+
const validationTaskResult = taskResult ?? (schemaValidationError ? {
|
|
2931
|
+
// ResponseSchemaValidationError is thrown while validating a
|
|
2932
|
+
// successful response arm. Preserve that terminal state so
|
|
2933
|
+
// status_code/error_code checks retain their authored semantics.
|
|
2934
|
+
success: true,
|
|
2935
|
+
data: schemaValidationError.data
|
|
2936
|
+
} : void 0);
|
|
2901
2937
|
let validations = [];
|
|
2902
|
-
if (step.validations?.length && (
|
|
2938
|
+
if (step.validations?.length && (validationTaskResult || httpResult)) {
|
|
2903
2939
|
const resolvedValidations = step.validations.map((v) => {
|
|
2904
2940
|
const resolved = { ...v };
|
|
2905
2941
|
if (resolved.value !== void 0) {
|
|
@@ -2926,7 +2962,7 @@ async function executeStep(client, step, storyboardId, phaseId, context, allStep
|
|
|
2926
2962
|
taskName: effectiveStep.task,
|
|
2927
2963
|
...options.adcpVersion && { adcpVersion: options.adcpVersion },
|
|
2928
2964
|
...options._serverAdcpVersion && { responseAdcpVersion: options._serverAdcpVersion },
|
|
2929
|
-
...
|
|
2965
|
+
...validationTaskResult && { taskResult: validationTaskResult },
|
|
2930
2966
|
...httpResult && { httpResult },
|
|
2931
2967
|
agentUrl: runState.agentUrl,
|
|
2932
2968
|
contributions: runState.contributions,
|
|
@@ -2983,20 +3019,38 @@ async function executeStep(client, step, storyboardId, phaseId, context, allStep
|
|
|
2983
3019
|
}
|
|
2984
3020
|
}
|
|
2985
3021
|
}
|
|
2986
|
-
|
|
2987
|
-
|
|
2988
|
-
const
|
|
3022
|
+
let schemaRejectionIsAdvisory = false;
|
|
3023
|
+
if (schemaValidationError) {
|
|
3024
|
+
const issues = schemaValidationError.issues.slice(0, 5).map((i) => `${i.path.join(".") || "(root)"}: ${i.message}`).join("; ");
|
|
3025
|
+
const firstIssue = schemaValidationError.issues[0];
|
|
2989
3026
|
const jsonPointer = firstIssue ? "/" + firstIssue.path.map((s) => String(s)).join("/") : null;
|
|
2990
|
-
const
|
|
3027
|
+
const baseSchemaResult = {
|
|
2991
3028
|
check: "response_schema",
|
|
2992
3029
|
passed: false,
|
|
2993
|
-
description: `Response schema validation for ${
|
|
3030
|
+
description: `Response schema validation for ${schemaValidationError.toolName}`,
|
|
2994
3031
|
error: issues,
|
|
2995
3032
|
json_pointer: jsonPointer,
|
|
2996
|
-
expected: `response schema for ${
|
|
2997
|
-
actual:
|
|
3033
|
+
expected: `response schema for ${schemaValidationError.toolName}`,
|
|
3034
|
+
actual: schemaValidationError.issues
|
|
2998
3035
|
};
|
|
2999
|
-
|
|
3036
|
+
const authoredSchemaValidations = (step.validations ?? []).filter((v) => v.check === "response_schema");
|
|
3037
|
+
const schemaValidationContext = {
|
|
3038
|
+
taskName: effectiveStep.task,
|
|
3039
|
+
...options.adcpVersion && { adcpVersion: options.adcpVersion },
|
|
3040
|
+
...options._serverAdcpVersion && { responseAdcpVersion: options._serverAdcpVersion },
|
|
3041
|
+
...validationTaskResult && { taskResult: validationTaskResult },
|
|
3042
|
+
agentUrl: runState.agentUrl,
|
|
3043
|
+
contributions: runState.contributions,
|
|
3044
|
+
request: requestRecord,
|
|
3045
|
+
...responseRecord && { response: responseRecord }
|
|
3046
|
+
};
|
|
3047
|
+
const decoratedCandidates = authoredSchemaValidations.map(
|
|
3048
|
+
(validation) => decorateValidationResult(baseSchemaResult, schemaValidationContext, validation)
|
|
3049
|
+
);
|
|
3050
|
+
const schemaResults = decoratedCandidates.length ? decoratedCandidates : [{ ...baseSchemaResult, severity: "required" }];
|
|
3051
|
+
schemaRejectionIsAdvisory = schemaResults.every((result) => !validationFailsStep(result));
|
|
3052
|
+
if (schemaRejectionIsAdvisory && !step.expect_error) passed = true;
|
|
3053
|
+
validations = [...schemaResults, ...validations.filter((result) => result.check !== "response_schema")];
|
|
3000
3054
|
}
|
|
3001
3055
|
if (a2aEnvelope && runState.priorA2aEnvelopes) {
|
|
3002
3056
|
runState.priorA2aEnvelopes.set(step.id, a2aEnvelope);
|
|
@@ -3081,7 +3135,7 @@ async function executeStep(client, step, storyboardId, phaseId, context, allStep
|
|
|
3081
3135
|
}
|
|
3082
3136
|
}
|
|
3083
3137
|
}
|
|
3084
|
-
const allValidationsPassedFinal = validations.every((v) => v
|
|
3138
|
+
const allValidationsPassedFinal = validations.every((v) => !validationFailsStep(v));
|
|
3085
3139
|
const stepFailed = !(passed && allValidationsPassedFinal);
|
|
3086
3140
|
const contextRejectionHints = stepFailed && runState.contextProvenance ? detectContextRejectionHints(taskResult, request, context, runState.contextProvenance, effectiveStep.task) : [];
|
|
3087
3141
|
const driftPayload = (() => {
|
|
@@ -3116,7 +3170,7 @@ async function executeStep(client, step, storyboardId, phaseId, context, allStep
|
|
|
3116
3170
|
context_provenance: Object.fromEntries(runState.contextProvenance)
|
|
3117
3171
|
},
|
|
3118
3172
|
...responseDerivedContextResult(runState),
|
|
3119
|
-
error: step.expect_error ? void 0 : truncateError(stepResult.error || taskResult?.error),
|
|
3173
|
+
error: step.expect_error || schemaRejectionIsAdvisory ? void 0 : truncateError(stepResult.error || taskResult?.error),
|
|
3120
3174
|
...!step.expect_error && taskResult?.adcp_error && { adcp_error: taskResult.adcp_error },
|
|
3121
3175
|
next,
|
|
3122
3176
|
request: requestRecord,
|
|
@@ -3422,7 +3476,7 @@ async function executeProbeStep(client, step, phaseId, context, allSteps, option
|
|
|
3422
3476
|
...oauthMetadataGraph && { oauthMetadataGraph }
|
|
3423
3477
|
};
|
|
3424
3478
|
const validations = step.validations?.length ? runValidations(step.validations, vctx) : [];
|
|
3425
|
-
const allValidationsPassed = validations.every((v) => v
|
|
3479
|
+
const allValidationsPassed = validations.every((v) => !validationFailsStep(v));
|
|
3426
3480
|
const fetchOk = httpResult ? !httpResult.error : true;
|
|
3427
3481
|
const passed = fetchOk && allValidationsPassed;
|
|
3428
3482
|
const extraction = httpResult ? httpResult.error ? { path: "error" } : { path: "structured_content", note: "http-probe body parsed as JSON" } : { path: "none" };
|
|
@@ -3630,7 +3684,7 @@ async function executeReplayWebhookVectorStep(step, phaseId, context, allSteps,
|
|
|
3630
3684
|
body: redactSecrets(httpResult.body)
|
|
3631
3685
|
};
|
|
3632
3686
|
const validations = buildWebhookReplayValidations(step, vector, allSteps, options, requestRecord, responseRecord);
|
|
3633
|
-
const allValidationsPassed = validations.every((v) => v
|
|
3687
|
+
const allValidationsPassed = validations.every((v) => !validationFailsStep(v));
|
|
3634
3688
|
const fetchOk = !httpResult.error;
|
|
3635
3689
|
const passed = fetchOk && allValidationsPassed;
|
|
3636
3690
|
return {
|