@ixo/topic-protocol 0.4.0 → 0.6.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (38) hide show
  1. package/README.md +5 -3
  2. package/dist/profiles/job-card/profile.json +29 -0
  3. package/dist/schemas/job-card.schema.json +46 -0
  4. package/dist/schemas/topic-contract-state.schema.json +318 -0
  5. package/dist/schemas/topic-file-attachment.schema.json +1 -1
  6. package/dist/schemas/topic-index-entry.schema.json +1 -1
  7. package/dist/schemas/topic-kind-profile.schema.json +82 -0
  8. package/dist/schemas/topic-operation.schema.json +14 -3
  9. package/dist/schemas/topic-preferences.schema.json +47 -2
  10. package/dist/schemas/topic-root.schema.json +9 -3
  11. package/dist/src/contracts/schemas.d.ts +1101 -24
  12. package/dist/src/contracts/schemas.js +6 -0
  13. package/dist/src/contracts/schemas.js.map +1 -1
  14. package/dist/src/contracts/topic-contract.d.ts +152 -0
  15. package/dist/src/contracts/topic-contract.js +104 -0
  16. package/dist/src/contracts/topic-contract.js.map +1 -0
  17. package/dist/src/contracts/topic-kind-profile.d.ts +81 -0
  18. package/dist/src/contracts/topic-kind-profile.js +76 -0
  19. package/dist/src/contracts/topic-kind-profile.js.map +1 -0
  20. package/dist/src/index.d.ts +4 -2
  21. package/dist/src/index.js +3 -1
  22. package/dist/src/index.js.map +1 -1
  23. package/dist/src/indexing/types.d.ts +2 -1
  24. package/dist/src/indexing/types.js.map +1 -1
  25. package/dist/src/matrix/anchors.d.ts +3 -0
  26. package/dist/src/matrix/anchors.js +14 -0
  27. package/dist/src/matrix/anchors.js.map +1 -1
  28. package/dist/src/projector/payload.d.ts +19 -1
  29. package/dist/src/projector/payload.js +74 -0
  30. package/dist/src/projector/payload.js.map +1 -1
  31. package/dist/src/projector/state.js +47 -0
  32. package/dist/src/projector/state.js.map +1 -1
  33. package/dist/src/projector/types.d.ts +49 -6
  34. package/dist/src/projector/types.js +3 -0
  35. package/dist/src/projector/types.js.map +1 -1
  36. package/package.json +4 -2
  37. package/profiles/job-card/README.md +11 -0
  38. package/profiles/job-card/profile.json +29 -0
@@ -128,6 +128,99 @@ export declare const SCHEMA_REGISTRY: Readonly<{
128
128
  };
129
129
  additionalProperties: boolean;
130
130
  };
131
+ "job-card": {
132
+ $schema: string;
133
+ $id: string;
134
+ title: string;
135
+ type: string;
136
+ required: string[];
137
+ properties: {
138
+ version: {
139
+ const: number;
140
+ };
141
+ type: {
142
+ const: string;
143
+ };
144
+ id: {
145
+ type: string;
146
+ pattern: string;
147
+ };
148
+ jobNumber: {
149
+ type: string;
150
+ minLength: number;
151
+ maxLength: number;
152
+ };
153
+ phase: {
154
+ type: string;
155
+ enum: string[];
156
+ };
157
+ priority: {
158
+ type: string;
159
+ enum: string[];
160
+ };
161
+ instructions: {
162
+ type: string;
163
+ minLength: number;
164
+ maxLength: number;
165
+ };
166
+ scheduled: {
167
+ type: string;
168
+ properties: {
169
+ start: {
170
+ $ref: string;
171
+ };
172
+ end: {
173
+ $ref: string;
174
+ };
175
+ };
176
+ additionalProperties: boolean;
177
+ };
178
+ site: {
179
+ $ref: string;
180
+ };
181
+ asset: {
182
+ $ref: string;
183
+ };
184
+ requestedBy: {
185
+ type: string;
186
+ minLength: number;
187
+ maxLength: number;
188
+ };
189
+ assignedTo: {
190
+ type: string;
191
+ uniqueItems: boolean;
192
+ maxItems: number;
193
+ items: {
194
+ type: string;
195
+ minLength: number;
196
+ maxLength: number;
197
+ };
198
+ };
199
+ extensions: {
200
+ type: string;
201
+ };
202
+ };
203
+ additionalProperties: boolean;
204
+ $defs: {
205
+ resourceTarget: {
206
+ type: string;
207
+ required: string[];
208
+ properties: {
209
+ label: {
210
+ type: string;
211
+ minLength: number;
212
+ maxLength: number;
213
+ };
214
+ id: {
215
+ type: string;
216
+ minLength: number;
217
+ maxLength: number;
218
+ };
219
+ };
220
+ additionalProperties: boolean;
221
+ };
222
+ };
223
+ };
131
224
  "room-policy": {
132
225
  $schema: string;
133
226
  $id: string;
@@ -191,41 +284,797 @@ export declare const SCHEMA_REGISTRY: Readonly<{
191
284
  type: string;
192
285
  };
193
286
  };
194
- linkedContext: {
287
+ linkedContext: {
288
+ type: string;
289
+ items: {
290
+ type: string;
291
+ };
292
+ };
293
+ attachments: {
294
+ type: string;
295
+ items: {
296
+ $ref: string;
297
+ };
298
+ };
299
+ acceptedMemory: {
300
+ type: string;
301
+ items: {
302
+ type: string;
303
+ };
304
+ };
305
+ relevantEvents: {
306
+ type: string;
307
+ items: {
308
+ type: string;
309
+ };
310
+ };
311
+ capabilities: {
312
+ type: string;
313
+ items: {
314
+ type: string;
315
+ };
316
+ };
317
+ runtimePolicy: {
318
+ type: string;
319
+ };
320
+ };
321
+ additionalProperties: boolean;
322
+ };
323
+ "topic-contract-state": {
324
+ $schema: string;
325
+ $id: string;
326
+ title: string;
327
+ type: string;
328
+ required: string[];
329
+ properties: {
330
+ version: {
331
+ const: number;
332
+ };
333
+ profile: {
334
+ const: string;
335
+ };
336
+ schema: {
337
+ const: string;
338
+ };
339
+ topicId: {
340
+ $ref: string;
341
+ };
342
+ anchor: {
343
+ $ref: string;
344
+ };
345
+ manifest: {
346
+ $ref: string;
347
+ };
348
+ contracts: {
349
+ $ref: string;
350
+ };
351
+ projection: {
352
+ $ref: string;
353
+ };
354
+ policy: {
355
+ type: string;
356
+ };
357
+ bindings: {
358
+ $ref: string;
359
+ };
360
+ provenance: {
361
+ $ref: string;
362
+ };
363
+ extensions: {
364
+ type: string;
365
+ };
366
+ };
367
+ additionalProperties: boolean;
368
+ $defs: {
369
+ topicId: {
370
+ type: string;
371
+ pattern: string;
372
+ };
373
+ entryId: {
374
+ type: string;
375
+ pattern: string;
376
+ };
377
+ eventId: {
378
+ type: string;
379
+ pattern: string;
380
+ };
381
+ roomId: {
382
+ type: string;
383
+ pattern: string;
384
+ };
385
+ hash: {
386
+ type: string;
387
+ pattern: string;
388
+ };
389
+ persistedKind: {
390
+ type: string;
391
+ enum: string[];
392
+ };
393
+ kindRef: {
394
+ oneOf: ({
395
+ type: string;
396
+ required: string[];
397
+ properties: {
398
+ source: {
399
+ const: string;
400
+ };
401
+ kind: {
402
+ $ref: string;
403
+ };
404
+ customId?: never;
405
+ label?: never;
406
+ baseKind?: never;
407
+ };
408
+ additionalProperties: boolean;
409
+ } | {
410
+ type: string;
411
+ required: string[];
412
+ properties: {
413
+ source: {
414
+ const: string;
415
+ };
416
+ customId: {
417
+ type: string;
418
+ minLength: number;
419
+ maxLength: number;
420
+ };
421
+ label: {
422
+ type: string;
423
+ minLength: number;
424
+ maxLength: number;
425
+ };
426
+ baseKind: {
427
+ $ref: string;
428
+ };
429
+ kind?: never;
430
+ };
431
+ additionalProperties: boolean;
432
+ })[];
433
+ };
434
+ kindProfileRef: {
435
+ type: string;
436
+ required: string[];
437
+ properties: {
438
+ id: {
439
+ type: string;
440
+ format: string;
441
+ };
442
+ version: {
443
+ type: string;
444
+ pattern: string;
445
+ };
446
+ schema: {
447
+ type: string;
448
+ format: string;
449
+ };
450
+ digest: {
451
+ type: string;
452
+ pattern: string;
453
+ };
454
+ };
455
+ additionalProperties: boolean;
456
+ };
457
+ kindResource: {
458
+ type: string;
459
+ required: string[];
460
+ properties: {
461
+ profile: {
462
+ $ref: string;
463
+ };
464
+ type: {
465
+ type: string;
466
+ minLength: number;
467
+ maxLength: number;
468
+ };
469
+ id: {
470
+ type: string;
471
+ minLength: number;
472
+ maxLength: number;
473
+ };
474
+ version: {
475
+ type: string;
476
+ minimum: number;
477
+ };
478
+ value: {
479
+ type: string;
480
+ };
481
+ };
482
+ additionalProperties: boolean;
483
+ };
484
+ anchor: {
485
+ oneOf: {
486
+ type: string;
487
+ required: string[];
488
+ properties: {
489
+ mode: {
490
+ const: string;
491
+ };
492
+ roomId: {
493
+ $ref: string;
494
+ };
495
+ rootEventId: {
496
+ $ref: string;
497
+ };
498
+ manifestSource: {
499
+ const: string;
500
+ };
501
+ };
502
+ additionalProperties: boolean;
503
+ }[];
504
+ };
505
+ manifest: {
506
+ type: string;
507
+ required: string[];
508
+ properties: {
509
+ version: {
510
+ const: number;
511
+ };
512
+ id: {
513
+ $ref: string;
514
+ };
515
+ title: {
516
+ type: string;
517
+ minLength: number;
518
+ maxLength: number;
519
+ };
520
+ kind: {
521
+ $ref: string;
522
+ };
523
+ status: {
524
+ type: string;
525
+ enum: string[];
526
+ };
527
+ createdBy: {
528
+ type: string;
529
+ minLength: number;
530
+ };
531
+ createdAt: {
532
+ type: string;
533
+ format: string;
534
+ };
535
+ };
536
+ additionalProperties: boolean;
537
+ };
538
+ provenance: {
539
+ type: string;
540
+ required: string[];
541
+ properties: {
542
+ basis: {
543
+ type: string;
544
+ enum: string[];
545
+ };
546
+ acceptance: {
547
+ type: string;
548
+ enum: string[];
549
+ };
550
+ sourceEventIds: {
551
+ type: string;
552
+ uniqueItems: boolean;
553
+ items: {
554
+ $ref: string;
555
+ };
556
+ };
557
+ createdBy: {
558
+ type: string;
559
+ minLength: number;
560
+ };
561
+ createdAt: {
562
+ type: string;
563
+ format: string;
564
+ };
565
+ };
566
+ additionalProperties: boolean;
567
+ };
568
+ statement: {
569
+ type: string;
570
+ required: string[];
571
+ properties: {
572
+ id: {
573
+ $ref: string;
574
+ };
575
+ text: {
576
+ type: string;
577
+ minLength: number;
578
+ maxLength: number;
579
+ };
580
+ provenance: {
581
+ $ref: string;
582
+ };
583
+ };
584
+ additionalProperties: boolean;
585
+ };
586
+ temporalTarget: {
587
+ oneOf: {
588
+ type: string;
589
+ required: string[];
590
+ properties: {
591
+ precision: {
592
+ const: string;
593
+ };
594
+ value: {
595
+ type: string;
596
+ format: string;
597
+ };
598
+ timezone: {
599
+ type: string;
600
+ minLength: number;
601
+ maxLength: number;
602
+ };
603
+ };
604
+ additionalProperties: boolean;
605
+ }[];
606
+ };
607
+ criterion: {
608
+ type: string;
609
+ required: string[];
610
+ properties: {
611
+ id: {
612
+ $ref: string;
613
+ };
614
+ description: {
615
+ type: string;
616
+ minLength: number;
617
+ maxLength: number;
618
+ };
619
+ status: {
620
+ type: string;
621
+ enum: string[];
622
+ };
623
+ verification: {
624
+ type: string;
625
+ };
626
+ };
627
+ additionalProperties: boolean;
628
+ };
629
+ outcome: {
630
+ type: string;
631
+ properties: {
632
+ statement: {
633
+ $ref: string;
634
+ };
635
+ status: {
636
+ type: string;
637
+ enum: string[];
638
+ };
639
+ target: {
640
+ $ref: string;
641
+ };
642
+ successCriteria: {
643
+ type: string;
644
+ maxItems: number;
645
+ items: {
646
+ $ref: string;
647
+ };
648
+ };
649
+ outcomeRecordId: {
650
+ type: string;
651
+ minLength: number;
652
+ };
653
+ abandonedReason: {
654
+ type: string;
655
+ minLength: number;
656
+ maxLength: number;
657
+ };
658
+ };
659
+ additionalProperties: boolean;
660
+ };
661
+ risk: {
662
+ type: string;
663
+ required: string[];
664
+ properties: {
665
+ id: {
666
+ $ref: string;
667
+ };
668
+ description: {
669
+ type: string;
670
+ minLength: number;
671
+ maxLength: number;
672
+ };
673
+ impact: {
674
+ type: string;
675
+ enum: string[];
676
+ };
677
+ status: {
678
+ type: string;
679
+ enum: string[];
680
+ };
681
+ owner: {
682
+ type: string;
683
+ minLength: number;
684
+ };
685
+ mitigation: {
686
+ type: string;
687
+ minLength: number;
688
+ maxLength: number;
689
+ };
690
+ };
691
+ additionalProperties: boolean;
692
+ };
693
+ appearance: {
694
+ type: string;
695
+ properties: {
696
+ glyph: {
697
+ oneOf: ({
698
+ type: string;
699
+ required: string[];
700
+ properties: {
701
+ type: {
702
+ const: string;
703
+ };
704
+ value: {
705
+ type: string;
706
+ minLength: number;
707
+ maxLength: number;
708
+ };
709
+ name?: never;
710
+ };
711
+ additionalProperties: boolean;
712
+ } | {
713
+ type: string;
714
+ required: string[];
715
+ properties: {
716
+ type: {
717
+ const: string;
718
+ };
719
+ name: {
720
+ type: string;
721
+ enum: string[];
722
+ };
723
+ value?: never;
724
+ };
725
+ additionalProperties: boolean;
726
+ })[];
727
+ };
728
+ };
729
+ additionalProperties: boolean;
730
+ };
731
+ contractBody: {
732
+ type: string;
733
+ required: string[];
734
+ properties: {
735
+ version: {
736
+ const: number;
737
+ };
738
+ revision: {
739
+ type: string;
740
+ minLength: number;
741
+ };
742
+ status: {
743
+ type: string;
744
+ enum: string[];
745
+ };
746
+ kindRef: {
747
+ $ref: string;
748
+ };
749
+ kindProfile: {
750
+ $ref: string;
751
+ };
752
+ kindResource: {
753
+ $ref: string;
754
+ };
755
+ authoredBy: {
756
+ type: string;
757
+ minLength: number;
758
+ };
759
+ authoredAt: {
760
+ type: string;
761
+ format: string;
762
+ };
763
+ workingMode: {
764
+ type: string;
765
+ enum: string[];
766
+ };
767
+ recipe: {
768
+ type: string;
769
+ enum: string[];
770
+ };
771
+ locale: {
772
+ type: string;
773
+ minLength: number;
774
+ maxLength: number;
775
+ };
776
+ timezone: {
777
+ type: string;
778
+ minLength: number;
779
+ maxLength: number;
780
+ };
781
+ temporalMode: {
782
+ type: string;
783
+ enum: string[];
784
+ };
785
+ tags: {
786
+ type: string;
787
+ uniqueItems: boolean;
788
+ maxItems: number;
789
+ items: {
790
+ type: string;
791
+ minLength: number;
792
+ maxLength: number;
793
+ };
794
+ };
795
+ appearance: {
796
+ $ref: string;
797
+ };
798
+ intent: {
799
+ $ref: string;
800
+ };
801
+ outcome: {
802
+ $ref: string;
803
+ };
804
+ completion: {
805
+ type: string;
806
+ };
807
+ ownerId: {
808
+ type: string;
809
+ minLength: number;
810
+ };
811
+ scope: {
812
+ type: string;
813
+ };
814
+ constraints: {
815
+ type: string;
816
+ maxItems: number;
817
+ items: {
818
+ $ref: string;
819
+ };
820
+ };
821
+ assumptions: {
822
+ type: string;
823
+ maxItems: number;
824
+ items: {
825
+ type: string;
826
+ };
827
+ };
828
+ questions: {
829
+ type: string;
830
+ maxItems: number;
831
+ items: {
832
+ type: string;
833
+ };
834
+ };
835
+ risks: {
836
+ type: string;
837
+ maxItems: number;
838
+ items: {
839
+ $ref: string;
840
+ };
841
+ };
842
+ participants: {
843
+ type: string;
844
+ maxItems: number;
845
+ items: {
846
+ type: string;
847
+ };
848
+ };
849
+ roles: {
850
+ type: string;
851
+ maxItems: number;
852
+ items: {
853
+ type: string;
854
+ };
855
+ };
856
+ agents: {
857
+ type: string;
858
+ maxItems: number;
859
+ items: {
860
+ type: string;
861
+ };
862
+ };
863
+ decision: {
864
+ type: string;
865
+ };
866
+ plan: {
867
+ type: string;
868
+ };
869
+ attachments: {
870
+ type: string;
871
+ maxItems: number;
872
+ items: {
873
+ type: string;
874
+ };
875
+ };
876
+ };
877
+ additionalProperties: boolean;
878
+ };
879
+ contractRef: {
880
+ type: string;
881
+ required: string[];
882
+ properties: {
883
+ revision: {
884
+ type: string;
885
+ minLength: number;
886
+ };
887
+ bodyHash: {
888
+ $ref: string;
889
+ };
890
+ bodyRef: {
891
+ type: string;
892
+ };
893
+ body: {
894
+ $ref: string;
895
+ };
896
+ };
897
+ additionalProperties: boolean;
898
+ };
899
+ effectiveContractRef: {
900
+ allOf: ({
901
+ $ref: string;
902
+ type?: never;
903
+ required?: never;
904
+ properties?: never;
905
+ } | {
906
+ type: string;
907
+ required: string[];
908
+ properties: {
909
+ acceptedBy: {
910
+ type: string;
911
+ minItems: number;
912
+ uniqueItems: boolean;
913
+ items: {
914
+ type: string;
915
+ minLength: number;
916
+ };
917
+ };
918
+ acceptedAt: {
919
+ type: string;
920
+ format: string;
921
+ };
922
+ };
923
+ $ref?: never;
924
+ })[];
925
+ };
926
+ contractHeads: {
195
927
  type: string;
196
- items: {
197
- type: string;
928
+ properties: {
929
+ proposed: {
930
+ $ref: string;
931
+ };
932
+ effective: {
933
+ $ref: string;
934
+ };
198
935
  };
936
+ additionalProperties: boolean;
199
937
  };
200
- attachments: {
938
+ projection: {
201
939
  type: string;
202
- items: {
203
- $ref: string;
940
+ required: string[];
941
+ properties: {
942
+ revision: {
943
+ type: string;
944
+ minLength: number;
945
+ };
946
+ title: {
947
+ type: string;
948
+ minLength: number;
949
+ maxLength: number;
950
+ };
951
+ status: {
952
+ type: string;
953
+ enum: string[];
954
+ };
955
+ kindRef: {
956
+ $ref: string;
957
+ };
958
+ kindProfile: {
959
+ $ref: string;
960
+ };
961
+ appearance: {
962
+ $ref: string;
963
+ };
964
+ attachmentCount: {
965
+ type: string;
966
+ minimum: number;
967
+ };
968
+ operationCount: {
969
+ type: string;
970
+ minimum: number;
971
+ };
204
972
  };
973
+ additionalProperties: boolean;
205
974
  };
206
- acceptedMemory: {
207
- type: string;
208
- items: {
975
+ recurrence: {
976
+ oneOf: ({
209
977
  type: string;
210
- };
211
- };
212
- relevantEvents: {
213
- type: string;
214
- items: {
978
+ required: string[];
979
+ properties: {
980
+ frequency: {
981
+ const: string;
982
+ };
983
+ time: {
984
+ type: string;
985
+ pattern: string;
986
+ };
987
+ timezone: {
988
+ type: string;
989
+ minLength: number;
990
+ };
991
+ days?: never;
992
+ };
993
+ additionalProperties: boolean;
994
+ } | {
215
995
  type: string;
216
- };
996
+ required: string[];
997
+ properties: {
998
+ frequency: {
999
+ const: string;
1000
+ };
1001
+ days: {
1002
+ type: string;
1003
+ minItems: number;
1004
+ uniqueItems: boolean;
1005
+ items: {
1006
+ type: string;
1007
+ enum: string[];
1008
+ };
1009
+ };
1010
+ time: {
1011
+ type: string;
1012
+ pattern: string;
1013
+ };
1014
+ timezone: {
1015
+ type: string;
1016
+ minLength: number;
1017
+ };
1018
+ };
1019
+ additionalProperties: boolean;
1020
+ })[];
217
1021
  };
218
- capabilities: {
1022
+ automation: {
219
1023
  type: string;
220
- items: {
221
- type: string;
1024
+ required: string[];
1025
+ properties: {
1026
+ provider: {
1027
+ const: string;
1028
+ };
1029
+ scheduleId: {
1030
+ type: string;
1031
+ minLength: number;
1032
+ };
1033
+ actionId: {
1034
+ type: string;
1035
+ minLength: number;
1036
+ };
1037
+ recurrence: {
1038
+ $ref: string;
1039
+ };
1040
+ status: {
1041
+ type: string;
1042
+ enum: string[];
1043
+ };
1044
+ nextRunAt: {
1045
+ type: string;
1046
+ format: string;
1047
+ };
222
1048
  };
1049
+ additionalProperties: boolean;
223
1050
  };
224
- runtimePolicy: {
1051
+ bindings: {
225
1052
  type: string;
1053
+ properties: {
1054
+ governanceProposal: {
1055
+ type: string;
1056
+ };
1057
+ claims: {
1058
+ type: string;
1059
+ };
1060
+ automations: {
1061
+ type: string;
1062
+ maxItems: number;
1063
+ items: {
1064
+ $ref: string;
1065
+ };
1066
+ };
1067
+ context: {
1068
+ type: string;
1069
+ maxItems: number;
1070
+ items: {
1071
+ type: string;
1072
+ };
1073
+ };
1074
+ };
1075
+ additionalProperties: boolean;
226
1076
  };
227
1077
  };
228
- additionalProperties: boolean;
229
1078
  };
230
1079
  "topic-file-attachment": {
231
1080
  $schema: string;
@@ -451,6 +1300,145 @@ export declare const SCHEMA_REGISTRY: Readonly<{
451
1300
  };
452
1301
  additionalProperties: boolean;
453
1302
  };
1303
+ "topic-kind-profile": {
1304
+ $schema: string;
1305
+ $id: string;
1306
+ title: string;
1307
+ type: string;
1308
+ required: string[];
1309
+ properties: {
1310
+ version: {
1311
+ const: number;
1312
+ };
1313
+ id: {
1314
+ type: string;
1315
+ format: string;
1316
+ };
1317
+ profileVersion: {
1318
+ type: string;
1319
+ pattern: string;
1320
+ };
1321
+ label: {
1322
+ type: string;
1323
+ minLength: number;
1324
+ maxLength: number;
1325
+ };
1326
+ description: {
1327
+ type: string;
1328
+ minLength: number;
1329
+ maxLength: number;
1330
+ };
1331
+ kind: {
1332
+ type: string;
1333
+ required: string[];
1334
+ properties: {
1335
+ customId: {
1336
+ type: string;
1337
+ pattern: string;
1338
+ maxLength: number;
1339
+ };
1340
+ baseKind: {
1341
+ type: string;
1342
+ enum: string[];
1343
+ };
1344
+ recipe: {
1345
+ type: string;
1346
+ enum: string[];
1347
+ };
1348
+ };
1349
+ additionalProperties: boolean;
1350
+ };
1351
+ resource: {
1352
+ type: string;
1353
+ required: string[];
1354
+ properties: {
1355
+ type: {
1356
+ type: string;
1357
+ pattern: string;
1358
+ maxLength: number;
1359
+ };
1360
+ version: {
1361
+ type: string;
1362
+ minimum: number;
1363
+ };
1364
+ schema: {
1365
+ type: string;
1366
+ format: string;
1367
+ };
1368
+ };
1369
+ additionalProperties: boolean;
1370
+ };
1371
+ acceptance: {
1372
+ type: string;
1373
+ required: string[];
1374
+ properties: {
1375
+ requiredResourcePaths: {
1376
+ type: string;
1377
+ uniqueItems: boolean;
1378
+ maxItems: number;
1379
+ items: {
1380
+ type: string;
1381
+ pattern: string;
1382
+ };
1383
+ };
1384
+ };
1385
+ additionalProperties: boolean;
1386
+ };
1387
+ projection: {
1388
+ type: string;
1389
+ required: string[];
1390
+ properties: {
1391
+ key: {
1392
+ type: string;
1393
+ pattern: string;
1394
+ maxLength: number;
1395
+ };
1396
+ roomVisibleFields: {
1397
+ type: string;
1398
+ uniqueItems: boolean;
1399
+ maxItems: number;
1400
+ items: {
1401
+ type: string;
1402
+ pattern: string;
1403
+ };
1404
+ };
1405
+ };
1406
+ additionalProperties: boolean;
1407
+ };
1408
+ presentation: {
1409
+ type: string;
1410
+ required: string[];
1411
+ properties: {
1412
+ fallbackLabel: {
1413
+ type: string;
1414
+ minLength: number;
1415
+ maxLength: number;
1416
+ };
1417
+ primaryFields: {
1418
+ type: string;
1419
+ uniqueItems: boolean;
1420
+ maxItems: number;
1421
+ items: {
1422
+ type: string;
1423
+ pattern: string;
1424
+ };
1425
+ };
1426
+ };
1427
+ additionalProperties: boolean;
1428
+ };
1429
+ capabilities: {
1430
+ type: string;
1431
+ uniqueItems: boolean;
1432
+ maxItems: number;
1433
+ items: {
1434
+ type: string;
1435
+ minLength: number;
1436
+ maxLength: number;
1437
+ };
1438
+ };
1439
+ };
1440
+ additionalProperties: boolean;
1441
+ };
454
1442
  "topic-message": {
455
1443
  $schema: string;
456
1444
  $id: string;
@@ -500,7 +1488,7 @@ export declare const SCHEMA_REGISTRY: Readonly<{
500
1488
  required: string[];
501
1489
  properties: {
502
1490
  version: {
503
- const: number;
1491
+ enum: number[];
504
1492
  };
505
1493
  operationId: {
506
1494
  type: string;
@@ -534,6 +1522,23 @@ export declare const SCHEMA_REGISTRY: Readonly<{
534
1522
  };
535
1523
  };
536
1524
  additionalProperties: boolean;
1525
+ allOf: {
1526
+ if: {
1527
+ properties: {
1528
+ type: {
1529
+ enum: string[];
1530
+ };
1531
+ };
1532
+ required: string[];
1533
+ };
1534
+ then: {
1535
+ properties: {
1536
+ version: {
1537
+ const: number;
1538
+ };
1539
+ };
1540
+ };
1541
+ }[];
537
1542
  };
538
1543
  "topic-preferences": {
539
1544
  $schema: string;
@@ -543,7 +1548,7 @@ export declare const SCHEMA_REGISTRY: Readonly<{
543
1548
  required: string[];
544
1549
  properties: {
545
1550
  version: {
546
- const: number;
1551
+ enum: number[];
547
1552
  };
548
1553
  topics: {
549
1554
  type: string;
@@ -561,7 +1566,63 @@ export declare const SCHEMA_REGISTRY: Readonly<{
561
1566
  markedUnreadFrom: {
562
1567
  type: string[];
563
1568
  };
1569
+ companion: {
1570
+ type: string;
1571
+ required: string[];
1572
+ properties: {
1573
+ oracleDid: {
1574
+ type: string;
1575
+ minLength: number;
1576
+ };
1577
+ sessionId: {
1578
+ type: string;
1579
+ minLength: number;
1580
+ };
1581
+ lastContextRevision: {
1582
+ type: string;
1583
+ minLength: number;
1584
+ };
1585
+ };
1586
+ additionalProperties: boolean;
1587
+ };
1588
+ reminder: {
1589
+ oneOf: ({
1590
+ type: string;
1591
+ required: string[];
1592
+ properties: {
1593
+ mode: {
1594
+ const: string;
1595
+ };
1596
+ at: {
1597
+ type: string;
1598
+ format: string;
1599
+ };
1600
+ timezone: {
1601
+ type: string;
1602
+ minLength: number;
1603
+ };
1604
+ minutes?: never;
1605
+ };
1606
+ additionalProperties: boolean;
1607
+ } | {
1608
+ type: string;
1609
+ required: string[];
1610
+ properties: {
1611
+ mode: {
1612
+ const: string;
1613
+ };
1614
+ minutes: {
1615
+ type: string;
1616
+ minimum: number;
1617
+ };
1618
+ at?: never;
1619
+ timezone?: never;
1620
+ };
1621
+ additionalProperties: boolean;
1622
+ })[];
1623
+ };
564
1624
  };
1625
+ additionalProperties: boolean;
565
1626
  };
566
1627
  };
567
1628
  autoFollow: {
@@ -693,7 +1754,7 @@ export declare const SCHEMA_REGISTRY: Readonly<{
693
1754
  required: string[];
694
1755
  properties: {
695
1756
  version: {
696
- const: number;
1757
+ enum: number[];
697
1758
  };
698
1759
  id: {
699
1760
  type: string;
@@ -773,6 +1834,22 @@ export declare const SCHEMA_REGISTRY: Readonly<{
773
1834
  };
774
1835
  };
775
1836
  additionalProperties: boolean;
1837
+ allOf: {
1838
+ if: {
1839
+ properties: {
1840
+ version: {
1841
+ const: number;
1842
+ };
1843
+ };
1844
+ required: string[];
1845
+ };
1846
+ then: {
1847
+ properties: {
1848
+ kind: boolean;
1849
+ };
1850
+ required: string[];
1851
+ };
1852
+ }[];
776
1853
  };
777
1854
  "topic-state": {
778
1855
  $schema: string;
@@ -993,4 +2070,4 @@ export declare const SCHEMA_REGISTRY: Readonly<{
993
2070
  };
994
2071
  }>;
995
2072
  export type ContractName = keyof typeof SCHEMA_REGISTRY;
996
- export declare const CONTRACT_NAMES: readonly ("action-receipt" | "agent-run" | "external-session-binding" | "room-policy" | "topic-capsule" | "topic-file-attachment" | "topic-index-entry" | "topic-index" | "topic-message" | "topic-operation" | "topic-preferences" | "topic-record" | "topic-record-message" | "topic-relation" | "topic-root" | "topic-state" | "topic-source-message")[];
2073
+ export declare const CONTRACT_NAMES: readonly ("action-receipt" | "agent-run" | "external-session-binding" | "job-card" | "room-policy" | "topic-capsule" | "topic-contract-state" | "topic-file-attachment" | "topic-index-entry" | "topic-index" | "topic-kind-profile" | "topic-message" | "topic-operation" | "topic-preferences" | "topic-record" | "topic-record-message" | "topic-relation" | "topic-root" | "topic-state" | "topic-source-message")[];