clawsouls 0.2.4 → 0.2.6
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
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# 🧠 ClawSouls CLI v0.2.
|
|
1
|
+
# 🧠 ClawSouls CLI v0.2.5
|
|
2
2
|
|
|
3
3
|
**Give your AI a soul.** Install, manage, and switch AI agent personas for [OpenClaw](https://github.com/openclaw/openclaw).
|
|
4
4
|
|
|
@@ -47,16 +47,17 @@ clawsouls init my-soul
|
|
|
47
47
|
|
|
48
48
|
Creates a directory with `clawsoul.json`, `SOUL.md`, `IDENTITY.md`, `AGENTS.md`, `HEARTBEAT.md`, and `README.md` — ready for customization and publishing.
|
|
49
49
|
|
|
50
|
-
### `clawsouls install <owner/name>`
|
|
50
|
+
### `clawsouls install <owner/name[@version]>`
|
|
51
51
|
|
|
52
|
-
Download and install a soul from the registry. Uses `owner/name` format (e.g., `clawsouls/brad`).
|
|
52
|
+
Download and install a soul from the registry. Uses `owner/name` format (e.g., `clawsouls/brad`). Optionally specify a version with `@version` (e.g., `clawsouls/brad@0.1.0`). Without a version, installs the latest.
|
|
53
53
|
|
|
54
54
|
The install command tries the API first (`/api/v1/souls/:owner/:name?files=true`), falls back to CDN if unavailable, and auto-generates `clawsoul.json` if missing from the response.
|
|
55
55
|
|
|
56
56
|
```bash
|
|
57
57
|
clawsouls install clawsouls/minimalist
|
|
58
58
|
clawsouls install clawsouls/devops-veteran
|
|
59
|
-
clawsouls install clawsouls/brad --force
|
|
59
|
+
clawsouls install clawsouls/brad --force # overwrite existing
|
|
60
|
+
clawsouls install clawsouls/brad@0.1.0 # specific version
|
|
60
61
|
```
|
|
61
62
|
|
|
62
63
|
### `clawsouls use <name>`
|
package/dist/commands/install.js
CHANGED
|
@@ -33,14 +33,14 @@ export async function installCommand(nameWithVersion, options) {
|
|
|
33
33
|
spinner.fail(`Soul "${fullName}" is already installed. Use ${chalk.yellow('--force')} to overwrite.`);
|
|
34
34
|
process.exit(1);
|
|
35
35
|
}
|
|
36
|
-
spinner.text = `Fetching "${fullName}" metadata...`;
|
|
37
|
-
const meta = await registry.getSoulMeta(name, owner);
|
|
36
|
+
spinner.text = `Fetching "${fullName}"${version ? `@${version}` : ''} metadata...`;
|
|
37
|
+
const meta = await registry.getSoulMeta(name, owner, version);
|
|
38
38
|
spinner.text = `Downloading "${fullName}" files...`;
|
|
39
|
-
const fileList = await registry.getSoulFiles(name, owner);
|
|
39
|
+
const fileList = await registry.getSoulFiles(name, owner, version);
|
|
40
40
|
const files = new Map();
|
|
41
41
|
for (const filename of fileList) {
|
|
42
42
|
try {
|
|
43
|
-
const content = await registry.downloadFile(name, filename, owner);
|
|
43
|
+
const content = await registry.downloadFile(name, filename, owner, version);
|
|
44
44
|
files.set(filename, content);
|
|
45
45
|
}
|
|
46
46
|
catch {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AACnC,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAE/C;;;;;;GAMG;AACH,SAAS,WAAW,CAAC,KAAa;IAChC,MAAM,CAAC,aAAa,EAAE,OAAO,CAAC,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;IAClD,IAAI,aAAa,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;QAChC,MAAM,CAAC,KAAK,EAAE,IAAI,CAAC,GAAG,aAAa,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;QAClD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC;IAClC,CAAC;IACD,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,CAAC;AAC1C,CAAC;AAED,MAAM,CAAC,KAAK,UAAU,cAAc,CAAC,eAAuB,EAAE,OAA4B;IACxF,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,WAAW,CAAC,eAAe,CAAC,CAAC;IAC9D,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IACnD,MAAM,OAAO,GAAG,GAAG,CAAC,oBAAoB,QAAQ,MAAM,CAAC,CAAC,KAAK,EAAE,CAAC;IAEhE,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,IAAI,cAAc,EAAE,CAAC;QACrC,MAAM,QAAQ,GAAG,IAAI,cAAc,EAAE,CAAC;QAEtC,gCAAgC;QAChC,MAAM,UAAU,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QAErD,IAAI,OAAO,CAAC,WAAW,CAAC,UAAU,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;YACtD,OAAO,CAAC,IAAI,CAAC,SAAS,QAAQ,+BAA+B,KAAK,CAAC,MAAM,CAAC,SAAS,CAAC,gBAAgB,CAAC,CAAC;YACtG,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QAED,OAAO,CAAC,IAAI,GAAG,aAAa,QAAQ,
|
|
1
|
+
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,10 +15,10 @@ export declare class RegistryClient {
|
|
|
15
15
|
private _apiCache;
|
|
16
16
|
constructor();
|
|
17
17
|
private soulApiPath;
|
|
18
|
-
getSoulMeta(name: string, owner?: string): Promise<SoulMeta>;
|
|
18
|
+
getSoulMeta(name: string, owner?: string, version?: string): Promise<SoulMeta>;
|
|
19
19
|
private filenameToKey;
|
|
20
|
-
downloadFile(name: string, filename: string, owner?: string): Promise<string>;
|
|
20
|
+
downloadFile(name: string, filename: string, owner?: string, version?: string): Promise<string>;
|
|
21
21
|
private keyToFilename;
|
|
22
|
-
getSoulFiles(name: string, owner?: string): Promise<string[]>;
|
|
22
|
+
getSoulFiles(name: string, owner?: string, version?: string): Promise<string[]>;
|
|
23
23
|
private readFile;
|
|
24
24
|
}
|
package/dist/registry/client.js
CHANGED
|
@@ -15,9 +15,10 @@ export class RegistryClient {
|
|
|
15
15
|
soulApiPath(name, owner) {
|
|
16
16
|
return owner ? `${this.api}/souls/${owner}/${name}` : `${this.api}/souls/${name}`;
|
|
17
17
|
}
|
|
18
|
-
async getSoulMeta(name, owner) {
|
|
18
|
+
async getSoulMeta(name, owner, version) {
|
|
19
19
|
try {
|
|
20
|
-
const
|
|
20
|
+
const vq = version ? `&version=${version}` : '';
|
|
21
|
+
const res = await fetch(`${this.soulApiPath(name, owner)}?files=true${vq}`);
|
|
21
22
|
if (res.ok) {
|
|
22
23
|
const data = await res.json();
|
|
23
24
|
if (data.fileContents?.['clawsoul.json']) {
|
|
@@ -34,8 +35,14 @@ export class RegistryClient {
|
|
|
34
35
|
tags: data.tags || [],
|
|
35
36
|
};
|
|
36
37
|
}
|
|
38
|
+
if (version && res.status === 404) {
|
|
39
|
+
throw new Error(`Version "${version}" not found for soul "${owner ? `${owner}/` : ''}${name}"`);
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
catch (err) {
|
|
43
|
+
if (err.message?.includes('not found'))
|
|
44
|
+
throw err;
|
|
37
45
|
}
|
|
38
|
-
catch { }
|
|
39
46
|
const content = await this.readFile(name, 'clawsoul.json');
|
|
40
47
|
return JSON.parse(content);
|
|
41
48
|
}
|
|
@@ -50,7 +57,7 @@ export class RegistryClient {
|
|
|
50
57
|
};
|
|
51
58
|
return map[filename] || filename;
|
|
52
59
|
}
|
|
53
|
-
async downloadFile(name, filename, owner) {
|
|
60
|
+
async downloadFile(name, filename, owner, version) {
|
|
54
61
|
const cacheKey = owner ? `${owner}/${name}` : name;
|
|
55
62
|
const cached = this._apiCache.get(cacheKey);
|
|
56
63
|
if (cached) {
|
|
@@ -61,7 +68,8 @@ export class RegistryClient {
|
|
|
61
68
|
return cached[filename];
|
|
62
69
|
}
|
|
63
70
|
try {
|
|
64
|
-
const
|
|
71
|
+
const vq = version ? `&version=${version}` : '';
|
|
72
|
+
const res = await fetch(`${this.soulApiPath(name, owner)}?files=true${vq}`);
|
|
65
73
|
if (res.ok) {
|
|
66
74
|
const data = await res.json();
|
|
67
75
|
if (data.fileContents) {
|
|
@@ -87,9 +95,13 @@ export class RegistryClient {
|
|
|
87
95
|
};
|
|
88
96
|
return map[key] || key;
|
|
89
97
|
}
|
|
90
|
-
async getSoulFiles(name, owner) {
|
|
98
|
+
async getSoulFiles(name, owner, version) {
|
|
91
99
|
try {
|
|
92
|
-
const
|
|
100
|
+
const vq = version ? `&version=${version}` : '';
|
|
101
|
+
const res = await fetch(`${this.soulApiPath(name, owner)}?files=true${vq}`);
|
|
102
|
+
if (version && res.status === 404) {
|
|
103
|
+
throw new Error(`Version "${version}" not found for soul "${owner ? `${owner}/` : ''}${name}"`);
|
|
104
|
+
}
|
|
93
105
|
if (res.ok) {
|
|
94
106
|
const data = await res.json();
|
|
95
107
|
if (data.fileContents) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/registry/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAC9C,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAa/C,MAAM,OAAO,cAAc;IACjB,GAAG,CAAS;IACZ,GAAG,CAAS;IACZ,OAAO,CAAU;IACjB,SAAS,GAAwC,IAAI,GAAG,EAAE,CAAC;IAEnE;QACE,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC;QAC3B,IAAI,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;QACtB,IAAI,CAAC,GAAG,GAAG,6BAA6B,CAAC;QACzC,IAAI,CAAC,OAAO,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAC9C,CAAC;IAEO,WAAW,CAAC,IAAY,EAAE,KAAc;QAC9C,OAAO,KAAK,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,UAAU,KAAK,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,GAAG,UAAU,IAAI,EAAE,CAAC;IACpF,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,IAAY,EAAE,KAAc;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/registry/client.ts"],"names":[],"mappings":"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"}
|