humanish 0.101.0 → 0.102.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 (102) hide show
  1. package/README.md +3 -2
  2. package/dist/affordance.d.ts +2 -0
  3. package/dist/affordance.js +3 -0
  4. package/dist/affordance.js.map +1 -1
  5. package/dist/browser-control-client.d.ts +2 -0
  6. package/dist/browser-control-client.js +4 -0
  7. package/dist/browser-control-client.js.map +1 -1
  8. package/dist/browser-control-dispatcher.js +3 -0
  9. package/dist/browser-control-dispatcher.js.map +1 -1
  10. package/dist/browser-control-protocol.d.ts +77 -0
  11. package/dist/browser-control-protocol.js +31 -4
  12. package/dist/browser-control-protocol.js.map +1 -1
  13. package/dist/computer-use.d.ts +9 -0
  14. package/dist/computer-use.js +36 -8
  15. package/dist/computer-use.js.map +1 -1
  16. package/dist/cua-actor-lab.d.ts +1 -0
  17. package/dist/cua-actor-lab.js +10 -6
  18. package/dist/cua-actor-lab.js.map +1 -1
  19. package/dist/cua-speech.d.ts +13 -0
  20. package/dist/cua-speech.js +2 -0
  21. package/dist/cua-speech.js.map +1 -0
  22. package/dist/desktop-session.js +1 -0
  23. package/dist/desktop-session.js.map +1 -1
  24. package/dist/doctor-lab.js +1 -1
  25. package/dist/doctor-lab.js.map +1 -1
  26. package/dist/e2b-cua-desktop.js +51 -42
  27. package/dist/e2b-cua-desktop.js.map +1 -1
  28. package/dist/e2b-cua-provisioning.d.ts +4 -1
  29. package/dist/e2b-cua-provisioning.js +8 -2
  30. package/dist/e2b-cua-provisioning.js.map +1 -1
  31. package/dist/e2b-desktop-executor.js +3 -0
  32. package/dist/e2b-desktop-executor.js.map +1 -1
  33. package/dist/e2b-desktop-launch.d.ts +11 -1
  34. package/dist/e2b-desktop-launch.js.map +1 -1
  35. package/dist/e2b-desktop-media.d.ts +14 -0
  36. package/dist/e2b-desktop-media.js +58 -0
  37. package/dist/e2b-desktop-media.js.map +1 -0
  38. package/dist/guest-bootstrap.d.ts +4 -2
  39. package/dist/guest-bootstrap.js +16 -9
  40. package/dist/guest-bootstrap.js.map +1 -1
  41. package/dist/guest-desktop-executor.js +1 -0
  42. package/dist/guest-desktop-executor.js.map +1 -1
  43. package/dist/guest-desktop-media.d.ts +33 -0
  44. package/dist/guest-desktop-media.js +281 -0
  45. package/dist/guest-desktop-media.js.map +1 -0
  46. package/dist/guest-media-config.d.ts +15 -0
  47. package/dist/guest-media-config.js +8 -0
  48. package/dist/guest-media-config.js.map +1 -0
  49. package/dist/guest-media-worker.d.ts +1 -0
  50. package/dist/guest-media-worker.js +319 -0
  51. package/dist/guest-media-worker.js.map +1 -0
  52. package/dist/guest-runtime-desktop.d.ts +3 -1
  53. package/dist/guest-runtime-desktop.js +20 -3
  54. package/dist/guest-runtime-desktop.js.map +1 -1
  55. package/dist/guest-runtime-main.js +2 -2
  56. package/dist/guest-runtime-main.js.map +1 -1
  57. package/dist/guest-runtime.d.ts +2 -1
  58. package/dist/guest-runtime.js +1 -1
  59. package/dist/guest-runtime.js.map +1 -1
  60. package/dist/lab-config.d.ts +2 -2
  61. package/dist/lab-config.js +15 -4
  62. package/dist/lab-config.js.map +1 -1
  63. package/dist/lab-summary.js +1 -1
  64. package/dist/lab-summary.js.map +1 -1
  65. package/dist/local-firecracker-desktop.d.ts +3 -0
  66. package/dist/local-firecracker-desktop.js +7 -1
  67. package/dist/local-firecracker-desktop.js.map +1 -1
  68. package/dist/local-firecracker-study.js +16 -2
  69. package/dist/local-firecracker-study.js.map +1 -1
  70. package/dist/local-runtime-config.js +5 -2
  71. package/dist/local-runtime-config.js.map +1 -1
  72. package/dist/local-runtime-release.d.ts +2 -0
  73. package/dist/local-runtime-release.js +15 -0
  74. package/dist/local-runtime-release.js.map +1 -1
  75. package/dist/local-runtime.d.ts +1 -0
  76. package/dist/local-runtime.js +11 -9
  77. package/dist/local-runtime.js.map +1 -1
  78. package/dist/program.js +3 -2
  79. package/dist/program.js.map +1 -1
  80. package/dist/restricted-codex-participant-policy.d.ts +2 -1
  81. package/dist/restricted-codex-participant-policy.js +9 -6
  82. package/dist/restricted-codex-participant-policy.js.map +1 -1
  83. package/dist/restricted-codex-participant-run.js +2 -1
  84. package/dist/restricted-codex-participant-run.js.map +1 -1
  85. package/dist/restricted-codex-participant.d.ts +2 -0
  86. package/dist/restricted-codex-participant.js +20 -7
  87. package/dist/restricted-codex-participant.js.map +1 -1
  88. package/dist/run.d.ts +8 -5
  89. package/dist/run.js +6 -6
  90. package/dist/run.js.map +1 -1
  91. package/dist/study-analysis-engine.d.ts +1 -1
  92. package/dist/study-analysis-engine.js +53 -10
  93. package/dist/study-analysis-engine.js.map +1 -1
  94. package/docs/architecture/local-browser-runtime.md +3 -2
  95. package/docs/architecture/participant-media.md +90 -0
  96. package/docs/contracts/schemas.md +1 -1
  97. package/docs/contracts/study-analysis.md +14 -0
  98. package/docs/goals/current.md +13 -9
  99. package/docs/ramp/README.md +7 -1
  100. package/docs/release/0.102.0-participant-media.md +43 -0
  101. package/package.json +5 -4
  102. package/skills/humanish/SKILL.md +8 -5
@@ -6,12 +6,17 @@ import { localBrowserDefaults, localBrowserUnsupportedReason } from "./local-run
6
6
  import { prepareLocalRuntime } from "./local-runtime.js";
7
7
  import { checkRestrictedCodexAnalysisReadiness } from "./restricted-codex-analysis.js";
8
8
  import { createRestrictedCodexParticipant } from "./restricted-codex-participant.js";
9
+ import { guestMediaConfigSchema } from "./guest-media-config.js";
9
10
  /** Local desktop/provider composition over the shared lab runner. */
10
11
  export async function runLocalFirecrackerStudy(options) {
11
12
  const config = localBrowserDefaults(options.config);
12
13
  const unsupported = localBrowserUnsupportedReason(config);
13
14
  if (unsupported)
14
15
  throw new Error(unsupported);
16
+ const declaredMedia = config.execution?.desktop?.media;
17
+ const media = declaredMedia === undefined ? undefined : guestMediaConfigSchema.parse({
18
+ ...declaredMedia, permission: config.policies?.mediaPermission ?? "prompt"
19
+ });
15
20
  const account = config.actors[0]?.type === "local-agent";
16
21
  let preparing;
17
22
  const assets = () => preparing ??= (async () => {
@@ -21,6 +26,7 @@ export async function runLocalFirecrackerStudy(options) {
21
26
  throw new Error(`Codex account is not ready (${readiness.errorCode}). Run humanish doctor --lab <lab> before starting a local study.`);
22
27
  }
23
28
  return options.assets ?? await prepareLocalRuntime({
29
+ ...(media === undefined ? {} : { media: true }),
24
30
  ...(options.signal ? { signal: options.signal } : {}),
25
31
  progress: message => process.stderr.write(`${message}\n`)
26
32
  });
@@ -43,9 +49,17 @@ export async function runLocalFirecrackerStudy(options) {
43
49
  return {
44
50
  async prepare() {
45
51
  session = await createLocalFirecrackerDesktop({ assets: await assets(),
52
+ ...(media === undefined ? {} : { media }),
46
53
  appUrl: spec.targetUrl ?? config.subject.appUrl, outputRoot: path.join(options.cwd, ".humanish", "local-runtime"),
47
54
  ...(options.signal === undefined ? {} : { signal: options.signal }) });
48
55
  sessions.push(session);
56
+ if (media !== undefined)
57
+ evidence.desktopBrowser = { requested: "chromium", resolved: "chromium", media: {
58
+ ...(media.camera === undefined ? {} : { camera: { source: "synthetic", file: "/dev/video0" } }),
59
+ ...(media.microphone === undefined ? {} : { microphone: { source: "speech" } }),
60
+ permission: media.permission,
61
+ flags: media.permission === "granted" ? ["--use-fake-ui-for-media-stream"] : []
62
+ } };
49
63
  },
50
64
  async openSession() {
51
65
  if (!session)
@@ -71,8 +85,8 @@ export async function runLocalFirecrackerStudy(options) {
71
85
  snapshot: () => evidence
72
86
  };
73
87
  },
74
- ...(account ? { async buildProvider() {
75
- const participant = createRestrictedCodexParticipant();
88
+ ...(account ? { async buildProvider({ executor }) {
89
+ const participant = createRestrictedCodexParticipant({ speechEnabled: executor?.speechEnabled === true });
76
90
  participants.push(participant);
77
91
  return Object.assign(participant.provider, { async close() {
78
92
  if ((await participant.close()).status !== "confirmed") {
@@ -1 +1 @@
1
- {"version":3,"file":"local-firecracker-study.js","sourceRoot":"","sources":["../src/local-firecracker-study.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"local-firecracker-study.js","sourceRoot":"","sources":["../src/local-firecracker-study.ts"],"names":[],"mappings":"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"}
@@ -31,8 +31,11 @@ export function localBrowserUnsupportedReason(config) {
31
31
  actor.lanes?.some(lane => lane.device !== undefined) || desktop.template !== undefined || desktop.sandboxTimeoutMs !== undefined) {
32
32
  return "The local browser runtime currently uses a 960×720 Chromium desktop. Omit hosted templates, device presets and sandboxTimeoutMs.";
33
33
  }
34
- if (desktop.media !== undefined || config.comms !== undefined)
35
- return "Local browser inboxes and media are not integrated yet. Remove comms/media declarations or select a supported hosted route.";
34
+ if (config.comms !== undefined)
35
+ return "Local browser inboxes are not integrated yet. Remove comms declarations or select a supported hosted route.";
36
+ if (desktop.media?.camera !== undefined && desktop.media.camera.source !== "synthetic") {
37
+ return "Local cameras currently use source: synthetic. Camera files remain supported on hosted desktops.";
38
+ }
36
39
  if (actor.type === "local-agent" && (actor.model !== "gpt-6-astra" || actor.reasoningEffort !== "low" ||
37
40
  actor.lanes?.some(lane => lane.reasoningEffort !== undefined && lane.reasoningEffort !== "low") ||
38
41
  actor.maxOutputTokens !== undefined || config.execution?.caps?.maxUsd !== undefined || config.execution?.caps?.maxTotalUsd !== undefined ||
@@ -1 +1 @@
1
- {"version":3,"file":"local-runtime-config.js","sourceRoot":"","sources":["../src/local-runtime-config.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"local-runtime-config.js","sourceRoot":"","sources":["../src/local-runtime-config.ts"],"names":[],"mappings":"AAEA,gFAAgF;AAChF,MAAM,CAAC,MAAM,yBAAyB,GAAG,EAAE,GAAG,MAAM,CAAC;AACrD,MAAM,cAAc,GAAG,EAAE,GAAG,MAAM,CAAC;AAEnC,MAAM,UAAU,iBAAiB,CAAC,MAAiB;IACjD,OAAO,MAAM,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO;QAChF,CAAC,aAAa,EAAE,qBAAqB,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;AAClF,CAAC;AAED,iGAAiG;AACjG,MAAM,UAAU,oBAAoB,CAAC,MAAiB;IACpD,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC;QAAE,OAAO,MAAM,CAAC;IAC9C,OAAO,EAAE,GAAG,MAAM;QAChB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,aAAa,EAAE,eAAe,EAAE,KAAK,CAAC,eAAe,IAAI,KAAK,EAAE,CAAC,CAAC;QACxI,SAAS,EAAE,EAAE,GAAG,MAAM,CAAC,SAAS,EAAE,SAAS,EAAE,MAAM,CAAC,SAAS,EAAE,SAAS,IAAI,cAAc,EAAE,OAAO,EAAE,EAAE,GAAG,MAAM,CAAC,SAAS,EAAE,OAAO;gBACjI,UAAU,EAAE,MAAM,CAAC,SAAS,EAAE,OAAO,EAAE,UAAU,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,EAAE,EAAE;QACrE,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,QAAQ,KAAK,SAAS,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,KAAK,aAAa;YACnF,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,GAAG,MAAM,CAAC,MAAM,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,OAAgB,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;AAC3F,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,MAAiB;IAC7D,MAAM,KAAK,GAAG,MAAM,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IAC/B,MAAM,OAAO,GAAG,MAAM,CAAC,SAAS,EAAE,OAAO,CAAC;IAC1C,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,SAAS,IAAI,cAAc,CAAC,GAAG,cAAc,EAAE,CAAC;QACrE,OAAO,uGAAuG,CAAC;IACjH,CAAC;IACD,IAAI,MAAM,CAAC,MAAM,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK;QACtC,CAAC,KAAK,CAAC,IAAI,KAAK,aAAa,IAAI,CAAC,KAAK,CAAC,UAAU,KAAK,SAAS,IAAI,KAAK,CAAC,UAAU,KAAK,OAAO,CAAC,CAAC,EAAE,CAAC;QACrG,OAAO,gGAAgG,CAAC;IAC1G,CAAC;IACD,IAAI,OAAO,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,GAAG,IAAI,OAAO,CAAC,MAAM,KAAK,SAAS;QACnG,CAAC,OAAO,CAAC,OAAO,KAAK,SAAS,IAAI,CAAC,CAAC,SAAS,EAAE,UAAU,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;QACrF,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,IAAI,OAAO,CAAC,QAAQ,KAAK,SAAS,IAAI,OAAO,CAAC,gBAAgB,KAAK,SAAS,EAAE,CAAC;QACnI,OAAO,kIAAkI,CAAC;IAC5I,CAAC;IACD,IAAI,MAAM,CAAC,KAAK,KAAK,SAAS;QAAE,OAAO,6GAA6G,CAAC;IACrJ,IAAI,OAAO,CAAC,KAAK,EAAE,MAAM,KAAK,SAAS,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,MAAM,KAAK,WAAW,EAAE,CAAC;QACvF,OAAO,kGAAkG,CAAC;IAC5G,CAAC;IACD,IAAI,KAAK,CAAC,IAAI,KAAK,aAAa,IAAI,CAAC,KAAK,CAAC,KAAK,KAAK,aAAa,IAAI,KAAK,CAAC,eAAe,KAAK,KAAK;QACnG,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,eAAe,KAAK,SAAS,IAAI,IAAI,CAAC,eAAe,KAAK,KAAK,CAAC;QAC/F,KAAK,CAAC,eAAe,KAAK,SAAS,IAAI,MAAM,CAAC,SAAS,EAAE,IAAI,EAAE,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,SAAS,EAAE,IAAI,EAAE,WAAW,KAAK,SAAS;QACxI,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,MAAM,KAAK,SAAS,IAAI,MAAM,CAAC,QAAQ,EAAE,IAAI,EAAE,WAAW,KAAK,SAAS,CAAC,EAAE,CAAC;QACnG,OAAO,8JAA8J,CAAC;IACxK,CAAC;IACD,KAAK,MAAM,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC,EAAE,CAAC;QAC9G,IAAI,GAAG,CAAC;QACR,IAAI,CAAC;YAAC,GAAG,GAAG,IAAI,GAAG,CAAC,MAAO,CAAC,CAAC;QAAC,CAAC;QAAC,MAAM,CAAC;YAAC,OAAO,sDAAsD,CAAC;QAAC,CAAC;QACxG,IAAI,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,QAAQ,CAAC;YACnG,GAAG,CAAC,QAAQ,IAAI,GAAG,CAAC,QAAQ,IAAI,MAAM,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,IAAI;YAAE,OAAO,6EAA6E,CAAC;IAClJ,CAAC;IACD,OAAO,SAAS,CAAC;AACnB,CAAC"}
@@ -3,3 +3,5 @@ import type { LocalRuntimeRelease } from "./local-runtime.js";
3
3
  export declare const LOCAL_RUNTIME_RELEASE: LocalRuntimeRelease;
4
4
  /** Architecture-specific artifacts; each retains matching sources and notices. */
5
5
  export declare const LOCAL_RUNTIME_RELEASES: Partial<Record<"amd64" | "arm64", LocalRuntimeRelease>>;
6
+ /** Media assets are separate so ordinary browser studies keep the smaller download. */
7
+ export declare const LOCAL_MEDIA_RUNTIME_RELEASES: Partial<Record<"amd64" | "arm64", LocalRuntimeRelease>>;
@@ -15,4 +15,19 @@ export const LOCAL_RUNTIME_RELEASES = {
15
15
  image: "sha256:fcb7e1e8e5641fa39c7b74016648f2f0da50760546753e5835f6e93f4d50834f"
16
16
  }
17
17
  };
18
+ /** Media assets are separate so ordinary browser studies keep the smaller download. */
19
+ export const LOCAL_MEDIA_RUNTIME_RELEASES = {
20
+ amd64: {
21
+ url: "https://github.com/danielgwilson/humanish/releases/download/runtime-2026.09.26.1/runtime-linux-amd64.tar.gz",
22
+ sha256: "4f352a8b499d06e5d35c01f2a3d5dbd306d71bdeef07014b8440b40e98131f62",
23
+ bytes: 846993108,
24
+ image: "sha256:cc40a86169ba8281c07247cdada01ab2ff2f9a2fec5a0f0971ae1e1e1af2c9e7"
25
+ },
26
+ arm64: {
27
+ url: "https://github.com/danielgwilson/humanish/releases/download/runtime-2026.09.26.2/runtime-linux-arm64.tar.gz",
28
+ sha256: "a87b3d10c2b1c298398332e61dec5736f53388626bd6cbcd70fb11451fdb4c6c",
29
+ bytes: 828220836,
30
+ image: "sha256:ea1beba9a943b5994c259910abe5a50e48b260fe07b99bc235a495d9635862ae"
31
+ }
32
+ };
18
33
  //# sourceMappingURL=local-runtime-release.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"local-runtime-release.js","sourceRoot":"","sources":["../src/local-runtime-release.ts"],"names":[],"mappings":"AAEA,yEAAyE;AACzE,MAAM,CAAC,MAAM,qBAAqB,GAAwB;IACxD,GAAG,EAAE,6GAA6G;IAClH,MAAM,EAAE,kEAAkE;IAC1E,KAAK,EAAE,SAAS;IAChB,KAAK,EAAE,yEAAyE;CACjF,CAAC;AAEF,kFAAkF;AAClF,MAAM,CAAC,MAAM,sBAAsB,GAA4D;IAC7F,KAAK,EAAE,qBAAqB;IAC5B,KAAK,EAAE;QACL,GAAG,EAAE,6GAA6G;QAClH,MAAM,EAAE,kEAAkE;QAC1E,KAAK,EAAE,SAAS;QAChB,KAAK,EAAE,yEAAyE;KACjF;CACF,CAAC"}
1
+ {"version":3,"file":"local-runtime-release.js","sourceRoot":"","sources":["../src/local-runtime-release.ts"],"names":[],"mappings":"AAEA,yEAAyE;AACzE,MAAM,CAAC,MAAM,qBAAqB,GAAwB;IACxD,GAAG,EAAE,6GAA6G;IAClH,MAAM,EAAE,kEAAkE;IAC1E,KAAK,EAAE,SAAS;IAChB,KAAK,EAAE,yEAAyE;CACjF,CAAC;AAEF,kFAAkF;AAClF,MAAM,CAAC,MAAM,sBAAsB,GAA4D;IAC7F,KAAK,EAAE,qBAAqB;IAC5B,KAAK,EAAE;QACL,GAAG,EAAE,6GAA6G;QAClH,MAAM,EAAE,kEAAkE;QAC1E,KAAK,EAAE,SAAS;QAChB,KAAK,EAAE,yEAAyE;KACjF;CACF,CAAC;AAEF,uFAAuF;AACvF,MAAM,CAAC,MAAM,4BAA4B,GAA4D;IACnG,KAAK,EAAE;QACL,GAAG,EAAE,6GAA6G;QAClH,MAAM,EAAE,kEAAkE;QAC1E,KAAK,EAAE,SAAS;QAChB,KAAK,EAAE,yEAAyE;KACjF;IACD,KAAK,EAAE;QACL,GAAG,EAAE,6GAA6G;QAClH,MAAM,EAAE,kEAAkE;QAC1E,KAAK,EAAE,SAAS;QAChB,KAAK,EAAE,yEAAyE;KACjF;CACF,CAAC"}
@@ -13,6 +13,7 @@ export interface LocalRuntimeStatus {
13
13
  assets?: LocalFirecrackerAssets;
14
14
  }
15
15
  interface RuntimeOptions extends RuntimeHostOptions {
16
+ media?: boolean;
16
17
  progress?: (message: string) => void;
17
18
  /** Explicit source-build/test override; never provided by a participant. */
18
19
  release?: LocalRuntimeRelease;
@@ -5,10 +5,10 @@ import { tmpdir } from "node:os";
5
5
  import path from "node:path";
6
6
  import { Readable, Transform } from "node:stream";
7
7
  import { pipeline } from "node:stream/promises";
8
- import { LOCAL_RUNTIME_RELEASES } from "./local-runtime-release.js";
8
+ import { LOCAL_MEDIA_RUNTIME_RELEASES, LOCAL_RUNTIME_RELEASES } from "./local-runtime-release.js";
9
9
  import { limaStatus, loadRuntimeArchive, prepareLima, runtimeArchitecture, runtimeDocker, runtimeExec, usesLima } from "./local-runtime-host.js";
10
10
  const docker = async (args, options) => (await runtimeDocker(args, options)).stdout.trim();
11
- const runtimeRelease = (options) => options.release ?? LOCAL_RUNTIME_RELEASES[runtimeArchitecture(options) ?? "amd64"];
11
+ const runtimeRelease = (options) => options.release ?? (options.media ? LOCAL_MEDIA_RUNTIME_RELEASES : LOCAL_RUNTIME_RELEASES)[runtimeArchitecture(options) ?? "amd64"];
12
12
  /** Read-only host and cache inspection. Never pulls an image or starts a container. */
13
13
  export async function localRuntimeStatus(options = {}) {
14
14
  const architecture = runtimeArchitecture(options), lima = usesLima(options);
@@ -58,27 +58,29 @@ export async function localRuntimeStatus(options = {}) {
58
58
  : "Docker is unavailable. Install/start Docker Engine and give your account access, then run humanish runtime setup." };
59
59
  }
60
60
  const release = runtimeRelease(options);
61
- const reference = env.HUMANISH_LOCAL_RUNTIME_IMAGE?.trim() || release?.image;
61
+ const imageVariable = options.media ? "HUMANISH_LOCAL_MEDIA_RUNTIME_IMAGE" : "HUMANISH_LOCAL_RUNTIME_IMAGE";
62
+ const reference = env[imageVariable]?.trim() || release?.image;
62
63
  if (!reference)
63
- return { ok: false, installed: false, message: "This build does not include a published local runtime. Source builds can set HUMANISH_LOCAL_RUNTIME_IMAGE." };
64
+ return { ok: false, installed: false, message: `This build does not include a published local ${options.media ? "media " : ""}runtime. Source builds can set ${imageVariable}.` };
64
65
  let images;
65
66
  try {
66
67
  images = JSON.parse(await docker(["image", "inspect", reference], options));
67
68
  }
68
69
  catch {
69
- return env.HUMANISH_LOCAL_RUNTIME_IMAGE?.trim()
70
- ? { ok: false, installed: false, message: "HUMANISH_LOCAL_RUNTIME_IMAGE must name an already-built local image. Build or load it before running." }
70
+ return env[imageVariable]?.trim()
71
+ ? { ok: false, installed: false, message: `${imageVariable} must name an already-built local image. Build or load it before running.` }
71
72
  : { ok: true, installed: false, message: "Local runtime will download before the first live run. Run humanish runtime setup to prepare it now." };
72
73
  }
73
74
  const image = images[0];
74
75
  const labels = image?.Config?.Labels ?? {};
75
76
  const revision = labels["to.humanish.runtime.revision"];
76
77
  if (image?.Os !== "linux" || image.Architecture !== architecture || labels["to.humanish.runtime.api"] !== "1" ||
77
- typeof revision !== "string" || !/^guest-api1-[a-f0-9]{64}$/.test(revision)) {
78
+ typeof revision !== "string" || !/^guest-api1-[a-f0-9]{64}$/.test(revision) ||
79
+ (options.media === true && labels["to.humanish.runtime.media"] !== "1")) {
78
80
  return { ok: false, installed: false, message: "The cached image is not a compatible Humanish local browser runtime." };
79
81
  }
80
- return { ok: true, installed: true, message: "Local browser runtime is installed. No E2B key is needed.",
81
- assets: { image: image.Id, runtimeRevision: revision } };
82
+ return { ok: true, installed: true, message: `Local ${options.media ? "media" : "browser"} runtime is installed. No E2B key is needed.`,
83
+ assets: { image: image.Id, runtimeRevision: revision, ...(labels["to.humanish.runtime.media"] === "1" ? { media: true } : {}) } };
82
84
  }
83
85
  /** Docker owns the installed image/cache. The archive is verified before docker load. */
84
86
  export async function prepareLocalRuntime(options = {}) {
@@ -1 +1 @@
1
- {"version":3,"file":"local-runtime.js","sourceRoot":"","sources":["../src/local-runtime.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"local-runtime.js","sourceRoot":"","sources":["../src/local-runtime.ts"],"names":[],"mappings":"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"}
package/dist/program.js CHANGED
@@ -1214,12 +1214,13 @@ function registerRuntimeCommands(parent, io) {
1214
1214
  runtime.command(action)
1215
1215
  .description(action === "status" ? "Check local Docker, virtualization and the cached browser image without downloads." : "Download and install the local browser image. Does not start a study or use model quota.")
1216
1216
  .option("--json", JSON_OPTION_DESCRIPTION)
1217
+ .option("--media", "Prepare or inspect the optional camera and speech runtime.")
1217
1218
  .action(async (_options, command) => {
1218
1219
  const { localRuntimeStatus, prepareLocalRuntime } = await import("./local-runtime.js");
1219
1220
  try {
1220
1221
  if (action === "setup")
1221
- await prepareLocalRuntime({ progress: message => io.writeErr(`${message}\n`) });
1222
- const status = await localRuntimeStatus();
1222
+ await prepareLocalRuntime({ media: _options.media === true, progress: message => io.writeErr(`${message}\n`) });
1223
+ const status = await localRuntimeStatus({ media: _options.media === true });
1223
1224
  const result = { schema: "humanish.runtime-result.v1", ...status };
1224
1225
  writeResult(command, io, result, () => `${status.message}\n`);
1225
1226
  io.setExitCode(status.ok ? 0 : 2);