@agenticprimitives/agent-profile 1.0.0-alpha.4 → 1.0.0-alpha.41
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +91 -37
- package/dist/a2a/binding.d.ts +99 -0
- package/dist/a2a/binding.d.ts.map +1 -0
- package/dist/a2a/binding.js +142 -0
- package/dist/a2a/binding.js.map +1 -0
- package/dist/a2a/canonical.d.ts +31 -0
- package/dist/a2a/canonical.d.ts.map +1 -0
- package/dist/a2a/canonical.js +43 -0
- package/dist/a2a/canonical.js.map +1 -0
- package/dist/a2a/field-binding.d.ts +125 -0
- package/dist/a2a/field-binding.d.ts.map +1 -0
- package/dist/a2a/field-binding.js +242 -0
- package/dist/a2a/field-binding.js.map +1 -0
- package/dist/a2a/import.d.ts +39 -0
- package/dist/a2a/import.d.ts.map +1 -0
- package/dist/a2a/import.js +134 -0
- package/dist/a2a/import.js.map +1 -0
- package/dist/a2a/index.d.ts +13 -0
- package/dist/a2a/index.d.ts.map +1 -0
- package/dist/a2a/index.js +24 -0
- package/dist/a2a/index.js.map +1 -0
- package/dist/a2a/jws.d.ts +76 -0
- package/dist/a2a/jws.d.ts.map +1 -0
- package/dist/a2a/jws.js +186 -0
- package/dist/a2a/jws.js.map +1 -0
- package/dist/a2a/playbook-binding.d.ts +29 -0
- package/dist/a2a/playbook-binding.d.ts.map +1 -0
- package/dist/a2a/playbook-binding.js +65 -0
- package/dist/a2a/playbook-binding.js.map +1 -0
- package/dist/a2a/pointer.d.ts +13 -0
- package/dist/a2a/pointer.d.ts.map +1 -0
- package/dist/a2a/pointer.js +78 -0
- package/dist/a2a/pointer.js.map +1 -0
- package/dist/a2a/release.d.ts +77 -0
- package/dist/a2a/release.d.ts.map +1 -0
- package/dist/a2a/release.js +197 -0
- package/dist/a2a/release.js.map +1 -0
- package/dist/a2a/types.d.ts +327 -0
- package/dist/a2a/types.d.ts.map +1 -0
- package/dist/a2a/types.js +49 -0
- package/dist/a2a/types.js.map +1 -0
- package/dist/a2a/validation.d.ts +81 -0
- package/dist/a2a/validation.d.ts.map +1 -0
- package/dist/a2a/validation.js +506 -0
- package/dist/a2a/validation.js.map +1 -0
- package/dist/caip10.d.ts +4 -3
- package/dist/caip10.d.ts.map +1 -1
- package/dist/caip10.js +8 -5
- package/dist/caip10.js.map +1 -1
- package/dist/calls.d.ts +23 -0
- package/dist/calls.d.ts.map +1 -1
- package/dist/calls.js +31 -1
- package/dist/calls.js.map +1 -1
- package/dist/card.d.ts +70 -0
- package/dist/card.d.ts.map +1 -0
- package/dist/card.js +130 -0
- package/dist/card.js.map +1 -0
- package/dist/client-key-binding.d.ts +196 -0
- package/dist/client-key-binding.d.ts.map +1 -0
- package/dist/client-key-binding.js +282 -0
- package/dist/client-key-binding.js.map +1 -0
- package/dist/client.d.ts +6 -4
- package/dist/client.d.ts.map +1 -1
- package/dist/client.js +79 -8
- package/dist/client.js.map +1 -1
- package/dist/constants.d.ts +31 -1
- package/dist/constants.d.ts.map +1 -1
- package/dist/constants.js +38 -1
- package/dist/constants.js.map +1 -1
- package/dist/derived-type.d.ts +14 -0
- package/dist/derived-type.d.ts.map +1 -0
- package/dist/derived-type.js +56 -0
- package/dist/derived-type.js.map +1 -0
- package/dist/distribution.d.ts +32 -0
- package/dist/distribution.d.ts.map +1 -0
- package/dist/distribution.js +167 -0
- package/dist/distribution.js.map +1 -0
- package/dist/errors.d.ts +6 -0
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +11 -0
- package/dist/errors.js.map +1 -1
- package/dist/index.d.ts +12 -8
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +19 -7
- package/dist/index.js.map +1 -1
- package/dist/profile.d.ts +4 -4
- package/dist/profile.d.ts.map +1 -1
- package/dist/profile.js +25 -3
- package/dist/profile.js.map +1 -1
- package/dist/types.d.ts +135 -9
- package/dist/types.d.ts.map +1 -1
- package/package.json +32 -12
- package/spec.md +5 -1
package/dist/types.d.ts
CHANGED
|
@@ -1,8 +1,10 @@
|
|
|
1
|
-
import type { Address, Hex, Caip10Address } from '@agenticprimitives/types';
|
|
1
|
+
import type { Address, Hex, Caip10Address, AdvertisedCapabilityV1 } from '@agenticprimitives/types';
|
|
2
|
+
import type { A2AAgentExtensionV1 } from './a2a/types.js';
|
|
2
3
|
export type { Caip10Address };
|
|
3
4
|
/**
|
|
4
|
-
* Discriminator for AgentCard sub-shapes.
|
|
5
|
-
*
|
|
5
|
+
* Discriminator for AP-native AgentCard sub-shapes. Borrows the useful
|
|
6
|
+
* typed-profile idea from external registry/card ecosystems while keeping
|
|
7
|
+
* Ring 0 vocabulary AP-owned:
|
|
6
8
|
* - `treasury` (custody-policy-governed asset account)
|
|
7
9
|
* - `multisig` (collective Smart Agent with named members)
|
|
8
10
|
*
|
|
@@ -10,10 +12,10 @@ export type { Caip10Address };
|
|
|
10
12
|
* (b) handling in `canonicalProfileJson`, (c) a golden vector test
|
|
11
13
|
* in `test/profile.test.ts`.
|
|
12
14
|
*/
|
|
13
|
-
export type ProfileType = 'person' | 'org' | 'service' | 'treasury' | 'mcpServer' | 'multisig';
|
|
15
|
+
export type ProfileType = 'person' | 'org' | 'team' | 'alliance' | 'church' | 'circle' | 'household' | 'service' | 'treasury' | 'mcpServer' | 'multisig';
|
|
14
16
|
/**
|
|
15
|
-
* Endpoint-control verification methods
|
|
16
|
-
*
|
|
17
|
+
* Endpoint-control verification methods. Inspired by external agent-card
|
|
18
|
+
* verification patterns, but not tied to any DNS/PKI registry integration.
|
|
17
19
|
*
|
|
18
20
|
* - `dns-txt` — owner publishes a TXT record at a known label;
|
|
19
21
|
* resolver fetches and matches against the on-chain digest.
|
|
@@ -24,6 +26,59 @@ export type ProfileType = 'person' | 'org' | 'service' | 'treasury' | 'mcpServer
|
|
|
24
26
|
* - `verifiable-presentation` — W3C VP signed by the owner.
|
|
25
27
|
*/
|
|
26
28
|
export type VerificationMethod = 'dns-txt' | 'signed-url' | 'http-challenge' | 'verifiable-presentation';
|
|
29
|
+
/**
|
|
30
|
+
* The six install targets the ACP registry `binaryDistribution` accepts (`agent.schema.json`
|
|
31
|
+
* `propertyNames.enum`). Mirrored verbatim — the key IS the wire key.
|
|
32
|
+
*/
|
|
33
|
+
export type AcpPlatform = 'darwin-aarch64' | 'darwin-x86_64' | 'linux-aarch64' | 'linux-x86_64' | 'windows-aarch64' | 'windows-x86_64';
|
|
34
|
+
/** `npx` / `uvx` package distribution (ACP `packageDistribution`). `package` may carry a version suffix. */
|
|
35
|
+
export interface AgentPackageDistributionV1 {
|
|
36
|
+
/** Package name (with optional version), non-empty. */
|
|
37
|
+
package: string;
|
|
38
|
+
/** Command line arguments. */
|
|
39
|
+
args?: string[];
|
|
40
|
+
/** Environment variables (string values only). */
|
|
41
|
+
env?: Record<string, string>;
|
|
42
|
+
}
|
|
43
|
+
/** One per-platform binary target (ACP `binaryTarget`). */
|
|
44
|
+
export interface AgentBinaryTargetV1 {
|
|
45
|
+
/**
|
|
46
|
+
* https URL of the archive (.zip, .tar.gz, .tgz, .tar.bz2, .tbz2 or a raw binary). Installer formats
|
|
47
|
+
* (.dmg, .pkg, .deb, .rpm) are NOT allowed — `validateDistribution` refuses them.
|
|
48
|
+
*/
|
|
49
|
+
archive: string;
|
|
50
|
+
/** Command to execute after extraction, non-empty. */
|
|
51
|
+
cmd: string;
|
|
52
|
+
/** Optional SHA-256 of the archive — 64 hex characters, no `0x`. */
|
|
53
|
+
sha256?: string;
|
|
54
|
+
/** Command line arguments. */
|
|
55
|
+
args?: string[];
|
|
56
|
+
/** Environment variables (string values only). */
|
|
57
|
+
env?: Record<string, string>;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* How to OBTAIN AND RUN this agent's software (spec 347 §8.5; `docs/architecture/ard-acp-crosswalk.md`
|
|
61
|
+
* §2). A registry-neutral canonical-profile fact, stored on chain as the SA-keyed `atl:distribution`
|
|
62
|
+
* string property (JCS-canonical JSON, `encodeDistribution`) and projected to the discovery KB as
|
|
63
|
+
* `approf:distribution`. Public and on-chain-derivable by construction (ADR-0040) — never put a secret
|
|
64
|
+
* in `env`.
|
|
65
|
+
*
|
|
66
|
+
* Field names mirror the ACP registry `agent.schema.json` `distribution` object exactly so a registry
|
|
67
|
+
* projection is a copy, never a translation. Two AP-owned extras sit beside them: `acp` (this agent
|
|
68
|
+
* speaks the Agent Client Protocol and may be listed in an ACP `registry.json`) and `version` (the
|
|
69
|
+
* agent IMPLEMENTATION's semver — the ACP entry REQUIRES one and the canonical profile has no other
|
|
70
|
+
* implementation-version field). At least one of `npx` / `uvx` / `binary` MUST be present.
|
|
71
|
+
*/
|
|
72
|
+
export interface AgentDistributionV1 {
|
|
73
|
+
/** Declares ACP conformance → eligible for the hosted ACP registry projection. Absent ≠ false-claimed; it means "not declared". */
|
|
74
|
+
acp?: boolean;
|
|
75
|
+
/** Implementation semver `MAJOR.MINOR.PATCH[…]` (ACP `^[0-9]+\.[0-9]+\.[0-9]+`). */
|
|
76
|
+
version?: string;
|
|
77
|
+
npx?: AgentPackageDistributionV1;
|
|
78
|
+
uvx?: AgentPackageDistributionV1;
|
|
79
|
+
/** Keys restricted to `ACP_PLATFORMS`; at least one target when present. */
|
|
80
|
+
binary?: Partial<Record<AcpPlatform, AgentBinaryTargetV1>>;
|
|
81
|
+
}
|
|
27
82
|
/** Common fields across all profile sub-shapes. */
|
|
28
83
|
interface BaseProfile {
|
|
29
84
|
/** Human-friendly display name (may differ from agent-naming `displayName`). */
|
|
@@ -36,9 +91,36 @@ interface BaseProfile {
|
|
|
36
91
|
nativeId?: Caip10Address;
|
|
37
92
|
/** Optional avatar / logo URL. */
|
|
38
93
|
avatar?: string;
|
|
94
|
+
/** How to obtain + run this agent's software (spec 347 §8.5). Validated by `validateDistribution` on every write path. */
|
|
95
|
+
distribution?: AgentDistributionV1;
|
|
96
|
+
/**
|
|
97
|
+
* What this agent can do — the SYSTEM OF RECORD for it (ADR-0051).
|
|
98
|
+
*
|
|
99
|
+
* The A2A card's `skills[]` and ARD's `capabilities[]` are both PROJECTIONS of this list, produced by
|
|
100
|
+
* the A2A projector. Before this existed the card was the only place advertised abilities lived, which
|
|
101
|
+
* made the signed wire document the source of truth for a fact the owner should own.
|
|
102
|
+
*/
|
|
103
|
+
capabilities?: AdvertisedCapabilityV1[];
|
|
104
|
+
/**
|
|
105
|
+
* A2A PROTOCOL flags — streaming, push, extensions. Not business capabilities, despite A2A calling
|
|
106
|
+
* this object `capabilities` on the wire. The two are separate fields here precisely because the
|
|
107
|
+
* protocol's name for its transport flags collides with our name for what an agent can do, and the
|
|
108
|
+
* card editor's two sections used to be titled "Capabilities" and "Skills" for exactly these two
|
|
109
|
+
* things — backwards in both cases.
|
|
110
|
+
*/
|
|
111
|
+
protocolFeatures?: ProtocolFeatureSetV1;
|
|
112
|
+
}
|
|
113
|
+
/** The A2A protocol feature flags an agent declares. Projects to the card's `capabilities` object. */
|
|
114
|
+
export interface ProtocolFeatureSetV1 {
|
|
115
|
+
streaming?: boolean;
|
|
116
|
+
/** DERIVED by the runtime. Claiming it without runtime evidence is `CAPABILITY_UNVERIFIED`. */
|
|
117
|
+
pushNotifications?: boolean;
|
|
118
|
+
stateTransitionHistory?: boolean;
|
|
119
|
+
extendedAgentCard?: boolean;
|
|
120
|
+
extensions?: A2AAgentExtensionV1[];
|
|
39
121
|
}
|
|
40
122
|
export interface AiAgentProfile extends BaseProfile {
|
|
41
|
-
type: 'person' | 'org';
|
|
123
|
+
type: 'person' | 'org' | 'team' | 'alliance' | 'church' | 'circle';
|
|
42
124
|
/** For `org`: list of member Smart Agent addresses (informational only — authority lives in agent-relationships edges). */
|
|
43
125
|
members?: Address[];
|
|
44
126
|
}
|
|
@@ -62,8 +144,52 @@ export interface ServiceProfile extends BaseProfile {
|
|
|
62
144
|
type: 'service' | 'treasury';
|
|
63
145
|
/** Canonical service endpoint (A2A / MCP / HTTP). */
|
|
64
146
|
endpoint?: string;
|
|
147
|
+
/**
|
|
148
|
+
* Open-set service ROLE (ADR-0046: indexer, relay, marketplace, assistant, …). `'workspace'`
|
|
149
|
+
* and `'registry'` are the roles that are also derived types (`.workspace` / `.registry` name them —
|
|
150
|
+
* spec 346 §2.1); each MUST match the SA-keyed on-chain `atl:serviceRole` record.
|
|
151
|
+
*/
|
|
152
|
+
serviceRole?: string;
|
|
153
|
+
}
|
|
154
|
+
/**
|
|
155
|
+
* The AP-native, registry-neutral Canonical Agent Profile (spec 347 §2; ADR-0062). Facts and claims ABOUT
|
|
156
|
+
* the canonical Smart Agent — never the identity, and NOT the A2A Agent Card. The A2A card (what this A2A
|
|
157
|
+
* server does and how to reach it) is `A2AAgentCardV1` under `@agenticprimitives/agent-profile/a2a`.
|
|
158
|
+
*/
|
|
159
|
+
export type CanonicalAgentProfileV1 = AiAgentProfile | McpServerProfile | MultisigProfile | ServiceProfile;
|
|
160
|
+
/** @deprecated Renamed `CanonicalAgentProfileV1` (spec 347 §0.3). Alias kept for one release. */
|
|
161
|
+
export type AgentCard = CanonicalAgentProfileV1;
|
|
162
|
+
/** sha256 content hash, e.g. `sha256:ab12…`. The discovery substrate hashes cards with sha256
|
|
163
|
+
* (distinct from the keccac `profileContentHash` used as the on-chain `metadata-hash` predicate). */
|
|
164
|
+
export type Sha256 = `sha256:${string}`;
|
|
165
|
+
/**
|
|
166
|
+
* A self-asserted, SA-signed agent card (spec 279 §3.2). The distinct guarantee: a verifier can prove
|
|
167
|
+
* `cardHash → subjectAgent` WITHOUT trusting the registry or server that served the card — the subject
|
|
168
|
+
* Smart Agent signs (via ERC-1271) a digest binding the card hash to its own address + chain. This is the
|
|
169
|
+
* card that a registry entry's `cardHash` references; it is descriptive evidence and carries NO authority to act.
|
|
170
|
+
*/
|
|
171
|
+
export interface SignedCanonicalProfileBundleV1 {
|
|
172
|
+
/** Wire discriminator unchanged by the spec-347 rename — existing signed bundles stay valid. */
|
|
173
|
+
type: 'SignedAgentCardBundleV1';
|
|
174
|
+
card: CanonicalAgentProfileV1;
|
|
175
|
+
/** sha256 over the canonical-JSON card (`hashAgentCard`). */
|
|
176
|
+
cardHash: Sha256;
|
|
177
|
+
/** The canonical Smart Agent this card is a facet of (= signer = verifyingContract in V1). */
|
|
178
|
+
subjectAgent: Address;
|
|
179
|
+
issuedAt: string;
|
|
180
|
+
expiresAt?: string;
|
|
181
|
+
proof: {
|
|
182
|
+
type: 'ERC1271SmartAgentSignature';
|
|
183
|
+
chainId: number;
|
|
184
|
+
/** The ERC-1271 contract whose `isValidSignature` validates the signature (the subject SA in V1). */
|
|
185
|
+
verifyingContract: Address;
|
|
186
|
+
/** The signing identity (the subject SA in V1). */
|
|
187
|
+
signer: Address;
|
|
188
|
+
signature: Hex;
|
|
189
|
+
};
|
|
65
190
|
}
|
|
66
|
-
|
|
191
|
+
/** @deprecated Renamed `SignedCanonicalProfileBundleV1` (spec 347 §0.3). Alias kept for one release. */
|
|
192
|
+
export type SignedAgentCardBundleV1 = SignedCanonicalProfileBundleV1;
|
|
67
193
|
export interface AgentIdentityClientOpts {
|
|
68
194
|
rpcUrl: string;
|
|
69
195
|
chainId: number;
|
|
@@ -77,7 +203,7 @@ export interface PublishProfileInput {
|
|
|
77
203
|
/** Smart Agent address publishing the profile. */
|
|
78
204
|
agent: Address;
|
|
79
205
|
/** Profile JSON to publish. The SDK computes its canonical content-hash. */
|
|
80
|
-
profile:
|
|
206
|
+
profile: CanonicalAgentProfileV1;
|
|
81
207
|
/**
|
|
82
208
|
* URI where the canonical-JSON profile is hosted. The caller is
|
|
83
209
|
* responsible for uploading the JSON to this URI BEFORE calling
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,GAAG,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,17 +1,21 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agenticprimitives/agent-profile",
|
|
3
|
-
"version": "1.0.0-alpha.
|
|
4
|
-
"description": "Agent identity SDK:
|
|
3
|
+
"version": "1.0.0-alpha.41",
|
|
4
|
+
"description": "Agent identity SDK: AP-native Canonical Agent Profile (CanonicalAgentProfileV1) + signed profile bundle, CAIP-10 nativeId helpers, endpoint verification methods, and the A2A 1.0 Agent Card model (./a2a: JCS canonical bytes, ES256 JWS, EIP-712 Smart Agent binding, field provenance, pure validation, import, release lifecycle). External registry projections stay outside Ring 0.",
|
|
5
|
+
"homepage": "https://agenticprimitives.dev",
|
|
6
|
+
"bugs": {
|
|
7
|
+
"url": "https://github.com/agentictrustlabs/agenticprimitives/issues"
|
|
8
|
+
},
|
|
9
|
+
"author": {
|
|
10
|
+
"name": "Agentic Trust Labs",
|
|
11
|
+
"url": "https://agenticprimitives.dev"
|
|
12
|
+
},
|
|
5
13
|
"license": "MIT",
|
|
6
14
|
"repository": {
|
|
7
15
|
"type": "git",
|
|
8
16
|
"url": "git+https://github.com/agentictrustlabs/agenticprimitives.git",
|
|
9
17
|
"directory": "packages/agent-profile"
|
|
10
18
|
},
|
|
11
|
-
"homepage": "https://github.com/agentictrustlabs/agenticprimitives/tree/master/packages/agent-profile",
|
|
12
|
-
"bugs": {
|
|
13
|
-
"url": "https://github.com/agentictrustlabs/agenticprimitives/issues"
|
|
14
|
-
},
|
|
15
19
|
"type": "module",
|
|
16
20
|
"main": "./dist/index.js",
|
|
17
21
|
"types": "./dist/index.d.ts",
|
|
@@ -27,6 +31,14 @@
|
|
|
27
31
|
"./profile": {
|
|
28
32
|
"types": "./dist/profile.d.ts",
|
|
29
33
|
"import": "./dist/profile.js"
|
|
34
|
+
},
|
|
35
|
+
"./card": {
|
|
36
|
+
"types": "./dist/card.d.ts",
|
|
37
|
+
"import": "./dist/card.js"
|
|
38
|
+
},
|
|
39
|
+
"./a2a": {
|
|
40
|
+
"types": "./dist/a2a/index.d.ts",
|
|
41
|
+
"import": "./dist/a2a/index.js"
|
|
30
42
|
}
|
|
31
43
|
},
|
|
32
44
|
"files": [
|
|
@@ -39,14 +51,14 @@
|
|
|
39
51
|
"access": "public"
|
|
40
52
|
},
|
|
41
53
|
"peerDependencies": {
|
|
42
|
-
"viem": "^2.
|
|
43
|
-
"@agenticprimitives/agent-account": "1.0.0-alpha.
|
|
44
|
-
"@agenticprimitives/connect-auth": "1.0.0-alpha.
|
|
45
|
-
"@agenticprimitives/types": "1.0.0-alpha.
|
|
54
|
+
"viem": "^2.52.2",
|
|
55
|
+
"@agenticprimitives/agent-account": "^1.0.0-alpha.41",
|
|
56
|
+
"@agenticprimitives/connect-auth": "^1.0.0-alpha.41",
|
|
57
|
+
"@agenticprimitives/types": "^1.0.0-alpha.41"
|
|
46
58
|
},
|
|
47
59
|
"devDependencies": {
|
|
48
60
|
"@types/node": "^22.7.0",
|
|
49
|
-
"vitest": "^
|
|
61
|
+
"vitest": "^4.1.11"
|
|
50
62
|
},
|
|
51
63
|
"keywords": [
|
|
52
64
|
"agent",
|
|
@@ -55,7 +67,15 @@
|
|
|
55
67
|
"hcs-14",
|
|
56
68
|
"erc-8004",
|
|
57
69
|
"caip-10",
|
|
58
|
-
"agentic"
|
|
70
|
+
"agentic",
|
|
71
|
+
"a2a",
|
|
72
|
+
"agent-card",
|
|
73
|
+
"jws",
|
|
74
|
+
"agentic-primitives",
|
|
75
|
+
"agenticprimitives",
|
|
76
|
+
"ai-agents",
|
|
77
|
+
"agent-authority",
|
|
78
|
+
"agentic-trust"
|
|
59
79
|
],
|
|
60
80
|
"scripts": {
|
|
61
81
|
"build": "tsc -p tsconfig.build.json",
|
package/spec.md
CHANGED
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
# @agenticprimitives/agent-profile — spec
|
|
2
2
|
|
|
3
|
-
The full design lives in [`../../specs/217-agent-profile.md`](../../specs/217-agent-profile.md)
|
|
3
|
+
The full design lives in [`../../specs/217-agent-profile.md`](../../specs/217-agent-profile.md) (canonical profile)
|
|
4
|
+
and [`../../specs/347-a2a-agent-card-and-projection-studio.md`](../../specs/347-a2a-agent-card-and-projection-studio.md)
|
|
5
|
+
§3–§4 (the `./a2a` A2A Agent Card model; W1 shipped 2026-08-30).
|
|
4
6
|
|
|
5
7
|
Architecture decisions:
|
|
6
8
|
|
|
@@ -8,5 +10,7 @@ Architecture decisions:
|
|
|
8
10
|
— why the identity stack is three packages, not one.
|
|
9
11
|
- [ADR-0008](../../docs/architecture/decisions/0008-caip10-nativeid-record-predicate.md)
|
|
10
12
|
— why we expose CAIP-10 `nativeId` rather than generate UAIDs.
|
|
13
|
+
- [ADR-0062](../../docs/architecture/decisions/0062-agent-card-projection-publication-binding.md)
|
|
14
|
+
— canonical profile ≠ A2A card; JWS + Smart Agent binding; projections generated from a released card.
|
|
11
15
|
|
|
12
16
|
Do not edit a divergent copy here — edit the canonical spec.
|