@solidnumber/cli 1.16.0 → 1.16.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.
@@ -312,10 +312,86 @@ exports.doctorCommand
312
312
  console.log('');
313
313
  process.exit(finding.severity === 'fail' ? 1 : 0);
314
314
  });
315
+ // ---------------------------------------------------------------------------
316
+ // solid doctor env — local environment diagnostic (§ 650.5 automation).
317
+ // "Is my context hook installed, is my JWT fresh, is my manifest bound, when
318
+ // did I last refresh, is the backend reachable?" — all in one command.
319
+ // Gap 8 from CLAUDE-CONTEXT-CANONICAL-TRUTH § 650.
320
+ // ---------------------------------------------------------------------------
321
+ const doctor_env_1 = require("../lib/doctor-env");
322
+ exports.doctorCommand
323
+ .command('env')
324
+ .description('Diagnose the local tenant environment (hook / manifest / token / freshness / backend)')
325
+ .option('--json', 'Emit JSON result')
326
+ .action(async (opts) => {
327
+ const deps = (0, doctor_env_1.defaultDoctorEnvDeps)({
328
+ isLoggedIn: () => config_1.config.isLoggedIn(),
329
+ get companyId() { return config_1.config.companyId; },
330
+ get accessToken() { return config_1.config.accessToken; },
331
+ get tokenExpiresAt() { return config_1.config.tokenExpiresAt; },
332
+ }, async (p) => {
333
+ // The project's apiClient.get() throws on 4xx/5xx. For the doctor
334
+ // env backend check we just want the status code — any HTTP
335
+ // response means the server is reachable. Unwrap from the axios
336
+ // error when the status is present; only re-throw true network
337
+ // failures so checkBackend can distinguish "slow/bad server"
338
+ // from "DNS/TLS/network problem".
339
+ try {
340
+ const res = await api_client_1.apiClient.get(p);
341
+ return { status: res.status };
342
+ }
343
+ catch (err) {
344
+ const status = err?.status
345
+ ?? err?.response?.status;
346
+ if (typeof status === 'number')
347
+ return { status };
348
+ throw err;
349
+ }
350
+ });
351
+ const report = await (0, doctor_env_1.runDoctorEnv)(deps);
352
+ if ((0, json_output_1.isJsonOutput)(opts)) {
353
+ process.stdout.write(JSON.stringify(report, null, 2) + '\n');
354
+ process.exit(report.ok ? 0 : 1);
355
+ }
356
+ const statusColor = {
357
+ pass: (s) => chalk_1.default.green(s),
358
+ warn: (s) => chalk_1.default.yellow(s),
359
+ fail: (s) => chalk_1.default.red(s),
360
+ skip: (s) => chalk_1.default.dim(s),
361
+ };
362
+ const statusDot = {
363
+ pass: chalk_1.default.green('●'),
364
+ warn: chalk_1.default.yellow('●'),
365
+ fail: chalk_1.default.red('●'),
366
+ skip: chalk_1.default.dim('○'),
367
+ };
368
+ const maxLabel = Math.max(...report.results.map((r) => r.label.length));
369
+ console.log('');
370
+ console.log(chalk_1.default.bold(' Solid# CLI Doctor — environment'));
371
+ console.log(chalk_1.default.dim(' ' + '─'.repeat(maxLabel + 40)));
372
+ for (const r of report.results) {
373
+ const label = r.label.padEnd(maxLabel);
374
+ const status = statusColor[r.status](r.status.toUpperCase().padEnd(4));
375
+ console.log(` ${statusDot[r.status]} ${status} ${label} ${chalk_1.default.dim(r.detail)}`);
376
+ if (r.hint)
377
+ console.log(chalk_1.default.dim(` hint: ${r.hint}`));
378
+ }
379
+ console.log('');
380
+ const { pass, warn, fail, skip } = report.summary;
381
+ const line = [
382
+ fail === 0 ? chalk_1.default.green(` ✓ ${pass} passed`) : chalk_1.default.red(` ✗ ${fail} failed`),
383
+ warn > 0 ? chalk_1.default.yellow(`${warn} warning${warn === 1 ? '' : 's'}`) : '',
384
+ skip > 0 ? chalk_1.default.dim(`${skip} skipped`) : '',
385
+ ].filter(Boolean).join(' ');
386
+ console.log(line);
387
+ console.log('');
388
+ process.exit(report.ok ? 0 : 1);
389
+ });
315
390
  (0, command_kit_1.appendExamples)(exports.doctorCommand, [
316
391
  { cmd: 'solid doctor', why: 'Core battery — 10 probes, ~1-2s' },
317
392
  { cmd: 'solid doctor --endpoints', why: 'Full battery — includes tier-gated endpoints' },
318
393
  { cmd: 'solid doctor --json', why: 'Machine-readable (CI pipelines)' },
319
394
  { cmd: 'solid doctor scopes', why: 'Check if API key scopes match tenant features (T1.6)' },
395
+ { cmd: 'solid doctor env', why: 'Local env diagnostic — hook/manifest/token/freshness/backend (§ 650.5)' },
320
396
  ]);
321
397
  //# sourceMappingURL=doctor.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"pull.d.ts","sourceRoot":"","sources":["../../src/commands/pull.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAkCpC,eAAO,MAAM,WAAW,SA2ZpB,CAAC"}
1
+ {"version":3,"file":"pull.d.ts","sourceRoot":"","sources":["../../src/commands/pull.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;GAYG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAwBpC,eAAO,MAAM,WAAW,SAkapB,CAAC"}
@@ -58,6 +58,7 @@ const path = __importStar(require("path"));
58
58
  const config_1 = require("../lib/config");
59
59
  const api_client_1 = require("../lib/api-client");
60
60
  const ui_1 = require("../lib/ui");
61
+ const tenant_guard_1 = require("../lib/tenant-guard");
61
62
  function ensureDir(dir) {
62
63
  if (!fs.existsSync(dir)) {
63
64
  fs.mkdirSync(dir, { recursive: true });
@@ -89,6 +90,11 @@ exports.pullCommand = new commander_1.Command('pull')
89
90
  process.exit(1);
90
91
  }
91
92
  const baseDir = path.resolve(options.dir);
93
+ // Home-dir refusal. `pull` creates the manifest so it can't require
94
+ // one yet, but it must not scaffold a tenant project into $HOME —
95
+ // doing so would contaminate the global Claude Code context.
96
+ // See Owners-Manual/03-AI-Systems/CLAUDE-CONTEXT-CANONICAL-TRUTH.md § 100.2.
97
+ (0, tenant_guard_1.refuseProtectedRoot)(baseDir);
92
98
  const cacheDir = path.join(baseDir, '.solid', 'cache');
93
99
  // ── Offline mode: restore from cache ─────────────────────────────
94
100
  if (options.offline) {
@@ -1 +1 @@
1
- {"version":3,"file":"pull.js","sourceRoot":"","sources":["../../src/commands/pull.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pull.js","sourceRoot":"","sources":["../../src/commands/pull.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,70 @@
1
+ /**
2
+ * solid doctor env — automated § 650.5 environment check.
3
+ *
4
+ * The reverse-lookup in Owners-Manual/03-AI-Systems/CLAUDE-CONTEXT-
5
+ * CANONICAL-TRUTH.md § 650.5 walks an operator through seven manual
6
+ * steps when "my tenant's context looks wrong." This module turns the
7
+ * first five of them into a single command that runs all checks and
8
+ * prints a status table. The sixth (force refresh) and seventh (re-run
9
+ * install) are remediations — the checks tell you which one to run.
10
+ *
11
+ * Checks implemented:
12
+ *
13
+ * 1. auth — logged in? which source (JWT / env var / ...)?
14
+ * 2. token — cached JWT present with expiry? expired yet?
15
+ * 3. manifest — .solid/manifest.json present? matches active
16
+ * company_id?
17
+ * 4. hook — SessionStart hook registered in
18
+ * ~/.claude/settings.json with the current command?
19
+ * 5. context — .claude/CLAUDE.md present in CWD? freshly
20
+ * regenerated (mtime within freshness window)?
21
+ * 6. backend — GET /api/v1/auth/me succeeds within 2s?
22
+ *
23
+ * Pure(-ish) and testable: the main entry point takes a ``DoctorEnv``
24
+ * dependency bundle so tests can pass fakes for cwd / home / config /
25
+ * apiClient. The CLI wrapper fills in the real dependencies.
26
+ */
27
+ export type CheckStatus = 'pass' | 'fail' | 'warn' | 'skip';
28
+ export interface CheckResult {
29
+ name: string;
30
+ label: string;
31
+ status: CheckStatus;
32
+ detail: string;
33
+ hint?: string;
34
+ }
35
+ export interface DoctorEnvDeps {
36
+ cwd: string;
37
+ home: string;
38
+ claudeSettingsPath: string;
39
+ hookCommand: string;
40
+ config: {
41
+ isLoggedIn(): boolean;
42
+ readonly companyId: number | undefined;
43
+ readonly accessToken: string | undefined;
44
+ readonly tokenExpiresAt: Date | undefined;
45
+ };
46
+ apiGet: (p: string) => Promise<{
47
+ status: number;
48
+ }>;
49
+ freshnessWindowMs?: number;
50
+ now?: () => Date;
51
+ }
52
+ export declare function checkAuth(deps: DoctorEnvDeps): CheckResult;
53
+ export declare function checkToken(deps: DoctorEnvDeps): CheckResult;
54
+ export declare function checkManifest(deps: DoctorEnvDeps): CheckResult;
55
+ export declare function checkHook(deps: DoctorEnvDeps): CheckResult;
56
+ export declare function checkContextFreshness(deps: DoctorEnvDeps): CheckResult;
57
+ export declare function checkBackend(deps: DoctorEnvDeps): Promise<CheckResult>;
58
+ export interface DoctorEnvReport {
59
+ ok: boolean;
60
+ results: CheckResult[];
61
+ summary: {
62
+ pass: number;
63
+ warn: number;
64
+ fail: number;
65
+ skip: number;
66
+ };
67
+ }
68
+ export declare function runDoctorEnv(deps: DoctorEnvDeps): Promise<DoctorEnvReport>;
69
+ export declare function defaultDoctorEnvDeps(config: DoctorEnvDeps['config'], apiGet: DoctorEnvDeps['apiGet']): DoctorEnvDeps;
70
+ //# sourceMappingURL=doctor-env.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doctor-env.d.ts","sourceRoot":"","sources":["../../src/lib/doctor-env.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAMH,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AAE5D,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,WAAW,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,aAAa;IAC5B,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,kBAAkB,EAAE,MAAM,CAAC;IAC3B,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE;QACN,UAAU,IAAI,OAAO,CAAC;QACtB,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;QACvC,QAAQ,CAAC,WAAW,EAAE,MAAM,GAAG,SAAS,CAAC;QACzC,QAAQ,CAAC,cAAc,EAAE,IAAI,GAAG,SAAS,CAAC;KAC3C,CAAC;IACF,MAAM,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACnD,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,GAAG,CAAC,EAAE,MAAM,IAAI,CAAC;CAClB;AAeD,wBAAgB,SAAS,CAAC,IAAI,EAAE,aAAa,GAAG,WAAW,CAuB1D;AAED,wBAAgB,UAAU,CAAC,IAAI,EAAE,aAAa,GAAG,WAAW,CAsD3D;AAED,wBAAgB,aAAa,CAAC,IAAI,EAAE,aAAa,GAAG,WAAW,CA4D9D;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,aAAa,GAAG,WAAW,CAuD1D;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,aAAa,GAAG,WAAW,CA+BtE;AAED,wBAAsB,YAAY,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,WAAW,CAAC,CA+C5E;AAID,MAAM,WAAW,eAAe;IAC9B,EAAE,EAAE,OAAO,CAAC;IACZ,OAAO,EAAE,WAAW,EAAE,CAAC;IACvB,OAAO,EAAE;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;CACrE;AAED,wBAAsB,YAAY,CAChC,IAAI,EAAE,aAAa,GAClB,OAAO,CAAC,eAAe,CAAC,CAa1B;AAED,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,aAAa,CAAC,QAAQ,CAAC,EAC/B,MAAM,EAAE,aAAa,CAAC,QAAQ,CAAC,GAC9B,aAAa,CAWf"}
@@ -0,0 +1,378 @@
1
+ "use strict";
2
+ /**
3
+ * solid doctor env — automated § 650.5 environment check.
4
+ *
5
+ * The reverse-lookup in Owners-Manual/03-AI-Systems/CLAUDE-CONTEXT-
6
+ * CANONICAL-TRUTH.md § 650.5 walks an operator through seven manual
7
+ * steps when "my tenant's context looks wrong." This module turns the
8
+ * first five of them into a single command that runs all checks and
9
+ * prints a status table. The sixth (force refresh) and seventh (re-run
10
+ * install) are remediations — the checks tell you which one to run.
11
+ *
12
+ * Checks implemented:
13
+ *
14
+ * 1. auth — logged in? which source (JWT / env var / ...)?
15
+ * 2. token — cached JWT present with expiry? expired yet?
16
+ * 3. manifest — .solid/manifest.json present? matches active
17
+ * company_id?
18
+ * 4. hook — SessionStart hook registered in
19
+ * ~/.claude/settings.json with the current command?
20
+ * 5. context — .claude/CLAUDE.md present in CWD? freshly
21
+ * regenerated (mtime within freshness window)?
22
+ * 6. backend — GET /api/v1/auth/me succeeds within 2s?
23
+ *
24
+ * Pure(-ish) and testable: the main entry point takes a ``DoctorEnv``
25
+ * dependency bundle so tests can pass fakes for cwd / home / config /
26
+ * apiClient. The CLI wrapper fills in the real dependencies.
27
+ */
28
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
29
+ if (k2 === undefined) k2 = k;
30
+ var desc = Object.getOwnPropertyDescriptor(m, k);
31
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
32
+ desc = { enumerable: true, get: function() { return m[k]; } };
33
+ }
34
+ Object.defineProperty(o, k2, desc);
35
+ }) : (function(o, m, k, k2) {
36
+ if (k2 === undefined) k2 = k;
37
+ o[k2] = m[k];
38
+ }));
39
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
40
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
41
+ }) : function(o, v) {
42
+ o["default"] = v;
43
+ });
44
+ var __importStar = (this && this.__importStar) || (function () {
45
+ var ownKeys = function(o) {
46
+ ownKeys = Object.getOwnPropertyNames || function (o) {
47
+ var ar = [];
48
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
49
+ return ar;
50
+ };
51
+ return ownKeys(o);
52
+ };
53
+ return function (mod) {
54
+ if (mod && mod.__esModule) return mod;
55
+ var result = {};
56
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
57
+ __setModuleDefault(result, mod);
58
+ return result;
59
+ };
60
+ })();
61
+ Object.defineProperty(exports, "__esModule", { value: true });
62
+ exports.checkAuth = checkAuth;
63
+ exports.checkToken = checkToken;
64
+ exports.checkManifest = checkManifest;
65
+ exports.checkHook = checkHook;
66
+ exports.checkContextFreshness = checkContextFreshness;
67
+ exports.checkBackend = checkBackend;
68
+ exports.runDoctorEnv = runDoctorEnv;
69
+ exports.defaultDoctorEnvDeps = defaultDoctorEnvDeps;
70
+ const fs = __importStar(require("fs"));
71
+ const os = __importStar(require("os"));
72
+ const path = __importStar(require("path"));
73
+ const DEFAULT_FRESHNESS_MS = 24 * 60 * 60 * 1000;
74
+ function readJsonIfPresent(p) {
75
+ if (!fs.existsSync(p))
76
+ return null;
77
+ try {
78
+ return JSON.parse(fs.readFileSync(p, 'utf-8'));
79
+ }
80
+ catch {
81
+ return { __parseError: true };
82
+ }
83
+ }
84
+ // -- individual checks -----------------------------------------------------
85
+ function checkAuth(deps) {
86
+ const source = process.env.SOLID_API_KEY ? 'SOLID_API_KEY env' :
87
+ process.env.SOLID_TOKEN ? 'SOLID_TOKEN env' :
88
+ deps.config.accessToken ? 'cached access_token' :
89
+ null;
90
+ if (!deps.config.isLoggedIn() || !source) {
91
+ return {
92
+ name: 'auth',
93
+ label: 'authenticated',
94
+ status: 'fail',
95
+ detail: 'no credentials found (JWT or SOLID_API_KEY/SOLID_TOKEN env)',
96
+ hint: 'run: solid auth login',
97
+ };
98
+ }
99
+ const cid = deps.config.companyId;
100
+ return {
101
+ name: 'auth',
102
+ label: 'authenticated',
103
+ status: 'pass',
104
+ detail: `${source}${cid ? `, company_id=${cid}` : ''}`,
105
+ };
106
+ }
107
+ function checkToken(deps) {
108
+ if (process.env.SOLID_API_KEY || process.env.SOLID_TOKEN) {
109
+ return {
110
+ name: 'token',
111
+ label: 'token freshness',
112
+ status: 'skip',
113
+ detail: 'env-var auth — no local expiry to check',
114
+ };
115
+ }
116
+ const expiry = deps.config.tokenExpiresAt;
117
+ if (!deps.config.accessToken) {
118
+ return {
119
+ name: 'token',
120
+ label: 'token freshness',
121
+ status: 'skip',
122
+ detail: 'no cached access_token',
123
+ };
124
+ }
125
+ if (!expiry) {
126
+ return {
127
+ name: 'token',
128
+ label: 'token freshness',
129
+ status: 'warn',
130
+ detail: 'cached token has no expiry record',
131
+ hint: 're-login to refresh: solid auth login',
132
+ };
133
+ }
134
+ const now = (deps.now ? deps.now() : new Date()).getTime();
135
+ const ms = expiry.getTime() - now;
136
+ if (ms <= 0) {
137
+ return {
138
+ name: 'token',
139
+ label: 'token freshness',
140
+ status: 'fail',
141
+ detail: `expired ${Math.round(-ms / 60_000)}m ago`,
142
+ hint: 'run: solid auth login',
143
+ };
144
+ }
145
+ const mins = Math.round(ms / 60_000);
146
+ if (mins < 30) {
147
+ return {
148
+ name: 'token',
149
+ label: 'token freshness',
150
+ status: 'warn',
151
+ detail: `expires in ${mins}m`,
152
+ hint: 'consider re-logging soon',
153
+ };
154
+ }
155
+ return {
156
+ name: 'token',
157
+ label: 'token freshness',
158
+ status: 'pass',
159
+ detail: `expires in ${mins}m`,
160
+ };
161
+ }
162
+ function checkManifest(deps) {
163
+ const home = path.resolve(deps.home);
164
+ const cwd = path.resolve(deps.cwd);
165
+ if (cwd === home || cwd === path.join(home, '.claude')) {
166
+ return {
167
+ name: 'manifest',
168
+ label: 'tenant manifest',
169
+ status: 'fail',
170
+ detail: 'current directory is a protected root ($HOME / $HOME/.claude)',
171
+ hint: 'cd into a tenant project directory',
172
+ };
173
+ }
174
+ const manifestPath = path.join(cwd, '.solid', 'manifest.json');
175
+ if (!fs.existsSync(manifestPath)) {
176
+ return {
177
+ name: 'manifest',
178
+ label: 'tenant manifest',
179
+ status: 'warn',
180
+ detail: 'no .solid/manifest.json in CWD',
181
+ hint: 'run `solid pull` to bind this directory to a tenant',
182
+ };
183
+ }
184
+ const raw = readJsonIfPresent(manifestPath);
185
+ if (!raw || raw.__parseError) {
186
+ return {
187
+ name: 'manifest',
188
+ label: 'tenant manifest',
189
+ status: 'fail',
190
+ detail: 'manifest present but not valid JSON',
191
+ hint: `inspect ${manifestPath}`,
192
+ };
193
+ }
194
+ const manifestId = raw.company_id;
195
+ const activeId = deps.config.companyId;
196
+ if (typeof manifestId !== 'number') {
197
+ return {
198
+ name: 'manifest',
199
+ label: 'tenant manifest',
200
+ status: 'fail',
201
+ detail: 'manifest missing company_id field',
202
+ hint: 'regenerate: rm -rf .solid/ && solid pull',
203
+ };
204
+ }
205
+ if (activeId !== undefined && activeId !== manifestId) {
206
+ return {
207
+ name: 'manifest',
208
+ label: 'tenant manifest',
209
+ status: 'fail',
210
+ detail: `manifest binds company_id=${manifestId} (${raw.company_name ?? '?'}) but active login is company_id=${activeId}`,
211
+ hint: `solid switch ${manifestId}`,
212
+ };
213
+ }
214
+ return {
215
+ name: 'manifest',
216
+ label: 'tenant manifest',
217
+ status: 'pass',
218
+ detail: `bound to company_id=${manifestId}${raw.company_name ? ` (${raw.company_name})` : ''}`,
219
+ };
220
+ }
221
+ function checkHook(deps) {
222
+ const settingsPath = deps.claudeSettingsPath;
223
+ if (!fs.existsSync(settingsPath)) {
224
+ return {
225
+ name: 'hook',
226
+ label: 'SessionStart hook',
227
+ status: 'fail',
228
+ detail: `${settingsPath} does not exist`,
229
+ hint: 'run: solid install',
230
+ };
231
+ }
232
+ const settings = readJsonIfPresent(settingsPath);
233
+ if (!settings || settings.__parseError) {
234
+ return {
235
+ name: 'hook',
236
+ label: 'SessionStart hook',
237
+ status: 'fail',
238
+ detail: `${settingsPath} is not valid JSON`,
239
+ hint: 'fix the file manually then re-run: solid install',
240
+ };
241
+ }
242
+ const groups = settings.hooks?.SessionStart;
243
+ const commands = (groups ?? [])
244
+ .flatMap((g) => g.hooks ?? [])
245
+ .map((h) => h.command ?? '');
246
+ if (commands.includes(deps.hookCommand)) {
247
+ return {
248
+ name: 'hook',
249
+ label: 'SessionStart hook',
250
+ status: 'pass',
251
+ detail: `installed (${deps.hookCommand})`,
252
+ };
253
+ }
254
+ const looksLegacy = commands.some((c) => c.startsWith('solid context'));
255
+ if (looksLegacy) {
256
+ return {
257
+ name: 'hook',
258
+ label: 'SessionStart hook',
259
+ status: 'warn',
260
+ detail: 'a solid context hook is present but command has drifted',
261
+ hint: 'run: solid install (idempotent — rewrites to current command)',
262
+ };
263
+ }
264
+ return {
265
+ name: 'hook',
266
+ label: 'SessionStart hook',
267
+ status: 'fail',
268
+ detail: 'no solid context SessionStart hook found',
269
+ hint: 'run: solid install',
270
+ };
271
+ }
272
+ function checkContextFreshness(deps) {
273
+ const claudeMd = path.join(deps.cwd, '.claude', 'CLAUDE.md');
274
+ if (!fs.existsSync(claudeMd)) {
275
+ return {
276
+ name: 'context',
277
+ label: 'context freshness',
278
+ status: 'warn',
279
+ detail: '.claude/CLAUDE.md not present in CWD',
280
+ hint: 'run: solid context --claude',
281
+ };
282
+ }
283
+ const stat = fs.statSync(claudeMd);
284
+ const window = deps.freshnessWindowMs ?? DEFAULT_FRESHNESS_MS;
285
+ const age = (deps.now ? deps.now() : new Date()).getTime() - stat.mtimeMs;
286
+ if (age > window) {
287
+ const hours = Math.round(age / 3_600_000);
288
+ return {
289
+ name: 'context',
290
+ label: 'context freshness',
291
+ status: 'warn',
292
+ detail: `.claude/CLAUDE.md is ${hours}h old`,
293
+ hint: 'run: solid context --claude',
294
+ };
295
+ }
296
+ const mins = Math.max(1, Math.round(age / 60_000));
297
+ return {
298
+ name: 'context',
299
+ label: 'context freshness',
300
+ status: 'pass',
301
+ detail: `regenerated ${mins}m ago`,
302
+ };
303
+ }
304
+ async function checkBackend(deps) {
305
+ if (!deps.config.isLoggedIn()) {
306
+ return {
307
+ name: 'backend',
308
+ label: 'backend reachable',
309
+ status: 'skip',
310
+ detail: 'not authenticated — auth check failed first',
311
+ };
312
+ }
313
+ const t0 = Date.now();
314
+ try {
315
+ const res = await deps.apiGet('/api/v1/auth/me');
316
+ const ms = Date.now() - t0;
317
+ if (res.status >= 500) {
318
+ return {
319
+ name: 'backend',
320
+ label: 'backend reachable',
321
+ status: 'fail',
322
+ detail: `status ${res.status} in ${ms}ms`,
323
+ hint: 'check https://api.solidnumber.com/api/v1/health',
324
+ };
325
+ }
326
+ if (ms > 2000) {
327
+ return {
328
+ name: 'backend',
329
+ label: 'backend reachable',
330
+ status: 'warn',
331
+ detail: `slow response: status ${res.status} in ${ms}ms`,
332
+ };
333
+ }
334
+ return {
335
+ name: 'backend',
336
+ label: 'backend reachable',
337
+ status: 'pass',
338
+ detail: `status ${res.status} in ${ms}ms`,
339
+ };
340
+ }
341
+ catch (err) {
342
+ const ms = Date.now() - t0;
343
+ const message = err instanceof Error ? err.message : String(err);
344
+ return {
345
+ name: 'backend',
346
+ label: 'backend reachable',
347
+ status: 'fail',
348
+ detail: `request failed after ${ms}ms: ${message}`,
349
+ hint: 'check network / VPN / api.solidnumber.com DNS',
350
+ };
351
+ }
352
+ }
353
+ async function runDoctorEnv(deps) {
354
+ const results = [
355
+ checkAuth(deps),
356
+ checkToken(deps),
357
+ checkManifest(deps),
358
+ checkHook(deps),
359
+ checkContextFreshness(deps),
360
+ ];
361
+ results.push(await checkBackend(deps));
362
+ const summary = { pass: 0, warn: 0, fail: 0, skip: 0 };
363
+ for (const r of results)
364
+ summary[r.status]++;
365
+ return { ok: summary.fail === 0, results, summary };
366
+ }
367
+ function defaultDoctorEnvDeps(config, apiGet) {
368
+ return {
369
+ cwd: process.cwd(),
370
+ home: os.homedir(),
371
+ claudeSettingsPath: process.env.SOLID_CLAUDE_SETTINGS_PATH ||
372
+ path.join(os.homedir(), '.claude', 'settings.json'),
373
+ hookCommand: 'solid context --claude --raw',
374
+ config,
375
+ apiGet,
376
+ };
377
+ }
378
+ //# sourceMappingURL=doctor-env.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doctor-env.js","sourceRoot":"","sources":["../../src/lib/doctor-env.ts"],"names":[],"mappings":"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"}
@@ -32,9 +32,23 @@ export interface PullManifest {
32
32
  name: string;
33
33
  }>;
34
34
  }
35
+ /**
36
+ * Why a directory is refused as a tenant-write target.
37
+ *
38
+ * - `home` — $HOME itself. ~/.claude/ is loaded by every
39
+ * Claude Code session across every project.
40
+ * - `home_claude` — $HOME/.claude/. Same reason, one level deeper.
41
+ * - `platform_repo` — anywhere under the Solid# platform monorepo
42
+ * (detected by walking up for docker-compose.base.yml).
43
+ * Role-1 territory; tenant files here contaminate
44
+ * every platform-team Claude Code session.
45
+ */
46
+ export type ProtectedRootReason = 'home' | 'home_claude' | 'platform_repo';
35
47
  export type GuardFailure = {
36
- kind: 'home_dir';
48
+ kind: 'protected_root';
49
+ reason: ProtectedRootReason;
37
50
  resolved: string;
51
+ platformRoot?: string;
38
52
  } | {
39
53
  kind: 'missing';
40
54
  manifestPath: string;
@@ -51,6 +65,41 @@ export type GuardResult = {
51
65
  ok: false;
52
66
  failure: GuardFailure;
53
67
  };
68
+ /**
69
+ * Returns the reason ``baseDir`` is forbidden as a tenant-write target,
70
+ * or null if it's fine. Use ``isProtectedRoot`` for a bool convenience.
71
+ */
72
+ export declare function protectedRootReason(baseDir: string): {
73
+ reason: ProtectedRootReason;
74
+ resolved: string;
75
+ platformRoot?: string;
76
+ } | null;
77
+ /**
78
+ * Hard-coded refusal set: directories that must NEVER receive tenant
79
+ * writes even if a manifest somehow ended up there. Three locations:
80
+ *
81
+ * 1. $HOME — ``~/.claude/CLAUDE.md`` is loaded into every Claude Code
82
+ * session across every project, so tenant data leaking there would
83
+ * contaminate every unrelated workflow on the machine.
84
+ * 2. $HOME/.claude — same reason, one level deeper.
85
+ * 3. The Solid# platform monorepo (and any submodule/subdir of it) —
86
+ * Role-1 territory. A ``.claude/CLAUDE.md`` here contaminates
87
+ * every platform-team session. This is what happened in the
88
+ * 2026-04-23 audit (§ 700.1).
89
+ *
90
+ * Hardened 2026-04-24 after the ANGL drift incident: before this, only
91
+ * (1) and (2) were protected; tenant writes inside /Desktop/Solid/ were
92
+ * only blocked by the "no manifest here" branch, which fails open if
93
+ * anyone places a manifest file in the platform repo.
94
+ */
95
+ export declare function isProtectedRoot(baseDir: string): boolean;
96
+ /**
97
+ * Home-dir-only refusal (for commands like `solid pull` that CREATE the
98
+ * manifest and therefore can't require one yet). Prints a friendly error
99
+ * and exits 1 if `baseDir` resolves to any protected root. Otherwise
100
+ * returns silently.
101
+ */
102
+ export declare function refuseProtectedRoot(baseDir: string): void;
54
103
  /**
55
104
  * Pure check — returns a result, no I/O beyond reading the manifest and
56
105
  * no process.exit. Keep this testable in isolation; the CLI wrapper below
@@ -1 +1 @@
1
- {"version":3,"file":"tenant-guard.d.ts","sourceRoot":"","sources":["../../src/lib/tenant-guard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAOH,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACxE,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAClD,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACvD,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACxD;AAED,MAAM,MAAM,YAAY,GACpB;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,GACtC;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,GACzC;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,iBAAiB,EAAE,MAAM,CAAC;IAAC,mBAAmB,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,CAAA;CAAE,CAAC;AAE1G,MAAM,MAAM,WAAW,GACnB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,EAAE,YAAY,CAAA;CAAE,GACpC;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,YAAY,CAAA;CAAE,CAAC;AAkBzC;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,WAAW,CAqBnF;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,YAAY,CAoBtF"}
1
+ {"version":3,"file":"tenant-guard.d.ts","sourceRoot":"","sources":["../../src/lib/tenant-guard.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAOH,MAAM,WAAW,YAAY;IAC3B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACxE,EAAE,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAClD,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACvD,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACxD;AAED;;;;;;;;;;GAUG;AACH,MAAM,MAAM,mBAAmB,GAAG,MAAM,GAAG,aAAa,GAAG,eAAe,CAAC;AAE3E,MAAM,MAAM,YAAY,GACpB;IAAE,IAAI,EAAE,gBAAgB,CAAC;IAAC,MAAM,EAAE,mBAAmB,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,GAChG;IAAE,IAAI,EAAE,SAAS,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,GACzC;IAAE,IAAI,EAAE,UAAU,CAAC;IAAC,iBAAiB,EAAE,MAAM,CAAC;IAAC,mBAAmB,EAAE,MAAM,CAAC;IAAC,eAAe,EAAE,MAAM,CAAA;CAAE,CAAC;AAE1G,MAAM,MAAM,WAAW,GACnB;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,EAAE,YAAY,CAAA;CAAE,GACpC;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,OAAO,EAAE,YAAY,CAAA;CAAE,CAAC;AAsBzC;;;GAGG;AACH,wBAAgB,mBAAmB,CACjC,OAAO,EAAE,MAAM,GACd;IAAE,MAAM,EAAE,mBAAmB,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAC;IAAC,YAAY,CAAC,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAcjF;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAExD;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAKzD;AAiBD;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,WAAW,CAsBnF;AAED;;;;GAIG;AACH,wBAAgB,qBAAqB,CAAC,OAAO,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,YAAY,CAkBtF"}
@@ -47,6 +47,9 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
47
47
  return (mod && mod.__esModule) ? mod : { "default": mod };
48
48
  };
49
49
  Object.defineProperty(exports, "__esModule", { value: true });
50
+ exports.protectedRootReason = protectedRootReason;
51
+ exports.isProtectedRoot = isProtectedRoot;
52
+ exports.refuseProtectedRoot = refuseProtectedRoot;
50
53
  exports.checkTenantManifest = checkTenantManifest;
51
54
  exports.requireTenantManifest = requireTenantManifest;
52
55
  const fs = __importStar(require("fs"));
@@ -54,21 +57,91 @@ const os = __importStar(require("os"));
54
57
  const path = __importStar(require("path"));
55
58
  const chalk_1 = __importDefault(require("chalk"));
56
59
  /**
57
- * Hard-coded refusal set: directories that must NEVER receive tenant
58
- * writes even if a manifest somehow ended up there. The user's home is
59
- * the critical one — `~/.claude/CLAUDE.md` is loaded into every Claude
60
- * Code session across every project, so tenant data leaking there would
61
- * contaminate every unrelated workflow on the machine.
60
+ * Walk up from ``baseDir`` looking for the platform-monorepo marker file
61
+ * (``docker-compose.base.yml``). Returns the absolute root path if found,
62
+ * else null. Matches the discovery logic in
63
+ * ``solid-backend/scripts/drift_scan/__main__.py::_default_repo_root``
64
+ * so the guard and the drift scanner agree on which tree counts as the
65
+ * platform monorepo.
62
66
  */
63
- function isProtectedRoot(baseDir) {
67
+ function findPlatformMonorepoRoot(baseDir) {
68
+ let dir = path.resolve(baseDir);
69
+ while (true) {
70
+ if (fs.existsSync(path.join(dir, 'docker-compose.base.yml'))) {
71
+ return dir;
72
+ }
73
+ const parent = path.dirname(dir);
74
+ if (parent === dir)
75
+ return null;
76
+ dir = parent;
77
+ }
78
+ }
79
+ /**
80
+ * Returns the reason ``baseDir`` is forbidden as a tenant-write target,
81
+ * or null if it's fine. Use ``isProtectedRoot`` for a bool convenience.
82
+ */
83
+ function protectedRootReason(baseDir) {
64
84
  const resolved = path.resolve(baseDir);
65
85
  const home = path.resolve(os.homedir());
66
86
  if (resolved === home)
67
- return true;
68
- const claudeUnderHome = path.join(home, '.claude');
69
- if (resolved === claudeUnderHome)
70
- return true;
71
- return false;
87
+ return { reason: 'home', resolved };
88
+ if (resolved === path.join(home, '.claude'))
89
+ return { reason: 'home_claude', resolved };
90
+ const platformRoot = findPlatformMonorepoRoot(resolved);
91
+ if (platformRoot !== null) {
92
+ // Refuse the monorepo root AND every subdirectory (incl. submodule
93
+ // trees like solid-backend/, solid-cli/). Running a tenant-write
94
+ // inside any of them is the § 700.1 pattern.
95
+ return { reason: 'platform_repo', resolved, platformRoot };
96
+ }
97
+ return null;
98
+ }
99
+ /**
100
+ * Hard-coded refusal set: directories that must NEVER receive tenant
101
+ * writes even if a manifest somehow ended up there. Three locations:
102
+ *
103
+ * 1. $HOME — ``~/.claude/CLAUDE.md`` is loaded into every Claude Code
104
+ * session across every project, so tenant data leaking there would
105
+ * contaminate every unrelated workflow on the machine.
106
+ * 2. $HOME/.claude — same reason, one level deeper.
107
+ * 3. The Solid# platform monorepo (and any submodule/subdir of it) —
108
+ * Role-1 territory. A ``.claude/CLAUDE.md`` here contaminates
109
+ * every platform-team session. This is what happened in the
110
+ * 2026-04-23 audit (§ 700.1).
111
+ *
112
+ * Hardened 2026-04-24 after the ANGL drift incident: before this, only
113
+ * (1) and (2) were protected; tenant writes inside /Desktop/Solid/ were
114
+ * only blocked by the "no manifest here" branch, which fails open if
115
+ * anyone places a manifest file in the platform repo.
116
+ */
117
+ function isProtectedRoot(baseDir) {
118
+ return protectedRootReason(baseDir) !== null;
119
+ }
120
+ /**
121
+ * Home-dir-only refusal (for commands like `solid pull` that CREATE the
122
+ * manifest and therefore can't require one yet). Prints a friendly error
123
+ * and exits 1 if `baseDir` resolves to any protected root. Otherwise
124
+ * returns silently.
125
+ */
126
+ function refuseProtectedRoot(baseDir) {
127
+ const refusal = protectedRootReason(baseDir);
128
+ if (!refusal)
129
+ return;
130
+ printProtectedRootError(refusal);
131
+ process.exit(1);
132
+ }
133
+ function printProtectedRootError(refusal) {
134
+ if (refusal.reason === 'platform_repo') {
135
+ console.error(chalk_1.default.red('Refusing to write tenant data inside the Solid# platform monorepo.'));
136
+ console.error(chalk_1.default.dim(` ${refusal.resolved} is under ${refusal.platformRoot ?? 'the platform monorepo'} (Role-1 territory).`));
137
+ console.error(chalk_1.default.dim(' Tenant files here contaminate every platform-team Claude Code session.'));
138
+ console.error(chalk_1.default.dim(' `cd` into a dedicated tenant project directory (outside the monorepo) and try again.'));
139
+ }
140
+ else {
141
+ console.error(chalk_1.default.red('Refusing to write tenant data to your home directory.'));
142
+ console.error(chalk_1.default.dim(` ${refusal.resolved} is global (loaded by every Claude Code session).`));
143
+ console.error(chalk_1.default.dim(' `cd` into a dedicated tenant project directory and try again.'));
144
+ }
72
145
  }
73
146
  /**
74
147
  * Pure check — returns a result, no I/O beyond reading the manifest and
@@ -76,8 +149,9 @@ function isProtectedRoot(baseDir) {
76
149
  * handles the user-facing error output + exit.
77
150
  */
78
151
  function checkTenantManifest(baseDir, companyId) {
79
- if (isProtectedRoot(baseDir)) {
80
- return { ok: false, failure: { kind: 'home_dir', resolved: path.resolve(baseDir) } };
152
+ const refusal = protectedRootReason(baseDir);
153
+ if (refusal) {
154
+ return { ok: false, failure: { kind: 'protected_root', ...refusal } };
81
155
  }
82
156
  const manifestPath = path.join(baseDir, '.solid', 'manifest.json');
83
157
  if (!fs.existsSync(manifestPath)) {
@@ -106,10 +180,8 @@ function requireTenantManifest(baseDir, companyId) {
106
180
  const result = checkTenantManifest(baseDir, companyId);
107
181
  if (result.ok)
108
182
  return result.manifest;
109
- if (result.failure.kind === 'home_dir') {
110
- console.error(chalk_1.default.red('Refusing to write tenant data to your home directory.'));
111
- console.error(chalk_1.default.dim(` ${result.failure.resolved} is global (loaded by every Claude Code session).`));
112
- console.error(chalk_1.default.dim(' `cd` into a tenant project directory and try again.'));
183
+ if (result.failure.kind === 'protected_root') {
184
+ printProtectedRootError(result.failure);
113
185
  }
114
186
  else if (result.failure.kind === 'missing') {
115
187
  console.error(chalk_1.default.red('Not a Solid# tenant working directory.'));
@@ -1 +1 @@
1
- {"version":3,"file":"tenant-guard.js","sourceRoot":"","sources":["../../src/lib/tenant-guard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tenant-guard.js","sourceRoot":"","sources":["../../src/lib/tenant-guard.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@solidnumber/cli",
3
- "version": "1.16.0",
3
+ "version": "1.16.2",
4
4
  "description": "AI business infrastructure from the terminal — CRM, payments, voice AI, 116 agents, 52 industry templates. solid clone plumber → instant business. Also: programmatic TS SDK via @solidnumber/cli/sdk.",
5
5
  "main": "dist/index.js",
6
6
  "bin": {