@sourcey/catalog-verifier 1.1.24 → 1.1.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 (79) hide show
  1. package/README.md +3 -2
  2. package/SOURCEY-CLOSURE.json +77 -77
  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 +110 -1570
  42. package/dist/contracts/api/src/endpoints.d.ts.map +1 -1
  43. package/dist/contracts/api/src/read.d.ts +16 -520
  44. package/dist/contracts/api/src/read.d.ts.map +1 -1
  45. package/dist/contracts/api/src/read.js +1 -1
  46. package/dist/contracts/api/src/submissions.d.ts +3 -232
  47. package/dist/contracts/api/src/submissions.d.ts.map +1 -1
  48. package/dist/modules/agent-readiness-engine/src/authority.d.ts.map +1 -1
  49. package/dist/modules/agent-readiness-engine/src/authority.js +6 -2
  50. package/dist/modules/agent-readiness-engine/src/authority.js.map +1 -1
  51. package/dist/modules/agent-readiness-engine/src/checks.d.ts +0 -8
  52. package/dist/modules/agent-readiness-engine/src/checks.d.ts.map +1 -1
  53. package/dist/modules/agent-readiness-engine/src/checks.js +0 -24
  54. package/dist/modules/agent-readiness-engine/src/checks.js.map +1 -1
  55. package/dist/modules/agent-readiness-engine/src/path.d.ts +16 -21
  56. package/dist/modules/agent-readiness-engine/src/path.d.ts.map +1 -1
  57. package/dist/modules/agent-readiness-engine/src/path.js +49 -255
  58. package/dist/modules/agent-readiness-engine/src/path.js.map +1 -1
  59. package/dist/modules/agent-readiness-engine/src/profile.d.ts +12 -10
  60. package/dist/modules/agent-readiness-engine/src/profile.d.ts.map +1 -1
  61. package/dist/modules/agent-readiness-engine/src/profile.js +14 -12
  62. package/dist/modules/agent-readiness-engine/src/profile.js.map +1 -1
  63. package/dist/modules/agent-readiness-engine/src/rate.d.ts +7 -6
  64. package/dist/modules/agent-readiness-engine/src/rate.d.ts.map +1 -1
  65. package/dist/modules/agent-readiness-engine/src/rate.js +23 -16
  66. package/dist/modules/agent-readiness-engine/src/rate.js.map +1 -1
  67. package/dist/modules/agent-readiness-engine/src/run.d.ts.map +1 -1
  68. package/dist/modules/agent-readiness-engine/src/run.js +0 -1
  69. package/dist/modules/agent-readiness-engine/src/run.js.map +1 -1
  70. package/dist/modules/agent-readiness-jobs/src/index.d.ts +1 -58
  71. package/dist/modules/agent-readiness-jobs/src/index.d.ts.map +1 -1
  72. package/dist/modules/agent-readiness-jobs/src/index.js +1 -20
  73. package/dist/modules/agent-readiness-jobs/src/index.js.map +1 -1
  74. package/dist/modules/agent-readiness-policy/src/current-policy.d.ts +8 -8
  75. package/dist/modules/agent-readiness-policy/src/grade-policy.d.ts.map +1 -1
  76. package/dist/modules/agent-readiness-policy/src/grade-policy.js +57 -24
  77. package/dist/modules/agent-readiness-policy/src/grade-policy.js.map +1 -1
  78. package/dist/modules/release/src/verification-policies.d.ts +8 -8
  79. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"path.d.ts","sourceRoot":"","sources":["../../../../modules/agent-readiness-engine/src/path.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wDAAwD,CAAC;AACnG,OAAO,EAEL,KAAK,iBAAiB,EACtB,KAAK,wBAAwB,EAC7B,KAAK,0BAA0B,EAC/B,KAAK,uBAAuB,EAC5B,KAAK,uBAAuB,EAC5B,KAAK,kBAAkB,EACvB,KAAK,wBAAwB,EAE9B,MAAM,iDAAiD,CAAC;AAczD,2FAA2F;AAC3F,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,KAAK,EAAE,SAAS,wBAAwB,EAAE,CAAC;IACpD,mEAAmE;IACnE,QAAQ,CAAC,GAAG,EAAE,uBAAuB,CAAC;IACtC;;;OAGG;IACH,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,0EAA0E;IAC1E,QAAQ,CAAC,YAAY,EAAE,uBAAuB,GAAG,IAAI,CAAC;IACtD,4FAA4F;IAC5F,QAAQ,CAAC,WAAW,EAAE,uBAAuB,GAAG,IAAI,CAAC;IACrD,0GAA0G;IAC1G,QAAQ,CAAC,YAAY,EAAE,SAAS,uBAAuB,EAAE,CAAC;CAC3D;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE;IACvC,QAAQ,CAAC,SAAS,EAAE,0BAA0B,CAAC;IAC/C,wEAAwE;IACxE,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,oBAAoB,EAAE,cAAc,CAAC,CAAC;IAC5D,iFAAiF;IACjF,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,8FAA8F;IAC9F,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3C,kGAAkG;IAClG,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC;IACnC,2EAA2E;IAC3E,QAAQ,CAAC,IAAI,EAAE,SAAS,uBAAuB,EAAE,CAAC;CACnD,GAAG,aAAa,CAwRhB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE;IAClC,QAAQ,CAAC,GAAG,EAAE,iBAAiB,CAAC;IAChC,QAAQ,CAAC,OAAO,EAAE,wBAAwB,CAAC;IAC3C,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,oBAAoB,EAAE,cAAc,GAAG,gBAAgB,CAAC,CAAC;IAC/E,+CAA+C;IAC/C,QAAQ,CAAC,IAAI,EAAE,SAAS,uBAAuB,EAAE,CAAC;IAClD,oCAAoC;IACpC,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChD,6DAA6D;IAC7D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB,GAAG,aAAa,CAqKhB;AAED;;;;GAIG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,GAAG,aAAa,CAa1F;AA6QD,wBAAgB,WAAW,CAAC,IAAI,EAAE,kBAAkB,GAAG,wBAAwB,CAE9E;AAED,0CAA0C;AAC1C,eAAO,MAAM,gBAAgB,EAAE,uBAAmE,CAAC;AASnG,sGAAsG;AACtG,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,uBAAuB,GAAG,uBAAuB,CAEzF"}
1
+ {"version":3,"file":"path.d.ts","sourceRoot":"","sources":["../../../../modules/agent-readiness-engine/src/path.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,wDAAwD,CAAC;AACnG,OAAO,EAEL,KAAK,iBAAiB,EACtB,KAAK,0BAA0B,EAC/B,KAAK,uBAAuB,EAC5B,KAAK,uBAAuB,EAC5B,KAAK,kBAAkB,EACvB,KAAK,wBAAwB,EAE9B,MAAM,iDAAiD,CAAC;AAczD,2FAA2F;AAC3F,MAAM,WAAW,aAAa;IAC5B,QAAQ,CAAC,KAAK,EAAE,SAAS,wBAAwB,EAAE,CAAC;IACpD,mEAAmE;IACnE,QAAQ,CAAC,GAAG,EAAE,uBAAuB,CAAC;IACtC,2FAA2F;IAC3F,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,0EAA0E;IAC1E,QAAQ,CAAC,YAAY,EAAE,uBAAuB,GAAG,IAAI,CAAC;IACtD,4FAA4F;IAC5F,QAAQ,CAAC,WAAW,EAAE,uBAAuB,GAAG,IAAI,CAAC;IACrD,0GAA0G;IAC1G,QAAQ,CAAC,YAAY,EAAE,SAAS,uBAAuB,EAAE,CAAC;CAC3D;AAED;;;;;;;;;GASG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,EAAE;IACvC,QAAQ,CAAC,SAAS,EAAE,0BAA0B,CAAC;IAC/C,wEAAwE;IACxE,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,oBAAoB,EAAE,cAAc,CAAC,CAAC;IAC5D,iFAAiF;IACjF,QAAQ,CAAC,WAAW,EAAE,SAAS,MAAM,EAAE,CAAC;IACxC,8FAA8F;IAC9F,QAAQ,CAAC,cAAc,EAAE,SAAS,MAAM,EAAE,CAAC;IAC3C,8FAA8F;IAC9F,QAAQ,CAAC,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;IACvC,mGAAmG;IACnG,QAAQ,CAAC,eAAe,EAAE,SAAS,MAAM,EAAE,CAAC;IAC5C,kGAAkG;IAClG,QAAQ,CAAC,gBAAgB,EAAE,OAAO,CAAC;IACnC,2EAA2E;IAC3E,QAAQ,CAAC,IAAI,EAAE,SAAS,uBAAuB,EAAE,CAAC;CACnD,GAAG,aAAa,CA8ShB;AAED;;;;;;GAMG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE;IAClC,QAAQ,CAAC,GAAG,EAAE,iBAAiB,CAAC;IAChC,QAAQ,CAAC,MAAM,EAAE,IAAI,CAAC,oBAAoB,EAAE,gBAAgB,CAAC,CAAC;IAC9D,+CAA+C;IAC/C,QAAQ,CAAC,IAAI,EAAE,SAAS,uBAAuB,EAAE,CAAC;IAClD,6DAA6D;IAC7D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB,GAAG,aAAa,CA0BhB;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,MAAM,EAAE,aAAa,EAAE,QAAQ,EAAE,aAAa,GAAG,aAAa,CAY1F;AA6HD,wBAAgB,WAAW,CAAC,IAAI,EAAE,kBAAkB,GAAG,wBAAwB,CAE9E;AAED,0CAA0C;AAC1C,eAAO,MAAM,gBAAgB,EAAE,uBAAmE,CAAC;AASnG,sGAAsG;AACtG,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,uBAAuB,GAAG,uBAAuB,CAEzF"}
@@ -124,9 +124,15 @@ export function evaluateProbePath(input) {
124
124
  ...specEvidence,
125
125
  ]);
126
126
  })();
127
+ // What the agent makes alone lasts until a person claims it later (the shape's A): the vendor's
128
+ // claim page this interface lists, once it is there.
129
+ const claimed = pagesOf(({ page_id, found }) => input.claimPages.includes(page_id) && found);
127
130
  const onboard = (() => {
128
- if (anonymous)
129
- return result("onboard", "not_applicable", null, authority.evidence);
131
+ if (anonymous) {
132
+ return claimed.length > 0
133
+ ? result("onboard", "approval", "setup", [...authority.evidence, ...claimed])
134
+ : result("onboard", "not_applicable", null, authority.evidence);
135
+ }
130
136
  // The vendor's decision stands before any way in: whatever registration exists, it decides.
131
137
  const accessPage = pagesOf(({ page_id, found }) => input.accessGates.includes(page_id) && found);
132
138
  if (accessPage.length > 0)
@@ -134,13 +140,17 @@ export function evaluateProbePath(input) {
134
140
  // A setting a person on the account turns on once before the agent can use this interface (an
135
141
  // organization's MCP write access): a decision made once, whatever way in the agent has.
136
142
  const turnedOn = pagesOf(({ page_id, found }) => input.accessSettings.includes(page_id) && found);
137
- const agentGetsIn = (evidence) => turnedOn.length > 0
138
- ? result("onboard", "approval", "setup", [...evidence, ...turnedOn])
143
+ const agentGetsIn = (evidence) => turnedOn.length > 0 || claimed.length > 0
144
+ ? result("onboard", "approval", "setup", [...evidence, ...turnedOn, ...claimed])
139
145
  : result("onboard", "machine", null, evidence);
140
146
  if (registration === "agent")
141
147
  return agentGetsIn(registrationEvidence);
142
148
  if (registration === "claimable") {
143
- return result("onboard", "approval", "setup", [...registrationEvidence, ...turnedOn]);
149
+ return result("onboard", "approval", "setup", [
150
+ ...registrationEvidence,
151
+ ...turnedOn,
152
+ ...claimed,
153
+ ]);
144
154
  }
145
155
  // The agent's own OAuth client gets it in once the server takes it to consent (the shape's A).
146
156
  if (chain?.client && authority.outcome === "approval")
@@ -181,7 +191,11 @@ export function evaluateProbePath(input) {
181
191
  // An unanswered read could have held a manifest that names the endpoint.
182
192
  if (!run)
183
193
  return notAssessed("pay");
184
- // A dead or invented page sets nothing: the checkout counts once it is found.
194
+ // A dead or invented page sets nothing: a page counts once it is found. A balance a person tops
195
+ // up by hand recurs (the shape's "manual top-ups"); a checkout puts a card on file once.
196
+ const toppedUp = pagesOf(({ role, found }) => role === "top_up" && found);
197
+ if (toppedUp.length > 0)
198
+ return result("pay", "workaround", "recurring", toppedUp);
185
199
  const checkout = pagesOf(({ role, found }) => role === "checkout" && found);
186
200
  return checkout.length > 0
187
201
  ? result("pay", "workaround", "setup", checkout)
@@ -241,7 +255,13 @@ export function evaluateProbePath(input) {
241
255
  ? result("sustain", "machine", null, metadata)
242
256
  : result("sustain", "workaround", "setup", metadata);
243
257
  }
244
- return result("sustain", "workaround", "setup", [...authority.evidence, ...specEvidence]);
258
+ // A key the vendor expires with no API to renew it: a person replaces it each time (the shape's
259
+ // "keys that expire with no renewal API"), at the page this interface lists, once it is there.
260
+ const expiring = pagesOf(({ page_id, found }) => input.keyRenewalPages.includes(page_id) && found);
261
+ const evidence = [...authority.evidence, ...specEvidence];
262
+ return expiring.length > 0
263
+ ? result("sustain", "workaround", "recurring", [...evidence, ...expiring])
264
+ : result("sustain", "workaround", "setup", evidence);
245
265
  })();
246
266
  return {
247
267
  steps: [discover, authority, onboard, pay, confirm, sustain],
@@ -253,167 +273,46 @@ export function evaluateProbePath(input) {
253
273
  };
254
274
  }
255
275
  /**
256
- * The verified path of one binding: what performing the job with its authority
257
- * establishes (north star §5.6, precedence). Only the vendor's own runs can
258
- * lower a letter: a refusal of authority a vendor run proved valid counts when
259
- * the vendor's latest run holds it and its earlier runs reproduce it (the
260
- * job's refusal makes the job `unavailable`, Authority's makes that step
261
- * `gated`, and a 402 is a balance a person tops up: Pay's recurring
262
- * `workaround`), and so do failed assertions reproduced the same way (the job
263
- * `unavailable`). Otherwise the latest run that did the job decides while it
264
- * is fresh; a failing run from anyone else never lowers a letter.
276
+ * The verified path of one binding: proof, not the grade (north star §5.6). The
277
+ * latest run that did the job, while it is fresh, makes the job `verified`; a
278
+ * verified run sets no step and never makes the job `unavailable`, which only
279
+ * the probes find. The path rests on that run, or on the latest run when none
280
+ * did the job.
265
281
  */
266
282
  export function evaluatePath(input) {
267
283
  const runs = oldestFirst(input.runs);
268
284
  const latestRun = runs.at(-1);
269
285
  if (!latestRun)
270
286
  throw new Error("A verified path needs at least one run.");
271
- const { job, binding } = input;
272
- const { reproduction: rule } = input.policy;
287
+ const { job } = input;
273
288
  const succeeded = (run) => run.assertions.length === job.assertions.length &&
274
289
  job.assertions.every(({ name }) => run.assertions.some(({ assertion, holds }) => assertion === name && holds));
275
290
  const fresh = (run) => Date.parse(input.asOf) - Date.parse(run.finished_at) <= input.policy.fresh_for_days * DAY_MS;
276
- const vendorRuns = runs.filter(({ label }) => label === "vendor_run_verified");
277
- const holds = (found) => found?.latest === true && reproduced(found.runs, rule);
278
- // Runs whose job completed and an assertion did not hold: the API exists but does not do the job.
279
- const failedRun = (run) => run.assertions.length > 0 && run.assertions.some(({ holds: held }) => !held);
280
- const vendorLatest = vendorRuns.at(-1);
281
- const jobRefusals = refusals(vendorRuns, "job", rule.statuses);
282
- const payRefusals = refusals(vendorRuns, "job", [402]);
283
- const authorityRefusals = refusals(vendorRuns, "delegation", rule.statuses);
284
- const failures = vendorRuns.filter(failedRun);
285
- const failing = vendorLatest !== undefined && failedRun(vendorLatest);
286
- const lowered = holds(jobRefusals) ||
287
- holds(payRefusals) ||
288
- holds(authorityRefusals) ||
289
- (failing && reproduced(failures, rule));
290
- // The run that decides: the vendor's, when its runs reproduce a failure; else the latest fresh success.
291
- const current = (lowered ? vendorLatest : [...runs].reverse().find((run) => succeeded(run) && fresh(run))) ??
292
- vendorLatest ??
293
- latestRun;
294
- const ok = !lowered && succeeded(current) && fresh(current);
295
- const jobEvidence = exchangeEvidence(current, (entry) => entry.purpose === "job");
296
- const jobOutcome = (() => {
297
- if (ok)
298
- return jobResult("verified", jobEvidence);
299
- if (holds(jobRefusals))
300
- return jobResult("unavailable", jobRefusals.evidence);
301
- if (failing && reproduced(failures, rule)) {
302
- return jobResult("unavailable", failures.flatMap((run) => exchangeEvidence(run, (entry) => entry.purpose === "job")));
303
- }
304
- return NOT_ASSESSED_JOB;
305
- })();
306
- const usedRoles = [...new Set(binding.calls.flatMap(({ credentials }) => credentials))];
307
- const authorityStep = (() => {
308
- if (binding.delegation.kind === "none") {
309
- return ok && usedRoles.length === 0
310
- ? result("authority", "not_applicable", null, jobEvidence)
311
- : notAssessed("authority");
312
- }
313
- if (holds(authorityRefusals)) {
314
- return result("authority", "gated", null, authorityRefusals.evidence);
315
- }
316
- // The authority the job actually carried: the handles on its own requests.
317
- const carried = new Set(current.exchanges.flatMap((entry) => entry.purpose === "job" && entry.role === "request"
318
- ? entry.record.request.credentials.map(({ handle_digest }) => handle_digest)
319
- : []));
320
- const held = current.credentials.filter(({ handle_digest }) => carried.has(handle_digest));
321
- if (usedRoles.length === 0 || held.length === 0 || held.length !== carried.size) {
322
- return notAssessed("authority");
323
- }
324
- const evidence = held.map((source) => ({
325
- kind: "credential",
326
- run_digest: current.run_digest,
327
- handle_digest: source.handle_digest,
328
- }));
329
- const issuedBy = new Set(held.flatMap(({ source }) => (source.kind === "issued" ? [source.exchange_digest] : [])));
330
- evidence.push(...exchangeEvidence(current, (entry) => issuedBy.has(entry.record.exchange_digest)));
331
- if (held.some(({ source }) => source.kind === "entered")) {
332
- return result("authority", "workaround", "setup", evidence);
333
- }
334
- return binding.delegation.kind === "oauth"
335
- ? result("authority", "approval", "setup", evidence)
336
- : result("authority", "machine", null, evidence);
337
- })();
338
- const payStep = (() => {
339
- if (holds(payRefusals)) {
340
- return result("pay", "workaround", "recurring", payRefusals.evidence);
341
- }
342
- if (!ok)
343
- return notAssessed("pay");
344
- switch (binding.payment.kind) {
345
- case "none":
346
- return result("pay", "not_applicable", null, jobEvidence);
347
- case "per_call":
348
- return result("pay", "machine", null, jobEvidence);
349
- case "prepaid_balance":
350
- // A balance a person set up: the run leaves Pay to the probes.
351
- return notAssessed("pay");
352
- }
353
- })();
354
- const confirmStep = (() => {
355
- if (!ok || current.error_probe === null)
356
- return notAssessed("confirm");
357
- const evidence = [
358
- ...jobEvidence,
359
- ...exchangeEvidence(current, (entry) => entry.purpose === "error_probe"),
360
- ];
361
- return current.error_probe.typed
362
- ? result("confirm", "machine", null, evidence)
363
- : result("confirm", "workaround", "recurring", evidence);
364
- })();
365
- const sustainStep = (() => {
366
- if (binding.delegation.kind === "none") {
367
- return ok ? result("sustain", "not_applicable", null, jobEvidence) : notAssessed("sustain");
368
- }
369
- const { rotation, revocation } = binding.sustain;
370
- const witnessed = upkeepWitnesses(current);
371
- // Only an exchange witnesses upkeep: a manual or unwitnessed part leaves Sustain to the probes.
372
- const machine = (rotation.kind === "refresh" || rotation.kind === "mint") &&
373
- witnessed.rotation &&
374
- revocation.kind === "call" &&
375
- witnessed.revocation;
376
- return machine
377
- ? result("sustain", "machine", null, exchangeEvidence(current, (entry) => entry.purpose.startsWith("sustain_")))
378
- : notAssessed("sustain");
379
- })();
380
- const pending = (found) => found?.latest === true && !reproduced(found.runs, rule);
291
+ const proof = [...runs].reverse().find((run) => succeeded(run) && fresh(run));
381
292
  return {
382
- // Discover and Onboard are the probes' alone: a verified run reads no descriptor and registers nothing.
383
- steps: [
384
- notAssessed("discover"),
385
- authorityStep,
386
- notAssessed("onboard"),
387
- payStep,
388
- confirmStep,
389
- sustainStep,
390
- ],
391
- job: jobOutcome,
392
- reproducible: pending(jobRefusals) ||
393
- pending(payRefusals) ||
394
- pending(authorityRefusals) ||
395
- (failing && !reproduced(failures, rule)),
396
- // A verified run reads no descriptor.
293
+ steps: AGENT_READINESS_STEPS.map(notAssessed),
294
+ job: proof
295
+ ? jobResult("verified", exchangeEvidence(proof, (entry) => entry.purpose === "job"))
296
+ : NOT_ASSESSED_JOB,
297
+ reproducible: false,
397
298
  discoveryRun: null,
398
- verifiedRun: current,
299
+ verifiedRun: proof ?? latestRun,
399
300
  standingRuns: [],
400
301
  };
401
302
  }
402
303
  /**
403
- * Verified outcomes replace probed ones for the steps the verified run
404
- * assessed, and for the job (north star §5.6, precedence); a step it left
405
- * unassessed keeps its probed outcome.
304
+ * A binding's path: every step the probes', and the job verified where its run
305
+ * proved a job the probes found reachable (north star §5.6). A verified job
306
+ * grades as a reachable one does, so the run never changes the letter: it
307
+ * cannot lift a probed `unavailable` or settle a job the probes left open.
406
308
  */
407
309
  export function combinePaths(probed, verified) {
408
310
  return {
409
- steps: probed.steps.map((step, index) => {
410
- const replacement = verified.steps[index];
411
- if (replacement?.step !== step.step)
412
- throw new Error("Paths list steps in path order.");
413
- return replacement.outcome === "not_assessed" ? step : replacement;
414
- }),
415
- job: verified.job.outcome === "not_assessed" ? probed.job : verified.job,
416
- reproducible: probed.reproducible || verified.reproducible,
311
+ steps: probed.steps,
312
+ job: verified.job.outcome === "verified" && probed.job.outcome === "reachable"
313
+ ? verified.job
314
+ : probed.job,
315
+ reproducible: probed.reproducible,
417
316
  discoveryRun: probed.discoveryRun,
418
317
  verifiedRun: verified.verifiedRun,
419
318
  standingRuns: probed.standingRuns,
@@ -463,106 +362,6 @@ function ownDomain(url, domains) {
463
362
  const host = new URL(url).hostname.toLowerCase();
464
363
  return domains.some((domain) => host === domain || host.endsWith(`.${domain}`));
465
364
  }
466
- /** Accepted maintenance requests are not effects: correlate their readbacks. */
467
- function upkeepWitnesses(run) {
468
- const at = (purpose) => run.exchanges.findIndex((entry) => entry.purpose === purpose && entry.role === "request");
469
- const baselineAt = at("sustain_baseline");
470
- const rotationAt = at("sustain_rotation");
471
- const rotatedAt = at("sustain_rotated_probe");
472
- const revokeAt = at("sustain_revocation");
473
- const refusedAt = at("sustain_revoked_probe");
474
- const controlAt = at("sustain_control_probe");
475
- const baseline = run.exchanges[baselineAt];
476
- const rotation = run.exchanges[rotationAt];
477
- const rotated = run.exchanges[rotatedAt];
478
- const revoke = run.exchanges[revokeAt];
479
- const refused = run.exchanges[refusedAt];
480
- const control = run.exchanges[controlAt];
481
- const handles = (entry) => entry?.record.request.credentials.map(({ handle_digest }) => handle_digest) ?? [];
482
- const sameHandles = (a, b) => {
483
- const left = handles(a);
484
- const right = handles(b);
485
- return (left.length > 0 &&
486
- left.length === right.length &&
487
- left.every((handle) => right.includes(handle)));
488
- };
489
- const sameProbe = (a, b) => a !== undefined &&
490
- b !== undefined &&
491
- a.record.request.method === "GET" &&
492
- b.record.request.method === "GET" &&
493
- a.record.request.url === b.record.request.url &&
494
- a.record.request.body === null &&
495
- b.record.request.body === null;
496
- const issued = handles(rotated).length > 0 &&
497
- handles(rotated).every((handle) => run.credentials.some((credential) => credential.handle_digest === handle &&
498
- credential.source.kind === "issued" &&
499
- credential.source.exchange_digest === rotation?.record.exchange_digest));
500
- const renewed = baselineAt >= 0 &&
501
- baselineAt < rotationAt &&
502
- rotationAt < rotatedAt &&
503
- succeeded(baseline) &&
504
- succeeded(rotation) &&
505
- succeeded(rotated) &&
506
- sameProbe(baseline, rotated) &&
507
- issued &&
508
- handles(rotated).every((handle) => !handles(baseline).includes(handle));
509
- const activeAt = rotatedAt >= 0 ? rotatedAt : baselineAt;
510
- const active = run.exchanges[activeAt];
511
- const revoked = activeAt >= 0 &&
512
- activeAt < revokeAt &&
513
- revokeAt < refusedAt &&
514
- refusedAt < controlAt &&
515
- succeeded(active) &&
516
- succeeded(revoke) &&
517
- succeeded(control) &&
518
- refused?.record.outcome === "responded" &&
519
- [401, 403].includes(refused.record.response.status) &&
520
- sameHandles(active, refused) &&
521
- sameProbe(active, refused) &&
522
- sameProbe(refused, control) &&
523
- handles(control).length > 0 &&
524
- handles(control).every((handle) => !handles(refused).includes(handle));
525
- return { rotation: renewed, revocation: revoked };
526
- }
527
- /**
528
- * Each run's refusal at `purpose` with one of `statuses`, holding authority
529
- * the same run proved valid: at least one credential, each issued in the run
530
- * by an exchange that succeeded or carried by another exchange that succeeded.
531
- * A request with no credential proves nothing about authority, so it is never
532
- * a refusal (missing authority is residue). Null when no run refused.
533
- */
534
- function refusals(runs, purpose, statuses) {
535
- const found = runs.flatMap((run) => {
536
- const refused = run.exchanges.find((entry) => entry.purpose === purpose &&
537
- entry.record.outcome === "responded" &&
538
- statuses.includes(entry.record.response.status));
539
- if (refused?.record.outcome !== "responded")
540
- return [];
541
- const credentials = refused.record.request.credentials.map(({ handle_digest }) => handle_digest);
542
- const proved = (handle) => run.credentials.some(({ handle_digest, source }) => handle_digest === handle &&
543
- source.kind === "issued" &&
544
- run.exchanges.some((entry) => entry.record.exchange_digest === source.exchange_digest && succeeded(entry))) ||
545
- run.exchanges.some((entry) => entry !== refused &&
546
- succeeded(entry) &&
547
- entry.record.request.credentials.some(({ handle_digest }) => handle_digest === handle));
548
- return credentials.length > 0 && credentials.every(proved)
549
- ? [{ run, entry: refused, status: refused.record.response.status }]
550
- : [];
551
- });
552
- const last = found.at(-1);
553
- if (!last)
554
- return null;
555
- const same = found.filter(({ status }) => status === last.status);
556
- return {
557
- runs: same.map(({ run }) => run),
558
- evidence: same.slice(-MAXIMUM_EVIDENCE).map(({ run, entry }) => ({
559
- kind: "exchange",
560
- run_digest: run.run_digest,
561
- exchange_digest: entry.record.exchange_digest,
562
- })),
563
- latest: last.run === runs.at(-1),
564
- };
565
- }
566
365
  /**
567
366
  * The latest of `found` that reproduce a finding, the fewest that do, or none:
568
367
  * a revision cites only these (north star §5.4).
@@ -588,11 +387,6 @@ function reproduced(found, rule) {
588
387
  Date.parse(last.finished_at) - Date.parse(first.finished_at) >=
589
388
  rule.minimum_interval_seconds * 1_000);
590
389
  }
591
- function succeeded(entry) {
592
- return (entry?.record.outcome === "responded" &&
593
- entry.record.response.status >= 200 &&
594
- entry.record.response.status <= 299);
595
- }
596
390
  function oldestFirst(runs) {
597
391
  return [...runs].sort((left, right) => compareInstants(left.finished_at, right.finished_at) ||
598
392
  (left.run_digest < right.run_digest ? -1 : 1));
@@ -1 +1 @@
1
- {"version":3,"file":"path.js","sourceRoot":"","sources":["../../../../modules/agent-readiness-engine/src/path.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"path.js","sourceRoot":"","sources":["../../../../modules/agent-readiness-engine/src/path.ts"],"names":[],"mappings":"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"}
@@ -36,12 +36,14 @@ export interface AgentReadinessProfilePath {
36
36
  */
37
37
  export declare function agentReadinessAccessGates(declaration: Pick<Declaration, "endpoints" | "interfaces">, interfaceId: string): readonly string[];
38
38
  /**
39
- * The settings a person on the account turns on once before an agent can use
40
- * one interface (north star §5.6, Onboard `approval`): the `access_setting`
41
- * pages the interface lists, each holding once the probe's request for it is
42
- * answered.
39
+ * The pages one interface lists for a person's step on it (north star §5.6):
40
+ * the `access_setting` a person on the account turns on once and the `claim`
41
+ * page where a person claims later what the agent made alone (Onboard
42
+ * `approval`), and the `key_renewal` page where a person replaces a key the
43
+ * vendor expires with no API to renew it (Sustain, recurring). Each holds once
44
+ * the probe's request for it is answered.
43
45
  */
44
- export declare function agentReadinessAccessSettings(declaration: Pick<Declaration, "endpoints" | "interfaces">, interfaceId: string): readonly string[];
46
+ export declare function agentReadinessInterfacePages(declaration: Pick<Declaration, "endpoints" | "interfaces">, interfaceId: string, role: "access_setting" | "claim" | "key_renewal"): readonly string[];
45
47
  /**
46
48
  * The declaration rules out a checkout (north star §5.6, Pay): the job is free
47
49
  * on an account, or paid per call by the offer its own request answers, which
@@ -49,8 +51,8 @@ export declare function agentReadinessAccessSettings(declaration: Pick<Declarati
49
51
  */
50
52
  export declare function agentReadinessCheckoutRuledOut(declaration: Pick<Declaration, "surface_exclusions">): boolean;
51
53
  /**
52
- * The path of one interface (north star §5.6): its probed path, with the
53
- * binding's verified outcomes replacing probed ones where assessed. With no
54
+ * The path of one interface (north star §5.6): its probed path, with the job
55
+ * verified where the binding's run proved it. With no
54
56
  * interface, nothing declared performs the job: F on the declaration itself.
55
57
  * The verifier re-derives a revision's steps here, for exactly the interface
56
58
  * and binding the revision names.
@@ -58,7 +60,7 @@ export declare function agentReadinessCheckoutRuledOut(declaration: Pick<Declara
58
60
  export declare function evaluateInterfacePath(input: {
59
61
  readonly job: AgentReadinessJob;
60
62
  readonly declaration: Declaration;
61
- readonly policy: Pick<AgentReadinessPolicy, "reproduction" | "letters" | "fresh_for_days">;
63
+ readonly policy: Pick<AgentReadinessPolicy, "reproduction" | "letters" | "person_steps" | "fresh_for_days">;
62
64
  readonly interfaceId: string | null;
63
65
  readonly binding: AgentReadinessJobBinding | null;
64
66
  /** Probe runs of the profile's current declaration revision. */
@@ -68,7 +70,7 @@ export declare function evaluateInterfacePath(input: {
68
70
  }): AgentReadinessProfilePath;
69
71
  /**
70
72
  * Every interface that performs the job gives its own path: probes alone, or
71
- * each binding on it that has verified runs, whose outcomes take precedence.
73
+ * each binding on it that has verified runs, which can only prove the job.
72
74
  * The best letter is the profile's; at the same letter a path whose job a run
73
75
  * proved comes first, then the earlier declared operation and binding.
74
76
  * `reproducible` holds only while nothing grades, since a reproduced finding
@@ -77,7 +79,7 @@ export declare function evaluateInterfacePath(input: {
77
79
  export declare function evaluateProfile(input: {
78
80
  readonly job: AgentReadinessJob;
79
81
  readonly declaration: Declaration;
80
- readonly policy: Pick<AgentReadinessPolicy, "reproduction" | "letters" | "fresh_for_days">;
82
+ readonly policy: Pick<AgentReadinessPolicy, "reproduction" | "letters" | "person_steps" | "fresh_for_days">;
81
83
  readonly probeRuns: readonly AgentReadinessRunRecord[];
82
84
  readonly verifiedRuns: readonly AgentReadinessRunRecord[];
83
85
  }): AgentReadinessProfilePath;
@@ -1 +1 @@
1
- {"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../../../../modules/agent-readiness-engine/src/profile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../../../../modules/agent-readiness-engine/src/profile.ts"],"names":[],"mappings":"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"}