humanish 0.17.0 → 0.19.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 (63) hide show
  1. package/README.md +53 -21
  2. package/dist/actor-contract.d.ts +11 -1
  3. package/dist/actor-contract.js.map +1 -1
  4. package/dist/computer-use-actor.d.ts +4 -0
  5. package/dist/computer-use-actor.js +3 -1
  6. package/dist/computer-use-actor.js.map +1 -1
  7. package/dist/computer-use.d.ts +16 -0
  8. package/dist/computer-use.js +59 -6
  9. package/dist/computer-use.js.map +1 -1
  10. package/dist/concurrent-shared-world-lab.js +1 -0
  11. package/dist/concurrent-shared-world-lab.js.map +1 -1
  12. package/dist/cua-actor-lab.d.ts +33 -3
  13. package/dist/cua-actor-lab.js +169 -2
  14. package/dist/cua-actor-lab.js.map +1 -1
  15. package/dist/index.d.ts +3 -1
  16. package/dist/index.js +1 -0
  17. package/dist/index.js.map +1 -1
  18. package/dist/lab-config.d.ts +12 -0
  19. package/dist/lab-config.js +12 -0
  20. package/dist/lab-config.js.map +1 -1
  21. package/dist/observer-assets.js +37 -3
  22. package/dist/observer-assets.js.map +1 -1
  23. package/dist/observer-data.d.ts +7 -1
  24. package/dist/observer-data.js +1 -0
  25. package/dist/observer-data.js.map +1 -1
  26. package/dist/observer-library.d.ts +5 -1
  27. package/dist/observer-library.js +9 -7
  28. package/dist/observer-library.js.map +1 -1
  29. package/dist/observer-serve.d.ts +11 -23
  30. package/dist/observer-serve.js +12 -92
  31. package/dist/observer-serve.js.map +1 -1
  32. package/dist/observer.d.ts +6 -0
  33. package/dist/observer.js +52 -1
  34. package/dist/observer.js.map +1 -1
  35. package/dist/pricing.d.ts +78 -0
  36. package/dist/pricing.js +100 -0
  37. package/dist/pricing.js.map +1 -0
  38. package/dist/program.js +294 -122
  39. package/dist/program.js.map +1 -1
  40. package/dist/run.d.ts +54 -0
  41. package/dist/run.js +86 -0
  42. package/dist/run.js.map +1 -1
  43. package/dist/serve-exposure.d.ts +62 -0
  44. package/dist/serve-exposure.js +129 -0
  45. package/dist/serve-exposure.js.map +1 -0
  46. package/dist/serve-http.d.ts +8 -0
  47. package/dist/serve-http.js +37 -0
  48. package/dist/serve-http.js.map +1 -0
  49. package/dist/serve-tunnel.d.ts +6 -2
  50. package/dist/serve-tunnel.js +9 -0
  51. package/dist/serve-tunnel.js.map +1 -1
  52. package/docs/architecture/actor-contract.md +41 -3
  53. package/docs/architecture/observer.md +30 -0
  54. package/docs/architecture/serve.md +138 -82
  55. package/docs/contracts/run-bundle.md +23 -0
  56. package/docs/contracts/schemas.md +111 -15
  57. package/docs/goals/current.md +1 -1
  58. package/docs/principles/invariants-and-defaults.md +2 -1
  59. package/docs/ramp/README.md +1 -1
  60. package/package.json +1 -1
  61. package/dist/observer-auth.d.ts +0 -21
  62. package/dist/observer-auth.js +0 -92
  63. package/dist/observer-auth.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"concurrent-shared-world-lab.js","sourceRoot":"","sources":["../src/concurrent-shared-world-lab.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"concurrent-shared-world-lab.js","sourceRoot":"","sources":["../src/concurrent-shared-world-lab.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import type { ActorCompletionReason, ActorPersonaRef, ActorStatus } from "./actor-contract.js";
1
+ import type { ActorCompletionReason, ActorPersonaRef, ActorStatus, ActorTrace } from "./actor-contract.js";
2
2
  import { type BrowserLabAdapterHooks } from "./adapter-extension.js";
3
3
  import { type CuaActorDescriptor } from "./actor-registry.js";
4
4
  import type { CuaActorSessionOptions } from "./computer-use-actor.js";
@@ -11,7 +11,7 @@ import { renderObserver, type ObserverResult } from "./observer.js";
11
11
  import { type PreparedOutputDirectory } from "./selected-output-paths.js";
12
12
  import { type LocalTreeArchive } from "./source-archive.js";
13
13
  import type { StopWhen } from "./stop-conditions.js";
14
- import { type RunBundle, type RunDesktopGeometry, type RunRerunLineage, type RunProviderResource, type RunSubjectProvenance, type RunSubjectStateStepRecord } from "./run.js";
14
+ import { type RunBundle, type RunDesktopGeometry, type RunRerunLineage, type RunProviderResource, type RunCostSummary, type RunSubjectProvenance, type RunSubjectStateStepRecord } from "./run.js";
15
15
  export declare const CUA_ACTOR_LAB_SCHEMA = "humanish.cua-lab-result.v2";
16
16
  export declare const CUA_FANOUT_STRATEGY: "per-lane-worlds";
17
17
  export declare const CUA_ACTOR_LAB_PROVIDER_METADATA: {
@@ -125,6 +125,10 @@ export interface CuaActorLabHooks extends BrowserLabAdapterHooks {
125
125
  }) => Promise<CuaProvider>;
126
126
  env?: Record<string, string | undefined>;
127
127
  renderObserverFn?: typeof renderObserver;
128
+ /** Injected clock (ms) for the host-side E2B desktop create->teardown span measurement that
129
+ * feeds the desktop-minute cost estimate. Defaults to Date.now; tests inject a frozen/stepped
130
+ * clock so the desktop-minute line is deterministic. */
131
+ now?: () => number;
128
132
  /** Injected clock/sleep for the detached-step polling (tests only). */
129
133
  detachedTimers?: DetachedTimers;
130
134
  /**
@@ -246,7 +250,7 @@ export interface CuaLaneSummary {
246
250
  concurrency: number;
247
251
  waves: number;
248
252
  }
249
- export type CuaActorLabErrorCode = "HUMANISH_CUA_LAB_FAILED" | "HUMANISH_CUA_LAB_KEYS_MISSING" | "HUMANISH_CUA_LAB_SUBJECT_ENV_MISSING" | "HUMANISH_CUA_LAB_ACTOR_UNSUPPORTED" | "HUMANISH_CUA_LAB_SUBJECT_INVALID" | "HUMANISH_CUA_LAB_SUBJECT_UNSAFE" | "HUMANISH_CUA_LAB_EXECUTOR_NO_PROVIDER" | "HUMANISH_CUA_LAB_LOCAL_APP_NO_EXECUTOR" | "HUMANISH_CUA_LAB_FANOUT_INVALID" | "HUMANISH_CUA_LAB_RERUN_INVALID" | "HUMANISH_CUA_LAB_DEVICE_GEOMETRY";
253
+ export type CuaActorLabErrorCode = "HUMANISH_CUA_LAB_FAILED" | "HUMANISH_CUA_LAB_KEYS_MISSING" | "HUMANISH_CUA_LAB_SUBJECT_ENV_MISSING" | "HUMANISH_CUA_LAB_ACTOR_UNSUPPORTED" | "HUMANISH_CUA_LAB_SUBJECT_INVALID" | "HUMANISH_CUA_LAB_SUBJECT_UNSAFE" | "HUMANISH_CUA_LAB_EXECUTOR_NO_PROVIDER" | "HUMANISH_CUA_LAB_LOCAL_APP_NO_EXECUTOR" | "HUMANISH_CUA_LAB_FANOUT_INVALID" | "HUMANISH_CUA_LAB_RERUN_INVALID" | "HUMANISH_CUA_LAB_DEVICE_GEOMETRY" | "HUMANISH_CUA_LAB_UNPRICED_CAP" | "HUMANISH_WATCH_ALLOW_REQUIRES_OAUTH" | "HUMANISH_WATCH_OAUTH_REQUIRES_TUNNEL" | "HUMANISH_WATCH_OPTION_CONFLICT" | "HUMANISH_WATCH_TUNNEL_REQUIRES_EXPOSE" | "HUMANISH_WATCH_EXPOSE_REQUIRES_EDGE_AUTH" | "HUMANISH_WATCH_EXPOSE_REQUIRES_LIVE_FOLLOW" | "HUMANISH_WATCH_SAFE_NOT_APPLICABLE" | "HUMANISH_SERVE_TUNNEL_NOT_FOUND" | "HUMANISH_SERVE_TUNNEL_START_FAILED";
250
254
  /** Subject provenance projection (invariant 5): what the actor actually drove. */
251
255
  export interface CuaSubjectProjection {
252
256
  source: "app-url" | "clone" | "local-tree";
@@ -416,6 +420,9 @@ export interface CuaLaneDeps {
416
420
  redactScreenshots: boolean;
417
421
  scrubKnownValues: (text: string) => string;
418
422
  runSession: (options: CuaActorSessionOptions) => Promise<CuaLoopResult>;
423
+ /** Injected clock (ms). Used to measure the host-side E2B desktop create->teardown span so the
424
+ * desktop-minute cost estimate is deterministic in tests. Defaults to Date.now. */
425
+ now: () => number;
419
426
  hooks: CuaActorLabHooks;
420
427
  /** Lane-0 only: signal the pipeline gate after provisioning succeeds (true) or fails (false). */
421
428
  signalProvisioned?: (ok: boolean) => void;
@@ -434,6 +441,10 @@ export interface LaneRunOutcome {
434
441
  session?: CuaLoopResult;
435
442
  sessionError?: string;
436
443
  sandboxId?: string;
444
+ /** Host-side E2B desktop create->teardown span (ms). An APPROXIMATION of E2B's server-side
445
+ * billed lifetime (server-side kill-on-timeout can extend it) — so the derived dollar figure is
446
+ * doubly an estimate. Absent on the in-process route (no sandbox) and on dry-run. */
447
+ desktopDurationMs?: number;
437
448
  killed: boolean;
438
449
  streamUrlPresent: boolean;
439
450
  screenshots: string[];
@@ -635,6 +646,22 @@ export declare function resolveSubjectState(args: {
635
646
  * `stream.actor = session.trace` — the provider-neutral ActorTrace seam the Observer renders.
636
647
  * Exported for the bundle-builder tests.
637
648
  */
649
+ /**
650
+ * Assemble the run-level cost ESTIMATE from each lane's persisted per-actor estimate
651
+ * (trace.estimatedCost, set at the lab boundary) plus the aggregated E2B desktop-minute span.
652
+ * Returns undefined (cost OMITTED) when nothing was priceable AND no sandbox ran — a pure dry-run
653
+ * or an in-process lane (no trace.estimatedCost, no desktop) stays byte-stable with no cost block.
654
+ * The null-discipline mirrors the terminal ledger: a present-but-unpriceable line is null + a
655
+ * reason and contributes NOTHING to estimatedTotalUsd (never coerced to 0); an all-null summary
656
+ * has a null total. Every non-null figure carries its ratesAsOf date + source (invariant 6).
657
+ */
658
+ export declare function buildCuaCostSummary(args: {
659
+ lanes: Array<{
660
+ laneId?: string;
661
+ trace: ActorTrace;
662
+ }>;
663
+ desktopMinutes: number | undefined;
664
+ }): RunCostSummary | undefined;
638
665
  export declare function buildCuaBundle(args: {
639
666
  actorId: string;
640
667
  appUrl: string;
@@ -687,6 +714,9 @@ export declare function buildCuaBundle(args: {
687
714
  /** Completed subject-phase records (clone/upload/extract/install/build/ready/state groups)
688
715
  * to fold into bundle.events, so run.json carries real phase timing after the fact. */
689
716
  phaseEvents?: SubjectPhaseEvent[];
717
+ /** Host-side E2B desktop billed span for this lane, in minutes (from LaneRunOutcome
718
+ * desktopDurationMs). Absent when no sandbox ran (in-process/dry-run) → no desktop cost line. */
719
+ desktopMinutes?: number;
690
720
  }): RunBundle;
691
721
  /**
692
722
  * Project N>1 fan-out lanes into a humanish.run-bundle.v1 (the evidence schema is unchanged; this
@@ -28,6 +28,7 @@ import { pathToFileURL } from "node:url";
28
28
  import { adapterScoreFailureMessage, applyBrowserAdapterHooks } from "./adapter-extension.js";
29
29
  import { actorRegistry, isCuaActorDescriptor } from "./actor-registry.js";
30
30
  import { CHROMIUM_EVIDENCE_HYGIENE_FLAGS, chromiumEvidenceProfilePreferencesJson } from "./browser-evidence-hygiene.js";
31
+ import { DEFAULT_OPENAI_CU_MODEL } from "./openai-responses-cu.js";
31
32
  import { createDesktopSandbox, loadE2BDesktopModule } from "./e2b-desktop-launch.js";
32
33
  import { probeUrl, readDetachedLog, runDetachedStep, startDetachedProcess } from "./e2b-detached.js";
33
34
  import { DEFAULT_DEVICE_PRESET, isDevicePresetName, resolveDevicePreset } from "./device-presets.js";
@@ -41,6 +42,7 @@ import { assertPreparedSelectedOutputDirectory, assertSafeOutputPathSegment, pre
41
42
  import { prepareRunArtifactPaths, validatePreparedRunArtifactPaths } from "./run-paths.js";
42
43
  import { createLocalTreeArchive } from "./source-archive.js";
43
44
  import { buildRunSource, loadRunBundle, PUBLIC_TARGET_CWD, REVIEW_SCHEMA, RUN_BUNDLE_SCHEMA } from "./run.js";
45
+ import { estimateActorCost, estimateDesktopCost, MODEL_RATES, round6 } from "./pricing.js";
44
46
  export const CUA_ACTOR_LAB_SCHEMA = "humanish.cua-lab-result.v2";
45
47
  // The only fan-out topology this slice ships: N lanes = N independent E2B desktop sandboxes,
46
48
  // each its own world (clone/serve + subject.state per lane). Shared-world is layer 7 (#164).
@@ -964,6 +966,11 @@ export async function runCuaLane(spec, deps) {
964
966
  let sessionError;
965
967
  let failureCode;
966
968
  let sandboxId;
969
+ // Host-side E2B desktop billed-span endpoints, measured via the injected clock. Captured right
970
+ // after create() succeeds and again in the finally after teardown resolves (both the killed and
971
+ // kept-for-debug paths), so the desktop-minute cost estimate reflects the honest lifetime.
972
+ let sandboxCreatedAtMs;
973
+ let sandboxTornDownAtMs;
967
974
  let killed = false;
968
975
  let streamUrl;
969
976
  let subjectCommit;
@@ -1013,6 +1020,8 @@ export async function runCuaLane(spec, deps) {
1013
1020
  lifecycle: { onTimeout: "kill" }
1014
1021
  }, config.execution?.desktop?.template);
1015
1022
  sandboxId = desktop.sandboxId;
1023
+ // The billed span starts the instant the sandbox exists.
1024
+ sandboxCreatedAtMs = deps.now();
1016
1025
  if (deps.hooks.prepareDesktop) {
1017
1026
  await deps.hooks.prepareDesktop(desktop, { laneId: spec.laneId, laneIndex: spec.laneIndex, laneCount: deps.laneCount });
1018
1027
  }
@@ -1127,6 +1136,12 @@ export async function runCuaLane(spec, deps) {
1127
1136
  catch (error) {
1128
1137
  warnings.push(`Live desktop stream unavailable (run continues; evidence still captured): ${redactText(deps.scrubKnownValues(toErrorMessage(error)))}`);
1129
1138
  }
1139
+ // The FAIL-CLOSED spend cap (execution.caps.maxUsd) is wired into the loop as maxUsd + an
1140
+ // injected pure per-turn estimator keyed on the resolved model. Preflight already refused a
1141
+ // cap on an unpriced model, so the estimate is measurable whenever a cap is in force. The
1142
+ // model id here matches provider.version (openai-responses-cu resolves the default when unset).
1143
+ const capModelId = config.actors[0]?.model ?? DEFAULT_OPENAI_CU_MODEL;
1144
+ const maxUsd = config.execution?.caps?.maxUsd;
1130
1145
  const sessionOptions = {
1131
1146
  instructions: spec.instructions,
1132
1147
  persona: spec.persona,
@@ -1135,6 +1150,12 @@ export async function runCuaLane(spec, deps) {
1135
1150
  apiKey: deps.openaiApiKey,
1136
1151
  ...(config.actors[0]?.model ? { model: config.actors[0].model } : {})
1137
1152
  },
1153
+ ...(maxUsd === undefined
1154
+ ? {}
1155
+ : {
1156
+ maxUsd,
1157
+ estimateTurnCostUsd: (input, output) => estimateActorCost({ input, output }, capModelId).estimatedCostUsd
1158
+ }),
1138
1159
  desktop: desktop,
1139
1160
  ...(launchedBrowserFamily === "chromium"
1140
1161
  ? {
@@ -1220,9 +1241,22 @@ export async function runCuaLane(spec, deps) {
1220
1241
  else {
1221
1242
  warnings.push("Installed @e2b/desktop SDK does not expose Sandbox.kill; server-side kill-on-timeout will reclaim the sandbox.");
1222
1243
  }
1244
+ // Close the billed span for BOTH the killed and kept-for-debug paths (a kept sandbox is
1245
+ // still billed until its server-side timeout, so the honest span ends here either way).
1246
+ sandboxTornDownAtMs = deps.now();
1223
1247
  }
1224
1248
  }
1249
+ // Host-side approximation of the E2B desktop's billed lifetime; feeds the desktop-minute cost
1250
+ // estimate. Never negative.
1251
+ const desktopDurationMs = sandboxCreatedAtMs !== undefined && sandboxTornDownAtMs !== undefined
1252
+ ? Math.max(0, sandboxTornDownAtMs - sandboxCreatedAtMs)
1253
+ : undefined;
1225
1254
  if (session) {
1255
+ // Per-lane model-token cost ESTIMATE, attached to the trace before it is persisted (the model
1256
+ // id is authoritative here — provider.version). Kept at the lab boundary so the pure loop
1257
+ // never depends on the operator rate table. estimateActorCost declares absent (null) for an
1258
+ // unknown rate / missing usage rather than guessing.
1259
+ session.trace.estimatedCost = estimateActorCost(session.trace.tokenUsage, session.trace.ids.model);
1226
1260
  await writeContainedOutputFile(deps.artifactRoot, spec.traceArtifactPath, `${JSON.stringify(session.trace, null, 2)}\n`, "utf8");
1227
1261
  if (session.trace.redaction.screenshots === "raw") {
1228
1262
  warnings.push("Screenshots are full-fidelity (raw) for local use — the bundle stays in gitignored .humanish and nothing scans these pixels; review them before sharing anywhere. Set policies.redactScreenshots: true to blur a share-as-is bundle.");
@@ -1249,6 +1283,7 @@ export async function runCuaLane(spec, deps) {
1249
1283
  ...(session ? { session } : {}),
1250
1284
  ...(sessionError === undefined ? {} : { sessionError }),
1251
1285
  ...(sandboxId === undefined ? {} : { sandboxId }),
1286
+ ...(desktopDurationMs === undefined ? {} : { desktopDurationMs }),
1252
1287
  killed,
1253
1288
  streamUrlPresent: streamUrl !== undefined,
1254
1289
  screenshots,
@@ -1693,6 +1728,18 @@ export async function runCuaActorLab(options) {
1693
1728
  if (missingSubjectEnv.length > 0) {
1694
1729
  return fail("HUMANISH_CUA_LAB_SUBJECT_ENV_MISSING", `subject.env declares ${missingSubjectEnv.join(", ")} but the environment does not provide ${missingSubjectEnv.length === 1 ? "it" : "them"} (pass via --env-file; values are never persisted).`, descriptor.id);
1695
1730
  }
1731
+ // FAIL-CLOSED CAP TENSION (discipline #3): a maxUsd cap needs a MEASURABLE per-turn estimate.
1732
+ // If the operator set execution.caps.maxUsd but src/pricing.ts has no rate for the resolved
1733
+ // model, the loop could not enforce the cap — and silently running uncapped would break the
1734
+ // runaway-retry protection. Refuse at PREFLIGHT (before any sandbox/spend) rather than run
1735
+ // uncapped: an unenforceable cap is more dangerous than none. The operator adds a rate to
1736
+ // src/pricing.ts (the honest place) or removes the cap.
1737
+ if (config.execution?.caps?.maxUsd !== undefined) {
1738
+ const capModelId = (config.actors[0]?.model ?? DEFAULT_OPENAI_CU_MODEL).trim().toLowerCase();
1739
+ if (!MODEL_RATES[capModelId]) {
1740
+ return fail("HUMANISH_CUA_LAB_UNPRICED_CAP", `execution.caps.maxUsd is set but src/pricing.ts has no rate for model "${config.actors[0]?.model ?? DEFAULT_OPENAI_CU_MODEL}"; add a rate or remove the cap — an unenforceable cap is refused rather than run uncapped.`, descriptor.id);
1741
+ }
1742
+ }
1696
1743
  }
1697
1744
  const runId = options.runId ?? makeCuaRunId();
1698
1745
  const runPaths = await prepareRunArtifactPaths(cwd, runId);
@@ -1757,6 +1804,7 @@ export async function runCuaActorLab(options) {
1757
1804
  redactScreenshots,
1758
1805
  scrubKnownValues,
1759
1806
  runSession,
1807
+ now: hooks.now ?? Date.now,
1760
1808
  hooks: liveHooks
1761
1809
  };
1762
1810
  const inProgressLaneSubjects = laneSpecs.map(() => laneSubjectProjection({
@@ -1856,6 +1904,14 @@ export async function runCuaActorLab(options) {
1856
1904
  // `first.source !== "clone"` branch below returns it directly, with no unanimity math needed
1857
1905
  // (there is nothing that could diverge).
1858
1906
  const aggregateWarnings = [];
1907
+ // execution.caps.maxUsd is a PER-LANE cap: it is enforced INSIDE each lane's loop independently,
1908
+ // so an N-lane fan-out can spend up to N × maxUsd before any lane aborts, while the run cost
1909
+ // summary reports the (larger) aggregate. Warn at run level so the operator sees the true ceiling.
1910
+ // A shared, run-level budget is future work — there is no cross-lane counter today.
1911
+ const perLaneCapUsd = config.execution?.caps?.maxUsd;
1912
+ if (perLaneCapUsd !== undefined && laneCount > 1) {
1913
+ aggregateWarnings.push(`execution.caps.maxUsd ($${perLaneCapUsd}) is a PER-LANE cap; ${laneCount} lanes may spend up to ${laneCount} × $${perLaneCapUsd} (~$${round6(perLaneCapUsd * laneCount)} total) before any lane aborts. A shared run-level budget is future work.`);
1914
+ }
1859
1915
  const aggregateSubject = (() => {
1860
1916
  const first = laneSubjects[0];
1861
1917
  if (first.source !== "clone") {
@@ -2129,6 +2185,9 @@ function buildSingleLaneBundle(args) {
2129
2185
  }),
2130
2186
  ...(args.localAppSubject || args.inProcessRoute ? { entryKind: "local-app" } : {}),
2131
2187
  ...(outcome?.session ? { traceArtifactPath: spec.traceArtifactPath } : {}),
2188
+ ...(desktopSpanToMinutes(outcome?.desktopDurationMs) === undefined
2189
+ ? {}
2190
+ : { desktopMinutes: desktopSpanToMinutes(outcome?.desktopDurationMs) }),
2132
2191
  phaseEvents: outcome?.phaseRecords ?? []
2133
2192
  });
2134
2193
  }
@@ -2455,8 +2514,103 @@ function tailOf(log) {
2455
2514
  * `stream.actor = session.trace` — the provider-neutral ActorTrace seam the Observer renders.
2456
2515
  * Exported for the bundle-builder tests.
2457
2516
  */
2517
+ /**
2518
+ * Assemble the run-level cost ESTIMATE from each lane's persisted per-actor estimate
2519
+ * (trace.estimatedCost, set at the lab boundary) plus the aggregated E2B desktop-minute span.
2520
+ * Returns undefined (cost OMITTED) when nothing was priceable AND no sandbox ran — a pure dry-run
2521
+ * or an in-process lane (no trace.estimatedCost, no desktop) stays byte-stable with no cost block.
2522
+ * The null-discipline mirrors the terminal ledger: a present-but-unpriceable line is null + a
2523
+ * reason and contributes NOTHING to estimatedTotalUsd (never coerced to 0); an all-null summary
2524
+ * has a null total. Every non-null figure carries its ratesAsOf date + source (invariant 6).
2525
+ */
2526
+ export function buildCuaCostSummary(args) {
2527
+ const breakdown = [];
2528
+ let sumInput = 0;
2529
+ let sumOutput = 0;
2530
+ for (const lane of args.lanes) {
2531
+ const usage = lane.trace.tokenUsage;
2532
+ if (usage) {
2533
+ sumInput += usage.input ?? 0;
2534
+ sumOutput += usage.output ?? 0;
2535
+ }
2536
+ const est = lane.trace.estimatedCost;
2537
+ if (!est) {
2538
+ continue;
2539
+ }
2540
+ breakdown.push({
2541
+ kind: "model-tokens",
2542
+ ...(lane.laneId === undefined ? {} : { laneId: lane.laneId }),
2543
+ ...(est.modelId === undefined ? {} : { modelId: est.modelId }),
2544
+ estimatedCostUsd: est.estimatedCostUsd,
2545
+ ...(est.reason === undefined ? {} : { reason: est.reason }),
2546
+ ratesAsOf: est.ratesAsOf,
2547
+ ...(est.source === undefined ? {} : { source: est.source }),
2548
+ ...(est.placeholder ? { placeholder: true } : {})
2549
+ });
2550
+ }
2551
+ if (args.desktopMinutes !== undefined) {
2552
+ const desktop = estimateDesktopCost(args.desktopMinutes);
2553
+ breakdown.push({
2554
+ kind: "desktop-minutes",
2555
+ estimatedCostUsd: desktop.estimatedCostUsd,
2556
+ ...(desktop.reason === undefined ? {} : { reason: desktop.reason }),
2557
+ ratesAsOf: desktop.ratesAsOf,
2558
+ ...(desktop.source === undefined ? {} : { source: desktop.source }),
2559
+ ...(desktop.placeholder ? { placeholder: true } : {})
2560
+ });
2561
+ }
2562
+ if (breakdown.length === 0) {
2563
+ return undefined;
2564
+ }
2565
+ let knownSum = 0;
2566
+ let anyKnown = false;
2567
+ let anyNull = false;
2568
+ let placeholder = false;
2569
+ // Aggregate freshness is CONSERVATIVE: an aggregate estimate is only as current as its OLDEST
2570
+ // contributing rate, so ratesAsOf takes the MIN (oldest) asOf — MAX would overclaim freshness the
2571
+ // moment operator-edited rates in src/pricing.ts diverge. Each breakdown line keeps its own true asOf.
2572
+ let minRatesAsOf = null;
2573
+ for (const line of breakdown) {
2574
+ if (line.estimatedCostUsd === null) {
2575
+ anyNull = true;
2576
+ continue;
2577
+ }
2578
+ anyKnown = true;
2579
+ knownSum += line.estimatedCostUsd;
2580
+ if (line.placeholder)
2581
+ placeholder = true;
2582
+ if (line.ratesAsOf !== null && (minRatesAsOf === null || line.ratesAsOf < minRatesAsOf)) {
2583
+ minRatesAsOf = line.ratesAsOf;
2584
+ }
2585
+ }
2586
+ const estimatedTotalUsd = anyKnown ? round6(knownSum) : null;
2587
+ const note = estimatedTotalUsd === null
2588
+ ? `No priced spend lines this run — every cost line is DECLARED ABSENT (unknown rate / no usage / no duration); nothing is guessed. Add a rate to src/pricing.ts to estimate this model.`
2589
+ : `Estimated ${estimatedTotalUsd} USD total${anyNull ? " (LOWER BOUND — some lines unmeasured/unpriced)" : ""}${placeholder ? "; includes PLACEHOLDER rate(s) — confirm before trusting the magnitude" : ""}. Every figure is an ESTIMATE (rates as of ${minRatesAsOf} — the OLDEST contributing rate, since an aggregate is only as fresh as its stalest input), a rate-table multiply, NOT an authoritative provider charge.`;
2590
+ return {
2591
+ schema: "humanish.run-cost-summary.v1",
2592
+ currency: "usd",
2593
+ estimatedTotalUsd,
2594
+ ratesAsOf: minRatesAsOf,
2595
+ fullyEstimated: !anyNull,
2596
+ placeholder,
2597
+ breakdown,
2598
+ tokenUsage: { input: sumInput, output: sumOutput, total: sumInput + sumOutput },
2599
+ desktopMinutes: args.desktopMinutes ?? null,
2600
+ note
2601
+ };
2602
+ }
2603
+ // Convert a host-side desktop span (ms) into billed minutes, or undefined when no sandbox ran.
2604
+ function desktopSpanToMinutes(desktopDurationMs) {
2605
+ return desktopDurationMs === undefined ? undefined : desktopDurationMs / 60_000;
2606
+ }
2458
2607
  export function buildCuaBundle(args) {
2459
2608
  const publicAppUrl = publicSafeAppUrlLabel(args.appUrl);
2609
+ // Run-level cost ESTIMATE (advisory; omitted when nothing was priced and no sandbox ran).
2610
+ const cost = buildCuaCostSummary({
2611
+ lanes: args.session ? [{ ...(args.laneId === undefined ? {} : { laneId: args.laneId }), trace: args.session.trace }] : [],
2612
+ desktopMinutes: args.desktopMinutes
2613
+ });
2460
2614
  const status = args.inProgress === true
2461
2615
  ? "running"
2462
2616
  : args.session
@@ -2728,7 +2882,8 @@ export function buildCuaBundle(args) {
2728
2882
  // honest on app-url bundles too — the caller minted the URL, its state is the caller's.
2729
2883
  // CuaSubjectProvenanceArg's two variants (clone, local-tree) are already RunSubjectProvenance-
2730
2884
  // shaped, so no reconstruction is needed beyond the app-url fallback.
2731
- subject: args.subjectProvenance ?? { source: "app-url", state: { provenance: "undeclared" } }
2885
+ subject: args.subjectProvenance ?? { source: "app-url", state: { provenance: "undeclared" } },
2886
+ ...(cost === undefined ? {} : { cost })
2732
2887
  };
2733
2888
  }
2734
2889
  /** Human-readable provenance line for the single-lane subject.provenance event (invariant 5):
@@ -3086,6 +3241,17 @@ export function buildCuaFanoutBundle(args) {
3086
3241
  streamId: outcome.spec.streamId,
3087
3242
  laneId: outcome.spec.laneId
3088
3243
  }));
3244
+ // Run-level cost ESTIMATE: one model-token line per lane that ran a session (from its persisted
3245
+ // trace.estimatedCost) + one aggregate desktop-minutes line summing each lane's OWN sandbox span
3246
+ // (per-lane worlds => no shared provisioning to double-count). Omitted on a pure dry-run.
3247
+ const costLanes = specs
3248
+ .map((spec, index) => ({ laneId: spec.laneId, outcome: outcomes?.[index] }))
3249
+ .filter((entry) => entry.outcome?.session !== undefined)
3250
+ .map((entry) => ({ laneId: entry.laneId, trace: entry.outcome.session.trace }));
3251
+ const desktopMinutesTotal = (outcomes ?? []).some((outcome) => outcome.desktopDurationMs !== undefined)
3252
+ ? (outcomes ?? []).reduce((sum, outcome) => sum + (outcome.desktopDurationMs ?? 0), 0) / 60_000
3253
+ : undefined;
3254
+ const cost = buildCuaCostSummary({ lanes: costLanes, desktopMinutes: desktopMinutesTotal });
3089
3255
  return {
3090
3256
  schema: RUN_BUNDLE_SCHEMA,
3091
3257
  runId: args.runId,
@@ -3142,7 +3308,8 @@ export function buildCuaFanoutBundle(args) {
3142
3308
  ? {}
3143
3309
  : { desktopBrowser: { requested: configuredBrowser, ...(unanimousResolvedBrowser === undefined ? {} : { resolved: unanimousResolvedBrowser }) } }),
3144
3310
  ...(providerResources.length === 0 ? {} : { providerResources }),
3145
- subject: args.aggregateSubject
3311
+ subject: args.aggregateSubject,
3312
+ ...(cost === undefined ? {} : { cost })
3146
3313
  };
3147
3314
  }
3148
3315
  function providerResourcesForOutcome(args) {