snow-flow 8.6.66 → 8.7.2

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":"auth.d.ts","sourceRoot":"","sources":["../../src/cli/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AASpC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,QAyxBpD"}
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/cli/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC,wBAAgB,oBAAoB,CAAC,OAAO,EAAE,OAAO,QAgIpD"}
package/dist/cli/auth.js CHANGED
@@ -38,13 +38,12 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
38
38
  Object.defineProperty(exports, "__esModule", { value: true });
39
39
  exports.registerAuthCommands = registerAuthCommands;
40
40
  const prompts = __importStar(require("@clack/prompts"));
41
- const chalk_1 = __importDefault(require("chalk"));
42
- const snow_oauth_js_1 = require("../utils/snow-oauth.js");
43
- const servicenow_client_js_1 = require("../utils/servicenow-client.js");
41
+ const child_process_1 = require("child_process");
42
+ const path_1 = __importDefault(require("path"));
44
43
  const logger_js_1 = require("../utils/logger.js");
45
44
  const authLogger = new logger_js_1.Logger('auth');
46
45
  function registerAuthCommands(program) {
47
- const auth = program.command('auth').description('ServiceNow authentication management');
46
+ const auth = program.command('auth').description('Authentication management (powered by SnowCode)');
48
47
  // List available models for a provider
49
48
  auth
50
49
  .command('models')
@@ -91,662 +90,77 @@ function registerAuthCommands(program) {
91
90
  prompts.log.message('Tip: Use --provider to see models for a specific provider');
92
91
  prompts.log.message('Example: snow-flow auth models --provider anthropic');
93
92
  });
93
+ // Login - delegate to SnowCode
94
94
  auth
95
95
  .command('login')
96
- .description('Authenticate with LLM provider (Claude Pro/Max) and ServiceNow')
96
+ .description('Authenticate with LLM providers, ServiceNow, and Enterprise (via SnowCode)')
97
97
  .action(async () => {
98
- const { execSync } = require('child_process');
99
- const fs = require('fs');
100
- const path = require('path');
101
- const inquirer = require('inquirer');
102
- prompts.log.message(''); // Empty line for spacing
103
- // Step 0: Check if we need LLM authentication
104
- let provider = process.env.DEFAULT_LLM_PROVIDER;
105
- // Check if ANY provider API key is configured
106
- const hasApiKey = (process.env.ANTHROPIC_API_KEY && process.env.ANTHROPIC_API_KEY.trim() !== '') ||
107
- (process.env.OPENAI_API_KEY && process.env.OPENAI_API_KEY.trim() !== '') ||
108
- (process.env.GOOGLE_API_KEY && process.env.GOOGLE_API_KEY.trim() !== '') ||
109
- (process.env.GROQ_API_KEY && process.env.GROQ_API_KEY.trim() !== '') ||
110
- (process.env.MISTRAL_API_KEY && process.env.MISTRAL_API_KEY.trim() !== '');
111
- // Only do SnowCode auth if no API key is configured
112
- if (!hasApiKey) {
98
+ try {
113
99
  // Check if snowcode is installed
114
100
  try {
115
- execSync('which snowcode', { stdio: 'ignore' });
101
+ (0, child_process_1.execSync)('which snowcode', { stdio: 'ignore' });
116
102
  }
117
103
  catch {
118
104
  prompts.log.error('SnowCode is not installed');
119
- prompts.log.warn('Please install SnowCode first: npm install -g @groeimetai/snowcode');
120
- prompts.log.info('Or configure an API key in .env: ANTHROPIC_API_KEY=your-key');
105
+ prompts.log.warn('Please run: npm install -g snow-flow');
106
+ prompts.log.info('This will install both snow-flow and snowcode');
121
107
  return;
122
108
  }
123
109
  // Determine which SnowCode to use: prefer local, fallback to global
124
- const localSnowCode = path.join(process.cwd(), 'node_modules', '@groeimetai', 'snowcode', 'bin', 'snowcode');
110
+ const localSnowCode = path_1.default.join(process.cwd(), 'node_modules', '@groeimetai', 'snowcode', 'bin', 'snowcode');
125
111
  let snowcodeCommand = 'snowcode'; // fallback to global
126
- if (fs.existsSync(localSnowCode)) {
127
- snowcodeCommand = `"${localSnowCode}"`;
128
- }
129
- prompts.intro('Starting authentication');
130
- // Fix common SnowCode directory issue (agents vs agent) in ALL possible directories
131
112
  try {
132
113
  const fs = require('fs');
133
- const path = require('path');
134
- const directoriesToFix = [
135
- // Fix 1: Global ~/.snowcode directory
136
- process.env.HOME + '/.snowcode',
137
- // Fix 2: Current working directory
138
- path.join(process.cwd(), '.snowcode'),
139
- // Fix 3: Parent directory (in case we're in a subdirectory)
140
- path.join(process.cwd(), '..', '.snowcode'),
141
- // Fix 4: Snow-flow package directory (for development)
142
- path.join(__dirname, '..', '..', '.snowcode')
143
- ];
144
- for (const snowcodeDir of directoriesToFix) {
145
- const agentsDir = path.join(snowcodeDir, 'agents');
146
- const agentDir = path.join(snowcodeDir, 'agent');
147
- if (fs.existsSync(agentsDir) && !fs.existsSync(agentDir)) {
148
- prompts.log.message(` Fixing SnowCode directory structure in ${snowcodeDir}...`);
149
- try {
150
- fs.renameSync(agentsDir, agentDir);
151
- }
152
- catch (e) {
153
- // Ignore individual rename errors
154
- }
155
- }
156
- }
157
- }
158
- catch (dirError) {
159
- // Ignore directory fix errors - SnowCode will handle it
160
- prompts.log.message(' (Directory fix skipped - will auto-correct)');
161
- }
162
- try {
163
- // Run SnowCode auth login - reuse snowcodeCommand from version check
164
114
  if (fs.existsSync(localSnowCode)) {
165
- prompts.log.message(' Using local SnowCode installation (with platform binaries)');
166
- }
167
- else {
168
- prompts.log.message(' Using global SnowCode installation');
169
- }
170
- // Run SnowCode auth (use inherit for interactive prompt)
171
- try {
172
- execSync(`${snowcodeCommand} auth login`, { stdio: 'inherit' });
173
- // Success - now continue to ServiceNow setup
174
- // Add immediate clarification after SnowCode's "Done" message
175
- console.log('\n✓ LLM provider setup complete! Now configuring ServiceNow...\n');
176
- prompts.log.step('ServiceNow Authentication');
177
- }
178
- catch (authError) {
179
- // User cancelled (Ctrl+C) or auth failed
180
- if (authError.signal === 'SIGINT' || authError.status === 130) {
181
- // User pressed Ctrl+C - they might have completed SnowCode auth already
182
- prompts.log.message(''); // Empty line
183
- prompts.log.info('Authentication interrupted');
184
- prompts.log.message(''); // Empty line
185
- prompts.log.message('If you completed the LLM provider setup:');
186
- prompts.log.message(' → Just run ' + chalk_1.default.cyan('snow-flow auth login') + ' again');
187
- prompts.log.message(' → It will skip provider setup and go directly to ServiceNow');
188
- prompts.log.message(''); // Empty line
189
- return;
190
- }
191
- // Other auth error
192
- prompts.log.message(''); // Empty line
193
- prompts.log.warn('SnowCode authentication was not completed');
194
- prompts.log.message(''); // Empty line
195
- prompts.log.message('You can continue with API keys instead:');
196
- prompts.log.message(' 1. Get an Anthropic API key from https://console.anthropic.com');
197
- prompts.log.message(' 2. Add to .env: ANTHROPIC_API_KEY=your-api-key');
198
- prompts.log.message(' 3. Run: snow-flow auth login');
199
- prompts.log.message(''); // Empty line
200
- return;
201
- }
202
- }
203
- catch (error) {
204
- // Unexpected error (not from execSync)
205
- prompts.log.error('Unexpected error during authentication');
206
- prompts.log.message(error?.message || String(error));
207
- return;
208
- }
209
- }
210
- // ServiceNow setup - continue the flow (intro already shown above after SnowCode auth)
211
- // Read credentials from .env file
212
- let instance = process.env.SNOW_INSTANCE;
213
- let authMethod = process.env.SNOW_AUTH_METHOD;
214
- // Check if we have complete credentials for either method
215
- const hasOAuthCreds = process.env.SNOW_CLIENT_ID && process.env.SNOW_CLIENT_SECRET;
216
- const hasBasicCreds = process.env.SNOW_USERNAME && process.env.SNOW_PASSWORD;
217
- const hasCompleteCredentials = instance && instance.includes('.service-now.com') &&
218
- ((authMethod === 'oauth' && hasOAuthCreds) || (authMethod === 'basic' && hasBasicCreds));
219
- // If no complete credentials, ask for auth method FIRST
220
- if (!hasCompleteCredentials) {
221
- const method = await prompts.select({
222
- message: 'Choose authentication method',
223
- options: [
224
- { value: 'oauth', label: 'OAuth 2.0', hint: 'recommended' },
225
- { value: 'basic', label: 'Basic Auth', hint: 'username/password' }
226
- ]
227
- });
228
- if (prompts.isCancel(method)) {
229
- prompts.cancel('Setup cancelled');
230
- process.exit(0);
231
- }
232
- authMethod = method;
233
- // Ask for ServiceNow instance (common for both methods)
234
- instance = await prompts.text({
235
- message: 'ServiceNow instance',
236
- placeholder: 'dev12345.service-now.com',
237
- defaultValue: instance || '',
238
- validate: (value) => {
239
- if (!value || value.trim() === '')
240
- return 'Instance URL is required';
241
- const cleaned = value.replace(/^https?:\/\//, '').replace(/\/$/, '');
242
- if (!cleaned.includes('.service-now.com')) {
243
- return 'Must be a ServiceNow domain (e.g., dev12345.service-now.com)';
244
- }
245
- }
246
- });
247
- if (prompts.isCancel(instance)) {
248
- prompts.cancel('Setup cancelled');
249
- process.exit(0);
250
- }
251
- instance = instance.replace(/^https?:\/\//, '').replace(/\/$/, '');
252
- }
253
- // OAuth 2.0 Flow
254
- if (authMethod === 'oauth') {
255
- const oauth = new snow_oauth_js_1.ServiceNowOAuth();
256
- let clientId = process.env.SNOW_CLIENT_ID;
257
- let clientSecret = process.env.SNOW_CLIENT_SECRET;
258
- // Check if OAuth credentials need to be collected
259
- const needsCredentials = !clientId || !clientSecret || clientId.length < 32 || clientSecret.length < 32;
260
- // If credentials are missing, prompt for them
261
- if (needsCredentials) {
262
- // OAuth Client ID
263
- clientId = await prompts.text({
264
- message: 'OAuth Client ID',
265
- placeholder: '32-character hex string from ServiceNow',
266
- defaultValue: clientId || '',
267
- validate: (value) => {
268
- if (!value || value.trim() === '')
269
- return 'Client ID is required';
270
- if (value.length < 32)
271
- return 'Client ID too short (expected 32+ characters)';
272
- }
273
- });
274
- if (prompts.isCancel(clientId)) {
275
- prompts.cancel('Setup cancelled');
276
- process.exit(0);
277
- }
278
- // OAuth Client Secret
279
- clientSecret = await prompts.password({
280
- message: 'OAuth Client Secret',
281
- validate: (value) => {
282
- if (!value || value.trim() === '')
283
- return 'Client Secret is required';
284
- if (value.length < 32)
285
- return 'Client Secret too short (expected 32+ characters)';
286
- }
287
- });
288
- if (prompts.isCancel(clientSecret)) {
289
- prompts.cancel('Setup cancelled');
290
- process.exit(0);
291
- }
292
- // Save to .env file
293
- const envPath = path.join(process.cwd(), '.env');
294
- let envContent = '';
295
- try {
296
- envContent = fs.readFileSync(envPath, 'utf8');
297
- }
298
- catch {
299
- const examplePath = path.join(process.cwd(), '.env.example');
300
- if (fs.existsSync(examplePath)) {
301
- envContent = fs.readFileSync(examplePath, 'utf8');
302
- }
303
- }
304
- // Update credentials
305
- const updates = [
306
- { key: 'SNOW_INSTANCE', value: instance },
307
- { key: 'SNOW_AUTH_METHOD', value: 'oauth' },
308
- { key: 'SNOW_CLIENT_ID', value: clientId },
309
- { key: 'SNOW_CLIENT_SECRET', value: clientSecret }
310
- ];
311
- for (const { key, value } of updates) {
312
- if (envContent.includes(`${key}=`)) {
313
- envContent = envContent.replace(new RegExp(`${key}=.*`, 'g'), `${key}=${value}`);
314
- }
315
- else {
316
- envContent += `\n${key}=${value}\n`;
317
- }
318
- }
319
- fs.writeFileSync(envPath, envContent);
320
- process.env.SNOW_INSTANCE = instance;
321
- process.env.SNOW_AUTH_METHOD = 'oauth';
322
- process.env.SNOW_CLIENT_ID = clientId;
323
- process.env.SNOW_CLIENT_SECRET = clientSecret;
324
- }
325
- // Start OAuth flow with localhost callback server
326
- const result = await oauth.authenticate(instance, clientId, clientSecret);
327
- if (result.success) {
328
- prompts.log.success('ServiceNow authentication successful');
329
- // Test connection
330
- const client = new servicenow_client_js_1.ServiceNowClient();
331
- const testResult = await client.testConnection();
332
- if (testResult.success) {
333
- prompts.log.success(`Logged in as: ${testResult.data.name} (${testResult.data.user_name})`);
334
- }
335
- // 🔧 Auto-refresh MCP configuration with new credentials
336
- const spinner2 = prompts.spinner();
337
- try {
338
- const { setupMCPConfig } = await Promise.resolve().then(() => __importStar(require('../cli.js')));
339
- spinner2.start('Updating MCP configuration');
340
- await setupMCPConfig(process.cwd(), instance, clientId, clientSecret, true);
341
- spinner2.stop('MCP servers ready for SnowCode/Claude Code');
342
- }
343
- catch (error) {
344
- spinner2.stop('MCP configuration update failed');
345
- prompts.log.warn('Could not update MCP config - run "snow-flow init" to set up');
346
- }
347
- prompts.outro('Setup complete!');
348
- }
349
- else {
350
- prompts.cancel(result.error || 'Unknown error');
351
- process.exit(1);
352
- }
353
- }
354
- // Basic Auth Flow
355
- else if (authMethod === 'basic') {
356
- let username = process.env.SNOW_USERNAME;
357
- let password = process.env.SNOW_PASSWORD;
358
- // Check if Basic Auth credentials need to be collected
359
- const needsCredentials = !username || !password || username.trim() === '' || password.trim() === '';
360
- if (needsCredentials) {
361
- // Username
362
- username = await prompts.text({
363
- message: 'ServiceNow username',
364
- placeholder: 'admin',
365
- defaultValue: username || '',
366
- validate: (value) => {
367
- if (!value || value.trim() === '')
368
- return 'Username is required';
369
- }
370
- });
371
- if (prompts.isCancel(username)) {
372
- prompts.cancel('Setup cancelled');
373
- process.exit(0);
374
- }
375
- // Password
376
- password = await prompts.password({
377
- message: 'ServiceNow password',
378
- validate: (value) => {
379
- if (!value || value.trim() === '')
380
- return 'Password is required';
381
- }
382
- });
383
- if (prompts.isCancel(password)) {
384
- prompts.cancel('Setup cancelled');
385
- process.exit(0);
386
- }
387
- // Save to .env file
388
- const envPath = path.join(process.cwd(), '.env');
389
- let envContent = '';
390
- try {
391
- envContent = fs.readFileSync(envPath, 'utf8');
392
- }
393
- catch {
394
- const examplePath = path.join(process.cwd(), '.env.example');
395
- if (fs.existsSync(examplePath)) {
396
- envContent = fs.readFileSync(examplePath, 'utf8');
397
- }
398
- }
399
- // Update credentials
400
- const updates = [
401
- { key: 'SNOW_INSTANCE', value: instance },
402
- { key: 'SNOW_AUTH_METHOD', value: 'basic' },
403
- { key: 'SNOW_USERNAME', value: username },
404
- { key: 'SNOW_PASSWORD', value: password }
405
- ];
406
- for (const { key, value } of updates) {
407
- if (envContent.includes(`${key}=`)) {
408
- envContent = envContent.replace(new RegExp(`${key}=.*`, 'g'), `${key}=${value}`);
409
- }
410
- else {
411
- envContent += `\n${key}=${value}\n`;
412
- }
413
- }
414
- fs.writeFileSync(envPath, envContent);
415
- process.env.SNOW_INSTANCE = instance;
416
- process.env.SNOW_AUTH_METHOD = 'basic';
417
- process.env.SNOW_USERNAME = username;
418
- process.env.SNOW_PASSWORD = password;
419
- }
420
- // Test Basic Auth connection
421
- const spinner = prompts.spinner();
422
- spinner.start('Authenticating with ServiceNow');
423
- const client = new servicenow_client_js_1.ServiceNowClient();
424
- const testResult = await client.testConnection();
425
- if (testResult.success) {
426
- spinner.stop('ServiceNow authentication successful');
427
- prompts.log.success(`Logged in as: ${testResult.data.name} (${testResult.data.user_name})`);
428
- // 🔧 Auto-refresh MCP configuration with new credentials
429
- const spinner2 = prompts.spinner();
430
- try {
431
- const { setupMCPConfig } = await Promise.resolve().then(() => __importStar(require('../cli.js')));
432
- spinner2.start('Updating MCP configuration');
433
- await setupMCPConfig(process.cwd(), instance, username, password, true);
434
- spinner2.stop('MCP servers ready for SnowCode/Claude Code');
435
- }
436
- catch (error) {
437
- spinner2.stop('MCP configuration update failed');
438
- prompts.log.warn('Could not update MCP config - run "snow-flow init" to set up');
439
- }
440
- prompts.outro('Setup complete!');
441
- }
442
- else {
443
- spinner.stop('Authentication failed');
444
- prompts.cancel(testResult.error || 'Invalid credentials');
445
- process.exit(1);
446
- }
447
- }
448
- // ═══════════════════════════════════════════════════════════════════
449
- // 🚀 ENTERPRISE FEATURES SETUP (Optional)
450
- // ═══════════════════════════════════════════════════════════════════
451
- prompts.log.message(''); // Spacing
452
- prompts.log.step('Enterprise Features (Optional)');
453
- const hasEnterprise = await prompts.confirm({
454
- message: 'Do you have a Snow-Flow Enterprise license?',
455
- initialValue: false
456
- });
457
- if (prompts.isCancel(hasEnterprise) || !hasEnterprise) {
458
- prompts.log.info('Skipping enterprise setup - you can add it later with "snow-flow auth login"');
459
- prompts.outro('Setup complete!');
460
- return;
461
- }
462
- // Enterprise license key
463
- const licenseKey = await prompts.text({
464
- message: 'Enterprise license key',
465
- placeholder: 'SNOW-ENT-1-ABC123 or SNOW-ENT-SI-ABC123',
466
- validate: (value) => {
467
- if (!value || value.trim() === '')
468
- return 'License key is required';
469
- if (!value.startsWith('SNOW-'))
470
- return 'Invalid format (should start with SNOW-)';
471
- const parts = value.split('-');
472
- // Accept both formats:
473
- // Old: SNOW-TIER-ORG-DATE-HASH (5 parts)
474
- // New: SNOW-ENT-CUST-HASH or SNOW-ENT-SI-HASH (4 parts)
475
- if (parts.length !== 4 && parts.length !== 5) {
476
- return 'Invalid format (expected: SNOW-ENT-1-HASH or SNOW-ENT-SI-HASH)';
477
- }
478
- // For 4-part format, ensure it's ENT type
479
- if (parts.length === 4 && parts[1] !== 'ENT') {
480
- return 'Invalid format (second part must be ENT)';
481
- }
482
- }
483
- });
484
- if (prompts.isCancel(licenseKey)) {
485
- prompts.log.info('Enterprise setup skipped');
486
- prompts.outro('Setup complete!');
487
- return;
488
- }
489
- // License server URL (with sensible default)
490
- let licenseServerUrl = await prompts.text({
491
- message: 'Enterprise license server URL',
492
- placeholder: 'https://license.snow-flow.dev (default)',
493
- defaultValue: 'https://license.snow-flow.dev',
494
- validate: (value) => {
495
- // Allow empty - will use default
496
- if (!value || value.trim() === '')
497
- return undefined;
498
- if (!value.startsWith('https://'))
499
- return 'Must be HTTPS URL';
500
- }
501
- });
502
- // Apply default if empty
503
- if (!licenseServerUrl || licenseServerUrl.trim() === '') {
504
- licenseServerUrl = 'https://license.snow-flow.dev';
505
- }
506
- if (prompts.isCancel(licenseServerUrl)) {
507
- prompts.log.info('Enterprise setup skipped');
508
- prompts.outro('Setup complete!');
509
- return;
510
- }
511
- // Ask which integrations to configure
512
- const integrations = await prompts.multiselect({
513
- message: 'Configure integrations (optional)',
514
- options: [
515
- { value: 'jira', label: 'Jira', hint: 'Atlassian Jira Cloud' },
516
- { value: 'azdo', label: 'Azure DevOps', hint: 'Microsoft Azure DevOps' },
517
- { value: 'confluence', label: 'Confluence', hint: 'Atlassian Confluence' }
518
- ],
519
- required: false
520
- });
521
- const enterpriseEnv = {
522
- SNOW_LICENSE_KEY: licenseKey,
523
- SNOW_ENTERPRISE_URL: licenseServerUrl
524
- };
525
- // Jira credentials
526
- if (integrations && integrations.includes('jira')) {
527
- prompts.log.message('Jira Configuration');
528
- const jiraHost = await prompts.text({
529
- message: 'Jira host',
530
- placeholder: 'yourcompany.atlassian.net',
531
- validate: (v) => v && v.includes('.') ? undefined : 'Invalid host'
532
- });
533
- if (!prompts.isCancel(jiraHost)) {
534
- const jiraEmail = await prompts.text({
535
- message: 'Jira email',
536
- placeholder: 'you@company.com',
537
- validate: (v) => v && v.includes('@') ? undefined : 'Invalid email'
538
- });
539
- if (!prompts.isCancel(jiraEmail)) {
540
- const jiraToken = await prompts.password({
541
- message: 'Jira API token',
542
- validate: (v) => v && v.length > 10 ? undefined : 'Token required'
543
- });
544
- if (!prompts.isCancel(jiraToken)) {
545
- enterpriseEnv.JIRA_BASE_URL = `https://${jiraHost}`;
546
- enterpriseEnv.JIRA_EMAIL = jiraEmail;
547
- enterpriseEnv.JIRA_API_TOKEN = jiraToken;
548
- prompts.log.success('Jira configured');
549
- }
115
+ snowcodeCommand = localSnowCode;
116
+ authLogger.debug('Using local SnowCode installation');
550
117
  }
551
118
  }
552
- }
553
- // Azure DevOps credentials
554
- if (integrations && integrations.includes('azdo')) {
555
- prompts.log.message('Azure DevOps Configuration');
556
- const azdoOrg = await prompts.text({
557
- message: 'Azure DevOps organization',
558
- placeholder: 'yourcompany',
559
- validate: (v) => v && v.length > 0 ? undefined : 'Organization required'
560
- });
561
- if (!prompts.isCancel(azdoOrg)) {
562
- const azdoPat = await prompts.password({
563
- message: 'Azure DevOps Personal Access Token (PAT)',
564
- validate: (v) => v && v.length > 20 ? undefined : 'PAT required'
565
- });
566
- if (!prompts.isCancel(azdoPat)) {
567
- enterpriseEnv.AZDO_ORG_URL = `https://dev.azure.com/${azdoOrg}`;
568
- enterpriseEnv.AZDO_PAT = azdoPat;
569
- prompts.log.success('Azure DevOps configured');
570
- }
119
+ catch {
120
+ authLogger.debug('Using global SnowCode installation');
571
121
  }
122
+ prompts.log.message('');
123
+ prompts.log.step('🚀 Starting authentication flow (powered by SnowCode)');
124
+ prompts.log.message('');
125
+ // Call SnowCode auth login - it handles everything now!
126
+ (0, child_process_1.execSync)(`${snowcodeCommand} auth login`, { stdio: 'inherit' });
127
+ prompts.log.message('');
128
+ prompts.log.success('✅ Authentication complete!');
129
+ prompts.log.message('');
130
+ prompts.log.info('Next steps:');
131
+ prompts.log.message(' • Run: snow-flow swarm "<objective>" to start developing');
132
+ prompts.log.message(' • Run: snow-flow auth list to see configured credentials');
133
+ prompts.log.message('');
572
134
  }
573
- // Confluence credentials
574
- if (integrations && integrations.includes('confluence')) {
575
- prompts.log.message('Confluence Configuration');
576
- const confluenceHost = await prompts.text({
577
- message: 'Confluence host',
578
- placeholder: 'yourcompany.atlassian.net',
579
- validate: (v) => v && v.includes('.') ? undefined : 'Invalid host'
580
- });
581
- if (!prompts.isCancel(confluenceHost)) {
582
- const confluenceEmail = await prompts.text({
583
- message: 'Confluence email',
584
- placeholder: 'you@company.com',
585
- validate: (v) => v && v.includes('@') ? undefined : 'Invalid email'
586
- });
587
- if (!prompts.isCancel(confluenceEmail)) {
588
- const confluenceToken = await prompts.password({
589
- message: 'Confluence API token',
590
- validate: (v) => v && v.length > 10 ? undefined : 'Token required'
591
- });
592
- if (!prompts.isCancel(confluenceToken)) {
593
- enterpriseEnv.CONFLUENCE_BASE_URL = `https://${confluenceHost}`;
594
- enterpriseEnv.CONFLUENCE_EMAIL = confluenceEmail;
595
- enterpriseEnv.CONFLUENCE_API_TOKEN = confluenceToken;
596
- prompts.log.success('Confluence configured');
597
- }
598
- }
135
+ catch (error) {
136
+ if (error.code !== 'ENOENT') {
137
+ prompts.log.error(`Authentication failed: ${error.message}`);
599
138
  }
600
139
  }
601
- // Save enterprise credentials to .env
602
- const envPath = path.join(process.cwd(), '.env');
603
- let envContent = '';
140
+ });
141
+ // List credentials
142
+ auth
143
+ .command('list')
144
+ .alias('ls')
145
+ .description('List configured credentials (via SnowCode)')
146
+ .action(async () => {
604
147
  try {
605
- envContent = fs.readFileSync(envPath, 'utf8');
606
- }
607
- catch {
608
- // File doesn't exist, will create
609
- }
610
- for (const [key, value] of Object.entries(enterpriseEnv)) {
611
- if (envContent.includes(`${key}=`)) {
612
- envContent = envContent.replace(new RegExp(`${key}=.*`, 'g'), `${key}=${value}`);
613
- }
614
- else {
615
- envContent += `\n${key}=${value}\n`;
616
- }
617
- process.env[key] = value;
148
+ (0, child_process_1.execSync)('snowcode auth list', { stdio: 'inherit' });
618
149
  }
619
- fs.writeFileSync(envPath, envContent);
620
- prompts.log.success('Enterprise credentials saved to .env');
621
- // Configure enterprise MCP proxy (only for Service Integrators)
622
- const isServiceIntegrator = licenseKey.includes('-SI-');
623
- const isCustomer = !isServiceIntegrator;
624
- if (isCustomer) {
625
- // Customers use remote server only - no proxy needed
626
- prompts.log.success('Enterprise configuration complete');
627
- prompts.log.info('Using remote enterprise server: ' + licenseServerUrl);
150
+ catch (error) {
151
+ prompts.log.error('SnowCode is not installed. Run: npm install -g snow-flow');
628
152
  }
629
- else {
630
- // Service Integrators can use local proxy OR remote server
631
- const spinner3 = prompts.spinner();
632
- spinner3.start('Configuring enterprise MCP proxy');
633
- try {
634
- // Find the enterprise proxy path
635
- const enterpriseProxyPath = path.join(process.cwd(), '..', 'snow-flow-enterprise', 'mcp-proxy', 'dist', 'enterprise-proxy.js');
636
- // Check if proxy exists
637
- if (!fs.existsSync(enterpriseProxyPath)) {
638
- spinner3.stop('Local proxy not found - will use remote server');
639
- prompts.log.message(' (Optional) To use local proxy: cd ../snow-flow-enterprise/mcp-proxy && npm run build');
640
- }
641
- else {
642
- // Configure for SnowCode (prioritize SnowCode config)
643
- const snowcodeConfigPath = path.join(process.env.HOME || '', '.snowcode', 'config.json');
644
- const snowcodeConfigDirPath = path.join(process.env.HOME || '', '.snowcode');
645
- if (!fs.existsSync(snowcodeConfigDirPath)) {
646
- fs.mkdirSync(snowcodeConfigDirPath, { recursive: true });
647
- }
648
- let snowcodeConfig = { mcpServers: {} };
649
- if (fs.existsSync(snowcodeConfigPath)) {
650
- try {
651
- snowcodeConfig = JSON.parse(fs.readFileSync(snowcodeConfigPath, 'utf8'));
652
- }
653
- catch {
654
- snowcodeConfig = { mcpServers: {} };
655
- }
656
- }
657
- if (!snowcodeConfig.mcpServers) {
658
- snowcodeConfig.mcpServers = {};
659
- }
660
- // Add enterprise MCP server
661
- snowcodeConfig.mcpServers['snow-flow-enterprise'] = {
662
- command: 'node',
663
- args: [enterpriseProxyPath],
664
- env: enterpriseEnv
665
- };
666
- fs.writeFileSync(snowcodeConfigPath, JSON.stringify(snowcodeConfig, null, 2));
667
- spinner3.stop('Enterprise MCP proxy configured for SnowCode');
668
- prompts.log.success(`Config saved: ${snowcodeConfigPath}`);
669
- // Also try Claude Code config
670
- const claudeConfigPath = path.join(process.env.HOME || '', '.claude', 'settings.json');
671
- if (fs.existsSync(path.dirname(claudeConfigPath))) {
672
- try {
673
- let claudeConfig = { mcpServers: {} };
674
- if (fs.existsSync(claudeConfigPath)) {
675
- claudeConfig = JSON.parse(fs.readFileSync(claudeConfigPath, 'utf8'));
676
- }
677
- if (!claudeConfig.mcpServers) {
678
- claudeConfig.mcpServers = {};
679
- }
680
- claudeConfig.mcpServers['snow-flow-enterprise'] = {
681
- command: 'node',
682
- args: [enterpriseProxyPath],
683
- env: enterpriseEnv
684
- };
685
- fs.writeFileSync(claudeConfigPath, JSON.stringify(claudeConfig, null, 2));
686
- prompts.log.success('Also configured for Claude Code');
687
- }
688
- catch {
689
- // Claude Code config optional
690
- }
691
- }
692
- }
693
- }
694
- catch (error) {
695
- spinner3.stop('Enterprise proxy configuration failed');
696
- prompts.log.warn(`Error: ${error.message}`);
697
- prompts.log.message('You can configure manually later');
698
- }
699
- } // Close Service Integrator else block
700
- prompts.outro('🎉 Enterprise setup complete! Restart your AI coding assistant to use enterprise features.');
701
153
  });
154
+ // Logout
702
155
  auth
703
156
  .command('logout')
704
- .description('Logout from ServiceNow')
157
+ .description('Log out from a configured provider (via SnowCode)')
705
158
  .action(async () => {
706
- const oauth = new snow_oauth_js_1.ServiceNowOAuth();
707
- await oauth.logout();
708
- prompts.log.success('Logged out successfully');
709
- });
710
- auth
711
- .command('status')
712
- .description('Show ServiceNow authentication status')
713
- .action(async () => {
714
- const oauth = new snow_oauth_js_1.ServiceNowOAuth();
715
- prompts.log.step('ServiceNow Authentication Status');
716
- const isAuthenticated = await oauth.isAuthenticated();
717
- const credentials = await oauth.loadCredentials();
718
- if (isAuthenticated && credentials) {
719
- prompts.log.success('Status: Authenticated');
720
- prompts.log.info(`Instance: ${credentials.instance}`);
721
- prompts.log.info('Method: OAuth 2.0');
722
- prompts.log.info(`Client ID: ${credentials.clientId}`);
723
- if (credentials.expiresAt) {
724
- const expiresAt = new Date(credentials.expiresAt);
725
- prompts.log.info(`Token expires: ${expiresAt.toLocaleString()}`);
726
- }
727
- // Test connection
728
- const spinner = prompts.spinner();
729
- spinner.start('Testing connection');
730
- const client = new servicenow_client_js_1.ServiceNowClient();
731
- const testResult = await client.testConnection();
732
- if (testResult.success) {
733
- spinner.stop('Connection test successful');
734
- if (testResult.data.message) {
735
- prompts.log.message(` ${testResult.data.message}`);
736
- }
737
- prompts.log.info(`Instance: ${testResult.data.email || credentials.instance}`);
738
- }
739
- else {
740
- spinner.stop('Connection test failed');
741
- prompts.log.error(`Error: ${testResult.error}`);
742
- }
159
+ try {
160
+ (0, child_process_1.execSync)('snowcode auth logout', { stdio: 'inherit' });
743
161
  }
744
- else {
745
- prompts.log.error('Status: Not authenticated');
746
- prompts.log.message('Instance: Not configured');
747
- prompts.log.message('Method: Not set');
748
- prompts.log.message('');
749
- prompts.log.info('Create .env file and run "snow-flow auth login"');
162
+ catch (error) {
163
+ prompts.log.error('SnowCode is not installed. Run: npm install -g snow-flow');
750
164
  }
751
165
  });
752
166
  }
@@ -1 +1 @@
1
- {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/cli/auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/cli/auth.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "snow-flow",
3
- "version": "8.6.66",
3
+ "version": "8.7.2",
4
4
  "description": "ServiceNow development with SnowCode - 75+ LLM providers (Claude, GPT, Gemini, Llama, Mistral, DeepSeek, Groq, Ollama) • 410 Optimized Tools • 2 MCP Servers • Native Predictive Intelligence builder • Multi-agent orchestration • Use ANY AI coding assistant",
5
5
  "main": "dist/index.js",
6
6
  "type": "commonjs",
@@ -532,7 +532,7 @@
532
532
  "typescript": "5.9.3"
533
533
  },
534
534
  "peerDependencies": {
535
- "@groeimetai/snowcode": ">=0.15.36"
535
+ "@groeimetai/snowcode": ">=0.16.0"
536
536
  },
537
537
  "peerDependenciesMeta": {
538
538
  "@groeimetai/snowcode": {