@lovelybunch/cli 1.0.76 → 1.0.77-alpha.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.
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC,eAAO,MAAM,WAAW,SA0GpB,CAAC"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAUpC,eAAO,MAAM,WAAW,SAoHpB,CAAC"}
@@ -2,13 +2,16 @@ import { Command } from 'commander';
2
2
  import chalk from 'chalk';
3
3
  import ora from 'ora';
4
4
  import inquirer from 'inquirer';
5
- import { fileStorage } from '@lovelybunch/core';
5
+ import { fileStorage, getAuthConfigPath, ensureAppDataDir } from '@lovelybunch/core';
6
6
  import path from 'path';
7
+ import fs from 'fs/promises';
8
+ import crypto from 'crypto';
7
9
  export const initCommand = new Command('init')
8
10
  .description('Initialize Coconut in the current repository')
9
11
  .option('--name <name>', 'Repository name')
10
12
  .option('--description <description>', 'Repository description')
11
13
  .option('--id <id>', 'Coconut instance ID (for non-interactive use)')
14
+ .option('--oauth-client-id <id>', 'Coconut OAuth client ID (writes to auth.json and enables "Continue with Coconut" at login)')
12
15
  .option('--force', 'Force initialization even if already initialized')
13
16
  .action(async (options) => {
14
17
  const spinner = ora('Initializing Coconut...').start();
@@ -80,13 +83,21 @@ export const initCommand = new Command('init')
80
83
  path: '.nut',
81
84
  },
82
85
  };
83
- // Add coconut.id if provided
84
86
  if (options.id) {
85
87
  config.coconut = { id: options.id };
86
88
  }
87
89
  // Initialize storage
88
90
  await fileStorage.init();
89
91
  await fileStorage.saveConfig(config);
92
+ // If the operator passed a Coconut OAuth client ID, write it to auth.json
93
+ // under providers.oauth.coconut. This is the single source of truth for
94
+ // whether "Continue with Coconut" is offered at login.
95
+ if (options.oauthClientId) {
96
+ await upsertCoconutOAuthInAuthConfig({
97
+ enabled: true,
98
+ clientId: options.oauthClientId,
99
+ });
100
+ }
90
101
  spinner.succeed('Coconut initialized successfully!');
91
102
  console.log('\n' + chalk.green('✓') + ' Created .nut directory');
92
103
  console.log(chalk.green('✓') + ' Created configuration file');
@@ -102,4 +113,51 @@ export const initCommand = new Command('init')
102
113
  process.exit(1);
103
114
  }
104
115
  });
116
+ /**
117
+ * Upsert `providers.oauth.coconut` in auth.json, creating a minimal
118
+ * OAuth-only auth config on first run.
119
+ *
120
+ * Kept inline (rather than reusing api/AuthManager) so the CLI stays free of
121
+ * the server package. The written shape matches AuthManager.upsertCoconutOAuth
122
+ * byte-for-byte so both paths converge on identical files.
123
+ */
124
+ async function upsertCoconutOAuthInAuthConfig(options) {
125
+ ensureAppDataDir();
126
+ const authConfigPath = getAuthConfigPath();
127
+ let config = null;
128
+ try {
129
+ const raw = await fs.readFile(authConfigPath, 'utf-8');
130
+ config = JSON.parse(raw);
131
+ }
132
+ catch {
133
+ // auth.json missing; bootstrap minimal OAuth-only shape below.
134
+ }
135
+ if (!config) {
136
+ config = {
137
+ version: '1.0',
138
+ enabled: true,
139
+ allowRegistration: false,
140
+ providers: {
141
+ local: { enabled: false, users: [] },
142
+ oauth: {},
143
+ },
144
+ session: {
145
+ secret: crypto.randomBytes(32).toString('hex'),
146
+ expiresIn: '7d',
147
+ cookieName: 'nut-session',
148
+ secure: process.env.NODE_ENV === 'production',
149
+ },
150
+ apiKeys: [],
151
+ };
152
+ }
153
+ if (!config.providers.oauth) {
154
+ config.providers.oauth = {};
155
+ }
156
+ config.providers.oauth.coconut = {
157
+ enabled: options.enabled,
158
+ clientId: options.clientId,
159
+ };
160
+ await fs.mkdir(path.dirname(authConfigPath), { recursive: true });
161
+ await fs.writeFile(authConfigPath, JSON.stringify(config, null, 2), 'utf-8');
162
+ }
105
163
  //# sourceMappingURL=init.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/commands/init.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"serve.d.ts","sourceRoot":"","sources":["../../src/commands/serve.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAmEpC,eAAO,MAAM,YAAY,SAkFrB,CAAC"}
1
+ {"version":3,"file":"serve.d.ts","sourceRoot":"","sources":["../../src/commands/serve.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAkEpC,eAAO,MAAM,YAAY,SAsFrB,CAAC"}
@@ -54,19 +54,20 @@ function openBrowser(url) {
54
54
  const command = process.platform === 'darwin' ? 'open' :
55
55
  process.platform === 'win32' ? 'start' : 'xdg-open';
56
56
  spawn(command, [url], { detached: true, stdio: 'ignore' });
57
- console.log(chalk.blue(`🌐 Opening browser at ${url}`));
58
57
  }
59
58
  export const serveCommand = new Command('serve')
60
59
  .description('Start the Coconut web interface')
61
60
  .option('-p, --port <port>', 'Preferred port to run the server on (will find alternative if unavailable)')
62
61
  .option('--host <host>', 'Host to bind the server to', 'localhost')
63
62
  .option('--no-open', 'Prevent automatic browser opening', false)
63
+ .option('--verbose', 'Show detailed startup output')
64
64
  .action(async (options) => {
65
- console.log(chalk.blue('🚀 Starting Coconut web interface...'));
65
+ const verbose = options.verbose === true;
66
+ if (verbose)
67
+ process.env.COCONUT_VERBOSE = '1';
68
+ console.log(chalk.blue('🥥 Starting Coconut...'));
66
69
  try {
67
- // Set environment variables for Next.js
68
70
  const currentDir = process.cwd();
69
- console.log(chalk.blue(`🗂️ Serving data from: ${currentDir}/.nut`));
70
71
  process.env.GAIT_DATA_PATH = currentDir;
71
72
  // Find an available port
72
73
  const preferredPortInput = options.port ?? process.env.PORT ?? '3000';
@@ -76,16 +77,14 @@ export const serveCommand = new Command('serve')
76
77
  }
77
78
  // Make resolved port visible to downstream consumers expecting PORT env
78
79
  process.env.PORT = preferredPort.toString();
79
- console.log(chalk.blue(`🔍 Finding available port...`));
80
80
  const availablePort = await findAvailablePort(options.host, preferredPort);
81
81
  if (availablePort !== preferredPort) {
82
- console.log(chalk.yellow(`⚠️ Port ${preferredPort} was unavailable, using port ${availablePort} instead`));
82
+ console.log(chalk.yellow(`⚠️ Port ${preferredPort} unavailable, using ${availablePort}`));
83
83
  }
84
84
  process.env.PORT = availablePort.toString();
85
85
  const workspaceApiEntry = path.join(currentDir, 'packages/api/dist/server-with-static.js');
86
86
  let startServerModule;
87
87
  if (fs.existsSync(workspaceApiEntry)) {
88
- console.log(chalk.blue('🧩 Using workspace API build'));
89
88
  startServerModule = await import(pathToFileURL(workspaceApiEntry).href);
90
89
  }
91
90
  else {
@@ -96,10 +95,10 @@ export const serveCommand = new Command('serve')
96
95
  // Start the Hono API server with static frontend
97
96
  const server = await startServer({
98
97
  port: availablePort,
99
- host: options.host
98
+ host: options.host,
100
99
  });
101
100
  const url = `http://${options.host}:${availablePort}`;
102
- console.log(chalk.green(`📱 Web interface running at ${url}`));
101
+ console.log(chalk.green(`🥥 Coconut ready at ${url}`));
103
102
  // Open browser automatically unless explicitly disabled
104
103
  if (options.open) {
105
104
  setTimeout(() => {
@@ -108,7 +107,7 @@ export const serveCommand = new Command('serve')
108
107
  }
109
108
  // Handle graceful shutdown
110
109
  process.on('SIGINT', () => {
111
- console.log(chalk.yellow('\n🛑 Shutting down Coconut web interface...'));
110
+ console.log(chalk.yellow('\n🌊 Shutting down Coconut...'));
112
111
  server.close(() => {
113
112
  process.exit(0);
114
113
  });
@@ -120,7 +119,7 @@ export const serveCommand = new Command('serve')
120
119
  });
121
120
  }
122
121
  catch (error) {
123
- console.error(chalk.red('❌ Failed to start Coconut web interface:'), error);
122
+ console.error(chalk.red('❌ Failed to start Coconut:'), error);
124
123
  process.exit(1);
125
124
  }
126
125
  });
@@ -1 +1 @@
1
- {"version":3,"file":"serve.js","sourceRoot":"","sources":["../../src/commands/serve.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"serve.js","sourceRoot":"","sources":["../../src/commands/serve.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@lovelybunch/cli",
3
- "version": "1.0.76",
3
+ "version": "1.0.77-alpha.1",
4
4
  "description": "Command-line interface for Coconut",
5
5
  "type": "module",
6
6
  "main": "./dist/cli.js",
@@ -27,20 +27,7 @@
27
27
  "publishConfig": {
28
28
  "access": "public"
29
29
  },
30
- "scripts": {
31
- "build": "tsc -b",
32
- "dev": "tsc -b --watch",
33
- "clean": "rm -rf dist tsconfig.tsbuildinfo coverage",
34
- "type-check": "tsc --noEmit",
35
- "test": "vitest run",
36
- "test:coverage": "vitest run --coverage",
37
- "test:watch": "vitest watch",
38
- "test:ui": "vitest --ui"
39
- },
40
30
  "dependencies": {
41
- "@lovelybunch/api": "^1.0.76",
42
- "@lovelybunch/core": "^1.0.76",
43
- "@lovelybunch/types": "^1.0.76",
44
31
  "adm-zip": "^0.5.16",
45
32
  "chalk": "^5.3.0",
46
33
  "commander": "^11.1.0",
@@ -49,7 +36,10 @@
49
36
  "inquirer": "^9.2.12",
50
37
  "ora": "^8.0.1",
51
38
  "table": "^6.8.1",
52
- "ws": "^8.14.2"
39
+ "ws": "^8.14.2",
40
+ "@lovelybunch/api": "1.0.77-alpha.1",
41
+ "@lovelybunch/core": "1.0.77-alpha.1",
42
+ "@lovelybunch/types": "1.0.77-alpha.1"
53
43
  },
54
44
  "devDependencies": {
55
45
  "@types/adm-zip": "^0.5.7",
@@ -66,5 +56,15 @@
66
56
  "coconut"
67
57
  ],
68
58
  "author": "",
69
- "license": "ISC"
70
- }
59
+ "license": "ISC",
60
+ "scripts": {
61
+ "build": "tsc -b",
62
+ "dev": "tsc -b --watch",
63
+ "clean": "rm -rf dist tsconfig.tsbuildinfo coverage",
64
+ "type-check": "tsc -b",
65
+ "test": "vitest run",
66
+ "test:coverage": "vitest run --coverage",
67
+ "test:watch": "vitest watch",
68
+ "test:ui": "vitest --ui"
69
+ }
70
+ }