humanish 0.15.2 → 0.16.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 +15 -7
- package/dist/actor-contract.d.ts +2 -3
- package/dist/actor-contract.js +6 -7
- package/dist/actor-contract.js.map +1 -1
- package/dist/actor-registry.d.ts +4 -4
- package/dist/actor-registry.js +8 -7
- package/dist/actor-registry.js.map +1 -1
- package/dist/artifact-reference.js +1 -1
- package/dist/artifact-reference.js.map +1 -1
- package/dist/concurrent-shared-world-lab.js +24 -11
- package/dist/concurrent-shared-world-lab.js.map +1 -1
- package/dist/cua-actor-lab.d.ts +101 -4
- package/dist/cua-actor-lab.js +456 -77
- package/dist/cua-actor-lab.js.map +1 -1
- package/dist/device-presets.d.ts +4 -4
- package/dist/device-presets.js +5 -5
- package/dist/device-presets.js.map +1 -1
- package/dist/e2b-terminal-lab.d.ts +18 -20
- package/dist/e2b-terminal-lab.js +28 -28
- package/dist/e2b-terminal-lab.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.js.map +1 -1
- package/dist/lab-config.d.ts +27 -28
- package/dist/lab-config.js +6 -6
- package/dist/lab-config.js.map +1 -1
- package/dist/lab-engine.d.ts +1 -1
- package/dist/lab-engine.js +8 -10
- package/dist/lab-engine.js.map +1 -1
- package/dist/observer-assets.js +92 -15
- package/dist/observer-assets.js.map +1 -1
- package/dist/oss-meta-lab.js +2 -4
- package/dist/oss-meta-lab.js.map +1 -1
- package/dist/program.js +1 -1
- package/dist/program.js.map +1 -1
- package/dist/run.d.ts +38 -0
- package/dist/run.js +71 -1
- package/dist/run.js.map +1 -1
- package/dist/shared-world-lab.d.ts +20 -1
- package/dist/shared-world-lab.js +197 -23
- package/dist/shared-world-lab.js.map +1 -1
- package/dist/terminal-agent-actor.d.ts +12 -7
- package/dist/terminal-agent-actor.js +18 -16
- package/dist/terminal-agent-actor.js.map +1 -1
- package/docs/architecture/actor-contract.md +32 -21
- package/docs/architecture/observer.md +15 -9
- package/docs/architecture/state-driven-executor.md +3 -3
- package/docs/architecture/terminal-product-lane.md +29 -25
- package/docs/assets/humanish-drawdb-hero.png +0 -0
- package/docs/contracts/adapter-fixtures.md +4 -2
- package/docs/contracts/core.md +9 -4
- package/docs/contracts/feedback.md +4 -2
- package/docs/contracts/policy.md +5 -3
- package/docs/contracts/run-bundle.md +24 -3
- package/docs/contracts/schemas.md +34 -23
- package/docs/goals/current.md +69 -20
- package/docs/ramp/README.md +32 -13
- package/docs/release/open-source-readiness.md +5 -4
- package/docs/release/public-readiness-standard.md +6 -1
- package/package.json +1 -1
package/dist/observer-assets.js
CHANGED
|
@@ -335,7 +335,7 @@ a { color: inherit; text-decoration: none; }
|
|
|
335
335
|
display: grid;
|
|
336
336
|
gap: 14px;
|
|
337
337
|
grid-template-columns: repeat(auto-fill, minmax(min(var(--tile-min), 100%), 1fr));
|
|
338
|
-
align-content: start;
|
|
338
|
+
align-content: start; align-items: start;
|
|
339
339
|
}
|
|
340
340
|
|
|
341
341
|
.tile {
|
|
@@ -354,12 +354,12 @@ a { color: inherit; text-decoration: none; }
|
|
|
354
354
|
|
|
355
355
|
.tile-head {
|
|
356
356
|
display: flex; align-items: center; gap: 8px;
|
|
357
|
-
padding: 0 10px; height:
|
|
357
|
+
padding: 0 10px; height: 38px; flex: none;
|
|
358
358
|
border-bottom: 1px solid var(--line);
|
|
359
359
|
background: var(--surface-1);
|
|
360
360
|
}
|
|
361
|
-
.tile-idx { font-family: var(--mono); font-size:
|
|
362
|
-
.tile-name { font-size:
|
|
361
|
+
.tile-idx { font-family: var(--mono); font-size: 11px; color: var(--text-4); flex: none; }
|
|
362
|
+
.tile-name { font-size: 15px; font-weight: 520; color: var(--text-1); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; flex: 1; min-width: 0; }
|
|
363
363
|
.kind-badge {
|
|
364
364
|
font-family: var(--mono); font-size: 9px; letter-spacing: .08em; text-transform: uppercase;
|
|
365
365
|
padding: 2px 6px; border-radius: 5px; flex: none;
|
|
@@ -400,10 +400,10 @@ a { color: inherit; text-decoration: none; }
|
|
|
400
400
|
}
|
|
401
401
|
.tile-foot {
|
|
402
402
|
display: flex; align-items: center; gap: 8px;
|
|
403
|
-
padding: 0 10px; height:
|
|
403
|
+
padding: 0 10px; height: 36px; flex: none;
|
|
404
404
|
border-top: 1px solid var(--line); background: var(--surface-1);
|
|
405
405
|
}
|
|
406
|
-
.tile-foot-text { font-size:
|
|
406
|
+
.tile-foot-text { font-size: 14px; color: var(--text-2); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; flex: 1; min-width: 0; }
|
|
407
407
|
.tile-foot-text .now-dot { color: var(--accent); margin-right: 6px; }
|
|
408
408
|
.mini-prog { width: 46px; height: 3px; border-radius: 2px; background: var(--line); overflow: hidden; flex: none; }
|
|
409
409
|
.mini-prog > span { display: block; height: 100%; background: var(--accent); transition: width .6s var(--ease-out); }
|
|
@@ -416,6 +416,7 @@ a { color: inherit; text-decoration: none; }
|
|
|
416
416
|
|
|
417
417
|
/* ============================================================ STREAM SURFACES */
|
|
418
418
|
.surface-fill { position: absolute; inset: 0; width: 100%; height: 100%; }
|
|
419
|
+
.surface-screenshot { object-fit: contain; object-position: top center; }
|
|
419
420
|
.live-stream-mount { position: absolute; inset: 0; overflow: hidden; background: #000; }
|
|
420
421
|
.live-stream-overlay { position: absolute; overflow: hidden; pointer-events: none; z-index: 2; }
|
|
421
422
|
.live-stream-overlay[data-focus="true"] .bw-lab-dock { max-height: 86px; }
|
|
@@ -657,6 +658,15 @@ a.cx-artifact:hover { border-color: var(--line-3); color: var(--text-1); }
|
|
|
657
658
|
max-width: 100%; max-height: 100%;
|
|
658
659
|
width: auto; height: 100%;
|
|
659
660
|
}
|
|
661
|
+
.focus-geometry {
|
|
662
|
+
position: absolute; z-index: 4; left: 50%; bottom: 3px; transform: translateX(-50%);
|
|
663
|
+
display: inline-flex; align-items: center; gap: 7px; max-width: calc(100% - 44px);
|
|
664
|
+
height: 19px; padding: 0 8px; border: 1px solid var(--line-2); border-radius: var(--radius-pill);
|
|
665
|
+
background: var(--surface-0); box-shadow: var(--shadow-1); color: var(--text-3);
|
|
666
|
+
font-family: var(--mono); font-size: 8.5px; letter-spacing: .04em; white-space: nowrap;
|
|
667
|
+
}
|
|
668
|
+
.focus-geometry strong { color: var(--text-2); font-weight: 500; }
|
|
669
|
+
.focus-geometry-sep { color: var(--text-4); }
|
|
660
670
|
@supports not (aspect-ratio: 1) { .focus-frame { height: 100%; width: 100%; } }
|
|
661
671
|
|
|
662
672
|
/* side panel */
|
|
@@ -846,6 +856,10 @@ html[data-theme="light"] .scrim { background: rgba(20,28,40,.32); }
|
|
|
846
856
|
width: 100%; height: auto; max-height: none;
|
|
847
857
|
min-height: 280px;
|
|
848
858
|
}
|
|
859
|
+
.focus-geometry {
|
|
860
|
+
position: relative; left: auto; bottom: auto; transform: none;
|
|
861
|
+
width: max-content; max-width: 100%; margin: 8px auto 0; overflow-x: auto;
|
|
862
|
+
}
|
|
849
863
|
.focus-side {
|
|
850
864
|
position: relative; left: auto; right: auto; bottom: auto; top: auto; z-index: auto;
|
|
851
865
|
min-height: 360px; max-height: none; border-left: none; border-top: 1px solid var(--line-2);
|
|
@@ -1024,6 +1038,7 @@ html[data-motion="reduced"] *, html[data-motion="reduced"] *::before, html[data-
|
|
|
1024
1038
|
.sb-counts { display: inline-flex; align-items: center; gap: 8px; flex: none; }
|
|
1025
1039
|
.sb-count { display: inline-flex; align-items: center; gap: 5px; color: var(--text-2); }
|
|
1026
1040
|
.sb-count .si-dot { width: 7px; height: 7px; border-radius: 50%; }
|
|
1041
|
+
.sb-count-number, .sb-count-label { white-space: nowrap; }
|
|
1027
1042
|
.sb-run { color: var(--text-4); font-size: 10.5px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
|
|
1028
1043
|
|
|
1029
1044
|
.sb-console {
|
|
@@ -1046,6 +1061,12 @@ html[data-motion="reduced"] *, html[data-motion="reduced"] *::before, html[data-
|
|
|
1046
1061
|
/* when docked above the bar, drop the console's bottom rounding/shadow seam */
|
|
1047
1062
|
.console + .statusbar { border-top-color: var(--line); }
|
|
1048
1063
|
|
|
1064
|
+
@media (max-width: 1024px) {
|
|
1065
|
+
.sb-count-label { display: none; }
|
|
1066
|
+
}
|
|
1067
|
+
@media (max-width: 900px) {
|
|
1068
|
+
.sb-console-peek { display: none; }
|
|
1069
|
+
}
|
|
1049
1070
|
@media (max-width: 720px) {
|
|
1050
1071
|
.sb-counts, .sb-run, .sb-prog { display: none; }
|
|
1051
1072
|
.sb-console-label { display: none; }
|
|
@@ -1200,17 +1221,71 @@ export function observerClientJs() {
|
|
|
1200
1221
|
function laneEvents(s) { return s.timeline || []; }
|
|
1201
1222
|
function laneArtifacts(s) { return s.artifacts || []; }
|
|
1202
1223
|
|
|
1224
|
+
function geometrySize(value) {
|
|
1225
|
+
var width = value && Number(value.width);
|
|
1226
|
+
var height = value && Number(value.height);
|
|
1227
|
+
return width > 0 && height > 0 ? { width: width, height: height } : null;
|
|
1228
|
+
}
|
|
1229
|
+
function screenSizeFor(s) {
|
|
1230
|
+
var screen = s.desktopGeometry && s.desktopGeometry.screen;
|
|
1231
|
+
return geometrySize(screen && screen.verified) || geometrySize(screen && screen.requested);
|
|
1232
|
+
}
|
|
1233
|
+
function geometrySource(value) {
|
|
1234
|
+
if (value === "cdp") return "CDP";
|
|
1235
|
+
return String(value || "runtime");
|
|
1236
|
+
}
|
|
1237
|
+
function geometryDetailFor(s) {
|
|
1238
|
+
var geometry = s.desktopGeometry;
|
|
1239
|
+
if (!geometry) return "";
|
|
1240
|
+
var screen = geometry.screen || {};
|
|
1241
|
+
var requested = geometrySize(screen.requested);
|
|
1242
|
+
var verified = geometrySize(screen.verified);
|
|
1243
|
+
var browserWindow = geometrySize(geometry.browserWindow);
|
|
1244
|
+
var viewport = geometrySize(geometry.viewport);
|
|
1245
|
+
var bits = [];
|
|
1246
|
+
if (verified) {
|
|
1247
|
+
bits.push("Screen " + verified.width + TIMES + verified.height + " (verified via " + geometrySource(screen.verified && screen.verified.source) + (requested ? "; requested " + requested.width + TIMES + requested.height : "") + ")");
|
|
1248
|
+
} else if (requested) {
|
|
1249
|
+
bits.push("Screen " + requested.width + TIMES + requested.height + " (requested; runtime verification unavailable)");
|
|
1250
|
+
}
|
|
1251
|
+
if (browserWindow) {
|
|
1252
|
+
var x = Number(geometry.browserWindow.x);
|
|
1253
|
+
var y = Number(geometry.browserWindow.y);
|
|
1254
|
+
var origin = isFinite(x) && isFinite(y) ? " at " + x + "," + y : "";
|
|
1255
|
+
bits.push("Browser window " + browserWindow.width + TIMES + browserWindow.height + origin + " (" + geometrySource(geometry.browserWindow.source) + ")");
|
|
1256
|
+
}
|
|
1257
|
+
if (viewport) {
|
|
1258
|
+
var dpr = Number(geometry.viewport.deviceScaleFactor);
|
|
1259
|
+
bits.push("CSS viewport " + viewport.width + TIMES + viewport.height + (dpr > 0 ? ", DPR " + dpr : "") + " (" + geometrySource(geometry.viewport.source) + ")");
|
|
1260
|
+
}
|
|
1261
|
+
return bits.join(" · ");
|
|
1262
|
+
}
|
|
1263
|
+
function focusGeometry(s) {
|
|
1264
|
+
var screen = screenSizeFor(s);
|
|
1265
|
+
var viewport = geometrySize(s.desktopGeometry && s.desktopGeometry.viewport);
|
|
1266
|
+
if (!screen && !viewport) return "";
|
|
1267
|
+
var parts = [];
|
|
1268
|
+
if (screen) parts.push('<span>SCREEN <strong>' + screen.width + TIMES + screen.height + '</strong></span>');
|
|
1269
|
+
if (viewport) {
|
|
1270
|
+
var dpr = Number(s.desktopGeometry.viewport.deviceScaleFactor);
|
|
1271
|
+
parts.push('<span>VIEWPORT <strong>' + viewport.width + TIMES + viewport.height + '</strong>' + (dpr > 0 ? ' · DPR <strong>' + esc(dpr) + '</strong>' : '') + '</span>');
|
|
1272
|
+
}
|
|
1273
|
+
var detail = geometryDetailFor(s);
|
|
1274
|
+
return '<div class="focus-geometry" title="' + esc(detail) + '" aria-label="' + esc(detail) + '">' + parts.join('<span class="focus-geometry-sep">·</span>') + '</div>';
|
|
1275
|
+
}
|
|
1203
1276
|
function aspectFor(s) {
|
|
1204
1277
|
if (s.kind === "terminal" || s.kind === "tui") return "16 / 10";
|
|
1205
|
-
var
|
|
1206
|
-
if (
|
|
1278
|
+
var frame = screenSizeFor(s) || geometrySize(s.viewport);
|
|
1279
|
+
if (frame) return frame.width + " / " + frame.height;
|
|
1207
1280
|
return "16 / 9";
|
|
1208
1281
|
}
|
|
1209
1282
|
function dimsFor(s) {
|
|
1210
1283
|
if (s.kind === "terminal") return "CLI";
|
|
1211
1284
|
if (s.kind === "tui") return "TUI";
|
|
1212
1285
|
if (s.kind === "codex-ui") return "CODEX";
|
|
1213
|
-
var
|
|
1286
|
+
var screen = screenSizeFor(s);
|
|
1287
|
+
if (screen) return screen.width + TIMES + screen.height;
|
|
1288
|
+
var vp = geometrySize(s.viewport);
|
|
1214
1289
|
if (vp) return vp.width > vp.height ? (vp.width + TIMES + vp.height) : "MOB";
|
|
1215
1290
|
return "SIM";
|
|
1216
1291
|
}
|
|
@@ -1514,7 +1589,7 @@ export function observerClientJs() {
|
|
|
1514
1589
|
var dock = focus ? browserLabDock(s, shot) : "";
|
|
1515
1590
|
var body;
|
|
1516
1591
|
if (liveUrl && S.media === "live") body = liveStreamMount(s, liveUrl);
|
|
1517
|
-
else if (shot) body = '<img class="surface-fill
|
|
1592
|
+
else if (shot) body = '<img class="surface-fill surface-screenshot" src="' + esc(shot) + '" alt="' + (s.desktopGeometry ? "desktop screenshot" : "browser screenshot") + '"/>';
|
|
1518
1593
|
else body = '<div class="bw-app-wait"><div class="wait-spinner" style="width:24px;height:24px"></div>'
|
|
1519
1594
|
+ '<div class="mono" style="font-size:9px">' + esc(route) + '</div>'
|
|
1520
1595
|
+ '<div style="font-size:10px">' + esc(laneStep(s)) + '</div></div>';
|
|
@@ -1917,11 +1992,13 @@ export function observerClientJs() {
|
|
|
1917
1992
|
var TILE_MIN = { comfortable: "440px", compact: "330px", dense: "240px" };
|
|
1918
1993
|
function buildTile(s, i) {
|
|
1919
1994
|
var live = tone(s.status) === "running";
|
|
1920
|
-
|
|
1995
|
+
var geometryDetail = geometryDetailFor(s);
|
|
1996
|
+
var accessibleLabel = "Open lane " + pad2(i + 1) + ": " + laneName(s) + (geometryDetail ? ". " + geometryDetail : "");
|
|
1997
|
+
return '<article class="tile" data-selected="' + (s.id === S.focusedId ? "true" : "false") + '" tabindex="0" role="button" data-action="open:' + esc(s.id) + '" aria-label="' + esc(accessibleLabel) + '">'
|
|
1921
1998
|
+ '<header class="tile-head"><span class="tile-idx mono">' + pad2(i + 1) + '</span>' + pip(s.status, live)
|
|
1922
1999
|
+ '<span class="tile-name" title="' + esc(laneName(s)) + '">' + esc(laneName(s)) + '</span>'
|
|
1923
2000
|
+ '<span class="kind-badge" data-kind="' + esc(s.kind) + '">' + esc(s.kindLabel || s.kind) + '</span>'
|
|
1924
|
-
+ '<span class="tile-dims mono">' + esc(dimsFor(s)) + '</span>'
|
|
2001
|
+
+ '<span class="tile-dims mono"' + (geometryDetail ? ' title="' + esc(geometryDetail) + '"' : '') + '>' + esc(dimsFor(s)) + '</span>'
|
|
1925
2002
|
+ '<span class="tile-open">' + icon("expand", 13) + '</span></header>'
|
|
1926
2003
|
+ '<div class="tile-surface" style="--aspect:' + aspectFor(s) + '">' + streamSurface(s, false) + '</div>'
|
|
1927
2004
|
+ '<footer class="tile-foot" data-status="' + esc(s.status) + '"><span class="tile-foot-text">' + (live ? '<span class="now-dot">▸</span>' : '') + esc(laneStep(s)) + '</span>'
|
|
@@ -2104,7 +2181,7 @@ export function observerClientJs() {
|
|
|
2104
2181
|
+ '<span class="rail-meta"><span class="rail-name">' + esc(laneName(r)) + '</span><span class="rail-sub">' + pip(r.status, tone(r.status) === "running") + ' ' + esc(r.kindLabel || r.kind) + '</span></span></button>';
|
|
2105
2182
|
}).join("") + '</div></aside>';
|
|
2106
2183
|
|
|
2107
|
-
var stage = '<section class="focus-stage"><div class="focus-stage-area"><div class="focus-frame" style="--aspect:' + aspectFor(s) + '">' + streamSurface(s, true) + '</div
|
|
2184
|
+
var stage = '<section class="focus-stage"><div class="focus-stage-area"><div class="focus-frame" style="--aspect:' + aspectFor(s) + '">' + streamSurface(s, true) + '</div>' + focusGeometry(s) + '</div></section>';
|
|
2108
2185
|
|
|
2109
2186
|
var side = '<aside class="focus-side" aria-hidden="' + (S.sideCollapsed ? "true" : "false") + '" data-sheet="' + (S.sheetOpen ? "open" : "closed") + '">'
|
|
2110
2187
|
+ '<button class="sheet-grip" data-action="toggle-sheet" aria-label="Toggle details"></button>'
|
|
@@ -2150,8 +2227,8 @@ export function observerClientJs() {
|
|
|
2150
2227
|
return '<footer class="statusbar">'
|
|
2151
2228
|
+ '<span class="sb-status" data-tone="' + tone(overall) + '">' + pip(overall, tone(overall) === "running") + '<span class="sb-status-label mono">' + statusLabel(overall) + '</span><span class="sb-pct mono">' + pct + '%</span></span>'
|
|
2152
2229
|
+ '<span class="sb-prog"><span style="width:' + pct + '%" data-tone="' + tone(overall) + '"></span></span>'
|
|
2153
|
-
+ '<span class="sb-counts">' + counts.map(function (c) { return '<span class="sb-count" title="' + c.count + ' ' + c.label + '"><span class="si-dot" style="background:' + c.color + '"></span><span class="mono">' + c.count + '</span></span>'; }).join("") + '</span>'
|
|
2154
|
-
+ '<span class="sb-run mono">' + esc((run.mode || "") + " · " + (run.runId || "")) + '</span>'
|
|
2230
|
+
+ '<span class="sb-counts">' + counts.map(function (c) { return '<span class="sb-count" title="' + c.count + ' ' + c.label + '"><span class="si-dot" style="background:' + c.color + '"></span><span class="mono sb-count-number">' + c.count + '</span><span class="mono sb-count-label">' + c.label + '</span></span>'; }).join("") + '</span>'
|
|
2231
|
+
+ '<span class="sb-run mono">' + esc("mode: " + (run.mode || "unknown") + " · " + (run.runId || "")) + '</span>'
|
|
2155
2232
|
+ '<div class="tb-spacer"></div>'
|
|
2156
2233
|
+ '<button class="sb-console" aria-expanded="' + (S.consoleOpen ? "true" : "false") + '" data-action="toggle-console" title="Run console (backtick)">' + icon("terminal", 14)
|
|
2157
2234
|
+ '<span class="sb-console-label">Run console</span>' + peek
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"observer-assets.js","sourceRoot":"","sources":["../src/observer-assets.ts"],"names":[],"mappings":"AAAA,uDAAuD;AACvD,EAAE;AACF,6EAA6E;AAC7E,2EAA2E;AAC3E,gFAAgF;AAChF,+EAA+E;AAC/E,iEAAiE;AACjE,EAAE;AACF,8EAA8E;AAC9E,8EAA8E;AAC9E,4EAA4E;AAC5E,+CAA+C;AAE/C,MAAM,UAAU,WAAW;IACzB,OAAO
|
|
1
|
+
{"version":3,"file":"observer-assets.js","sourceRoot":"","sources":["../src/observer-assets.ts"],"names":[],"mappings":"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"}
|
package/dist/oss-meta-lab.js
CHANGED
|
@@ -1119,10 +1119,8 @@ function buildMetaBundle(args) {
|
|
|
1119
1119
|
...(screenshot ? { url: screenshot.observerUrl } : {}),
|
|
1120
1120
|
title: `E2B desktop ${assignment.index}`
|
|
1121
1121
|
},
|
|
1122
|
-
|
|
1123
|
-
width: 1440,
|
|
1124
|
-
height: 960,
|
|
1125
|
-
deviceScaleFactor: 1
|
|
1122
|
+
desktopGeometry: {
|
|
1123
|
+
screen: { requested: { width: 1440, height: 960 } }
|
|
1126
1124
|
},
|
|
1127
1125
|
terminal: {
|
|
1128
1126
|
title: `${appServerMode ? "Codex app-server" : "Codex"} bootstrap - ${repoLabel}`,
|