@indigoai-us/hq-cloud 6.14.48 → 6.14.49

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":"cognito-auth.d.ts","sourceRoot":"","sources":["../src/cognito-auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cognito-auth.d.ts","sourceRoot":"","sources":["../src/cognito-auth.ts"],"names":[],"mappings":"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"}
@@ -49,16 +49,44 @@ export class CognitoRefreshError extends CognitoAuthError {
49
49
  // ---------------------------------------------------------------------------
50
50
  // Token cache (~/.hq/cognito-tokens.json)
51
51
  // ---------------------------------------------------------------------------
52
- const HQ_DIR = path.join(os.homedir(), ".hq");
53
- const TOKEN_FILE = path.join(HQ_DIR, "cognito-tokens.json");
54
- const TOKEN_INVALIDATION_PREFIX = `${TOKEN_FILE}.invalid.`;
52
+ /**
53
+ * Root for hq CLI state: the token cache and its refresh lock.
54
+ *
55
+ * `HQ_STATE_DIR` overrides it, mirroring the existing `HQ_MACHINE_CREDS_FILE`
56
+ * override for the creds path. Before this existed the location was
57
+ * `os.homedir()/.hq` with NO escape hatch, which made every auth path — machine
58
+ * identity included — require a writable HOME. A child job running with a
59
+ * read-only HQ state directory therefore died on a *cache write* before it ever
60
+ * reached the network:
61
+ *
62
+ * EACCES: permission denied, open '…/.hq/cognito-tokens.json.lock.candidate.…'
63
+ *
64
+ * Pointing HQ_STATE_DIR at a writable tmpfs lets such a job authenticate while
65
+ * leaving the credentials themselves wherever they are.
66
+ *
67
+ * Resolved per call (not once at import) so a caller can set it during startup
68
+ * and so tests can exercise both branches.
69
+ */
70
+ export function hqStateDir() {
71
+ const override = process.env.HQ_STATE_DIR?.trim();
72
+ return override !== undefined && override.length > 0
73
+ ? override
74
+ : path.join(os.homedir(), ".hq");
75
+ }
76
+ /** The Cognito token cache file inside {@link hqStateDir}. */
77
+ export function tokenCacheFile() {
78
+ return path.join(hqStateDir(), "cognito-tokens.json");
79
+ }
80
+ function tokenInvalidationPrefix() {
81
+ return `${tokenCacheFile()}.invalid.`;
82
+ }
55
83
  /** Stable, non-secret identity for one access-token generation. */
56
84
  export function accessTokenFingerprint(accessToken) {
57
85
  return crypto.createHash("sha256").update(accessToken).digest("hex");
58
86
  }
59
87
  function invalidationPathForFingerprint(fingerprint) {
60
88
  return /^[a-f0-9]{64}$/i.test(fingerprint)
61
- ? `${TOKEN_INVALIDATION_PREFIX}${fingerprint.toLowerCase()}`
89
+ ? `${tokenInvalidationPrefix()}${fingerprint.toLowerCase()}`
62
90
  : null;
63
91
  }
64
92
  /**
@@ -72,8 +100,8 @@ export function invalidateCachedTokensByFingerprint(fingerprint) {
72
100
  const invalidationPath = invalidationPathForFingerprint(fingerprint);
73
101
  if (!invalidationPath)
74
102
  return;
75
- if (!fs.existsSync(HQ_DIR)) {
76
- fs.mkdirSync(HQ_DIR, { recursive: true, mode: 0o700 });
103
+ if (!fs.existsSync(hqStateDir())) {
104
+ fs.mkdirSync(hqStateDir(), { recursive: true, mode: 0o700 });
77
105
  }
78
106
  try {
79
107
  fs.writeFileSync(invalidationPath, "", { mode: 0o600, flag: "wx" });
@@ -90,46 +118,78 @@ function tokenIsInvalidated(accessToken) {
90
118
  const marker = invalidationPathForFingerprint(accessTokenFingerprint(accessToken));
91
119
  return marker !== null && fs.existsSync(marker);
92
120
  }
121
+ /**
122
+ * True for the errno family a read-only / not-writable state directory raises.
123
+ *
124
+ * A job whose HQ state dir is mounted read-only (container, restricted
125
+ * sandbox, root-owned dir entered as another user) must still be able to
126
+ * AUTHENTICATE — persisting the session is an optimisation, not a requirement.
127
+ */
128
+ function isNotWritableError(err) {
129
+ const code = err?.code;
130
+ return code === "EROFS" || code === "EACCES" || code === "EPERM";
131
+ }
132
+ /**
133
+ * Process-local fallback used when the state directory cannot be written.
134
+ *
135
+ * Keeps the cache semantics intact for the life of the process instead of
136
+ * failing the call outright. It is deliberately NOT a substitute for the shared
137
+ * on-disk cache: a fresh subprocess starts empty and re-mints.
138
+ */
139
+ let inMemoryCachedTokens = null;
93
140
  export function loadCachedTokens() {
94
- if (!fs.existsSync(TOKEN_FILE))
95
- return null;
141
+ if (!fs.existsSync(tokenCacheFile()))
142
+ return inMemoryCachedTokens;
96
143
  try {
97
- const raw = fs.readFileSync(TOKEN_FILE, "utf-8");
144
+ const raw = fs.readFileSync(tokenCacheFile(), "utf-8");
98
145
  const tokens = JSON.parse(raw);
99
146
  if (!tokens.accessToken || tokenIsInvalidated(tokens.accessToken))
100
147
  return null;
101
148
  return tokens;
102
149
  }
103
150
  catch {
104
- return null;
151
+ return inMemoryCachedTokens;
105
152
  }
106
153
  }
107
154
  export function saveCachedTokens(tokens) {
108
- if (!fs.existsSync(HQ_DIR)) {
109
- fs.mkdirSync(HQ_DIR, { recursive: true, mode: 0o700 });
155
+ // Remember in-process FIRST: whatever happens to the disk write below, this
156
+ // process must not lose a session it already successfully minted.
157
+ inMemoryCachedTokens = tokens;
158
+ try {
159
+ if (!fs.existsSync(hqStateDir())) {
160
+ fs.mkdirSync(hqStateDir(), { recursive: true, mode: 0o700 });
161
+ }
162
+ const invalidationPath = invalidationPathForFingerprint(accessTokenFingerprint(tokens.accessToken));
163
+ if (invalidationPath && fs.existsSync(invalidationPath)) {
164
+ fs.unlinkSync(invalidationPath);
165
+ }
166
+ const tmpPath = path.join(hqStateDir(), `.cognito-tokens.json.tmp.${process.pid}`);
167
+ fs.writeFileSync(tmpPath, JSON.stringify(tokens, null, 2), { mode: 0o600 });
168
+ fs.renameSync(tmpPath, tokenCacheFile());
110
169
  }
111
- const invalidationPath = invalidationPathForFingerprint(accessTokenFingerprint(tokens.accessToken));
112
- if (invalidationPath && fs.existsSync(invalidationPath)) {
113
- fs.unlinkSync(invalidationPath);
170
+ catch (err) {
171
+ // A read-only state dir degrades to the in-memory cache. Any other error
172
+ // (disk full, corrupt path) is still a real fault and propagates.
173
+ if (!isNotWritableError(err))
174
+ throw err;
114
175
  }
115
- const tmpPath = path.join(HQ_DIR, `.cognito-tokens.json.tmp.${process.pid}`);
116
- fs.writeFileSync(tmpPath, JSON.stringify(tokens, null, 2), { mode: 0o600 });
117
- fs.renameSync(tmpPath, TOKEN_FILE);
118
176
  }
119
177
  export function clearCachedTokens() {
120
- if (fs.existsSync(TOKEN_FILE))
121
- fs.unlinkSync(TOKEN_FILE);
122
- if (!fs.existsSync(HQ_DIR))
178
+ if (fs.existsSync(tokenCacheFile()))
179
+ fs.unlinkSync(tokenCacheFile());
180
+ if (!fs.existsSync(hqStateDir()))
123
181
  return;
124
- const markerPrefix = `${path.basename(TOKEN_FILE)}.invalid.`;
125
- for (const entry of fs.readdirSync(HQ_DIR)) {
182
+ const markerPrefix = `${path.basename(tokenCacheFile())}.invalid.`;
183
+ for (const entry of fs.readdirSync(hqStateDir())) {
126
184
  if (entry.startsWith(markerPrefix)) {
127
- fs.unlinkSync(path.join(HQ_DIR, entry));
185
+ fs.unlinkSync(path.join(hqStateDir(), entry));
128
186
  }
129
187
  }
130
188
  }
131
189
  /** Advisory lockfile guarding the read→refresh→save cycle (see withRefreshLock). */
132
- const REFRESH_LOCK_FILE = `${TOKEN_FILE}.lock`;
190
+ function refreshLockFile() {
191
+ return `${tokenCacheFile()}.lock`;
192
+ }
133
193
  /** Thrown when the refresh lock can't be acquired within the deadline. */
134
194
  export class RefreshLockTimeoutError extends Error {
135
195
  constructor() {
@@ -140,7 +200,7 @@ export class RefreshLockTimeoutError extends Error {
140
200
  /** The pid recorded in the lockfile, or null if absent/empty/malformed. */
141
201
  function readLockOwnerPid() {
142
202
  try {
143
- const pid = Number.parseInt(fs.readFileSync(REFRESH_LOCK_FILE, "utf-8").trim(), 10);
203
+ const pid = Number.parseInt(fs.readFileSync(refreshLockFile(), "utf-8").trim(), 10);
144
204
  return Number.isInteger(pid) && pid > 0 ? pid : null;
145
205
  }
146
206
  catch {
@@ -188,23 +248,42 @@ function processAlive(pid) {
188
248
  async function withRefreshLock(fn) {
189
249
  const timeoutMs = 20_000;
190
250
  const pollMs = 50;
191
- if (!fs.existsSync(HQ_DIR)) {
192
- fs.mkdirSync(HQ_DIR, { recursive: true, mode: 0o700 });
251
+ try {
252
+ if (!fs.existsSync(hqStateDir())) {
253
+ fs.mkdirSync(hqStateDir(), { recursive: true, mode: 0o700 });
254
+ }
255
+ }
256
+ catch (err) {
257
+ if (!isNotWritableError(err))
258
+ throw err;
259
+ return await fn();
193
260
  }
194
261
  // Publish a fully-written inode with an atomic hard link. Creating the lock
195
262
  // itself and then writing the pid leaves an observable empty-file window in
196
263
  // which a contender can misclassify and unlink a live holder's lock.
197
- const candidate = `${REFRESH_LOCK_FILE}.candidate.${process.pid}.${crypto.randomBytes(8).toString("hex")}`;
198
- fs.writeFileSync(candidate, String(process.pid), {
199
- flag: "wx",
200
- mode: 0o600,
201
- });
264
+ const candidate = `${refreshLockFile()}.candidate.${process.pid}.${crypto.randomBytes(8).toString("hex")}`;
265
+ try {
266
+ fs.writeFileSync(candidate, String(process.pid), {
267
+ flag: "wx",
268
+ mode: 0o600,
269
+ });
270
+ }
271
+ catch (err) {
272
+ if (!isNotWritableError(err))
273
+ throw err;
274
+ // The state dir is not writable, so NO process can be persisting to this
275
+ // cache — there is nothing to serialize against and the lock's only job is
276
+ // moot. Run unlocked rather than failing the caller's authentication on a
277
+ // lockfile we neither need nor can create. (Before this, a read-only state
278
+ // dir raised EACCES here, killing machine auth before any network call.)
279
+ return await fn();
280
+ }
202
281
  const deadline = Date.now() + timeoutMs;
203
282
  let held = false;
204
283
  try {
205
284
  for (;;) {
206
285
  try {
207
- fs.linkSync(candidate, REFRESH_LOCK_FILE);
286
+ fs.linkSync(candidate, refreshLockFile());
208
287
  held = true;
209
288
  break;
210
289
  }
@@ -214,7 +293,7 @@ async function withRefreshLock(fn) {
214
293
  const owner = readLockOwnerPid();
215
294
  if (owner === null || (owner !== process.pid && !processAlive(owner))) {
216
295
  try {
217
- fs.unlinkSync(REFRESH_LOCK_FILE); // crashed/malformed holder — reclaim
296
+ fs.unlinkSync(refreshLockFile()); // crashed/malformed holder — reclaim
218
297
  }
219
298
  catch {
220
299
  /* raced with another reclaimer */
@@ -232,7 +311,7 @@ async function withRefreshLock(fn) {
232
311
  // Release ONLY our own lock — never clobber a successor's.
233
312
  if (held && readLockOwnerPid() === process.pid) {
234
313
  try {
235
- fs.unlinkSync(REFRESH_LOCK_FILE);
314
+ fs.unlinkSync(refreshLockFile());
236
315
  }
237
316
  catch {
238
317
  /* already released */
@@ -430,6 +509,44 @@ export function loadMachineCreds() {
430
509
  export function isMachineIdentity() {
431
510
  return loadMachineCreds() !== null;
432
511
  }
512
+ /**
513
+ * Whether the caller declared this process MUST run as a machine identity
514
+ * (`HQ_REQUIRE_MACHINE_IDENTITY=1`).
515
+ *
516
+ * Set it on unattended runners — child jobs, workers, skill subprocesses. It
517
+ * converts the worst failure mode in this module into a clear one.
518
+ *
519
+ * Without it, a machine context that cannot find its credentials does not
520
+ * error: `isMachineIdentity()` returns false and the caller quietly proceeds to
521
+ * the HUMAN Cognito path. On a headless box that means "launching browser
522
+ * sign-in" and a hang until something times out — observed in production, and
523
+ * reported by a client as child jobs "falling back to refreshing a human HQ
524
+ * session". The cause (a different HOME, so a different creds path) is nowhere
525
+ * in that message.
526
+ */
527
+ export function machineIdentityRequired() {
528
+ const raw = process.env.HQ_REQUIRE_MACHINE_IDENTITY?.trim().toLowerCase();
529
+ return raw === "1" || raw === "true" || raw === "yes";
530
+ }
531
+ /**
532
+ * Throw a typed, diagnosable error when machine identity is REQUIRED but the
533
+ * creds file is not readable. Names the exact path checked and how it was
534
+ * derived, so the fix (set `HQ_MACHINE_CREDS_FILE`, or restore HOME) is
535
+ * readable straight off the error. No-op when not required or already a
536
+ * machine identity.
537
+ */
538
+ export function assertMachineIdentityWhenRequired() {
539
+ if (!machineIdentityRequired() || isMachineIdentity())
540
+ return;
541
+ const explicit = process.env.HQ_MACHINE_CREDS_FILE?.trim();
542
+ const source = explicit !== undefined && explicit.length > 0
543
+ ? "HQ_MACHINE_CREDS_FILE"
544
+ : `os.homedir()=${os.homedir()}`;
545
+ throw new CognitoAuthError(`HQ_REQUIRE_MACHINE_IDENTITY is set but no usable machine credentials were ` +
546
+ `found at ${machineCredsFilePath()} (path from ${source}). Refusing to ` +
547
+ `fall back to an interactive human session. Set HQ_MACHINE_CREDS_FILE to ` +
548
+ `the credentials file, or run with the HOME that owns it.`);
549
+ }
433
550
  const DEFAULT_MINT_RETRY = {
434
551
  maxRetries: 5,
435
552
  baseDelayMs: 250,
@@ -931,6 +1048,10 @@ export async function getValidAccessToken(config, options = {}) {
931
1048
  const machine = await getValidMachineTokens(config);
932
1049
  return machine.idToken;
933
1050
  }
1051
+ // Past this point we are on the HUMAN path (cache -> refresh -> browser).
1052
+ // An unattended runner that declared itself a machine must fail here with a
1053
+ // diagnosable error rather than silently trying to sign a person in.
1054
+ assertMachineIdentityWhenRequired();
934
1055
  let cached = loadCachedTokens();
935
1056
  // Stale-pool detection: if the cached access token was issued by a
936
1057
  // different Cognito App Client than the one we're talking to now, drop the
@@ -1 +1 @@
1
- {"version":3,"file":"cognito-auth.js","sourceRoot":"","sources":["../src/cognito-auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cognito-auth.js","sourceRoot":"","sources":["../src/cognito-auth.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Child-job authentication against a read-only HQ state directory.
3
+ *
4
+ * WHY (client report + live reproduction 2026-08-10)
5
+ * --------------------------------------------------
6
+ * "The parent runner can authenticate and reach every provider, but the skill
7
+ * subprocesses cannot use that machine authentication. They fall back to
8
+ * refreshing a human HQ session, which then fails because the job's HQ state
9
+ * directory is read-only."
10
+ *
11
+ * Two independent defects produced that:
12
+ *
13
+ * 1. The state dir was hardcoded to `os.homedir()/.hq` with no override, while
14
+ * the CREDS path already had one (HQ_MACHINE_CREDS_FILE). So auth required
15
+ * a writable HOME even for a machine identity: with valid machine creds and
16
+ * a read-only `~/.hq`, `getValidMachineTokens` died on the lock candidate
17
+ * write with EACCES *before any network call*.
18
+ *
19
+ * 2. A machine context that cannot find its creds does not error —
20
+ * `isMachineIdentity()` returns false and the caller proceeds to the human
21
+ * path, which on a headless box tries to open a browser and hangs.
22
+ *
23
+ * These tests pin the fixes: HQ_STATE_DIR redirects state, writes degrade
24
+ * instead of throwing, and HQ_REQUIRE_MACHINE_IDENTITY makes the downgrade loud.
25
+ */
26
+ export {};
27
+ //# sourceMappingURL=read-only-state-dir.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"read-only-state-dir.test.d.ts","sourceRoot":"","sources":["../src/read-only-state-dir.test.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;GAwBG"}
@@ -0,0 +1,167 @@
1
+ /**
2
+ * Child-job authentication against a read-only HQ state directory.
3
+ *
4
+ * WHY (client report + live reproduction 2026-08-10)
5
+ * --------------------------------------------------
6
+ * "The parent runner can authenticate and reach every provider, but the skill
7
+ * subprocesses cannot use that machine authentication. They fall back to
8
+ * refreshing a human HQ session, which then fails because the job's HQ state
9
+ * directory is read-only."
10
+ *
11
+ * Two independent defects produced that:
12
+ *
13
+ * 1. The state dir was hardcoded to `os.homedir()/.hq` with no override, while
14
+ * the CREDS path already had one (HQ_MACHINE_CREDS_FILE). So auth required
15
+ * a writable HOME even for a machine identity: with valid machine creds and
16
+ * a read-only `~/.hq`, `getValidMachineTokens` died on the lock candidate
17
+ * write with EACCES *before any network call*.
18
+ *
19
+ * 2. A machine context that cannot find its creds does not error —
20
+ * `isMachineIdentity()` returns false and the caller proceeds to the human
21
+ * path, which on a headless box tries to open a browser and hangs.
22
+ *
23
+ * These tests pin the fixes: HQ_STATE_DIR redirects state, writes degrade
24
+ * instead of throwing, and HQ_REQUIRE_MACHINE_IDENTITY makes the downgrade loud.
25
+ */
26
+ import * as fs from "fs";
27
+ import * as os from "os";
28
+ import * as path from "path";
29
+ import { afterEach, beforeEach, describe, expect, it, vi } from "vitest";
30
+ let originalHome;
31
+ let originalStateDir;
32
+ let originalCredsEnv;
33
+ let originalRequireEnv;
34
+ let tmpHome;
35
+ beforeEach(() => {
36
+ originalHome = process.env.HOME;
37
+ originalStateDir = process.env.HQ_STATE_DIR;
38
+ originalCredsEnv = process.env.HQ_MACHINE_CREDS_FILE;
39
+ originalRequireEnv = process.env.HQ_REQUIRE_MACHINE_IDENTITY;
40
+ tmpHome = fs.mkdtempSync(path.join(os.tmpdir(), "hq-ro-state-test-"));
41
+ process.env.HOME = tmpHome;
42
+ delete process.env.HQ_STATE_DIR;
43
+ delete process.env.HQ_MACHINE_CREDS_FILE;
44
+ delete process.env.HQ_REQUIRE_MACHINE_IDENTITY;
45
+ vi.resetModules();
46
+ });
47
+ afterEach(() => {
48
+ const restore = (key, value) => {
49
+ if (value === undefined)
50
+ delete process.env[key];
51
+ else
52
+ process.env[key] = value;
53
+ };
54
+ restore("HOME", originalHome);
55
+ restore("HQ_STATE_DIR", originalStateDir);
56
+ restore("HQ_MACHINE_CREDS_FILE", originalCredsEnv);
57
+ restore("HQ_REQUIRE_MACHINE_IDENTITY", originalRequireEnv);
58
+ try {
59
+ fs.chmodSync(path.join(tmpHome, ".hq"), 0o700);
60
+ }
61
+ catch {
62
+ /* dir may not exist */
63
+ }
64
+ fs.rmSync(tmpHome, { recursive: true, force: true });
65
+ });
66
+ const TOKENS = {
67
+ accessToken: "access-token-value",
68
+ idToken: "id-token-value",
69
+ refreshToken: "",
70
+ expiresAt: Date.now() + 3_600_000,
71
+ tokenType: "Bearer",
72
+ };
73
+ describe("HQ_STATE_DIR override", () => {
74
+ it("defaults to ~/.hq when unset", async () => {
75
+ const mod = await import("./cognito-auth.js");
76
+ expect(mod.hqStateDir()).toBe(path.join(tmpHome, ".hq"));
77
+ expect(mod.tokenCacheFile()).toBe(path.join(tmpHome, ".hq", "cognito-tokens.json"));
78
+ });
79
+ it("redirects state to a writable dir, so a read-only HOME can still cache", async () => {
80
+ const writable = fs.mkdtempSync(path.join(os.tmpdir(), "hq-writable-"));
81
+ process.env.HQ_STATE_DIR = writable;
82
+ const mod = await import("./cognito-auth.js");
83
+ expect(mod.hqStateDir()).toBe(writable);
84
+ mod.saveCachedTokens({ ...TOKENS });
85
+ // Landed in the override, NOT under HOME.
86
+ expect(fs.existsSync(path.join(writable, "cognito-tokens.json"))).toBe(true);
87
+ expect(fs.existsSync(path.join(tmpHome, ".hq", "cognito-tokens.json"))).toBe(false);
88
+ expect(mod.loadCachedTokens()?.accessToken).toBe(TOKENS.accessToken);
89
+ fs.rmSync(writable, { recursive: true, force: true });
90
+ });
91
+ it("is read per call, so it can be set after the module loads", async () => {
92
+ const mod = await import("./cognito-auth.js");
93
+ const before = mod.hqStateDir();
94
+ process.env.HQ_STATE_DIR = "/tmp/hq-state-late-binding";
95
+ expect(mod.hqStateDir()).not.toBe(before);
96
+ expect(mod.hqStateDir()).toBe("/tmp/hq-state-late-binding");
97
+ });
98
+ });
99
+ describe("read-only state directory degrades instead of failing auth", () => {
100
+ it("saveCachedTokens does not throw when the state dir is not writable", async () => {
101
+ const stateDir = path.join(tmpHome, ".hq");
102
+ fs.mkdirSync(stateDir, { recursive: true, mode: 0o700 });
103
+ fs.chmodSync(stateDir, 0o500); // read-only
104
+ const mod = await import("./cognito-auth.js");
105
+ // Previously: EACCES on the tmp write, killing the caller's auth.
106
+ expect(() => mod.saveCachedTokens({ ...TOKENS })).not.toThrow();
107
+ // Nothing persisted...
108
+ expect(fs.existsSync(path.join(stateDir, "cognito-tokens.json"))).toBe(false);
109
+ // ...but the session this process just minted is not lost.
110
+ expect(mod.loadCachedTokens()?.accessToken).toBe(TOKENS.accessToken);
111
+ });
112
+ it("still propagates a genuine write fault (not a permission problem)", async () => {
113
+ // A FILE where the state dir should be is a real misconfiguration (ENOTDIR),
114
+ // not a read-only mount — it must not be silently swallowed.
115
+ const asFile = path.join(tmpHome, "state-as-file");
116
+ fs.writeFileSync(asFile, "not a directory");
117
+ process.env.HQ_STATE_DIR = path.join(asFile, "nested");
118
+ const mod = await import("./cognito-auth.js");
119
+ expect(() => mod.saveCachedTokens({ ...TOKENS })).toThrow();
120
+ });
121
+ });
122
+ describe("HQ_REQUIRE_MACHINE_IDENTITY makes the silent downgrade loud", () => {
123
+ it("is off by default — human fallback stays available", async () => {
124
+ const mod = await import("./cognito-auth.js");
125
+ expect(mod.machineIdentityRequired()).toBe(false);
126
+ expect(() => mod.assertMachineIdentityWhenRequired()).not.toThrow();
127
+ });
128
+ it("throws a diagnosable error naming the path checked when creds are missing", async () => {
129
+ process.env.HQ_REQUIRE_MACHINE_IDENTITY = "1";
130
+ const mod = await import("./cognito-auth.js");
131
+ expect(mod.isMachineIdentity()).toBe(false);
132
+ try {
133
+ mod.assertMachineIdentityWhenRequired();
134
+ throw new Error("expected assertMachineIdentityWhenRequired to throw");
135
+ }
136
+ catch (err) {
137
+ const message = err.message;
138
+ // Names the exact path AND how it was derived — the missing diagnosis in
139
+ // the original "falling back to a human session" report.
140
+ expect(message).toContain(".hq-agent/machine-creds.json");
141
+ expect(message).toContain("os.homedir()");
142
+ expect(message).toContain("HQ_MACHINE_CREDS_FILE");
143
+ expect(message).not.toContain("browser");
144
+ }
145
+ });
146
+ it("names HQ_MACHINE_CREDS_FILE as the source when it is set but unusable", async () => {
147
+ process.env.HQ_REQUIRE_MACHINE_IDENTITY = "true";
148
+ process.env.HQ_MACHINE_CREDS_FILE = path.join(tmpHome, "nope.json");
149
+ const mod = await import("./cognito-auth.js");
150
+ expect(() => mod.assertMachineIdentityWhenRequired()).toThrow(/path from HQ_MACHINE_CREDS_FILE/);
151
+ });
152
+ it("is a no-op once machine creds ARE resolvable", async () => {
153
+ const credsPath = path.join(tmpHome, "machine-creds.json");
154
+ fs.writeFileSync(credsPath, JSON.stringify({
155
+ username: "agt-test@agents.getindigo.ai",
156
+ secret: "secret-value",
157
+ entityType: "agent",
158
+ entityUid: "agt_01TESTTESTTESTTESTTESTTEST",
159
+ }));
160
+ process.env.HQ_REQUIRE_MACHINE_IDENTITY = "1";
161
+ process.env.HQ_MACHINE_CREDS_FILE = credsPath;
162
+ const mod = await import("./cognito-auth.js");
163
+ expect(mod.isMachineIdentity()).toBe(true);
164
+ expect(() => mod.assertMachineIdentityWhenRequired()).not.toThrow();
165
+ });
166
+ });
167
+ //# sourceMappingURL=read-only-state-dir.test.js.map