@skillerr/protocol 0.6.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,105 @@
1
+ {
2
+ "$schema": "https://json-schema.org/draft/2020-12/schema",
3
+ "$id": "https://skillerr.com/schema/0.5/skill-contract.schema.json",
4
+ "title": "Open .skill 0.5 authoring contract",
5
+ "type": "object",
6
+ "additionalProperties": false,
7
+ "required": [
8
+ "kind",
9
+ "contract_version",
10
+ "skill_kind",
11
+ "title",
12
+ "intent",
13
+ "sensitivity",
14
+ "triggers",
15
+ "inputs",
16
+ "preconditions",
17
+ "steps",
18
+ "branches",
19
+ "human_decisions",
20
+ "capabilities",
21
+ "permissions",
22
+ "forbidden_actions",
23
+ "outputs",
24
+ "recovery",
25
+ "verification",
26
+ "corrections",
27
+ "provenance"
28
+ ],
29
+ "properties": {
30
+ "kind": { "const": "skill_contract" },
31
+ "contract_version": { "const": "0.5" },
32
+ "skill_kind": { "enum": ["knowledge", "procedure", "integration"] },
33
+ "title": { "type": "string", "minLength": 1 },
34
+ "intent": { "type": "string", "minLength": 1 },
35
+ "sensitivity": { "enum": ["private", "shareable_redacted", "public"] },
36
+ "triggers": { "$ref": "#/$defs/declaration" },
37
+ "inputs": { "$ref": "#/$defs/declaration" },
38
+ "preconditions": { "$ref": "#/$defs/declaration" },
39
+ "steps": { "$ref": "#/$defs/declaration" },
40
+ "branches": { "$ref": "#/$defs/declaration" },
41
+ "human_decisions": { "$ref": "#/$defs/declaration" },
42
+ "capabilities": { "$ref": "#/$defs/declaration" },
43
+ "permissions": { "$ref": "#/$defs/declaration" },
44
+ "forbidden_actions": { "$ref": "#/$defs/declaration" },
45
+ "outputs": { "$ref": "#/$defs/declaration" },
46
+ "recovery": { "$ref": "#/$defs/declaration" },
47
+ "verification": { "$ref": "#/$defs/declaration" },
48
+ "corrections": { "$ref": "#/$defs/declaration" },
49
+ "provenance": {
50
+ "type": "object",
51
+ "additionalProperties": false,
52
+ "required": ["evidence", "limitations", "human_review"],
53
+ "properties": {
54
+ "evidence": { "$ref": "#/$defs/declaration" },
55
+ "limitations": { "$ref": "#/$defs/declaration" },
56
+ "human_review": {
57
+ "oneOf": [
58
+ {
59
+ "type": "object",
60
+ "additionalProperties": false,
61
+ "required": ["status"],
62
+ "properties": { "status": { "const": "not_reviewed" } }
63
+ },
64
+ {
65
+ "type": "object",
66
+ "additionalProperties": false,
67
+ "required": ["status", "actor", "at", "scope"],
68
+ "properties": {
69
+ "status": { "const": "reviewed" },
70
+ "actor": { "type": "string", "minLength": 1 },
71
+ "at": { "type": "string", "format": "date-time" },
72
+ "scope": { "type": "array", "minItems": 1, "items": { "type": "string" } },
73
+ "digest": { "type": "string" }
74
+ }
75
+ }
76
+ ]
77
+ }
78
+ }
79
+ }
80
+ },
81
+ "$defs": {
82
+ "declaration": {
83
+ "oneOf": [
84
+ {
85
+ "type": "object",
86
+ "additionalProperties": false,
87
+ "required": ["status", "items"],
88
+ "properties": {
89
+ "status": { "const": "specified" },
90
+ "items": { "type": "array", "minItems": 1, "items": { "type": ["object", "string"] } }
91
+ }
92
+ },
93
+ {
94
+ "type": "object",
95
+ "additionalProperties": false,
96
+ "required": ["status", "reason"],
97
+ "properties": {
98
+ "status": { "enum": ["none", "not_applicable"] },
99
+ "reason": { "type": "string", "minLength": 1 }
100
+ }
101
+ }
102
+ ]
103
+ }
104
+ }
105
+ }