@tropass/mcp-installer 1.0.3 → 1.1.0

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/README.md CHANGED
@@ -2,11 +2,13 @@
2
2
 
3
3
  CLI installer for configuring AI agents and developer tools to use the Tropass remote MCP gateway.
4
4
 
5
+ [Tropass](https://xn--80a1adciab.xn--p1ai/)
6
+
5
7
  Tropass exposes the ML models available to a user as MCP tools, with JSON Schema input validation, structured model responses, and file-like inputs through existing Tropass/S3 file URLs.
6
8
 
7
9
  ## Install
8
10
 
9
- Run the interactive installer:
11
+ Run the Ink-powered interactive installer:
10
12
 
11
13
  ```bash
12
14
  npx -y @tropass/mcp-installer
@@ -50,7 +52,7 @@ npx -y @tropass/mcp-installer codex --local --token "your-api-token" --yes
50
52
 
51
53
  Project installs:
52
54
 
53
- - Codex: `.codex/config.toml` and `.codex/skills/tropass-gateway/SKILL.md`
55
+ - Codex: `.codex/config.toml`, `.codex/skills/tropass-gateway/SKILL.md`, and `.codex/skills/agent-response-display/SKILL.md`
54
56
  - Cursor: `.cursor/mcp.json` and `.cursor/rules/tropass-mcp.mdc`
55
57
  - VS Code: `.vscode/mcp.json` and `.github/copilot-instructions.md`
56
58
  - Claude: `.mcp.json` and `CLAUDE.md`
@@ -58,7 +60,7 @@ Project installs:
58
60
 
59
61
  Global installs:
60
62
 
61
- - Codex: `~/.codex/config.toml` and `~/.codex/skills/tropass-gateway/SKILL.md`
63
+ - Codex: `~/.codex/config.toml`, `~/.codex/skills/tropass-gateway/SKILL.md`, and `~/.codex/skills/agent-response-display/SKILL.md`
62
64
  - Cursor: `~/.cursor/mcp.json` and `~/.cursor/rules/tropass-mcp.mdc`
63
65
  - VS Code: user `mcp.json` and `copilot-instructions.md`
64
66
  - Claude: Claude desktop config and `tropass-mcp-instructions.md`
@@ -0,0 +1,106 @@
1
+ # Agent Response Display
2
+
3
+ Interpret Tropass MCP/ML agent responses as ordered UI panels. Use `structuredContent` as the source of truth; use text content only as serialized fallback JSON.
4
+
5
+ ## Response model
6
+
7
+ Treat `AgentResponse.panel_items` as the display surface. Each `AgentPanelOutput` is one panel:
8
+
9
+ - `ml_model_task_id`: task/group identifier for logs, tracing, and deduplication.
10
+ - `panel_output_name`: user-facing panel title.
11
+ - `panel_type`: rendering hint, not a closed enum. Always keep a generic fallback.
12
+ - `primary_data`: optional structured visual data.
13
+ - `descriptions`: ordered text blocks.
14
+ - `attachments`: downloadable/supporting files.
15
+ - `panel_show_order`: optional preferred order.
16
+ - `is_last_panel`: stream/completion marker, not a visual panel type.
17
+
18
+ ## Panel ordering
19
+
20
+ Render panels in stable order:
21
+
22
+ 1. Panels with `panel_show_order` come first, sorted ascending.
23
+ 2. Panels with the same `panel_show_order` keep their original response order.
24
+ 3. Panels without `panel_show_order` keep their original response order after ordered panels.
25
+ 4. Do not use `is_last_panel` for visual sorting.
26
+
27
+ ## Display mapping
28
+
29
+ Normalize panels into a frontend-friendly shape before rendering:
30
+
31
+ ```ts
32
+ type DisplayPanel = {
33
+ taskId: string;
34
+ title: string;
35
+ panelType: string;
36
+ order: number | null;
37
+ descriptions: DisplayDescription[];
38
+ chart: DisplayChart | null;
39
+ media: DisplayMedia[];
40
+ attachments: DisplayMedia[];
41
+ isLastPanel: boolean;
42
+ };
43
+ ```
44
+
45
+ Prefer field-preserving transforms over lossy stringification. Keep unknown fields available in debug logs when useful.
46
+
47
+ ## Descriptions
48
+
49
+ Render `descriptions` in response order. Use `description_type` as a formatting hint. If the type is unknown or unsupported, render `content` as plain text. Never drop description content only because its type is unfamiliar.
50
+
51
+ ## Chart data
52
+
53
+ `primary_data.plot_data` describes chart-ready data:
54
+
55
+ - `x_axis_values`: category, datetime, numeric, or mixed x-axis labels.
56
+ - `series_data[*].legend_name`: legend label.
57
+ - `series_data[*].plot_values`: numeric y-values.
58
+ - `x_axis_split_value`: optional grouping, split, or annotation value.
59
+
60
+ Render a chart only when at least one series has at least one numeric value. Validate every series against `x_axis_values`:
61
+
62
+ - If lengths match, render normally.
63
+ - If lengths differ, truncate that series to the shorter length for display and log a non-blocking diagnostic.
64
+ - If `x_axis_values` is empty but a series has values, generate positional labels only as a fallback.
65
+ - If no valid series remains, skip the chart and render other panel content.
66
+
67
+ Do not assume `x_axis_split_value` is a date. Use it only when the chart component supports a separator, marker, or grouping label.
68
+
69
+ ## Media and attachments
70
+
71
+ `primary_data.media` is inline panel media. `attachments` are supporting files or downloads.
72
+
73
+ For browser UI:
74
+
75
+ - Prefer `s3_url` for display, preview, and download links.
76
+ - Use `file_name` as visible label or download filename.
77
+ - Use `mime_type` to choose image, video, audio, document, or generic file rendering.
78
+ - Treat `local_abs_path` as backend/internal metadata. Do not expose it as a browser URL.
79
+
80
+ If `s3_url` is missing or empty, show a disabled item or omit the preview and log diagnostics according to local product conventions.
81
+
82
+ ## Fallback behavior
83
+
84
+ Never crash on partial or unfamiliar responses:
85
+
86
+ - Empty `panel_items`: show the product's empty result state.
87
+ - Missing `primary_data`: render descriptions and attachments.
88
+ - Descriptions only: render a text panel.
89
+ - Chart only: render a chart panel.
90
+ - Media only: render a media gallery.
91
+ - Unknown `panel_type`: render a generic panel using all available content.
92
+ - Empty panel content: render the title only if useful, otherwise suppress the panel and log diagnostics.
93
+ - Multiple `is_last_panel=true`: treat the latest received panel as the stream completion signal and log diagnostics.
94
+
95
+ ## Implementation checks
96
+
97
+ When writing display code or tests, cover:
98
+
99
+ - stable `panel_show_order` sorting;
100
+ - unknown `panel_type` fallback;
101
+ - missing `primary_data`;
102
+ - chart x/y length mismatch;
103
+ - empty chart series;
104
+ - media and attachments using `s3_url`, not `local_abs_path`;
105
+ - unknown `description_type`;
106
+ - streamed responses where final completion is marked by `is_last_panel`.
package/dist/src/cli.js CHANGED
@@ -1,5 +1,6 @@
1
1
  import process from "node:process";
2
2
  import { Command, CommanderError } from "commander";
3
+ import { TROPASS_URL } from "./constants.js";
3
4
  import { runInstall } from "./installer.js";
4
5
  import { logError } from "./logging.js";
5
6
  export async function main() {
@@ -22,7 +23,7 @@ async function runInstallCommand(args, commandName) {
22
23
  function createInstallCommand(commandName) {
23
24
  return new Command()
24
25
  .name(commandName)
25
- .description("Install direct remote Tropass MCP config and agent instructions.")
26
+ .description(`Install direct remote Tropass MCP config and agent instructions.\nTropass: ${TROPASS_URL}`)
26
27
  .argument("[client]", "MCP client: codex, cursor, vscode, claude, or generic")
27
28
  .option("--config <path>", "explicit path to the MCP config file")
28
29
  .option("--url <url>", "Tropass MCP endpoint URL")
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,cAAc,CAAC;AAEnC,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAEpD,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAGxC,MAAM,CAAC,KAAK,UAAU,IAAI;IACxB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,qBAAqB,CAAC,CAAC;AAC/F,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,IAAc,EAAE,WAAmB;IAClE,MAAM,OAAO,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAC,YAAY,EAAE,CAAC;IACjE,IAAI,CAAC;QACH,MAAM,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IACnD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,cAAc,IAAI,KAAK,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YAC5D,OAAO;QACT,CAAC;QACD,QAAQ,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;QAClC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAAC,WAAmB;IAC/C,OAAO,IAAI,OAAO,EAAE;SACjB,IAAI,CAAC,WAAW,CAAC;SACjB,WAAW,CAAC,kEAAkE,CAAC;SAC/E,QAAQ,CAAC,UAAU,EAAE,uDAAuD,CAAC;SAC7E,MAAM,CAAC,iBAAiB,EAAE,sCAAsC,CAAC;SACjE,MAAM,CAAC,aAAa,EAAE,0BAA0B,CAAC;SACjD,MAAM,CAAC,iBAAiB,EAAE,mBAAmB,CAAC;SAC9C,MAAM,CAAC,iBAAiB,EAAE,kCAAkC,CAAC;SAC7D,MAAM,CAAC,UAAU,EAAE,iCAAiC,CAAC;SACrD,MAAM,CAAC,SAAS,EAAE,uCAAuC,CAAC;SAC1D,MAAM,CAAC,iBAAiB,EAAE,uDAAuD,CAAC;SAClF,MAAM,CAAC,WAAW,EAAE,wCAAwC,CAAC;SAC7D,MAAM,CAAC,KAAK,EAAE,MAA0B,EAAE,OAA0B,EAAE,EAAE;QACvE,MAAM,UAAU,GAAsB,EAAE,GAAG,OAAO,EAAE,CAAC;QACrD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,UAAU,CAAC,MAAM,GAAG,MAAM,CAAC;QAC7B,CAAC;QACD,MAAM,UAAU,CAAC,UAAU,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;AACP,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,cAAc,CAAC;AAEnC,OAAO,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAEpD,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAGxC,MAAM,CAAC,KAAK,UAAU,IAAI;IACxB,MAAM,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;IACnC,MAAM,iBAAiB,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,qBAAqB,CAAC,CAAC;AAC/F,CAAC;AAED,KAAK,UAAU,iBAAiB,CAAC,IAAc,EAAE,WAAmB;IAClE,MAAM,OAAO,GAAG,oBAAoB,CAAC,WAAW,CAAC,CAAC,YAAY,EAAE,CAAC;IACjE,IAAI,CAAC;QACH,MAAM,OAAO,CAAC,UAAU,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC,CAAC;IACnD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,cAAc,IAAI,KAAK,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;YAC5D,OAAO;QACT,CAAC;QACD,QAAQ,CAAC,gBAAgB,EAAE,KAAK,CAAC,CAAC;QAClC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IAClB,CAAC;AACH,CAAC;AAED,SAAS,oBAAoB,CAAC,WAAmB;IAC/C,OAAO,IAAI,OAAO,EAAE;SACjB,IAAI,CAAC,WAAW,CAAC;SACjB,WAAW,CAAC,8EAA8E,WAAW,EAAE,CAAC;SACxG,QAAQ,CAAC,UAAU,EAAE,uDAAuD,CAAC;SAC7E,MAAM,CAAC,iBAAiB,EAAE,sCAAsC,CAAC;SACjE,MAAM,CAAC,aAAa,EAAE,0BAA0B,CAAC;SACjD,MAAM,CAAC,iBAAiB,EAAE,mBAAmB,CAAC;SAC9C,MAAM,CAAC,iBAAiB,EAAE,kCAAkC,CAAC;SAC7D,MAAM,CAAC,UAAU,EAAE,iCAAiC,CAAC;SACrD,MAAM,CAAC,SAAS,EAAE,uCAAuC,CAAC;SAC1D,MAAM,CAAC,iBAAiB,EAAE,uDAAuD,CAAC;SAClF,MAAM,CAAC,WAAW,EAAE,wCAAwC,CAAC;SAC7D,MAAM,CAAC,KAAK,EAAE,MAA0B,EAAE,OAA0B,EAAE,EAAE;QACvE,MAAM,UAAU,GAAsB,EAAE,GAAG,OAAO,EAAE,CAAC;QACrD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,UAAU,CAAC,MAAM,GAAG,MAAM,CAAC;QAC7B,CAAC;QACD,MAAM,UAAU,CAAC,UAAU,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;AACP,CAAC"}
@@ -1,4 +1,5 @@
1
1
  import type { InstallClient } from "./types.js";
2
2
  export declare const DEFAULT_MCP_URL = "https://xn--80aqu.xn--80a1adciab.xn--p1ai/mcp";
3
+ export declare const TROPASS_URL = "https://xn--80a1adciab.xn--p1ai/";
3
4
  export declare const DEFAULT_TOKEN_HEADER = "X-API-TOKEN";
4
5
  export declare const SUPPORTED_INSTALL_CLIENTS: Set<InstallClient>;
@@ -1,4 +1,5 @@
1
1
  export const DEFAULT_MCP_URL = "https://xn--80aqu.xn--80a1adciab.xn--p1ai/mcp";
2
+ export const TROPASS_URL = "https://xn--80a1adciab.xn--p1ai/";
2
3
  export const DEFAULT_TOKEN_HEADER = "X-API-TOKEN";
3
4
  export const SUPPORTED_INSTALL_CLIENTS = new Set([
4
5
  "codex",
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,eAAe,GAAG,+CAA+C,CAAC;AAC/E,MAAM,CAAC,MAAM,oBAAoB,GAAG,aAAa,CAAC;AAClD,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,GAAG,CAAgB;IAC9D,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,SAAS;CACV,CAAC,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,eAAe,GAAG,+CAA+C,CAAC;AAC/E,MAAM,CAAC,MAAM,WAAW,GAAG,kCAAkC,CAAC;AAC9D,MAAM,CAAC,MAAM,oBAAoB,GAAG,aAAa,CAAC;AAClD,MAAM,CAAC,MAAM,yBAAyB,GAAG,IAAI,GAAG,CAAgB;IAC9D,OAAO;IACP,QAAQ;IACR,QAAQ;IACR,QAAQ;IACR,SAAS;CACV,CAAC,CAAC"}
@@ -1,3 +1,4 @@
1
- import type { InstallResult, RawInstallOptions } from "./types.js";
1
+ import type { InstallClient, InstallResult, InstallScope, RawInstallOptions } from "./types.js";
2
2
  export declare function runInstall(rawOptions?: RawInstallOptions): Promise<void>;
3
3
  export declare function installTropassMcp(rawOptions: RawInstallOptions): InstallResult;
4
+ export declare function resolveDefaultScope(client: InstallClient): InstallScope;
@@ -1,35 +1,31 @@
1
1
  import fs from "node:fs";
2
2
  import path from "node:path";
3
- import { createInterface as createPromptInterface } from "node:readline/promises";
4
3
  import process from "node:process";
5
4
  import { DEFAULT_MCP_URL, DEFAULT_TOKEN_HEADER, SUPPORTED_INSTALL_CLIENTS } from "./constants.js";
6
- import { buildInstructionContent, MANAGED_INSTRUCTIONS_BEGIN, MANAGED_INSTRUCTIONS_END } from "./instructions.js";
5
+ import { buildInstructionContent, buildSkillContents, MANAGED_INSTRUCTIONS_BEGIN, MANAGED_INSTRUCTIONS_END } from "./instructions.js";
6
+ import { runInteractiveInstaller, writeInstallResult } from "./interactive-installer.js";
7
7
  import { expandHome, resolveCodexConfigPath, resolveCodexSkillsPath, resolveClaudeDesktopConfigPath, resolveCursorConfigPath, resolveCursorRulesPath, resolveGenericConfigPath, resolveGenericInstructionPath, resolveVSCodeUserConfigPath, resolveVSCodeUserInstructionPath } from "./path-utils.js";
8
8
  const MANAGED_CODEX_CONFIG_BEGIN = "# BEGIN TROPASS MCP CONFIG";
9
9
  const MANAGED_CODEX_CONFIG_END = "# END TROPASS MCP CONFIG";
10
10
  const TOOL_TIMEOUT_SECONDS = 15 * 60;
11
11
  export async function runInstall(rawOptions = {}) {
12
12
  const options = normalizeInstallOptions(rawOptions);
13
- const client = options.client !== undefined ? validateInstallClient(options.client) : await promptForClient();
13
+ const client = options.client !== undefined ? validateInstallClient(options.client) : undefined;
14
14
  const scope = options.scope !== undefined
15
15
  ? validateInstallScope(options.scope)
16
- : options.yes
16
+ : options.yes && client !== undefined
17
17
  ? resolveDefaultScope(client)
18
- : await promptForScope(client);
19
- const mcpUrl = options.yes ? options.mcpUrl : await promptForText("Tropass MCP URL", options.mcpUrl);
20
- const apiToken = options.apiToken ?? await promptForSecret("Tropass API token");
21
- const result = installTropassMcp({
18
+ : undefined;
19
+ const interactiveOptions = await runInteractiveInstaller({
22
20
  ...options,
23
21
  client,
24
- scope,
25
- mcpUrl,
26
- apiToken
22
+ scope
27
23
  });
28
- process.stderr.write(`Installed Tropass MCP for ${result.client}.\n`);
29
- process.stderr.write(`Scope: ${result.scope}\n`);
30
- process.stderr.write(`Config file: ${result.configPath}\n`);
31
- process.stderr.write(`Instructions file: ${result.instructionPath}\n`);
32
- process.stderr.write("Restart or reload your MCP client to pick up the new server.\n");
24
+ const result = installTropassMcp({
25
+ ...options,
26
+ ...interactiveOptions
27
+ });
28
+ writeInstallResult(result);
33
29
  }
34
30
  export function installTropassMcp(rawOptions) {
35
31
  const options = validateInstallOptions(normalizeInstallOptions(rawOptions));
@@ -101,7 +97,7 @@ function normalizeScopeOption(options) {
101
97
  }
102
98
  return options.scope;
103
99
  }
104
- function resolveDefaultScope(client) {
100
+ export function resolveDefaultScope(client) {
105
101
  return client === "claude" ? "global" : "project";
106
102
  }
107
103
  function validateInstallScope(value) {
@@ -240,6 +236,10 @@ function stringifyTomlValue(value) {
240
236
  return JSON.stringify(value);
241
237
  }
242
238
  function installInstructions(client, scope, instructionPath) {
239
+ if (client === "codex") {
240
+ installCodexSkills(instructionPath);
241
+ return;
242
+ }
243
243
  const instructionContent = buildInstructionContent(client);
244
244
  if (client === "vscode" || client === "generic" || (client === "claude" && scope === "project")) {
245
245
  upsertManagedInstructionBlock(instructionPath, instructionContent);
@@ -247,6 +247,12 @@ function installInstructions(client, scope, instructionPath) {
247
247
  }
248
248
  writeTextFile(instructionPath, instructionContent);
249
249
  }
250
+ function installCodexSkills(primaryInstructionPath) {
251
+ const skillsPath = path.dirname(path.dirname(primaryInstructionPath));
252
+ for (const skillContent of buildSkillContents()) {
253
+ writeTextFile(path.join(skillsPath, skillContent.name, "SKILL.md"), skillContent.content);
254
+ }
255
+ }
250
256
  function upsertManagedInstructionBlock(filePath, content) {
251
257
  const managedBlock = `${MANAGED_INSTRUCTIONS_BEGIN}\n${content.trim()}\n${MANAGED_INSTRUCTIONS_END}`;
252
258
  if (!fs.existsSync(filePath)) {
@@ -281,111 +287,4 @@ function readObjectProperty(payload, key) {
281
287
  function isJsonObject(value) {
282
288
  return typeof value === "object" && value !== null && !Array.isArray(value);
283
289
  }
284
- async function promptForClient() {
285
- const rl = createPromptInterface({
286
- input: process.stdin,
287
- output: process.stderr
288
- });
289
- try {
290
- process.stderr.write("Choose MCP client:\n");
291
- process.stderr.write(" 1. codex\n");
292
- process.stderr.write(" 2. cursor\n");
293
- process.stderr.write(" 3. vscode\n");
294
- process.stderr.write(" 4. claude\n");
295
- process.stderr.write(" 5. generic\n");
296
- const answer = (await rl.question("Client [codex]: ")).trim();
297
- if (!answer || answer === "1") {
298
- return "codex";
299
- }
300
- if (answer === "2") {
301
- return "cursor";
302
- }
303
- if (answer === "3") {
304
- return "vscode";
305
- }
306
- if (answer === "4") {
307
- return "claude";
308
- }
309
- if (answer === "5") {
310
- return "generic";
311
- }
312
- if (isInstallClient(answer)) {
313
- return answer;
314
- }
315
- throw new Error(`Unsupported client '${answer}'. Use one of: ${[...SUPPORTED_INSTALL_CLIENTS].join(", ")}.`);
316
- }
317
- finally {
318
- rl.close();
319
- }
320
- }
321
- async function promptForScope(client) {
322
- const defaultScope = resolveDefaultScope(client);
323
- const alternativeScope = defaultScope === "project" ? "global" : "project";
324
- const rl = createPromptInterface({
325
- input: process.stdin,
326
- output: process.stderr
327
- });
328
- try {
329
- process.stderr.write("Choose install scope:\n");
330
- process.stderr.write(` 1. ${defaultScope}\n`);
331
- process.stderr.write(` 2. ${alternativeScope}\n`);
332
- const answer = (await rl.question(`Scope [${defaultScope}]: `)).trim();
333
- if (!answer || answer === "1") {
334
- return defaultScope;
335
- }
336
- if (answer === "2") {
337
- return alternativeScope;
338
- }
339
- return validateInstallScope(answer);
340
- }
341
- finally {
342
- rl.close();
343
- }
344
- }
345
- async function promptForText(question, defaultValue) {
346
- const rl = createPromptInterface({
347
- input: process.stdin,
348
- output: process.stderr
349
- });
350
- try {
351
- const suffix = defaultValue ? ` [${defaultValue}]` : "";
352
- const answer = (await rl.question(`${question}${suffix}: `)).trim();
353
- return answer || defaultValue || "";
354
- }
355
- finally {
356
- rl.close();
357
- }
358
- }
359
- async function promptForSecret(question) {
360
- if (!process.stdin.isTTY) {
361
- return promptForText(question);
362
- }
363
- process.stderr.write(`${question}: `);
364
- process.stdin.setRawMode(true);
365
- process.stdin.resume();
366
- process.stdin.setEncoding("utf8");
367
- return await new Promise((resolve) => {
368
- let value = "";
369
- const onData = (char) => {
370
- if (char === "\u0003") {
371
- process.stderr.write("\n");
372
- process.exit(130);
373
- }
374
- if (char === "\r" || char === "\n") {
375
- process.stdin.setRawMode(false);
376
- process.stdin.pause();
377
- process.stdin.off("data", onData);
378
- process.stderr.write("\n");
379
- resolve(value);
380
- return;
381
- }
382
- if (char === "\u007f" || char === "\b") {
383
- value = value.slice(0, -1);
384
- return;
385
- }
386
- value += char;
387
- };
388
- process.stdin.on("data", onData);
389
- });
390
- }
391
290
  //# sourceMappingURL=installer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"installer.js","sourceRoot":"","sources":["../../src/installer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"installer.js","sourceRoot":"","sources":["../../src/installer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,OAAO,MAAM,cAAc,CAAC;AAEnC,OAAO,EAAE,eAAe,EAAE,oBAAoB,EAAE,yBAAyB,EAAE,MAAM,gBAAgB,CAAC;AAClG,OAAO,EACL,uBAAuB,EACvB,kBAAkB,EAClB,0BAA0B,EAC1B,wBAAwB,EACzB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EAAE,uBAAuB,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AACzF,OAAO,EACL,UAAU,EACV,sBAAsB,EACtB,sBAAsB,EACtB,8BAA8B,EAC9B,uBAAuB,EACvB,sBAAsB,EACtB,wBAAwB,EACxB,6BAA6B,EAC7B,2BAA2B,EAC3B,gCAAgC,EACjC,MAAM,iBAAiB,CAAC;AAiBzB,MAAM,0BAA0B,GAAG,4BAA4B,CAAC;AAChE,MAAM,wBAAwB,GAAG,0BAA0B,CAAC;AAC5D,MAAM,oBAAoB,GAAG,EAAE,GAAG,EAAE,CAAC;AAErC,MAAM,CAAC,KAAK,UAAU,UAAU,CAAC,aAAgC,EAAE;IACjE,MAAM,OAAO,GAAG,uBAAuB,CAAC,UAAU,CAAC,CAAC;IACpD,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,qBAAqB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;IAChG,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,KAAK,SAAS;QACvC,CAAC,CAAC,oBAAoB,CAAC,OAAO,CAAC,KAAK,CAAC;QACrC,CAAC,CAAC,OAAO,CAAC,GAAG,IAAI,MAAM,KAAK,SAAS;YACnC,CAAC,CAAC,mBAAmB,CAAC,MAAM,CAAC;YAC7B,CAAC,CAAC,SAAS,CAAC;IAEhB,MAAM,kBAAkB,GAAG,MAAM,uBAAuB,CAAC;QACvD,GAAG,OAAO;QACV,MAAM;QACN,KAAK;KACN,CAAC,CAAC;IAEH,MAAM,MAAM,GAAG,iBAAiB,CAAC;QAC/B,GAAG,OAAO;QACV,GAAG,kBAAkB;KACtB,CAAC,CAAC;IAEH,kBAAkB,CAAC,MAAM,CAAC,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,iBAAiB,CAAC,UAA6B;IAC7D,MAAM,OAAO,GAAG,sBAAsB,CAAC,uBAAuB,CAAC,UAAU,CAAC,CAAC,CAAC;IAE5E,MAAM,UAAU,GAAG,iBAAiB,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC9D,mBAAmB,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;IAElF,MAAM,eAAe,GAAG,sBAAsB,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IACpF,mBAAmB,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,KAAK,EAAE,eAAe,CAAC,CAAC;IAEpE,OAAO;QACL,MAAM,EAAE,OAAO,CAAC,MAAM;QACtB,KAAK,EAAE,OAAO,CAAC,KAAK;QACpB,UAAU;QACV,eAAe;KAChB,CAAC;AACJ,CAAC;AAED,SAAS,uBAAuB,CAAC,OAA0B;IACzD,MAAM,UAAU,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,UAAU,CAAC;IACxD,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,IAAI,OAAO,CAAC,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC;IACpF,MAAM,KAAK,GAAG,oBAAoB,CAAC,OAAO,CAAC,CAAC;IAC5C,MAAM,iBAAiB,GAAmB;QACxC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,eAAe,IAAI,eAAe;QACvF,UAAU,EAAE,OAAO,CAAC,OAAO,IAAI,OAAO,CAAC,UAAU,IAAI,OAAO,CAAC,GAAG,EAAE;QAClE,GAAG,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,CAAC;KAC1B,CAAC;IAEF,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QACjC,iBAAiB,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAC5C,CAAC;IACD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,iBAAiB,CAAC,UAAU,GAAG,UAAU,CAAC;IAC5C,CAAC;IACD,IAAI,QAAQ,KAAK,SAAS,EAAE,CAAC;QAC3B,iBAAiB,CAAC,QAAQ,GAAG,QAAQ,CAAC;IACxC,CAAC;IACD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,iBAAiB,CAAC,KAAK,GAAG,KAAK,CAAC;IAClC,CAAC;IAED,OAAO,iBAAiB,CAAC;AAC3B,CAAC;AAED,SAAS,sBAAsB,CAAC,OAAuB;IACrD,MAAM,MAAM,GAAG,qBAAqB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACrD,IAAI,CAAC,OAAO,CAAC,QAAQ,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;IACpD,CAAC;IACD,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IAClD,CAAC;IACD,MAAM,KAAK,GAAG,oBAAoB,CAAC,OAAO,CAAC,KAAK,IAAI,mBAAmB,CAAC,MAAM,CAAC,CAAC,CAAC;IACjF,OAAO;QACL,GAAG,OAAO;QACV,MAAM;QACN,QAAQ,EAAE,OAAO,CAAC,QAAQ;QAC1B,KAAK;KACN,CAAC;AACJ,CAAC;AAED,SAAS,qBAAqB,CAAC,KAAc;IAC3C,IAAI,eAAe,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3B,OAAO,KAAK,CAAC;IACf,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,uBAAuB,KAAK,kBAAkB,CAAC,GAAG,yBAAyB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAC9G,CAAC;AAED,SAAS,oBAAoB,CAAC,OAA0B;IACtD,IAAI,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QACpC,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;IACtE,CAAC;IACD,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,OAAO,QAAQ,CAAC;IAClB,CAAC;IACD,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC;QAClB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,OAAO,OAAO,CAAC,KAAK,CAAC;AACvB,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,MAAqB;IACvD,OAAO,MAAM,KAAK,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;AACpD,CAAC;AAED,SAAS,oBAAoB,CAAC,KAAa;IACzC,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;QAC9C,OAAO,KAAK,CAAC;IACf,CAAC;IACD,IAAI,KAAK,KAAK,OAAO,EAAE,CAAC;QACtB,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,8BAA8B,KAAK,iCAAiC,CAAC,CAAC;AACxF,CAAC;AAED,SAAS,eAAe,CAAC,KAAc;IACrC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,yBAAyB,CAAC,GAAG,CAAC,KAAsB,CAAC,CAAC;AAC5F,CAAC;AAED,SAAS,iBAAiB,CAAC,MAAqB,EAAE,OAAgC;IAChF,IAAI,OAAO,CAAC,UAAU,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;IACtD,CAAC;IAED,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;IAChE,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;QACvB,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,sBAAsB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,aAAa,CAAC,CAAC;IAChH,CAAC;IACD,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACxB,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,uBAAuB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;IAC/G,CAAC;IACD,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACxB,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,2BAA2B,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;IACnH,CAAC;IACD,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACxB,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,8BAA8B,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IAC5G,CAAC;IACD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,wBAAwB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IACrG,CAAC;IACD,OAAO,8BAA8B,EAAE,CAAC;AAC1C,CAAC;AAED,SAAS,sBAAsB,CAAC,MAAqB,EAAE,OAAgC,EAAE,UAAkB;IACzG,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;IAChE,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;QACvB,MAAM,UAAU,GAAG,OAAO,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,sBAAsB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC;QACrH,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,iBAAiB,EAAE,UAAU,CAAC,CAAC;IAC9D,CAAC;IACD,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACxB,MAAM,SAAS,GAAG,OAAO,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,sBAAsB,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;QACpH,OAAO,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;IACjD,CAAC;IACD,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACxB,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ;YAC/B,CAAC,CAAC,gCAAgC,EAAE;YACpC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,SAAS,EAAE,yBAAyB,CAAC,CAAC;IAClE,CAAC;IACD,IAAI,MAAM,KAAK,QAAQ,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;QACvD,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IAC5C,CAAC;IACD,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QACzB,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,6BAA6B,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,WAAW,CAAC,CAAC;IAC3G,CAAC;IACD,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,6BAA6B,CAAC,CAAC;AAC5E,CAAC;AAED,SAAS,YAAY,CAAC,QAAgB;IACpC,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,IAAI,EAAE,CAAC;IACzD,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO,EAAE,CAAC;IACZ,CAAC;IAED,MAAM,aAAa,GAAY,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACnD,IAAI,CAAC,YAAY,CAAC,aAAa,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,KAAK,CAAC,GAAG,QAAQ,8BAA8B,CAAC,CAAC;IAC7D,CAAC;IACD,OAAO,aAAa,CAAC;AACvB,CAAC;AAED,SAAS,iBAAiB,CAAC,MAAc,EAAE,QAAgB;IACzD,OAAO;QACL,GAAG,EAAE,MAAM;QACX,OAAO,EAAE;YACP,CAAC,oBAAoB,CAAC,EAAE,QAAQ;SACjC;QACD,OAAO,EAAE,oBAAoB;KAC9B,CAAC;AACJ,CAAC;AAED,SAAS,mBAAmB,CAAC,MAAqB,EAAE,UAAkB,EAAE,MAAc,EAAE,QAAgB;IACtG,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;QACvB,wBAAwB,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;QACvD,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GAAG,YAAY,CAAC,UAAU,CAAC,CAAC;IACzC,MAAM,YAAY,GAAG,iBAAiB,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IAEzD,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACxB,OAAO,CAAC,OAAO,GAAG;YAChB,GAAG,kBAAkB,CAAC,OAAO,EAAE,SAAS,CAAC;YACzC,OAAO,EAAE;gBACP,IAAI,EAAE,MAAM;gBACZ,GAAG,YAAY;aAChB;SACF,CAAC;IACJ,CAAC;SAAM,CAAC;QACN,OAAO,CAAC,UAAU,GAAG;YACnB,GAAG,kBAAkB,CAAC,OAAO,EAAE,YAAY,CAAC;YAC5C,OAAO,EAAE,YAAY;SACtB,CAAC;IACJ,CAAC;IAED,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC5D,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;AACxE,CAAC;AAED,SAAS,wBAAwB,CAAC,UAAkB,EAAE,MAAc,EAAE,QAAgB;IACpF,MAAM,YAAY,GAAG;QACnB,0BAA0B;QAC1B,uBAAuB;QACvB,SAAS,kBAAkB,CAAC,MAAM,CAAC,EAAE;QACrC,oBAAoB,gBAAgB,CAAC,oBAAoB,CAAC,MAAM,kBAAkB,CAAC,QAAQ,CAAC,IAAI;QAChG,sBAAsB,oBAAoB,EAAE;QAC5C,wBAAwB;KACzB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IAEb,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC/B,aAAa,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;QACxC,OAAO;IACT,CAAC;IAED,MAAM,eAAe,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;IAC5D,MAAM,UAAU,GAAG,eAAe,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC;IACvE,MAAM,QAAQ,GAAG,eAAe,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;IAEnE,IAAI,UAAU,KAAK,CAAC,CAAC,IAAI,QAAQ,KAAK,CAAC,CAAC,IAAI,QAAQ,GAAG,UAAU,EAAE,CAAC;QAClE,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,OAAO,EAAE,CAAC;QAC9D,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,QAAQ,GAAG,wBAAwB,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,CAAC;QAC5F,aAAa,CAAC,UAAU,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QACtF,OAAO;IACT,CAAC;IAED,aAAa,CAAC,UAAU,EAAE,GAAG,eAAe,CAAC,OAAO,EAAE,OAAO,YAAY,IAAI,CAAC,CAAC;AACjF,CAAC;AAED,SAAS,gBAAgB,CAAC,KAAa;IACrC,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAC/B,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAa;IACvC,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAC/B,CAAC;AAED,SAAS,mBAAmB,CAAC,MAAqB,EAAE,KAAmB,EAAE,eAAuB;IAC9F,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;QACvB,kBAAkB,CAAC,eAAe,CAAC,CAAC;QACpC,OAAO;IACT,CAAC;IAED,MAAM,kBAAkB,GAAG,uBAAuB,CAAC,MAAM,CAAC,CAAC;IAC3D,IAAI,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,SAAS,IAAI,CAAC,MAAM,KAAK,QAAQ,IAAI,KAAK,KAAK,SAAS,CAAC,EAAE,CAAC;QAChG,6BAA6B,CAAC,eAAe,EAAE,kBAAkB,CAAC,CAAC;QACnE,OAAO;IACT,CAAC;IACD,aAAa,CAAC,eAAe,EAAE,kBAAkB,CAAC,CAAC;AACrD,CAAC;AAED,SAAS,kBAAkB,CAAC,sBAA8B;IACxD,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC,CAAC;IACtE,KAAK,MAAM,YAAY,IAAI,kBAAkB,EAAE,EAAE,CAAC;QAChD,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,YAAY,CAAC,IAAI,EAAE,UAAU,CAAC,EAAE,YAAY,CAAC,OAAO,CAAC,CAAC;IAC5F,CAAC;AACH,CAAC;AAED,SAAS,6BAA6B,CAAC,QAAgB,EAAE,OAAe;IACtE,MAAM,YAAY,GAAG,GAAG,0BAA0B,KAAK,OAAO,CAAC,IAAI,EAAE,KAAK,wBAAwB,EAAE,CAAC;IAErG,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC7B,aAAa,CAAC,QAAQ,EAAE,YAAY,CAAC,CAAC;QACtC,OAAO;IACT,CAAC;IAED,MAAM,eAAe,GAAG,EAAE,CAAC,YAAY,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IAC1D,MAAM,UAAU,GAAG,eAAe,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC;IACvE,MAAM,QAAQ,GAAG,eAAe,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC;IAEnE,IAAI,UAAU,KAAK,CAAC,CAAC,IAAI,QAAQ,KAAK,CAAC,CAAC,IAAI,QAAQ,GAAG,UAAU,EAAE,CAAC;QAClE,MAAM,MAAM,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC,OAAO,EAAE,CAAC;QAC9D,MAAM,KAAK,GAAG,eAAe,CAAC,KAAK,CAAC,QAAQ,GAAG,wBAAwB,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,CAAC;QAC5F,aAAa,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,YAAY,EAAE,KAAK,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;QACpF,OAAO;IACT,CAAC;IAED,aAAa,CAAC,QAAQ,EAAE,GAAG,eAAe,CAAC,OAAO,EAAE,OAAO,YAAY,IAAI,CAAC,CAAC;AAC/E,CAAC;AAED,SAAS,aAAa,CAAC,QAAgB,EAAE,OAAe;IACtD,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAC1D,EAAE,CAAC,aAAa,CAAC,QAAQ,EAAE,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,OAAO,IAAI,CAAC,CAAC;AAChF,CAAC;AAED,SAAS,kBAAkB,CAAC,OAAmB,EAAE,GAAW;IAC1D,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IAC3B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,EAAE,CAAC;IACZ,CAAC;IACD,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,EAAE,CAAC;QACzB,MAAM,IAAI,KAAK,CAAC,iBAAiB,GAAG,0BAA0B,CAAC,CAAC;IAClE,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,YAAY,CAAC,KAAc;IAClC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC"}
@@ -2,4 +2,10 @@ import type { InstallClient } from "./types.js";
2
2
  export declare const MANAGED_INSTRUCTIONS_BEGIN = "<!-- BEGIN TROPASS MCP INSTRUCTIONS -->";
3
3
  export declare const MANAGED_INSTRUCTIONS_END = "<!-- END TROPASS MCP INSTRUCTIONS -->";
4
4
  export declare const TROPASS_MCP_INSTRUCTIONS: string;
5
+ export declare const AGENT_RESPONSE_DISPLAY_INSTRUCTIONS: string;
6
+ export type SkillContent = {
7
+ name: string;
8
+ content: string;
9
+ };
10
+ export declare function buildSkillContents(): SkillContent[];
5
11
  export declare function buildInstructionContent(client: InstallClient): string;
@@ -3,32 +3,45 @@ import path from "node:path";
3
3
  import { fileURLToPath } from "node:url";
4
4
  export const MANAGED_INSTRUCTIONS_BEGIN = "<!-- BEGIN TROPASS MCP INSTRUCTIONS -->";
5
5
  export const MANAGED_INSTRUCTIONS_END = "<!-- END TROPASS MCP INSTRUCTIONS -->";
6
- const INSTRUCTION_FILE_NAME = "tropass-mcp.md";
7
6
  const MODULE_DIRECTORY = path.dirname(fileURLToPath(import.meta.url));
8
- const INSTRUCTION_TEMPLATE_PATHS = [
9
- path.resolve(MODULE_DIRECTORY, "../instructions", INSTRUCTION_FILE_NAME),
10
- path.resolve(MODULE_DIRECTORY, "../../instructions", INSTRUCTION_FILE_NAME)
7
+ const INSTRUCTION_DIRECTORIES = [
8
+ path.resolve(MODULE_DIRECTORY, "../instructions"),
9
+ path.resolve(MODULE_DIRECTORY, "../../instructions")
11
10
  ];
12
- export const TROPASS_MCP_INSTRUCTIONS = readInstructionTemplate();
13
- const CODEX_SKILL_BODY = TROPASS_MCP_INSTRUCTIONS.replace("# Tropass MCP Instructions\n\n", "");
14
- function readInstructionTemplate() {
15
- for (const instructionTemplatePath of INSTRUCTION_TEMPLATE_PATHS) {
16
- if (fs.existsSync(instructionTemplatePath)) {
17
- return fs.readFileSync(instructionTemplatePath, "utf8").trimEnd();
18
- }
19
- }
20
- throw new Error(`Tropass MCP instructions file not found: ${INSTRUCTION_TEMPLATE_PATHS.join(", ")}`);
11
+ const TROPASS_MCP_TEMPLATE = {
12
+ fileName: "tropass-mcp.md",
13
+ templateTitle: "Tropass MCP Instructions",
14
+ description: "Tropass MCP instructions"
15
+ };
16
+ const TROPASS_GATEWAY_SKILL = {
17
+ ...TROPASS_MCP_TEMPLATE,
18
+ name: "tropass-gateway",
19
+ skillTitle: "Tropass Gateway MCP",
20
+ skillDescription: "Use when calling Tropass ML models through the Tropass MCP server, selecting models, preparing model inputs, handling file URL arguments, or interpreting model results."
21
+ };
22
+ const AGENT_RESPONSE_DISPLAY_SKILL = {
23
+ fileName: "agent-response-display.md",
24
+ name: "agent-response-display",
25
+ templateTitle: "Agent Response Display",
26
+ skillTitle: "Agent Response Display",
27
+ description: "agent response display instructions",
28
+ skillDescription: "Interpret Tropass MCP/ML agent response schemas for UI display. Use when parsing, validating, rendering, transforming, debugging, or designing frontend/backend handling for AgentResponse, AgentPanelOutput, AgentPrimaryData, AgentPlotData, descriptions, media, attachments, panel ordering, chart data, or streamed panel results."
29
+ };
30
+ const TROPASS_SKILLS = [
31
+ TROPASS_GATEWAY_SKILL,
32
+ AGENT_RESPONSE_DISPLAY_SKILL
33
+ ];
34
+ export const TROPASS_MCP_INSTRUCTIONS = readInstructionTemplate(TROPASS_MCP_TEMPLATE);
35
+ export const AGENT_RESPONSE_DISPLAY_INSTRUCTIONS = readInstructionTemplate(AGENT_RESPONSE_DISPLAY_SKILL);
36
+ export function buildSkillContents() {
37
+ return TROPASS_SKILLS.map((skillDefinition) => ({
38
+ name: skillDefinition.name,
39
+ content: buildSkillContent(skillDefinition)
40
+ }));
21
41
  }
22
42
  export function buildInstructionContent(client) {
23
43
  if (client === "codex") {
24
- return `---
25
- name: tropass-gateway
26
- description: Use when calling Tropass ML models through the Tropass MCP server, selecting models, preparing model inputs, handling file URL arguments, or interpreting model results.
27
- ---
28
-
29
- # Tropass Gateway MCP
30
-
31
- ${CODEX_SKILL_BODY}`;
44
+ return buildSkillContent(TROPASS_GATEWAY_SKILL);
32
45
  }
33
46
  if (client === "cursor") {
34
47
  return `---
@@ -45,4 +58,28 @@ Add these instructions to your Claude project or custom instructions together wi
45
58
  }
46
59
  return TROPASS_MCP_INSTRUCTIONS;
47
60
  }
61
+ function buildSkillContent(skillDefinition) {
62
+ const templateContent = readInstructionTemplate(skillDefinition);
63
+ const skillBody = stripMarkdownTitle(templateContent, skillDefinition.templateTitle);
64
+ return `---
65
+ name: ${skillDefinition.name}
66
+ description: ${skillDefinition.skillDescription}
67
+ ---
68
+
69
+ # ${skillDefinition.skillTitle}
70
+
71
+ ${skillBody}`;
72
+ }
73
+ function readInstructionTemplate(templateDefinition) {
74
+ const candidatePaths = INSTRUCTION_DIRECTORIES.map((directoryPath) => path.join(directoryPath, templateDefinition.fileName));
75
+ for (const instructionTemplatePath of candidatePaths) {
76
+ if (fs.existsSync(instructionTemplatePath)) {
77
+ return fs.readFileSync(instructionTemplatePath, "utf8").trimEnd();
78
+ }
79
+ }
80
+ throw new Error(`${templateDefinition.description} file not found: ${candidatePaths.join(", ")}`);
81
+ }
82
+ function stripMarkdownTitle(content, title) {
83
+ return content.replace(`# ${title}\n\n`, "");
84
+ }
48
85
  //# sourceMappingURL=instructions.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"instructions.js","sourceRoot":"","sources":["../../src/instructions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAIzC,MAAM,CAAC,MAAM,0BAA0B,GACrC,yCAAyC,CAAC;AAC5C,MAAM,CAAC,MAAM,wBAAwB,GAAG,uCAAuC,CAAC;AAEhF,MAAM,qBAAqB,GAAG,gBAAgB,CAAC;AAC/C,MAAM,gBAAgB,GAAG,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AACtE,MAAM,0BAA0B,GAAG;IACjC,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,iBAAiB,EAAE,qBAAqB,CAAC;IACxE,IAAI,CAAC,OAAO,CAAC,gBAAgB,EAAE,oBAAoB,EAAE,qBAAqB,CAAC;CAC5E,CAAC;AAEF,MAAM,CAAC,MAAM,wBAAwB,GAAG,uBAAuB,EAAE,CAAC;AAClE,MAAM,gBAAgB,GAAG,wBAAwB,CAAC,OAAO,CAAC,gCAAgC,EAAE,EAAE,CAAC,CAAC;AAEhG,SAAS,uBAAuB;IAC9B,KAAK,MAAM,uBAAuB,IAAI,0BAA0B,EAAE,CAAC;QACjE,IAAI,EAAE,CAAC,UAAU,CAAC,uBAAuB,CAAC,EAAE,CAAC;YAC3C,OAAO,EAAE,CAAC,YAAY,CAAC,uBAAuB,EAAE,MAAM,CAAC,CAAC,OAAO,EAAE,CAAC;QACpE,CAAC;IACH,CAAC;IACD,MAAM,IAAI,KAAK,CAAC,4CAA4C,0BAA0B,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACvG,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,MAAqB;IAC3D,IAAI,MAAM,KAAK,OAAO,EAAE,CAAC;QACvB,OAAO;;;;;;;EAOT,gBAAgB,EAAE,CAAC;IACnB,CAAC;IACD,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACxB,OAAO;;;;;EAKT,wBAAwB,EAAE,CAAC;IAC3B,CAAC;IACD,IAAI,MAAM,KAAK,QAAQ,EAAE,CAAC;QACxB,OAAO,GAAG,wBAAwB;;CAErC,CAAC;IACA,CAAC;IACD,OAAO,wBAAwB,CAAC;AAClC,CAAC"}
1
+ {"version":3,"file":"instructions.js","sourceRoot":"","sources":["../../src/instructions.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ import type { InstallClient, InstallOptions, InstallResult, InstallScope } from "./types.js";
2
+ type InteractiveInstallOptions = Omit<InstallOptions, "client" | "scope"> & {
3
+ client: InstallClient | undefined;
4
+ scope: InstallScope | undefined;
5
+ };
6
+ type CompletedInstallOptions = {
7
+ client: InstallClient;
8
+ scope: InstallScope;
9
+ mcpUrl: string;
10
+ apiToken: string;
11
+ };
12
+ export declare function runInteractiveInstaller(options: InteractiveInstallOptions): Promise<CompletedInstallOptions>;
13
+ export declare function writeInstallResult(result: InstallResult): void;
14
+ export {};
@@ -0,0 +1,101 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import process from "node:process";
3
+ import { Box, render, Text, useApp } from "ink";
4
+ import Link from "ink-link";
5
+ import SelectInput from "ink-select-input";
6
+ import TextInput from "ink-text-input";
7
+ import { useState } from "react";
8
+ import { TROPASS_URL } from "./constants.js";
9
+ const CLIENT_ITEMS = [
10
+ { label: "Codex", value: "codex" },
11
+ { label: "Cursor", value: "cursor" },
12
+ { label: "VS Code", value: "vscode" },
13
+ { label: "Claude", value: "claude" },
14
+ { label: "Generic MCP client", value: "generic" }
15
+ ];
16
+ const SCOPE_ITEMS = [
17
+ { label: "Project — configure the current workspace", value: "project" },
18
+ { label: "Global — configure this user account", value: "global" }
19
+ ];
20
+ export async function runInteractiveInstaller(options) {
21
+ if (options.yes && options.client && options.scope && options.apiToken) {
22
+ return {
23
+ client: options.client,
24
+ scope: options.scope,
25
+ mcpUrl: options.mcpUrl,
26
+ apiToken: options.apiToken
27
+ };
28
+ }
29
+ if (!process.stdin.isTTY) {
30
+ throw new Error("Interactive installation requires a TTY. Pass --client, --scope, --token, and --yes.");
31
+ }
32
+ let completedOptions;
33
+ const instance = render(_jsx(InstallerWizard, { options: options, onComplete: (result) => { completedOptions = result; } }), { stdin: process.stdin, stdout: process.stderr });
34
+ await instance.waitUntilExit();
35
+ if (!completedOptions) {
36
+ throw new Error("Installation cancelled.");
37
+ }
38
+ return completedOptions;
39
+ }
40
+ export function writeInstallResult(result) {
41
+ const instance = render(_jsx(InstallResultView, { result: result }), { stdout: process.stderr });
42
+ instance.unmount();
43
+ }
44
+ function InstallerWizard({ options, onComplete }) {
45
+ const { exit } = useApp();
46
+ const [client, setClient] = useState(options.client);
47
+ const [scope, setScope] = useState(options.scope);
48
+ const [mcpUrl, setMcpUrl] = useState(options.mcpUrl);
49
+ const [apiToken, setApiToken] = useState(options.apiToken ?? "");
50
+ const [urlConfirmed, setUrlConfirmed] = useState(options.yes);
51
+ const step = resolveStep({ client, scope, urlConfirmed });
52
+ const complete = (values, confirmedUrl = urlConfirmed) => {
53
+ if (values.client && values.scope && values.apiToken && confirmedUrl) {
54
+ onComplete({ ...values, client: values.client, scope: values.scope, apiToken: values.apiToken });
55
+ exit();
56
+ }
57
+ };
58
+ const selectClient = (item) => {
59
+ const selectedScope = scope ?? (options.yes ? defaultScopeForClient(item.value) : undefined);
60
+ setClient(item.value);
61
+ if (selectedScope) {
62
+ setScope(selectedScope);
63
+ }
64
+ complete({ client: item.value, scope: selectedScope, mcpUrl, apiToken });
65
+ };
66
+ const submitToken = (value) => {
67
+ const token = value.trim();
68
+ if (!token) {
69
+ return;
70
+ }
71
+ setApiToken(token);
72
+ complete({ client, scope, mcpUrl, apiToken: token });
73
+ };
74
+ return (_jsxs(Box, { flexDirection: "column", paddingX: 1, children: [_jsxs(Box, { children: [_jsx(Link, { url: TROPASS_URL, children: _jsx(Text, { bold: true, color: "cyan", underline: true, children: "Tropass" }) }), _jsx(Text, { bold: true, color: "cyan", children: " MCP Installer" })] }), _jsxs(Box, { marginTop: 1, flexDirection: "column", children: [step === "client" && (_jsxs(_Fragment, { children: [_jsx(Text, { bold: true, children: "Select an MCP client" }), _jsx(SelectInput, { items: CLIENT_ITEMS, onSelect: selectClient })] })), step === "scope" && (_jsxs(_Fragment, { children: [_jsx(Text, { bold: true, children: "Select an install scope" }), _jsx(SelectInput, { items: SCOPE_ITEMS, onSelect: (item) => {
75
+ setScope(item.value);
76
+ complete({ client, scope: item.value, mcpUrl, apiToken });
77
+ } })] })), step === "url" && (_jsxs(_Fragment, { children: [_jsx(Text, { bold: true, children: "Tropass MCP URL" }), _jsx(TextInput, { value: mcpUrl, onChange: setMcpUrl, onSubmit: (value) => {
78
+ if (value.trim()) {
79
+ const confirmedUrl = value.trim();
80
+ setMcpUrl(confirmedUrl);
81
+ setUrlConfirmed(true);
82
+ complete({ client, scope, mcpUrl: confirmedUrl, apiToken }, true);
83
+ }
84
+ } })] })), step === "token" && (_jsxs(_Fragment, { children: [_jsx(Text, { bold: true, children: "Tropass API token" }), _jsx(TextInput, { value: apiToken, onChange: setApiToken, onSubmit: submitToken, mask: "*" })] }))] }), _jsx(Box, { marginTop: 1, children: _jsx(Text, { dimColor: true, children: "Use \u2191/\u2193 and Enter to continue \u00B7 Ctrl+C to cancel" }) })] }));
85
+ function resolveStep(values) {
86
+ if (!values.client)
87
+ return "client";
88
+ if (!values.scope)
89
+ return "scope";
90
+ if (!values.urlConfirmed)
91
+ return "url";
92
+ return "token";
93
+ }
94
+ }
95
+ function defaultScopeForClient(client) {
96
+ return client === "claude" ? "global" : "project";
97
+ }
98
+ function InstallResultView({ result }) {
99
+ return (_jsxs(Box, { flexDirection: "column", paddingX: 1, children: [_jsxs(Text, { color: "green", bold: true, children: ["\u2713 Tropass MCP installed for ", result.client] }), _jsxs(Text, { children: ["Scope: ", result.scope] }), _jsxs(Text, { children: ["Config: ", result.configPath] }), _jsxs(Text, { children: ["Instructions: ", result.instructionPath] }), _jsx(Text, { dimColor: true, children: "Restart or reload your MCP client to pick up the new server." }), _jsxs(Text, { dimColor: true, children: ["Tropass: ", _jsx(Link, { url: TROPASS_URL, children: "open website" })] })] }));
100
+ }
101
+ //# sourceMappingURL=interactive-installer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interactive-installer.js","sourceRoot":"","sources":["../../src/interactive-installer.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tropass/mcp-installer",
3
- "version": "1.0.3",
3
+ "version": "1.1.0",
4
4
  "description": "Installer for configuring agents to use the Tropass remote MCP gateway.",
5
5
  "license": "MIT",
6
6
  "type": "module",
@@ -24,11 +24,17 @@
24
24
  "tropass-mcp-install": "./dist/bin/tropass-mcp-install.js"
25
25
  },
26
26
  "dependencies": {
27
- "commander": "^14.0.2"
27
+ "commander": "^14.0.2",
28
+ "ink": "^6.8.0",
29
+ "ink-link": "^4.1.0",
30
+ "ink-select-input": "^6.2.0",
31
+ "ink-text-input": "^6.0.0",
32
+ "react": "^19.2.7"
28
33
  },
29
34
  "devDependencies": {
30
35
  "@eslint/js": "^9.39.1",
31
36
  "@types/node": "^24.10.1",
37
+ "@types/react": "^19.2.17",
32
38
  "eslint": "^9.39.1",
33
39
  "typescript": "^5.9.3",
34
40
  "typescript-eslint": "^8.48.0",
@@ -42,9 +48,9 @@
42
48
  "README.md"
43
49
  ],
44
50
  "scripts": {
45
- "build": "node -e \"const fs = require('node:fs'); fs.rmSync('dist', { recursive: true, force: true }); fs.mkdirSync('dist/instructions', { recursive: true }); fs.copyFileSync('instructions/tropass-mcp.md', 'dist/instructions/tropass-mcp.md')\" && tsc -p tsconfig.build.json",
51
+ "build": "node scripts/copy-build-assets.mjs && tsc -p tsconfig.build.json",
46
52
  "typecheck": "tsc -p tsconfig.json --noEmit",
47
- "lint": "eslint bin src test --ext .ts",
53
+ "lint": "eslint bin src test scripts --ext .ts,.tsx,.mjs",
48
54
  "test": "vitest run",
49
55
  "check": "npm run typecheck && npm run lint && npm run test && npm run build"
50
56
  }