@agenticprimitives/agent-profile 0.1.0-alpha.2 → 1.0.0-alpha.10

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 (2) hide show
  1. package/README.md +39 -35
  2. package/package.json +15 -15
package/README.md CHANGED
@@ -1,34 +1,29 @@
1
1
  # @agenticprimitives/agent-profile
2
2
 
3
- Typed **profile facet** for Smart Agents — AgentCard schema, CAIP-10 helpers,
4
- and endpoint-verification methods.
3
+ **A profile describes the identity; it never becomes the identity.** Agent discovery is consolidating right now — ERC-8004 registries on mainnet, agent naming services shipping agent cards, HCS-11 profiles on Hedera. Each standard wants to be the place an agent "lives." This package takes the other position: every agent already lives at one canonical ERC-4337 Smart Agent address, and a profile is a typed, content-hashed manifest *about* that address ([ADR-0010](../../docs/architecture/decisions/0010-smart-agent-canonical-identifier.md)). Registry entries in any standard become facets that back-link to the same anchor — so one identity serves all of them, and no registry can quietly fork who the agent is.
5
4
 
6
- The canonical identifier is the Smart Agent address (`agent-account`). This
7
- package publishes and verifies off-chain profile manifests **about** that
8
- address. It does not deploy accounts, resolve `.agent` names, or run login
9
- ceremonies.
5
+ Part of [agenticprimitives](../../README.md) — the trust substrate for the agent economy: one canonical Smart Agent identity with custody, delegation, naming, credentials, and audit evidence designed as one system.
6
+
7
+ Where [`agent-naming`](../agent-naming) maps names → addresses, this package maps addresses → typed profiles and optional endpoint-control proofs: the `AgentCard` schema, deterministic content hashing for on-chain anchoring, and CAIP-10 `nativeId` helpers for cross-registry back-links.
10
8
 
11
9
  > **Layer:** Discover — a profile **facet** (not login — that is `connect-auth`; not canonical identity — that is `agent-account`).
12
10
  > **Canonical key:** the Smart Agent address the AgentCard describes.
13
11
 
14
- Where [`agent-naming`](../agent-naming) maps names → addresses, this package
15
- maps addresses → typed profiles and optional endpoint-control proofs.
16
-
17
- ## Use This When
12
+ ## Use this when
18
13
 
19
- - You author or validate an `AgentCard` (person, org, service, MCP server, …).
20
- - You need deterministic `profileContentHash` for on-chain `metadata-hash`.
21
- - You need CAIP-10 `nativeId` encode/decode (strict encode, permissive decode).
22
- - You need endpoint verification methods (DNS TXT, signed URL, …) — Phase 2+.
14
+ - You author or validate an `AgentCard` (person, org, service, treasury, MCP server, multisig).
15
+ - You need a deterministic `profileContentHash` for the on-chain `metadata-hash` anchor — so a tampered profile is detectable by anyone holding the hash.
16
+ - You need CAIP-10 `nativeId` encode/decode (strict encode, permissive decode) aligned with HCS-14 / ERC-8004 ([ADR-0008](../../docs/architecture/decisions/0008-caip10-nativeid-record-predicate.md)).
17
+ - You need endpoint-verification methods (DNS TXT, signed URL, HTTP challenge, verifiable presentation) — Phase 2+.
23
18
  - You build encoded calls to register or update on-chain profile anchors.
24
19
 
25
- ## Do Not Use This For
20
+ ## Do not use this for
26
21
 
27
- - `.agent` names or namehash → `agent-naming`.
28
- - Smart Agent deploy / UserOps → `agent-account`.
29
- - Passkey / SIWE / JWT → `connect-auth`.
30
- - Trust-fabric edges → `agent-relationships`.
31
- - UAID string generation → refused ([ADR-0008](../../docs/architecture/decisions/0008-caip10-nativeid-record-predicate.md)).
22
+ - `.agent` names or namehash — `agent-naming`.
23
+ - Smart Agent deploy / UserOps — `agent-account`.
24
+ - Passkey / SIWE / JWT — `connect-auth`.
25
+ - Trust-fabric edges — `agent-relationships`.
26
+ - UAID string generation — refused by design ([ADR-0008](../../docs/architecture/decisions/0008-caip10-nativeid-record-predicate.md)); we expose `nativeId` and consumers derive UAIDs locally.
32
27
 
33
28
  ## Install
34
29
 
@@ -38,7 +33,7 @@ Workspace-internal; not yet published.
38
33
  pnpm add @agenticprimitives/agent-profile
39
34
  ```
40
35
 
41
- ## 60-Second Quickstart
36
+ ## 60-second quickstart
42
37
 
43
38
  ```ts
44
39
  import {
@@ -64,34 +59,39 @@ const nativeId = buildCaip10Address({
64
59
  // Anchor hash + nativeId on chain via agent-naming records or profile resolver.
65
60
  ```
66
61
 
67
- ## Main Concepts
62
+ ## How it's different
63
+
64
+ The reference points are **ERC-8004 registries and agent-card formats** (including the GoDaddy ANS `agent-card.json` pattern, which inspired the manifest shape — without importing its PKI):
68
65
 
69
- - **AgentCard**: HCS-11-aligned typed JSON discriminated by `type`.
66
+ - **Anchor, not authority.** In registry-first designs, the registry entry *is* the agent, and each registry mints its own notion of identity. Here the `AgentCard` is HCS-11-aligned typed JSON discriminated on `type`, and every external registry facet must back-link to the canonical Smart Agent via CAIP-10 `nativeId` ([spec 220 §4](../../specs/220-agent-identity-bootstrap.md)). One agent, many registries, zero identity forks.
67
+ - **Tamper evidence built in.** `profileContentHash` is deterministic canonical JSON — sorted keys, fixed numeric format — matching the on-chain `metadata-hash` predicate. Two semantically equal profiles hash identically; a mutated profile cannot pass against its anchor.
68
+ - **Endpoint claims are not endpoint proof.** A profile may *claim* an MCP or A2A URL; `VerificationMethod` is the explicit, caller-selected proof that the Smart Agent controls it. We never silently pick a verification method — you always know what "verified" meant.
69
+ - **CAIP-10 done strictly.** Encoders reject unknown namespaces (Phase 1: eip155, hedera, solana); decoders accept any grammar-valid CAIP-10 string for forward compatibility.
70
+
71
+ ## Main concepts
72
+
73
+ - **AgentCard**: HCS-11-aligned typed JSON discriminated by `type`, with type-specific sub-objects (`AiAgentProfile`, `McpServerProfile`, `MultisigProfile`, `ServiceProfile`).
70
74
  - **Profile facet**: `metadata-uri` + `metadata-hash` pointing at the canonical SA.
71
- - **CAIP-10 `nativeId`**: cross-registry back-link; must match SA on EVM chains.
72
- - **Verification**: proves an MCP/A2A URL is controlled by the SA (not naming).
75
+ - **CAIP-10 `nativeId`**: the cross-registry back-link; must match the SA on EVM chains.
76
+ - **Verification**: proves an MCP/A2A URL is controlled by the SA (distinct from naming).
73
77
 
74
78
  See [`docs/concepts.md`](docs/concepts.md).
75
79
 
76
- ## Subpath Exports
80
+ ## Subpath exports
77
81
 
78
- - `@agenticprimitives/agent-profile/caip10` — CAIP-10 helpers only.
82
+ - `@agenticprimitives/agent-profile/caip10` — CAIP-10 helpers only (no client baggage).
79
83
  - `@agenticprimitives/agent-profile/profile` — canonical JSON + content hash.
80
84
 
81
- ## Status
82
-
83
- Phase 1 — pure helpers + client skeleton. `AgentIdentityClient` reads throw
84
- `I Phase 2`; writes throw `I Phase 4`. Shape is locked for demo authoring.
85
-
86
- ## Security Invariants
85
+ ## Security invariants
87
86
 
88
87
  - Profile content-hash is deterministic (canonical JSON).
89
- - No raw passkey material in profiles.
88
+ - No raw passkey material in profiles — only `credentialIdDigest`.
90
89
  - Verification methods are explicit, not auto-selected.
90
+ - No UAID generation ([ADR-0008](../../docs/architecture/decisions/0008-caip10-nativeid-record-predicate.md)).
91
91
 
92
92
  See [`docs/security.md`](docs/security.md) and [`AUDIT.md`](AUDIT.md).
93
93
 
94
- ## Documentation Map
94
+ ## Documentation map
95
95
 
96
96
  - [`docs/concepts.md`](docs/concepts.md) — profile facet vs canonical SA.
97
97
  - [`docs/api.md`](docs/api.md) — public API guide.
@@ -108,6 +108,10 @@ pnpm check:agent-profile
108
108
  pnpm check:forbidden-terms
109
109
  ```
110
110
 
111
+ ## Status
112
+
113
+ **Phase 1 — pure helpers + client skeleton.** The schema, CAIP-10 helpers, and content hashing are real and tested; `AgentIdentityClient` reads throw `I Phase 2` and writes throw `I Phase 4` — they are stubs by design, and the shape is locked for authoring today. Beyond that: testnet/pilot-ready; production launch is gated on the public checklist in the root [`README.md`](../../README.md#status--honest-version), including third-party contract audit and governance key rotation. Track every security finding live in [`docs/audits/findings.yaml`](../../docs/audits/findings.yaml).
114
+
111
115
  ## License
112
116
 
113
117
  UNLICENSED.
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agenticprimitives/agent-profile",
3
- "version": "0.1.0-alpha.2",
3
+ "version": "1.0.0-alpha.10",
4
4
  "description": "Agent identity SDK: HCS-11-aligned typed profile schema (AgentCard), HCS-14 CAIP-10 nativeId helpers, mcpServer.verification methods (DNS TXT / signed URL / HTTP challenge / VP), canonical-JSON content-hash. Speaks identity-domain vocabulary only.",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -35,25 +35,18 @@
35
35
  "spec.md",
36
36
  "README.md"
37
37
  ],
38
- "scripts": {
39
- "build": "tsc -p tsconfig.build.json",
40
- "typecheck": "tsc -p tsconfig.json --noEmit",
41
- "test": "vitest run",
42
- "test:watch": "vitest",
43
- "clean": "rm -rf dist"
44
- },
45
38
  "publishConfig": {
46
39
  "access": "public"
47
40
  },
48
41
  "peerDependencies": {
49
- "@agenticprimitives/agent-account": "workspace:*",
50
- "@agenticprimitives/connect-auth": "workspace:*",
51
- "@agenticprimitives/types": "workspace:*",
52
- "viem": "^2.50.0"
42
+ "viem": "^2.52.2",
43
+ "@agenticprimitives/agent-account": "1.0.0-alpha.10",
44
+ "@agenticprimitives/connect-auth": "1.0.0-alpha.10",
45
+ "@agenticprimitives/types": "1.0.0-alpha.10"
53
46
  },
54
47
  "devDependencies": {
55
48
  "@types/node": "^22.7.0",
56
- "vitest": "^2.1.0"
49
+ "vitest": "^4.1.8"
57
50
  },
58
51
  "keywords": [
59
52
  "agent",
@@ -63,5 +56,12 @@
63
56
  "erc-8004",
64
57
  "caip-10",
65
58
  "agentic"
66
- ]
67
- }
59
+ ],
60
+ "scripts": {
61
+ "build": "tsc -p tsconfig.build.json",
62
+ "typecheck": "tsc -p tsconfig.json --noEmit",
63
+ "test": "vitest run",
64
+ "test:watch": "vitest",
65
+ "clean": "rm -rf dist"
66
+ }
67
+ }