@agenticprimitives/agent-profile 1.0.0-alpha.4 → 1.0.0-alpha.40

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 (93) hide show
  1. package/README.md +91 -37
  2. package/dist/a2a/binding.d.ts +99 -0
  3. package/dist/a2a/binding.d.ts.map +1 -0
  4. package/dist/a2a/binding.js +142 -0
  5. package/dist/a2a/binding.js.map +1 -0
  6. package/dist/a2a/canonical.d.ts +31 -0
  7. package/dist/a2a/canonical.d.ts.map +1 -0
  8. package/dist/a2a/canonical.js +43 -0
  9. package/dist/a2a/canonical.js.map +1 -0
  10. package/dist/a2a/field-binding.d.ts +125 -0
  11. package/dist/a2a/field-binding.d.ts.map +1 -0
  12. package/dist/a2a/field-binding.js +242 -0
  13. package/dist/a2a/field-binding.js.map +1 -0
  14. package/dist/a2a/import.d.ts +39 -0
  15. package/dist/a2a/import.d.ts.map +1 -0
  16. package/dist/a2a/import.js +134 -0
  17. package/dist/a2a/import.js.map +1 -0
  18. package/dist/a2a/index.d.ts +13 -0
  19. package/dist/a2a/index.d.ts.map +1 -0
  20. package/dist/a2a/index.js +24 -0
  21. package/dist/a2a/index.js.map +1 -0
  22. package/dist/a2a/jws.d.ts +76 -0
  23. package/dist/a2a/jws.d.ts.map +1 -0
  24. package/dist/a2a/jws.js +186 -0
  25. package/dist/a2a/jws.js.map +1 -0
  26. package/dist/a2a/playbook-binding.d.ts +29 -0
  27. package/dist/a2a/playbook-binding.d.ts.map +1 -0
  28. package/dist/a2a/playbook-binding.js +65 -0
  29. package/dist/a2a/playbook-binding.js.map +1 -0
  30. package/dist/a2a/pointer.d.ts +13 -0
  31. package/dist/a2a/pointer.d.ts.map +1 -0
  32. package/dist/a2a/pointer.js +78 -0
  33. package/dist/a2a/pointer.js.map +1 -0
  34. package/dist/a2a/release.d.ts +77 -0
  35. package/dist/a2a/release.d.ts.map +1 -0
  36. package/dist/a2a/release.js +197 -0
  37. package/dist/a2a/release.js.map +1 -0
  38. package/dist/a2a/types.d.ts +327 -0
  39. package/dist/a2a/types.d.ts.map +1 -0
  40. package/dist/a2a/types.js +49 -0
  41. package/dist/a2a/types.js.map +1 -0
  42. package/dist/a2a/validation.d.ts +81 -0
  43. package/dist/a2a/validation.d.ts.map +1 -0
  44. package/dist/a2a/validation.js +506 -0
  45. package/dist/a2a/validation.js.map +1 -0
  46. package/dist/caip10.d.ts +4 -3
  47. package/dist/caip10.d.ts.map +1 -1
  48. package/dist/caip10.js +8 -5
  49. package/dist/caip10.js.map +1 -1
  50. package/dist/calls.d.ts +23 -0
  51. package/dist/calls.d.ts.map +1 -1
  52. package/dist/calls.js +31 -1
  53. package/dist/calls.js.map +1 -1
  54. package/dist/card.d.ts +70 -0
  55. package/dist/card.d.ts.map +1 -0
  56. package/dist/card.js +130 -0
  57. package/dist/card.js.map +1 -0
  58. package/dist/client-key-binding.d.ts +196 -0
  59. package/dist/client-key-binding.d.ts.map +1 -0
  60. package/dist/client-key-binding.js +282 -0
  61. package/dist/client-key-binding.js.map +1 -0
  62. package/dist/client.d.ts +6 -4
  63. package/dist/client.d.ts.map +1 -1
  64. package/dist/client.js +79 -8
  65. package/dist/client.js.map +1 -1
  66. package/dist/constants.d.ts +31 -1
  67. package/dist/constants.d.ts.map +1 -1
  68. package/dist/constants.js +38 -1
  69. package/dist/constants.js.map +1 -1
  70. package/dist/derived-type.d.ts +14 -0
  71. package/dist/derived-type.d.ts.map +1 -0
  72. package/dist/derived-type.js +56 -0
  73. package/dist/derived-type.js.map +1 -0
  74. package/dist/distribution.d.ts +32 -0
  75. package/dist/distribution.d.ts.map +1 -0
  76. package/dist/distribution.js +167 -0
  77. package/dist/distribution.js.map +1 -0
  78. package/dist/errors.d.ts +6 -0
  79. package/dist/errors.d.ts.map +1 -1
  80. package/dist/errors.js +11 -0
  81. package/dist/errors.js.map +1 -1
  82. package/dist/index.d.ts +12 -8
  83. package/dist/index.d.ts.map +1 -1
  84. package/dist/index.js +19 -7
  85. package/dist/index.js.map +1 -1
  86. package/dist/profile.d.ts +4 -4
  87. package/dist/profile.d.ts.map +1 -1
  88. package/dist/profile.js +25 -3
  89. package/dist/profile.js.map +1 -1
  90. package/dist/types.d.ts +135 -9
  91. package/dist/types.d.ts.map +1 -1
  92. package/package.json +32 -12
  93. package/spec.md +5 -1
@@ -0,0 +1,56 @@
1
+ import { keccak256, toHex } from 'viem';
2
+ import { DERIVED_AGENT_TYPES } from '@agenticprimitives/types';
3
+ /** `keccak256(<DerivedAgentType>)` — the enum value stored under `atl:agentType` (mirrors agent-naming `AGENT_TYPE_ID`). */
4
+ export function derivedTypeId(t) {
5
+ return keccak256(toHex(t));
6
+ }
7
+ /**
8
+ * Encodings a chain already carries for a type this package has since RENAMED. Reading is where the
9
+ * past has to be honoured: `.workspace` agents declared before 2026-08-31 hold
10
+ * `keccak256("workspace-coordinator")`, and refusing to decode that would report a correctly typed
11
+ * agent as untyped. WRITING always uses the current name — `derivedTypeId` never consults this map,
12
+ * so nothing new is minted under a legacy encoding. Append only; never remove an entry.
13
+ */
14
+ const LEGACY_TYPE_IDS = Object.freeze({
15
+ [keccak256(toHex('workspace-coordinator')).toLowerCase()]: 'workspace',
16
+ });
17
+ export function decodeDerivedTypeId(id) {
18
+ const lower = id.toLowerCase();
19
+ for (const t of DERIVED_AGENT_TYPES)
20
+ if (derivedTypeId(t).toLowerCase() === lower)
21
+ return t;
22
+ return LEGACY_TYPE_IDS[lower] ?? null;
23
+ }
24
+ /**
25
+ * Which derived types a `ProfileType` may describe (spec 346 §6.2 — publish refuses a profileType
26
+ * inconsistent with the SA's declared `atl:agentType`). `mcpServer` / `multisig` are technology/structure
27
+ * profiles that may sit on any service- or org-rooted agent.
28
+ */
29
+ export function profileTypesForDerivedType(t) {
30
+ switch (t) {
31
+ case 'person':
32
+ return ['person'];
33
+ case 'org':
34
+ return ['org', 'alliance', 'multisig'];
35
+ case 'team':
36
+ return ['team', 'multisig'];
37
+ case 'service':
38
+ return ['service', 'mcpServer', 'multisig'];
39
+ case 'workspace':
40
+ return ['service', 'mcpServer'];
41
+ case 'treasury':
42
+ return ['treasury', 'multisig'];
43
+ case 'registry':
44
+ return ['service', 'mcpServer'];
45
+ case 'church':
46
+ return ['church', 'multisig'];
47
+ case 'circle':
48
+ return ['circle', 'multisig'];
49
+ case 'household':
50
+ return ['household', 'multisig'];
51
+ }
52
+ }
53
+ export function isProfileTypeConsistent(profileType, declared) {
54
+ return profileTypesForDerivedType(declared).includes(profileType);
55
+ }
56
+ //# sourceMappingURL=derived-type.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"derived-type.js","sourceRoot":"","sources":["../src/derived-type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,KAAK,EAAY,MAAM,MAAM,CAAC;AAElD,OAAO,EAAE,mBAAmB,EAAE,MAAM,0BAA0B,CAAC;AAG/D,4HAA4H;AAC5H,MAAM,UAAU,aAAa,CAAC,CAAmB;IAC/C,OAAO,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;AAC7B,CAAC;AAED;;;;;;GAMG;AACH,MAAM,eAAe,GAA+C,MAAM,CAAC,MAAM,CAAC;IAChF,CAAC,SAAS,CAAC,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,EAAE,WAAW;CACvE,CAAC,CAAC;AAEH,MAAM,UAAU,mBAAmB,CAAC,EAAO;IACzC,MAAM,KAAK,GAAG,EAAE,CAAC,WAAW,EAAE,CAAC;IAC/B,KAAK,MAAM,CAAC,IAAI,mBAAmB;QAAE,IAAI,aAAa,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,KAAK,KAAK;YAAE,OAAO,CAAC,CAAC;IAC5F,OAAO,eAAe,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC;AACxC,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,0BAA0B,CAAC,CAAmB;IAC5D,QAAQ,CAAC,EAAE,CAAC;QACV,KAAK,QAAQ;YACX,OAAO,CAAC,QAAQ,CAAC,CAAC;QACpB,KAAK,KAAK;YACR,OAAO,CAAC,KAAK,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC;QACzC,KAAK,MAAM;YACT,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;QAC9B,KAAK,SAAS;YACZ,OAAO,CAAC,SAAS,EAAE,WAAW,EAAE,UAAU,CAAC,CAAC;QAC9C,KAAK,WAAW;YACd,OAAO,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QAClC,KAAK,UAAU;YACb,OAAO,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAClC,KAAK,UAAU;YACb,OAAO,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;QAClC,KAAK,QAAQ;YACX,OAAO,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAChC,KAAK,QAAQ;YACX,OAAO,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC;QAChC,KAAK,WAAW;YACd,OAAO,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;IACrC,CAAC;AACH,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,WAAwB,EAAE,QAA0B;IAC1F,OAAO,0BAA0B,CAAC,QAAQ,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;AACpE,CAAC"}
@@ -0,0 +1,32 @@
1
+ /**
2
+ * `AgentDistributionV1` — validation + on-chain string encoding (spec 347 §8.5;
3
+ * `docs/architecture/ard-acp-crosswalk.md` §2–§3).
4
+ *
5
+ * Pure. The wire form is the RFC 8785 (JCS) canonical JSON string of the object, stored as the SA-keyed
6
+ * `atl:distribution` string property; two semantically-equal distributions encode to identical bytes.
7
+ * The rules mirror the ACP registry `agent.schema.json` `distribution` definitions exactly (field names,
8
+ * platform enum, `additionalProperties:false`, `minProperties:1`, sha256 pattern) plus the two AP-owned
9
+ * fields (`acp`, `version`) and the schema's prose rule that installer archives are unsupported.
10
+ *
11
+ * `decodeDistribution` is fail-closed: anything that is not a valid `AgentDistributionV1` is `null` —
12
+ * an unreadable record is an answer, never a trigger to guess (ADR-0013).
13
+ */
14
+ import type { AgentDistributionV1 } from './types.js';
15
+ /**
16
+ * Validate a candidate `AgentDistributionV1`. Returns `[]` when valid, else one human-readable issue per
17
+ * violation (JSON-pointer-ish `path: reason`). Never throws; accepts `unknown` so a decoded record can be
18
+ * checked before it is trusted as the type.
19
+ */
20
+ export declare function validateDistribution(d: unknown): string[];
21
+ /**
22
+ * The on-chain string form: RFC 8785 JCS of the validated object (sorted keys, no whitespace,
23
+ * `undefined` members omitted). Throws `InvalidProfileError` on any validation issue — the write path is
24
+ * fail-loud, so an invalid distribution never reaches the chain.
25
+ */
26
+ export declare function encodeDistribution(d: AgentDistributionV1): string;
27
+ /**
28
+ * Parse an on-chain / KB `atl:distribution` string. Fail-closed: not JSON, not an object, or any
29
+ * validation issue ⇒ `null`. Never throws.
30
+ */
31
+ export declare function decodeDistribution(s: string | null | undefined): AgentDistributionV1 | null;
32
+ //# sourceMappingURL=distribution.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"distribution.d.ts","sourceRoot":"","sources":["../src/distribution.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAKH,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AActD;;;;GAIG;AACH,wBAAgB,oBAAoB,CAAC,CAAC,EAAE,OAAO,GAAG,MAAM,EAAE,CAmBzD;AA8DD;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,mBAAmB,GAAG,MAAM,CAIjE;AAED;;;GAGG;AACH,wBAAgB,kBAAkB,CAAC,CAAC,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,mBAAmB,GAAG,IAAI,CAM3F"}
@@ -0,0 +1,167 @@
1
+ /**
2
+ * `AgentDistributionV1` — validation + on-chain string encoding (spec 347 §8.5;
3
+ * `docs/architecture/ard-acp-crosswalk.md` §2–§3).
4
+ *
5
+ * Pure. The wire form is the RFC 8785 (JCS) canonical JSON string of the object, stored as the SA-keyed
6
+ * `atl:distribution` string property; two semantically-equal distributions encode to identical bytes.
7
+ * The rules mirror the ACP registry `agent.schema.json` `distribution` definitions exactly (field names,
8
+ * platform enum, `additionalProperties:false`, `minProperties:1`, sha256 pattern) plus the two AP-owned
9
+ * fields (`acp`, `version`) and the schema's prose rule that installer archives are unsupported.
10
+ *
11
+ * `decodeDistribution` is fail-closed: anything that is not a valid `AgentDistributionV1` is `null` —
12
+ * an unreadable record is an answer, never a trigger to guess (ADR-0013).
13
+ */
14
+ import { jcsCanonicalize } from '@agenticprimitives/types';
15
+ import { ACP_PLATFORMS } from './constants.js';
16
+ import { InvalidProfileError } from './errors.js';
17
+ const SHA256_HEX = /^[a-fA-F0-9]{64}$/;
18
+ const SEMVER_PREFIX = /^[0-9]+\.[0-9]+\.[0-9]+/;
19
+ /** Installer formats the ACP schema says are NOT supported for `archive`. */
20
+ const INSTALLER_EXTENSIONS = ['.dmg', '.pkg', '.deb', '.rpm'];
21
+ const TOP_LEVEL_KEYS = new Set(['acp', 'version', 'npx', 'uvx', 'binary']);
22
+ const PACKAGE_KEYS = new Set(['package', 'args', 'env']);
23
+ const BINARY_TARGET_KEYS = new Set(['archive', 'cmd', 'sha256', 'args', 'env']);
24
+ const PLATFORM_SET = new Set(ACP_PLATFORMS);
25
+ const isPlainObject = (v) => typeof v === 'object' && v !== null && !Array.isArray(v);
26
+ /**
27
+ * Validate a candidate `AgentDistributionV1`. Returns `[]` when valid, else one human-readable issue per
28
+ * violation (JSON-pointer-ish `path: reason`). Never throws; accepts `unknown` so a decoded record can be
29
+ * checked before it is trusted as the type.
30
+ */
31
+ export function validateDistribution(d) {
32
+ const issues = [];
33
+ if (!isPlainObject(d))
34
+ return ['distribution: must be an object'];
35
+ for (const k of Object.keys(d)) {
36
+ if (!TOP_LEVEL_KEYS.has(k))
37
+ issues.push(`distribution.${k}: unknown property`);
38
+ }
39
+ if (d.acp !== undefined && typeof d.acp !== 'boolean')
40
+ issues.push('distribution.acp: must be a boolean');
41
+ if (d.version !== undefined) {
42
+ if (typeof d.version !== 'string' || !SEMVER_PREFIX.test(d.version)) {
43
+ issues.push('distribution.version: must be a semver string (MAJOR.MINOR.PATCH)');
44
+ }
45
+ }
46
+ if (d.npx !== undefined)
47
+ issues.push(...validatePackage(d.npx, 'distribution.npx'));
48
+ if (d.uvx !== undefined)
49
+ issues.push(...validatePackage(d.uvx, 'distribution.uvx'));
50
+ if (d.binary !== undefined)
51
+ issues.push(...validateBinary(d.binary));
52
+ if (d.npx === undefined && d.uvx === undefined && d.binary === undefined) {
53
+ issues.push('distribution: at least one of npx, uvx, binary is required');
54
+ }
55
+ return issues;
56
+ }
57
+ function validateArgsEnv(o, path) {
58
+ const issues = [];
59
+ if (o.args !== undefined) {
60
+ if (!Array.isArray(o.args) || !o.args.every((a) => typeof a === 'string')) {
61
+ issues.push(`${path}.args: must be an array of strings`);
62
+ }
63
+ }
64
+ if (o.env !== undefined) {
65
+ if (!isPlainObject(o.env))
66
+ issues.push(`${path}.env: must be an object of string values`);
67
+ else {
68
+ for (const [k, v] of Object.entries(o.env)) {
69
+ if (typeof v !== 'string')
70
+ issues.push(`${path}.env.${k}: must be a string`);
71
+ }
72
+ }
73
+ }
74
+ return issues;
75
+ }
76
+ function validatePackage(p, path) {
77
+ if (!isPlainObject(p))
78
+ return [`${path}: must be an object`];
79
+ const issues = [];
80
+ for (const k of Object.keys(p))
81
+ if (!PACKAGE_KEYS.has(k))
82
+ issues.push(`${path}.${k}: unknown property`);
83
+ if (typeof p.package !== 'string' || p.package.length === 0)
84
+ issues.push(`${path}.package: must be a non-empty string`);
85
+ issues.push(...validateArgsEnv(p, path));
86
+ return issues;
87
+ }
88
+ function validateBinary(b) {
89
+ const path = 'distribution.binary';
90
+ if (!isPlainObject(b))
91
+ return [`${path}: must be an object`];
92
+ const issues = [];
93
+ const keys = Object.keys(b);
94
+ if (keys.length === 0)
95
+ issues.push(`${path}: at least one platform target is required`);
96
+ for (const platform of keys) {
97
+ const tp = `${path}.${platform}`;
98
+ if (!PLATFORM_SET.has(platform)) {
99
+ issues.push(`${tp}: unknown platform (allowed: ${ACP_PLATFORMS.join(', ')})`);
100
+ continue;
101
+ }
102
+ const t = b[platform];
103
+ if (!isPlainObject(t)) {
104
+ issues.push(`${tp}: must be an object`);
105
+ continue;
106
+ }
107
+ for (const k of Object.keys(t))
108
+ if (!BINARY_TARGET_KEYS.has(k))
109
+ issues.push(`${tp}.${k}: unknown property`);
110
+ issues.push(...validateArchive(t.archive, `${tp}.archive`));
111
+ if (typeof t.cmd !== 'string' || t.cmd.length === 0)
112
+ issues.push(`${tp}.cmd: must be a non-empty string`);
113
+ if (t.sha256 !== undefined && (typeof t.sha256 !== 'string' || !SHA256_HEX.test(t.sha256))) {
114
+ issues.push(`${tp}.sha256: must be 64 hex characters`);
115
+ }
116
+ issues.push(...validateArgsEnv(t, tp));
117
+ }
118
+ return issues;
119
+ }
120
+ function validateArchive(archive, path) {
121
+ if (typeof archive !== 'string' || archive.length === 0)
122
+ return [`${path}: must be a non-empty string`];
123
+ let url;
124
+ try {
125
+ url = new URL(archive);
126
+ }
127
+ catch {
128
+ return [`${path}: must be an absolute URL`];
129
+ }
130
+ if (url.protocol !== 'https:')
131
+ return [`${path}: must be https`];
132
+ const lower = url.pathname.toLowerCase();
133
+ const installer = INSTALLER_EXTENSIONS.find((ext) => lower.endsWith(ext));
134
+ if (installer)
135
+ return [`${path}: installer format ${installer} is not supported (use an archive or raw binary)`];
136
+ return [];
137
+ }
138
+ /**
139
+ * The on-chain string form: RFC 8785 JCS of the validated object (sorted keys, no whitespace,
140
+ * `undefined` members omitted). Throws `InvalidProfileError` on any validation issue — the write path is
141
+ * fail-loud, so an invalid distribution never reaches the chain.
142
+ */
143
+ export function encodeDistribution(d) {
144
+ const issues = validateDistribution(d);
145
+ if (issues.length)
146
+ throw new InvalidProfileError(issues.join('; '), 'distribution');
147
+ return jcsCanonicalize(d);
148
+ }
149
+ /**
150
+ * Parse an on-chain / KB `atl:distribution` string. Fail-closed: not JSON, not an object, or any
151
+ * validation issue ⇒ `null`. Never throws.
152
+ */
153
+ export function decodeDistribution(s) {
154
+ if (typeof s !== 'string' || s.length === 0)
155
+ return null;
156
+ let parsed;
157
+ try {
158
+ parsed = JSON.parse(s);
159
+ }
160
+ catch {
161
+ return null;
162
+ }
163
+ if (validateDistribution(parsed).length)
164
+ return null;
165
+ return parsed;
166
+ }
167
+ //# sourceMappingURL=distribution.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"distribution.js","sourceRoot":"","sources":["../src/distribution.ts"],"names":[],"mappings":"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"}
package/dist/errors.d.ts CHANGED
@@ -19,4 +19,10 @@ export declare class InvalidCaip10Error extends Error {
19
19
  readonly reason: string;
20
20
  constructor(value: string, reason: string);
21
21
  }
22
+ /** `publishProfile` refused: the card's `type` disagrees with the SA's on-chain `atl:agentType` (spec 346 §3.6 step 5). */
23
+ export declare class ProfileTypeMismatchError extends Error {
24
+ readonly profileType: string;
25
+ readonly declaredType: string;
26
+ constructor(profileType: string, declaredType: string);
27
+ }
22
28
  //# sourceMappingURL=errors.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,qBAAa,mBAAoB,SAAQ,KAAK;IAChC,QAAQ,CAAC,MAAM,EAAE,MAAM;IAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM;gBAAvC,MAAM,EAAE,MAAM,EAAW,KAAK,CAAC,EAAE,MAAM,YAAA;CAO7D;AAED,qBAAa,wBAAyB,SAAQ,KAAK;IACrC,QAAQ,CAAC,QAAQ,EAAE,MAAM;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM;gBAAzC,QAAQ,EAAE,MAAM,EAAW,MAAM,EAAE,MAAM;CAM/D;AAED,qBAAa,yBAA0B,SAAQ,KAAK;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM;IAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM;gBAAlE,MAAM,EAAE,MAAM,EAAW,QAAQ,EAAE,MAAM,EAAW,MAAM,EAAE,MAAM;CAIxF;AAED,qBAAa,kBAAmB,SAAQ,KAAK;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM;gBAAtC,KAAK,EAAE,MAAM,EAAW,MAAM,EAAE,MAAM;CAI5D"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,qBAAa,mBAAoB,SAAQ,KAAK;IAChC,QAAQ,CAAC,MAAM,EAAE,MAAM;IAAE,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM;gBAAvC,MAAM,EAAE,MAAM,EAAW,KAAK,CAAC,EAAE,MAAM,YAAA;CAO7D;AAED,qBAAa,wBAAyB,SAAQ,KAAK;IACrC,QAAQ,CAAC,QAAQ,EAAE,MAAM;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM;gBAAzC,QAAQ,EAAE,MAAM,EAAW,MAAM,EAAE,MAAM;CAM/D;AAED,qBAAa,yBAA0B,SAAQ,KAAK;IACtC,QAAQ,CAAC,MAAM,EAAE,MAAM;IAAE,QAAQ,CAAC,QAAQ,EAAE,MAAM;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM;gBAAlE,MAAM,EAAE,MAAM,EAAW,QAAQ,EAAE,MAAM,EAAW,MAAM,EAAE,MAAM;CAIxF;AAED,qBAAa,kBAAmB,SAAQ,KAAK;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM;gBAAtC,KAAK,EAAE,MAAM,EAAW,MAAM,EAAE,MAAM;CAI5D;AAED,2HAA2H;AAC3H,qBAAa,wBAAyB,SAAQ,KAAK;IACrC,QAAQ,CAAC,WAAW,EAAE,MAAM;IAAE,QAAQ,CAAC,YAAY,EAAE,MAAM;gBAAlD,WAAW,EAAE,MAAM,EAAW,YAAY,EAAE,MAAM;CAIxE"}
package/dist/errors.js CHANGED
@@ -41,4 +41,15 @@ export class InvalidCaip10Error extends Error {
41
41
  this.name = 'InvalidCaip10Error';
42
42
  }
43
43
  }
44
+ /** `publishProfile` refused: the card's `type` disagrees with the SA's on-chain `atl:agentType` (spec 346 §3.6 step 5). */
45
+ export class ProfileTypeMismatchError extends Error {
46
+ profileType;
47
+ declaredType;
48
+ constructor(profileType, declaredType) {
49
+ super(`[agent-profile] profile type "${profileType}" is inconsistent with the agent's declared derived type "${declaredType}"`);
50
+ this.profileType = profileType;
51
+ this.declaredType = declaredType;
52
+ this.name = 'ProfileTypeMismatchError';
53
+ }
54
+ }
44
55
  //# sourceMappingURL=errors.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,mBAAoB,SAAQ,KAAK;IACvB;IAAyB;IAA9C,YAAqB,MAAc,EAAW,KAAc;QAC1D,KAAK,CACH,oCAAoC,MAAM,EAAE;YAC1C,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CACtC,CAAC;QAJiB,WAAM,GAAN,MAAM,CAAQ;QAAW,UAAK,GAAL,KAAK,CAAS;QAK1D,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACpC,CAAC;CACF;AAED,MAAM,OAAO,wBAAyB,SAAQ,KAAK;IAC5B;IAA2B;IAAhD,YAAqB,QAAgB,EAAW,MAAc;QAC5D,KAAK,CACH,4DAA4D,QAAQ,gBAAgB,MAAM,EAAE,CAC7F,CAAC;QAHiB,aAAQ,GAAR,QAAQ,CAAQ;QAAW,WAAM,GAAN,MAAM,CAAQ;QAI5D,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAC;IACzC,CAAC;CACF;AAED,MAAM,OAAO,yBAA0B,SAAQ,KAAK;IAC7B;IAAyB;IAA2B;IAAzE,YAAqB,MAAc,EAAW,QAAgB,EAAW,MAAc;QACrF,KAAK,CAAC,mBAAmB,MAAM,4BAA4B,QAAQ,KAAK,MAAM,EAAE,CAAC,CAAC;QAD/D,WAAM,GAAN,MAAM,CAAQ;QAAW,aAAQ,GAAR,QAAQ,CAAQ;QAAW,WAAM,GAAN,MAAM,CAAQ;QAErF,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC;IAC1C,CAAC;CACF;AAED,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IACtB;IAAwB;IAA7C,YAAqB,KAAa,EAAW,MAAc;QACzD,KAAK,CAAC,oCAAoC,KAAK,MAAM,MAAM,EAAE,CAAC,CAAC;QAD5C,UAAK,GAAL,KAAK,CAAQ;QAAW,WAAM,GAAN,MAAM,CAAQ;QAEzD,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;IACnC,CAAC;CACF"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,mBAAoB,SAAQ,KAAK;IACvB;IAAyB;IAA9C,YAAqB,MAAc,EAAW,KAAc;QAC1D,KAAK,CACH,oCAAoC,MAAM,EAAE;YAC1C,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CACtC,CAAC;QAJiB,WAAM,GAAN,MAAM,CAAQ;QAAW,UAAK,GAAL,KAAK,CAAS;QAK1D,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACpC,CAAC;CACF;AAED,MAAM,OAAO,wBAAyB,SAAQ,KAAK;IAC5B;IAA2B;IAAhD,YAAqB,QAAgB,EAAW,MAAc;QAC5D,KAAK,CACH,4DAA4D,QAAQ,gBAAgB,MAAM,EAAE,CAC7F,CAAC;QAHiB,aAAQ,GAAR,QAAQ,CAAQ;QAAW,WAAM,GAAN,MAAM,CAAQ;QAI5D,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAC;IACzC,CAAC;CACF;AAED,MAAM,OAAO,yBAA0B,SAAQ,KAAK;IAC7B;IAAyB;IAA2B;IAAzE,YAAqB,MAAc,EAAW,QAAgB,EAAW,MAAc;QACrF,KAAK,CAAC,mBAAmB,MAAM,4BAA4B,QAAQ,KAAK,MAAM,EAAE,CAAC,CAAC;QAD/D,WAAM,GAAN,MAAM,CAAQ;QAAW,aAAQ,GAAR,QAAQ,CAAQ;QAAW,WAAM,GAAN,MAAM,CAAQ;QAErF,IAAI,CAAC,IAAI,GAAG,2BAA2B,CAAC;IAC1C,CAAC;CACF;AAED,MAAM,OAAO,kBAAmB,SAAQ,KAAK;IACtB;IAAwB;IAA7C,YAAqB,KAAa,EAAW,MAAc;QACzD,KAAK,CAAC,oCAAoC,KAAK,MAAM,MAAM,EAAE,CAAC,CAAC;QAD5C,UAAK,GAAL,KAAK,CAAQ;QAAW,WAAM,GAAN,MAAM,CAAQ;QAEzD,IAAI,CAAC,IAAI,GAAG,oBAAoB,CAAC;IACnC,CAAC;CACF;AAED,2HAA2H;AAC3H,MAAM,OAAO,wBAAyB,SAAQ,KAAK;IAC5B;IAA8B;IAAnD,YAAqB,WAAmB,EAAW,YAAoB;QACrE,KAAK,CAAC,iCAAiC,WAAW,6DAA6D,YAAY,GAAG,CAAC,CAAC;QAD7G,gBAAW,GAAX,WAAW,CAAQ;QAAW,iBAAY,GAAZ,YAAY,CAAQ;QAErE,IAAI,CAAC,IAAI,GAAG,0BAA0B,CAAC;IACzC,CAAC;CACF"}
package/dist/index.d.ts CHANGED
@@ -1,9 +1,13 @@
1
- export { CAIP10_NAMESPACE_ALLOWLIST, AGENT_CARD_SCHEMA_VERSION, AUTH_ORIGIN, } from './constants';
2
- export { buildCaip10Address, parseCaip10, isValidCaip10, type Caip10Parts, } from './caip10';
3
- export { canonicalProfileJson, profileContentHash, } from './profile';
4
- export { InvalidProfileError, ProfileHashMismatchError, EndpointVerificationError, InvalidCaip10Error, } from './errors';
5
- export type { ProfileType, Caip10Address, VerificationMethod, AiAgentProfile, McpServerProfile, MultisigProfile, ServiceProfile, AgentCard, AgentIdentityClientOpts, PublishProfileInput, } from './types';
6
- export { AgentIdentityClient, type WriteContext } from './client';
7
- export { agentProfileResolverAbi } from './abis';
8
- export { buildRegisterProfileCall, buildSetProfileMetadataCall, buildSetProfileStringCall, buildSetProfileAddressCall, buildSetProfileBytes32Call, buildSetProfileActiveCall, type ContractCall, } from './calls';
1
+ export { CAIP10_NAMESPACE_ALLOWLIST, AGENT_CARD_SCHEMA_VERSION, AUTH_ORIGIN, AGENT_TYPE, SERVICE_ROLE, DISTRIBUTION, CLIENT_KEYS, ACP_PLATFORMS, } from './constants.js';
2
+ export { CLIENT_KEY_ALGS, CLIENT_KEY_BINDING_DOMAIN_NAME, CLIENT_KEY_BINDING_DOMAIN_VERSION, CLIENT_KEY_BINDING_TYPES, CLIENT_KEY_BINDING_TYPE_STRING, CLIENT_KEY_BINDING_DEFAULT_TTL_SECONDS, clientKeyBindingDomain, clientKeyBindingMessage, clientKeyBindingDigest, validateClientKeyBinding, clientKeyScopeRefusal, assertClientKeyScopeAllowed, buildSignedClientKeyBinding, verifySignedClientKeyBinding, clientKeyRecordRow, validateClientKeysRecord, encodeClientKeys, decodeClientKeys, liveClientKeys, type ClientKeyAlg, type ClientKeyScope, type ClientKeyBindingV1, type SignedClientKeyBindingV1, type BuildSignedClientKeyBindingInput, type VerifyClientKeyBindingOptions, type VerifyClientKeyBindingResult, type ClientKeyRecordRowV1, type ClientKeysRecordV1, } from './client-key-binding.js';
3
+ export { validateDistribution, encodeDistribution, decodeDistribution, } from './distribution.js';
4
+ export { derivedTypeId, decodeDerivedTypeId, profileTypesForDerivedType, isProfileTypeConsistent, } from './derived-type.js';
5
+ export { buildCaip10Address, parseCaip10, isValidCaip10, type Caip10Parts, } from './caip10.js';
6
+ export { canonicalProfileJson, profileContentHash, } from './profile.js';
7
+ export { hashCanonicalProfile, buildSignedCanonicalProfileBundle, verifySignedCanonicalProfileBundle, hashAgentCard, buildSignedAgentCardBundle, verifySignedAgentCardBundle, type Erc1271Verifier, type SmartAgentCardSigner, type BuildSignedAgentCardInput, type VerifySignedAgentCardResult, } from './card.js';
8
+ export { InvalidProfileError, ProfileHashMismatchError, EndpointVerificationError, InvalidCaip10Error, ProfileTypeMismatchError, } from './errors.js';
9
+ export type { ProfileType, Caip10Address, VerificationMethod, AiAgentProfile, McpServerProfile, MultisigProfile, ServiceProfile, CanonicalAgentProfileV1, AcpPlatform, AgentPackageDistributionV1, AgentBinaryTargetV1, AgentDistributionV1, ProtocolFeatureSetV1, Sha256, SignedCanonicalProfileBundleV1, AgentCard, SignedAgentCardBundleV1, AgentIdentityClientOpts, PublishProfileInput, } from './types.js';
10
+ export { AgentIdentityClient, type WriteContext } from './client.js';
11
+ export { agentProfileResolverAbi } from './abis.js';
12
+ export { buildRegisterProfileCall, buildSetProfileMetadataCall, buildSetProfileStringCall, buildSetDistributionCall, buildSetClientKeysCall, buildSetProfileAddressCall, buildSetProfileBytes32Call, buildSetProfileActiveCall, type ContractCall, } from './calls.js';
9
13
  //# 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,GACZ,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,kBAAkB,EAClB,WAAW,EACX,aAAa,EACb,KAAK,WAAW,GACjB,MAAM,UAAU,CAAC;AAElB,OAAO,EACL,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,WAAW,CAAC;AAEnB,OAAO,EACL,mBAAmB,EACnB,wBAAwB,EACxB,yBAAyB,EACzB,kBAAkB,GACnB,MAAM,UAAU,CAAC;AAElB,YAAY,EACV,WAAW,EACX,aAAa,EACb,kBAAkB,EAClB,cAAc,EACd,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,SAAS,EACT,uBAAuB,EACvB,mBAAmB,GACpB,MAAM,SAAS,CAAC;AAEjB,OAAO,EAAE,mBAAmB,EAAE,KAAK,YAAY,EAAE,MAAM,UAAU,CAAC;AAMlE,OAAO,EAAE,uBAAuB,EAAE,MAAM,QAAQ,CAAC;AAIjD,OAAO,EACL,wBAAwB,EACxB,2BAA2B,EAC3B,yBAAyB,EACzB,0BAA0B,EAC1B,0BAA0B,EAC1B,yBAAyB,EACzB,KAAK,YAAY,GAClB,MAAM,SAAS,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"}
package/dist/index.js CHANGED
@@ -6,17 +6,29 @@
6
6
  // - specs/217-agent-profile.md — the contract
7
7
  // - docs/architecture/decisions/0007-agent-identity-stack-three-packages.md
8
8
  // - docs/architecture/decisions/0008-caip10-nativeid-record-predicate.md
9
- export { CAIP10_NAMESPACE_ALLOWLIST, AGENT_CARD_SCHEMA_VERSION, AUTH_ORIGIN, } from './constants';
10
- export { buildCaip10Address, parseCaip10, isValidCaip10, } from './caip10';
11
- export { canonicalProfileJson, profileContentHash, } from './profile';
12
- export { InvalidProfileError, ProfileHashMismatchError, EndpointVerificationError, InvalidCaip10Error, } from './errors';
13
- export { AgentIdentityClient } from './client';
9
+ export { CAIP10_NAMESPACE_ALLOWLIST, AGENT_CARD_SCHEMA_VERSION, AUTH_ORIGIN, AGENT_TYPE, SERVICE_ROLE, DISTRIBUTION, CLIENT_KEYS, ACP_PLATFORMS, } from './constants.js';
10
+ // A client key the Smart Agent may PRESENT with at external doors (spec 442 §3) — a credential, never authority;
11
+ // the public half on chain as `atl:clientKeys`. The §7 posture rule and the custody-epoch rule run here.
12
+ export { CLIENT_KEY_ALGS, CLIENT_KEY_BINDING_DOMAIN_NAME, CLIENT_KEY_BINDING_DOMAIN_VERSION, CLIENT_KEY_BINDING_TYPES, CLIENT_KEY_BINDING_TYPE_STRING, CLIENT_KEY_BINDING_DEFAULT_TTL_SECONDS, clientKeyBindingDomain, clientKeyBindingMessage, clientKeyBindingDigest, validateClientKeyBinding, clientKeyScopeRefusal, assertClientKeyScopeAllowed, buildSignedClientKeyBinding, verifySignedClientKeyBinding, clientKeyRecordRow, validateClientKeysRecord, encodeClientKeys, decodeClientKeys, liveClientKeys, } from './client-key-binding.js';
13
+ // `distribution` canonical-profile fact (spec 347 §8.5): how to obtain + run the agent's software.
14
+ export { validateDistribution, encodeDistribution, decodeDistribution, } from './distribution.js';
15
+ // Derived-type consistency (spec 346 §2.3 / §6.2).
16
+ export { derivedTypeId, decodeDerivedTypeId, profileTypesForDerivedType, isProfileTypeConsistent, } from './derived-type.js';
17
+ export { buildCaip10Address, parseCaip10, isValidCaip10, } from './caip10.js';
18
+ export { canonicalProfileJson, profileContentHash, } from './profile.js';
19
+ // Signed canonical-profile bundle (spec 279 §3.2) — prove `cardHash → subjectAgent` without trusting the
20
+ // server. NOT the A2A Agent Card: that is `@agenticprimitives/agent-profile/a2a` (spec 347 §4).
21
+ export { hashCanonicalProfile, buildSignedCanonicalProfileBundle, verifySignedCanonicalProfileBundle,
22
+ // @deprecated pre-spec-347 names (one release).
23
+ hashAgentCard, buildSignedAgentCardBundle, verifySignedAgentCardBundle, } from './card.js';
24
+ export { InvalidProfileError, ProfileHashMismatchError, EndpointVerificationError, InvalidCaip10Error, ProfileTypeMismatchError, } from './errors.js';
25
+ export { AgentIdentityClient } from './client.js';
14
26
  // Phase 3 contract ABIs (live at deployed addresses recorded in
15
27
  // packages/contracts/deployments-<network>.json). Profile resolver
16
28
  // inherits AttributeStorage; predicates governed by the shared
17
29
  // OntologyTermRegistry from agent-naming.
18
- export { agentProfileResolverAbi } from './abis';
30
+ export { agentProfileResolverAbi } from './abis.js';
19
31
  // Phase 4 pure call builders. Compose into AgentAccount.execute /
20
32
  // CustodyPolicy ceremonies / ERC-4337 UserOps as needed.
21
- export { buildRegisterProfileCall, buildSetProfileMetadataCall, buildSetProfileStringCall, buildSetProfileAddressCall, buildSetProfileBytes32Call, buildSetProfileActiveCall, } from './calls';
33
+ export { buildRegisterProfileCall, buildSetProfileMetadataCall, buildSetProfileStringCall, buildSetDistributionCall, buildSetClientKeysCall, buildSetProfileAddressCall, buildSetProfileBytes32Call, buildSetProfileActiveCall, } from './calls.js';
22
34
  //# 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,GACZ,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,kBAAkB,EAClB,WAAW,EACX,aAAa,GAEd,MAAM,UAAU,CAAC;AAElB,OAAO,EACL,oBAAoB,EACpB,kBAAkB,GACnB,MAAM,WAAW,CAAC;AAEnB,OAAO,EACL,mBAAmB,EACnB,wBAAwB,EACxB,yBAAyB,EACzB,kBAAkB,GACnB,MAAM,UAAU,CAAC;AAelB,OAAO,EAAE,mBAAmB,EAAqB,MAAM,UAAU,CAAC;AAElE,gEAAgE;AAChE,mEAAmE;AACnE,+DAA+D;AAC/D,0CAA0C;AAC1C,OAAO,EAAE,uBAAuB,EAAE,MAAM,QAAQ,CAAC;AAEjD,kEAAkE;AAClE,yDAAyD;AACzD,OAAO,EACL,wBAAwB,EACxB,2BAA2B,EAC3B,yBAAyB,EACzB,0BAA0B,EAC1B,0BAA0B,EAC1B,yBAAyB,GAE1B,MAAM,SAAS,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"}
package/dist/profile.d.ts CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Canonical-JSON serialization + content-hash for AgentCard profiles.
2
+ * Canonical-JSON serialization + content-hash for CanonicalAgentProfileV1 profiles (the AP-native profile — NOT the A2A card).
3
3
  *
4
4
  * Subpath: `@agenticprimitives/agent-profile/profile`.
5
5
  *
@@ -7,7 +7,7 @@
7
7
  * in agent-naming. Two semantically-equal profiles MUST produce the
8
8
  * same hash — sort keys, fixed numeric format, no whitespace.
9
9
  */
10
- import type { AgentCard } from './types';
10
+ import type { CanonicalAgentProfileV1 } from './types.js';
11
11
  /**
12
12
  * Canonical-JSON encoding. Sorts object keys recursively, omits
13
13
  * `undefined`, refuses non-finite numbers, refuses functions.
@@ -15,11 +15,11 @@ import type { AgentCard } from './types';
15
15
  * Note: `JSON.stringify` does NOT sort keys, so we do it manually.
16
16
  * Arrays preserve insertion order (semantically meaningful).
17
17
  */
18
- export declare function canonicalProfileJson(profile: AgentCard): string;
18
+ export declare function canonicalProfileJson(profile: CanonicalAgentProfileV1): string;
19
19
  /**
20
20
  * Keccak-256 of the canonical-JSON encoding of a profile. Matches
21
21
  * the `metadata-hash` predicate in `agent-naming/records`. Stable
22
22
  * across runtimes — UTF-8 byte-level deterministic.
23
23
  */
24
- export declare function profileContentHash(profile: AgentCard): `0x${string}`;
24
+ export declare function profileContentHash(profile: CanonicalAgentProfileV1): `0x${string}`;
25
25
  //# sourceMappingURL=profile.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../src/profile.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAKH,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAEzC;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,SAAS,GAAG,MAAM,CAI/D;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,SAAS,GAAG,KAAK,MAAM,EAAE,CAGpE"}
1
+ {"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../src/profile.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAMH,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,YAAY,CAAC;AAE1D;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,uBAAuB,GAAG,MAAM,CAI7E;AAED;;;;GAIG;AACH,wBAAgB,kBAAkB,CAAC,OAAO,EAAE,uBAAuB,GAAG,KAAK,MAAM,EAAE,CAGlF"}
package/dist/profile.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * Canonical-JSON serialization + content-hash for AgentCard profiles.
2
+ * Canonical-JSON serialization + content-hash for CanonicalAgentProfileV1 profiles (the AP-native profile — NOT the A2A card).
3
3
  *
4
4
  * Subpath: `@agenticprimitives/agent-profile/profile`.
5
5
  *
@@ -8,8 +8,9 @@
8
8
  * same hash — sort keys, fixed numeric format, no whitespace.
9
9
  */
10
10
  import { keccak256, toHex } from 'viem';
11
- import { AGENT_CARD_SCHEMA_VERSION } from './constants';
12
- import { InvalidProfileError } from './errors';
11
+ import { AGENT_CARD_SCHEMA_VERSION } from './constants.js';
12
+ import { validateDistribution } from './distribution.js';
13
+ import { InvalidProfileError } from './errors.js';
13
14
  /**
14
15
  * Canonical-JSON encoding. Sorts object keys recursively, omits
15
16
  * `undefined`, refuses non-finite numbers, refuses functions.
@@ -42,6 +43,10 @@ function validateProfile(profile) {
42
43
  switch (profile.type) {
43
44
  case 'person':
44
45
  case 'org':
46
+ case 'team':
47
+ case 'alliance':
48
+ case 'church':
49
+ case 'circle':
45
50
  case 'service':
46
51
  case 'treasury':
47
52
  case 'mcpServer':
@@ -50,6 +55,12 @@ function validateProfile(profile) {
50
55
  default:
51
56
  throw new InvalidProfileError(`unknown profile.type "${profile.type}"`, 'type');
52
57
  }
58
+ // spec 347 §8.5 — an invalid `distribution` never reaches the content hash / the chain (fail-loud on write).
59
+ if (profile.distribution !== undefined) {
60
+ const issues = validateDistribution(profile.distribution);
61
+ if (issues.length)
62
+ throw new InvalidProfileError(issues.join('; '), 'distribution');
63
+ }
53
64
  if (profile.type === 'mcpServer') {
54
65
  if (typeof profile.endpoint !== 'string' || profile.endpoint.length === 0) {
55
66
  throw new InvalidProfileError('mcpServer profile requires endpoint', 'endpoint');
@@ -67,6 +78,17 @@ function validateProfile(profile) {
67
78
  }
68
79
  }
69
80
  }
81
+ /**
82
+ * DELIBERATELY NOT `types.canonicalizeJson`. Do not "deduplicate" this.
83
+ *
84
+ * It THROWS on non-finite numbers, functions, symbols and undefined instead of silently dropping or
85
+ * emitting them. Rejecting an unrepresentable profile is the point; `canonicalizeJson` would
86
+ * quietly produce bytes for something that should have been an error.
87
+ *
88
+ * A mechanical dedup pass will flag this file as a duplicate of `types.canonicalizeJson`. It is not:
89
+ * the difference above is the whole reason this function exists, and collapsing it would silently
90
+ * change bytes that are hashed and signed.
91
+ */
70
92
  function canonicalJsonStringify(value) {
71
93
  if (value === null)
72
94
  return 'null';
@@ -1 +1 @@
1
- {"version":3,"file":"profile.js","sourceRoot":"","sources":["../src/profile.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,MAAM,CAAC;AACxC,OAAO,EAAE,yBAAyB,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAC;AAG/C;;;;;;GAMG;AACH,MAAM,UAAU,oBAAoB,CAAC,OAAkB;IACrD,eAAe,CAAC,OAAO,CAAC,CAAC;IACzB,MAAM,WAAW,GAAG,EAAE,GAAG,OAAO,EAAE,aAAa,EAAE,yBAAyB,EAAE,CAAC;IAC7E,OAAO,sBAAsB,CAAC,WAAW,CAAC,CAAC;AAC7C,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,OAAkB;IACnD,MAAM,IAAI,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC3C,OAAO,SAAS,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC;AAChC,CAAC;AAED,uEAAuE;AAEvE,SAAS,eAAe,CAAC,OAAkB;IACzC,IAAI,CAAC,OAAO,IAAI,OAAO,OAAO,KAAK,QAAQ,EAAE,CAAC;QAC5C,MAAM,IAAI,mBAAmB,CAAC,2BAA2B,CAAC,CAAC;IAC7D,CAAC;IACD,IAAI,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;QACrC,MAAM,IAAI,mBAAmB,CAAC,0BAA0B,EAAE,MAAM,CAAC,CAAC;IACpE,CAAC;IACD,QAAQ,OAAO,CAAC,IAAI,EAAE,CAAC;QACrB,KAAK,QAAQ,CAAC;QACd,KAAK,KAAK,CAAC;QACX,KAAK,SAAS,CAAC;QACf,KAAK,UAAU,CAAC;QAChB,KAAK,WAAW,CAAC;QACjB,KAAK,UAAU;YACb,MAAM;QACR;YACE,MAAM,IAAI,mBAAmB,CAAC,yBAA0B,OAA4B,CAAC,IAAI,GAAG,EAAE,MAAM,CAAC,CAAC;IAC1G,CAAC;IACD,IAAI,OAAO,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QACjC,IAAI,OAAO,OAAO,CAAC,QAAQ,KAAK,QAAQ,IAAI,OAAO,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1E,MAAM,IAAI,mBAAmB,CAAC,qCAAqC,EAAE,UAAU,CAAC,CAAC;QACnF,CAAC;QACD,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,IAAI,OAAO,CAAC,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC9E,MAAM,IAAI,mBAAmB,CAAC,6DAA6D,EAAE,cAAc,CAAC,CAAC;QAC/G,CAAC;IACH,CAAC;IACD,IAAI,OAAO,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;QAChC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,OAAO,CAAC,OAAO,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACpE,MAAM,IAAI,mBAAmB,CAAC,+CAA+C,EAAE,SAAS,CAAC,CAAC;QAC5F,CAAC;QACD,IAAI,OAAO,OAAO,CAAC,SAAS,KAAK,QAAQ,IAAI,OAAO,CAAC,SAAS,GAAG,CAAC,IAAI,OAAO,CAAC,SAAS,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YACjH,MAAM,IAAI,mBAAmB,CAC3B,0DAA0D,OAAO,CAAC,SAAS,GAAG,EAC9E,WAAW,CACZ,CAAC;QACJ,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,sBAAsB,CAAC,KAAc;IAC5C,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,MAAM,CAAC;IAClC,IAAI,OAAO,KAAK,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,CAAC;IAChE,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,mBAAmB,CAAC,qBAAqB,KAAK,gCAAgC,CAAC,CAAC;QAC5F,CAAC;QACD,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC/B,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ;QAAE,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;IAC5D,IAAI,OAAO,KAAK,KAAK,UAAU,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,WAAW,EAAE,CAAC;QAC7F,MAAM,IAAI,mBAAmB,CAAC,iBAAiB,OAAO,KAAK,gCAAgC,CAAC,CAAC;IAC/F,CAAC;IACD,IAAI,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,OAAO,GAAG,GAAG,KAAK,CAAC,GAAG,CAAC,sBAAsB,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC;IACjE,CAAC;IACD,IAAI,OAAO,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9B,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,KAAgC,CAAC;aAC7D,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,KAAK,SAAS,CAAC;aAClC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;QACpD,OAAO,CACL,GAAG;YACH,OAAO;iBACJ,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,GAAG,GAAG,sBAAsB,CAAC,CAAC,CAAC,CAAC;iBACpE,IAAI,CAAC,GAAG,CAAC;YACZ,GAAG,CACJ,CAAC;IACJ,CAAC;IACD,MAAM,IAAI,mBAAmB,CAAC,6BAA6B,OAAO,KAAK,EAAE,CAAC,CAAC;AAC7E,CAAC"}
1
+ {"version":3,"file":"profile.js","sourceRoot":"","sources":["../src/profile.ts"],"names":[],"mappings":"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"}