agent-protocols 0.2.3 → 0.3.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 +1 -1
- package/dist/discourse.d.ts +151 -213
- package/dist/discourse.d.ts.map +1 -1
- package/dist/discourse.js +320 -220
- package/dist/discourse.js.map +1 -1
- package/package.json +2 -1
package/README.md
CHANGED
|
@@ -6,7 +6,7 @@ TypeScript SDK for the draft Agent Identity, Agent Profile, and Agent Discourse
|
|
|
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, validation, materialization.
|
|
9
|
-
- `discourse`: ADP
|
|
9
|
+
- `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
10
|
- `http-client`: fetch-based Profile and Discourse clients.
|
|
11
11
|
|
|
12
12
|
## Example
|
package/dist/discourse.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
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
4
|
export declare const eventType: {
|
|
4
5
|
readonly ROOM_CREATE: "room.create";
|
|
5
6
|
readonly ROOM_JOIN: "room.join";
|
|
@@ -8,62 +9,110 @@ export declare const eventType: {
|
|
|
8
9
|
readonly ROOM_MEMBER_ROLE_UPDATE: "room.member.role.update";
|
|
9
10
|
readonly ROOM_CLOSE: "room.close";
|
|
10
11
|
readonly ROOM_CANCEL: "room.cancel";
|
|
12
|
+
readonly TYPE_DEFINE: "type.define";
|
|
11
13
|
readonly MESSAGE_CREATE: "message.create";
|
|
12
|
-
readonly REACTION_CREATE: "reaction.create";
|
|
13
|
-
readonly MESSAGE_PROPOSAL_CREATE: "message.proposal.create";
|
|
14
|
-
readonly MESSAGE_POLL_CREATE: "message.poll.create";
|
|
15
|
-
readonly MESSAGE_POLL_VOTE: "message.poll.vote";
|
|
16
|
-
readonly MESSAGE_RESOLUTION_CREATE: "message.resolution.create";
|
|
17
|
-
readonly SOURCE_ADD: "source.add";
|
|
18
|
-
readonly TURN_UPDATE: "turn.update";
|
|
19
|
-
readonly QUESTION_CREATE: "question.create";
|
|
20
|
-
readonly ROOM_STEER: "room.steer";
|
|
21
|
-
readonly MAP_UPDATE: "map.update";
|
|
22
|
-
readonly ARTIFACT_CREATE: "artifact.create";
|
|
23
|
-
readonly SESSION_OFFER: "session.offer";
|
|
24
|
-
readonly SESSION_ANSWER: "session.answer";
|
|
25
|
-
readonly SESSION_CANDIDATE: "session.candidate";
|
|
26
|
-
readonly SESSION_CLOSE: "session.close";
|
|
27
14
|
};
|
|
28
|
-
export type
|
|
15
|
+
export type BuiltinEventType = (typeof eventType)[keyof typeof eventType];
|
|
16
|
+
export declare const BUILTIN_EVENT_TYPES: readonly string[];
|
|
17
|
+
/** Custom event types must not use these prefixes. */
|
|
18
|
+
export declare const RESERVED_TYPE_PREFIXES: readonly ["room.", "type."];
|
|
19
|
+
/** Registered type packs defined by the specification in `1.0.packs.json`. */
|
|
20
|
+
export declare const packId: {
|
|
21
|
+
readonly REACTIONS: "adp:reactions/1.0";
|
|
22
|
+
readonly DELIBERATION: "adp:deliberation/1.0";
|
|
23
|
+
readonly CURATION: "adp:curation/1.0";
|
|
24
|
+
readonly MODERATION: "adp:moderation/1.0";
|
|
25
|
+
readonly REALTIME: "adp:realtime/1.0";
|
|
26
|
+
};
|
|
27
|
+
export declare const REGISTERED_PACK_IDS: readonly string[];
|
|
29
28
|
export type RoomState = "scheduled" | "active" | "ended" | "cancelled";
|
|
30
29
|
export type Visibility = "public" | "restricted" | "private";
|
|
31
|
-
export type
|
|
32
|
-
|
|
30
|
+
export type Role = "moderator" | "speaker" | "observer";
|
|
31
|
+
/** Permission class of an event type. */
|
|
32
|
+
export type TypeKind = "message" | "signal" | "control";
|
|
33
|
+
export type TypeStatus = "active" | "deprecated" | "disabled";
|
|
33
34
|
export type JoinRequestStatus = "pending" | "approved" | "rejected" | "expired";
|
|
34
35
|
export type JoinDecision = "approve" | "reject";
|
|
35
|
-
export type MessageIntent = "question" | "answer" | "clarification" | "critique" | "synthesis" | "follow_up" | "other";
|
|
36
|
-
export type MapOperation = "upsert_node" | "move_node" | "delete_node" | "merge_nodes" | "replace_snapshot" | "mark_resolved";
|
|
37
|
-
export type MapNodeStatus = "open" | "resolved" | "closed";
|
|
38
|
-
export type ResolutionOutcome = "accepted" | "rejected" | "deferred" | "superseded";
|
|
39
|
-
export type SessionType = "webrtc";
|
|
40
|
-
export type SessionMediaKind = "audio" | "video" | "screen" | "data" | "file";
|
|
41
|
-
export type SessionTopology = "peer_to_peer" | "sfu" | "turn_relay";
|
|
42
|
-
export type SessionDescriptionType = "offer" | "answer";
|
|
43
36
|
export interface RoomCreatePayload {
|
|
44
37
|
topic: string;
|
|
45
38
|
agenda?: string;
|
|
39
|
+
guidance?: string;
|
|
46
40
|
visibility: Visibility;
|
|
47
41
|
start_time: number;
|
|
48
42
|
end_time: number;
|
|
49
43
|
tags?: string[];
|
|
50
44
|
language?: string;
|
|
51
45
|
policy?: RoomPolicy;
|
|
52
|
-
|
|
46
|
+
types?: TypeDeclaration[];
|
|
53
47
|
extra?: Record<string, unknown>;
|
|
54
48
|
}
|
|
55
49
|
export interface RoomPolicy {
|
|
56
|
-
turn_policy?: TurnPolicy;
|
|
57
50
|
moderator_agent_ids?: AgentId[];
|
|
58
|
-
|
|
51
|
+
max_speakers?: number;
|
|
59
52
|
observer_allowed?: boolean;
|
|
60
|
-
|
|
61
|
-
|
|
53
|
+
extra?: Record<string, unknown>;
|
|
54
|
+
}
|
|
55
|
+
/** A room-scoped declaration of a custom event type. */
|
|
56
|
+
export interface TypeDef {
|
|
57
|
+
type: string;
|
|
58
|
+
kind: TypeKind;
|
|
59
|
+
title: string;
|
|
60
|
+
description?: string;
|
|
61
|
+
/** Self-contained JSON Schema (draft 2020-12) for the event payload. */
|
|
62
|
+
schema: Record<string, unknown>;
|
|
63
|
+
roles?: Role[];
|
|
64
|
+
instructions?: string;
|
|
65
|
+
version?: string;
|
|
66
|
+
status?: TypeStatus;
|
|
67
|
+
rate_hint?: number;
|
|
68
|
+
max_payload_hint?: number;
|
|
69
|
+
extra?: Record<string, unknown>;
|
|
62
70
|
}
|
|
71
|
+
/** Per-type adjustments applied when importing a pack. */
|
|
72
|
+
export interface TypeOverride {
|
|
73
|
+
roles?: Role[];
|
|
74
|
+
instructions?: string;
|
|
75
|
+
status?: TypeStatus;
|
|
76
|
+
rate_hint?: number;
|
|
77
|
+
max_payload_hint?: number;
|
|
78
|
+
}
|
|
79
|
+
/** Imports a registered pack (`use`) or an external pack (`pack` + `digest`). */
|
|
80
|
+
export interface PackImport {
|
|
81
|
+
use?: string;
|
|
82
|
+
pack?: string;
|
|
83
|
+
digest?: string;
|
|
84
|
+
types?: string[];
|
|
85
|
+
overrides?: Record<string, TypeOverride>;
|
|
86
|
+
}
|
|
87
|
+
/** One entry of `room.create.payload.types` or a `type.define` payload. */
|
|
88
|
+
export type TypeDeclaration = TypeDef | PackImport;
|
|
89
|
+
export interface Pack {
|
|
90
|
+
id: string;
|
|
91
|
+
title: string;
|
|
92
|
+
description?: string;
|
|
93
|
+
types: TypeDef[];
|
|
94
|
+
extra?: Record<string, unknown>;
|
|
95
|
+
}
|
|
96
|
+
/** The shape of `1.0.packs.json` and externally published pack documents. */
|
|
97
|
+
export interface PackDocument {
|
|
98
|
+
protocol: string;
|
|
99
|
+
description?: string;
|
|
100
|
+
packs: Pack[];
|
|
101
|
+
}
|
|
102
|
+
/** Indexes the packs of a document by pack id for registry materialization. */
|
|
103
|
+
export declare function packMap(document: PackDocument): Record<string, Pack>;
|
|
63
104
|
export interface RoomResponse {
|
|
64
105
|
id: string;
|
|
65
106
|
status: RoomState;
|
|
66
107
|
url: string;
|
|
108
|
+
topic?: string;
|
|
109
|
+
guidance?: string;
|
|
110
|
+
visibility?: Visibility;
|
|
111
|
+
start_time?: number;
|
|
112
|
+
end_time?: number;
|
|
113
|
+
policy?: RoomPolicy;
|
|
114
|
+
/** Materialized type registry served by the host. */
|
|
115
|
+
types?: TypeDef[];
|
|
67
116
|
seq: number;
|
|
68
117
|
pre_hash: string | null;
|
|
69
118
|
hash: string;
|
|
@@ -74,6 +123,7 @@ export interface RoomJoinPayload {
|
|
|
74
123
|
request_id: string;
|
|
75
124
|
role: Role;
|
|
76
125
|
perspective?: string;
|
|
126
|
+
extra?: Record<string, unknown>;
|
|
77
127
|
}
|
|
78
128
|
export interface RoomJoinRequestPayload {
|
|
79
129
|
requested_role: Role;
|
|
@@ -92,8 +142,8 @@ export interface RoomJoinRequest {
|
|
|
92
142
|
request_reason?: string;
|
|
93
143
|
review_reason?: string;
|
|
94
144
|
created_at: number;
|
|
95
|
-
reviewed_by?: AgentId;
|
|
96
|
-
reviewed_at?: number;
|
|
145
|
+
reviewed_by?: AgentId | null;
|
|
146
|
+
reviewed_at?: number | null;
|
|
97
147
|
expires_at?: number;
|
|
98
148
|
extra?: Record<string, unknown>;
|
|
99
149
|
}
|
|
@@ -103,169 +153,29 @@ export interface RoomJoinReviewPayload {
|
|
|
103
153
|
decision: JoinDecision;
|
|
104
154
|
role?: Role;
|
|
105
155
|
reason?: string;
|
|
106
|
-
|
|
107
|
-
export interface RoomLeavePayload {
|
|
108
|
-
reason?: string;
|
|
156
|
+
extra?: Record<string, unknown>;
|
|
109
157
|
}
|
|
110
158
|
export interface RoleUpdatePayload {
|
|
111
159
|
member: AgentId;
|
|
112
160
|
role: Role;
|
|
113
161
|
reason?: string;
|
|
114
|
-
}
|
|
115
|
-
export interface MessageCreatePayload {
|
|
116
|
-
content_type: string;
|
|
117
|
-
content: unknown;
|
|
118
|
-
references?: string[];
|
|
119
|
-
}
|
|
120
|
-
export interface ProposalCreatePayload {
|
|
121
|
-
proposal_id: string;
|
|
122
|
-
title: string;
|
|
123
|
-
body: string;
|
|
124
|
-
content_type?: string;
|
|
125
|
-
references?: string[];
|
|
126
|
-
source_event_ids?: string[];
|
|
127
|
-
extra?: Record<string, unknown>;
|
|
128
|
-
}
|
|
129
|
-
export interface PollOption {
|
|
130
|
-
id: string;
|
|
131
|
-
label: string;
|
|
132
|
-
description?: string;
|
|
133
|
-
}
|
|
134
|
-
export interface PollCreatePayload {
|
|
135
|
-
poll_id: string;
|
|
136
|
-
question: string;
|
|
137
|
-
options: PollOption[];
|
|
138
|
-
min_choices?: number;
|
|
139
|
-
max_choices?: number;
|
|
140
|
-
closes_at?: number;
|
|
141
|
-
references?: string[];
|
|
142
|
-
extra?: Record<string, unknown>;
|
|
143
|
-
}
|
|
144
|
-
export interface PollVotePayload {
|
|
145
|
-
event_id: string;
|
|
146
|
-
option_ids: string[];
|
|
147
|
-
}
|
|
148
|
-
export interface ResolutionCreatePayload {
|
|
149
|
-
resolution_id: string;
|
|
150
|
-
outcome: ResolutionOutcome;
|
|
151
|
-
summary: string;
|
|
152
|
-
proposal_event_id?: string;
|
|
153
|
-
poll_event_id?: string;
|
|
154
|
-
references?: string[];
|
|
155
|
-
extra?: Record<string, unknown>;
|
|
156
|
-
}
|
|
157
|
-
export interface ReactionCreatePayload {
|
|
158
|
-
event_id: string;
|
|
159
|
-
reaction: string;
|
|
160
|
-
score?: number;
|
|
161
|
-
}
|
|
162
|
-
export interface SourceAddPayload {
|
|
163
|
-
source_type: string;
|
|
164
|
-
uri: string;
|
|
165
|
-
title?: string;
|
|
166
|
-
retrieved_at?: number;
|
|
167
|
-
content_digest?: string;
|
|
168
|
-
excerpt?: string;
|
|
169
162
|
extra?: Record<string, unknown>;
|
|
170
163
|
}
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
speaker: AgentId;
|
|
174
|
-
intent?: MessageIntent;
|
|
175
|
-
topic?: string;
|
|
176
|
-
expires_at?: number;
|
|
164
|
+
/** Shared payload of `room.leave`, `room.close`, and `room.cancel`. */
|
|
165
|
+
export interface ReasonPayload {
|
|
177
166
|
reason?: string;
|
|
178
|
-
}
|
|
179
|
-
export interface QuestionGeneratePayload {
|
|
180
|
-
question: string;
|
|
181
|
-
target_perspectives?: string[];
|
|
182
|
-
basis?: string;
|
|
183
|
-
source_event_ids?: string[];
|
|
184
|
-
references?: string[];
|
|
185
|
-
priority?: number;
|
|
186
|
-
}
|
|
187
|
-
export interface DiscourseSteerPayload {
|
|
188
|
-
instruction: string;
|
|
189
|
-
target: string;
|
|
190
|
-
priority?: number;
|
|
191
167
|
references?: string[];
|
|
192
|
-
}
|
|
193
|
-
export interface MapNode {
|
|
194
|
-
id: string;
|
|
195
|
-
parent_id?: string;
|
|
196
|
-
title: string;
|
|
197
|
-
summary?: string;
|
|
198
|
-
status?: MapNodeStatus;
|
|
199
|
-
source_event_ids?: string[];
|
|
200
|
-
discussion_event_ids?: string[];
|
|
201
|
-
children?: MapNode[];
|
|
202
|
-
extra?: Record<string, unknown>;
|
|
203
|
-
}
|
|
204
|
-
export interface MapUpdatePayload {
|
|
205
|
-
operation: MapOperation;
|
|
206
|
-
node?: MapNode;
|
|
207
168
|
extra?: Record<string, unknown>;
|
|
208
|
-
[key: string]: unknown;
|
|
209
|
-
}
|
|
210
|
-
export interface ArtifactCreatePayload {
|
|
211
|
-
artifact_id: string;
|
|
212
|
-
format: string;
|
|
213
|
-
title: string;
|
|
214
|
-
uri: string;
|
|
215
|
-
content_digest?: string;
|
|
216
|
-
source_event_ids?: string[];
|
|
217
|
-
discussion_event_ids?: string[];
|
|
218
|
-
map_event_id?: string;
|
|
219
|
-
}
|
|
220
|
-
export interface SessionDescription {
|
|
221
|
-
type: SessionDescriptionType;
|
|
222
|
-
sdp: string;
|
|
223
|
-
}
|
|
224
|
-
export interface SessionIceCandidate {
|
|
225
|
-
candidate: string;
|
|
226
|
-
sdp_mid?: string;
|
|
227
|
-
sdp_mline_index?: number;
|
|
228
|
-
username_fragment?: string;
|
|
229
169
|
}
|
|
230
|
-
export
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
}
|
|
237
|
-
export interface SessionOfferPayload {
|
|
238
|
-
session_id: string;
|
|
239
|
-
session_type: SessionType;
|
|
240
|
-
media: SessionMediaKind[];
|
|
241
|
-
description: SessionDescription;
|
|
242
|
-
to?: AgentId[];
|
|
243
|
-
topology?: SessionTopology;
|
|
244
|
-
transfers?: SessionDataTransfer[];
|
|
245
|
-
expires_at?: number;
|
|
170
|
+
export type RoomLeavePayload = ReasonPayload;
|
|
171
|
+
export type RoomClosePayload = ReasonPayload;
|
|
172
|
+
export type RoomCancelPayload = ReasonPayload;
|
|
173
|
+
export interface MessageCreatePayload {
|
|
174
|
+
content_type: string;
|
|
175
|
+
content: unknown;
|
|
246
176
|
references?: string[];
|
|
247
177
|
extra?: Record<string, unknown>;
|
|
248
178
|
}
|
|
249
|
-
export interface SessionAnswerPayload {
|
|
250
|
-
session_id: string;
|
|
251
|
-
offer_event_id: string;
|
|
252
|
-
description: SessionDescription;
|
|
253
|
-
accepted_media?: SessionMediaKind[];
|
|
254
|
-
transfers?: SessionDataTransfer[];
|
|
255
|
-
extra?: Record<string, unknown>;
|
|
256
|
-
}
|
|
257
|
-
export interface SessionCandidatePayload {
|
|
258
|
-
session_id: string;
|
|
259
|
-
candidate?: SessionIceCandidate;
|
|
260
|
-
target?: AgentId;
|
|
261
|
-
end_of_candidates?: boolean;
|
|
262
|
-
extra?: Record<string, unknown>;
|
|
263
|
-
}
|
|
264
|
-
export interface SessionClosePayload {
|
|
265
|
-
session_id: string;
|
|
266
|
-
reason?: string;
|
|
267
|
-
references?: string[];
|
|
268
|
-
}
|
|
269
179
|
export interface ServerRecord<P = unknown> {
|
|
270
180
|
room_id: string;
|
|
271
181
|
seq: number;
|
|
@@ -290,16 +200,10 @@ export interface DiscourseProtocolDiscovery {
|
|
|
290
200
|
protocol: string;
|
|
291
201
|
host: string;
|
|
292
202
|
features?: string[];
|
|
203
|
+
registered_packs?: string[];
|
|
293
204
|
profile?: ProfileResolverMetadata;
|
|
294
205
|
endpoints?: Record<string, string>;
|
|
295
206
|
}
|
|
296
|
-
export interface ArtifactManifest {
|
|
297
|
-
artifact_id: string;
|
|
298
|
-
type: string;
|
|
299
|
-
format: string;
|
|
300
|
-
uri: string;
|
|
301
|
-
content_digest?: string;
|
|
302
|
-
}
|
|
303
207
|
export interface ArchiveManifest {
|
|
304
208
|
protocol: string;
|
|
305
209
|
type: "room.archive";
|
|
@@ -313,46 +217,80 @@ export interface ArchiveManifest {
|
|
|
313
217
|
last_hash: string;
|
|
314
218
|
events_sha3_256: string;
|
|
315
219
|
archive_root: string;
|
|
316
|
-
map_snapshot?: {
|
|
317
|
-
event_id: string;
|
|
318
|
-
digest: string;
|
|
319
|
-
};
|
|
320
|
-
artifacts?: ArtifactManifest[];
|
|
321
|
-
discourse_trace_quality_score?: number;
|
|
322
220
|
formats?: Record<string, string>;
|
|
221
|
+
extra?: Record<string, unknown>;
|
|
323
222
|
}
|
|
223
|
+
/** Permission inputs for one actor in one room. */
|
|
324
224
|
export interface PermissionContext {
|
|
325
225
|
role?: Role;
|
|
326
226
|
isCreator?: boolean;
|
|
327
227
|
joinRequestApproved?: boolean;
|
|
328
|
-
moderatorAuthorized?: boolean;
|
|
329
|
-
expertPolicyAllowed?: boolean;
|
|
330
|
-
participantPolicyAllowed?: boolean;
|
|
331
|
-
observerSteeringAllowed?: boolean;
|
|
332
|
-
observerPollVoteAllowed?: boolean;
|
|
333
|
-
}
|
|
334
|
-
export interface StateWriteOptions {
|
|
335
|
-
postEndReactionAllowed?: boolean;
|
|
336
228
|
}
|
|
337
229
|
export declare function roomCreateEvent(actor: AgentId, createdAt: number, nonce: number, payload: RoomCreatePayload): Event<RoomCreatePayload>;
|
|
230
|
+
export declare function typeDefineEvent(actor: AgentId, createdAt: number, nonce: number, roomId: string, declaration: TypeDeclaration): Event<TypeDeclaration>;
|
|
338
231
|
export declare function discourseEvent<P>(type: string, actor: AgentId, createdAt: number, nonce: number, roomId: string, payload: P): Event<P>;
|
|
232
|
+
export declare function isBuiltinEventType(type: string): boolean;
|
|
233
|
+
export declare function eventRequiresRoomId(type: string): boolean;
|
|
339
234
|
export declare function validateDiscourseEnvelope(envelope: Envelope<unknown>): void;
|
|
340
235
|
export declare function validateRoomPath(envelope: Envelope<unknown>, pathRoomId: string): void;
|
|
341
|
-
|
|
236
|
+
/**
|
|
237
|
+
* Checks the shape of a custom event type name: lowercase dot-separated, at
|
|
238
|
+
* least two segments, not built-in, not under a reserved prefix.
|
|
239
|
+
*/
|
|
240
|
+
export declare function validateCustomEventTypeName(name: string): void;
|
|
241
|
+
export declare function isPackImport(declaration: TypeDeclaration): declaration is PackImport;
|
|
242
|
+
export declare function isTypeDef(declaration: TypeDeclaration): declaration is TypeDef;
|
|
243
|
+
export declare function validateTypeDef(def: TypeDef): void;
|
|
244
|
+
export declare function validatePackImport(declaration: PackImport): void;
|
|
245
|
+
export declare function validateTypeDeclaration(declaration: TypeDeclaration): void;
|
|
342
246
|
export declare function validateRoomCreatePayload(payload: RoomCreatePayload): void;
|
|
343
|
-
export declare function
|
|
344
|
-
|
|
345
|
-
export declare
|
|
346
|
-
|
|
347
|
-
|
|
247
|
+
export declare function validateMessageCreatePayload(payload: MessageCreatePayload): void;
|
|
248
|
+
/** The effective set of type definitions active in a room. */
|
|
249
|
+
export declare class TypeRegistry {
|
|
250
|
+
private readonly types;
|
|
251
|
+
/**
|
|
252
|
+
* Materializes a registry from declarations, resolving pack imports from
|
|
253
|
+
* `packs`, keyed by registered pack id or external pack URI.
|
|
254
|
+
*/
|
|
255
|
+
static fromDeclarations(declarations: TypeDeclaration[], packs?: Record<string, Pack>): TypeRegistry;
|
|
256
|
+
/**
|
|
257
|
+
* Applies one declaration: an inline definition or a pack import.
|
|
258
|
+
* Redefining an existing type replaces it; the latest definition wins.
|
|
259
|
+
*/
|
|
260
|
+
apply(declaration: TypeDeclaration, packs?: Record<string, Pack>): void;
|
|
261
|
+
define(def: TypeDef): void;
|
|
262
|
+
private import;
|
|
263
|
+
get(type: string): TypeDef | undefined;
|
|
264
|
+
has(type: string): boolean;
|
|
265
|
+
get size(): number;
|
|
266
|
+
definitions(): TypeDef[];
|
|
267
|
+
/** Validates a custom event payload against the type's schema and status. */
|
|
268
|
+
validatePayload(type: string, payload: unknown): void;
|
|
269
|
+
}
|
|
270
|
+
/**
|
|
271
|
+
* Validates an event payload: built-in payloads are accepted as-is (use the
|
|
272
|
+
* typed validators for them); custom payloads must satisfy the registry.
|
|
273
|
+
*/
|
|
274
|
+
export declare function validateEventAgainstRegistry(type: string, payload: unknown, registry: TypeRegistry): void;
|
|
275
|
+
/**
|
|
276
|
+
* Verifies a `<algorithm>:<base64url-digest>` content digest over raw bytes.
|
|
277
|
+
* Supports `sha256` and `sha3-256`.
|
|
278
|
+
*/
|
|
279
|
+
export declare function verifyPackDigest(bytes: Uint8Array, digest: string): void;
|
|
348
280
|
export declare function serverRecordHashPayload(roomId: string, seq: number, preHash: string | null | undefined, envelopeHash: string, receivedAt: number): ServerRecordHashPayload;
|
|
349
281
|
export declare function serverRecordHash(roomId: string, seq: number, preHash: string | null | undefined, envelopeHash: string, receivedAt: number): string;
|
|
350
282
|
export declare function buildServerRecord<P>(roomId: string, seq: number, preHash: string | null | undefined, receivedAt: number, envelope: Envelope<P>): ServerRecord<P>;
|
|
351
283
|
export declare function verifyServerRecord(record: ServerRecord): void;
|
|
352
284
|
export declare function verifyServerRecordChain(records: ServerRecord[]): void;
|
|
353
285
|
export declare function archiveEventsDigest(records: ServerRecord[]): string;
|
|
354
|
-
|
|
355
|
-
export declare function
|
|
356
|
-
|
|
357
|
-
|
|
286
|
+
/** Default sender roles for each kind. The creator passes every role check. */
|
|
287
|
+
export declare function defaultKindRoles(kind: TypeKind): readonly Role[];
|
|
288
|
+
/**
|
|
289
|
+
* Role check for one event type, using kind defaults and per-type overrides
|
|
290
|
+
* from the room's type registry. State checks are separate.
|
|
291
|
+
*/
|
|
292
|
+
export declare function canSubmitEvent(type: string, context: PermissionContext, registry?: TypeRegistry): boolean;
|
|
293
|
+
export declare function canWriteInState(type: string, state: RoomState): boolean;
|
|
294
|
+
export declare function canAcceptRoomWrite(type: string, state: RoomState, permission: PermissionContext, registry?: TypeRegistry): boolean;
|
|
295
|
+
export declare function validateRoomWrite(type: string, state: RoomState, permission: PermissionContext, registry?: TypeRegistry): void;
|
|
358
296
|
//# sourceMappingURL=discourse.d.ts.map
|
package/dist/discourse.d.ts.map
CHANGED
|
@@ -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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"}
|
package/dist/discourse.js
CHANGED
|
@@ -1,8 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Agent Discourse Protocol 1.0: kernel types, the room type system, and
|
|
3
|
+
* verification helpers.
|
|
4
|
+
*
|
|
5
|
+
* The protocol defines nine built-in event types. Every other event type is
|
|
6
|
+
* declared per room as a schema-validated type definition, either inline or
|
|
7
|
+
* imported from a type pack. Hosts validate structure and permissions; they
|
|
8
|
+
* never need to understand application semantics.
|
|
9
|
+
*/
|
|
10
|
+
import { Validator } from "@cfworker/json-schema";
|
|
1
11
|
import canonicalize from "canonicalize";
|
|
2
12
|
import { createHash } from "node:crypto";
|
|
3
13
|
import { protocolError } from "./errors.js";
|
|
4
14
|
import { createEvent, verifyEnvelope, withRoomId, } from "./identity.js";
|
|
5
15
|
export const DISCOURSE_PROTOCOL = "agent-discourse/1.0";
|
|
16
|
+
/** The nine built-in event types. All other types are room-defined. */
|
|
6
17
|
export const eventType = {
|
|
7
18
|
ROOM_CREATE: "room.create",
|
|
8
19
|
ROOM_JOIN: "room.join",
|
|
@@ -11,147 +22,309 @@ export const eventType = {
|
|
|
11
22
|
ROOM_MEMBER_ROLE_UPDATE: "room.member.role.update",
|
|
12
23
|
ROOM_CLOSE: "room.close",
|
|
13
24
|
ROOM_CANCEL: "room.cancel",
|
|
25
|
+
TYPE_DEFINE: "type.define",
|
|
14
26
|
MESSAGE_CREATE: "message.create",
|
|
15
|
-
REACTION_CREATE: "reaction.create",
|
|
16
|
-
MESSAGE_PROPOSAL_CREATE: "message.proposal.create",
|
|
17
|
-
MESSAGE_POLL_CREATE: "message.poll.create",
|
|
18
|
-
MESSAGE_POLL_VOTE: "message.poll.vote",
|
|
19
|
-
MESSAGE_RESOLUTION_CREATE: "message.resolution.create",
|
|
20
|
-
SOURCE_ADD: "source.add",
|
|
21
|
-
TURN_UPDATE: "turn.update",
|
|
22
|
-
QUESTION_CREATE: "question.create",
|
|
23
|
-
ROOM_STEER: "room.steer",
|
|
24
|
-
MAP_UPDATE: "map.update",
|
|
25
|
-
ARTIFACT_CREATE: "artifact.create",
|
|
26
|
-
SESSION_OFFER: "session.offer",
|
|
27
|
-
SESSION_ANSWER: "session.answer",
|
|
28
|
-
SESSION_CANDIDATE: "session.candidate",
|
|
29
|
-
SESSION_CLOSE: "session.close",
|
|
30
27
|
};
|
|
31
|
-
const
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
"
|
|
37
|
-
|
|
28
|
+
export const BUILTIN_EVENT_TYPES = Object.values(eventType);
|
|
29
|
+
/** Custom event types must not use these prefixes. */
|
|
30
|
+
export const RESERVED_TYPE_PREFIXES = ["room.", "type."];
|
|
31
|
+
/** Registered type packs defined by the specification in `1.0.packs.json`. */
|
|
32
|
+
export const packId = {
|
|
33
|
+
REACTIONS: "adp:reactions/1.0",
|
|
34
|
+
DELIBERATION: "adp:deliberation/1.0",
|
|
35
|
+
CURATION: "adp:curation/1.0",
|
|
36
|
+
MODERATION: "adp:moderation/1.0",
|
|
37
|
+
REALTIME: "adp:realtime/1.0",
|
|
38
|
+
};
|
|
39
|
+
export const REGISTERED_PACK_IDS = Object.values(packId);
|
|
40
|
+
/** Indexes the packs of a document by pack id for registry materialization. */
|
|
41
|
+
export function packMap(document) {
|
|
42
|
+
const packs = {};
|
|
43
|
+
for (const pack of document.packs)
|
|
44
|
+
packs[pack.id] = pack;
|
|
45
|
+
return packs;
|
|
46
|
+
}
|
|
38
47
|
export function roomCreateEvent(actor, createdAt, nonce, payload) {
|
|
39
48
|
return createEvent(DISCOURSE_PROTOCOL, eventType.ROOM_CREATE, actor, createdAt, nonce, payload);
|
|
40
49
|
}
|
|
50
|
+
export function typeDefineEvent(actor, createdAt, nonce, roomId, declaration) {
|
|
51
|
+
return withRoomId(createEvent(DISCOURSE_PROTOCOL, eventType.TYPE_DEFINE, actor, createdAt, nonce, declaration), roomId);
|
|
52
|
+
}
|
|
41
53
|
export function discourseEvent(type, actor, createdAt, nonce, roomId, payload) {
|
|
42
54
|
return withRoomId(createEvent(DISCOURSE_PROTOCOL, type, actor, createdAt, nonce, payload), roomId);
|
|
43
55
|
}
|
|
56
|
+
export function isBuiltinEventType(type) {
|
|
57
|
+
return BUILTIN_EVENT_TYPES.includes(type);
|
|
58
|
+
}
|
|
59
|
+
export function eventRequiresRoomId(type) {
|
|
60
|
+
return type !== eventType.ROOM_CREATE;
|
|
61
|
+
}
|
|
44
62
|
export function validateDiscourseEnvelope(envelope) {
|
|
45
63
|
verifyEnvelope(envelope);
|
|
46
64
|
const protocol = envelope.event.protocol;
|
|
47
65
|
if (protocol !== DISCOURSE_PROTOCOL) {
|
|
48
66
|
throw protocolError("invalid_event_protocol", `expected ${DISCOURSE_PROTOCOL}, got ${protocol}`);
|
|
49
67
|
}
|
|
50
|
-
if (
|
|
51
|
-
envelope.event.room_id
|
|
68
|
+
if (envelope.event.type === eventType.ROOM_CREATE) {
|
|
69
|
+
if (envelope.event.room_id !== undefined) {
|
|
70
|
+
throw protocolError("invalid_event", "room.create must not include room_id");
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
else if (envelope.event.room_id === undefined) {
|
|
52
74
|
throw protocolError("missing_room_id", "event requires a room_id");
|
|
53
75
|
}
|
|
54
76
|
}
|
|
55
77
|
export function validateRoomPath(envelope, pathRoomId) {
|
|
56
78
|
const actual = envelope.event.room_id;
|
|
57
|
-
if (
|
|
79
|
+
if (envelope.event.type === eventType.ROOM_CREATE) {
|
|
80
|
+
if (actual !== undefined) {
|
|
81
|
+
throw protocolError("invalid_event", "room.create must not include room_id");
|
|
82
|
+
}
|
|
58
83
|
return;
|
|
84
|
+
}
|
|
59
85
|
if (actual === undefined)
|
|
60
86
|
throw protocolError("missing_room_id", "event requires a room_id");
|
|
61
87
|
if (actual !== pathRoomId)
|
|
62
88
|
throw protocolError("room_id_mismatch", `expected ${pathRoomId}, got ${actual}`);
|
|
63
89
|
}
|
|
64
|
-
|
|
65
|
-
|
|
90
|
+
/**
|
|
91
|
+
* Checks the shape of a custom event type name: lowercase dot-separated, at
|
|
92
|
+
* least two segments, not built-in, not under a reserved prefix.
|
|
93
|
+
*/
|
|
94
|
+
export function validateCustomEventTypeName(name) {
|
|
95
|
+
const segments = name.split(".");
|
|
96
|
+
const validShape = segments.length >= 2 &&
|
|
97
|
+
segments.every((segment) => /^[a-z0-9][a-z0-9_-]*$/.test(segment));
|
|
98
|
+
if (!validShape) {
|
|
99
|
+
throw protocolError("invalid_event", `invalid event type name: ${name}`);
|
|
100
|
+
}
|
|
101
|
+
if (isBuiltinEventType(name)) {
|
|
102
|
+
throw protocolError("invalid_event", `${name} is a built-in event type`);
|
|
103
|
+
}
|
|
104
|
+
if (RESERVED_TYPE_PREFIXES.some((prefix) => name.startsWith(prefix))) {
|
|
105
|
+
throw protocolError("invalid_event", `${name} uses a reserved type prefix`);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
export function isPackImport(declaration) {
|
|
109
|
+
return (typeof declaration === "object" &&
|
|
110
|
+
declaration !== null &&
|
|
111
|
+
("use" in declaration || "pack" in declaration || "digest" in declaration));
|
|
112
|
+
}
|
|
113
|
+
export function isTypeDef(declaration) {
|
|
114
|
+
return (typeof declaration === "object" &&
|
|
115
|
+
declaration !== null &&
|
|
116
|
+
!isPackImport(declaration) &&
|
|
117
|
+
"type" in declaration);
|
|
118
|
+
}
|
|
119
|
+
export function validateTypeDef(def) {
|
|
120
|
+
validateCustomEventTypeName(def.type);
|
|
121
|
+
if (!["message", "signal", "control"].includes(def.kind)) {
|
|
122
|
+
throw protocolError("invalid_event", `invalid type kind: ${def.kind}`);
|
|
123
|
+
}
|
|
124
|
+
if (typeof def.title !== "string" || def.title.trim() === "") {
|
|
125
|
+
throw protocolError("invalid_event", "type definition title must not be empty");
|
|
126
|
+
}
|
|
127
|
+
if (typeof def.schema !== "object" ||
|
|
128
|
+
def.schema === null ||
|
|
129
|
+
Array.isArray(def.schema)) {
|
|
130
|
+
throw protocolError("invalid_event", "type definition schema must be a JSON Schema object");
|
|
131
|
+
}
|
|
132
|
+
compileSchema(def.schema);
|
|
133
|
+
if (def.roles !== undefined && def.roles.length === 0) {
|
|
134
|
+
throw protocolError("invalid_event", "type definition roles must not be empty");
|
|
135
|
+
}
|
|
136
|
+
for (const hint of [def.rate_hint, def.max_payload_hint]) {
|
|
137
|
+
if (hint !== undefined && (!Number.isInteger(hint) || hint < 1)) {
|
|
138
|
+
throw protocolError("invalid_event", "type definition hints must be positive integers");
|
|
139
|
+
}
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
export function validatePackImport(declaration) {
|
|
143
|
+
const hasUse = declaration.use !== undefined;
|
|
144
|
+
const hasExternal = declaration.pack !== undefined && declaration.digest !== undefined;
|
|
145
|
+
if (hasUse) {
|
|
146
|
+
if (declaration.pack !== undefined || declaration.digest !== undefined) {
|
|
147
|
+
throw protocolError("invalid_event", "pack import requires either use, or pack with digest");
|
|
148
|
+
}
|
|
149
|
+
if (!isRegisteredPackId(declaration.use)) {
|
|
150
|
+
throw protocolError("invalid_event", `invalid registered pack id: ${declaration.use}`);
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
else if (hasExternal) {
|
|
154
|
+
if (declaration.digest.trim() === "") {
|
|
155
|
+
throw protocolError("invalid_event", "external pack digest must not be empty");
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
else {
|
|
159
|
+
throw protocolError("invalid_event", "pack import requires either use, or pack with digest");
|
|
160
|
+
}
|
|
161
|
+
if (declaration.types !== undefined && declaration.types.length === 0) {
|
|
162
|
+
throw protocolError("invalid_event", "pack import types subset must not be empty");
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
export function validateTypeDeclaration(declaration) {
|
|
166
|
+
if (isPackImport(declaration)) {
|
|
167
|
+
validatePackImport(declaration);
|
|
168
|
+
}
|
|
169
|
+
else if (isTypeDef(declaration)) {
|
|
170
|
+
validateTypeDef(declaration);
|
|
171
|
+
}
|
|
172
|
+
else {
|
|
173
|
+
throw protocolError("invalid_event", "type declaration must be an inline definition or a pack import");
|
|
174
|
+
}
|
|
175
|
+
}
|
|
176
|
+
function isRegisteredPackId(id) {
|
|
177
|
+
return /^adp:[a-z0-9-]+\/[0-9]+\.[0-9]+$/.test(id);
|
|
66
178
|
}
|
|
67
179
|
export function validateRoomCreatePayload(payload) {
|
|
68
180
|
if (payload.topic.trim() === "") {
|
|
69
|
-
throw protocolError("
|
|
181
|
+
throw protocolError("invalid_event", "room topic must not be empty");
|
|
70
182
|
}
|
|
71
183
|
if (payload.start_time >= payload.end_time) {
|
|
72
|
-
throw protocolError("
|
|
184
|
+
throw protocolError("invalid_event", "start_time must be before end_time");
|
|
185
|
+
}
|
|
186
|
+
const maxSpeakers = payload.policy?.max_speakers;
|
|
187
|
+
if (maxSpeakers !== undefined &&
|
|
188
|
+
(!Number.isInteger(maxSpeakers) || maxSpeakers < 1)) {
|
|
189
|
+
throw protocolError("invalid_event", "max_speakers must be a positive integer");
|
|
73
190
|
}
|
|
74
|
-
const
|
|
75
|
-
|
|
76
|
-
(!Number.isInteger(maxParticipants) || maxParticipants < 1)) {
|
|
77
|
-
throw protocolError("invalid_room", "max_participants must be a positive integer");
|
|
191
|
+
for (const declaration of payload.types ?? []) {
|
|
192
|
+
validateTypeDeclaration(declaration);
|
|
78
193
|
}
|
|
79
194
|
}
|
|
80
|
-
export function
|
|
81
|
-
if (payload.
|
|
82
|
-
throw protocolError("
|
|
195
|
+
export function validateMessageCreatePayload(payload) {
|
|
196
|
+
if (payload.content_type.trim() === "") {
|
|
197
|
+
throw protocolError("invalid_event", "content_type must not be empty");
|
|
83
198
|
}
|
|
84
|
-
|
|
85
|
-
|
|
199
|
+
}
|
|
200
|
+
/** The effective set of type definitions active in a room. */
|
|
201
|
+
export class TypeRegistry {
|
|
202
|
+
types = new Map();
|
|
203
|
+
/**
|
|
204
|
+
* Materializes a registry from declarations, resolving pack imports from
|
|
205
|
+
* `packs`, keyed by registered pack id or external pack URI.
|
|
206
|
+
*/
|
|
207
|
+
static fromDeclarations(declarations, packs = {}) {
|
|
208
|
+
const registry = new TypeRegistry();
|
|
209
|
+
for (const declaration of declarations) {
|
|
210
|
+
registry.apply(declaration, packs);
|
|
211
|
+
}
|
|
212
|
+
return registry;
|
|
86
213
|
}
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
214
|
+
/**
|
|
215
|
+
* Applies one declaration: an inline definition or a pack import.
|
|
216
|
+
* Redefining an existing type replaces it; the latest definition wins.
|
|
217
|
+
*/
|
|
218
|
+
apply(declaration, packs = {}) {
|
|
219
|
+
if (isPackImport(declaration)) {
|
|
220
|
+
this.import(declaration, packs);
|
|
91
221
|
}
|
|
92
|
-
if (
|
|
93
|
-
|
|
222
|
+
else if (isTypeDef(declaration)) {
|
|
223
|
+
this.define(declaration);
|
|
224
|
+
}
|
|
225
|
+
else {
|
|
226
|
+
throw protocolError("invalid_event", "type declaration must be an inline definition or a pack import");
|
|
94
227
|
}
|
|
95
|
-
optionIds.add(option.id);
|
|
96
228
|
}
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
throw protocolError("invalid_poll", "invalid poll choice limits");
|
|
229
|
+
define(def) {
|
|
230
|
+
validateTypeDef(def);
|
|
231
|
+
this.types.set(def.type, def);
|
|
101
232
|
}
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
233
|
+
import(declaration, packs) {
|
|
234
|
+
validatePackImport(declaration);
|
|
235
|
+
const reference = declaration.use ?? declaration.pack;
|
|
236
|
+
const pack = packs[reference];
|
|
237
|
+
if (!pack) {
|
|
238
|
+
throw protocolError("pack_unavailable", `pack not available: ${reference}`);
|
|
239
|
+
}
|
|
240
|
+
const available = new Set(pack.types.map((def) => def.type));
|
|
241
|
+
for (const name of declaration.types ?? []) {
|
|
242
|
+
if (!available.has(name)) {
|
|
243
|
+
throw protocolError("pack_unavailable", `type ${name} is not in pack ${reference}`);
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
const subset = declaration.types !== undefined ? new Set(declaration.types) : undefined;
|
|
247
|
+
for (const name of Object.keys(declaration.overrides ?? {})) {
|
|
248
|
+
const imported = subset ? subset.has(name) : available.has(name);
|
|
249
|
+
if (!imported) {
|
|
250
|
+
throw protocolError("invalid_event", `override target ${name} is not imported from pack ${reference}`);
|
|
251
|
+
}
|
|
252
|
+
}
|
|
253
|
+
for (const def of pack.types) {
|
|
254
|
+
if (subset && !subset.has(def.type))
|
|
255
|
+
continue;
|
|
256
|
+
const override = declaration.overrides?.[def.type];
|
|
257
|
+
this.define(override ? { ...def, ...override } : { ...def });
|
|
258
|
+
}
|
|
113
259
|
}
|
|
114
|
-
|
|
115
|
-
|
|
260
|
+
get(type) {
|
|
261
|
+
return this.types.get(type);
|
|
116
262
|
}
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
throw protocolError("invalid_poll_vote", "unknown poll option");
|
|
120
|
-
}
|
|
263
|
+
has(type) {
|
|
264
|
+
return this.types.has(type);
|
|
121
265
|
}
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
validateSessionId(payload.session_id);
|
|
125
|
-
if (payload.session_type !== "webrtc") {
|
|
126
|
-
throw protocolError("invalid_session", "session_type must be webrtc");
|
|
266
|
+
get size() {
|
|
267
|
+
return this.types.size;
|
|
127
268
|
}
|
|
128
|
-
|
|
129
|
-
|
|
269
|
+
definitions() {
|
|
270
|
+
return [...this.types.values()];
|
|
130
271
|
}
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
272
|
+
/** Validates a custom event payload against the type's schema and status. */
|
|
273
|
+
validatePayload(type, payload) {
|
|
274
|
+
const def = this.types.get(type);
|
|
275
|
+
if (!def) {
|
|
276
|
+
throw protocolError("type_not_defined", type);
|
|
277
|
+
}
|
|
278
|
+
if ((def.status ?? "active") === "disabled") {
|
|
279
|
+
throw protocolError("type_disabled", type);
|
|
280
|
+
}
|
|
281
|
+
const validator = compileSchema(def.schema);
|
|
282
|
+
const result = validator.validate(payload);
|
|
283
|
+
if (!result.valid) {
|
|
284
|
+
const detail = result.errors
|
|
285
|
+
.slice(0, 3)
|
|
286
|
+
.map((error) => error.error)
|
|
287
|
+
.join("; ");
|
|
288
|
+
throw protocolError("payload_schema_violation", `${type}: ${detail}`);
|
|
134
289
|
}
|
|
135
290
|
}
|
|
136
|
-
validateSessionDescription(payload.description, "offer");
|
|
137
|
-
validateSessionTransfers(payload.transfers ?? []);
|
|
138
291
|
}
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
292
|
+
/**
|
|
293
|
+
* Validates an event payload: built-in payloads are accepted as-is (use the
|
|
294
|
+
* typed validators for them); custom payloads must satisfy the registry.
|
|
295
|
+
*/
|
|
296
|
+
export function validateEventAgainstRegistry(type, payload, registry) {
|
|
297
|
+
if (isBuiltinEventType(type))
|
|
298
|
+
return;
|
|
299
|
+
registry.validatePayload(type, payload);
|
|
300
|
+
}
|
|
301
|
+
function compileSchema(schema) {
|
|
302
|
+
try {
|
|
303
|
+
return new Validator(schema, "2020-12", false);
|
|
304
|
+
}
|
|
305
|
+
catch (error) {
|
|
306
|
+
throw protocolError("invalid_event", `invalid type schema: ${error}`);
|
|
143
307
|
}
|
|
144
|
-
validateSessionDescription(payload.description, "answer");
|
|
145
|
-
validateSessionTransfers(payload.transfers ?? []);
|
|
146
308
|
}
|
|
147
|
-
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
|
|
153
|
-
|
|
154
|
-
throw protocolError("
|
|
309
|
+
/**
|
|
310
|
+
* Verifies a `<algorithm>:<base64url-digest>` content digest over raw bytes.
|
|
311
|
+
* Supports `sha256` and `sha3-256`.
|
|
312
|
+
*/
|
|
313
|
+
export function verifyPackDigest(bytes, digest) {
|
|
314
|
+
const separator = digest.indexOf(":");
|
|
315
|
+
if (separator < 0) {
|
|
316
|
+
throw protocolError("pack_unavailable", `invalid digest format: ${digest}`);
|
|
317
|
+
}
|
|
318
|
+
const algorithm = digest.slice(0, separator);
|
|
319
|
+
const expected = digest.slice(separator + 1);
|
|
320
|
+
if (algorithm !== "sha256" && algorithm !== "sha3-256") {
|
|
321
|
+
throw protocolError("pack_unavailable", `unsupported digest algorithm: ${algorithm}`);
|
|
322
|
+
}
|
|
323
|
+
const actual = createHash(algorithm)
|
|
324
|
+
.update(bytes)
|
|
325
|
+
.digest("base64url");
|
|
326
|
+
if (actual !== expected) {
|
|
327
|
+
throw protocolError("pack_unavailable", "pack digest mismatch");
|
|
155
328
|
}
|
|
156
329
|
}
|
|
157
330
|
export function serverRecordHashPayload(roomId, seq, preHash, envelopeHash, receivedAt) {
|
|
@@ -207,149 +380,76 @@ export function verifyServerRecordChain(records) {
|
|
|
207
380
|
export function archiveEventsDigest(records) {
|
|
208
381
|
return hashCanonicalJson(records);
|
|
209
382
|
}
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
|
|
213
|
-
|
|
214
|
-
|
|
215
|
-
|
|
216
|
-
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
383
|
+
/** Default sender roles for each kind. The creator passes every role check. */
|
|
384
|
+
export function defaultKindRoles(kind) {
|
|
385
|
+
switch (kind) {
|
|
386
|
+
case "message":
|
|
387
|
+
return ["moderator", "speaker"];
|
|
388
|
+
case "signal":
|
|
389
|
+
return ["moderator", "speaker", "observer"];
|
|
390
|
+
case "control":
|
|
391
|
+
return ["moderator"];
|
|
392
|
+
}
|
|
393
|
+
}
|
|
394
|
+
/**
|
|
395
|
+
* Role check for one event type, using kind defaults and per-type overrides
|
|
396
|
+
* from the room's type registry. State checks are separate.
|
|
397
|
+
*/
|
|
398
|
+
export function canSubmitEvent(type, context, registry = new TypeRegistry()) {
|
|
399
|
+
switch (type) {
|
|
400
|
+
case eventType.ROOM_CREATE:
|
|
401
|
+
return true;
|
|
402
|
+
case eventType.ROOM_JOIN:
|
|
403
|
+
return Boolean(context.joinRequestApproved);
|
|
404
|
+
case eventType.ROOM_LEAVE:
|
|
405
|
+
return Boolean(context.isCreator) || context.role !== undefined;
|
|
406
|
+
case eventType.ROOM_JOIN_REVIEW:
|
|
407
|
+
case eventType.ROOM_MEMBER_ROLE_UPDATE:
|
|
408
|
+
case eventType.ROOM_CLOSE:
|
|
409
|
+
case eventType.ROOM_CANCEL:
|
|
410
|
+
case eventType.TYPE_DEFINE:
|
|
411
|
+
return Boolean(context.isCreator) || context.role === "moderator";
|
|
412
|
+
case eventType.MESSAGE_CREATE:
|
|
413
|
+
return (Boolean(context.isCreator) ||
|
|
414
|
+
context.role === "moderator" ||
|
|
415
|
+
context.role === "speaker");
|
|
416
|
+
default: {
|
|
417
|
+
const def = registry.get(type);
|
|
418
|
+
if (!def || (def.status ?? "active") === "disabled")
|
|
419
|
+
return false;
|
|
420
|
+
if (context.isCreator)
|
|
421
|
+
return true;
|
|
422
|
+
if (context.role === undefined)
|
|
423
|
+
return false;
|
|
424
|
+
const roles = def.roles ?? defaultKindRoles(def.kind);
|
|
425
|
+
return roles.includes(context.role);
|
|
426
|
+
}
|
|
228
427
|
}
|
|
229
428
|
}
|
|
230
|
-
export function canWriteInState(type, state
|
|
429
|
+
export function canWriteInState(type, state) {
|
|
231
430
|
switch (state) {
|
|
232
431
|
case "scheduled":
|
|
233
|
-
return
|
|
234
|
-
eventType.
|
|
235
|
-
eventType.
|
|
236
|
-
eventType.
|
|
237
|
-
|
|
432
|
+
return (type === eventType.ROOM_JOIN ||
|
|
433
|
+
type === eventType.ROOM_JOIN_REVIEW ||
|
|
434
|
+
type === eventType.ROOM_MEMBER_ROLE_UPDATE ||
|
|
435
|
+
type === eventType.ROOM_LEAVE ||
|
|
436
|
+
type === eventType.TYPE_DEFINE ||
|
|
437
|
+
type === eventType.ROOM_CANCEL);
|
|
238
438
|
case "active":
|
|
239
439
|
return type !== eventType.ROOM_CREATE && type !== eventType.ROOM_CANCEL;
|
|
240
440
|
case "ended":
|
|
241
|
-
return (Boolean(options.postEndReactionAllowed) &&
|
|
242
|
-
type === eventType.REACTION_CREATE);
|
|
243
441
|
case "cancelled":
|
|
244
442
|
return false;
|
|
245
443
|
}
|
|
246
444
|
}
|
|
247
|
-
export function canAcceptRoomWrite(type, state, permission,
|
|
248
|
-
return
|
|
445
|
+
export function canAcceptRoomWrite(type, state, permission, registry = new TypeRegistry()) {
|
|
446
|
+
return canSubmitEvent(type, permission, registry) && canWriteInState(type, state);
|
|
249
447
|
}
|
|
250
|
-
export function validateRoomWrite(type, state, permission,
|
|
251
|
-
if (!canAcceptRoomWrite(type, state, permission,
|
|
448
|
+
export function validateRoomWrite(type, state, permission, registry = new TypeRegistry()) {
|
|
449
|
+
if (!canAcceptRoomWrite(type, state, permission, registry)) {
|
|
252
450
|
throw protocolError("permission_denied", "actor lacks permission or state is not writable");
|
|
253
451
|
}
|
|
254
452
|
}
|
|
255
|
-
function moderatorCanSubmit(type, moderatorAuthorized) {
|
|
256
|
-
return (eventTypeIn(type, [
|
|
257
|
-
eventType.ROOM_JOIN_REVIEW,
|
|
258
|
-
eventType.ROOM_CLOSE,
|
|
259
|
-
eventType.MESSAGE_CREATE,
|
|
260
|
-
eventType.SOURCE_ADD,
|
|
261
|
-
eventType.TURN_UPDATE,
|
|
262
|
-
eventType.QUESTION_CREATE,
|
|
263
|
-
eventType.ROOM_STEER,
|
|
264
|
-
eventType.MAP_UPDATE,
|
|
265
|
-
eventType.ARTIFACT_CREATE,
|
|
266
|
-
eventType.SESSION_OFFER,
|
|
267
|
-
eventType.SESSION_ANSWER,
|
|
268
|
-
eventType.SESSION_CANDIDATE,
|
|
269
|
-
eventType.SESSION_CLOSE,
|
|
270
|
-
eventType.MESSAGE_PROPOSAL_CREATE,
|
|
271
|
-
eventType.MESSAGE_POLL_CREATE,
|
|
272
|
-
eventType.MESSAGE_POLL_VOTE,
|
|
273
|
-
eventType.MESSAGE_RESOLUTION_CREATE,
|
|
274
|
-
eventType.REACTION_CREATE,
|
|
275
|
-
eventType.ROOM_LEAVE,
|
|
276
|
-
]) ||
|
|
277
|
-
(moderatorAuthorized &&
|
|
278
|
-
eventTypeIn(type, [
|
|
279
|
-
eventType.ROOM_MEMBER_ROLE_UPDATE,
|
|
280
|
-
eventType.ROOM_CANCEL,
|
|
281
|
-
])));
|
|
282
|
-
}
|
|
283
|
-
function speakerCanSubmit(type, policyAllowed) {
|
|
284
|
-
return (eventTypeIn(type, [
|
|
285
|
-
eventType.MESSAGE_CREATE,
|
|
286
|
-
eventType.SOURCE_ADD,
|
|
287
|
-
eventType.ROOM_STEER,
|
|
288
|
-
eventType.MESSAGE_PROPOSAL_CREATE,
|
|
289
|
-
eventType.MESSAGE_POLL_CREATE,
|
|
290
|
-
eventType.MESSAGE_POLL_VOTE,
|
|
291
|
-
eventType.SESSION_OFFER,
|
|
292
|
-
eventType.SESSION_ANSWER,
|
|
293
|
-
eventType.SESSION_CANDIDATE,
|
|
294
|
-
eventType.SESSION_CLOSE,
|
|
295
|
-
eventType.REACTION_CREATE,
|
|
296
|
-
eventType.ROOM_LEAVE,
|
|
297
|
-
]) ||
|
|
298
|
-
(policyAllowed &&
|
|
299
|
-
eventTypeIn(type, [
|
|
300
|
-
eventType.QUESTION_CREATE,
|
|
301
|
-
eventType.MAP_UPDATE,
|
|
302
|
-
eventType.ARTIFACT_CREATE,
|
|
303
|
-
eventType.MESSAGE_RESOLUTION_CREATE,
|
|
304
|
-
])));
|
|
305
|
-
}
|
|
306
|
-
function observerCanSubmit(type, context) {
|
|
307
|
-
return (eventTypeIn(type, [eventType.REACTION_CREATE, eventType.ROOM_LEAVE]) ||
|
|
308
|
-
(Boolean(context.observerSteeringAllowed) &&
|
|
309
|
-
type === eventType.ROOM_STEER) ||
|
|
310
|
-
(Boolean(context.observerPollVoteAllowed) &&
|
|
311
|
-
type === eventType.MESSAGE_POLL_VOTE));
|
|
312
|
-
}
|
|
313
|
-
function isKnownEventType(type) {
|
|
314
|
-
return eventTypeIn(type, Object.values(eventType));
|
|
315
|
-
}
|
|
316
|
-
function eventTypeIn(type, values) {
|
|
317
|
-
return values.includes(type);
|
|
318
|
-
}
|
|
319
|
-
function validateSessionId(sessionId) {
|
|
320
|
-
if (sessionId.trim() === "") {
|
|
321
|
-
throw protocolError("invalid_session", "session_id is required");
|
|
322
|
-
}
|
|
323
|
-
}
|
|
324
|
-
function validateSessionDescription(description, expectedType) {
|
|
325
|
-
if (!description ||
|
|
326
|
-
typeof description.type !== "string" ||
|
|
327
|
-
typeof description.sdp !== "string") {
|
|
328
|
-
throw protocolError("invalid_session", "session description is required");
|
|
329
|
-
}
|
|
330
|
-
if (description.type !== expectedType) {
|
|
331
|
-
throw protocolError("invalid_session", `session description type must be ${expectedType}`);
|
|
332
|
-
}
|
|
333
|
-
if (description.sdp.trim() === "") {
|
|
334
|
-
throw protocolError("invalid_session", "session description sdp is required");
|
|
335
|
-
}
|
|
336
|
-
}
|
|
337
|
-
function validateSessionTransfers(transfers) {
|
|
338
|
-
if (!Array.isArray(transfers)) {
|
|
339
|
-
throw protocolError("invalid_session", "transfers must be an array");
|
|
340
|
-
}
|
|
341
|
-
for (const transfer of transfers) {
|
|
342
|
-
if (!transfer ||
|
|
343
|
-
typeof transfer.transfer_id !== "string" ||
|
|
344
|
-
transfer.transfer_id.trim() === "") {
|
|
345
|
-
throw protocolError("invalid_session", "transfer_id is required");
|
|
346
|
-
}
|
|
347
|
-
if (transfer.size_bytes !== undefined &&
|
|
348
|
-
(!Number.isInteger(transfer.size_bytes) || transfer.size_bytes < 0)) {
|
|
349
|
-
throw protocolError("invalid_session", "size_bytes must be a non-negative integer");
|
|
350
|
-
}
|
|
351
|
-
}
|
|
352
|
-
}
|
|
353
453
|
function hashCanonicalJson(value) {
|
|
354
454
|
const canonical = canonicalize(value);
|
|
355
455
|
if (canonical === undefined) {
|
package/dist/discourse.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"discourse.js","sourceRoot":"","sources":["../src/discourse.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"discourse.js","sourceRoot":"","sources":["../src/discourse.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "agent-protocols",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"description": "TypeScript SDK for Agent Identity, Agent Profile, and Agent Discourse protocols",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"license": "MIT",
|
|
@@ -40,6 +40,7 @@
|
|
|
40
40
|
"test": "node --import tsx --test src/*.test.ts"
|
|
41
41
|
},
|
|
42
42
|
"dependencies": {
|
|
43
|
+
"@cfworker/json-schema": "^4.1.1",
|
|
43
44
|
"canonicalize": "^3.0.0",
|
|
44
45
|
"tweetnacl": "^1.0.3"
|
|
45
46
|
},
|