@hermes-hq/hodios-schema 0.1.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.
@@ -0,0 +1,145 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://hermes-ide.com/prompts/schema/v1/evals.schema.json",
4
+ "title": "Hodios entry evals",
5
+ "type": "object",
6
+ "required": [
7
+ "schema",
8
+ "baseline",
9
+ "cases"
10
+ ],
11
+ "additionalProperties": false,
12
+ "properties": {
13
+ "schema": {
14
+ "const": 1
15
+ },
16
+ "baseline": {
17
+ "type": "string",
18
+ "minLength": 1,
19
+ "description": "The naive prompt the entry must beat."
20
+ },
21
+ "providers": {
22
+ "type": "array",
23
+ "items": {
24
+ "type": "object",
25
+ "required": [
26
+ "family",
27
+ "tier"
28
+ ],
29
+ "additionalProperties": false,
30
+ "properties": {
31
+ "family": {
32
+ "type": "string",
33
+ "pattern": "^[a-z0-9]+(-[a-z0-9]+)*$"
34
+ },
35
+ "tier": {
36
+ "enum": [
37
+ "small",
38
+ "mid",
39
+ "frontier"
40
+ ]
41
+ }
42
+ }
43
+ },
44
+ "minItems": 1
45
+ },
46
+ "judge": {
47
+ "type": "object",
48
+ "required": [
49
+ "family",
50
+ "tier"
51
+ ],
52
+ "additionalProperties": false,
53
+ "properties": {
54
+ "family": {
55
+ "type": "string",
56
+ "pattern": "^[a-z0-9]+(-[a-z0-9]+)*$"
57
+ },
58
+ "tier": {
59
+ "enum": [
60
+ "small",
61
+ "mid",
62
+ "frontier"
63
+ ]
64
+ }
65
+ }
66
+ },
67
+ "pass_threshold": {
68
+ "type": "number",
69
+ "minimum": 0,
70
+ "maximum": 1
71
+ },
72
+ "min_lift_over_baseline": {
73
+ "type": "number",
74
+ "minimum": 0,
75
+ "maximum": 1
76
+ },
77
+ "cases": {
78
+ "type": "array",
79
+ "minItems": 1,
80
+ "items": {
81
+ "type": "object",
82
+ "required": [
83
+ "name",
84
+ "vars",
85
+ "assert"
86
+ ],
87
+ "additionalProperties": false,
88
+ "properties": {
89
+ "name": {
90
+ "type": "string",
91
+ "pattern": "^[a-z0-9]+(-[a-z0-9]+)*$"
92
+ },
93
+ "description": {
94
+ "type": "string"
95
+ },
96
+ "vars": {
97
+ "type": "object",
98
+ "additionalProperties": {
99
+ "type": [
100
+ "string",
101
+ "number",
102
+ "boolean"
103
+ ]
104
+ }
105
+ },
106
+ "assert": {
107
+ "type": "array",
108
+ "minItems": 1,
109
+ "items": {
110
+ "type": "object",
111
+ "required": [
112
+ "type"
113
+ ],
114
+ "additionalProperties": false,
115
+ "properties": {
116
+ "type": {
117
+ "enum": [
118
+ "contains",
119
+ "icontains",
120
+ "not-contains",
121
+ "not-icontains",
122
+ "contains-any",
123
+ "contains-all",
124
+ "equals",
125
+ "starts-with",
126
+ "regex",
127
+ "not-regex",
128
+ "is-json",
129
+ "javascript",
130
+ "llm-rubric",
131
+ "similar"
132
+ ]
133
+ },
134
+ "value": {},
135
+ "threshold": {
136
+ "type": "number"
137
+ }
138
+ }
139
+ }
140
+ }
141
+ }
142
+ }
143
+ }
144
+ }
145
+ }
@@ -0,0 +1,157 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://hermes-ide.com/prompts/schema/v1/vocab.schema.json",
4
+ "title": "Hodios controlled vocabulary",
5
+ "type": "object",
6
+ "required": [
7
+ "schema",
8
+ "facet",
9
+ "values"
10
+ ],
11
+ "additionalProperties": false,
12
+ "properties": {
13
+ "schema": {
14
+ "const": 1
15
+ },
16
+ "facet": {
17
+ "type": "string",
18
+ "pattern": "^[a-z0-9]+(-[a-z0-9]+)*$"
19
+ },
20
+ "description": {
21
+ "type": "string"
22
+ },
23
+ "values": {
24
+ "type": "array",
25
+ "items": {
26
+ "type": "object",
27
+ "required": [
28
+ "value",
29
+ "label"
30
+ ],
31
+ "additionalProperties": false,
32
+ "properties": {
33
+ "value": {
34
+ "type": "string",
35
+ "pattern": "^[a-z0-9]+(-[a-z0-9]+)*$"
36
+ },
37
+ "label": {
38
+ "type": "string",
39
+ "minLength": 1
40
+ },
41
+ "description": {
42
+ "type": "string"
43
+ },
44
+ "synonyms": {
45
+ "type": "array",
46
+ "items": {
47
+ "type": "string",
48
+ "pattern": "^[a-z0-9]+(-[a-z0-9]+)*$"
49
+ },
50
+ "uniqueItems": true
51
+ },
52
+ "deprecated_by": {
53
+ "type": [
54
+ "string",
55
+ "null"
56
+ ],
57
+ "pattern": "^[a-z0-9]+(-[a-z0-9]+)*$"
58
+ },
59
+ "domain": {
60
+ "type": "string",
61
+ "pattern": "^[a-z0-9]+(-[a-z0-9]+)*$",
62
+ "description": "category: the owning domain."
63
+ },
64
+ "scope_note": {
65
+ "type": "string",
66
+ "description": "category: the boundary with neighbouring values."
67
+ },
68
+ "examples": {
69
+ "type": "array",
70
+ "items": {
71
+ "type": "string",
72
+ "pattern": "^[a-z0-9]+(-[a-z0-9]+)*$"
73
+ },
74
+ "uniqueItems": true
75
+ },
76
+ "advice_risk": {
77
+ "type": "array",
78
+ "items": {
79
+ "type": "string",
80
+ "pattern": "^[a-z0-9]+(-[a-z0-9]+)*$"
81
+ },
82
+ "uniqueItems": true,
83
+ "description": "category: advice-risk values every entry in it must declare."
84
+ },
85
+ "layout": {
86
+ "enum": [
87
+ "flat",
88
+ "nested"
89
+ ],
90
+ "description": "category: flat (default) or nested."
91
+ },
92
+ "parent": {
93
+ "type": "string",
94
+ "pattern": "^[a-z0-9]+(-[a-z0-9]+)*$",
95
+ "description": "subcategory: the parent category."
96
+ },
97
+ "implies": {
98
+ "type": "array",
99
+ "items": {
100
+ "type": "string",
101
+ "pattern": "^[a-z0-9]+(-[a-z0-9]+)*$"
102
+ },
103
+ "uniqueItems": true,
104
+ "description": "stack, subject: broader values this one implies."
105
+ },
106
+ "type": {
107
+ "type": "string",
108
+ "pattern": "^[a-z0-9]+(-[a-z0-9]+)*$",
109
+ "description": "stack, subject: kind of value."
110
+ },
111
+ "detect": {
112
+ "type": "object",
113
+ "additionalProperties": false,
114
+ "description": "stack: on-device project detection hints for Hermes.",
115
+ "properties": {
116
+ "files": {
117
+ "type": "array",
118
+ "items": {
119
+ "type": "string",
120
+ "minLength": 1
121
+ },
122
+ "uniqueItems": true
123
+ },
124
+ "deps": {
125
+ "type": "array",
126
+ "items": {
127
+ "type": "string",
128
+ "pattern": "^[a-z]+:[^\\s]+$"
129
+ },
130
+ "uniqueItems": true
131
+ }
132
+ }
133
+ },
134
+ "group": {
135
+ "type": "string",
136
+ "pattern": "^[a-z0-9]+(-[a-z0-9]+)*$",
137
+ "description": "role: picker group."
138
+ },
139
+ "onet": {
140
+ "type": "string",
141
+ "pattern": "^\\d{2}-\\d{4}(\\.\\d{2})?$",
142
+ "description": "role: O*NET-SOC code."
143
+ },
144
+ "partials": {
145
+ "type": "array",
146
+ "items": {
147
+ "type": "string",
148
+ "pattern": "^[a-z0-9]+(-[a-z0-9]+)*(/[a-z0-9]+(-[a-z0-9]+)*)*$"
149
+ },
150
+ "uniqueItems": true,
151
+ "description": "advice-risk: guardrail partials an entry with this value must include."
152
+ }
153
+ }
154
+ }
155
+ }
156
+ }
157
+ }