@vforsh/argus 0.1.19 → 0.1.21

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 (57) hide show
  1. package/dist/.tsbuildinfo +1 -1
  2. package/dist/argus.js +642 -191
  3. package/dist/cli/register/extensionCommands.d.ts.map +1 -1
  4. package/dist/cli/register/extensionCommands.js +28 -3
  5. package/dist/cli/register/extensionCommands.js.map +1 -1
  6. package/dist/cli/register/keydownCommand.d.ts.map +1 -1
  7. package/dist/cli/register/keydownCommand.js +15 -2
  8. package/dist/cli/register/keydownCommand.js.map +1 -1
  9. package/dist/cli/register/netCommands.d.ts +5 -0
  10. package/dist/cli/register/netCommands.d.ts.map +1 -1
  11. package/dist/cli/register/netCommands.js +23 -6
  12. package/dist/cli/register/netCommands.js.map +1 -1
  13. package/dist/commands/domKeydown.d.ts +8 -1
  14. package/dist/commands/domKeydown.d.ts.map +1 -1
  15. package/dist/commands/domKeydown.js +35 -6
  16. package/dist/commands/domKeydown.js.map +1 -1
  17. package/dist/commands/extension/extensionId.d.ts +27 -0
  18. package/dist/commands/extension/extensionId.d.ts.map +1 -0
  19. package/dist/commands/extension/extensionId.js +37 -0
  20. package/dist/commands/extension/extensionId.js.map +1 -0
  21. package/dist/commands/extension/extensionPath.d.ts +15 -0
  22. package/dist/commands/extension/extensionPath.d.ts.map +1 -0
  23. package/dist/commands/extension/extensionPath.js +61 -0
  24. package/dist/commands/extension/extensionPath.js.map +1 -0
  25. package/dist/commands/extension/install.d.ts +16 -0
  26. package/dist/commands/extension/install.d.ts.map +1 -0
  27. package/dist/commands/extension/install.js +154 -0
  28. package/dist/commands/extension/install.js.map +1 -0
  29. package/dist/commands/extension/setup.d.ts +2 -1
  30. package/dist/commands/extension/setup.d.ts.map +1 -1
  31. package/dist/commands/extension/setup.js +5 -2
  32. package/dist/commands/extension/setup.js.map +1 -1
  33. package/dist/commands/netMock.d.ts +2 -0
  34. package/dist/commands/netMock.d.ts.map +1 -1
  35. package/dist/commands/netMock.js +22 -1
  36. package/dist/commands/netMock.js.map +1 -1
  37. package/dist/extension/dist/background/auth-header-monitor.js +77 -0
  38. package/dist/extension/dist/background/bridge-client.js +120 -0
  39. package/dist/extension/dist/background/cdp-proxy.js +201 -0
  40. package/dist/extension/dist/background/debugger-manager.js +296 -0
  41. package/dist/extension/dist/background/service-worker.js +2004 -0
  42. package/dist/extension/dist/background/service-worker.js.map +7 -0
  43. package/dist/extension/dist/popup/popup.js +730 -0
  44. package/dist/extension/dist/popup/popup.js.map +7 -0
  45. package/dist/extension/dist/popup/tabMarkup.js +104 -0
  46. package/dist/extension/dist/popup/viewState.js +60 -0
  47. package/dist/extension/dist/types/messages.js +5 -0
  48. package/dist/extension/icons/icon-128.png +0 -0
  49. package/dist/extension/icons/icon-16.png +0 -0
  50. package/dist/extension/icons/icon-48.png +0 -0
  51. package/dist/extension/manifest.json +26 -0
  52. package/dist/extension/src/popup/popup.html +756 -0
  53. package/dist/skill/argus/SKILL.md +6 -1
  54. package/dist/skill/argus/reference/EXTENSION.md +13 -8
  55. package/dist/skill/argus/reference/INSPECT.md +3 -1
  56. package/dist/skill/argus/reference/NET.md +4 -1
  57. package/package.json +2 -2
@@ -0,0 +1,154 @@
1
+ import { spawn } from 'node:child_process';
2
+ import { readRegistry } from '@vforsh/argus-core';
3
+ import { createOutput } from '../../output/io.js';
4
+ import { pruneRegistry } from '../../registry.js';
5
+ import { resolveChromeBin } from '../../utils/chromeBin.js';
6
+ import { ARGUS_EXTENSION_ID } from './extensionId.js';
7
+ import { resolveExtensionDir } from './extensionPath.js';
8
+ import { CONTROL_WATCHER_ID, findArgusExecutable, getPlatform, installNativeHosts } from './nativeHost.js';
9
+ const DEFAULT_TIMEOUT_SECONDS = 120;
10
+ const POLL_INTERVAL_MS = 700;
11
+ /**
12
+ * One-command extension setup: install the native messaging hosts with the
13
+ * pinned ID, open chrome://extensions, point the user at the unpacked folder,
14
+ * then wait until the extension connects and report the first command to run.
15
+ */
16
+ export const runExtensionInstall = async (options) => {
17
+ const output = createOutput(options);
18
+ let platform;
19
+ try {
20
+ platform = getPlatform();
21
+ }
22
+ catch (error) {
23
+ return fail(output, error.message);
24
+ }
25
+ const extensionDir = resolveExtensionDir();
26
+ if (!extensionDir) {
27
+ return fail(output, 'Packaged Argus extension not found. Build the CLI (npm run build:packages) or run from a built checkout.');
28
+ }
29
+ let executablePath;
30
+ try {
31
+ executablePath = findArgusExecutable();
32
+ }
33
+ catch (error) {
34
+ return fail(output, error.message);
35
+ }
36
+ let hosts;
37
+ try {
38
+ hosts = installNativeHosts(platform, ARGUS_EXTENSION_ID, executablePath);
39
+ }
40
+ catch (error) {
41
+ return fail(output, `Failed to install native hosts: ${error.message}`);
42
+ }
43
+ await pruneRegistry();
44
+ let connected = await isControlConnected();
45
+ const shouldOpen = options.open !== false && !connected;
46
+ const opened = shouldOpen ? openExtensionsPage() : false;
47
+ if (!output.json) {
48
+ printSummary(output, { extensionDir, hosts, connected, opened, shouldOpen });
49
+ }
50
+ const shouldWait = options.wait !== false && !connected;
51
+ if (shouldWait) {
52
+ connected = await waitForControl(parseTimeoutMs(options.timeout), output);
53
+ }
54
+ if (output.json) {
55
+ output.writeJson({ success: true, extensionId: ARGUS_EXTENSION_ID, extensionPath: extensionDir, hosts, connected });
56
+ if (!connected && shouldWait) {
57
+ process.exitCode = 1;
58
+ }
59
+ return;
60
+ }
61
+ printResult(output, connected, shouldWait);
62
+ };
63
+ const isControlConnected = async () => {
64
+ const { registry } = await readRegistry();
65
+ return Boolean(registry.watchers[CONTROL_WATCHER_ID]);
66
+ };
67
+ const openExtensionsPage = () => {
68
+ const chromeBin = resolveChromeBin();
69
+ if (!chromeBin) {
70
+ return false;
71
+ }
72
+ try {
73
+ const child = spawn(chromeBin, ['chrome://extensions/'], { stdio: 'ignore', detached: true });
74
+ child.unref();
75
+ return true;
76
+ }
77
+ catch {
78
+ return false;
79
+ }
80
+ };
81
+ const waitForControl = async (timeoutMs, output) => {
82
+ if (!output.json) {
83
+ output.writeHuman(`Waiting for the extension to connect (up to ${Math.round(timeoutMs / 1000)}s)...`);
84
+ }
85
+ const deadline = Date.now() + timeoutMs;
86
+ while (Date.now() < deadline) {
87
+ if (await isControlConnected()) {
88
+ return true;
89
+ }
90
+ await delay(POLL_INTERVAL_MS);
91
+ }
92
+ return isControlConnected();
93
+ };
94
+ const printSummary = (output, info) => {
95
+ output.writeHuman('');
96
+ output.writeHuman('Argus extension setup');
97
+ output.writeHuman('');
98
+ output.writeHuman(` Native hosts: installed (${info.hosts.map((host) => host.hostName).join(', ')})`);
99
+ output.writeHuman(` Extension ID: ${ARGUS_EXTENSION_ID}`);
100
+ output.writeHuman(` Load unpacked: ${info.extensionDir}`);
101
+ output.writeHuman('');
102
+ if (info.connected) {
103
+ return;
104
+ }
105
+ if (info.opened) {
106
+ output.writeHuman('Opened chrome://extensions. Click "Load unpacked" and select the folder above.');
107
+ }
108
+ else if (info.shouldOpen) {
109
+ output.writeHuman('Open chrome://extensions, then click "Load unpacked" and select the folder above.');
110
+ }
111
+ else {
112
+ output.writeHuman('Open chrome://extensions and "Load unpacked" the folder above.');
113
+ }
114
+ output.writeHuman('(Enable Developer mode if the "Load unpacked" button is hidden.)');
115
+ output.writeHuman('');
116
+ };
117
+ const printResult = (output, connected, waited) => {
118
+ if (connected) {
119
+ output.writeHuman('Extension connected.');
120
+ output.writeHuman('');
121
+ output.writeHuman('Try it:');
122
+ output.writeHuman(' argus ext tabs');
123
+ output.writeHuman('');
124
+ return;
125
+ }
126
+ if (waited) {
127
+ output.writeHuman('Extension did not connect yet.');
128
+ output.writeHuman(' - If it is already loaded, open its popup or reload it in chrome://extensions.');
129
+ output.writeHuman(' - Then check `argus extension status` and `argus ext doctor`.');
130
+ output.writeHuman('');
131
+ process.exitCode = 1;
132
+ return;
133
+ }
134
+ output.writeHuman('Once loaded, verify with `argus ext tabs`.');
135
+ output.writeHuman('');
136
+ };
137
+ const parseTimeoutMs = (value) => {
138
+ const seconds = value ? Number.parseInt(value, 10) : DEFAULT_TIMEOUT_SECONDS;
139
+ if (!Number.isFinite(seconds) || seconds < 5) {
140
+ return DEFAULT_TIMEOUT_SECONDS * 1000;
141
+ }
142
+ return seconds * 1000;
143
+ };
144
+ const fail = (output, message) => {
145
+ if (output.json) {
146
+ output.writeJson({ success: false, error: { message } });
147
+ }
148
+ else {
149
+ console.error(message);
150
+ }
151
+ process.exitCode = 1;
152
+ };
153
+ const delay = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
154
+ //# sourceMappingURL=install.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"install.js","sourceRoot":"","sources":["../../../src/commands/extension/install.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  export type ExtensionSetupOptions = {
2
- extensionId: string;
2
+ /** Override the pinned extension ID. Defaults to {@link ARGUS_EXTENSION_ID}. */
3
+ extensionId?: string;
3
4
  json?: boolean;
4
5
  };
5
6
  export declare const runExtensionSetup: (options: ExtensionSetupOptions) => Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../../src/commands/extension/setup.ts"],"names":[],"mappings":"AAGA,MAAM,MAAM,qBAAqB,GAAG;IACnC,WAAW,EAAE,MAAM,CAAA;IACnB,IAAI,CAAC,EAAE,OAAO,CAAA;CACd,CAAA;AAED,eAAO,MAAM,iBAAiB,GAAU,SAAS,qBAAqB,KAAG,OAAO,CAAC,IAAI,CAmEpF,CAAA"}
1
+ {"version":3,"file":"setup.d.ts","sourceRoot":"","sources":["../../../src/commands/extension/setup.ts"],"names":[],"mappings":"AAIA,MAAM,MAAM,qBAAqB,GAAG;IACnC,gFAAgF;IAChF,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,IAAI,CAAC,EAAE,OAAO,CAAA;CACd,CAAA;AAED,eAAO,MAAM,iBAAiB,GAAU,SAAS,qBAAqB,KAAG,OAAO,CAAC,IAAI,CAqEpF,CAAA"}
@@ -1,8 +1,9 @@
1
1
  import { createOutput } from '../../output/io.js';
2
2
  import { getPlatform, findArgusExecutable, installNativeHosts, shortenPath } from './nativeHost.js';
3
+ import { ARGUS_EXTENSION_ID } from './extensionId.js';
3
4
  export const runExtensionSetup = async (options) => {
4
5
  const output = createOutput(options);
5
- const { extensionId } = options;
6
+ const extensionId = options.extensionId ?? ARGUS_EXTENSION_ID;
6
7
  let platform;
7
8
  try {
8
9
  platform = getPlatform();
@@ -66,9 +67,11 @@ export const runExtensionSetup = async (options) => {
66
67
  }
67
68
  output.writeHuman('');
68
69
  output.writeHuman('Next steps:');
69
- output.writeHuman(' 1. Reload the extension in chrome://extensions');
70
+ output.writeHuman(' 1. Load the unpacked extension from `argus extension path` (if not already loaded)');
70
71
  output.writeHuman(' 2. Run `argus ext tabs` or open the extension popup and attach a tab');
71
72
  output.writeHuman('');
73
+ output.writeHuman('Tip: `argus extension install` does this end-to-end and waits for the extension to connect.');
74
+ output.writeHuman('');
72
75
  }
73
76
  };
74
77
  //# sourceMappingURL=setup.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../../src/commands/extension/setup.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../../src/commands/extension/setup.ts"],"names":[],"mappings":"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"}
@@ -2,6 +2,8 @@ export type NetMockAddOptions = {
2
2
  url?: string;
3
3
  method?: string;
4
4
  resourceType?: string;
5
+ scope?: string;
6
+ frame?: string;
5
7
  block?: boolean;
6
8
  fail?: string;
7
9
  status?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"netMock.d.ts","sourceRoot":"","sources":["../../src/commands/netMock.ts"],"names":[],"mappings":"AA4BA,MAAM,MAAM,iBAAiB,GAAG;IAC/B,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;IACpB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,OAAO,CAAA;CACd,CAAA;AAED,6DAA6D;AAC7D,eAAO,MAAM,aAAa,sFAuBxB,CAAA;AA2OF,MAAM,MAAM,kBAAkB,GAAG;IAChC,IAAI,CAAC,EAAE,OAAO,CAAA;CACd,CAAA;AAED,wCAAwC;AACxC,eAAO,MAAM,cAAc,uFAsBzB,CAAA;AAMF,MAAM,MAAM,oBAAoB,GAAG;IAClC,IAAI,CAAC,EAAE,OAAO,CAAA;CACd,CAAA;AAED,+CAA+C;AAC/C,eAAO,MAAM,gBAAgB,wGAkB3B,CAAA;AAMF,MAAM,MAAM,mBAAmB,GAAG;IACjC,IAAI,CAAC,EAAE,OAAO,CAAA;CACd,CAAA;AAED,2CAA2C;AAC3C,eAAO,MAAM,eAAe,wFAO1B,CAAA"}
1
+ {"version":3,"file":"netMock.d.ts","sourceRoot":"","sources":["../../src/commands/netMock.ts"],"names":[],"mappings":"AA6BA,MAAM,MAAM,iBAAiB,GAAG;IAC/B,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,OAAO,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,MAAM,CAAA;IACf,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB,SAAS,CAAC,EAAE,MAAM,EAAE,CAAA;IACpB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,IAAI,CAAC,EAAE,OAAO,CAAA;CACd,CAAA;AAED,6DAA6D;AAC7D,eAAO,MAAM,aAAa,sFAuBxB,CAAA;AAgQF,MAAM,MAAM,kBAAkB,GAAG;IAChC,IAAI,CAAC,EAAE,OAAO,CAAA;CACd,CAAA;AAED,wCAAwC;AACxC,eAAO,MAAM,cAAc,uFAsBzB,CAAA;AAMF,MAAM,MAAM,oBAAoB,GAAG;IAClC,IAAI,CAAC,EAAE,OAAO,CAAA;CACd,CAAA;AAED,+CAA+C;AAC/C,eAAO,MAAM,gBAAgB,wGAkB3B,CAAA;AAMF,MAAM,MAAM,mBAAmB,GAAG;IACjC,IAAI,CAAC,EAAE,OAAO,CAAA;CACd,CAAA;AAED,2CAA2C;AAC3C,eAAO,MAAM,eAAe,wFAO1B,CAAA"}
@@ -80,6 +80,10 @@ const buildAddRequest = async (options, output) => {
80
80
  if (!action) {
81
81
  return null;
82
82
  }
83
+ const scope = resolveMockScope(options, output);
84
+ if (!scope) {
85
+ return null;
86
+ }
83
87
  const match = { url: urlPattern };
84
88
  if (options.method) {
85
89
  match.method = options.method;
@@ -87,7 +91,21 @@ const buildAddRequest = async (options, output) => {
87
91
  if (options.resourceType) {
88
92
  match.resourceType = options.resourceType;
89
93
  }
90
- return { match, action, delayMs, times };
94
+ return { scope, match, action, delayMs, times };
95
+ };
96
+ const resolveMockScope = (options, output) => {
97
+ if (options.scope && options.frame) {
98
+ output.writeWarn('Cannot combine --scope and --frame. Use one or the other.');
99
+ process.exitCode = 2;
100
+ return null;
101
+ }
102
+ const value = (options.scope ?? options.frame ?? 'page').trim().toLowerCase();
103
+ if (value === 'page' || value === 'selected') {
104
+ return value;
105
+ }
106
+ output.writeWarn(`Invalid mock scope: ${value}. Expected page or selected.`);
107
+ process.exitCode = 2;
108
+ return null;
91
109
  };
92
110
  const buildAction = async (options, responseHeaders, requestHeaders, delayMs, output) => {
93
111
  const invalid = (message) => {
@@ -288,6 +306,9 @@ const describeRule = (rule) => {
288
306
  if (rule.times != null) {
289
307
  extras.push(`times ${Math.min(rule.hits, rule.times)}/${rule.times}`);
290
308
  }
309
+ if (rule.scope === 'selected') {
310
+ extras.push('scope selected');
311
+ }
291
312
  extras.push(`hits ${rule.hits}`);
292
313
  return `#${rule.id} ${match} → ${describeAction(rule.action)} [${extras.join(', ')}]`;
293
314
  };
@@ -1 +1 @@
1
- {"version":3,"file":"netMock.js","sourceRoot":"","sources":["../../src/commands/netMock.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"netMock.js","sourceRoot":"","sources":["../../src/commands/netMock.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,77 @@
1
+ const AUTH_HEADER_NAMES = new Set([
2
+ 'authorization',
3
+ 'cookie',
4
+ 'x-api-key',
5
+ 'x-auth-token',
6
+ 'x-csrf-token',
7
+ 'x-csrftoken',
8
+ 'x-xsrf-token',
9
+ 'csrf-token',
10
+ 'xsrf-token',
11
+ ]);
12
+ const WEB_REQUEST_FILTER = { urls: ['<all_urls>'] };
13
+ const WEB_REQUEST_EXTRA_INFO = ['requestHeaders', 'extraHeaders'];
14
+ /**
15
+ * Observe auth-related request headers for currently attached tabs.
16
+ * We keep the extension payload narrow so the native bridge never has to ship full request headers.
17
+ */
18
+ export class AuthHeaderMonitor {
19
+ debuggerManager;
20
+ bridgeClient;
21
+ constructor(debuggerManager, bridgeClient) {
22
+ this.debuggerManager = debuggerManager;
23
+ this.bridgeClient = bridgeClient;
24
+ chrome.webRequest.onBeforeSendHeaders.addListener((details) => {
25
+ this.handleBeforeSendHeaders(details);
26
+ }, WEB_REQUEST_FILTER, WEB_REQUEST_EXTRA_INFO);
27
+ }
28
+ handleBeforeSendHeaders(details) {
29
+ const message = createObservedHeadersMessage(details, this.debuggerManager);
30
+ if (!message) {
31
+ return;
32
+ }
33
+ this.bridgeClient.send(message);
34
+ }
35
+ }
36
+ const createObservedHeadersMessage = (details, debuggerManager) => {
37
+ if (details.tabId < 0 || !debuggerManager.isAttached(details.tabId)) {
38
+ return null;
39
+ }
40
+ const requestHeaders = pickObservedAuthHeaders(details.requestHeaders);
41
+ if (!requestHeaders) {
42
+ return null;
43
+ }
44
+ return {
45
+ type: 'auth_headers_observed',
46
+ tabId: details.tabId,
47
+ url: details.url,
48
+ method: details.method,
49
+ ts: typeof details.timeStamp === 'number' ? details.timeStamp : Date.now(),
50
+ requestHeaders,
51
+ };
52
+ };
53
+ const pickObservedAuthHeaders = (headers) => {
54
+ if (!headers || headers.length === 0) {
55
+ return undefined;
56
+ }
57
+ const observed = {};
58
+ for (const header of headers) {
59
+ const name = header.name?.trim().toLowerCase();
60
+ if (!name || !AUTH_HEADER_NAMES.has(name)) {
61
+ continue;
62
+ }
63
+ const value = normalizeHeaderValue(header.value);
64
+ if (!value) {
65
+ continue;
66
+ }
67
+ observed[name] = value;
68
+ }
69
+ return Object.keys(observed).length > 0 ? observed : undefined;
70
+ };
71
+ const normalizeHeaderValue = (value) => {
72
+ if (typeof value !== 'string') {
73
+ return null;
74
+ }
75
+ const trimmed = value.trim();
76
+ return trimmed || null;
77
+ };
@@ -0,0 +1,120 @@
1
+ /**
2
+ * Native Messaging client for communicating with argus-watcher (extension mode).
3
+ * Handles connection lifecycle, message serialization, and reconnection.
4
+ */
5
+ export class BridgeClient {
6
+ port = null;
7
+ hostName;
8
+ messageHandlers = new Set();
9
+ connectHandler = null;
10
+ disconnectHandler = null;
11
+ reconnectAttempts = 0;
12
+ maxReconnectAttempts = 5;
13
+ reconnectDelay = 1000;
14
+ constructor(hostName = 'com.vforsh.argus.bridge') {
15
+ this.hostName = hostName;
16
+ }
17
+ /**
18
+ * Set handler for incoming messages from the host.
19
+ */
20
+ onMessage(handler) {
21
+ this.messageHandlers.add(handler);
22
+ }
23
+ /**
24
+ * Set handler for successful connection.
25
+ */
26
+ onConnect(handler) {
27
+ this.connectHandler = handler;
28
+ }
29
+ /**
30
+ * Set handler for disconnection.
31
+ */
32
+ onDisconnect(handler) {
33
+ this.disconnectHandler = handler;
34
+ }
35
+ /**
36
+ * Connect to the Native Messaging host.
37
+ */
38
+ connect() {
39
+ if (this.port) {
40
+ return true; // Already connected
41
+ }
42
+ try {
43
+ this.port = chrome.runtime.connectNative(this.hostName);
44
+ this.port.onMessage.addListener((message) => {
45
+ this.reconnectAttempts = 0; // Reset on successful message
46
+ for (const handler of this.messageHandlers) {
47
+ handler(message);
48
+ }
49
+ });
50
+ this.port.onDisconnect.addListener(() => {
51
+ const error = chrome.runtime.lastError;
52
+ console.log('[BridgeClient] Disconnected:', error?.message ?? 'unknown reason');
53
+ this.port = null;
54
+ if (this.disconnectHandler) {
55
+ this.disconnectHandler();
56
+ }
57
+ // Attempt reconnection
58
+ this.scheduleReconnect();
59
+ });
60
+ console.log('[BridgeClient] Connected to', this.hostName);
61
+ this.reconnectAttempts = 0;
62
+ if (this.connectHandler) {
63
+ this.connectHandler();
64
+ }
65
+ return true;
66
+ }
67
+ catch (err) {
68
+ console.error('[BridgeClient] Failed to connect:', err);
69
+ this.scheduleReconnect();
70
+ return false;
71
+ }
72
+ }
73
+ /**
74
+ * Disconnect from the Native Messaging host.
75
+ */
76
+ disconnect() {
77
+ if (this.port) {
78
+ this.port.disconnect();
79
+ this.port = null;
80
+ }
81
+ }
82
+ /**
83
+ * Send a message to the Native Messaging host.
84
+ */
85
+ send(message) {
86
+ if (!this.port) {
87
+ console.warn('[BridgeClient] Cannot send, not connected');
88
+ return false;
89
+ }
90
+ try {
91
+ this.port.postMessage(message);
92
+ return true;
93
+ }
94
+ catch (err) {
95
+ console.error('[BridgeClient] Send failed:', err);
96
+ return false;
97
+ }
98
+ }
99
+ /**
100
+ * Check if connected to the host.
101
+ */
102
+ isConnected() {
103
+ return this.port !== null;
104
+ }
105
+ /**
106
+ * Schedule a reconnection attempt with exponential backoff.
107
+ */
108
+ scheduleReconnect() {
109
+ if (this.reconnectAttempts >= this.maxReconnectAttempts) {
110
+ console.log('[BridgeClient] Max reconnection attempts reached');
111
+ return;
112
+ }
113
+ const delay = this.reconnectDelay * Math.pow(2, this.reconnectAttempts);
114
+ this.reconnectAttempts++;
115
+ console.log(`[BridgeClient] Reconnecting in ${delay}ms (attempt ${this.reconnectAttempts})`);
116
+ setTimeout(() => {
117
+ this.connect();
118
+ }, delay);
119
+ }
120
+ }