@lovelybunch/cli 1.0.78-alpha.1 → 1.0.78-alpha.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/cli.js CHANGED
@@ -23,6 +23,7 @@ import { taskCommand } from './commands/task.js';
23
23
  import { notifyCommand } from './commands/notify.js';
24
24
  import { mailCommand } from './commands/mail.js';
25
25
  import { connectCommand } from './commands/connect.js';
26
+ import { coconutCommand } from './commands/coconut.js';
26
27
  const __filename = fileURLToPath(import.meta.url);
27
28
  const __dirname = dirname(__filename);
28
29
  // Read version from package.json
@@ -56,6 +57,7 @@ program.addCommand(eventsCommand);
56
57
  program.addCommand(notifyCommand);
57
58
  program.addCommand(mailCommand);
58
59
  program.addCommand(connectCommand);
60
+ program.addCommand(coconutCommand);
59
61
  // Deprecated aliases for backward compatibility
60
62
  // These will show a deprecation warning and delegate to the new task command
61
63
  const deprecatedProposeCommand = proposeCommand.hook('preAction', () => {
@@ -72,10 +74,16 @@ const deprecatedShowCommand = showCommand.hook('preAction', () => {
72
74
  program.addCommand(deprecatedShowCommand);
73
75
  // Global error handling
74
76
  program.hook('preAction', async (_thisCommand, actionCommand) => {
75
- const commandName = actionCommand.name();
77
+ const commandPath = actionCommand.name().split(' ');
78
+ let node = actionCommand.parent;
79
+ while (node && node.parent) {
80
+ commandPath.unshift(node.name());
81
+ node = node.parent;
82
+ }
83
+ const topLevelCommandName = commandPath[0] ?? actionCommand.name();
76
84
  // Skip initialization check for 'init', 'config', 'auth', and 'serve' commands
77
- const skipInitCheck = ['init', 'config', 'auth', 'serve', 'notify', 'connect'];
78
- if (skipInitCheck.includes(commandName)) {
85
+ const skipInitCheck = ['init', 'config', 'auth', 'serve', 'notify', 'connect', 'coconut'];
86
+ if (skipInitCheck.includes(topLevelCommandName)) {
79
87
  return;
80
88
  }
81
89
  // Check if GAIT is initialized for other commands
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import { Command } from 'commander';
2
+ interface CreateCoconutCommandOptions {
3
+ deprecatedUnderConnect?: boolean;
4
+ }
5
+ export declare function createCoconutCommand(options?: CreateCoconutCommandOptions): Command;
6
+ export declare const coconutCommand: Command;
7
+ export {};
8
+ //# sourceMappingURL=coconut.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coconut.d.ts","sourceRoot":"","sources":["../../src/commands/coconut.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAwCpC,UAAU,2BAA2B;IACnC,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC;AAslBD,wBAAgB,oBAAoB,CAAC,OAAO,GAAE,2BAAgC,GAAG,OAAO,CAsGvF;AAED,eAAO,MAAM,cAAc,SAAyB,CAAC"}
@@ -0,0 +1,627 @@
1
+ import { Command } from 'commander';
2
+ import chalk from 'chalk';
3
+ import ora from 'ora';
4
+ import { readFileSync } from 'node:fs';
5
+ import { resolveControlPlaneAuth } from '../lib/control-plane.js';
6
+ const MCP_PROTOCOL_VERSION = '2025-11-25';
7
+ class CliExitError extends Error {
8
+ exitCode;
9
+ label;
10
+ detail;
11
+ constructor(message, exitCode = 1, label = 'Error', detail) {
12
+ super(message);
13
+ this.exitCode = exitCode;
14
+ this.label = label;
15
+ this.detail = detail;
16
+ }
17
+ }
18
+ function collect(value, previous = []) {
19
+ return [...previous, value];
20
+ }
21
+ function getMergedOpts(cmd) {
22
+ const chain = [];
23
+ let node = cmd;
24
+ while (node) {
25
+ chain.unshift(node);
26
+ node = node.parent;
27
+ }
28
+ const merged = {};
29
+ for (const item of chain) {
30
+ for (const [key, value] of Object.entries(item.opts())) {
31
+ if (value !== undefined)
32
+ merged[key] = value;
33
+ }
34
+ }
35
+ return merged;
36
+ }
37
+ function readJsonObject(value, flagName) {
38
+ if (!value)
39
+ return {};
40
+ let raw = value;
41
+ if (raw.startsWith('@')) {
42
+ const filePath = raw.slice(1);
43
+ try {
44
+ raw = readFileSync(filePath, 'utf-8');
45
+ }
46
+ catch (error) {
47
+ throw new CliExitError(`failed to read ${flagName} file "${filePath}": ${error.message}`);
48
+ }
49
+ }
50
+ let parsed;
51
+ try {
52
+ parsed = JSON.parse(raw);
53
+ }
54
+ catch {
55
+ throw new CliExitError(`invalid JSON for ${flagName}`);
56
+ }
57
+ if (parsed === null || typeof parsed !== 'object' || Array.isArray(parsed)) {
58
+ throw new CliExitError(`invalid JSON for ${flagName} (must be a JSON object)`);
59
+ }
60
+ return parsed;
61
+ }
62
+ function parseArgValue(value) {
63
+ try {
64
+ return JSON.parse(value);
65
+ }
66
+ catch {
67
+ return value;
68
+ }
69
+ }
70
+ function parseArgAssignments(assignments) {
71
+ const parsed = {};
72
+ for (const assignment of assignments ?? []) {
73
+ const separator = assignment.indexOf('=');
74
+ if (separator <= 0) {
75
+ throw new CliExitError(`invalid --arg "${assignment}" (expected key=value)`);
76
+ }
77
+ parsed[assignment.slice(0, separator)] = parseArgValue(assignment.slice(separator + 1));
78
+ }
79
+ return parsed;
80
+ }
81
+ function getAuth(cmd) {
82
+ const opts = getMergedOpts(cmd);
83
+ return resolveControlPlaneAuth(opts);
84
+ }
85
+ async function requestMcp(auth, body) {
86
+ let res;
87
+ try {
88
+ res = await fetch(`${auth.host}/mcp`, {
89
+ method: 'POST',
90
+ headers: {
91
+ 'Content-Type': 'application/json',
92
+ 'MCP-Protocol-Version': MCP_PROTOCOL_VERSION,
93
+ 'x-callback-token': auth.token,
94
+ },
95
+ body: JSON.stringify(body),
96
+ });
97
+ }
98
+ catch (error) {
99
+ throw new CliExitError(`transport error: ${error.message}`, 1, 'Transport error');
100
+ }
101
+ if (res.status === 401) {
102
+ const detail = await res.text().catch(() => '');
103
+ throw new CliExitError('auth error: bad or revoked callback token', 3, 'Auth error', detail);
104
+ }
105
+ if (res.status === 503) {
106
+ const detail = await res.text().catch(() => '');
107
+ throw new CliExitError('server unavailable: MCP not configured on control plane', 4, 'Server unavailable', detail);
108
+ }
109
+ if (!res.ok) {
110
+ const detail = await res.text().catch(() => '');
111
+ throw new CliExitError(`transport error (HTTP ${res.status})`, 1, `Transport error (${res.status})`, detail);
112
+ }
113
+ try {
114
+ return await res.json();
115
+ }
116
+ catch (error) {
117
+ throw new CliExitError(`transport error: malformed JSON response: ${error.message}`, 1, 'Malformed response');
118
+ }
119
+ }
120
+ function callTool(auth, toolName, args) {
121
+ return requestMcp(auth, {
122
+ jsonrpc: '2.0',
123
+ id: 1,
124
+ method: 'tools/call',
125
+ params: { name: toolName, arguments: args },
126
+ });
127
+ }
128
+ function listTools(auth) {
129
+ return requestMcp(auth, {
130
+ jsonrpc: '2.0',
131
+ id: 1,
132
+ method: 'tools/list',
133
+ });
134
+ }
135
+ function fail(error, spinner) {
136
+ if (error instanceof CliExitError) {
137
+ if (spinner)
138
+ spinner.fail(error.label);
139
+ console.error(chalk.red('Error:'), error.message);
140
+ if (error.detail)
141
+ console.error(chalk.gray(error.detail));
142
+ process.exit(error.exitCode);
143
+ }
144
+ const message = error instanceof Error ? error.message : String(error);
145
+ if (spinner)
146
+ spinner.fail('Request failed');
147
+ console.error(chalk.red('Error:'), message);
148
+ process.exit(1);
149
+ }
150
+ function handleMcpError(envelope) {
151
+ if (!envelope.error)
152
+ return;
153
+ const { code, message, data } = envelope.error;
154
+ const codeStr = typeof code === 'number' ? code : 'unknown';
155
+ console.error(chalk.red(`MCP error ${codeStr}:`), message || '(no message)');
156
+ if (data !== undefined) {
157
+ console.error(chalk.gray(typeof data === 'string' ? data : JSON.stringify(data, null, 2)));
158
+ }
159
+ if (typeof code === 'number' && code >= -32768 && code <= -32000) {
160
+ process.exit(2);
161
+ }
162
+ process.exit(1);
163
+ }
164
+ function printEnvelope(envelope, rawOutput) {
165
+ handleMcpError(envelope);
166
+ if (rawOutput) {
167
+ console.log(JSON.stringify(envelope));
168
+ return;
169
+ }
170
+ const result = envelope.result;
171
+ if (!result) {
172
+ console.log(JSON.stringify(envelope, null, 2));
173
+ return;
174
+ }
175
+ if (result.structuredContent !== undefined) {
176
+ console.log(JSON.stringify(result.structuredContent, null, 2));
177
+ return;
178
+ }
179
+ if (Array.isArray(result.content)) {
180
+ const text = result.content
181
+ .filter((content) => content && typeof content.text === 'string')
182
+ .map((content) => content.text)
183
+ .join('\n');
184
+ if (text) {
185
+ console.log(text);
186
+ return;
187
+ }
188
+ }
189
+ console.log(JSON.stringify(result, null, 2));
190
+ }
191
+ function extractStructuredList(value) {
192
+ if (Array.isArray(value))
193
+ return value.filter(isJsonObject);
194
+ if (!isJsonObject(value))
195
+ return [];
196
+ for (const key of ['coconuts', 'items', 'data', 'results']) {
197
+ const candidate = value[key];
198
+ if (Array.isArray(candidate))
199
+ return candidate.filter(isJsonObject);
200
+ }
201
+ return [];
202
+ }
203
+ function isJsonObject(value) {
204
+ return value !== null && typeof value === 'object' && !Array.isArray(value);
205
+ }
206
+ function getStringField(value, keys) {
207
+ for (const key of keys) {
208
+ const field = value[key];
209
+ if (typeof field === 'string' && field.trim())
210
+ return field.trim();
211
+ }
212
+ return undefined;
213
+ }
214
+ async function resolveCoconutIdByName(auth, name) {
215
+ const envelope = await callTool(auth, 'coconuts_list', {});
216
+ handleMcpError(envelope);
217
+ const candidates = extractStructuredList(envelope.result?.structuredContent);
218
+ const normalizedName = name.trim().toLowerCase();
219
+ const matches = candidates.filter((candidate) => {
220
+ const candidateName = getStringField(candidate, ['name', 'slug', 'displayName', 'title']);
221
+ return candidateName?.toLowerCase() === normalizedName;
222
+ });
223
+ if (matches.length === 0) {
224
+ throw new CliExitError(`no coconut found with name "${name}"`);
225
+ }
226
+ if (matches.length > 1) {
227
+ throw new CliExitError(`multiple coconuts matched name "${name}"; use --id instead`);
228
+ }
229
+ const id = getStringField(matches[0], ['id', 'coconutId', 'instanceId']);
230
+ if (!id) {
231
+ throw new CliExitError(`coconut "${name}" did not include an id in coconuts_list`);
232
+ }
233
+ return id;
234
+ }
235
+ async function addCoconutTarget(auth, args, options) {
236
+ if (options.id && options.name) {
237
+ throw new CliExitError('use either --id or --name, not both');
238
+ }
239
+ if (options.id) {
240
+ return { ...args, coconutId: options.id };
241
+ }
242
+ if (options.name) {
243
+ return { ...args, coconutId: await resolveCoconutIdByName(auth, options.name) };
244
+ }
245
+ return args;
246
+ }
247
+ function rawOutput(cmd) {
248
+ const opts = getMergedOpts(cmd);
249
+ return Boolean(opts.raw || opts.json);
250
+ }
251
+ function addTargetOptions(command) {
252
+ return command
253
+ .option('--id <coconutId>', 'Target coconut id')
254
+ .option('--name <name>', 'Target coconut name from `nut coconut list`');
255
+ }
256
+ function getTargetOptions(cmd, options = {}) {
257
+ const merged = getMergedOpts(cmd);
258
+ return {
259
+ id: options.id ?? (typeof merged.id === 'string' ? merged.id : undefined),
260
+ name: options.name ?? (typeof merged.name === 'string' ? merged.name : undefined),
261
+ };
262
+ }
263
+ async function runTool(cmd, toolName, args, options = {}) {
264
+ const auth = getAuth(cmd);
265
+ const spinner = ora(`Calling ${toolName}...`).start();
266
+ try {
267
+ const finalArgs = await addCoconutTarget(auth, args, getTargetOptions(cmd, options));
268
+ const envelope = await callTool(auth, toolName, finalArgs);
269
+ spinner.stop();
270
+ printEnvelope(envelope, rawOutput(cmd));
271
+ }
272
+ catch (error) {
273
+ fail(error, spinner);
274
+ }
275
+ }
276
+ function addTaskCommands(parent) {
277
+ const task = new Command('task')
278
+ .alias('tasks')
279
+ .description('Call task tools on a target coconut');
280
+ addTargetOptions(task);
281
+ addTargetOptions(task.command('list'))
282
+ .description('List tasks on a target coconut')
283
+ .option('-s, --status <status>', 'Filter by task status')
284
+ .option('-p, --priority <priority>', 'Filter by priority')
285
+ .option('-a, --author <author>', 'Filter by author')
286
+ .option('-q, --search <query>', 'Search query')
287
+ .option('-t, --tags <tags>', 'Comma-separated tags')
288
+ .action(async (options, cmd) => {
289
+ const args = {};
290
+ if (options.status)
291
+ args.status = options.status;
292
+ if (options.priority)
293
+ args.priority = options.priority;
294
+ if (options.author)
295
+ args.author = options.author;
296
+ if (options.search)
297
+ args.q = options.search;
298
+ if (options.tags)
299
+ args.tags = options.tags;
300
+ await runTool(cmd, 'tasks_list', args, options);
301
+ });
302
+ addTargetOptions(task.command('get'))
303
+ .alias('show')
304
+ .description('Get one task from a target coconut')
305
+ .argument('<taskId>', 'Task id')
306
+ .action(async (taskId, options, cmd) => {
307
+ await runTool(cmd, 'tasks_get', { taskId }, options);
308
+ });
309
+ addTargetOptions(task.command('create'))
310
+ .description('Create a task on a target coconut')
311
+ .argument('<title>', 'Task title')
312
+ .option('-c, --content <content>', 'Task body content; defaults to title')
313
+ .option('-p, --priority <priority>', 'Task priority')
314
+ .option('-t, --tags <tags>', 'Comma-separated tags')
315
+ .action(async (title, options, cmd) => {
316
+ const metadata = {};
317
+ if (options.priority)
318
+ metadata.priority = options.priority;
319
+ if (options.tags)
320
+ metadata.tags = options.tags.split(',').map((tag) => tag.trim()).filter(Boolean);
321
+ const args = {
322
+ title,
323
+ content: options.content ?? title,
324
+ };
325
+ if (Object.keys(metadata).length > 0)
326
+ args.metadata = metadata;
327
+ await runTool(cmd, 'tasks_create', args, options);
328
+ });
329
+ addTargetOptions(task.command('update'))
330
+ .description('Update a task on a target coconut')
331
+ .argument('<taskId>', 'Task id')
332
+ .option('--title <title>', 'New task title')
333
+ .option('-c, --content <content>', 'New task body content')
334
+ .option('-s, --status <status>', 'New task status')
335
+ .option('-p, --priority <priority>', 'New task priority')
336
+ .option('-t, --tags <tags>', 'Comma-separated replacement tags')
337
+ .action(async (taskId, options, cmd) => {
338
+ const args = { taskId };
339
+ if (options.title)
340
+ args.title = options.title;
341
+ if (options.content)
342
+ args.content = options.content;
343
+ if (options.status)
344
+ args.status = options.status;
345
+ if (options.priority)
346
+ args.priority = options.priority;
347
+ if (options.tags)
348
+ args.tags = options.tags.split(',').map((tag) => tag.trim()).filter(Boolean);
349
+ await runTool(cmd, 'task_update', args, options);
350
+ });
351
+ parent.addCommand(task);
352
+ }
353
+ function addKnowledgeCommands(parent) {
354
+ const knowledge = new Command('knowledge')
355
+ .alias('know')
356
+ .description('Call knowledge tools on a target coconut');
357
+ addTargetOptions(knowledge);
358
+ addTargetOptions(knowledge.command('search'))
359
+ .description('Search knowledge documents on a target coconut')
360
+ .argument('<query>', 'Search query')
361
+ .option('-l, --limit <number>', 'Maximum results')
362
+ .action(async (query, options, cmd) => {
363
+ const args = { q: query };
364
+ if (options.limit)
365
+ args.limit = Number.parseInt(options.limit, 10);
366
+ await runTool(cmd, 'knowledge_search', args, options);
367
+ });
368
+ addTargetOptions(knowledge.command('get'))
369
+ .description('Get a knowledge document from a target coconut')
370
+ .argument('<filename>', 'Document filename')
371
+ .action(async (filename, options, cmd) => {
372
+ await runTool(cmd, 'knowledge_get', { filename }, options);
373
+ });
374
+ addTargetOptions(knowledge.command('create'))
375
+ .description('Create a knowledge document on a target coconut')
376
+ .argument('<title>', 'Document title')
377
+ .option('-c, --content <content>', 'Markdown content')
378
+ .option('-f, --file <path>', 'Read markdown content from file')
379
+ .option('-t, --tags <tags>', 'Comma-separated tags')
380
+ .action(async (title, options, cmd) => {
381
+ if (!options.content && !options.file) {
382
+ console.error(chalk.red('Error:'), 'either --content or --file is required');
383
+ process.exit(1);
384
+ }
385
+ const args = {
386
+ title,
387
+ content: options.file ? readFileSync(options.file, 'utf-8') : options.content,
388
+ };
389
+ if (options.tags)
390
+ args.tags = options.tags.split(',').map((tag) => tag.trim()).filter(Boolean);
391
+ await runTool(cmd, 'knowledge_create', args, options);
392
+ });
393
+ addTargetOptions(knowledge.command('update'))
394
+ .description('Update a knowledge document on a target coconut')
395
+ .argument('<filename>', 'Document filename')
396
+ .option('--title <title>', 'New document title')
397
+ .option('-c, --content <content>', 'New markdown content')
398
+ .option('-f, --file <path>', 'Read new markdown content from file')
399
+ .option('-t, --tags <tags>', 'Comma-separated replacement tags')
400
+ .action(async (filename, options, cmd) => {
401
+ const args = { filename };
402
+ if (options.title)
403
+ args.title = options.title;
404
+ if (options.file)
405
+ args.content = readFileSync(options.file, 'utf-8');
406
+ if (options.content)
407
+ args.content = options.content;
408
+ if (options.tags)
409
+ args.tags = options.tags.split(',').map((tag) => tag.trim()).filter(Boolean);
410
+ await runTool(cmd, 'knowledge_update', args, options);
411
+ });
412
+ parent.addCommand(knowledge);
413
+ }
414
+ function addSkillCommands(parent) {
415
+ const skill = new Command('skill')
416
+ .alias('skills')
417
+ .description('Call skill tools on a target coconut');
418
+ addTargetOptions(skill);
419
+ addTargetOptions(skill.command('list'))
420
+ .alias('ls')
421
+ .description('List skills on a target coconut')
422
+ .action(async (options, cmd) => {
423
+ await runTool(cmd, 'skills_list', {}, options);
424
+ });
425
+ addTargetOptions(skill.command('get'))
426
+ .alias('show')
427
+ .description('Get one skill from a target coconut')
428
+ .argument('<skillId>', 'Skill id')
429
+ .action(async (skillId, options, cmd) => {
430
+ await runTool(cmd, 'skills_get', { skillId }, options);
431
+ });
432
+ addTargetOptions(skill.command('create'))
433
+ .description('Create a skill on a target coconut')
434
+ .argument('<name>', 'Skill name')
435
+ .argument('<description>', 'Skill description')
436
+ .option('-c, --content <content>', 'Skill instructions')
437
+ .option('-f, --file <path>', 'Read skill instructions from file')
438
+ .option('-t, --allowed-tools <tools>', 'Space-separated list of allowed tools')
439
+ .option('--license <license>', 'License')
440
+ .option('--compatibility <compatibility>', 'Compatibility requirements')
441
+ .option('--metadata <json>', 'Additional metadata JSON object, or @path/to/file.json')
442
+ .action(async (name, description, options, cmd) => {
443
+ const args = { name, description };
444
+ if (options.file)
445
+ args.content = readFileSync(options.file, 'utf-8');
446
+ if (options.content)
447
+ args.content = options.content;
448
+ if (options.allowedTools)
449
+ args.allowedTools = options.allowedTools;
450
+ if (options.license)
451
+ args.license = options.license;
452
+ if (options.compatibility)
453
+ args.compatibility = options.compatibility;
454
+ if (options.metadata) {
455
+ try {
456
+ args.metadata = readJsonObject(options.metadata, '--metadata');
457
+ }
458
+ catch (error) {
459
+ fail(error);
460
+ }
461
+ }
462
+ await runTool(cmd, 'skills_create', args, options);
463
+ });
464
+ addTargetOptions(skill.command('update'))
465
+ .description('Update a skill on a target coconut')
466
+ .argument('<skillId>', 'Skill id')
467
+ .option('-n, --name <name>', 'New skill name')
468
+ .option('-d, --description <description>', 'New skill description')
469
+ .option('-c, --content <content>', 'New skill instructions')
470
+ .option('-f, --file <path>', 'Read new skill instructions from file')
471
+ .option('-t, --allowed-tools <tools>', 'Space-separated list of allowed tools')
472
+ .option('--license <license>', 'License')
473
+ .option('--compatibility <compatibility>', 'Compatibility requirements')
474
+ .option('--metadata <json>', 'Replacement metadata JSON object, or @path/to/file.json')
475
+ .action(async (skillId, options, cmd) => {
476
+ const args = { skillId };
477
+ if (options.name)
478
+ args.name = options.name;
479
+ if (options.description)
480
+ args.description = options.description;
481
+ if (options.file)
482
+ args.content = readFileSync(options.file, 'utf-8');
483
+ if (options.content)
484
+ args.content = options.content;
485
+ if (options.allowedTools)
486
+ args.allowedTools = options.allowedTools;
487
+ if (options.license)
488
+ args.license = options.license;
489
+ if (options.compatibility)
490
+ args.compatibility = options.compatibility;
491
+ if (options.metadata) {
492
+ try {
493
+ args.metadata = readJsonObject(options.metadata, '--metadata');
494
+ }
495
+ catch (error) {
496
+ fail(error);
497
+ }
498
+ }
499
+ await runTool(cmd, 'skills_update', args, options);
500
+ });
501
+ addTargetOptions(skill.command('delete'))
502
+ .alias('remove')
503
+ .description('Delete a skill on a target coconut')
504
+ .argument('<skillId>', 'Skill id')
505
+ .action(async (skillId, options, cmd) => {
506
+ await runTool(cmd, 'skills_delete', { skillId }, options);
507
+ });
508
+ parent.addCommand(skill);
509
+ }
510
+ function addJobCommands(parent) {
511
+ const job = new Command('job')
512
+ .alias('jobs')
513
+ .description('Call job tools on a target coconut');
514
+ addTargetOptions(job);
515
+ addTargetOptions(job.command('list'))
516
+ .alias('ls')
517
+ .description('List jobs for a target coconut')
518
+ .action(async (options, cmd) => {
519
+ await runTool(cmd, 'jobs_list', {}, options);
520
+ });
521
+ addTargetOptions(job.command('get'))
522
+ .alias('show')
523
+ .description('Get one job definition from a target coconut')
524
+ .argument('<jobId>', 'Job id')
525
+ .action(async (jobId, options, cmd) => {
526
+ await runTool(cmd, 'jobs_get', { jobId }, options);
527
+ });
528
+ parent.addCommand(job);
529
+ }
530
+ export function createCoconutCommand(options = {}) {
531
+ const coconut = new Command('coconut')
532
+ .description('Call peer coconut MCP tools through the control plane')
533
+ .option('-t, --token <token>', 'Callback token (default: $COCONUT_CALLBACK_TOKEN or auth.json)')
534
+ .option('--host <url>', 'Control plane base URL (default: $COCONUT_HOST or https://app.coconut.dev)')
535
+ .option('-r, --raw', 'Output raw JSON-RPC envelope')
536
+ .option('--json', 'Output raw JSON-RPC envelope (alias for --raw)')
537
+ .option('--id <coconutId>', 'Default target coconut id for subcommands that need one')
538
+ .option('--name <name>', 'Default target coconut name for subcommands that need one')
539
+ .addHelpText('after', `
540
+ Examples:
541
+ ${chalk.gray('# List visible peer coconuts')}
542
+ nut coconut list
543
+
544
+ ${chalk.gray('# Call any MCP tool directly')}
545
+ nut coconut call tasks_list --name coconut-research
546
+ nut coconut call tasks_create --id <id> --arg title="Review docs" --arg content="Check the new API docs"
547
+
548
+ ${chalk.gray('# Thin wrappers for common tool families')}
549
+ nut coconut task list --name coconut-research
550
+ nut coconut knowledge search runbook --name coconut-research --limit 5
551
+ nut coconut skill list --name coconut-research
552
+ nut coconut job list --name coconut-research
553
+
554
+ ${chalk.gray('# Discover currently exposed MCP tools')}
555
+ nut coconut tools
556
+ `);
557
+ if (options.deprecatedUnderConnect) {
558
+ coconut.hook('preAction', () => {
559
+ console.warn(chalk.yellow('Warning: "nut connect coconut" is deprecated. Use "nut coconut" instead.\n'));
560
+ });
561
+ }
562
+ coconut
563
+ .command('tools')
564
+ .description('List MCP tools exposed by the control plane')
565
+ .action(async (_options, cmd) => {
566
+ const auth = getAuth(cmd);
567
+ const spinner = ora('Listing tools...').start();
568
+ try {
569
+ const envelope = await listTools(auth);
570
+ spinner.stop();
571
+ printEnvelope(envelope, rawOutput(cmd));
572
+ }
573
+ catch (error) {
574
+ fail(error, spinner);
575
+ }
576
+ });
577
+ coconut
578
+ .command('list')
579
+ .description('List visible peer coconuts')
580
+ .action(async (_options, cmd) => {
581
+ await runTool(cmd, 'coconuts_list', {});
582
+ });
583
+ coconut
584
+ .command('health')
585
+ .description('List visible coconut health and latency')
586
+ .action(async (_options, cmd) => {
587
+ await runTool(cmd, 'coconuts_health_list', {});
588
+ });
589
+ addTargetOptions(coconut.command('context'))
590
+ .description('Get context documents from a target coconut')
591
+ .option('--keys <keys>', 'Comma-separated subset: role,agents,team,memory')
592
+ .action(async (commandOptions, cmd) => {
593
+ const args = {};
594
+ if (commandOptions.keys)
595
+ args.keys = commandOptions.keys.split(',').map((key) => key.trim()).filter(Boolean);
596
+ await runTool(cmd, 'context_get', args, commandOptions);
597
+ });
598
+ addTargetOptions(coconut.command('call', { isDefault: true }))
599
+ .description('Invoke an MCP tool by name via JSON-RPC tools/call')
600
+ .argument('<tool_name>', 'MCP tool name (e.g. coconuts_list, tasks_list)')
601
+ .option('--args <json>', 'Tool arguments as JSON object, or @path/to/file.json to read from disk')
602
+ .option('--arg <key=value>', 'Add/override one tool argument; JSON values are accepted', collect, [])
603
+ .action(async (toolName, commandOptions, cmd) => {
604
+ if (!toolName || !toolName.trim()) {
605
+ console.error(chalk.red('Error:'), 'tool name is required');
606
+ process.exit(1);
607
+ }
608
+ let args;
609
+ try {
610
+ args = {
611
+ ...readJsonObject(commandOptions.args, '--args'),
612
+ ...parseArgAssignments(commandOptions.arg),
613
+ };
614
+ }
615
+ catch (error) {
616
+ fail(error);
617
+ }
618
+ await runTool(cmd, toolName, args, commandOptions);
619
+ });
620
+ addTaskCommands(coconut);
621
+ addKnowledgeCommands(coconut);
622
+ addSkillCommands(coconut);
623
+ addJobCommands(coconut);
624
+ return coconut;
625
+ }
626
+ export const coconutCommand = createCoconutCommand();
627
+ //# sourceMappingURL=coconut.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"coconut.js","sourceRoot":"","sources":["../../src/commands/coconut.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"connect.d.ts","sourceRoot":"","sources":["../../src/commands/connect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA6FpC,eAAO,MAAM,cAAc,SAmBzB,CAAC"}
1
+ {"version":3,"file":"connect.d.ts","sourceRoot":"","sources":["../../src/commands/connect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA+DpC,eAAO,MAAM,cAAc,SAmBzB,CAAC"}
@@ -2,9 +2,8 @@ import { Command } from 'commander';
2
2
  import chalk from 'chalk';
3
3
  import ora from 'ora';
4
4
  import { table } from 'table';
5
- import { readFileSync } from 'node:fs';
6
- import { getAuthConfigPath } from '@lovelybunch/core';
7
- const DEFAULT_HOST = 'https://app.coconut.dev';
5
+ import { createCoconutCommand } from './coconut.js';
6
+ import { resolveControlPlaneAuth } from '../lib/control-plane.js';
8
7
  const BASE_URL_MAP = {
9
8
  google_drive: 'https://www.googleapis.com',
10
9
  hubspot: 'https://api.hubapi.com',
@@ -12,32 +11,8 @@ const BASE_URL_MAP = {
12
11
  notion: 'https://api.notion.com',
13
12
  github: 'https://api.github.com',
14
13
  };
15
- // Future: convenience shortcuts — e.g. google_drive.list → GET /drive/v3/files
16
- // const SHORTCUTS: Record<string, Record<string, { method: string; path: string }>> = {};
17
- function readCallbackTokenFromAuthConfig() {
18
- try {
19
- const authConfig = JSON.parse(readFileSync(getAuthConfigPath(), 'utf-8'));
20
- const token = authConfig.controlPlane?.callbackToken;
21
- return typeof token === 'string' && token.trim() ? token.trim() : undefined;
22
- }
23
- catch {
24
- return undefined;
25
- }
26
- }
27
14
  function resolveAuth(options) {
28
- const token = options.token || process.env.COCONUT_CALLBACK_TOKEN || readCallbackTokenFromAuthConfig();
29
- const host = options.host || process.env.COCONUT_HOST || DEFAULT_HOST;
30
- if (!token) {
31
- console.error(chalk.red('Error: No callback token provided.'));
32
- console.error(chalk.yellow('\nSet the COCONUT_CALLBACK_TOKEN environment variable:'));
33
- console.error(chalk.gray(' export COCONUT_CALLBACK_TOKEN=cpt_xxx'));
34
- console.error(chalk.yellow('\nOr pass it as a flag:'));
35
- console.error(chalk.gray(' nut connect --token cpt_xxx list'));
36
- console.error(chalk.yellow('\nOr save it in auth.json:'));
37
- console.error(chalk.gray(` ${getAuthConfigPath()}`));
38
- process.exit(1);
39
- }
40
- return { token, host };
15
+ return resolveControlPlaneAuth(options, { tokenFlagExample: 'nut connect --token cpt_xxx list' });
41
16
  }
42
17
  async function fetchAccounts(host, token) {
43
18
  const url = `${host}/api/connectors/accounts`;
@@ -214,164 +189,5 @@ connectCommand
214
189
  process.exit(1);
215
190
  }
216
191
  });
217
- // --- coconut subcommand group: MCP escape hatch ---
218
- const coconutCommand = new Command('coconut')
219
- .description('Call MCP tools on the control plane using the callback token')
220
- .addHelpText('after', `
221
- Examples:
222
- ${chalk.gray('# List the caller\'s visible peer coconuts')}
223
- nut connect coconut call coconuts_list --args '{}'
224
-
225
- ${chalk.gray('# List tasks on a peer')}
226
- nut connect coconut call tasks_list --args '{"coconutId":"<id>"}'
227
-
228
- ${chalk.gray('# Search knowledge')}
229
- nut connect coconut call knowledge_search --args '{"coconutId":"<id>","q":"runbook","limit":5}'
230
-
231
- ${chalk.gray('# Read --args from a file')}
232
- nut connect coconut call tasks_create --args @./task.json
233
-
234
- ${chalk.gray('Tool discovery: POST {host}/mcp with {"jsonrpc":"2.0","id":1,"method":"tools/list"} via curl.')}
235
- `);
236
- connectCommand.addCommand(coconutCommand);
237
- function getConnectOpts(cmd) {
238
- let node = cmd;
239
- while (node) {
240
- if (node.name() === 'connect')
241
- return node.opts();
242
- node = node.parent;
243
- }
244
- return {};
245
- }
246
- coconutCommand
247
- .command('call', { isDefault: true })
248
- .description('Invoke an MCP tool by name via JSON-RPC tools/call')
249
- .argument('<tool_name>', 'MCP tool name (e.g. coconuts_list, tasks_list)')
250
- .requiredOption('--args <json>', 'Tool arguments as JSON object, or @path/to/file.json to read from disk')
251
- .action(async (toolName, options, cmd) => {
252
- const parentOpts = getConnectOpts(cmd);
253
- const { token, host } = resolveAuth(parentOpts);
254
- const rawOutput = Boolean(parentOpts.raw || parentOpts.json);
255
- if (!toolName || !toolName.trim()) {
256
- console.error(chalk.red('Error:'), 'tool name is required');
257
- process.exit(1);
258
- }
259
- // Parse --args (JSON or @file)
260
- let rawArgs = options.args;
261
- if (rawArgs.startsWith('@')) {
262
- const filePath = rawArgs.slice(1);
263
- try {
264
- rawArgs = readFileSync(filePath, 'utf-8');
265
- }
266
- catch (err) {
267
- console.error(chalk.red('Error:'), `failed to read --args file "${filePath}": ${err.message}`);
268
- process.exit(1);
269
- }
270
- }
271
- let args;
272
- try {
273
- args = JSON.parse(rawArgs);
274
- }
275
- catch {
276
- console.error(chalk.red('Error:'), 'invalid JSON for --args');
277
- process.exit(1);
278
- }
279
- if (args === null || typeof args !== 'object' || Array.isArray(args)) {
280
- console.error(chalk.red('Error:'), 'invalid JSON for --args (must be a JSON object)');
281
- process.exit(1);
282
- }
283
- const spinner = ora(`Calling ${toolName}...`).start();
284
- let res;
285
- try {
286
- res = await fetch(`${host}/mcp`, {
287
- method: 'POST',
288
- headers: {
289
- 'Content-Type': 'application/json',
290
- 'MCP-Protocol-Version': '2025-11-25',
291
- 'x-callback-token': token,
292
- },
293
- body: JSON.stringify({
294
- jsonrpc: '2.0',
295
- id: 1,
296
- method: 'tools/call',
297
- params: { name: toolName, arguments: args },
298
- }),
299
- });
300
- }
301
- catch (err) {
302
- spinner.fail('Transport error');
303
- console.error(chalk.red('Error:'), `transport error: ${err.message}`);
304
- process.exit(1);
305
- }
306
- if (res.status === 401) {
307
- spinner.fail('Auth error');
308
- const body = await res.text().catch(() => '');
309
- console.error(chalk.red('Error:'), 'auth error: bad or revoked callback token');
310
- if (body)
311
- console.error(chalk.gray(body));
312
- process.exit(3);
313
- }
314
- if (res.status === 503) {
315
- spinner.fail('Server unavailable');
316
- const body = await res.text().catch(() => '');
317
- console.error(chalk.red('Error:'), 'server unavailable: MCP not configured on control plane');
318
- if (body)
319
- console.error(chalk.gray(body));
320
- process.exit(4);
321
- }
322
- if (!res.ok) {
323
- spinner.fail(`Transport error (${res.status})`);
324
- const body = await res.text().catch(() => '');
325
- console.error(chalk.red('Error:'), `transport error (HTTP ${res.status})`);
326
- if (body)
327
- console.error(chalk.gray(body));
328
- process.exit(1);
329
- }
330
- let envelope;
331
- try {
332
- envelope = await res.json();
333
- }
334
- catch (err) {
335
- spinner.fail('Malformed response');
336
- console.error(chalk.red('Error:'), `transport error: malformed JSON response: ${err.message}`);
337
- process.exit(1);
338
- }
339
- spinner.stop();
340
- if (envelope.error) {
341
- const { code, message, data } = envelope.error;
342
- const codeStr = typeof code === 'number' ? code : 'unknown';
343
- console.error(chalk.red(`MCP error ${codeStr}:`), message || '(no message)');
344
- if (data !== undefined) {
345
- console.error(chalk.gray(typeof data === 'string' ? data : JSON.stringify(data, null, 2)));
346
- }
347
- if (typeof code === 'number' && code >= -32768 && code <= -32000) {
348
- process.exit(2);
349
- }
350
- process.exit(1);
351
- }
352
- if (rawOutput) {
353
- console.log(JSON.stringify(envelope));
354
- return;
355
- }
356
- const result = envelope.result;
357
- if (!result) {
358
- console.log(JSON.stringify(envelope, null, 2));
359
- return;
360
- }
361
- if (result.structuredContent !== undefined) {
362
- console.log(JSON.stringify(result.structuredContent, null, 2));
363
- return;
364
- }
365
- if (Array.isArray(result.content)) {
366
- const text = result.content
367
- .filter((c) => c && typeof c.text === 'string')
368
- .map((c) => c.text)
369
- .join('\n');
370
- if (text) {
371
- console.log(text);
372
- return;
373
- }
374
- }
375
- console.log(JSON.stringify(result, null, 2));
376
- });
192
+ connectCommand.addCommand(createCoconutCommand({ deprecatedUnderConnect: true }));
377
193
  //# sourceMappingURL=connect.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"connect.js","sourceRoot":"","sources":["../../src/commands/connect.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"connect.js","sourceRoot":"","sources":["../../src/commands/connect.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"knowledge.d.ts","sourceRoot":"","sources":["../../src/commands/knowledge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAYpC,eAAO,MAAM,gBAAgB,SAwB3B,CAAC"}
1
+ {"version":3,"file":"knowledge.d.ts","sourceRoot":"","sources":["../../src/commands/knowledge.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAYpC,eAAO,MAAM,gBAAgB,SAyB3B,CAAC"}
@@ -20,6 +20,7 @@ Examples:
20
20
  ${chalk.gray('# Create a new document')}
21
21
  nut knowledge create "API Design Guidelines" --file ./content.md
22
22
  nut knowledge create "Quick Note" --content "# Quick Note\\n\\nSome content here"
23
+ nut knowledge create "Quick Note" --filename QuickNote --content "..." ${chalk.gray('# explicit filename (case preserved)')}
23
24
 
24
25
  ${chalk.gray('# Update an existing document')}
25
26
  nut knowledge update api-design.md --file ./updated.md
@@ -159,7 +160,7 @@ knowledgeCommand
159
160
  .argument('<title>', 'Document title')
160
161
  .option('-f, --file <path>', 'Read content from file')
161
162
  .option('-c, --content <content>', 'Content string (use \\n for newlines)')
162
- .option('--filename <name>', 'Custom filename (defaults to slugified title)')
163
+ .option('--filename <name>', 'Custom filename, case preserved (e.g. "MyNote" or "MyNote.md"). Defaults to slugified title.')
163
164
  .option('--category <category>', 'Document category')
164
165
  .option('--tags <tags>', 'Comma-separated tags')
165
166
  .option('--summary <summary>', 'Short summary')
@@ -1 +1 @@
1
- {"version":3,"file":"knowledge.js","sourceRoot":"","sources":["../../src/commands/knowledge.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"knowledge.js","sourceRoot":"","sources":["../../src/commands/knowledge.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ export declare const DEFAULT_CONTROL_PLANE_HOST = "https://app.coconut.dev";
2
+ export interface ControlPlaneOptions {
3
+ token?: string;
4
+ host?: string;
5
+ }
6
+ export interface ControlPlaneAuth {
7
+ token: string;
8
+ host: string;
9
+ }
10
+ export interface ResolveControlPlaneAuthOptions {
11
+ tokenFlagExample?: string;
12
+ }
13
+ export declare function resolveControlPlaneAuth(options: ControlPlaneOptions, resolveOptions?: ResolveControlPlaneAuthOptions): ControlPlaneAuth;
14
+ //# sourceMappingURL=control-plane.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"control-plane.d.ts","sourceRoot":"","sources":["../../src/lib/control-plane.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,0BAA0B,4BAA4B,CAAC;AAEpE,MAAM,WAAW,mBAAmB;IAClC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,8BAA8B;IAC7C,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAYD,wBAAgB,uBAAuB,CACrC,OAAO,EAAE,mBAAmB,EAC5B,cAAc,GAAE,8BAAmC,GAClD,gBAAgB,CAgBlB"}
@@ -0,0 +1,30 @@
1
+ import chalk from 'chalk';
2
+ import { readFileSync } from 'node:fs';
3
+ import { getAuthConfigPath } from '@lovelybunch/core';
4
+ export const DEFAULT_CONTROL_PLANE_HOST = 'https://app.coconut.dev';
5
+ function readCallbackTokenFromAuthConfig() {
6
+ try {
7
+ const authConfig = JSON.parse(readFileSync(getAuthConfigPath(), 'utf-8'));
8
+ const token = authConfig.controlPlane?.callbackToken;
9
+ return typeof token === 'string' && token.trim() ? token.trim() : undefined;
10
+ }
11
+ catch {
12
+ return undefined;
13
+ }
14
+ }
15
+ export function resolveControlPlaneAuth(options, resolveOptions = {}) {
16
+ const token = options.token || process.env.COCONUT_CALLBACK_TOKEN || readCallbackTokenFromAuthConfig();
17
+ const host = options.host || process.env.COCONUT_HOST || DEFAULT_CONTROL_PLANE_HOST;
18
+ if (!token) {
19
+ console.error(chalk.red('Error: No callback token provided.'));
20
+ console.error(chalk.yellow('\nSet the COCONUT_CALLBACK_TOKEN environment variable:'));
21
+ console.error(chalk.gray(' export COCONUT_CALLBACK_TOKEN=cpt_xxx'));
22
+ console.error(chalk.yellow('\nOr pass it as a flag:'));
23
+ console.error(chalk.gray(` ${resolveOptions.tokenFlagExample ?? 'nut coconut --token cpt_xxx list'}`));
24
+ console.error(chalk.yellow('\nOr save it in auth.json:'));
25
+ console.error(chalk.gray(` ${getAuthConfigPath()}`));
26
+ process.exit(1);
27
+ }
28
+ return { token, host };
29
+ }
30
+ //# sourceMappingURL=control-plane.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"control-plane.js","sourceRoot":"","sources":["../../src/lib/control-plane.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAGtD,MAAM,CAAC,MAAM,0BAA0B,GAAG,yBAAyB,CAAC;AAgBpE,SAAS,+BAA+B;IACtC,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,iBAAiB,EAAE,EAAE,OAAO,CAAC,CAAwB,CAAC;QACjG,MAAM,KAAK,GAAG,UAAU,CAAC,YAAY,EAAE,aAAa,CAAC;QACrD,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IAC9E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,OAA4B,EAC5B,iBAAiD,EAAE;IAEnD,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,GAAG,CAAC,sBAAsB,IAAI,+BAA+B,EAAE,CAAC;IACvG,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,IAAI,0BAA0B,CAAC;IAEpF,IAAI,CAAC,KAAK,EAAE,CAAC;QACX,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAC,CAAC;QAC/D,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,wDAAwD,CAAC,CAAC,CAAC;QACtF,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,yCAAyC,CAAC,CAAC,CAAC;QACrE,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,yBAAyB,CAAC,CAAC,CAAC;QACvD,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,cAAc,CAAC,gBAAgB,IAAI,kCAAkC,EAAE,CAAC,CAAC,CAAC;QACxG,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,MAAM,CAAC,4BAA4B,CAAC,CAAC,CAAC;QAC1D,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,iBAAiB,EAAE,EAAE,CAAC,CAAC,CAAC;QACtD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AACzB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lovelybunch/cli",
3
- "version": "1.0.78-alpha.1",
3
+ "version": "1.0.78-alpha.3",
4
4
  "description": "Command-line interface for Coconut",
5
5
  "type": "module",
6
6
  "main": "./dist/cli.js",
@@ -37,9 +37,9 @@
37
37
  "ora": "^8.0.1",
38
38
  "table": "^6.8.1",
39
39
  "ws": "^8.14.2",
40
- "@lovelybunch/api": "1.0.78-alpha.1",
41
- "@lovelybunch/types": "1.0.78-alpha.1",
42
- "@lovelybunch/core": "1.0.78-alpha.1"
40
+ "@lovelybunch/core": "1.0.78-alpha.3",
41
+ "@lovelybunch/types": "1.0.78-alpha.3",
42
+ "@lovelybunch/api": "1.0.78-alpha.3"
43
43
  },
44
44
  "devDependencies": {
45
45
  "@types/adm-zip": "^0.5.7",