@alwaysai/device-agent-schemas 3.3.0 → 3.3.1
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/.eslintignore +4 -0
- package/.eslintrc +14 -0
- package/.gitattributes +2 -0
- package/.nvmrc +1 -0
- package/bitbucket-pipelines.yml +54 -0
- package/development.md +53 -0
- package/jest.config.js +3 -0
- package/lib/app-action-schema.d.ts +7 -1
- package/lib/app-action-schema.d.ts.map +1 -0
- package/lib/app-action-schema.js.map +1 -0
- package/lib/app-logs-schema.d.ts.map +1 -0
- package/lib/app-logs-schema.js.map +1 -0
- package/lib/app-state-schema.d.ts.map +1 -0
- package/lib/app-state-schema.js.map +1 -0
- package/lib/common.d.ts.map +1 -0
- package/lib/common.js.map +1 -0
- package/lib/constants.d.ts +2 -1
- package/lib/constants.d.ts.map +1 -0
- package/lib/constants.js +2 -1
- package/lib/constants.js.map +1 -0
- package/lib/device-action-schema.d.ts.map +1 -0
- package/lib/device-action-schema.js.map +1 -0
- package/lib/device-agent-action-schema.d.ts.map +1 -0
- package/lib/device-agent-action-schema.js.map +1 -0
- package/lib/device-stats-schema.d.ts.map +1 -0
- package/lib/device-stats-schema.js.map +1 -0
- package/lib/index.d.ts +2 -2
- package/lib/index.d.ts.map +1 -0
- package/lib/index.js.map +1 -0
- package/lib/message-builders.d.ts +2 -2
- package/lib/message-builders.d.ts.map +1 -0
- package/lib/message-builders.js.map +1 -0
- package/lib/schemas/app-update-config-schema.json +22 -0
- package/lib/schemas/app-version-control-schema.json +3 -0
- package/lib/shadow-schema.d.ts.map +1 -0
- package/lib/shadow-schema.js.map +1 -0
- package/lib/signed-urls-request-schema.d.ts.map +1 -0
- package/lib/signed-urls-request-schema.js.map +1 -0
- package/lib/status-response-schema.d.ts.map +1 -0
- package/lib/status-response-schema.js.map +1 -0
- package/lib/types.d.ts +2 -2
- package/lib/types.d.ts.map +1 -0
- package/lib/types.js +2 -0
- package/lib/types.js.map +1 -0
- package/lib/utils.d.ts.map +1 -0
- package/lib/utils.js.map +1 -0
- package/package.json +1 -6
- package/src/app-action-schema.ts +83 -0
- package/src/app-logs-schema.ts +13 -0
- package/src/app-state-schema.ts +27 -0
- package/src/common.ts +19 -0
- package/src/constants.ts +141 -0
- package/src/device-action-schema.ts +11 -0
- package/src/device-agent-action-schema.ts +17 -0
- package/src/device-stats-schema.ts +33 -0
- package/src/index.ts +192 -0
- package/src/message-builders.ts +269 -0
- package/src/schemas/app-install-response-schema.json +38 -0
- package/src/schemas/app-install-schema.json +25 -0
- package/src/schemas/app-logs-schema.json +15 -0
- package/src/schemas/app-state-control-schema.json +16 -0
- package/src/schemas/app-state-schema.json +45 -0
- package/src/schemas/app-uninstall-schema.json +16 -0
- package/src/schemas/app-update-config-schema.json +22 -0
- package/src/schemas/app-version-control-schema.json +17 -0
- package/src/schemas/common-schema.json +27 -0
- package/src/schemas/device-action-schema.json +13 -0
- package/src/schemas/device-agent-status-schema.json +33 -0
- package/src/schemas/device-stats-schema.json +57 -0
- package/src/schemas/env-var-schema.json +18 -0
- package/src/schemas/live-updates-toggle-schema.json +27 -0
- package/src/schemas/models-install-payload-schema.json +21 -0
- package/src/schemas/models-install-response-schema.json +21 -0
- package/src/schemas/secure-tunnel-schema.json +31 -0
- package/src/schemas/shadow-project-update-legacy-schema.json +30 -0
- package/src/schemas/shadow-project-update-schema.json +16 -0
- package/src/schemas/shadow-projects-update-all-schema.json +20 -0
- package/src/schemas/signed-urls-request-schema.json +39 -0
- package/src/schemas/status-response-schema.json +15 -0
- package/src/schemas/system-information-schema.json +149 -0
- package/src/schemas/to-client-message-schema.json +92 -0
- package/src/schemas/to-cloud-message-schema.json +53 -0
- package/src/schemas/to-device-agent-message-schema.json +127 -0
- package/src/shadow-schema.ts +258 -0
- package/src/signed-urls-request-schema.ts +22 -0
- package/src/status-response-schema.ts +19 -0
- package/src/types.ts +160 -0
- package/src/utils.ts +21 -0
- package/tsconfig.build.json +4 -0
- package/tsconfig.eslint.json +5 -0
- package/tsconfig.json +88 -0
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$id": "https://alwaysai.co/app-install-response-schema.json",
|
|
3
|
+
"$schema": "https://json-schema.org/draft/2019-09/schema",
|
|
4
|
+
"title": "app_install_response",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"properties": {
|
|
7
|
+
"appInstallResponse": {
|
|
8
|
+
"type": "object",
|
|
9
|
+
"properties": {
|
|
10
|
+
"projectId": {
|
|
11
|
+
"$ref": "https://alwaysai.co/common-schema.json#/$defs/projectId"
|
|
12
|
+
},
|
|
13
|
+
"appReleaseHash": {
|
|
14
|
+
"$ref": "https://alwaysai.co/common-schema.json#/$defs/appReleaseHash"
|
|
15
|
+
},
|
|
16
|
+
"appInstallPayload": {
|
|
17
|
+
"type": "object",
|
|
18
|
+
"properties": {
|
|
19
|
+
"appSignedUrl": {
|
|
20
|
+
"type": "string"
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
"required": ["appSignedUrl"]
|
|
24
|
+
},
|
|
25
|
+
"modelsInstallPayload": {
|
|
26
|
+
"$ref": "https://alwaysai.co/models-install-payload-schema.json"
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
"required": [
|
|
30
|
+
"projectId",
|
|
31
|
+
"appReleaseHash",
|
|
32
|
+
"appInstallPayload",
|
|
33
|
+
"modelsInstallPayload"
|
|
34
|
+
]
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
"required": ["appInstallResponse"]
|
|
38
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$id": "https://alwaysai.co/app-install-schema.json",
|
|
3
|
+
"$schema": "https://json-schema.org/draft/2019-09/schema",
|
|
4
|
+
"title": "app_install",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"properties": {
|
|
7
|
+
"baseCommand": {
|
|
8
|
+
"type": "string",
|
|
9
|
+
"enum": ["install"]
|
|
10
|
+
},
|
|
11
|
+
"projectId": {
|
|
12
|
+
"$ref": "https://alwaysai.co/common-schema.json#/$defs/projectId"
|
|
13
|
+
},
|
|
14
|
+
"appReleaseHash": {
|
|
15
|
+
"$ref": "https://alwaysai.co/common-schema.json#/$defs/appReleaseHash"
|
|
16
|
+
},
|
|
17
|
+
"appConfig":{
|
|
18
|
+
"type": "string"
|
|
19
|
+
},
|
|
20
|
+
"envVars": {
|
|
21
|
+
"type": "string"
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
"required": ["baseCommand", "projectId", "appReleaseHash"]
|
|
25
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$id": "https://alwaysai.co/app-logs-schema.json",
|
|
3
|
+
"$schema": "https://json-schema.org/draft/2019-09/schema",
|
|
4
|
+
"title": "app_logs",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"properties": {
|
|
7
|
+
"projectId": {
|
|
8
|
+
"$ref": "https://alwaysai.co/common-schema.json#/$defs/projectId"
|
|
9
|
+
},
|
|
10
|
+
"logChunk": {
|
|
11
|
+
"type": "string"
|
|
12
|
+
}
|
|
13
|
+
},
|
|
14
|
+
"required": ["projectId", "logChunk"]
|
|
15
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$id": "https://alwaysai.co/app-state-control-schema.json",
|
|
3
|
+
"$schema": "https://json-schema.org/draft/2019-09/schema",
|
|
4
|
+
"title": "app_state_control",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"properties": {
|
|
7
|
+
"baseCommand": {
|
|
8
|
+
"type": "string",
|
|
9
|
+
"enum": ["start", "stop", "restart"]
|
|
10
|
+
},
|
|
11
|
+
"projectId": {
|
|
12
|
+
"$ref": "https://alwaysai.co/common-schema.json#/$defs/projectId"
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
"required": ["baseCommand", "projectId"]
|
|
16
|
+
}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$id": "https://alwaysai.co/app-state-schema.json",
|
|
3
|
+
"$schema": "https://json-schema.org/draft/2019-09/schema",
|
|
4
|
+
"title": "app_state",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"properties": {
|
|
7
|
+
"appState": {
|
|
8
|
+
"type": "array",
|
|
9
|
+
"items": {
|
|
10
|
+
"type": "object",
|
|
11
|
+
"properties": {
|
|
12
|
+
"appDetails": {
|
|
13
|
+
"type": "object",
|
|
14
|
+
"properties": {
|
|
15
|
+
"projectId": {
|
|
16
|
+
"$ref": "https://alwaysai.co/common-schema.json#/$defs/projectId"
|
|
17
|
+
},
|
|
18
|
+
"version": {
|
|
19
|
+
"$ref": "https://alwaysai.co/common-schema.json#/$defs/appReleaseHash"
|
|
20
|
+
}
|
|
21
|
+
},
|
|
22
|
+
"required": ["projectId", "version"]
|
|
23
|
+
},
|
|
24
|
+
"services": {
|
|
25
|
+
"type": "array",
|
|
26
|
+
"items": {
|
|
27
|
+
"type": "object",
|
|
28
|
+
"properties": {
|
|
29
|
+
"name": {
|
|
30
|
+
"type": "string"
|
|
31
|
+
},
|
|
32
|
+
"state": {
|
|
33
|
+
"enum": ["up", "stopped", "restarting"]
|
|
34
|
+
}
|
|
35
|
+
},
|
|
36
|
+
"required": ["name", "state"]
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
},
|
|
40
|
+
"required": ["appDetails", "services"]
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
},
|
|
44
|
+
"required": ["appState"]
|
|
45
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$id": "https://alwaysai.co/app-uninstall-schema.json",
|
|
3
|
+
"$schema": "https://json-schema.org/draft/2019-09/schema",
|
|
4
|
+
"title": "app_uninstall",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"properties": {
|
|
7
|
+
"baseCommand": {
|
|
8
|
+
"type": "string",
|
|
9
|
+
"enum": ["uninstall"]
|
|
10
|
+
},
|
|
11
|
+
"projectId": {
|
|
12
|
+
"$ref": "https://alwaysai.co/common-schema.json#/$defs/projectId"
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
"required": ["baseCommand", "projectId"]
|
|
16
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$id": "https://alwaysai.co/app-update-config-schema.json",
|
|
3
|
+
"$schema": "https://json-schema.org/draft/2019-09/schema",
|
|
4
|
+
"title": "app_update_config",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"properties": {
|
|
7
|
+
"baseCommand": {
|
|
8
|
+
"type": "string",
|
|
9
|
+
"enum": ["update_config"]
|
|
10
|
+
},
|
|
11
|
+
"projectId": {
|
|
12
|
+
"$ref": "https://alwaysai.co/common-schema.json#/$defs/projectId"
|
|
13
|
+
},
|
|
14
|
+
"appCfg":{
|
|
15
|
+
"type": "string"
|
|
16
|
+
},
|
|
17
|
+
"envVars": {
|
|
18
|
+
"type": "string"
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
"required": ["baseCommand", "projectId"]
|
|
22
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$id": "https://alwaysai.co/app-version-control-schema.json",
|
|
3
|
+
"$schema": "https://json-schema.org/draft/2019-09/schema",
|
|
4
|
+
"title": "app_version_control",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"oneOf": [
|
|
7
|
+
{
|
|
8
|
+
"$ref": "https://alwaysai.co/app-install-schema.json"
|
|
9
|
+
},
|
|
10
|
+
{
|
|
11
|
+
"$ref": "https://alwaysai.co/app-update-config-schema.json"
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"$ref": "https://alwaysai.co/app-uninstall-schema.json"
|
|
15
|
+
}
|
|
16
|
+
]
|
|
17
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$id": "https://alwaysai.co/common-schema.json",
|
|
3
|
+
"title": "common",
|
|
4
|
+
"$defs": {
|
|
5
|
+
"projectId": {
|
|
6
|
+
"description": "The specific project associated with the message payload.",
|
|
7
|
+
"type": "string",
|
|
8
|
+
"pattern": "[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"
|
|
9
|
+
},
|
|
10
|
+
"appReleaseHash": {
|
|
11
|
+
"description": "The version of the project associated with the message payload.",
|
|
12
|
+
"type": "string",
|
|
13
|
+
"pattern": "[0-9a-z]{64}"
|
|
14
|
+
},
|
|
15
|
+
"modelId": {
|
|
16
|
+
"description": "The id of a model",
|
|
17
|
+
"type": "string",
|
|
18
|
+
"pattern": "[A-Za-z0-9_]+/[A-Za-z0-9_]*"
|
|
19
|
+
},
|
|
20
|
+
"txId": {
|
|
21
|
+
"type": "string",
|
|
22
|
+
"minLength": 36,
|
|
23
|
+
"maxLength": 36,
|
|
24
|
+
"pattern": "^[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}$"
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$id": "https://alwaysai.co/device-action-schema.json",
|
|
3
|
+
"$schema": "https://json-schema.org/draft/2019-09/schema",
|
|
4
|
+
"title": "device_action",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"properties": {
|
|
7
|
+
"action": {
|
|
8
|
+
"type": "string",
|
|
9
|
+
"enum": ["system_restart"]
|
|
10
|
+
}
|
|
11
|
+
},
|
|
12
|
+
"required": ["action"]
|
|
13
|
+
}
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$id": "https://alwaysai.co/device-agent-status-schema.json",
|
|
3
|
+
"$schema": "https://json-schema.org/draft/2019-09/schema",
|
|
4
|
+
"title": "device_agent_status",
|
|
5
|
+
"description": "Whether the analytics passthrough is enabled and available",
|
|
6
|
+
"type": "object",
|
|
7
|
+
"properties": {
|
|
8
|
+
"passthrough": {
|
|
9
|
+
"type": "object",
|
|
10
|
+
"properties": {
|
|
11
|
+
"status": {
|
|
12
|
+
"type": "string",
|
|
13
|
+
"enum": [
|
|
14
|
+
"starting",
|
|
15
|
+
"running",
|
|
16
|
+
"error",
|
|
17
|
+
"disabled"
|
|
18
|
+
]
|
|
19
|
+
},
|
|
20
|
+
"message": {
|
|
21
|
+
"type": "string"
|
|
22
|
+
}
|
|
23
|
+
},
|
|
24
|
+
"required": [
|
|
25
|
+
"status",
|
|
26
|
+
"message"
|
|
27
|
+
]
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
"required": [
|
|
31
|
+
"passthrough"
|
|
32
|
+
]
|
|
33
|
+
}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$id": "https://alwaysai.co/device-stats-schema.json",
|
|
3
|
+
"$schema": "https://json-schema.org/draft/2019-09/schema",
|
|
4
|
+
"title": "device_stats",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"properties": {
|
|
7
|
+
"cpuUsage": {
|
|
8
|
+
"type": "number",
|
|
9
|
+
"description": "The percentage of the CPU that is currently being used."
|
|
10
|
+
},
|
|
11
|
+
"diskUtil": {
|
|
12
|
+
"type": "number",
|
|
13
|
+
"description": "The percentage of the drive storage that is being used."
|
|
14
|
+
},
|
|
15
|
+
"usedMemoryPercentage": {
|
|
16
|
+
"type": "number",
|
|
17
|
+
"description": "The percentage of the memory that is being used."
|
|
18
|
+
},
|
|
19
|
+
"cpuDetails": {
|
|
20
|
+
"type": "object",
|
|
21
|
+
"description": "CPU utilization information",
|
|
22
|
+
"properties": {
|
|
23
|
+
"usedPerc": {
|
|
24
|
+
"type": ["number"]
|
|
25
|
+
},
|
|
26
|
+
"temperature": {
|
|
27
|
+
"type": ["number"]
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
},
|
|
31
|
+
"diskDetails": {
|
|
32
|
+
"type": "object",
|
|
33
|
+
"description": "Disk utilization information",
|
|
34
|
+
"properties": {
|
|
35
|
+
"usedGb": {
|
|
36
|
+
"type": ["number"]
|
|
37
|
+
},
|
|
38
|
+
"freeGb": {
|
|
39
|
+
"type": ["number"]
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
},
|
|
43
|
+
"memDetails": {
|
|
44
|
+
"type": "object",
|
|
45
|
+
"description": "Memory utilization information",
|
|
46
|
+
"properties": {
|
|
47
|
+
"usedMb": {
|
|
48
|
+
"type": ["number"]
|
|
49
|
+
},
|
|
50
|
+
"freeMb": {
|
|
51
|
+
"type": ["number"]
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
},
|
|
56
|
+
"required": []
|
|
57
|
+
}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$id": "https://alwaysai.co/env-var-schema.json",
|
|
3
|
+
"$schema": "https://json-schema.org/draft/2019-09/schema",
|
|
4
|
+
"title": "env-var",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"patternProperties": {
|
|
7
|
+
".*": {
|
|
8
|
+
"type": "object",
|
|
9
|
+
"patternProperties": {
|
|
10
|
+
"^[^\\s]+$": {
|
|
11
|
+
"type": "string"
|
|
12
|
+
}
|
|
13
|
+
},
|
|
14
|
+
"additionalProperties": false
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
"additionalProperties": false
|
|
18
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$id": "https://alwaysai.co/live-updates-toggle-schema.json",
|
|
3
|
+
"$schema": "https://json-schema.org/draft/2019-09/schema",
|
|
4
|
+
"title": "live_state_updates",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"properties": {
|
|
7
|
+
"deviceStats": {
|
|
8
|
+
"type": "boolean"
|
|
9
|
+
},
|
|
10
|
+
"appState": {
|
|
11
|
+
"type": "boolean"
|
|
12
|
+
},
|
|
13
|
+
"appLogs": {
|
|
14
|
+
"type": "object",
|
|
15
|
+
"properties": {
|
|
16
|
+
"projectId": {
|
|
17
|
+
"$ref": "https://alwaysai.co/common-schema.json#/$defs/projectId"
|
|
18
|
+
},
|
|
19
|
+
"toggle": {
|
|
20
|
+
"type": "boolean"
|
|
21
|
+
}
|
|
22
|
+
},
|
|
23
|
+
"required": ["projectId", "toggle"]
|
|
24
|
+
}
|
|
25
|
+
},
|
|
26
|
+
"required": []
|
|
27
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$id": "https://alwaysai.co/models-install-payload-schema.json",
|
|
3
|
+
"$schema": "https://json-schema.org/draft/2019-09/schema",
|
|
4
|
+
"title": "models_install_payload",
|
|
5
|
+
"type": "array",
|
|
6
|
+
"items": {
|
|
7
|
+
"type": "object",
|
|
8
|
+
"properties": {
|
|
9
|
+
"id": {
|
|
10
|
+
"$ref": "https://alwaysai.co/common-schema.json#/$defs/modelId"
|
|
11
|
+
},
|
|
12
|
+
"version": {
|
|
13
|
+
"type": "number"
|
|
14
|
+
},
|
|
15
|
+
"modelSignedUrl": {
|
|
16
|
+
"type": "string"
|
|
17
|
+
}
|
|
18
|
+
},
|
|
19
|
+
"required": ["id", "version", "modelSignedUrl"]
|
|
20
|
+
}
|
|
21
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$id": "https://alwaysai.co/models-install-response-schema.json",
|
|
3
|
+
"$schema": "https://json-schema.org/draft/2019-09/schema",
|
|
4
|
+
"title": "models_install_response",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"properties": {
|
|
7
|
+
"modelsInstallResponse": {
|
|
8
|
+
"type": "object",
|
|
9
|
+
"properties": {
|
|
10
|
+
"projectId": {
|
|
11
|
+
"$ref": "https://alwaysai.co/common-schema.json#/$defs/projectId"
|
|
12
|
+
},
|
|
13
|
+
"newModels": {
|
|
14
|
+
"$ref": "https://alwaysai.co/models-install-payload-schema.json"
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
"required": ["projectId", "newModels"]
|
|
18
|
+
}
|
|
19
|
+
},
|
|
20
|
+
"required": ["modelsInstallResponse"]
|
|
21
|
+
}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$id": "https://alwaysai.co/secure-tunnel-schema.json",
|
|
3
|
+
"$schema": "https://json-schema.org/draft/2019-09/schema",
|
|
4
|
+
"title": "secure-tunnel",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"properties": {
|
|
7
|
+
"st_ports": {
|
|
8
|
+
"type": "array",
|
|
9
|
+
"items": {
|
|
10
|
+
"type": "object",
|
|
11
|
+
"required": ["enabled","type","ip","port"],
|
|
12
|
+
"properties": {
|
|
13
|
+
"enabled": {
|
|
14
|
+
"type": "boolean"
|
|
15
|
+
},
|
|
16
|
+
"type": {
|
|
17
|
+
"type": "string"
|
|
18
|
+
},
|
|
19
|
+
"ip": {
|
|
20
|
+
"type": "string"
|
|
21
|
+
},
|
|
22
|
+
"port": {
|
|
23
|
+
"type": "number"
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
"required": ["st_ports"],
|
|
30
|
+
"additionalProperties": false
|
|
31
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$id": "https://alwaysai.co/shadow-project-update-legacy-schema.json",
|
|
3
|
+
"title": "shadow_project_update_legacy_schema",
|
|
4
|
+
"description": "[LEGACY] The messaging payload structure for all properties of a single project shadow update",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"nullable": true,
|
|
7
|
+
"properties": {
|
|
8
|
+
"appConfig": {
|
|
9
|
+
"type": "string"
|
|
10
|
+
},
|
|
11
|
+
"envVars": {
|
|
12
|
+
"type": "object",
|
|
13
|
+
"patternProperties": {
|
|
14
|
+
".*": {
|
|
15
|
+
"type": "object",
|
|
16
|
+
"patternProperties":{
|
|
17
|
+
".*": {
|
|
18
|
+
"type": ["string", "null"]
|
|
19
|
+
}
|
|
20
|
+
},
|
|
21
|
+
"required": [],
|
|
22
|
+
"additionalProperties": false
|
|
23
|
+
}
|
|
24
|
+
},
|
|
25
|
+
"required": [],
|
|
26
|
+
"additionalProperties": false
|
|
27
|
+
}
|
|
28
|
+
},
|
|
29
|
+
"required": []
|
|
30
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$id": "https://alwaysai.co/shadow-project-update-schema.json",
|
|
3
|
+
"title": "shadow_project_update_schema",
|
|
4
|
+
"description": "The messaging payload structure for all properties of a single project shadow update",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"nullable": true,
|
|
7
|
+
"properties": {
|
|
8
|
+
"appConfig": {
|
|
9
|
+
"type": "string"
|
|
10
|
+
},
|
|
11
|
+
"envVars": {
|
|
12
|
+
"type": "string"
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
"required": []
|
|
16
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$id": "https://alwaysai.co/shadow-projects-update-all-schema.json",
|
|
3
|
+
"title": "shadow-projects-update-all",
|
|
4
|
+
"description": "The messaging payload structure for shadow's projects update delta",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"patternProperties": {
|
|
7
|
+
".*": {
|
|
8
|
+
"type": ["object","null"],
|
|
9
|
+
"anyOf":[
|
|
10
|
+
{"$ref": "https://alwaysai.co/shadow-project-update-schema.json"},
|
|
11
|
+
{"$ref": "https://alwaysai.co/shadow-project-update-legacy-schema.json"}
|
|
12
|
+
]
|
|
13
|
+
}
|
|
14
|
+
},
|
|
15
|
+
"propertyNames": {
|
|
16
|
+
"$ref": "https://alwaysai.co/common-schema.json#/$defs/projectId"
|
|
17
|
+
},
|
|
18
|
+
"required": [],
|
|
19
|
+
"additionalProperties": false
|
|
20
|
+
}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$id": "https://alwaysai.co/signed-urls-request-schema.json",
|
|
3
|
+
"$schema": "https://json-schema.org/draft/2019-09/schema",
|
|
4
|
+
"title": "signed_urls_request",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"properties": {
|
|
7
|
+
"signedUrlsRequest": {
|
|
8
|
+
"type": "object",
|
|
9
|
+
"properties": {
|
|
10
|
+
"projectId": {
|
|
11
|
+
"$ref": "https://alwaysai.co/common-schema.json#/$defs/projectId"
|
|
12
|
+
},
|
|
13
|
+
"appReleaseHash": {
|
|
14
|
+
"$ref": "https://alwaysai.co/common-schema.json#/$defs/appReleaseHash"
|
|
15
|
+
}
|
|
16
|
+
},
|
|
17
|
+
"required": ["projectId", "appReleaseHash"]
|
|
18
|
+
},
|
|
19
|
+
"modelsOnlyUrlsRequest": {
|
|
20
|
+
"type": "object",
|
|
21
|
+
"properties": {
|
|
22
|
+
"projectId": {
|
|
23
|
+
"$ref": "https://alwaysai.co/common-schema.json#/$defs/projectId"
|
|
24
|
+
},
|
|
25
|
+
"models": {
|
|
26
|
+
"type": "object",
|
|
27
|
+
"patternProperties": {
|
|
28
|
+
"[A-Za-z0-9_]+/[A-Za-z0-9_]*": {
|
|
29
|
+
"type": ["integer"]
|
|
30
|
+
}
|
|
31
|
+
},
|
|
32
|
+
"additionalProperties": false
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
"required": ["projectId", "models"]
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
"required": []
|
|
39
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$id": "https://alwaysai.co/status-response-schema.json",
|
|
3
|
+
"$schema": "https://json-schema.org/draft/2019-09/schema",
|
|
4
|
+
"title": "status_response",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"properties": {
|
|
7
|
+
"status": {
|
|
8
|
+
"enum": ["requested", "in_progress", "failure", "success", "connection_lost"]
|
|
9
|
+
},
|
|
10
|
+
"message": {
|
|
11
|
+
"type": "string"
|
|
12
|
+
}
|
|
13
|
+
},
|
|
14
|
+
"required": ["status"]
|
|
15
|
+
}
|