0xray 3.0.1 → 3.0.2
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.
- package/.opencode/codex.codex +1 -1
- package/.opencode/commands/dependency-audit.md +3 -3
- package/.opencode/enforcer-config.json +2 -2
- package/README.md +2 -2
- package/dist/CHANGELOG.md +8 -0
- package/dist/README.md +2 -2
- package/dist/analytics/routing-refiner.js +1 -1
- package/dist/core/boot-orchestrator.js +2 -2
- package/dist/core/features-config.js +1 -1
- package/dist/mcps/config/config-loader.d.ts +9 -3
- package/dist/mcps/config/config-loader.js +16 -9
- package/dist/mcps/config/config-loader.js.map +1 -1
- package/dist/mcps/governance.server.js +1 -1
- package/dist/mcps/knowledge-skills/tech-writer.server.js +1 -1
- package/dist/mcps/registry.json +1 -1
- package/dist/skills/registry.json +1 -1
- package/package.json +1 -1
- package/scripts/node/universal-version-manager.js +3 -3
- package/src/mcps/config/__tests__/config-loader.test.ts +2 -7
- package/src/mcps/config/config-loader.ts +18 -9
- package/src/mcps/governance.server.ts +1 -1
- package/src/mcps/knowledge-skills/tech-writer.server.ts +1 -1
- package/src/mcps/registry.json +1 -1
- package/src/opencode/codex.codex +1 -1
- package/src/opencode/commands/dependency-audit.md +3 -3
- package/src/opencode/enforcer-config.json +2 -2
- package/src/skills/registry.json +1 -1
- package/xray/codex.json +1 -1
- package/xray/config.json +1 -1
- package/xray/features.json +1 -1
- package/xray/integrations.json +3 -3
package/.opencode/codex.codex
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "3.0.
|
|
2
|
+
"version": "3.0.1",
|
|
3
3
|
"terms": [
|
|
4
4
|
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68
|
|
5
5
|
],
|
|
@@ -69,7 +69,7 @@ Comprehensive dependency analysis and security audit for all project dependencie
|
|
|
69
69
|
"vulnerabilities": [
|
|
70
70
|
{
|
|
71
71
|
"package": "lodash",
|
|
72
|
-
"version": "3.0.
|
|
72
|
+
"version": "3.0.1",
|
|
73
73
|
"severity": "high",
|
|
74
74
|
"cve": "CVE-2021-23337",
|
|
75
75
|
"description": "Command injection vulnerability"
|
|
@@ -85,14 +85,14 @@ Security-focused format for CI/CD integration:
|
|
|
85
85
|
|
|
86
86
|
```json
|
|
87
87
|
{
|
|
88
|
-
"version": "3.0.
|
|
88
|
+
"version": "3.0.1",
|
|
89
89
|
"$schema": "https://raw.githubusercontent.com/oasis-tcs/sarif-spec/master/Schemata/sarif-schema-2.1.0.json",
|
|
90
90
|
"runs": [
|
|
91
91
|
{
|
|
92
92
|
"tool": {
|
|
93
93
|
"driver": {
|
|
94
94
|
"name": "Dependency Audit",
|
|
95
|
-
"version": "3.0.
|
|
95
|
+
"version": "3.0.1"
|
|
96
96
|
}
|
|
97
97
|
},
|
|
98
98
|
"results": [...]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"framework": "xray 2.0",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.1",
|
|
4
4
|
"description": "Codex-compliant framework configuration for Credible UI project",
|
|
5
5
|
"thresholds": {
|
|
6
6
|
"bundleSize": {
|
|
@@ -220,7 +220,7 @@
|
|
|
220
220
|
}
|
|
221
221
|
},
|
|
222
222
|
"codex": {
|
|
223
|
-
"version": "3.0.
|
|
223
|
+
"version": "3.0.1",
|
|
224
224
|
"terms": [
|
|
225
225
|
1,
|
|
226
226
|
2,
|
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# 0xRay — Self-Healing AI Governance OS
|
|
2
2
|
|
|
3
|
-
**v3.0.
|
|
3
|
+
**v3.0.2** — 41 agents · 44 skills · 15 MCPs servers · 20 codex terms · 160 test files
|
|
4
4
|
|
|
5
5
|
[](https://0xrayai.github.io/xray/)
|
|
6
6
|
|
|
@@ -181,7 +181,7 @@ Every subsystem is configurable via `features.json` (located at `xray/features.j
|
|
|
181
181
|
|
|
182
182
|
```json
|
|
183
183
|
{
|
|
184
|
-
"version": "3.0.
|
|
184
|
+
"version": "3.0.1",
|
|
185
185
|
"token_optimization": {
|
|
186
186
|
"enabled": true,
|
|
187
187
|
"max_context_tokens": 20000,
|
package/dist/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,14 @@ All notable changes to this project will be documented in this file.
|
|
|
4
4
|
|
|
5
5
|
The format is based on [Conventional Commits](https://www.conventionalcommits.org/).
|
|
6
6
|
|
|
7
|
+
## [3.0.2] - 2026-06-12
|
|
8
|
+
|
|
9
|
+
### 🔄 Changes
|
|
10
|
+
|
|
11
|
+
- Version bump
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
7
15
|
## [3.0.1] - 2026-06-12
|
|
8
16
|
|
|
9
17
|
### 🔄 Changes
|
package/dist/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# 0xRay — Self-Healing AI Governance OS
|
|
2
2
|
|
|
3
|
-
**v3.0.
|
|
3
|
+
**v3.0.2** — 41 agents · 44 skills · 15 MCPs servers · 20 codex terms · 160 test files
|
|
4
4
|
|
|
5
5
|
[](https://0xrayai.github.io/xray/)
|
|
6
6
|
|
|
@@ -181,7 +181,7 @@ Every subsystem is configurable via `features.json` (located at `xray/features.j
|
|
|
181
181
|
|
|
182
182
|
```json
|
|
183
183
|
{
|
|
184
|
-
"version": "3.0.
|
|
184
|
+
"version": "3.0.1",
|
|
185
185
|
"token_optimization": {
|
|
186
186
|
"enabled": true,
|
|
187
187
|
"max_context_tokens": 20000,
|
|
@@ -36,7 +36,7 @@ class RoutingRefiner {
|
|
|
36
36
|
const optimizations = this.suggestMappingOptimizations(promptAnalysis, performanceReport);
|
|
37
37
|
const warnings = this.generateWarnings(newMappings, optimizations);
|
|
38
38
|
return {
|
|
39
|
-
version: "3.0.
|
|
39
|
+
version: "3.0.1",
|
|
40
40
|
generatedAt: new Date(),
|
|
41
41
|
summary: {
|
|
42
42
|
newMappings: newMappings.length,
|
|
@@ -717,9 +717,9 @@ export class BootOrchestrator {
|
|
|
717
717
|
try {
|
|
718
718
|
// Consumer runtime compat (XRAY_ env + .xray fallbacks)
|
|
719
719
|
const xrayConfig = {
|
|
720
|
-
version: "3.0.
|
|
720
|
+
version: "3.0.1",
|
|
721
721
|
codex_enabled: true,
|
|
722
|
-
codex_version: "v3.
|
|
722
|
+
codex_version: "v3.0.0",
|
|
723
723
|
codex_terms: [
|
|
724
724
|
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20,
|
|
725
725
|
21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37,
|
|
@@ -19,14 +19,16 @@ export interface ConfigLoadResult {
|
|
|
19
19
|
* Loads MCP server configurations from files
|
|
20
20
|
*/
|
|
21
21
|
export declare class ConfigLoader {
|
|
22
|
-
private
|
|
22
|
+
private defaultPaths;
|
|
23
|
+
private customPaths;
|
|
24
|
+
private get configPaths();
|
|
23
25
|
/**
|
|
24
26
|
* Load configurations from available config files
|
|
25
27
|
* Returns empty array if no config file exists (this is valid)
|
|
26
28
|
*/
|
|
27
29
|
load(): Promise<ConfigLoadResult>;
|
|
28
30
|
/**
|
|
29
|
-
* Add a custom config path to search
|
|
31
|
+
* Add a custom config path to search before defaults
|
|
30
32
|
*/
|
|
31
33
|
addConfigPath(configPath: string): void;
|
|
32
34
|
/**
|
|
@@ -34,9 +36,13 @@ export declare class ConfigLoader {
|
|
|
34
36
|
*/
|
|
35
37
|
getConfigPaths(): string[];
|
|
36
38
|
/**
|
|
37
|
-
* Reset config paths to defaults
|
|
39
|
+
* Reset config paths to defaults, clearing custom paths
|
|
38
40
|
*/
|
|
39
41
|
resetConfigPaths(): void;
|
|
42
|
+
/**
|
|
43
|
+
* Clear all config paths (both default and custom)
|
|
44
|
+
*/
|
|
45
|
+
clearConfigPaths(): void;
|
|
40
46
|
/**
|
|
41
47
|
* Load configuration from a specific file path
|
|
42
48
|
*/
|
|
@@ -11,11 +11,15 @@ import * as fs from 'fs';
|
|
|
11
11
|
* Loads MCP server configurations from files
|
|
12
12
|
*/
|
|
13
13
|
export class ConfigLoader {
|
|
14
|
-
|
|
14
|
+
defaultPaths = [
|
|
15
15
|
'.mcp.json',
|
|
16
16
|
'.opencode/mcp.json',
|
|
17
17
|
'mcp.config.json',
|
|
18
18
|
];
|
|
19
|
+
customPaths = [];
|
|
20
|
+
get configPaths() {
|
|
21
|
+
return [...this.customPaths, ...this.defaultPaths];
|
|
22
|
+
}
|
|
19
23
|
/**
|
|
20
24
|
* Load configurations from available config files
|
|
21
25
|
* Returns empty array if no config file exists (this is valid)
|
|
@@ -44,10 +48,10 @@ export class ConfigLoader {
|
|
|
44
48
|
return { success: true, configs: [] };
|
|
45
49
|
}
|
|
46
50
|
/**
|
|
47
|
-
* Add a custom config path to search
|
|
51
|
+
* Add a custom config path to search before defaults
|
|
48
52
|
*/
|
|
49
53
|
addConfigPath(configPath) {
|
|
50
|
-
this.
|
|
54
|
+
this.customPaths.push(configPath);
|
|
51
55
|
}
|
|
52
56
|
/**
|
|
53
57
|
* Get all configured config paths
|
|
@@ -56,14 +60,17 @@ export class ConfigLoader {
|
|
|
56
60
|
return [...this.configPaths];
|
|
57
61
|
}
|
|
58
62
|
/**
|
|
59
|
-
* Reset config paths to defaults
|
|
63
|
+
* Reset config paths to defaults, clearing custom paths
|
|
60
64
|
*/
|
|
61
65
|
resetConfigPaths() {
|
|
62
|
-
this.
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
66
|
+
this.customPaths = [];
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Clear all config paths (both default and custom)
|
|
70
|
+
*/
|
|
71
|
+
clearConfigPaths() {
|
|
72
|
+
this.customPaths = [];
|
|
73
|
+
this.defaultPaths = [];
|
|
67
74
|
}
|
|
68
75
|
/**
|
|
69
76
|
* Load configuration from a specific file path
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config-loader.js","sourceRoot":"","sources":["../../../src/mcps/config/config-loader.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AAazB;;GAEG;AACH,MAAM,OAAO,YAAY;IACf,
|
|
1
|
+
{"version":3,"file":"config-loader.js","sourceRoot":"","sources":["../../../src/mcps/config/config-loader.ts"],"names":[],"mappings":"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"}
|
|
@@ -595,7 +595,7 @@ class XrayDocumentationGenerationServer extends XrayKnowledgeSkillBase {
|
|
|
595
595
|
openapi: "3.0.0",
|
|
596
596
|
info: {
|
|
597
597
|
title: "API Documentation",
|
|
598
|
-
version: "3.0.
|
|
598
|
+
version: "3.0.1",
|
|
599
599
|
description: "Generated API documentation",
|
|
600
600
|
},
|
|
601
601
|
servers: [
|
package/dist/mcps/registry.json
CHANGED
package/package.json
CHANGED
|
@@ -147,7 +147,7 @@ function detectCodexInfo() {
|
|
|
147
147
|
return { version: cver.startsWith("v") ? cver : `v${cver}`, termsCount: termCount, lastUpdated: new Date().toISOString().split("T")[0] };
|
|
148
148
|
} catch {}
|
|
149
149
|
}
|
|
150
|
-
return { version: "v3.
|
|
150
|
+
return { version: "v3.0.0", termsCount: 68, lastUpdated: new Date().toISOString().split("T")[0] };
|
|
151
151
|
}
|
|
152
152
|
|
|
153
153
|
const detectedCodex = detectCodexInfo();
|
|
@@ -155,7 +155,7 @@ const detectedCodex = detectCodexInfo();
|
|
|
155
155
|
const OFFICIAL_VERSIONS = {
|
|
156
156
|
// Framework version
|
|
157
157
|
framework: {
|
|
158
|
-
version: "3.0.
|
|
158
|
+
version: "3.0.2",
|
|
159
159
|
displayName: "xray: Self-Healing AI Governance OS",
|
|
160
160
|
lastUpdated: "2026-06-12",
|
|
161
161
|
// Counts (auto-calculated, but can be overridden)
|
|
@@ -403,7 +403,7 @@ const UPDATE_PATTERNS = [
|
|
|
403
403
|
pattern: /xray AI v[0-9]+\.[0-9]+\.[0-9]+/g,
|
|
404
404
|
replacement: `xray AI v${OFFICIAL_VERSIONS.framework.version}`,
|
|
405
405
|
},
|
|
406
|
-
// Footer bare version (e.g., "**Version**: 3.0.
|
|
406
|
+
// Footer bare version (e.g., "**Version**: 3.0.1")
|
|
407
407
|
{
|
|
408
408
|
pattern: /\*\*Version\*\*:\s*[0-9]+\.[0-9]+\.[0-9]+/g,
|
|
409
409
|
replacement: `**Version**: ${OFFICIAL_VERSIONS.framework.version}`,
|
|
@@ -59,7 +59,6 @@ describe('ConfigLoader', () => {
|
|
|
59
59
|
},
|
|
60
60
|
];
|
|
61
61
|
fs.writeFileSync(testConfigPath, JSON.stringify(testConfigs));
|
|
62
|
-
loader.resetConfigPaths();
|
|
63
62
|
loader.addConfigPath(testConfigPath);
|
|
64
63
|
|
|
65
64
|
const result = await loader.load();
|
|
@@ -80,7 +79,6 @@ describe('ConfigLoader', () => {
|
|
|
80
79
|
],
|
|
81
80
|
};
|
|
82
81
|
fs.writeFileSync(testConfigPath, JSON.stringify(testConfig));
|
|
83
|
-
loader.resetConfigPaths();
|
|
84
82
|
loader.addConfigPath(testConfigPath);
|
|
85
83
|
|
|
86
84
|
const result = await loader.load();
|
|
@@ -91,7 +89,6 @@ describe('ConfigLoader', () => {
|
|
|
91
89
|
|
|
92
90
|
it('should return error for invalid JSON', async () => {
|
|
93
91
|
fs.writeFileSync(testConfigPath, 'invalid json{');
|
|
94
|
-
loader.resetConfigPaths();
|
|
95
92
|
loader.addConfigPath(testConfigPath);
|
|
96
93
|
|
|
97
94
|
const result = await loader.load();
|
|
@@ -121,7 +118,6 @@ describe('ConfigLoader', () => {
|
|
|
121
118
|
fs.mkdirSync(testDir, { recursive: true });
|
|
122
119
|
fs.writeFileSync(testConfigPath2, JSON.stringify(testConfigs2));
|
|
123
120
|
|
|
124
|
-
loader.resetConfigPaths();
|
|
125
121
|
loader.addConfigPath(testConfigPath);
|
|
126
122
|
loader.addConfigPath(testConfigPath2);
|
|
127
123
|
|
|
@@ -158,7 +154,6 @@ describe('ConfigLoader', () => {
|
|
|
158
154
|
},
|
|
159
155
|
];
|
|
160
156
|
fs.writeFileSync(testConfigPath, JSON.stringify(testConfigs));
|
|
161
|
-
loader.resetConfigPaths();
|
|
162
157
|
loader.addConfigPath(testConfigPath);
|
|
163
158
|
|
|
164
159
|
const result = await loader.load();
|
|
@@ -211,7 +206,7 @@ describe('ConfigLoader', () => {
|
|
|
211
206
|
fs.writeFileSync(testConfigPath, JSON.stringify(testConfigs));
|
|
212
207
|
loader.addConfigPath(testConfigPath);
|
|
213
208
|
|
|
214
|
-
loader.
|
|
209
|
+
loader.clearConfigPaths();
|
|
215
210
|
|
|
216
211
|
const result = await loader.load();
|
|
217
212
|
expect(result.success).toBe(true);
|
|
@@ -272,7 +267,7 @@ describe('ConfigLoader', () => {
|
|
|
272
267
|
describe('hasConfigFile', () => {
|
|
273
268
|
it('should return false when no config file exists', () => {
|
|
274
269
|
const emptyLoader = new ConfigLoader();
|
|
275
|
-
emptyLoader.
|
|
270
|
+
emptyLoader.clearConfigPaths();
|
|
276
271
|
expect(emptyLoader.hasConfigFile()).toBe(false);
|
|
277
272
|
});
|
|
278
273
|
|
|
@@ -24,11 +24,16 @@ export interface ConfigLoadResult {
|
|
|
24
24
|
* Loads MCP server configurations from files
|
|
25
25
|
*/
|
|
26
26
|
export class ConfigLoader {
|
|
27
|
-
private
|
|
27
|
+
private defaultPaths: string[] = [
|
|
28
28
|
'.mcp.json',
|
|
29
29
|
'.opencode/mcp.json',
|
|
30
30
|
'mcp.config.json',
|
|
31
31
|
];
|
|
32
|
+
private customPaths: string[] = [];
|
|
33
|
+
|
|
34
|
+
private get configPaths(): string[] {
|
|
35
|
+
return [...this.customPaths, ...this.defaultPaths];
|
|
36
|
+
}
|
|
32
37
|
|
|
33
38
|
/**
|
|
34
39
|
* Load configurations from available config files
|
|
@@ -61,10 +66,10 @@ export class ConfigLoader {
|
|
|
61
66
|
}
|
|
62
67
|
|
|
63
68
|
/**
|
|
64
|
-
* Add a custom config path to search
|
|
69
|
+
* Add a custom config path to search before defaults
|
|
65
70
|
*/
|
|
66
71
|
addConfigPath(configPath: string): void {
|
|
67
|
-
this.
|
|
72
|
+
this.customPaths.push(configPath);
|
|
68
73
|
}
|
|
69
74
|
|
|
70
75
|
/**
|
|
@@ -75,14 +80,18 @@ export class ConfigLoader {
|
|
|
75
80
|
}
|
|
76
81
|
|
|
77
82
|
/**
|
|
78
|
-
* Reset config paths to defaults
|
|
83
|
+
* Reset config paths to defaults, clearing custom paths
|
|
79
84
|
*/
|
|
80
85
|
resetConfigPaths(): void {
|
|
81
|
-
this.
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
+
this.customPaths = [];
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
/**
|
|
90
|
+
* Clear all config paths (both default and custom)
|
|
91
|
+
*/
|
|
92
|
+
clearConfigPaths(): void {
|
|
93
|
+
this.customPaths = [];
|
|
94
|
+
this.defaultPaths = [];
|
|
86
95
|
}
|
|
87
96
|
|
|
88
97
|
/**
|
|
@@ -888,7 +888,7 @@ class XrayDocumentationGenerationServer extends XrayKnowledgeSkillBase {
|
|
|
888
888
|
openapi: "3.0.0",
|
|
889
889
|
info: {
|
|
890
890
|
title: "API Documentation",
|
|
891
|
-
version: "3.0.
|
|
891
|
+
version: "3.0.1",
|
|
892
892
|
description: "Generated API documentation",
|
|
893
893
|
},
|
|
894
894
|
servers: [
|
package/src/mcps/registry.json
CHANGED
package/src/opencode/codex.codex
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
{
|
|
2
|
-
"version": "3.0.
|
|
2
|
+
"version": "3.0.1",
|
|
3
3
|
"terms": [
|
|
4
4
|
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68
|
|
5
5
|
],
|
|
@@ -69,7 +69,7 @@ Comprehensive dependency analysis and security audit for all project dependencie
|
|
|
69
69
|
"vulnerabilities": [
|
|
70
70
|
{
|
|
71
71
|
"package": "lodash",
|
|
72
|
-
"version": "3.0.
|
|
72
|
+
"version": "3.0.1",
|
|
73
73
|
"severity": "high",
|
|
74
74
|
"cve": "CVE-2021-23337",
|
|
75
75
|
"description": "Command injection vulnerability"
|
|
@@ -85,14 +85,14 @@ Security-focused format for CI/CD integration:
|
|
|
85
85
|
|
|
86
86
|
```json
|
|
87
87
|
{
|
|
88
|
-
"version": "3.0.
|
|
88
|
+
"version": "3.0.1",
|
|
89
89
|
"$schema": "https://raw.githubusercontent.com/oasis-tcs/sarif-spec/master/Schemata/sarif-schema-2.1.0.json",
|
|
90
90
|
"runs": [
|
|
91
91
|
{
|
|
92
92
|
"tool": {
|
|
93
93
|
"driver": {
|
|
94
94
|
"name": "Dependency Audit",
|
|
95
|
-
"version": "3.0.
|
|
95
|
+
"version": "3.0.1"
|
|
96
96
|
}
|
|
97
97
|
},
|
|
98
98
|
"results": [...]
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"framework": "xray 2.0",
|
|
3
|
-
"version": "3.0.
|
|
3
|
+
"version": "3.0.1",
|
|
4
4
|
"description": "Codex-compliant framework configuration for Credible UI project",
|
|
5
5
|
"thresholds": {
|
|
6
6
|
"bundleSize": {
|
|
@@ -220,7 +220,7 @@
|
|
|
220
220
|
}
|
|
221
221
|
},
|
|
222
222
|
"codex": {
|
|
223
|
-
"version": "3.0.
|
|
223
|
+
"version": "3.0.1",
|
|
224
224
|
"terms": [
|
|
225
225
|
1,
|
|
226
226
|
2,
|
package/src/skills/registry.json
CHANGED
package/xray/codex.json
CHANGED
package/xray/config.json
CHANGED
package/xray/features.json
CHANGED
package/xray/integrations.json
CHANGED
|
@@ -4,19 +4,19 @@
|
|
|
4
4
|
"openclaw": {
|
|
5
5
|
"enabled": false,
|
|
6
6
|
"type": "external-service",
|
|
7
|
-
"version": "3.0.
|
|
7
|
+
"version": "3.0.1",
|
|
8
8
|
"config": {}
|
|
9
9
|
},
|
|
10
10
|
"python-bridge": {
|
|
11
11
|
"enabled": false,
|
|
12
12
|
"type": "protocol-bridge",
|
|
13
|
-
"version": "3.0.
|
|
13
|
+
"version": "3.0.1",
|
|
14
14
|
"config": {}
|
|
15
15
|
},
|
|
16
16
|
"react": {
|
|
17
17
|
"enabled": false,
|
|
18
18
|
"type": "framework-adapter",
|
|
19
|
-
"version": "3.0.
|
|
19
|
+
"version": "3.0.1",
|
|
20
20
|
"config": {}
|
|
21
21
|
}
|
|
22
22
|
}
|