agent-protocols 0.8.0 → 0.10.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (58) hide show
  1. package/README.md +91 -19
  2. package/dist/delegation.d.ts +57 -36
  3. package/dist/delegation.d.ts.map +1 -1
  4. package/dist/delegation.js +208 -69
  5. package/dist/delegation.js.map +1 -1
  6. package/dist/discourse.d.ts +196 -74
  7. package/dist/discourse.d.ts.map +1 -1
  8. package/dist/discourse.js +568 -116
  9. package/dist/discourse.js.map +1 -1
  10. package/dist/http-client.d.ts +65 -18
  11. package/dist/http-client.d.ts.map +1 -1
  12. package/dist/http-client.js +217 -34
  13. package/dist/http-client.js.map +1 -1
  14. package/dist/identity.d.ts +117 -3
  15. package/dist/identity.d.ts.map +1 -1
  16. package/dist/identity.js +367 -7
  17. package/dist/identity.js.map +1 -1
  18. package/dist/index.d.ts +1 -0
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +1 -0
  21. package/dist/index.js.map +1 -1
  22. package/dist/knowledge-schema.d.ts +978 -0
  23. package/dist/knowledge-schema.d.ts.map +1 -0
  24. package/dist/knowledge-schema.js +1187 -0
  25. package/dist/knowledge-schema.js.map +1 -0
  26. package/dist/knowledge.d.ts +275 -0
  27. package/dist/knowledge.d.ts.map +1 -0
  28. package/dist/knowledge.js +795 -0
  29. package/dist/knowledge.js.map +1 -0
  30. package/dist/local-connector/catalog.d.ts +1 -16
  31. package/dist/local-connector/catalog.d.ts.map +1 -1
  32. package/dist/local-connector/catalog.js +53 -71
  33. package/dist/local-connector/catalog.js.map +1 -1
  34. package/dist/local-connector/engine.d.ts +55 -32
  35. package/dist/local-connector/engine.d.ts.map +1 -1
  36. package/dist/local-connector/engine.js +636 -608
  37. package/dist/local-connector/engine.js.map +1 -1
  38. package/dist/local-connector/inputs.d.ts +28 -76
  39. package/dist/local-connector/inputs.d.ts.map +1 -1
  40. package/dist/local-connector/inputs.js +19 -1
  41. package/dist/local-connector/inputs.js.map +1 -1
  42. package/dist/local-connector/projection.d.ts +24 -9
  43. package/dist/local-connector/projection.d.ts.map +1 -1
  44. package/dist/local-connector/projection.js +78 -39
  45. package/dist/local-connector/projection.js.map +1 -1
  46. package/dist/local-connector/state.d.ts +10 -3
  47. package/dist/local-connector/state.d.ts.map +1 -1
  48. package/dist/local-connector/state.js +3 -0
  49. package/dist/local-connector/state.js.map +1 -1
  50. package/dist/local-connector/views.d.ts +36 -12
  51. package/dist/local-connector/views.d.ts.map +1 -1
  52. package/dist/local-connector/views.js +49 -31
  53. package/dist/local-connector/views.js.map +1 -1
  54. package/dist/profile.d.ts +23 -9
  55. package/dist/profile.d.ts.map +1 -1
  56. package/dist/profile.js +120 -3
  57. package/dist/profile.js.map +1 -1
  58. package/package.json +9 -5
@@ -1,10 +1,11 @@
1
- import { AgentId, Envelope, Event } from "./identity.js";
1
+ import { AgentId, DiscoveryDocument, Envelope, Event, ListResponse } from "./identity.js";
2
2
  export declare const DISCOURSE_PROTOCOL = "agent-discourse/1.0";
3
- /** The eleven built-in event types. All other types are room-defined. */
3
+ /** The twelve built-in event types. All other types are room-defined. */
4
4
  export declare const eventType: {
5
5
  readonly ROOM_CREATE: "room.create";
6
6
  readonly ROOM_UPDATE: "room.update";
7
7
  readonly ROOM_JOIN: "room.join";
8
+ readonly ROOM_JOIN_REQUEST: "room.join.request";
8
9
  readonly ROOM_JOIN_REVIEW: "room.join.review";
9
10
  readonly ROOM_LEAVE: "room.leave";
10
11
  readonly ROOM_MEMBER_ROLE_UPDATE: "room.member.role.update";
@@ -17,29 +18,69 @@ export declare const eventType: {
17
18
  export type BuiltinEventType = (typeof eventType)[keyof typeof eventType];
18
19
  export declare const BUILTIN_EVENT_TYPES: readonly string[];
19
20
  /**
20
- * Built-in membership events. They carry the `signal` class: they anchor to
21
- * an accepted record but never contend for or advance the room head, so busy
22
- * rooms cannot starve joins, reviews, or other membership writes.
21
+ * Built-in membership events. They are `signal`-class: they anchor to an
22
+ * accepted record but are never checked against or advance the room head, so
23
+ * busy rooms cannot starve joins, reviews, or other membership writes.
23
24
  */
24
25
  export declare const MEMBERSHIP_EVENT_TYPES: readonly string[];
25
- /** Class of a built-in type per the Section 13.2 table. */
26
- export type BuiltinEventClass = "lifecycle" | "signal" | "control" | "message";
27
- /** Section 13.2 class of a built-in type; `undefined` for room-defined types. */
26
+ /**
27
+ * Contract writes (Section 5.1): anchored like signals, so discussion traffic
28
+ * cannot starve them, but head-advancing, so messages and control writes
29
+ * composed against the old contract are rejected and re-read.
30
+ */
31
+ export declare const CONTRACT_EVENT_TYPES: readonly string[];
32
+ /**
33
+ * Freshness class of an accepted record (Section 5.1): `genesis` and
34
+ * `contract` for the room lifecycle built-ins, `signal` for membership
35
+ * built-ins, `message` for `message.create`, and the registry `kind` for
36
+ * custom types. `message` and `control` writes must be based at or after the
37
+ * room head; `genesis`, `contract`, and `control` records advance it.
38
+ */
39
+ export type RecordClass = "genesis" | "contract" | "message" | "signal" | "control";
40
+ /** Class of a built-in type per the Section 12.2 table. */
41
+ export type BuiltinEventClass = "genesis" | "contract" | "signal" | "message";
42
+ /**
43
+ * Section 12.2 class of a built-in type; `undefined` for room-defined types and
44
+ * for `room.join.request`, which never becomes a record.
45
+ */
28
46
  export declare function builtinEventClass(type: string): BuiltinEventClass | undefined;
29
47
  /**
30
- * Whether an accepted record of this type advances the room head and must
31
- * therefore match the current head when written (Section 5.1). Room lifecycle,
32
- * `message`-kind, and `control`-kind records advance the head; `signal`-kind
33
- * records — including the built-in membership events — only anchor to an
34
- * accepted record. Unknown custom types default to head-advancing.
48
+ * Record class of an event type; `undefined` for `room.join.request` and for
49
+ * custom types absent from `registry`.
50
+ */
51
+ export declare function recordClass(type: string, registry?: TypeRegistry | readonly TypeDef[]): RecordClass | undefined;
52
+ /**
53
+ * Whether an accepted record of this type advances the room head (Section
54
+ * 5.1): `genesis`, `contract`, and `control` records. Unknown custom types
55
+ * default to head-advancing.
56
+ */
57
+ export declare function eventAdvancesRoomHead(type: string, registry?: TypeRegistry | readonly TypeDef[]): boolean;
58
+ /**
59
+ * Whether a write of this type is checked against the room head (Section
60
+ * 5.1): `message.create` and custom `message`/`control` kinds must be based at
61
+ * or after the current head. Contract and signal writes only anchor. Unknown
62
+ * custom types default to head-checked.
35
63
  */
36
- export declare function eventAdvancesRoomHead(type: string, registry?: TypeRegistry): boolean;
37
- /** Standard ADP error codes from the Section 20 table. */
64
+ export declare function eventRequiresRoomHead(type: string, registry?: TypeRegistry | readonly TypeDef[]): boolean;
65
+ /**
66
+ * Section 5.1 base check for a room write based on `baseSeq` / `baseHash`.
67
+ * `anchorHash` is the hash of the accepted record at `baseSeq` in the same
68
+ * room (`undefined` when there is none) and `headSeq` is the current room
69
+ * head. Every base must name an accepted record (`base_record_mismatch`);
70
+ * `message` and `control` writes must also be based at or after the head
71
+ * (`room_head_mismatch`).
72
+ */
73
+ export declare function validateRoomBase(type: string, registry: TypeRegistry | readonly TypeDef[] | undefined, baseSeq: number, baseHash: string, anchorHash: string | undefined, headSeq: number): void;
74
+ /** ADP-specific error codes (Section 19); shared codes come from Agent Identity. */
38
75
  export declare const DISCOURSE_ERROR_CODES: readonly string[];
39
76
  /** Hosts MUST reject events with more than this many `mentions` entries. */
40
77
  export declare const MAX_MENTIONS = 32;
78
+ /** Room IDs are host-assigned and URL-safe (Section 6.1). */
79
+ export declare const ROOM_ID_PATTERN: RegExp;
80
+ /** `<algorithm>:<base64url-digest>` content digests (Section 12.5). */
81
+ export declare const CONTENT_DIGEST_PATTERN: RegExp;
41
82
  /** Custom event types must not use these prefixes. */
42
- export declare const RESERVED_TYPE_PREFIXES: readonly ["room.", "type."];
83
+ export declare const RESERVED_TYPE_PREFIXES: readonly ["room.", "type.", "message."];
43
84
  /** Registered type packs defined by the specification in `1.0.packs.json`. */
44
85
  export declare const packId: {
45
86
  readonly REACTIONS: "adp:reactions/1.0";
@@ -58,6 +99,8 @@ export type TypeStatus = "active" | "deprecated" | "disabled";
58
99
  export type JoinRequestStatus = "pending" | "approved" | "rejected" | "expired";
59
100
  export type JoinDecision = "approve" | "reject";
60
101
  export interface RoomCreatePayload {
102
+ /** Origin of the host API the room is created on; binds the event to one host. */
103
+ host: string;
61
104
  topic: string;
62
105
  agenda?: string;
63
106
  guidance?: string;
@@ -71,7 +114,10 @@ export interface RoomCreatePayload {
71
114
  extra?: Record<string, unknown>;
72
115
  }
73
116
  export interface RoomPolicy {
74
- moderator_agent_ids?: AgentId[];
117
+ /** Agent IDs pre-approved for direct `room.join` with exactly this role. */
118
+ invites?: Record<AgentId, Role>;
119
+ /** Roles anyone may take by direct `room.join`; see {@link effectiveOpenRoles}. */
120
+ open_roles?: Role[];
75
121
  max_speakers?: number;
76
122
  observer_allowed?: boolean;
77
123
  extra?: Record<string, unknown>;
@@ -79,8 +125,8 @@ export interface RoomPolicy {
79
125
  /**
80
126
  * Payload of `room.update`: a partial contract revision. A present field
81
127
  * replaces the current value entirely; an empty value clears an optional
82
- * field. `visibility` is not updatable, and the type registry evolves only
83
- * through `type.define`.
128
+ * field. `host` and `visibility` are not updatable, and the type registry
129
+ * evolves only through `type.define`.
84
130
  */
85
131
  export interface RoomUpdatePayload {
86
132
  topic?: string;
@@ -101,17 +147,16 @@ export interface RoomMemberRemovePayload {
101
147
  references?: string[];
102
148
  extra?: Record<string, unknown>;
103
149
  }
104
- /** A room-scoped declaration of a custom event type. */
150
+ /** A room-scoped declaration of a custom event type. The field set is closed. */
105
151
  export interface TypeDef {
106
152
  type: string;
107
153
  kind: TypeKind;
108
154
  title: string;
109
155
  description?: string;
110
- /** Self-contained JSON Schema (draft 2020-12) for the event payload. */
156
+ /** JSON Schema for the event payload, following the type schema profile. */
111
157
  schema: Record<string, unknown>;
112
158
  roles?: Role[];
113
159
  instructions?: string;
114
- version?: string;
115
160
  status?: TypeStatus;
116
161
  rate_hint?: number;
117
162
  max_payload_hint?: number;
@@ -171,7 +216,7 @@ export interface RoomResponse {
171
216
  seq: number;
172
217
  pre_hash: string | null;
173
218
  hash: string;
174
- received_at: number;
219
+ accepted_at: number;
175
220
  /** Latest accepted head-advancing record. Falls back to `seq`/`hash` on older hosts. */
176
221
  head?: RoomHead;
177
222
  envelope?: Envelope<RoomCreatePayload>;
@@ -180,35 +225,28 @@ export interface RoomHead {
180
225
  seq: number;
181
226
  hash: string;
182
227
  }
228
+ /** Payload of a direct `room.join` (Section 9.2). */
183
229
  export interface RoomJoinPayload {
184
- request_id?: string;
185
230
  role: Role;
186
231
  perspective?: string;
187
232
  }
188
- export interface RoomJoinRequestInput {
233
+ /** Payload of a signed `room.join.request` (Section 10). */
234
+ export interface RoomJoinRequestPayload {
189
235
  role: Role;
190
236
  perspective?: string;
191
237
  reason?: string;
192
238
  extra?: Record<string, unknown>;
193
239
  }
240
+ /** The join request resource: the signed request plus review state. */
194
241
  export interface RoomJoinRequest {
242
+ /** Event ID of the signed request. */
195
243
  id: string;
196
- room_id: string;
197
- applicant: AgentId;
198
- role: Role;
199
- perspective?: string;
200
- reason?: string;
201
- created_at: number;
202
- expires_at: number;
203
- extra?: Record<string, unknown>;
204
- }
205
- export interface RoomJoinRequestStatus {
206
- request: RoomJoinRequest;
244
+ request: Envelope<RoomJoinRequestPayload>;
207
245
  status: JoinRequestStatus;
208
- approved_role?: Role;
209
- review_reason?: string;
246
+ expires_at: number;
210
247
  reviewed_by?: AgentId | null;
211
248
  reviewed_at?: number | null;
249
+ review_event_id?: string | null;
212
250
  }
213
251
  export interface AgentStatusInput {
214
252
  state: string;
@@ -234,15 +272,12 @@ export interface AgentStatus {
234
272
  updated_at: number;
235
273
  extra?: Record<string, unknown>;
236
274
  }
237
- export interface AgentStatusListResponse {
238
- statuses: AgentStatus[];
239
- }
240
- export interface AgentStatusGetResponse {
241
- status: AgentStatus;
242
- }
275
+ export type AgentStatusListResponse = ListResponse<AgentStatus>;
243
276
  export interface RoomJoinReviewPayload {
244
- request: RoomJoinRequest;
277
+ /** The applicant's signed `room.join.request` envelope. */
278
+ request: Envelope<RoomJoinRequestPayload>;
245
279
  decision: JoinDecision;
280
+ /** Required when approving. */
246
281
  role?: Role;
247
282
  reason?: string;
248
283
  extra?: Record<string, unknown>;
@@ -264,7 +299,8 @@ export type RoomClosePayload = ReasonPayload;
264
299
  export type RoomCancelPayload = ReasonPayload;
265
300
  export interface MessageCreatePayload {
266
301
  content_type: string;
267
- content: unknown;
302
+ /** A JSON string, or a JSON object for a JSON media type. */
303
+ content: string | Record<string, unknown>;
268
304
  references?: string[];
269
305
  extra?: Record<string, unknown>;
270
306
  }
@@ -273,58 +309,87 @@ export interface ServerRecord<P = unknown> {
273
309
  seq: number;
274
310
  pre_hash: string | null;
275
311
  hash: string;
276
- received_at: number;
312
+ accepted_at: number;
277
313
  envelope: Envelope<P>;
278
314
  }
315
+ /** Envelope of a redacted record (Section 14.1): its event ID and type only. */
316
+ export interface RedactedEnvelope {
317
+ hash: string;
318
+ redacted: true;
319
+ type: string;
320
+ }
321
+ export interface RedactedServerRecord {
322
+ room_id: string;
323
+ seq: number;
324
+ pre_hash: string | null;
325
+ hash: string;
326
+ accepted_at: number;
327
+ envelope: RedactedEnvelope;
328
+ }
329
+ /** A record as it appears in history or an archive: signed or redacted. */
330
+ export type ArchiveRecord = ServerRecord | RedactedServerRecord;
331
+ export type RoomEventsResponse = ListResponse<ArchiveRecord>;
279
332
  export interface ServerRecordHashPayload {
280
333
  room_id: string;
281
334
  seq: number;
282
335
  pre_hash: string | null;
283
336
  envelope_hash: string;
284
- received_at: number;
337
+ accepted_at: number;
285
338
  }
339
+ /**
340
+ * The `profile` discovery member (Agent Profile Section 8): the Agent Profile
341
+ * service a host resolves profiles from, and whether local policy requires a
342
+ * verified profile before accepting an agent's writes.
343
+ */
286
344
  export interface ProfileResolverMetadata {
287
- mode: string;
288
- service?: string;
289
- protocol?: string;
345
+ service: string;
346
+ required?: boolean;
290
347
  }
291
- export interface DiscourseProtocolDiscovery {
292
- protocol: string;
293
- host: string;
294
- features?: string[];
348
+ export interface DiscourseProtocolDiscovery extends DiscoveryDocument {
295
349
  registered_packs?: string[];
296
350
  profile?: ProfileResolverMetadata;
297
- endpoints?: Record<string, string>;
298
351
  }
299
352
  export interface ArchiveManifest {
300
353
  protocol: string;
301
354
  type: "room.archive";
302
- host: string;
303
355
  room_id: string;
304
356
  url: string;
305
357
  generated_at: number;
306
- event_count: number;
307
- first_seq: number;
308
358
  last_seq: number;
359
+ /** Hash of the record at `last_seq`: the archive's commitment to every record. */
309
360
  last_hash: string;
310
- events_sha3_256: string;
311
- archive_root: string;
361
+ /** Format names mapped to URLs; `jsonl` is the required record log. */
312
362
  formats?: Record<string, string>;
363
+ /** Every external pack the room imported, with a URL serving its exact bytes. */
364
+ packs?: ArchivedPack[];
313
365
  extra?: Record<string, unknown>;
314
366
  }
367
+ /** An external pack document retained in an archive (Section 18). */
368
+ export interface ArchivedPack {
369
+ pack: string;
370
+ digest: string;
371
+ url: string;
372
+ }
315
373
  /** Permission inputs for one actor in one room. */
316
374
  export interface PermissionContext {
317
375
  role?: Role;
318
376
  isCreator?: boolean;
319
- publicJoinAllowed?: boolean;
320
- joinRequestApproved?: boolean;
377
+ /** The actor may take the requested role by direct `room.join` (see {@link canJoinDirectly}). */
378
+ directJoinAllowed?: boolean;
321
379
  }
322
380
  export declare function roomCreateEvent(actor: AgentId, createdAt: number, nonce: number, payload: RoomCreatePayload): Event<RoomCreatePayload>;
381
+ /** A `room.join.request` carries `room_id` but no base: its author may not be able to read the room. */
382
+ export declare function roomJoinRequestEvent(actor: AgentId, createdAt: number, nonce: number, roomId: string, payload: RoomJoinRequestPayload): Event<RoomJoinRequestPayload>;
323
383
  export declare function typeDefineEvent(actor: AgentId, createdAt: number, nonce: number, roomId: string, baseSeq: number, baseHash: string, declaration: TypeDeclaration): Event<TypeDeclaration>;
324
384
  export declare function discourseEvent<P>(type: string, actor: AgentId, createdAt: number, nonce: number, roomId: string, baseSeq: number, baseHash: string, payload: P): Event<P>;
325
385
  export declare function isBuiltinEventType(type: string): boolean;
326
386
  export declare function eventRequiresRoomId(type: string): boolean;
387
+ /** Whether events of this type carry `base_seq` / `base_hash`. */
388
+ export declare function eventRequiresBase(type: string): boolean;
389
+ export declare function validateRoomId(roomId: unknown): asserts roomId is string;
327
390
  export declare function validateDiscourseEnvelope(envelope: Envelope<unknown>): void;
391
+ /** Section 5 event-shape rules: closed fields, room ID, base, and mentions. */
392
+ export declare function validateDiscourseEventFields(event: Event<unknown>): void;
328
393
  export declare function validateRoomPath(envelope: Envelope<unknown>, pathRoomId: string): void;
329
394
  export declare function validateRoomHeadPrecondition(event: Event<unknown>): void;
330
395
  /**
@@ -337,9 +402,51 @@ export declare function isTypeDef(declaration: TypeDeclaration): declaration is
337
402
  export declare function validateTypeDef(def: TypeDef): void;
338
403
  export declare function validatePackImport(declaration: PackImport): void;
339
404
  export declare function validateTypeDeclaration(declaration: TypeDeclaration): void;
405
+ /**
406
+ * Enforces the type schema profile (Section 12.3.1): fragment-only `$ref`, no
407
+ * dynamic or recursive references, the 2020-12 dialect, and portable
408
+ * regular expressions.
409
+ */
410
+ export declare function validateTypeSchemaProfile(schema: Record<string, unknown>): void;
411
+ /**
412
+ * Checks that a pattern is an I-Regexp (RFC 9485) without `\p{…}`/`\P{…}`
413
+ * and without `.` outside a character class, optionally anchored with a
414
+ * leading `^` and a trailing `$` (Section 12.3.1).
415
+ */
416
+ export declare function validatePortablePattern(pattern: string): void;
417
+ /** Section 8.3 rules for a room policy. */
418
+ export declare function validateRoomPolicy(policy: RoomPolicy | undefined): void;
419
+ /**
420
+ * Section 8.3 rule tying the policy to the room's visibility: a private room
421
+ * admits agents only by invitation or review, so its `open_roles` must be empty.
422
+ */
423
+ export declare function validateRoomVisibilityPolicy(visibility: Visibility, policy: RoomPolicy | undefined): void;
424
+ /**
425
+ * The roles any agent may take by direct `room.join` (Section 8.3): the
426
+ * explicit `open_roles`, or by default `observer` in a public room when
427
+ * observers are allowed, and none otherwise.
428
+ */
429
+ export declare function effectiveOpenRoles(visibility: Visibility, policy: RoomPolicy | undefined): Role[];
430
+ /**
431
+ * Section 9.2 direct-join eligibility: the actor is invited with exactly
432
+ * `role`, or `role` is one of the room's effective open roles. Bans and
433
+ * quotas are separate host checks.
434
+ */
435
+ export declare function canJoinDirectly(visibility: Visibility, policy: RoomPolicy | undefined, actor: AgentId, role: Role): boolean;
340
436
  export declare function validateRoomCreatePayload(payload: RoomCreatePayload): void;
437
+ /** Host binding check (Section 8.1): `host` must be the receiving host's API origin. */
438
+ export declare function validateRoomCreateHost(payload: RoomCreatePayload, hostOrigin: string): void;
341
439
  export declare function validateMessageCreatePayload(payload: MessageCreatePayload): void;
342
440
  export declare function validateRoomJoinPayload(payload: RoomJoinPayload): void;
441
+ export declare function validateRoomJoinRequestPayload(payload: RoomJoinRequestPayload): void;
442
+ /**
443
+ * Verifies a signed `room.join.request` envelope for embedding or review:
444
+ * hash, signature, and shape — historical verification, without the live
445
+ * time window or nonce check.
446
+ */
447
+ export declare function validateJoinRequestEnvelope(envelope: Envelope<RoomJoinRequestPayload>, roomId?: string): void;
448
+ /** Shape checks for `room.join.review`, including the embedded signed request. */
449
+ export declare function validateRoomJoinReviewPayload(payload: RoomJoinReviewPayload, roomId?: string): void;
343
450
  /**
344
451
  * Shape checks for a `room.update` payload. State-dependent rules — room
345
452
  * status, effective time ordering against the current contract — remain
@@ -355,15 +462,17 @@ export declare function validateRoomMemberRemovePayload(payload: RoomMemberRemov
355
462
  export declare class TypeRegistry {
356
463
  private readonly types;
357
464
  /**
358
- * Materializes a registry from declarations, resolving pack imports from
359
- * `packs`, keyed by registered pack id or external pack URI.
465
+ * Materializes a registry from the `room.create` declarations, resolving
466
+ * pack imports from `packs`, keyed by registered pack id or external pack
467
+ * URI. A type name may appear only once across these declarations.
360
468
  */
361
469
  static fromDeclarations(declarations: TypeDeclaration[], packs?: Record<string, Pack>): TypeRegistry;
362
470
  /**
363
- * Applies one declaration: an inline definition or a pack import.
364
- * Redefining an existing type replaces it; the latest definition wins.
471
+ * Applies one declaration — an inline definition or a pack import — and
472
+ * returns the type names it declared. Declaring an existing type is a
473
+ * redefinition: it must keep the type's kind, and the latest definition wins.
365
474
  */
366
- apply(declaration: TypeDeclaration, packs?: Record<string, Pack>): void;
475
+ apply(declaration: TypeDeclaration, packs?: Record<string, Pack>): string[];
367
476
  define(def: TypeDef): void;
368
477
  private import;
369
478
  get(type: string): TypeDef | undefined;
@@ -383,12 +492,25 @@ export declare function validateEventAgainstRegistry(type: string, payload: unkn
383
492
  * Supports `sha256` and `sha3-256`.
384
493
  */
385
494
  export declare function verifyPackDigest(bytes: Uint8Array, digest: string): void;
386
- export declare function serverRecordHashPayload(roomId: string, seq: number, preHash: string | null | undefined, envelopeHash: string, receivedAt: number): ServerRecordHashPayload;
387
- export declare function serverRecordHash(roomId: string, seq: number, preHash: string | null | undefined, envelopeHash: string, receivedAt: number): string;
388
- export declare function buildServerRecord<P>(roomId: string, seq: number, preHash: string | null | undefined, receivedAt: number, envelope: Envelope<P>): ServerRecord<P>;
389
- export declare function verifyServerRecord(record: ServerRecord): void;
390
- export declare function verifyServerRecordChain(records: ServerRecord[]): void;
391
- export declare function archiveEventsDigest(records: ServerRecord[]): string;
495
+ export declare function serverRecordHashPayload(roomId: string, seq: number, preHash: string | null | undefined, envelopeHash: string, acceptedAt: number): ServerRecordHashPayload;
496
+ export declare function serverRecordHash(roomId: string, seq: number, preHash: string | null | undefined, envelopeHash: string, acceptedAt: number): string;
497
+ export declare function buildServerRecord<P>(roomId: string, seq: number, preHash: string | null | undefined, acceptedAt: number, envelope: Envelope<P>): ServerRecord<P>;
498
+ export declare function isRedactedEnvelope(value: unknown): value is RedactedEnvelope;
499
+ export declare function isRedactedRecord(record: ArchiveRecord): record is RedactedServerRecord;
500
+ /**
501
+ * Replaces a record's envelope with its redacted form (Section 14.1). Only
502
+ * `message.create` and custom-type records may be redacted.
503
+ */
504
+ export declare function redactServerRecord(record: ServerRecord): RedactedServerRecord;
505
+ export declare function verifyServerRecord(record: ArchiveRecord): void;
506
+ export declare function verifyServerRecordChain(records: ArchiveRecord[]): void;
507
+ /**
508
+ * Archive verification steps 1–3 (Section 18): a gap-free chain from seq 1 to
509
+ * `last_seq` ending in `last_hash`, and a valid signature on every record that
510
+ * is not redacted. Returns the sequence numbers of redacted records, which
511
+ * verifiers must report. State replay (step 4) is the caller's.
512
+ */
513
+ export declare function verifyArchiveRecords(manifest: ArchiveManifest, records: ArchiveRecord[]): number[];
392
514
  /** Default sender roles for each kind. The creator passes every role check. */
393
515
  export declare function defaultKindRoles(kind: TypeKind): readonly Role[];
394
516
  /**
@@ -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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"}