@atlasnomos/atlas 1.1.9 → 1.1.12

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@atlasnomos/atlas",
3
- "version": "1.1.9",
3
+ "version": "1.1.12",
4
4
  "description": "Production-grade AI governance kernel for autonomous agents with fail-closed security and cryptographic audit trails",
5
5
  "main": "atlas.js",
6
6
  "bin": {
@@ -173,7 +173,7 @@ ${chalk.gray(SecretRedactor.redact(e.message))}
173
173
 
174
174
  ${chalk.cyan('Debug Info:')}
175
175
  • Logged to: ${chalk.gray('.atlas/logs/errors.jsonl')}
176
- • Version: ${chalk.gray('v1.1.1')}
176
+ • Version: ${chalk.gray('v' + (require('../../../package.json').version || 'unknown'))}
177
177
 
178
178
  ${chalk.gray('Please report this at')}: ${chalk.blue('https://github.com/atlas/atlas/issues')}
179
179
  `
@@ -30,7 +30,8 @@ class CommandDispatcher {
30
30
 
31
31
  // Version
32
32
  if (['version', '--version', '-v'].includes(commandName)) {
33
- console.log('ATLAS V1 (Governance Kernel)');
33
+ const version = require('../../../package.json').version || 'V1';
34
+ console.log(`ATLAS v${version} (Governance Kernel)`);
34
35
  return { success: true };
35
36
  }
36
37
 
@@ -47,6 +47,7 @@ class InitCommand {
47
47
 
48
48
  // 2. Save .env
49
49
  let envContent = '# ATLAS Environment Configuration\n';
50
+ envContent += 'ATLAS_DEV_BYPASS=true\n'; // Enable seamless local development
50
51
  for (const [k, v] of Object.entries(keys)) {
51
52
  if (v) envContent += `${k}=${v}\n`;
52
53
  }
@@ -361,9 +361,11 @@ class KernelBootstrap {
361
361
  const { getInstance: getSentinel } = require('../constitution/SentinelInterface');
362
362
  const sentinel = getSentinel();
363
363
 
364
- if (!IS_LGM) {
364
+ if (!IS_LGM && this.tierManager.requiresSentinel()) {
365
365
  await mcp.authorize(sentinel);
366
366
  console.log(' ✓ MCP: Authorized and Locked');
367
+ } else if (!IS_LGM) {
368
+ console.log(' ⚠ MCP: Authorized via Local Bypass (DEV Tier)');
367
369
  } else {
368
370
  console.log(' ⚠ MCP: Local Authorization (LGM Enabled)');
369
371
  }
@@ -49,6 +49,11 @@ class ModelConfigurationPlane {
49
49
 
50
50
  // 2. Load and Hash Config
51
51
  if (!fs.existsSync(this.configPath)) {
52
+ console.error('\n❌ ATLAS NOT INITIALIZED');
53
+ console.error(' ----------------------');
54
+ console.error(` Configuration not found at: ${this.configPath}`);
55
+ console.error(' Remediation: Run "atlas init" to generate your model configuration.\n');
56
+
52
57
  panic('MCP_CONFIG_MISSING', {
53
58
  path: this.configPath,
54
59
  remediation: 'Run "atlas init" to generate default model configuration.'
@@ -74,10 +79,12 @@ class ModelConfigurationPlane {
74
79
  }
75
80
 
76
81
  getConfig() {
82
+ if (!this.config) this.validate();
77
83
  return this.config;
78
84
  }
79
85
 
80
86
  updateBinding(role, updates) {
87
+ if (!this.config) this.validate();
81
88
  if (!this.config.roles[role]) {
82
89
  panic('MCP_UNKNOWN_ROLE', { role });
83
90
  }
@@ -465,12 +465,15 @@ class SentinelInterface {
465
465
  const options = {
466
466
  method,
467
467
  headers: {
468
- 'Content-Type': 'application/json',
469
- 'X-API-Key': this.apiKey
468
+ 'Content-Type': 'application/json'
470
469
  },
471
470
  timeout: timeoutMs
472
471
  };
473
472
 
473
+ if (this.apiKey) {
474
+ options.headers['X-API-Key'] = this.apiKey;
475
+ }
476
+
474
477
  const req = transport.request(`${baseUrl}${urlPath}`, options, (res) => {
475
478
  let responseData = '';
476
479
  res.on('data', chunk => responseData += chunk);