openxiangda-contracts 2.16.1 → 2.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/schemas.d.ts CHANGED
@@ -8720,6 +8720,9 @@ export declare const platformCapabilitiesSchema: {
8720
8720
  readonly format: {
8721
8721
  readonly const: "oci-layout";
8722
8722
  };
8723
+ readonly chunkEncoding: {
8724
+ readonly const: "gzip";
8725
+ };
8723
8726
  readonly maxChunkBytes: {
8724
8727
  readonly const: 8388608;
8725
8728
  };
@@ -14800,6 +14803,106 @@ export declare const configurationBundleSchema: {
14800
14803
  };
14801
14804
  };
14802
14805
  };
14806
+ readonly browser: {
14807
+ readonly type: "object";
14808
+ readonly additionalProperties: false;
14809
+ readonly required: readonly ["exposure", "behavior", "idempotency", "subject"];
14810
+ readonly properties: {
14811
+ readonly exposure: {
14812
+ readonly const: "authenticated";
14813
+ };
14814
+ readonly behavior: {
14815
+ readonly enum: readonly ["read", "controlled"];
14816
+ };
14817
+ readonly idempotency: {
14818
+ readonly enum: readonly ["none", "required"];
14819
+ };
14820
+ readonly subject: {
14821
+ readonly type: "object";
14822
+ readonly additionalProperties: false;
14823
+ readonly required: readonly ["resourceCode", "inputField"];
14824
+ readonly properties: {
14825
+ readonly resourceCode: {
14826
+ readonly type: "string";
14827
+ readonly pattern: "^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$";
14828
+ };
14829
+ readonly inputField: {
14830
+ readonly type: "string";
14831
+ readonly pattern: "^[A-Za-z][A-Za-z0-9_]{0,62}$";
14832
+ };
14833
+ };
14834
+ };
14835
+ readonly refreshTargets: {
14836
+ readonly type: "array";
14837
+ readonly maxItems: 16;
14838
+ readonly items: {
14839
+ readonly type: "object";
14840
+ readonly additionalProperties: false;
14841
+ readonly required: readonly ["kind", "code"];
14842
+ readonly properties: {
14843
+ readonly kind: {
14844
+ readonly const: "subject-surface";
14845
+ };
14846
+ readonly code: {
14847
+ readonly type: "string";
14848
+ readonly pattern: "^[a-z][a-z0-9]*(?:[-_.][a-z0-9]+)*$";
14849
+ readonly maxLength: 128;
14850
+ };
14851
+ };
14852
+ };
14853
+ };
14854
+ readonly fileIntent: {
14855
+ readonly type: "object";
14856
+ readonly additionalProperties: false;
14857
+ readonly required: readonly ["recordResourceCode", "recordIdInputField", "relationField", "fileNameField", "contentTypeField", "sizeField", "purposes", "maxTtlSeconds", "maxBytes"];
14858
+ readonly properties: {
14859
+ readonly recordResourceCode: {
14860
+ readonly type: "string";
14861
+ readonly pattern: "^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$";
14862
+ };
14863
+ readonly recordIdInputField: {
14864
+ readonly type: "string";
14865
+ readonly pattern: "^[A-Za-z][A-Za-z0-9_]{0,62}$";
14866
+ };
14867
+ readonly relationField: {
14868
+ readonly type: "string";
14869
+ readonly pattern: "^[A-Za-z][A-Za-z0-9_]{0,62}$";
14870
+ };
14871
+ readonly fileNameField: {
14872
+ readonly type: "string";
14873
+ readonly pattern: "^[A-Za-z][A-Za-z0-9_]{0,62}$";
14874
+ };
14875
+ readonly contentTypeField: {
14876
+ readonly type: "string";
14877
+ readonly pattern: "^[A-Za-z][A-Za-z0-9_]{0,62}$";
14878
+ };
14879
+ readonly sizeField: {
14880
+ readonly type: "string";
14881
+ readonly pattern: "^[A-Za-z][A-Za-z0-9_]{0,62}$";
14882
+ };
14883
+ readonly purposes: {
14884
+ readonly type: "array";
14885
+ readonly minItems: 1;
14886
+ readonly maxItems: 2;
14887
+ readonly uniqueItems: true;
14888
+ readonly items: {
14889
+ readonly enum: readonly ["preview", "download"];
14890
+ };
14891
+ };
14892
+ readonly maxTtlSeconds: {
14893
+ readonly type: "integer";
14894
+ readonly minimum: 1;
14895
+ readonly maximum: 300;
14896
+ };
14897
+ readonly maxBytes: {
14898
+ readonly type: "integer";
14899
+ readonly minimum: 1;
14900
+ readonly maximum: 104857600;
14901
+ };
14902
+ };
14903
+ };
14904
+ };
14905
+ };
14803
14906
  readonly ai: {
14804
14907
  readonly type: "object";
14805
14908
  readonly additionalProperties: false;
@@ -14862,6 +14965,111 @@ export declare const configurationBundleSchema: {
14862
14965
  readonly $ref: "openxiangda.data-resource/v2";
14863
14966
  };
14864
14967
  };
14968
+ readonly subjectReadSurfaces: {
14969
+ readonly type: "array";
14970
+ readonly maxItems: 50;
14971
+ readonly items: {
14972
+ readonly type: "object";
14973
+ readonly additionalProperties: false;
14974
+ readonly required: readonly ["code", "name", "capability", "subject", "relations"];
14975
+ readonly properties: {
14976
+ readonly code: {
14977
+ readonly type: "string";
14978
+ readonly pattern: "^[a-z][a-z0-9]*(?:[-_.][a-z0-9]+)*$";
14979
+ readonly maxLength: 128;
14980
+ };
14981
+ readonly name: {
14982
+ readonly type: "string";
14983
+ readonly minLength: 1;
14984
+ };
14985
+ readonly capability: {
14986
+ readonly type: "string";
14987
+ readonly pattern: "^app:[a-z][a-z0-9]*(?:-[a-z0-9]+)*:[A-Za-z0-9:._*-]+$";
14988
+ readonly maxLength: 255;
14989
+ };
14990
+ readonly subject: {
14991
+ readonly type: "object";
14992
+ readonly additionalProperties: false;
14993
+ readonly required: readonly ["resourceCode", "fields"];
14994
+ readonly properties: {
14995
+ readonly resourceCode: {
14996
+ readonly type: "string";
14997
+ readonly pattern: "^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$";
14998
+ };
14999
+ readonly fields: {
15000
+ readonly type: "array";
15001
+ readonly minItems: 1;
15002
+ readonly maxItems: 100;
15003
+ readonly uniqueItems: true;
15004
+ readonly items: {
15005
+ readonly type: "string";
15006
+ readonly pattern: "^[A-Za-z][A-Za-z0-9_]{0,62}$";
15007
+ };
15008
+ };
15009
+ };
15010
+ };
15011
+ readonly relations: {
15012
+ readonly type: "array";
15013
+ readonly minItems: 1;
15014
+ readonly maxItems: 8;
15015
+ readonly items: {
15016
+ readonly type: "object";
15017
+ readonly additionalProperties: false;
15018
+ readonly required: readonly ["code", "resourceCode", "foreignKeyField", "fields", "limit"];
15019
+ readonly properties: {
15020
+ readonly code: {
15021
+ readonly type: "string";
15022
+ readonly pattern: "^[a-z][a-z0-9]*(?:[-_.][a-z0-9]+)*$";
15023
+ readonly maxLength: 128;
15024
+ };
15025
+ readonly resourceCode: {
15026
+ readonly type: "string";
15027
+ readonly pattern: "^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$";
15028
+ };
15029
+ readonly foreignKeyField: {
15030
+ readonly type: "string";
15031
+ readonly pattern: "^[A-Za-z][A-Za-z0-9_]{0,62}$";
15032
+ };
15033
+ readonly fields: {
15034
+ readonly type: "array";
15035
+ readonly minItems: 1;
15036
+ readonly maxItems: 100;
15037
+ readonly uniqueItems: true;
15038
+ readonly items: {
15039
+ readonly type: "string";
15040
+ readonly pattern: "^[A-Za-z][A-Za-z0-9_]{0,62}$";
15041
+ };
15042
+ };
15043
+ readonly order: {
15044
+ readonly type: "array";
15045
+ readonly maxItems: 10;
15046
+ readonly items: {
15047
+ readonly type: "object";
15048
+ readonly additionalProperties: false;
15049
+ readonly required: readonly ["field", "direction"];
15050
+ readonly properties: {
15051
+ readonly field: {
15052
+ readonly type: "string";
15053
+ readonly pattern: "^[a-z][a-z0-9]*(?:[-_.][a-z0-9]+)*$";
15054
+ readonly maxLength: 128;
15055
+ };
15056
+ readonly direction: {
15057
+ readonly enum: readonly ["asc", "desc"];
15058
+ };
15059
+ };
15060
+ };
15061
+ };
15062
+ readonly limit: {
15063
+ readonly type: "integer";
15064
+ readonly minimum: 1;
15065
+ readonly maximum: 100;
15066
+ };
15067
+ };
15068
+ };
15069
+ };
15070
+ };
15071
+ };
15072
+ };
14865
15073
  readonly resourceDetailRoutes: {
14866
15074
  readonly type: "array";
14867
15075
  readonly maxItems: 100;
@@ -16077,102 +16285,207 @@ export declare const contractBundleSchema: {
16077
16285
  readonly type: "object";
16078
16286
  };
16079
16287
  };
16080
- readonly capabilities: {
16081
- readonly type: "array";
16082
- readonly maxItems: 2000;
16083
- readonly items: {
16084
- readonly type: "object";
16085
- };
16086
- };
16087
- readonly operations: {
16088
- readonly type: "array";
16089
- readonly maxItems: 500;
16090
- readonly items: {
16091
- readonly type: "object";
16092
- };
16093
- };
16094
- readonly eventConsumers: {
16095
- readonly type: "array";
16096
- readonly maxItems: 100;
16097
- readonly items: {
16098
- readonly type: "object";
16099
- };
16100
- };
16101
- readonly eventProducers: {
16102
- readonly type: "array";
16103
- readonly maxItems: 1000;
16104
- readonly items: {
16105
- readonly type: "object";
16106
- };
16107
- };
16108
- readonly eventSchemas: {
16288
+ readonly subjectReadSurfaces: {
16109
16289
  readonly type: "array";
16110
- readonly maxItems: 100;
16290
+ readonly maxItems: 50;
16111
16291
  readonly items: {
16112
- readonly $id: "openxiangda.event-schema/v2";
16113
16292
  readonly type: "object";
16114
16293
  readonly additionalProperties: false;
16115
- readonly required: readonly ["schemaVersion", "eventType", "dataSchemaVersion", "jsonSchema", "schemaDigest", "sensitiveFields", "owner"];
16294
+ readonly required: readonly ["code", "name", "capability", "subject", "relations"];
16116
16295
  readonly properties: {
16117
- readonly schemaVersion: {
16118
- readonly const: "openxiangda.event-schema/v2";
16119
- };
16120
- readonly eventType: {
16296
+ readonly code: {
16121
16297
  readonly type: "string";
16122
- readonly minLength: 1;
16298
+ readonly pattern: "^[a-z][a-z0-9]*(?:[-_.][a-z0-9]+)*$";
16299
+ readonly maxLength: 128;
16123
16300
  };
16124
- readonly dataSchemaVersion: {
16301
+ readonly name: {
16125
16302
  readonly type: "string";
16126
16303
  readonly minLength: 1;
16127
16304
  };
16128
- readonly jsonSchema: {
16129
- readonly type: "object";
16130
- };
16131
- readonly schemaDigest: {
16305
+ readonly capability: {
16132
16306
  readonly type: "string";
16133
- readonly pattern: "^[0-9a-f]{64}$";
16134
- };
16135
- readonly sensitiveFields: {
16136
- readonly type: "array";
16137
- readonly maxItems: 100;
16138
- readonly uniqueItems: true;
16139
- readonly items: {
16140
- readonly type: "string";
16141
- readonly pattern: "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*){0,7}$";
16142
- };
16143
- };
16144
- readonly owner: {
16145
- readonly enum: readonly ["platform", "application"];
16307
+ readonly pattern: "^app:[a-z][a-z0-9]*(?:-[a-z0-9]+)*:[A-Za-z0-9:._*-]+$";
16308
+ readonly maxLength: 255;
16146
16309
  };
16147
- };
16148
- };
16149
- };
16150
- readonly eventHandlerManifest: {
16151
- readonly $id: "openxiangda.event-handler-manifest/v2";
16152
- readonly type: "object";
16153
- readonly additionalProperties: false;
16154
- readonly required: readonly ["schemaVersion", "appCode", "handlers"];
16155
- readonly properties: {
16156
- readonly schemaVersion: {
16157
- readonly const: "openxiangda.event-handler-manifest/v2";
16158
- };
16159
- readonly appCode: {
16160
- readonly type: "string";
16161
- readonly minLength: 1;
16162
- };
16163
- readonly handlers: {
16164
- readonly type: "array";
16165
- readonly maxItems: 100;
16166
- readonly items: {
16310
+ readonly subject: {
16167
16311
  readonly type: "object";
16168
16312
  readonly additionalProperties: false;
16169
- readonly required: readonly ["code", "endpointPath", "eventTypes", "dataSchemaVersions", "maxBodyBytes", "receiptProtocolVersion"];
16313
+ readonly required: readonly ["resourceCode", "fields"];
16170
16314
  readonly properties: {
16171
- readonly code: {
16315
+ readonly resourceCode: {
16172
16316
  readonly type: "string";
16173
- readonly minLength: 1;
16317
+ readonly pattern: "^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$";
16174
16318
  };
16175
- readonly endpointPath: {
16319
+ readonly fields: {
16320
+ readonly type: "array";
16321
+ readonly minItems: 1;
16322
+ readonly maxItems: 100;
16323
+ readonly uniqueItems: true;
16324
+ readonly items: {
16325
+ readonly type: "string";
16326
+ readonly pattern: "^[A-Za-z][A-Za-z0-9_]{0,62}$";
16327
+ };
16328
+ };
16329
+ };
16330
+ };
16331
+ readonly relations: {
16332
+ readonly type: "array";
16333
+ readonly minItems: 1;
16334
+ readonly maxItems: 8;
16335
+ readonly items: {
16336
+ readonly type: "object";
16337
+ readonly additionalProperties: false;
16338
+ readonly required: readonly ["code", "resourceCode", "foreignKeyField", "fields", "limit"];
16339
+ readonly properties: {
16340
+ readonly code: {
16341
+ readonly type: "string";
16342
+ readonly pattern: "^[a-z][a-z0-9]*(?:[-_.][a-z0-9]+)*$";
16343
+ readonly maxLength: 128;
16344
+ };
16345
+ readonly resourceCode: {
16346
+ readonly type: "string";
16347
+ readonly pattern: "^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$";
16348
+ };
16349
+ readonly foreignKeyField: {
16350
+ readonly type: "string";
16351
+ readonly pattern: "^[A-Za-z][A-Za-z0-9_]{0,62}$";
16352
+ };
16353
+ readonly fields: {
16354
+ readonly type: "array";
16355
+ readonly minItems: 1;
16356
+ readonly maxItems: 100;
16357
+ readonly uniqueItems: true;
16358
+ readonly items: {
16359
+ readonly type: "string";
16360
+ readonly pattern: "^[A-Za-z][A-Za-z0-9_]{0,62}$";
16361
+ };
16362
+ };
16363
+ readonly order: {
16364
+ readonly type: "array";
16365
+ readonly maxItems: 10;
16366
+ readonly items: {
16367
+ readonly type: "object";
16368
+ readonly additionalProperties: false;
16369
+ readonly required: readonly ["field", "direction"];
16370
+ readonly properties: {
16371
+ readonly field: {
16372
+ readonly type: "string";
16373
+ readonly pattern: "^[a-z][a-z0-9]*(?:[-_.][a-z0-9]+)*$";
16374
+ readonly maxLength: 128;
16375
+ };
16376
+ readonly direction: {
16377
+ readonly enum: readonly ["asc", "desc"];
16378
+ };
16379
+ };
16380
+ };
16381
+ };
16382
+ readonly limit: {
16383
+ readonly type: "integer";
16384
+ readonly minimum: 1;
16385
+ readonly maximum: 100;
16386
+ };
16387
+ };
16388
+ };
16389
+ };
16390
+ };
16391
+ };
16392
+ };
16393
+ readonly capabilities: {
16394
+ readonly type: "array";
16395
+ readonly maxItems: 2000;
16396
+ readonly items: {
16397
+ readonly type: "object";
16398
+ };
16399
+ };
16400
+ readonly operations: {
16401
+ readonly type: "array";
16402
+ readonly maxItems: 500;
16403
+ readonly items: {
16404
+ readonly type: "object";
16405
+ };
16406
+ };
16407
+ readonly eventConsumers: {
16408
+ readonly type: "array";
16409
+ readonly maxItems: 100;
16410
+ readonly items: {
16411
+ readonly type: "object";
16412
+ };
16413
+ };
16414
+ readonly eventProducers: {
16415
+ readonly type: "array";
16416
+ readonly maxItems: 1000;
16417
+ readonly items: {
16418
+ readonly type: "object";
16419
+ };
16420
+ };
16421
+ readonly eventSchemas: {
16422
+ readonly type: "array";
16423
+ readonly maxItems: 100;
16424
+ readonly items: {
16425
+ readonly $id: "openxiangda.event-schema/v2";
16426
+ readonly type: "object";
16427
+ readonly additionalProperties: false;
16428
+ readonly required: readonly ["schemaVersion", "eventType", "dataSchemaVersion", "jsonSchema", "schemaDigest", "sensitiveFields", "owner"];
16429
+ readonly properties: {
16430
+ readonly schemaVersion: {
16431
+ readonly const: "openxiangda.event-schema/v2";
16432
+ };
16433
+ readonly eventType: {
16434
+ readonly type: "string";
16435
+ readonly minLength: 1;
16436
+ };
16437
+ readonly dataSchemaVersion: {
16438
+ readonly type: "string";
16439
+ readonly minLength: 1;
16440
+ };
16441
+ readonly jsonSchema: {
16442
+ readonly type: "object";
16443
+ };
16444
+ readonly schemaDigest: {
16445
+ readonly type: "string";
16446
+ readonly pattern: "^[0-9a-f]{64}$";
16447
+ };
16448
+ readonly sensitiveFields: {
16449
+ readonly type: "array";
16450
+ readonly maxItems: 100;
16451
+ readonly uniqueItems: true;
16452
+ readonly items: {
16453
+ readonly type: "string";
16454
+ readonly pattern: "^[A-Za-z_][A-Za-z0-9_]*(\\.[A-Za-z_][A-Za-z0-9_]*){0,7}$";
16455
+ };
16456
+ };
16457
+ readonly owner: {
16458
+ readonly enum: readonly ["platform", "application"];
16459
+ };
16460
+ };
16461
+ };
16462
+ };
16463
+ readonly eventHandlerManifest: {
16464
+ readonly $id: "openxiangda.event-handler-manifest/v2";
16465
+ readonly type: "object";
16466
+ readonly additionalProperties: false;
16467
+ readonly required: readonly ["schemaVersion", "appCode", "handlers"];
16468
+ readonly properties: {
16469
+ readonly schemaVersion: {
16470
+ readonly const: "openxiangda.event-handler-manifest/v2";
16471
+ };
16472
+ readonly appCode: {
16473
+ readonly type: "string";
16474
+ readonly minLength: 1;
16475
+ };
16476
+ readonly handlers: {
16477
+ readonly type: "array";
16478
+ readonly maxItems: 100;
16479
+ readonly items: {
16480
+ readonly type: "object";
16481
+ readonly additionalProperties: false;
16482
+ readonly required: readonly ["code", "endpointPath", "eventTypes", "dataSchemaVersions", "maxBodyBytes", "receiptProtocolVersion"];
16483
+ readonly properties: {
16484
+ readonly code: {
16485
+ readonly type: "string";
16486
+ readonly minLength: 1;
16487
+ };
16488
+ readonly endpointPath: {
16176
16489
  readonly type: "string";
16177
16490
  readonly pattern: "^/(?!/)(?!.*\\.\\.).+";
16178
16491
  };
@@ -30596,6 +30909,9 @@ export declare const contractSchemas: {
30596
30909
  readonly format: {
30597
30910
  readonly const: "oci-layout";
30598
30911
  };
30912
+ readonly chunkEncoding: {
30913
+ readonly const: "gzip";
30914
+ };
30599
30915
  readonly maxChunkBytes: {
30600
30916
  readonly const: 8388608;
30601
30917
  };
@@ -32251,6 +32567,106 @@ export declare const contractSchemas: {
32251
32567
  };
32252
32568
  };
32253
32569
  };
32570
+ readonly browser: {
32571
+ readonly type: "object";
32572
+ readonly additionalProperties: false;
32573
+ readonly required: readonly ["exposure", "behavior", "idempotency", "subject"];
32574
+ readonly properties: {
32575
+ readonly exposure: {
32576
+ readonly const: "authenticated";
32577
+ };
32578
+ readonly behavior: {
32579
+ readonly enum: readonly ["read", "controlled"];
32580
+ };
32581
+ readonly idempotency: {
32582
+ readonly enum: readonly ["none", "required"];
32583
+ };
32584
+ readonly subject: {
32585
+ readonly type: "object";
32586
+ readonly additionalProperties: false;
32587
+ readonly required: readonly ["resourceCode", "inputField"];
32588
+ readonly properties: {
32589
+ readonly resourceCode: {
32590
+ readonly type: "string";
32591
+ readonly pattern: "^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$";
32592
+ };
32593
+ readonly inputField: {
32594
+ readonly type: "string";
32595
+ readonly pattern: "^[A-Za-z][A-Za-z0-9_]{0,62}$";
32596
+ };
32597
+ };
32598
+ };
32599
+ readonly refreshTargets: {
32600
+ readonly type: "array";
32601
+ readonly maxItems: 16;
32602
+ readonly items: {
32603
+ readonly type: "object";
32604
+ readonly additionalProperties: false;
32605
+ readonly required: readonly ["kind", "code"];
32606
+ readonly properties: {
32607
+ readonly kind: {
32608
+ readonly const: "subject-surface";
32609
+ };
32610
+ readonly code: {
32611
+ readonly type: "string";
32612
+ readonly pattern: "^[a-z][a-z0-9]*(?:[-_.][a-z0-9]+)*$";
32613
+ readonly maxLength: 128;
32614
+ };
32615
+ };
32616
+ };
32617
+ };
32618
+ readonly fileIntent: {
32619
+ readonly type: "object";
32620
+ readonly additionalProperties: false;
32621
+ readonly required: readonly ["recordResourceCode", "recordIdInputField", "relationField", "fileNameField", "contentTypeField", "sizeField", "purposes", "maxTtlSeconds", "maxBytes"];
32622
+ readonly properties: {
32623
+ readonly recordResourceCode: {
32624
+ readonly type: "string";
32625
+ readonly pattern: "^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$";
32626
+ };
32627
+ readonly recordIdInputField: {
32628
+ readonly type: "string";
32629
+ readonly pattern: "^[A-Za-z][A-Za-z0-9_]{0,62}$";
32630
+ };
32631
+ readonly relationField: {
32632
+ readonly type: "string";
32633
+ readonly pattern: "^[A-Za-z][A-Za-z0-9_]{0,62}$";
32634
+ };
32635
+ readonly fileNameField: {
32636
+ readonly type: "string";
32637
+ readonly pattern: "^[A-Za-z][A-Za-z0-9_]{0,62}$";
32638
+ };
32639
+ readonly contentTypeField: {
32640
+ readonly type: "string";
32641
+ readonly pattern: "^[A-Za-z][A-Za-z0-9_]{0,62}$";
32642
+ };
32643
+ readonly sizeField: {
32644
+ readonly type: "string";
32645
+ readonly pattern: "^[A-Za-z][A-Za-z0-9_]{0,62}$";
32646
+ };
32647
+ readonly purposes: {
32648
+ readonly type: "array";
32649
+ readonly minItems: 1;
32650
+ readonly maxItems: 2;
32651
+ readonly uniqueItems: true;
32652
+ readonly items: {
32653
+ readonly enum: readonly ["preview", "download"];
32654
+ };
32655
+ };
32656
+ readonly maxTtlSeconds: {
32657
+ readonly type: "integer";
32658
+ readonly minimum: 1;
32659
+ readonly maximum: 300;
32660
+ };
32661
+ readonly maxBytes: {
32662
+ readonly type: "integer";
32663
+ readonly minimum: 1;
32664
+ readonly maximum: 104857600;
32665
+ };
32666
+ };
32667
+ };
32668
+ };
32669
+ };
32254
32670
  readonly ai: {
32255
32671
  readonly type: "object";
32256
32672
  readonly additionalProperties: false;
@@ -32313,6 +32729,111 @@ export declare const contractSchemas: {
32313
32729
  readonly $ref: "openxiangda.data-resource/v2";
32314
32730
  };
32315
32731
  };
32732
+ readonly subjectReadSurfaces: {
32733
+ readonly type: "array";
32734
+ readonly maxItems: 50;
32735
+ readonly items: {
32736
+ readonly type: "object";
32737
+ readonly additionalProperties: false;
32738
+ readonly required: readonly ["code", "name", "capability", "subject", "relations"];
32739
+ readonly properties: {
32740
+ readonly code: {
32741
+ readonly type: "string";
32742
+ readonly pattern: "^[a-z][a-z0-9]*(?:[-_.][a-z0-9]+)*$";
32743
+ readonly maxLength: 128;
32744
+ };
32745
+ readonly name: {
32746
+ readonly type: "string";
32747
+ readonly minLength: 1;
32748
+ };
32749
+ readonly capability: {
32750
+ readonly type: "string";
32751
+ readonly pattern: "^app:[a-z][a-z0-9]*(?:-[a-z0-9]+)*:[A-Za-z0-9:._*-]+$";
32752
+ readonly maxLength: 255;
32753
+ };
32754
+ readonly subject: {
32755
+ readonly type: "object";
32756
+ readonly additionalProperties: false;
32757
+ readonly required: readonly ["resourceCode", "fields"];
32758
+ readonly properties: {
32759
+ readonly resourceCode: {
32760
+ readonly type: "string";
32761
+ readonly pattern: "^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$";
32762
+ };
32763
+ readonly fields: {
32764
+ readonly type: "array";
32765
+ readonly minItems: 1;
32766
+ readonly maxItems: 100;
32767
+ readonly uniqueItems: true;
32768
+ readonly items: {
32769
+ readonly type: "string";
32770
+ readonly pattern: "^[A-Za-z][A-Za-z0-9_]{0,62}$";
32771
+ };
32772
+ };
32773
+ };
32774
+ };
32775
+ readonly relations: {
32776
+ readonly type: "array";
32777
+ readonly minItems: 1;
32778
+ readonly maxItems: 8;
32779
+ readonly items: {
32780
+ readonly type: "object";
32781
+ readonly additionalProperties: false;
32782
+ readonly required: readonly ["code", "resourceCode", "foreignKeyField", "fields", "limit"];
32783
+ readonly properties: {
32784
+ readonly code: {
32785
+ readonly type: "string";
32786
+ readonly pattern: "^[a-z][a-z0-9]*(?:[-_.][a-z0-9]+)*$";
32787
+ readonly maxLength: 128;
32788
+ };
32789
+ readonly resourceCode: {
32790
+ readonly type: "string";
32791
+ readonly pattern: "^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$";
32792
+ };
32793
+ readonly foreignKeyField: {
32794
+ readonly type: "string";
32795
+ readonly pattern: "^[A-Za-z][A-Za-z0-9_]{0,62}$";
32796
+ };
32797
+ readonly fields: {
32798
+ readonly type: "array";
32799
+ readonly minItems: 1;
32800
+ readonly maxItems: 100;
32801
+ readonly uniqueItems: true;
32802
+ readonly items: {
32803
+ readonly type: "string";
32804
+ readonly pattern: "^[A-Za-z][A-Za-z0-9_]{0,62}$";
32805
+ };
32806
+ };
32807
+ readonly order: {
32808
+ readonly type: "array";
32809
+ readonly maxItems: 10;
32810
+ readonly items: {
32811
+ readonly type: "object";
32812
+ readonly additionalProperties: false;
32813
+ readonly required: readonly ["field", "direction"];
32814
+ readonly properties: {
32815
+ readonly field: {
32816
+ readonly type: "string";
32817
+ readonly pattern: "^[a-z][a-z0-9]*(?:[-_.][a-z0-9]+)*$";
32818
+ readonly maxLength: 128;
32819
+ };
32820
+ readonly direction: {
32821
+ readonly enum: readonly ["asc", "desc"];
32822
+ };
32823
+ };
32824
+ };
32825
+ };
32826
+ readonly limit: {
32827
+ readonly type: "integer";
32828
+ readonly minimum: 1;
32829
+ readonly maximum: 100;
32830
+ };
32831
+ };
32832
+ };
32833
+ };
32834
+ };
32835
+ };
32836
+ };
32316
32837
  readonly resourceDetailRoutes: {
32317
32838
  readonly type: "array";
32318
32839
  readonly maxItems: 100;
@@ -33528,6 +34049,111 @@ export declare const contractSchemas: {
33528
34049
  readonly type: "object";
33529
34050
  };
33530
34051
  };
34052
+ readonly subjectReadSurfaces: {
34053
+ readonly type: "array";
34054
+ readonly maxItems: 50;
34055
+ readonly items: {
34056
+ readonly type: "object";
34057
+ readonly additionalProperties: false;
34058
+ readonly required: readonly ["code", "name", "capability", "subject", "relations"];
34059
+ readonly properties: {
34060
+ readonly code: {
34061
+ readonly type: "string";
34062
+ readonly pattern: "^[a-z][a-z0-9]*(?:[-_.][a-z0-9]+)*$";
34063
+ readonly maxLength: 128;
34064
+ };
34065
+ readonly name: {
34066
+ readonly type: "string";
34067
+ readonly minLength: 1;
34068
+ };
34069
+ readonly capability: {
34070
+ readonly type: "string";
34071
+ readonly pattern: "^app:[a-z][a-z0-9]*(?:-[a-z0-9]+)*:[A-Za-z0-9:._*-]+$";
34072
+ readonly maxLength: 255;
34073
+ };
34074
+ readonly subject: {
34075
+ readonly type: "object";
34076
+ readonly additionalProperties: false;
34077
+ readonly required: readonly ["resourceCode", "fields"];
34078
+ readonly properties: {
34079
+ readonly resourceCode: {
34080
+ readonly type: "string";
34081
+ readonly pattern: "^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$";
34082
+ };
34083
+ readonly fields: {
34084
+ readonly type: "array";
34085
+ readonly minItems: 1;
34086
+ readonly maxItems: 100;
34087
+ readonly uniqueItems: true;
34088
+ readonly items: {
34089
+ readonly type: "string";
34090
+ readonly pattern: "^[A-Za-z][A-Za-z0-9_]{0,62}$";
34091
+ };
34092
+ };
34093
+ };
34094
+ };
34095
+ readonly relations: {
34096
+ readonly type: "array";
34097
+ readonly minItems: 1;
34098
+ readonly maxItems: 8;
34099
+ readonly items: {
34100
+ readonly type: "object";
34101
+ readonly additionalProperties: false;
34102
+ readonly required: readonly ["code", "resourceCode", "foreignKeyField", "fields", "limit"];
34103
+ readonly properties: {
34104
+ readonly code: {
34105
+ readonly type: "string";
34106
+ readonly pattern: "^[a-z][a-z0-9]*(?:[-_.][a-z0-9]+)*$";
34107
+ readonly maxLength: 128;
34108
+ };
34109
+ readonly resourceCode: {
34110
+ readonly type: "string";
34111
+ readonly pattern: "^[a-z][a-z0-9]*(?:-[a-z0-9]+)*$";
34112
+ };
34113
+ readonly foreignKeyField: {
34114
+ readonly type: "string";
34115
+ readonly pattern: "^[A-Za-z][A-Za-z0-9_]{0,62}$";
34116
+ };
34117
+ readonly fields: {
34118
+ readonly type: "array";
34119
+ readonly minItems: 1;
34120
+ readonly maxItems: 100;
34121
+ readonly uniqueItems: true;
34122
+ readonly items: {
34123
+ readonly type: "string";
34124
+ readonly pattern: "^[A-Za-z][A-Za-z0-9_]{0,62}$";
34125
+ };
34126
+ };
34127
+ readonly order: {
34128
+ readonly type: "array";
34129
+ readonly maxItems: 10;
34130
+ readonly items: {
34131
+ readonly type: "object";
34132
+ readonly additionalProperties: false;
34133
+ readonly required: readonly ["field", "direction"];
34134
+ readonly properties: {
34135
+ readonly field: {
34136
+ readonly type: "string";
34137
+ readonly pattern: "^[a-z][a-z0-9]*(?:[-_.][a-z0-9]+)*$";
34138
+ readonly maxLength: 128;
34139
+ };
34140
+ readonly direction: {
34141
+ readonly enum: readonly ["asc", "desc"];
34142
+ };
34143
+ };
34144
+ };
34145
+ };
34146
+ readonly limit: {
34147
+ readonly type: "integer";
34148
+ readonly minimum: 1;
34149
+ readonly maximum: 100;
34150
+ };
34151
+ };
34152
+ };
34153
+ };
34154
+ };
34155
+ };
34156
+ };
33531
34157
  readonly capabilities: {
33532
34158
  readonly type: "array";
33533
34159
  readonly maxItems: 2000;