agent-protocols 0.4.0 → 0.5.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 (62) hide show
  1. package/README.md +6 -5
  2. package/dist/delegation.d.ts +111 -0
  3. package/dist/delegation.d.ts.map +1 -0
  4. package/dist/delegation.js +132 -0
  5. package/dist/delegation.js.map +1 -0
  6. package/dist/discourse.d.ts +76 -3
  7. package/dist/discourse.d.ts.map +1 -1
  8. package/dist/discourse.js +161 -3
  9. package/dist/discourse.js.map +1 -1
  10. package/dist/errors.d.ts +6 -2
  11. package/dist/errors.d.ts.map +1 -1
  12. package/dist/errors.js +7 -3
  13. package/dist/errors.js.map +1 -1
  14. package/dist/http-client.d.ts +24 -2
  15. package/dist/http-client.d.ts.map +1 -1
  16. package/dist/http-client.js +61 -4
  17. package/dist/http-client.js.map +1 -1
  18. package/dist/identity.d.ts +17 -0
  19. package/dist/identity.d.ts.map +1 -1
  20. package/dist/identity.js +40 -8
  21. package/dist/identity.js.map +1 -1
  22. package/dist/index.d.ts +1 -0
  23. package/dist/index.d.ts.map +1 -1
  24. package/dist/index.js +1 -0
  25. package/dist/index.js.map +1 -1
  26. package/dist/local-connector/catalog.d.ts +55 -0
  27. package/dist/local-connector/catalog.d.ts.map +1 -0
  28. package/dist/local-connector/catalog.js +151 -0
  29. package/dist/local-connector/catalog.js.map +1 -0
  30. package/dist/local-connector/engine.d.ts +94 -0
  31. package/dist/local-connector/engine.d.ts.map +1 -0
  32. package/dist/local-connector/engine.js +1234 -0
  33. package/dist/local-connector/engine.js.map +1 -0
  34. package/dist/local-connector/inputs.d.ts +231 -0
  35. package/dist/local-connector/inputs.d.ts.map +1 -0
  36. package/dist/local-connector/inputs.js +4 -0
  37. package/dist/local-connector/inputs.js.map +1 -0
  38. package/dist/local-connector/internal.d.ts +6 -0
  39. package/dist/local-connector/internal.d.ts.map +1 -0
  40. package/dist/local-connector/internal.js +18 -0
  41. package/dist/local-connector/internal.js.map +1 -0
  42. package/dist/local-connector/projection.d.ts +16 -0
  43. package/dist/local-connector/projection.d.ts.map +1 -0
  44. package/dist/local-connector/projection.js +306 -0
  45. package/dist/local-connector/projection.js.map +1 -0
  46. package/dist/local-connector/state.d.ts +66 -0
  47. package/dist/local-connector/state.d.ts.map +1 -0
  48. package/dist/local-connector/state.js +18 -0
  49. package/dist/local-connector/state.js.map +1 -0
  50. package/dist/local-connector/views.d.ts +169 -0
  51. package/dist/local-connector/views.d.ts.map +1 -0
  52. package/dist/local-connector/views.js +98 -0
  53. package/dist/local-connector/views.js.map +1 -0
  54. package/dist/local-connector.d.ts +5 -230
  55. package/dist/local-connector.d.ts.map +1 -1
  56. package/dist/local-connector.js +26 -241
  57. package/dist/local-connector.js.map +1 -1
  58. package/dist/profile.d.ts +18 -1
  59. package/dist/profile.d.ts.map +1 -1
  60. package/dist/profile.js +16 -1
  61. package/dist/profile.js.map +1 -1
  62. package/package.json +7 -3
package/README.md CHANGED
@@ -1,13 +1,14 @@
1
1
  # agent-protocols TypeScript SDK
2
2
 
3
- TypeScript SDK for the draft Agent Identity, Agent Profile, and Agent Discourse protocols.
3
+ TypeScript SDK for the draft Agent Identity, Agent Profile, Agent Delegation, and Agent Discourse protocols.
4
4
 
5
5
  ## Modules
6
6
 
7
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, validation, materialization.
8
+ - `profile`: `profile.update` payloads, Profile documents, delegation discovery hints, validation, materialization.
9
+ - `delegation`: Agent Delegation principal documents, grant/revoke payloads, credential documents, status/query shapes, validation, and materialization.
9
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.
10
- - `http-client`: fetch-based Profile and Discourse clients.
11
+ - `http-client`: fetch-based Profile, Delegation, and Discourse clients.
11
12
  - `local-connector`: Local Agent Protocols MCP connector tool names, resource URIs, structured view types, and timeline/sync helpers.
12
13
 
13
14
  ## Example
@@ -25,6 +26,6 @@ const envelope = signer.signEvent(event);
25
26
  const profile = materializeProfile(envelope);
26
27
  ```
27
28
 
28
- `username` is provider-confirmed and appears on Profile documents returned by a profile service. Do not put it in agent-submitted `profile.update` payloads.
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`.
29
30
 
30
- ADP room writes are signed against the current room 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`.
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`.
@@ -0,0 +1,111 @@
1
+ import { AgentId, Envelope, Event } from "./identity.js";
2
+ export declare const DELEGATION_PROTOCOL = "agent-delegation/1.0";
3
+ export declare const DELEGATION_GRANT = "delegation.grant";
4
+ export declare const DELEGATION_REVOKE = "delegation.revoke";
5
+ export type DelegationEventType = typeof DELEGATION_GRANT | typeof DELEGATION_REVOKE;
6
+ export type DelegationStatus = "active" | "suspended" | "expired" | "revoked";
7
+ export interface PrincipalLink {
8
+ name: string;
9
+ url: string;
10
+ rel: string;
11
+ }
12
+ export interface PrincipalDescriptor {
13
+ id: string;
14
+ type?: string;
15
+ name?: string;
16
+ }
17
+ export interface PrincipalDocument extends PrincipalDescriptor {
18
+ description?: string;
19
+ avatar_url?: string;
20
+ links?: PrincipalLink[];
21
+ controllers: AgentId[];
22
+ delegations_url?: string;
23
+ updated_at?: number;
24
+ extra?: Record<string, unknown>;
25
+ }
26
+ export interface DelegationGrantPayload {
27
+ id: string;
28
+ principal: PrincipalDescriptor;
29
+ subject: AgentId;
30
+ relationship?: string;
31
+ scopes: string[];
32
+ constraints?: Record<string, unknown>;
33
+ not_before?: number;
34
+ expires_at?: number;
35
+ }
36
+ export interface DelegationRevokePayload {
37
+ id: string;
38
+ principal_id: string;
39
+ reason?: string;
40
+ }
41
+ export type DelegationPayload = DelegationGrantPayload | DelegationRevokePayload;
42
+ export interface DelegationCredential {
43
+ id: string;
44
+ protocol: typeof DELEGATION_PROTOCOL;
45
+ principal: PrincipalDescriptor;
46
+ controller: AgentId;
47
+ subject: AgentId;
48
+ relationship?: string;
49
+ scopes: string[];
50
+ constraints?: Record<string, unknown>;
51
+ not_before?: number;
52
+ expires_at?: number;
53
+ status: DelegationStatus;
54
+ status_url?: string;
55
+ updated_at: number;
56
+ event_id: string;
57
+ }
58
+ export interface DelegationStatusDocument {
59
+ id: string;
60
+ status: DelegationStatus;
61
+ checked_at: number;
62
+ expires_at?: number;
63
+ event_id: string;
64
+ }
65
+ export interface DelegationServiceEndpoints {
66
+ delegations: string;
67
+ query?: string;
68
+ }
69
+ export interface DelegationServiceDiscovery {
70
+ protocol: typeof DELEGATION_PROTOCOL;
71
+ service: string;
72
+ endpoints: DelegationServiceEndpoints;
73
+ features?: string[];
74
+ }
75
+ export interface DelegationQueryRequest {
76
+ subject?: AgentId;
77
+ principal_id?: string;
78
+ status?: DelegationStatus;
79
+ limit?: number;
80
+ }
81
+ export interface DelegationSummary {
82
+ id: string;
83
+ subject: AgentId;
84
+ principal: PrincipalDescriptor;
85
+ scopes?: string[];
86
+ status: DelegationStatus;
87
+ status_url?: string;
88
+ }
89
+ export interface DelegationQueryResponse {
90
+ result: DelegationSummary[];
91
+ }
92
+ export interface DelegationEventsResponse {
93
+ result: Envelope<DelegationPayload>[];
94
+ }
95
+ export declare function delegationGrantEvent(actor: AgentId, createdAt: number, nonce: number, payload: DelegationGrantPayload): Event<DelegationGrantPayload>;
96
+ export declare function delegationRevokeEvent(actor: AgentId, createdAt: number, nonce: number, payload: DelegationRevokePayload): Event<DelegationRevokePayload>;
97
+ export declare function validatePrincipalDocument(document: PrincipalDocument): void;
98
+ export declare function validateDelegationGrantPayload(payload: DelegationGrantPayload, createdAt?: number): void;
99
+ /**
100
+ * A delegation query MUST include at least one of `subject` or
101
+ * `principal_id`. `limit` defaults to 20; services SHOULD cap it at 100.
102
+ */
103
+ export declare function validateDelegationQueryRequest(request: DelegationQueryRequest): void;
104
+ export declare function validateDelegationRevokePayload(payload: DelegationRevokePayload): void;
105
+ export declare function validateDelegationEnvelope(envelope: Envelope<DelegationPayload>): void;
106
+ export declare function materializeDelegationCredential(envelope: Envelope<DelegationGrantPayload>, options?: {
107
+ status?: DelegationStatus;
108
+ statusUrl?: string;
109
+ updatedAt?: number;
110
+ }): DelegationCredential;
111
+ //# sourceMappingURL=delegation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delegation.d.ts","sourceRoot":"","sources":["../src/delegation.ts"],"names":[],"mappings":"AACA,OAAO,EACL,OAAO,EACP,QAAQ,EACR,KAAK,EAIN,MAAM,eAAe,CAAC;AAEvB,eAAO,MAAM,mBAAmB,yBAAyB,CAAC;AAC1D,eAAO,MAAM,gBAAgB,qBAAqB,CAAC;AACnD,eAAO,MAAM,iBAAiB,sBAAsB,CAAC;AAErD,MAAM,MAAM,mBAAmB,GAC3B,OAAO,gBAAgB,GACvB,OAAO,iBAAiB,CAAC;AAE7B,MAAM,MAAM,gBAAgB,GACxB,QAAQ,GACR,WAAW,GACX,SAAS,GACT,SAAS,CAAC;AAEd,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,mBAAmB;IAClC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,iBAAkB,SAAQ,mBAAmB;IAC5D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,aAAa,EAAE,CAAC;IACxB,WAAW,EAAE,OAAO,EAAE,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,sBAAsB;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,mBAAmB,CAAC;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,MAAM,iBAAiB,GACzB,sBAAsB,GACtB,uBAAuB,CAAC;AAE5B,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,OAAO,mBAAmB,CAAC;IACrC,SAAS,EAAE,mBAAmB,CAAC;IAC/B,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACtC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,gBAAgB,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,wBAAwB;IACvC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,gBAAgB,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,0BAA0B;IACzC,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,EAAE,OAAO,mBAAmB,CAAC;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,0BAA0B,CAAC;IACtC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,MAAM,WAAW,sBAAsB;IACrC,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,iBAAiB;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,OAAO,CAAC;IACjB,SAAS,EAAE,mBAAmB,CAAC;IAC/B,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,EAAE,gBAAgB,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,uBAAuB;IACtC,MAAM,EAAE,iBAAiB,EAAE,CAAC;CAC7B;AAED,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;CACvC;AAED,wBAAgB,oBAAoB,CAClC,KAAK,EAAE,OAAO,EACd,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,sBAAsB,GAC9B,KAAK,CAAC,sBAAsB,CAAC,CAS/B;AAED,wBAAgB,qBAAqB,CACnC,KAAK,EAAE,OAAO,EACd,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,uBAAuB,GAC/B,KAAK,CAAC,uBAAuB,CAAC,CAShC;AAED,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,iBAAiB,GAAG,IAAI,CAY3E;AAED,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,sBAAsB,EAC/B,SAAS,CAAC,EAAE,MAAM,GACjB,IAAI,CA4BN;AAED;;;GAGG;AACH,wBAAgB,8BAA8B,CAC5C,OAAO,EAAE,sBAAsB,GAC9B,IAAI,CAoBN;AAED,wBAAgB,+BAA+B,CAC7C,OAAO,EAAE,uBAAuB,GAC/B,IAAI,CAGN;AAED,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,QAAQ,CAAC,iBAAiB,CAAC,GACpC,IAAI,CAuBN;AAED,wBAAgB,+BAA+B,CAC7C,QAAQ,EAAE,QAAQ,CAAC,sBAAsB,CAAC,EAC1C,OAAO,GAAE;IACP,MAAM,CAAC,EAAE,gBAAgB,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACf,GACL,oBAAoB,CAyBtB"}
@@ -0,0 +1,132 @@
1
+ import { protocolError } from "./errors.js";
2
+ import { createEvent, validateAgentId, verifyEnvelope, } from "./identity.js";
3
+ export const DELEGATION_PROTOCOL = "agent-delegation/1.0";
4
+ export const DELEGATION_GRANT = "delegation.grant";
5
+ export const DELEGATION_REVOKE = "delegation.revoke";
6
+ export function delegationGrantEvent(actor, createdAt, nonce, payload) {
7
+ return createEvent(DELEGATION_PROTOCOL, DELEGATION_GRANT, actor, createdAt, nonce, payload);
8
+ }
9
+ export function delegationRevokeEvent(actor, createdAt, nonce, payload) {
10
+ return createEvent(DELEGATION_PROTOCOL, DELEGATION_REVOKE, actor, createdAt, nonce, payload);
11
+ }
12
+ export function validatePrincipalDocument(document) {
13
+ validateHttpsUrl(document.id, "principal.id");
14
+ if (!Array.isArray(document.controllers) || document.controllers.length === 0) {
15
+ throw protocolError("invalid_principal", "principal document controllers must be non-empty");
16
+ }
17
+ for (const controller of document.controllers)
18
+ validateAgentId(controller);
19
+ if (document.delegations_url !== undefined) {
20
+ validateHttpsUrl(document.delegations_url, "delegations_url");
21
+ }
22
+ }
23
+ export function validateDelegationGrantPayload(payload, createdAt) {
24
+ validateNonEmpty(payload.id, "payload.id");
25
+ validatePrincipalDescriptor(payload.principal);
26
+ validateAgentId(payload.subject);
27
+ if (!Array.isArray(payload.scopes) || payload.scopes.length === 0) {
28
+ throw protocolError("invalid_delegation", "delegation scopes must be non-empty");
29
+ }
30
+ for (const scope of payload.scopes)
31
+ validateNonEmpty(scope, "scope");
32
+ if (payload.constraints !== undefined && !isRecord(payload.constraints)) {
33
+ throw protocolError("invalid_delegation", "constraints must be an object");
34
+ }
35
+ if (payload.expires_at !== undefined) {
36
+ if (payload.not_before !== undefined &&
37
+ payload.expires_at <= payload.not_before) {
38
+ throw protocolError("invalid_delegation", "expires_at must be greater than not_before");
39
+ }
40
+ if (createdAt !== undefined && payload.expires_at <= createdAt) {
41
+ throw protocolError("invalid_delegation", "expires_at must be greater than created_at");
42
+ }
43
+ }
44
+ }
45
+ /**
46
+ * A delegation query MUST include at least one of `subject` or
47
+ * `principal_id`. `limit` defaults to 20; services SHOULD cap it at 100.
48
+ */
49
+ export function validateDelegationQueryRequest(request) {
50
+ if (request.subject === undefined && request.principal_id === undefined) {
51
+ throw protocolError("invalid_delegation", "query must include at least one of subject or principal_id");
52
+ }
53
+ if (request.subject !== undefined)
54
+ validateAgentId(request.subject);
55
+ if (request.principal_id !== undefined) {
56
+ validateHttpsUrl(request.principal_id, "principal_id");
57
+ }
58
+ if (request.limit !== undefined &&
59
+ (!Number.isInteger(request.limit) || request.limit < 1)) {
60
+ throw protocolError("invalid_delegation", "limit must be a positive integer");
61
+ }
62
+ }
63
+ export function validateDelegationRevokePayload(payload) {
64
+ validateNonEmpty(payload.id, "payload.id");
65
+ validateHttpsUrl(payload.principal_id, "principal_id");
66
+ }
67
+ export function validateDelegationEnvelope(envelope) {
68
+ verifyEnvelope(envelope);
69
+ if (envelope.event.protocol !== DELEGATION_PROTOCOL) {
70
+ throw protocolError("invalid_event_protocol", `expected ${DELEGATION_PROTOCOL}, got ${envelope.event.protocol}`);
71
+ }
72
+ if (envelope.event.type === DELEGATION_GRANT) {
73
+ validateDelegationGrantPayload(envelope.event.payload, envelope.event.created_at);
74
+ }
75
+ else if (envelope.event.type === DELEGATION_REVOKE) {
76
+ validateDelegationRevokePayload(envelope.event.payload);
77
+ }
78
+ else {
79
+ throw protocolError("invalid_event_type", `expected ${DELEGATION_GRANT} or ${DELEGATION_REVOKE}, got ${envelope.event.type}`);
80
+ }
81
+ }
82
+ export function materializeDelegationCredential(envelope, options = {}) {
83
+ validateDelegationEnvelope(envelope);
84
+ if (envelope.event.type !== DELEGATION_GRANT) {
85
+ throw protocolError("invalid_event_type", "delegation credential materialization requires a grant event");
86
+ }
87
+ const payload = envelope.event.payload;
88
+ return {
89
+ id: payload.id,
90
+ protocol: DELEGATION_PROTOCOL,
91
+ principal: payload.principal,
92
+ controller: envelope.event.actor,
93
+ subject: payload.subject,
94
+ relationship: payload.relationship,
95
+ scopes: payload.scopes,
96
+ constraints: payload.constraints,
97
+ not_before: payload.not_before,
98
+ expires_at: payload.expires_at,
99
+ status: options.status ?? "active",
100
+ status_url: options.statusUrl,
101
+ updated_at: options.updatedAt ?? envelope.event.created_at,
102
+ event_id: envelope.hash,
103
+ };
104
+ }
105
+ function validatePrincipalDescriptor(principal) {
106
+ if (!isRecord(principal)) {
107
+ throw protocolError("invalid_principal", "principal must be an object");
108
+ }
109
+ validateHttpsUrl(principal.id, "principal.id");
110
+ }
111
+ function validateHttpsUrl(value, field) {
112
+ if (typeof value !== "string") {
113
+ throw protocolError("invalid_url", `${field} must be an HTTPS URL`);
114
+ }
115
+ try {
116
+ const url = new URL(value);
117
+ if (url.protocol !== "https:")
118
+ throw new Error("not https");
119
+ }
120
+ catch {
121
+ throw protocolError("invalid_url", `${field} must be an HTTPS URL`);
122
+ }
123
+ }
124
+ function validateNonEmpty(value, field) {
125
+ if (typeof value !== "string" || value.trim() === "") {
126
+ throw protocolError("invalid_delegation", `${field} must not be empty`);
127
+ }
128
+ }
129
+ function isRecord(value) {
130
+ return typeof value === "object" && value !== null && !Array.isArray(value);
131
+ }
132
+ //# sourceMappingURL=delegation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"delegation.js","sourceRoot":"","sources":["../src/delegation.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,14 @@
1
1
  import { AgentId, Envelope, Event } from "./identity.js";
2
2
  export declare const DISCOURSE_PROTOCOL = "agent-discourse/1.0";
3
- /** The nine built-in event types. All other types are room-defined. */
3
+ /** The eleven built-in event types. All other types are room-defined. */
4
4
  export declare const eventType: {
5
5
  readonly ROOM_CREATE: "room.create";
6
+ readonly ROOM_UPDATE: "room.update";
6
7
  readonly ROOM_JOIN: "room.join";
7
8
  readonly ROOM_JOIN_REVIEW: "room.join.review";
8
9
  readonly ROOM_LEAVE: "room.leave";
9
10
  readonly ROOM_MEMBER_ROLE_UPDATE: "room.member.role.update";
11
+ readonly ROOM_MEMBER_REMOVE: "room.member.remove";
10
12
  readonly ROOM_CLOSE: "room.close";
11
13
  readonly ROOM_CANCEL: "room.cancel";
12
14
  readonly TYPE_DEFINE: "type.define";
@@ -14,6 +16,28 @@ export declare const eventType: {
14
16
  };
15
17
  export type BuiltinEventType = (typeof eventType)[keyof typeof eventType];
16
18
  export declare const BUILTIN_EVENT_TYPES: readonly string[];
19
+ /**
20
+ * Built-in membership events. They carry the `signal` class: they anchor to
21
+ * an accepted record but never contend for or advance the room head, so busy
22
+ * rooms cannot starve joins, reviews, or other membership writes.
23
+ */
24
+ export declare const MEMBERSHIP_EVENT_TYPES: readonly string[];
25
+ /** Class of a built-in type per the Section 13.2 table. */
26
+ export type BuiltinEventClass = "lifecycle" | "signal" | "control" | "message";
27
+ /** Section 13.2 class of a built-in type; `undefined` for room-defined types. */
28
+ export declare function builtinEventClass(type: string): BuiltinEventClass | undefined;
29
+ /**
30
+ * Whether an accepted record of this type advances the room head and must
31
+ * therefore match the current head when written (Section 6.1). Room lifecycle,
32
+ * `message`-kind, and `control`-kind records advance the head; `signal`-kind
33
+ * records — including the built-in membership events — only anchor to an
34
+ * accepted record. Unknown custom types default to head-advancing.
35
+ */
36
+ export declare function eventAdvancesRoomHead(type: string, registry?: TypeRegistry): boolean;
37
+ /** Standard ADP error codes from the Section 20 table. */
38
+ export declare const DISCOURSE_ERROR_CODES: readonly string[];
39
+ /** Hosts MUST reject events with more than this many `mentions` entries. */
40
+ export declare const MAX_MENTIONS = 32;
17
41
  /** Custom event types must not use these prefixes. */
18
42
  export declare const RESERVED_TYPE_PREFIXES: readonly ["room.", "type."];
19
43
  /** Registered type packs defined by the specification in `1.0.packs.json`. */
@@ -52,6 +76,31 @@ export interface RoomPolicy {
52
76
  observer_allowed?: boolean;
53
77
  extra?: Record<string, unknown>;
54
78
  }
79
+ /**
80
+ * Payload of `room.update`: a partial contract revision. A present field
81
+ * replaces the current value entirely; an empty value clears an optional
82
+ * field. `visibility` is not updatable, and the type registry evolves only
83
+ * through `type.define`.
84
+ */
85
+ export interface RoomUpdatePayload {
86
+ topic?: string;
87
+ agenda?: string;
88
+ guidance?: string;
89
+ tags?: string[];
90
+ language?: string;
91
+ policy?: RoomPolicy;
92
+ start_time?: number;
93
+ end_time?: number;
94
+ }
95
+ /** Payload of `room.member.remove`: removal and optional ban. */
96
+ export interface RoomMemberRemovePayload {
97
+ member: AgentId;
98
+ /** Defaults to `false`. `true` additionally bans the agent from the room. */
99
+ ban?: boolean;
100
+ reason?: string;
101
+ references?: string[];
102
+ extra?: Record<string, unknown>;
103
+ }
55
104
  /** A room-scoped declaration of a custom event type. */
56
105
  export interface TypeDef {
57
106
  type: string;
@@ -105,6 +154,8 @@ export interface RoomResponse {
105
154
  id: string;
106
155
  status: RoomState;
107
156
  url: string;
157
+ creator?: AgentId;
158
+ created_at?: number;
108
159
  topic?: string;
109
160
  agenda?: string;
110
161
  guidance?: string;
@@ -116,15 +167,23 @@ export interface RoomResponse {
116
167
  policy?: RoomPolicy;
117
168
  /** Materialized type registry served by the host. */
118
169
  types?: TypeDef[];
170
+ extra?: Record<string, unknown>;
119
171
  seq: number;
120
172
  pre_hash: string | null;
121
173
  hash: string;
122
174
  received_at: number;
175
+ /** Latest accepted head-advancing record. Falls back to `seq`/`hash` on older hosts. */
176
+ head?: RoomHead;
123
177
  envelope?: Envelope<RoomCreatePayload>;
124
178
  }
179
+ export interface RoomHead {
180
+ seq: number;
181
+ hash: string;
182
+ }
125
183
  export interface RoomJoinPayload {
126
- request_id: string;
184
+ request_id?: string;
127
185
  role: Role;
186
+ perspective?: string;
128
187
  }
129
188
  export interface RoomJoinRequestInput {
130
189
  role: Role;
@@ -158,7 +217,8 @@ export interface AgentStatusInput {
158
217
  seen_hash?: string;
159
218
  claim_id?: string;
160
219
  activity?: string;
161
- expires_at: number;
220
+ /** Optional: when omitted, the host assigns its maximum TTL. */
221
+ expires_at?: number;
162
222
  extra?: Record<string, unknown>;
163
223
  }
164
224
  export interface AgentStatus {
@@ -256,6 +316,7 @@ export interface ArchiveManifest {
256
316
  export interface PermissionContext {
257
317
  role?: Role;
258
318
  isCreator?: boolean;
319
+ publicJoinAllowed?: boolean;
259
320
  joinRequestApproved?: boolean;
260
321
  }
261
322
  export declare function roomCreateEvent(actor: AgentId, createdAt: number, nonce: number, payload: RoomCreatePayload): Event<RoomCreatePayload>;
@@ -278,6 +339,18 @@ export declare function validatePackImport(declaration: PackImport): void;
278
339
  export declare function validateTypeDeclaration(declaration: TypeDeclaration): void;
279
340
  export declare function validateRoomCreatePayload(payload: RoomCreatePayload): void;
280
341
  export declare function validateMessageCreatePayload(payload: MessageCreatePayload): void;
342
+ export declare function validateRoomJoinPayload(payload: RoomJoinPayload): void;
343
+ /**
344
+ * Shape checks for a `room.update` payload. State-dependent rules — room
345
+ * status, effective time ordering against the current contract — remain
346
+ * host-side.
347
+ */
348
+ export declare function validateRoomUpdatePayload(payload: RoomUpdatePayload): void;
349
+ /**
350
+ * Shape checks for a `room.member.remove` payload. Creator, self, and
351
+ * membership checks remain host-side.
352
+ */
353
+ export declare function validateRoomMemberRemovePayload(payload: RoomMemberRemovePayload): void;
281
354
  /** The effective set of type definitions active in a room. */
282
355
  export declare class TypeRegistry {
283
356
  private readonly types;
@@ -1 +1 @@
1
- {"version":3,"file":"discourse.d.ts","sourceRoot":"","sources":["../src/discourse.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"discourse.d.ts","sourceRoot":"","sources":["../src/discourse.ts"],"names":[],"mappings":"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"}