humanish 0.97.0 → 0.98.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/AGENTS.md +86 -79
- package/CONTRIBUTING.md +7 -2
- package/README.md +7 -1
- package/dist/actor-contract.d.ts +35 -1
- package/dist/actor-contract.js +38 -0
- package/dist/actor-contract.js.map +1 -1
- package/dist/adapter-extension.js +1 -0
- package/dist/adapter-extension.js.map +1 -1
- package/dist/browser-control-client.d.ts +14 -0
- package/dist/browser-control-client.js +134 -0
- package/dist/browser-control-client.js.map +1 -0
- package/dist/browser-control-dispatcher.d.ts +14 -0
- package/dist/browser-control-dispatcher.js +109 -0
- package/dist/browser-control-dispatcher.js.map +1 -0
- package/dist/browser-control-protocol.d.ts +371 -0
- package/dist/browser-control-protocol.js +155 -0
- package/dist/browser-control-protocol.js.map +1 -0
- package/dist/browser-control-transport.d.ts +24 -0
- package/dist/browser-control-transport.js +156 -0
- package/dist/browser-control-transport.js.map +1 -0
- package/dist/comms-lease-store.d.ts +1 -0
- package/dist/comms-lease-store.js +9 -3
- package/dist/comms-lease-store.js.map +1 -1
- package/dist/computer-use-actor.d.ts +2 -2
- package/dist/computer-use-actor.js +6 -1
- package/dist/computer-use-actor.js.map +1 -1
- package/dist/computer-use.d.ts +23 -1
- package/dist/computer-use.js +253 -70
- package/dist/computer-use.js.map +1 -1
- package/dist/cua-actor-lab.d.ts +6 -1
- package/dist/cua-actor-lab.js +55 -15
- package/dist/cua-actor-lab.js.map +1 -1
- package/dist/cua-executor-error.d.ts +31 -0
- package/dist/cua-executor-error.js +48 -0
- package/dist/cua-executor-error.js.map +1 -0
- package/dist/cua-provider-error.d.ts +12 -0
- package/dist/cua-provider-error.js +28 -0
- package/dist/cua-provider-error.js.map +1 -0
- package/dist/desktop-session.js +3 -1
- package/dist/desktop-session.js.map +1 -1
- package/dist/doctor-lab.d.ts +2 -0
- package/dist/doctor-lab.js +25 -7
- package/dist/doctor-lab.js.map +1 -1
- package/dist/e2b-desktop-executor.d.ts +1 -24
- package/dist/e2b-desktop-executor.js +2 -127
- package/dist/e2b-desktop-executor.js.map +1 -1
- package/dist/e2b-terminal-lab.js +1 -0
- package/dist/e2b-terminal-lab.js.map +1 -1
- package/dist/frame-signature.d.ts +24 -0
- package/dist/frame-signature.js +128 -0
- package/dist/frame-signature.js.map +1 -0
- package/dist/guest-bootstrap.d.ts +43 -0
- package/dist/guest-bootstrap.js +240 -0
- package/dist/guest-bootstrap.js.map +1 -0
- package/dist/guest-browser-tools.d.ts +8 -0
- package/dist/guest-browser-tools.js +66 -0
- package/dist/guest-browser-tools.js.map +1 -0
- package/dist/guest-chromium-text.d.ts +27 -0
- package/dist/guest-chromium-text.js +281 -0
- package/dist/guest-chromium-text.js.map +1 -0
- package/dist/guest-desktop-executor.d.ts +22 -0
- package/dist/guest-desktop-executor.js +177 -0
- package/dist/guest-desktop-executor.js.map +1 -0
- package/dist/guest-desktop-native.d.ts +14 -0
- package/dist/guest-desktop-native.js +131 -0
- package/dist/guest-desktop-native.js.map +1 -0
- package/dist/guest-runtime-desktop.d.ts +35 -0
- package/dist/guest-runtime-desktop.js +231 -0
- package/dist/guest-runtime-desktop.js.map +1 -0
- package/dist/guest-runtime-main.d.ts +1 -0
- package/dist/guest-runtime-main.js +31 -0
- package/dist/guest-runtime-main.js.map +1 -0
- package/dist/guest-runtime-revision.d.ts +1 -0
- package/dist/guest-runtime-revision.js +3 -0
- package/dist/guest-runtime-revision.js.map +1 -0
- package/dist/guest-runtime.d.ts +25 -0
- package/dist/guest-runtime.js +96 -0
- package/dist/guest-runtime.js.map +1 -0
- package/dist/lab-config.js +10 -3
- package/dist/lab-config.js.map +1 -1
- package/dist/lab-engine.js +6 -0
- package/dist/lab-engine.js.map +1 -1
- package/dist/lab-summary.d.ts +2 -0
- package/dist/lab-summary.js +5 -0
- package/dist/lab-summary.js.map +1 -1
- package/dist/local-agent-cli.js +1 -1
- package/dist/local-agent-cli.js.map +1 -1
- package/dist/local-firecracker-desktop.d.ts +13 -0
- package/dist/local-firecracker-desktop.js +150 -0
- package/dist/local-firecracker-desktop.js.map +1 -0
- package/dist/local-firecracker-study.d.ts +9 -0
- package/dist/local-firecracker-study.js +93 -0
- package/dist/local-firecracker-study.js.map +1 -0
- package/dist/local-runtime-config.d.ts +6 -0
- package/dist/local-runtime-config.js +56 -0
- package/dist/local-runtime-config.js.map +1 -0
- package/dist/local-runtime-release.d.ts +3 -0
- package/dist/local-runtime-release.js +8 -0
- package/dist/local-runtime-release.js.map +1 -0
- package/dist/local-runtime.d.ts +25 -0
- package/dist/local-runtime.js +113 -0
- package/dist/local-runtime.js.map +1 -0
- package/dist/observer-app.html +4 -4
- package/dist/pricing.d.ts +22 -1
- package/dist/pricing.js +22 -0
- package/dist/pricing.js.map +1 -1
- package/dist/program.js +26 -0
- package/dist/program.js.map +1 -1
- package/dist/restricted-codex-participant-policy.d.ts +39 -0
- package/dist/restricted-codex-participant-policy.js +69 -0
- package/dist/restricted-codex-participant-policy.js.map +1 -0
- package/dist/restricted-codex-participant-run.d.ts +20 -0
- package/dist/restricted-codex-participant-run.js +78 -0
- package/dist/restricted-codex-participant-run.js.map +1 -0
- package/dist/restricted-codex-participant.d.ts +14 -0
- package/dist/restricted-codex-participant.js +178 -0
- package/dist/restricted-codex-participant.js.map +1 -0
- package/dist/restricted-codex-session.d.ts +2 -2
- package/dist/restricted-codex-session.js +11 -17
- package/dist/restricted-codex-session.js.map +1 -1
- package/dist/run-detail.js +4 -2
- package/dist/run-detail.js.map +1 -1
- package/dist/run.d.ts +12 -5
- package/dist/run.js +17 -1
- package/dist/run.js.map +1 -1
- package/dist/shared-world-lab.js +2 -2
- package/dist/shared-world-lab.js.map +1 -1
- package/dist/study-analysis-job.d.ts +2 -2
- package/dist/study-analysis-validation.d.ts +14 -14
- package/dist/study-costs.js +6 -0
- package/dist/study-costs.js.map +1 -1
- package/dist/tui-app.js +37 -37
- package/docs/architecture/browser-control.md +117 -0
- package/docs/architecture/guest-desktop.md +87 -0
- package/docs/architecture/local-browser-runtime.md +100 -0
- package/docs/architecture/restricted-codex-analysis.md +4 -2
- package/docs/architecture/runtime-broker-core.md +30 -0
- package/docs/contracts/schemas.md +1 -1
- package/docs/goals/current.md +24 -8
- package/docs/product/open-source-install-experience.md +7 -0
- package/docs/ramp/README.md +24 -13
- package/docs/release/0.98.0-local-browser-studies.md +31 -0
- package/package.json +4 -2
- package/skills/humanish/SKILL.md +23 -3
package/dist/pricing.d.ts
CHANGED
|
@@ -1,6 +1,24 @@
|
|
|
1
1
|
import type { ActorTokenUsage } from "./actor-contract.js";
|
|
2
2
|
export declare const PRICING_SCHEMA = "humanish.pricing.v1";
|
|
3
3
|
export declare const ACTOR_ESTIMATED_COST_SCHEMA = "humanish.actor-estimated-cost.v1";
|
|
4
|
+
/** Account lanes must never acquire a price through an aggregate or ambiguous model line. */
|
|
5
|
+
export declare function contradictsAccountBilling(streams: readonly {
|
|
6
|
+
id?: string;
|
|
7
|
+
laneId?: string;
|
|
8
|
+
actor?: {
|
|
9
|
+
executionProfile?: {
|
|
10
|
+
billing?: unknown;
|
|
11
|
+
} | undefined;
|
|
12
|
+
};
|
|
13
|
+
liveActor?: {
|
|
14
|
+
executionProfile?: {
|
|
15
|
+
billing?: unknown;
|
|
16
|
+
} | undefined;
|
|
17
|
+
};
|
|
18
|
+
}[], cost: {
|
|
19
|
+
fullyEstimated?: unknown;
|
|
20
|
+
breakdown?: unknown;
|
|
21
|
+
} | undefined): boolean;
|
|
4
22
|
export interface ModelRate {
|
|
5
23
|
/** USD per input token (the per-1M equivalent is noted in the comment beside each entry). */
|
|
6
24
|
inputUsdPerToken: number;
|
|
@@ -63,7 +81,7 @@ export interface ActorEstimatedCost {
|
|
|
63
81
|
schema: typeof ACTOR_ESTIMATED_COST_SCHEMA;
|
|
64
82
|
/** null = declared absent (no rate for the model / no token usage). */
|
|
65
83
|
estimatedCostUsd: number | null;
|
|
66
|
-
reason?: "no_rate_for_model" | "no_token_usage";
|
|
84
|
+
reason?: "no_rate_for_model" | "no_token_usage" | "account_billing_unknown";
|
|
67
85
|
/** Pricing provenance date; null iff estimatedCostUsd is null. */
|
|
68
86
|
ratesAsOf: string | null;
|
|
69
87
|
/** The pricing-page URL/comment that produced the rate. */
|
|
@@ -115,6 +133,9 @@ export declare function round6(n: number): number;
|
|
|
115
133
|
* the rate table is injectable (tests pass a fake sheet). Returns a DECLARED-ABSENT estimate
|
|
116
134
|
* (estimatedCostUsd: null + a reason) for a missing rate or missing usage — never a guessed cost.
|
|
117
135
|
*/
|
|
136
|
+
export declare function estimateActorCostForExecution(usage: ActorTokenUsage | undefined, modelId: string | undefined, profile?: {
|
|
137
|
+
billing?: unknown;
|
|
138
|
+
}): ActorEstimatedCost;
|
|
118
139
|
export declare function estimateActorCost(tokenUsage: ActorTokenUsage | undefined, modelId: string | undefined, rates?: Record<string, ModelRate>): ActorEstimatedCost;
|
|
119
140
|
/**
|
|
120
141
|
* Estimate the E2B desktop-minute cost from a host-side create->teardown span (minutes). The rate
|
package/dist/pricing.js
CHANGED
|
@@ -12,6 +12,22 @@
|
|
|
12
12
|
// so a reader can never confuse an estimate for an authoritative charge (invariant 6).
|
|
13
13
|
export const PRICING_SCHEMA = "humanish.pricing.v1";
|
|
14
14
|
export const ACTOR_ESTIMATED_COST_SCHEMA = "humanish.actor-estimated-cost.v1";
|
|
15
|
+
/** Account lanes must never acquire a price through an aggregate or ambiguous model line. */
|
|
16
|
+
export function contradictsAccountBilling(streams, cost) {
|
|
17
|
+
const account = (stream) => (stream.liveActor?.executionProfile ?? stream.actor?.executionProfile)?.billing === "account-unknown";
|
|
18
|
+
if (!cost || !streams.some(account))
|
|
19
|
+
return false;
|
|
20
|
+
if (cost.fullyEstimated === true)
|
|
21
|
+
return true;
|
|
22
|
+
if (!Array.isArray(cost.breakdown))
|
|
23
|
+
return true;
|
|
24
|
+
return cost.breakdown.some((line) => {
|
|
25
|
+
if (line?.kind !== "model-tokens" || typeof line.estimatedCostUsd !== "number")
|
|
26
|
+
return false;
|
|
27
|
+
const owners = typeof line.laneId === "string" ? streams.filter(s => s.id === line.laneId || s.laneId === line.laneId) : streams;
|
|
28
|
+
return owners.length !== 1 || account(owners[0]);
|
|
29
|
+
});
|
|
30
|
+
}
|
|
15
31
|
// The gpt-5.6 long-context tier: >272K input tokens re-prices the FULL request at 2x
|
|
16
32
|
// input-side / 1.5x output (developers.openai.com/api/docs/models/gpt-5.6-sol, 2026-08-18).
|
|
17
33
|
const GPT56_LONG_CONTEXT = {
|
|
@@ -137,6 +153,12 @@ export function round6(n) {
|
|
|
137
153
|
* the rate table is injectable (tests pass a fake sheet). Returns a DECLARED-ABSENT estimate
|
|
138
154
|
* (estimatedCostUsd: null + a reason) for a missing rate or missing usage — never a guessed cost.
|
|
139
155
|
*/
|
|
156
|
+
export function estimateActorCostForExecution(usage, modelId, profile) {
|
|
157
|
+
return profile?.billing === "account-unknown"
|
|
158
|
+
? { schema: ACTOR_ESTIMATED_COST_SCHEMA, estimatedCostUsd: null, ratesAsOf: null, reason: "account_billing_unknown",
|
|
159
|
+
...(modelId === undefined ? {} : { modelId }) }
|
|
160
|
+
: estimateActorCost(usage, modelId);
|
|
161
|
+
}
|
|
140
162
|
export function estimateActorCost(tokenUsage, modelId, rates = MODEL_RATES) {
|
|
141
163
|
if (!tokenUsage || (tokenUsage.input === undefined && tokenUsage.output === undefined)) {
|
|
142
164
|
return { schema: ACTOR_ESTIMATED_COST_SCHEMA, estimatedCostUsd: null, reason: "no_token_usage", ratesAsOf: null };
|
package/dist/pricing.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pricing.js","sourceRoot":"","sources":["../src/pricing.ts"],"names":[],"mappings":"AAAA,2FAA2F;AAC3F,0FAA0F;AAC1F,6FAA6F;AAC7F,uFAAuF;AACvF,EAAE;AACF,yFAAyF;AACzF,4FAA4F;AAC5F,2FAA2F;AAC3F,+FAA+F;AAC/F,2FAA2F;AAC3F,4FAA4F;AAC5F,uFAAuF;AAMvF,MAAM,CAAC,MAAM,cAAc,GAAG,qBAAqB,CAAC;AACpD,MAAM,CAAC,MAAM,2BAA2B,GAAG,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"pricing.js","sourceRoot":"","sources":["../src/pricing.ts"],"names":[],"mappings":"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"}
|
package/dist/program.js
CHANGED
|
@@ -410,6 +410,7 @@ export function createProgram(io = {}) {
|
|
|
410
410
|
registerStatsCommand(program, cliIo);
|
|
411
411
|
registerExportCommand(program, cliIo);
|
|
412
412
|
registerCommsCommands(program, cliIo);
|
|
413
|
+
registerRuntimeCommands(program, cliIo);
|
|
413
414
|
registerReclaimCommand(program, cliIo);
|
|
414
415
|
registerWatchCommand(program, cliIo);
|
|
415
416
|
registerObserveCommand(program, cliIo);
|
|
@@ -1199,6 +1200,31 @@ function registerRunsCommand(parent, io) {
|
|
|
1199
1200
|
io.setExitCode(result.ok ? 0 : 2);
|
|
1200
1201
|
});
|
|
1201
1202
|
}
|
|
1203
|
+
function registerRuntimeCommands(parent, io) {
|
|
1204
|
+
const runtime = parent.command("runtime").description("Prepare or inspect the local browser runtime.");
|
|
1205
|
+
for (const action of ["status", "setup"]) {
|
|
1206
|
+
runtime.command(action)
|
|
1207
|
+
.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.")
|
|
1208
|
+
.option("--json", JSON_OPTION_DESCRIPTION)
|
|
1209
|
+
.action(async (_options, command) => {
|
|
1210
|
+
const { localRuntimeStatus, prepareLocalRuntime } = await import("./local-runtime.js");
|
|
1211
|
+
try {
|
|
1212
|
+
if (action === "setup")
|
|
1213
|
+
await prepareLocalRuntime({ progress: message => io.writeErr(`${message}\n`) });
|
|
1214
|
+
const status = await localRuntimeStatus();
|
|
1215
|
+
const result = { schema: "humanish.runtime-result.v1", ...status };
|
|
1216
|
+
writeResult(command, io, result, () => `${status.message}\n`);
|
|
1217
|
+
io.setExitCode(status.ok ? 0 : 2);
|
|
1218
|
+
}
|
|
1219
|
+
catch (error) {
|
|
1220
|
+
const message = error instanceof Error ? error.message : "Local runtime setup failed. Run humanish runtime setup to retry.";
|
|
1221
|
+
const result = { schema: "humanish.runtime-result.v1", ok: false, error: { code: "HUMANISH_LOCAL_RUNTIME_SETUP_FAILED", message } };
|
|
1222
|
+
writeResult(command, io, result, () => `${message}\n`);
|
|
1223
|
+
io.setExitCode(2);
|
|
1224
|
+
}
|
|
1225
|
+
});
|
|
1226
|
+
}
|
|
1227
|
+
}
|
|
1202
1228
|
function registerCommsCommands(parent, io) {
|
|
1203
1229
|
const comms = parent
|
|
1204
1230
|
.command("comms")
|