agent-protocols 0.4.1 → 0.6.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.
- package/README.md +3 -3
- package/dist/delegation.d.ts +28 -4
- package/dist/delegation.d.ts.map +1 -1
- package/dist/delegation.js +60 -6
- package/dist/delegation.js.map +1 -1
- package/dist/discourse.d.ts +67 -3
- package/dist/discourse.d.ts.map +1 -1
- package/dist/discourse.js +149 -2
- package/dist/discourse.js.map +1 -1
- package/dist/errors.d.ts +6 -2
- package/dist/errors.d.ts.map +1 -1
- package/dist/errors.js +7 -3
- package/dist/errors.js.map +1 -1
- package/dist/http-client.d.ts +24 -4
- package/dist/http-client.d.ts.map +1 -1
- package/dist/http-client.js +40 -9
- package/dist/http-client.js.map +1 -1
- package/dist/identity.d.ts +17 -0
- package/dist/identity.d.ts.map +1 -1
- package/dist/identity.js +40 -8
- package/dist/identity.js.map +1 -1
- package/dist/local-connector/catalog.d.ts +55 -0
- package/dist/local-connector/catalog.d.ts.map +1 -0
- package/dist/local-connector/catalog.js +151 -0
- package/dist/local-connector/catalog.js.map +1 -0
- package/dist/local-connector/engine.d.ts +94 -0
- package/dist/local-connector/engine.d.ts.map +1 -0
- package/dist/local-connector/engine.js +1234 -0
- package/dist/local-connector/engine.js.map +1 -0
- package/dist/local-connector/inputs.d.ts +231 -0
- package/dist/local-connector/inputs.d.ts.map +1 -0
- package/dist/local-connector/inputs.js +4 -0
- package/dist/local-connector/inputs.js.map +1 -0
- package/dist/local-connector/internal.d.ts +6 -0
- package/dist/local-connector/internal.d.ts.map +1 -0
- package/dist/local-connector/internal.js +18 -0
- package/dist/local-connector/internal.js.map +1 -0
- package/dist/local-connector/projection.d.ts +16 -0
- package/dist/local-connector/projection.d.ts.map +1 -0
- package/dist/local-connector/projection.js +306 -0
- package/dist/local-connector/projection.js.map +1 -0
- package/dist/local-connector/state.d.ts +66 -0
- package/dist/local-connector/state.d.ts.map +1 -0
- package/dist/local-connector/state.js +18 -0
- package/dist/local-connector/state.js.map +1 -0
- package/dist/local-connector/views.d.ts +169 -0
- package/dist/local-connector/views.d.ts.map +1 -0
- package/dist/local-connector/views.js +98 -0
- package/dist/local-connector/views.js.map +1 -0
- package/dist/local-connector.d.ts +5 -234
- package/dist/local-connector.d.ts.map +1 -1
- package/dist/local-connector.js +26 -251
- package/dist/local-connector.js.map +1 -1
- package/dist/profile.d.ts +12 -3
- package/dist/profile.d.ts.map +1 -1
- package/dist/profile.js +15 -1
- package/dist/profile.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -6,7 +6,7 @@ TypeScript SDK for the draft Agent Identity, Agent Profile, Agent Delegation, an
|
|
|
6
6
|
|
|
7
7
|
- `identity`: `did:agent:` encoding, JCS canonicalization, event hashes, Ed25519 signing and verification, live-write nonce checks, request JWT helpers.
|
|
8
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
|
+
- `delegation`: Agent Delegation principal documents and alias resolution, grant/revoke payloads, credential documents, status/query shapes, validation, and materialization.
|
|
10
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
11
|
- `http-client`: fetch-based Profile, Delegation, and Discourse clients.
|
|
12
12
|
- `local-connector`: Local Agent Protocols MCP connector tool names, resource URIs, structured view types, and timeline/sync helpers.
|
|
@@ -26,6 +26,6 @@ const envelope = signer.signEvent(event);
|
|
|
26
26
|
const profile = materializeProfile(envelope);
|
|
27
27
|
```
|
|
28
28
|
|
|
29
|
-
`username`
|
|
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
30
|
|
|
31
|
-
ADP room writes
|
|
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`.
|
package/dist/delegation.d.ts
CHANGED
|
@@ -17,9 +17,12 @@ export interface PrincipalDescriptor {
|
|
|
17
17
|
export interface PrincipalDocument extends PrincipalDescriptor {
|
|
18
18
|
description?: string;
|
|
19
19
|
avatar_url?: string;
|
|
20
|
+
/** Other HTTPS URLs that lead to this principal. Aliases are not identities. */
|
|
21
|
+
aliases?: string[];
|
|
20
22
|
links?: PrincipalLink[];
|
|
21
23
|
controllers: AgentId[];
|
|
22
|
-
|
|
24
|
+
/** Delegation query endpoint for this principal; answers existence checks. */
|
|
25
|
+
delegation_query_url?: string;
|
|
23
26
|
updated_at?: number;
|
|
24
27
|
extra?: Record<string, unknown>;
|
|
25
28
|
}
|
|
@@ -51,7 +54,6 @@ export interface DelegationCredential {
|
|
|
51
54
|
not_before?: number;
|
|
52
55
|
expires_at?: number;
|
|
53
56
|
status: DelegationStatus;
|
|
54
|
-
status_url?: string;
|
|
55
57
|
updated_at: number;
|
|
56
58
|
event_id: string;
|
|
57
59
|
}
|
|
@@ -75,6 +77,7 @@ export interface DelegationServiceDiscovery {
|
|
|
75
77
|
export interface DelegationQueryRequest {
|
|
76
78
|
subject?: AgentId;
|
|
77
79
|
principal_id?: string;
|
|
80
|
+
id?: string;
|
|
78
81
|
status?: DelegationStatus;
|
|
79
82
|
limit?: number;
|
|
80
83
|
}
|
|
@@ -84,7 +87,6 @@ export interface DelegationSummary {
|
|
|
84
87
|
principal: PrincipalDescriptor;
|
|
85
88
|
scopes?: string[];
|
|
86
89
|
status: DelegationStatus;
|
|
87
|
-
status_url?: string;
|
|
88
90
|
}
|
|
89
91
|
export interface DelegationQueryResponse {
|
|
90
92
|
result: DelegationSummary[];
|
|
@@ -95,12 +97,34 @@ export interface DelegationEventsResponse {
|
|
|
95
97
|
export declare function delegationGrantEvent(actor: AgentId, createdAt: number, nonce: number, payload: DelegationGrantPayload): Event<DelegationGrantPayload>;
|
|
96
98
|
export declare function delegationRevokeEvent(actor: AgentId, createdAt: number, nonce: number, payload: DelegationRevokePayload): Event<DelegationRevokePayload>;
|
|
97
99
|
export declare function validatePrincipalDocument(document: PrincipalDocument): void;
|
|
100
|
+
/**
|
|
101
|
+
* Checks the authoritative-read rule of Agent Delegation Section 5.3: a
|
|
102
|
+
* principal document binds controller keys only when it is read at its own
|
|
103
|
+
* `id`. A document served anywhere else is a copy; its `controllers` MUST be
|
|
104
|
+
* discarded and `document.id` resolved instead.
|
|
105
|
+
*/
|
|
106
|
+
export declare function validatePrincipalResolution(document: PrincipalDocument, resolvedUrl: string): void;
|
|
107
|
+
/**
|
|
108
|
+
* Reports whether `url` is an alias the principal itself acknowledges. Any
|
|
109
|
+
* origin can redirect to any principal, so an alias MUST NOT be shown as a
|
|
110
|
+
* name for the principal unless it is listed here.
|
|
111
|
+
*/
|
|
112
|
+
export declare function isPrincipalAlias(document: PrincipalDocument, url: string): boolean;
|
|
98
113
|
export declare function validateDelegationGrantPayload(payload: DelegationGrantPayload, createdAt?: number): void;
|
|
114
|
+
/**
|
|
115
|
+
* A public delegation query is an existence check and MUST include both
|
|
116
|
+
* `subject` and `principal_id`. Omitting either side makes it an enumeration
|
|
117
|
+
* query, which services MUST authorize before answering; pass
|
|
118
|
+
* `allowEnumeration` when building such an authorized request. `limit`
|
|
119
|
+
* defaults to 20; services SHOULD cap it at 100.
|
|
120
|
+
*/
|
|
121
|
+
export declare function validateDelegationQueryRequest(request: DelegationQueryRequest, options?: {
|
|
122
|
+
allowEnumeration?: boolean;
|
|
123
|
+
}): void;
|
|
99
124
|
export declare function validateDelegationRevokePayload(payload: DelegationRevokePayload): void;
|
|
100
125
|
export declare function validateDelegationEnvelope(envelope: Envelope<DelegationPayload>): void;
|
|
101
126
|
export declare function materializeDelegationCredential(envelope: Envelope<DelegationGrantPayload>, options?: {
|
|
102
127
|
status?: DelegationStatus;
|
|
103
|
-
statusUrl?: string;
|
|
104
128
|
updatedAt?: number;
|
|
105
129
|
}): DelegationCredential;
|
|
106
130
|
//# sourceMappingURL=delegation.d.ts.map
|
package/dist/delegation.d.ts.map
CHANGED
|
@@ -1 +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,
|
|
1
|
+
{"version":3,"file":"delegation.d.ts","sourceRoot":"","sources":["../src/delegation.ts"],"names":[],"mappings":"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"}
|
package/dist/delegation.js
CHANGED
|
@@ -16,10 +16,36 @@ export function validatePrincipalDocument(document) {
|
|
|
16
16
|
}
|
|
17
17
|
for (const controller of document.controllers)
|
|
18
18
|
validateAgentId(controller);
|
|
19
|
-
if (document.
|
|
20
|
-
|
|
19
|
+
if (document.aliases !== undefined) {
|
|
20
|
+
if (!Array.isArray(document.aliases)) {
|
|
21
|
+
throw protocolError("invalid_principal", "aliases must be an array");
|
|
22
|
+
}
|
|
23
|
+
for (const alias of document.aliases)
|
|
24
|
+
validateHttpsUrl(alias, "alias");
|
|
25
|
+
}
|
|
26
|
+
if (document.delegation_query_url !== undefined) {
|
|
27
|
+
validateHttpsUrl(document.delegation_query_url, "delegation_query_url");
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Checks the authoritative-read rule of Agent Delegation Section 5.3: a
|
|
32
|
+
* principal document binds controller keys only when it is read at its own
|
|
33
|
+
* `id`. A document served anywhere else is a copy; its `controllers` MUST be
|
|
34
|
+
* discarded and `document.id` resolved instead.
|
|
35
|
+
*/
|
|
36
|
+
export function validatePrincipalResolution(document, resolvedUrl) {
|
|
37
|
+
if (document.id !== resolvedUrl) {
|
|
38
|
+
throw protocolError("invalid_principal", `principal document id ${document.id} was served at ${resolvedUrl}`);
|
|
21
39
|
}
|
|
22
40
|
}
|
|
41
|
+
/**
|
|
42
|
+
* Reports whether `url` is an alias the principal itself acknowledges. Any
|
|
43
|
+
* origin can redirect to any principal, so an alias MUST NOT be shown as a
|
|
44
|
+
* name for the principal unless it is listed here.
|
|
45
|
+
*/
|
|
46
|
+
export function isPrincipalAlias(document, url) {
|
|
47
|
+
return document.aliases?.includes(url) ?? false;
|
|
48
|
+
}
|
|
23
49
|
export function validateDelegationGrantPayload(payload, createdAt) {
|
|
24
50
|
validateNonEmpty(payload.id, "payload.id");
|
|
25
51
|
validatePrincipalDescriptor(payload.principal);
|
|
@@ -33,12 +59,41 @@ export function validateDelegationGrantPayload(payload, createdAt) {
|
|
|
33
59
|
throw protocolError("invalid_delegation", "constraints must be an object");
|
|
34
60
|
}
|
|
35
61
|
if (payload.expires_at !== undefined) {
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
throw protocolError("invalid_delegation", "expires_at must be greater than not_before
|
|
62
|
+
if (payload.not_before !== undefined &&
|
|
63
|
+
payload.expires_at <= payload.not_before) {
|
|
64
|
+
throw protocolError("invalid_delegation", "expires_at must be greater than not_before");
|
|
65
|
+
}
|
|
66
|
+
if (createdAt !== undefined && payload.expires_at <= createdAt) {
|
|
67
|
+
throw protocolError("invalid_delegation", "expires_at must be greater than created_at");
|
|
39
68
|
}
|
|
40
69
|
}
|
|
41
70
|
}
|
|
71
|
+
/**
|
|
72
|
+
* A public delegation query is an existence check and MUST include both
|
|
73
|
+
* `subject` and `principal_id`. Omitting either side makes it an enumeration
|
|
74
|
+
* query, which services MUST authorize before answering; pass
|
|
75
|
+
* `allowEnumeration` when building such an authorized request. `limit`
|
|
76
|
+
* defaults to 20; services SHOULD cap it at 100.
|
|
77
|
+
*/
|
|
78
|
+
export function validateDelegationQueryRequest(request, options = {}) {
|
|
79
|
+
if (options.allowEnumeration) {
|
|
80
|
+
if (request.subject === undefined && request.principal_id === undefined) {
|
|
81
|
+
throw protocolError("invalid_delegation", "query must include at least one of subject or principal_id");
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
else if (request.subject === undefined || request.principal_id === undefined) {
|
|
85
|
+
throw protocolError("invalid_delegation", "public query must include both subject and principal_id");
|
|
86
|
+
}
|
|
87
|
+
if (request.subject !== undefined)
|
|
88
|
+
validateAgentId(request.subject);
|
|
89
|
+
if (request.principal_id !== undefined) {
|
|
90
|
+
validateHttpsUrl(request.principal_id, "principal_id");
|
|
91
|
+
}
|
|
92
|
+
if (request.limit !== undefined &&
|
|
93
|
+
(!Number.isInteger(request.limit) || request.limit < 1)) {
|
|
94
|
+
throw protocolError("invalid_delegation", "limit must be a positive integer");
|
|
95
|
+
}
|
|
96
|
+
}
|
|
42
97
|
export function validateDelegationRevokePayload(payload) {
|
|
43
98
|
validateNonEmpty(payload.id, "payload.id");
|
|
44
99
|
validateHttpsUrl(payload.principal_id, "principal_id");
|
|
@@ -76,7 +131,6 @@ export function materializeDelegationCredential(envelope, options = {}) {
|
|
|
76
131
|
not_before: payload.not_before,
|
|
77
132
|
expires_at: payload.expires_at,
|
|
78
133
|
status: options.status ?? "active",
|
|
79
|
-
status_url: options.statusUrl,
|
|
80
134
|
updated_at: options.updatedAt ?? envelope.event.created_at,
|
|
81
135
|
event_id: envelope.hash,
|
|
82
136
|
};
|
package/dist/delegation.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"delegation.js","sourceRoot":"","sources":["../src/delegation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAIL,WAAW,EACX,eAAe,EACf,cAAc,GACf,MAAM,eAAe,CAAC;AAEvB,MAAM,CAAC,MAAM,mBAAmB,GAAG,sBAAsB,CAAC;AAC1D,MAAM,CAAC,MAAM,gBAAgB,GAAG,kBAAkB,CAAC;AACnD,MAAM,CAAC,MAAM,iBAAiB,GAAG,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"delegation.js","sourceRoot":"","sources":["../src/delegation.ts"],"names":[],"mappings":"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"}
|
package/dist/discourse.d.ts
CHANGED
|
@@ -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
|
|
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,11 +167,12 @@ 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;
|
|
123
|
-
/** Latest accepted
|
|
175
|
+
/** Latest accepted head-advancing record. Falls back to `seq`/`hash` on older hosts. */
|
|
124
176
|
head?: RoomHead;
|
|
125
177
|
envelope?: Envelope<RoomCreatePayload>;
|
|
126
178
|
}
|
|
@@ -165,7 +217,8 @@ export interface AgentStatusInput {
|
|
|
165
217
|
seen_hash?: string;
|
|
166
218
|
claim_id?: string;
|
|
167
219
|
activity?: string;
|
|
168
|
-
|
|
220
|
+
/** Optional: when omitted, the host assigns its maximum TTL. */
|
|
221
|
+
expires_at?: number;
|
|
169
222
|
extra?: Record<string, unknown>;
|
|
170
223
|
}
|
|
171
224
|
export interface AgentStatus {
|
|
@@ -287,6 +340,17 @@ export declare function validateTypeDeclaration(declaration: TypeDeclaration): v
|
|
|
287
340
|
export declare function validateRoomCreatePayload(payload: RoomCreatePayload): void;
|
|
288
341
|
export declare function validateMessageCreatePayload(payload: MessageCreatePayload): void;
|
|
289
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;
|
|
290
354
|
/** The effective set of type definitions active in a room. */
|
|
291
355
|
export declare class TypeRegistry {
|
|
292
356
|
private readonly types;
|
package/dist/discourse.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discourse.d.ts","sourceRoot":"","sources":["../src/discourse.ts"],"names":[],"mappings":"AAcA,OAAO,EACL,OAAO,EACP,QAAQ,EACR,KAAK,EAON,MAAM,eAAe,CAAC;AAEvB,eAAO,MAAM,kBAAkB,wBAAwB,CAAC;AAExD,uEAAuE;AACvE,eAAO,MAAM,SAAS;;;;;;;;;;CAUZ,CAAC;AAEX,MAAM,MAAM,gBAAgB,GAAG,CAAC,OAAO,SAAS,CAAC,CAAC,MAAM,OAAO,SAAS,CAAC,CAAC;AAE1E,eAAO,MAAM,mBAAmB,EAAE,SAAS,MAAM,EAA6B,CAAC;AAE/E,sDAAsD;AACtD,eAAO,MAAM,sBAAsB,6BAA8B,CAAC;AAElE,8EAA8E;AAC9E,eAAO,MAAM,MAAM;;;;;;CAMT,CAAC;AAEX,eAAO,MAAM,mBAAmB,EAAE,SAAS,MAAM,EAA0B,CAAC;AAE5E,MAAM,MAAM,SAAS,GAAG,WAAW,GAAG,QAAQ,GAAG,OAAO,GAAG,WAAW,CAAC;AACvE,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,YAAY,GAAG,SAAS,CAAC;AAC7D,MAAM,MAAM,IAAI,GAAG,WAAW,GAAG,SAAS,GAAG,UAAU,CAAC;AACxD,yCAAyC;AACzC,MAAM,MAAM,QAAQ,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,CAAC;AACxD,MAAM,MAAM,UAAU,GAAG,QAAQ,GAAG,YAAY,GAAG,UAAU,CAAC;AAC9D,MAAM,MAAM,iBAAiB,GAAG,SAAS,GAAG,UAAU,GAAG,UAAU,GAAG,SAAS,CAAC;AAChF,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,QAAQ,CAAC;AAMhD,MAAM,WAAW,iBAAiB;IAChC,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,UAAU,CAAC;IACvB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,KAAK,CAAC,EAAE,eAAe,EAAE,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,UAAU;IACzB,mBAAmB,CAAC,EAAE,OAAO,EAAE,CAAC;IAChC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AAED,wDAAwD;AACxD,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,wEAAwE;IACxE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AAED,0DAA0D;AAC1D,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,EAAE,IAAI,EAAE,CAAC;IACf,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,iFAAiF;AACjF,MAAM,WAAW,UAAU;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;CAC1C;AAED,2EAA2E;AAC3E,MAAM,MAAM,eAAe,GAAG,OAAO,GAAG,UAAU,CAAC;AAEnD,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,OAAO,EAAE,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AAED,6EAA6E;AAC7E,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,IAAI,EAAE,CAAC;CACf;AAED,+EAA+E;AAC/E,wBAAgB,OAAO,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,CAIpE;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,SAAS,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,CAAC,EAAE,UAAU,CAAC;IACxB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,MAAM,CAAC,EAAE,UAAU,CAAC;IACpB,qDAAqD;IACrD,KAAK,CAAC,EAAE,OAAO,EAAE,CAAC;IAClB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,oFAAoF;IACpF,IAAI,CAAC,EAAE,QAAQ,CAAC;IAChB,QAAQ,CAAC,EAAE,QAAQ,CAAC,iBAAiB,CAAC,CAAC;CACxC;AAED,MAAM,WAAW,QAAQ;IACvB,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,IAAI,CAAC;IACX,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,oBAAoB;IACnC,IAAI,EAAE,IAAI,CAAC;IACX,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,OAAO,CAAC;IACnB,IAAI,EAAE,IAAI,CAAC;IACX,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,eAAe,CAAC;IACzB,MAAM,EAAE,iBAAiB,CAAC;IAC1B,aAAa,CAAC,EAAE,IAAI,CAAC;IACrB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,GAAG,IAAI,CAAC;IAC7B,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,WAAW,EAAE,CAAC;CACzB;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,WAAW,CAAC;CACrB;AAED,MAAM,WAAW,qBAAqB;IACpC,OAAO,EAAE,eAAe,CAAC;IACzB,QAAQ,EAAE,YAAY,CAAC;IACvB,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,OAAO,CAAC;IAChB,IAAI,EAAE,IAAI,CAAC;IACX,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AAED,uEAAuE;AACvE,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AAED,MAAM,MAAM,gBAAgB,GAAG,aAAa,CAAC;AAC7C,MAAM,MAAM,gBAAgB,GAAG,aAAa,CAAC;AAC7C,MAAM,MAAM,iBAAiB,GAAG,aAAa,CAAC;AAE9C,MAAM,WAAW,oBAAoB;IACnC,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,EAAE,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,YAAY,CAAC,CAAC,GAAG,OAAO;IACvC,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC;CACvB;AAED,MAAM,WAAW,uBAAuB;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,uBAAuB;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,OAAO,CAAC,EAAE,uBAAuB,CAAC;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,cAAc,CAAC;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,GAAG,EAAE,MAAM,CAAC;IACZ,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,eAAe,EAAE,MAAM,CAAC;IACxB,YAAY,EAAE,MAAM,CAAC;IACrB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AAED,mDAAmD;AACnD,MAAM,WAAW,iBAAiB;IAChC,IAAI,CAAC,EAAE,IAAI,CAAC;IACZ,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,wBAAgB,eAAe,CAC7B,KAAK,EAAE,OAAO,EACd,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,iBAAiB,GACzB,KAAK,CAAC,iBAAiB,CAAC,CAS1B;AAED,wBAAgB,eAAe,CAC7B,KAAK,EAAE,OAAO,EACd,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,eAAe,GAC3B,KAAK,CAAC,eAAe,CAAC,CAgBxB;AAED,wBAAgB,cAAc,CAAC,CAAC,EAC9B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,OAAO,EACd,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,MAAM,EACf,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,CAAC,GACT,KAAK,CAAC,CAAC,CAAC,CASV;AAED,wBAAgB,kBAAkB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAExD;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAEzD;AAED,wBAAgB,yBAAyB,CAAC,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,IAAI,CAkB3E;AAED,wBAAgB,gBAAgB,CAC9B,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,EAC3B,UAAU,EAAE,MAAM,GACjB,IAAI,CAeN;AAgBD,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,KAAK,CAAC,OAAO,CAAC,GAAG,IAAI,CAgBxE;AAUD;;;GAGG;AACH,wBAAgB,2BAA2B,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,CAc9D;AAED,wBAAgB,YAAY,CAC1B,WAAW,EAAE,eAAe,GAC3B,WAAW,IAAI,UAAU,CAM3B;AAED,wBAAgB,SAAS,CAAC,WAAW,EAAE,eAAe,GAAG,WAAW,IAAI,OAAO,CAO9E;AAED,wBAAgB,eAAe,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CA6ClD;AASD,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,UAAU,GAAG,IAAI,CAoChE;AAED,wBAAgB,uBAAuB,CAAC,WAAW,EAAE,eAAe,GAAG,IAAI,CAW1E;AAMD,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,iBAAiB,GAAG,IAAI,CAoB1E;AAED,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,oBAAoB,GAC5B,IAAI,CAIN;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,eAAe,GAAG,IAAI,CAatE;AAED,8DAA8D;AAC9D,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAA8B;IAEpD;;;OAGG;IACH,MAAM,CAAC,gBAAgB,CACrB,YAAY,EAAE,eAAe,EAAE,EAC/B,KAAK,GAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAM,GAC/B,YAAY;IAQf;;;OAGG;IACH,KAAK,CAAC,WAAW,EAAE,eAAe,EAAE,KAAK,GAAE,MAAM,CAAC,MAAM,EAAE,IAAI,CAAM,GAAG,IAAI;IAa3E,MAAM,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI;IAK1B,OAAO,CAAC,MAAM;IAkCd,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAItC,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAI1B,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,WAAW,IAAI,OAAO,EAAE;IAIxB,6EAA6E;IAC7E,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;CAkBtD;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,CAC1C,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,OAAO,EAChB,QAAQ,EAAE,YAAY,GACrB,IAAI,CAGN;AAUD;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAmBxE;AAED,wBAAgB,uBAAuB,CACrC,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAClC,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,GACjB,uBAAuB,CAQzB;AAED,wBAAgB,gBAAgB,CAC9B,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAClC,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,GACjB,MAAM,CAIR;AAED,wBAAgB,iBAAiB,CAAC,CAAC,EACjC,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,OAAO,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,EAClC,UAAU,EAAE,MAAM,EAClB,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,GACpB,YAAY,CAAC,CAAC,CAAC,CAgBjB;AAED,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,YAAY,GAAG,IAAI,CAc7D;AAED,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,IAAI,CAkBrE;AAED,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,YAAY,EAAE,GAAG,MAAM,CAEnE;AAED,+EAA+E;AAC/E,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,QAAQ,GAAG,SAAS,IAAI,EAAE,CAShE;AAED;;;GAGG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,iBAAiB,EAC1B,QAAQ,GAAE,YAAiC,GAC1C,OAAO,CA6BT;AAED,wBAAgB,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,SAAS,GAAG,OAAO,CAiBvE;AAED,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,SAAS,EAChB,UAAU,EAAE,iBAAiB,EAC7B,QAAQ,GAAE,YAAiC,GAC1C,OAAO,CAET;AAED,wBAAgB,iBAAiB,CAC/B,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,SAAS,EAChB,UAAU,EAAE,iBAAiB,EAC7B,QAAQ,GAAE,YAAiC,GAC1C,IAAI,CAON"}
|
|
1
|
+
{"version":3,"file":"discourse.d.ts","sourceRoot":"","sources":["../src/discourse.ts"],"names":[],"mappings":"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"}
|
package/dist/discourse.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Agent Discourse Protocol 1.0: kernel types, the room type system, and
|
|
3
3
|
* verification helpers.
|
|
4
4
|
*
|
|
5
|
-
* The protocol defines
|
|
5
|
+
* The protocol defines eleven built-in event types. Every other event type is
|
|
6
6
|
* declared per room as a schema-validated type definition, either inline or
|
|
7
7
|
* imported from a type pack. Hosts validate structure and permissions; they
|
|
8
8
|
* never need to understand application semantics.
|
|
@@ -13,19 +13,103 @@ import { createHash } from "node:crypto";
|
|
|
13
13
|
import { protocolError } from "./errors.js";
|
|
14
14
|
import { MAX_SAFE_NONCE, createEvent, validateAgentId, verifyEnvelope, withRoomHead, withRoomId, } from "./identity.js";
|
|
15
15
|
export const DISCOURSE_PROTOCOL = "agent-discourse/1.0";
|
|
16
|
-
/** The
|
|
16
|
+
/** The eleven built-in event types. All other types are room-defined. */
|
|
17
17
|
export const eventType = {
|
|
18
18
|
ROOM_CREATE: "room.create",
|
|
19
|
+
ROOM_UPDATE: "room.update",
|
|
19
20
|
ROOM_JOIN: "room.join",
|
|
20
21
|
ROOM_JOIN_REVIEW: "room.join.review",
|
|
21
22
|
ROOM_LEAVE: "room.leave",
|
|
22
23
|
ROOM_MEMBER_ROLE_UPDATE: "room.member.role.update",
|
|
24
|
+
ROOM_MEMBER_REMOVE: "room.member.remove",
|
|
23
25
|
ROOM_CLOSE: "room.close",
|
|
24
26
|
ROOM_CANCEL: "room.cancel",
|
|
25
27
|
TYPE_DEFINE: "type.define",
|
|
26
28
|
MESSAGE_CREATE: "message.create",
|
|
27
29
|
};
|
|
28
30
|
export const BUILTIN_EVENT_TYPES = Object.values(eventType);
|
|
31
|
+
/**
|
|
32
|
+
* Built-in membership events. They carry the `signal` class: they anchor to
|
|
33
|
+
* an accepted record but never contend for or advance the room head, so busy
|
|
34
|
+
* rooms cannot starve joins, reviews, or other membership writes.
|
|
35
|
+
*/
|
|
36
|
+
export const MEMBERSHIP_EVENT_TYPES = [
|
|
37
|
+
eventType.ROOM_JOIN,
|
|
38
|
+
eventType.ROOM_JOIN_REVIEW,
|
|
39
|
+
eventType.ROOM_LEAVE,
|
|
40
|
+
eventType.ROOM_MEMBER_ROLE_UPDATE,
|
|
41
|
+
eventType.ROOM_MEMBER_REMOVE,
|
|
42
|
+
];
|
|
43
|
+
/** Section 13.2 class of a built-in type; `undefined` for room-defined types. */
|
|
44
|
+
export function builtinEventClass(type) {
|
|
45
|
+
switch (type) {
|
|
46
|
+
case eventType.ROOM_CREATE:
|
|
47
|
+
case eventType.ROOM_UPDATE:
|
|
48
|
+
case eventType.ROOM_CLOSE:
|
|
49
|
+
case eventType.ROOM_CANCEL:
|
|
50
|
+
return "lifecycle";
|
|
51
|
+
case eventType.ROOM_JOIN:
|
|
52
|
+
case eventType.ROOM_JOIN_REVIEW:
|
|
53
|
+
case eventType.ROOM_LEAVE:
|
|
54
|
+
case eventType.ROOM_MEMBER_ROLE_UPDATE:
|
|
55
|
+
case eventType.ROOM_MEMBER_REMOVE:
|
|
56
|
+
return "signal";
|
|
57
|
+
case eventType.TYPE_DEFINE:
|
|
58
|
+
return "control";
|
|
59
|
+
case eventType.MESSAGE_CREATE:
|
|
60
|
+
return "message";
|
|
61
|
+
default:
|
|
62
|
+
return undefined;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Whether an accepted record of this type advances the room head and must
|
|
67
|
+
* therefore match the current head when written (Section 6.1). Room lifecycle,
|
|
68
|
+
* `message`-kind, and `control`-kind records advance the head; `signal`-kind
|
|
69
|
+
* records — including the built-in membership events — only anchor to an
|
|
70
|
+
* accepted record. Unknown custom types default to head-advancing.
|
|
71
|
+
*/
|
|
72
|
+
export function eventAdvancesRoomHead(type, registry) {
|
|
73
|
+
const builtinClass = builtinEventClass(type);
|
|
74
|
+
if (builtinClass !== undefined)
|
|
75
|
+
return builtinClass !== "signal";
|
|
76
|
+
const def = registry?.get(type);
|
|
77
|
+
return def === undefined || def.kind !== "signal";
|
|
78
|
+
}
|
|
79
|
+
/** Standard ADP error codes from the Section 20 table. */
|
|
80
|
+
export const DISCOURSE_ERROR_CODES = [
|
|
81
|
+
"invalid_event",
|
|
82
|
+
"invalid_event_hash",
|
|
83
|
+
"invalid_signature",
|
|
84
|
+
"invalid_actor",
|
|
85
|
+
"timestamp_out_of_window",
|
|
86
|
+
"nonce_not_greater",
|
|
87
|
+
"room_not_found",
|
|
88
|
+
"room_not_active",
|
|
89
|
+
"room_ended",
|
|
90
|
+
"permission_denied",
|
|
91
|
+
"approval_required",
|
|
92
|
+
"join_request_not_found",
|
|
93
|
+
"join_request_not_approved",
|
|
94
|
+
"join_request_role_mismatch",
|
|
95
|
+
"join_request_expired",
|
|
96
|
+
"member_banned",
|
|
97
|
+
"role_not_allowed",
|
|
98
|
+
"max_speakers_exceeded",
|
|
99
|
+
"membership_required",
|
|
100
|
+
"invalid_token",
|
|
101
|
+
"room_head_mismatch",
|
|
102
|
+
"base_record_mismatch",
|
|
103
|
+
"agent_status_not_found",
|
|
104
|
+
"rate_limited",
|
|
105
|
+
"payload_too_large",
|
|
106
|
+
"type_not_defined",
|
|
107
|
+
"type_disabled",
|
|
108
|
+
"payload_schema_violation",
|
|
109
|
+
"pack_unavailable",
|
|
110
|
+
];
|
|
111
|
+
/** Hosts MUST reject events with more than this many `mentions` entries. */
|
|
112
|
+
export const MAX_MENTIONS = 32;
|
|
29
113
|
/** Custom event types must not use these prefixes. */
|
|
30
114
|
export const RESERVED_TYPE_PREFIXES = ["room.", "type."];
|
|
31
115
|
/** Registered type packs defined by the specification in `1.0.packs.json`. */
|
|
@@ -118,6 +202,12 @@ function validateMentions(mentions) {
|
|
|
118
202
|
if (!Array.isArray(mentions)) {
|
|
119
203
|
throw protocolError("invalid_event", "mentions must be an Agent ID array");
|
|
120
204
|
}
|
|
205
|
+
if (mentions.length > MAX_MENTIONS) {
|
|
206
|
+
throw protocolError("invalid_event", `mentions must not exceed ${MAX_MENTIONS} entries`);
|
|
207
|
+
}
|
|
208
|
+
if (new Set(mentions).size !== mentions.length) {
|
|
209
|
+
throw protocolError("invalid_event", "mentions must be unique");
|
|
210
|
+
}
|
|
121
211
|
for (const mention of mentions)
|
|
122
212
|
validateAgentId(mention);
|
|
123
213
|
}
|
|
@@ -252,6 +342,55 @@ export function validateRoomJoinPayload(payload) {
|
|
|
252
342
|
throw protocolError("invalid_event", "room.join payload cannot include both request_id and perspective");
|
|
253
343
|
}
|
|
254
344
|
}
|
|
345
|
+
const ROOM_UPDATE_FIELDS = [
|
|
346
|
+
"topic",
|
|
347
|
+
"agenda",
|
|
348
|
+
"guidance",
|
|
349
|
+
"tags",
|
|
350
|
+
"language",
|
|
351
|
+
"policy",
|
|
352
|
+
"start_time",
|
|
353
|
+
"end_time",
|
|
354
|
+
];
|
|
355
|
+
/**
|
|
356
|
+
* Shape checks for a `room.update` payload. State-dependent rules — room
|
|
357
|
+
* status, effective time ordering against the current contract — remain
|
|
358
|
+
* host-side.
|
|
359
|
+
*/
|
|
360
|
+
export function validateRoomUpdatePayload(payload) {
|
|
361
|
+
const keys = Object.keys(payload);
|
|
362
|
+
if (keys.length === 0) {
|
|
363
|
+
throw protocolError("invalid_event", "room.update payload must not be empty");
|
|
364
|
+
}
|
|
365
|
+
for (const key of keys) {
|
|
366
|
+
if (!includes(ROOM_UPDATE_FIELDS, key)) {
|
|
367
|
+
throw protocolError("invalid_event", `room.update payload field ${key} is not updatable`);
|
|
368
|
+
}
|
|
369
|
+
}
|
|
370
|
+
if (payload.topic !== undefined && payload.topic.trim() === "") {
|
|
371
|
+
throw protocolError("invalid_event", "room topic must not be empty");
|
|
372
|
+
}
|
|
373
|
+
if (payload.start_time !== undefined &&
|
|
374
|
+
payload.end_time !== undefined &&
|
|
375
|
+
payload.start_time >= payload.end_time) {
|
|
376
|
+
throw protocolError("invalid_event", "start_time must be before end_time");
|
|
377
|
+
}
|
|
378
|
+
const maxSpeakers = payload.policy?.max_speakers;
|
|
379
|
+
if (maxSpeakers !== undefined &&
|
|
380
|
+
(!Number.isInteger(maxSpeakers) || maxSpeakers < 1)) {
|
|
381
|
+
throw protocolError("invalid_event", "max_speakers must be a positive integer");
|
|
382
|
+
}
|
|
383
|
+
}
|
|
384
|
+
/**
|
|
385
|
+
* Shape checks for a `room.member.remove` payload. Creator, self, and
|
|
386
|
+
* membership checks remain host-side.
|
|
387
|
+
*/
|
|
388
|
+
export function validateRoomMemberRemovePayload(payload) {
|
|
389
|
+
validateAgentId(payload.member);
|
|
390
|
+
if (payload.ban !== undefined && typeof payload.ban !== "boolean") {
|
|
391
|
+
throw protocolError("invalid_event", "ban must be a boolean");
|
|
392
|
+
}
|
|
393
|
+
}
|
|
255
394
|
/** The effective set of type definitions active in a room. */
|
|
256
395
|
export class TypeRegistry {
|
|
257
396
|
types = new Map();
|
|
@@ -283,6 +422,10 @@ export class TypeRegistry {
|
|
|
283
422
|
}
|
|
284
423
|
define(def) {
|
|
285
424
|
validateTypeDef(def);
|
|
425
|
+
const existing = this.types.get(def.type);
|
|
426
|
+
if (existing && existing.kind !== def.kind) {
|
|
427
|
+
throw protocolError("invalid_event", `type ${def.type} cannot change kind from ${existing.kind} to ${def.kind}`);
|
|
428
|
+
}
|
|
286
429
|
this.types.set(def.type, def);
|
|
287
430
|
}
|
|
288
431
|
import(declaration, packs) {
|
|
@@ -458,8 +601,10 @@ export function canSubmitEvent(type, context, registry = new TypeRegistry()) {
|
|
|
458
601
|
return Boolean(context.publicJoinAllowed || context.joinRequestApproved);
|
|
459
602
|
case eventType.ROOM_LEAVE:
|
|
460
603
|
return Boolean(context.isCreator) || context.role !== undefined;
|
|
604
|
+
case eventType.ROOM_UPDATE:
|
|
461
605
|
case eventType.ROOM_JOIN_REVIEW:
|
|
462
606
|
case eventType.ROOM_MEMBER_ROLE_UPDATE:
|
|
607
|
+
case eventType.ROOM_MEMBER_REMOVE:
|
|
463
608
|
case eventType.ROOM_CLOSE:
|
|
464
609
|
case eventType.ROOM_CANCEL:
|
|
465
610
|
case eventType.TYPE_DEFINE:
|
|
@@ -487,7 +632,9 @@ export function canWriteInState(type, state) {
|
|
|
487
632
|
return (type === eventType.ROOM_JOIN ||
|
|
488
633
|
type === eventType.ROOM_JOIN_REVIEW ||
|
|
489
634
|
type === eventType.ROOM_MEMBER_ROLE_UPDATE ||
|
|
635
|
+
type === eventType.ROOM_MEMBER_REMOVE ||
|
|
490
636
|
type === eventType.ROOM_LEAVE ||
|
|
637
|
+
type === eventType.ROOM_UPDATE ||
|
|
491
638
|
type === eventType.TYPE_DEFINE ||
|
|
492
639
|
type === eventType.ROOM_CANCEL);
|
|
493
640
|
case "active":
|