@semiont/core 0.5.3 → 0.5.4

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 (89) hide show
  1. package/dist/annotation-assembly.d.ts +54 -0
  2. package/dist/annotation-assembly.d.ts.map +1 -0
  3. package/dist/annotation-types.d.ts +30 -0
  4. package/dist/annotation-types.d.ts.map +1 -0
  5. package/dist/annotation-utils.d.ts +43 -0
  6. package/dist/annotation-utils.d.ts.map +1 -0
  7. package/dist/auth-types.d.ts +8 -0
  8. package/dist/auth-types.d.ts.map +1 -0
  9. package/dist/branded-types.d.ts +70 -0
  10. package/dist/branded-types.d.ts.map +1 -0
  11. package/dist/bridged-channels.d.ts +18 -0
  12. package/dist/bridged-channels.d.ts.map +1 -0
  13. package/dist/bus-log.d.ts +25 -0
  14. package/dist/bus-log.d.ts.map +1 -0
  15. package/dist/bus-protocol.d.ts +510 -0
  16. package/dist/bus-protocol.d.ts.map +1 -0
  17. package/dist/{config.types-oPv3Ajk-.d.ts → config/config.types.d.ts} +25 -23
  18. package/dist/config/config.types.d.ts.map +1 -0
  19. package/dist/config/configuration-error.d.ts +17 -0
  20. package/dist/config/configuration-error.d.ts.map +1 -0
  21. package/dist/config/environment-validator.d.ts +28 -0
  22. package/dist/config/environment-validator.d.ts.map +1 -0
  23. package/dist/config/node-config-loader.d.ts +4 -74
  24. package/dist/config/node-config-loader.d.ts.map +1 -0
  25. package/dist/config/platform-types.d.ts +26 -0
  26. package/dist/config/platform-types.d.ts.map +1 -0
  27. package/dist/config/toml-loader.d.ts +59 -0
  28. package/dist/config/toml-loader.d.ts.map +1 -0
  29. package/dist/did-utils.d.ts +76 -0
  30. package/dist/did-utils.d.ts.map +1 -0
  31. package/dist/errors.d.ts +48 -0
  32. package/dist/errors.d.ts.map +1 -0
  33. package/dist/event-base.d.ts +70 -0
  34. package/dist/event-base.d.ts.map +1 -0
  35. package/dist/event-bus.d.ts +141 -0
  36. package/dist/event-bus.d.ts.map +1 -0
  37. package/dist/event-utils.d.ts +43 -0
  38. package/dist/event-utils.d.ts.map +1 -0
  39. package/dist/fuzzy-anchor.d.ts +81 -0
  40. package/dist/fuzzy-anchor.d.ts.map +1 -0
  41. package/dist/graph.d.ts +44 -0
  42. package/dist/graph.d.ts.map +1 -0
  43. package/dist/id-generation.d.ts +8 -0
  44. package/dist/id-generation.d.ts.map +1 -0
  45. package/dist/identifiers.d.ts +24 -0
  46. package/dist/identifiers.d.ts.map +1 -0
  47. package/dist/index.d.ts +59 -6022
  48. package/dist/index.d.ts.map +1 -0
  49. package/dist/index.js +41 -19
  50. package/dist/index.js.map +1 -1
  51. package/dist/locales.d.ts +31 -0
  52. package/dist/locales.d.ts.map +1 -0
  53. package/dist/logger.d.ts +56 -0
  54. package/dist/logger.d.ts.map +1 -0
  55. package/dist/mime-utils.d.ts +38 -0
  56. package/dist/mime-utils.d.ts.map +1 -0
  57. package/dist/operators/burst-buffer.d.ts +61 -0
  58. package/dist/operators/burst-buffer.d.ts.map +1 -0
  59. package/dist/payload-types.d.ts +16 -0
  60. package/dist/payload-types.d.ts.map +1 -0
  61. package/dist/persisted-events.d.ts +76 -0
  62. package/dist/persisted-events.d.ts.map +1 -0
  63. package/dist/project.d.ts +69 -0
  64. package/dist/project.d.ts.map +1 -0
  65. package/dist/resource-types.d.ts +15 -0
  66. package/dist/resource-types.d.ts.map +1 -0
  67. package/dist/resource-utils.d.ts +97 -0
  68. package/dist/resource-utils.d.ts.map +1 -0
  69. package/dist/serialize-per-key.d.ts +51 -0
  70. package/dist/serialize-per-key.d.ts.map +1 -0
  71. package/dist/svg-utils.d.ts +44 -0
  72. package/dist/svg-utils.d.ts.map +1 -0
  73. package/dist/tag-schemas.d.ts +27 -0
  74. package/dist/tag-schemas.d.ts.map +1 -0
  75. package/dist/text-context.d.ts +85 -0
  76. package/dist/text-context.d.ts.map +1 -0
  77. package/dist/text-encoding.d.ts +34 -0
  78. package/dist/text-encoding.d.ts.map +1 -0
  79. package/dist/transport.d.ts +274 -0
  80. package/dist/transport.d.ts.map +1 -0
  81. package/dist/type-guards.d.ts +44 -0
  82. package/dist/type-guards.d.ts.map +1 -0
  83. package/dist/types.d.ts +3517 -0
  84. package/dist/types.d.ts.map +1 -0
  85. package/dist/validation.d.ts +57 -0
  86. package/dist/validation.d.ts.map +1 -0
  87. package/dist/web-annotation-utils.d.ts +154 -0
  88. package/dist/web-annotation-utils.d.ts.map +1 -0
  89. package/package.json +3 -3
@@ -0,0 +1,510 @@
1
+ /**
2
+ * Bus Protocol
3
+ *
4
+ * The complete EventMap for the RxJS EventBus. Every channel name and
5
+ * its payload type is defined here — domain events, commands, reads,
6
+ * results, SSE stream payloads, and frontend UI events.
7
+ *
8
+ * Identifier discipline: where a payload carries an annotation or
9
+ * resource id, the TypeScript layer narrows the OpenAPI `string` to the
10
+ * branded type (`AnnotationId`, `ResourceId`, `UserId`). The runtime
11
+ * wire shape is unchanged (brands have no runtime representation);
12
+ * what this buys us is that command handlers don't have to re-brand
13
+ * at every seam. Brand once at the entry boundary (HTTP route handler,
14
+ * DOM attribute read, URL param parse), not at every bus hop in
15
+ * between. See `.plans/BRAND-UPSTREAM.md` for the rationale.
16
+ *
17
+ * Organized by flow (verb), then by category within each flow.
18
+ */
19
+ import type { components } from './types';
20
+ import type { AnnotationId, ResourceId } from './identifiers';
21
+ import type { StoredEvent } from './event-base';
22
+ import type { EventOfType } from './persisted-events';
23
+ type MarkDeleteCommand = components['schemas']['MarkDeleteCommand'] & {
24
+ annotationId: AnnotationId;
25
+ resourceId?: ResourceId;
26
+ };
27
+ type MarkUpdateBodyCommand = components['schemas']['MarkUpdateBodyCommand'] & {
28
+ annotationId: AnnotationId;
29
+ resourceId: ResourceId;
30
+ };
31
+ type BindInitiateCommand = components['schemas']['BindInitiateCommand'] & {
32
+ annotationId: AnnotationId;
33
+ resourceId: ResourceId;
34
+ };
35
+ type BindUpdateBodyCommand = components['schemas']['BindUpdateBodyCommand'] & {
36
+ annotationId: AnnotationId;
37
+ resourceId: ResourceId;
38
+ };
39
+ /**
40
+ * The unified EventMap — every channel on the EventBus.
41
+ *
42
+ * Convention:
43
+ * - Domain events (past tense): StoredEvent<Interface> — branded types
44
+ * - Commands/reads/results/UI: OpenAPI schema refs — plain strings
45
+ * - void: UI-only signals with no payload
46
+ */
47
+ export type EventMap = {
48
+ 'yield:created': StoredEvent<EventOfType<'yield:created'>>;
49
+ 'yield:cloned': StoredEvent<EventOfType<'yield:cloned'>>;
50
+ 'yield:updated': StoredEvent<EventOfType<'yield:updated'>>;
51
+ 'yield:moved': StoredEvent<EventOfType<'yield:moved'>>;
52
+ 'yield:representation-added': StoredEvent<EventOfType<'yield:representation-added'>>;
53
+ 'yield:representation-removed': StoredEvent<EventOfType<'yield:representation-removed'>>;
54
+ 'yield:create': components['schemas']['YieldCreateCommand'];
55
+ 'yield:update': components['schemas']['YieldUpdateCommand'];
56
+ 'yield:mv': components['schemas']['YieldMvCommand'];
57
+ 'yield:clone': void;
58
+ 'yield:clone-token-requested': components['schemas']['YieldCloneTokenRequest'];
59
+ 'yield:clone-resource-requested': components['schemas']['YieldCloneResourceRequest'];
60
+ 'yield:clone-create': components['schemas']['YieldCloneCreateCommand'];
61
+ 'yield:create-ok': components['schemas']['YieldCreateOk'];
62
+ 'yield:create-failed': components['schemas']['CommandError'];
63
+ 'yield:update-ok': components['schemas']['YieldUpdateOk'];
64
+ 'yield:update-failed': components['schemas']['YieldUpdateOk'] & components['schemas']['CommandError'];
65
+ 'yield:move-ok': components['schemas']['YieldMoveOk'];
66
+ 'yield:move-failed': {
67
+ fromUri: string;
68
+ } & components['schemas']['CommandError'];
69
+ 'yield:clone-token-generated': {
70
+ correlationId: string;
71
+ response: components['schemas']['CloneResourceWithTokenResponse'];
72
+ };
73
+ 'yield:clone-token-failed': {
74
+ correlationId: string;
75
+ } & components['schemas']['CommandError'];
76
+ 'yield:clone-resource-result': {
77
+ correlationId: string;
78
+ response: components['schemas']['GetResourceByTokenResponse'];
79
+ };
80
+ 'yield:clone-resource-failed': {
81
+ correlationId: string;
82
+ } & components['schemas']['CommandError'];
83
+ 'yield:clone-created': components['schemas']['YieldCloneCreated'];
84
+ 'yield:clone-create-failed': {
85
+ correlationId: string;
86
+ } & components['schemas']['CommandError'];
87
+ 'mark:added': StoredEvent<EventOfType<'mark:added'>>;
88
+ 'mark:removed': StoredEvent<EventOfType<'mark:removed'>>;
89
+ 'mark:body-updated': StoredEvent<EventOfType<'mark:body-updated'>>;
90
+ 'mark:entity-tag-added': StoredEvent<EventOfType<'mark:entity-tag-added'>>;
91
+ 'mark:entity-tag-removed': StoredEvent<EventOfType<'mark:entity-tag-removed'>>;
92
+ 'mark:archived': StoredEvent<EventOfType<'mark:archived'>>;
93
+ 'mark:unarchived': StoredEvent<EventOfType<'mark:unarchived'>>;
94
+ 'mark:create-request': components['schemas']['MarkCreateRequest'];
95
+ 'mark:create': components['schemas']['MarkCreateCommand'];
96
+ 'mark:delete': MarkDeleteCommand;
97
+ 'mark:update-body': MarkUpdateBodyCommand;
98
+ 'mark:archive': components['schemas']['MarkArchiveCommand'];
99
+ 'mark:unarchive': components['schemas']['MarkUnarchiveCommand'];
100
+ 'mark:update-entity-types': components['schemas']['MarkUpdateEntityTypesCommand'];
101
+ 'mark:create-ok': components['schemas']['MarkCreateOk'];
102
+ 'mark:create-failed': components['schemas']['CommandError'];
103
+ 'mark:delete-ok': components['schemas']['MarkDeleteOk'];
104
+ 'mark:delete-failed': components['schemas']['CommandError'];
105
+ 'mark:body-update-failed': components['schemas']['CommandError'];
106
+ 'mark:select-comment': components['schemas']['SelectionData'];
107
+ 'mark:select-tag': components['schemas']['SelectionData'];
108
+ 'mark:select-assessment': components['schemas']['SelectionData'];
109
+ 'mark:select-reference': components['schemas']['SelectionData'];
110
+ 'mark:requested': components['schemas']['MarkRequestedEvent'];
111
+ 'mark:cancel-pending': void;
112
+ 'mark:submit': components['schemas']['MarkSubmitEvent'];
113
+ 'mark:assist-request': components['schemas']['MarkAssistRequestEvent'];
114
+ 'mark:assist-cancelled': void;
115
+ 'mark:progress-dismiss': void;
116
+ 'mark:mode-toggled': void;
117
+ 'mark:selection-changed': components['schemas']['MarkSelectionChangedEvent'];
118
+ 'mark:click-changed': components['schemas']['MarkClickChangedEvent'];
119
+ 'mark:shape-changed': components['schemas']['MarkShapeChangedEvent'];
120
+ 'frame:entity-type-added': StoredEvent<EventOfType<'frame:entity-type-added'>>;
121
+ 'frame:tag-schema-added': StoredEvent<EventOfType<'frame:tag-schema-added'>>;
122
+ 'frame:add-entity-type': components['schemas']['FrameAddEntityTypeCommand'];
123
+ 'frame:add-tag-schema': components['schemas']['FrameAddTagSchemaCommand'];
124
+ 'frame:entity-type-add-failed': components['schemas']['CommandError'];
125
+ 'frame:tag-schema-add-failed': components['schemas']['CommandError'];
126
+ 'bind:initiate': BindInitiateCommand;
127
+ 'bind:update-body': BindUpdateBodyCommand;
128
+ 'bind:body-updated': components['schemas']['BindBodyUpdated'];
129
+ 'bind:body-update-failed': components['schemas']['CommandError'];
130
+ 'match:search-requested': components['schemas']['MatchSearchRequest'];
131
+ 'match:search-results': components['schemas']['MatchSearchResult'];
132
+ 'match:search-failed': components['schemas']['MatchSearchFailed'];
133
+ 'gather:requested': components['schemas']['GatherAnnotationRequest'];
134
+ 'gather:complete': components['schemas']['GatherAnnotationComplete'];
135
+ 'gather:failed': {
136
+ correlationId: string;
137
+ annotationId: string;
138
+ } & components['schemas']['CommandError'];
139
+ 'gather:resource-requested': components['schemas']['GatherResourceRequest'];
140
+ 'gather:resource-complete': components['schemas']['GatherResourceComplete'];
141
+ 'gather:resource-failed': {
142
+ correlationId: string;
143
+ resourceId: string;
144
+ } & components['schemas']['CommandError'];
145
+ 'gather:summary-requested': components['schemas']['GatherSummaryRequest'];
146
+ 'gather:summary-result': {
147
+ correlationId: string;
148
+ response: Record<string, unknown>;
149
+ };
150
+ 'gather:summary-failed': {
151
+ correlationId: string;
152
+ } & components['schemas']['CommandError'];
153
+ 'gather:annotation-progress': components['schemas']['GatherProgress'];
154
+ 'gather:annotation-finished': components['schemas']['GatherAnnotationFinished'];
155
+ 'gather:progress': components['schemas']['GatherProgress'];
156
+ 'gather:finished': components['schemas']['GatherFinished'];
157
+ 'browse:resource-requested': components['schemas']['BrowseResourceRequest'];
158
+ 'browse:resource-result': components['schemas']['BrowseResourceResult'];
159
+ 'browse:resource-failed': {
160
+ correlationId: string;
161
+ } & components['schemas']['CommandError'];
162
+ 'browse:resources-requested': components['schemas']['BrowseResourcesRequest'];
163
+ 'browse:resources-result': components['schemas']['BrowseResourcesResult'];
164
+ 'browse:resources-failed': {
165
+ correlationId: string;
166
+ } & components['schemas']['CommandError'];
167
+ 'browse:annotations-requested': components['schemas']['BrowseAnnotationsRequest'];
168
+ 'browse:annotations-result': components['schemas']['BrowseAnnotationsResult'];
169
+ 'browse:annotations-failed': {
170
+ correlationId: string;
171
+ } & components['schemas']['CommandError'];
172
+ 'browse:annotation-requested': components['schemas']['BrowseAnnotationRequest'];
173
+ 'browse:annotation-result': components['schemas']['BrowseAnnotationResult'];
174
+ 'browse:annotation-failed': {
175
+ correlationId: string;
176
+ } & components['schemas']['CommandError'];
177
+ 'browse:events-requested': components['schemas']['BrowseEventsRequest'];
178
+ 'browse:events-result': components['schemas']['BrowseEventsResult'];
179
+ 'browse:events-failed': {
180
+ correlationId: string;
181
+ } & components['schemas']['CommandError'];
182
+ 'browse:annotation-history-requested': components['schemas']['BrowseAnnotationHistoryRequest'];
183
+ 'browse:annotation-history-result': components['schemas']['BrowseAnnotationHistoryResult'];
184
+ 'browse:annotation-history-failed': {
185
+ correlationId: string;
186
+ } & components['schemas']['CommandError'];
187
+ 'browse:annotation-context-requested': components['schemas']['BrowseAnnotationContextRequest'];
188
+ 'browse:annotation-context-result': {
189
+ correlationId: string;
190
+ response: Record<string, unknown>;
191
+ };
192
+ 'browse:annotation-context-failed': {
193
+ correlationId: string;
194
+ } & components['schemas']['CommandError'];
195
+ 'browse:referenced-by-requested': components['schemas']['BrowseReferencedByRequest'];
196
+ 'browse:referenced-by-result': components['schemas']['BrowseReferencedByResult'];
197
+ 'browse:referenced-by-failed': {
198
+ correlationId: string;
199
+ } & components['schemas']['CommandError'];
200
+ 'browse:entity-types-requested': components['schemas']['BrowseEntityTypesRequest'];
201
+ 'browse:entity-types-result': components['schemas']['BrowseEntityTypesResult'];
202
+ 'browse:entity-types-failed': {
203
+ correlationId: string;
204
+ } & components['schemas']['CommandError'];
205
+ 'browse:tag-schemas-requested': components['schemas']['BrowseTagSchemasRequest'];
206
+ 'browse:tag-schemas-result': components['schemas']['BrowseTagSchemasResult'];
207
+ 'browse:tag-schemas-failed': {
208
+ correlationId: string;
209
+ } & components['schemas']['CommandError'];
210
+ 'browse:directory-requested': components['schemas']['BrowseDirectoryRequest'];
211
+ 'browse:directory-result': components['schemas']['BrowseDirectoryResult'];
212
+ 'browse:directory-failed': {
213
+ correlationId: string;
214
+ path: string;
215
+ } & components['schemas']['CommandError'];
216
+ 'browse:click': components['schemas']['BrowseClickEvent'];
217
+ 'browse:reference-navigate': components['schemas']['BrowseReferenceNavigateEvent'];
218
+ 'browse:entity-type-clicked': components['schemas']['BrowseEntityTypeClickedEvent'];
219
+ 'panel:toggle': components['schemas']['BrowsePanelToggleEvent'];
220
+ 'panel:open': components['schemas']['BrowsePanelOpenEvent'];
221
+ 'panel:close': void;
222
+ 'shell:sidebar-toggle': void;
223
+ 'tabs:close': components['schemas']['BrowseResourceCloseEvent'];
224
+ 'tabs:reorder': components['schemas']['BrowseResourceReorderEvent'];
225
+ 'nav:link-clicked': components['schemas']['BrowseLinkClickedEvent'];
226
+ 'nav:push': components['schemas']['BrowseRouterPushEvent'];
227
+ 'nav:external': components['schemas']['BrowseExternalNavigateEvent'] & {
228
+ cancelFallback: () => void;
229
+ };
230
+ 'beckon:hover': components['schemas']['BeckonHoverEvent'];
231
+ 'beckon:focus': components['schemas']['BeckonFocusEvent'];
232
+ 'beckon:sparkle': components['schemas']['BeckonSparkleEvent'];
233
+ 'job:started': StoredEvent<EventOfType<'job:started'>>;
234
+ 'job:progress': StoredEvent<EventOfType<'job:progress'>>;
235
+ 'job:completed': StoredEvent<EventOfType<'job:completed'>>;
236
+ 'job:failed': StoredEvent<EventOfType<'job:failed'>>;
237
+ 'job:start': components['schemas']['JobStartCommand'];
238
+ 'job:report-progress': components['schemas']['JobReportProgressCommand'];
239
+ 'job:complete': components['schemas']['JobCompleteCommand'];
240
+ 'job:fail': components['schemas']['JobFailCommand'];
241
+ 'job:queued': components['schemas']['JobQueuedEvent'];
242
+ 'job:cancel-requested': components['schemas']['JobCancelRequest'];
243
+ 'job:status-requested': components['schemas']['JobStatusRequest'];
244
+ 'job:create': components['schemas']['JobCreateCommand'];
245
+ 'job:claim': components['schemas']['JobClaimCommand'];
246
+ 'job:status-result': components['schemas']['JobStatusResult'];
247
+ 'job:status-failed': {
248
+ correlationId: string;
249
+ } & components['schemas']['CommandError'];
250
+ 'job:created': components['schemas']['JobCreatedResult'];
251
+ 'job:create-failed': {
252
+ correlationId: string;
253
+ } & components['schemas']['CommandError'];
254
+ 'job:claimed': {
255
+ correlationId: string;
256
+ response: Record<string, unknown>;
257
+ };
258
+ 'job:claim-failed': {
259
+ correlationId: string;
260
+ } & components['schemas']['CommandError'];
261
+ 'settings:theme-changed': components['schemas']['SettingsThemeChangedEvent'];
262
+ 'settings:line-numbers-toggled': void;
263
+ 'settings:locale-changed': components['schemas']['SettingsLocaleChangedEvent'];
264
+ 'settings:hover-delay-changed': components['schemas']['SettingsHoverDelayChangedEvent'];
265
+ 'stream-connected': Record<string, never>;
266
+ 'replay-window-exceeded': {
267
+ resourceId?: string;
268
+ lastEventId: number;
269
+ missedCount: number;
270
+ cap: number;
271
+ message: string;
272
+ };
273
+ /**
274
+ * Emitted by the `/bus/subscribe` handler when a client reconnected
275
+ * with `Last-Event-ID: p-<scope>-<seq>` but the server could not
276
+ * replay all missed persisted events for that scope (retention
277
+ * window exceeded, scope unknown, or request unparseable). The
278
+ * client should treat this as a signal to fall back to the pre-
279
+ * resumption contract: invalidate caches for the affected scope
280
+ * and re-read from scratch. Analogous to `replay-window-exceeded`
281
+ * but scoped to the bus gateway rather than the per-resource
282
+ * events stream.
283
+ *
284
+ * `scope` is the scope string the client asked about (omitted for
285
+ * global-persisted resumption gaps, if that path ever exists).
286
+ * `reason` is human-readable, for logging.
287
+ */
288
+ 'bus:resume-gap': {
289
+ scope?: string;
290
+ lastSeenId?: string;
291
+ reason: string;
292
+ };
293
+ };
294
+ /** Any valid channel name on the EventBus. */
295
+ export type EventName = keyof EventMap;
296
+ /**
297
+ * Genuine resource-bound broadcast event types.
298
+ *
299
+ * Publishers emit these on the scoped EventBus (`eventBus.scope(resourceId)`)
300
+ * because every participant viewing the resource should receive them — not
301
+ * just the caller who triggered the originating action. Examples: resource
302
+ * generation progress, which multiple viewers of a generating resource all
303
+ * want to see.
304
+ *
305
+ * Non-broadcast progress (AI-assist progress for one user, search results
306
+ * for one caller) does NOT belong here. Those are per-caller correlation-ID
307
+ * responses and publish globally — the caller filters by `correlationId`.
308
+ *
309
+ * The frontend's `subscribeToResource(id)` wires these channels via
310
+ * `scope=id&scoped=<channel>` so the SSE route delivers them to that
311
+ * participant. WorkerStateUnit uses this list to decide which emitted events to
312
+ * scope to their resource.
313
+ */
314
+ /**
315
+ * Audit note (SIMPLE-BUS Phase 3 close): `yield:progress` was
316
+ * considered for inclusion but has only one consumer — the
317
+ * yield-initiator's Observable in `packages/api-client/src/namespaces/yield.ts`.
318
+ * No viewer of the resource other than the initiator subscribes to
319
+ * progress. Scoping therefore serves no fan-out-narrowing purpose for
320
+ * that channel, so it stays global (as a correlation-ID-shaped
321
+ * response, filtered by `referenceId`). Only `yield:finished` and
322
+ * `yield:failed` have a genuine multi-participant consumer (the
323
+ * ResourceViewerPage toast on the source resource).
324
+ */
325
+ export declare const RESOURCE_BROADCAST_TYPES: readonly ["job:complete", "job:fail"];
326
+ export type ResourceBroadcastType = typeof RESOURCE_BROADCAST_TYPES[number];
327
+ /**
328
+ * Authoritative map from bus channel to OpenAPI schema name.
329
+ *
330
+ * Every {@link EventName} must appear. The `satisfies` clause below
331
+ * enforces completeness at compile time — adding a channel to
332
+ * {@link EventMap} without adding an entry here is a build error.
333
+ *
334
+ * Values:
335
+ * - `<SchemaName>`: payload validates against `components['schemas'][SchemaName]`.
336
+ * - `null`: no single-schema validation. Used for branded
337
+ * `StoredEvent` wrappers, `void` UI signals, and compound inline
338
+ * types (e.g. `{ correlationId } & CommandError`). These are not
339
+ * validated by `/bus/emit`.
340
+ *
341
+ * The `/bus/emit` route reads this map to validate incoming payloads.
342
+ * Consumers can also use it to do client-side pre-flight validation
343
+ * before emitting.
344
+ */
345
+ export declare const CHANNEL_SCHEMAS: {
346
+ readonly 'yield:created': null;
347
+ readonly 'yield:cloned': null;
348
+ readonly 'yield:updated': null;
349
+ readonly 'yield:moved': null;
350
+ readonly 'yield:representation-added': null;
351
+ readonly 'yield:representation-removed': null;
352
+ readonly 'yield:create': "YieldCreateCommand";
353
+ readonly 'yield:update': "YieldUpdateCommand";
354
+ readonly 'yield:mv': "YieldMvCommand";
355
+ readonly 'yield:clone': null;
356
+ readonly 'yield:clone-token-requested': "YieldCloneTokenRequest";
357
+ readonly 'yield:clone-resource-requested': "YieldCloneResourceRequest";
358
+ readonly 'yield:clone-create': "YieldCloneCreateCommand";
359
+ readonly 'yield:create-ok': "YieldCreateOk";
360
+ readonly 'yield:create-failed': "CommandError";
361
+ readonly 'yield:update-ok': "YieldUpdateOk";
362
+ readonly 'yield:update-failed': null;
363
+ readonly 'yield:move-ok': "YieldMoveOk";
364
+ readonly 'yield:move-failed': null;
365
+ readonly 'yield:clone-token-generated': null;
366
+ readonly 'yield:clone-token-failed': null;
367
+ readonly 'yield:clone-resource-result': null;
368
+ readonly 'yield:clone-resource-failed': null;
369
+ readonly 'yield:clone-created': "YieldCloneCreated";
370
+ readonly 'yield:clone-create-failed': null;
371
+ readonly 'mark:added': null;
372
+ readonly 'mark:removed': null;
373
+ readonly 'mark:body-updated': null;
374
+ readonly 'mark:entity-tag-added': null;
375
+ readonly 'mark:entity-tag-removed': null;
376
+ readonly 'frame:entity-type-added': null;
377
+ readonly 'frame:tag-schema-added': null;
378
+ readonly 'mark:archived': null;
379
+ readonly 'mark:unarchived': null;
380
+ readonly 'mark:create-request': "MarkCreateRequest";
381
+ readonly 'mark:create': "MarkCreateCommand";
382
+ readonly 'mark:delete': "MarkDeleteCommand";
383
+ readonly 'mark:update-body': "MarkUpdateBodyCommand";
384
+ readonly 'mark:archive': "MarkArchiveCommand";
385
+ readonly 'mark:unarchive': "MarkUnarchiveCommand";
386
+ readonly 'mark:update-entity-types': "MarkUpdateEntityTypesCommand";
387
+ readonly 'frame:add-entity-type': "FrameAddEntityTypeCommand";
388
+ readonly 'frame:add-tag-schema': "FrameAddTagSchemaCommand";
389
+ readonly 'mark:create-ok': "MarkCreateOk";
390
+ readonly 'mark:create-failed': "CommandError";
391
+ readonly 'mark:delete-ok': "MarkDeleteOk";
392
+ readonly 'mark:delete-failed': "CommandError";
393
+ readonly 'mark:body-update-failed': "CommandError";
394
+ readonly 'frame:entity-type-add-failed': "CommandError";
395
+ readonly 'frame:tag-schema-add-failed': "CommandError";
396
+ readonly 'mark:select-comment': "SelectionData";
397
+ readonly 'mark:select-tag': "SelectionData";
398
+ readonly 'mark:select-assessment': "SelectionData";
399
+ readonly 'mark:select-reference': "SelectionData";
400
+ readonly 'mark:requested': "MarkRequestedEvent";
401
+ readonly 'mark:cancel-pending': null;
402
+ readonly 'mark:submit': "MarkSubmitEvent";
403
+ readonly 'mark:assist-request': "MarkAssistRequestEvent";
404
+ readonly 'mark:assist-cancelled': null;
405
+ readonly 'mark:progress-dismiss': null;
406
+ readonly 'mark:mode-toggled': null;
407
+ readonly 'mark:selection-changed': "MarkSelectionChangedEvent";
408
+ readonly 'mark:click-changed': "MarkClickChangedEvent";
409
+ readonly 'mark:shape-changed': "MarkShapeChangedEvent";
410
+ readonly 'bind:initiate': "BindInitiateCommand";
411
+ readonly 'bind:update-body': "BindUpdateBodyCommand";
412
+ readonly 'bind:body-updated': "BindBodyUpdated";
413
+ readonly 'bind:body-update-failed': "CommandError";
414
+ readonly 'match:search-requested': "MatchSearchRequest";
415
+ readonly 'match:search-results': "MatchSearchResult";
416
+ readonly 'match:search-failed': "MatchSearchFailed";
417
+ readonly 'gather:requested': "GatherAnnotationRequest";
418
+ readonly 'gather:complete': "GatherAnnotationComplete";
419
+ readonly 'gather:failed': null;
420
+ readonly 'gather:resource-requested': "GatherResourceRequest";
421
+ readonly 'gather:resource-complete': "GatherResourceComplete";
422
+ readonly 'gather:resource-failed': null;
423
+ readonly 'gather:summary-requested': "GatherSummaryRequest";
424
+ readonly 'gather:summary-result': null;
425
+ readonly 'gather:summary-failed': null;
426
+ readonly 'gather:annotation-progress': "GatherProgress";
427
+ readonly 'gather:annotation-finished': "GatherAnnotationFinished";
428
+ readonly 'gather:progress': "GatherProgress";
429
+ readonly 'gather:finished': "GatherFinished";
430
+ readonly 'browse:resource-requested': "BrowseResourceRequest";
431
+ readonly 'browse:resource-result': "BrowseResourceResult";
432
+ readonly 'browse:resource-failed': null;
433
+ readonly 'browse:resources-requested': "BrowseResourcesRequest";
434
+ readonly 'browse:resources-result': "BrowseResourcesResult";
435
+ readonly 'browse:resources-failed': null;
436
+ readonly 'browse:annotations-requested': "BrowseAnnotationsRequest";
437
+ readonly 'browse:annotations-result': "BrowseAnnotationsResult";
438
+ readonly 'browse:annotations-failed': null;
439
+ readonly 'browse:annotation-requested': "BrowseAnnotationRequest";
440
+ readonly 'browse:annotation-result': "BrowseAnnotationResult";
441
+ readonly 'browse:annotation-failed': null;
442
+ readonly 'browse:events-requested': "BrowseEventsRequest";
443
+ readonly 'browse:events-result': "BrowseEventsResult";
444
+ readonly 'browse:events-failed': null;
445
+ readonly 'browse:annotation-history-requested': "BrowseAnnotationHistoryRequest";
446
+ readonly 'browse:annotation-history-result': "BrowseAnnotationHistoryResult";
447
+ readonly 'browse:annotation-history-failed': null;
448
+ readonly 'browse:annotation-context-requested': "BrowseAnnotationContextRequest";
449
+ readonly 'browse:annotation-context-result': null;
450
+ readonly 'browse:annotation-context-failed': null;
451
+ readonly 'browse:referenced-by-requested': "BrowseReferencedByRequest";
452
+ readonly 'browse:referenced-by-result': "BrowseReferencedByResult";
453
+ readonly 'browse:referenced-by-failed': null;
454
+ readonly 'browse:entity-types-requested': "BrowseEntityTypesRequest";
455
+ readonly 'browse:entity-types-result': "BrowseEntityTypesResult";
456
+ readonly 'browse:entity-types-failed': null;
457
+ readonly 'browse:tag-schemas-requested': "BrowseTagSchemasRequest";
458
+ readonly 'browse:tag-schemas-result': "BrowseTagSchemasResult";
459
+ readonly 'browse:tag-schemas-failed': null;
460
+ readonly 'browse:directory-requested': "BrowseDirectoryRequest";
461
+ readonly 'browse:directory-result': "BrowseDirectoryResult";
462
+ readonly 'browse:directory-failed': null;
463
+ readonly 'browse:click': "BrowseClickEvent";
464
+ readonly 'browse:reference-navigate': "BrowseReferenceNavigateEvent";
465
+ readonly 'browse:entity-type-clicked': "BrowseEntityTypeClickedEvent";
466
+ readonly 'panel:toggle': "BrowsePanelToggleEvent";
467
+ readonly 'panel:open': "BrowsePanelOpenEvent";
468
+ readonly 'panel:close': null;
469
+ readonly 'shell:sidebar-toggle': null;
470
+ readonly 'tabs:close': "BrowseResourceCloseEvent";
471
+ readonly 'tabs:reorder': "BrowseResourceReorderEvent";
472
+ readonly 'nav:link-clicked': "BrowseLinkClickedEvent";
473
+ readonly 'nav:push': "BrowseRouterPushEvent";
474
+ readonly 'nav:external': null;
475
+ readonly 'beckon:hover': "BeckonHoverEvent";
476
+ readonly 'beckon:focus': "BeckonFocusEvent";
477
+ readonly 'beckon:sparkle': "BeckonSparkleEvent";
478
+ readonly 'job:started': null;
479
+ readonly 'job:progress': null;
480
+ readonly 'job:completed': null;
481
+ readonly 'job:failed': null;
482
+ readonly 'job:start': "JobStartCommand";
483
+ readonly 'job:report-progress': "JobReportProgressCommand";
484
+ readonly 'job:complete': "JobCompleteCommand";
485
+ readonly 'job:fail': "JobFailCommand";
486
+ readonly 'job:queued': "JobQueuedEvent";
487
+ readonly 'job:cancel-requested': "JobCancelRequest";
488
+ readonly 'job:status-requested': "JobStatusRequest";
489
+ readonly 'job:create': "JobCreateCommand";
490
+ readonly 'job:claim': "JobClaimCommand";
491
+ readonly 'job:status-result': "JobStatusResult";
492
+ readonly 'job:status-failed': null;
493
+ readonly 'job:created': "JobCreatedResult";
494
+ readonly 'job:create-failed': null;
495
+ readonly 'job:claimed': null;
496
+ readonly 'job:claim-failed': null;
497
+ readonly 'settings:theme-changed': "SettingsThemeChangedEvent";
498
+ readonly 'settings:line-numbers-toggled': null;
499
+ readonly 'settings:locale-changed': "SettingsLocaleChangedEvent";
500
+ readonly 'settings:hover-delay-changed': "SettingsHoverDelayChangedEvent";
501
+ readonly 'stream-connected': null;
502
+ readonly 'replay-window-exceeded': null;
503
+ readonly 'bus:resume-gap': null;
504
+ };
505
+ /** Channels where `/bus/emit` validates the payload (non-null schema). */
506
+ export type EmittableChannel = {
507
+ [K in EventName]: typeof CHANNEL_SCHEMAS[K] extends null ? never : K;
508
+ }[EventName];
509
+ export {};
510
+ //# sourceMappingURL=bus-protocol.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bus-protocol.d.ts","sourceRoot":"","sources":["../src/bus-protocol.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;GAiBG;AAEH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAC1C,OAAO,KAAK,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC9D,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAOtD,KAAK,iBAAiB,GACpB,UAAU,CAAC,SAAS,CAAC,CAAC,mBAAmB,CAAC,GAAG;IAC3C,YAAY,EAAE,YAAY,CAAC;IAC3B,UAAU,CAAC,EAAE,UAAU,CAAC;CACzB,CAAC;AACJ,KAAK,qBAAqB,GACxB,UAAU,CAAC,SAAS,CAAC,CAAC,uBAAuB,CAAC,GAAG;IAC/C,YAAY,EAAE,YAAY,CAAC;IAC3B,UAAU,EAAE,UAAU,CAAC;CACxB,CAAC;AACJ,KAAK,mBAAmB,GACtB,UAAU,CAAC,SAAS,CAAC,CAAC,qBAAqB,CAAC,GAAG;IAC7C,YAAY,EAAE,YAAY,CAAC;IAC3B,UAAU,EAAE,UAAU,CAAC;CACxB,CAAC;AACJ,KAAK,qBAAqB,GACxB,UAAU,CAAC,SAAS,CAAC,CAAC,uBAAuB,CAAC,GAAG;IAC/C,YAAY,EAAE,YAAY,CAAC;IAC3B,UAAU,EAAE,UAAU,CAAC;CACxB,CAAC;AAEJ;;;;;;;GAOG;AACH,MAAM,MAAM,QAAQ,GAAG;IAOrB,eAAe,EAAE,WAAW,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,CAAC;IAC3D,cAAc,EAAE,WAAW,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,CAAC;IACzD,eAAe,EAAE,WAAW,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,CAAC;IAC3D,aAAa,EAAE,WAAW,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC;IACvD,4BAA4B,EAAE,WAAW,CAAC,WAAW,CAAC,4BAA4B,CAAC,CAAC,CAAC;IACrF,8BAA8B,EAAE,WAAW,CAAC,WAAW,CAAC,8BAA8B,CAAC,CAAC,CAAC;IAQzF,cAAc,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,oBAAoB,CAAC,CAAC;IAC5D,cAAc,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,oBAAoB,CAAC,CAAC;IAC5D,UAAU,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,gBAAgB,CAAC,CAAC;IACpD,aAAa,EAAE,IAAI,CAAC;IACpB,6BAA6B,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,wBAAwB,CAAC,CAAC;IAC/E,gCAAgC,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,2BAA2B,CAAC,CAAC;IACrF,oBAAoB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,yBAAyB,CAAC,CAAC;IAGvE,iBAAiB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,eAAe,CAAC,CAAC;IAC1D,qBAAqB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,CAAC;IAC7D,iBAAiB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,eAAe,CAAC,CAAC;IAC1D,qBAAqB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,eAAe,CAAC,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,CAAC;IACtG,eAAe,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,aAAa,CAAC,CAAC;IACtD,mBAAmB,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,CAAC;IACjF,6BAA6B,EAAE;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,gCAAgC,CAAC,CAAA;KAAE,CAAC;IAC5H,0BAA0B,EAAE;QAAE,aAAa,EAAE,MAAM,CAAA;KAAE,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,CAAC;IAC9F,6BAA6B,EAAE;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,4BAA4B,CAAC,CAAA;KAAE,CAAC;IACxH,6BAA6B,EAAE;QAAE,aAAa,EAAE,MAAM,CAAA;KAAE,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,CAAC;IACjG,qBAAqB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,mBAAmB,CAAC,CAAC;IAClE,2BAA2B,EAAE;QAAE,aAAa,EAAE,MAAM,CAAA;KAAE,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,CAAC;IAO/F,YAAY,EAAE,WAAW,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC;IACrD,cAAc,EAAE,WAAW,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,CAAC;IACzD,mBAAmB,EAAE,WAAW,CAAC,WAAW,CAAC,mBAAmB,CAAC,CAAC,CAAC;IACnE,uBAAuB,EAAE,WAAW,CAAC,WAAW,CAAC,uBAAuB,CAAC,CAAC,CAAC;IAC3E,yBAAyB,EAAE,WAAW,CAAC,WAAW,CAAC,yBAAyB,CAAC,CAAC,CAAC;IAC/E,eAAe,EAAE,WAAW,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,CAAC;IAC3D,iBAAiB,EAAE,WAAW,CAAC,WAAW,CAAC,iBAAiB,CAAC,CAAC,CAAC;IAS/D,qBAAqB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,mBAAmB,CAAC,CAAC;IAClE,aAAa,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,mBAAmB,CAAC,CAAC;IAC1D,aAAa,EAAE,iBAAiB,CAAC;IACjC,kBAAkB,EAAE,qBAAqB,CAAC;IAC1C,cAAc,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,oBAAoB,CAAC,CAAC;IAC5D,gBAAgB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,sBAAsB,CAAC,CAAC;IAChE,0BAA0B,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,8BAA8B,CAAC,CAAC;IAGlF,gBAAgB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,CAAC;IACxD,oBAAoB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,CAAC;IAC5D,gBAAgB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,CAAC;IACxD,oBAAoB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,CAAC;IAC5D,yBAAyB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,CAAC;IAGjE,qBAAqB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,eAAe,CAAC,CAAC;IAC9D,iBAAiB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,eAAe,CAAC,CAAC;IAC1D,wBAAwB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,eAAe,CAAC,CAAC;IACjE,uBAAuB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,eAAe,CAAC,CAAC;IAChE,gBAAgB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,oBAAoB,CAAC,CAAC;IAC9D,qBAAqB,EAAE,IAAI,CAAC;IAC5B,aAAa,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,iBAAiB,CAAC,CAAC;IACxD,qBAAqB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,wBAAwB,CAAC,CAAC;IACvE,uBAAuB,EAAE,IAAI,CAAC;IAC9B,uBAAuB,EAAE,IAAI,CAAC;IAC9B,mBAAmB,EAAE,IAAI,CAAC;IAC1B,wBAAwB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,2BAA2B,CAAC,CAAC;IAC7E,oBAAoB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,uBAAuB,CAAC,CAAC;IACrE,oBAAoB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,uBAAuB,CAAC,CAAC;IAQrE,yBAAyB,EAAE,WAAW,CAAC,WAAW,CAAC,yBAAyB,CAAC,CAAC,CAAC;IAC/E,wBAAwB,EAAE,WAAW,CAAC,WAAW,CAAC,wBAAwB,CAAC,CAAC,CAAC;IAG7E,uBAAuB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,2BAA2B,CAAC,CAAC;IAC5E,sBAAsB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,0BAA0B,CAAC,CAAC;IAG1E,8BAA8B,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,CAAC;IACtE,6BAA6B,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,CAAC;IAMrE,eAAe,EAAE,mBAAmB,CAAC;IACrC,kBAAkB,EAAE,qBAAqB,CAAC;IAC1C,mBAAmB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,iBAAiB,CAAC,CAAC;IAC9D,yBAAyB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,CAAC;IAMjE,wBAAwB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,oBAAoB,CAAC,CAAC;IACtE,sBAAsB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,mBAAmB,CAAC,CAAC;IACnE,qBAAqB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,mBAAmB,CAAC,CAAC;IAMlE,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,yBAAyB,CAAC,CAAC;IACrE,iBAAiB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,0BAA0B,CAAC,CAAC;IACrE,eAAe,EAAE;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAA;KAAE,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,CAAC;IACzG,2BAA2B,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,uBAAuB,CAAC,CAAC;IAC5E,0BAA0B,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,wBAAwB,CAAC,CAAC;IAC5E,wBAAwB,EAAE;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,CAAC;IAEhH,0BAA0B,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,sBAAsB,CAAC,CAAC;IAC1E,uBAAuB,EAAE;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAC;IACtF,uBAAuB,EAAE;QAAE,aAAa,EAAE,MAAM,CAAA;KAAE,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,CAAC;IAG3F,4BAA4B,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,gBAAgB,CAAC,CAAC;IACtE,4BAA4B,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,0BAA0B,CAAC,CAAC;IAChF,iBAAiB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,gBAAgB,CAAC,CAAC;IAC3D,iBAAiB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,gBAAgB,CAAC,CAAC;IAO3D,2BAA2B,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,uBAAuB,CAAC,CAAC;IAC5E,wBAAwB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,sBAAsB,CAAC,CAAC;IACxE,wBAAwB,EAAE;QAAE,aAAa,EAAE,MAAM,CAAA;KAAE,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,CAAC;IAE5F,4BAA4B,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,wBAAwB,CAAC,CAAC;IAC9E,yBAAyB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,uBAAuB,CAAC,CAAC;IAC1E,yBAAyB,EAAE;QAAE,aAAa,EAAE,MAAM,CAAA;KAAE,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,CAAC;IAE7F,8BAA8B,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,0BAA0B,CAAC,CAAC;IAClF,2BAA2B,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,yBAAyB,CAAC,CAAC;IAC9E,2BAA2B,EAAE;QAAE,aAAa,EAAE,MAAM,CAAA;KAAE,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,CAAC;IAE/F,6BAA6B,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,yBAAyB,CAAC,CAAC;IAChF,0BAA0B,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,wBAAwB,CAAC,CAAC;IAC5E,0BAA0B,EAAE;QAAE,aAAa,EAAE,MAAM,CAAA;KAAE,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,CAAC;IAE9F,yBAAyB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,qBAAqB,CAAC,CAAC;IACxE,sBAAsB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,oBAAoB,CAAC,CAAC;IACpE,sBAAsB,EAAE;QAAE,aAAa,EAAE,MAAM,CAAA;KAAE,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,CAAC;IAE1F,qCAAqC,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,gCAAgC,CAAC,CAAC;IAC/F,kCAAkC,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,+BAA+B,CAAC,CAAC;IAC3F,kCAAkC,EAAE;QAAE,aAAa,EAAE,MAAM,CAAA;KAAE,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,CAAC;IAEtG,qCAAqC,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,gCAAgC,CAAC,CAAC;IAC/F,kCAAkC,EAAE;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAC;IACjG,kCAAkC,EAAE;QAAE,aAAa,EAAE,MAAM,CAAA;KAAE,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,CAAC;IAEtG,gCAAgC,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,2BAA2B,CAAC,CAAC;IACrF,6BAA6B,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,0BAA0B,CAAC,CAAC;IACjF,6BAA6B,EAAE;QAAE,aAAa,EAAE,MAAM,CAAA;KAAE,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,CAAC;IAEjG,+BAA+B,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,0BAA0B,CAAC,CAAC;IACnF,4BAA4B,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,yBAAyB,CAAC,CAAC;IAC/E,4BAA4B,EAAE;QAAE,aAAa,EAAE,MAAM,CAAA;KAAE,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,CAAC;IAEhG,8BAA8B,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,yBAAyB,CAAC,CAAC;IACjF,2BAA2B,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,wBAAwB,CAAC,CAAC;IAC7E,2BAA2B,EAAE;QAAE,aAAa,EAAE,MAAM,CAAA;KAAE,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,CAAC;IAE/F,4BAA4B,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,wBAAwB,CAAC,CAAC;IAC9E,yBAAyB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,uBAAuB,CAAC,CAAC;IAC1E,yBAAyB,EAAE;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,CAAC;IAG3G,cAAc,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC,CAAC;IAC1D,2BAA2B,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,8BAA8B,CAAC,CAAC;IACnF,4BAA4B,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,8BAA8B,CAAC,CAAC;IAQpF,cAAc,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,wBAAwB,CAAC,CAAC;IAChE,YAAY,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,sBAAsB,CAAC,CAAC;IAC5D,aAAa,EAAE,IAAI,CAAC;IACpB,sBAAsB,EAAE,IAAI,CAAC;IAC7B,YAAY,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,0BAA0B,CAAC,CAAC;IAChE,cAAc,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,4BAA4B,CAAC,CAAC;IACpE,kBAAkB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,wBAAwB,CAAC,CAAC;IACpE,UAAU,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,uBAAuB,CAAC,CAAC;IAC3D,cAAc,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,6BAA6B,CAAC,GAAG;QAAE,cAAc,EAAE,MAAM,IAAI,CAAA;KAAE,CAAC;IAMtG,cAAc,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC,CAAC;IAC1D,cAAc,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC,CAAC;IAC1D,gBAAgB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,oBAAoB,CAAC,CAAC;IAO9D,aAAa,EAAE,WAAW,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC,CAAC;IACvD,cAAc,EAAE,WAAW,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC,CAAC;IACzD,eAAe,EAAE,WAAW,CAAC,WAAW,CAAC,eAAe,CAAC,CAAC,CAAC;IAC3D,YAAY,EAAE,WAAW,CAAC,WAAW,CAAC,YAAY,CAAC,CAAC,CAAC;IAGrD,WAAW,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,iBAAiB,CAAC,CAAC;IACtD,qBAAqB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,0BAA0B,CAAC,CAAC;IACzE,cAAc,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,oBAAoB,CAAC,CAAC;IAC5D,UAAU,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,gBAAgB,CAAC,CAAC;IACpD,YAAY,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,gBAAgB,CAAC,CAAC;IACtD,sBAAsB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC,CAAC;IAClE,sBAAsB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC,CAAC;IAClE,YAAY,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC,CAAC;IACxD,WAAW,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,iBAAiB,CAAC,CAAC;IAGtD,mBAAmB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,iBAAiB,CAAC,CAAC;IAC9D,mBAAmB,EAAE;QAAE,aAAa,EAAE,MAAM,CAAA;KAAE,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,CAAC;IACvF,aAAa,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,kBAAkB,CAAC,CAAC;IACzD,mBAAmB,EAAE;QAAE,aAAa,EAAE,MAAM,CAAA;KAAE,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,CAAC;IACvF,aAAa,EAAE;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAC;IAC5E,kBAAkB,EAAE;QAAE,aAAa,EAAE,MAAM,CAAA;KAAE,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,cAAc,CAAC,CAAC;IAMtF,wBAAwB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,2BAA2B,CAAC,CAAC;IAC7E,+BAA+B,EAAE,IAAI,CAAC;IACtC,yBAAyB,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,4BAA4B,CAAC,CAAC;IAC/E,8BAA8B,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,gCAAgC,CAAC,CAAC;IAMxF,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IAC1C,wBAAwB,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAC1H;;;;;;;;;;;;;;OAcG;IACH,gBAAgB,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAC3E,CAAC;AAEF,8CAA8C;AAC9C,MAAM,MAAM,SAAS,GAAG,MAAM,QAAQ,CAAC;AAEvC;;;;;;;;;;;;;;;;;GAiBG;AACH;;;;;;;;;;GAUG;AACH,eAAO,MAAM,wBAAwB,uCAOI,CAAC;AAE1C,MAAM,MAAM,qBAAqB,GAAG,OAAO,wBAAwB,CAAC,MAAM,CAAC,CAAC;AAE5E;;;;;;;;;;;;;;;;;GAiBG;AACH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAoL8C,CAAC;AAE3E,0EAA0E;AAC1E,MAAM,MAAM,gBAAgB,GAAG;KAC5B,CAAC,IAAI,SAAS,GAAG,OAAO,eAAe,CAAC,CAAC,CAAC,SAAS,IAAI,GAAG,KAAK,GAAG,CAAC;CACrE,CAAC,SAAS,CAAC,CAAC"}