@sourcey/catalog-verifier 1.1.24 → 1.1.26

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 (85) hide show
  1. package/README.md +3 -2
  2. package/SOURCEY-CLOSURE.json +83 -83
  3. package/dist/contracts/agent-readiness/src/binding.d.ts +1 -233
  4. package/dist/contracts/agent-readiness/src/binding.d.ts.map +1 -1
  5. package/dist/contracts/agent-readiness/src/binding.js +6 -127
  6. package/dist/contracts/agent-readiness/src/binding.js.map +1 -1
  7. package/dist/contracts/agent-readiness/src/declaration-acquisition.d.ts +3 -232
  8. package/dist/contracts/agent-readiness/src/declaration-acquisition.d.ts.map +1 -1
  9. package/dist/contracts/agent-readiness/src/declaration.d.ts +15 -928
  10. package/dist/contracts/agent-readiness/src/declaration.d.ts.map +1 -1
  11. package/dist/contracts/agent-readiness/src/declaration.js +11 -2
  12. package/dist/contracts/agent-readiness/src/declaration.js.map +1 -1
  13. package/dist/contracts/agent-readiness/src/grade-policy.d.ts +77 -19
  14. package/dist/contracts/agent-readiness/src/grade-policy.d.ts.map +1 -1
  15. package/dist/contracts/agent-readiness/src/grade-policy.js +67 -35
  16. package/dist/contracts/agent-readiness/src/grade-policy.js.map +1 -1
  17. package/dist/contracts/agent-readiness/src/jobs.d.ts +1 -11
  18. package/dist/contracts/agent-readiness/src/jobs.d.ts.map +1 -1
  19. package/dist/contracts/agent-readiness/src/jobs.js +1 -3
  20. package/dist/contracts/agent-readiness/src/jobs.js.map +1 -1
  21. package/dist/contracts/agent-readiness/src/offer-relations.d.ts +3 -232
  22. package/dist/contracts/agent-readiness/src/offer-relations.d.ts.map +1 -1
  23. package/dist/contracts/agent-readiness/src/release-index.d.ts +12 -276
  24. package/dist/contracts/agent-readiness/src/release-index.d.ts.map +1 -1
  25. package/dist/contracts/agent-readiness/src/revision.d.ts +15 -320
  26. package/dist/contracts/agent-readiness/src/revision.d.ts.map +1 -1
  27. package/dist/contracts/agent-readiness/src/revision.js +1 -1
  28. package/dist/contracts/agent-readiness/src/revision.js.map +1 -1
  29. package/dist/contracts/agent-readiness/src/run.d.ts +11 -41
  30. package/dist/contracts/agent-readiness/src/run.d.ts.map +1 -1
  31. package/dist/contracts/agent-readiness/src/run.js +16 -23
  32. package/dist/contracts/agent-readiness/src/run.js.map +1 -1
  33. package/dist/contracts/agent-readiness/src/shared.d.ts +71 -1
  34. package/dist/contracts/agent-readiness/src/shared.d.ts.map +1 -1
  35. package/dist/contracts/agent-readiness/src/shared.js +38 -0
  36. package/dist/contracts/agent-readiness/src/shared.js.map +1 -1
  37. package/dist/contracts/agent-readiness/src/surfaces.d.ts +3 -3
  38. package/dist/contracts/agent-readiness/src/surfaces.d.ts.map +1 -1
  39. package/dist/contracts/agent-readiness/src/surfaces.js +19 -14
  40. package/dist/contracts/agent-readiness/src/surfaces.js.map +1 -1
  41. package/dist/contracts/api/src/endpoints.d.ts +114 -1572
  42. package/dist/contracts/api/src/endpoints.d.ts.map +1 -1
  43. package/dist/contracts/api/src/endpoints.js +1 -1
  44. package/dist/contracts/api/src/endpoints.js.map +1 -1
  45. package/dist/contracts/api/src/read.d.ts +16 -520
  46. package/dist/contracts/api/src/read.d.ts.map +1 -1
  47. package/dist/contracts/api/src/read.js +1 -1
  48. package/dist/contracts/api/src/routes.d.ts +1 -0
  49. package/dist/contracts/api/src/routes.d.ts.map +1 -1
  50. package/dist/contracts/api/src/routes.js +6 -1
  51. package/dist/contracts/api/src/routes.js.map +1 -1
  52. package/dist/contracts/api/src/submissions.d.ts +3 -232
  53. package/dist/contracts/api/src/submissions.d.ts.map +1 -1
  54. package/dist/modules/agent-readiness-engine/src/authority.d.ts.map +1 -1
  55. package/dist/modules/agent-readiness-engine/src/authority.js +6 -2
  56. package/dist/modules/agent-readiness-engine/src/authority.js.map +1 -1
  57. package/dist/modules/agent-readiness-engine/src/checks.d.ts +0 -8
  58. package/dist/modules/agent-readiness-engine/src/checks.d.ts.map +1 -1
  59. package/dist/modules/agent-readiness-engine/src/checks.js +0 -24
  60. package/dist/modules/agent-readiness-engine/src/checks.js.map +1 -1
  61. package/dist/modules/agent-readiness-engine/src/path.d.ts +16 -21
  62. package/dist/modules/agent-readiness-engine/src/path.d.ts.map +1 -1
  63. package/dist/modules/agent-readiness-engine/src/path.js +49 -255
  64. package/dist/modules/agent-readiness-engine/src/path.js.map +1 -1
  65. package/dist/modules/agent-readiness-engine/src/profile.d.ts +12 -10
  66. package/dist/modules/agent-readiness-engine/src/profile.d.ts.map +1 -1
  67. package/dist/modules/agent-readiness-engine/src/profile.js +14 -12
  68. package/dist/modules/agent-readiness-engine/src/profile.js.map +1 -1
  69. package/dist/modules/agent-readiness-engine/src/rate.d.ts +7 -6
  70. package/dist/modules/agent-readiness-engine/src/rate.d.ts.map +1 -1
  71. package/dist/modules/agent-readiness-engine/src/rate.js +23 -16
  72. package/dist/modules/agent-readiness-engine/src/rate.js.map +1 -1
  73. package/dist/modules/agent-readiness-engine/src/run.d.ts.map +1 -1
  74. package/dist/modules/agent-readiness-engine/src/run.js +0 -1
  75. package/dist/modules/agent-readiness-engine/src/run.js.map +1 -1
  76. package/dist/modules/agent-readiness-jobs/src/index.d.ts +1 -58
  77. package/dist/modules/agent-readiness-jobs/src/index.d.ts.map +1 -1
  78. package/dist/modules/agent-readiness-jobs/src/index.js +1 -20
  79. package/dist/modules/agent-readiness-jobs/src/index.js.map +1 -1
  80. package/dist/modules/agent-readiness-policy/src/current-policy.d.ts +8 -8
  81. package/dist/modules/agent-readiness-policy/src/grade-policy.d.ts.map +1 -1
  82. package/dist/modules/agent-readiness-policy/src/grade-policy.js +57 -24
  83. package/dist/modules/agent-readiness-policy/src/grade-policy.js.map +1 -1
  84. package/dist/modules/release/src/verification-policies.d.ts +8 -8
  85. package/package.json +1 -1
@@ -1,9 +1,9 @@
1
1
  import { AGENT_READINESS_MAXIMUM_PAGES, AGENT_READINESS_PAGE_ROLES } from "./shared.js";
2
2
  /**
3
3
  * What the probe reads of a listing's own surfaces: the roles it rules out, its
4
- * checkout or that the job needs none, and the pages a person's or a vendor's
5
- * step happens on, each requested once, an access setting on the interface it
6
- * turns on.
4
+ * checkout or top-up page or that the job needs none, and the pages a person's
5
+ * or a vendor's step happens on, each requested once, an access setting, a
6
+ * claim page and a key renewal page on the interface they serve.
7
7
  */
8
8
  export function validateProbedSurfaces(value, context) {
9
9
  const ruledOut = value.surface_exclusions;
@@ -33,33 +33,38 @@ export function validateProbedSurfaces(value, context) {
33
33
  });
34
34
  }
35
35
  }
36
- // An access setting turns on the interface that lists it (north star §5.6, Onboard).
36
+ // An access setting turns on, a claim page claims what the agent made through, and a key renewal
37
+ // page replaces the key of, the interface that lists it (north star §5.6, Onboard and Sustain).
37
38
  const listed = new Set(value.interfaces.flatMap(({ endpoint_ids }) => endpoint_ids));
39
+ const listedBy = {
40
+ access_setting: "An access setting is listed by the interface it turns on.",
41
+ claim: "A claim page is listed by the interface it claims for.",
42
+ key_renewal: "A key renewal page is listed by the interface whose key it replaces.",
43
+ };
38
44
  for (const [index, endpoint] of value.endpoints.entries()) {
39
- if (endpoint.roles.includes("access_setting") && !listed.has(endpoint.endpoint_id)) {
40
- context.addIssue({
41
- code: "custom",
42
- path: ["endpoints", index, "roles"],
43
- message: "An access setting is listed by the interface it turns on.",
44
- });
45
+ for (const [role, message] of Object.entries(listedBy)) {
46
+ if (endpoint.roles.includes(role) && !listed.has(endpoint.endpoint_id)) {
47
+ context.addIssue({ code: "custom", path: ["endpoints", index, "roles"], message });
48
+ }
45
49
  }
46
50
  }
47
- // Pay rests on the checkout the listing names, or on the listing ruling it out (north star §5.6).
51
+ // Pay rests on the checkout or the top-up page the listing names, or on the listing ruling a
52
+ // checkout out (north star §5.6).
48
53
  const checkoutNamed = declared.has("checkout") ||
49
- value.endpoints.some((endpoint) => endpoint.roles.includes("checkout"));
54
+ value.endpoints.some((endpoint) => endpoint.roles.includes("checkout") || endpoint.roles.includes("top_up"));
50
55
  const checkoutRuledOut = roles.includes("checkout");
51
56
  if (checkoutNamed && checkoutRuledOut) {
52
57
  context.addIssue({
53
58
  code: "custom",
54
59
  path: ["surface_exclusions"],
55
- message: "A declaration names its checkout or rules it out, not both.",
60
+ message: "A declaration names its checkout or top-up page, or rules a checkout out, not both.",
56
61
  });
57
62
  }
58
63
  if (value.job_operations.length > 0 && !checkoutNamed && !checkoutRuledOut) {
59
64
  context.addIssue({
60
65
  code: "custom",
61
66
  path: ["surface_exclusions"],
62
- message: "A declaration with job operations names its checkout, or rules it out where the job needs none.",
67
+ message: "A declaration with job operations names its checkout or top-up page, or rules a checkout out where the job needs none.",
63
68
  });
64
69
  }
65
70
  const pageRole = (role) => AGENT_READINESS_PAGE_ROLES.includes(role);
@@ -1 +1 @@
1
- {"version":3,"file":"surfaces.js","sourceRoot":"","sources":["../../../../contracts/agent-readiness/src/surfaces.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"surfaces.js","sourceRoot":"","sources":["../../../../contracts/agent-readiness/src/surfaces.ts"],"names":[],"mappings":"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"}