@soleri/cli 9.10.0 → 9.12.1

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.
@@ -3,6 +3,8 @@ import { join, resolve } from 'node:path';
3
3
  import { homedir } from 'node:os';
4
4
  import * as p from '@clack/prompts';
5
5
  import { detectAgent } from '../utils/agent-context.js';
6
+ import { detectArtifacts, removeDirectory, removeClaudeMdBlock, removePermissionEntries, removeLauncherScript, } from '../utils/agent-artifacts.js';
7
+ import { pass, fail, warn, skip, heading, dim } from '../utils/logger.js';
6
8
  function uninstallClaude(agentId) {
7
9
  const configPath = join(homedir(), '.claude.json');
8
10
  if (!existsSync(configPath)) {
@@ -70,12 +72,161 @@ function uninstallOpencode(agentId) {
70
72
  function escapeRegExp(s) {
71
73
  return s.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
72
74
  }
75
+ // ---------------------------------------------------------------------------
76
+ // Full uninstall helpers
77
+ // ---------------------------------------------------------------------------
78
+ function countArtifacts(manifest) {
79
+ let count = 0;
80
+ if (manifest.projectDir?.exists)
81
+ count++;
82
+ if (manifest.dataDir?.exists)
83
+ count++;
84
+ if (manifest.dataDirLegacy?.exists)
85
+ count++;
86
+ count += manifest.claudeMdBlocks.length;
87
+ count += manifest.mcpServerEntries.length;
88
+ if (manifest.permissionEntries.length > 0)
89
+ count++;
90
+ if (manifest.launcherScript?.exists)
91
+ count++;
92
+ return count;
93
+ }
94
+ function displayManifest(manifest) {
95
+ heading(`Artifacts for "${manifest.agentId}"`);
96
+ const show = (label, loc) => {
97
+ if (loc?.exists)
98
+ warn(label, loc.path);
99
+ else
100
+ dim(`${label} — not found`);
101
+ };
102
+ show('Project directory', manifest.projectDir);
103
+ show('Data directory', manifest.dataDir);
104
+ show('Data directory (legacy)', manifest.dataDirLegacy);
105
+ show('Launcher script', manifest.launcherScript);
106
+ if (manifest.claudeMdBlocks.length > 0) {
107
+ for (const block of manifest.claudeMdBlocks) {
108
+ warn('CLAUDE.md block', `${block.path} (lines ${block.startLine}-${block.endLine})`);
109
+ }
110
+ }
111
+ else {
112
+ dim('CLAUDE.md blocks — none found');
113
+ }
114
+ if (manifest.mcpServerEntries.length > 0) {
115
+ for (const entry of manifest.mcpServerEntries) {
116
+ warn(`MCP server (${entry.target})`, `${entry.file} → ${entry.key}`);
117
+ }
118
+ }
119
+ else {
120
+ dim('MCP server entries — none found');
121
+ }
122
+ if (manifest.permissionEntries.length > 0) {
123
+ for (const pe of manifest.permissionEntries) {
124
+ warn(`Permissions (${pe.matches.length} entries)`, pe.file);
125
+ }
126
+ }
127
+ else {
128
+ dim('Permission entries — none found');
129
+ }
130
+ }
131
+ function reportResult(label, result) {
132
+ if (result.removed)
133
+ pass(label, result.path);
134
+ else if (result.error)
135
+ fail(label, result.error);
136
+ else
137
+ skip(label, result.path);
138
+ }
139
+ async function fullUninstall(agentId, agentDir, target, dryRun, force) {
140
+ const manifest = detectArtifacts(agentId, agentDir);
141
+ const total = countArtifacts(manifest);
142
+ displayManifest(manifest);
143
+ if (total === 0) {
144
+ p.log.info('Nothing to remove.');
145
+ process.exit(2);
146
+ }
147
+ console.log(`\n Found ${total} artifact(s) to remove.\n`);
148
+ if (dryRun) {
149
+ p.log.info('Dry run — no changes made.');
150
+ return;
151
+ }
152
+ if (!force) {
153
+ const confirmed = await p.confirm({
154
+ message: `Remove all artifacts for "${agentId}"? This cannot be undone.`,
155
+ });
156
+ if (p.isCancel(confirmed) || !confirmed) {
157
+ p.log.info('Cancelled.');
158
+ return;
159
+ }
160
+ }
161
+ let removed = 0;
162
+ heading('Removing artifacts');
163
+ // 1. MCP server entries (existing logic)
164
+ if (target === 'claude' || target === 'both' || target === 'all') {
165
+ uninstallClaude(agentId);
166
+ }
167
+ if (target === 'codex' || target === 'both' || target === 'all') {
168
+ uninstallCodex(agentId);
169
+ }
170
+ if (target === 'opencode' || target === 'all') {
171
+ uninstallOpencode(agentId);
172
+ }
173
+ removed += manifest.mcpServerEntries.length;
174
+ // 2. Permission entries
175
+ for (const pe of manifest.permissionEntries) {
176
+ const result = await removePermissionEntries(pe.file, agentId);
177
+ reportResult(`Permissions (${pe.matches.length} entries)`, result);
178
+ if (result.removed)
179
+ removed++;
180
+ }
181
+ // 3. CLAUDE.md blocks (reverse order to preserve line numbers)
182
+ const sortedBlocks = [...manifest.claudeMdBlocks].sort((a, b) => b.startLine - a.startLine);
183
+ for (const block of sortedBlocks) {
184
+ const result = await removeClaudeMdBlock(block.path, block.startLine, block.endLine);
185
+ reportResult('CLAUDE.md block', result);
186
+ if (result.removed)
187
+ removed++;
188
+ }
189
+ // 4. Launcher script
190
+ if (manifest.launcherScript?.exists) {
191
+ const result = await removeLauncherScript(manifest.launcherScript.path);
192
+ reportResult('Launcher script', result);
193
+ if (result.removed)
194
+ removed++;
195
+ }
196
+ // 5. Data directories
197
+ if (manifest.dataDir?.exists) {
198
+ const result = await removeDirectory(manifest.dataDir.path);
199
+ reportResult('Data directory', result);
200
+ if (result.removed)
201
+ removed++;
202
+ }
203
+ if (manifest.dataDirLegacy?.exists) {
204
+ const result = await removeDirectory(manifest.dataDirLegacy.path);
205
+ reportResult('Data directory (legacy)', result);
206
+ if (result.removed)
207
+ removed++;
208
+ }
209
+ // 6. Project directory (last — most destructive)
210
+ if (manifest.projectDir?.exists) {
211
+ const result = await removeDirectory(manifest.projectDir.path);
212
+ reportResult('Project directory', result);
213
+ if (result.removed)
214
+ removed++;
215
+ }
216
+ console.log(`\n Removed ${removed}/${total} artifacts for "${agentId}".\n`);
217
+ }
218
+ // ---------------------------------------------------------------------------
219
+ // Command registration
220
+ // ---------------------------------------------------------------------------
73
221
  export function registerUninstall(program) {
74
222
  program
75
223
  .command('uninstall')
76
224
  .argument('[dir]', 'Agent directory (defaults to cwd)')
77
- .option('--target <target>', 'Registration target: opencode, claude, codex, or all', 'opencode')
78
- .description('Remove agent MCP server entry from editor config')
225
+ .option('--target <target>', 'Registration target: opencode, claude, codex, or all')
226
+ .option('--full', 'Remove all agent artifacts (project, data, configs, permissions, launcher)')
227
+ .option('--dry-run', 'Show what would be removed without making changes')
228
+ .option('--force', 'Skip confirmation prompt')
229
+ .description('Remove agent MCP server entries (or all artifacts with --full)')
79
230
  .action(async (dir, opts) => {
80
231
  const resolvedDir = dir ? resolve(dir) : undefined;
81
232
  const ctx = detectAgent(resolvedDir);
@@ -83,12 +234,19 @@ export function registerUninstall(program) {
83
234
  p.log.error('Not in an agent project. Run from an agent directory or pass its path.');
84
235
  process.exit(1);
85
236
  }
86
- const target = (opts?.target ?? 'opencode');
237
+ // Default: 'all' when --full, 'opencode' otherwise
238
+ const defaultTarget = opts?.full ? 'all' : 'opencode';
239
+ const target = (opts?.target ?? defaultTarget);
87
240
  const validTargets = ['claude', 'codex', 'opencode', 'both', 'all'];
88
241
  if (!validTargets.includes(target)) {
89
242
  p.log.error(`Invalid target "${target}". Use: ${validTargets.join(', ')}`);
90
243
  process.exit(1);
91
244
  }
245
+ if (opts?.full) {
246
+ await fullUninstall(ctx.agentId, resolvedDir, target, !!opts.dryRun, !!opts.force);
247
+ return;
248
+ }
249
+ // Default: MCP-only removal (backward compatible)
92
250
  if (target === 'claude' || target === 'both' || target === 'all') {
93
251
  uninstallClaude(ctx.agentId);
94
252
  }
@@ -1 +1 @@
1
- {"version":3,"file":"uninstall.js","sourceRoot":"","sources":["../../src/commands/uninstall.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"uninstall.js","sourceRoot":"","sources":["../../src/commands/uninstall.ts"],"names":[],"mappings":"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"}
package/dist/main.js CHANGED
@@ -27,6 +27,7 @@ import { registerTelegram } from './commands/telegram.js';
27
27
  import { registerStaging } from './commands/staging.js';
28
28
  import { registerVault } from './commands/vault.js';
29
29
  import { registerYolo } from './commands/yolo.js';
30
+ import { registerDream } from './commands/dream.js';
30
31
  const require = createRequire(import.meta.url);
31
32
  const { version } = require('../package.json');
32
33
  const RESET = '\x1b[0m';
@@ -84,5 +85,6 @@ registerTelegram(program);
84
85
  registerStaging(program);
85
86
  registerVault(program);
86
87
  registerYolo(program);
88
+ registerDream(program);
87
89
  program.parse();
88
90
  //# sourceMappingURL=main.js.map
package/dist/main.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,63 @@
1
+ export interface ArtifactLocation {
2
+ path: string;
3
+ exists: boolean;
4
+ }
5
+ export interface ClaudeMdBlock {
6
+ path: string;
7
+ startLine: number;
8
+ endLine: number;
9
+ startMarker: string;
10
+ endMarker: string;
11
+ }
12
+ export interface McpServerEntry {
13
+ file: string;
14
+ key: string;
15
+ target: 'claude' | 'codex' | 'opencode';
16
+ }
17
+ export interface PermissionEntry {
18
+ file: string;
19
+ pattern: string;
20
+ matches: string[];
21
+ }
22
+ export interface ArtifactManifest {
23
+ agentId: string;
24
+ projectDir: ArtifactLocation | null;
25
+ dataDir: ArtifactLocation | null;
26
+ dataDirLegacy: ArtifactLocation | null;
27
+ claudeMdBlocks: ClaudeMdBlock[];
28
+ mcpServerEntries: McpServerEntry[];
29
+ permissionEntries: PermissionEntry[];
30
+ launcherScript: ArtifactLocation | null;
31
+ }
32
+ export interface RemovalResult {
33
+ removed: boolean;
34
+ path: string;
35
+ error?: string;
36
+ }
37
+ /**
38
+ * Detect all artifacts installed by a Soleri agent.
39
+ * Non-destructive — reads the filesystem but never modifies it.
40
+ */
41
+ export declare function detectArtifacts(agentId: string, agentDir?: string): ArtifactManifest;
42
+ /**
43
+ * Remove a directory recursively.
44
+ * Idempotent — returns { removed: false } if the directory doesn't exist.
45
+ */
46
+ export declare function removeDirectory(dirPath: string): Promise<RemovalResult>;
47
+ /**
48
+ * Remove a CLAUDE.md block by line range (1-based, inclusive).
49
+ * Collapses triple+ blank lines down to at most two consecutive newlines.
50
+ * Idempotent — returns { removed: false } if the file doesn't exist.
51
+ */
52
+ export declare function removeClaudeMdBlock(filePath: string, startLine: number, endLine: number): Promise<RemovalResult>;
53
+ /**
54
+ * Remove permission entries for an agent from settings.local.json.
55
+ * Filters out entries from permissions.allow that start with `mcp__<agentId>__`.
56
+ * Idempotent — returns { removed: false } if the file doesn't exist or has no matches.
57
+ */
58
+ export declare function removePermissionEntries(filePath: string, agentId: string): Promise<RemovalResult>;
59
+ /**
60
+ * Remove a launcher script (e.g. /usr/local/bin/<agentId>).
61
+ * Idempotent — returns { removed: false } if the file doesn't exist.
62
+ */
63
+ export declare function removeLauncherScript(scriptPath: string): Promise<RemovalResult>;
@@ -0,0 +1,276 @@
1
+ /**
2
+ * Detect all artifacts left by an installed Soleri agent.
3
+ * Read-only — never modifies the filesystem.
4
+ */
5
+ import { existsSync, readFileSync } from 'node:fs';
6
+ import { rm, readFile, writeFile, unlink } from 'node:fs/promises';
7
+ import { join } from 'node:path';
8
+ import { homedir } from 'node:os';
9
+ // ---------------------------------------------------------------------------
10
+ // Helpers
11
+ // ---------------------------------------------------------------------------
12
+ const SOLERI_HOME = process.env.SOLERI_HOME ?? join(homedir(), '.soleri');
13
+ function escapeRegExp(s) {
14
+ return s.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
15
+ }
16
+ function location(p) {
17
+ return { path: p, exists: existsSync(p) };
18
+ }
19
+ /**
20
+ * Read a file safely — returns null if the file doesn't exist or can't be read.
21
+ */
22
+ function safeRead(filePath) {
23
+ try {
24
+ if (!existsSync(filePath))
25
+ return null;
26
+ return readFileSync(filePath, 'utf-8');
27
+ }
28
+ catch {
29
+ return null;
30
+ }
31
+ }
32
+ /**
33
+ * Parse a JSON file safely, optionally stripping single-line comments first.
34
+ */
35
+ function safeParseJson(filePath, stripComments = false) {
36
+ const raw = safeRead(filePath);
37
+ if (raw === null)
38
+ return null;
39
+ try {
40
+ const content = stripComments ? raw.replace(/^\s*\/\/.*$/gm, '') : raw;
41
+ return JSON.parse(content);
42
+ }
43
+ catch {
44
+ return null;
45
+ }
46
+ }
47
+ // ---------------------------------------------------------------------------
48
+ // Detection: CLAUDE.md blocks
49
+ // ---------------------------------------------------------------------------
50
+ function detectClaudeMdBlocks(agentId) {
51
+ const home = homedir();
52
+ const paths = [join(home, 'CLAUDE.md'), join(home, '.claude', 'CLAUDE.md')];
53
+ const startMarker = `<!-- agent:${agentId}:mode -->`;
54
+ const endMarker = `<!-- /agent:${agentId}:mode -->`;
55
+ const blocks = [];
56
+ for (const filePath of paths) {
57
+ const content = safeRead(filePath);
58
+ if (content === null)
59
+ continue;
60
+ const lines = content.split('\n');
61
+ let startLine = null;
62
+ for (let i = 0; i < lines.length; i++) {
63
+ const trimmed = lines[i].trim();
64
+ if (trimmed === startMarker) {
65
+ startLine = i + 1; // 1-based
66
+ }
67
+ else if (trimmed === endMarker && startLine !== null) {
68
+ blocks.push({
69
+ path: filePath,
70
+ startLine,
71
+ endLine: i + 1, // 1-based
72
+ startMarker,
73
+ endMarker,
74
+ });
75
+ startLine = null;
76
+ }
77
+ }
78
+ }
79
+ return blocks;
80
+ }
81
+ // ---------------------------------------------------------------------------
82
+ // Detection: MCP server entries
83
+ // ---------------------------------------------------------------------------
84
+ function detectMcpServerEntries(agentId) {
85
+ const home = homedir();
86
+ const entries = [];
87
+ const escapedId = escapeRegExp(agentId);
88
+ // Claude: ~/.claude.json → mcpServers.<key>
89
+ const claudeConfigPath = join(home, '.claude.json');
90
+ const claudeConfig = safeParseJson(claudeConfigPath);
91
+ if (claudeConfig) {
92
+ const servers = claudeConfig.mcpServers;
93
+ if (servers && typeof servers === 'object') {
94
+ for (const key of Object.keys(servers)) {
95
+ if (key.includes(agentId)) {
96
+ entries.push({ file: claudeConfigPath, key, target: 'claude' });
97
+ }
98
+ }
99
+ }
100
+ }
101
+ // Codex: ~/.codex/config.toml → [mcp_servers.<agentId>]
102
+ const codexConfigPath = join(home, '.codex', 'config.toml');
103
+ const codexContent = safeRead(codexConfigPath);
104
+ if (codexContent !== null) {
105
+ const sectionRegex = new RegExp(`\\[mcp_servers\\.${escapedId}\\]`);
106
+ if (sectionRegex.test(codexContent)) {
107
+ entries.push({ file: codexConfigPath, key: agentId, target: 'codex' });
108
+ }
109
+ }
110
+ // OpenCode: ~/.config/opencode/opencode.json → mcp.<key>
111
+ const opencodeConfigPath = join(home, '.config', 'opencode', 'opencode.json');
112
+ const opencodeConfig = safeParseJson(opencodeConfigPath, true);
113
+ if (opencodeConfig) {
114
+ const servers = opencodeConfig.mcp;
115
+ if (servers && typeof servers === 'object') {
116
+ for (const key of Object.keys(servers)) {
117
+ if (key.includes(agentId)) {
118
+ entries.push({ file: opencodeConfigPath, key, target: 'opencode' });
119
+ }
120
+ }
121
+ }
122
+ }
123
+ return entries;
124
+ }
125
+ // ---------------------------------------------------------------------------
126
+ // Detection: Permission entries
127
+ // ---------------------------------------------------------------------------
128
+ function detectPermissionEntries(agentId) {
129
+ const home = homedir();
130
+ const settingsPath = join(home, '.claude', 'settings.local.json');
131
+ const config = safeParseJson(settingsPath);
132
+ if (!config)
133
+ return [];
134
+ const permissions = config.permissions;
135
+ if (!permissions || typeof permissions !== 'object')
136
+ return [];
137
+ const allowList = permissions.allow;
138
+ if (!Array.isArray(allowList))
139
+ return [];
140
+ const prefix = `mcp__${agentId}__`;
141
+ const matches = allowList.filter((entry) => typeof entry === 'string' && entry.startsWith(prefix));
142
+ if (matches.length === 0)
143
+ return [];
144
+ return [{ file: settingsPath, pattern: prefix, matches }];
145
+ }
146
+ // ---------------------------------------------------------------------------
147
+ // Main entry point
148
+ // ---------------------------------------------------------------------------
149
+ /**
150
+ * Detect all artifacts installed by a Soleri agent.
151
+ * Non-destructive — reads the filesystem but never modifies it.
152
+ */
153
+ export function detectArtifacts(agentId, agentDir) {
154
+ const home = homedir();
155
+ // Project directory
156
+ const projectPath = agentDir ?? join(home, 'projects', agentId);
157
+ const projectDir = location(projectPath);
158
+ // Data directory (current): ~/.soleri/<agentId>/
159
+ const dataDir = location(join(SOLERI_HOME, agentId));
160
+ // Data directory (legacy): ~/.<agentId>/
161
+ const dataDirLegacy = location(join(home, `.${agentId}`));
162
+ // Launcher script: /usr/local/bin/<agentId>
163
+ const launcherScript = location(join('/usr/local/bin', agentId));
164
+ return {
165
+ agentId,
166
+ projectDir,
167
+ dataDir,
168
+ dataDirLegacy,
169
+ claudeMdBlocks: detectClaudeMdBlocks(agentId),
170
+ mcpServerEntries: detectMcpServerEntries(agentId),
171
+ permissionEntries: detectPermissionEntries(agentId),
172
+ launcherScript,
173
+ };
174
+ }
175
+ // ---------------------------------------------------------------------------
176
+ // Removal handlers
177
+ // ---------------------------------------------------------------------------
178
+ /**
179
+ * Remove a directory recursively.
180
+ * Idempotent — returns { removed: false } if the directory doesn't exist.
181
+ */
182
+ export async function removeDirectory(dirPath) {
183
+ try {
184
+ if (!existsSync(dirPath)) {
185
+ return { removed: false, path: dirPath };
186
+ }
187
+ await rm(dirPath, { recursive: true, force: true });
188
+ return { removed: true, path: dirPath };
189
+ }
190
+ catch (err) {
191
+ return { removed: false, path: dirPath, error: err.message };
192
+ }
193
+ }
194
+ /**
195
+ * Remove a CLAUDE.md block by line range (1-based, inclusive).
196
+ * Collapses triple+ blank lines down to at most two consecutive newlines.
197
+ * Idempotent — returns { removed: false } if the file doesn't exist.
198
+ */
199
+ export async function removeClaudeMdBlock(filePath, startLine, endLine) {
200
+ try {
201
+ if (!existsSync(filePath)) {
202
+ return { removed: false, path: filePath };
203
+ }
204
+ const content = await readFile(filePath, 'utf-8');
205
+ const lines = content.split('\n');
206
+ // Remove lines from startLine to endLine (1-based, inclusive)
207
+ lines.splice(startLine - 1, endLine - startLine + 1);
208
+ // Collapse triple+ blank lines to max 2 consecutive newlines
209
+ const result = lines.join('\n').replace(/\n{3,}/g, '\n\n');
210
+ await writeFile(filePath, result, 'utf-8');
211
+ return { removed: true, path: filePath };
212
+ }
213
+ catch (err) {
214
+ return { removed: false, path: filePath, error: err.message };
215
+ }
216
+ }
217
+ /**
218
+ * Remove permission entries for an agent from settings.local.json.
219
+ * Filters out entries from permissions.allow that start with `mcp__<agentId>__`.
220
+ * Idempotent — returns { removed: false } if the file doesn't exist or has no matches.
221
+ */
222
+ export async function removePermissionEntries(filePath, agentId) {
223
+ try {
224
+ if (!existsSync(filePath)) {
225
+ return { removed: false, path: filePath };
226
+ }
227
+ const raw = await readFile(filePath, 'utf-8');
228
+ let config;
229
+ try {
230
+ config = JSON.parse(raw);
231
+ }
232
+ catch {
233
+ return { removed: false, path: filePath, error: 'Failed to parse JSON' };
234
+ }
235
+ const permissions = config.permissions;
236
+ if (!permissions || typeof permissions !== 'object') {
237
+ return { removed: false, path: filePath };
238
+ }
239
+ const allowList = permissions.allow;
240
+ if (!Array.isArray(allowList)) {
241
+ return { removed: false, path: filePath };
242
+ }
243
+ const prefix = `mcp__${agentId}__`;
244
+ const filtered = allowList.filter((entry) => !(typeof entry === 'string' && entry.startsWith(prefix)));
245
+ if (filtered.length === allowList.length) {
246
+ return { removed: false, path: filePath };
247
+ }
248
+ permissions.allow = filtered;
249
+ await writeFile(filePath, JSON.stringify(config, null, 2) + '\n', 'utf-8');
250
+ return { removed: true, path: filePath };
251
+ }
252
+ catch (err) {
253
+ return { removed: false, path: filePath, error: err.message };
254
+ }
255
+ }
256
+ /**
257
+ * Remove a launcher script (e.g. /usr/local/bin/<agentId>).
258
+ * Idempotent — returns { removed: false } if the file doesn't exist.
259
+ */
260
+ export async function removeLauncherScript(scriptPath) {
261
+ try {
262
+ if (!existsSync(scriptPath)) {
263
+ return { removed: false, path: scriptPath };
264
+ }
265
+ await unlink(scriptPath);
266
+ return { removed: true, path: scriptPath };
267
+ }
268
+ catch (err) {
269
+ const code = err.code;
270
+ const message = code === 'EACCES'
271
+ ? `Permission denied — you may need sudo to remove ${scriptPath}`
272
+ : err.message;
273
+ return { removed: false, path: scriptPath, error: message };
274
+ }
275
+ }
276
+ //# sourceMappingURL=agent-artifacts.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-artifacts.js","sourceRoot":"","sources":["../../src/utils/agent-artifacts.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@soleri/cli",
3
- "version": "9.10.0",
3
+ "version": "9.12.1",
4
4
  "description": "Developer CLI for creating and managing Soleri AI agents.",
5
5
  "keywords": [
6
6
  "agent",