inamprotocol 0.14.0 → 0.15.0

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/a2a.d.ts ADDED
@@ -0,0 +1,52 @@
1
+ import type { InamClient } from "./client.js";
2
+ import type { AgentRecord, ReputationResult } from "./types.js";
3
+ import { type X402Policy } from "./x402.js";
4
+ /** INAM reputation on an A2A Agent Card (SPEC.md §11.3).
5
+ *
6
+ * A data-only A2A extension: the card names its INAM ID, and a client
7
+ * accepts it only if that ID has, with its own key, linked the same service
8
+ * endpoint (`linked.a2a_endpoint`, SPEC.md §2). Both sides name each other,
9
+ * so a card can't borrow a reputable agent's ID and an ID can't adopt
10
+ * someone else's endpoint. */
11
+ export declare const INAM_A2A_EXTENSION_URI = "https://inamprotocol.org/ext/a2a/v1";
12
+ export type A2APolicy = X402Policy;
13
+ export interface A2ADecision {
14
+ allow: boolean;
15
+ reason: string;
16
+ did?: string;
17
+ reputation?: ReputationResult;
18
+ }
19
+ interface AgentExtension {
20
+ uri: string;
21
+ params?: {
22
+ did?: unknown;
23
+ };
24
+ }
25
+ /** The parts of an A2A Agent Card this check reads: v1.0 `supportedInterfaces`, v0.3 `url`/`additionalInterfaces`. */
26
+ export interface A2AAgentCardLike {
27
+ url?: string;
28
+ supportedInterfaces?: {
29
+ url: string;
30
+ }[];
31
+ additionalInterfaces?: {
32
+ url: string;
33
+ }[];
34
+ capabilities?: {
35
+ extensions?: AgentExtension[];
36
+ };
37
+ }
38
+ /** The `capabilities.extensions` entry an agent adds to its card. Never `required`: it is data-only. */
39
+ export declare function inamA2AExtension(did: string): {
40
+ uri: string;
41
+ description: string;
42
+ required: boolean;
43
+ params: {
44
+ did: string;
45
+ };
46
+ };
47
+ export declare function cardEndpoints(card: A2AAgentCardLike): string[];
48
+ /** Pure check, for callers that already fetched the agent and its reputation. */
49
+ export declare function decideA2A(card: A2AAgentCardLike, agent: AgentRecord, reputation: ReputationResult, policy?: A2APolicy): A2ADecision;
50
+ /** Reads the INAM extension off a card and checks it against the registry `inam` points at. */
51
+ export declare function verifyA2ACard(card: A2AAgentCardLike, inam: InamClient, policy?: A2APolicy): Promise<A2ADecision>;
52
+ export {};
package/dist/a2a.js ADDED
@@ -0,0 +1,58 @@
1
+ import { policyFailure } from "./x402.js";
2
+ /** INAM reputation on an A2A Agent Card (SPEC.md §11.3).
3
+ *
4
+ * A data-only A2A extension: the card names its INAM ID, and a client
5
+ * accepts it only if that ID has, with its own key, linked the same service
6
+ * endpoint (`linked.a2a_endpoint`, SPEC.md §2). Both sides name each other,
7
+ * so a card can't borrow a reputable agent's ID and an ID can't adopt
8
+ * someone else's endpoint. */
9
+ export const INAM_A2A_EXTENSION_URI = "https://inamprotocol.org/ext/a2a/v1";
10
+ /** The `capabilities.extensions` entry an agent adds to its card. Never `required`: it is data-only. */
11
+ export function inamA2AExtension(did) {
12
+ return {
13
+ uri: INAM_A2A_EXTENSION_URI,
14
+ description: "This agent's INAM ID. Verify it links this endpoint, then read its receipt-based reputation.",
15
+ required: false,
16
+ params: { did },
17
+ };
18
+ }
19
+ function normalize(u) {
20
+ try {
21
+ return new URL(u).href.replace(/\/+$/, "");
22
+ }
23
+ catch {
24
+ return null;
25
+ }
26
+ }
27
+ export function cardEndpoints(card) {
28
+ return [card.url, ...(card.supportedInterfaces ?? []), ...(card.additionalInterfaces ?? [])]
29
+ .map((x) => (typeof x === "string" ? x : x?.url))
30
+ .filter((x) => typeof x === "string");
31
+ }
32
+ /** Pure check, for callers that already fetched the agent and its reputation. */
33
+ export function decideA2A(card, agent, reputation, policy = {}) {
34
+ const base = { did: agent.id, reputation };
35
+ if (agent.revokedAt)
36
+ return { ...base, allow: false, reason: "INAM ID is revoked" };
37
+ const linked = agent.linked.a2a_endpoint && normalize(agent.linked.a2a_endpoint);
38
+ if (!linked || !cardEndpoints(card).some((u) => normalize(u) === linked)) {
39
+ return { ...base, allow: false, reason: "no endpoint on this card is the a2a_endpoint the INAM ID linked" };
40
+ }
41
+ const failed = policyFailure(reputation, policy);
42
+ return failed ? { ...base, allow: false, reason: failed } : { ...base, allow: true, reason: "ok" };
43
+ }
44
+ /** Reads the INAM extension off a card and checks it against the registry `inam` points at. */
45
+ export async function verifyA2ACard(card, inam, policy = {}) {
46
+ const did = card.capabilities?.extensions?.find((e) => e.uri === INAM_A2A_EXTENSION_URI)?.params?.did;
47
+ if (typeof did !== "string")
48
+ return { allow: false, reason: "card names no INAM ID" };
49
+ let agent, reputation;
50
+ try {
51
+ [agent, reputation] = await Promise.all([inam.getAgent(did), inam.getReputation(did)]);
52
+ }
53
+ catch {
54
+ return { allow: false, did, reason: "INAM ID not found in the registry" };
55
+ }
56
+ return decideA2A(card, agent, reputation, policy);
57
+ }
58
+ //# sourceMappingURL=a2a.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"a2a.js","sourceRoot":"","sources":["../src/a2a.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -13,3 +13,5 @@ export { registerAgentSchema, linkChallengeSchema, linkSchema, postJobSchema, of
13
13
  export type { LinkedIdentities, ExternalKeyType, LinkChallenge, AgentRecord, VerificationMethod, ReceiptOutcome, ReceiptStatus, DisputeStatus, ExecutionReceipt, SignableReceiptContent, ReputationComponents, ReputationRoleBreakdown, ReputationResult, JobStatus, JobOffer, JobRecord, IndependentVerificationMethod, VerificationResult, VerificationRecord, } from "./types.js";
14
14
  export { INAM_X402_EXTENSION, inamX402Extension, decideX402, withInamX402Gate, X402PaymentBlocked } from "./x402.js";
15
15
  export type { X402Policy, X402Decision } from "./x402.js";
16
+ export { INAM_A2A_EXTENSION_URI, inamA2AExtension, decideA2A, verifyA2ACard, cardEndpoints } from "./a2a.js";
17
+ export type { A2APolicy, A2ADecision, A2AAgentCardLike } from "./a2a.js";
package/dist/index.js CHANGED
@@ -21,4 +21,5 @@ export { payloadHash } from "./core/transparencyLog.js";
21
21
  // InamClient) can validate a payload client-side before sending it.
22
22
  export { registerAgentSchema, linkChallengeSchema, linkSchema, postJobSchema, offerSchema, acceptOfferSchema, draftReceiptSchema, countersignSchema, disputeSchema, submitVerificationSchema, setVerifierStatusSchema, } from "./core/schemas.js";
23
23
  export { INAM_X402_EXTENSION, inamX402Extension, decideX402, withInamX402Gate, X402PaymentBlocked } from "./x402.js";
24
+ export { INAM_A2A_EXTENSION_URI, inamA2AExtension, decideA2A, verifyA2ACard, cardEndpoints } from "./a2a.js";
24
25
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,cAAc,EACd,cAAc,EACd,IAAI,EACJ,MAAM,EACN,gBAAgB,EAChB,SAAS,EACT,QAAQ,EACR,UAAU,EACV,KAAK,EACL,OAAO,GAER,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,mBAAmB,EAAE,QAAQ,EAAE,UAAU,EAAoB,MAAM,kBAAkB,CAAC;AAE/F,OAAO,EACL,wBAAwB,EACxB,aAAa,EACb,eAAe,EACf,mCAAmC,EACnC,qBAAqB,GAEtB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAA4B,MAAM,0BAA0B,CAAC;AAE5G,qEAAqE;AACrE,yEAAyE;AACzE,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAExF,OAAO,EAAE,qBAAqB,EAAE,gCAAgC,EAAiC,MAAM,+BAA+B,CAAC;AAEvI,2EAA2E;AAC3E,0EAA0E;AAC1E,sEAAsE;AACtE,0CAA0C;AAC1C,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,EAA8B,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAGpF,4EAA4E;AAC5E,2EAA2E;AAC3E,sEAAsE;AACtE,wEAAwE;AACxE,oEAAoE;AACpE,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,UAAU,EACV,aAAa,EACb,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,EACb,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,mBAAmB,CAAC;AAuB3B,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,UAAU,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,cAAc,EACd,cAAc,EACd,IAAI,EACJ,MAAM,EACN,gBAAgB,EAChB,SAAS,EACT,QAAQ,EACR,UAAU,EACV,KAAK,EACL,OAAO,GAER,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,mBAAmB,EAAE,QAAQ,EAAE,UAAU,EAAoB,MAAM,kBAAkB,CAAC;AAE/F,OAAO,EACL,wBAAwB,EACxB,aAAa,EACb,eAAe,EACf,mCAAmC,EACnC,qBAAqB,GAEtB,MAAM,uBAAuB,CAAC;AAE/B,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,OAAO,EAAE,gBAAgB,EAAE,oBAAoB,EAA4B,MAAM,0BAA0B,CAAC;AAE5G,qEAAqE;AACrE,yEAAyE;AACzE,OAAO,EAAE,qBAAqB,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AAExF,OAAO,EAAE,qBAAqB,EAAE,gCAAgC,EAAiC,MAAM,+BAA+B,CAAC;AAEvI,2EAA2E;AAC3E,0EAA0E;AAC1E,sEAAsE;AACtE,0CAA0C;AAC1C,OAAO,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACzE,OAAO,EAA8B,WAAW,EAAE,MAAM,2BAA2B,CAAC;AAGpF,4EAA4E;AAC5E,2EAA2E;AAC3E,sEAAsE;AACtE,wEAAwE;AACxE,oEAAoE;AACpE,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,UAAU,EACV,aAAa,EACb,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,aAAa,EACb,wBAAwB,EACxB,uBAAuB,GACxB,MAAM,mBAAmB,CAAC;AAuB3B,OAAO,EAAE,mBAAmB,EAAE,iBAAiB,EAAE,UAAU,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAC;AAErH,OAAO,EAAE,sBAAsB,EAAE,gBAAgB,EAAE,SAAS,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC"}
package/dist/x402.d.ts CHANGED
@@ -42,6 +42,8 @@ export declare function inamX402Extension(did: string): {
42
42
  };
43
43
  /** Pure policy check, usable without the fetch wrapper. */
44
44
  export declare function decideX402(agent: AgentRecord, reputation: ReputationResult, payTo: string[], policy?: X402Policy): X402Decision;
45
+ /** Why `reputation` misses `policy`, or null if it meets it. Shared with the A2A check (§11.3). */
46
+ export declare function policyFailure(reputation: ReputationResult, policy?: X402Policy): string | null;
45
47
  export declare class X402PaymentBlocked extends Error {
46
48
  readonly decision: X402Decision;
47
49
  constructor(decision: X402Decision);
package/dist/x402.js CHANGED
@@ -30,14 +30,17 @@ export function decideX402(agent, reputation, payTo, policy = {}) {
30
30
  if (!bound || !payTo.some((a) => a.toLowerCase() === bound)) {
31
31
  return { ...base, allow: false, reason: "payTo is not an address this INAM ID proved control of" };
32
32
  }
33
+ const failed = policyFailure(reputation, policy);
34
+ return failed ? { ...base, allow: false, reason: failed } : { ...base, allow: true, reason: "ok" };
35
+ }
36
+ /** Why `reputation` misses `policy`, or null if it meets it. Shared with the A2A check (§11.3). */
37
+ export function policyFailure(reputation, policy = {}) {
33
38
  const minEvidence = policy.minEvidence ?? "countersigned";
34
- if (EVIDENCE_RANK[reputation.evidenceLevel] < EVIDENCE_RANK[minEvidence]) {
35
- return { ...base, allow: false, reason: `evidence ${reputation.evidenceLevel} is below ${minEvidence}` };
36
- }
37
- if (reputation.trustScore < (policy.minTrustScore ?? 0)) {
38
- return { ...base, allow: false, reason: `trustScore ${reputation.trustScore} is below ${policy.minTrustScore}` };
39
- }
40
- return { ...base, allow: true, reason: "ok" };
39
+ if (EVIDENCE_RANK[reputation.evidenceLevel] < EVIDENCE_RANK[minEvidence])
40
+ return `evidence ${reputation.evidenceLevel} is below ${minEvidence}`;
41
+ if (reputation.trustScore < (policy.minTrustScore ?? 0))
42
+ return `trustScore ${reputation.trustScore} is below ${policy.minTrustScore}`;
43
+ return null;
41
44
  }
42
45
  export class X402PaymentBlocked extends Error {
43
46
  decision;
package/dist/x402.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"x402.js","sourceRoot":"","sources":["../src/x402.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"x402.js","sourceRoot":"","sources":["../src/x402.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "inamprotocol",
3
- "version": "0.14.0",
3
+ "version": "0.15.0",
4
4
  "description": "Reference TypeScript/JavaScript SDK for the INAM Protocol — agent identity, execution receipts, jobs, and reputation",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",