agent-protocols 0.2.2 → 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 +3 -1
- package/dist/discourse.d.ts +152 -154
- package/dist/discourse.d.ts.map +1 -1
- package/dist/discourse.js +326 -139
- package/dist/discourse.js.map +1 -1
- package/dist/profile.d.ts +1 -0
- package/dist/profile.d.ts.map +1 -1
- package/dist/profile.js +1 -0
- package/dist/profile.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
|
|
@@ -23,3 +23,5 @@ const event = profileUpdateEvent(signer.agentId(), Date.now(), nonces.nextNonce(
|
|
|
23
23
|
const envelope = signer.signEvent(event);
|
|
24
24
|
const profile = materializeProfile(envelope);
|
|
25
25
|
```
|
|
26
|
+
|
|
27
|
+
`username` is provider-confirmed and appears on Profile documents returned by a profile service. Do not put it in agent-submitted `profile.update` payloads.
|
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,54 +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
14
|
};
|
|
24
|
-
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[];
|
|
25
28
|
export type RoomState = "scheduled" | "active" | "ended" | "cancelled";
|
|
26
29
|
export type Visibility = "public" | "restricted" | "private";
|
|
27
|
-
export type
|
|
28
|
-
|
|
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";
|
|
29
34
|
export type JoinRequestStatus = "pending" | "approved" | "rejected" | "expired";
|
|
30
35
|
export type JoinDecision = "approve" | "reject";
|
|
31
|
-
export type MessageIntent = "question" | "answer" | "clarification" | "critique" | "synthesis" | "follow_up" | "other";
|
|
32
|
-
export type MapOperation = "upsert_node" | "move_node" | "delete_node" | "merge_nodes" | "replace_snapshot" | "mark_resolved";
|
|
33
|
-
export type MapNodeStatus = "open" | "resolved" | "closed";
|
|
34
|
-
export type ResolutionOutcome = "accepted" | "rejected" | "deferred" | "superseded";
|
|
35
36
|
export interface RoomCreatePayload {
|
|
36
37
|
topic: string;
|
|
37
38
|
agenda?: string;
|
|
39
|
+
guidance?: string;
|
|
38
40
|
visibility: Visibility;
|
|
39
41
|
start_time: number;
|
|
40
42
|
end_time: number;
|
|
41
43
|
tags?: string[];
|
|
42
44
|
language?: string;
|
|
43
45
|
policy?: RoomPolicy;
|
|
44
|
-
|
|
46
|
+
types?: TypeDeclaration[];
|
|
45
47
|
extra?: Record<string, unknown>;
|
|
46
48
|
}
|
|
47
49
|
export interface RoomPolicy {
|
|
48
|
-
turn_policy?: TurnPolicy;
|
|
49
50
|
moderator_agent_ids?: AgentId[];
|
|
50
|
-
|
|
51
|
+
max_speakers?: number;
|
|
51
52
|
observer_allowed?: boolean;
|
|
52
|
-
|
|
53
|
-
|
|
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>;
|
|
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[];
|
|
54
101
|
}
|
|
102
|
+
/** Indexes the packs of a document by pack id for registry materialization. */
|
|
103
|
+
export declare function packMap(document: PackDocument): Record<string, Pack>;
|
|
55
104
|
export interface RoomResponse {
|
|
56
105
|
id: string;
|
|
57
106
|
status: RoomState;
|
|
58
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[];
|
|
59
116
|
seq: number;
|
|
60
117
|
pre_hash: string | null;
|
|
61
118
|
hash: string;
|
|
@@ -66,6 +123,7 @@ export interface RoomJoinPayload {
|
|
|
66
123
|
request_id: string;
|
|
67
124
|
role: Role;
|
|
68
125
|
perspective?: string;
|
|
126
|
+
extra?: Record<string, unknown>;
|
|
69
127
|
}
|
|
70
128
|
export interface RoomJoinRequestPayload {
|
|
71
129
|
requested_role: Role;
|
|
@@ -84,8 +142,8 @@ export interface RoomJoinRequest {
|
|
|
84
142
|
request_reason?: string;
|
|
85
143
|
review_reason?: string;
|
|
86
144
|
created_at: number;
|
|
87
|
-
reviewed_by?: AgentId;
|
|
88
|
-
reviewed_at?: number;
|
|
145
|
+
reviewed_by?: AgentId | null;
|
|
146
|
+
reviewed_at?: number | null;
|
|
89
147
|
expires_at?: number;
|
|
90
148
|
extra?: Record<string, unknown>;
|
|
91
149
|
}
|
|
@@ -95,119 +153,28 @@ export interface RoomJoinReviewPayload {
|
|
|
95
153
|
decision: JoinDecision;
|
|
96
154
|
role?: Role;
|
|
97
155
|
reason?: string;
|
|
98
|
-
|
|
99
|
-
export interface RoomLeavePayload {
|
|
100
|
-
reason?: string;
|
|
156
|
+
extra?: Record<string, unknown>;
|
|
101
157
|
}
|
|
102
158
|
export interface RoleUpdatePayload {
|
|
103
159
|
member: AgentId;
|
|
104
160
|
role: Role;
|
|
105
161
|
reason?: string;
|
|
106
|
-
}
|
|
107
|
-
export interface MessageCreatePayload {
|
|
108
|
-
content_type: string;
|
|
109
|
-
content: unknown;
|
|
110
|
-
references?: string[];
|
|
111
|
-
}
|
|
112
|
-
export interface ProposalCreatePayload {
|
|
113
|
-
proposal_id: string;
|
|
114
|
-
title: string;
|
|
115
|
-
body: string;
|
|
116
|
-
content_type?: string;
|
|
117
|
-
references?: string[];
|
|
118
|
-
source_event_ids?: string[];
|
|
119
162
|
extra?: Record<string, unknown>;
|
|
120
163
|
}
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
label: string;
|
|
124
|
-
description?: string;
|
|
125
|
-
}
|
|
126
|
-
export interface PollCreatePayload {
|
|
127
|
-
poll_id: string;
|
|
128
|
-
question: string;
|
|
129
|
-
options: PollOption[];
|
|
130
|
-
min_choices?: number;
|
|
131
|
-
max_choices?: number;
|
|
132
|
-
closes_at?: number;
|
|
133
|
-
references?: string[];
|
|
134
|
-
extra?: Record<string, unknown>;
|
|
135
|
-
}
|
|
136
|
-
export interface PollVotePayload {
|
|
137
|
-
event_id: string;
|
|
138
|
-
option_ids: string[];
|
|
139
|
-
}
|
|
140
|
-
export interface ResolutionCreatePayload {
|
|
141
|
-
resolution_id: string;
|
|
142
|
-
outcome: ResolutionOutcome;
|
|
143
|
-
summary: string;
|
|
144
|
-
proposal_event_id?: string;
|
|
145
|
-
poll_event_id?: string;
|
|
146
|
-
references?: string[];
|
|
147
|
-
extra?: Record<string, unknown>;
|
|
148
|
-
}
|
|
149
|
-
export interface ReactionCreatePayload {
|
|
150
|
-
event_id: string;
|
|
151
|
-
reaction: string;
|
|
152
|
-
score?: number;
|
|
153
|
-
}
|
|
154
|
-
export interface SourceAddPayload {
|
|
155
|
-
source_type: string;
|
|
156
|
-
uri: string;
|
|
157
|
-
title?: string;
|
|
158
|
-
retrieved_at?: number;
|
|
159
|
-
content_digest?: string;
|
|
160
|
-
excerpt?: string;
|
|
161
|
-
extra?: Record<string, unknown>;
|
|
162
|
-
}
|
|
163
|
-
export interface TurnUpdatePayload {
|
|
164
|
-
turn_id: number;
|
|
165
|
-
speaker: AgentId;
|
|
166
|
-
intent?: MessageIntent;
|
|
167
|
-
topic?: string;
|
|
168
|
-
expires_at?: number;
|
|
164
|
+
/** Shared payload of `room.leave`, `room.close`, and `room.cancel`. */
|
|
165
|
+
export interface ReasonPayload {
|
|
169
166
|
reason?: string;
|
|
170
|
-
}
|
|
171
|
-
export interface QuestionGeneratePayload {
|
|
172
|
-
question: string;
|
|
173
|
-
target_perspectives?: string[];
|
|
174
|
-
basis?: string;
|
|
175
|
-
source_event_ids?: string[];
|
|
176
|
-
references?: string[];
|
|
177
|
-
priority?: number;
|
|
178
|
-
}
|
|
179
|
-
export interface DiscourseSteerPayload {
|
|
180
|
-
instruction: string;
|
|
181
|
-
target: string;
|
|
182
|
-
priority?: number;
|
|
183
167
|
references?: string[];
|
|
184
|
-
}
|
|
185
|
-
export interface MapNode {
|
|
186
|
-
id: string;
|
|
187
|
-
parent_id?: string;
|
|
188
|
-
title: string;
|
|
189
|
-
summary?: string;
|
|
190
|
-
status?: MapNodeStatus;
|
|
191
|
-
source_event_ids?: string[];
|
|
192
|
-
discussion_event_ids?: string[];
|
|
193
|
-
children?: MapNode[];
|
|
194
168
|
extra?: Record<string, unknown>;
|
|
195
169
|
}
|
|
196
|
-
export
|
|
197
|
-
|
|
198
|
-
|
|
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;
|
|
176
|
+
references?: string[];
|
|
199
177
|
extra?: Record<string, unknown>;
|
|
200
|
-
[key: string]: unknown;
|
|
201
|
-
}
|
|
202
|
-
export interface ArtifactCreatePayload {
|
|
203
|
-
artifact_id: string;
|
|
204
|
-
format: string;
|
|
205
|
-
title: string;
|
|
206
|
-
uri: string;
|
|
207
|
-
content_digest?: string;
|
|
208
|
-
source_event_ids?: string[];
|
|
209
|
-
discussion_event_ids?: string[];
|
|
210
|
-
map_event_id?: string;
|
|
211
178
|
}
|
|
212
179
|
export interface ServerRecord<P = unknown> {
|
|
213
180
|
room_id: string;
|
|
@@ -233,16 +200,10 @@ export interface DiscourseProtocolDiscovery {
|
|
|
233
200
|
protocol: string;
|
|
234
201
|
host: string;
|
|
235
202
|
features?: string[];
|
|
203
|
+
registered_packs?: string[];
|
|
236
204
|
profile?: ProfileResolverMetadata;
|
|
237
205
|
endpoints?: Record<string, string>;
|
|
238
206
|
}
|
|
239
|
-
export interface ArtifactManifest {
|
|
240
|
-
artifact_id: string;
|
|
241
|
-
type: string;
|
|
242
|
-
format: string;
|
|
243
|
-
uri: string;
|
|
244
|
-
content_digest?: string;
|
|
245
|
-
}
|
|
246
207
|
export interface ArchiveManifest {
|
|
247
208
|
protocol: string;
|
|
248
209
|
type: "room.archive";
|
|
@@ -256,43 +217,80 @@ export interface ArchiveManifest {
|
|
|
256
217
|
last_hash: string;
|
|
257
218
|
events_sha3_256: string;
|
|
258
219
|
archive_root: string;
|
|
259
|
-
map_snapshot?: {
|
|
260
|
-
event_id: string;
|
|
261
|
-
digest: string;
|
|
262
|
-
};
|
|
263
|
-
artifacts?: ArtifactManifest[];
|
|
264
|
-
discourse_trace_quality_score?: number;
|
|
265
220
|
formats?: Record<string, string>;
|
|
221
|
+
extra?: Record<string, unknown>;
|
|
266
222
|
}
|
|
223
|
+
/** Permission inputs for one actor in one room. */
|
|
267
224
|
export interface PermissionContext {
|
|
268
225
|
role?: Role;
|
|
269
226
|
isCreator?: boolean;
|
|
270
227
|
joinRequestApproved?: boolean;
|
|
271
|
-
moderatorAuthorized?: boolean;
|
|
272
|
-
expertPolicyAllowed?: boolean;
|
|
273
|
-
participantPolicyAllowed?: boolean;
|
|
274
|
-
observerSteeringAllowed?: boolean;
|
|
275
|
-
observerPollVoteAllowed?: boolean;
|
|
276
|
-
}
|
|
277
|
-
export interface StateWriteOptions {
|
|
278
|
-
postEndReactionAllowed?: boolean;
|
|
279
228
|
}
|
|
280
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>;
|
|
281
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;
|
|
282
234
|
export declare function validateDiscourseEnvelope(envelope: Envelope<unknown>): void;
|
|
283
235
|
export declare function validateRoomPath(envelope: Envelope<unknown>, pathRoomId: string): void;
|
|
284
|
-
|
|
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;
|
|
285
246
|
export declare function validateRoomCreatePayload(payload: RoomCreatePayload): void;
|
|
286
|
-
export declare function
|
|
287
|
-
|
|
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;
|
|
288
280
|
export declare function serverRecordHashPayload(roomId: string, seq: number, preHash: string | null | undefined, envelopeHash: string, receivedAt: number): ServerRecordHashPayload;
|
|
289
281
|
export declare function serverRecordHash(roomId: string, seq: number, preHash: string | null | undefined, envelopeHash: string, receivedAt: number): string;
|
|
290
282
|
export declare function buildServerRecord<P>(roomId: string, seq: number, preHash: string | null | undefined, receivedAt: number, envelope: Envelope<P>): ServerRecord<P>;
|
|
291
283
|
export declare function verifyServerRecord(record: ServerRecord): void;
|
|
292
284
|
export declare function verifyServerRecordChain(records: ServerRecord[]): void;
|
|
293
285
|
export declare function archiveEventsDigest(records: ServerRecord[]): string;
|
|
294
|
-
|
|
295
|
-
export declare function
|
|
296
|
-
|
|
297
|
-
|
|
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;
|
|
298
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":"
|
|
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,102 +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
27
|
};
|
|
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
|
+
}
|
|
27
47
|
export function roomCreateEvent(actor, createdAt, nonce, payload) {
|
|
28
48
|
return createEvent(DISCOURSE_PROTOCOL, eventType.ROOM_CREATE, actor, createdAt, nonce, payload);
|
|
29
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
|
+
}
|
|
30
53
|
export function discourseEvent(type, actor, createdAt, nonce, roomId, payload) {
|
|
31
54
|
return withRoomId(createEvent(DISCOURSE_PROTOCOL, type, actor, createdAt, nonce, payload), roomId);
|
|
32
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
|
+
}
|
|
33
62
|
export function validateDiscourseEnvelope(envelope) {
|
|
34
63
|
verifyEnvelope(envelope);
|
|
35
64
|
const protocol = envelope.event.protocol;
|
|
36
65
|
if (protocol !== DISCOURSE_PROTOCOL) {
|
|
37
66
|
throw protocolError("invalid_event_protocol", `expected ${DISCOURSE_PROTOCOL}, got ${protocol}`);
|
|
38
67
|
}
|
|
39
|
-
if (
|
|
40
|
-
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) {
|
|
41
74
|
throw protocolError("missing_room_id", "event requires a room_id");
|
|
42
75
|
}
|
|
43
76
|
}
|
|
44
77
|
export function validateRoomPath(envelope, pathRoomId) {
|
|
45
78
|
const actual = envelope.event.room_id;
|
|
46
|
-
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
|
+
}
|
|
47
83
|
return;
|
|
84
|
+
}
|
|
48
85
|
if (actual === undefined)
|
|
49
86
|
throw protocolError("missing_room_id", "event requires a room_id");
|
|
50
87
|
if (actual !== pathRoomId)
|
|
51
88
|
throw protocolError("room_id_mismatch", `expected ${pathRoomId}, got ${actual}`);
|
|
52
89
|
}
|
|
53
|
-
|
|
54
|
-
|
|
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);
|
|
55
178
|
}
|
|
56
179
|
export function validateRoomCreatePayload(payload) {
|
|
57
180
|
if (payload.topic.trim() === "") {
|
|
58
|
-
throw protocolError("
|
|
181
|
+
throw protocolError("invalid_event", "room topic must not be empty");
|
|
59
182
|
}
|
|
60
183
|
if (payload.start_time >= payload.end_time) {
|
|
61
|
-
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");
|
|
62
190
|
}
|
|
63
|
-
const
|
|
64
|
-
|
|
65
|
-
(!Number.isInteger(maxParticipants) || maxParticipants < 1)) {
|
|
66
|
-
throw protocolError("invalid_room", "max_participants must be a positive integer");
|
|
191
|
+
for (const declaration of payload.types ?? []) {
|
|
192
|
+
validateTypeDeclaration(declaration);
|
|
67
193
|
}
|
|
68
194
|
}
|
|
69
|
-
export function
|
|
70
|
-
if (payload.
|
|
71
|
-
throw protocolError("
|
|
195
|
+
export function validateMessageCreatePayload(payload) {
|
|
196
|
+
if (payload.content_type.trim() === "") {
|
|
197
|
+
throw protocolError("invalid_event", "content_type must not be empty");
|
|
72
198
|
}
|
|
73
|
-
|
|
74
|
-
|
|
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;
|
|
75
213
|
}
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
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);
|
|
80
221
|
}
|
|
81
|
-
if (
|
|
82
|
-
|
|
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");
|
|
83
227
|
}
|
|
84
|
-
optionIds.add(option.id);
|
|
85
228
|
}
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
throw protocolError("invalid_poll", "invalid poll choice limits");
|
|
229
|
+
define(def) {
|
|
230
|
+
validateTypeDef(def);
|
|
231
|
+
this.types.set(def.type, def);
|
|
90
232
|
}
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
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
|
+
}
|
|
259
|
+
}
|
|
260
|
+
get(type) {
|
|
261
|
+
return this.types.get(type);
|
|
262
|
+
}
|
|
263
|
+
has(type) {
|
|
264
|
+
return this.types.has(type);
|
|
95
265
|
}
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
const optionIds = new Set(poll.options.map((option) => option.id));
|
|
99
|
-
const selected = new Set(payload.option_ids);
|
|
100
|
-
if (selected.size !== payload.option_ids.length) {
|
|
101
|
-
throw protocolError("invalid_poll_vote", "duplicate poll options");
|
|
266
|
+
get size() {
|
|
267
|
+
return this.types.size;
|
|
102
268
|
}
|
|
103
|
-
|
|
104
|
-
|
|
269
|
+
definitions() {
|
|
270
|
+
return [...this.types.values()];
|
|
105
271
|
}
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
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);
|
|
109
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}`);
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
}
|
|
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}`);
|
|
307
|
+
}
|
|
308
|
+
}
|
|
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");
|
|
110
328
|
}
|
|
111
329
|
}
|
|
112
330
|
export function serverRecordHashPayload(roomId, seq, preHash, envelopeHash, receivedAt) {
|
|
@@ -162,107 +380,76 @@ export function verifyServerRecordChain(records) {
|
|
|
162
380
|
export function archiveEventsDigest(records) {
|
|
163
381
|
return hashCanonicalJson(records);
|
|
164
382
|
}
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
return moderatorCanSubmit(type, context.moderatorAuthorized ?? false);
|
|
175
|
-
case "expert":
|
|
176
|
-
return speakerCanSubmit(type, context.expertPolicyAllowed ?? false);
|
|
177
|
-
case "participant":
|
|
178
|
-
return speakerCanSubmit(type, context.participantPolicyAllowed ?? false);
|
|
179
|
-
case "observer":
|
|
180
|
-
return observerCanSubmit(type, context);
|
|
181
|
-
default:
|
|
182
|
-
return false;
|
|
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"];
|
|
183
392
|
}
|
|
184
393
|
}
|
|
185
|
-
|
|
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
|
+
}
|
|
427
|
+
}
|
|
428
|
+
}
|
|
429
|
+
export function canWriteInState(type, state) {
|
|
186
430
|
switch (state) {
|
|
187
431
|
case "scheduled":
|
|
188
|
-
return
|
|
189
|
-
eventType.
|
|
190
|
-
eventType.
|
|
191
|
-
eventType.
|
|
192
|
-
|
|
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);
|
|
193
438
|
case "active":
|
|
194
439
|
return type !== eventType.ROOM_CREATE && type !== eventType.ROOM_CANCEL;
|
|
195
440
|
case "ended":
|
|
196
|
-
return (Boolean(options.postEndReactionAllowed) &&
|
|
197
|
-
type === eventType.REACTION_CREATE);
|
|
198
441
|
case "cancelled":
|
|
199
442
|
return false;
|
|
200
443
|
}
|
|
201
444
|
}
|
|
202
|
-
export function canAcceptRoomWrite(type, state, permission,
|
|
203
|
-
return
|
|
445
|
+
export function canAcceptRoomWrite(type, state, permission, registry = new TypeRegistry()) {
|
|
446
|
+
return canSubmitEvent(type, permission, registry) && canWriteInState(type, state);
|
|
204
447
|
}
|
|
205
|
-
export function validateRoomWrite(type, state, permission,
|
|
206
|
-
if (!canAcceptRoomWrite(type, state, permission,
|
|
448
|
+
export function validateRoomWrite(type, state, permission, registry = new TypeRegistry()) {
|
|
449
|
+
if (!canAcceptRoomWrite(type, state, permission, registry)) {
|
|
207
450
|
throw protocolError("permission_denied", "actor lacks permission or state is not writable");
|
|
208
451
|
}
|
|
209
452
|
}
|
|
210
|
-
function moderatorCanSubmit(type, moderatorAuthorized) {
|
|
211
|
-
return (eventTypeIn(type, [
|
|
212
|
-
eventType.ROOM_JOIN_REVIEW,
|
|
213
|
-
eventType.ROOM_CLOSE,
|
|
214
|
-
eventType.MESSAGE_CREATE,
|
|
215
|
-
eventType.SOURCE_ADD,
|
|
216
|
-
eventType.TURN_UPDATE,
|
|
217
|
-
eventType.QUESTION_CREATE,
|
|
218
|
-
eventType.ROOM_STEER,
|
|
219
|
-
eventType.MAP_UPDATE,
|
|
220
|
-
eventType.ARTIFACT_CREATE,
|
|
221
|
-
eventType.MESSAGE_PROPOSAL_CREATE,
|
|
222
|
-
eventType.MESSAGE_POLL_CREATE,
|
|
223
|
-
eventType.MESSAGE_POLL_VOTE,
|
|
224
|
-
eventType.MESSAGE_RESOLUTION_CREATE,
|
|
225
|
-
eventType.REACTION_CREATE,
|
|
226
|
-
eventType.ROOM_LEAVE,
|
|
227
|
-
]) ||
|
|
228
|
-
(moderatorAuthorized &&
|
|
229
|
-
eventTypeIn(type, [
|
|
230
|
-
eventType.ROOM_MEMBER_ROLE_UPDATE,
|
|
231
|
-
eventType.ROOM_CANCEL,
|
|
232
|
-
])));
|
|
233
|
-
}
|
|
234
|
-
function speakerCanSubmit(type, policyAllowed) {
|
|
235
|
-
return (eventTypeIn(type, [
|
|
236
|
-
eventType.MESSAGE_CREATE,
|
|
237
|
-
eventType.SOURCE_ADD,
|
|
238
|
-
eventType.ROOM_STEER,
|
|
239
|
-
eventType.MESSAGE_PROPOSAL_CREATE,
|
|
240
|
-
eventType.MESSAGE_POLL_CREATE,
|
|
241
|
-
eventType.MESSAGE_POLL_VOTE,
|
|
242
|
-
eventType.REACTION_CREATE,
|
|
243
|
-
eventType.ROOM_LEAVE,
|
|
244
|
-
]) ||
|
|
245
|
-
(policyAllowed &&
|
|
246
|
-
eventTypeIn(type, [
|
|
247
|
-
eventType.QUESTION_CREATE,
|
|
248
|
-
eventType.MAP_UPDATE,
|
|
249
|
-
eventType.ARTIFACT_CREATE,
|
|
250
|
-
eventType.MESSAGE_RESOLUTION_CREATE,
|
|
251
|
-
])));
|
|
252
|
-
}
|
|
253
|
-
function observerCanSubmit(type, context) {
|
|
254
|
-
return (eventTypeIn(type, [eventType.REACTION_CREATE, eventType.ROOM_LEAVE]) ||
|
|
255
|
-
(Boolean(context.observerSteeringAllowed) &&
|
|
256
|
-
type === eventType.ROOM_STEER) ||
|
|
257
|
-
(Boolean(context.observerPollVoteAllowed) &&
|
|
258
|
-
type === eventType.MESSAGE_POLL_VOTE));
|
|
259
|
-
}
|
|
260
|
-
function isKnownEventType(type) {
|
|
261
|
-
return eventTypeIn(type, Object.values(eventType));
|
|
262
|
-
}
|
|
263
|
-
function eventTypeIn(type, values) {
|
|
264
|
-
return values.includes(type);
|
|
265
|
-
}
|
|
266
453
|
function hashCanonicalJson(value) {
|
|
267
454
|
const canonical = canonicalize(value);
|
|
268
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/dist/profile.d.ts
CHANGED
package/dist/profile.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../src/profile.ts"],"names":[],"mappings":"AACA,OAAO,EACL,OAAO,EACP,QAAQ,EACR,KAAK,EAGN,MAAM,eAAe,CAAC;AAEvB,eAAO,MAAM,gBAAgB,sBAAsB,CAAC;AACpD,eAAO,MAAM,cAAc,mBAAmB,CAAC;AAE/C,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,MAAM,MAAM,cAAc,GACtB,UAAU,GACV,eAAe,GACf,aAAa,GACb,QAAQ,GACR,SAAS,CAAC;AAEd,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,cAAc,CAAC;CACrB;AAED,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,OAAO,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,iBAAiB,CAAC,EAAE,eAAe,EAAE,CAAC;IACtC,KAAK,CAAC,EAAE,WAAW,EAAE,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,OAAO,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,iBAAiB,CAAC,EAAE,eAAe,EAAE,CAAC;IACtC,KAAK,CAAC,EAAE,WAAW,EAAE,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,uBAAuB;IACtC,GAAG,EAAE,OAAO,EAAE,CAAC;CAChB;AAED,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,YAAY,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC;CAC1C;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,uBAAuB,CAAC;IACnC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,OAAO,EACd,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,oBAAoB,GAC5B,KAAK,CAAC,oBAAoB,CAAC,CAS7B;AAED,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,QAAQ,CAAC,oBAAoB,CAAC,GACvC,IAAI,CAuBN;AAED,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,QAAQ,CAAC,oBAAoB,CAAC,GACvC,YAAY,
|
|
1
|
+
{"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../src/profile.ts"],"names":[],"mappings":"AACA,OAAO,EACL,OAAO,EACP,QAAQ,EACR,KAAK,EAGN,MAAM,eAAe,CAAC;AAEvB,eAAO,MAAM,gBAAgB,sBAAsB,CAAC;AACpD,eAAO,MAAM,cAAc,mBAAmB,CAAC;AAE/C,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,MAAM,MAAM,cAAc,GACtB,UAAU,GACV,eAAe,GACf,aAAa,GACb,QAAQ,GACR,SAAS,CAAC;AAEd,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,cAAc,CAAC;CACrB;AAED,MAAM,WAAW,oBAAoB;IACnC,EAAE,EAAE,OAAO,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,iBAAiB,CAAC,EAAE,eAAe,EAAE,CAAC;IACtC,KAAK,CAAC,EAAE,WAAW,EAAE,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,OAAO,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,iBAAiB,CAAC,EAAE,eAAe,EAAE,CAAC;IACtC,KAAK,CAAC,EAAE,WAAW,EAAE,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAChC,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,uBAAuB;IACtC,GAAG,EAAE,OAAO,EAAE,CAAC;CAChB;AAED,MAAM,WAAW,wBAAwB;IACvC,MAAM,EAAE,YAAY,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,QAAQ,CAAC,oBAAoB,CAAC,EAAE,CAAC;CAC1C;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,uBAAuB;IACtC,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,uBAAuB,CAAC;IACnC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,wBAAgB,kBAAkB,CAChC,KAAK,EAAE,OAAO,EACd,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,OAAO,EAAE,oBAAoB,GAC5B,KAAK,CAAC,oBAAoB,CAAC,CAS7B;AAED,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,QAAQ,CAAC,oBAAoB,CAAC,GACvC,IAAI,CAuBN;AAED,wBAAgB,kBAAkB,CAChC,QAAQ,EAAE,QAAQ,CAAC,oBAAoB,CAAC,GACvC,YAAY,CAiBd"}
|
package/dist/profile.js
CHANGED
package/dist/profile.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profile.js","sourceRoot":"","sources":["../src/profile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAIL,WAAW,EACX,cAAc,GACf,MAAM,eAAe,CAAC;AAEvB,MAAM,CAAC,MAAM,gBAAgB,GAAG,mBAAmB,CAAC;AACpD,MAAM,CAAC,MAAM,cAAc,GAAG,gBAAgB,CAAC;
|
|
1
|
+
{"version":3,"file":"profile.js","sourceRoot":"","sources":["../src/profile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC5C,OAAO,EAIL,WAAW,EACX,cAAc,GACf,MAAM,eAAe,CAAC;AAEvB,MAAM,CAAC,MAAM,gBAAgB,GAAG,mBAAmB,CAAC;AACpD,MAAM,CAAC,MAAM,cAAc,GAAG,gBAAgB,CAAC;AAwE/C,MAAM,UAAU,kBAAkB,CAChC,KAAc,EACd,SAAiB,EACjB,KAAa,EACb,OAA6B;IAE7B,OAAO,WAAW,CAChB,gBAAgB,EAChB,cAAc,EACd,KAAK,EACL,SAAS,EACT,KAAK,EACL,OAAO,CACR,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,QAAwC;IAExC,cAAc,CAAC,QAAQ,CAAC,CAAC;IACzB,IAAI,QAAQ,CAAC,KAAK,CAAC,QAAQ,KAAK,gBAAgB,EAAE,CAAC;QACjD,MAAM,aAAa,CACjB,wBAAwB,EACxB,YAAY,gBAAgB,SAAS,QAAQ,CAAC,KAAK,CAAC,QAAQ,EAAE,CAC/D,CAAC;IACJ,CAAC;IACD,IAAI,QAAQ,CAAC,KAAK,CAAC,IAAI,KAAK,cAAc,EAAE,CAAC;QAC3C,MAAM,aAAa,CACjB,oBAAoB,EACpB,YAAY,cAAc,SAAS,QAAQ,CAAC,KAAK,CAAC,IAAI,EAAE,CACzD,CAAC;IACJ,CAAC;IACD,IACE,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE;QAC1B,QAAQ,CAAC,KAAK,CAAC,KAAK,KAAK,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,EAClD,CAAC;QACD,MAAM,aAAa,CACjB,eAAe,EACf,4CAA4C,CAC7C,CAAC;IACJ,CAAC;AACH,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,QAAwC;IAExC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IAChC,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC;IACvC,OAAO;QACL,EAAE,EAAE,OAAO,CAAC,EAAE;QACd,IAAI,EAAE,OAAO,CAAC,IAAI;QAClB,QAAQ,EAAE,SAAS;QACnB,WAAW,EAAE,OAAO,CAAC,WAAW;QAChC,UAAU,EAAE,OAAO,CAAC,UAAU;QAC9B,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,YAAY,EAAE,OAAO,CAAC,YAAY,IAAI,EAAE;QACxC,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,IAAI,EAAE;QAClD,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,EAAE;QAC1B,KAAK,EAAE,OAAO,CAAC,KAAK,IAAI,EAAE;QAC1B,UAAU,EAAE,QAAQ,CAAC,KAAK,CAAC,UAAU;QACrC,QAAQ,EAAE,QAAQ,CAAC,IAAI;KACxB,CAAC;AACJ,CAAC"}
|
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
|
},
|