@jobshimo/browser-link 0.41.0 → 0.43.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.
Files changed (85) hide show
  1. package/README.md +28 -4
  2. package/dist/activity/db.js +18 -0
  3. package/dist/activity/db.js.map +1 -1
  4. package/dist/activity/extract.d.ts +18 -2
  5. package/dist/activity/extract.js +122 -1
  6. package/dist/activity/extract.js.map +1 -1
  7. package/dist/activity/queries.d.ts +1 -1
  8. package/dist/activity/queries.js +20 -4
  9. package/dist/activity/queries.js.map +1 -1
  10. package/dist/activity/summary.d.ts +54 -0
  11. package/dist/activity/summary.js +95 -0
  12. package/dist/activity/summary.js.map +1 -0
  13. package/dist/activity/types.d.ts +30 -0
  14. package/dist/activity/types.js +31 -1
  15. package/dist/activity/types.js.map +1 -1
  16. package/dist/admin/actions.d.ts +57 -0
  17. package/dist/admin/actions.js +163 -0
  18. package/dist/admin/actions.js.map +1 -0
  19. package/dist/admin/descriptor.d.ts +65 -0
  20. package/dist/admin/descriptor.js +205 -0
  21. package/dist/admin/descriptor.js.map +1 -0
  22. package/dist/admin/i18n.d.ts +90 -0
  23. package/dist/admin/i18n.js +203 -0
  24. package/dist/admin/i18n.js.map +1 -0
  25. package/dist/admin/primary.d.ts +21 -0
  26. package/dist/admin/primary.js +56 -0
  27. package/dist/admin/primary.js.map +1 -0
  28. package/dist/admin/sources.d.ts +22 -0
  29. package/dist/admin/sources.js +82 -0
  30. package/dist/admin/sources.js.map +1 -0
  31. package/dist/bridge/ws-bridge.d.ts +38 -1
  32. package/dist/bridge/ws-bridge.js +114 -0
  33. package/dist/bridge/ws-bridge.js.map +1 -1
  34. package/dist/cli.js +18 -2
  35. package/dist/cli.js.map +1 -1
  36. package/dist/commands/activity.d.ts +5 -0
  37. package/dist/commands/activity.js +92 -1
  38. package/dist/commands/activity.js.map +1 -1
  39. package/dist/commands/config.d.ts +14 -0
  40. package/dist/commands/config.js +48 -4
  41. package/dist/commands/config.js.map +1 -1
  42. package/dist/config.d.ts +10 -0
  43. package/dist/config.js.map +1 -1
  44. package/dist/extension/admin-view.d.ts +95 -0
  45. package/dist/extension/admin-view.js +164 -0
  46. package/dist/extension/admin-view.js.map +1 -0
  47. package/dist/extension/background.js +76 -0
  48. package/dist/extension/background.js.map +1 -1
  49. package/dist/extension/manifest.json +1 -1
  50. package/dist/extension/popup.html +113 -0
  51. package/dist/extension/popup.js +206 -0
  52. package/dist/extension/popup.js.map +1 -1
  53. package/dist/manual/topics.js +2 -2
  54. package/dist/manual/topics.js.map +1 -1
  55. package/dist/map/db.js +26 -0
  56. package/dist/map/db.js.map +1 -1
  57. package/dist/map/learning.d.ts +81 -0
  58. package/dist/map/learning.js +244 -0
  59. package/dist/map/learning.js.map +1 -0
  60. package/dist/map/queries.d.ts +45 -0
  61. package/dist/map/queries.js +108 -5
  62. package/dist/map/queries.js.map +1 -1
  63. package/dist/map/tools.js +2 -1
  64. package/dist/map/tools.js.map +1 -1
  65. package/dist/messages.d.ts +86 -2
  66. package/dist/server.js +23 -0
  67. package/dist/server.js.map +1 -1
  68. package/dist/tools/browser-definitions.js +15 -1
  69. package/dist/tools/browser-definitions.js.map +1 -1
  70. package/dist/tools/browser-dispatch.d.ts +10 -0
  71. package/dist/tools/browser-dispatch.js +88 -18
  72. package/dist/tools/browser-dispatch.js.map +1 -1
  73. package/dist/ui/app.d.ts +4 -1
  74. package/dist/ui/app.js +55 -42
  75. package/dist/ui/app.js.map +1 -1
  76. package/dist/ui/screens/index.d.ts +1 -0
  77. package/dist/ui/screens/index.js +1 -0
  78. package/dist/ui/screens/index.js.map +1 -1
  79. package/dist/ui/screens/menu.d.ts +11 -1
  80. package/dist/ui/screens/menu.js +12 -4
  81. package/dist/ui/screens/menu.js.map +1 -1
  82. package/dist/ui/screens/status.d.ts +19 -0
  83. package/dist/ui/screens/status.js +67 -0
  84. package/dist/ui/screens/status.js.map +1 -0
  85. package/package.json +1 -1
@@ -1,3 +1,4 @@
1
+ import { type ReactNode } from 'react';
1
2
  import { type UpdateCheckState } from '../hooks/use-update-check.js';
2
3
  import type { CommonProps } from './types.js';
3
4
  export type MenuAction = 'register' | 'instructions' | 'permissions' | 'multiAgent' | 'extension' | 'doctor' | 'updates' | 'freePort' | 'language' | 'welcome' | 'about' | 'repo' | 'quit';
@@ -13,6 +14,15 @@ interface MainMenuProps extends CommonProps {
13
14
  * value to assert the update banner renders only when isNewer is true.
14
15
  * In production this is undefined and the menu calls the real hook. */
15
16
  updateState?: UpdateCheckState;
17
+ /** Status view (S4) only: replaces the frame title. */
18
+ title?: string;
19
+ /** Status view only: rendered above the banners and the menu rows. */
20
+ header?: ReactNode;
21
+ /** Status view only: Tab opens the full menu; the footer names it. */
22
+ onOpenMenu?: {
23
+ run: () => void;
24
+ label: string;
25
+ };
16
26
  }
17
- export declare function MainMenu({ language, onSelect, onSwapLang, onQuit, outdatedClientNames, updateState, }: MainMenuProps): import("react").JSX.Element;
27
+ export declare function MainMenu({ language, onSelect, onSwapLang, onQuit, outdatedClientNames, updateState, title, header, onOpenMenu, }: MainMenuProps): import("react").JSX.Element;
18
28
  export {};
@@ -107,18 +107,23 @@ const MENU_I18N = {
107
107
  footerQuit: 'salir',
108
108
  },
109
109
  };
110
+ /** With an injected `updateState` (tests, the status view) the menu skips
111
+ * its own registry check; a constant keeps the hook's effect stable. */
112
+ const SKIP_UPDATE_CHECK = {
113
+ runCheck: () => Promise.reject(new Error('injected')),
114
+ };
110
115
  function defaultOutdatedClientNames() {
111
116
  return statusAll()
112
117
  .filter((r) => r.state.kind === 'installed-outdated')
113
118
  .map((r) => r.displayName);
114
119
  }
115
- export function MainMenu({ language, onSelect, onSwapLang, onQuit, outdatedClientNames = defaultOutdatedClientNames, updateState, }) {
120
+ export function MainMenu({ language, onSelect, onSwapLang, onQuit, outdatedClientNames = defaultOutdatedClientNames, updateState, title, header, onOpenMenu, }) {
116
121
  const t = MENU_I18N[language];
117
122
  /* The real hook drives a 6-hourly background check; tests inject a fixed
118
123
  * `updateState` instead. We call the hook unconditionally so the React
119
124
  * rules-of-hooks are satisfied (no conditional invocation), then ignore
120
125
  * its result when the prop override is present. */
121
- const hookState = useBackgroundUpdateCheck();
126
+ const hookState = useBackgroundUpdateCheck(updateState ? SKIP_UPDATE_CHECK : undefined);
122
127
  const effectiveUpdate = updateState ?? hookState;
123
128
  const [idx, setIdx] = useState(0);
124
129
  const [outdated, setOutdated] = useState(() => outdatedClientNames());
@@ -138,6 +143,8 @@ export function MainMenu({ language, onSelect, onSwapLang, onQuit, outdatedClien
138
143
  setIdx((i) => (i + 1) % MENU_SPEC.length);
139
144
  else if (key.return)
140
145
  handleAction(MENU_SPEC[idx].value);
146
+ else if (key.tab && onOpenMenu)
147
+ onOpenMenu.run();
141
148
  else if (input === 'q' || key.escape)
142
149
  onQuit();
143
150
  else if (input === 'l')
@@ -158,13 +165,14 @@ export function MainMenu({ language, onSelect, onSwapLang, onQuit, outdatedClien
158
165
  { id: 'diagnose', head: t.groupDiagnose },
159
166
  { id: 'reference', head: t.groupReference },
160
167
  ];
161
- return (_jsxs(Frame, { title: t.title, badge: _jsxs(Text, { color: COLORS.muted, dimColor: true, children: ["v", VERSION] }), footer: _jsx(FooterKeys, { items: [
168
+ return (_jsxs(Frame, { title: title ?? t.title, badge: _jsxs(Text, { color: COLORS.muted, dimColor: true, children: ["v", VERSION] }), footer: _jsx(FooterKeys, { items: [
162
169
  { k: `${GLYPHS.up}${GLYPHS.down}`, label: t.footerNavigate },
163
170
  { k: GLYPHS.enter, label: t.footerSelect },
164
171
  { k: 'a-z', label: t.footerHotkey },
172
+ ...(onOpenMenu ? [{ k: 'tab', label: onOpenMenu.label }] : []),
165
173
  { k: 'l', label: t.footerLang },
166
174
  { k: 'q', label: t.footerQuit },
167
- ] }), children: [outdated.length > 0 && (_jsx(Box, { marginBottom: 1, children: _jsx(Text, { color: COLORS.warn, children: t.outdatedBanner(outdated.join(', ')) }) })), effectiveUpdate.isNewer && effectiveUpdate.latest !== null && (_jsx(Box, { marginBottom: 1, children: _jsx(Text, { color: COLORS.primary, children: t.updateBanner(effectiveUpdate.latest) }) })), _jsxs(Box, { children: [_jsx(Text, { color: "white", bold: true, children: t.prompt }), _jsxs(Text, { color: COLORS.muted, dimColor: true, italic: true, children: [' ', GLYPHS.dot, " ", t.promptHint] })] }), groups.map((g) => (_jsxs(Box, { flexDirection: "column", children: [_jsx(SectionHead, { children: g.head }), MENU_SPEC.filter((m) => m.group === g.id).map((spec) => {
175
+ ] }), children: [header, outdated.length > 0 && (_jsx(Box, { marginBottom: 1, children: _jsx(Text, { color: COLORS.warn, children: t.outdatedBanner(outdated.join(', ')) }) })), effectiveUpdate.isNewer && effectiveUpdate.latest !== null && (_jsx(Box, { marginBottom: 1, children: _jsx(Text, { color: COLORS.primary, children: t.updateBanner(effectiveUpdate.latest) }) })), _jsxs(Box, { children: [_jsx(Text, { color: "white", bold: true, children: t.prompt }), _jsxs(Text, { color: COLORS.muted, dimColor: true, italic: true, children: [' ', GLYPHS.dot, " ", t.promptHint] })] }), groups.map((g) => (_jsxs(Box, { flexDirection: "column", children: [_jsx(SectionHead, { children: g.head }), MENU_SPEC.filter((m) => m.group === g.id).map((spec) => {
168
176
  const globalIndex = MENU_SPEC.indexOf(spec);
169
177
  return (_jsx(MenuRow, { selected: globalIndex === idx, hotkey: spec.hotkey, label: t.options[spec.value], hint: t.hints[spec.value] }, spec.value));
170
178
  })] }, g.id)))] }));
@@ -1 +1 @@
1
- {"version":3,"file":"menu.js","sourceRoot":"","sources":["../../../src/ui/screens/menu.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"menu.js","sourceRoot":"","sources":["../../../src/ui/screens/menu.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,19 @@
1
+ import { type AdminInput } from '../../admin/descriptor.js';
2
+ import { type UpdateCheckState } from '../hooks/use-update-check.js';
3
+ import { type MenuAction } from './menu.js';
4
+ import type { CommonProps } from './types.js';
5
+ /** The console's facts: the primary's `/version`, the local config and files. */
6
+ export declare function loadLocalAdminInput(): Promise<AdminInput>;
7
+ interface StatusViewProps extends CommonProps {
8
+ onSelect: (action: MenuAction) => void;
9
+ onOpenMenu: () => void;
10
+ onSwapLang: () => void;
11
+ onQuit: () => void;
12
+ /** Test seam: production reads the real machine. */
13
+ loadInput?: () => Promise<AdminInput>;
14
+ /** Test seams forwarded to the menu rows. */
15
+ outdatedClientNames?: () => string[];
16
+ updateState?: UpdateCheckState;
17
+ }
18
+ export declare function StatusView({ language, onSelect, onOpenMenu, onSwapLang, onQuit, loadInput, outdatedClientNames, updateState, }: StatusViewProps): import("react").JSX.Element;
19
+ export {};
@@ -0,0 +1,67 @@
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { Box, Text } from 'ink';
3
+ import { useEffect, useMemo, useState } from 'react';
4
+ import { COLORS } from '../tokens.js';
5
+ import { SectionHead } from '../primitives/index.js';
6
+ import { buildAdminState } from '../../admin/descriptor.js';
7
+ import { gatherAdminInput, probeRunningServer } from '../../admin/sources.js';
8
+ import { useBackgroundUpdateCheck } from '../hooks/use-update-check.js';
9
+ import { MainMenu } from './menu.js';
10
+ /* Status view (S4) — the console's first screen. The top block is the
11
+ * `status` section of the admin descriptor (`admin/descriptor.ts`), the
12
+ * same source the popup's Admin section renders, built here out of
13
+ * process: the running primary answers `/version` or the rows say it is
14
+ * not running, and the tab count stays with the primary. Below it are the
15
+ * existing menu rows with their hotkeys (it is `MainMenu` with a header),
16
+ * so every screen is still one key away; Tab opens the full menu. */
17
+ const STATUS_I18N = {
18
+ en: { title: 'browser-link — status', loading: 'Reading status…', menu: 'menu' },
19
+ es: { title: 'browser-link — estado', loading: 'Leyendo el estado…', menu: 'menú' },
20
+ };
21
+ /** The console's facts: the primary's `/version`, the local config and files. */
22
+ export function loadLocalAdminInput() {
23
+ return gatherAdminInput({ server: probeRunningServer });
24
+ }
25
+ function display(value) {
26
+ if (value === null || value === undefined)
27
+ return '—';
28
+ return String(value);
29
+ }
30
+ function StatusRows({ items, heading }) {
31
+ const width = Math.max(...items.map((i) => i.label.length), 0) + 2;
32
+ return (_jsxs(Box, { flexDirection: "column", marginBottom: 1, children: [_jsx(SectionHead, { children: heading.toUpperCase() }), items.map((item) => (_jsxs(Box, { children: [_jsx(Text, { color: COLORS.muted, children: ` ${item.label.padEnd(width)}` }), _jsx(Text, { children: display(item.value) }), item.hint !== undefined && (_jsx(Text, { color: COLORS.muted, dimColor: true, children: ` ${item.hint}` }))] }, item.id)))] }));
33
+ }
34
+ export function StatusView({ language, onSelect, onOpenMenu, onSwapLang, onQuit, loadInput = loadLocalAdminInput, outdatedClientNames, updateState, }) {
35
+ const t = STATUS_I18N[language];
36
+ // One update check for both the status row and the menu's banner; an
37
+ // injected state replaces the network call entirely.
38
+ const injected = useMemo(() => (updateState ? { runCheck: () => Promise.resolve(updateState) } : undefined), [updateState]);
39
+ const hookState = useBackgroundUpdateCheck(injected);
40
+ const update = updateState ?? hookState;
41
+ const [input, setInput] = useState(null);
42
+ useEffect(() => {
43
+ let cancelled = false;
44
+ loadInput()
45
+ .then((next) => {
46
+ if (!cancelled)
47
+ setInput(next);
48
+ })
49
+ .catch(() => {
50
+ /* the rows stay on "reading"; the menu below still works */
51
+ });
52
+ return () => {
53
+ cancelled = true;
54
+ };
55
+ }, [loadInput]);
56
+ // The console's language wins over the config's: `l` swaps it live.
57
+ const section = input
58
+ ? buildAdminState({
59
+ ...input,
60
+ config: { ...input.config, language },
61
+ update: update.latest === null ? input.update : update,
62
+ }).sections.find((s) => s.id === 'status')
63
+ : undefined;
64
+ const header = section ? (_jsx(StatusRows, { items: section.items, heading: section.title })) : (_jsx(Box, { marginBottom: 1, children: _jsx(Text, { color: COLORS.muted, dimColor: true, children: t.loading }) }));
65
+ return (_jsx(MainMenu, { language: language, onSelect: onSelect, onSwapLang: onSwapLang, onQuit: onQuit, outdatedClientNames: outdatedClientNames, updateState: update, title: t.title, header: header, onOpenMenu: { run: onOpenMenu, label: t.menu } }));
66
+ }
67
+ //# sourceMappingURL=status.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../../src/ui/screens/status.tsx"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@jobshimo/browser-link",
3
- "version": "0.41.0",
3
+ "version": "0.43.0",
4
4
  "description": "MCP server that bridges Claude Code, OpenCode, GitHub Copilot CLI and other MCP clients to a Chrome tab. Per-tool permissions, multi-agent mode (multiple MCP clients sharing one bridge), persistent UI map across sessions.",
5
5
  "keywords": [
6
6
  "mcp",