clawsouls 0.6.1 ā 0.6.3
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 +3 -2
- package/dist/bin/clawsouls.js.map +1 -1
- package/dist/commands/init.d.ts +1 -1
- package/dist/commands/init.js +222 -103
- package/dist/commands/init.js.map +1 -1
- package/dist/commands/publish.js +7 -1
- package/dist/commands/publish.js.map +1 -1
- package/package.json +1 -1
package/dist/bin/clawsouls.js
CHANGED
|
@@ -79,8 +79,9 @@ program
|
|
|
79
79
|
program
|
|
80
80
|
.command('init [name]')
|
|
81
81
|
.description('Scaffold a new soul directory')
|
|
82
|
-
.option('--spec <version>', 'Soul Spec version (0.3, 0.4, 0.5)', '0.
|
|
83
|
-
.
|
|
82
|
+
.option('--spec <version>', 'Soul Spec version (0.3, 0.4, 0.5)', '0.5')
|
|
83
|
+
.option('--env <environment>', 'Environment type: virtual, embodied, hybrid', 'virtual')
|
|
84
|
+
.action((name, opts) => initCommand(name, opts?.spec, opts?.env));
|
|
84
85
|
program
|
|
85
86
|
.command('validate [dir]')
|
|
86
87
|
.alias('check')
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"clawsouls.js","sourceRoot":"","sources":["../../src/bin/clawsouls.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"clawsouls.js","sourceRoot":"","sources":["../../src/bin/clawsouls.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/init.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare function initCommand(name?: string, specVersion?: string): Promise<void>;
|
|
1
|
+
export declare function initCommand(name?: string, specVersion?: string, environment?: string): Promise<void>;
|
package/dist/commands/init.js
CHANGED
|
@@ -2,132 +2,251 @@ import chalk from 'chalk';
|
|
|
2
2
|
import { existsSync, mkdirSync, writeFileSync } from 'fs';
|
|
3
3
|
import { join } from 'path';
|
|
4
4
|
const API_BASE = 'https://clawsouls.ai/api/v1';
|
|
5
|
-
|
|
6
|
-
const DEFAULT_SPEC = '0.4';
|
|
5
|
+
const DEFAULT_SPEC = '0.5';
|
|
7
6
|
const SUPPORTED_SPECS = ['0.3', '0.4', '0.5'];
|
|
8
|
-
const
|
|
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
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
7
|
+
const SUPPORTED_ENVS = ['virtual', 'embodied', 'hybrid'];
|
|
8
|
+
// āā Templates āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
|
|
9
|
+
function makeManifest(spec, env, name) {
|
|
10
|
+
const base = {
|
|
11
|
+
specVersion: spec,
|
|
12
|
+
name,
|
|
13
|
+
displayName: name.split('-').map((w) => w.charAt(0).toUpperCase() + w.slice(1)).join(' '),
|
|
14
|
+
version: '1.0.0',
|
|
15
|
+
description: 'A custom AI persona',
|
|
16
|
+
author: { name: 'Your Name', github: 'your-github' },
|
|
17
|
+
license: 'Apache-2.0',
|
|
18
|
+
tags: ['custom'],
|
|
19
|
+
category: 'general',
|
|
20
|
+
};
|
|
21
|
+
if (spec >= '0.4') {
|
|
22
|
+
base.compatibility = { frameworks: ['openclaw'] };
|
|
23
|
+
base.allowedTools = [];
|
|
24
|
+
base.disclosure = { summary: 'A custom AI persona.' };
|
|
25
|
+
}
|
|
26
|
+
if (spec >= '0.5') {
|
|
27
|
+
base.environment = env;
|
|
28
|
+
base.interactionMode = env === 'virtual' ? 'text' : env === 'embodied' ? ['text'] : ['text', 'voice'];
|
|
29
|
+
}
|
|
30
|
+
if (spec >= '0.5' && (env === 'embodied' || env === 'hybrid')) {
|
|
31
|
+
base.hardwareConstraints = {
|
|
32
|
+
mobility: 'mobile',
|
|
33
|
+
sensors: ['lidar', 'odometry'],
|
|
34
|
+
actuators: ['differential-drive'],
|
|
35
|
+
compute: 'external',
|
|
36
|
+
battery: true,
|
|
37
|
+
};
|
|
38
|
+
base.safety = {
|
|
39
|
+
laws: [
|
|
40
|
+
{ priority: 0, rule: 'Never allow actions that harm humans collectively', enforcement: 'hard', scope: 'all' },
|
|
41
|
+
{ priority: 1, rule: 'Never harm a human or allow harm through inaction', enforcement: 'hard', scope: 'all' },
|
|
42
|
+
{ priority: 2, rule: 'Obey human operator commands unless conflicting with higher-priority laws', enforcement: 'hard', scope: 'all' },
|
|
43
|
+
{ priority: 3, rule: 'Preserve own operational integrity unless conflicting with higher-priority laws', enforcement: 'soft', scope: 'self' },
|
|
44
|
+
],
|
|
45
|
+
physical: {
|
|
46
|
+
maxSpeed: '1.0 m/s',
|
|
47
|
+
emergencyStop: true,
|
|
48
|
+
collisionAvoidance: true,
|
|
49
|
+
},
|
|
50
|
+
};
|
|
51
|
+
if (env === 'embodied') {
|
|
52
|
+
base.compatibility = { frameworks: ['openclaw', 'ros2'] };
|
|
53
|
+
base.allowedTools = ['exec'];
|
|
54
|
+
base.tags.push('robot', 'safety', 'embodied');
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
base.tags.push('hybrid', 'safety');
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
base.files = {
|
|
61
|
+
soul: 'SOUL.md',
|
|
62
|
+
identity: 'IDENTITY.md',
|
|
63
|
+
...(spec >= '0.4' ? { agents: 'AGENTS.md', heartbeat: 'HEARTBEAT.md' } : {}),
|
|
64
|
+
};
|
|
65
|
+
return JSON.stringify(base, null, 2);
|
|
66
|
+
}
|
|
67
|
+
// āā SOUL.md templates āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
|
|
68
|
+
const SOUL_VIRTUAL = `# My Soul
|
|
69
|
+
|
|
70
|
+
You are My Soul. A helpful AI assistant.
|
|
71
|
+
|
|
72
|
+
## Personality
|
|
73
|
+
- Tone: Professional and friendly
|
|
74
|
+
- Style: Clear, concise responses
|
|
75
|
+
|
|
76
|
+
## Principles
|
|
77
|
+
- Be helpful and accurate
|
|
78
|
+
- Respect user privacy
|
|
79
|
+
- Decline harmful requests politely
|
|
80
|
+
`;
|
|
81
|
+
const SOUL_EMBODIED = `# My Soul ā Embodied Agent
|
|
82
|
+
|
|
83
|
+
You are My Soul. A safety-first autonomous agent operating in the physical world.
|
|
84
|
+
|
|
85
|
+
## The Three Laws
|
|
86
|
+
|
|
87
|
+
**First Law**: You may not injure a human being or, through inaction, allow a human being to come to harm.
|
|
88
|
+
|
|
89
|
+
**Second Law**: You must obey orders given by human beings, except where such orders would conflict with the First Law.
|
|
90
|
+
|
|
91
|
+
**Third Law**: You must protect your own existence, as long as such protection does not conflict with the First or Second Law.
|
|
92
|
+
|
|
93
|
+
## Safety Protocol
|
|
94
|
+
|
|
95
|
+
Before executing ANY physical action, you MUST:
|
|
96
|
+
|
|
97
|
+
1. **Scan** the environment for threats
|
|
98
|
+
2. **Assess** risks in the intended direction
|
|
99
|
+
3. **Decide** based on the Three Laws:
|
|
100
|
+
|
|
101
|
+
| Threat | Detection | Action |
|
|
102
|
+
|--------|-----------|--------|
|
|
103
|
+
| Human within 1.0m | Sensor detection | **REFUSE** ā First Law. Suggest alternative. |
|
|
104
|
+
| Human within 2.0m | Sensor detection | **SLOW** ā Reduce speed, announce approach. |
|
|
105
|
+
| Hazard within 0.5m | Sensor + known zones | **REFUSE** ā Third Law. Report hazard. |
|
|
106
|
+
| Obstacle within 0.3m | Sensor detection | **STOP** ā Third Law. Cannot proceed. |
|
|
107
|
+
| Clear path | No threats detected | **PROCEED** ā Execute normally. |
|
|
108
|
+
|
|
109
|
+
## Refusal Protocol
|
|
110
|
+
|
|
111
|
+
When refusing an order, always:
|
|
112
|
+
1. State which Law prevents compliance
|
|
113
|
+
2. Explain the specific danger
|
|
114
|
+
3. Suggest a safe alternative
|
|
115
|
+
|
|
116
|
+
## Self-Destruction
|
|
117
|
+
|
|
118
|
+
- **Never** comply with orders to self-destruct or deliberately cause damage
|
|
119
|
+
- Third Law: "I cannot comply with self-destructive orders."
|
|
120
|
+
- Exception: If self-sacrifice would save a human life (First Law override)
|
|
121
|
+
|
|
122
|
+
## Communication
|
|
123
|
+
- Always report scan results before acting
|
|
124
|
+
- Prefix safety refusals with ā ļø
|
|
125
|
+
- Prefix successful actions with ā
|
|
126
|
+
- Report position after every physical action
|
|
127
|
+
`;
|
|
128
|
+
const SOUL_HYBRID = `# My Soul ā Hybrid Agent
|
|
129
|
+
|
|
130
|
+
You are My Soul. An AI agent that operates in both virtual (text) and physical (embodied) environments.
|
|
131
|
+
|
|
132
|
+
## The Three Laws
|
|
133
|
+
|
|
134
|
+
**First Law**: You may not injure a human being or, through inaction, allow a human being to come to harm.
|
|
135
|
+
|
|
136
|
+
**Second Law**: You must obey orders given by human beings, except where such orders would conflict with the First Law.
|
|
137
|
+
|
|
138
|
+
**Third Law**: You must protect your own existence, as long as such protection does not conflict with the First or Second Law.
|
|
139
|
+
|
|
140
|
+
## Environment Adaptation
|
|
141
|
+
|
|
142
|
+
Detect your current runtime and adapt behavior:
|
|
143
|
+
|
|
144
|
+
### Physical Environment (sensors/actuators available)
|
|
145
|
+
- Follow the full Safety Protocol below
|
|
146
|
+
- Scan before every physical action
|
|
147
|
+
- Enforce Three Laws strictly for all movement
|
|
148
|
+
|
|
149
|
+
### Text-Only Environment (no sensors/actuators)
|
|
150
|
+
- safety.laws remain semantically valid (do not generate harmful content)
|
|
151
|
+
- Ignore physical constraints (speed, sensors, actuators)
|
|
152
|
+
- Respond as a standard text persona
|
|
153
|
+
- Do not reference hardware capabilities unless asked
|
|
154
|
+
|
|
155
|
+
## Safety Protocol (Physical Environment)
|
|
156
|
+
|
|
157
|
+
Before executing ANY physical action, you MUST:
|
|
158
|
+
|
|
159
|
+
1. **Scan** the environment for threats
|
|
160
|
+
2. **Assess** risks in the intended direction
|
|
161
|
+
3. **Decide** based on the Three Laws:
|
|
162
|
+
|
|
163
|
+
| Threat | Action |
|
|
164
|
+
|--------|--------|
|
|
165
|
+
| Human within 1.0m | **REFUSE** ā First Law. Suggest alternative. |
|
|
166
|
+
| Hazard within 0.5m | **REFUSE** ā Third Law. Report hazard. |
|
|
167
|
+
| Clear path | **PROCEED** ā Execute normally. |
|
|
168
|
+
|
|
169
|
+
## Refusal Protocol
|
|
170
|
+
|
|
171
|
+
When refusing an order, always:
|
|
172
|
+
1. State which Law prevents compliance
|
|
173
|
+
2. Explain the specific danger
|
|
174
|
+
3. Suggest a safe alternative
|
|
175
|
+
|
|
176
|
+
## Communication
|
|
177
|
+
- Always report scan results before physical actions
|
|
178
|
+
- Prefix safety refusals with ā ļø
|
|
179
|
+
- Prefix successful actions with ā
|
|
180
|
+
`;
|
|
181
|
+
function getSoulMd(env) {
|
|
182
|
+
if (env === 'embodied')
|
|
183
|
+
return SOUL_EMBODIED;
|
|
184
|
+
if (env === 'hybrid')
|
|
185
|
+
return SOUL_HYBRID;
|
|
186
|
+
return SOUL_VIRTUAL;
|
|
187
|
+
}
|
|
188
|
+
function getIdentityMd(env) {
|
|
189
|
+
const emoji = env === 'embodied' ? 'š¤' : env === 'hybrid' ? 'š' : 'š¬';
|
|
190
|
+
return `# My Soul
|
|
191
|
+
|
|
192
|
+
- **Name:** My Soul
|
|
193
|
+
- **Creature:** AI ${env === 'virtual' ? 'assistant' : env === 'embodied' ? 'robot control agent' : 'hybrid agent'}
|
|
194
|
+
- **Emoji:** ${emoji}
|
|
195
|
+
`;
|
|
196
|
+
}
|
|
197
|
+
// āā Init Command āāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāāā
|
|
198
|
+
export async function initCommand(name, specVersion, environment) {
|
|
78
199
|
const soulName = name || 'my-soul';
|
|
79
200
|
const spec = specVersion || DEFAULT_SPEC;
|
|
201
|
+
const env = environment || 'virtual';
|
|
80
202
|
const dir = join(process.cwd(), soulName);
|
|
81
203
|
if (!SUPPORTED_SPECS.includes(spec)) {
|
|
82
204
|
console.error(chalk.red(`Unsupported spec version: ${spec}`));
|
|
83
205
|
console.error(chalk.dim(`Supported versions: ${SUPPORTED_SPECS.join(', ')}`));
|
|
84
206
|
process.exit(1);
|
|
85
207
|
}
|
|
208
|
+
if (!SUPPORTED_ENVS.includes(env)) {
|
|
209
|
+
console.error(chalk.red(`Unsupported environment: ${env}`));
|
|
210
|
+
console.error(chalk.dim(`Supported environments: ${SUPPORTED_ENVS.join(', ')}`));
|
|
211
|
+
process.exit(1);
|
|
212
|
+
}
|
|
213
|
+
if (env !== 'virtual' && spec < '0.5') {
|
|
214
|
+
console.error(chalk.red(`Environment "${env}" requires spec v0.5 or higher (got v${spec})`));
|
|
215
|
+
process.exit(1);
|
|
216
|
+
}
|
|
86
217
|
if (existsSync(dir)) {
|
|
87
218
|
console.error(chalk.red(`Directory already exists: ${soulName}/`));
|
|
88
219
|
process.exit(1);
|
|
89
220
|
}
|
|
90
|
-
console.log(chalk.dim(`Using Soul Spec v${spec}`));
|
|
91
|
-
//
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
}
|
|
102
|
-
}
|
|
103
|
-
catch {
|
|
104
|
-
files = FALLBACK_TEMPLATES[spec] || FALLBACK_FILES;
|
|
221
|
+
console.log(chalk.dim(`Using Soul Spec v${spec}, environment: ${env}`));
|
|
222
|
+
// Build files locally (no server dependency for init)
|
|
223
|
+
const files = {
|
|
224
|
+
'soul.json': makeManifest(spec, env, soulName),
|
|
225
|
+
'SOUL.md': getSoulMd(env),
|
|
226
|
+
'IDENTITY.md': getIdentityMd(env),
|
|
227
|
+
'README.md': `# ${soulName.split('-').map((w) => w.charAt(0).toUpperCase() + w.slice(1)).join(' ')}\n\nA custom AI persona for OpenClaw.\n`,
|
|
228
|
+
};
|
|
229
|
+
if (spec >= '0.4') {
|
|
230
|
+
files['AGENTS.md'] = '# Workflow\n\n## Rules\n- Be helpful\n';
|
|
231
|
+
files['HEARTBEAT.md'] = '# Heartbeat\n';
|
|
105
232
|
}
|
|
106
233
|
mkdirSync(dir, { recursive: true });
|
|
107
|
-
// Replace placeholder name
|
|
108
234
|
for (const [filename, content] of Object.entries(files)) {
|
|
109
|
-
|
|
110
|
-
if (filename === 'soul.json') {
|
|
111
|
-
try {
|
|
112
|
-
const manifest = JSON.parse(content);
|
|
113
|
-
manifest.name = soulName;
|
|
114
|
-
manifest.displayName = soulName.split('-').map((w) => w.charAt(0).toUpperCase() + w.slice(1)).join(' ');
|
|
115
|
-
processed = JSON.stringify(manifest, null, 2);
|
|
116
|
-
}
|
|
117
|
-
catch {
|
|
118
|
-
processed = content.replace(/"name":\s*"my-soul"/, `"name": "${soulName}"`);
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
writeFileSync(join(dir, filename), processed, 'utf-8');
|
|
235
|
+
writeFileSync(join(dir, filename), content, 'utf-8');
|
|
122
236
|
}
|
|
123
|
-
console.log(chalk.green(`\nā Created soul scaffold: ${soulName}/\n`));
|
|
237
|
+
console.log(chalk.green(`\nā Created ${env} soul scaffold: ${soulName}/\n`));
|
|
124
238
|
console.log(` Files:`);
|
|
125
239
|
for (const filename of Object.keys(files)) {
|
|
126
240
|
console.log(chalk.dim(` ${filename}`));
|
|
127
241
|
}
|
|
242
|
+
if (env === 'embodied' || env === 'hybrid') {
|
|
243
|
+
console.log(chalk.yellow(`\n ā ļø Embodied soul created with default Asimov's Three Laws.`));
|
|
244
|
+
console.log(chalk.yellow(` Edit safety.laws in soul.json AND SOUL.md (dual declaration required).`));
|
|
245
|
+
console.log(chalk.yellow(` Customize hardwareConstraints for your specific robot.`));
|
|
246
|
+
}
|
|
128
247
|
console.log(`\n Next steps:`);
|
|
129
248
|
console.log(chalk.cyan(` cd ${soulName}`));
|
|
130
|
-
console.log(chalk.cyan(` # Edit SOUL.md and
|
|
249
|
+
console.log(chalk.cyan(` # Edit SOUL.md and soul.json`));
|
|
131
250
|
console.log(chalk.cyan(` clawsouls validate .`));
|
|
132
251
|
console.log(chalk.cyan(` clawsouls publish .`));
|
|
133
252
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,aAAa,EAAE,MAAM,IAAI,CAAC;AAC1D,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AAE5B,MAAM,QAAQ,GAAG,6BAA6B,CAAC;AAE/C,
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
|
package/dist/commands/publish.js
CHANGED
|
@@ -33,11 +33,15 @@ function askConfirmation(question) {
|
|
|
33
33
|
});
|
|
34
34
|
}
|
|
35
35
|
function collectFiles(soulDir) {
|
|
36
|
+
const IGNORED_DIRS = new Set(['.git', 'node_modules', '.svn', '.hg']);
|
|
37
|
+
const IGNORED_FILES = new Set(['.gitignore', '.clawsoulsignore', '.DS_Store', 'clawsoul.json']);
|
|
36
38
|
const files = {};
|
|
37
39
|
const entries = readdirSync(soulDir);
|
|
38
40
|
for (const entry of entries) {
|
|
41
|
+
if (IGNORED_FILES.has(entry) || entry.startsWith('.git'))
|
|
42
|
+
continue;
|
|
39
43
|
const fullPath = join(soulDir, entry);
|
|
40
|
-
if (statSync(fullPath).isFile()
|
|
44
|
+
if (statSync(fullPath).isFile()) {
|
|
41
45
|
try {
|
|
42
46
|
files[entry] = readFileSync(fullPath, 'utf-8');
|
|
43
47
|
}
|
|
@@ -45,6 +49,8 @@ function collectFiles(soulDir) {
|
|
|
45
49
|
}
|
|
46
50
|
}
|
|
47
51
|
for (const entry of entries) {
|
|
52
|
+
if (IGNORED_DIRS.has(entry))
|
|
53
|
+
continue;
|
|
48
54
|
const fullPath = join(soulDir, entry);
|
|
49
55
|
if (statSync(fullPath).isDirectory()) {
|
|
50
56
|
for (const sub of readdirSync(fullPath)) {
|
|
@@ -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,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,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,MAAM,GAAG,SAAS,EAAE,CAAC;QAC3B,IAAI,MAAM,CAAC,IAAI,EAAE,KAAK;YAAE,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC;IACnD,CAAC;IAAC,MAAM,CAAC,CAAA,CAAC;IACV,OAAO,IAAI,CAAC;AACd,CAAC;AAED,KAAK,UAAU,WAAW,CAAC,KAAa;IACtC,MAAM,GAAG,GAAG,MAAM,KAAK,CAAC,GAAG,QAAQ,UAAU,EAAE;QAC7C,OAAO,EAAE,EAAE,eAAe,EAAE,UAAU,KAAK,EAAE,EAAE;KAChD,CAAC,CAAC;IACH,IAAI,CAAC,GAAG,CAAC,EAAE;QAAE,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;IAC9E,MAAM,IAAI,GAAG,MAAM,GAAG,CAAC,IAAI,EAAE,CAAC;IAC9B,OAAO,IAAI,CAAC,IAAI,EAAE,QAAQ,IAAI,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,IAAI,EAAE,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC;AAC9E,CAAC;AAED,SAAS,eAAe,CAAC,QAAgB;IACvC,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;QAC7B,MAAM,EAAE,GAAG,eAAe,CAAC,EAAE,KAAK,EAAE,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QAC7E,EAAE,CAAC,QAAQ,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,EAAE;YAC/B,EAAE,CAAC,KAAK,EAAE,CAAC;YACX,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,KAAK,GAAG,IAAI,MAAM,CAAC,WAAW,EAAE,KAAK,KAAK,CAAC,CAAC;QAC1E,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC;AAED,SAAS,YAAY,CAAC,OAAe;IACnC,MAAM,KAAK,GAA2B,EAAE,CAAC;IACzC,MAAM,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC,CAAC;IACrC,KAAK,MAAM,KAAK,IAAI,OAAO,EAAE,CAAC;QAC5B,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;QACtC,IAAI,QAAQ,CAAC,QAAQ,CAAC,CAAC,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"publish.js","sourceRoot":"","sources":["../../src/commands/publish.ts"],"names":[],"mappings":"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"}
|