securenow 7.6.3 → 7.6.4

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/cli/apiKey.js CHANGED
@@ -45,7 +45,7 @@ async function clear(args, flags) {
45
45
  async function show() {
46
46
  const key = config.getApiKey();
47
47
  if (!key) {
48
- ui.info('No API key stored in credentials. Run `npx securenow login` or `npx securenow api-key set snk_live_...`.');
48
+ ui.info('Runtime firewall enforcement key is missing. Run `npx securenow login` or `npx securenow api-key set snk_live_...` to refresh .securenow/credentials.json.');
49
49
  return;
50
50
  }
51
51
  console.log(maskKey(key));
@@ -66,7 +66,7 @@ async function runtime(_args, flags) {
66
66
  warn('No app key found. Run `npx securenow login` first so telemetry routes to the selected app.');
67
67
  }
68
68
  if (!creds.apiKey) {
69
- warn('No firewall API key found. Run `npx securenow login` or `npx securenow api-key set snk_live_...` first.');
69
+ warn('Runtime firewall enforcement key is missing. Run `npx securenow login` or `npx securenow api-key set snk_live_...` before generating production runtime credentials.');
70
70
  }
71
71
 
72
72
  if (flags.stdout) {
@@ -353,8 +353,10 @@ async function doctor(_args, flags) {
353
353
  if (cfg.instance === 'https://freetrial.securenow.ai:4318') {
354
354
  warnings.push('Using the free-trial collector. For production, set app.instance in .securenow/credentials.json.');
355
355
  }
356
- if (!cfg.apiKey) {
357
- warnings.push('No snk_live firewall API key is resolvable. Run `npx securenow login` or `npx securenow api-key set`.');
356
+ if (!cfg.apiKey && token) {
357
+ warnings.push('CLI/MCP is authenticated with your SecureNow session token. Runtime firewall enforcement key is missing. Run `npx securenow login` or `npx securenow api-key set snk_live_...` to refresh .securenow/credentials.json.');
358
+ } else if (!cfg.apiKey) {
359
+ warnings.push('Runtime firewall enforcement key is missing. Run `npx securenow login` or `npx securenow api-key set snk_live_...` to refresh .securenow/credentials.json.');
358
360
  }
359
361
 
360
362
  const ok = checks.every((c) => c.ok);
package/mcp/server.js CHANGED
@@ -53,10 +53,14 @@ function localAuthStatus() {
53
53
  const token = config.getToken();
54
54
  const apiKey = config.getApiKey();
55
55
  const hasBearer = !!(token || apiKey);
56
+ const runtimeFirewallWarning = token && !apiKey
57
+ ? 'MCP is authenticated with your SecureNow session token. Runtime firewall enforcement key is missing. Run `npx securenow login` or `npx securenow api-key set snk_live_...` to refresh .securenow/credentials.json.'
58
+ : null;
56
59
  return {
57
60
  authenticated: hasBearer,
58
61
  sessionTokenAvailable: !!token,
59
62
  apiKeyAvailable: !!apiKey,
63
+ runtimeFirewallKeyAvailable: !!apiKey,
60
64
  authSource: config.getAuthSource(),
61
65
  apiUrl: config.getApiUrl(),
62
66
  appUrl: config.getAppUrl(),
@@ -70,8 +74,9 @@ function localAuthStatus() {
70
74
  defaultApp: cfg.defaultApp,
71
75
  output: cfg.output,
72
76
  },
77
+ warnings: runtimeFirewallWarning ? [runtimeFirewallWarning] : [],
73
78
  nextStep: token
74
- ? null
79
+ ? runtimeFirewallWarning
75
80
  : apiKey
76
81
  ? 'Using a scoped API key. Run `npx securenow login` for account-wide MCP tools.'
77
82
  : 'Run `npx securenow login` from the project root.',
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "securenow",
3
- "version": "7.6.3",
3
+ "version": "7.6.4",
4
4
  "description": "OpenTelemetry instrumentation for Node.js, Next.js, and Nuxt - Send traces and logs to any OTLP-compatible backend",
5
5
  "type": "commonjs",
6
6
  "main": "register.js",