@better-openclaw/core 1.0.11 → 1.0.13
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/README.md +70 -0
- package/dist/bare-metal-partition.test.mjs +1 -1
- package/dist/composer.d.mts.map +1 -1
- package/dist/composer.mjs +5 -3
- package/dist/composer.mjs.map +1 -1
- package/dist/composer.snapshot.test.mjs +1 -1
- package/dist/composer.test.mjs +1 -1
- package/dist/generate.test.mjs +1 -1
- package/dist/generators/bare-metal-install.test.mjs +1 -1
- package/dist/generators/caddy.test.mjs +1 -1
- package/dist/generators/env.test.mjs +1 -1
- package/dist/generators/health-check.mjs.map +1 -1
- package/dist/generators/health-check.test.mjs +1 -1
- package/dist/generators/scripts.test.mjs +1 -1
- package/dist/generators/traefik.test.mjs +1 -1
- package/dist/{magic-string.es-1uTtupLe.mjs → magic-string.es-CfFonO_S.mjs} +1 -1
- package/dist/{magic-string.es-1uTtupLe.mjs.map → magic-string.es-CfFonO_S.mjs.map} +1 -1
- package/dist/manifest-BjK4ALvr.mjs +1158 -0
- package/dist/manifest-BjK4ALvr.mjs.map +1 -0
- package/dist/migrations.d.mts.map +1 -1
- package/dist/migrations.mjs.map +1 -1
- package/dist/migrations.test.mjs +1 -1
- package/dist/presets/registry.test.mjs +1 -1
- package/dist/resolver.test.mjs +1 -1
- package/dist/schema.d.mts +4 -0
- package/dist/schema.d.mts.map +1 -1
- package/dist/schema.mjs +2 -1
- package/dist/schema.mjs.map +1 -1
- package/dist/schema.test.mjs +1 -1
- package/dist/services/definitions/hexstrike.d.mts +7 -0
- package/dist/services/definitions/hexstrike.d.mts.map +1 -0
- package/dist/services/definitions/hexstrike.mjs +44 -0
- package/dist/services/definitions/hexstrike.mjs.map +1 -0
- package/dist/services/definitions/index.d.mts +6 -1
- package/dist/services/definitions/index.d.mts.map +1 -1
- package/dist/services/definitions/index.mjs +12 -2
- package/dist/services/definitions/index.mjs.map +1 -1
- package/dist/services/definitions/pentagi.d.mts +7 -0
- package/dist/services/definitions/pentagi.d.mts.map +1 -0
- package/dist/services/definitions/pentagi.mjs +44 -0
- package/dist/services/definitions/pentagi.mjs.map +1 -0
- package/dist/services/definitions/pentestagent.d.mts +7 -0
- package/dist/services/definitions/pentestagent.d.mts.map +1 -0
- package/dist/services/definitions/pentestagent.mjs +39 -0
- package/dist/services/definitions/pentestagent.mjs.map +1 -0
- package/dist/services/definitions/scrapling.d.mts +7 -0
- package/dist/services/definitions/scrapling.d.mts.map +1 -0
- package/dist/services/definitions/scrapling.mjs +44 -0
- package/dist/services/definitions/scrapling.mjs.map +1 -0
- package/dist/services/definitions/solidityguard.d.mts +7 -0
- package/dist/services/definitions/solidityguard.d.mts.map +1 -0
- package/dist/services/definitions/solidityguard.mjs +49 -0
- package/dist/services/definitions/solidityguard.mjs.map +1 -0
- package/dist/services/registry.test.mjs +1 -1
- package/dist/skills/skill-manifest.d.mts.map +1 -1
- package/dist/skills/skill-manifest.mjs +5 -13
- package/dist/skills/skill-manifest.mjs.map +1 -1
- package/dist/types.mjs +5 -0
- package/dist/types.mjs.map +1 -1
- package/dist/validator.test.mjs +1 -1
- package/dist/version-manager.test.mjs +1 -1
- package/dist/{vi.2VT5v0um-YSByewHe.mjs → vi.2VT5v0um-BgmKutxR.mjs} +2 -2
- package/dist/{vi.2VT5v0um-YSByewHe.mjs.map → vi.2VT5v0um-BgmKutxR.mjs.map} +1 -1
- package/package.json +1 -1
- package/src/composer.ts +12 -3
- package/src/generators/health-check.ts +46 -8
- package/src/migrations.ts +0 -1
- package/src/schema.ts +1 -0
- package/src/services/definitions/hexstrike.ts +40 -0
- package/src/services/definitions/index.ts +15 -0
- package/src/services/definitions/pentagi.ts +40 -0
- package/src/services/definitions/pentestagent.ts +33 -0
- package/src/services/definitions/scrapling.ts +40 -0
- package/src/services/definitions/solidityguard.ts +46 -0
- package/src/skills/manifest.json +1391 -0
- package/src/skills/manifest.schema.json +51 -0
- package/src/skills/skill-manifest.ts +27 -22
- package/src/types.ts +1 -0
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"title": "OpenClaw Skills Manifest",
|
|
4
|
+
"description": "Validation schema for the Better-OpenClaw skill registry",
|
|
5
|
+
"type": "object",
|
|
6
|
+
"required": [
|
|
7
|
+
"version",
|
|
8
|
+
"skills"
|
|
9
|
+
],
|
|
10
|
+
"properties": {
|
|
11
|
+
"version": {
|
|
12
|
+
"type": "string"
|
|
13
|
+
},
|
|
14
|
+
"description": {
|
|
15
|
+
"type": "string"
|
|
16
|
+
},
|
|
17
|
+
"skills": {
|
|
18
|
+
"type": "array",
|
|
19
|
+
"items": {
|
|
20
|
+
"type": "object",
|
|
21
|
+
"required": [
|
|
22
|
+
"id",
|
|
23
|
+
"path",
|
|
24
|
+
"emoji",
|
|
25
|
+
"services"
|
|
26
|
+
],
|
|
27
|
+
"properties": {
|
|
28
|
+
"id": {
|
|
29
|
+
"type": "string",
|
|
30
|
+
"description": "Unique identifier for the skill"
|
|
31
|
+
},
|
|
32
|
+
"path": {
|
|
33
|
+
"type": "string",
|
|
34
|
+
"description": "Relative path to the SKILL.md file"
|
|
35
|
+
},
|
|
36
|
+
"emoji": {
|
|
37
|
+
"type": "string",
|
|
38
|
+
"description": "Emoji icon representing the skill"
|
|
39
|
+
},
|
|
40
|
+
"services": {
|
|
41
|
+
"type": "array",
|
|
42
|
+
"description": "List of service IDs required by this skill",
|
|
43
|
+
"items": {
|
|
44
|
+
"type": "string"
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
-
import { readFileSync } from "node:fs";
|
|
2
|
-
import { dirname, resolve } from "node:path";
|
|
3
|
-
import { fileURLToPath } from "node:url";
|
|
1
|
+
// import { readFileSync } from "node:fs";
|
|
2
|
+
// import { dirname, resolve } from "node:path";
|
|
3
|
+
// import { fileURLToPath } from "node:url";
|
|
4
|
+
//import manifestJson from "../../../../skills/manifest.json" with { type: "json" };
|
|
5
|
+
import manifestJson from "./manifest.json" with { type: "json" };
|
|
4
6
|
|
|
5
7
|
// ── Types ───────────────────────────────────────────────────────────────────
|
|
6
8
|
|
|
@@ -19,34 +21,37 @@ interface SkillManifest {
|
|
|
19
21
|
skills: SkillManifestEntry[];
|
|
20
22
|
}
|
|
21
23
|
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
let _cache: SkillManifestEntry[] | null = null;
|
|
25
|
-
|
|
26
|
-
function loadManifest(): SkillManifestEntry[] {
|
|
27
|
-
if (_cache) return _cache;
|
|
28
|
-
// Resolve the manifest relative to this file's location
|
|
29
|
-
// This file is at packages/core/src/skills/skill-manifest.ts
|
|
30
|
-
// The manifest is at skills/manifest.json (repo root / skills /)
|
|
31
|
-
const thisDir = dirname(fileURLToPath(import.meta.url));
|
|
32
|
-
const manifestPath = resolve(thisDir, "../../../../skills/manifest.json");
|
|
33
|
-
const raw = readFileSync(manifestPath, "utf-8");
|
|
34
|
-
const data = JSON.parse(raw) as SkillManifest;
|
|
35
|
-
_cache = data.skills;
|
|
36
|
-
return _cache;
|
|
37
|
-
}
|
|
24
|
+
const manifestData = manifestJson as SkillManifest;
|
|
38
25
|
|
|
26
|
+
// ── Manifest loader ─────────────────────────────────────────────────────────
|
|
27
|
+
// let _cache: SkillManifestEntry[] | null = null;
|
|
28
|
+
|
|
29
|
+
// function loadManifest(): SkillManifestEntry[] {
|
|
30
|
+
// if (_cache) return _cache;
|
|
31
|
+
// // Resolve the manifest relative to this file's location
|
|
32
|
+
// // This file is at packages/core/src/skills/skill-manifest.ts
|
|
33
|
+
// // The manifest is at skills/manifest.json (repo root / skills /)
|
|
34
|
+
// const thisDir = dirname(fileURLToPath(import.meta.url));
|
|
35
|
+
// const manifestPath = resolve(thisDir, "../../../../skills/manifest.json");
|
|
36
|
+
// const raw = readFileSync(manifestPath, "utf-8");
|
|
37
|
+
// const data = JSON.parse(raw) as SkillManifest;
|
|
38
|
+
// _cache = data.skills;
|
|
39
|
+
// return _cache;
|
|
40
|
+
// }
|
|
39
41
|
/** Return all skills defined in the local manifest.json */
|
|
40
42
|
export function getAllManifestSkills(): SkillManifestEntry[] {
|
|
41
|
-
return
|
|
43
|
+
return manifestData.skills;
|
|
44
|
+
//return loadManifest();
|
|
42
45
|
}
|
|
43
46
|
|
|
44
47
|
/** Look up a single skill by ID */
|
|
45
48
|
export function getManifestSkillById(id: string): SkillManifestEntry | undefined {
|
|
46
|
-
return
|
|
49
|
+
return manifestData.skills.find((s) => s.id === id);
|
|
50
|
+
//return loadManifest().find((s) => s.id === id);
|
|
47
51
|
}
|
|
48
52
|
|
|
49
53
|
/** Return the total count of curated skills */
|
|
50
54
|
export function getManifestSkillCount(): number {
|
|
51
|
-
return
|
|
55
|
+
return manifestData.skills.length;
|
|
56
|
+
//return loadManifest().length;
|
|
52
57
|
}
|
package/src/types.ts
CHANGED
|
@@ -126,4 +126,5 @@ export const SERVICE_CATEGORIES: CategoryInfo[] = [
|
|
|
126
126
|
{ id: "communication", name: "Notifications", icon: "🔔" },
|
|
127
127
|
{ id: "desktop", name: "Desktop Environment", icon: "🖥️" },
|
|
128
128
|
{ id: "streaming", name: "Streaming & Relay", icon: "📺" },
|
|
129
|
+
{ id: "security", name: "Security & Pentesting", icon: "🛡️" },
|
|
129
130
|
];
|