Skip to content

Commit 59981c6

Browse files
Copilothotlong
andcommitted
Phase 4: type exports, descriptions, deprecations, and industry-standard fields
Co-authored-by: hotlong <50353452+hotlong@users.noreply.github.com>
1 parent 1f2a79f commit 59981c6

51 files changed

Lines changed: 1435 additions & 511 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

packages/spec/json-schema/ai/FeedbackLoop.json

Lines changed: 220 additions & 78 deletions
Large diffs are not rendered by default.

packages/spec/json-schema/ai/Resolution.json

Lines changed: 220 additions & 78 deletions
Large diffs are not rendered by default.

packages/spec/json-schema/api/GetUiViewResponse.json

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -451,6 +451,22 @@
451451
"titleField"
452452
],
453453
"additionalProperties": false
454+
},
455+
"emptyState": {
456+
"type": "object",
457+
"properties": {
458+
"title": {
459+
"type": "string"
460+
},
461+
"message": {
462+
"type": "string"
463+
},
464+
"icon": {
465+
"type": "string"
466+
}
467+
},
468+
"additionalProperties": false,
469+
"description": "Empty state configuration when no records found"
454470
}
455471
},
456472
"required": [
@@ -1258,6 +1274,22 @@
12581274
"titleField"
12591275
],
12601276
"additionalProperties": false
1277+
},
1278+
"emptyState": {
1279+
"type": "object",
1280+
"properties": {
1281+
"title": {
1282+
"type": "string"
1283+
},
1284+
"message": {
1285+
"type": "string"
1286+
},
1287+
"icon": {
1288+
"type": "string"
1289+
}
1290+
},
1291+
"additionalProperties": false,
1292+
"description": "Empty state configuration when no records found"
12611293
}
12621294
},
12631295
"required": [

packages/spec/json-schema/api/ObjectDefinitionResponse.json

Lines changed: 50 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -297,7 +297,7 @@
297297
},
298298
"formula": {
299299
"type": "string",
300-
"description": "Deprecated: Use expression"
300+
"description": "DEPRECATED: Use `expression` field instead. Scheduled for removal in v2.0.0"
301301
},
302302
"summaryOperations": {
303303
"type": "object",
@@ -726,7 +726,8 @@
726726
"properties": {
727727
"enabled": {
728728
"type": "boolean",
729-
"default": false
729+
"default": false,
730+
"description": "Enable field-level encryption"
730731
},
731732
"algorithm": {
732733
"type": "string",
@@ -735,7 +736,8 @@
735736
"aes-256-cbc",
736737
"chacha20-poly1305"
737738
],
738-
"default": "aes-256-gcm"
739+
"default": "aes-256-gcm",
740+
"description": "Encryption algorithm"
739741
},
740742
"keyManagement": {
741743
"type": "object",
@@ -748,39 +750,47 @@
748750
"azure-key-vault",
749751
"gcp-kms",
750752
"hashicorp-vault"
751-
]
753+
],
754+
"description": "Key management service provider"
752755
},
753756
"keyId": {
754-
"type": "string"
757+
"type": "string",
758+
"description": "Key identifier in the provider"
755759
},
756760
"rotationPolicy": {
757761
"type": "object",
758762
"properties": {
759763
"enabled": {
760764
"type": "boolean",
761-
"default": false
765+
"default": false,
766+
"description": "Enable automatic key rotation"
762767
},
763768
"frequencyDays": {
764769
"type": "number",
765770
"minimum": 1,
766-
"default": 90
771+
"default": 90,
772+
"description": "Rotation frequency in days"
767773
},
768774
"retainOldVersions": {
769775
"type": "number",
770-
"default": 3
776+
"default": 3,
777+
"description": "Number of old key versions to retain"
771778
},
772779
"autoRotate": {
773780
"type": "boolean",
774-
"default": true
781+
"default": true,
782+
"description": "Automatically rotate without manual approval"
775783
}
776784
},
777-
"additionalProperties": false
785+
"additionalProperties": false,
786+
"description": "Key rotation policy"
778787
}
779788
},
780789
"required": [
781790
"provider"
782791
],
783-
"additionalProperties": false
792+
"additionalProperties": false,
793+
"description": "Key management configuration"
784794
},
785795
"scope": {
786796
"type": "string",
@@ -789,7 +799,8 @@
789799
"record",
790800
"table",
791801
"database"
792-
]
802+
],
803+
"description": "Encryption scope level"
793804
},
794805
"deterministicEncryption": {
795806
"type": "boolean",
@@ -951,6 +962,15 @@
951962
"default": false,
952963
"description": "Read-only in UI"
953964
},
965+
"sortable": {
966+
"type": "boolean",
967+
"default": true,
968+
"description": "Whether field is sortable in list views"
969+
},
970+
"inlineHelpText": {
971+
"type": "string",
972+
"description": "Help text displayed below the field in forms"
973+
},
954974
"encryption": {
955975
"type": "boolean",
956976
"default": false,
@@ -3115,7 +3135,7 @@
31153135
"states"
31163136
],
31173137
"additionalProperties": false,
3118-
"description": "Single state machine for record lifecycle (shorthand)"
3138+
"description": "DEPRECATED: Use stateMachines (plural). Single state machine shorthand."
31193139
},
31203140
"stateMachines": {
31213141
"type": "object",
@@ -3735,6 +3755,23 @@
37353755
},
37363756
"additionalProperties": false,
37373757
"description": "Enabled system features modules"
3758+
},
3759+
"recordTypes": {
3760+
"type": "array",
3761+
"items": {
3762+
"type": "string"
3763+
},
3764+
"description": "Record type names for this object"
3765+
},
3766+
"sharingModel": {
3767+
"type": "string",
3768+
"enum": [
3769+
"private",
3770+
"read",
3771+
"read_write",
3772+
"full"
3773+
],
3774+
"description": "Default sharing model"
37383775
}
37393776
},
37403777
"required": [

packages/spec/json-schema/data/Field.json

Lines changed: 32 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -181,7 +181,7 @@
181181
},
182182
"formula": {
183183
"type": "string",
184-
"description": "Deprecated: Use expression"
184+
"description": "DEPRECATED: Use `expression` field instead. Scheduled for removal in v2.0.0"
185185
},
186186
"summaryOperations": {
187187
"type": "object",
@@ -610,7 +610,8 @@
610610
"properties": {
611611
"enabled": {
612612
"type": "boolean",
613-
"default": false
613+
"default": false,
614+
"description": "Enable field-level encryption"
614615
},
615616
"algorithm": {
616617
"type": "string",
@@ -619,7 +620,8 @@
619620
"aes-256-cbc",
620621
"chacha20-poly1305"
621622
],
622-
"default": "aes-256-gcm"
623+
"default": "aes-256-gcm",
624+
"description": "Encryption algorithm"
623625
},
624626
"keyManagement": {
625627
"type": "object",
@@ -632,39 +634,47 @@
632634
"azure-key-vault",
633635
"gcp-kms",
634636
"hashicorp-vault"
635-
]
637+
],
638+
"description": "Key management service provider"
636639
},
637640
"keyId": {
638-
"type": "string"
641+
"type": "string",
642+
"description": "Key identifier in the provider"
639643
},
640644
"rotationPolicy": {
641645
"type": "object",
642646
"properties": {
643647
"enabled": {
644648
"type": "boolean",
645-
"default": false
649+
"default": false,
650+
"description": "Enable automatic key rotation"
646651
},
647652
"frequencyDays": {
648653
"type": "number",
649654
"minimum": 1,
650-
"default": 90
655+
"default": 90,
656+
"description": "Rotation frequency in days"
651657
},
652658
"retainOldVersions": {
653659
"type": "number",
654-
"default": 3
660+
"default": 3,
661+
"description": "Number of old key versions to retain"
655662
},
656663
"autoRotate": {
657664
"type": "boolean",
658-
"default": true
665+
"default": true,
666+
"description": "Automatically rotate without manual approval"
659667
}
660668
},
661-
"additionalProperties": false
669+
"additionalProperties": false,
670+
"description": "Key rotation policy"
662671
}
663672
},
664673
"required": [
665674
"provider"
666675
],
667-
"additionalProperties": false
676+
"additionalProperties": false,
677+
"description": "Key management configuration"
668678
},
669679
"scope": {
670680
"type": "string",
@@ -673,7 +683,8 @@
673683
"record",
674684
"table",
675685
"database"
676-
]
686+
],
687+
"description": "Encryption scope level"
677688
},
678689
"deterministicEncryption": {
679690
"type": "boolean",
@@ -835,6 +846,15 @@
835846
"default": false,
836847
"description": "Read-only in UI"
837848
},
849+
"sortable": {
850+
"type": "boolean",
851+
"default": true,
852+
"description": "Whether field is sortable in list views"
853+
},
854+
"inlineHelpText": {
855+
"type": "string",
856+
"description": "Help text displayed below the field in forms"
857+
},
838858
"encryption": {
839859
"type": "boolean",
840860
"default": false,

0 commit comments

Comments
 (0)