humanish 0.102.0 → 0.103.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.
- package/README.md +2 -1
- package/dist/browser-control-client.d.ts +3 -1
- package/dist/browser-control-client.js +41 -5
- package/dist/browser-control-client.js.map +1 -1
- package/dist/browser-control-dispatcher.d.ts +6 -1
- package/dist/browser-control-dispatcher.js +38 -3
- package/dist/browser-control-dispatcher.js.map +1 -1
- package/dist/browser-control-protocol.d.ts +24 -0
- package/dist/browser-control-protocol.js +7 -4
- package/dist/browser-control-protocol.js.map +1 -1
- package/dist/browser-control-recording-transfer.d.ts +4 -0
- package/dist/browser-control-recording-transfer.js +42 -0
- package/dist/browser-control-recording-transfer.js.map +1 -0
- package/dist/browser-control-transport.d.ts +3 -0
- package/dist/browser-control-transport.js +23 -2
- package/dist/browser-control-transport.js.map +1 -1
- package/dist/cua-actor-lab.d.ts +5 -2
- package/dist/cua-actor-lab.js +9 -1
- package/dist/cua-actor-lab.js.map +1 -1
- package/dist/cua-desktop-lane.d.ts +1 -1
- package/dist/desktop-recorder.d.ts +39 -0
- package/dist/desktop-recorder.js +220 -0
- package/dist/desktop-recorder.js.map +1 -0
- package/dist/desktop-recording-artifact.d.ts +5 -0
- package/dist/desktop-recording-artifact.js +54 -0
- package/dist/desktop-recording-artifact.js.map +1 -0
- package/dist/desktop-recording-types.d.ts +24 -0
- package/dist/desktop-recording-types.js +14 -0
- package/dist/desktop-recording-types.js.map +1 -0
- package/dist/doctor-lab.js +1 -1
- package/dist/doctor-lab.js.map +1 -1
- package/dist/e2b-cua-desktop.js +31 -7
- package/dist/e2b-cua-desktop.js.map +1 -1
- package/dist/e2b-desktop-launch.d.ts +8 -0
- package/dist/e2b-desktop-launch.js.map +1 -1
- package/dist/e2b-desktop-recording.d.ts +16 -0
- package/dist/e2b-desktop-recording.js +162 -0
- package/dist/e2b-desktop-recording.js.map +1 -0
- package/dist/export-bundle.js +2 -0
- package/dist/export-bundle.js.map +1 -1
- package/dist/export.js +19 -3
- package/dist/export.js.map +1 -1
- package/dist/guest-bootstrap.d.ts +4 -2
- package/dist/guest-bootstrap.js +14 -8
- package/dist/guest-bootstrap.js.map +1 -1
- package/dist/guest-runtime-desktop.d.ts +3 -1
- package/dist/guest-runtime-desktop.js +44 -2
- package/dist/guest-runtime-desktop.js.map +1 -1
- package/dist/guest-runtime-main.js +3 -2
- package/dist/guest-runtime-main.js.map +1 -1
- package/dist/guest-runtime.d.ts +7 -2
- package/dist/guest-runtime.js +3 -2
- package/dist/guest-runtime.js.map +1 -1
- package/dist/lab-config.d.ts +4 -0
- package/dist/lab-config.js +11 -0
- package/dist/lab-config.js.map +1 -1
- package/dist/lab-summary.js +1 -1
- package/dist/lab-summary.js.map +1 -1
- package/dist/local-firecracker-desktop.d.ts +7 -1
- package/dist/local-firecracker-desktop.js +10 -2
- package/dist/local-firecracker-desktop.js.map +1 -1
- package/dist/local-firecracker-study.js +14 -2
- package/dist/local-firecracker-study.js.map +1 -1
- package/dist/local-runtime-release.js +8 -8
- package/dist/observer-app.html +9 -9
- package/dist/observer-serve.js +1 -1
- package/dist/observer-serve.js.map +1 -1
- package/dist/observer.d.ts +2 -2
- package/dist/observer.js +106 -27
- package/dist/observer.js.map +1 -1
- package/dist/run.d.ts +4 -2
- package/dist/run.js +49 -9
- package/dist/run.js.map +1 -1
- package/dist/selected-output-paths.d.ts +3 -0
- package/dist/selected-output-paths.js +29 -17
- package/dist/selected-output-paths.js.map +1 -1
- package/docs/architecture/desktop-recording.md +65 -0
- package/docs/architecture/participant-media.md +4 -4
- package/docs/contracts/run-bundle.md +27 -0
- package/docs/contracts/schemas.md +1 -1
- package/docs/goals/current.md +5 -5
- package/docs/ramp/README.md +5 -1
- package/docs/release/0.103.0-desktop-recording.md +29 -0
- package/package.json +1 -1
- package/skills/humanish/SKILL.md +6 -0
package/dist/cua-actor-lab.js
CHANGED
|
@@ -771,7 +771,7 @@ export async function runCuaLane(spec, deps) {
|
|
|
771
771
|
deps.signalProvisioned(ok);
|
|
772
772
|
}
|
|
773
773
|
};
|
|
774
|
-
const desktopLane = deps.createDesktopLane?.(spec, warnings) ?? createE2BCuaDesktopLane(spec, deps, warnings);
|
|
774
|
+
const desktopLane = deps.createDesktopLane?.(spec, warnings, deps.artifactRoot) ?? createE2BCuaDesktopLane(spec, deps, warnings);
|
|
775
775
|
try {
|
|
776
776
|
await desktopLane.prepare();
|
|
777
777
|
const ready = await desktopLane.openSession();
|
|
@@ -1375,6 +1375,9 @@ async function runCuaActorLabInScope(options) {
|
|
|
1375
1375
|
if (inProcessRoute && config.execution?.desktop?.media !== undefined) {
|
|
1376
1376
|
return fail("HUMANISH_CUA_LAB_SUBJECT_INVALID", "execution.desktop.media is not provisioned by a caller-supplied executor. Remove the declaration or use a hosted computer-use browser lane.", descriptor.id);
|
|
1377
1377
|
}
|
|
1378
|
+
if (inProcessRoute && config.execution?.desktop?.recording !== undefined) {
|
|
1379
|
+
return fail("HUMANISH_CUA_LAB_SUBJECT_INVALID", "execution.desktop.recording is not provisioned by a caller-supplied executor.", descriptor.id);
|
|
1380
|
+
}
|
|
1378
1381
|
const localAppSubject = config.subject.source === "local-app";
|
|
1379
1382
|
// Adopter-hosted comms plane on the app-url route (#380): humanish provisions no subject here,
|
|
1380
1383
|
// so it cannot host a catch — the OPERATOR runs one, and humanish still does every other part
|
|
@@ -2273,6 +2276,7 @@ function buildSingleLaneBundle(args) {
|
|
|
2273
2276
|
desktopRoute: !args.inProcessRoute,
|
|
2274
2277
|
feedbackSubstrate: args.inProcessRoute ? "local-filesystem" : args.config.execution?.target === "local" ? "local-desktop" : "e2b-desktop",
|
|
2275
2278
|
...(outcome?.desktopGeometry === undefined ? {} : { desktopGeometry: outcome.desktopGeometry }),
|
|
2279
|
+
...(outcome?.recording === undefined ? {} : { recording: outcome.recording }),
|
|
2276
2280
|
isMobile: spec.devicePreset.isMobile,
|
|
2277
2281
|
runId: args.runId,
|
|
2278
2282
|
screenshots: outcome?.screenshots ?? [],
|
|
@@ -2687,6 +2691,7 @@ export function buildCuaBundle(args) {
|
|
|
2687
2691
|
}
|
|
2688
2692
|
}),
|
|
2689
2693
|
...(desktopGeometry === undefined ? {} : { desktopGeometry }),
|
|
2694
|
+
...(args.recording === undefined ? {} : { recording: args.recording }),
|
|
2690
2695
|
ui: {
|
|
2691
2696
|
route: publicAppUrl,
|
|
2692
2697
|
intent: "Watch the computer-use actor drive the subject app in a hosted desktop browser.",
|
|
@@ -2706,6 +2711,7 @@ export function buildCuaBundle(args) {
|
|
|
2706
2711
|
...(args.commsArtifactPath
|
|
2707
2712
|
? [{ label: "comms thread", path: args.commsArtifactPath, kind: "log" }]
|
|
2708
2713
|
: []),
|
|
2714
|
+
...(args.recording ? [{ label: "desktop recording", path: args.recording.path, kind: "recording" }] : []),
|
|
2709
2715
|
...args.screenshots.map((screenshot, index) => ({
|
|
2710
2716
|
label: `screenshot ${String(index + 1).padStart(2, "0")} (${screenshotMode})`,
|
|
2711
2717
|
path: screenshot,
|
|
@@ -3085,6 +3091,7 @@ export function buildCuaFanoutBundle(args) {
|
|
|
3085
3091
|
}
|
|
3086
3092
|
}),
|
|
3087
3093
|
desktopGeometry,
|
|
3094
|
+
...(outcome?.recording === undefined ? {} : { recording: outcome.recording }),
|
|
3088
3095
|
ui: {
|
|
3089
3096
|
route: publicLaneAppUrl,
|
|
3090
3097
|
intent: `Watch lane ${spec.laneId} (${spec.persona.id}/${spec.deviceName}) drive the subject app in its own hosted desktop.`,
|
|
@@ -3103,6 +3110,7 @@ export function buildCuaFanoutBundle(args) {
|
|
|
3103
3110
|
...(outcome?.commsArtifactPath
|
|
3104
3111
|
? [{ label: `lane ${spec.laneId} comms thread`, path: outcome.commsArtifactPath, kind: "log" }]
|
|
3105
3112
|
: []),
|
|
3113
|
+
...(outcome?.recording ? [{ label: "desktop recording", path: outcome.recording.path, kind: "recording" }] : []),
|
|
3106
3114
|
...screenshots.map((screenshot, screenshotIndex) => ({
|
|
3107
3115
|
label: `lane ${spec.laneId} screenshot ${String(screenshotIndex + 1).padStart(2, "0")} (${screenshotMode})`,
|
|
3108
3116
|
path: screenshot,
|