Skip to content

Commit 1dcdd87

Browse files
committed
Add initial JSON schema definitions for core entities
Introduces JSON schema files for a wide range of core entities including AI, actions, agents, API endpoints, apps, dashboards, datasets, datasources, permissions, and more. These schemas provide structure and validation for configuration and metadata across the platform. Also adds a build script for schemas and updates the package manifest.
1 parent 40865e5 commit 1dcdd87

File tree

106 files changed

+7458
-2
lines changed

Some content is hidden

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

106 files changed

+7458
-2
lines changed
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
{
2+
"$ref": "#/definitions/AIKnowledge",
3+
"definitions": {
4+
"AIKnowledge": {
5+
"type": "object",
6+
"properties": {
7+
"topics": {
8+
"type": "array",
9+
"items": {
10+
"type": "string"
11+
},
12+
"description": "Topics/Tags to recruit knowledge from"
13+
},
14+
"indexes": {
15+
"type": "array",
16+
"items": {
17+
"type": "string"
18+
},
19+
"description": "Vector Store Indexes"
20+
}
21+
},
22+
"required": [
23+
"topics",
24+
"indexes"
25+
],
26+
"additionalProperties": false
27+
}
28+
},
29+
"$schema": "http://json-schema.org/draft-07/schema#"
30+
}
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
{
2+
"$ref": "#/definitions/AIModelConfig",
3+
"definitions": {
4+
"AIModelConfig": {
5+
"type": "object",
6+
"properties": {
7+
"provider": {
8+
"type": "string",
9+
"enum": [
10+
"openai",
11+
"azure_openai",
12+
"anthropic",
13+
"local"
14+
],
15+
"default": "openai"
16+
},
17+
"model": {
18+
"type": "string",
19+
"description": "Model name (e.g. gpt-4, claude-3-opus)"
20+
},
21+
"temperature": {
22+
"type": "number",
23+
"minimum": 0,
24+
"maximum": 2,
25+
"default": 0.7
26+
},
27+
"maxTokens": {
28+
"type": "number"
29+
},
30+
"topP": {
31+
"type": "number"
32+
}
33+
},
34+
"required": [
35+
"model"
36+
],
37+
"additionalProperties": false
38+
}
39+
},
40+
"$schema": "http://json-schema.org/draft-07/schema#"
41+
}
Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
{
2+
"$ref": "#/definitions/AITool",
3+
"definitions": {
4+
"AITool": {
5+
"type": "object",
6+
"properties": {
7+
"type": {
8+
"type": "string",
9+
"enum": [
10+
"action",
11+
"flow",
12+
"query",
13+
"vector_search"
14+
]
15+
},
16+
"name": {
17+
"type": "string",
18+
"description": "Reference name (Action Name, Flow Name)"
19+
},
20+
"description": {
21+
"type": "string",
22+
"description": "Override description for the LLM"
23+
}
24+
},
25+
"required": [
26+
"type",
27+
"name"
28+
],
29+
"additionalProperties": false
30+
}
31+
},
32+
"$schema": "http://json-schema.org/draft-07/schema#"
33+
}
Lines changed: 156 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,156 @@
1+
{
2+
"$ref": "#/definitions/Action",
3+
"definitions": {
4+
"Action": {
5+
"type": "object",
6+
"properties": {
7+
"name": {
8+
"type": "string",
9+
"pattern": "^[a-z_][a-z0-9_]*$",
10+
"description": "Machine name (snake_case)"
11+
},
12+
"label": {
13+
"type": "string",
14+
"description": "Display label"
15+
},
16+
"icon": {
17+
"type": "string",
18+
"description": "Icon name"
19+
},
20+
"locations": {
21+
"type": "array",
22+
"items": {
23+
"type": "string",
24+
"enum": [
25+
"list_toolbar",
26+
"list_item",
27+
"record_header",
28+
"record_more",
29+
"record_related",
30+
"global_nav"
31+
]
32+
},
33+
"description": "Locations where this action is visible"
34+
},
35+
"location": {},
36+
"type": {
37+
"type": "string",
38+
"enum": [
39+
"script",
40+
"url",
41+
"modal",
42+
"flow",
43+
"api"
44+
],
45+
"default": "script",
46+
"description": "Action functionality type"
47+
},
48+
"target": {
49+
"type": "string",
50+
"description": "URL, Script Name, Flow ID, or API Endpoint"
51+
},
52+
"execute": {
53+
"type": "string",
54+
"description": "Legacy execution logic"
55+
},
56+
"params": {
57+
"type": "array",
58+
"items": {
59+
"type": "object",
60+
"properties": {
61+
"name": {
62+
"type": "string"
63+
},
64+
"label": {
65+
"type": "string"
66+
},
67+
"type": {
68+
"type": "string",
69+
"enum": [
70+
"text",
71+
"textarea",
72+
"email",
73+
"url",
74+
"phone",
75+
"password",
76+
"markdown",
77+
"html",
78+
"number",
79+
"currency",
80+
"percent",
81+
"date",
82+
"datetime",
83+
"time",
84+
"boolean",
85+
"select",
86+
"multiselect",
87+
"lookup",
88+
"master_detail",
89+
"image",
90+
"file",
91+
"avatar",
92+
"formula",
93+
"summary",
94+
"autonumber"
95+
]
96+
},
97+
"required": {
98+
"type": "boolean",
99+
"default": false
100+
},
101+
"options": {
102+
"type": "array",
103+
"items": {
104+
"type": "object",
105+
"properties": {
106+
"label": {
107+
"type": "string"
108+
},
109+
"value": {
110+
"type": "string"
111+
}
112+
},
113+
"required": [
114+
"label",
115+
"value"
116+
],
117+
"additionalProperties": false
118+
}
119+
}
120+
},
121+
"required": [
122+
"name",
123+
"label",
124+
"type"
125+
],
126+
"additionalProperties": false
127+
},
128+
"description": "Input parameters required from user"
129+
},
130+
"confirmText": {
131+
"type": "string",
132+
"description": "Confirmation message before execution"
133+
},
134+
"successMessage": {
135+
"type": "string",
136+
"description": "Success message to show after execution"
137+
},
138+
"refreshAfter": {
139+
"type": "boolean",
140+
"default": false,
141+
"description": "Refresh view after execution"
142+
},
143+
"visible": {
144+
"type": "string",
145+
"description": "Formula returning boolean"
146+
}
147+
},
148+
"required": [
149+
"name",
150+
"label"
151+
],
152+
"additionalProperties": false
153+
}
154+
},
155+
"$schema": "http://json-schema.org/draft-07/schema#"
156+
}
Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
{
2+
"$ref": "#/definitions/ActionParam",
3+
"definitions": {
4+
"ActionParam": {
5+
"type": "object",
6+
"properties": {
7+
"name": {
8+
"type": "string"
9+
},
10+
"label": {
11+
"type": "string"
12+
},
13+
"type": {
14+
"type": "string",
15+
"enum": [
16+
"text",
17+
"textarea",
18+
"email",
19+
"url",
20+
"phone",
21+
"password",
22+
"markdown",
23+
"html",
24+
"number",
25+
"currency",
26+
"percent",
27+
"date",
28+
"datetime",
29+
"time",
30+
"boolean",
31+
"select",
32+
"multiselect",
33+
"lookup",
34+
"master_detail",
35+
"image",
36+
"file",
37+
"avatar",
38+
"formula",
39+
"summary",
40+
"autonumber"
41+
]
42+
},
43+
"required": {
44+
"type": "boolean",
45+
"default": false
46+
},
47+
"options": {
48+
"type": "array",
49+
"items": {
50+
"type": "object",
51+
"properties": {
52+
"label": {
53+
"type": "string"
54+
},
55+
"value": {
56+
"type": "string"
57+
}
58+
},
59+
"required": [
60+
"label",
61+
"value"
62+
],
63+
"additionalProperties": false
64+
}
65+
}
66+
},
67+
"required": [
68+
"name",
69+
"label",
70+
"type"
71+
],
72+
"additionalProperties": false
73+
}
74+
},
75+
"$schema": "http://json-schema.org/draft-07/schema#"
76+
}

0 commit comments

Comments
 (0)