@adcp/sdk 13.0.0-rc.8 → 13.0.0-rc.9

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 (200) hide show
  1. package/dist/lib/adapters/roster-account-store.d.mts +9 -8
  2. package/dist/lib/adapters/roster-account-store.d.ts +9 -8
  3. package/dist/lib/adapters/roster-account-store.d.ts.map +1 -1
  4. package/dist/lib/adapters/roster-account-store.js +2 -1
  5. package/dist/lib/adapters/roster-account-store.js.map +1 -1
  6. package/dist/lib/adapters/roster-account-store.mjs +2 -1
  7. package/dist/lib/adapters/roster-account-store.mjs.map +1 -1
  8. package/dist/lib/net/address-guards.d.ts.map +1 -1
  9. package/dist/lib/net/address-guards.js +6 -0
  10. package/dist/lib/net/address-guards.js.map +1 -1
  11. package/dist/lib/net/address-guards.mjs +6 -0
  12. package/dist/lib/net/address-guards.mjs.map +1 -1
  13. package/dist/lib/net/ssrf-fetch.d.ts.map +1 -1
  14. package/dist/lib/net/ssrf-fetch.js +66 -53
  15. package/dist/lib/net/ssrf-fetch.js.map +1 -1
  16. package/dist/lib/net/ssrf-fetch.mjs +66 -53
  17. package/dist/lib/net/ssrf-fetch.mjs.map +1 -1
  18. package/dist/lib/schemas-data/v2.5/_provenance.json +1 -1
  19. package/dist/lib/server/account-mode.d.mts +2 -1
  20. package/dist/lib/server/account-mode.d.ts +2 -1
  21. package/dist/lib/server/account-mode.d.ts.map +1 -1
  22. package/dist/lib/server/account-mode.js +1 -0
  23. package/dist/lib/server/account-mode.js.map +1 -1
  24. package/dist/lib/server/account-mode.mjs +1 -0
  25. package/dist/lib/server/account-mode.mjs.map +1 -1
  26. package/dist/lib/server/create-adcp-server.d.mts +10 -6
  27. package/dist/lib/server/create-adcp-server.d.ts +10 -6
  28. package/dist/lib/server/create-adcp-server.d.ts.map +1 -1
  29. package/dist/lib/server/create-adcp-server.js +2 -1
  30. package/dist/lib/server/create-adcp-server.js.map +1 -1
  31. package/dist/lib/server/create-adcp-server.mjs +2 -1
  32. package/dist/lib/server/create-adcp-server.mjs.map +1 -1
  33. package/dist/lib/server/decisioning/account.d.mts +16 -11
  34. package/dist/lib/server/decisioning/account.d.ts +16 -11
  35. package/dist/lib/server/decisioning/account.d.ts.map +1 -1
  36. package/dist/lib/server/decisioning/account.js.map +1 -1
  37. package/dist/lib/server/decisioning/account.mjs.map +1 -1
  38. package/dist/lib/server/decisioning/pagination.d.mts +2 -0
  39. package/dist/lib/server/decisioning/pagination.d.ts +2 -0
  40. package/dist/lib/server/decisioning/pagination.d.ts.map +1 -1
  41. package/dist/lib/server/decisioning/pagination.js.map +1 -1
  42. package/dist/lib/server/decisioning/runtime/from-platform.d.mts +20 -14
  43. package/dist/lib/server/decisioning/runtime/from-platform.d.ts +20 -14
  44. package/dist/lib/server/decisioning/runtime/from-platform.d.ts.map +1 -1
  45. package/dist/lib/server/decisioning/runtime/from-platform.js +32 -6
  46. package/dist/lib/server/decisioning/runtime/from-platform.js.map +1 -1
  47. package/dist/lib/server/decisioning/runtime/from-platform.mjs +32 -6
  48. package/dist/lib/server/decisioning/runtime/from-platform.mjs.map +1 -1
  49. package/dist/lib/server/decisioning/specialisms/sales.d.mts +16 -4
  50. package/dist/lib/server/decisioning/specialisms/sales.d.ts +16 -4
  51. package/dist/lib/server/decisioning/specialisms/sales.d.ts.map +1 -1
  52. package/dist/lib/server/decisioning/specialisms/sales.js.map +1 -1
  53. package/dist/lib/server/index.d.ts.map +1 -1
  54. package/dist/lib/server/index.js.map +1 -1
  55. package/dist/lib/server/index.mjs.map +1 -1
  56. package/dist/lib/server/legacy/v5/index.d.mts +2 -1
  57. package/dist/lib/server/legacy/v5/index.d.ts +2 -1
  58. package/dist/lib/server/legacy/v5/index.d.ts.map +1 -1
  59. package/dist/lib/server/legacy/v5/index.js.map +1 -1
  60. package/dist/lib/server/legacy/v5/index.mjs.map +1 -1
  61. package/dist/lib/testing/compliance/comply.d.mts +2 -0
  62. package/dist/lib/testing/compliance/comply.d.ts +2 -0
  63. package/dist/lib/testing/compliance/comply.d.ts.map +1 -1
  64. package/dist/lib/testing/compliance/comply.js +45 -14
  65. package/dist/lib/testing/compliance/comply.js.map +1 -1
  66. package/dist/lib/testing/compliance/comply.mjs +45 -14
  67. package/dist/lib/testing/compliance/comply.mjs.map +1 -1
  68. package/dist/lib/testing/compliance/index.d.mts +1 -1
  69. package/dist/lib/testing/compliance/index.d.ts +1 -1
  70. package/dist/lib/testing/compliance/index.d.ts.map +1 -1
  71. package/dist/lib/testing/compliance/index.js.map +1 -1
  72. package/dist/lib/testing/compliance/index.mjs.map +1 -1
  73. package/dist/lib/testing/compliance/storyboard-tracks.d.ts.map +1 -1
  74. package/dist/lib/testing/compliance/storyboard-tracks.js +9 -1
  75. package/dist/lib/testing/compliance/storyboard-tracks.js.map +1 -1
  76. package/dist/lib/testing/compliance/storyboard-tracks.mjs +9 -1
  77. package/dist/lib/testing/compliance/storyboard-tracks.mjs.map +1 -1
  78. package/dist/lib/testing/compliance/types.d.mts +26 -25
  79. package/dist/lib/testing/compliance/types.d.ts +26 -25
  80. package/dist/lib/testing/compliance/types.d.ts.map +1 -1
  81. package/dist/lib/testing/compliance/types.js.map +1 -1
  82. package/dist/lib/testing/index.d.mts +2 -2
  83. package/dist/lib/testing/index.d.ts +2 -2
  84. package/dist/lib/testing/index.d.ts.map +1 -1
  85. package/dist/lib/testing/index.js +16 -0
  86. package/dist/lib/testing/index.js.map +1 -1
  87. package/dist/lib/testing/index.mjs +16 -0
  88. package/dist/lib/testing/index.mjs.map +1 -1
  89. package/dist/lib/testing/scenarios/media-buy.d.ts.map +1 -1
  90. package/dist/lib/testing/scenarios/media-buy.js +20 -12
  91. package/dist/lib/testing/scenarios/media-buy.js.map +1 -1
  92. package/dist/lib/testing/scenarios/media-buy.mjs +20 -12
  93. package/dist/lib/testing/scenarios/media-buy.mjs.map +1 -1
  94. package/dist/lib/testing/storyboard/creative-assets.d.mts +23 -0
  95. package/dist/lib/testing/storyboard/creative-assets.d.ts +23 -0
  96. package/dist/lib/testing/storyboard/creative-assets.d.ts.map +1 -1
  97. package/dist/lib/testing/storyboard/creative-assets.js +322 -45
  98. package/dist/lib/testing/storyboard/creative-assets.js.map +1 -1
  99. package/dist/lib/testing/storyboard/creative-assets.mjs +321 -45
  100. package/dist/lib/testing/storyboard/creative-assets.mjs.map +1 -1
  101. package/dist/lib/testing/storyboard/index.d.mts +4 -1
  102. package/dist/lib/testing/storyboard/index.d.ts +4 -1
  103. package/dist/lib/testing/storyboard/index.d.ts.map +1 -1
  104. package/dist/lib/testing/storyboard/index.js +20 -0
  105. package/dist/lib/testing/storyboard/index.js.map +1 -1
  106. package/dist/lib/testing/storyboard/index.mjs +19 -0
  107. package/dist/lib/testing/storyboard/index.mjs.map +1 -1
  108. package/dist/lib/testing/storyboard/oauth-metadata-graph/grader.d.mts +21 -0
  109. package/dist/lib/testing/storyboard/oauth-metadata-graph/grader.d.ts +22 -0
  110. package/dist/lib/testing/storyboard/oauth-metadata-graph/grader.d.ts.map +1 -0
  111. package/dist/lib/testing/storyboard/oauth-metadata-graph/grader.js +668 -0
  112. package/dist/lib/testing/storyboard/oauth-metadata-graph/grader.js.map +1 -0
  113. package/dist/lib/testing/storyboard/oauth-metadata-graph/grader.mjs +638 -0
  114. package/dist/lib/testing/storyboard/oauth-metadata-graph/grader.mjs.map +1 -0
  115. package/dist/lib/testing/storyboard/oauth-metadata-graph/index.d.mts +5 -0
  116. package/dist/lib/testing/storyboard/oauth-metadata-graph/index.d.ts +6 -0
  117. package/dist/lib/testing/storyboard/oauth-metadata-graph/index.d.ts.map +1 -0
  118. package/dist/lib/testing/storyboard/oauth-metadata-graph/index.js +44 -0
  119. package/dist/lib/testing/storyboard/oauth-metadata-graph/index.js.map +1 -0
  120. package/dist/lib/testing/storyboard/oauth-metadata-graph/index.mjs +20 -0
  121. package/dist/lib/testing/storyboard/oauth-metadata-graph/index.mjs.map +1 -0
  122. package/dist/lib/testing/storyboard/oauth-metadata-graph/types.d.mts +38 -0
  123. package/dist/lib/testing/storyboard/oauth-metadata-graph/types.d.ts +39 -0
  124. package/dist/lib/testing/storyboard/oauth-metadata-graph/types.d.ts.map +1 -0
  125. package/dist/lib/testing/storyboard/oauth-metadata-graph/types.js +17 -0
  126. package/dist/lib/testing/storyboard/oauth-metadata-graph/types.js.map +1 -0
  127. package/dist/lib/testing/storyboard/oauth-metadata-graph/types.mjs +1 -0
  128. package/dist/lib/testing/storyboard/oauth-metadata-graph/types.mjs.map +1 -0
  129. package/dist/lib/testing/storyboard/oauth-metadata-graph/vector-loader.d.mts +32 -0
  130. package/dist/lib/testing/storyboard/oauth-metadata-graph/vector-loader.d.ts +33 -0
  131. package/dist/lib/testing/storyboard/oauth-metadata-graph/vector-loader.d.ts.map +1 -0
  132. package/dist/lib/testing/storyboard/oauth-metadata-graph/vector-loader.js +105 -0
  133. package/dist/lib/testing/storyboard/oauth-metadata-graph/vector-loader.js.map +1 -0
  134. package/dist/lib/testing/storyboard/oauth-metadata-graph/vector-loader.mjs +80 -0
  135. package/dist/lib/testing/storyboard/oauth-metadata-graph/vector-loader.mjs.map +1 -0
  136. package/dist/lib/testing/storyboard/probes.d.ts.map +1 -1
  137. package/dist/lib/testing/storyboard/probes.js +2 -1
  138. package/dist/lib/testing/storyboard/probes.js.map +1 -1
  139. package/dist/lib/testing/storyboard/probes.mjs +2 -1
  140. package/dist/lib/testing/storyboard/probes.mjs.map +1 -1
  141. package/dist/lib/testing/storyboard/runner.d.ts.map +1 -1
  142. package/dist/lib/testing/storyboard/runner.js +382 -69
  143. package/dist/lib/testing/storyboard/runner.js.map +1 -1
  144. package/dist/lib/testing/storyboard/runner.mjs +387 -70
  145. package/dist/lib/testing/storyboard/runner.mjs.map +1 -1
  146. package/dist/lib/testing/storyboard/seeding.js +3 -1
  147. package/dist/lib/testing/storyboard/seeding.js.map +1 -1
  148. package/dist/lib/testing/storyboard/seeding.mjs +3 -1
  149. package/dist/lib/testing/storyboard/seeding.mjs.map +1 -1
  150. package/dist/lib/testing/storyboard/task-map.d.ts.map +1 -1
  151. package/dist/lib/testing/storyboard/task-map.js +16 -2
  152. package/dist/lib/testing/storyboard/task-map.js.map +1 -1
  153. package/dist/lib/testing/storyboard/task-map.mjs +16 -2
  154. package/dist/lib/testing/storyboard/task-map.mjs.map +1 -1
  155. package/dist/lib/testing/storyboard/trusted-match-context-replay.d.mts +11 -0
  156. package/dist/lib/testing/storyboard/trusted-match-context-replay.d.ts +12 -0
  157. package/dist/lib/testing/storyboard/trusted-match-context-replay.d.ts.map +1 -0
  158. package/dist/lib/testing/storyboard/trusted-match-context-replay.js +340 -0
  159. package/dist/lib/testing/storyboard/trusted-match-context-replay.js.map +1 -0
  160. package/dist/lib/testing/storyboard/trusted-match-context-replay.mjs +316 -0
  161. package/dist/lib/testing/storyboard/trusted-match-context-replay.mjs.map +1 -0
  162. package/dist/lib/testing/storyboard/types.d.mts +84 -15
  163. package/dist/lib/testing/storyboard/types.d.ts +84 -15
  164. package/dist/lib/testing/storyboard/types.d.ts.map +1 -1
  165. package/dist/lib/testing/storyboard/types.js +2 -0
  166. package/dist/lib/testing/storyboard/types.js.map +1 -1
  167. package/dist/lib/testing/storyboard/types.mjs +2 -0
  168. package/dist/lib/testing/storyboard/types.mjs.map +1 -1
  169. package/dist/lib/testing/storyboard/validations.d.mts +3 -0
  170. package/dist/lib/testing/storyboard/validations.d.ts +3 -0
  171. package/dist/lib/testing/storyboard/validations.d.ts.map +1 -1
  172. package/dist/lib/testing/storyboard/validations.js +64 -24
  173. package/dist/lib/testing/storyboard/validations.js.map +1 -1
  174. package/dist/lib/testing/storyboard/validations.mjs +64 -24
  175. package/dist/lib/testing/storyboard/validations.mjs.map +1 -1
  176. package/dist/lib/types/server-payload-aliases.d.mts +8 -2
  177. package/dist/lib/types/server-payload-aliases.d.ts +8 -2
  178. package/dist/lib/types/server-payload-aliases.d.ts.map +1 -1
  179. package/dist/lib/types/server-payload-aliases.js.map +1 -1
  180. package/dist/lib/upstream-recorder/recorder.d.mts +7 -18
  181. package/dist/lib/upstream-recorder/recorder.d.ts +7 -18
  182. package/dist/lib/upstream-recorder/recorder.d.ts.map +1 -1
  183. package/dist/lib/upstream-recorder/recorder.js +17 -10
  184. package/dist/lib/upstream-recorder/recorder.js.map +1 -1
  185. package/dist/lib/upstream-recorder/recorder.mjs +12 -5
  186. package/dist/lib/upstream-recorder/recorder.mjs.map +1 -1
  187. package/dist/lib/utils/redact-secrets.d.ts.map +1 -1
  188. package/dist/lib/utils/redact-secrets.js +7 -1
  189. package/dist/lib/utils/redact-secrets.js.map +1 -1
  190. package/dist/lib/utils/redact-secrets.mjs +7 -1
  191. package/dist/lib/utils/redact-secrets.mjs.map +1 -1
  192. package/dist/lib/version.d.mts +3 -3
  193. package/dist/lib/version.d.ts +3 -3
  194. package/dist/lib/version.js +3 -3
  195. package/dist/lib/version.js.map +1 -1
  196. package/dist/lib/version.mjs +3 -3
  197. package/dist/lib/version.mjs.map +1 -1
  198. package/docs/guides/BUILD-AN-AGENT.md +4 -2
  199. package/docs/llms.txt +1 -1
  200. package/package.json +2 -2
@@ -10,6 +10,7 @@
10
10
  import type { TaskResult } from '../types.mjs';
11
11
  import type { A2ATaskEnvelope, HttpProbeResult, RunnerRequestRecord, RunnerResponseRecord, StoryboardContext, StoryboardValidation, ValidationResult } from './types.mjs';
12
12
  import type { UpstreamTrafficSuccess } from '../test-controller.mjs';
13
+ import type { OAuthMetadataGraphGrade } from './oauth-metadata-graph/index.mjs';
13
14
  /**
14
15
  * Broader validation context that carries the run-level state a single
15
16
  * validation might need: the task result (for MCP tools), the HTTP probe
@@ -97,6 +98,8 @@ export interface ValidationContext {
97
98
  * two checks grade `not_applicable`.
98
99
  */
99
100
  crossResponses?: CrossResponseSet;
101
+ /** Async-prefetched result consumed by the oauth_metadata_graph check. */
102
+ oauthMetadataGraph?: OAuthMetadataGraphGrade;
100
103
  }
101
104
  /**
102
105
  * Aggregated cross-response data for `cross_response_*` validations on a
@@ -10,6 +10,7 @@
10
10
  import type { TaskResult } from '../types';
11
11
  import type { A2ATaskEnvelope, HttpProbeResult, RunnerRequestRecord, RunnerResponseRecord, StoryboardContext, StoryboardValidation, ValidationResult } from './types';
12
12
  import type { UpstreamTrafficSuccess } from '../test-controller';
13
+ import type { OAuthMetadataGraphGrade } from './oauth-metadata-graph';
13
14
  /**
14
15
  * Broader validation context that carries the run-level state a single
15
16
  * validation might need: the task result (for MCP tools), the HTTP probe
@@ -97,6 +98,8 @@ export interface ValidationContext {
97
98
  * two checks grade `not_applicable`.
98
99
  */
99
100
  crossResponses?: CrossResponseSet;
101
+ /** Async-prefetched result consumed by the oauth_metadata_graph check. */
102
+ oauthMetadataGraph?: OAuthMetadataGraphGrade;
100
103
  }
101
104
  /**
102
105
  * Aggregated cross-response data for `cross_response_*` validations on a
@@ -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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"}
@@ -38,6 +38,7 @@ var import_shape_drift_hints = require('./shape-drift-hints.js');
38
38
  var import_test_kit = require('./test-kit.js');
39
39
  var import_canonical_format_satisfaction = require('./canonical-format-satisfaction.js');
40
40
  var import_rate_limit_trip = require('./rate-limit-trip.js');
41
+ var import_oauth_metadata_graph = require('./oauth-metadata-graph/index.js');
41
42
  var import_shape_drift_hints2 = require('./shape-drift-hints.js');
42
43
  var import_path2 = require('./path.js');
43
44
  function runValidations(validations, context) {
@@ -92,6 +93,8 @@ function runValidation(validation, ctx) {
92
93
  return requireHttpResult(ctx, validation, (hr) => validateOn401RequireHeader(validation, hr));
93
94
  case "resource_equals_agent_url":
94
95
  return requireHttpResult(ctx, validation, (hr) => validateResourceEqualsAgentUrl(validation, hr, ctx.agentUrl));
96
+ case "oauth_metadata_graph":
97
+ return validateOAuthMetadataGraph(validation, ctx.oauthMetadataGraph);
95
98
  case "any_of":
96
99
  return validateAnyOf(validation, ctx.contributions);
97
100
  case "a2a_submitted_artifact":
@@ -140,11 +143,12 @@ function runValidation(validation, ctx) {
140
143
  default:
141
144
  return {
142
145
  check: validation.check,
143
- passed: true,
144
- not_applicable: true,
146
+ passed: false,
145
147
  description: validation.description,
146
- note: `runner does not implement check type '${validation.check}' \u2014 graded as not_applicable to preserve forward compatibility`,
147
- json_pointer: null
148
+ error: `runner does not implement authored check type '${validation.check}'`,
149
+ json_pointer: null,
150
+ expected: "a validation check implemented by this runner",
151
+ actual: validation.check
148
152
  };
149
153
  }
150
154
  }
@@ -1120,21 +1124,6 @@ function validateOn401RequireHeader(validation, hr) {
1120
1124
  actual: value ?? null
1121
1125
  };
1122
1126
  }
1123
- function normalizeAgentUrl(url) {
1124
- try {
1125
- const u = new URL(url);
1126
- u.hash = "";
1127
- u.search = "";
1128
- u.username = "";
1129
- u.password = "";
1130
- if (u.pathname.length > 1 && u.pathname.endsWith("/")) {
1131
- u.pathname = u.pathname.slice(0, -1);
1132
- }
1133
- return `${u.protocol.toLowerCase()}//${u.host.toLowerCase()}${u.pathname}`;
1134
- } catch {
1135
- return url;
1136
- }
1137
- }
1138
1127
  const AGENT_CARD_SUFFIX_RE = /\/\.well-known\/agent(?:-card)?\.json$/i;
1139
1128
  function canonicalizeAgentUrlForScope(url) {
1140
1129
  try {
@@ -1166,12 +1155,14 @@ function validateResourceEqualsAgentUrl(validation, hr, agentUrl) {
1166
1155
  description: validation.description,
1167
1156
  error: "Response body missing string `resource` field.",
1168
1157
  json_pointer: "/resource",
1169
- expected: normalizeAgentUrl(agentUrl),
1158
+ expected: (0, import_oauth_metadata_graph.redactOAuthUrlForOutput)((0, import_oauth_metadata_graph.normalizeOAuthResourceForComparison)(agentUrl)),
1170
1159
  actual: null
1171
1160
  };
1172
1161
  }
1173
- const expected = normalizeAgentUrl(agentUrl);
1174
- const actual = normalizeAgentUrl(resource);
1162
+ const expected = (0, import_oauth_metadata_graph.normalizeOAuthResourceForComparison)(agentUrl);
1163
+ const actual = (0, import_oauth_metadata_graph.normalizeOAuthResourceForComparison)(resource);
1164
+ const displayExpected = (0, import_oauth_metadata_graph.redactOAuthUrlForOutput)(expected);
1165
+ const displayActual = (0, import_oauth_metadata_graph.redactOAuthUrlForOutput)(actual);
1175
1166
  const passed = actual === expected;
1176
1167
  let redactedError;
1177
1168
  if (!passed) {
@@ -1182,7 +1173,7 @@ function validateResourceEqualsAgentUrl(validation, hr, agentUrl) {
1182
1173
  }
1183
1174
  const expectedHost = new URL(expected).host;
1184
1175
  const hostDiffers = actualHost !== expectedHost;
1185
- redactedError = `RFC 9728 \`resource\` does not equal the URL clients call (${expected}). ` + (hostDiffers ? `Advertised host differs from the agent host \u2014 the most common cause is copying your authorization server origin into \`resource\`. ` : `Advertised path differs from the agent path. `) + `Fix: set \`resource\` equal to the full agent URL in your protected-resource metadata document.`;
1176
+ redactedError = `RFC 9728 \`resource\` does not equal the URL clients call (${displayExpected}). ` + (hostDiffers ? `Advertised host differs from the agent host \u2014 the most common cause is copying your authorization server origin into \`resource\`. ` : `Advertised path differs from the agent path. `) + `Fix: set \`resource\` equal to the full agent URL in your protected-resource metadata document.`;
1186
1177
  }
1187
1178
  if (passed) {
1188
1179
  return {
@@ -1198,10 +1189,59 @@ function validateResourceEqualsAgentUrl(validation, hr, agentUrl) {
1198
1189
  description: validation.description,
1199
1190
  error: redactedError,
1200
1191
  json_pointer: "/resource",
1192
+ expected: displayExpected,
1193
+ actual: displayActual
1194
+ };
1195
+ }
1196
+ function validateOAuthMetadataGraph(validation, grade) {
1197
+ const expected = {
1198
+ profile: "adcp/oauth-metadata-graph/v1",
1199
+ require_authorization_servers: true,
1200
+ follow_all_authorization_servers: true,
1201
+ probe_advertised_endpoints: true
1202
+ };
1203
+ if (!grade) {
1204
+ return {
1205
+ check: validation.check,
1206
+ passed: false,
1207
+ description: validation.description,
1208
+ error: "oauth_metadata_graph was not prefetched by the storyboard runner",
1209
+ json_pointer: null,
1210
+ expected,
1211
+ actual: null
1212
+ };
1213
+ }
1214
+ if (grade.success) {
1215
+ return {
1216
+ check: validation.check,
1217
+ passed: true,
1218
+ description: validation.description,
1219
+ json_pointer: null,
1220
+ expected,
1221
+ observations: grade.observations
1222
+ };
1223
+ }
1224
+ const primary = grade.findings[0];
1225
+ return {
1226
+ check: validation.check,
1227
+ passed: false,
1228
+ description: validation.description,
1229
+ error: `${grade.error_code}: ${grade.error}`,
1230
+ json_pointer: primary?.field ? findingFieldToJsonPointer(primary.field) : null,
1201
1231
  expected,
1202
- actual
1232
+ actual: {
1233
+ code: grade.error_code,
1234
+ ...primary?.url && { url: primary.url },
1235
+ ...primary?.field && { field: primary.field },
1236
+ ...primary?.message && { detail: primary.message }
1237
+ },
1238
+ observations: grade.observations
1203
1239
  };
1204
1240
  }
1241
+ function findingFieldToJsonPointer(field) {
1242
+ const segments = field.replace(/\[(\d+)\]/g, ".$1").split(".");
1243
+ return `/${segments.map((segment) => segment.replace(/~/g, "~0").replace(/\//g, "~1")).join("/")}`;
1244
+ }
1205
1245
  function validateAnyOf(validation, contributions) {
1206
1246
  const flags = Array.isArray(validation.allowed_values) ? validation.allowed_values.map(String) : [];
1207
1247
  const passed = flags.some((f) => contributions.has(f));