@arjunkhera/atlas 0.3.5 → 0.3.6

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,6 +1,6 @@
1
1
  {
2
2
  "name": "atlas",
3
- "version": "0.3.5",
3
+ "version": "0.3.6",
4
4
  "description": "Atlas: the delivery lifecycle, its crews and the Atlas tools, for any repository.",
5
5
  "author": {
6
6
  "name": "Arjun Khera"
package/.mcp.json CHANGED
@@ -7,6 +7,7 @@
7
7
  ],
8
8
  "env": {
9
9
  "ATLAS_ENGRAM": "${user_config.engram_connection}",
10
+ "ATLAS_ENGRAM_CLOUD": "${ATLAS_ENGRAM:-}",
10
11
  "ATLAS_WORK_OWNER_PRESENT": "1",
11
12
  "ATLAS_WORK_JOURNAL": "",
12
13
  "ATLAS_WORK_SESSION": "",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@arjunkhera/atlas",
3
- "version": "0.3.5",
3
+ "version": "0.3.6",
4
4
  "description": "Atlas: the delivery lifecycle, its crews and the Atlas tools, as a Claude Code plugin for any repository.",
5
5
  "type": "module",
6
6
  "license": "UNLICENSED",
package/work/mcp.mjs CHANGED
@@ -8,8 +8,11 @@
8
8
  // The Engram address and key arrive together, as one setting, in
9
9
  // ATLAS_ENGRAM. When that setting arrives empty, the server reads the same
10
10
  // value from one owner-only file, ~/.config/atlas/engram-connection (atlas#101:
11
- // Claude Desktop starts the server with the sensitive setting empty). It reads
12
- // them from nowhere else.
11
+ // Claude Desktop starts the server with the sensitive setting empty). In a
12
+ // Claude cloud session only, it reads the cloud environment's own ATLAS_ENGRAM
13
+ // variable first, which .mcp.json passes on as ATLAS_ENGRAM_CLOUD, because the
14
+ // empty plugin setting hides it and a cloud setup script cannot see it. It
15
+ // reads them from nowhere else.
13
16
  import { execFileSync } from 'node:child_process';
14
17
  import { randomUUID } from 'node:crypto';
15
18
  import { resolve, isAbsolute, dirname, join, delimiter } from 'node:path';
@@ -111,6 +114,7 @@ function readConnectionFile(env) {
111
114
  }
112
115
  export function readConnection(env, { allowLoopbackHttp = false, now = Date.now() } = {}) {
113
116
  let raw = unset(env.ATLAS_ENGRAM) ? '' : String(env.ATLAS_ENGRAM).trim();
117
+ if (!raw && inClaudeCloud(env) && !unset(env.ATLAS_ENGRAM_CLOUD)) raw = String(env.ATLAS_ENGRAM_CLOUD).trim();
114
118
  if (!raw) {
115
119
  const file = readConnectionFile(env);
116
120
  if (file.refused) return { state: 'bad', message: `The Engram connection file is refused. ${file.refused}` };