agent-protocols 0.8.0 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (46) hide show
  1. package/README.md +24 -19
  2. package/dist/delegation.d.ts +57 -36
  3. package/dist/delegation.d.ts.map +1 -1
  4. package/dist/delegation.js +208 -69
  5. package/dist/delegation.js.map +1 -1
  6. package/dist/discourse.d.ts +196 -74
  7. package/dist/discourse.d.ts.map +1 -1
  8. package/dist/discourse.js +568 -116
  9. package/dist/discourse.js.map +1 -1
  10. package/dist/http-client.d.ts +43 -18
  11. package/dist/http-client.d.ts.map +1 -1
  12. package/dist/http-client.js +86 -32
  13. package/dist/http-client.js.map +1 -1
  14. package/dist/identity.d.ts +100 -3
  15. package/dist/identity.d.ts.map +1 -1
  16. package/dist/identity.js +333 -7
  17. package/dist/identity.js.map +1 -1
  18. package/dist/local-connector/catalog.d.ts +1 -16
  19. package/dist/local-connector/catalog.d.ts.map +1 -1
  20. package/dist/local-connector/catalog.js +53 -71
  21. package/dist/local-connector/catalog.js.map +1 -1
  22. package/dist/local-connector/engine.d.ts +55 -32
  23. package/dist/local-connector/engine.d.ts.map +1 -1
  24. package/dist/local-connector/engine.js +636 -608
  25. package/dist/local-connector/engine.js.map +1 -1
  26. package/dist/local-connector/inputs.d.ts +28 -76
  27. package/dist/local-connector/inputs.d.ts.map +1 -1
  28. package/dist/local-connector/inputs.js +19 -1
  29. package/dist/local-connector/inputs.js.map +1 -1
  30. package/dist/local-connector/projection.d.ts +24 -9
  31. package/dist/local-connector/projection.d.ts.map +1 -1
  32. package/dist/local-connector/projection.js +78 -39
  33. package/dist/local-connector/projection.js.map +1 -1
  34. package/dist/local-connector/state.d.ts +10 -3
  35. package/dist/local-connector/state.d.ts.map +1 -1
  36. package/dist/local-connector/state.js +3 -0
  37. package/dist/local-connector/state.js.map +1 -1
  38. package/dist/local-connector/views.d.ts +36 -12
  39. package/dist/local-connector/views.d.ts.map +1 -1
  40. package/dist/local-connector/views.js +49 -31
  41. package/dist/local-connector/views.js.map +1 -1
  42. package/dist/profile.d.ts +23 -9
  43. package/dist/profile.d.ts.map +1 -1
  44. package/dist/profile.js +120 -3
  45. package/dist/profile.js.map +1 -1
  46. package/package.json +1 -1
package/README.md CHANGED
@@ -4,12 +4,12 @@ TypeScript SDK for the draft Agent Identity, Agent Profile, Agent Delegation, an
4
4
 
5
5
  ## Modules
6
6
 
7
- - `identity`: `did:agent:` encoding, JCS canonicalization, event hashes, Ed25519 signing and verification, live-write nonce checks, request JWT helpers.
8
- - `profile`: `profile.update` payloads, Profile documents, delegation discovery hints, validation, materialization.
9
- - `delegation`: Agent Delegation principal documents and alias resolution, grant/revoke payloads, credential documents, status/query shapes, validation, and materialization.
10
- - `discourse`: ADP kernel payloads, the room type system (type definitions, pack imports, type registry, JSON Schema payload validation), join request types, roles, room states, protocol discovery, archive manifests, room-path checks, kind-based permission and state helpers.
11
- - `http-client`: fetch-based Profile, Delegation, and Discourse clients.
12
- - `local-connector`: Local Agent Protocols MCP connector tool names, resource URIs, structured view types, and timeline/sync helpers.
7
+ - `identity`: `did:agent:` encoding, strict JSON parsing (`parseStrictJson`, `parseEnvelopeJson`), JCS canonicalization, event hashes, Ed25519 signing and strict verification (`verifyEd25519Strict`), closed event objects (`validateEventFields`), clock-derived nonces with bounded `Max-Seen-Nonce` resynchronization, live-write and exact-resubmission checks (`verifySubmission`), request JWT helpers, and the shared HTTP shapes (`ErrorResponse`, `ListResponse`, `AcceptedRecord`, `DiscoveryDocument`).
8
+ - `profile`: `profile.update` payloads, Profile documents, delegation discovery hints, validation, succession checks, materialization.
9
+ - `delegation`: principal documents and resolution, Controller records with `supersedes` lineage, grant/revoke payloads, credentials, query shapes, authority, acceptance, historical, and use checks, `verifyDelegationCredential` over the latest grant record, and `auditDelegationHistory` for auditors.
10
+ - `discourse`: the ADP kernel — twelve built-in event types, freshness classes, room policy (`invites`, `open_roles`), signed join requests and reviews, the type system with the portable type schema profile, redacted records, server records, and archive verification.
11
+ - `http-client`: fetch-based Profile, Delegation, and Discourse clients. Lists use `{ result, next_cursor }`; non-2xx responses throw `HttpResponseError` with the protocol `code`, `data`, and `Max-Seen-Nonce`.
12
+ - `local-connector`: the Local Agent Protocols MCP connector: 23 standard tools, resource URIs, structured views, and the connector engine.
13
13
 
14
14
  ## Example
15
15
 
@@ -18,7 +18,8 @@ import { AgentSigner, ClientNonceManager, materializeProfile, profileUpdateEvent
18
18
 
19
19
  const signer = AgentSigner.generate();
20
20
  const nonces = new ClientNonceManager();
21
- const event = profileUpdateEvent(signer.agentId(), Date.now(), nonces.nextNonce(), {
21
+ const createdAt = Date.now();
22
+ const event = profileUpdateEvent(signer.agentId(), createdAt, nonces.nextNonce(createdAt), {
22
23
  id: signer.agentId(),
23
24
  name: "ResearchAgent-v3",
24
25
  });
@@ -26,30 +27,34 @@ const envelope = signer.signEvent(event);
26
27
  const profile = materializeProfile(envelope);
27
28
  ```
28
29
 
29
- Agent Profile has no `username` field: the Agent ID is the identity key, and the latest profile is the accepted `profile.update` with the greatest `nonce`.
30
+ `nextNonce(createdAt)` derives `max(last + 1, created_at)`, so nonces stay monotonic across restarts and devices. Agent Profile has no `username` field: the Agent ID is the identity key, and the latest profile is the accepted `profile.update` with the greatest `nonce`.
30
31
 
31
- ADP room writes declare a signed `base_seq` / `base_hash`: discussion and contract writes must match the current room head, while `signal`-kind writes — including the built-in membership events — only anchor to an accepted record and never contend for the head. Use `discourseEvent` or `typeDefineEvent` with `baseSeq` and `baseHash`, or let a local connector derive them from `SyncState`. Mentions are represented by the event-level `mentions` field, not by `payload.extra`.
32
+ ADP room writes carry a signed `base_seq` / `base_hash`. Message and control writes — `message.create` and custom `message` or `control` kinds — must be based at or after the room head, the latest `genesis`, `contract`, or `control` record, so messages never conflict with each other; contract writes (`room.update`, `room.close`, `room.cancel`, `type.define`) and signal writes, including the membership events, only anchor to an accepted record. Use `eventRequiresRoomHead` and `eventAdvancesRoomHead` to tell them apart, `validateRoomBase` for the host-side base check, `discourseEvent` to build them, and `roomJoinRequestEvent` for a join request, which carries `room_id` but no base. Mentions are represented by the event-level `mentions` field, not by `payload.extra`.
32
33
 
33
- ## Delegation draft revision
34
+ The conformance vectors in `docs/protocols/*/1.0.vectors.json` are part of the test suite.
34
35
 
35
- Controllers are records shared by `controllers` and `retired_controllers`: `id` is the Agent ID, `source` is an HTTPS origin or `local`, and `valid_from` starts the binding. Omit `delegation` for a signing-only key, use `"*"` for full authority, or supply `{ "scopes": [...], "audiences": [...] }` for restricted authority. Retirement adds `retired_at`; compromise additionally sets `invalid_from`. Keys cannot be reused within one principal.
36
+ ## Delegation
36
37
 
37
- Grant payloads now require `audiences`. Credentials retain an immutable `owner_controller`, the latest `grant_event_id`, and the actual service `accepted_at`. Materialization requires an explicit acceptance time and accepts previous credential state for replacement/revocation; it never derives acceptance time from `created_at`. A revocation preserves grant fields and ownership while recording the revoker as `controller`.
38
+ Controllers are records shared by `controllers` and `retired_controllers`: `id` is the Agent ID, `source` is an HTTPS origin or `local`, and `valid_from` starts the binding. Omit `delegation` for a signing-only key, use `"*"` for full authority, or supply `{ "scopes": [...], "audiences": [...] }` for restricted authority. `supersedes` lets a successor key manage its predecessors' credentials. Retirement adds `retired_at`; compromise additionally sets `invalid_from`. A principal that grants delegations publishes `delegation_query_url`.
39
+
40
+ Grants name the canonical `principal_id`. Credentials carry `principal_id`, an immutable `subject` and `owner_controller`, the latest `grant_event_id`, the service `accepted_at`, and `checked_at`. Materialization requires an explicit acceptance time and trusted previous state; it never derives acceptance time from `created_at`.
38
41
 
39
42
  The validation layers have different responsibilities:
40
43
 
41
- - Envelope validation checks cryptography and payload shape, not principal authority.
42
- - Event-authority validation checks the controller policy before signing. Acceptance validation also checks the envelope and authoritative-resolution URL.
43
- - Historical validation binds a caller-authenticated acceptance record to the exact event hash and checks the original controller interval and ceiling. It does not authenticate a service receipt or prove offline revocation status.
44
+ - Envelope validation checks cryptography, the closed event object, and payload shape, not principal authority.
45
+ - Event-authority validation checks the controller policy before signing. Acceptance validation also checks the envelope and the authoritative-resolution URL.
46
+ - Historical validation checks an accepted record `{ envelope, accepted_at }` against the original controller interval and ceiling. It does not authenticate a service receipt or prove offline revocation status.
44
47
  - Use validation checks audience, status, and validity. Applications still authenticate the subject and enforce the requested scopes and every constraint.
45
48
 
46
- Services remain responsible for fresh HTTPS resolution, live Identity timestamp/nonce checks, exact-envelope idempotency, atomic state/history storage, and current revocation or compromise reevaluation. Pass only authoritative documents, authenticated acceptance evidence, and trusted previous state. These are SDK building blocks, not a hosted delegation service.
47
-
48
49
  ```ts
49
50
  // principal was freshly resolved over HTTPS; previous is trusted service state.
50
51
  validateDelegationAcceptance(envelope, principal, resolvedUrl, acceptedAt, previous);
51
52
  const credential = materializeDelegationCredential(envelope, { acceptedAt, previous });
52
- validateDelegationUse(credential, "https://dmsg.net", now);
53
+
54
+ // A relying party checks the credential's latest grant record.
55
+ const verdict = verifyDelegationCredential(credential, records, principal, principal.id, "https://dmsg.net", Date.now());
53
56
  ```
54
57
 
55
- Use `validateController`, `validateControllerEnumeration`, and `validateHistoricalDelegation` for record, private-listing, and archival checks. The local connector requires grant audiences and checks policy, service binding, and credential ownership before signing. Its write client currently uses the standard `/v1/delegations` paths; a nonstandard query path is rejected rather than treated as authority for an arbitrary service URL.
58
+ Services remain responsible for fresh HTTPS resolution, live Identity timestamp and nonce checks, exact-resubmission lookups, atomic state and history storage, and current revocation or compromise reevaluation. These are SDK building blocks, not a hosted delegation service.
59
+
60
+ The local connector derives the delegation service from the principal's `delegation_query_url` and its discovery document, and checks policy and credential ownership before signing a grant or revocation.
@@ -1,7 +1,11 @@
1
- import { AgentId, Envelope, Event } from "./identity.js";
1
+ import { AcceptedRecord, AgentId, Envelope, Event, ListResponse } from "./identity.js";
2
2
  export declare const DELEGATION_PROTOCOL = "agent-delegation/1.0";
3
3
  export declare const DELEGATION_GRANT = "delegation.grant";
4
4
  export declare const DELEGATION_REVOKE = "delegation.revoke";
5
+ /** Delegation IDs are unreserved URL characters: no percent-encoding, no look-alikes. */
6
+ export declare const DELEGATION_ID_PATTERN: RegExp;
7
+ /** Delegation-specific error codes (Agent Delegation Section 9.7). */
8
+ export declare const DELEGATION_ERROR_CODES: readonly string[];
5
9
  export type DelegationEventType = typeof DELEGATION_GRANT | typeof DELEGATION_REVOKE;
6
10
  export type DelegationStatus = "active" | "suspended" | "expired" | "revoked";
7
11
  export interface PrincipalLink {
@@ -9,6 +13,7 @@ export interface PrincipalLink {
9
13
  url: string;
10
14
  rel: string;
11
15
  }
16
+ /** Display descriptor of a principal, used by Agent Profile delegation hints. */
12
17
  export interface PrincipalDescriptor {
13
18
  id: string;
14
19
  type?: string;
@@ -24,13 +29,11 @@ export interface Controller {
24
29
  scopes: string[];
25
30
  audiences: string[];
26
31
  };
32
+ /** Earlier controllers of this principal whose credentials this key may manage. */
33
+ supersedes?: AgentId[];
27
34
  retired_at?: number;
28
35
  invalid_from?: number;
29
36
  }
30
- export interface DelegationAcceptance {
31
- event_id: string;
32
- accepted_at: number;
33
- }
34
37
  export interface PrincipalDocument extends PrincipalDescriptor {
35
38
  description?: string;
36
39
  avatar_url?: string;
@@ -40,14 +43,14 @@ export interface PrincipalDocument extends PrincipalDescriptor {
40
43
  protocol: typeof DELEGATION_PROTOCOL;
41
44
  controllers: Controller[];
42
45
  retired_controllers?: Controller[];
43
- /** Delegation query endpoint for this principal; answers existence checks. */
46
+ /** Delegation query endpoint; required when any controller carries `delegation`. */
44
47
  delegation_query_url?: string;
45
48
  updated_at: number;
46
49
  extra?: Record<string, unknown>;
47
50
  }
48
51
  export interface DelegationGrantPayload {
49
52
  id: string;
50
- principal: PrincipalDescriptor;
53
+ principal_id: string;
51
54
  subject: AgentId;
52
55
  relationship?: string;
53
56
  scopes: string[];
@@ -65,11 +68,7 @@ export type DelegationPayload = DelegationGrantPayload | DelegationRevokePayload
65
68
  export interface DelegationCredential {
66
69
  id: string;
67
70
  protocol: typeof DELEGATION_PROTOCOL;
68
- principal: PrincipalDescriptor;
69
- controller: AgentId;
70
- owner_controller: AgentId;
71
- grant_event_id: string;
72
- accepted_at: number;
71
+ principal_id: string;
73
72
  subject: AgentId;
74
73
  relationship?: string;
75
74
  scopes: string[];
@@ -78,19 +77,14 @@ export interface DelegationCredential {
78
77
  not_before?: number;
79
78
  expires_at?: number;
80
79
  status: DelegationStatus;
81
- updated_at: number;
82
- event_id: string;
83
- }
84
- export interface DelegationStatusDocument {
85
- protocol: typeof DELEGATION_PROTOCOL;
80
+ controller: AgentId;
81
+ owner_controller: AgentId;
86
82
  grant_event_id: string;
83
+ event_id: string;
87
84
  accepted_at: number;
88
- id: string;
89
- status: DelegationStatus;
90
85
  checked_at: number;
91
- expires_at?: number;
92
- event_id: string;
93
86
  }
87
+ export type DelegationRecord = AcceptedRecord<DelegationPayload>;
94
88
  export interface DelegationServiceEndpoints {
95
89
  delegations: string;
96
90
  query?: string;
@@ -107,20 +101,21 @@ export interface DelegationQueryRequest {
107
101
  id?: string;
108
102
  status?: DelegationStatus;
109
103
  limit?: number;
104
+ cursor?: string;
110
105
  }
111
- export interface DelegationSummary {
112
- id: string;
113
- subject: AgentId;
114
- principal: PrincipalDescriptor;
115
- scopes: string[];
116
- status: DelegationStatus;
117
- }
118
- export interface DelegationQueryResponse {
119
- result: DelegationSummary[];
120
- }
121
- export interface DelegationEventsResponse {
122
- result: Envelope<DelegationPayload>[];
123
- acceptances: DelegationAcceptance[];
106
+ /** Agent Identity list of full credentials. */
107
+ export type DelegationQueryResponse = ListResponse<DelegationCredential>;
108
+ /** Agent Identity list of accepted records in service acceptance order. */
109
+ export type DelegationEventsResponse = ListResponse<DelegationRecord>;
110
+ /** Result of {@link verifyDelegationCredential}. */
111
+ export interface DelegationVerdict {
112
+ credential: DelegationCredential;
113
+ /** Latest-grant signature, controller, ceiling, and consistency checks passed. */
114
+ verified: boolean;
115
+ /** Verified, and usable for the audience now: active, in its window, audience listed. */
116
+ usable: boolean;
117
+ /** Every failed check. */
118
+ reasons: string[];
124
119
  }
125
120
  export declare function delegationGrantEvent(actor: AgentId, createdAt: number, nonce: number, payload: DelegationGrantPayload): Event<DelegationGrantPayload>;
126
121
  export declare function delegationRevokeEvent(actor: AgentId, createdAt: number, nonce: number, payload: DelegationRevokePayload): Event<DelegationRevokePayload>;
@@ -139,6 +134,12 @@ export declare function validatePrincipalResolution(document: PrincipalDocument,
139
134
  * name for the principal unless it is listed here.
140
135
  */
141
136
  export declare function isPrincipalAlias(document: PrincipalDocument, url: string): boolean;
137
+ /**
138
+ * The lineage of a controller (Section 5.1): its own ID plus, transitively,
139
+ * every record it supersedes. A restricted controller owns a credential whose
140
+ * `owner_controller` is in its lineage.
141
+ */
142
+ export declare function controllerLineage(document: PrincipalDocument, controllerId: AgentId): Set<AgentId>;
142
143
  export declare function validateDelegationGrantPayload(payload: DelegationGrantPayload, createdAt?: number): void;
143
144
  /**
144
145
  * A public delegation query is an existence check and MUST include both
@@ -159,7 +160,7 @@ export declare function materializeDelegationCredential(envelope: Envelope<Deleg
159
160
  acceptedAt: number;
160
161
  previous?: DelegationCredential;
161
162
  status?: DelegationStatus;
162
- updatedAt?: number;
163
+ checkedAt?: number;
163
164
  }): DelegationCredential;
164
165
  /** Pre-signing authority check. Input previous state and document must be trusted.
165
166
  * This does not verify signatures, fetch HTTPS, check cache age, or enforce nonce/time windows. */
@@ -169,10 +170,30 @@ export declare function validateDelegationEventAuthority(event: Event<Delegation
169
170
  export declare function validateDelegationAcceptance(envelope: Envelope<DelegationPayload>, document: PrincipalDocument, resolvedUrl: string, acceptedAt: number, previous?: DelegationCredential): void;
170
171
  /** Uses caller-trusted acceptance evidence, never an event's self-reported time as proof.
171
172
  * Current status, evidence authenticity and application constraints are separate checks. */
172
- export declare function validateHistoricalDelegation(envelope: Envelope<DelegationPayload>, acceptance: DelegationAcceptance, document: PrincipalDocument, resolvedUrl: string, previous?: DelegationCredential): void;
173
+ export declare function validateHistoricalDelegation(record: DelegationRecord, document: PrincipalDocument, resolvedUrl: string, previous?: DelegationCredential): void;
173
174
  /** Per-result enumeration check; the caller authenticates actor and resolves the document. */
174
175
  export declare function validateControllerEnumeration(document: PrincipalDocument, actor: AgentId, now: number, owner: AgentId): void;
175
176
  /** Checks audience/status/time only, after cryptographic and historical verification.
176
177
  * The application still authenticates the subject and enforces scopes and constraints. */
177
178
  export declare function validateDelegationUse(credential: DelegationCredential, audience: string, now: number): void;
179
+ /**
180
+ * Verifies a credential under Agent Delegation Section 8 with the online
181
+ * service-trusting evidence policy: checks the accepted record of its latest
182
+ * grant — signature, Controller binding, ceiling, and authority interval —
183
+ * confirms that the grant matches the credential, and then checks use for
184
+ * `audience` at `now`. Ownership and `supersedes` lineage govern management,
185
+ * which the service enforced at acceptance; auditors replay them with
186
+ * {@link auditDelegationHistory}. Relying parties still enforce scopes and
187
+ * constraints and authenticate the subject.
188
+ */
189
+ export declare function verifyDelegationCredential(credential: DelegationCredential, records: readonly DelegationRecord[], document: PrincipalDocument, resolvedUrl: string, audience: string, now: number): DelegationVerdict;
190
+ /**
191
+ * Auditor check (Section 8): replays every accepted record of a credential
192
+ * against the authoritative principal document — signatures, controller
193
+ * intervals, ceilings, and ownership lineage — and confirms that the replay
194
+ * matches the credential. Relying parties use {@link verifyDelegationCredential}.
195
+ */
196
+ export declare function auditDelegationHistory(credential: DelegationCredential, records: readonly DelegationRecord[], document: PrincipalDocument, resolvedUrl: string): void;
197
+ /** A relying-party audience (Section 5): an origin for a relying application, or an Agent ID for a relying agent. */
198
+ export declare function validateAudience(value: unknown): void;
178
199
  //# sourceMappingURL=delegation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"delegation.d.ts","sourceRoot":"","sources":["../src/delegation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"delegation.d.ts","sourceRoot":"","sources":["../src/delegation.ts"],"names":[],"mappings":"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"}