clawsouls 0.3.0 → 0.3.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/dist/bin/clawsouls.js +0 -0
- package/dist/commands/publish.js +1 -1
- package/dist/commands/publish.js.map +1 -1
- package/package.json +1 -1
- package/dist/registry/client.d.ts +0 -24
- package/dist/registry/client.js +0 -143
- package/dist/registry/client.js.map +0 -1
- package/dist/utils/validate.d.ts +0 -272
- package/dist/utils/validate.js +0 -115
- package/dist/utils/validate.js.map +0 -1
package/dist/bin/clawsouls.js
CHANGED
|
File without changes
|
package/dist/commands/publish.js
CHANGED
|
@@ -2,11 +2,11 @@ import { readFileSync, existsSync, readdirSync, statSync } from 'fs';
|
|
|
2
2
|
import { join } from 'path';
|
|
3
3
|
import { createInterface } from 'readline';
|
|
4
4
|
const API_BASE = 'https://clawsouls.ai/api/v1';
|
|
5
|
+
import { getConfig } from '../utils/config.js';
|
|
5
6
|
function getToken() {
|
|
6
7
|
if (process.env.CLAWSOULS_TOKEN)
|
|
7
8
|
return process.env.CLAWSOULS_TOKEN;
|
|
8
9
|
try {
|
|
9
|
-
const { getConfig } = require('../utils/config.js');
|
|
10
10
|
const config = getConfig();
|
|
11
11
|
if (config.auth?.token)
|
|
12
12
|
return config.auth.token;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"publish.js","sourceRoot":"","sources":["../../src/commands/publish.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,WAAW,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AACrE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAC5B,OAAO,EAAE,eAAe,EAAE,MAAM,UAAU,CAAC;AAE3C,MAAM,QAAQ,GAAG,6BAA6B,CAAC;AAE/C,SAAS,QAAQ;IACf,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe;QAAE,OAAO,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC;IACpE,IAAI,CAAC;QACH,MAAM,
|
|
1
|
+
{"version":3,"file":"publish.js","sourceRoot":"","sources":["../../src/commands/publish.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
export interface SoulMeta {
|
|
2
|
-
name: string;
|
|
3
|
-
owner?: string;
|
|
4
|
-
fullName?: string;
|
|
5
|
-
displayName: string;
|
|
6
|
-
version: string;
|
|
7
|
-
description: string;
|
|
8
|
-
category: string;
|
|
9
|
-
tags: string[];
|
|
10
|
-
}
|
|
11
|
-
export declare class RegistryClient {
|
|
12
|
-
private cdn;
|
|
13
|
-
private api;
|
|
14
|
-
private isLocal;
|
|
15
|
-
private _apiCache;
|
|
16
|
-
constructor();
|
|
17
|
-
private soulApiPath;
|
|
18
|
-
getSoulMeta(name: string, owner?: string, version?: string): Promise<SoulMeta>;
|
|
19
|
-
private filenameToKey;
|
|
20
|
-
downloadFile(name: string, filename: string, owner?: string, version?: string): Promise<string>;
|
|
21
|
-
private keyToFilename;
|
|
22
|
-
getSoulFiles(name: string, owner?: string, version?: string): Promise<string[]>;
|
|
23
|
-
private readFile;
|
|
24
|
-
}
|
package/dist/registry/client.js
DELETED
|
@@ -1,143 +0,0 @@
|
|
|
1
|
-
import { existsSync, readFileSync } from 'fs';
|
|
2
|
-
import { join } from 'path';
|
|
3
|
-
import { getConfig } from '../utils/config.js';
|
|
4
|
-
export class RegistryClient {
|
|
5
|
-
cdn;
|
|
6
|
-
api;
|
|
7
|
-
isLocal;
|
|
8
|
-
_apiCache = new Map();
|
|
9
|
-
constructor() {
|
|
10
|
-
const config = getConfig();
|
|
11
|
-
this.cdn = config.cdn;
|
|
12
|
-
this.api = 'https://clawsouls.ai/api/v1';
|
|
13
|
-
this.isLocal = !this.cdn.startsWith('http');
|
|
14
|
-
}
|
|
15
|
-
soulApiPath(name, owner) {
|
|
16
|
-
return owner ? `${this.api}/souls/${owner}/${name}` : `${this.api}/souls/${name}`;
|
|
17
|
-
}
|
|
18
|
-
async getSoulMeta(name, owner, version) {
|
|
19
|
-
try {
|
|
20
|
-
const vq = version ? `&version=${version}` : '';
|
|
21
|
-
const res = await fetch(`${this.soulApiPath(name, owner)}?files=true${vq}`);
|
|
22
|
-
if (res.ok) {
|
|
23
|
-
const data = await res.json();
|
|
24
|
-
if (data.fileContents?.['soul.json']) {
|
|
25
|
-
return JSON.parse(data.fileContents['soul.json']);
|
|
26
|
-
}
|
|
27
|
-
return {
|
|
28
|
-
name: data.name,
|
|
29
|
-
owner: data.owner,
|
|
30
|
-
fullName: data.fullName,
|
|
31
|
-
displayName: data.displayName || data.name,
|
|
32
|
-
version: data.version || '1.0.0',
|
|
33
|
-
description: data.description || '',
|
|
34
|
-
category: data.category || '',
|
|
35
|
-
tags: data.tags || [],
|
|
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;
|
|
45
|
-
}
|
|
46
|
-
const content = await this.readFile(name, 'soul.json');
|
|
47
|
-
return JSON.parse(content);
|
|
48
|
-
}
|
|
49
|
-
filenameToKey(filename) {
|
|
50
|
-
const map = {
|
|
51
|
-
'SOUL.md': 'soul',
|
|
52
|
-
'IDENTITY.md': 'identity',
|
|
53
|
-
'AGENTS.md': 'agents',
|
|
54
|
-
'HEARTBEAT.md': 'heartbeat',
|
|
55
|
-
'STYLE.md': 'style',
|
|
56
|
-
'README.md': 'readme',
|
|
57
|
-
};
|
|
58
|
-
return map[filename] || filename;
|
|
59
|
-
}
|
|
60
|
-
async downloadFile(name, filename, owner, version) {
|
|
61
|
-
const cacheKey = owner ? `${owner}/${name}` : name;
|
|
62
|
-
const cached = this._apiCache.get(cacheKey);
|
|
63
|
-
if (cached) {
|
|
64
|
-
const key = this.filenameToKey(filename);
|
|
65
|
-
if (cached[key])
|
|
66
|
-
return cached[key];
|
|
67
|
-
if (cached[filename])
|
|
68
|
-
return cached[filename];
|
|
69
|
-
}
|
|
70
|
-
try {
|
|
71
|
-
const vq = version ? `&version=${version}` : '';
|
|
72
|
-
const res = await fetch(`${this.soulApiPath(name, owner)}?files=true${vq}`);
|
|
73
|
-
if (res.ok) {
|
|
74
|
-
const data = await res.json();
|
|
75
|
-
if (data.fileContents) {
|
|
76
|
-
const key = this.filenameToKey(filename);
|
|
77
|
-
if (data.fileContents[key])
|
|
78
|
-
return data.fileContents[key];
|
|
79
|
-
if (data.fileContents[filename])
|
|
80
|
-
return data.fileContents[filename];
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
catch { }
|
|
85
|
-
return this.readFile(name, filename);
|
|
86
|
-
}
|
|
87
|
-
keyToFilename(key) {
|
|
88
|
-
const map = {
|
|
89
|
-
soul: 'SOUL.md',
|
|
90
|
-
identity: 'IDENTITY.md',
|
|
91
|
-
agents: 'AGENTS.md',
|
|
92
|
-
heartbeat: 'HEARTBEAT.md',
|
|
93
|
-
style: 'STYLE.md',
|
|
94
|
-
readme: 'README.md',
|
|
95
|
-
};
|
|
96
|
-
return map[key] || key;
|
|
97
|
-
}
|
|
98
|
-
async getSoulFiles(name, owner, version) {
|
|
99
|
-
try {
|
|
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
|
-
}
|
|
105
|
-
if (res.ok) {
|
|
106
|
-
const data = await res.json();
|
|
107
|
-
if (data.fileContents) {
|
|
108
|
-
const cacheKey = owner ? `${owner}/${name}` : name;
|
|
109
|
-
this._apiCache.set(cacheKey, data.fileContents);
|
|
110
|
-
return Object.keys(data.fileContents).map(k => this.keyToFilename(k));
|
|
111
|
-
}
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
catch { }
|
|
115
|
-
const meta = await this.getSoulMeta(name, owner);
|
|
116
|
-
const files = ['soul.json', 'README.md'];
|
|
117
|
-
const fileMap = meta.files || {};
|
|
118
|
-
for (const path of Object.values(fileMap)) {
|
|
119
|
-
if (typeof path === 'string')
|
|
120
|
-
files.push(path);
|
|
121
|
-
}
|
|
122
|
-
return [...new Set(files)];
|
|
123
|
-
}
|
|
124
|
-
async readFile(name, filename) {
|
|
125
|
-
if (this.isLocal) {
|
|
126
|
-
const filePath = join(this.cdn, name, filename);
|
|
127
|
-
if (!existsSync(filePath)) {
|
|
128
|
-
throw new Error(`Soul "${name}" not found in registry`);
|
|
129
|
-
}
|
|
130
|
-
return readFileSync(filePath, 'utf-8');
|
|
131
|
-
}
|
|
132
|
-
const url = `${this.cdn}/${name}/${filename}`;
|
|
133
|
-
const res = await fetch(url);
|
|
134
|
-
if (!res.ok) {
|
|
135
|
-
if (res.status === 404) {
|
|
136
|
-
throw new Error(`Soul "${name}" not found in registry`);
|
|
137
|
-
}
|
|
138
|
-
throw new Error(`Registry error: ${res.status} ${res.statusText}`);
|
|
139
|
-
}
|
|
140
|
-
return res.text();
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
//# sourceMappingURL=client.js.map
|
|
@@ -1 +0,0 @@
|
|
|
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,EAAE,OAAgB;QAC9D,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,YAAY,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAChD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;YAC5E,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC;gBACX,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;gBAC9B,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC,WAAW,CAAC,EAAE,CAAC;oBACrC,OAAO,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC,CAAC;gBACpD,CAAC;gBACD,OAAO;oBACL,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,IAAI;oBAC1C,OAAO,EAAE,IAAI,CAAC,OAAO,IAAI,OAAO;oBAChC,WAAW,EAAE,IAAI,CAAC,WAAW,IAAI,EAAE;oBACnC,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,EAAE;oBAC7B,IAAI,EAAE,IAAI,CAAC,IAAI,IAAI,EAAE;iBACtB,CAAC;YACJ,CAAC;YACD,IAAI,OAAO,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBAClC,MAAM,IAAI,KAAK,CAAC,YAAY,OAAO,yBAAyB,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,GAAG,CAAC,CAAC;YAClG,CAAC;QACH,CAAC;QAAC,OAAO,GAAQ,EAAE,CAAC;YAClB,IAAI,GAAG,CAAC,OAAO,EAAE,QAAQ,CAAC,WAAW,CAAC;gBAAE,MAAM,GAAG,CAAC;QACpD,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;QACvD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IAC7B,CAAC;IAEO,aAAa,CAAC,QAAgB;QACpC,MAAM,GAAG,GAA2B;YAClC,SAAS,EAAE,MAAM;YACjB,aAAa,EAAE,UAAU;YACzB,WAAW,EAAE,QAAQ;YACrB,cAAc,EAAE,WAAW;YAC3B,UAAU,EAAE,OAAO;YACnB,WAAW,EAAE,QAAQ;SACtB,CAAC;QACF,OAAO,GAAG,CAAC,QAAQ,CAAC,IAAI,QAAQ,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,IAAY,EAAE,QAAgB,EAAE,KAAc,EAAE,OAAgB;QACjF,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QACnD,MAAM,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC5C,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;YACzC,IAAI,MAAM,CAAC,GAAG,CAAC;gBAAE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAC;YACpC,IAAI,MAAM,CAAC,QAAQ,CAAC;gBAAE,OAAO,MAAM,CAAC,QAAQ,CAAC,CAAC;QAChD,CAAC;QAED,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,YAAY,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAChD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;YAC5E,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC;gBACX,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;gBAC9B,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;oBACtB,MAAM,GAAG,GAAG,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;oBACzC,IAAI,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC;wBAAE,OAAO,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC;oBAC1D,IAAI,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC;wBAAE,OAAO,IAAI,CAAC,YAAY,CAAC,QAAQ,CAAC,CAAC;gBACtE,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;QAEV,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IACvC,CAAC;IAEO,aAAa,CAAC,GAAW;QAC/B,MAAM,GAAG,GAA2B;YAClC,IAAI,EAAE,SAAS;YACf,QAAQ,EAAE,aAAa;YACvB,MAAM,EAAE,WAAW;YACnB,SAAS,EAAE,cAAc;YACzB,KAAK,EAAE,UAAU;YACjB,MAAM,EAAE,WAAW;SACpB,CAAC;QACF,OAAO,GAAG,CAAC,GAAG,CAAC,IAAI,GAAG,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,IAAY,EAAE,KAAc,EAAE,OAAgB;QAC/D,IAAI,CAAC;YACH,MAAM,EAAE,GAAG,OAAO,CAAC,CAAC,CAAC,YAAY,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAChD,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC;YAC5E,IAAI,OAAO,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBAClC,MAAM,IAAI,KAAK,CAAC,YAAY,OAAO,yBAAyB,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,IAAI,GAAG,CAAC,CAAC;YAClG,CAAC;YACD,IAAI,GAAG,CAAC,EAAE,EAAE,CAAC;gBACX,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;gBAC9B,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;oBACtB,MAAM,QAAQ,GAAG,KAAK,CAAC,CAAC,CAAC,GAAG,KAAK,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;oBACnD,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,CAAC;oBAChD,OAAO,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;gBACxE,CAAC;YACH,CAAC;QACH,CAAC;QAAC,MAAM,CAAC,CAAA,CAAC;QAEV,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;QACjD,MAAM,KAAK,GAAG,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QACzC,MAAM,OAAO,GAAI,IAAY,CAAC,KAAK,IAAI,EAAE,CAAC;QAC1C,KAAK,MAAM,IAAI,IAAI,MAAM,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;YAC1C,IAAI,OAAO,IAAI,KAAK,QAAQ;gBAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACjD,CAAC;QACD,OAAO,CAAC,GAAG,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7B,CAAC;IAEO,KAAK,CAAC,QAAQ,CAAC,IAAY,EAAE,QAAgB;QACnD,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;YACjB,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,QAAQ,CAAC,CAAC;YAChD,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC1B,MAAM,IAAI,KAAK,CAAC,SAAS,IAAI,yBAAyB,CAAC,CAAC;YAC1D,CAAC;YACD,OAAO,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QACzC,CAAC;QAED,MAAM,GAAG,GAAG,GAAG,IAAI,CAAC,GAAG,IAAI,IAAI,IAAI,QAAQ,EAAE,CAAC;QAC9C,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;YACZ,IAAI,GAAG,CAAC,MAAM,KAAK,GAAG,EAAE,CAAC;gBACvB,MAAM,IAAI,KAAK,CAAC,SAAS,IAAI,yBAAyB,CAAC,CAAC;YAC1D,CAAC;YACD,MAAM,IAAI,KAAK,CAAC,mBAAmB,GAAG,CAAC,MAAM,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC,CAAC;QACrE,CAAC;QACD,OAAO,GAAG,CAAC,IAAI,EAAE,CAAC;IACpB,CAAC;CACF"}
|
package/dist/utils/validate.d.ts
DELETED
|
@@ -1,272 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
export declare const ALLOWED_LICENSES: readonly ["Apache-2.0", "MIT", "BSD-2-Clause", "BSD-3-Clause", "CC-BY-4.0", "CC0-1.0", "ISC", "Unlicense"];
|
|
3
|
-
export interface LicenseCheckResult {
|
|
4
|
-
ok: boolean;
|
|
5
|
-
error?: string;
|
|
6
|
-
warning?: string;
|
|
7
|
-
}
|
|
8
|
-
export declare function checkLicense(license: string): LicenseCheckResult;
|
|
9
|
-
export declare const ClawSoulSchemaV01: z.ZodObject<{
|
|
10
|
-
name: z.ZodString;
|
|
11
|
-
displayName: z.ZodString;
|
|
12
|
-
version: z.ZodString;
|
|
13
|
-
description: z.ZodString;
|
|
14
|
-
author: z.ZodObject<{
|
|
15
|
-
name: z.ZodString;
|
|
16
|
-
github: z.ZodOptional<z.ZodString>;
|
|
17
|
-
}, z.core.$strip>;
|
|
18
|
-
license: z.ZodString;
|
|
19
|
-
tags: z.ZodArray<z.ZodString>;
|
|
20
|
-
category: z.ZodString;
|
|
21
|
-
compatibility: z.ZodOptional<z.ZodObject<{
|
|
22
|
-
openclaw: z.ZodOptional<z.ZodString>;
|
|
23
|
-
models: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
24
|
-
}, z.core.$strip>>;
|
|
25
|
-
files: z.ZodObject<{
|
|
26
|
-
soul: z.ZodString;
|
|
27
|
-
identity: z.ZodOptional<z.ZodString>;
|
|
28
|
-
agents: z.ZodOptional<z.ZodString>;
|
|
29
|
-
heartbeat: z.ZodOptional<z.ZodString>;
|
|
30
|
-
userTemplate: z.ZodOptional<z.ZodString>;
|
|
31
|
-
avatar: z.ZodOptional<z.ZodString>;
|
|
32
|
-
}, z.core.$strip>;
|
|
33
|
-
repository: z.ZodOptional<z.ZodString>;
|
|
34
|
-
}, z.core.$strip>;
|
|
35
|
-
export declare const ClawSoulSchemaV02: z.ZodObject<{
|
|
36
|
-
name: z.ZodString;
|
|
37
|
-
displayName: z.ZodString;
|
|
38
|
-
version: z.ZodString;
|
|
39
|
-
description: z.ZodString;
|
|
40
|
-
author: z.ZodObject<{
|
|
41
|
-
name: z.ZodString;
|
|
42
|
-
github: z.ZodOptional<z.ZodString>;
|
|
43
|
-
}, z.core.$strip>;
|
|
44
|
-
license: z.ZodString;
|
|
45
|
-
tags: z.ZodArray<z.ZodString>;
|
|
46
|
-
category: z.ZodString;
|
|
47
|
-
compatibility: z.ZodOptional<z.ZodObject<{
|
|
48
|
-
openclaw: z.ZodOptional<z.ZodString>;
|
|
49
|
-
models: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
50
|
-
}, z.core.$strip>>;
|
|
51
|
-
repository: z.ZodOptional<z.ZodString>;
|
|
52
|
-
files: z.ZodObject<{
|
|
53
|
-
soul: z.ZodString;
|
|
54
|
-
identity: z.ZodOptional<z.ZodString>;
|
|
55
|
-
agents: z.ZodOptional<z.ZodString>;
|
|
56
|
-
heartbeat: z.ZodOptional<z.ZodString>;
|
|
57
|
-
style: z.ZodOptional<z.ZodString>;
|
|
58
|
-
userTemplate: z.ZodOptional<z.ZodString>;
|
|
59
|
-
avatar: z.ZodOptional<z.ZodString>;
|
|
60
|
-
}, z.core.$strip>;
|
|
61
|
-
examples: z.ZodOptional<z.ZodObject<{
|
|
62
|
-
good: z.ZodOptional<z.ZodString>;
|
|
63
|
-
bad: z.ZodOptional<z.ZodString>;
|
|
64
|
-
}, z.core.$strip>>;
|
|
65
|
-
modes: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
66
|
-
interpolation: z.ZodOptional<z.ZodEnum<{
|
|
67
|
-
bold: "bold";
|
|
68
|
-
cautious: "cautious";
|
|
69
|
-
strict: "strict";
|
|
70
|
-
}>>;
|
|
71
|
-
skills: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
72
|
-
}, z.core.$strip>;
|
|
73
|
-
export declare const ClawSoulSchemaV03: z.ZodObject<{
|
|
74
|
-
name: z.ZodString;
|
|
75
|
-
displayName: z.ZodString;
|
|
76
|
-
version: z.ZodString;
|
|
77
|
-
description: z.ZodString;
|
|
78
|
-
author: z.ZodObject<{
|
|
79
|
-
name: z.ZodString;
|
|
80
|
-
github: z.ZodOptional<z.ZodString>;
|
|
81
|
-
}, z.core.$strip>;
|
|
82
|
-
license: z.ZodString;
|
|
83
|
-
tags: z.ZodArray<z.ZodString>;
|
|
84
|
-
category: z.ZodString;
|
|
85
|
-
compatibility: z.ZodOptional<z.ZodObject<{
|
|
86
|
-
openclaw: z.ZodOptional<z.ZodString>;
|
|
87
|
-
models: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
88
|
-
}, z.core.$strip>>;
|
|
89
|
-
repository: z.ZodOptional<z.ZodString>;
|
|
90
|
-
files: z.ZodObject<{
|
|
91
|
-
soul: z.ZodString;
|
|
92
|
-
identity: z.ZodOptional<z.ZodString>;
|
|
93
|
-
agents: z.ZodOptional<z.ZodString>;
|
|
94
|
-
heartbeat: z.ZodOptional<z.ZodString>;
|
|
95
|
-
style: z.ZodOptional<z.ZodString>;
|
|
96
|
-
userTemplate: z.ZodOptional<z.ZodString>;
|
|
97
|
-
avatar: z.ZodOptional<z.ZodString>;
|
|
98
|
-
}, z.core.$strip>;
|
|
99
|
-
examples: z.ZodOptional<z.ZodObject<{
|
|
100
|
-
good: z.ZodOptional<z.ZodString>;
|
|
101
|
-
bad: z.ZodOptional<z.ZodString>;
|
|
102
|
-
}, z.core.$strip>>;
|
|
103
|
-
modes: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
104
|
-
interpolation: z.ZodOptional<z.ZodEnum<{
|
|
105
|
-
bold: "bold";
|
|
106
|
-
cautious: "cautious";
|
|
107
|
-
strict: "strict";
|
|
108
|
-
}>>;
|
|
109
|
-
skills: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
110
|
-
specVersion: z.ZodOptional<z.ZodEnum<{
|
|
111
|
-
0.1: "0.1";
|
|
112
|
-
0.2: "0.2";
|
|
113
|
-
0.3: "0.3";
|
|
114
|
-
}>>;
|
|
115
|
-
}, z.core.$strip>;
|
|
116
|
-
export declare const SPEC_VERSIONS: {
|
|
117
|
-
readonly '0.1': z.ZodObject<{
|
|
118
|
-
name: z.ZodString;
|
|
119
|
-
displayName: z.ZodString;
|
|
120
|
-
version: z.ZodString;
|
|
121
|
-
description: z.ZodString;
|
|
122
|
-
author: z.ZodObject<{
|
|
123
|
-
name: z.ZodString;
|
|
124
|
-
github: z.ZodOptional<z.ZodString>;
|
|
125
|
-
}, z.core.$strip>;
|
|
126
|
-
license: z.ZodString;
|
|
127
|
-
tags: z.ZodArray<z.ZodString>;
|
|
128
|
-
category: z.ZodString;
|
|
129
|
-
compatibility: z.ZodOptional<z.ZodObject<{
|
|
130
|
-
openclaw: z.ZodOptional<z.ZodString>;
|
|
131
|
-
models: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
132
|
-
}, z.core.$strip>>;
|
|
133
|
-
files: z.ZodObject<{
|
|
134
|
-
soul: z.ZodString;
|
|
135
|
-
identity: z.ZodOptional<z.ZodString>;
|
|
136
|
-
agents: z.ZodOptional<z.ZodString>;
|
|
137
|
-
heartbeat: z.ZodOptional<z.ZodString>;
|
|
138
|
-
userTemplate: z.ZodOptional<z.ZodString>;
|
|
139
|
-
avatar: z.ZodOptional<z.ZodString>;
|
|
140
|
-
}, z.core.$strip>;
|
|
141
|
-
repository: z.ZodOptional<z.ZodString>;
|
|
142
|
-
}, z.core.$strip>;
|
|
143
|
-
readonly '0.2': z.ZodObject<{
|
|
144
|
-
name: z.ZodString;
|
|
145
|
-
displayName: z.ZodString;
|
|
146
|
-
version: z.ZodString;
|
|
147
|
-
description: z.ZodString;
|
|
148
|
-
author: z.ZodObject<{
|
|
149
|
-
name: z.ZodString;
|
|
150
|
-
github: z.ZodOptional<z.ZodString>;
|
|
151
|
-
}, z.core.$strip>;
|
|
152
|
-
license: z.ZodString;
|
|
153
|
-
tags: z.ZodArray<z.ZodString>;
|
|
154
|
-
category: z.ZodString;
|
|
155
|
-
compatibility: z.ZodOptional<z.ZodObject<{
|
|
156
|
-
openclaw: z.ZodOptional<z.ZodString>;
|
|
157
|
-
models: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
158
|
-
}, z.core.$strip>>;
|
|
159
|
-
repository: z.ZodOptional<z.ZodString>;
|
|
160
|
-
files: z.ZodObject<{
|
|
161
|
-
soul: z.ZodString;
|
|
162
|
-
identity: z.ZodOptional<z.ZodString>;
|
|
163
|
-
agents: z.ZodOptional<z.ZodString>;
|
|
164
|
-
heartbeat: z.ZodOptional<z.ZodString>;
|
|
165
|
-
style: z.ZodOptional<z.ZodString>;
|
|
166
|
-
userTemplate: z.ZodOptional<z.ZodString>;
|
|
167
|
-
avatar: z.ZodOptional<z.ZodString>;
|
|
168
|
-
}, z.core.$strip>;
|
|
169
|
-
examples: z.ZodOptional<z.ZodObject<{
|
|
170
|
-
good: z.ZodOptional<z.ZodString>;
|
|
171
|
-
bad: z.ZodOptional<z.ZodString>;
|
|
172
|
-
}, z.core.$strip>>;
|
|
173
|
-
modes: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
174
|
-
interpolation: z.ZodOptional<z.ZodEnum<{
|
|
175
|
-
bold: "bold";
|
|
176
|
-
cautious: "cautious";
|
|
177
|
-
strict: "strict";
|
|
178
|
-
}>>;
|
|
179
|
-
skills: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
180
|
-
}, z.core.$strip>;
|
|
181
|
-
readonly '0.3': z.ZodObject<{
|
|
182
|
-
name: z.ZodString;
|
|
183
|
-
displayName: z.ZodString;
|
|
184
|
-
version: z.ZodString;
|
|
185
|
-
description: z.ZodString;
|
|
186
|
-
author: z.ZodObject<{
|
|
187
|
-
name: z.ZodString;
|
|
188
|
-
github: z.ZodOptional<z.ZodString>;
|
|
189
|
-
}, z.core.$strip>;
|
|
190
|
-
license: z.ZodString;
|
|
191
|
-
tags: z.ZodArray<z.ZodString>;
|
|
192
|
-
category: z.ZodString;
|
|
193
|
-
compatibility: z.ZodOptional<z.ZodObject<{
|
|
194
|
-
openclaw: z.ZodOptional<z.ZodString>;
|
|
195
|
-
models: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
196
|
-
}, z.core.$strip>>;
|
|
197
|
-
repository: z.ZodOptional<z.ZodString>;
|
|
198
|
-
files: z.ZodObject<{
|
|
199
|
-
soul: z.ZodString;
|
|
200
|
-
identity: z.ZodOptional<z.ZodString>;
|
|
201
|
-
agents: z.ZodOptional<z.ZodString>;
|
|
202
|
-
heartbeat: z.ZodOptional<z.ZodString>;
|
|
203
|
-
style: z.ZodOptional<z.ZodString>;
|
|
204
|
-
userTemplate: z.ZodOptional<z.ZodString>;
|
|
205
|
-
avatar: z.ZodOptional<z.ZodString>;
|
|
206
|
-
}, z.core.$strip>;
|
|
207
|
-
examples: z.ZodOptional<z.ZodObject<{
|
|
208
|
-
good: z.ZodOptional<z.ZodString>;
|
|
209
|
-
bad: z.ZodOptional<z.ZodString>;
|
|
210
|
-
}, z.core.$strip>>;
|
|
211
|
-
modes: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
212
|
-
interpolation: z.ZodOptional<z.ZodEnum<{
|
|
213
|
-
bold: "bold";
|
|
214
|
-
cautious: "cautious";
|
|
215
|
-
strict: "strict";
|
|
216
|
-
}>>;
|
|
217
|
-
skills: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
218
|
-
specVersion: z.ZodOptional<z.ZodEnum<{
|
|
219
|
-
0.1: "0.1";
|
|
220
|
-
0.2: "0.2";
|
|
221
|
-
0.3: "0.3";
|
|
222
|
-
}>>;
|
|
223
|
-
}, z.core.$strip>;
|
|
224
|
-
};
|
|
225
|
-
export type SpecVersion = keyof typeof SPEC_VERSIONS;
|
|
226
|
-
export declare const LATEST_SPEC: SpecVersion;
|
|
227
|
-
export declare const ClawSoulSchema: z.ZodObject<{
|
|
228
|
-
name: z.ZodString;
|
|
229
|
-
displayName: z.ZodString;
|
|
230
|
-
version: z.ZodString;
|
|
231
|
-
description: z.ZodString;
|
|
232
|
-
author: z.ZodObject<{
|
|
233
|
-
name: z.ZodString;
|
|
234
|
-
github: z.ZodOptional<z.ZodString>;
|
|
235
|
-
}, z.core.$strip>;
|
|
236
|
-
license: z.ZodString;
|
|
237
|
-
tags: z.ZodArray<z.ZodString>;
|
|
238
|
-
category: z.ZodString;
|
|
239
|
-
compatibility: z.ZodOptional<z.ZodObject<{
|
|
240
|
-
openclaw: z.ZodOptional<z.ZodString>;
|
|
241
|
-
models: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
242
|
-
}, z.core.$strip>>;
|
|
243
|
-
repository: z.ZodOptional<z.ZodString>;
|
|
244
|
-
files: z.ZodObject<{
|
|
245
|
-
soul: z.ZodString;
|
|
246
|
-
identity: z.ZodOptional<z.ZodString>;
|
|
247
|
-
agents: z.ZodOptional<z.ZodString>;
|
|
248
|
-
heartbeat: z.ZodOptional<z.ZodString>;
|
|
249
|
-
style: z.ZodOptional<z.ZodString>;
|
|
250
|
-
userTemplate: z.ZodOptional<z.ZodString>;
|
|
251
|
-
avatar: z.ZodOptional<z.ZodString>;
|
|
252
|
-
}, z.core.$strip>;
|
|
253
|
-
examples: z.ZodOptional<z.ZodObject<{
|
|
254
|
-
good: z.ZodOptional<z.ZodString>;
|
|
255
|
-
bad: z.ZodOptional<z.ZodString>;
|
|
256
|
-
}, z.core.$strip>>;
|
|
257
|
-
modes: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
258
|
-
interpolation: z.ZodOptional<z.ZodEnum<{
|
|
259
|
-
bold: "bold";
|
|
260
|
-
cautious: "cautious";
|
|
261
|
-
strict: "strict";
|
|
262
|
-
}>>;
|
|
263
|
-
skills: z.ZodOptional<z.ZodArray<z.ZodString>>;
|
|
264
|
-
specVersion: z.ZodOptional<z.ZodEnum<{
|
|
265
|
-
0.1: "0.1";
|
|
266
|
-
0.2: "0.2";
|
|
267
|
-
0.3: "0.3";
|
|
268
|
-
}>>;
|
|
269
|
-
}, z.core.$strip>;
|
|
270
|
-
export type ClawSoul = z.infer<typeof ClawSoulSchemaV03>;
|
|
271
|
-
export declare function getSchema(version?: string): z.ZodType;
|
|
272
|
-
export declare function validateClawSoul(data: unknown, version?: string): ClawSoul;
|
package/dist/utils/validate.js
DELETED
|
@@ -1,115 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
// ─── License Allowlist ─────────────────────────────────────
|
|
3
|
-
export const ALLOWED_LICENSES = [
|
|
4
|
-
'Apache-2.0', 'MIT', 'BSD-2-Clause', 'BSD-3-Clause',
|
|
5
|
-
'CC-BY-4.0', 'CC0-1.0', 'ISC', 'Unlicense',
|
|
6
|
-
];
|
|
7
|
-
const BLOCKED_LICENSE_PATTERNS = [
|
|
8
|
-
/^GPL-/i, /^AGPL-/i, /^LGPL-/i,
|
|
9
|
-
/^CC-BY-NC/i, /^CC-BY-ND/i,
|
|
10
|
-
];
|
|
11
|
-
export function checkLicense(license) {
|
|
12
|
-
if (ALLOWED_LICENSES.includes(license)) {
|
|
13
|
-
return { ok: true };
|
|
14
|
-
}
|
|
15
|
-
for (const pattern of BLOCKED_LICENSE_PATTERNS) {
|
|
16
|
-
if (pattern.test(license)) {
|
|
17
|
-
return {
|
|
18
|
-
ok: false,
|
|
19
|
-
error: `License "${license}" is not allowed. GPL/AGPL/copyleft licenses are not permitted on ClawSouls. Soul files are meant to be freely installed, modified, and used. Please use a permissive license (Apache-2.0, MIT, etc.)`,
|
|
20
|
-
};
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
return {
|
|
24
|
-
ok: true,
|
|
25
|
-
warning: `License "${license}" is not in the known allowlist. Allowed: ${ALLOWED_LICENSES.join(', ')}. Proceeding with warning.`,
|
|
26
|
-
};
|
|
27
|
-
}
|
|
28
|
-
// ─── v0.1 Schema ───────────────────────────────────────────
|
|
29
|
-
export const ClawSoulSchemaV01 = z.object({
|
|
30
|
-
name: z.string().regex(/^[a-z0-9-]+$/, 'Must be kebab-case'),
|
|
31
|
-
displayName: z.string().min(1),
|
|
32
|
-
version: z.string().regex(/^\d+\.\d+\.\d+$/, 'Must be semver'),
|
|
33
|
-
description: z.string().max(160),
|
|
34
|
-
author: z.object({
|
|
35
|
-
name: z.string(),
|
|
36
|
-
github: z.string().optional(),
|
|
37
|
-
}),
|
|
38
|
-
license: z.string(),
|
|
39
|
-
tags: z.array(z.string()).max(10),
|
|
40
|
-
category: z.string(),
|
|
41
|
-
compatibility: z.object({
|
|
42
|
-
openclaw: z.string().optional(),
|
|
43
|
-
models: z.array(z.string()).optional(),
|
|
44
|
-
}).optional(),
|
|
45
|
-
files: z.object({
|
|
46
|
-
soul: z.string(),
|
|
47
|
-
identity: z.string().optional(),
|
|
48
|
-
agents: z.string().optional(),
|
|
49
|
-
heartbeat: z.string().optional(),
|
|
50
|
-
userTemplate: z.string().optional(),
|
|
51
|
-
avatar: z.string().optional(),
|
|
52
|
-
}),
|
|
53
|
-
repository: z.string().url().optional(),
|
|
54
|
-
});
|
|
55
|
-
// ─── v0.2 Schema (extends v0.1 with STYLE.md, modes, interpolation, examples, skills) ───
|
|
56
|
-
export const ClawSoulSchemaV02 = ClawSoulSchemaV01.extend({
|
|
57
|
-
files: z.object({
|
|
58
|
-
soul: z.string(),
|
|
59
|
-
identity: z.string().optional(),
|
|
60
|
-
agents: z.string().optional(),
|
|
61
|
-
heartbeat: z.string().optional(),
|
|
62
|
-
style: z.string().optional(),
|
|
63
|
-
userTemplate: z.string().optional(),
|
|
64
|
-
avatar: z.string().optional(),
|
|
65
|
-
}),
|
|
66
|
-
examples: z.object({
|
|
67
|
-
good: z.string().optional(),
|
|
68
|
-
bad: z.string().optional(),
|
|
69
|
-
}).optional(),
|
|
70
|
-
modes: z.array(z.string()).optional(),
|
|
71
|
-
interpolation: z.enum(['bold', 'cautious', 'strict']).optional(),
|
|
72
|
-
skills: z.array(z.string()).optional(),
|
|
73
|
-
});
|
|
74
|
-
// ─── v0.3 Schema (extends v0.2 with specVersion) ───
|
|
75
|
-
export const ClawSoulSchemaV03 = ClawSoulSchemaV02.extend({
|
|
76
|
-
specVersion: z.enum(['0.1', '0.2', '0.3']).optional(),
|
|
77
|
-
});
|
|
78
|
-
// ─── Version Registry ──────────────────────────────────────
|
|
79
|
-
export const SPEC_VERSIONS = {
|
|
80
|
-
'0.1': ClawSoulSchemaV01,
|
|
81
|
-
'0.2': ClawSoulSchemaV02,
|
|
82
|
-
'0.3': ClawSoulSchemaV03,
|
|
83
|
-
};
|
|
84
|
-
export const LATEST_SPEC = '0.3';
|
|
85
|
-
// Default export = latest
|
|
86
|
-
export const ClawSoulSchema = SPEC_VERSIONS[LATEST_SPEC];
|
|
87
|
-
export function getSchema(version) {
|
|
88
|
-
if (!version)
|
|
89
|
-
return ClawSoulSchema;
|
|
90
|
-
const v = version.replace(/^v/, '');
|
|
91
|
-
const schema = SPEC_VERSIONS[v];
|
|
92
|
-
if (!schema) {
|
|
93
|
-
const available = Object.keys(SPEC_VERSIONS).join(', ');
|
|
94
|
-
throw new Error(`Unknown spec version "${version}". Available: ${available}`);
|
|
95
|
-
}
|
|
96
|
-
return schema;
|
|
97
|
-
}
|
|
98
|
-
export function validateClawSoul(data, version) {
|
|
99
|
-
const schema = getSchema(version);
|
|
100
|
-
const result = schema.parse(data);
|
|
101
|
-
// Warn if specVersion is missing (backward compat — not an error)
|
|
102
|
-
if (!data?.specVersion) {
|
|
103
|
-
console.warn('⚠️ Warning: "specVersion" field is missing from soul.json. Consider adding "specVersion": "0.3"');
|
|
104
|
-
}
|
|
105
|
-
// License allowlist check
|
|
106
|
-
const licenseCheck = checkLicense(result.license);
|
|
107
|
-
if (!licenseCheck.ok) {
|
|
108
|
-
throw new Error(licenseCheck.error);
|
|
109
|
-
}
|
|
110
|
-
if (licenseCheck.warning) {
|
|
111
|
-
console.warn(`⚠️ Warning: ${licenseCheck.warning}`);
|
|
112
|
-
}
|
|
113
|
-
return result;
|
|
114
|
-
}
|
|
115
|
-
//# sourceMappingURL=validate.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../src/utils/validate.ts"],"names":[],"mappings":"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"}
|