gl-skill-binary 0.0.1b2__cp313-cp313-win_amd64.whl
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.
- contracts/schemas/skill-document.schema.json +69 -0
- contracts/schemas/skill-error.schema.json +51 -0
- contracts/schemas/skill-run-event.schema.json +145 -0
- contracts/schemas/skill-run-request.schema.json +112 -0
- contracts/schemas/skill-run-result.schema.json +192 -0
- contracts/schemas/tool-call.schema.json +26 -0
- contracts/schemas/tool-capability.schema.json +110 -0
- contracts/schemas/tool-receipt.schema.json +100 -0
- contracts.cp313-win_amd64.pyd +0 -0
- contracts.pyi +18 -0
- gl_skill/__init__.pyi +5 -0
- gl_skill/_vendor/hermes/PROVENANCE.md +87 -0
- gl_skill/adapters/__init__.pyi +0 -0
- gl_skill/adapters/gllm.pyi +47 -0
- gl_skill/api.pyi +124 -0
- gl_skill/executor/__init__.pyi +4 -0
- gl_skill/executor/contracts.pyi +218 -0
- gl_skill/executor/engine.pyi +36 -0
- gl_skill/loader/__init__.pyi +5 -0
- gl_skill/loader/contracts.pyi +81 -0
- gl_skill/loader/hermes.pyi +10 -0
- gl_skill/loader/local.pyi +66 -0
- gl_skill/metadata.pyi +3 -0
- gl_skill/py.typed +0 -0
- gl_skill/workspace/__init__.pyi +4 -0
- gl_skill/workspace/contracts.pyi +42 -0
- gl_skill/workspace/runtime.pyi +102 -0
- gl_skill.cp313-win_amd64.pyd +0 -0
- gl_skill.pyi +77 -0
- gl_skill_binary-0.0.1b2.dist-info/METADATA +342 -0
- gl_skill_binary-0.0.1b2.dist-info/RECORD +33 -0
- gl_skill_binary-0.0.1b2.dist-info/WHEEL +5 -0
- gl_skill_binary-0.0.1b2.dist-info/top_level.txt +2 -0
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://schemas.gdplabs.id/gl-skill/1.0/skill-document.schema.json",
|
|
4
|
+
"title": "SkillDocument",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"additionalProperties": false,
|
|
7
|
+
"required": [
|
|
8
|
+
"contract_version",
|
|
9
|
+
"ref",
|
|
10
|
+
"name",
|
|
11
|
+
"instructions",
|
|
12
|
+
"source",
|
|
13
|
+
"frontmatter",
|
|
14
|
+
"resources",
|
|
15
|
+
"provenance"
|
|
16
|
+
],
|
|
17
|
+
"properties": {
|
|
18
|
+
"contract_version": {"const": "1.0"},
|
|
19
|
+
"ref": {
|
|
20
|
+
"type": "string",
|
|
21
|
+
"pattern": "^(?!(?:[cC][oO][nN]|[pP][rR][nN]|[aA][uU][xX]|[nN][uU][lL]|[cC][oO][mM][1-9]|[lL][pP][tT][1-9])(?:\\..*)?$)(?!.*[. ]$)(?!\\.\\.?$)(?![._-])[^/\\\\%:<>\"|?*\\u0000-\\u001F\\u007F-\\u009F]{1,128}$"
|
|
22
|
+
},
|
|
23
|
+
"name": {"type": "string", "minLength": 1},
|
|
24
|
+
"instructions": {"type": "string", "minLength": 1},
|
|
25
|
+
"source": {
|
|
26
|
+
"type": "object",
|
|
27
|
+
"additionalProperties": false,
|
|
28
|
+
"required": ["uri", "root", "skill_path"],
|
|
29
|
+
"properties": {
|
|
30
|
+
"uri": {
|
|
31
|
+
"type": "string",
|
|
32
|
+
"pattern": "^file:///(?!/)(?![^?#]*\\\\)[^?#]+$"
|
|
33
|
+
},
|
|
34
|
+
"root": {"type": "string", "minLength": 1},
|
|
35
|
+
"skill_path": {"type": "string", "minLength": 1}
|
|
36
|
+
}
|
|
37
|
+
},
|
|
38
|
+
"frontmatter": {"type": "object"},
|
|
39
|
+
"resources": {
|
|
40
|
+
"type": "array",
|
|
41
|
+
"items": {
|
|
42
|
+
"type": "object",
|
|
43
|
+
"additionalProperties": false,
|
|
44
|
+
"required": ["path", "kind", "size_bytes", "sha256"],
|
|
45
|
+
"properties": {
|
|
46
|
+
"path": {
|
|
47
|
+
"type": "string",
|
|
48
|
+
"minLength": 1,
|
|
49
|
+
"description": "Canonical portable POSIX segments; percent, colon, Windows filename characters/device names, and trailing dot/space segments are forbidden.",
|
|
50
|
+
"pattern": "^(?![\\s\\S]*[\\u0000-\\u001f\\u007f-\\u009f])(?![\\s\\S]*\\\\)(?![\\s\\S]*[:%<>\\\"|?*])(?!(?:[^/]*/)*\\.\\.?(?:/|$))(?!(?:[^/]*/)*(?:(?:[cC][oO][nN]|[pP][rR][nN]|[aA][uU][xX]|[nN][uU][lL]|[cC][oO][mM](?:[1-9]|[¹²³])|[lL][pP][tT](?:[1-9]|[¹²³]))(?:\\.[^/]*)?)(?:/|$))(?!(?:[^/]*/)*[^/]*[. ](?:/|$))[^/]+(?:/[^/]+)*$"
|
|
51
|
+
},
|
|
52
|
+
"kind": {"enum": ["reference", "asset", "script"]},
|
|
53
|
+
"size_bytes": {"type": "integer", "minimum": 0},
|
|
54
|
+
"sha256": {"type": "string", "pattern": "^[a-f0-9]{64}$"}
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
},
|
|
58
|
+
"provenance": {
|
|
59
|
+
"type": "object",
|
|
60
|
+
"additionalProperties": false,
|
|
61
|
+
"required": ["provider", "provider_version", "content_sha256"],
|
|
62
|
+
"properties": {
|
|
63
|
+
"provider": {"type": "string", "minLength": 1},
|
|
64
|
+
"provider_version": {"type": "string", "minLength": 1},
|
|
65
|
+
"content_sha256": {"type": "string", "pattern": "^[a-f0-9]{64}$"}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://schemas.gdplabs.id/gl-skill/1.0/skill-error.schema.json",
|
|
4
|
+
"title": "SkillError",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"additionalProperties": false,
|
|
7
|
+
"required": ["code", "message", "retryable", "details"],
|
|
8
|
+
"properties": {
|
|
9
|
+
"code": {
|
|
10
|
+
"enum": [
|
|
11
|
+
"invalid_request",
|
|
12
|
+
"skill_not_found",
|
|
13
|
+
"skill_invalid",
|
|
14
|
+
"skill_path_escape",
|
|
15
|
+
"skill_too_large",
|
|
16
|
+
"provider_unavailable",
|
|
17
|
+
"workspace_unavailable",
|
|
18
|
+
"workspace_policy_denied",
|
|
19
|
+
"workspace_busy",
|
|
20
|
+
"workspace_staging_failed",
|
|
21
|
+
"workspace_hash_mismatch",
|
|
22
|
+
"workspace_limit_exceeded",
|
|
23
|
+
"workspace_path_denied",
|
|
24
|
+
"workspace_not_found",
|
|
25
|
+
"workspace_input_invalid",
|
|
26
|
+
"workspace_operation_failed",
|
|
27
|
+
"workspace_command_failed",
|
|
28
|
+
"workspace_command_timeout",
|
|
29
|
+
"workspace_not_ready",
|
|
30
|
+
"capability_not_allowed",
|
|
31
|
+
"capability_not_found",
|
|
32
|
+
"capability_name_mismatch",
|
|
33
|
+
"capability_input_invalid",
|
|
34
|
+
"capability_output_invalid",
|
|
35
|
+
"tool_not_allowed",
|
|
36
|
+
"tool_not_found",
|
|
37
|
+
"tool_failed",
|
|
38
|
+
"model_failed",
|
|
39
|
+
"model_empty",
|
|
40
|
+
"max_turns_exceeded",
|
|
41
|
+
"max_tool_calls_exceeded",
|
|
42
|
+
"run_timeout",
|
|
43
|
+
"run_cancelled",
|
|
44
|
+
"internal_error"
|
|
45
|
+
]
|
|
46
|
+
},
|
|
47
|
+
"message": {"type": "string", "minLength": 1},
|
|
48
|
+
"retryable": {"type": "boolean"},
|
|
49
|
+
"details": {"type": "object"}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://schemas.gdplabs.id/gl-skill/1.0/skill-run-event.schema.json",
|
|
4
|
+
"title": "SkillRunEvent",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"additionalProperties": false,
|
|
7
|
+
"required": [
|
|
8
|
+
"contract_version",
|
|
9
|
+
"event_id",
|
|
10
|
+
"request_id",
|
|
11
|
+
"sequence",
|
|
12
|
+
"timestamp",
|
|
13
|
+
"type",
|
|
14
|
+
"terminal",
|
|
15
|
+
"value",
|
|
16
|
+
"metadata"
|
|
17
|
+
],
|
|
18
|
+
"properties": {
|
|
19
|
+
"contract_version": {"const": "1.0"},
|
|
20
|
+
"event_id": {"type": "string", "minLength": 1},
|
|
21
|
+
"request_id": {"type": "string", "minLength": 1},
|
|
22
|
+
"sequence": {"type": "integer", "minimum": 1},
|
|
23
|
+
"timestamp": {"type": "string", "format": "date-time"},
|
|
24
|
+
"type": {
|
|
25
|
+
"enum": [
|
|
26
|
+
"gl_skill.run_started",
|
|
27
|
+
"gl_skill.tool_call",
|
|
28
|
+
"gl_skill.tool_result",
|
|
29
|
+
"gl_skill.final_response",
|
|
30
|
+
"gl_skill.error",
|
|
31
|
+
"gl_skill.cancelled"
|
|
32
|
+
]
|
|
33
|
+
},
|
|
34
|
+
"terminal": {"type": "boolean"},
|
|
35
|
+
"value": {},
|
|
36
|
+
"metadata": {
|
|
37
|
+
"type": "object",
|
|
38
|
+
"additionalProperties": false,
|
|
39
|
+
"required": ["correlation_id", "caller_kind", "skill_ref"],
|
|
40
|
+
"properties": {
|
|
41
|
+
"correlation_id": {"type": "string", "minLength": 1},
|
|
42
|
+
"caller_kind": {"enum": ["direct", "aip", "other"]},
|
|
43
|
+
"skill_ref": {"type": "string", "minLength": 1}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
},
|
|
47
|
+
"allOf": [
|
|
48
|
+
{
|
|
49
|
+
"if": {
|
|
50
|
+
"required": ["type"],
|
|
51
|
+
"properties": {
|
|
52
|
+
"type": {
|
|
53
|
+
"enum": [
|
|
54
|
+
"gl_skill.final_response",
|
|
55
|
+
"gl_skill.error",
|
|
56
|
+
"gl_skill.cancelled"
|
|
57
|
+
]
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
},
|
|
61
|
+
"then": {"properties": {"terminal": {"const": true}}},
|
|
62
|
+
"else": {
|
|
63
|
+
"if": {"required": ["type"]},
|
|
64
|
+
"then": {"properties": {"terminal": {"const": false}}}
|
|
65
|
+
}
|
|
66
|
+
},
|
|
67
|
+
{
|
|
68
|
+
"if": {"required": ["type"], "properties": {"type": {"const": "gl_skill.run_started"}}},
|
|
69
|
+
"then": {
|
|
70
|
+
"properties": {
|
|
71
|
+
"value": {
|
|
72
|
+
"type": "object",
|
|
73
|
+
"additionalProperties": false,
|
|
74
|
+
"required": ["model_id"],
|
|
75
|
+
"properties": {
|
|
76
|
+
"model_id": {"type": "string", "pattern": "^[^/]+/.+$"}
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
},
|
|
82
|
+
{
|
|
83
|
+
"if": {"required": ["type"], "properties": {"type": {"const": "gl_skill.tool_call"}}},
|
|
84
|
+
"then": {"properties": {"value": {"$ref": "tool-call.schema.json"}}}
|
|
85
|
+
},
|
|
86
|
+
{
|
|
87
|
+
"if": {"required": ["type"], "properties": {"type": {"const": "gl_skill.tool_result"}}},
|
|
88
|
+
"then": {"properties": {"value": {"$ref": "tool-receipt.schema.json"}}}
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
"if": {"required": ["type"], "properties": {"type": {"const": "gl_skill.final_response"}}},
|
|
92
|
+
"then": {
|
|
93
|
+
"properties": {
|
|
94
|
+
"value": {
|
|
95
|
+
"type": "object",
|
|
96
|
+
"additionalProperties": false,
|
|
97
|
+
"required": ["result"],
|
|
98
|
+
"properties": {"result": {"allOf": [
|
|
99
|
+
{"$ref": "skill-run-result.schema.json"},
|
|
100
|
+
{"properties": {"status": {"const": "succeeded"}}}
|
|
101
|
+
]}}
|
|
102
|
+
}
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
},
|
|
106
|
+
{
|
|
107
|
+
"if": {"required": ["type"], "properties": {"type": {"const": "gl_skill.cancelled"}}},
|
|
108
|
+
"then": {
|
|
109
|
+
"properties": {
|
|
110
|
+
"value": {
|
|
111
|
+
"type": "object",
|
|
112
|
+
"additionalProperties": false,
|
|
113
|
+
"required": ["result"],
|
|
114
|
+
"properties": {"result": {"allOf": [
|
|
115
|
+
{"$ref": "skill-run-result.schema.json"},
|
|
116
|
+
{"properties": {"status": {"const": "cancelled"}}}
|
|
117
|
+
]}}
|
|
118
|
+
}
|
|
119
|
+
}
|
|
120
|
+
}
|
|
121
|
+
},
|
|
122
|
+
{
|
|
123
|
+
"if": {"required": ["type"], "properties": {"type": {"const": "gl_skill.error"}}},
|
|
124
|
+
"then": {
|
|
125
|
+
"properties": {
|
|
126
|
+
"value": {
|
|
127
|
+
"type": "object",
|
|
128
|
+
"additionalProperties": false,
|
|
129
|
+
"required": ["result"],
|
|
130
|
+
"properties": {"result": {"allOf": [
|
|
131
|
+
{"$ref": "skill-run-result.schema.json"},
|
|
132
|
+
{"properties": {"status": {"enum": [
|
|
133
|
+
"policy_denied",
|
|
134
|
+
"model_error",
|
|
135
|
+
"tool_error",
|
|
136
|
+
"timeout",
|
|
137
|
+
"failed"
|
|
138
|
+
]}}}
|
|
139
|
+
]}}
|
|
140
|
+
}
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
]
|
|
145
|
+
}
|
|
@@ -0,0 +1,112 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://schemas.gdplabs.id/gl-skill/1.0/skill-run-request.schema.json",
|
|
4
|
+
"title": "SkillRunRequest",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"additionalProperties": false,
|
|
7
|
+
"required": [
|
|
8
|
+
"contract_version",
|
|
9
|
+
"request_id",
|
|
10
|
+
"query",
|
|
11
|
+
"skill",
|
|
12
|
+
"caller",
|
|
13
|
+
"model",
|
|
14
|
+
"capabilities",
|
|
15
|
+
"limits",
|
|
16
|
+
"workspace_policy"
|
|
17
|
+
],
|
|
18
|
+
"properties": {
|
|
19
|
+
"contract_version": {"const": "1.0"},
|
|
20
|
+
"request_id": {"type": "string", "minLength": 1},
|
|
21
|
+
"query": {"type": "string", "minLength": 1},
|
|
22
|
+
"skill": {
|
|
23
|
+
"type": "object",
|
|
24
|
+
"additionalProperties": false,
|
|
25
|
+
"required": ["source", "ref"],
|
|
26
|
+
"properties": {
|
|
27
|
+
"source": {
|
|
28
|
+
"type": "string",
|
|
29
|
+
"pattern": "^file:///(?!/)(?![^?#]*\\\\)[^?#]+$"
|
|
30
|
+
},
|
|
31
|
+
"ref": {
|
|
32
|
+
"type": "string",
|
|
33
|
+
"pattern": "^(?!(?:[cC][oO][nN]|[pP][rR][nN]|[aA][uU][xX]|[nN][uU][lL]|[cC][oO][mM][1-9]|[lL][pP][tT][1-9])(?:\\..*)?$)(?!.*[. ]$)(?!\\.\\.?$)(?![._-])[^/\\\\%:<>\"|?*\\u0000-\\u001F\\u007F-\\u009F]{1,128}$"
|
|
34
|
+
}
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
"caller": {
|
|
38
|
+
"type": "object",
|
|
39
|
+
"additionalProperties": false,
|
|
40
|
+
"required": ["kind", "correlation_id"],
|
|
41
|
+
"properties": {
|
|
42
|
+
"kind": {"enum": ["direct", "aip", "other"]},
|
|
43
|
+
"correlation_id": {"type": "string", "minLength": 1}
|
|
44
|
+
}
|
|
45
|
+
},
|
|
46
|
+
"model": {
|
|
47
|
+
"type": "object",
|
|
48
|
+
"additionalProperties": false,
|
|
49
|
+
"required": ["model_id"],
|
|
50
|
+
"properties": {
|
|
51
|
+
"model_id": {"type": "string", "pattern": "^[^/]+/.+$"}
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
|
+
"capabilities": {
|
|
55
|
+
"type": "object",
|
|
56
|
+
"additionalProperties": false,
|
|
57
|
+
"required": ["allowed"],
|
|
58
|
+
"properties": {
|
|
59
|
+
"allowed": {
|
|
60
|
+
"type": "array",
|
|
61
|
+
"items": {
|
|
62
|
+
"type": "string",
|
|
63
|
+
"pattern": "^[a-z][a-z0-9_.-]*@[1-9][0-9]*$"
|
|
64
|
+
},
|
|
65
|
+
"uniqueItems": true
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
},
|
|
69
|
+
"limits": {
|
|
70
|
+
"type": "object",
|
|
71
|
+
"additionalProperties": false,
|
|
72
|
+
"required": [
|
|
73
|
+
"max_turns",
|
|
74
|
+
"max_tool_calls",
|
|
75
|
+
"timeout_seconds",
|
|
76
|
+
"max_output_bytes"
|
|
77
|
+
],
|
|
78
|
+
"properties": {
|
|
79
|
+
"max_turns": {"type": "integer", "minimum": 1, "maximum": 32},
|
|
80
|
+
"max_tool_calls": {"type": "integer", "minimum": 0, "maximum": 128},
|
|
81
|
+
"timeout_seconds": {"type": "number", "exclusiveMinimum": 0, "maximum": 3600},
|
|
82
|
+
"max_output_bytes": {"type": "integer", "minimum": 1, "maximum": 10000000}
|
|
83
|
+
}
|
|
84
|
+
},
|
|
85
|
+
"workspace_policy": {
|
|
86
|
+
"type": "object",
|
|
87
|
+
"additionalProperties": false,
|
|
88
|
+
"required": [
|
|
89
|
+
"max_files",
|
|
90
|
+
"max_total_bytes",
|
|
91
|
+
"max_file_bytes",
|
|
92
|
+
"command_timeout_seconds",
|
|
93
|
+
"max_command_output_bytes",
|
|
94
|
+
"environment_allowlist",
|
|
95
|
+
"network_access"
|
|
96
|
+
],
|
|
97
|
+
"properties": {
|
|
98
|
+
"max_files": {"type": "integer", "minimum": 1, "maximum": 10000},
|
|
99
|
+
"max_total_bytes": {"type": "integer", "minimum": 1},
|
|
100
|
+
"max_file_bytes": {"type": "integer", "minimum": 1},
|
|
101
|
+
"command_timeout_seconds": {"type": "number", "exclusiveMinimum": 0},
|
|
102
|
+
"max_command_output_bytes": {"type": "integer", "minimum": 1},
|
|
103
|
+
"environment_allowlist": {
|
|
104
|
+
"type": "array",
|
|
105
|
+
"items": {"type": "string", "pattern": "^[A-Z_][A-Z0-9_]*$"},
|
|
106
|
+
"uniqueItems": true
|
|
107
|
+
},
|
|
108
|
+
"network_access": {"const": false}
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
}
|
|
@@ -0,0 +1,192 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://schemas.gdplabs.id/gl-skill/1.0/skill-run-result.schema.json",
|
|
4
|
+
"title": "SkillRunResult",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"additionalProperties": false,
|
|
7
|
+
"required": [
|
|
8
|
+
"contract_version",
|
|
9
|
+
"request_id",
|
|
10
|
+
"status",
|
|
11
|
+
"output_text",
|
|
12
|
+
"tool_receipts",
|
|
13
|
+
"artifacts",
|
|
14
|
+
"evidence",
|
|
15
|
+
"usage",
|
|
16
|
+
"error"
|
|
17
|
+
],
|
|
18
|
+
"properties": {
|
|
19
|
+
"contract_version": {"const": "1.0"},
|
|
20
|
+
"request_id": {"type": "string", "minLength": 1},
|
|
21
|
+
"status": {
|
|
22
|
+
"description": "The terminal outcome and normalized error code are coupled: succeeded has no error; policy_denied has an admission/policy code; model_error has a model code; tool_error has a tool/capability output code; timeout and cancelled have their run codes; failed has loading, provider, workspace, budget, or internal codes.",
|
|
23
|
+
"enum": [
|
|
24
|
+
"succeeded",
|
|
25
|
+
"policy_denied",
|
|
26
|
+
"model_error",
|
|
27
|
+
"tool_error",
|
|
28
|
+
"timeout",
|
|
29
|
+
"cancelled",
|
|
30
|
+
"failed"
|
|
31
|
+
]
|
|
32
|
+
},
|
|
33
|
+
"output_text": {"type": ["string", "null"]},
|
|
34
|
+
"tool_receipts": {
|
|
35
|
+
"type": "array",
|
|
36
|
+
"items": {"$ref": "tool-receipt.schema.json"}
|
|
37
|
+
},
|
|
38
|
+
"artifacts": {
|
|
39
|
+
"type": "array",
|
|
40
|
+
"items": {
|
|
41
|
+
"type": "object",
|
|
42
|
+
"additionalProperties": false,
|
|
43
|
+
"required": ["name", "media_type", "uri", "size_bytes", "sha256"],
|
|
44
|
+
"properties": {
|
|
45
|
+
"name": {"type": "string", "minLength": 1},
|
|
46
|
+
"media_type": {"type": "string", "minLength": 1},
|
|
47
|
+
"uri": {"type": "string", "minLength": 1},
|
|
48
|
+
"size_bytes": {"type": "integer", "minimum": 0},
|
|
49
|
+
"sha256": {"type": "string", "pattern": "^[a-f0-9]{64}$"}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
"evidence": {
|
|
54
|
+
"type": "array",
|
|
55
|
+
"items": {
|
|
56
|
+
"type": "object",
|
|
57
|
+
"additionalProperties": false,
|
|
58
|
+
"required": ["kind", "value"],
|
|
59
|
+
"properties": {
|
|
60
|
+
"kind": {"type": "string", "minLength": 1},
|
|
61
|
+
"value": {"type": "string", "minLength": 1}
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
},
|
|
65
|
+
"usage": {
|
|
66
|
+
"type": "object",
|
|
67
|
+
"additionalProperties": false,
|
|
68
|
+
"required": ["turns", "tool_calls", "elapsed_ms"],
|
|
69
|
+
"properties": {
|
|
70
|
+
"turns": {"type": "integer", "minimum": 0},
|
|
71
|
+
"tool_calls": {"type": "integer", "minimum": 0},
|
|
72
|
+
"elapsed_ms": {"type": "number", "minimum": 0}
|
|
73
|
+
}
|
|
74
|
+
},
|
|
75
|
+
"error": {
|
|
76
|
+
"oneOf": [
|
|
77
|
+
{"type": "null"},
|
|
78
|
+
{"$ref": "skill-error.schema.json"}
|
|
79
|
+
]
|
|
80
|
+
}
|
|
81
|
+
},
|
|
82
|
+
"allOf": [
|
|
83
|
+
{
|
|
84
|
+
"if": {"required": ["status"], "properties": {"status": {"const": "succeeded"}}},
|
|
85
|
+
"then": {
|
|
86
|
+
"properties": {
|
|
87
|
+
"output_text": {"type": "string", "minLength": 1},
|
|
88
|
+
"error": {"type": "null"}
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
},
|
|
92
|
+
{
|
|
93
|
+
"if": {"required": ["status"], "properties": {"status": {"not": {"const": "succeeded"}}}},
|
|
94
|
+
"then": {
|
|
95
|
+
"properties": {
|
|
96
|
+
"error": {"$ref": "skill-error.schema.json"}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
},
|
|
100
|
+
{
|
|
101
|
+
"if": {"required": ["status"], "properties": {"status": {"const": "model_error"}}},
|
|
102
|
+
"then": {
|
|
103
|
+
"properties": {
|
|
104
|
+
"error": {"properties": {"code": {"enum": ["model_failed", "model_empty"]}}}
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
},
|
|
108
|
+
{
|
|
109
|
+
"if": {"required": ["status"], "properties": {"status": {"const": "timeout"}}},
|
|
110
|
+
"then": {"properties": {"error": {"properties": {"code": {"const": "run_timeout"}}}}}
|
|
111
|
+
},
|
|
112
|
+
{
|
|
113
|
+
"if": {"required": ["status"], "properties": {"status": {"const": "cancelled"}}},
|
|
114
|
+
"then": {"properties": {"error": {"properties": {"code": {"const": "run_cancelled"}}}}}
|
|
115
|
+
},
|
|
116
|
+
{
|
|
117
|
+
"if": {"required": ["status"], "properties": {"status": {"const": "policy_denied"}}},
|
|
118
|
+
"then": {
|
|
119
|
+
"properties": {
|
|
120
|
+
"error": {
|
|
121
|
+
"properties": {
|
|
122
|
+
"code": {
|
|
123
|
+
"enum": [
|
|
124
|
+
"workspace_policy_denied",
|
|
125
|
+
"capability_not_allowed",
|
|
126
|
+
"capability_not_found",
|
|
127
|
+
"capability_name_mismatch",
|
|
128
|
+
"capability_input_invalid",
|
|
129
|
+
"tool_not_allowed",
|
|
130
|
+
"tool_not_found"
|
|
131
|
+
]
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
},
|
|
138
|
+
{
|
|
139
|
+
"if": {"required": ["status"], "properties": {"status": {"const": "tool_error"}}},
|
|
140
|
+
"then": {
|
|
141
|
+
"properties": {
|
|
142
|
+
"error": {
|
|
143
|
+
"properties": {
|
|
144
|
+
"code": {
|
|
145
|
+
"enum": [
|
|
146
|
+
"workspace_busy",
|
|
147
|
+
"workspace_staging_failed",
|
|
148
|
+
"workspace_hash_mismatch",
|
|
149
|
+
"workspace_limit_exceeded",
|
|
150
|
+
"workspace_path_denied",
|
|
151
|
+
"workspace_not_found",
|
|
152
|
+
"workspace_input_invalid",
|
|
153
|
+
"workspace_operation_failed",
|
|
154
|
+
"workspace_command_failed",
|
|
155
|
+
"workspace_command_timeout",
|
|
156
|
+
"workspace_not_ready",
|
|
157
|
+
"capability_output_invalid",
|
|
158
|
+
"tool_failed"
|
|
159
|
+
]
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
},
|
|
166
|
+
{
|
|
167
|
+
"if": {"required": ["status"], "properties": {"status": {"const": "failed"}}},
|
|
168
|
+
"then": {
|
|
169
|
+
"properties": {
|
|
170
|
+
"error": {
|
|
171
|
+
"properties": {
|
|
172
|
+
"code": {
|
|
173
|
+
"enum": [
|
|
174
|
+
"invalid_request",
|
|
175
|
+
"skill_not_found",
|
|
176
|
+
"skill_invalid",
|
|
177
|
+
"skill_path_escape",
|
|
178
|
+
"skill_too_large",
|
|
179
|
+
"provider_unavailable",
|
|
180
|
+
"workspace_unavailable",
|
|
181
|
+
"max_turns_exceeded",
|
|
182
|
+
"max_tool_calls_exceeded",
|
|
183
|
+
"internal_error"
|
|
184
|
+
]
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
}
|
|
191
|
+
]
|
|
192
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "https://json-schema.org/draft/2020-12/schema",
|
|
3
|
+
"$id": "https://schemas.gdplabs.id/gl-skill/1.0/tool-call.schema.json",
|
|
4
|
+
"title": "ToolCall",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"additionalProperties": false,
|
|
7
|
+
"required": [
|
|
8
|
+
"request_id",
|
|
9
|
+
"turn",
|
|
10
|
+
"call_id",
|
|
11
|
+
"capability_id",
|
|
12
|
+
"name",
|
|
13
|
+
"arguments"
|
|
14
|
+
],
|
|
15
|
+
"properties": {
|
|
16
|
+
"request_id": {"type": "string", "minLength": 1},
|
|
17
|
+
"turn": {"type": "integer", "minimum": 1},
|
|
18
|
+
"call_id": {"type": "string", "minLength": 1},
|
|
19
|
+
"capability_id": {
|
|
20
|
+
"type": "string",
|
|
21
|
+
"pattern": "^[a-z][a-z0-9_.-]*@[1-9][0-9]*$"
|
|
22
|
+
},
|
|
23
|
+
"name": {"type": "string", "minLength": 1},
|
|
24
|
+
"arguments": {"type": "object"}
|
|
25
|
+
}
|
|
26
|
+
}
|