@adcp/sdk 13.0.0-rc.20 → 13.0.0-rc.21

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.
@@ -195,7 +195,7 @@ export interface UpstreamTrafficQueryResult {
195
195
  */
196
196
  export declare function runValidations(validations: StoryboardValidation[], context: ValidationContext): ValidationResult[];
197
197
  /** Capability semver emitted in run summaries and used for advisory expiry. */
198
- export declare const RUNNER_CAPABILITY_VERSION = "13.0.0-rc.20";
198
+ export declare const RUNNER_CAPABILITY_VERSION = "13.0.0-rc.21";
199
199
  /** True when a failed validation contributes to the owning step's grade. */
200
200
  export declare function validationFailsStep(result: ValidationResult): boolean;
201
201
  /**
@@ -195,7 +195,7 @@ export interface UpstreamTrafficQueryResult {
195
195
  */
196
196
  export declare function runValidations(validations: StoryboardValidation[], context: ValidationContext): ValidationResult[];
197
197
  /** Capability semver emitted in run summaries and used for advisory expiry. */
198
- export declare const RUNNER_CAPABILITY_VERSION = "13.0.0-rc.20";
198
+ export declare const RUNNER_CAPABILITY_VERSION = "13.0.0-rc.21";
199
199
  /** True when a failed validation contributes to the owning step's grade. */
200
200
  export declare function validationFailsStep(result: ValidationResult): boolean;
201
201
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"validations.d.ts","sourceRoot":"","sources":["../../../../src/lib/testing/storyboard/validations.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validations.d.ts","sourceRoot":"","sources":["../../../../src/lib/testing/storyboard/validations.ts"],"names":[],"mappings":"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"}
@@ -129,6 +129,8 @@ function runValidation(validation, ctx) {
129
129
  return validateNumericComparison(validation, ctx, NUMERIC_OPS.at_least);
130
130
  case "field_equals_context":
131
131
  return validateFieldEqualsContext(validation, ctx);
132
+ case "field_in_context_array":
133
+ return validateFieldInContextArray(validation, ctx);
132
134
  case "upstream_traffic":
133
135
  return validateUpstreamTraffic(validation, ctx);
134
136
  case "replay_not_cached_rate_limit":
@@ -1867,6 +1869,73 @@ function validateFieldEqualsContext(validation, ctx) {
1867
1869
  actual: actual ?? null
1868
1870
  };
1869
1871
  }
1872
+ function validateFieldInContextArray(validation, ctx) {
1873
+ if (!validation.path) {
1874
+ return {
1875
+ check: "field_in_context_array",
1876
+ passed: false,
1877
+ description: validation.description,
1878
+ error: "No path specified for field_in_context_array validation",
1879
+ json_pointer: null,
1880
+ expected: "path must be set in storyboard validation entry",
1881
+ actual: null
1882
+ };
1883
+ }
1884
+ if (!validation.context_key) {
1885
+ return {
1886
+ check: "field_in_context_array",
1887
+ passed: false,
1888
+ description: validation.description,
1889
+ error: "field_in_context_array requires context_key to be set",
1890
+ json_pointer: null,
1891
+ expected: "context_key must be set in storyboard validation entry",
1892
+ actual: null
1893
+ };
1894
+ }
1895
+ const comparandResult = resolveContextComparand(validation, ctx);
1896
+ if (!comparandResult.found) {
1897
+ return {
1898
+ check: "field_in_context_array",
1899
+ passed: true,
1900
+ description: validation.description,
1901
+ observations: [comparandResult.observation]
1902
+ };
1903
+ }
1904
+ const allowed = comparandResult.value;
1905
+ const actual = (0, import_path.resolvePath)(resolveTarget(ctx).data, validation.path);
1906
+ const pointer = (0, import_path.toJsonPointer)(validation.path);
1907
+ if (!Array.isArray(allowed)) {
1908
+ return {
1909
+ check: "field_in_context_array",
1910
+ passed: false,
1911
+ description: validation.description,
1912
+ path: validation.path,
1913
+ error: `Expected context["${validation.context_key}"] to be an array; got ${JSON.stringify(allowed)}`,
1914
+ json_pointer: pointer,
1915
+ expected: "context value must be an array",
1916
+ actual: allowed
1917
+ };
1918
+ }
1919
+ if (allowed.some((candidate) => valuesMatch(actual, candidate))) {
1920
+ return {
1921
+ check: "field_in_context_array",
1922
+ passed: true,
1923
+ description: validation.description,
1924
+ path: validation.path,
1925
+ json_pointer: pointer
1926
+ };
1927
+ }
1928
+ return {
1929
+ check: "field_in_context_array",
1930
+ passed: false,
1931
+ description: validation.description,
1932
+ path: validation.path,
1933
+ error: `Expected ${JSON.stringify(actual ?? null)} to be a member of context["${validation.context_key}"] (${JSON.stringify(allowed)})`,
1934
+ json_pointer: pointer,
1935
+ expected: allowed,
1936
+ actual: actual ?? null
1937
+ };
1938
+ }
1870
1939
  function validateUpstreamTraffic(validation, ctx) {
1871
1940
  const expected = buildUpstreamTrafficExpected(validation);
1872
1941
  const invalidIdentifierPaths = collectInvalidIdentifierPaths(validation.identifier_paths);