humanish 0.99.0 → 0.100.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 (64) hide show
  1. package/AGENTS.md +2 -0
  2. package/README.md +25 -4
  3. package/dist/actor-contract.d.ts +2 -0
  4. package/dist/actor-contract.js +4 -2
  5. package/dist/actor-contract.js.map +1 -1
  6. package/dist/browser-control-client.js +4 -2
  7. package/dist/browser-control-client.js.map +1 -1
  8. package/dist/browser-control-dispatcher.js +1 -1
  9. package/dist/browser-control-dispatcher.js.map +1 -1
  10. package/dist/computer-use.js +25 -11
  11. package/dist/computer-use.js.map +1 -1
  12. package/dist/cua-provider-error.d.ts +5 -1
  13. package/dist/cua-provider-error.js +9 -2
  14. package/dist/cua-provider-error.js.map +1 -1
  15. package/dist/doctor-lab.d.ts +8 -0
  16. package/dist/doctor-lab.js +9 -4
  17. package/dist/doctor-lab.js.map +1 -1
  18. package/dist/first-run-path.d.ts +3 -0
  19. package/dist/first-run-path.js +22 -1
  20. package/dist/first-run-path.js.map +1 -1
  21. package/dist/guest-bootstrap.d.ts +12 -4
  22. package/dist/guest-bootstrap.js +49 -17
  23. package/dist/guest-bootstrap.js.map +1 -1
  24. package/dist/guest-runtime-desktop.d.ts +5 -2
  25. package/dist/guest-runtime-desktop.js +30 -6
  26. package/dist/guest-runtime-desktop.js.map +1 -1
  27. package/dist/guest-runtime-main.js +2 -1
  28. package/dist/guest-runtime-main.js.map +1 -1
  29. package/dist/guest-runtime.d.ts +1 -1
  30. package/dist/guest-runtime.js +5 -3
  31. package/dist/guest-runtime.js.map +1 -1
  32. package/dist/init-templates.d.ts +6 -1
  33. package/dist/init-templates.js +39 -3
  34. package/dist/init-templates.js.map +1 -1
  35. package/dist/init.d.ts +6 -1
  36. package/dist/init.js +35 -3
  37. package/dist/init.js.map +1 -1
  38. package/dist/lab-engine.js +1 -1
  39. package/dist/lab-engine.js.map +1 -1
  40. package/dist/lab-summary.d.ts +4 -0
  41. package/dist/lab-summary.js +5 -1
  42. package/dist/lab-summary.js.map +1 -1
  43. package/dist/local-firecracker-desktop.js +13 -10
  44. package/dist/local-firecracker-desktop.js.map +1 -1
  45. package/dist/local-runtime-release.js +8 -8
  46. package/dist/observer-app.html +1 -1
  47. package/dist/program.js +9 -1
  48. package/dist/program.js.map +1 -1
  49. package/dist/restricted-codex-participant.js +3 -3
  50. package/dist/restricted-codex-participant.js.map +1 -1
  51. package/dist/restricted-codex-policy.d.ts +1 -0
  52. package/dist/restricted-codex-policy.js.map +1 -1
  53. package/dist/restricted-codex-session.js +11 -3
  54. package/dist/restricted-codex-session.js.map +1 -1
  55. package/dist/tui-app.js +16 -16
  56. package/docs/architecture/browser-control.md +6 -0
  57. package/docs/architecture/local-browser-runtime.md +25 -5
  58. package/docs/contracts/schemas.md +8 -1
  59. package/docs/goals/current.md +5 -5
  60. package/docs/ramp/README.md +7 -1
  61. package/docs/release/0.100.0-local-setup.md +31 -0
  62. package/docs/release/0.99.1-action-recovery.md +19 -0
  63. package/docs/release/open-source-readiness.md +10 -0
  64. package/package.json +1 -1
@@ -2,16 +2,39 @@ import { validateBrowserControlIdentity, sameBrowserControlIdentity } from "./br
2
2
  import { CuaExecutorError } from "./cua-executor-error.js";
3
3
  import { createBrowserControlClient } from "./browser-control-client.js";
4
4
  export const GUEST_BOOTSTRAP_VERSION = 1;
5
- export const GUEST_BOOTSTRAP_LIMITS = Object.freeze({ bytes: 1024, admissionMs: 5000, readyMs: 35_000, connectMs: 3000, port: 5251 });
5
+ export const GUEST_BOOTSTRAP_LIMITS = Object.freeze({ bytes: 65_536 + 1024, readyBytes: 1024, initialUrlBytes: 65_536,
6
+ admissionMs: 5000, readyMs: 35_000, navigationMs: 30_000, paintMs: 5000, connectMs: 3000, port: 5251 });
6
7
  const refused = () => new CuaExecutorError("protocol_mismatch", "not_dispatched");
7
- function canonical(identity, ready) {
8
+ /** Same entry authority as the local desktop's opaque app-port forward. */
9
+ export function validateGuestInitialUrl(value) {
10
+ try {
11
+ if (typeof value !== "string")
12
+ throw refused();
13
+ const url = new URL(value);
14
+ if (!["http:", "https:"].includes(url.protocol) || !["localhost", "127.0.0.1"].includes(url.hostname)
15
+ || url.username || url.password || !/^\d+$/.test(url.port) || Number(url.port) < 1024
16
+ || Buffer.byteLength(url.href) > GUEST_BOOTSTRAP_LIMITS.initialUrlBytes)
17
+ throw refused();
18
+ return url.href;
19
+ }
20
+ catch {
21
+ throw refused();
22
+ }
23
+ }
24
+ export function guestReadyTimeoutMs(initialUrl) {
25
+ return GUEST_BOOTSTRAP_LIMITS.readyMs + (initialUrl === undefined ? 0 : GUEST_BOOTSTRAP_LIMITS.navigationMs + GUEST_BOOTSTRAP_LIMITS.paintMs);
26
+ }
27
+ function canonical(identity, ready, initialUrl) {
8
28
  const { generation, challenge, runtimeRevision } = validateBrowserControlIdentity(identity);
9
29
  const fixed = { generation, challenge, runtimeRevision };
10
- return JSON.stringify(ready ? { version: 1, ready: true, identity: fixed } : { version: 1, identity: fixed });
30
+ if (initialUrl !== undefined && (ready || validateGuestInitialUrl(initialUrl) !== initialUrl))
31
+ throw refused();
32
+ return JSON.stringify(ready ? { version: 1, ready: true, identity: fixed }
33
+ : { version: 1, identity: fixed, ...(initialUrl === undefined ? {} : { initialUrl }) });
11
34
  }
12
- export function encodeGuestBootstrap(identity, ready = false) {
13
- const bytes = Buffer.from(canonical(identity, ready));
14
- if (bytes.length > GUEST_BOOTSTRAP_LIMITS.bytes)
35
+ export function encodeGuestBootstrap(identity, ready = false, initialUrl) {
36
+ const bytes = Buffer.from(canonical(identity, ready, initialUrl));
37
+ if (bytes.length > (ready ? GUEST_BOOTSTRAP_LIMITS.readyBytes : GUEST_BOOTSTRAP_LIMITS.bytes))
15
38
  throw refused();
16
39
  const frame = Buffer.alloc(4 + bytes.length);
17
40
  frame.writeUInt32BE(bytes.length);
@@ -19,16 +42,22 @@ export function encodeGuestBootstrap(identity, ready = false) {
19
42
  return frame;
20
43
  }
21
44
  export function parseGuestBootstrap(bytes, revision, ready = false) {
22
- if (!bytes.length || bytes.length > GUEST_BOOTSTRAP_LIMITS.bytes || bytes.some(byte => byte > 127))
45
+ return parseBootstrap(bytes, revision, ready).identity;
46
+ }
47
+ function parseBootstrap(bytes, revision, ready) {
48
+ if (!bytes.length || bytes.length > (ready ? GUEST_BOOTSTRAP_LIMITS.readyBytes : GUEST_BOOTSTRAP_LIMITS.bytes) || bytes.some(byte => byte > 127))
23
49
  throw refused();
24
50
  try {
25
51
  const value = JSON.parse(bytes.toString("ascii"));
26
52
  if (typeof value !== "object" || value === null || !("identity" in value))
27
53
  throw refused();
28
54
  const identity = validateBrowserControlIdentity(value.identity);
29
- if (identity.runtimeRevision !== revision || canonical(identity, ready) !== bytes.toString("ascii"))
55
+ const initialUrl = "initialUrl" in value ? value.initialUrl : undefined;
56
+ if (initialUrl !== undefined && typeof initialUrl !== "string")
57
+ throw refused();
58
+ if (identity.runtimeRevision !== revision || canonical(identity, ready, initialUrl) !== bytes.toString("ascii"))
30
59
  throw refused();
31
- return identity;
60
+ return { identity, ...(initialUrl === undefined ? {} : { initialUrl }) };
32
61
  }
33
62
  catch {
34
63
  throw refused();
@@ -42,6 +71,7 @@ export class GuestBootstrapReader {
42
71
  ready;
43
72
  onFailure;
44
73
  identity;
74
+ initialUrl;
45
75
  resolve;
46
76
  reject;
47
77
  header = Buffer.alloc(4);
@@ -51,7 +81,7 @@ export class GuestBootstrapReader {
51
81
  admitted = false;
52
82
  terminal = false;
53
83
  timer;
54
- constructor(stream, revision, signal, ready = false, onFailure = () => { }) {
84
+ constructor(stream, revision, signal, ready = false, onFailure = () => { }, readyTimeoutMs = GUEST_BOOTSTRAP_LIMITS.readyMs) {
55
85
  this.stream = stream;
56
86
  this.revision = revision;
57
87
  this.signal = signal;
@@ -60,7 +90,7 @@ export class GuestBootstrapReader {
60
90
  this.identity = new Promise((resolve, reject) => { this.resolve = resolve; this.reject = reject; });
61
91
  // A later factory rejection must not leave the admission rejection unconsumed.
62
92
  void this.identity.catch(() => { });
63
- this.timer = setTimeout(() => this.fail("deadline_exceeded"), ready ? GUEST_BOOTSTRAP_LIMITS.readyMs : GUEST_BOOTSTRAP_LIMITS.admissionMs);
93
+ this.timer = setTimeout(() => this.fail("deadline_exceeded"), ready ? readyTimeoutMs : GUEST_BOOTSTRAP_LIMITS.admissionMs);
64
94
  stream.on("error", this.error);
65
95
  stream.on("close", this.end);
66
96
  stream.on("end", this.end);
@@ -87,7 +117,7 @@ export class GuestBootstrapReader {
87
117
  if (this.headerUsed < 4)
88
118
  return;
89
119
  const length = this.header.readUInt32BE(0);
90
- if (!length || length > GUEST_BOOTSTRAP_LIMITS.bytes) {
120
+ if (!length || length > (this.ready ? GUEST_BOOTSTRAP_LIMITS.readyBytes : GUEST_BOOTSTRAP_LIMITS.bytes)) {
91
121
  this.fail();
92
122
  return;
93
123
  }
@@ -103,10 +133,11 @@ export class GuestBootstrapReader {
103
133
  }
104
134
  if (this.used === this.body.length) {
105
135
  try {
106
- const identity = parseGuestBootstrap(this.body, this.revision, this.ready);
136
+ const parsed = parseBootstrap(this.body, this.revision, this.ready);
137
+ this.initialUrl = parsed.initialUrl;
107
138
  this.admitted = true;
108
139
  clearTimeout(this.timer);
109
- this.resolve(identity);
140
+ this.resolve(parsed.identity);
110
141
  }
111
142
  catch {
112
143
  this.fail();
@@ -149,8 +180,9 @@ export class GuestBootstrapReader {
149
180
  close() { this.fail("session_revoked"); }
150
181
  }
151
182
  /** Fixed preface on an already acquired Firecracker stream; no path discovery/retry. */
152
- export async function connectGuestBootstrap(stream, identity, signal) {
183
+ export async function connectGuestBootstrap(stream, identity, signal, initialUrl) {
153
184
  validateBrowserControlIdentity(identity);
185
+ const request = encodeGuestBootstrap(identity, false, initialUrl);
154
186
  await new Promise((resolve, reject) => {
155
187
  let bytes = Buffer.alloc(0), done = false;
156
188
  const timer = setTimeout(() => finish(new CuaExecutorError("deadline_exceeded", "not_dispatched")), GUEST_BOOTSTRAP_LIMITS.connectMs);
@@ -219,9 +251,9 @@ export async function connectGuestBootstrap(stream, identity, signal) {
219
251
  end(); });
220
252
  }
221
253
  });
222
- const reader = new GuestBootstrapReader(stream, identity.runtimeRevision, signal, true);
254
+ const reader = new GuestBootstrapReader(stream, identity.runtimeRevision, signal, true, undefined, guestReadyTimeoutMs(initialUrl));
223
255
  try {
224
- stream.write(encodeGuestBootstrap(identity), error => { if (error)
256
+ stream.write(request, error => { if (error)
225
257
  reader.close(); });
226
258
  const actual = await reader.identity;
227
259
  if (!sameBrowserControlIdentity(actual, identity))
@@ -1 +1 @@
1
- {"version":3,"file":"guest-bootstrap.js","sourceRoot":"","sources":["../src/guest-bootstrap.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"guest-bootstrap.js","sourceRoot":"","sources":["../src/guest-bootstrap.ts"],"names":[],"mappings":"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"}
@@ -19,12 +19,15 @@ export declare const GUEST_RUNTIME_ENV: Readonly<{
19
19
  XDG_CONFIG_HOME: "/home/humanish/.config";
20
20
  TMPDIR: "/tmp";
21
21
  }>;
22
- export type GuestRuntimePhase = "layout" | "xauthority" | "display" | "window_manager" | "browser" | "sandbox" | "focus" | "fixture";
23
- /** Fixed guest layout. No caller paths, environment, command, page selector or URL. */
22
+ export type GuestRuntimePhase = "layout" | "xauthority" | "display" | "window_manager" | "browser" | "sandbox" | "focus" | "fixture" | "navigation";
23
+ /** Initial document only: do not wait for app data, subresources or network idle. */
24
+ export declare function navigateGuestInitialPage(page: Pick<Page, "goto" | "waitForFunction">, initialUrl: string, signal: AbortSignal): Promise<void>;
25
+ /** Fixed guest layout with an optional admitted initial loopback app URL. */
24
26
  export declare function createGuestRuntimeDesktop(options: {
25
27
  signal: AbortSignal;
26
28
  onTerminal(): void;
27
29
  onPhase?(phase: GuestRuntimePhase): void;
30
+ initialUrl?: string;
28
31
  }): Promise<GuestRuntimeDesktop & {
29
32
  readonly owner: {
30
33
  context: BrowserContext;
@@ -9,14 +9,31 @@ import { createGuestChromiumText } from "./guest-chromium-text.js";
9
9
  import { createGuestBrowserTools } from "./guest-browser-tools.js";
10
10
  import { createGuestDesktopExecutor } from "./guest-desktop-executor.js";
11
11
  import { CuaExecutorError } from "./cua-executor-error.js";
12
+ import { GUEST_BOOTSTRAP_LIMITS, validateGuestInitialUrl } from "./guest-bootstrap.js";
12
13
  export const GUEST_RUNTIME_PATHS = Object.freeze({ root: "/opt/humanish/control", run: "/run/humanish", home: "/home/humanish" });
13
14
  export const GUEST_RUNTIME_ENV = Object.freeze({ PATH: "/usr/bin:/bin", HOME: "/home/humanish", USER: "humanish", LOGNAME: "humanish",
14
15
  LANG: "C.UTF-8", LC_ALL: "C.UTF-8", DISPLAY: ":0", XAUTHORITY: "/run/humanish/Xauthority",
15
16
  XDG_RUNTIME_DIR: "/run/humanish/xdg", XDG_CACHE_HOME: "/home/humanish/.cache", XDG_CONFIG_HOME: "/home/humanish/.config", TMPDIR: "/tmp" });
16
17
  const bad = () => new CuaExecutorError("execution_failed", "not_dispatched");
17
18
  const CONFIG_SHA = "4ae1c52eab748a3624b3948ce792647be258caba70c8c72038b9a43be6459552";
18
- /** Fixed guest layout. No caller paths, environment, command, page selector or URL. */
19
+ /** Initial document only: do not wait for app data, subresources or network idle. */
20
+ export async function navigateGuestInitialPage(page, initialUrl, signal) {
21
+ const url = validateGuestInitialUrl(initialUrl);
22
+ signal.throwIfAborted();
23
+ await page.goto(url, { waitUntil: "domcontentloaded", timeout: GUEST_BOOTSTRAP_LIMITS.navigationMs });
24
+ signal.throwIfAborted();
25
+ // A document event precedes compositing. Yield a paint before handing the
26
+ // native full-desktop capture to a participant; this is not app readiness.
27
+ const painted = await page.waitForFunction(`() => new Promise(resolve => {
28
+ requestAnimationFrame(() => requestAnimationFrame(() => resolve(true)));
29
+ })`, undefined, { timeout: GUEST_BOOTSTRAP_LIMITS.paintMs });
30
+ await painted.dispose();
31
+ signal.throwIfAborted();
32
+ }
33
+ /** Fixed guest layout with an optional admitted initial loopback app URL. */
19
34
  export async function createGuestRuntimeDesktop(options) {
35
+ if (options.initialUrl !== undefined)
36
+ validateGuestInitialUrl(options.initialUrl);
20
37
  const controller = new AbortController();
21
38
  const signal = AbortSignal.any([options.signal, controller.signal]);
22
39
  const children = [];
@@ -211,11 +228,18 @@ export async function createGuestRuntimeDesktop(options) {
211
228
  } });
212
229
  const tools = createGuestBrowserTools(native, content);
213
230
  const executor = createGuestDesktopExecutor({ width: 960, height: 720, tools, authoritySignal: signal, onTerminal: options.onTerminal });
214
- progress("fixture");
215
- await page.goto(`file://${GUEST_RUNTIME_PATHS.root}/neutral.html`);
216
- check();
217
- await page.locator("#note").waitFor();
218
- check();
231
+ if (options.initialUrl !== undefined) {
232
+ progress("navigation");
233
+ await navigateGuestInitialPage(page, options.initialUrl, signal);
234
+ check();
235
+ }
236
+ else {
237
+ progress("fixture");
238
+ await page.goto(`file://${GUEST_RUNTIME_PATHS.root}/neutral.html`);
239
+ check();
240
+ await page.locator("#note").waitFor();
241
+ check();
242
+ }
219
243
  return { executor, close, owner: { context, page, sandboxReport, configSha256: CONFIG_SHA } };
220
244
  }
221
245
  catch {
@@ -1 +1 @@
1
- {"version":3,"file":"guest-runtime-desktop.js","sourceRoot":"","sources":["../src/guest-runtime-desktop.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAqB,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,UAAU,IAAI,KAAK,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAAE,QAAQ,EAAkC,MAAM,iBAAiB,CAAC;AAC3E,OAAO,EAAE,6BAA6B,EAAE,MAAM,2BAA2B,CAAC;AAC1E,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AACzE,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAG3D,MAAM,CAAC,MAAM,mBAAmB,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,uBAAuB,EAAE,GAAG,EAAE,eAAe,EAAE,IAAI,EAAE,gBAAgB,EAAE,CAAC,CAAC;AAClI,MAAM,CAAC,MAAM,iBAAiB,GAAG,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,UAAU,EAAE,OAAO,EAAE,UAAU;IACnI,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,0BAA0B;IACzF,eAAe,EAAE,mBAAmB,EAAE,cAAc,EAAE,uBAAuB,EAAE,eAAe,EAAE,wBAAwB,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;AAC9I,MAAM,GAAG,GAAG,GAAqB,EAAE,CAAC,IAAI,gBAAgB,CAAC,kBAAkB,EAAE,gBAAgB,CAAC,CAAC;AAC/F,MAAM,UAAU,GAAG,kEAAkE,CAAC;AAGtF,uFAAuF;AACvF,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAAC,OAG/C;IACC,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;IACzC,MAAM,MAAM,GAAG,WAAW,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,MAAM,EAAE,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC;IACpE,MAAM,QAAQ,GAAsE,EAAE,CAAC;IACvF,IAAI,OAAmC,CAAC;IACxC,IAAI,cAAmD,CAAC;IACxD,IAAI,OAA+D,CAAC;IACpE,IAAI,OAAmD,CAAC;IACxD,IAAI,QAAQ,GAAG,KAAK,CAAC;IACrB,IAAI,KAAK,GAAsB,QAAQ,CAAC;IACxC,MAAM,QAAQ,GAAG,CAAC,IAAuB,EAAQ,EAAE,GAAG,KAAK,GAAG,IAAI,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC;IAC/F,SAAS,KAAK,KAAW,IAAI,MAAM,CAAC,OAAO,IAAI,QAAQ;QAAE,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC;IACvE,SAAS,KAAK,CAAC,MAAc,EAAE,IAAc,EAAE,KAAc,EAAE,UAAU,GAAG,KAAK;QAC/E,KAAK,EAAE,CAAC;QACR,MAAM,OAAO,GAAG,KAAK,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE,GAAG,EAAE,iBAAiB,EAAE,GAAG,EAAE,mBAAmB,CAAC,IAAI,EAAE,KAAK,EAAE,CAAC,MAAM,EAAE,QAAQ,EAAE,MAAM,CAAC,EAAE,CAAC,CAAC;QAClI,IAAI,MAAmB,CAAC;QACxB,MAAM,MAAM,GAAG,EAAE,KAAK,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE,GAAG,MAAM,GAAG,OAAO,CAAC,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,CAAC;QAC9G,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACtB,MAAM,IAAI,GAAG,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACjD,IAAI,KAAK,GAAG,CAAC,EAAE,MAAM,GAAG,KAAK,CAAC;YAC9B,MAAM,IAAI,GAAG,GAAS,EAAE;gBACtB,MAAM,GAAG,IAAI,CAAC;gBACd,IAAI,CAAC,MAAM,CAAC,MAAM;oBAAE,OAAO,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAC5C,IAAI,UAAU,IAAI,CAAC,QAAQ;oBAAE,OAAO,CAAC,UAAU,EAAE,CAAC;YACpD,CAAC,CAAC;YACF,MAAM,KAAK,GAAG,UAAU,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAC9D,wEAAwE;YACxE,wEAAwE;YACxE,MAAM,OAAO,GAAG,CAAC,IAAY,EAAQ,EAAE;gBACrC,KAAK,IAAI,IAAI,CAAC,MAAM,CAAC;gBACrB,IAAI,KAAK,GAAG,MAAM;oBAAE,IAAI,EAAE,CAAC;YAC7B,CAAC,CAAC;YACF,OAAO,CAAC,MAAO,CAAC,EAAE,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACpC,OAAO,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAAC,OAAO,CAAC,KAAM,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YAC5D,OAAO,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC,IAAI,UAAU,IAAI,CAAC,QAAQ;gBAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;YACzG,OAAO,CAAC,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE;gBAC3B,MAAM,CAAC,MAAM,GAAG,IAAI,CAAC;gBAAC,YAAY,CAAC,KAAK,CAAC,CAAC;gBAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;gBAAC,MAAM,EAAE,CAAC;gBAC/F,IAAI,UAAU,IAAI,CAAC,QAAQ;oBAAE,OAAO,CAAC,UAAU,EAAE,CAAC;gBAClD,IAAI,MAAM,IAAI,IAAI,KAAK,CAAC;oBAAE,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC;;oBAAM,OAAO,EAAE,CAAC;YAC1D,CAAC,CAAC,CAAC;YACH,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YACvD,OAAO,CAAC,KAAM,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;YAAC,IAAI,MAAM,CAAC,OAAO;gBAAE,IAAI,EAAE,CAAC;QACxD,CAAC,CAAC,CAAC;QACH,KAAK,IAAI,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QAC1B,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,CAAC;IAClC,CAAC;IACD,SAAS,KAAK;QACZ,IAAI,OAAO;YAAE,OAAO,OAAO,CAAC;QAC5B,QAAQ,GAAG,IAAI,CAAC;QAChB,OAAO,GAAG,OAAO,CAAC,OAAO,EAAE,CAAC,IAAI,CAAC,KAAK,IAAI,EAAE;YAC1C,IAAI,QAAQ,GAAG,IAAI,EAAE,KAAiC,CAAC;YACvD,MAAM,IAAI,GAAG,KAAK,IAAmB,EAAE;gBACrC,IAAI,CAAC;oBAAC,MAAM,OAAO,EAAE,KAAK,EAAE,CAAC;gBAAC,CAAC;gBAAC,MAAM,CAAC;oBAAC,QAAQ,GAAG,KAAK,CAAC;gBAAC,CAAC;gBAC3D,IAAI,CAAC;oBACH,MAAM,OAAO,GAAG,OAAO,IAAI,MAAM,cAAc,EAAE,KAAK,CAAC,GAAG,EAAE,CAAC,SAAS,CAAC,CAAC;oBACxE,IAAI,OAAO;wBAAE,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC;gBACrC,CAAC;gBAAC,MAAM,CAAC;oBAAC,QAAQ,GAAG,KAAK,CAAC;gBAAC,CAAC;gBAC7B,KAAK,MAAM,MAAM,IAAI,QAAQ;oBAAE,IAAI,CAAC,MAAM,CAAC,MAAM;wBAAE,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;gBAChF,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC;YAC3D,CAAC,CAAC;YACF,IAAI,CAAC;gBACH,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,IAAI,OAAO,CAAO,OAAO,CAAC,EAAE,GAAG,KAAK,GAAG,UAAU,CAAC,GAAG,EAAE,GAAG,QAAQ,GAAG,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;YACpI,CAAC;oBAAS,CAAC;gBACT,YAAY,CAAC,KAAK,CAAC,CAAC;gBACpB,KAAK,MAAM,MAAM,IAAI,QAAQ;oBAAE,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC;wBAAC,QAAQ,GAAG,KAAK,CAAC;wBAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;oBAAC,CAAC;gBACtG,OAAO,CAAC,MAAM,CAAC,mBAAmB,CAAC,OAAO,EAAE,KAAK,CAAC,CAAC;YACrD,CAAC;YACD,OAAO,EAAE,QAAQ,EAAE,CAAC;QACtB,CAAC,CAAC,CAAC;QACH,UAAU,CAAC,KAAK,EAAE,CAAC;QACnB,OAAO,OAAO,CAAC;IACjB,CAAC;IACD,MAAM,KAAK,GAAG,GAAS,EAAE,GAAG,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;IAC5C,OAAO,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;IAChE,IAAI,CAAC;QACH,QAAQ,CAAC,QAAQ,CAAC,CAAC;QACnB,KAAK,EAAE,CAAC;QACR,IAAI,OAAO,CAAC,MAAM,EAAE,EAAE,KAAK,IAAI,IAAI,OAAO,CAAC,MAAM,EAAE,EAAE,KAAK,IAAI;YAAE,MAAM,GAAG,EAAE,CAAC;QAC5E,KAAK,MAAM,IAAI,IAAI,CAAC,mBAAmB,CAAC,GAAG,EAAE,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC;YACvE,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,IAAI,CAAC,CAAC;YAAC,KAAK,EAAE,CAAC;YACxC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,IAAI,CAAC,cAAc,EAAE,IAAI,IAAI,CAAC,GAAG,KAAK,IAAI,IAAI,IAAI,CAAC,GAAG,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,KAAK;gBAAE,MAAM,GAAG,EAAE,CAAC;QAC3I,CAAC;QACD,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,GAAG,mBAAmB,CAAC,IAAI,cAAc,EAAE,SAAS,CAAC,QAAQ,GAAG,SAAS,CAAC,UAAU,CAAC,CAAC;QACvH,IAAI,MAAc,CAAC;QACnB,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,CAAC;YACxC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,IAAI,CAAC,GAAG,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,KAAK,CAAC,IAAI,IAAI,CAAC,IAAI,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,KAAK,KAAK;gBAAE,MAAM,GAAG,EAAE,CAAC;YAC7I,MAAM,GAAG,MAAM,aAAa,CAAC,QAAQ,EAAE,CAAC;QAC1C,CAAC;gBAAS,CAAC;YAAC,MAAM,aAAa,CAAC,KAAK,EAAE,CAAC;QAAC,CAAC;QAC1C,IAAI,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,UAAU;YAAE,MAAM,GAAG,EAAE,CAAC;QAClF,KAAK,MAAM,IAAI,IAAI,CAAC,GAAG,mBAAmB,CAAC,GAAG,MAAM,EAAE,GAAG,mBAAmB,CAAC,GAAG,UAAU,EAAE,GAAG,mBAAmB,CAAC,IAAI,SAAS,EAAE,GAAG,mBAAmB,CAAC,IAAI,UAAU,CAAC,EAAE,CAAC;YACzK,KAAK,EAAE,CAAC;YAAC,MAAM,KAAK,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;QAC9C,CAAC;QACD,QAAQ,CAAC,YAAY,CAAC,CAAC;QACvB,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE,SAAS,CAAC,OAAO,GAAG,SAAS,CAAC,MAAM,GAAG,SAAS,CAAC,QAAQ,GAAG,SAAS,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;QAC/I,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;QAAC,KAAK,EAAE,CAAC;QAC5B,MAAM,KAAK,CAAC,gBAAgB,EAAE,CAAC,IAAI,EAAE,iBAAiB,CAAC,UAAU,EAAE,QAAQ,EAAE,GAAG,CAAC,EAAE,YAAY,WAAW,CAAC,EAAE,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC;QACzI,KAAK,EAAE,CAAC;QAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;QAAC,KAAK,CAAC,eAAe,EAAE,CAAC,IAAI,EAAE,SAAS,EAAE,GAAG,EAAE,YAAY,EAAE,WAAW,EAAE,KAAK,EAAE,OAAO,EAAE,iBAAiB,CAAC,UAAU,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;QACvK,IAAI,YAAY,GAAG,KAAK,CAAC;QACzB,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,GAAG,GAAG,EAAE,OAAO,EAAE,EAAE,CAAC;YAC/C,KAAK,EAAE,CAAC;YACR,IAAI,CAAC;gBAAC,MAAM,KAAK,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC,IAAI,CAAC;gBAAC,YAAY,GAAG,IAAI,CAAC;gBAAC,MAAM;YAAC,CAAC;YAC9E,MAAM,CAAC;gBAAC,MAAM,KAAK,CAAC,EAAE,EAAE,SAAS,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;YAAC,CAAC;QACnD,CAAC;QACD,IAAI,CAAC,YAAY;YAAE,MAAM,GAAG,EAAE,CAAC;QAC/B,QAAQ,CAAC,gBAAgB,CAAC,CAAC;QAAC,KAAK,CAAC,kBAAkB,EAAE,CAAC,eAAe,EAAE,GAAG,mBAAmB,CAAC,IAAI,cAAc,CAAC,EAAE,SAAS,EAAE,IAAI,CAAC,CAAC;QACrI,KAAK,EAAE,CAAC;QACR,QAAQ,CAAC,SAAS,CAAC,CAAC;QAAC,cAAc,GAAG,QAAQ,CAAC,uBAAuB,CAAC,GAAG,mBAAmB,CAAC,IAAI,UAAU,EAAE,EAAE,cAAc,EAAE,mBAAmB;YACjJ,QAAQ,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,GAAG,EAAE,iBAAiB,EAAE,OAAO,EAAE,MAAM;YAC/F,IAAI,EAAE,CAAC,uBAAuB,EAAE,wBAAwB,EAAE,iCAAiC,EAAE,4BAA4B,EAAE,gBAAgB,CAAC,EAAE,CAAC,CAAC;QAClJ,KAAK,cAAc,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,GAAG,IAAI,QAAQ;YAAE,KAAK,OAAO,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;QACvG,OAAO,GAAG,MAAM,cAAc,CAAC;QAAC,KAAK,EAAE,CAAC;QACxC,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAC;QAAC,OAAO,CAAC,2BAA2B,CAAC,IAAI,CAAC,CAAC;QAC3E,MAAM,IAAI,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,CAAC;QAAC,IAAI,CAAC,IAAI,IAAI,OAAO,CAAC,KAAK,EAAE,CAAC,MAAM,KAAK,CAAC;YAAE,MAAM,GAAG,EAAE,CAAC;QACxF,QAAQ,CAAC,SAAS,CAAC,CAAC;QAAC,MAAM,UAAU,GAAG,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC;QAAC,KAAK,EAAE,CAAC;QACzE,MAAM,UAAU,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QAAC,KAAK,EAAE,CAAC;QACnD,MAAM,aAAa,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,SAAS,EAAE,CAAC;QACnE,IAAI,CAAC,CAAC,gBAAgB,EAAE,oBAAoB,EAAE,qBAAqB,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,EAAE,CAAC,IAAI,MAAM,CAAC,KAAK,GAAG,SAAS,CAAC,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;eACjI,CAAC,aAAa,CAAC,QAAQ,CAAC,8BAA8B,CAAC;YAAE,MAAM,GAAG,EAAE,CAAC;QAC1E,MAAM,UAAU,CAAC,KAAK,EAAE,CAAC;QAAC,KAAK,EAAE,CAAC;QAAC,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAAC,KAAK,EAAE,CAAC;QACtE,QAAQ,CAAC,OAAO,CAAC,CAAC;QAAC,MAAM,MAAM,GAAG,6BAA6B,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,kBAAkB,EAAE,GAAG,mBAAmB,CAAC,GAAG,UAAU,EAAE,UAAU,EAAE,iBAAiB,CAAC,UAAU,EAAE,CAAC,CAAC;QACvL,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAAC,KAAK,EAAE,CAAC;QAC5D,OAAO,GAAG,uBAAuB,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,mBAAmB,EAAE,KAAK,EAAC,YAAY,EAAC,EAAE;gBAC3F,IAAI,MAAM,MAAM,CAAC,cAAc,CAAC,YAAY,CAAC,KAAK,MAAM;oBAAE,MAAM,IAAI,gBAAgB,CAAC,iBAAiB,EAAE,gBAAgB,CAAC,CAAC;YAC5H,CAAC,EAAE,CAAC,CAAC;QACL,MAAM,KAAK,GAAG,uBAAuB,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACvD,MAAM,QAAQ,GAAG,0BAA0B,CAAC,EAAE,KAAK,EAAE,GAAG,EAAE,MAAM,EAAE,GAAG,EAAE,KAAK,EAAE,eAAe,EAAE,MAAM,EAAE,UAAU,EAAE,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;QACzI,QAAQ,CAAC,SAAS,CAAC,CAAC;QAAC,MAAM,IAAI,CAAC,IAAI,CAAC,UAAU,mBAAmB,CAAC,IAAI,eAAe,CAAC,CAAC;QAAC,KAAK,EAAE,CAAC;QACjG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;QAAC,KAAK,EAAE,CAAC;QAC/C,OAAO,EAAE,QAAQ,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,EAAE,aAAa,EAAE,YAAY,EAAE,UAAU,EAAE,EAAE,CAAC;IAChG,CAAC;IAAC,MAAM,CAAC;QACP,MAAM,KAAK,EAAE,CAAC;QAAC,MAAM,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;IACvD,CAAC;YAAS,CAAC;QACT,iFAAiF;QACjF,IAAI,QAAQ,IAAI,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC;YAAE,MAAM,EAAE,CAAC,GAAG,mBAAmB,CAAC,GAAG,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;IAC5J,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"guest-runtime-desktop.js","sourceRoot":"","sources":["../src/guest-runtime-desktop.ts"],"names":[],"mappings":"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"}
@@ -18,7 +18,8 @@ try {
18
18
  const runtime = await runGuestRuntime({ transport, revision: GUEST_RUNTIME_REVISION, signal: stop.signal,
19
19
  marker: value => { if (writeSync(Number(markerFd), value) !== 1)
20
20
  throw new Error(); },
21
- createDesktop: (signal, onTerminal) => createGuestRuntimeDesktop({ signal, onTerminal }) });
21
+ createDesktop: (signal, onTerminal, initialUrl) => createGuestRuntimeDesktop({ signal, onTerminal,
22
+ ...(initialUrl === undefined ? {} : { initialUrl }) }) });
22
23
  const result = await runtime.closed;
23
24
  process.exit(result.complete ? 0 : 1);
24
25
  }
@@ -1 +1 @@
1
- {"version":3,"file":"guest-runtime-main.js","sourceRoot":"","sources":["../src/guest-runtime-main.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAErE,6EAA6E;AAC7E,MAAM,IAAI,GAAG,IAAI,eAAe,EAAE,CAAC;AACnC,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;AAC1C,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;AACzC,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;AACrF,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;AAC1C,IAAI,CAAC;IACH,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,sBAAsB,CAAC;QAAE,MAAM,IAAI,KAAK,EAAE,CAAC;IACjF,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC;IAC3D,IAAI,CAAC,QAAQ,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,IAAI;QAAE,MAAM,IAAI,KAAK,EAAE,CAAC;IAC3H,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,sBAAsB,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM;QACtG,MAAM,EAAE,KAAK,CAAC,EAAE,GAAG,IAAI,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC;QACrF,aAAa,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,EAAE,CAAC,yBAAyB,CAAC,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,CAAC;IAC9F,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC;IACpC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxC,CAAC;AAAC,MAAM,CAAC;IACP,IAAI,CAAC,KAAK,EAAE,CAAC;IAAC,SAAS,CAAC,OAAO,EAAE,CAAC;IAClC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAChD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;AACvB,CAAC"}
1
+ {"version":3,"file":"guest-runtime-main.js","sourceRoot":"","sources":["../src/guest-runtime-main.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AACpC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AACrD,OAAO,EAAE,yBAAyB,EAAE,MAAM,4BAA4B,CAAC;AACvE,OAAO,EAAE,sBAAsB,EAAE,MAAM,6BAA6B,CAAC;AAErE,6EAA6E;AAC7E,MAAM,IAAI,GAAG,IAAI,eAAe,EAAE,CAAC;AACnC,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;AAC1C,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;AACzC,MAAM,SAAS,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,KAAK,EAAE,QAAQ,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;AACrF,SAAS,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,CAAC,CAAC;AAC1C,IAAI,CAAC;IACH,IAAI,CAAC,2BAA2B,CAAC,IAAI,CAAC,sBAAsB,CAAC;QAAE,MAAM,IAAI,KAAK,EAAE,CAAC;IACjF,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,6BAA6B,CAAC;IAC3D,IAAI,CAAC,QAAQ,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,QAAQ,CAAC,GAAG,IAAI;QAAE,MAAM,IAAI,KAAK,EAAE,CAAC;IAC3H,MAAM,OAAO,GAAG,MAAM,eAAe,CAAC,EAAE,SAAS,EAAE,QAAQ,EAAE,sBAAsB,EAAE,MAAM,EAAE,IAAI,CAAC,MAAM;QACtG,MAAM,EAAE,KAAK,CAAC,EAAE,GAAG,IAAI,SAAS,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,KAAK,CAAC;YAAE,MAAM,IAAI,KAAK,EAAE,CAAC,CAAC,CAAC;QACrF,aAAa,EAAE,CAAC,MAAM,EAAE,UAAU,EAAE,UAAU,EAAE,EAAE,CAAC,yBAAyB,CAAC,EAAE,MAAM,EAAE,UAAU;YAC/F,GAAG,CAAC,UAAU,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;IAC9D,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,MAAM,CAAC;IACpC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACxC,CAAC;AAAC,MAAM,CAAC;IACP,IAAI,CAAC,KAAK,EAAE,CAAC;IAAC,SAAS,CAAC,OAAO,EAAE,CAAC;IAClC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAChD,OAAO,CAAC,QAAQ,GAAG,CAAC,CAAC;AACvB,CAAC"}
@@ -12,7 +12,7 @@ export interface GuestRuntimeOptions {
12
12
  signal: AbortSignal;
13
13
  /** Fixed private supervision channel, not browser-control output. */
14
14
  marker(value: "A" | "R"): void;
15
- createDesktop(signal: AbortSignal, onTerminal: () => void): Promise<GuestRuntimeDesktop>;
15
+ createDesktop(signal: AbortSignal, onTerminal: () => void, initialUrl?: string): Promise<GuestRuntimeDesktop>;
16
16
  }
17
17
  /** One admitted desktop and one dispatcher. The owner retains physical teardown. */
18
18
  export declare function runGuestRuntime(options: GuestRuntimeOptions): Promise<{
@@ -1,5 +1,5 @@
1
1
  import { attachBrowserControlDispatcher } from "./browser-control-dispatcher.js";
2
- import { encodeGuestBootstrap, GuestBootstrapReader, GUEST_BOOTSTRAP_LIMITS } from "./guest-bootstrap.js";
2
+ import { encodeGuestBootstrap, GuestBootstrapReader, GUEST_BOOTSTRAP_LIMITS, guestReadyTimeoutMs } from "./guest-bootstrap.js";
3
3
  import { CuaExecutorError } from "./cua-executor-error.js";
4
4
  /** One admitted desktop and one dispatcher. The owner retains physical teardown. */
5
5
  export async function runGuestRuntime(options) {
@@ -12,7 +12,7 @@ export async function runGuestRuntime(options) {
12
12
  let preparing;
13
13
  let resolveClosed;
14
14
  const closed = new Promise(resolve => { resolveClosed = resolve; });
15
- const timer = setTimeout(() => { void close(); }, GUEST_BOOTSTRAP_LIMITS.readyMs);
15
+ let timer = setTimeout(() => { void close(); }, GUEST_BOOTSTRAP_LIMITS.readyMs);
16
16
  function terminal() { void close(); }
17
17
  function close() {
18
18
  if (closing)
@@ -64,8 +64,10 @@ export async function runGuestRuntime(options) {
64
64
  const identity = await reader.identity;
65
65
  if (authority.aborted)
66
66
  throw new CuaExecutorError("session_revoked", "not_dispatched");
67
+ clearTimeout(timer);
68
+ timer = setTimeout(() => { void close(); }, guestReadyTimeoutMs(reader.initialUrl));
67
69
  options.marker("A");
68
- preparing = options.createDesktop(authority, terminal);
70
+ preparing = options.createDesktop(authority, terminal, reader.initialUrl);
69
71
  desktop = await Promise.race([preparing, new Promise((_, reject) => {
70
72
  const stop = () => reject(new CuaExecutorError("session_revoked", "not_dispatched"));
71
73
  authority.addEventListener("abort", stop, { once: true });
@@ -1 +1 @@
1
- {"version":3,"file":"guest-runtime.js","sourceRoot":"","sources":["../src/guest-runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"guest-runtime.js","sourceRoot":"","sources":["../src/guest-runtime.ts"],"names":[],"mappings":"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"}
@@ -7,6 +7,11 @@ export interface RuntimeDirectory {
7
7
  path: string;
8
8
  plane: "runtime";
9
9
  }
10
+ export interface LocalBrowserStarter {
11
+ appUrl: string;
12
+ mission: string;
13
+ }
14
+ export declare const DEFAULT_LOCAL_BROWSER_STARTER: LocalBrowserStarter;
10
15
  export declare const starterFiles: StarterFile[];
11
16
  export declare const runtimeDirectories: RuntimeDirectory[];
12
17
  export declare const humanishScripts: Record<string, string>;
@@ -17,4 +22,4 @@ export declare const humanishScripts: Record<string, string>;
17
22
  * a signed-in Codex and no provider key, the study runs with the operator's own agent and needs
18
23
  * only E2B. Writing the other one there would hand someone homework instead of a first run.
19
24
  */
20
- export declare function starterFilesFor(actor: "openai-computer-use" | "local-agent"): StarterFile[];
25
+ export declare function starterFilesFor(actor: "openai-computer-use" | "local-agent", localBrowser?: LocalBrowserStarter): StarterFile[];
@@ -1,3 +1,37 @@
1
+ export const DEFAULT_LOCAL_BROWSER_STARTER = {
2
+ appUrl: "http://127.0.0.1:3000",
3
+ mission: "Use the app's primary flow. Explain anything confusing and stop when the task is complete or you are stuck."
4
+ };
5
+ function localBrowserLab(starter = DEFAULT_LOCAL_BROWSER_STARTER) {
6
+ return {
7
+ path: "humanish/labs/local-browser.yaml",
8
+ plane: "source",
9
+ contents: `schema: humanish.lab.v2
10
+ id: local-browser
11
+ title: Local browser · your app · Codex account
12
+ description: >-
13
+ Run a Codex-account participant in an isolated local browser against your loopback app—no E2B
14
+ or OpenAI API key. Inference is remote and uses account quota. Before the first live run, use
15
+ humanish doctor --lab local-browser to check the supported Codex login and local runtime.
16
+ subject:
17
+ source: app-url
18
+ appUrl: ${JSON.stringify(starter.appUrl)}
19
+ actors:
20
+ - type: local-agent
21
+ localAgent: codex
22
+ persona: synthetic-new-user
23
+ mission: ${JSON.stringify(starter.mission)}
24
+ execution:
25
+ target: local
26
+ concurrency: 1
27
+ timeoutMs: 120000
28
+ scenario:
29
+ mode: live
30
+ defaults:
31
+ open: true
32
+ `
33
+ };
34
+ }
1
35
  export const starterFiles = [
2
36
  {
3
37
  path: "humanish/README.md",
@@ -182,6 +216,7 @@ defaults:
182
216
  open: true
183
217
  `
184
218
  },
219
+ localBrowserLab(),
185
220
  {
186
221
  path: "humanish/labs/cua-browser.yaml",
187
222
  plane: "source",
@@ -489,10 +524,11 @@ export const humanishScripts = {
489
524
  * a signed-in Codex and no provider key, the study runs with the operator's own agent and needs
490
525
  * only E2B. Writing the other one there would hand someone homework instead of a first run.
491
526
  */
492
- export function starterFilesFor(actor) {
527
+ export function starterFilesFor(actor, localBrowser = DEFAULT_LOCAL_BROWSER_STARTER) {
528
+ const files = starterFiles.map((file) => file.path === "humanish/labs/local-browser.yaml" ? localBrowserLab(localBrowser) : file);
493
529
  if (actor === "openai-computer-use")
494
- return starterFiles;
495
- return starterFiles.map((file) => {
530
+ return files;
531
+ return files.map((file) => {
496
532
  if (file.path !== "humanish/labs/try-live.yaml")
497
533
  return file;
498
534
  return {
@@ -1 +1 @@
1
- {"version":3,"file":"init-templates.js","sourceRoot":"","sources":["../src/init-templates.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init-templates.js","sourceRoot":"","sources":["../src/init-templates.ts"],"names":[],"mappings":"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"}
package/dist/init.d.ts CHANGED
@@ -5,6 +5,11 @@ export interface InitOptions {
5
5
  yes?: boolean;
6
6
  /** Injected so a test can decide what credentials this machine appears to have. */
7
7
  env?: NodeJS.ProcessEnv;
8
+ /** Configure the starter local-browser lab without making the operator edit YAML. */
9
+ localBrowser?: {
10
+ appUrl: string;
11
+ mission?: string;
12
+ };
8
13
  }
9
14
  export type InitMode = "dry-run" | "applied" | "needs-confirmation";
10
15
  export interface InitChange {
@@ -26,7 +31,7 @@ export interface InitResult {
26
31
  */
27
32
  nextSteps?: string[];
28
33
  error?: {
29
- code: "HUMANISH_CONFIRMATION_REQUIRED" | "HUMANISH_INVALID_CWD" | "HUMANISH_INVALID_PACKAGE_JSON" | "HUMANISH_UNSAFE_PROJECT_PATH";
34
+ code: "HUMANISH_CONFIRMATION_REQUIRED" | "HUMANISH_INVALID_CWD" | "HUMANISH_INVALID_PACKAGE_JSON" | "HUMANISH_INVALID_LOCAL_BROWSER" | "HUMANISH_UNSAFE_PROJECT_PATH";
30
35
  message: string;
31
36
  };
32
37
  }
package/dist/init.js CHANGED
@@ -2,7 +2,7 @@ import { lstat, realpath, stat } from "node:fs/promises";
2
2
  import path from "node:path";
3
3
  import { AGENTS_SECTION_MARKER, agentsSection, firstRunGuidance, starterActorFor } from "./first-run-path.js";
4
4
  import { detectLocalAgents } from "./local-agent-cli.js";
5
- import { humanishScripts, runtimeDirectories, starterFiles, starterFilesFor } from "./init-templates.js";
5
+ import { DEFAULT_LOCAL_BROWSER_STARTER, humanishScripts, runtimeDirectories, starterFiles, starterFilesFor } from "./init-templates.js";
6
6
  import { assertPreparedSelectedOutputDirectory, prepareContainedOutputDirectory, prepareSelectedOutputDirectory, readContainedRegularFile, writeContainedOutputFile } from "./selected-output-paths.js";
7
7
  export const INIT_RESPONSE_SCHEMA = "humanish.init-result.v1";
8
8
  export async function runInit(options) {
@@ -24,6 +24,13 @@ export async function runInit(options) {
24
24
  error: cwdCheck
25
25
  };
26
26
  }
27
+ const localBrowser = validateLocalBrowserStarter(options.localBrowser);
28
+ if (!localBrowser.ok) {
29
+ return {
30
+ schema: INIT_RESPONSE_SCHEMA, ok: false, mode, cwd: requestedCwd, changes, warnings,
31
+ error: { code: "HUMANISH_INVALID_LOCAL_BROWSER", message: localBrowser.message }
32
+ };
33
+ }
27
34
  const cwd = await realpath(requestedCwd);
28
35
  const preparedProjectRoot = await prepareSelectedOutputDirectory(path.dirname(cwd), cwd);
29
36
  const initialPathCheck = await validateInitProjectPaths(cwd);
@@ -75,9 +82,12 @@ export async function runInit(options) {
75
82
  // openai-computer-use on a machine with no provider key but a signed-in Codex would hand someone
76
83
  // a file that asks for a credential they were just told they do not need (#505).
77
84
  const starterActor = starterActorFor(await firstRunEnvironment(options.env ?? process.env));
78
- for (const file of starterFilesFor(starterActor)) {
85
+ for (const file of starterFilesFor(starterActor, localBrowser.value)) {
79
86
  const absolutePath = path.join(cwd, file.path);
80
87
  const existing = await readTextIfExists(preparedProjectRoot, file.path);
88
+ if (existing !== null && options.localBrowser !== undefined && file.path === "humanish/labs/local-browser.yaml") {
89
+ warnings.push("Skipped --local-browser/--local-mission: humanish/labs/local-browser.yaml already exists and init never overwrites it.");
90
+ }
81
91
  if (existing === null) {
82
92
  changes.push({
83
93
  path: file.path,
@@ -191,6 +201,26 @@ export async function runInit(options) {
191
201
  ...(mode === "applied" ? { nextSteps: await resolveFirstRunGuidance(options.env ?? process.env) } : {})
192
202
  };
193
203
  }
204
+ function validateLocalBrowserStarter(input) {
205
+ const value = {
206
+ appUrl: input?.appUrl.trim() || DEFAULT_LOCAL_BROWSER_STARTER.appUrl,
207
+ mission: input?.mission?.trim() || DEFAULT_LOCAL_BROWSER_STARTER.mission
208
+ };
209
+ let url;
210
+ try {
211
+ url = new URL(value.appUrl);
212
+ }
213
+ catch {
214
+ return { ok: false, message: "--local-browser must be a loopback HTTP(S) URL with an explicit port above 1023." };
215
+ }
216
+ if (!["http:", "https:"].includes(url.protocol) || !["localhost", "127.0.0.1"].includes(url.hostname)
217
+ || url.username || url.password || Number(url.port) < 1024) {
218
+ return { ok: false, message: "--local-browser must be a loopback HTTP(S) URL with an explicit port above 1023." };
219
+ }
220
+ if (value.mission.length > 4_000)
221
+ return { ok: false, message: "--local-mission must be 4,000 characters or fewer." };
222
+ return { ok: true, value };
223
+ }
194
224
  /**
195
225
  * What to tell the operator next. Local CLI status is classified without returning
196
226
  * its output or reading its credential file; provider keys are checked for presence.
@@ -218,7 +248,9 @@ async function firstRunEnvironment(env) {
218
248
  hasDesktopSdk,
219
249
  hasE2bKey: (env.E2B_API_KEY ?? "").trim().length > 0,
220
250
  hasProviderKey: (env.OPENAI_API_KEY ?? "").trim().length > 0,
221
- localAgents: agents.filter((agent) => agent.authStatus === "authenticated").map((agent) => agent.label)
251
+ localAgents: agents.filter((agent) => agent.authStatus === "authenticated").map((agent) => agent.label),
252
+ platform: process.platform,
253
+ arch: process.arch
222
254
  };
223
255
  }
224
256
  async function validateInitProjectPaths(cwd) {