@lovelybunch/cli 1.0.53 → 1.0.54

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/cli.js CHANGED
@@ -13,6 +13,7 @@ import { serveCommand } from './commands/serve.js';
13
13
  import { agentCommand } from './commands/agent.js';
14
14
  import { implementCommand } from './commands/implement.js';
15
15
  import { configCommand } from './commands/config.js';
16
+ import { schemaCommand } from './commands/schema.js';
16
17
  const __filename = fileURLToPath(import.meta.url);
17
18
  const __dirname = dirname(__filename);
18
19
  // Read version from package.json
@@ -39,6 +40,7 @@ program.addCommand(serveCommand);
39
40
  program.addCommand(agentCommand);
40
41
  program.addCommand(implementCommand);
41
42
  program.addCommand(configCommand);
43
+ program.addCommand(schemaCommand);
42
44
  // Global error handling
43
45
  program.hook('preAction', async (_thisCommand, actionCommand) => {
44
46
  const commandName = actionCommand.name();
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,IAAI,CAAC;AAClC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAC;AACrC,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAEtC,iCAAiC;AACjC,IAAI,OAAO,GAAG,OAAO,CAAC,CAAC,WAAW;AAClC,IAAI,CAAC;IACH,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,cAAc,CAAC,CAAC;IAC1D,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC,CAAC;IACnE,OAAO,GAAG,WAAW,CAAC,OAAO,CAAC;AAChC,CAAC;AAAC,OAAO,KAAK,EAAE,CAAC;IACf,OAAO,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;AACtE,CAAC;AAED,MAAM,OAAO,GAAG,IAAI,OAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,KAAK,CAAC;KACX,WAAW,CAAC,sCAAsC,CAAC;KACnD,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,eAAe;AACf,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;AAChC,OAAO,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;AACnC,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;AAChC,OAAO,CAAC,UAAU,CAAC,WAAW,CAAC,CAAC;AAChC,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;AACjC,OAAO,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;AACjC,OAAO,CAAC,UAAU,CAAC,gBAAgB,CAAC,CAAC;AACrC,OAAO,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;AAElC,wBAAwB;AACxB,OAAO,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,EAAE;IAC9D,MAAM,WAAW,GAAG,aAAa,CAAC,IAAI,EAAE,CAAC;IAEzC,6DAA6D;IAC7D,IAAI,WAAW,KAAK,MAAM,IAAI,WAAW,KAAK,QAAQ,EAAE,CAAC;QACvD,OAAO;IACT,CAAC;IAED,kDAAkD;IAClD,MAAM,aAAa,GAAG,MAAM,WAAW,CAAC,aAAa,EAAE,CAAC;IACxD,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC,CAAC;QACjF,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,uCAAuC,CAAC,CAAC,CAAC;QACrE,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC;AAEH,+BAA+B;AAC/B,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAE5B,mCAAmC;AACnC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;IAClC,OAAO,CAAC,UAAU,EAAE,CAAC;AACvB,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"implement.d.ts","sourceRoot":"","sources":["../../src/commands/implement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAyDpC,eAAO,MAAM,gBAAgB,SAkOzB,CAAC"}
1
+ {"version":3,"file":"implement.d.ts","sourceRoot":"","sources":["../../src/commands/implement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAiMpC,eAAO,MAAM,gBAAgB,SA8RzB,CAAC"}
@@ -1,16 +1,63 @@
1
1
  import { Command } from 'commander';
2
2
  import chalk from 'chalk';
3
+ import path from 'path';
3
4
  import { fileStorage } from '@lovelybunch/core';
4
5
  import fetch from 'node-fetch';
5
6
  import WebSocket from 'ws';
6
7
  // Build command function based on pipeline logic
8
+ function getAutomationFlag(agent) {
9
+ switch (agent) {
10
+ case 'claude':
11
+ return '--dangerously-skip-permissions';
12
+ case 'gemini':
13
+ return '--yolo';
14
+ case 'codex':
15
+ return '--dangerously-bypass-approvals-and-sandbox';
16
+ default:
17
+ return undefined;
18
+ }
19
+ }
20
+ function buildCodexInvocation(cfg, instruction, automationFlag) {
21
+ const nutBasePath = cfg.resourceBasePath ? path.resolve(cfg.resourceBasePath) : '.nut';
22
+ const selectedServers = cfg.selectedMcpServers || [];
23
+ const codexArgs = automationFlag ? [automationFlag, instruction] : [instruction];
24
+ const scriptStatements = [
25
+ "const fs=require('fs')",
26
+ "const path=require('path')",
27
+ "const {spawn}=require('child_process')",
28
+ `const nutBase=${JSON.stringify(nutBasePath)}`,
29
+ "const configPath=path.join(nutBase,'mcp','config.json')",
30
+ 'let mcpConfig={}',
31
+ "try{if(fs.existsSync(configPath)){mcpConfig=JSON.parse(fs.readFileSync(configPath,'utf8'));}}catch(err){console.warn('Failed to read MCP config:', err);}",
32
+ `const selected=new Set(${JSON.stringify(selectedServers)})`,
33
+ 'const available=mcpConfig.mcpServers||{}',
34
+ 'const filtered=selected.size>0?Object.fromEntries(Object.entries(available).filter(([name])=>selected.has(name))):available',
35
+ "fs.writeFileSync('.mcp.json', JSON.stringify({mcpServers:filtered}, null, 2))",
36
+ `const child=spawn('codex', ${JSON.stringify(codexArgs)}, {stdio:'inherit'})`,
37
+ "child.on('exit', code=>process.exit(code??0))",
38
+ "child.on('error', err=>{console.error('Failed to start Codex CLI:', err);process.exit(1);})",
39
+ ];
40
+ const script = scriptStatements.join(';');
41
+ return `node -e ${JSON.stringify(script)}`;
42
+ }
7
43
  function buildPipelineCommand(cfg) {
8
- const agentPaths = cfg.selectedAgentIds.map((id) => `.nut/agents/${id}`);
44
+ const basePath = cfg.resourceBasePath ? path.resolve(cfg.resourceBasePath) : undefined;
45
+ const resolveResourcePath = (relativePath) => {
46
+ const normalized = relativePath.replace(/^\.?\/+/, '');
47
+ if (basePath) {
48
+ return path.join(basePath, normalized);
49
+ }
50
+ return `.nut/${normalized}`;
51
+ };
52
+ const proposalPath = resolveResourcePath(`proposals/${cfg.proposalId}.md`);
53
+ const projectContextPath = resolveResourcePath('context/project.md');
54
+ const architectureContextPath = resolveResourcePath('context/architecture.md');
55
+ const agentPaths = cfg.selectedAgentIds.map((id) => resolveResourcePath(`agents/${id}`));
9
56
  const parts = [
10
- `Review .nut/proposals/${cfg.proposalId}.md and begin implementing.`,
57
+ `Review ${proposalPath} and begin implementing.`,
11
58
  `Update the assignment to yourself (Coconut AI), the implementation steps (updated as you progress), and set the status upon completion to Code Complete.`,
12
- `Use .nut/context/project.md and .nut/context/architecture.md for reference and make any logical updates to those files upon completion of the proposal too.`,
13
- `Lastly, please add notable comments to the proposal (.nut/proposals/${cfg.proposalId}.md) from your chain-of-thought upon completion, particularly for ideas for future suggestions and/or improvements related to the proposal or wider project.`,
59
+ `Use ${projectContextPath} and ${architectureContextPath} for reference and make any logical updates to those files upon completion of the proposal too.`,
60
+ `Lastly, please add notable comments to the proposal (${proposalPath}) from your chain-of-thought upon completion, particularly for ideas for future suggestions and/or improvements related to the proposal or wider project.`,
14
61
  ];
15
62
  if (agentPaths.length) {
16
63
  parts.push(`Please also use these agents: ${agentPaths.join(', ')}`);
@@ -19,17 +66,98 @@ function buildPipelineCommand(cfg) {
19
66
  parts.push(`Additional instruction: ${cfg.customInstruction.trim()}`);
20
67
  }
21
68
  const instruction = parts.join(' ');
22
- const flags = [cfg.automationEnabled ? '--dangerously-skip-permissions' : '']
23
- .filter(Boolean)
24
- .join(' ');
25
- // Build a simpler command for terminal session
26
- const baseCommand = cfg.cliAgent === 'claude' ? 'claude' :
27
- cfg.cliAgent === 'gemini' ? 'gemini' : 'codex';
28
- const args = [
29
- `"${instruction}"`,
30
- ...(flags ? [flags] : [])
31
- ];
32
- return `${baseCommand} ${args.join(' ')}`;
69
+ const automationFlag = cfg.automationEnabled ? getAutomationFlag(cfg.cliAgent) : undefined;
70
+ if (cfg.cliAgent === 'codex') {
71
+ return buildCodexInvocation(cfg, instruction, automationFlag);
72
+ }
73
+ const baseCommand = cfg.cliAgent === 'claude' ? 'claude' : 'gemini';
74
+ const quotedInstruction = shellQuote(instruction);
75
+ const partsForShell = [baseCommand];
76
+ if (cfg.cliAgent === 'gemini') {
77
+ if (automationFlag)
78
+ partsForShell.push(automationFlag);
79
+ partsForShell.push('-i');
80
+ partsForShell.push(quotedInstruction);
81
+ }
82
+ else {
83
+ partsForShell.push(quotedInstruction);
84
+ if (automationFlag)
85
+ partsForShell.push(automationFlag);
86
+ }
87
+ return partsForShell.join(' ');
88
+ }
89
+ function buildDefaultBranchName(proposalId) {
90
+ const idPart = proposalId.startsWith('cp-') ? proposalId.slice(3) : proposalId;
91
+ return `feat/cp-${idPart}`;
92
+ }
93
+ function sanitizeSuffixInput(raw) {
94
+ if (!raw)
95
+ return undefined;
96
+ const trimmed = raw.trim();
97
+ if (!trimmed)
98
+ return undefined;
99
+ const cleaned = trimmed.replace(/[^A-Za-z0-9_-]+/g, '-').replace(/^-+|-+$/g, '');
100
+ return cleaned || undefined;
101
+ }
102
+ function validateBranchName(raw) {
103
+ const name = raw.trim();
104
+ if (!name) {
105
+ throw new Error('Worktree branch name cannot be empty');
106
+ }
107
+ if (name.length > 120) {
108
+ throw new Error('Worktree branch name must be 120 characters or fewer');
109
+ }
110
+ if (!/^[A-Za-z0-9/_\-.]+$/.test(name)) {
111
+ throw new Error('Worktree branch name may only include letters, numbers, \'/_\-. characters');
112
+ }
113
+ return name;
114
+ }
115
+ function generateBranchSuffix() {
116
+ const timestamp = Date.now().toString(36).slice(-3);
117
+ const random = Math.random().toString(36).slice(2, 4);
118
+ return `${timestamp}${random}`;
119
+ }
120
+ async function loadExistingBranches(apiBase) {
121
+ const existing = new Set();
122
+ try {
123
+ const worktreesResponse = await fetch(`${apiBase}/api/v1/git/worktrees`);
124
+ if (worktreesResponse.ok) {
125
+ const wtJson = (await worktreesResponse.json());
126
+ if (wtJson?.success && Array.isArray(wtJson.data)) {
127
+ for (const wt of wtJson.data) {
128
+ if (typeof wt?.branch === 'string') {
129
+ existing.add(wt.branch);
130
+ }
131
+ }
132
+ }
133
+ }
134
+ }
135
+ catch {
136
+ // Ignore and fall back to attempting creation directly
137
+ }
138
+ try {
139
+ const branchesResponse = await fetch(`${apiBase}/api/v1/git/branches`);
140
+ if (branchesResponse.ok) {
141
+ const branchesJson = (await branchesResponse.json());
142
+ if (branchesJson?.success && Array.isArray(branchesJson.data)) {
143
+ for (const branch of branchesJson.data) {
144
+ if (typeof branch?.name === 'string') {
145
+ existing.add(branch.name);
146
+ }
147
+ }
148
+ }
149
+ }
150
+ }
151
+ catch {
152
+ // Ignore failures; we'll rely on git to surface conflicts if needed
153
+ }
154
+ return existing;
155
+ }
156
+ function shellQuote(value) {
157
+ if (value === '') {
158
+ return "''";
159
+ }
160
+ return `'${value.replace(/'/g, "'\\''")}'`;
33
161
  }
34
162
  export const implementCommand = new Command('code')
35
163
  .description('Start implementing a proposal using an AI assistant in terminal mode')
@@ -37,8 +165,11 @@ export const implementCommand = new Command('code')
37
165
  .option('--model <model>', 'AI model to use for implementation', 'claude')
38
166
  .option('--api <url>', 'API base URL', 'http://localhost:3000')
39
167
  .option('--autonomous', 'Dangerously skip permissions (if available)')
168
+ .option('--auto', 'Alias for --autonomous')
40
169
  .option('--custom-instructions <instructions>', 'Custom instructions for the agent')
41
170
  .option('--new-worktree', 'Create a new git worktree for this session')
171
+ .option('--worktree-suffix <suffix>', 'Append a custom suffix to the generated worktree branch')
172
+ .option('--worktree-branch <name>', 'Override the generated worktree branch name entirely')
42
173
  .action(async (proposalId, options) => {
43
174
  try {
44
175
  // Validate proposal exists
@@ -66,11 +197,41 @@ export const implementCommand = new Command('code')
66
197
  console.error(chalk.yellow(`Or specify a different API URL with: --api <url>`));
67
198
  process.exit(1);
68
199
  }
200
+ if (options.worktreeSuffix && options.worktreeBranch) {
201
+ console.error(chalk.red('❌ Cannot use both --worktree-suffix and --worktree-branch at the same time.'));
202
+ process.exit(1);
203
+ }
69
204
  // Create worktree if requested
205
+ let worktreePath;
70
206
  if (options.newWorktree) {
207
+ const baseBranchName = buildDefaultBranchName(proposalId);
208
+ const customSuffix = sanitizeSuffixInput(options.worktreeSuffix);
209
+ const requestedBranch = options.worktreeBranch
210
+ ? validateBranchName(options.worktreeBranch)
211
+ : validateBranchName(customSuffix ? `${baseBranchName}-${customSuffix}` : baseBranchName);
212
+ let branchName = requestedBranch;
213
+ const existingBranches = await loadExistingBranches(options.api);
214
+ if (existingBranches.has(branchName)) {
215
+ const base = requestedBranch;
216
+ let attempt = 0;
217
+ let uniqueFound = false;
218
+ while (attempt < 10) {
219
+ attempt += 1;
220
+ const candidate = validateBranchName(`${base}-${generateBranchSuffix()}`);
221
+ if (!existingBranches.has(candidate)) {
222
+ branchName = candidate;
223
+ uniqueFound = true;
224
+ break;
225
+ }
226
+ }
227
+ if (!uniqueFound) {
228
+ console.error(chalk.red('❌ Unable to find a unique worktree branch name. Please try specifying --worktree-branch manually.'));
229
+ process.exit(1);
230
+ }
231
+ console.log(chalk.yellow(`⚠️ Worktree branch '${base}' already exists. Using '${branchName}' instead.`));
232
+ }
71
233
  console.log(chalk.blue('🌿 Creating new worktree...'));
72
234
  try {
73
- const branchName = `feat/cp-${proposalId.startsWith('cp-') ? proposalId.slice(3) : proposalId}`;
74
235
  const worktreeResponse = await fetch(`${options.api}/api/v1/git/worktrees`, {
75
236
  method: 'POST',
76
237
  headers: { 'Content-Type': 'application/json' },
@@ -83,6 +244,14 @@ export const implementCommand = new Command('code')
83
244
  }
84
245
  else {
85
246
  console.log(chalk.green(`✅ Created worktree with branch: ${branchName}`));
247
+ const added = worktreeResult.data?.added;
248
+ if (added?.path && typeof added.path === 'string') {
249
+ worktreePath = added.path;
250
+ console.log(chalk.gray(`📂 Worktree path: ${worktreePath}`));
251
+ }
252
+ else {
253
+ console.log(chalk.yellow('⚠️ Worktree path missing from response; falling back to main repository.'));
254
+ }
86
255
  }
87
256
  }
88
257
  catch (error) {
@@ -92,11 +261,13 @@ export const implementCommand = new Command('code')
92
261
  }
93
262
  // Create terminal session
94
263
  console.log(chalk.blue('🖥️ Creating terminal session...'));
264
+ const startupCommand = worktreePath ? `cd ${shellQuote(worktreePath)}` : undefined;
95
265
  const sessionResponse = await fetch(`${options.api}/api/v1/terminal/${proposalId}/create`, {
96
266
  method: 'POST',
97
267
  headers: { 'Content-Type': 'application/json' },
98
268
  body: JSON.stringify({
99
269
  enableLogging: true,
270
+ ...(startupCommand ? { startupCommand } : {}),
100
271
  }),
101
272
  });
102
273
  if (!sessionResponse.ok) {
@@ -147,6 +318,14 @@ export const implementCommand = new Command('code')
147
318
  console.log(chalk.yellow('⚠️ Could not load agents, continuing without them'));
148
319
  }
149
320
  // Build the command using pipeline logic (similar to frontend)
321
+ const resourceBasePath = options.newWorktree
322
+ ? (() => {
323
+ const basePath = typeof fileStorage.getBasePath === 'function'
324
+ ? fileStorage.getBasePath()
325
+ : '.nut';
326
+ return path.isAbsolute(basePath) ? basePath : path.resolve(basePath);
327
+ })()
328
+ : undefined;
150
329
  const command = buildPipelineCommand({
151
330
  proposalId,
152
331
  cliAgent: options.model,
@@ -154,8 +333,9 @@ export const implementCommand = new Command('code')
154
333
  selectedMcpServers,
155
334
  agents,
156
335
  selectedAgentIds,
157
- automationEnabled: options.autonomous || false,
336
+ automationEnabled: Boolean(options.autonomous || options.auto),
158
337
  customInstruction: options.customInstructions,
338
+ resourceBasePath,
159
339
  });
160
340
  console.log(chalk.blue('🚀 Starting coding session...'));
161
341
  console.log(chalk.gray(`💡 Running: ${command}`));
@@ -1 +1 @@
1
- {"version":3,"file":"implement.js","sourceRoot":"","sources":["../../src/commands/implement.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"implement.js","sourceRoot":"","sources":["../../src/commands/implement.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ import { Command } from 'commander';
2
+ export declare const schemaCommand: Command;
3
+ //# sourceMappingURL=schema.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.d.ts","sourceRoot":"","sources":["../../src/commands/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,eAAO,MAAM,aAAa,SAC6B,CAAC"}
@@ -0,0 +1,33 @@
1
+ import { Command } from 'commander';
2
+ import ora from 'ora';
3
+ import chalk from 'chalk';
4
+ import { fileStorage } from '@lovelybunch/core';
5
+ export const schemaCommand = new Command('schema')
6
+ .description('Manage Coconut schema reference files');
7
+ schemaCommand
8
+ .command('refresh')
9
+ .description('Regenerate the reference schema files in .nut/.schema')
10
+ .action(async () => {
11
+ const spinner = ora('Refreshing schema reference files...').start();
12
+ try {
13
+ const maybeReset = fileStorage.resetSchemas;
14
+ if (typeof maybeReset !== 'function') {
15
+ throw new Error('Underlying storage adapter does not support schema refresh');
16
+ }
17
+ await maybeReset.call(fileStorage);
18
+ spinner.succeed('Schema reference files refreshed');
19
+ console.log('\n' + chalk.cyan('Updated schema files:'));
20
+ console.log(' • .nut/.schema/proposal.schema.md');
21
+ console.log(' • .nut/.schema/project.schema.md');
22
+ console.log(' • .nut/.schema/architecture.schema.md');
23
+ console.log(' • .nut/.schema/agent.schema.md');
24
+ console.log(' • .nut/.schema/knowledge.schema.md');
25
+ console.log('\nUse these as canonical references when updating proposals, project context, or knowledge.');
26
+ }
27
+ catch (error) {
28
+ spinner.fail('Failed to refresh schema reference files');
29
+ console.error(chalk.red('Error:'), error);
30
+ process.exit(1);
31
+ }
32
+ });
33
+ //# sourceMappingURL=schema.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../src/commands/schema.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAEhD,MAAM,CAAC,MAAM,aAAa,GAAG,IAAI,OAAO,CAAC,QAAQ,CAAC;KAC/C,WAAW,CAAC,uCAAuC,CAAC,CAAC;AAExD,aAAa;KACV,OAAO,CAAC,SAAS,CAAC;KAClB,WAAW,CAAC,uDAAuD,CAAC;KACpE,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,MAAM,OAAO,GAAG,GAAG,CAAC,sCAAsC,CAAC,CAAC,KAAK,EAAE,CAAC;IAEpE,IAAI,CAAC;QACH,MAAM,UAAU,GAAI,WAAiE,CAAC,YAAY,CAAC;QACnG,IAAI,OAAO,UAAU,KAAK,UAAU,EAAE,CAAC;YACrC,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;QAChF,CAAC;QACD,MAAM,UAAU,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;QACnC,OAAO,CAAC,OAAO,CAAC,kCAAkC,CAAC,CAAC;QACpD,OAAO,CAAC,GAAG,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC;QACxD,OAAO,CAAC,GAAG,CAAC,qCAAqC,CAAC,CAAC;QACnD,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC;QAClD,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;QACvD,OAAO,CAAC,GAAG,CAAC,kCAAkC,CAAC,CAAC;QAChD,OAAO,CAAC,GAAG,CAAC,sCAAsC,CAAC,CAAC;QACpD,OAAO,CAAC,GAAG,CAAC,6FAA6F,CAAC,CAAC;IAC7G,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO,CAAC,IAAI,CAAC,0CAA0C,CAAC,CAAC;QACzD,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,CAAC;QAC1C,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lovelybunch/cli",
3
- "version": "1.0.53",
3
+ "version": "1.0.54",
4
4
  "description": "Command-line interface for Coconut",
5
5
  "type": "module",
6
6
  "main": "./dist/cli.js",
@@ -35,9 +35,9 @@
35
35
  "test": "vitest run"
36
36
  },
37
37
  "dependencies": {
38
- "@lovelybunch/api": "^1.0.53",
39
- "@lovelybunch/core": "^1.0.53",
40
- "@lovelybunch/types": "^1.0.53",
38
+ "@lovelybunch/api": "^1.0.54",
39
+ "@lovelybunch/core": "^1.0.54",
40
+ "@lovelybunch/types": "^1.0.54",
41
41
  "chalk": "^5.3.0",
42
42
  "commander": "^11.1.0",
43
43
  "fuse.js": "^7.0.0",