@sema-agent/settings-schema 6.4.0 → 7.0.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.
Files changed (95) hide show
  1. package/CHANGELOG.md +209 -0
  2. package/README.md +53 -2
  3. package/bin/settings-schema.mjs +22 -0
  4. package/conformance/VERSION +1 -1
  5. package/conformance/cases/c50-s784-lane-host-legal/expected.json +102 -0
  6. package/conformance/cases/c50-s784-lane-host-legal/input.json +29 -0
  7. package/conformance/cases/c50-s784-lane-host-legal/meta.json +5 -0
  8. package/conformance/cases/c51-s784-lane-e2b-legal/expected.json +104 -0
  9. package/conformance/cases/c51-s784-lane-e2b-legal/input.json +32 -0
  10. package/conformance/cases/c51-s784-lane-e2b-legal/meta.json +5 -0
  11. package/conformance/cases/c52-s784-lane-k8s-legal/expected.json +106 -0
  12. package/conformance/cases/c52-s784-lane-k8s-legal/input.json +34 -0
  13. package/conformance/cases/c52-s784-lane-k8s-legal/meta.json +5 -0
  14. package/conformance/cases/c53-s784-lane-ssh-legal/expected.json +106 -0
  15. package/conformance/cases/c53-s784-lane-ssh-legal/input.json +34 -0
  16. package/conformance/cases/c53-s784-lane-ssh-legal/meta.json +5 -0
  17. package/conformance/cases/c54-s784-lane-adb-legal/expected.json +102 -0
  18. package/conformance/cases/c54-s784-lane-adb-legal/input.json +29 -0
  19. package/conformance/cases/c54-s784-lane-adb-legal/meta.json +5 -0
  20. package/conformance/cases/c55-s784-lane-local-docker-legal/expected.json +103 -0
  21. package/conformance/cases/c55-s784-lane-local-docker-legal/input.json +30 -0
  22. package/conformance/cases/c55-s784-lane-local-docker-legal/meta.json +5 -0
  23. package/conformance/cases/c56-s784-lane-device-legal/expected.json +109 -0
  24. package/conformance/cases/c56-s784-lane-device-legal/input.json +36 -0
  25. package/conformance/cases/c56-s784-lane-device-legal/meta.json +5 -0
  26. package/conformance/cases/c57-s784-g1-enabled-no-lane/expected.json +83 -0
  27. package/conformance/cases/c57-s784-g1-enabled-no-lane/input.json +23 -0
  28. package/conformance/cases/c57-s784-g1-enabled-no-lane/meta.json +5 -0
  29. package/conformance/cases/c58-s784-g2-multitenant-host/expected.json +83 -0
  30. package/conformance/cases/c58-s784-g2-multitenant-host/input.json +34 -0
  31. package/conformance/cases/c58-s784-g2-multitenant-host/meta.json +5 -0
  32. package/conformance/cases/c59-s784-g3-k8s-missing-image/expected.json +83 -0
  33. package/conformance/cases/c59-s784-g3-k8s-missing-image/input.json +26 -0
  34. package/conformance/cases/c59-s784-g3-k8s-missing-image/meta.json +5 -0
  35. package/conformance/cases/c60-s784-g3-e2b-missing-key/expected.json +83 -0
  36. package/conformance/cases/c60-s784-g3-e2b-missing-key/input.json +26 -0
  37. package/conformance/cases/c60-s784-g3-e2b-missing-key/meta.json +5 -0
  38. package/conformance/cases/c61-s784-g3-other-lane-key/expected.json +83 -0
  39. package/conformance/cases/c61-s784-g3-other-lane-key/input.json +30 -0
  40. package/conformance/cases/c61-s784-g3-other-lane-key/meta.json +5 -0
  41. package/conformance/cases/c62-s784-g7a-session-tidb/expected.json +83 -0
  42. package/conformance/cases/c62-s784-g7a-session-tidb/input.json +27 -0
  43. package/conformance/cases/c62-s784-g7a-session-tidb/meta.json +5 -0
  44. package/conformance/cases/c63-s784-host-two-replicas/expected.json +83 -0
  45. package/conformance/cases/c63-s784-host-two-replicas/input.json +27 -0
  46. package/conformance/cases/c63-s784-host-two-replicas/meta.json +5 -0
  47. package/conformance/cases/c64-s784-multitenant-local-store/expected.json +83 -0
  48. package/conformance/cases/c64-s784-multitenant-local-store/input.json +30 -0
  49. package/conformance/cases/c64-s784-multitenant-local-store/meta.json +5 -0
  50. package/conformance/cases/c65-s784-pg-without-db/expected.json +83 -0
  51. package/conformance/cases/c65-s784-pg-without-db/input.json +27 -0
  52. package/conformance/cases/c65-s784-pg-without-db/meta.json +5 -0
  53. package/conformance/cases/c66-s784-memory-backend-mismatch/expected.json +83 -0
  54. package/conformance/cases/c66-s784-memory-backend-mismatch/input.json +36 -0
  55. package/conformance/cases/c66-s784-memory-backend-mismatch/meta.json +5 -0
  56. package/conformance/cases/c67-s784-retired-field-loud/expected.json +83 -0
  57. package/conformance/cases/c67-s784-retired-field-loud/input.json +22 -0
  58. package/conformance/cases/c67-s784-retired-field-loud/meta.json +5 -0
  59. package/conformance/cases/c68-s784-device-local-store/expected.json +83 -0
  60. package/conformance/cases/c68-s784-device-local-store/input.json +26 -0
  61. package/conformance/cases/c68-s784-device-local-store/meta.json +5 -0
  62. package/conformance/cases/cli04-env-value-with-newline/expected.json +13 -2
  63. package/conformance/cases/cli04-env-value-with-newline/input.json +8 -1
  64. package/conformance/cases/cli04-env-value-with-newline/meta.json +1 -1
  65. package/conformance/migrate-workers/m01-g5-k8s-env-lifted/expected.json +49 -0
  66. package/conformance/migrate-workers/m01-g5-k8s-env-lifted/input.json +26 -0
  67. package/conformance/migrate-workers/m01-g5-k8s-env-lifted/meta.json +4 -0
  68. package/conformance/migrate-workers/m02-g5-idempotent/expected.json +38 -0
  69. package/conformance/migrate-workers/m02-g5-idempotent/input.json +33 -0
  70. package/conformance/migrate-workers/m02-g5-idempotent/meta.json +5 -0
  71. package/conformance/migrate-workers/m03-g5-refused-no-lane/expected.json +71 -0
  72. package/conformance/migrate-workers/m03-g5-refused-no-lane/input.json +42 -0
  73. package/conformance/migrate-workers/m03-g5-refused-no-lane/meta.json +4 -0
  74. package/conformance/migrate-workers/m04-g7b-session-tidb-lifted/expected.json +52 -0
  75. package/conformance/migrate-workers/m04-g7b-session-tidb-lifted/input.json +30 -0
  76. package/conformance/migrate-workers/m04-g7b-session-tidb-lifted/meta.json +4 -0
  77. package/dist/cli.d.ts +8 -0
  78. package/dist/cli.js +110 -0
  79. package/dist/execution-lane-index.d.ts +38 -0
  80. package/dist/execution-lane-index.js +46 -0
  81. package/dist/execution-lanes.d.ts +64 -0
  82. package/dist/execution-lanes.js +152 -0
  83. package/dist/file-edit.js +26 -21
  84. package/dist/hooks.d.ts +4 -4
  85. package/dist/index.d.ts +2 -0
  86. package/dist/index.js +2 -0
  87. package/dist/migrate-workers.d.ts +63 -0
  88. package/dist/migrate-workers.js +327 -0
  89. package/dist/remote-exec.d.ts +23 -64
  90. package/dist/remote-exec.js +20 -71
  91. package/dist/secret-refs.d.ts +7 -1
  92. package/dist/secret-refs.js +9 -3
  93. package/dist/types.d.ts +1356 -455
  94. package/dist/types.js +267 -63
  95. package/package.json +9 -1
@@ -0,0 +1,106 @@
1
+ {
2
+ "domains": {
3
+ "outcome": "effective",
4
+ "effective": {
5
+ "collab": {
6
+ "templates": []
7
+ },
8
+ "entitlement": {
9
+ "budgetGroups": [],
10
+ "groupBindings": [],
11
+ "subjects": [],
12
+ "tiers": []
13
+ },
14
+ "execution": {
15
+ "allowedLanes": [
16
+ "host"
17
+ ],
18
+ "required": false
19
+ },
20
+ "governance": {},
21
+ "hosts": {
22
+ "hosts": []
23
+ },
24
+ "limits": {},
25
+ "mcp": {
26
+ "servers": []
27
+ },
28
+ "models": {
29
+ "models": [],
30
+ "roles": {},
31
+ "tierGroups": []
32
+ },
33
+ "plugins": {
34
+ "plugins": []
35
+ },
36
+ "projects": {
37
+ "projects": {}
38
+ },
39
+ "prompts": {
40
+ "bindings": []
41
+ },
42
+ "rosters": {
43
+ "rosters": []
44
+ },
45
+ "runtime": {},
46
+ "scenarios": {
47
+ "scenarios": []
48
+ },
49
+ "skills": {
50
+ "skills": []
51
+ },
52
+ "systems": {
53
+ "systems": []
54
+ },
55
+ "workers": {
56
+ "workers": [
57
+ {
58
+ "coords": {},
59
+ "enabled": true,
60
+ "host": "default",
61
+ "image": "sema-server:latest",
62
+ "name": "w-k8s",
63
+ "runtime": {
64
+ "execution": {
65
+ "coords": {
66
+ "K8S_NAMESPACE": "sandboxes",
67
+ "K8S_RUNTIME_CLASS": "",
68
+ "K8S_SANDBOX_IMAGE": "registry.internal/sandbox@sha256:abc"
69
+ },
70
+ "lane": "k8s",
71
+ "secretRefs": {
72
+ "K8S_TOKEN": "HOST_K8S_TOKEN"
73
+ }
74
+ },
75
+ "rateLimitRpm": 0,
76
+ "requirePrincipal": false,
77
+ "store": {
78
+ "backend": "local",
79
+ "memory": {
80
+ "backend": "file",
81
+ "engine": "on"
82
+ },
83
+ "session": "auto"
84
+ }
85
+ },
86
+ "secretRefs": {
87
+ "apiKeyEnv": "MODEL_KEY"
88
+ }
89
+ }
90
+ ]
91
+ }
92
+ },
93
+ "warnings": [],
94
+ "metadata": {
95
+ "version": 7,
96
+ "updatedAt": "2026-10-03T00:00:00.000Z"
97
+ }
98
+ },
99
+ "wire": {
100
+ "derive": true
101
+ },
102
+ "localRoot": {
103
+ "derive": true,
104
+ "localVersion": 2617555914511015
105
+ }
106
+ }
@@ -0,0 +1,34 @@
1
+ {
2
+ "meta": {
3
+ "version": 7,
4
+ "updatedAt": "2026-10-03T00:00:00.000Z"
5
+ },
6
+ "domains": {
7
+ "workers": {
8
+ "workers": [
9
+ {
10
+ "name": "w-k8s",
11
+ "secretRefs": {
12
+ "apiKeyEnv": "MODEL_KEY"
13
+ },
14
+ "runtime": {
15
+ "execution": {
16
+ "lane": "k8s",
17
+ "coords": {
18
+ "K8S_SANDBOX_IMAGE": "registry.internal/sandbox@sha256:abc",
19
+ "K8S_NAMESPACE": "sandboxes",
20
+ "K8S_RUNTIME_CLASS": ""
21
+ },
22
+ "secretRefs": {
23
+ "K8S_TOKEN": "HOST_K8S_TOKEN"
24
+ }
25
+ },
26
+ "store": {
27
+ "backend": "local"
28
+ }
29
+ }
30
+ }
31
+ ]
32
+ }
33
+ }
34
+ }
@@ -0,0 +1,5 @@
1
+ {
2
+ "contributor": "contract",
3
+ "claim": "7.0.0 M-R2:`k8s` 车道的一份合法 WorkerSpec(必需坐标 / 密钥齐、可选键在本车道栏内)三腿读出、零告警。打的是「写闸把合法车道块判成坏的」或「读腿把 runtime.execution / runtime.store 剥掉」两种读法分歧(6.4.0 两块都会被静默剥)。",
4
+ "firstRedOn": []
5
+ }
@@ -0,0 +1,106 @@
1
+ {
2
+ "domains": {
3
+ "outcome": "effective",
4
+ "effective": {
5
+ "collab": {
6
+ "templates": []
7
+ },
8
+ "entitlement": {
9
+ "budgetGroups": [],
10
+ "groupBindings": [],
11
+ "subjects": [],
12
+ "tiers": []
13
+ },
14
+ "execution": {
15
+ "allowedLanes": [
16
+ "host"
17
+ ],
18
+ "required": false
19
+ },
20
+ "governance": {},
21
+ "hosts": {
22
+ "hosts": []
23
+ },
24
+ "limits": {},
25
+ "mcp": {
26
+ "servers": []
27
+ },
28
+ "models": {
29
+ "models": [],
30
+ "roles": {},
31
+ "tierGroups": []
32
+ },
33
+ "plugins": {
34
+ "plugins": []
35
+ },
36
+ "projects": {
37
+ "projects": {}
38
+ },
39
+ "prompts": {
40
+ "bindings": []
41
+ },
42
+ "rosters": {
43
+ "rosters": []
44
+ },
45
+ "runtime": {},
46
+ "scenarios": {
47
+ "scenarios": []
48
+ },
49
+ "skills": {
50
+ "skills": []
51
+ },
52
+ "systems": {
53
+ "systems": []
54
+ },
55
+ "workers": {
56
+ "workers": [
57
+ {
58
+ "coords": {},
59
+ "enabled": true,
60
+ "host": "default",
61
+ "image": "sema-server:latest",
62
+ "name": "w-ssh",
63
+ "runtime": {
64
+ "execution": {
65
+ "coords": {
66
+ "SSH_HOST": "deploy.internal",
67
+ "SSH_PORT": "2222",
68
+ "SSH_USER": "deploy"
69
+ },
70
+ "lane": "ssh",
71
+ "secretRefs": {
72
+ "SSH_PRIVATE_KEY": "HOST_SSH_KEY"
73
+ }
74
+ },
75
+ "rateLimitRpm": 0,
76
+ "requirePrincipal": false,
77
+ "store": {
78
+ "backend": "local",
79
+ "memory": {
80
+ "backend": "file",
81
+ "engine": "on"
82
+ },
83
+ "session": "auto"
84
+ }
85
+ },
86
+ "secretRefs": {
87
+ "apiKeyEnv": "MODEL_KEY"
88
+ }
89
+ }
90
+ ]
91
+ }
92
+ },
93
+ "warnings": [],
94
+ "metadata": {
95
+ "version": 7,
96
+ "updatedAt": "2026-10-03T00:00:00.000Z"
97
+ }
98
+ },
99
+ "wire": {
100
+ "derive": true
101
+ },
102
+ "localRoot": {
103
+ "derive": true,
104
+ "localVersion": 2617555914511015
105
+ }
106
+ }
@@ -0,0 +1,34 @@
1
+ {
2
+ "meta": {
3
+ "version": 7,
4
+ "updatedAt": "2026-10-03T00:00:00.000Z"
5
+ },
6
+ "domains": {
7
+ "workers": {
8
+ "workers": [
9
+ {
10
+ "name": "w-ssh",
11
+ "secretRefs": {
12
+ "apiKeyEnv": "MODEL_KEY"
13
+ },
14
+ "runtime": {
15
+ "execution": {
16
+ "lane": "ssh",
17
+ "coords": {
18
+ "SSH_HOST": "deploy.internal",
19
+ "SSH_USER": "deploy",
20
+ "SSH_PORT": "2222"
21
+ },
22
+ "secretRefs": {
23
+ "SSH_PRIVATE_KEY": "HOST_SSH_KEY"
24
+ }
25
+ },
26
+ "store": {
27
+ "backend": "local"
28
+ }
29
+ }
30
+ }
31
+ ]
32
+ }
33
+ }
34
+ }
@@ -0,0 +1,5 @@
1
+ {
2
+ "contributor": "contract",
3
+ "claim": "7.0.0 M-R2:`ssh` 车道的一份合法 WorkerSpec(必需坐标 / 密钥齐、可选键在本车道栏内)三腿读出、零告警。打的是「写闸把合法车道块判成坏的」或「读腿把 runtime.execution / runtime.store 剥掉」两种读法分歧(6.4.0 两块都会被静默剥)。",
4
+ "firstRedOn": []
5
+ }
@@ -0,0 +1,102 @@
1
+ {
2
+ "domains": {
3
+ "outcome": "effective",
4
+ "effective": {
5
+ "collab": {
6
+ "templates": []
7
+ },
8
+ "entitlement": {
9
+ "budgetGroups": [],
10
+ "groupBindings": [],
11
+ "subjects": [],
12
+ "tiers": []
13
+ },
14
+ "execution": {
15
+ "allowedLanes": [
16
+ "host"
17
+ ],
18
+ "required": false
19
+ },
20
+ "governance": {},
21
+ "hosts": {
22
+ "hosts": []
23
+ },
24
+ "limits": {},
25
+ "mcp": {
26
+ "servers": []
27
+ },
28
+ "models": {
29
+ "models": [],
30
+ "roles": {},
31
+ "tierGroups": []
32
+ },
33
+ "plugins": {
34
+ "plugins": []
35
+ },
36
+ "projects": {
37
+ "projects": {}
38
+ },
39
+ "prompts": {
40
+ "bindings": []
41
+ },
42
+ "rosters": {
43
+ "rosters": []
44
+ },
45
+ "runtime": {},
46
+ "scenarios": {
47
+ "scenarios": []
48
+ },
49
+ "skills": {
50
+ "skills": []
51
+ },
52
+ "systems": {
53
+ "systems": []
54
+ },
55
+ "workers": {
56
+ "workers": [
57
+ {
58
+ "coords": {},
59
+ "enabled": true,
60
+ "host": "default",
61
+ "image": "sema-server:latest",
62
+ "name": "w-adb",
63
+ "runtime": {
64
+ "execution": {
65
+ "coords": {
66
+ "ADB_SERIAL": "emulator-5554"
67
+ },
68
+ "lane": "adb",
69
+ "secretRefs": {}
70
+ },
71
+ "rateLimitRpm": 0,
72
+ "requirePrincipal": false,
73
+ "store": {
74
+ "backend": "local",
75
+ "memory": {
76
+ "backend": "file",
77
+ "engine": "on"
78
+ },
79
+ "session": "auto"
80
+ }
81
+ },
82
+ "secretRefs": {
83
+ "apiKeyEnv": "MODEL_KEY"
84
+ }
85
+ }
86
+ ]
87
+ }
88
+ },
89
+ "warnings": [],
90
+ "metadata": {
91
+ "version": 7,
92
+ "updatedAt": "2026-10-03T00:00:00.000Z"
93
+ }
94
+ },
95
+ "wire": {
96
+ "derive": true
97
+ },
98
+ "localRoot": {
99
+ "derive": true,
100
+ "localVersion": 2617555914511015
101
+ }
102
+ }
@@ -0,0 +1,29 @@
1
+ {
2
+ "meta": {
3
+ "version": 7,
4
+ "updatedAt": "2026-10-03T00:00:00.000Z"
5
+ },
6
+ "domains": {
7
+ "workers": {
8
+ "workers": [
9
+ {
10
+ "name": "w-adb",
11
+ "secretRefs": {
12
+ "apiKeyEnv": "MODEL_KEY"
13
+ },
14
+ "runtime": {
15
+ "execution": {
16
+ "lane": "adb",
17
+ "coords": {
18
+ "ADB_SERIAL": "emulator-5554"
19
+ }
20
+ },
21
+ "store": {
22
+ "backend": "local"
23
+ }
24
+ }
25
+ }
26
+ ]
27
+ }
28
+ }
29
+ }
@@ -0,0 +1,5 @@
1
+ {
2
+ "contributor": "contract",
3
+ "claim": "7.0.0 M-R2:`adb` 车道的一份合法 WorkerSpec(必需坐标 / 密钥齐、可选键在本车道栏内)三腿读出、零告警。打的是「写闸把合法车道块判成坏的」或「读腿把 runtime.execution / runtime.store 剥掉」两种读法分歧(6.4.0 两块都会被静默剥)。",
4
+ "firstRedOn": []
5
+ }
@@ -0,0 +1,103 @@
1
+ {
2
+ "domains": {
3
+ "outcome": "effective",
4
+ "effective": {
5
+ "collab": {
6
+ "templates": []
7
+ },
8
+ "entitlement": {
9
+ "budgetGroups": [],
10
+ "groupBindings": [],
11
+ "subjects": [],
12
+ "tiers": []
13
+ },
14
+ "execution": {
15
+ "allowedLanes": [
16
+ "host"
17
+ ],
18
+ "required": false
19
+ },
20
+ "governance": {},
21
+ "hosts": {
22
+ "hosts": []
23
+ },
24
+ "limits": {},
25
+ "mcp": {
26
+ "servers": []
27
+ },
28
+ "models": {
29
+ "models": [],
30
+ "roles": {},
31
+ "tierGroups": []
32
+ },
33
+ "plugins": {
34
+ "plugins": []
35
+ },
36
+ "projects": {
37
+ "projects": {}
38
+ },
39
+ "prompts": {
40
+ "bindings": []
41
+ },
42
+ "rosters": {
43
+ "rosters": []
44
+ },
45
+ "runtime": {},
46
+ "scenarios": {
47
+ "scenarios": []
48
+ },
49
+ "skills": {
50
+ "skills": []
51
+ },
52
+ "systems": {
53
+ "systems": []
54
+ },
55
+ "workers": {
56
+ "workers": [
57
+ {
58
+ "coords": {},
59
+ "enabled": true,
60
+ "host": "default",
61
+ "image": "sema-server:latest",
62
+ "name": "w-local-docker",
63
+ "runtime": {
64
+ "execution": {
65
+ "coords": {
66
+ "DOCKER_HOST": "tcp://docker.internal:2376",
67
+ "DOCKER_IMAGE": "registry.internal/sandbox:1"
68
+ },
69
+ "lane": "local-docker",
70
+ "secretRefs": {}
71
+ },
72
+ "rateLimitRpm": 0,
73
+ "requirePrincipal": false,
74
+ "store": {
75
+ "backend": "local",
76
+ "memory": {
77
+ "backend": "file",
78
+ "engine": "on"
79
+ },
80
+ "session": "auto"
81
+ }
82
+ },
83
+ "secretRefs": {
84
+ "apiKeyEnv": "MODEL_KEY"
85
+ }
86
+ }
87
+ ]
88
+ }
89
+ },
90
+ "warnings": [],
91
+ "metadata": {
92
+ "version": 7,
93
+ "updatedAt": "2026-10-03T00:00:00.000Z"
94
+ }
95
+ },
96
+ "wire": {
97
+ "derive": true
98
+ },
99
+ "localRoot": {
100
+ "derive": true,
101
+ "localVersion": 2617555914511015
102
+ }
103
+ }
@@ -0,0 +1,30 @@
1
+ {
2
+ "meta": {
3
+ "version": 7,
4
+ "updatedAt": "2026-10-03T00:00:00.000Z"
5
+ },
6
+ "domains": {
7
+ "workers": {
8
+ "workers": [
9
+ {
10
+ "name": "w-local-docker",
11
+ "secretRefs": {
12
+ "apiKeyEnv": "MODEL_KEY"
13
+ },
14
+ "runtime": {
15
+ "execution": {
16
+ "lane": "local-docker",
17
+ "coords": {
18
+ "DOCKER_IMAGE": "registry.internal/sandbox:1",
19
+ "DOCKER_HOST": "tcp://docker.internal:2376"
20
+ }
21
+ },
22
+ "store": {
23
+ "backend": "local"
24
+ }
25
+ }
26
+ }
27
+ ]
28
+ }
29
+ }
30
+ }
@@ -0,0 +1,5 @@
1
+ {
2
+ "contributor": "contract",
3
+ "claim": "7.0.0 M-R2:`local-docker` 车道的一份合法 WorkerSpec(必需坐标 / 密钥齐、可选键在本车道栏内)三腿读出、零告警。打的是「写闸把合法车道块判成坏的」或「读腿把 runtime.execution / runtime.store 剥掉」两种读法分歧(6.4.0 两块都会被静默剥)。",
4
+ "firstRedOn": []
5
+ }
@@ -0,0 +1,109 @@
1
+ {
2
+ "domains": {
3
+ "outcome": "effective",
4
+ "effective": {
5
+ "collab": {
6
+ "templates": []
7
+ },
8
+ "entitlement": {
9
+ "budgetGroups": [],
10
+ "groupBindings": [],
11
+ "subjects": [],
12
+ "tiers": []
13
+ },
14
+ "execution": {
15
+ "allowedLanes": [
16
+ "host"
17
+ ],
18
+ "required": false
19
+ },
20
+ "governance": {},
21
+ "hosts": {
22
+ "hosts": []
23
+ },
24
+ "limits": {},
25
+ "mcp": {
26
+ "servers": []
27
+ },
28
+ "models": {
29
+ "models": [],
30
+ "roles": {},
31
+ "tierGroups": []
32
+ },
33
+ "plugins": {
34
+ "plugins": []
35
+ },
36
+ "projects": {
37
+ "projects": {}
38
+ },
39
+ "prompts": {
40
+ "bindings": []
41
+ },
42
+ "rosters": {
43
+ "rosters": []
44
+ },
45
+ "runtime": {},
46
+ "scenarios": {
47
+ "scenarios": []
48
+ },
49
+ "skills": {
50
+ "skills": []
51
+ },
52
+ "systems": {
53
+ "systems": []
54
+ },
55
+ "workers": {
56
+ "workers": [
57
+ {
58
+ "coords": {},
59
+ "enabled": true,
60
+ "host": "default",
61
+ "image": "sema-server:latest",
62
+ "name": "w-device",
63
+ "runtime": {
64
+ "execution": {
65
+ "coords": {
66
+ "DEVICE_SUPERSEDE": "deny"
67
+ },
68
+ "lane": "device",
69
+ "secretRefs": {}
70
+ },
71
+ "rateLimitRpm": 0,
72
+ "requirePrincipal": false,
73
+ "store": {
74
+ "backend": "pg",
75
+ "db": {
76
+ "database": "sema",
77
+ "host": "pg.internal",
78
+ "port": 5432,
79
+ "user": "svc"
80
+ },
81
+ "memory": {
82
+ "backend": "file",
83
+ "engine": "on"
84
+ },
85
+ "session": "auto"
86
+ }
87
+ },
88
+ "secretRefs": {
89
+ "apiKeyEnv": "MODEL_KEY",
90
+ "dbPasswordEnv": "HOST_DB_PW"
91
+ }
92
+ }
93
+ ]
94
+ }
95
+ },
96
+ "warnings": [],
97
+ "metadata": {
98
+ "version": 7,
99
+ "updatedAt": "2026-10-03T00:00:00.000Z"
100
+ }
101
+ },
102
+ "wire": {
103
+ "derive": true
104
+ },
105
+ "localRoot": {
106
+ "derive": true,
107
+ "localVersion": 2617555914511015
108
+ }
109
+ }