jadegate 1.1.0__tar.gz
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.
- jadegate-1.1.0/LICENSE +68 -0
- jadegate-1.1.0/PKG-INFO +219 -0
- jadegate-1.1.0/README.md +199 -0
- jadegate-1.1.0/jade_cli.py +423 -0
- jadegate-1.1.0/jade_core/__init__.py +95 -0
- jadegate-1.1.0/jade_core/autodiscovery.py +259 -0
- jadegate-1.1.0/jade_core/cli.py +673 -0
- jadegate-1.1.0/jade_core/client.py +345 -0
- jadegate-1.1.0/jade_core/crypto.py +421 -0
- jadegate-1.1.0/jade_core/dag.py +375 -0
- jadegate-1.1.0/jade_core/executor.py +377 -0
- jadegate-1.1.0/jade_core/graph.py +309 -0
- jadegate-1.1.0/jade_core/mcp_server.py +306 -0
- jadegate-1.1.0/jade_core/models.py +394 -0
- jadegate-1.1.0/jade_core/optimizer.py +325 -0
- jadegate-1.1.0/jade_core/registry.py +383 -0
- jadegate-1.1.0/jade_core/security.py +447 -0
- jadegate-1.1.0/jade_core/validator.py +354 -0
- jadegate-1.1.0/jadegate.egg-info/PKG-INFO +219 -0
- jadegate-1.1.0/jadegate.egg-info/SOURCES.txt +29 -0
- jadegate-1.1.0/jadegate.egg-info/dependency_links.txt +1 -0
- jadegate-1.1.0/jadegate.egg-info/entry_points.txt +2 -0
- jadegate-1.1.0/jadegate.egg-info/top_level.txt +2 -0
- jadegate-1.1.0/pyproject.toml +36 -0
- jadegate-1.1.0/setup.cfg +4 -0
- jadegate-1.1.0/tests/test_client.py +198 -0
- jadegate-1.1.0/tests/test_dag.py +209 -0
- jadegate-1.1.0/tests/test_e2e.py +278 -0
- jadegate-1.1.0/tests/test_registry.py +246 -0
- jadegate-1.1.0/tests/test_security.py +182 -0
- jadegate-1.1.0/tests/test_validator.py +177 -0
jadegate-1.1.0/LICENSE
ADDED
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
Business Source License 1.1
|
|
2
|
+
|
|
3
|
+
License text copyright (c) 2017 MariaDB Corporation Ab, All Rights Reserved.
|
|
4
|
+
"Business Source License" is a trademark of MariaDB Corporation Ab.
|
|
5
|
+
|
|
6
|
+
Parameters
|
|
7
|
+
|
|
8
|
+
Licensor: JadeGate Project
|
|
9
|
+
Licensed Work: JadeGate v0.2.0
|
|
10
|
+
The Licensed Work is (c) 2026 JadeGate Project
|
|
11
|
+
Additional Use Grant: You may use the Licensed Work for any purpose,
|
|
12
|
+
including production use, EXCEPT for operating
|
|
13
|
+
a commercial skill certification or verification
|
|
14
|
+
service that competes with JadeGate.
|
|
15
|
+
Change Date: 2030-02-21
|
|
16
|
+
Change License: Apache License, Version 2.0
|
|
17
|
+
|
|
18
|
+
Notice
|
|
19
|
+
|
|
20
|
+
The Business Source License (this document, or the "License") is not
|
|
21
|
+
an Open Source license. However, the Licensed Work will eventually be
|
|
22
|
+
made available under an Open Source License, as stated in this License.
|
|
23
|
+
|
|
24
|
+
For more information on the use of this License, please refer to:
|
|
25
|
+
https://mariadb.com/bsl11/
|
|
26
|
+
|
|
27
|
+
License text
|
|
28
|
+
|
|
29
|
+
The Licensor hereby grants you the right to copy, modify, create
|
|
30
|
+
derivative works, redistribute, and make non-production use of the
|
|
31
|
+
Licensed Work. The Licensor may make an Additional Use Grant, above,
|
|
32
|
+
permitting limited production use.
|
|
33
|
+
|
|
34
|
+
Effective on the Change Date, or the fourth anniversary of the first
|
|
35
|
+
publicly available distribution of a specific version of the Licensed
|
|
36
|
+
Work under this License, whichever comes first, the Licensor hereby
|
|
37
|
+
grants you rights under the terms of the Change License, and the
|
|
38
|
+
rights granted in the paragraph above terminate.
|
|
39
|
+
|
|
40
|
+
If your use of the Licensed Work does not comply with the requirements
|
|
41
|
+
currently in effect as described in this License, you must purchase a
|
|
42
|
+
commercial license from the Licensor, its affiliated entities, or
|
|
43
|
+
authorized resellers, or you must refrain from using the Licensed Work.
|
|
44
|
+
|
|
45
|
+
All copies of the original and modified Licensed Work, and derivative
|
|
46
|
+
works of the Licensed Work, are subject to this License. This License
|
|
47
|
+
applies separately for each version of the Licensed Work and the
|
|
48
|
+
Change Date may vary for each version of the Licensed Work released
|
|
49
|
+
by Licensor.
|
|
50
|
+
|
|
51
|
+
You must conspicuously display this License on each original or
|
|
52
|
+
modified copy of the Licensed Work. If you receive the Licensed Work
|
|
53
|
+
in original or modified form from a third party, the terms and
|
|
54
|
+
conditions set forth in this License apply to your use of that work.
|
|
55
|
+
|
|
56
|
+
Any use of the Licensed Work in violation of this License will
|
|
57
|
+
automatically terminate your rights under this License for the
|
|
58
|
+
current and all other versions of the Licensed Work.
|
|
59
|
+
|
|
60
|
+
This License does not grant you any right in any trademark or logo of
|
|
61
|
+
Licensor or its affiliates (provided that you may use a trademark or
|
|
62
|
+
logo of Licensor as expressly required by this License).
|
|
63
|
+
|
|
64
|
+
TO THE EXTENT PERMITTED BY APPLICABLE LAW, THE LICENSED WORK IS
|
|
65
|
+
PROVIDED ON AN "AS IS" BASIS. LICENSOR HEREBY DISCLAIMS ALL
|
|
66
|
+
WARRANTIES AND CONDITIONS, EXPRESS OR IMPLIED, INCLUDING (WITHOUT
|
|
67
|
+
LIMITATION) WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
|
|
68
|
+
PURPOSE, NON-INFRINGEMENT, AND TITLE.
|
jadegate-1.1.0/PKG-INFO
ADDED
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: jadegate
|
|
3
|
+
Version: 1.1.0
|
|
4
|
+
Summary: Deterministic Security for AI Agent Skills
|
|
5
|
+
Author: JadeGate
|
|
6
|
+
License: Apache-2.0
|
|
7
|
+
Project-URL: Homepage, https://github.com/JadeGate/jade-core
|
|
8
|
+
Project-URL: Repository, https://github.com/JadeGate/jade-core
|
|
9
|
+
Keywords: ai,agent,security,mcp,skills,verification
|
|
10
|
+
Classifier: Development Status :: 4 - Beta
|
|
11
|
+
Classifier: Intended Audience :: Developers
|
|
12
|
+
Classifier: License :: OSI Approved :: Apache Software License
|
|
13
|
+
Classifier: Programming Language :: Python :: 3
|
|
14
|
+
Classifier: Topic :: Security
|
|
15
|
+
Classifier: Topic :: Software Development :: Libraries
|
|
16
|
+
Requires-Python: >=3.8
|
|
17
|
+
Description-Content-Type: text/markdown
|
|
18
|
+
License-File: LICENSE
|
|
19
|
+
Dynamic: license-file
|
|
20
|
+
|
|
21
|
+
<div align="center">
|
|
22
|
+
|
|
23
|
+
# 💠 JadeGate
|
|
24
|
+
|
|
25
|
+
**Deterministic Security for AI Agent Skills**
|
|
26
|
+
|
|
27
|
+
*"Code is fluid. Jade is solid."*
|
|
28
|
+
|
|
29
|
+
*玉印既定,万法不侵。*
|
|
30
|
+
|
|
31
|
+
[](https://pypi.org/project/jadegate/)
|
|
32
|
+
[](CATALOG.md)
|
|
33
|
+
[English | [中文](README_CN.md)]
|
|
34
|
+
|
|
35
|
+
[](LICENSE)
|
|
36
|
+
[]()
|
|
37
|
+
|
|
38
|
+
</div>
|
|
39
|
+
|
|
40
|
+
---
|
|
41
|
+
|
|
42
|
+
## What is JadeGate?
|
|
43
|
+
|
|
44
|
+
**JADE** (JSON-based Agent Deterministic Execution) is a zero-trust security protocol for AI agent skills.
|
|
45
|
+
|
|
46
|
+
Every skill is a pure JSON file — non-Turing-complete, structurally verifiable, mathematically provable safe.
|
|
47
|
+
|
|
48
|
+
No `eval()`. No `exec()`. No `import`. No escape.
|
|
49
|
+
|
|
50
|
+
```
|
|
51
|
+
羌笛何须怨杨柳,春风不度玉门关。
|
|
52
|
+
Malicious code shall not pass the JadeGate.
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
## Why?
|
|
56
|
+
|
|
57
|
+
MCP is powerful but permissive. Any MCP server can run arbitrary code. JadeGate adds a security layer:
|
|
58
|
+
|
|
59
|
+
| | MCP | JadeGate |
|
|
60
|
+
|---|---|---|
|
|
61
|
+
| Format | Arbitrary code | Pure JSON |
|
|
62
|
+
| Verification | Trust the server | 5-layer deterministic proof |
|
|
63
|
+
| Signatures | None | Ed25519 chain of trust |
|
|
64
|
+
| Sandbox | Server-dependent | Enforced by protocol |
|
|
65
|
+
| Dependencies | Runtime-dependent | Zero |
|
|
66
|
+
|
|
67
|
+
## Quick Start
|
|
68
|
+
|
|
69
|
+
```bash
|
|
70
|
+
pip install jadegate
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
```bash
|
|
74
|
+
# Browse all verified skills
|
|
75
|
+
jade list
|
|
76
|
+
|
|
77
|
+
# Search for what you need
|
|
78
|
+
jade search "github"
|
|
79
|
+
|
|
80
|
+
# Check skill details
|
|
81
|
+
jade info mcp_brave_search
|
|
82
|
+
|
|
83
|
+
# Verify any skill file
|
|
84
|
+
jade verify my_skill.json
|
|
85
|
+
|
|
86
|
+
# System status
|
|
87
|
+
jade status
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
## 5-Layer Verification
|
|
91
|
+
|
|
92
|
+
Every skill passes through 5 deterministic security layers:
|
|
93
|
+
|
|
94
|
+
```
|
|
95
|
+
Layer 1: Schema Validation — Structure must be valid JADE JSON
|
|
96
|
+
Layer 2: DAG Integrity — Execution graph must be acyclic, no loops
|
|
97
|
+
Layer 3: Security Policy — Sandbox, network whitelist, permissions
|
|
98
|
+
Layer 4: Injection Detection — No code injection, no template attacks
|
|
99
|
+
Layer 5: Cryptographic Seal — Ed25519 signature chain verification
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
All layers are deterministic. Same input → same result. Every time.
|
|
103
|
+
|
|
104
|
+
## Trust Hierarchy
|
|
105
|
+
|
|
106
|
+
```
|
|
107
|
+
💠 Root Seal — Project authority, highest trust
|
|
108
|
+
🔷 Org Seal — Authorized organizations
|
|
109
|
+
🔹 Community Seal — Anyone can sign; 5+ sigs = Community Verified
|
|
110
|
+
```
|
|
111
|
+
|
|
112
|
+
```bash
|
|
113
|
+
# Generate your community signing key
|
|
114
|
+
python jade_community_sign.py keygen
|
|
115
|
+
|
|
116
|
+
# Sign a skill you've reviewed
|
|
117
|
+
python jade_community_sign.py sign jade_skills/mcp/mcp_brave_search.json
|
|
118
|
+
|
|
119
|
+
# Check all signatures on a skill
|
|
120
|
+
python jade_community_sign.py check jade_skills/mcp/mcp_brave_search.json
|
|
121
|
+
```
|
|
122
|
+
|
|
123
|
+
## 101 Verified Skills
|
|
124
|
+
|
|
125
|
+
JadeGate ships with **101 pre-verified skills** across two categories:
|
|
126
|
+
|
|
127
|
+
### MCP Skills (61)
|
|
128
|
+
GitHub, Slack, Discord, OpenAI, Anthropic, AWS, GCP, Firebase, MongoDB, Redis, Elasticsearch, Stripe, Twilio, SendGrid, Jira, Confluence, Vercel, Shopify, and more.
|
|
129
|
+
|
|
130
|
+
### Tool Skills (40)
|
|
131
|
+
CSV analysis, DNS lookup, QR code, image resize, JWT decode, regex tester, password generator, UUID, YAML/JSON converter, and more.
|
|
132
|
+
|
|
133
|
+
→ Full list: [CATALOG.md](CATALOG.md)
|
|
134
|
+
|
|
135
|
+
## For AI Agents
|
|
136
|
+
|
|
137
|
+
All commands support `--json` for machine-readable output:
|
|
138
|
+
|
|
139
|
+
```bash
|
|
140
|
+
jade search --json "web search"
|
|
141
|
+
jade list --json --type mcp
|
|
142
|
+
jade info --json mcp_brave_search
|
|
143
|
+
```
|
|
144
|
+
|
|
145
|
+
```python
|
|
146
|
+
from jade_core.validator import JadeValidator
|
|
147
|
+
|
|
148
|
+
v = JadeValidator()
|
|
149
|
+
result = v.validate_file("my_skill.json")
|
|
150
|
+
print(result.valid) # True/False
|
|
151
|
+
print(result.issues) # Detailed security findings
|
|
152
|
+
```
|
|
153
|
+
|
|
154
|
+
## Skill Format
|
|
155
|
+
|
|
156
|
+
A JadeGate skill is a single JSON file:
|
|
157
|
+
|
|
158
|
+
```json
|
|
159
|
+
{
|
|
160
|
+
"jade_version": "1.0.0",
|
|
161
|
+
"skill_id": "my_skill",
|
|
162
|
+
"metadata": {
|
|
163
|
+
"name": "My Skill",
|
|
164
|
+
"description": "What it does",
|
|
165
|
+
"version": "1.0.0",
|
|
166
|
+
"tags": ["example"]
|
|
167
|
+
},
|
|
168
|
+
"input_schema": { ... },
|
|
169
|
+
"output_schema": { ... },
|
|
170
|
+
"execution_dag": {
|
|
171
|
+
"nodes": [ ... ],
|
|
172
|
+
"edges": [ ... ]
|
|
173
|
+
},
|
|
174
|
+
"security": {
|
|
175
|
+
"sandbox": "strict",
|
|
176
|
+
"network_whitelist": ["api.example.com"],
|
|
177
|
+
"max_execution_time_ms": 10000
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
```
|
|
181
|
+
|
|
182
|
+
No code. Just structure. Verifiable by anyone.
|
|
183
|
+
|
|
184
|
+
## Contributing
|
|
185
|
+
|
|
186
|
+
1. Create a skill JSON file
|
|
187
|
+
2. Run `jade verify your_skill.json`
|
|
188
|
+
3. Submit a PR — CI auto-verifies
|
|
189
|
+
4. Community signs → merged
|
|
190
|
+
|
|
191
|
+
## Architecture
|
|
192
|
+
|
|
193
|
+
```
|
|
194
|
+
┌─────────────────────────────────────────┐
|
|
195
|
+
│ AI Agent │
|
|
196
|
+
├─────────────────────────────────────────┤
|
|
197
|
+
│ JadeGate Protocol │
|
|
198
|
+
│ ┌─────────┐ ┌──────────┐ ┌──────────┐ │
|
|
199
|
+
│ │ Verify │ │ Search │ │ Execute │ │
|
|
200
|
+
│ │ 5-Layer │ │ Catalog │ │ Sandbox │ │
|
|
201
|
+
│ └─────────┘ └──────────┘ └──────────┘ │
|
|
202
|
+
├─────────────────────────────────────────┤
|
|
203
|
+
│ 💠 Ed25519 Signature Chain │
|
|
204
|
+
├─────────────────────────────────────────┤
|
|
205
|
+
│ Skills (Pure JSON, no code) │
|
|
206
|
+
└─────────────────────────────────────────┘
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
## License
|
|
210
|
+
|
|
211
|
+
Apache 2.0
|
|
212
|
+
|
|
213
|
+
---
|
|
214
|
+
|
|
215
|
+
<div align="center">
|
|
216
|
+
|
|
217
|
+
**💠 JadeGate** — *Trust is not assumed. Trust is proven.*
|
|
218
|
+
|
|
219
|
+
</div>
|
jadegate-1.1.0/README.md
ADDED
|
@@ -0,0 +1,199 @@
|
|
|
1
|
+
<div align="center">
|
|
2
|
+
|
|
3
|
+
# 💠 JadeGate
|
|
4
|
+
|
|
5
|
+
**Deterministic Security for AI Agent Skills**
|
|
6
|
+
|
|
7
|
+
*"Code is fluid. Jade is solid."*
|
|
8
|
+
|
|
9
|
+
*玉印既定,万法不侵。*
|
|
10
|
+
|
|
11
|
+
[](https://pypi.org/project/jadegate/)
|
|
12
|
+
[](CATALOG.md)
|
|
13
|
+
[English | [中文](README_CN.md)]
|
|
14
|
+
|
|
15
|
+
[](LICENSE)
|
|
16
|
+
[]()
|
|
17
|
+
|
|
18
|
+
</div>
|
|
19
|
+
|
|
20
|
+
---
|
|
21
|
+
|
|
22
|
+
## What is JadeGate?
|
|
23
|
+
|
|
24
|
+
**JADE** (JSON-based Agent Deterministic Execution) is a zero-trust security protocol for AI agent skills.
|
|
25
|
+
|
|
26
|
+
Every skill is a pure JSON file — non-Turing-complete, structurally verifiable, mathematically provable safe.
|
|
27
|
+
|
|
28
|
+
No `eval()`. No `exec()`. No `import`. No escape.
|
|
29
|
+
|
|
30
|
+
```
|
|
31
|
+
羌笛何须怨杨柳,春风不度玉门关。
|
|
32
|
+
Malicious code shall not pass the JadeGate.
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
## Why?
|
|
36
|
+
|
|
37
|
+
MCP is powerful but permissive. Any MCP server can run arbitrary code. JadeGate adds a security layer:
|
|
38
|
+
|
|
39
|
+
| | MCP | JadeGate |
|
|
40
|
+
|---|---|---|
|
|
41
|
+
| Format | Arbitrary code | Pure JSON |
|
|
42
|
+
| Verification | Trust the server | 5-layer deterministic proof |
|
|
43
|
+
| Signatures | None | Ed25519 chain of trust |
|
|
44
|
+
| Sandbox | Server-dependent | Enforced by protocol |
|
|
45
|
+
| Dependencies | Runtime-dependent | Zero |
|
|
46
|
+
|
|
47
|
+
## Quick Start
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
pip install jadegate
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
```bash
|
|
54
|
+
# Browse all verified skills
|
|
55
|
+
jade list
|
|
56
|
+
|
|
57
|
+
# Search for what you need
|
|
58
|
+
jade search "github"
|
|
59
|
+
|
|
60
|
+
# Check skill details
|
|
61
|
+
jade info mcp_brave_search
|
|
62
|
+
|
|
63
|
+
# Verify any skill file
|
|
64
|
+
jade verify my_skill.json
|
|
65
|
+
|
|
66
|
+
# System status
|
|
67
|
+
jade status
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
## 5-Layer Verification
|
|
71
|
+
|
|
72
|
+
Every skill passes through 5 deterministic security layers:
|
|
73
|
+
|
|
74
|
+
```
|
|
75
|
+
Layer 1: Schema Validation — Structure must be valid JADE JSON
|
|
76
|
+
Layer 2: DAG Integrity — Execution graph must be acyclic, no loops
|
|
77
|
+
Layer 3: Security Policy — Sandbox, network whitelist, permissions
|
|
78
|
+
Layer 4: Injection Detection — No code injection, no template attacks
|
|
79
|
+
Layer 5: Cryptographic Seal — Ed25519 signature chain verification
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
All layers are deterministic. Same input → same result. Every time.
|
|
83
|
+
|
|
84
|
+
## Trust Hierarchy
|
|
85
|
+
|
|
86
|
+
```
|
|
87
|
+
💠 Root Seal — Project authority, highest trust
|
|
88
|
+
🔷 Org Seal — Authorized organizations
|
|
89
|
+
🔹 Community Seal — Anyone can sign; 5+ sigs = Community Verified
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
```bash
|
|
93
|
+
# Generate your community signing key
|
|
94
|
+
python jade_community_sign.py keygen
|
|
95
|
+
|
|
96
|
+
# Sign a skill you've reviewed
|
|
97
|
+
python jade_community_sign.py sign jade_skills/mcp/mcp_brave_search.json
|
|
98
|
+
|
|
99
|
+
# Check all signatures on a skill
|
|
100
|
+
python jade_community_sign.py check jade_skills/mcp/mcp_brave_search.json
|
|
101
|
+
```
|
|
102
|
+
|
|
103
|
+
## 101 Verified Skills
|
|
104
|
+
|
|
105
|
+
JadeGate ships with **101 pre-verified skills** across two categories:
|
|
106
|
+
|
|
107
|
+
### MCP Skills (61)
|
|
108
|
+
GitHub, Slack, Discord, OpenAI, Anthropic, AWS, GCP, Firebase, MongoDB, Redis, Elasticsearch, Stripe, Twilio, SendGrid, Jira, Confluence, Vercel, Shopify, and more.
|
|
109
|
+
|
|
110
|
+
### Tool Skills (40)
|
|
111
|
+
CSV analysis, DNS lookup, QR code, image resize, JWT decode, regex tester, password generator, UUID, YAML/JSON converter, and more.
|
|
112
|
+
|
|
113
|
+
→ Full list: [CATALOG.md](CATALOG.md)
|
|
114
|
+
|
|
115
|
+
## For AI Agents
|
|
116
|
+
|
|
117
|
+
All commands support `--json` for machine-readable output:
|
|
118
|
+
|
|
119
|
+
```bash
|
|
120
|
+
jade search --json "web search"
|
|
121
|
+
jade list --json --type mcp
|
|
122
|
+
jade info --json mcp_brave_search
|
|
123
|
+
```
|
|
124
|
+
|
|
125
|
+
```python
|
|
126
|
+
from jade_core.validator import JadeValidator
|
|
127
|
+
|
|
128
|
+
v = JadeValidator()
|
|
129
|
+
result = v.validate_file("my_skill.json")
|
|
130
|
+
print(result.valid) # True/False
|
|
131
|
+
print(result.issues) # Detailed security findings
|
|
132
|
+
```
|
|
133
|
+
|
|
134
|
+
## Skill Format
|
|
135
|
+
|
|
136
|
+
A JadeGate skill is a single JSON file:
|
|
137
|
+
|
|
138
|
+
```json
|
|
139
|
+
{
|
|
140
|
+
"jade_version": "1.0.0",
|
|
141
|
+
"skill_id": "my_skill",
|
|
142
|
+
"metadata": {
|
|
143
|
+
"name": "My Skill",
|
|
144
|
+
"description": "What it does",
|
|
145
|
+
"version": "1.0.0",
|
|
146
|
+
"tags": ["example"]
|
|
147
|
+
},
|
|
148
|
+
"input_schema": { ... },
|
|
149
|
+
"output_schema": { ... },
|
|
150
|
+
"execution_dag": {
|
|
151
|
+
"nodes": [ ... ],
|
|
152
|
+
"edges": [ ... ]
|
|
153
|
+
},
|
|
154
|
+
"security": {
|
|
155
|
+
"sandbox": "strict",
|
|
156
|
+
"network_whitelist": ["api.example.com"],
|
|
157
|
+
"max_execution_time_ms": 10000
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
```
|
|
161
|
+
|
|
162
|
+
No code. Just structure. Verifiable by anyone.
|
|
163
|
+
|
|
164
|
+
## Contributing
|
|
165
|
+
|
|
166
|
+
1. Create a skill JSON file
|
|
167
|
+
2. Run `jade verify your_skill.json`
|
|
168
|
+
3. Submit a PR — CI auto-verifies
|
|
169
|
+
4. Community signs → merged
|
|
170
|
+
|
|
171
|
+
## Architecture
|
|
172
|
+
|
|
173
|
+
```
|
|
174
|
+
┌─────────────────────────────────────────┐
|
|
175
|
+
│ AI Agent │
|
|
176
|
+
├─────────────────────────────────────────┤
|
|
177
|
+
│ JadeGate Protocol │
|
|
178
|
+
│ ┌─────────┐ ┌──────────┐ ┌──────────┐ │
|
|
179
|
+
│ │ Verify │ │ Search │ │ Execute │ │
|
|
180
|
+
│ │ 5-Layer │ │ Catalog │ │ Sandbox │ │
|
|
181
|
+
│ └─────────┘ └──────────┘ └──────────┘ │
|
|
182
|
+
├─────────────────────────────────────────┤
|
|
183
|
+
│ 💠 Ed25519 Signature Chain │
|
|
184
|
+
├─────────────────────────────────────────┤
|
|
185
|
+
│ Skills (Pure JSON, no code) │
|
|
186
|
+
└─────────────────────────────────────────┘
|
|
187
|
+
```
|
|
188
|
+
|
|
189
|
+
## License
|
|
190
|
+
|
|
191
|
+
Apache 2.0
|
|
192
|
+
|
|
193
|
+
---
|
|
194
|
+
|
|
195
|
+
<div align="center">
|
|
196
|
+
|
|
197
|
+
**💠 JadeGate** — *Trust is not assumed. Trust is proven.*
|
|
198
|
+
|
|
199
|
+
</div>
|