@agenticprimitives/agent-profile 1.0.0-alpha.45 → 1.0.0-alpha.47

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.
@@ -15,6 +15,7 @@
15
15
  */
16
16
  import { canonicalCardJson } from './canonical.js';
17
17
  import { joinPointer } from './pointer.js';
18
+ import { defaultPublicUrlPolicy } from '../url-policy.js';
18
19
  import { A2A_PROTO_SECURITY_SCHEME_KEYS, A2A_SECURITY_SCHEME_TYPES, } from './types.js';
19
20
  /** Stable diagnostic codes. Each is emitted by exactly one check; consumers key on these, not messages. */
20
21
  export const DIAGNOSTIC_CODES = {
@@ -273,6 +274,11 @@ export function validateA2ACard(card, opts) {
273
274
  seen.add(sk.id);
274
275
  }
275
276
  for (const k of ['inputModes', 'outputModes']) {
277
+ // COR-14 (spec 445): a non-array here is a diagnostic, never a TypeError out of a function that never throws on content.
278
+ if (sk[k] !== undefined && !Array.isArray(sk[k])) {
279
+ err(DIAGNOSTIC_CODES.STRUCT_INVALID_TYPE, joinPointer('skills', i, k), `skill.${k} must be an array`);
280
+ continue;
281
+ }
276
282
  sk[k]?.forEach((m, j) => {
277
283
  if (typeof m !== 'string' || !MIME_RE.test(m))
278
284
  err(DIAGNOSTIC_CODES.MIME_TYPE_INVALID, joinPointer('skills', i, k, j), `"${String(m)}" is not a MIME type`);
@@ -353,14 +359,14 @@ export function validateA2ACard(card, opts) {
353
359
  }
354
360
  }
355
361
  }
356
- });
362
+ }, 0, (pointer) => err(DIAGNOSTIC_CODES.STRUCT_INVALID_TYPE, pointer, `card content nested deeper than ${WALK_MAX_DEPTH} levels is not scanned and is refused`));
357
363
  return out;
358
364
  }
359
365
  // ─── helpers ─────────────────────────────────────────────────────────────────────────────────────────
360
366
  const KNOWN_BINDINGS = new Set(['JSONRPC', 'GRPC', 'HTTP+JSON']);
361
367
  const MIME_RE = /^[a-z0-9!#$&^_.+-]+\/[a-z0-9!#$&^_.+-]+(?:\s*;.*)?$/i;
362
368
  const EMBEDDED_URL_RE = /https?:\/\/[^\s"'<>)\]]+/gi;
363
- const CHECKED_URL_POINTER = /^\/(supportedInterfaces\/\d+\/url|provider\/url|documentationUrl|iconUrl|securitySchemes\/[^/]+\/(openIdConnectUrl|oauth2MetadataUrl|flows\/.*Url))$/;
369
+ const CHECKED_URL_POINTER = /^\/(supportedInterfaces\/\d+\/url|provider\/url|documentationUrl|iconUrl|securitySchemes\/[^/]+\/(?:(?:apiKey|httpAuth|oauth2|openIdConnect|mtls)SecurityScheme\/)?(openIdConnectUrl|oauth2MetadataUrl|flows\/.*Url))$/; // COR-3: the wrapper paths are checked URLs too
364
370
  const SECRET_PATTERNS = [
365
371
  /\b0x[0-9a-fA-F]{64}\b/, // 32-byte hex — a raw private key (or a digest; flagged either way in prose)
366
372
  /-----BEGIN [A-Z ]*(PRIVATE KEY|CERTIFICATE)-----/,
@@ -387,53 +393,46 @@ function isProseField(pointer) {
387
393
  function isAbsoluteUri(s) {
388
394
  return /^[a-z][a-z0-9+.-]*:/i.test(s);
389
395
  }
396
+ /**
397
+ * COR-9 (spec 445) — ONE URL POLICY. This was a third, weaker copy of the host table (it missed `[::ffff:7f00:1]` —
398
+ * the form `URL.hostname` gives an IPv4-mapped address — IPv4-compatible / NAT64 forms, multicast and trailing-dot
399
+ * names such as `localhost.`). It now asks `defaultPublicUrlPolicy` (`../url-policy.ts`) about the host and keeps only
400
+ * the one single-label name the policy does not list (`metadata`). Takes a `URL.hostname` (IPv6 with or without brackets).
401
+ */
390
402
  export function isPrivateHost(hostname) {
391
- const h = hostname.toLowerCase().replace(/^\[|\]$/g, '');
392
- if (h === 'localhost' || h.endsWith('.localhost') || h.endsWith('.local') || h.endsWith('.internal'))
403
+ const h = hostname.toLowerCase();
404
+ if (h.replace(/\.$/, '') === 'metadata')
393
405
  return true;
394
- if (h === '0.0.0.0' || h === '::1' || h === '::')
395
- return true;
396
- if (h === 'metadata.google.internal' || h === 'metadata')
397
- return true;
398
- const v4 = /^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/.exec(h);
399
- if (v4) {
400
- const [a, b] = [Number(v4[1]), Number(v4[2])];
401
- if (a === 127 || a === 10 || a === 0)
402
- return true;
403
- if (a === 169 && b === 254)
404
- return true; // link-local + cloud metadata (169.254.169.254)
405
- if (a === 172 && b >= 16 && b <= 31)
406
- return true;
407
- if (a === 192 && b === 168)
408
- return true;
409
- if (a === 100 && b >= 64 && b <= 127)
410
- return true; // CGNAT
411
- return false;
412
- }
413
- if (h.includes(':')) {
414
- if (/^fe[89ab]/.test(h))
415
- return true; // link-local
416
- if (/^f[cd]/.test(h))
417
- return true; // unique-local
418
- if (h.startsWith('::ffff:'))
419
- return isPrivateHost(h.slice(7));
420
- }
421
- return false;
406
+ const host = h.includes(':') && !h.startsWith('[') ? `[${h}]` : h;
407
+ return !defaultPublicUrlPolicy(`https://${host}/`).allow;
422
408
  }
423
409
  function stripSignatures(c) {
424
410
  const { signatures: _s, ...rest } = c;
425
411
  return rest;
426
412
  }
427
- function walkStrings(node, pointer, visit) {
413
+ // COR-14 (spec 445): the walk is bounded — a card nested past this depth is reported once instead of exhausting the
414
+ // stack (a RangeError out of a validator documented never to throw on card content).
415
+ const WALK_MAX_DEPTH = 64;
416
+ function walkStrings(node, pointer, visit, depth = 0, tooDeep) {
428
417
  if (typeof node === 'string')
429
418
  return visit(node, pointer);
419
+ if (!node || typeof node !== 'object')
420
+ return;
421
+ if (depth >= WALK_MAX_DEPTH)
422
+ return void tooDeep?.(pointer);
430
423
  if (Array.isArray(node))
431
- return node.forEach((v, i) => walkStrings(v, `${pointer}/${i}`, visit));
432
- if (node && typeof node === 'object') {
433
- for (const [k, v] of Object.entries(node))
434
- walkStrings(v, `${pointer}${joinPointer(k)}`, visit);
435
- }
424
+ return node.forEach((v, i) => walkStrings(v, `${pointer}/${i}`, visit, depth + 1, tooDeep));
425
+ for (const [k, v] of Object.entries(node))
426
+ walkStrings(v, `${pointer}${joinPointer(k)}`, visit, depth + 1, tooDeep);
436
427
  }
428
+ /** The proto-JSON wrapper key → the `type` discriminator of the same kind (A2A 1.0, `a2a.proto` oneof). */
429
+ const PROTO_SCHEME_TYPE = {
430
+ apiKeySecurityScheme: 'apiKey',
431
+ httpAuthSecurityScheme: 'http',
432
+ oauth2SecurityScheme: 'oauth2',
433
+ openIdConnectSecurityScheme: 'openIdConnect',
434
+ mtlsSecurityScheme: 'mutualTLS',
435
+ };
437
436
  function validateScheme(pointer, s, err, urlCheck) {
438
437
  if (!s || typeof s !== 'object' || Array.isArray(s))
439
438
  return void err(DIAGNOSTIC_CODES.SECURITY_SCHEME_INVALID, pointer, 'scheme must be an object');
@@ -450,8 +449,23 @@ function validateScheme(pointer, s, err, urlCheck) {
450
449
  err(DIAGNOSTIC_CODES.SECURITY_SCHEME_INVALID, pointer, `a proto-JSON scheme carries only its wrapper key; found also ${extra.join(', ')}`);
451
450
  const inner = o[wrappers[0]];
452
451
  if (!inner || typeof inner !== 'object' || Array.isArray(inner))
453
- err(DIAGNOSTIC_CODES.SECURITY_SCHEME_INVALID, `${pointer}/${wrappers[0]}`, 'the wrapper must hold an object');
454
- return;
452
+ return void err(DIAGNOSTIC_CODES.SECURITY_SCHEME_INVALID, `${pointer}/${wrappers[0]}`, 'the wrapper must hold an object');
453
+ // COR-3 (spec 445) — ONE REPRESENTATION, THEN VALIDATE. The wrapper branch used to return here, so a proto-JSON
454
+ // scheme was never looked at: no required member, no URL check — an http or internal token URL passed a
455
+ // production card. The wrapper is now normalised to the `type` form (proto's `location` is the `in` of the other
456
+ // form) and judged by exactly the same rules, with pointers into the wrapper so a diagnostic names the real field.
457
+ // A `type` (or `in`) inside the wrapper is a second discriminator — refused, as the `type` form refuses foreign members.
458
+ const w = wrappers[0];
459
+ const body = inner;
460
+ for (const k of ['type', 'in']) {
461
+ if (body[k] !== undefined)
462
+ err(DIAGNOSTIC_CODES.SECURITY_SCHEME_INVALID, `${pointer}/${w}/${k}`, `"${k}" does not belong in a proto-JSON ${w}`);
463
+ }
464
+ const { location, type: _t, in: _in, ...rest } = body;
465
+ const normalised = { ...rest, type: PROTO_SCHEME_TYPE[w] };
466
+ if (location !== undefined)
467
+ normalised.in = location;
468
+ return validateScheme(`${pointer}/${w}`, normalised, err, urlCheck);
455
469
  }
456
470
  const t = o.type;
457
471
  if (typeof t !== 'string' || !A2A_SECURITY_SCHEME_TYPES.includes(t)) {
@@ -1 +1 @@
1
- {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/a2a/validation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"validation.js","sourceRoot":"","sources":["../../src/a2a/validation.ts"],"names":[],"mappings":"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"}
package/dist/card.d.ts CHANGED
@@ -64,6 +64,13 @@ export type VerifySignedAgentCardResult = {
64
64
  export declare function verifySignedCanonicalProfileBundle(bundle: SignedCanonicalProfileBundleV1, opts: {
65
65
  verifier: Erc1271Verifier;
66
66
  now?: number;
67
+ /** Audit NAME-13: the subject and chain the CALLER is asking about. Without them `ok` means only "a
68
+ * self-consistent bundle about SOME agent on SOME chain" and the caller must compare the returned
69
+ * `subjectAgent` itself. When given, a bundle about another agent or chain is `subject_mismatch`. */
70
+ expect?: {
71
+ subjectAgent?: Address;
72
+ chainId?: number;
73
+ };
67
74
  }): Promise<VerifySignedAgentCardResult>;
68
75
  /** @deprecated Renamed `verifySignedCanonicalProfileBundle` (spec 347 §0.3). */
69
76
  export declare const verifySignedAgentCardBundle: typeof verifySignedCanonicalProfileBundle;
@@ -1 +1 @@
1
- {"version":3,"file":"card.d.ts","sourceRoot":"","sources":["../src/card.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAA+B,KAAK,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,MAAM,CAAC;AAE3E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,EAAE,8BAA8B,EAAE,MAAM,YAAY,CAAC;AAMlG;;mCAEmC;AACnC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,uBAAuB,GAAG,MAAM,CAE7E;AAED,yFAAyF;AACzF,eAAO,MAAM,aAAa,6BAAuB,CAAC;AA4BlD;sEACsE;AACtE,MAAM,WAAW,eAAe;IAC9B,UAAU,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,GAAG,CAAC;QAAC,SAAS,EAAE,GAAG,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACrF;AAED,2GAA2G;AAC3G,MAAM,MAAM,oBAAoB,GAAG,CAAC,MAAM,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;AAEjE,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,uBAAuB,CAAC;IAC9B,gGAAgG;IAChG,YAAY,EAAE,OAAO,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+FAA+F;IAC/F,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED;8CAC8C;AAC9C,wBAAsB,iCAAiC,CACrD,KAAK,EAAE,yBAAyB,EAChC,IAAI,EAAE,oBAAoB,GACzB,OAAO,CAAC,8BAA8B,CAAC,CA4BzC;AAED,+EAA+E;AAC/E,eAAO,MAAM,0BAA0B,0CAAoC,CAAC;AAE5E,MAAM,MAAM,2BAA2B,GACnC;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,YAAY,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,uBAAuB,CAAA;CAAE,GACpF;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,WAAW,GAAG,oBAAoB,GAAG,kBAAkB,GAAG,SAAS,GAAG,mBAAmB,CAAA;CAAE,CAAC;AAErH;;;iGAGiG;AACjG,wBAAsB,kCAAkC,CACtD,MAAM,EAAE,8BAA8B,EACtC,IAAI,EAAE;IAAE,QAAQ,EAAE,eAAe,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,GAChD,OAAO,CAAC,2BAA2B,CAAC,CAkDtC;AAED,gFAAgF;AAChF,eAAO,MAAM,2BAA2B,2CAAqC,CAAC"}
1
+ {"version":3,"file":"card.d.ts","sourceRoot":"","sources":["../src/card.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAA+B,KAAK,OAAO,EAAE,KAAK,GAAG,EAAE,MAAM,MAAM,CAAC;AAE3E,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,EAAE,8BAA8B,EAAE,MAAM,YAAY,CAAC;AAMlG;;mCAEmC;AACnC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,uBAAuB,GAAG,MAAM,CAE7E;AAED,yFAAyF;AACzF,eAAO,MAAM,aAAa,6BAAuB,CAAC;AA4BlD;sEACsE;AACtE,MAAM,WAAW,eAAe;IAC9B,UAAU,CAAC,IAAI,EAAE;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,IAAI,EAAE,GAAG,CAAC;QAAC,SAAS,EAAE,GAAG,CAAA;KAAE,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;CACrF;AAED,2GAA2G;AAC3G,MAAM,MAAM,oBAAoB,GAAG,CAAC,MAAM,EAAE,GAAG,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC;AAEjE,MAAM,WAAW,yBAAyB;IACxC,IAAI,EAAE,uBAAuB,CAAC;IAC9B,gGAAgG;IAChG,YAAY,EAAE,OAAO,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,+FAA+F;IAC/F,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED;8CAC8C;AAC9C,wBAAsB,iCAAiC,CACrD,KAAK,EAAE,yBAAyB,EAChC,IAAI,EAAE,oBAAoB,GACzB,OAAO,CAAC,8BAA8B,CAAC,CA4BzC;AAED,+EAA+E;AAC/E,eAAO,MAAM,0BAA0B,0CAAoC,CAAC;AAE5E,MAAM,MAAM,2BAA2B,GACnC;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,YAAY,EAAE,OAAO,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,uBAAuB,CAAA;CAAE,GACpF;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,WAAW,GAAG,oBAAoB,GAAG,kBAAkB,GAAG,SAAS,GAAG,mBAAmB,CAAA;CAAE,CAAC;AAErH;;;iGAGiG;AACjG,wBAAsB,kCAAkC,CACtD,MAAM,EAAE,8BAA8B,EACtC,IAAI,EAAE;IACJ,QAAQ,EAAE,eAAe,CAAC;IAC1B,GAAG,CAAC,EAAE,MAAM,CAAC;IACb;;0GAEsG;IACtG,MAAM,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,OAAO,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CACvD,GACA,OAAO,CAAC,2BAA2B,CAAC,CAwDtC;AAED,gFAAgF;AAChF,eAAO,MAAM,2BAA2B,2CAAqC,CAAC"}
package/dist/card.js CHANGED
@@ -97,10 +97,18 @@ export async function verifySignedCanonicalProfileBundle(bundle, opts) {
97
97
  if (bundle.proof.signer.toLowerCase() !== subject || bundle.proof.verifyingContract.toLowerCase() !== subject) {
98
98
  return { ok: false, reason: 'subject_mismatch' };
99
99
  }
100
+ if (opts.expect?.subjectAgent && opts.expect.subjectAgent.toLowerCase() !== subject)
101
+ return { ok: false, reason: 'subject_mismatch' };
102
+ if (opts.expect?.chainId !== undefined && opts.expect.chainId !== bundle.proof.chainId)
103
+ return { ok: false, reason: 'subject_mismatch' };
100
104
  if (bundle.expiresAt) {
101
105
  const exp = Date.parse(bundle.expiresAt);
102
106
  const now = opts.now ?? Date.now();
103
- if (!Number.isNaN(exp) && now > exp)
107
+ // Audit NAME-13: an expiry that does not parse is not "no expiry" — the signer bound SOMETHING there, and a
108
+ // verifier that cannot read it cannot say the bundle is still in its window.
109
+ if (Number.isNaN(exp))
110
+ return { ok: false, reason: 'bad_shape' };
111
+ if (now > exp)
104
112
  return { ok: false, reason: 'expired' };
105
113
  }
106
114
  let valid;
package/dist/card.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"card.js","sourceRoot":"","sources":["../src/card.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"card.js","sourceRoot":"","sources":["../src/card.ts"],"names":[],"mappings":"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"}
package/dist/client.d.ts CHANGED
@@ -1,4 +1,5 @@
1
1
  import { type Address, type Hex, type WalletClient } from 'viem';
2
+ import { type PublicJsonFetchOptions } from './safe-fetch.js';
2
3
  import type { CanonicalAgentProfileV1, AgentIdentityClientOpts, PublishProfileInput, VerificationMethod } from './types.js';
3
4
  /**
4
5
  * Optional per-call submission context. Required for write methods.
@@ -19,14 +20,19 @@ export interface WriteContext {
19
20
  */
20
21
  export interface AgentIdentityClientOptsLive extends AgentIdentityClientOpts {
21
22
  profileResolver: Address;
22
- /** Optional fetcher (test injection). Defaults to globalThis.fetch. */
23
+ /** Optional fetcher (test injection). Defaults to globalThis.fetch. It is called with `redirect: 'manual'`, an
24
+ * abort signal and one `accept` header; a fetcher that follows a redirect anyway is still refused. */
23
25
  fetch?: typeof fetch;
26
+ /** Bounds + ports for the profile fetch (spec 445 / NAME-7): `timeoutMs` (default 5 000), `maxBytes` (default
27
+ * 256 KiB), `resolveHost` (every resolved address must be public), `policy` (replace the URL policy). */
28
+ profileFetch?: Omit<PublicJsonFetchOptions, 'fetch'>;
24
29
  }
25
30
  export declare class AgentIdentityClient {
26
31
  readonly opts: AgentIdentityClientOptsLive;
27
32
  private readonly publicClient;
28
33
  private readonly profileResolver;
29
34
  private readonly fetcher;
35
+ private chainChecked?;
30
36
  constructor(opts: AgentIdentityClientOptsLive);
31
37
  /**
32
38
  * Fetch the CanonicalAgentProfileV1 for `agent`:
@@ -44,6 +50,12 @@ export declare class AgentIdentityClient {
44
50
  fetchProfile(agent: Address, opts?: {
45
51
  allowUnanchored?: boolean;
46
52
  }): Promise<CanonicalAgentProfileV1 | null>;
53
+ /**
54
+ * `opts.chainId` is a CLAIM about the RPC until it is compared (audit NAME-20): a profile read from, or a
55
+ * write sent to, another chain under this chain's id is a different agent's record. One `eth_chainId`, once
56
+ * per client; a mismatch throws on every call, a failed read is retried on the next call.
57
+ */
58
+ private assertChain;
47
59
  /**
48
60
  * Verify endpoint control for an MCP server profile. Phase 2
49
61
  * scope: shape-only (caller declares which method). Real
@@ -1 +1 @@
1
- {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAIA,OAAO,EAA8C,KAAK,OAAO,EAAE,KAAK,GAAG,EAAqB,KAAK,YAAY,EAAE,MAAM,MAAM,CAAC;AAQhI,OAAO,KAAK,EACV,uBAAuB,EACvB,uBAAuB,EACvB,mBAAmB,EACnB,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAEpB;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,YAAY,EAAE,YAAY,CAAC;CAC5B;AAwCD;;;;;;;;;;GAUG;AACH,MAAM,WAAW,2BAA4B,SAAQ,uBAAuB;IAC1E,eAAe,EAAE,OAAO,CAAC;IACzB,uEAAuE;IACvE,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;CACtB;AAED,qBAAa,mBAAmB;IAKlB,QAAQ,CAAC,IAAI,EAAE,2BAA2B;IAJtD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAC5C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAU;IAC1C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAe;gBAElB,IAAI,EAAE,2BAA2B;IAetD;;;;;;;;;;;;OAYG;IACG,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,uBAAuB,GAAG,IAAI,CAAC;IAyCjH;;;;;OAKG;IACG,cAAc,CAClB,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,kBAAkB,EAAE,GAC5B,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;IAYrC;;;;;;;;;;;;;;;;;;;;;OAqBG;IACG,cAAc,CAAC,KAAK,EAAE,mBAAmB,EAAE,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC;IA+DjF;;;OAGG;YACW,OAAO;CAiCtB"}
1
+ {"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAIA,OAAO,EAA8C,KAAK,OAAO,EAAE,KAAK,GAAG,EAAqB,KAAK,YAAY,EAAE,MAAM,MAAM,CAAC;AAIhI,OAAO,EAAuB,KAAK,sBAAsB,EAAE,MAAM,iBAAiB,CAAC;AAKnF,OAAO,KAAK,EACV,uBAAuB,EACvB,uBAAuB,EACvB,mBAAmB,EACnB,kBAAkB,EACnB,MAAM,YAAY,CAAC;AAEpB;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,YAAY,EAAE,YAAY,CAAC;CAC5B;AAWD;;;;;;;;;;GAUG;AACH,MAAM,WAAW,2BAA4B,SAAQ,uBAAuB;IAC1E,eAAe,EAAE,OAAO,CAAC;IACzB;2GACuG;IACvG,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;IACrB;8GAC0G;IAC1G,YAAY,CAAC,EAAE,IAAI,CAAC,sBAAsB,EAAE,OAAO,CAAC,CAAC;CACtD;AAED,qBAAa,mBAAmB;IAMlB,QAAQ,CAAC,IAAI,EAAE,2BAA2B;IALtD,OAAO,CAAC,QAAQ,CAAC,YAAY,CAAe;IAC5C,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAU;IAC1C,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAe;IACvC,OAAO,CAAC,YAAY,CAAC,CAAgB;gBAEhB,IAAI,EAAE,2BAA2B;IAetD;;;;;;;;;;;;OAYG;IACG,YAAY,CAAC,KAAK,EAAE,OAAO,EAAE,IAAI,CAAC,EAAE;QAAE,eAAe,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC,uBAAuB,GAAG,IAAI,CAAC;IA2CjH;;;;OAIG;IACH,OAAO,CAAC,WAAW;IAenB;;;;;OAKG;IACG,cAAc,CAClB,KAAK,EAAE,OAAO,EACd,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,kBAAkB,EAAE,GAC5B,OAAO,CAAC,kBAAkB,GAAG,IAAI,CAAC;IAYrC;;;;;;;;;;;;;;;;;;;;;OAqBG;IACG,cAAc,CAAC,KAAK,EAAE,mBAAmB,EAAE,GAAG,EAAE,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC;IAgEjF;;;OAGG;YACW,OAAO;CAiCtB"}
package/dist/client.js CHANGED
@@ -6,51 +6,13 @@ import { createPublicClient, http, keccak256, toHex } from 'viem';
6
6
  import { agentProfileResolverAbi } from './abis.js';
7
7
  import { profileContentHash, canonicalProfileJson } from './profile.js';
8
8
  import { ProfileHashMismatchError, InvalidProfileError } from './errors.js';
9
+ import { fetchPublicJsonText } from './safe-fetch.js';
9
10
  import { buildRegisterProfileCall, buildSetProfileMetadataCall, } from './calls.js';
10
11
  const ZERO_NODE = '0x0000000000000000000000000000000000000000000000000000000000000000';
11
- // NEW-AP-2 (2026-07-05 completeness audit): the profile metadata URI is ATTACKER-CONTROLLED on-chain state
12
- // (any agent sets its own ATL_METADATA_URI). fetchProfile runs server-side (indexer / Worker), so an
13
- // unguarded fetch is an SSRF — an attacker points the URI at http://169.254.169.254/ (cloud metadata),
14
- // loopback, or a private host. Allow ONLY https to a public host.
15
- function isPrivateOrReservedHost(host) {
16
- const m = host.match(/^(\d{1,3})\.(\d{1,3})\.(\d{1,3})\.(\d{1,3})$/);
17
- if (m) {
18
- const a = Number(m[1]);
19
- const b = Number(m[2]);
20
- if (a === 0 || a === 127 || a === 10)
21
- return true; // this-network / loopback / private
22
- if (a === 172 && b >= 16 && b <= 31)
23
- return true; // private
24
- if (a === 192 && b === 168)
25
- return true; // private
26
- if (a === 169 && b === 254)
27
- return true; // link-local incl 169.254.169.254 cloud metadata
28
- if (a >= 224)
29
- return true; // multicast / reserved
30
- }
31
- if (host === '::1' || host === '[::1]')
32
- return true; // ipv6 loopback
33
- if (host.startsWith('fe80:') || host.startsWith('[fe80:'))
34
- return true; // ipv6 link-local
35
- if (/^\[?f[cd][0-9a-f]{2}:/.test(host))
36
- return true; // ipv6 ULA
37
- return false;
38
- }
39
- function assertSafeProfileUri(uri) {
40
- let u;
41
- try {
42
- u = new URL(uri);
43
- }
44
- catch {
45
- throw new InvalidProfileError(`profile URI is not a valid URL: ${uri}`);
46
- }
47
- if (u.protocol !== 'https:')
48
- throw new InvalidProfileError(`profile URI must be https (SSRF guard); got ${u.protocol}`);
49
- const host = u.hostname.toLowerCase().replace(/^\[|\]$/g, '');
50
- if (host === 'localhost' || host.endsWith('.localhost') || host === '' || isPrivateOrReservedHost(host)) {
51
- throw new InvalidProfileError(`profile URI host not allowed (SSRF guard): ${host}`);
52
- }
53
- }
12
+ // NEW-AP-2 (2026-07-05) + spec 445 / audit NAME-7 (2026-11-10): the profile metadata URI is ATTACKER-CONTROLLED
13
+ // on-chain state (any agent sets its own ATL_METADATA_URI) and fetchProfile runs server-side. The whole guard —
14
+ // public https URL in every spelling, no redirect, one deadline, a byte cap enforced while reading, JSON only,
15
+ // nothing ambient sent — is `fetchPublicJsonText` (safe-fetch.ts); the address table is url-policy.ts.
54
16
  const ATL_METADATA_URI = keccak256(toHex('atl:metadataURI'));
55
17
  const ATL_METADATA_HASH = keccak256(toHex('atl:metadataHash'));
56
18
  export class AgentIdentityClient {
@@ -58,6 +20,7 @@ export class AgentIdentityClient {
58
20
  publicClient;
59
21
  profileResolver;
60
22
  fetcher;
23
+ chainChecked;
61
24
  constructor(opts) {
62
25
  this.opts = opts;
63
26
  if (!opts.rpcUrl)
@@ -87,6 +50,7 @@ export class AgentIdentityClient {
87
50
  * anchor is absent).
88
51
  */
89
52
  async fetchProfile(agent, opts) {
53
+ await this.assertChain();
90
54
  const [uri, anchorHash] = await Promise.all([
91
55
  this.publicClient.readContract({
92
56
  address: this.profileResolver,
@@ -103,14 +67,16 @@ export class AgentIdentityClient {
103
67
  ]);
104
68
  if (!uri || uri === '')
105
69
  return null;
106
- // NEW-AP-2: reject non-https / private / loopback / metadata hosts before touching the network.
107
- assertSafeProfileUri(uri);
108
- const response = await this.fetcher(uri);
109
- if (!response.ok) {
110
- throw new Error(`[agent-profile] failed to fetch profile JSON: HTTP ${response.status}`);
70
+ // NAME-7 / NEW-AP-2: the URL is checked before the network is touched; the request follows no redirect, has
71
+ // one deadline and a byte cap enforced while reading, must answer JSON, and carries nothing ambient.
72
+ const body = await fetchPublicJsonText(uri, { ...(this.opts.profileFetch ?? {}), fetch: this.fetcher });
73
+ let parsed;
74
+ try {
75
+ parsed = JSON.parse(body);
76
+ }
77
+ catch {
78
+ throw new InvalidProfileError('the fetched profile is not valid JSON');
111
79
  }
112
- const body = await response.text();
113
- const parsed = JSON.parse(body);
114
80
  // Round-trip via our canonical serializer to validate shape AND
115
81
  // produce the canonical content hash to compare against the anchor.
116
82
  const canonical = canonicalProfileJson(parsed);
@@ -129,6 +95,22 @@ export class AgentIdentityClient {
129
95
  }
130
96
  return parsed;
131
97
  }
98
+ /**
99
+ * `opts.chainId` is a CLAIM about the RPC until it is compared (audit NAME-20): a profile read from, or a
100
+ * write sent to, another chain under this chain's id is a different agent's record. One `eth_chainId`, once
101
+ * per client; a mismatch throws on every call, a failed read is retried on the next call.
102
+ */
103
+ assertChain() {
104
+ this.chainChecked ??= this.publicClient.getChainId().then((actual) => {
105
+ if (actual !== this.opts.chainId) {
106
+ throw new Error(`[agent-profile] chain mismatch: configured chainId ${this.opts.chainId}, the RPC answers ${actual}`);
107
+ }
108
+ }, (e) => {
109
+ this.chainChecked = undefined;
110
+ throw e;
111
+ });
112
+ return this.chainChecked;
113
+ }
132
114
  /**
133
115
  * Verify endpoint control for an MCP server profile. Phase 2
134
116
  * scope: shape-only (caller declares which method). Real
@@ -166,6 +148,7 @@ export class AgentIdentityClient {
166
148
  * marker). If `register` was called, that tx is awaited first.
167
149
  */
168
150
  async publishProfile(input, ctx) {
151
+ await this.assertChain();
169
152
  // Validate + compute hash.
170
153
  canonicalProfileJson(input.profile); // throws on invalid shape
171
154
  const computed = profileContentHash(input.profile);
@@ -1 +1 @@
1
- {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -10,4 +10,6 @@ export type { ProfileType, Caip10Address, VerificationMethod, AiAgentProfile, Mc
10
10
  export { AgentIdentityClient, type WriteContext } from './client.js';
11
11
  export { agentProfileResolverAbi } from './abis.js';
12
12
  export { buildRegisterProfileCall, buildSetProfileMetadataCall, buildSetProfileStringCall, buildSetDistributionCall, buildSetClientKeysCall, buildSetProfileAddressCall, buildSetProfileBytes32Call, buildSetProfileActiveCall, type ContractCall, } from './calls.js';
13
+ export { fetchPublicJsonText, ProfileFetchError, DEFAULT_FETCH_TIMEOUT_MS, DEFAULT_FETCH_MAX_BYTES, type PublicJsonFetchOptions, type ProfileFetchRefusal, } from './safe-fetch.js';
14
+ export { defaultPublicUrlPolicy, publicAddressRefusal, checkPublicUrl, type PublicUrlDecision, type PublicUrlPolicy, type PublicHostResolver, } from './url-policy.js';
13
15
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AASA,OAAO,EACL,0BAA0B,EAC1B,yBAAyB,EACzB,WAAW,EACX,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,aAAa,GACd,MAAM,gBAAgB,CAAC;AAIxB,OAAO,EACL,eAAe,EACf,8BAA8B,EAC9B,iCAAiC,EACjC,wBAAwB,EACxB,8BAA8B,EAC9B,sCAAsC,EACtC,sBAAsB,EACtB,uBAAuB,EACvB,sBAAsB,EACtB,wBAAwB,EACxB,qBAAqB,EACrB,2BAA2B,EAC3B,2BAA2B,EAC3B,4BAA4B,EAC5B,kBAAkB,EAClB,wBAAwB,EACxB,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,KAAK,wBAAwB,EAC7B,KAAK,gCAAgC,EACrC,KAAK,6BAA6B,EAClC,KAAK,4BAA4B,EACjC,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,GACxB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,0BAA0B,EAC1B,uBAAuB,GACxB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,kBAAkB,EAClB,WAAW,EACX,aAAa,EACb,KAAK,WAAW,GACjB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,cAAc,CAAC;AAItB,OAAO,EACL,oBAAoB,EACpB,iCAAiC,EACjC,kCAAkC,EAElC,aAAa,EACb,0BAA0B,EAC1B,2BAA2B,EAC3B,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,KAAK,yBAAyB,EAC9B,KAAK,2BAA2B,GACjC,MAAM,WAAW,CAAC;AAEnB,OAAO,EACL,mBAAmB,EACnB,wBAAwB,EACxB,yBAAyB,EACzB,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,aAAa,CAAC;AAErB,YAAY,EACV,WAAW,EACX,aAAa,EACb,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,uBAAuB,EACvB,WAAW,EACX,0BAA0B,EAC1B,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,MAAM,EACN,8BAA8B,EAE9B,SAAS,EACT,uBAAuB,EACvB,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,mBAAmB,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAMrE,OAAO,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC;AAIpD,OAAO,EACL,wBAAwB,EACxB,2BAA2B,EAC3B,yBAAyB,EACzB,wBAAwB,EACxB,sBAAsB,EACtB,0BAA0B,EAC1B,0BAA0B,EAC1B,yBAAyB,EACzB,KAAK,YAAY,GAClB,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AASA,OAAO,EACL,0BAA0B,EAC1B,yBAAyB,EACzB,WAAW,EACX,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,aAAa,GACd,MAAM,gBAAgB,CAAC;AAIxB,OAAO,EACL,eAAe,EACf,8BAA8B,EAC9B,iCAAiC,EACjC,wBAAwB,EACxB,8BAA8B,EAC9B,sCAAsC,EACtC,sBAAsB,EACtB,uBAAuB,EACvB,sBAAsB,EACtB,wBAAwB,EACxB,qBAAqB,EACrB,2BAA2B,EAC3B,2BAA2B,EAC3B,4BAA4B,EAC5B,kBAAkB,EAClB,wBAAwB,EACxB,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,KAAK,kBAAkB,EACvB,KAAK,wBAAwB,EAC7B,KAAK,gCAAgC,EACrC,KAAK,6BAA6B,EAClC,KAAK,4BAA4B,EACjC,KAAK,oBAAoB,EACzB,KAAK,kBAAkB,GACxB,MAAM,yBAAyB,CAAC;AAGjC,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,0BAA0B,EAC1B,uBAAuB,GACxB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,kBAAkB,EAClB,WAAW,EACX,aAAa,EACb,KAAK,WAAW,GACjB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,cAAc,CAAC;AAItB,OAAO,EACL,oBAAoB,EACpB,iCAAiC,EACjC,kCAAkC,EAElC,aAAa,EACb,0BAA0B,EAC1B,2BAA2B,EAC3B,KAAK,eAAe,EACpB,KAAK,oBAAoB,EACzB,KAAK,yBAAyB,EAC9B,KAAK,2BAA2B,GACjC,MAAM,WAAW,CAAC;AAEnB,OAAO,EACL,mBAAmB,EACnB,wBAAwB,EACxB,yBAAyB,EACzB,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,aAAa,CAAC;AAErB,YAAY,EACV,WAAW,EACX,aAAa,EACb,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,uBAAuB,EACvB,WAAW,EACX,0BAA0B,EAC1B,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,MAAM,EACN,8BAA8B,EAE9B,SAAS,EACT,uBAAuB,EACvB,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,mBAAmB,EAAE,KAAK,YAAY,EAAE,MAAM,aAAa,CAAC;AAMrE,OAAO,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC;AAIpD,OAAO,EACL,wBAAwB,EACxB,2BAA2B,EAC3B,yBAAyB,EACzB,wBAAwB,EACxB,sBAAsB,EACtB,0BAA0B,EAC1B,0BAA0B,EAC1B,yBAAyB,EACzB,KAAK,YAAY,GAClB,MAAM,YAAY,CAAC;AAIpB,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,wBAAwB,EACxB,uBAAuB,EACvB,KAAK,sBAAsB,EAC3B,KAAK,mBAAmB,GACzB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,sBAAsB,EACtB,oBAAoB,EACpB,cAAc,EACd,KAAK,iBAAiB,EACtB,KAAK,eAAe,EACpB,KAAK,kBAAkB,GACxB,MAAM,iBAAiB,CAAC"}
package/dist/index.js CHANGED
@@ -31,4 +31,8 @@ export { agentProfileResolverAbi } from './abis.js';
31
31
  // Phase 4 pure call builders. Compose into AgentAccount.execute /
32
32
  // CustodyPolicy ceremonies / ERC-4337 UserOps as needed.
33
33
  export { buildRegisterProfileCall, buildSetProfileMetadataCall, buildSetProfileStringCall, buildSetDistributionCall, buildSetClientKeysCall, buildSetProfileAddressCall, buildSetProfileBytes32Call, buildSetProfileActiveCall, } from './calls.js';
34
+ // Spec 445 / audit NAME-7: the guarded GET every outbound fetch of a record-/card-/caller-supplied URL goes
35
+ // through, and the address policy under it (a copy of a2a's push policy — see url-policy.ts on unifying them).
36
+ export { fetchPublicJsonText, ProfileFetchError, DEFAULT_FETCH_TIMEOUT_MS, DEFAULT_FETCH_MAX_BYTES, } from './safe-fetch.js';
37
+ export { defaultPublicUrlPolicy, publicAddressRefusal, checkPublicUrl, } from './url-policy.js';
34
38
  //# 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,iDAAiD;AACjD,EAAE;AACF,OAAO;AACP,0CAA0C;AAC1C,2BAA2B;AAC3B,gDAAgD;AAChD,8EAA8E;AAC9E,2EAA2E;AAE3E,OAAO,EACL,0BAA0B,EAC1B,yBAAyB,EACzB,WAAW,EACX,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,aAAa,GACd,MAAM,gBAAgB,CAAC;AAExB,iHAAiH;AACjH,yGAAyG;AACzG,OAAO,EACL,eAAe,EACf,8BAA8B,EAC9B,iCAAiC,EACjC,wBAAwB,EACxB,8BAA8B,EAC9B,sCAAsC,EACtC,sBAAsB,EACtB,uBAAuB,EACvB,sBAAsB,EACtB,wBAAwB,EACxB,qBAAqB,EACrB,2BAA2B,EAC3B,2BAA2B,EAC3B,4BAA4B,EAC5B,kBAAkB,EAClB,wBAAwB,EACxB,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,GAUf,MAAM,yBAAyB,CAAC;AAEjC,mGAAmG;AACnG,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAE3B,mDAAmD;AACnD,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,0BAA0B,EAC1B,uBAAuB,GACxB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,kBAAkB,EAClB,WAAW,EACX,aAAa,GAEd,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,cAAc,CAAC;AAEtB,yGAAyG;AACzG,gGAAgG;AAChG,OAAO,EACL,oBAAoB,EACpB,iCAAiC,EACjC,kCAAkC;AAClC,gDAAgD;AAChD,aAAa,EACb,0BAA0B,EAC1B,2BAA2B,GAK5B,MAAM,WAAW,CAAC;AAEnB,OAAO,EACL,mBAAmB,EACnB,wBAAwB,EACxB,yBAAyB,EACzB,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,aAAa,CAAC;AAyBrB,OAAO,EAAE,mBAAmB,EAAqB,MAAM,aAAa,CAAC;AAErE,gEAAgE;AAChE,mEAAmE;AACnE,+DAA+D;AAC/D,0CAA0C;AAC1C,OAAO,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC;AAEpD,kEAAkE;AAClE,yDAAyD;AACzD,OAAO,EACL,wBAAwB,EACxB,2BAA2B,EAC3B,yBAAyB,EACzB,wBAAwB,EACxB,sBAAsB,EACtB,0BAA0B,EAC1B,0BAA0B,EAC1B,yBAAyB,GAE1B,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,iDAAiD;AACjD,EAAE;AACF,OAAO;AACP,0CAA0C;AAC1C,2BAA2B;AAC3B,gDAAgD;AAChD,8EAA8E;AAC9E,2EAA2E;AAE3E,OAAO,EACL,0BAA0B,EAC1B,yBAAyB,EACzB,WAAW,EACX,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,WAAW,EACX,aAAa,GACd,MAAM,gBAAgB,CAAC;AAExB,iHAAiH;AACjH,yGAAyG;AACzG,OAAO,EACL,eAAe,EACf,8BAA8B,EAC9B,iCAAiC,EACjC,wBAAwB,EACxB,8BAA8B,EAC9B,sCAAsC,EACtC,sBAAsB,EACtB,uBAAuB,EACvB,sBAAsB,EACtB,wBAAwB,EACxB,qBAAqB,EACrB,2BAA2B,EAC3B,2BAA2B,EAC3B,4BAA4B,EAC5B,kBAAkB,EAClB,wBAAwB,EACxB,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,GAUf,MAAM,yBAAyB,CAAC;AAEjC,mGAAmG;AACnG,OAAO,EACL,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAE3B,mDAAmD;AACnD,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,0BAA0B,EAC1B,uBAAuB,GACxB,MAAM,mBAAmB,CAAC;AAE3B,OAAO,EACL,kBAAkB,EAClB,WAAW,EACX,aAAa,GAEd,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,cAAc,CAAC;AAEtB,yGAAyG;AACzG,gGAAgG;AAChG,OAAO,EACL,oBAAoB,EACpB,iCAAiC,EACjC,kCAAkC;AAClC,gDAAgD;AAChD,aAAa,EACb,0BAA0B,EAC1B,2BAA2B,GAK5B,MAAM,WAAW,CAAC;AAEnB,OAAO,EACL,mBAAmB,EACnB,wBAAwB,EACxB,yBAAyB,EACzB,kBAAkB,EAClB,wBAAwB,GACzB,MAAM,aAAa,CAAC;AAyBrB,OAAO,EAAE,mBAAmB,EAAqB,MAAM,aAAa,CAAC;AAErE,gEAAgE;AAChE,mEAAmE;AACnE,+DAA+D;AAC/D,0CAA0C;AAC1C,OAAO,EAAE,uBAAuB,EAAE,MAAM,WAAW,CAAC;AAEpD,kEAAkE;AAClE,yDAAyD;AACzD,OAAO,EACL,wBAAwB,EACxB,2BAA2B,EAC3B,yBAAyB,EACzB,wBAAwB,EACxB,sBAAsB,EACtB,0BAA0B,EAC1B,0BAA0B,EAC1B,yBAAyB,GAE1B,MAAM,YAAY,CAAC;AAEpB,4GAA4G;AAC5G,+GAA+G;AAC/G,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,wBAAwB,EACxB,uBAAuB,GAGxB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,sBAAsB,EACtB,oBAAoB,EACpB,cAAc,GAIf,MAAM,iBAAiB,CAAC"}
@@ -0,0 +1,26 @@
1
+ import { type PublicHostResolver, type PublicUrlPolicy } from './url-policy.js';
2
+ export type ProfileFetchRefusal = 'url_refused' | 'redirect_refused' | 'timeout' | 'too_large' | 'http_error' | 'not_json' | 'no_body' | 'network_error';
3
+ export declare class ProfileFetchError extends Error {
4
+ readonly code: ProfileFetchRefusal;
5
+ constructor(code: ProfileFetchRefusal, detail: string);
6
+ }
7
+ export declare const DEFAULT_FETCH_TIMEOUT_MS = 5000;
8
+ export declare const DEFAULT_FETCH_MAX_BYTES: number;
9
+ export interface PublicJsonFetchOptions {
10
+ /** The fetch to use (test injection / a deployment's egress). Defaults to `globalThis.fetch`. */
11
+ fetch?: typeof fetch;
12
+ /** One deadline for the whole exchange, body included. Default 5 000 ms. */
13
+ timeoutMs?: number;
14
+ /** Hard cap on the response body, enforced while reading. Default 256 KiB. */
15
+ maxBytes?: number;
16
+ /** Replaces the shipped URL policy (an allowlist, say). It can only be consulted, never skipped. */
17
+ policy?: PublicUrlPolicy;
18
+ /** When given, every address the host resolves to must be public; none / a failed lookup is a refusal. */
19
+ resolveHost?: PublicHostResolver;
20
+ }
21
+ /**
22
+ * GET `url` and return its body as text, under the property stated at the top of this file. Throws
23
+ * `ProfileFetchError`; never returns a partial body.
24
+ */
25
+ export declare function fetchPublicJsonText(url: string, opts?: PublicJsonFetchOptions): Promise<string>;
26
+ //# sourceMappingURL=safe-fetch.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"safe-fetch.d.ts","sourceRoot":"","sources":["../src/safe-fetch.ts"],"names":[],"mappings":"AAWA,OAAO,EAAkB,KAAK,kBAAkB,EAAE,KAAK,eAAe,EAAE,MAAM,iBAAiB,CAAC;AAEhG,MAAM,MAAM,mBAAmB,GAC3B,aAAa,GACb,kBAAkB,GAClB,SAAS,GACT,WAAW,GACX,YAAY,GACZ,UAAU,GACV,SAAS,GACT,eAAe,CAAC;AAEpB,qBAAa,iBAAkB,SAAQ,KAAK;IAC9B,QAAQ,CAAC,IAAI,EAAE,mBAAmB;gBAAzB,IAAI,EAAE,mBAAmB,EAAE,MAAM,EAAE,MAAM;CAK/D;AAED,eAAO,MAAM,wBAAwB,OAAQ,CAAC;AAC9C,eAAO,MAAM,uBAAuB,QAAa,CAAC;AAElD,MAAM,WAAW,sBAAsB;IACrC,iGAAiG;IACjG,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;IACrB,4EAA4E;IAC5E,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,8EAA8E;IAC9E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,oGAAoG;IACpG,MAAM,CAAC,EAAE,eAAe,CAAC;IACzB,0GAA0G;IAC1G,WAAW,CAAC,EAAE,kBAAkB,CAAC;CAClC;AAUD;;;GAGG;AACH,wBAAsB,mBAAmB,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,GAAE,sBAA2B,GAAG,OAAO,CAAC,MAAM,CAAC,CAoFzG"}