@solidnumber/cli 1.9.25 → 1.9.28
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/dist/commands/ai.d.ts.map +1 -1
- package/dist/commands/ai.js +43 -17
- package/dist/commands/ai.js.map +1 -1
- package/dist/commands/context.d.ts.map +1 -1
- package/dist/commands/context.js +21 -1
- package/dist/commands/context.js.map +1 -1
- package/dist/commands/install.d.ts.map +1 -1
- package/dist/commands/install.js +57 -20
- package/dist/commands/install.js.map +1 -1
- package/dist/index.js +104 -0
- package/dist/index.js.map +1 -1
- package/dist/lib/agent-mode.d.ts +49 -0
- package/dist/lib/agent-mode.d.ts.map +1 -0
- package/dist/lib/agent-mode.js +124 -0
- package/dist/lib/agent-mode.js.map +1 -0
- package/dist/lib/api-client.d.ts.map +1 -1
- package/dist/lib/api-client.js +18 -0
- package/dist/lib/api-client.js.map +1 -1
- package/dist/lib/persona-groups.d.ts +34 -0
- package/dist/lib/persona-groups.d.ts.map +1 -0
- package/dist/lib/persona-groups.js +140 -0
- package/dist/lib/persona-groups.js.map +1 -0
- package/dist/lib/ui.js +2 -2
- package/dist/lib/ui.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai.d.ts","sourceRoot":"","sources":["../../src/commands/ai.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"ai.d.ts","sourceRoot":"","sources":["../../src/commands/ai.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAwEpC,eAAO,MAAM,SAAS,SAoFlB,CAAC"}
|
package/dist/commands/ai.js
CHANGED
|
@@ -55,18 +55,23 @@ const child_process_1 = require("child_process");
|
|
|
55
55
|
const fs = __importStar(require("fs"));
|
|
56
56
|
const path = __importStar(require("path"));
|
|
57
57
|
const config_1 = require("../lib/config");
|
|
58
|
+
const agent_mode_1 = require("../lib/agent-mode");
|
|
58
59
|
function whichAi(override) {
|
|
59
60
|
if (override) {
|
|
60
61
|
const normalized = override.toLowerCase();
|
|
61
|
-
if (normalized === 'claude' || normalized === 'cursor')
|
|
62
|
+
if (normalized === 'claude' || normalized === 'cursor' || normalized === 'codex') {
|
|
62
63
|
return normalized;
|
|
64
|
+
}
|
|
63
65
|
return null;
|
|
64
66
|
}
|
|
65
|
-
// Auto-detect
|
|
67
|
+
// Auto-detect. Preference order reflects what we ship first-class support
|
|
68
|
+
// for: claude > cursor > codex. Change this when product priorities shift.
|
|
66
69
|
if (resolveBinary('claude'))
|
|
67
70
|
return 'claude';
|
|
68
71
|
if (resolveBinary('cursor'))
|
|
69
72
|
return 'cursor';
|
|
73
|
+
if (resolveBinary('codex'))
|
|
74
|
+
return 'codex';
|
|
70
75
|
return null;
|
|
71
76
|
}
|
|
72
77
|
// Resolve a binary via PATH without depending on `which` being installed.
|
|
@@ -89,14 +94,13 @@ function resolveBinary(name) {
|
|
|
89
94
|
return null;
|
|
90
95
|
}
|
|
91
96
|
function refreshContext(kind) {
|
|
92
|
-
// Delegate to the existing context command so we reuse every write path
|
|
93
|
-
//
|
|
94
|
-
//
|
|
95
|
-
//
|
|
96
|
-
|
|
97
|
-
const args = kind === 'claude' ? ['context', '--claude'] : ['context', '--cursor'];
|
|
97
|
+
// Delegate to the existing context command so we reuse every write path:
|
|
98
|
+
// claude → .claude/CLAUDE.md + .claude/solid-context.json
|
|
99
|
+
// cursor → .cursorrules
|
|
100
|
+
// codex → AGENTS.md
|
|
101
|
+
const flag = kind === 'claude' ? '--claude' : kind === 'cursor' ? '--cursor' : '--codex';
|
|
98
102
|
const solidBin = resolveBinary('solid') || 'solid';
|
|
99
|
-
const result = (0, child_process_1.spawnSync)(solidBin,
|
|
103
|
+
const result = (0, child_process_1.spawnSync)(solidBin, ['context', flag], { stdio: 'inherit' });
|
|
100
104
|
return result.status === 0;
|
|
101
105
|
}
|
|
102
106
|
function launchAi(kind) {
|
|
@@ -105,16 +109,21 @@ function launchAi(kind) {
|
|
|
105
109
|
// proper takeover — spinners, inquirer, etc. all work.
|
|
106
110
|
(0, child_process_1.execFileSync)('claude', [], { stdio: 'inherit' });
|
|
107
111
|
}
|
|
108
|
-
else {
|
|
112
|
+
else if (kind === 'cursor') {
|
|
109
113
|
// Cursor expects a path argument to open the current project.
|
|
110
114
|
(0, child_process_1.execFileSync)('cursor', ['.'], { stdio: 'inherit' });
|
|
111
115
|
}
|
|
116
|
+
else {
|
|
117
|
+
// Codex (OpenAI's CLI) launches in the current directory; no args needed.
|
|
118
|
+
(0, child_process_1.execFileSync)('codex', [], { stdio: 'inherit' });
|
|
119
|
+
}
|
|
112
120
|
}
|
|
113
121
|
exports.aiCommand = new commander_1.Command('ai')
|
|
114
|
-
.description('Launch Claude Code / Cursor with this company\'s context pre-loaded (stupid easy)')
|
|
115
|
-
.option('--as <tool>', 'Force a specific AI: claude | cursor (default: auto-detect)')
|
|
122
|
+
.description('Launch Claude Code / Cursor / Codex with this company\'s context pre-loaded (stupid easy)')
|
|
123
|
+
.option('--as <tool>', 'Force a specific AI: claude | cursor | codex (default: auto-detect)')
|
|
116
124
|
.option('--no-context', 'Skip the context refresh — just launch the AI')
|
|
117
125
|
.option('--company <id>', 'Use a specific company for this session (overrides cached)')
|
|
126
|
+
.option('--mode <mode>', 'Cap the AI to a role: customer | developer | agency | full (default: full)')
|
|
118
127
|
.action(async (options) => {
|
|
119
128
|
// 1. Auth guard
|
|
120
129
|
if (!config_1.config.isLoggedIn()) {
|
|
@@ -139,30 +148,47 @@ exports.aiCommand = new commander_1.Command('ai')
|
|
|
139
148
|
// cached company_id — surfaced in the arrival message below.
|
|
140
149
|
process.env.SOLID_COMPANY_OVERRIDE = String(id);
|
|
141
150
|
}
|
|
142
|
-
// 3.
|
|
151
|
+
// 3. Resolve agent mode — this scopes what the AI can call. Default
|
|
152
|
+
// is `full` (no cap) to preserve today's behavior for humans. When an
|
|
153
|
+
// agent session is explicit, the guard in index.ts enforces the
|
|
154
|
+
// allowlist on every subsequent `solid ...` invocation inside the AI.
|
|
155
|
+
const mode = (0, agent_mode_1.parseAgentMode)(options.mode) || 'full';
|
|
156
|
+
// 4. Pick the AI
|
|
143
157
|
const kind = whichAi(options.as);
|
|
144
158
|
if (!kind) {
|
|
145
159
|
console.error(chalk_1.default.red('No AI detected on PATH.'));
|
|
146
160
|
console.error('');
|
|
147
161
|
console.error(chalk_1.default.dim(' Install Claude Code: https://claude.com/product/claude-code'));
|
|
148
162
|
console.error(chalk_1.default.dim(' Install Cursor: https://cursor.com'));
|
|
163
|
+
console.error(chalk_1.default.dim(' Install Codex CLI: https://github.com/openai/codex'));
|
|
149
164
|
console.error(chalk_1.default.dim(' Or pick explicitly: solid ai --as claude'));
|
|
150
165
|
process.exit(1);
|
|
151
166
|
}
|
|
152
|
-
//
|
|
167
|
+
// 5. Set the agent/human headers + mode env vars. Every `solid ...`
|
|
168
|
+
// invocation the AI spawns will inherit these via process.env, so the
|
|
169
|
+
// api-client attaches the right headers on every API call and the
|
|
170
|
+
// top-level mode guard refuses out-of-scope commands.
|
|
171
|
+
process.env.SOLID_AGENT = kind;
|
|
172
|
+
process.env.SOLID_AGENT_MODE = mode;
|
|
173
|
+
if (config_1.config.userEmail)
|
|
174
|
+
process.env.SOLID_HUMAN_INITIATOR = config_1.config.userEmail;
|
|
175
|
+
// 6. Arrival: one clean line so the user (and any AI tail-ing) knows
|
|
153
176
|
// exactly what's happening before the terminal hands off.
|
|
154
|
-
const tool = kind === 'claude' ? 'Claude Code' : 'Cursor';
|
|
177
|
+
const tool = kind === 'claude' ? 'Claude Code' : kind === 'cursor' ? 'Cursor' : 'Codex';
|
|
155
178
|
console.log('');
|
|
156
179
|
console.log(` ${chalk_1.default.bold('Launching')} ${chalk_1.default.hex('#a5b4fc')(tool)} ${chalk_1.default.dim(`with Company ${options.company || config_1.config.companyId} context`)}`);
|
|
180
|
+
if (mode !== 'full') {
|
|
181
|
+
console.log(` ${chalk_1.default.dim('Mode:')} ${chalk_1.default.yellow((0, agent_mode_1.modeDescriptor)(mode))}`);
|
|
182
|
+
}
|
|
157
183
|
console.log('');
|
|
158
|
-
//
|
|
184
|
+
// 7. Refresh context (unless --no-context)
|
|
159
185
|
if (options.context !== false) {
|
|
160
186
|
const ok = refreshContext(kind);
|
|
161
187
|
if (!ok) {
|
|
162
188
|
console.error(chalk_1.default.yellow(' ⚠ Context refresh failed — launching anyway with cached files.'));
|
|
163
189
|
}
|
|
164
190
|
}
|
|
165
|
-
//
|
|
191
|
+
// 8. Hand off. This replaces our process output with the AI's.
|
|
166
192
|
try {
|
|
167
193
|
launchAi(kind);
|
|
168
194
|
}
|
package/dist/commands/ai.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ai.js","sourceRoot":"","sources":["../../src/commands/ai.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;GAWG;AACH,yCAAoC;AACpC,kDAA0B;AAC1B,iDAAwD;AACxD,uCAAyB;AAEzB,2CAA6B;AAE7B,0CAAuC;
|
|
1
|
+
{"version":3,"file":"ai.js","sourceRoot":"","sources":["../../src/commands/ai.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/commands/context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../../src/commands/context.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAsMpC,eAAO,MAAM,cAAc,SAoLvB,CAAC"}
|
package/dist/commands/context.js
CHANGED
|
@@ -131,6 +131,15 @@ function printCursorNextSteps(outputPath, bytes) {
|
|
|
131
131
|
]));
|
|
132
132
|
console.log('');
|
|
133
133
|
}
|
|
134
|
+
function printCodexNextSteps(outputPath, bytes) {
|
|
135
|
+
console.log('');
|
|
136
|
+
console.log(ui_1.ui.successBox('AI Context Ready', [
|
|
137
|
+
`${chalk_1.default.dim('Saved:')} ${outputPath} (${formatBytes(bytes)})`,
|
|
138
|
+
`${chalk_1.default.dim('AGENTS.md is read by Codex, Claude Code, Cursor, and Gemini when present.')}`,
|
|
139
|
+
`${chalk_1.default.dim('Refresh:')} ${chalk_1.default.cyan('solid context --codex')}`,
|
|
140
|
+
]));
|
|
141
|
+
console.log('');
|
|
142
|
+
}
|
|
134
143
|
function printGenericNextSteps(outputPath, bytes) {
|
|
135
144
|
console.log('');
|
|
136
145
|
console.log(ui_1.ui.successBox('Context Saved', [
|
|
@@ -185,6 +194,7 @@ exports.contextCommand = new commander_1.Command('context')
|
|
|
185
194
|
.option('--save', 'Save to ./SOLID-CONTEXT.md')
|
|
186
195
|
.option('--claude', 'Save BOTH .claude/CLAUDE.md + .claude/solid-context.json')
|
|
187
196
|
.option('--cursor', 'Save to ./.cursorrules')
|
|
197
|
+
.option('--codex', 'Save to ./AGENTS.md (the emerging cross-agent standard: Codex / Claude / Cursor / Gemini)')
|
|
188
198
|
.option('--json', 'Output JSON to stdout')
|
|
189
199
|
.option('--minimal', 'Compact markdown (drops the tool manifest table)')
|
|
190
200
|
.option('--section <name>', 'Return only one section: company, content, operations, capabilities, history, tooling')
|
|
@@ -255,7 +265,7 @@ exports.contextCommand = new commander_1.Command('context')
|
|
|
255
265
|
return;
|
|
256
266
|
}
|
|
257
267
|
// ── Full context paths ────────────────────────────────────────
|
|
258
|
-
const isSaving = Boolean(options.save || options.claude || options.cursor || options.watch);
|
|
268
|
+
const isSaving = Boolean(options.save || options.claude || options.cursor || options.codex || options.watch);
|
|
259
269
|
const spinner = isSaving ? (0, ora_1.default)('Building AI context package...').start() : null;
|
|
260
270
|
let doc;
|
|
261
271
|
let jsonDoc = null;
|
|
@@ -301,6 +311,13 @@ exports.contextCommand = new commander_1.Command('context')
|
|
|
301
311
|
markdownPath = path.resolve('.cursorrules');
|
|
302
312
|
fs.writeFileSync(markdownPath, doc);
|
|
303
313
|
}
|
|
314
|
+
else if (options.codex) {
|
|
315
|
+
outputMode = 'codex';
|
|
316
|
+
// AGENTS.md is the emerging multi-agent convention — one file that
|
|
317
|
+
// Claude Code, Cursor, Codex, and Gemini all read when present.
|
|
318
|
+
markdownPath = path.resolve('AGENTS.md');
|
|
319
|
+
fs.writeFileSync(markdownPath, doc);
|
|
320
|
+
}
|
|
304
321
|
else if (options.save || options.watch) {
|
|
305
322
|
outputMode = 'file';
|
|
306
323
|
markdownPath = path.resolve('SOLID-CONTEXT.md');
|
|
@@ -315,6 +332,9 @@ exports.contextCommand = new commander_1.Command('context')
|
|
|
315
332
|
else if (outputMode === 'cursor' && markdownPath) {
|
|
316
333
|
printCursorNextSteps(markdownPath, fs.statSync(markdownPath).size);
|
|
317
334
|
}
|
|
335
|
+
else if (outputMode === 'codex' && markdownPath) {
|
|
336
|
+
printCodexNextSteps(markdownPath, fs.statSync(markdownPath).size);
|
|
337
|
+
}
|
|
318
338
|
else if (outputMode === 'file' && markdownPath) {
|
|
319
339
|
printGenericNextSteps(markdownPath, fs.statSync(markdownPath).size);
|
|
320
340
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/commands/context.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../../src/commands/context.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AA4GpC,eAAO,MAAM,cAAc,SAuEvB,CAAC"}
|
package/dist/commands/install.js
CHANGED
|
@@ -57,15 +57,21 @@ const fs = __importStar(require("fs"));
|
|
|
57
57
|
const os = __importStar(require("os"));
|
|
58
58
|
const path = __importStar(require("path"));
|
|
59
59
|
const ui_1 = require("../lib/ui");
|
|
60
|
-
|
|
60
|
+
// Resolves the Claude Code settings.json path. Honors
|
|
61
|
+
// SOLID_CLAUDE_SETTINGS_PATH so tests can point us at a tmp file — makes
|
|
62
|
+
// install tests hermetic without fragile fs module mocks.
|
|
63
|
+
function claudeSettingsPath() {
|
|
64
|
+
return process.env.SOLID_CLAUDE_SETTINGS_PATH
|
|
65
|
+
|| path.join(os.homedir(), '.claude', 'settings.json');
|
|
66
|
+
}
|
|
61
67
|
// The command Claude Code runs before every session. `--quiet` keeps the hook
|
|
62
68
|
// silent on success; failures still print so the user sees what's up.
|
|
63
|
-
const HOOK_COMMAND = 'solid context --claude --
|
|
69
|
+
const HOOK_COMMAND = 'solid context --claude --raw';
|
|
64
70
|
function loadSettings() {
|
|
65
|
-
if (!fs.existsSync(
|
|
71
|
+
if (!fs.existsSync(claudeSettingsPath()))
|
|
66
72
|
return {};
|
|
67
73
|
try {
|
|
68
|
-
return JSON.parse(fs.readFileSync(
|
|
74
|
+
return JSON.parse(fs.readFileSync(claudeSettingsPath(), 'utf-8'));
|
|
69
75
|
}
|
|
70
76
|
catch (err) {
|
|
71
77
|
// Corrupt JSON — refuse to clobber. User has to fix it first.
|
|
@@ -73,37 +79,61 @@ function loadSettings() {
|
|
|
73
79
|
}
|
|
74
80
|
}
|
|
75
81
|
function saveSettings(obj) {
|
|
76
|
-
const dir = path.dirname(
|
|
82
|
+
const dir = path.dirname(claudeSettingsPath());
|
|
77
83
|
if (!fs.existsSync(dir))
|
|
78
84
|
fs.mkdirSync(dir, { recursive: true });
|
|
79
|
-
fs.writeFileSync(
|
|
85
|
+
fs.writeFileSync(claudeSettingsPath(), JSON.stringify(obj, null, 2) + '\n', 'utf-8');
|
|
86
|
+
}
|
|
87
|
+
// Older installs wrote a broken command ("--quiet" is not a valid flag on
|
|
88
|
+
// `solid context`). When we see any of these legacy variants, treat them as
|
|
89
|
+
// "ours" so upsert rewrites them to the current HOOK_COMMAND.
|
|
90
|
+
const LEGACY_HOOK_COMMANDS = [
|
|
91
|
+
'solid context --claude --quiet',
|
|
92
|
+
];
|
|
93
|
+
function isSolidHook(command) {
|
|
94
|
+
return command === HOOK_COMMAND || LEGACY_HOOK_COMMANDS.includes(command);
|
|
80
95
|
}
|
|
81
|
-
// Idempotent merge: add our hook entry if (and only if) it isn't already
|
|
96
|
+
// Idempotent merge: add our hook entry if (and only if) it isn't already
|
|
97
|
+
// there. If a legacy (broken) variant is present, migrate it in place.
|
|
82
98
|
// Returns true when the file was modified.
|
|
83
99
|
function upsertSessionStartHook(settings) {
|
|
84
100
|
const hooks = settings.hooks || {};
|
|
85
101
|
const sessionStart = hooks.SessionStart || [];
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
102
|
+
let mutated = false;
|
|
103
|
+
// Migration pass: rewrite any legacy command to the current one.
|
|
104
|
+
for (const group of sessionStart) {
|
|
105
|
+
for (const h of group.hooks || []) {
|
|
106
|
+
if (LEGACY_HOOK_COMMANDS.includes(h.command)) {
|
|
107
|
+
h.command = HOOK_COMMAND;
|
|
108
|
+
mutated = true;
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
const alreadyHasCurrent = sessionStart.some((group) => (group.hooks || []).some((h) => h.command === HOOK_COMMAND));
|
|
113
|
+
if (!alreadyHasCurrent) {
|
|
114
|
+
sessionStart.push({
|
|
115
|
+
hooks: [{ type: 'command', command: HOOK_COMMAND }],
|
|
116
|
+
});
|
|
117
|
+
mutated = true;
|
|
118
|
+
}
|
|
92
119
|
hooks.SessionStart = sessionStart;
|
|
93
120
|
settings.hooks = hooks;
|
|
94
|
-
return
|
|
121
|
+
return mutated;
|
|
95
122
|
}
|
|
96
123
|
function removeSessionStartHook(settings) {
|
|
97
124
|
const hooks = settings.hooks;
|
|
98
125
|
if (!hooks || !Array.isArray(hooks.SessionStart))
|
|
99
126
|
return false;
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
127
|
+
// Remove BOTH the current command and any legacy variants so users who
|
|
128
|
+
// installed an older broken hook get a clean uninstall.
|
|
129
|
+
const original = hooks.SessionStart;
|
|
130
|
+
const filtered = original
|
|
131
|
+
.map((group) => ({ ...group, hooks: (group.hooks || []).filter((h) => !isSolidHook(h.command)) }))
|
|
103
132
|
.filter((group) => group.hooks.length > 0);
|
|
104
|
-
|
|
133
|
+
const removedSomething = filtered.length !== original.length ||
|
|
134
|
+
filtered.some((g, i) => g.hooks.length !== original[i].hooks.length);
|
|
135
|
+
if (!removedSomething)
|
|
105
136
|
return false;
|
|
106
|
-
}
|
|
107
137
|
if (filtered.length === 0) {
|
|
108
138
|
delete hooks.SessionStart;
|
|
109
139
|
}
|
|
@@ -132,7 +162,12 @@ exports.installCommand = new commander_1.Command('install')
|
|
|
132
162
|
console.log(preview);
|
|
133
163
|
return;
|
|
134
164
|
}
|
|
165
|
+
// Every terminal-facing outcome below gets the branded banner so
|
|
166
|
+
// install feels like a first-class "welcome" moment — same tier as
|
|
167
|
+
// the login arrival screen, not a plain box.
|
|
168
|
+
const brand = ui_1.ui.banner();
|
|
135
169
|
if (!changed) {
|
|
170
|
+
console.log(brand);
|
|
136
171
|
if (options.uninstall) {
|
|
137
172
|
console.log(ui_1.ui.infoBox('Nothing to do', [
|
|
138
173
|
`${chalk_1.default.dim('No Solid hook found in')} ~/.claude/settings.json`,
|
|
@@ -142,19 +177,21 @@ exports.installCommand = new commander_1.Command('install')
|
|
|
142
177
|
console.log(ui_1.ui.successBox('Already installed', [
|
|
143
178
|
`${chalk_1.default.dim('Solid hook is already in')} ~/.claude/settings.json`,
|
|
144
179
|
'',
|
|
145
|
-
`${chalk_1.default.dim('Verify with:')} ${chalk_1.default.cyan('solid install --
|
|
180
|
+
`${chalk_1.default.dim('Verify with:')} ${chalk_1.default.cyan('solid install --preview')}`,
|
|
146
181
|
]));
|
|
147
182
|
}
|
|
148
183
|
return;
|
|
149
184
|
}
|
|
150
185
|
saveSettings(settings);
|
|
151
186
|
if (options.uninstall) {
|
|
187
|
+
console.log(brand);
|
|
152
188
|
console.log(ui_1.ui.successBox('Uninstalled', [
|
|
153
189
|
`${chalk_1.default.dim('Removed Solid SessionStart hook from')} ~/.claude/settings.json`,
|
|
154
190
|
`${chalk_1.default.dim('Claude Code will no longer auto-refresh .claude/CLAUDE.md.')}`,
|
|
155
191
|
]));
|
|
156
192
|
return;
|
|
157
193
|
}
|
|
194
|
+
console.log(brand);
|
|
158
195
|
console.log(ui_1.ui.successBox('Installed', [
|
|
159
196
|
`${chalk_1.default.bold('Wired Claude Code to auto-load Solid context.')}`,
|
|
160
197
|
'',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA;;;;;;;;;;;;;GAaG;AACH,yCAAoC;AACpC,kDAA0B;AAC1B,uCAAyB;AACzB,uCAAyB;AACzB,2CAA6B;AAE7B,kCAA+B;AAE/B,
|
|
1
|
+
{"version":3,"file":"install.js","sourceRoot":"","sources":["../../src/commands/install.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -107,6 +107,7 @@ const payment_1 = require("./commands/payment");
|
|
|
107
107
|
const context_1 = require("./commands/context");
|
|
108
108
|
const ai_1 = require("./commands/ai");
|
|
109
109
|
const install_1 = require("./commands/install");
|
|
110
|
+
const persona_groups_1 = require("./lib/persona-groups");
|
|
110
111
|
const analytics_1 = require("./commands/analytics");
|
|
111
112
|
const seo_1 = require("./commands/seo");
|
|
112
113
|
const insights_1 = require("./commands/insights");
|
|
@@ -183,7 +184,110 @@ program
|
|
|
183
184
|
.configureHelp({
|
|
184
185
|
sortSubcommands: false,
|
|
185
186
|
sortOptions: false,
|
|
187
|
+
// Custom command list: group by persona (common / customer / developer
|
|
188
|
+
// / agency) instead of rendering 91 verbs as a flat alphabetical wall.
|
|
189
|
+
// Every command is still shown — the backend is the authority on what
|
|
190
|
+
// a given token can actually run. This is pure UX organization.
|
|
191
|
+
formatHelp: (cmd, helper) => {
|
|
192
|
+
const termWidth = helper.padWidth(cmd, helper);
|
|
193
|
+
const itemIndentWidth = 2;
|
|
194
|
+
const itemSeparatorWidth = 2;
|
|
195
|
+
// Re-use commander's own helpers for usage/description/options so
|
|
196
|
+
// we don't drift from its look when they upgrade the package.
|
|
197
|
+
const usage = helper.commandUsage(cmd);
|
|
198
|
+
const description = helper.commandDescription(cmd);
|
|
199
|
+
let output = [`Usage: ${usage}`];
|
|
200
|
+
if (description)
|
|
201
|
+
output.push('', description);
|
|
202
|
+
const argumentList = helper
|
|
203
|
+
.visibleArguments(cmd)
|
|
204
|
+
.map((argument) => {
|
|
205
|
+
const term = helper.argumentTerm(argument);
|
|
206
|
+
const desc = helper.argumentDescription(argument);
|
|
207
|
+
return formatItem(term, desc, termWidth, helper);
|
|
208
|
+
});
|
|
209
|
+
if (argumentList.length)
|
|
210
|
+
output.push('', 'Arguments:', ...argumentList);
|
|
211
|
+
const optionList = helper
|
|
212
|
+
.visibleOptions(cmd)
|
|
213
|
+
.map((option) => {
|
|
214
|
+
const term = helper.optionTerm(option);
|
|
215
|
+
const desc = helper.optionDescription(option);
|
|
216
|
+
return formatItem(term, desc, termWidth, helper);
|
|
217
|
+
});
|
|
218
|
+
if (optionList.length)
|
|
219
|
+
output.push('', 'Options:', ...optionList);
|
|
220
|
+
// --- Grouped command listing -----------------------------------
|
|
221
|
+
const commands = helper.visibleCommands(cmd);
|
|
222
|
+
if (commands.length) {
|
|
223
|
+
const groups = {
|
|
224
|
+
common: [],
|
|
225
|
+
customer: [],
|
|
226
|
+
developer: [],
|
|
227
|
+
agency: [],
|
|
228
|
+
};
|
|
229
|
+
for (const sub of commands) {
|
|
230
|
+
groups[(0, persona_groups_1.personaFor)(sub.name())].push(sub);
|
|
231
|
+
}
|
|
232
|
+
output.push('', 'Commands:');
|
|
233
|
+
for (const persona of persona_groups_1.PERSONA_ORDER) {
|
|
234
|
+
const list = groups[persona];
|
|
235
|
+
if (!list.length)
|
|
236
|
+
continue;
|
|
237
|
+
output.push(` ── ${persona_groups_1.PERSONA_TITLES[persona]} ───────────────────────────────────`);
|
|
238
|
+
for (const sub of list) {
|
|
239
|
+
const term = helper.subcommandTerm(sub);
|
|
240
|
+
const desc = helper.subcommandDescription(sub);
|
|
241
|
+
output.push(formatItem(term, desc, termWidth, helper));
|
|
242
|
+
}
|
|
243
|
+
output.push('');
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
return output.join('\n');
|
|
247
|
+
function formatItem(term, description, padWidth, h) {
|
|
248
|
+
const indent = ' '.repeat(itemIndentWidth);
|
|
249
|
+
if (description) {
|
|
250
|
+
const fullText = `${term.padEnd(padWidth + itemSeparatorWidth)}${description}`;
|
|
251
|
+
return indent + h.wrap(fullText, h.helpWidth ?? 80, padWidth + itemSeparatorWidth + itemIndentWidth);
|
|
252
|
+
}
|
|
253
|
+
return indent + term;
|
|
254
|
+
}
|
|
255
|
+
},
|
|
186
256
|
});
|
|
257
|
+
// Agent-mode guard — when SOLID_AGENT_MODE is set (by `solid ai --mode ...`
|
|
258
|
+
// or the human operator explicitly), refuse commands not on that mode's
|
|
259
|
+
// allowlist BEFORE commander even parses them. This is the client-side
|
|
260
|
+
// safety net; the backend also sees the X-Solid-Agent header and can
|
|
261
|
+
// enforce independently.
|
|
262
|
+
{
|
|
263
|
+
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
264
|
+
const { parseAgentMode, isModeAllowed, modeDescriptor, requiresHumanConfirmation } = require('./lib/agent-mode');
|
|
265
|
+
const mode = parseAgentMode(process.env.SOLID_AGENT_MODE);
|
|
266
|
+
if (mode && mode !== 'full') {
|
|
267
|
+
// argv[0]=node, argv[1]=entry.js, argv[2]=top-level command
|
|
268
|
+
const topCmd = process.argv[2];
|
|
269
|
+
// Always let --help / --version / empty through — those are discovery.
|
|
270
|
+
const isDiscovery = !topCmd || topCmd.startsWith('-') || topCmd === 'help';
|
|
271
|
+
if (!isDiscovery && !isModeAllowed(mode, topCmd)) {
|
|
272
|
+
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
273
|
+
const ch = require('chalk');
|
|
274
|
+
process.stderr.write(ch.red(`Refused: \`solid ${topCmd}\` is not available in ${modeDescriptor(mode)}.\n`) +
|
|
275
|
+
ch.dim(` Agent mode caps this session. Unset with: unset SOLID_AGENT_MODE\n`) +
|
|
276
|
+
ch.dim(` Or switch: solid ai --mode customer | developer | agency | full\n`));
|
|
277
|
+
process.exit(2);
|
|
278
|
+
}
|
|
279
|
+
// Destructive-op gate: require --yes when an agent drives delete/refund/etc.
|
|
280
|
+
const argvRest = process.argv.slice(2).join(' ');
|
|
281
|
+
if (!isDiscovery && requiresHumanConfirmation(argvRest) && !process.argv.includes('--yes')) {
|
|
282
|
+
// eslint-disable-next-line @typescript-eslint/no-var-requires
|
|
283
|
+
const ch = require('chalk');
|
|
284
|
+
process.stderr.write(ch.red(`Refused: destructive op detected (${topCmd}).\n`) +
|
|
285
|
+
ch.dim(` Agent-driven sessions require human approval for delete / refund / cancel / revoke.\n`) +
|
|
286
|
+
ch.dim(` Re-run with --yes if your human operator approves.\n`));
|
|
287
|
+
process.exit(2);
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
}
|
|
187
291
|
// Honor --no-color / NO_COLOR by disabling chalk globally BEFORE any
|
|
188
292
|
// command runs. chalk already honors NO_COLOR env var, but the --no-color
|
|
189
293
|
// flag needs this explicit hook since we consume it before parsing.
|