@gramatr/mcp 0.7.5 → 0.7.10
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/bin/gramatr-mcp.d.ts +5 -0
- package/dist/bin/gramatr-mcp.d.ts.map +1 -1
- package/dist/bin/gramatr-mcp.js +125 -2
- package/dist/bin/gramatr-mcp.js.map +1 -1
- package/dist/bin/setup.d.ts +16 -1
- package/dist/bin/setup.d.ts.map +1 -1
- package/dist/bin/setup.js +585 -2
- package/dist/bin/setup.js.map +1 -1
- package/dist/hooks/lib/feedback.d.ts +0 -2
- package/dist/hooks/lib/feedback.d.ts.map +1 -1
- package/dist/hooks/lib/feedback.js +18 -19
- package/dist/hooks/lib/feedback.js.map +1 -1
- package/dist/hooks/lib/formatting-compat.d.ts.map +1 -1
- package/dist/hooks/lib/formatting-compat.js +82 -55
- package/dist/hooks/lib/formatting-compat.js.map +1 -1
- package/dist/hooks/lib/gramatr-hook-utils.d.ts +0 -59
- package/dist/hooks/lib/gramatr-hook-utils.d.ts.map +1 -1
- package/dist/hooks/lib/gramatr-hook-utils.js +1 -212
- package/dist/hooks/lib/gramatr-hook-utils.js.map +1 -1
- package/dist/hooks/lib/hook-state.d.ts +159 -0
- package/dist/hooks/lib/hook-state.d.ts.map +1 -0
- package/dist/hooks/lib/hook-state.js +430 -0
- package/dist/hooks/lib/hook-state.js.map +1 -0
- package/dist/hooks/lib/intelligence.d.ts.map +1 -1
- package/dist/hooks/lib/intelligence.js +112 -88
- package/dist/hooks/lib/intelligence.js.map +1 -1
- package/dist/hooks/lib/routing.d.ts +2 -2
- package/dist/hooks/lib/routing.d.ts.map +1 -1
- package/dist/hooks/lib/routing.js +71 -25
- package/dist/hooks/lib/routing.js.map +1 -1
- package/dist/hooks/lib/session-end.d.ts +7 -0
- package/dist/hooks/lib/session-end.d.ts.map +1 -1
- package/dist/hooks/lib/session-end.js +33 -16
- package/dist/hooks/lib/session-end.js.map +1 -1
- package/dist/hooks/lib/session.d.ts +7 -38
- package/dist/hooks/lib/session.d.ts.map +1 -1
- package/dist/hooks/lib/session.js +43 -87
- package/dist/hooks/lib/session.js.map +1 -1
- package/dist/hooks/lib/types.d.ts +174 -36
- package/dist/hooks/lib/types.d.ts.map +1 -1
- package/dist/hooks/session-end.d.ts.map +1 -1
- package/dist/hooks/session-end.js +53 -45
- package/dist/hooks/session-end.js.map +1 -1
- package/dist/hooks/session-start.d.ts.map +1 -1
- package/dist/hooks/session-start.js +87 -77
- package/dist/hooks/session-start.js.map +1 -1
- package/dist/hooks/stop.d.ts.map +1 -1
- package/dist/hooks/stop.js +1 -10
- package/dist/hooks/stop.js.map +1 -1
- package/dist/hooks/user-prompt-submit.d.ts.map +1 -1
- package/dist/hooks/user-prompt-submit.js +57 -68
- package/dist/hooks/user-prompt-submit.js.map +1 -1
- package/dist/intelligence/packet2-fetcher.d.ts +3 -3
- package/dist/intelligence/packet2-fetcher.js +8 -8
- package/dist/intelligence/packet2-fetcher.js.map +1 -1
- package/dist/proxy/local-client.d.ts +49 -0
- package/dist/proxy/local-client.d.ts.map +1 -0
- package/dist/proxy/local-client.js +135 -0
- package/dist/proxy/local-client.js.map +1 -0
- package/dist/server/hooks-listener.d.ts +32 -0
- package/dist/server/hooks-listener.d.ts.map +1 -0
- package/dist/server/hooks-listener.js +144 -0
- package/dist/server/hooks-listener.js.map +1 -0
- package/dist/server/server.d.ts.map +1 -1
- package/dist/server/server.js +16 -1
- package/dist/server/server.js.map +1 -1
- package/dist/setup/instructions.js +13 -0
- package/dist/setup/instructions.js.map +1 -1
- package/dist/setup/integrations.js +3 -3
- package/dist/setup/integrations.js.map +1 -1
- package/dist/setup/web-connector.d.ts.map +1 -1
- package/dist/setup/web-connector.js +4 -0
- package/dist/setup/web-connector.js.map +1 -1
- package/package.json +5 -2
|
@@ -9,13 +9,17 @@
|
|
|
9
9
|
* gramatr-mcp logout Remove stored credentials
|
|
10
10
|
* gramatr-mcp clear-creds Remove all stored local credentials
|
|
11
11
|
* gramatr-mcp setup claude Auto-configure Claude Code settings and hooks
|
|
12
|
+
* gramatr-mcp setup claude --clean-install Remove legacy Claude/PAI/Fabric artifacts first
|
|
12
13
|
* gramatr-mcp setup codex Auto-configure Codex hook settings
|
|
13
14
|
* gramatr-mcp setup claude-desktop Auto-configure Claude Desktop MCP settings
|
|
14
15
|
* gramatr-mcp setup chatgpt-desktop Auto-configure ChatGPT Desktop MCP settings
|
|
15
16
|
* gramatr-mcp setup gemini Auto-configure Gemini CLI extension files
|
|
17
|
+
* gramatr-mcp setup auto Auto-detect and install detected local clients
|
|
16
18
|
* gramatr-mcp setup web Show web connector instructions + prompt suggestion
|
|
17
19
|
* gramatr-mcp setup web chatgpt Show ChatGPT web connector instructions
|
|
18
20
|
* gramatr-mcp setup web gemini Show Gemini web connector instructions
|
|
21
|
+
* gramatr-mcp setup clean-install Clean legacy install artifacts across known targets
|
|
22
|
+
* gramatr-mcp setup verify Verify local MCP/hook install health
|
|
19
23
|
* gramatr-mcp build-mcpb Build a Claude Desktop .mcpb manifest bundle
|
|
20
24
|
* gramatr-mcp hook <name> [args...] Run a hook (session-start, ...)
|
|
21
25
|
* gramatr-mcp hook --list List registered hooks
|
|
@@ -32,6 +36,7 @@
|
|
|
32
36
|
* client hooks (Claude Code, Codex, Gemini) invoke this binary directly
|
|
33
37
|
* instead of shipping duplicated TypeScript in each integration package.
|
|
34
38
|
*/
|
|
39
|
+
export declare function parseAutoTargetSelection(raw: string, detected: string[]): string[] | null;
|
|
35
40
|
export declare function printHelp(): void;
|
|
36
41
|
export declare function cliMain(cliArgs?: string[]): Promise<void>;
|
|
37
42
|
//# sourceMappingURL=gramatr-mcp.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gramatr-mcp.d.ts","sourceRoot":"","sources":["../../src/bin/gramatr-mcp.ts"],"names":[],"mappings":";AACA
|
|
1
|
+
{"version":3,"file":"gramatr-mcp.d.ts","sourceRoot":"","sources":["../../src/bin/gramatr-mcp.ts"],"names":[],"mappings":";AACA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAoCG;AAOH,wBAAgB,wBAAwB,CACtC,GAAG,EAAE,MAAM,EACX,QAAQ,EAAE,MAAM,EAAE,GACjB,MAAM,EAAE,GAAG,IAAI,CAqBjB;AAqBD,wBAAgB,SAAS,IAAI,IAAI,CAkDhC;AAED,wBAAsB,OAAO,CAAC,OAAO,GAAE,MAAM,EAA0B,GAAG,OAAO,CAAC,IAAI,CAAC,CA0MtF"}
|
package/dist/bin/gramatr-mcp.js
CHANGED
|
@@ -9,13 +9,17 @@
|
|
|
9
9
|
* gramatr-mcp logout Remove stored credentials
|
|
10
10
|
* gramatr-mcp clear-creds Remove all stored local credentials
|
|
11
11
|
* gramatr-mcp setup claude Auto-configure Claude Code settings and hooks
|
|
12
|
+
* gramatr-mcp setup claude --clean-install Remove legacy Claude/PAI/Fabric artifacts first
|
|
12
13
|
* gramatr-mcp setup codex Auto-configure Codex hook settings
|
|
13
14
|
* gramatr-mcp setup claude-desktop Auto-configure Claude Desktop MCP settings
|
|
14
15
|
* gramatr-mcp setup chatgpt-desktop Auto-configure ChatGPT Desktop MCP settings
|
|
15
16
|
* gramatr-mcp setup gemini Auto-configure Gemini CLI extension files
|
|
17
|
+
* gramatr-mcp setup auto Auto-detect and install detected local clients
|
|
16
18
|
* gramatr-mcp setup web Show web connector instructions + prompt suggestion
|
|
17
19
|
* gramatr-mcp setup web chatgpt Show ChatGPT web connector instructions
|
|
18
20
|
* gramatr-mcp setup web gemini Show Gemini web connector instructions
|
|
21
|
+
* gramatr-mcp setup clean-install Clean legacy install artifacts across known targets
|
|
22
|
+
* gramatr-mcp setup verify Verify local MCP/hook install health
|
|
19
23
|
* gramatr-mcp build-mcpb Build a Claude Desktop .mcpb manifest bundle
|
|
20
24
|
* gramatr-mcp hook <name> [args...] Run a hook (session-start, ...)
|
|
21
25
|
* gramatr-mcp hook --list List registered hooks
|
|
@@ -34,6 +38,46 @@
|
|
|
34
38
|
*/
|
|
35
39
|
import { VERSION } from '../hooks/lib/version.js';
|
|
36
40
|
import { fileURLToPath } from 'node:url';
|
|
41
|
+
import { createInterface } from 'node:readline/promises';
|
|
42
|
+
export function parseAutoTargetSelection(raw, detected) {
|
|
43
|
+
const normalized = raw.trim().toLowerCase();
|
|
44
|
+
if (!normalized)
|
|
45
|
+
return detected;
|
|
46
|
+
if (normalized === 'all' || normalized === '*')
|
|
47
|
+
return detected;
|
|
48
|
+
if (normalized === 'none' || normalized === 'cancel' || normalized === 'q' || normalized === 'quit')
|
|
49
|
+
return null;
|
|
50
|
+
const indexes = normalized
|
|
51
|
+
.split(',')
|
|
52
|
+
.map((chunk) => chunk.trim())
|
|
53
|
+
.filter(Boolean)
|
|
54
|
+
.map((chunk) => Number.parseInt(chunk, 10));
|
|
55
|
+
if (indexes.length === 0 || indexes.some((n) => Number.isNaN(n))) {
|
|
56
|
+
return detected;
|
|
57
|
+
}
|
|
58
|
+
const selected = indexes
|
|
59
|
+
.map((n) => detected[n - 1])
|
|
60
|
+
.filter((value) => typeof value === 'string');
|
|
61
|
+
return selected.length > 0 ? Array.from(new Set(selected)) : detected;
|
|
62
|
+
}
|
|
63
|
+
async function promptAutoTargetSelection(detected) {
|
|
64
|
+
const rl = createInterface({
|
|
65
|
+
input: process.stdin,
|
|
66
|
+
output: process.stderr,
|
|
67
|
+
});
|
|
68
|
+
try {
|
|
69
|
+
process.stderr.write('\n[gramatr-mcp] Select install targets for setup auto:\n');
|
|
70
|
+
detected.forEach((target, index) => {
|
|
71
|
+
process.stderr.write(` ${index + 1}. ${target}\n`);
|
|
72
|
+
});
|
|
73
|
+
process.stderr.write(' Enter numbers (e.g. 1,3,4), or `all`, or `none` to cancel.\n');
|
|
74
|
+
const answer = await rl.question(' Selection [all]: ');
|
|
75
|
+
return parseAutoTargetSelection(answer, detected);
|
|
76
|
+
}
|
|
77
|
+
finally {
|
|
78
|
+
rl.close();
|
|
79
|
+
}
|
|
80
|
+
}
|
|
37
81
|
export function printHelp() {
|
|
38
82
|
process.stderr.write(`
|
|
39
83
|
gramatr-mcp — Local MCP server for grāmatr
|
|
@@ -49,13 +93,18 @@ export function printHelp() {
|
|
|
49
93
|
gramatr-mcp logout Remove stored credentials
|
|
50
94
|
gramatr-mcp clear-creds Remove all stored local credentials
|
|
51
95
|
gramatr-mcp setup claude Configure Claude Code to use this server
|
|
96
|
+
gramatr-mcp setup claude --clean-install
|
|
97
|
+
Remove legacy Claude + PAI/Fabric/AIOS artifacts first
|
|
52
98
|
gramatr-mcp setup codex Configure Codex hook wiring
|
|
53
99
|
gramatr-mcp setup claude-desktop Configure Claude Desktop to use this server
|
|
54
100
|
gramatr-mcp setup chatgpt-desktop Configure ChatGPT Desktop to use this server
|
|
55
101
|
gramatr-mcp setup gemini Configure Gemini CLI extension files
|
|
102
|
+
gramatr-mcp setup auto Detect and install supported local clients
|
|
56
103
|
gramatr-mcp setup web Show claude.ai web connector setup + prompt
|
|
57
104
|
gramatr-mcp setup web chatgpt Show ChatGPT web connector setup + prompt
|
|
58
105
|
gramatr-mcp setup web gemini Show Gemini web connector setup + prompt
|
|
106
|
+
gramatr-mcp setup clean-install Remove stale legacy install artifacts globally
|
|
107
|
+
gramatr-mcp setup verify [target] Verify install wiring (all|claude|codex|...)
|
|
59
108
|
gramatr-mcp build-mcpb Build a Claude Desktop .mcpb bundle
|
|
60
109
|
gramatr-mcp hook <name> [args...] Run a hook (stdin → stdout contract)
|
|
61
110
|
gramatr-mcp hook --list List registered hooks
|
|
@@ -69,9 +118,14 @@ export function printHelp() {
|
|
|
69
118
|
|
|
70
119
|
Setup:
|
|
71
120
|
gramatr-mcp setup claude Write MCP config to ~/.claude.json
|
|
121
|
+
gramatr-mcp setup claude --clean-install
|
|
122
|
+
Remove stale legacy artifacts before writing setup
|
|
72
123
|
gramatr-mcp setup claude-desktop Write Claude Desktop config
|
|
73
124
|
gramatr-mcp setup chatgpt-desktop Write ChatGPT Desktop config
|
|
74
125
|
gramatr-mcp setup gemini Write Gemini extension manifest/hooks
|
|
126
|
+
gramatr-mcp setup auto Detect and install supported local clients
|
|
127
|
+
gramatr-mcp setup clean-install Remove stale legacy install artifacts first
|
|
128
|
+
gramatr-mcp setup verify Verify setup wiring + managed guidance blocks
|
|
75
129
|
gramatr-mcp setup claude --dry Preview without writing
|
|
76
130
|
`);
|
|
77
131
|
}
|
|
@@ -117,47 +171,82 @@ export async function cliMain(cliArgs = process.argv.slice(2)) {
|
|
|
117
171
|
if (cliArgs[0] === 'setup') {
|
|
118
172
|
const target = cliArgs[1];
|
|
119
173
|
const dryRun = cliArgs.includes('--dry');
|
|
174
|
+
const cleanInstall = cliArgs.includes('--clean-install') || cliArgs.includes('--clean');
|
|
175
|
+
const showPrompts = cliArgs.includes('--show-prompts');
|
|
176
|
+
const json = cliArgs.includes('--json');
|
|
120
177
|
if (target === 'claude') {
|
|
121
178
|
const { setupClaude } = await import('./setup.js');
|
|
122
|
-
setupClaude(dryRun);
|
|
179
|
+
setupClaude(dryRun, cleanInstall);
|
|
123
180
|
return;
|
|
124
181
|
}
|
|
125
182
|
if (target === 'codex') {
|
|
183
|
+
if (cleanInstall) {
|
|
184
|
+
const { runCleanInstall } = await import('./setup.js');
|
|
185
|
+
runCleanInstall(dryRun);
|
|
186
|
+
}
|
|
126
187
|
const { setupCodex } = await import('./setup.js');
|
|
127
188
|
setupCodex(dryRun);
|
|
128
189
|
return;
|
|
129
190
|
}
|
|
130
191
|
if (target === 'claude-desktop') {
|
|
192
|
+
if (cleanInstall) {
|
|
193
|
+
const { runCleanInstall } = await import('./setup.js');
|
|
194
|
+
runCleanInstall(dryRun);
|
|
195
|
+
}
|
|
131
196
|
const { setupClaudeDesktop } = await import('./setup.js');
|
|
132
197
|
setupClaudeDesktop(dryRun);
|
|
133
198
|
return;
|
|
134
199
|
}
|
|
135
200
|
if (target === 'chatgpt-desktop') {
|
|
201
|
+
if (cleanInstall) {
|
|
202
|
+
const { runCleanInstall } = await import('./setup.js');
|
|
203
|
+
runCleanInstall(dryRun);
|
|
204
|
+
}
|
|
136
205
|
const { setupChatgptDesktop } = await import('./setup.js');
|
|
137
206
|
setupChatgptDesktop(dryRun);
|
|
138
207
|
return;
|
|
139
208
|
}
|
|
140
209
|
if (target === 'gemini') {
|
|
210
|
+
if (cleanInstall) {
|
|
211
|
+
const { runCleanInstall } = await import('./setup.js');
|
|
212
|
+
runCleanInstall(dryRun);
|
|
213
|
+
}
|
|
141
214
|
const { setupGemini } = await import('./setup.js');
|
|
142
215
|
setupGemini(dryRun);
|
|
143
216
|
return;
|
|
144
217
|
}
|
|
145
218
|
if (target === 'cursor') {
|
|
219
|
+
if (cleanInstall) {
|
|
220
|
+
const { runCleanInstall } = await import('./setup.js');
|
|
221
|
+
runCleanInstall(dryRun);
|
|
222
|
+
}
|
|
146
223
|
const { setupCursor } = await import('./setup.js');
|
|
147
224
|
setupCursor(dryRun);
|
|
148
225
|
return;
|
|
149
226
|
}
|
|
150
227
|
if (target === 'windsurf') {
|
|
228
|
+
if (cleanInstall) {
|
|
229
|
+
const { runCleanInstall } = await import('./setup.js');
|
|
230
|
+
runCleanInstall(dryRun);
|
|
231
|
+
}
|
|
151
232
|
const { setupWindsurf } = await import('./setup.js');
|
|
152
233
|
setupWindsurf(dryRun);
|
|
153
234
|
return;
|
|
154
235
|
}
|
|
155
236
|
if (target === 'vscode') {
|
|
237
|
+
if (cleanInstall) {
|
|
238
|
+
const { runCleanInstall } = await import('./setup.js');
|
|
239
|
+
runCleanInstall(dryRun);
|
|
240
|
+
}
|
|
156
241
|
const { setupVscode } = await import('./setup.js');
|
|
157
242
|
setupVscode(dryRun);
|
|
158
243
|
return;
|
|
159
244
|
}
|
|
160
245
|
if (target === 'web') {
|
|
246
|
+
if (cleanInstall) {
|
|
247
|
+
const { runCleanInstall } = await import('./setup.js');
|
|
248
|
+
runCleanInstall(dryRun);
|
|
249
|
+
}
|
|
161
250
|
const webTarget = cliArgs[2];
|
|
162
251
|
const resolved = webTarget === 'chatgpt' ? 'chatgpt-web'
|
|
163
252
|
: webTarget === 'gemini' ? 'gemini-web'
|
|
@@ -166,8 +255,42 @@ export async function cliMain(cliArgs = process.argv.slice(2)) {
|
|
|
166
255
|
await setupWeb(resolved);
|
|
167
256
|
return;
|
|
168
257
|
}
|
|
258
|
+
if (target === 'auto') {
|
|
259
|
+
const { setupAutoInstall, getAutoDetectedTargets } = await import('./setup.js');
|
|
260
|
+
const listOnly = cliArgs.includes('--list') || cliArgs.includes('--list-only');
|
|
261
|
+
const assumeYes = cliArgs.includes('--yes') || cliArgs.includes('-y');
|
|
262
|
+
const interactiveAllowed = Boolean(process.stdin.isTTY && process.stdout.isTTY);
|
|
263
|
+
let selectedTargets;
|
|
264
|
+
if (!listOnly && !assumeYes && interactiveAllowed) {
|
|
265
|
+
const detected = getAutoDetectedTargets();
|
|
266
|
+
const selected = await promptAutoTargetSelection(detected);
|
|
267
|
+
if (selected === null) {
|
|
268
|
+
process.stderr.write('[gramatr-mcp] setup auto cancelled.\n');
|
|
269
|
+
process.exit(1);
|
|
270
|
+
}
|
|
271
|
+
selectedTargets = selected;
|
|
272
|
+
}
|
|
273
|
+
setupAutoInstall({
|
|
274
|
+
dryRun,
|
|
275
|
+
cleanInstall,
|
|
276
|
+
listOnly,
|
|
277
|
+
selectedTargets,
|
|
278
|
+
});
|
|
279
|
+
return;
|
|
280
|
+
}
|
|
281
|
+
if (target === 'clean-install') {
|
|
282
|
+
const { runCleanInstall } = await import('./setup.js');
|
|
283
|
+
runCleanInstall(dryRun);
|
|
284
|
+
return;
|
|
285
|
+
}
|
|
286
|
+
if (target === 'verify') {
|
|
287
|
+
const verifyTargetRaw = cliArgs.find((arg, index) => index > 1 && !arg.startsWith('--')) || 'all';
|
|
288
|
+
const verifyTarget = verifyTargetRaw;
|
|
289
|
+
const { verifySetupInstall } = await import('./setup.js');
|
|
290
|
+
process.exit(verifySetupInstall(verifyTarget, { json, showPrompts }));
|
|
291
|
+
}
|
|
169
292
|
process.stderr.write(`[gramatr-mcp] Unknown setup target: ${target}\n`);
|
|
170
|
-
process.stderr.write(' Supported: claude | codex | claude-desktop | chatgpt-desktop | gemini | cursor | windsurf | vscode | web\n');
|
|
293
|
+
process.stderr.write(' Supported: claude | codex | claude-desktop | chatgpt-desktop | gemini | cursor | windsurf | vscode | auto | web | clean-install | verify\n');
|
|
171
294
|
process.exit(1);
|
|
172
295
|
}
|
|
173
296
|
// Default: start the stdio server. Lazy-loaded so the `hook` and `setup`
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"gramatr-mcp.js","sourceRoot":"","sources":["../../src/bin/gramatr-mcp.ts"],"names":[],"mappings":";AACA
|
|
1
|
+
{"version":3,"file":"gramatr-mcp.js","sourceRoot":"","sources":["../../src/bin/gramatr-mcp.ts"],"names":[],"mappings":"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"}
|
package/dist/bin/setup.d.ts
CHANGED
|
@@ -20,6 +20,9 @@ interface McpServerEntry {
|
|
|
20
20
|
env?: Record<string, string>;
|
|
21
21
|
[key: string]: unknown;
|
|
22
22
|
}
|
|
23
|
+
type SetupTarget = 'all' | 'claude' | 'codex' | 'claude-desktop' | 'chatgpt-desktop' | 'gemini' | 'cursor' | 'windsurf' | 'vscode';
|
|
24
|
+
export type InstallableTarget = Exclude<SetupTarget, 'all'>;
|
|
25
|
+
export declare const AUTO_TARGET_ORDER: InstallableTarget[];
|
|
23
26
|
/**
|
|
24
27
|
* Resolve the path to the gramatr-mcp binary.
|
|
25
28
|
* Prefers the compiled dist version, falls back to npx.
|
|
@@ -47,8 +50,9 @@ export declare function readClaudeConfig(configPath: string): ClaudeConfig;
|
|
|
47
50
|
export declare function upsertManagedBlock(existing: string, content: string, startMarker: string, endMarker: string): string;
|
|
48
51
|
export declare function escapeRegExp(text: string): string;
|
|
49
52
|
export declare function ensureLocalSettings(): void;
|
|
53
|
+
export declare function runCleanInstall(dryRun: boolean): void;
|
|
50
54
|
export declare function emitInstallPromptSuggestion(target: Parameters<typeof buildInstallPromptSuggestion>[0]): void;
|
|
51
|
-
export declare function setupClaude(dryRun?: boolean): void;
|
|
55
|
+
export declare function setupClaude(dryRun?: boolean, cleanInstall?: boolean): void;
|
|
52
56
|
export declare function setupCodex(dryRun?: boolean): void;
|
|
53
57
|
/**
|
|
54
58
|
* Generic MCP-only target setup — merges the gramatr MCP server entry into
|
|
@@ -61,7 +65,18 @@ export declare function setupChatgptDesktop(dryRun?: boolean): void;
|
|
|
61
65
|
export declare function setupCursor(dryRun?: boolean): void;
|
|
62
66
|
export declare function setupWindsurf(dryRun?: boolean): void;
|
|
63
67
|
export declare function setupVscode(dryRun?: boolean): void;
|
|
68
|
+
export declare function getAutoDetectedTargets(): InstallableTarget[];
|
|
69
|
+
export declare function setupAutoInstall(options?: {
|
|
70
|
+
dryRun?: boolean;
|
|
71
|
+
cleanInstall?: boolean;
|
|
72
|
+
listOnly?: boolean;
|
|
73
|
+
selectedTargets?: InstallableTarget[];
|
|
74
|
+
}): number;
|
|
64
75
|
export declare function setupGemini(dryRun?: boolean): void;
|
|
65
76
|
export declare function setupWeb(target?: 'claude-web' | 'chatgpt-web' | 'gemini-web'): Promise<void>;
|
|
77
|
+
export declare function verifySetupInstall(target?: SetupTarget, options?: {
|
|
78
|
+
json?: boolean;
|
|
79
|
+
showPrompts?: boolean;
|
|
80
|
+
}): number;
|
|
66
81
|
export {};
|
|
67
82
|
//# sourceMappingURL=setup.d.ts.map
|
package/dist/bin/setup.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/bin/setup.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;
|
|
1
|
+
{"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../src/bin/setup.ts"],"names":[],"mappings":"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"}
|