@zenalexa/unicli 0.222.3 → 0.223.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 (108) hide show
  1. package/AGENTS.md +24 -1
  2. package/README.md +16 -5
  3. package/README.zh-CN.md +2 -2
  4. package/dist/browser/auth-sync.d.ts +32 -0
  5. package/dist/browser/auth-sync.d.ts.map +1 -0
  6. package/dist/browser/auth-sync.js +119 -0
  7. package/dist/browser/auth-sync.js.map +1 -0
  8. package/dist/browser/bridge.d.ts +2 -0
  9. package/dist/browser/bridge.d.ts.map +1 -1
  10. package/dist/browser/bridge.js +4 -3
  11. package/dist/browser/bridge.js.map +1 -1
  12. package/dist/browser/cdp-client.d.ts +5 -0
  13. package/dist/browser/cdp-client.d.ts.map +1 -1
  14. package/dist/browser/cdp-client.js +18 -3
  15. package/dist/browser/cdp-client.js.map +1 -1
  16. package/dist/browser/chrome-policy.d.ts +38 -0
  17. package/dist/browser/chrome-policy.d.ts.map +1 -0
  18. package/dist/browser/chrome-policy.js +261 -0
  19. package/dist/browser/chrome-policy.js.map +1 -0
  20. package/dist/browser/daemon-client.d.ts +3 -0
  21. package/dist/browser/daemon-client.d.ts.map +1 -1
  22. package/dist/browser/daemon-client.js +13 -15
  23. package/dist/browser/daemon-client.js.map +1 -1
  24. package/dist/browser/doctor.d.ts +147 -0
  25. package/dist/browser/doctor.d.ts.map +1 -0
  26. package/dist/browser/doctor.js +784 -0
  27. package/dist/browser/doctor.js.map +1 -0
  28. package/dist/browser/launcher.d.ts +17 -8
  29. package/dist/browser/launcher.d.ts.map +1 -1
  30. package/dist/browser/launcher.js +51 -11
  31. package/dist/browser/launcher.js.map +1 -1
  32. package/dist/browser/local-profiles.d.ts +55 -0
  33. package/dist/browser/local-profiles.d.ts.map +1 -0
  34. package/dist/browser/local-profiles.js +333 -0
  35. package/dist/browser/local-profiles.js.map +1 -0
  36. package/dist/cli.d.ts.map +1 -1
  37. package/dist/cli.js +14 -1
  38. package/dist/cli.js.map +1 -1
  39. package/dist/commands/browser/index.d.ts +2 -2
  40. package/dist/commands/browser/index.d.ts.map +1 -1
  41. package/dist/commands/browser/index.js +195 -14
  42. package/dist/commands/browser/index.js.map +1 -1
  43. package/dist/commands/compute.d.ts.map +1 -1
  44. package/dist/commands/compute.js +116 -11
  45. package/dist/commands/compute.js.map +1 -1
  46. package/dist/commands/doctor-compute.d.ts +3 -1
  47. package/dist/commands/doctor-compute.d.ts.map +1 -1
  48. package/dist/commands/doctor-compute.js +78 -2
  49. package/dist/commands/doctor-compute.js.map +1 -1
  50. package/dist/compute/capture-reference.d.ts +40 -0
  51. package/dist/compute/capture-reference.d.ts.map +1 -0
  52. package/dist/compute/capture-reference.js +285 -0
  53. package/dist/compute/capture-reference.js.map +1 -0
  54. package/dist/compute/capture.d.ts +67 -0
  55. package/dist/compute/capture.d.ts.map +1 -0
  56. package/dist/compute/capture.js +247 -0
  57. package/dist/compute/capture.js.map +1 -0
  58. package/dist/discovery/aliases.d.ts.map +1 -1
  59. package/dist/discovery/aliases.js +13 -0
  60. package/dist/discovery/aliases.js.map +1 -1
  61. package/dist/discovery/core-catalog.d.ts +37 -0
  62. package/dist/discovery/core-catalog.d.ts.map +1 -0
  63. package/dist/discovery/core-catalog.js +352 -0
  64. package/dist/discovery/core-catalog.js.map +1 -0
  65. package/dist/discovery/intents.d.ts.map +1 -1
  66. package/dist/discovery/intents.js +51 -0
  67. package/dist/discovery/intents.js.map +1 -1
  68. package/dist/discovery/search.d.ts +10 -6
  69. package/dist/discovery/search.d.ts.map +1 -1
  70. package/dist/discovery/search.js +21 -102
  71. package/dist/discovery/search.js.map +1 -1
  72. package/dist/engine/executor.d.ts +6 -1
  73. package/dist/engine/executor.d.ts.map +1 -1
  74. package/dist/engine/executor.js +2 -0
  75. package/dist/engine/executor.js.map +1 -1
  76. package/dist/engine/kernel/stages.d.ts.map +1 -1
  77. package/dist/engine/kernel/stages.js +4 -0
  78. package/dist/engine/kernel/stages.js.map +1 -1
  79. package/dist/engine/steps/browser-helpers.d.ts.map +1 -1
  80. package/dist/engine/steps/browser-helpers.js +29 -1
  81. package/dist/engine/steps/browser-helpers.js.map +1 -1
  82. package/dist/fast-path/handlers/discovery.d.ts.map +1 -1
  83. package/dist/fast-path/handlers/discovery.js +80 -1
  84. package/dist/fast-path/handlers/discovery.js.map +1 -1
  85. package/dist/manifest.json +1 -1
  86. package/dist/mcp/handler.d.ts.map +1 -1
  87. package/dist/mcp/handler.js +19 -4
  88. package/dist/mcp/handler.js.map +1 -1
  89. package/dist/mcp/profiles/computer-use.d.ts.map +1 -1
  90. package/dist/mcp/profiles/computer-use.js +106 -4
  91. package/dist/mcp/profiles/computer-use.js.map +1 -1
  92. package/docs/mcp/clients/claude-code.md +8 -7
  93. package/docs/mcp/clients/claude-desktop.md +1 -1
  94. package/docs/mcp/clients/codex.md +1 -1
  95. package/docs/mcp/clients/cursor.md +1 -1
  96. package/docs/mcp/clients/gemini-cli.md +1 -1
  97. package/docs/operate/compute.md +58 -0
  98. package/docs/operate/focus-behavior.md +25 -0
  99. package/package.json +1 -1
  100. package/server.json +2 -2
  101. package/skills/unicli/SKILL.md +54 -38
  102. package/skills/unicli-browser/SKILL.md +56 -10
  103. package/skills/unicli-claude-code/SKILL.md +1 -1
  104. package/skills/unicli-hermes/SKILL.md +1 -1
  105. package/skills/unicli-operate/SKILL.md +1 -1
  106. package/skills/unicli-smart-search/SKILL.md +7 -5
  107. package/skills/unicli-usage/SKILL.md +39 -1
  108. package/src/hub/external-clis.yaml +6 -0
@@ -0,0 +1,261 @@
1
+ /**
2
+ * @owner src/browser/chrome-policy.ts
3
+ * @does Detect Chrome remote-debugging policy state and publish Chrome 136+ CDP hardening guidance.
4
+ * @needs node:child_process, node:fs, node:path, Chrome Enterprise policy conventions
5
+ * @feeds src/browser/doctor.ts, tests/unit/chrome-policy.test.ts
6
+ * @breaks Policy probe failures become unknown diagnostics; the module never writes browser policy.
7
+ */
8
+ import { execFileSync } from "node:child_process";
9
+ import { existsSync, readdirSync, readFileSync } from "node:fs";
10
+ import { join } from "node:path";
11
+ export const CHROME_REMOTE_DEBUGGING_OFFICIAL_SOURCES = [
12
+ "https://developer.chrome.com/blog/remote-debugging-port",
13
+ "https://support.google.com/chrome/a/answer/10314655",
14
+ "https://chromeenterprise.google/policies/remote-debugging-allowed/",
15
+ ];
16
+ export function buildChrome136RemoteDebuggingGuidance() {
17
+ return {
18
+ default_user_data_dir_cdp_supported: false,
19
+ policy_can_bypass_default_user_data_dir: false,
20
+ automatic_fix: "custom-user-data-dir",
21
+ safe_command: "unicli browser doctor --repair",
22
+ supported_paths: [
23
+ "Launch Chrome with a Uni-CLI-owned non-default --user-data-dir under ~/.unicli.",
24
+ "Reuse login state by importing cookies from the selected local browser profile.",
25
+ "Use Chrome for Testing or Chromium when a fully automation-owned browser is acceptable.",
26
+ "Use the daemon extension bridge when extension state is connected.",
27
+ "Use UNICLI_CDP_ENDPOINT for a remote/cloud CDP browser.",
28
+ ],
29
+ unsupported_paths: [
30
+ "Do not retry Google Chrome --remote-debugging-port against the browser default user-data-dir.",
31
+ "Do not rely on RemoteDebuggingAllowed policy to bypass the Chrome 136+ default-directory restriction.",
32
+ "Do not use unstable DevToolsDebuggingRestrictions feature flags as a supported repair path.",
33
+ ],
34
+ user_visible_warning: "Chrome 136+ ignores remote debugging switches for the default user-data-dir; Uni-CLI repairs this by starting a separate automation profile and reusing auth through cookie import.",
35
+ official_docs: [...CHROME_REMOTE_DEBUGGING_OFFICIAL_SOURCES],
36
+ };
37
+ }
38
+ export function detectChromeRemoteDebuggingPolicy() {
39
+ try {
40
+ const detected = detectMacPolicy() ?? detectLinuxPolicy() ?? detectWindowsPolicy();
41
+ if (detected)
42
+ return detected;
43
+ return policyReportFromValue(null, {
44
+ source: "not-found",
45
+ detail: "No RemoteDebuggingAllowed policy was detected; Chrome treats remote debugging as allowed, subject to the Chrome 136+ non-default data-dir requirement.",
46
+ });
47
+ }
48
+ catch (err) {
49
+ return {
50
+ name: "RemoteDebuggingAllowed",
51
+ state: "unknown",
52
+ source: "probe-error",
53
+ detail: err instanceof Error ? err.message : String(err),
54
+ next_step: "Open chrome://policy and confirm RemoteDebuggingAllowed is not false.",
55
+ commands: ["open chrome://policy", "unicli browser doctor --json"],
56
+ official_docs: [...CHROME_REMOTE_DEBUGGING_OFFICIAL_SOURCES],
57
+ };
58
+ }
59
+ }
60
+ export function policyReportFromValue(value, input) {
61
+ if (value === false) {
62
+ return {
63
+ name: "RemoteDebuggingAllowed",
64
+ state: "disabled",
65
+ value,
66
+ source: input.source,
67
+ ...(input.source_path ? { source_path: input.source_path } : {}),
68
+ detail: input.detail ??
69
+ "Chrome policy RemoteDebuggingAllowed=false blocks all remote-debugging switches, including Uni-CLI automation profiles.",
70
+ next_step: "Remove the false Chrome policy or set RemoteDebuggingAllowed=true, then fully restart Chrome.",
71
+ commands: policyRepairCommands(),
72
+ official_docs: [...CHROME_REMOTE_DEBUGGING_OFFICIAL_SOURCES],
73
+ };
74
+ }
75
+ if (value === true) {
76
+ return {
77
+ name: "RemoteDebuggingAllowed",
78
+ state: "allowed",
79
+ value,
80
+ source: input.source,
81
+ ...(input.source_path ? { source_path: input.source_path } : {}),
82
+ detail: input.detail ??
83
+ "Chrome policy explicitly allows remote debugging, but Chrome 136+ still requires a non-default user-data-dir.",
84
+ next_step: "Use `unicli browser doctor --repair` for local CDP.",
85
+ commands: ["unicli browser doctor --repair"],
86
+ official_docs: [...CHROME_REMOTE_DEBUGGING_OFFICIAL_SOURCES],
87
+ };
88
+ }
89
+ return {
90
+ name: "RemoteDebuggingAllowed",
91
+ state: "not-configured",
92
+ source: input.source,
93
+ ...(input.source_path ? { source_path: input.source_path } : {}),
94
+ detail: input.detail ??
95
+ "RemoteDebuggingAllowed is not configured, so Chrome allows remote debugging except for the Chrome 136+ default data-dir restriction.",
96
+ next_step: "Use `unicli browser doctor --repair` for local CDP.",
97
+ commands: ["unicli browser doctor --repair"],
98
+ official_docs: [...CHROME_REMOTE_DEBUGGING_OFFICIAL_SOURCES],
99
+ };
100
+ }
101
+ export function parsePolicyBoolean(raw) {
102
+ const normalized = raw.trim().toLowerCase();
103
+ if (["1", "true", "yes", "enabled", "0x1", "0x00000001"].includes(normalized))
104
+ return true;
105
+ if (["0", "false", "no", "disabled", "0x0", "0x00000000"].includes(normalized))
106
+ return false;
107
+ return null;
108
+ }
109
+ function detectMacPolicy() {
110
+ if (process.platform !== "darwin")
111
+ return null;
112
+ const candidates = [
113
+ "/Library/Managed Preferences/com.google.Chrome",
114
+ "/Library/Preferences/com.google.Chrome",
115
+ "com.google.Chrome",
116
+ ];
117
+ for (const domain of candidates) {
118
+ const value = readMacDefaultsBoolean(domain, "RemoteDebuggingAllowed");
119
+ if (value === null)
120
+ continue;
121
+ return policyReportFromValue(value, {
122
+ source: "mac-defaults",
123
+ source_path: domain,
124
+ });
125
+ }
126
+ return null;
127
+ }
128
+ function detectLinuxPolicy() {
129
+ if (process.platform !== "linux")
130
+ return null;
131
+ const dirs = [
132
+ "/etc/opt/chrome/policies/managed",
133
+ "/etc/opt/chrome/policies/recommended",
134
+ "/etc/chromium/policies/managed",
135
+ "/etc/chromium/policies/recommended",
136
+ "/etc/chrome/policies/managed",
137
+ "/etc/chrome/policies/recommended",
138
+ ];
139
+ for (const dir of dirs) {
140
+ const value = readLinuxPolicyBoolean(dir, "RemoteDebuggingAllowed");
141
+ if (value === null)
142
+ continue;
143
+ return policyReportFromValue(value.value, {
144
+ source: "linux-json-policy",
145
+ source_path: value.sourcePath,
146
+ });
147
+ }
148
+ return null;
149
+ }
150
+ function detectWindowsPolicy() {
151
+ if (process.platform !== "win32")
152
+ return null;
153
+ const keys = [
154
+ "HKLM\\Software\\Policies\\Google\\Chrome",
155
+ "HKCU\\Software\\Policies\\Google\\Chrome",
156
+ ];
157
+ for (const key of keys) {
158
+ const value = readWindowsRegistryBoolean(key, "RemoteDebuggingAllowed");
159
+ if (value === null)
160
+ continue;
161
+ return policyReportFromValue(value, {
162
+ source: "windows-registry",
163
+ source_path: `${key}\\RemoteDebuggingAllowed`,
164
+ });
165
+ }
166
+ return null;
167
+ }
168
+ function readMacDefaultsBoolean(domain, key) {
169
+ try {
170
+ const raw = execFileSync("defaults", ["read", domain, key], {
171
+ encoding: "utf8",
172
+ stdio: ["ignore", "pipe", "ignore"],
173
+ timeout: 1000,
174
+ });
175
+ return parsePolicyBoolean(raw);
176
+ }
177
+ catch {
178
+ return null;
179
+ }
180
+ }
181
+ function readLinuxPolicyBoolean(dir, key) {
182
+ if (!existsSync(dir))
183
+ return null;
184
+ let files;
185
+ try {
186
+ files = readdirSync(dir)
187
+ .filter((file) => file.endsWith(".json"))
188
+ .sort();
189
+ }
190
+ catch {
191
+ return null;
192
+ }
193
+ for (const file of files) {
194
+ const sourcePath = join(dir, file);
195
+ try {
196
+ const parsed = JSON.parse(readFileSync(sourcePath, "utf8"));
197
+ const raw = parsed[key];
198
+ if (typeof raw === "boolean")
199
+ return { value: raw, sourcePath };
200
+ if (typeof raw === "number") {
201
+ const value = parsePolicyBoolean(String(raw));
202
+ if (value !== null)
203
+ return { value, sourcePath };
204
+ }
205
+ if (typeof raw === "string") {
206
+ const value = parsePolicyBoolean(raw);
207
+ if (value !== null)
208
+ return { value, sourcePath };
209
+ }
210
+ }
211
+ catch {
212
+ continue;
213
+ }
214
+ }
215
+ return null;
216
+ }
217
+ function readWindowsRegistryBoolean(key, valueName) {
218
+ try {
219
+ const raw = execFileSync("reg", ["query", key, "/v", valueName], {
220
+ encoding: "utf8",
221
+ stdio: ["ignore", "pipe", "ignore"],
222
+ timeout: 1000,
223
+ });
224
+ const line = raw.split(/\r?\n/).find((entry) => entry.includes(valueName));
225
+ if (!line)
226
+ return null;
227
+ const value = line.trim().split(/\s+/).at(-1);
228
+ return value ? parsePolicyBoolean(value) : null;
229
+ }
230
+ catch {
231
+ return null;
232
+ }
233
+ }
234
+ function policyRepairCommands() {
235
+ switch (process.platform) {
236
+ case "darwin":
237
+ return [
238
+ "open chrome://policy",
239
+ "Remove any managed profile setting RemoteDebuggingAllowed=false, or install an admin-approved Chrome policy with RemoteDebuggingAllowed=true.",
240
+ "Fully quit Chrome, then run `unicli browser doctor --repair`.",
241
+ ];
242
+ case "linux":
243
+ return [
244
+ "Open chrome://policy",
245
+ "Remove RemoteDebuggingAllowed=false from /etc/opt/chrome/policies/* or /etc/chromium/policies/*, or set it to true.",
246
+ "Restart Chrome, then run `unicli browser doctor --repair`.",
247
+ ];
248
+ case "win32":
249
+ return [
250
+ "Open chrome://policy",
251
+ "Remove RemoteDebuggingAllowed=0 from HKLM/HKCU Software\\Policies\\Google\\Chrome, or set it to 1.",
252
+ "Restart Chrome, then run `unicli browser doctor --repair`.",
253
+ ];
254
+ default:
255
+ return [
256
+ "Open chrome://policy",
257
+ "Ensure RemoteDebuggingAllowed is not false, restart Chrome, then run `unicli browser doctor --repair`.",
258
+ ];
259
+ }
260
+ }
261
+ //# sourceMappingURL=chrome-policy.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"chrome-policy.js","sourceRoot":"","sources":["../../src/browser/chrome-policy.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,9 @@
5
5
  * Retry logic: max 4 attempts, 500ms for network errors, 1500ms for extension restarts.
6
6
  */
7
7
  import { type DaemonAction, type DaemonCommand, type DaemonStatus, type BrowserSessionInfo } from "./protocol.js";
8
+ export declare const BROWSER_DAEMON_COMMAND_MAX_ATTEMPTS = 4;
9
+ export declare const BROWSER_DAEMON_NETWORK_RETRY_DELAY_MS = 500;
10
+ export declare const BROWSER_DAEMON_EXTENSION_RETRY_DELAY_MS = 1500;
8
11
  export declare function fetchDaemonStatus(opts?: {
9
12
  timeout?: number;
10
13
  }): Promise<DaemonStatus | null>;
@@ -1 +1 @@
1
- {"version":3,"file":"daemon-client.d.ts","sourceRoot":"","sources":["../../src/browser/daemon-client.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAIL,KAAK,YAAY,EACjB,KAAK,aAAa,EAElB,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACxB,MAAM,eAAe,CAAC;AAwDvB,wBAAsB,iBAAiB,CAAC,IAAI,CAAC,EAAE;IAC7C,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAe/B;AAED,wBAAsB,uBAAuB,CAAC,IAAI,CAAC,EAAE;IACnD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAsBzB;AAED,wBAAsB,qBAAqB,CAAC,IAAI,CAAC,EAAE;IACjD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,GAAG,OAAO,CAAC,MAAM,CAAC,CAqBlB;AAED,wBAAsB,qBAAqB,CAAC,IAAI,CAAC,EAAE;IACjD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,GAAG,OAAO,CAAC,OAAO,CAAC,CAcnB;AAED,wBAAsB,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC,CAGxD;AAED,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,OAAO,CAAC,CAG7D;AAED,wBAAsB,WAAW,CAC/B,MAAM,EAAE,YAAY,EACpB,MAAM,GAAE,IAAI,CAAC,aAAa,EAAE,IAAI,GAAG,QAAQ,CAAM,GAChD,OAAO,CAAC,OAAO,CAAC,CAsDlB;AAED,wBAAsB,YAAY,IAAI,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAGlE;AAED,wBAAsB,cAAc,CAClC,SAAS,EAAE,MAAM,EACjB,IAAI,CAAC,EAAE;IAAE,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,eAAe,CAAC,EAAE,MAAM,CAAA;CAAE,GACxD,OAAO,CAAC,OAAO,CAAC,CAElB"}
1
+ {"version":3,"file":"daemon-client.d.ts","sourceRoot":"","sources":["../../src/browser/daemon-client.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EAIL,KAAK,YAAY,EACjB,KAAK,aAAa,EAElB,KAAK,YAAY,EACjB,KAAK,kBAAkB,EACxB,MAAM,eAAe,CAAC;AAGvB,eAAO,MAAM,mCAAmC,IAAI,CAAC;AACrD,eAAO,MAAM,qCAAqC,MAAM,CAAC;AACzD,eAAO,MAAM,uCAAuC,OAAO,CAAC;AAmD5D,wBAAsB,iBAAiB,CAAC,IAAI,CAAC,EAAE;IAC7C,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,GAAG,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAe/B;AAED,wBAAsB,uBAAuB,CAAC,IAAI,CAAC,EAAE;IACnD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,GAAG,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAsBzB;AAED,wBAAsB,qBAAqB,CAAC,IAAI,CAAC,EAAE;IACjD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,GAAG,OAAO,CAAC,MAAM,CAAC,CAqBlB;AAED,wBAAsB,qBAAqB,CAAC,IAAI,CAAC,EAAE;IACjD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,GAAG,OAAO,CAAC,OAAO,CAAC,CAcnB;AAED,wBAAsB,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC,CAGxD;AAED,wBAAsB,oBAAoB,IAAI,OAAO,CAAC,OAAO,CAAC,CAG7D;AAED,wBAAsB,WAAW,CAC/B,MAAM,EAAE,YAAY,EACpB,MAAM,GAAE,IAAI,CAAC,aAAa,EAAE,IAAI,GAAG,QAAQ,CAAM,GAChD,OAAO,CAAC,OAAO,CAAC,CAiElB;AAED,wBAAsB,YAAY,IAAI,OAAO,CAAC,kBAAkB,EAAE,CAAC,CAGlE;AAED,wBAAsB,cAAc,CAClC,SAAS,EAAE,MAAM,EACjB,IAAI,CAAC,EAAE;IAAE,WAAW,CAAC,EAAE,MAAM,CAAC;IAAC,eAAe,CAAC,EAAE,MAAM,CAAA;CAAE,GACxD,OAAO,CAAC,OAAO,CAAC,CAElB"}
@@ -7,9 +7,9 @@
7
7
  import { randomBytes } from "node:crypto";
8
8
  import { DAEMON_PORT, DAEMON_PORT_CANDIDATES, DAEMON_HOST, } from "./protocol.js";
9
9
  const DEFAULT_COMMAND_TIMEOUT = 30_000;
10
- const MAX_RETRIES = 4;
11
- const NETWORK_RETRY_DELAY = 500;
12
- const EXTENSION_RETRY_DELAY = 1500;
10
+ export const BROWSER_DAEMON_COMMAND_MAX_ATTEMPTS = 4;
11
+ export const BROWSER_DAEMON_NETWORK_RETRY_DELAY_MS = 500;
12
+ export const BROWSER_DAEMON_EXTENSION_RETRY_DELAY_MS = 1500;
13
13
  const COMPAT_DAEMON_PORT_ENV = "UNICLI_COMPAT_DAEMON_PORT";
14
14
  const COMPAT_DAEMON_HEADER = "X-Unicli-Compat";
15
15
  function getPort() {
@@ -139,12 +139,8 @@ export async function sendCommand(action, params = {}) {
139
139
  const status = await fetchDaemonStatus({ timeout: 500 });
140
140
  const port = status?.port ?? getPort();
141
141
  const focusEnv = process.env.UNICLI_WINDOW_FOCUSED;
142
- const windowFocused = focusEnv === "1" || focusEnv === "true"
143
- ? true
144
- : focusEnv === "0" || focusEnv === "false"
145
- ? false
146
- : undefined;
147
- for (let attempt = 1; attempt <= MAX_RETRIES; attempt++) {
142
+ const windowFocused = focusEnv === "1" || focusEnv === "true" ? true : false;
143
+ for (let attempt = 1; attempt <= BROWSER_DAEMON_COMMAND_MAX_ATTEMPTS; attempt++) {
148
144
  const id = generateId(); // Fresh ID per attempt
149
145
  try {
150
146
  const resp = await fetch(`${baseUrl(port)}/command`, {
@@ -157,15 +153,16 @@ export async function sendCommand(action, params = {}) {
157
153
  id,
158
154
  action,
159
155
  ...params,
160
- ...(windowFocused !== undefined ? { windowFocused } : {}),
156
+ windowFocused,
161
157
  }),
162
158
  signal: AbortSignal.timeout(timeout),
163
159
  });
164
160
  const result = (await resp.json());
165
161
  if (!result.ok) {
166
162
  const err = new Error(result.error ?? `Command failed: ${action}`);
167
- if (isTransientBrowserError(err) && attempt < MAX_RETRIES) {
168
- await new Promise((r) => setTimeout(r, EXTENSION_RETRY_DELAY));
163
+ if (isTransientBrowserError(err) &&
164
+ attempt < BROWSER_DAEMON_COMMAND_MAX_ATTEMPTS) {
165
+ await new Promise((r) => setTimeout(r, BROWSER_DAEMON_EXTENSION_RETRY_DELAY_MS));
169
166
  continue;
170
167
  }
171
168
  throw err;
@@ -173,9 +170,10 @@ export async function sendCommand(action, params = {}) {
173
170
  return result.data ?? result;
174
171
  }
175
172
  catch (err) {
176
- if (err instanceof TypeError && attempt < MAX_RETRIES) {
173
+ if (err instanceof TypeError &&
174
+ attempt < BROWSER_DAEMON_COMMAND_MAX_ATTEMPTS) {
177
175
  // Network error (daemon unreachable)
178
- await new Promise((r) => setTimeout(r, NETWORK_RETRY_DELAY));
176
+ await new Promise((r) => setTimeout(r, BROWSER_DAEMON_NETWORK_RETRY_DELAY_MS));
179
177
  continue;
180
178
  }
181
179
  if (err instanceof DOMException && err.name === "AbortError") {
@@ -184,7 +182,7 @@ export async function sendCommand(action, params = {}) {
184
182
  throw err;
185
183
  }
186
184
  }
187
- throw new Error(`Command failed after ${MAX_RETRIES} retries: ${action}`);
185
+ throw new Error(`Command failed after ${String(BROWSER_DAEMON_COMMAND_MAX_ATTEMPTS)} attempts: ${action}`);
188
186
  }
189
187
  export async function listSessions() {
190
188
  const result = await sendCommand("sessions");
@@ -1 +1 @@
1
- {"version":3,"file":"daemon-client.js","sourceRoot":"","sources":["../../src/browser/daemon-client.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"daemon-client.js","sourceRoot":"","sources":["../../src/browser/daemon-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,147 @@
1
+ /**
2
+ * @owner src/browser/doctor.ts
3
+ * @does Build a machine-readable browser reliability report from live daemon, profile, CDP, layering, repair, and retry state.
4
+ * @needs src/browser local-profiles/launcher/cdp-client/daemon-client/bridge/protocol
5
+ * @feeds src/commands/browser/index.ts, tests/unit/commands/browser.test.ts
6
+ * @breaks Probe failures are returned as diagnostics in the report; raw cookies, auth headers, and endpoint secrets are never emitted.
7
+ */
8
+ import { type Chrome136RemoteDebuggingGuidance, type ChromeRemoteDebuggingPolicyReport } from "./chrome-policy.js";
9
+ export type BrowserDoctorStatus = "ready" | "needs-action";
10
+ export type BrowserCapabilityId = "cookie_reuse" | "background_operation" | "browser_use" | "page_layering" | "direct_connect" | "stability" | "reliability" | "repair" | "retry";
11
+ export type BrowserCapabilityStatus = "ready" | "needs-action";
12
+ export interface BrowserCapabilityCheck {
13
+ status: BrowserCapabilityStatus;
14
+ evidence: string[];
15
+ repair_commands: string[];
16
+ diagnostics?: string[];
17
+ }
18
+ export interface BrowserDoctorCheck {
19
+ name: string;
20
+ ok: boolean;
21
+ status: BrowserCapabilityStatus;
22
+ detail: string;
23
+ next_step: string;
24
+ commands?: string[];
25
+ evidence?: string[];
26
+ auto_repairable?: boolean;
27
+ }
28
+ export interface BrowserSelfRepairAction {
29
+ id: string;
30
+ status: "available" | "not-needed" | "manual" | "blocked";
31
+ command: string;
32
+ safe: boolean;
33
+ detail: string;
34
+ expected_result: string;
35
+ }
36
+ export interface BrowserRepairAttempt {
37
+ status: "repaired" | "already-ready" | "failed";
38
+ actions: Array<{
39
+ id: string;
40
+ status: "repaired" | "skipped" | "failed";
41
+ command: string;
42
+ detail: string;
43
+ }>;
44
+ }
45
+ export interface BrowserDoctorReport {
46
+ status: BrowserDoctorStatus;
47
+ cookie_reuse: {
48
+ status: "ready" | "needs-profile";
49
+ profiles_count: number;
50
+ raw_cookie_values_returned: false;
51
+ raw_cookie_export_supported: true;
52
+ direct_browser_cookie_import_supported: true;
53
+ command: "unicli browser profiles --json";
54
+ direct_browser_cookie_import_command: "unicli auth import <site> --domain <domain> --browser <id> --profile <name>";
55
+ explicit_cookie_export_command: "unicli browser cookies <domain> --profile-id <id>";
56
+ strategy: string[];
57
+ reuse_paths: string[];
58
+ profiles: Array<{
59
+ id: string;
60
+ browser_name: string;
61
+ profile_dir: string;
62
+ profile_name: string;
63
+ debug_port_state: string;
64
+ }>;
65
+ };
66
+ background_operation: {
67
+ status: "ready" | "needs-extension" | "stopped" | "blocked";
68
+ daemon: {
69
+ status: "running" | "stopped" | "blocked";
70
+ port?: number;
71
+ extension_connected: boolean;
72
+ pending?: number;
73
+ memory_mb?: number;
74
+ conflict?: string;
75
+ error?: string;
76
+ };
77
+ sessions_count: number;
78
+ session_error?: string;
79
+ controls: string[];
80
+ };
81
+ browser_use: {
82
+ modes: string[];
83
+ layers: Array<{
84
+ name: string;
85
+ owner: string;
86
+ proves: string;
87
+ }>;
88
+ };
89
+ direct_connect: {
90
+ local_cdp: {
91
+ port: number;
92
+ reachable: boolean;
93
+ command: "unicli browser start";
94
+ error?: string;
95
+ };
96
+ remote_cdp: {
97
+ configured: boolean;
98
+ endpoint?: string;
99
+ header_count: number;
100
+ };
101
+ };
102
+ chrome_remote_debugging: {
103
+ chrome_136: Chrome136RemoteDebuggingGuidance;
104
+ policy: ChromeRemoteDebuggingPolicyReport;
105
+ };
106
+ stability_reliability: {
107
+ guards: string[];
108
+ evidence: string[];
109
+ background_safe: boolean;
110
+ };
111
+ repair_retry: {
112
+ retry_policy: Array<{
113
+ surface: string;
114
+ max_attempts: number;
115
+ retry_delay_ms?: number;
116
+ network_retry_delay_ms?: number;
117
+ extension_retry_delay_ms?: number;
118
+ min_delay_ms?: number;
119
+ max_delay_ms?: number;
120
+ }>;
121
+ recovery_commands: string[];
122
+ };
123
+ default_path: {
124
+ status: "ready" | "needs-action";
125
+ mode: "local-cdp-automation-profile" | "remote-cdp" | "daemon-extension" | "none";
126
+ ready: boolean;
127
+ next_step: string;
128
+ commands: string[];
129
+ detail: string;
130
+ };
131
+ checks: BrowserDoctorCheck[];
132
+ self_repair: {
133
+ safe_command: "unicli browser doctor --repair";
134
+ actions: BrowserSelfRepairAction[];
135
+ };
136
+ repair_attempt?: BrowserRepairAttempt;
137
+ next_actions: string[];
138
+ completeness: {
139
+ complete: boolean;
140
+ required_capabilities: BrowserCapabilityId[];
141
+ missing: BrowserCapabilityId[];
142
+ matrix: Record<BrowserCapabilityId, BrowserCapabilityCheck>;
143
+ };
144
+ }
145
+ export declare function runBrowserDoctor(repairAttempt?: BrowserRepairAttempt): Promise<BrowserDoctorReport>;
146
+ export declare function repairBrowserDoctor(): Promise<BrowserRepairAttempt>;
147
+ //# sourceMappingURL=doctor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../../src/browser/doctor.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AA6BH,OAAO,EAGL,KAAK,gCAAgC,EACrC,KAAK,iCAAiC,EACvC,MAAM,oBAAoB,CAAC;AAE5B,MAAM,MAAM,mBAAmB,GAAG,OAAO,GAAG,cAAc,CAAC;AAC3D,MAAM,MAAM,mBAAmB,GAC3B,cAAc,GACd,sBAAsB,GACtB,aAAa,GACb,eAAe,GACf,gBAAgB,GAChB,WAAW,GACX,aAAa,GACb,QAAQ,GACR,OAAO,CAAC;AACZ,MAAM,MAAM,uBAAuB,GAAG,OAAO,GAAG,cAAc,CAAC;AAmB/D,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,uBAAuB,CAAC;IAChC,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,eAAe,EAAE,MAAM,EAAE,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,OAAO,CAAC;IACZ,MAAM,EAAE,uBAAuB,CAAC;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;IACpB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC3B;AAED,MAAM,WAAW,uBAAuB;IACtC,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,WAAW,GAAG,YAAY,GAAG,QAAQ,GAAG,SAAS,CAAC;IAC1D,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,OAAO,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,UAAU,GAAG,eAAe,GAAG,QAAQ,CAAC;IAChD,OAAO,EAAE,KAAK,CAAC;QACb,EAAE,EAAE,MAAM,CAAC;QACX,MAAM,EAAE,UAAU,GAAG,SAAS,GAAG,QAAQ,CAAC;QAC1C,OAAO,EAAE,MAAM,CAAC;QAChB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC,CAAC;CACJ;AAED,MAAM,WAAW,mBAAmB;IAClC,MAAM,EAAE,mBAAmB,CAAC;IAC5B,YAAY,EAAE;QACZ,MAAM,EAAE,OAAO,GAAG,eAAe,CAAC;QAClC,cAAc,EAAE,MAAM,CAAC;QACvB,0BAA0B,EAAE,KAAK,CAAC;QAClC,2BAA2B,EAAE,IAAI,CAAC;QAClC,sCAAsC,EAAE,IAAI,CAAC;QAC7C,OAAO,EAAE,gCAAgC,CAAC;QAC1C,oCAAoC,EAAE,6EAA6E,CAAC;QACpH,8BAA8B,EAAE,mDAAmD,CAAC;QACpF,QAAQ,EAAE,MAAM,EAAE,CAAC;QACnB,WAAW,EAAE,MAAM,EAAE,CAAC;QACtB,QAAQ,EAAE,KAAK,CAAC;YACd,EAAE,EAAE,MAAM,CAAC;YACX,YAAY,EAAE,MAAM,CAAC;YACrB,WAAW,EAAE,MAAM,CAAC;YACpB,YAAY,EAAE,MAAM,CAAC;YACrB,gBAAgB,EAAE,MAAM,CAAC;SAC1B,CAAC,CAAC;KACJ,CAAC;IACF,oBAAoB,EAAE;QACpB,MAAM,EAAE,OAAO,GAAG,iBAAiB,GAAG,SAAS,GAAG,SAAS,CAAC;QAC5D,MAAM,EAAE;YACN,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;YAC1C,IAAI,CAAC,EAAE,MAAM,CAAC;YACd,mBAAmB,EAAE,OAAO,CAAC;YAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;YACjB,SAAS,CAAC,EAAE,MAAM,CAAC;YACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;YAClB,KAAK,CAAC,EAAE,MAAM,CAAC;SAChB,CAAC;QACF,cAAc,EAAE,MAAM,CAAC;QACvB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,QAAQ,EAAE,MAAM,EAAE,CAAC;KACpB,CAAC;IACF,WAAW,EAAE;QACX,KAAK,EAAE,MAAM,EAAE,CAAC;QAChB,MAAM,EAAE,KAAK,CAAC;YACZ,IAAI,EAAE,MAAM,CAAC;YACb,KAAK,EAAE,MAAM,CAAC;YACd,MAAM,EAAE,MAAM,CAAC;SAChB,CAAC,CAAC;KACJ,CAAC;IACF,cAAc,EAAE;QACd,SAAS,EAAE;YACT,IAAI,EAAE,MAAM,CAAC;YACb,SAAS,EAAE,OAAO,CAAC;YACnB,OAAO,EAAE,sBAAsB,CAAC;YAChC,KAAK,CAAC,EAAE,MAAM,CAAC;SAChB,CAAC;QACF,UAAU,EAAE;YACV,UAAU,EAAE,OAAO,CAAC;YACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;YAClB,YAAY,EAAE,MAAM,CAAC;SACtB,CAAC;KACH,CAAC;IACF,uBAAuB,EAAE;QACvB,UAAU,EAAE,gCAAgC,CAAC;QAC7C,MAAM,EAAE,iCAAiC,CAAC;KAC3C,CAAC;IACF,qBAAqB,EAAE;QACrB,MAAM,EAAE,MAAM,EAAE,CAAC;QACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;QACnB,eAAe,EAAE,OAAO,CAAC;KAC1B,CAAC;IACF,YAAY,EAAE;QACZ,YAAY,EAAE,KAAK,CAAC;YAClB,OAAO,EAAE,MAAM,CAAC;YAChB,YAAY,EAAE,MAAM,CAAC;YACrB,cAAc,CAAC,EAAE,MAAM,CAAC;YACxB,sBAAsB,CAAC,EAAE,MAAM,CAAC;YAChC,wBAAwB,CAAC,EAAE,MAAM,CAAC;YAClC,YAAY,CAAC,EAAE,MAAM,CAAC;YACtB,YAAY,CAAC,EAAE,MAAM,CAAC;SACvB,CAAC,CAAC;QACH,iBAAiB,EAAE,MAAM,EAAE,CAAC;KAC7B,CAAC;IACF,YAAY,EAAE;QACZ,MAAM,EAAE,OAAO,GAAG,cAAc,CAAC;QACjC,IAAI,EACA,8BAA8B,GAC9B,YAAY,GACZ,kBAAkB,GAClB,MAAM,CAAC;QACX,KAAK,EAAE,OAAO,CAAC;QACf,SAAS,EAAE,MAAM,CAAC;QAClB,QAAQ,EAAE,MAAM,EAAE,CAAC;QACnB,MAAM,EAAE,MAAM,CAAC;KAChB,CAAC;IACF,MAAM,EAAE,kBAAkB,EAAE,CAAC;IAC7B,WAAW,EAAE;QACX,YAAY,EAAE,gCAAgC,CAAC;QAC/C,OAAO,EAAE,uBAAuB,EAAE,CAAC;KACpC,CAAC;IACF,cAAc,CAAC,EAAE,oBAAoB,CAAC;IACtC,YAAY,EAAE,MAAM,EAAE,CAAC;IACvB,YAAY,EAAE;QACZ,QAAQ,EAAE,OAAO,CAAC;QAClB,qBAAqB,EAAE,mBAAmB,EAAE,CAAC;QAC7C,OAAO,EAAE,mBAAmB,EAAE,CAAC;QAC/B,MAAM,EAAE,MAAM,CAAC,mBAAmB,EAAE,sBAAsB,CAAC,CAAC;KAC7D,CAAC;CACH;AAED,wBAAsB,gBAAgB,CACpC,aAAa,CAAC,EAAE,oBAAoB,GACnC,OAAO,CAAC,mBAAmB,CAAC,CAiM9B;AAED,wBAAsB,mBAAmB,IAAI,OAAO,CAAC,oBAAoB,CAAC,CAyDzE"}