@jobshimo/browser-link 0.7.15 → 0.8.1

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.
Files changed (45) hide show
  1. package/dist/agent-instructions/claude.d.ts +2 -0
  2. package/dist/agent-instructions/claude.js +29 -0
  3. package/dist/agent-instructions/claude.js.map +1 -0
  4. package/dist/agent-instructions/content.d.ts +47 -0
  5. package/dist/agent-instructions/content.js +119 -0
  6. package/dist/agent-instructions/content.js.map +1 -0
  7. package/dist/agent-instructions/copilot.d.ts +2 -0
  8. package/dist/agent-instructions/copilot.js +31 -0
  9. package/dist/agent-instructions/copilot.js.map +1 -0
  10. package/dist/agent-instructions/errors.d.ts +25 -0
  11. package/dist/agent-instructions/errors.js +39 -0
  12. package/dist/agent-instructions/errors.js.map +1 -0
  13. package/dist/agent-instructions/file-ops.d.ts +8 -0
  14. package/dist/agent-instructions/file-ops.js +171 -0
  15. package/dist/agent-instructions/file-ops.js.map +1 -0
  16. package/dist/agent-instructions/index.d.ts +9 -0
  17. package/dist/agent-instructions/index.js +20 -0
  18. package/dist/agent-instructions/index.js.map +1 -0
  19. package/dist/agent-instructions/opencode.d.ts +2 -0
  20. package/dist/agent-instructions/opencode.js +30 -0
  21. package/dist/agent-instructions/opencode.js.map +1 -0
  22. package/dist/agent-instructions/types.d.ts +44 -0
  23. package/dist/agent-instructions/types.js +2 -0
  24. package/dist/agent-instructions/types.js.map +1 -0
  25. package/dist/cli.js +63 -0
  26. package/dist/cli.js.map +1 -1
  27. package/dist/commands/doctor.d.ts +5 -0
  28. package/dist/commands/doctor.js +40 -1
  29. package/dist/commands/doctor.js.map +1 -1
  30. package/dist/commands/instructions.d.ts +28 -0
  31. package/dist/commands/instructions.js +110 -0
  32. package/dist/commands/instructions.js.map +1 -0
  33. package/dist/extension/manifest.json +1 -1
  34. package/dist/ui/app.js +5 -1
  35. package/dist/ui/app.js.map +1 -1
  36. package/dist/ui/screens/agent-instructions.d.ts +6 -0
  37. package/dist/ui/screens/agent-instructions.js +108 -0
  38. package/dist/ui/screens/agent-instructions.js.map +1 -0
  39. package/dist/ui/screens/index.d.ts +1 -0
  40. package/dist/ui/screens/index.js +1 -0
  41. package/dist/ui/screens/index.js.map +1 -1
  42. package/dist/ui/screens/menu.d.ts +1 -1
  43. package/dist/ui/screens/menu.js +3 -0
  44. package/dist/ui/screens/menu.js.map +1 -1
  45. package/package.json +2 -1
package/dist/cli.js CHANGED
@@ -8,6 +8,7 @@ import { checkUpdates, formatUpdate } from './commands/updates.js';
8
8
  import { runToolsCommand } from './commands/tools.js';
9
9
  import { runMultiAgentCommand } from './commands/multi-agent.js';
10
10
  import { runFreePort } from './commands/free-port.js';
11
+ import { formatStatus as formatInstructionsStatus, installInstructionsAll, installInstructionsFor, statusAll as instructionsStatusAll, statusFor as instructionsStatusFor, uninstallInstructionsAll, uninstallInstructionsFor, } from './commands/instructions.js';
11
12
  import { loadConfig } from './config.js';
12
13
  import { VERSION } from './version.js';
13
14
  function buildHelp(language) {
@@ -38,6 +39,15 @@ Uso:
38
39
  browser-link multi-agent Estado del modo multi-agente y re-elección automática.
39
40
  browser-link multi-agent enable | disable
40
41
  browser-link multi-agent auto-reelect enable | disable
42
+ browser-link instructions Muestra si el bloque de instrucciones de browser-link
43
+ está presente en el .md global de cada cliente
44
+ (Claude, OpenCode, Copilot CLI).
45
+ browser-link instructions install
46
+ browser-link instructions install --client <claude|opencode|copilot>
47
+ Inserta o refresca el bloque en el .md global.
48
+ browser-link instructions uninstall
49
+ browser-link instructions uninstall --client <id>
50
+ Quita el bloque, deja el resto del archivo intacto.
41
51
  browser-link stop Mata el proceso browser-link que esté ocupando el
42
52
  puerto 17529 (útil si un cliente MCP quedó zombie).
43
53
  browser-link about Muestra la explicación completa.
@@ -76,6 +86,16 @@ Usage:
76
86
  browser-link multi-agent Show multi-agent mode + auto-reelect status.
77
87
  browser-link multi-agent enable | disable
78
88
  browser-link multi-agent auto-reelect enable | disable
89
+ browser-link instructions Show whether the browser-link instructions block
90
+ is present in each client's global .md file
91
+ (Claude, OpenCode, Copilot CLI).
92
+ browser-link instructions install
93
+ browser-link instructions install --client <claude|opencode|copilot>
94
+ Insert or refresh the block in the global .md file.
95
+ browser-link instructions uninstall
96
+ browser-link instructions uninstall --client <id>
97
+ Remove the block, leaving the rest of the file
98
+ intact.
79
99
  browser-link stop Kill the browser-link process holding port 17529
80
100
  (useful when an MCP client left a zombie behind).
81
101
  browser-link about Show the full explanation of what this is and how it works.
@@ -97,6 +117,9 @@ const CLI_I18N = {
97
117
  toolsRestart: 'Restart your MCP client so it picks up the change.',
98
118
  unknownCommand: (cmd) => `Unknown command: ${cmd}`,
99
119
  unknownClient: (val) => `Unknown --client value: ${val}. Use claude, opencode or copilot.`,
120
+ unknownInstructionsAction: (val) => `Unknown instructions action: ${val}. Use install, uninstall or no arg for status.`,
121
+ instructionsInstallNext: 'Restart your MCP client so it picks up the new instructions on its next session.',
122
+ instructionsUninstallDone: 'Block removed. The rest of each file was left untouched.',
100
123
  },
101
124
  es: {
102
125
  help: '',
@@ -105,8 +128,18 @@ const CLI_I18N = {
105
128
  toolsRestart: 'Reiniciá el cliente MCP para que tome el cambio.',
106
129
  unknownCommand: (cmd) => `Comando desconocido: ${cmd}`,
107
130
  unknownClient: (val) => `Valor de --client desconocido: ${val}. Usá claude, opencode o copilot.`,
131
+ unknownInstructionsAction: (val) => `Acción de instructions desconocida: ${val}. Usá install, uninstall, o ningún argumento para status.`,
132
+ instructionsInstallNext: 'Reiniciá tu cliente MCP para que tome las nuevas instrucciones en la próxima sesión.',
133
+ instructionsUninstallDone: 'Bloque eliminado. El resto del archivo quedó intacto.',
108
134
  },
109
135
  };
136
+ function printInstructionsReports(reports) {
137
+ for (const r of reports) {
138
+ const prefix = r.message ? '·' : ' ';
139
+ const msg = r.message ?? r.filePath;
140
+ console.log(`${prefix} ${r.displayName}: ${msg}`);
141
+ }
142
+ }
110
143
  function parseClient(argv, language) {
111
144
  const idx = argv.findIndex((a) => a === '--client');
112
145
  if (idx === -1 || idx === argv.length - 1)
@@ -190,6 +223,36 @@ async function dispatch(argv) {
190
223
  console.log(runMultiAgentCommand(rest, language));
191
224
  return;
192
225
  }
226
+ case 'instructions': {
227
+ // `rest.at(0)` correctly types the missing-arg case as `undefined`
228
+ // (vs. `rest[0]: string` under the project's loose index access).
229
+ const action = rest.at(0);
230
+ if (action === undefined || action === 'status') {
231
+ const client = parseClient(rest, language);
232
+ const reports = client ? [instructionsStatusFor(client)] : instructionsStatusAll();
233
+ console.log(formatInstructionsStatus(reports, language));
234
+ return;
235
+ }
236
+ if (action === 'install') {
237
+ const client = parseClient(rest, language);
238
+ const reports = client ? [installInstructionsFor(client)] : installInstructionsAll();
239
+ printInstructionsReports(reports);
240
+ console.log('');
241
+ console.log(t.instructionsInstallNext);
242
+ return;
243
+ }
244
+ if (action === 'uninstall') {
245
+ const client = parseClient(rest, language);
246
+ const reports = client ? [uninstallInstructionsFor(client)] : uninstallInstructionsAll();
247
+ printInstructionsReports(reports);
248
+ console.log('');
249
+ console.log(t.instructionsUninstallDone);
250
+ return;
251
+ }
252
+ console.error(t.unknownInstructionsAction(action));
253
+ process.exit(2);
254
+ return;
255
+ }
193
256
  case 'stop': {
194
257
  const result = runFreePort(language);
195
258
  console.log(result.message);
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import type { Language } from './welcome.js';
2
+ import { type InstructionsState } from '../agent-instructions/index.js';
2
3
  export interface DoctorReport {
3
4
  ws: {
4
5
  listening: boolean;
@@ -22,6 +23,10 @@ export interface DoctorReport {
22
23
  installed: boolean;
23
24
  registered: boolean;
24
25
  configPath: string;
26
+ instructions: {
27
+ state: InstructionsState;
28
+ filePath: string;
29
+ };
25
30
  }[];
26
31
  extension: {
27
32
  path: string | null;
@@ -7,6 +7,7 @@ import { listApps } from '../map/queries.js';
7
7
  import { resolveExtensionPath } from './extension.js';
8
8
  import { loadConfig } from '../config.js';
9
9
  import { IPC_HOST, IPC_PORT } from '../bridge/protocol.js';
10
+ import { getInstructionsInstaller } from '../agent-instructions/index.js';
10
11
  const WS_HOST = '127.0.0.1';
11
12
  const WS_PORT = 17529;
12
13
  function checkPort(host, port, timeoutMs = 500) {
@@ -38,7 +39,13 @@ export async function runDoctor() {
38
39
  const ipc = await checkPort(IPC_HOST, IPC_PORT);
39
40
  const clients = INSTALLERS.map((i) => {
40
41
  const d = i.detect();
41
- return { id: i.id, displayName: i.displayName, ...d };
42
+ const instructions = getInstructionsInstaller(i.id).detect();
43
+ return {
44
+ id: i.id,
45
+ displayName: i.displayName,
46
+ ...d,
47
+ instructions: { state: instructions.state, filePath: instructions.filePath },
48
+ };
42
49
  });
43
50
  const extPath = resolveExtensionPath();
44
51
  const dbPath = getDbPath();
@@ -77,6 +84,12 @@ const DOCTOR_I18N = {
77
84
  clientRegistered: '✓ registered',
78
85
  clientNotRegistered: '⚠ installed but not registered',
79
86
  clientConfig: 'config:',
87
+ clientInstructions: 'instructions:',
88
+ instructionsInstalled: (v) => (v === null ? `✓ installed (legacy)` : `✓ installed (v${v})`),
89
+ instructionsOutdated: (v) => (v === null ? `⚠ outdated (legacy)` : `⚠ outdated (v${v})`),
90
+ instructionsNotInstalled: '· not installed',
91
+ instructionsNoFile: '· file not present',
92
+ instructionsCorrupt: '⚠ multiple blocks — resolve manually',
80
93
  extensionHeader: 'Chrome extension assets:',
81
94
  extensionNotFound: 'not found (run `browser-link extension` for guidance)',
82
95
  mapHeader: 'Map DB:',
@@ -105,6 +118,12 @@ const DOCTOR_I18N = {
105
118
  clientRegistered: '✓ registrado',
106
119
  clientNotRegistered: '⚠ instalado pero no registrado',
107
120
  clientConfig: 'config:',
121
+ clientInstructions: 'instrucciones:',
122
+ instructionsInstalled: (v) => (v === null ? `✓ instaladas (legacy)` : `✓ instaladas (v${v})`),
123
+ instructionsOutdated: (v) => v === null ? `⚠ desactualizadas (legacy)` : `⚠ desactualizadas (v${v})`,
124
+ instructionsNotInstalled: '· no instaladas',
125
+ instructionsNoFile: '· sin archivo',
126
+ instructionsCorrupt: '⚠ múltiples bloques — resolvé a mano',
108
127
  extensionHeader: 'Assets de la extensión de Chrome:',
109
128
  extensionNotFound: 'no encontrada (corré `browser-link extension` para la guía)',
110
129
  mapHeader: 'Base de datos del mapa:',
@@ -144,6 +163,26 @@ export function formatDoctor(r, language = 'en') {
144
163
  : t.clientNotRegistered;
145
164
  lines.push(` ${c.displayName.padEnd(20)} ${status}`);
146
165
  lines.push(` ${' '.repeat(20)} ${t.clientConfig} ${c.configPath}`);
166
+ const instr = c.instructions.state;
167
+ let instrLabel;
168
+ switch (instr.kind) {
169
+ case 'installed':
170
+ instrLabel = t.instructionsInstalled(instr.version);
171
+ break;
172
+ case 'installed-outdated':
173
+ instrLabel = t.instructionsOutdated(instr.version);
174
+ break;
175
+ case 'not-installed':
176
+ instrLabel = t.instructionsNotInstalled;
177
+ break;
178
+ case 'no-file':
179
+ instrLabel = t.instructionsNoFile;
180
+ break;
181
+ case 'corrupt':
182
+ instrLabel = t.instructionsCorrupt;
183
+ break;
184
+ }
185
+ lines.push(` ${' '.repeat(20)} ${t.clientInstructions} ${instrLabel} (${c.instructions.filePath})`);
147
186
  }
148
187
  lines.push('');
149
188
  lines.push(t.extensionHeader);
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../../src/commands/doctor.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,28 @@
1
+ import { type ClientId, type InstructionsState } from '../agent-instructions/index.js';
2
+ import type { Language } from './welcome.js';
3
+ /**
4
+ * Public API for the `browser-link instructions` subcommand and the
5
+ * matching Ink screen. Mirrors the shape of `commands/install.ts` so the UI
6
+ * and CLI layers can swap them interchangeably.
7
+ */
8
+ export interface InstructionsReport {
9
+ client: ClientId;
10
+ displayName: string;
11
+ filePath: string;
12
+ state: InstructionsState;
13
+ /** Set after install/uninstall — the one-line description of what changed,
14
+ * or the error message when `ok === false`. */
15
+ message?: string;
16
+ ok: boolean;
17
+ }
18
+ export declare function statusFor(client: ClientId): InstructionsReport;
19
+ export declare function statusAll(): InstructionsReport[];
20
+ export declare function installInstructionsFor(client: ClientId): InstructionsReport;
21
+ export declare function installInstructionsAll(): InstructionsReport[];
22
+ export declare function uninstallInstructionsFor(client: ClientId): InstructionsReport;
23
+ export declare function uninstallInstructionsAll(): InstructionsReport[];
24
+ /** Render the status of a single report as a one-line label. */
25
+ export declare function describeState(state: InstructionsState, language?: Language): string;
26
+ /** Format a list of reports as the body of `browser-link instructions`
27
+ * (status). Used by the CLI; the UI consumes the raw report shape. */
28
+ export declare function formatStatus(reports: InstructionsReport[], language?: Language): string;
@@ -0,0 +1,110 @@
1
+ import { INSTRUCTIONS_INSTALLERS, getInstructionsInstaller, } from '../agent-instructions/index.js';
2
+ function stateOnly(client) {
3
+ const inst = getInstructionsInstaller(client);
4
+ const d = inst.detect();
5
+ return {
6
+ client,
7
+ displayName: inst.displayName,
8
+ filePath: d.filePath,
9
+ state: d.state,
10
+ ok: true,
11
+ };
12
+ }
13
+ export function statusFor(client) {
14
+ return stateOnly(client);
15
+ }
16
+ export function statusAll() {
17
+ return INSTRUCTIONS_INSTALLERS.map((i) => stateOnly(i.id));
18
+ }
19
+ function runAction(client, action) {
20
+ const inst = getInstructionsInstaller(client);
21
+ // Capture the pre-call state so a thrown error before/instead of detect()
22
+ // does not leave the UI with a stale or undefined state field.
23
+ const initial = inst.detect();
24
+ try {
25
+ const message = action(inst);
26
+ const after = inst.detect();
27
+ return {
28
+ client,
29
+ displayName: inst.displayName,
30
+ filePath: after.filePath,
31
+ state: after.state,
32
+ message,
33
+ ok: true,
34
+ };
35
+ }
36
+ catch (err) {
37
+ return {
38
+ client,
39
+ displayName: inst.displayName,
40
+ filePath: initial.filePath,
41
+ state: initial.state,
42
+ message: err instanceof Error ? err.message : String(err),
43
+ ok: false,
44
+ };
45
+ }
46
+ }
47
+ export function installInstructionsFor(client) {
48
+ return runAction(client, (i) => i.install());
49
+ }
50
+ export function installInstructionsAll() {
51
+ return INSTRUCTIONS_INSTALLERS.map((i) => installInstructionsFor(i.id));
52
+ }
53
+ export function uninstallInstructionsFor(client) {
54
+ return runAction(client, (i) => i.uninstall());
55
+ }
56
+ export function uninstallInstructionsAll() {
57
+ return INSTRUCTIONS_INSTALLERS.map((i) => uninstallInstructionsFor(i.id));
58
+ }
59
+ const I18N = {
60
+ en: {
61
+ header: 'Agent instructions — browser-link awareness in global agent .md files',
62
+ installed: (v) => (v === null ? `✓ installed (legacy)` : `✓ installed (v${v})`),
63
+ installedOutdated: (v) => v === null
64
+ ? `⚠ installed but outdated (legacy) — run \`browser-link instructions install\` to refresh.`
65
+ : `⚠ installed but outdated (v${v}) — run \`browser-link instructions install\` to refresh.`,
66
+ notInstalled: '· not installed (file exists, no browser-link block)',
67
+ noFile: '· file does not exist yet (will be created on install)',
68
+ corrupt: '⚠ multiple browser-link blocks present — please resolve manually',
69
+ filePath: ' file:',
70
+ },
71
+ es: {
72
+ header: 'Instrucciones del agente — browser-link en los .md globales de cada cliente',
73
+ installed: (v) => (v === null ? `✓ instalado (legacy)` : `✓ instalado (v${v})`),
74
+ installedOutdated: (v) => v === null
75
+ ? `⚠ instalado pero desactualizado (legacy) — corré \`browser-link instructions install\` para refrescar.`
76
+ : `⚠ instalado pero desactualizado (v${v}) — corré \`browser-link instructions install\` para refrescar.`,
77
+ notInstalled: '· no instalado (el archivo existe, sin bloque de browser-link)',
78
+ noFile: '· el archivo aún no existe (se va a crear al instalar)',
79
+ corrupt: '⚠ múltiples bloques browser-link en el archivo — resolvé a mano',
80
+ filePath: ' archivo:',
81
+ },
82
+ };
83
+ /** Render the status of a single report as a one-line label. */
84
+ export function describeState(state, language = 'en') {
85
+ const t = I18N[language];
86
+ switch (state.kind) {
87
+ case 'installed':
88
+ return t.installed(state.version);
89
+ case 'installed-outdated':
90
+ return t.installedOutdated(state.version);
91
+ case 'not-installed':
92
+ return t.notInstalled;
93
+ case 'no-file':
94
+ return t.noFile;
95
+ case 'corrupt':
96
+ return t.corrupt;
97
+ }
98
+ }
99
+ /** Format a list of reports as the body of `browser-link instructions`
100
+ * (status). Used by the CLI; the UI consumes the raw report shape. */
101
+ export function formatStatus(reports, language = 'en') {
102
+ const t = I18N[language];
103
+ const lines = [t.header, ''];
104
+ for (const r of reports) {
105
+ lines.push(` ${r.displayName.padEnd(22)} ${describeState(r.state, language)}`);
106
+ lines.push(`${t.filePath} ${r.filePath}`);
107
+ }
108
+ return lines.join('\n');
109
+ }
110
+ //# sourceMappingURL=instructions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"instructions.js","sourceRoot":"","sources":["../../src/commands/instructions.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "manifest_version": 3,
3
3
  "name": "browser-link",
4
- "version": "0.7.15",
4
+ "version": "0.8.1",
5
5
  "description": "Bridge between Chrome and an MCP client (Claude Code, OpenCode, GitHub Copilot CLI, …). Per-tab manual activation.",
6
6
  "permissions": [
7
7
  "debugger",
package/dist/ui/app.js CHANGED
@@ -1,7 +1,7 @@
1
1
  import { jsx as _jsx } from "react/jsx-runtime";
2
2
  import { useApp, useInput } from 'ink';
3
3
  import { useState } from 'react';
4
- import { AboutView, ClientPicker, DoctorView, ExtensionView, FreePortView, InstallResultView, LanguageView, MainMenu, MultiAgentView, PermissionsView, UpdatesView, WelcomeScreen, } from './screens/index.js';
4
+ import { AboutView, AgentInstructionsView, ClientPicker, DoctorView, ExtensionView, FreePortView, InstallResultView, LanguageView, MainMenu, MultiAgentView, PermissionsView, UpdatesView, WelcomeScreen, } from './screens/index.js';
5
5
  import { saveConfig } from '../config.js';
6
6
  import { installFor } from '../commands/install.js';
7
7
  import { openUrl } from '../utils/open-url.js';
@@ -34,6 +34,8 @@ export function App({ initialLanguage, skipWelcome }) {
34
34
  return (_jsx(MainMenu, { language: language, onSelect: (action) => {
35
35
  if (action === 'register')
36
36
  setScreen({ kind: 'pick-client' });
37
+ else if (action === 'instructions')
38
+ setScreen({ kind: 'agent-instructions' });
37
39
  else if (action === 'permissions')
38
40
  setScreen({ kind: 'permissions' });
39
41
  else if (action === 'multiAgent')
@@ -82,6 +84,8 @@ export function App({ initialLanguage, skipWelcome }) {
82
84
  }, onBack: backToMenu }));
83
85
  case 'about':
84
86
  return _jsx(AboutView, { language: language, onBack: backToMenu });
87
+ case 'agent-instructions':
88
+ return _jsx(AgentInstructionsView, { language: language, onBack: backToMenu });
85
89
  }
86
90
  }
87
91
  //# sourceMappingURL=app.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/ui/app.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app.js","sourceRoot":"","sources":["../../src/ui/app.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,6 @@
1
+ import type { CommonProps } from './types.js';
2
+ interface AgentInstructionsViewProps extends CommonProps {
3
+ onBack: () => void;
4
+ }
5
+ export declare function AgentInstructionsView({ language, onBack }: AgentInstructionsViewProps): import("react/jsx-runtime").JSX.Element;
6
+ export {};
@@ -0,0 +1,108 @@
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
2
+ import { Box, Text, useInput } from 'ink';
3
+ import { useEffect, useMemo, useState } from 'react';
4
+ import { Frame } from '../components.js';
5
+ import { INSTRUCTIONS_INSTALLERS, } from '../../agent-instructions/index.js';
6
+ import { describeState, installInstructionsFor, statusAll, uninstallInstructionsFor, } from '../../commands/instructions.js';
7
+ const I18N = {
8
+ en: {
9
+ title: 'Agent instructions — browser-link awareness in global agent .md files',
10
+ intro: [
11
+ "Inserts a fenced block into each agent's global .md (Claude, OpenCode,",
12
+ 'Copilot CLI) so the agent reaches for browser.* tools reflexively — no',
13
+ 'project CLAUDE.md required. The block lists triggers ("user reports a UI',
14
+ 'bug → call browser.snapshot first") and is rewritten in place on update.',
15
+ ].join('\n'),
16
+ installPrompt: 'Pick a client to install / refresh the block. Press u to uninstall.',
17
+ installed: '✓ installed',
18
+ outdated: '⚠ outdated',
19
+ notInstalled: '· not installed',
20
+ noFile: '· no file yet',
21
+ corrupt: '⚠ corrupt (multiple blocks)',
22
+ legacySuffix: 'legacy',
23
+ footer: '↑↓ navigate · ↵ install/refresh · u uninstall · Esc back',
24
+ doneInstall: '✓ Done. Restart your MCP client to pick up the new instructions.',
25
+ doneUninstall: '✓ Removed. The rest of the file was left untouched.',
26
+ failInstall: '✗ Install failed.',
27
+ failUninstall: '✗ Uninstall failed.',
28
+ refreshHint: 'On install: the block is refreshed in place if it already exists.',
29
+ },
30
+ es: {
31
+ title: 'Instrucciones del agente — browser-link en los .md globales de cada cliente',
32
+ intro: [
33
+ 'Mete un bloque fenced en el .md global de cada agente (Claude, OpenCode,',
34
+ 'Copilot CLI) para que el agente alcance reflejamente las tools browser.* —',
35
+ 'sin necesidad de un CLAUDE.md por proyecto. El bloque lista triggers',
36
+ '("el usuario reporta un bug de UI → llamá a browser.snapshot primero") y',
37
+ 'se rescribe in place al actualizar.',
38
+ ].join('\n'),
39
+ installPrompt: 'Elegí un cliente para instalar / refrescar el bloque. Apretá u para desinstalar.',
40
+ installed: '✓ instalado',
41
+ outdated: '⚠ desactualizado',
42
+ notInstalled: '· no instalado',
43
+ noFile: '· sin archivo todavía',
44
+ corrupt: '⚠ corrupto (múltiples bloques)',
45
+ legacySuffix: 'legacy',
46
+ footer: '↑↓ moverse · ↵ instalar/refrescar · u desinstalar · Esc volver',
47
+ doneInstall: '✓ Listo. Reiniciá tu cliente MCP para tomar las nuevas instrucciones.',
48
+ doneUninstall: '✓ Quitado. El resto del archivo quedó intacto.',
49
+ failInstall: '✗ Falló la instalación.',
50
+ failUninstall: '✗ Falló la desinstalación.',
51
+ refreshHint: 'En instalar: si el bloque ya existe, se reescribe en su lugar.',
52
+ },
53
+ };
54
+ function statusBadge(state, t) {
55
+ switch (state.kind) {
56
+ case 'installed':
57
+ return {
58
+ label: `${t.installed} (${state.version === null ? t.legacySuffix : `v${state.version}`})`,
59
+ color: 'green',
60
+ };
61
+ case 'installed-outdated':
62
+ return {
63
+ label: `${t.outdated} (${state.version === null ? t.legacySuffix : `v${state.version}`})`,
64
+ color: 'yellow',
65
+ };
66
+ case 'not-installed':
67
+ return { label: t.notInstalled, color: 'gray' };
68
+ case 'no-file':
69
+ return { label: t.noFile, color: 'gray' };
70
+ case 'corrupt':
71
+ return { label: t.corrupt, color: 'yellow' };
72
+ }
73
+ }
74
+ export function AgentInstructionsView({ language, onBack }) {
75
+ const t = I18N[language];
76
+ const [reports, setReports] = useState(() => statusAll());
77
+ const [cursor, setCursor] = useState(0);
78
+ const [lastAction, setLastAction] = useState(null);
79
+ // Refresh status when we come back from an install/uninstall round-trip.
80
+ useEffect(() => {
81
+ if (lastAction)
82
+ setReports(statusAll());
83
+ }, [lastAction]);
84
+ const items = useMemo(() => INSTRUCTIONS_INSTALLERS, []);
85
+ const runAction = (client, action) => {
86
+ const report = action === 'install' ? installInstructionsFor(client) : uninstallInstructionsFor(client);
87
+ setLastAction({ kind: action, report });
88
+ };
89
+ useInput((input, key) => {
90
+ if (key.upArrow)
91
+ setCursor((i) => (i - 1 + items.length) % items.length);
92
+ else if (key.downArrow)
93
+ setCursor((i) => (i + 1) % items.length);
94
+ else if (key.return)
95
+ runAction(items[cursor].id, 'install');
96
+ else if (input === 'u' || input === 'U')
97
+ runAction(items[cursor].id, 'uninstall');
98
+ else if (key.escape || input === 'q')
99
+ onBack();
100
+ });
101
+ return (_jsxs(Frame, { title: t.title, footer: t.footer, children: [_jsx(Box, { flexDirection: "column", marginBottom: 1, children: _jsx(Text, { children: t.intro }) }), _jsx(Text, { color: "white", bold: true, children: t.installPrompt }), _jsx(Box, { flexDirection: "column", marginTop: 1, children: items.map((inst, i) => {
102
+ const r = reports[i];
103
+ const badge = statusBadge(r.state, t);
104
+ const isCursor = i === cursor;
105
+ return (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Box, { children: [_jsx(Text, { color: isCursor ? 'cyan' : 'gray', children: isCursor ? '❯ ' : ' ' }), _jsx(Text, { color: isCursor ? 'white' : 'gray', bold: isCursor, children: inst.displayName.padEnd(22) }), _jsx(Text, { color: badge.color, children: badge.label })] }), _jsx(Box, { marginLeft: 2, children: _jsx(Text, { color: "gray", dimColor: true, children: r.filePath }) })] }, inst.id));
106
+ }) }), lastAction && (_jsx(Box, { flexDirection: "column", marginTop: 1, children: lastAction.report.ok ? (_jsxs(_Fragment, { children: [_jsx(Text, { color: "green", children: lastAction.kind === 'install' ? t.doneInstall : t.doneUninstall }), lastAction.report.message !== undefined && lastAction.report.message !== '' && (_jsx(Text, { color: "gray", dimColor: true, children: lastAction.report.message }))] })) : (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { color: "red", children: lastAction.kind === 'install' ? t.failInstall : t.failUninstall }), lastAction.report.message !== undefined && lastAction.report.message !== '' && (_jsx(Box, { children: _jsx(Text, { color: "red", wrap: "wrap", children: lastAction.report.message }) }))] })) })), _jsx(Box, { marginTop: 1, children: _jsxs(Text, { color: "gray", italic: true, dimColor: true, children: [t.refreshHint, " ", describeState(reports[cursor]?.state ?? { kind: 'no-file' }, language)] }) })] }));
107
+ }
108
+ //# sourceMappingURL=agent-instructions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"agent-instructions.js","sourceRoot":"","sources":["../../../src/ui/screens/agent-instructions.tsx"],"names":[],"mappings":"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"}
@@ -10,3 +10,4 @@ export { UpdatesView } from './updates.js';
10
10
  export { LanguageView } from './language.js';
11
11
  export { MultiAgentView } from './multi-agent.js';
12
12
  export { FreePortView } from './free-port.js';
13
+ export { AgentInstructionsView } from './agent-instructions.js';
@@ -10,4 +10,5 @@ export { UpdatesView } from './updates.js';
10
10
  export { LanguageView } from './language.js';
11
11
  export { MultiAgentView } from './multi-agent.js';
12
12
  export { FreePortView } from './free-port.js';
13
+ export { AgentInstructionsView } from './agent-instructions.js';
13
14
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ui/screens/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAmB,MAAM,WAAW,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ui/screens/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,QAAQ,EAAmB,MAAM,WAAW,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,OAAO,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACnD,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAC;AAC3C,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,yBAAyB,CAAC"}