humanish 0.0.1 → 0.15.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 +77 -0
- package/CONTRIBUTING.md +39 -0
- package/LICENSE +21 -0
- package/README.md +435 -8
- package/SECURITY.md +34 -0
- package/dist/actor-contract.d.ts +107 -0
- package/dist/actor-contract.js +286 -0
- package/dist/actor-contract.js.map +1 -0
- package/dist/actor-registry.d.ts +73 -0
- package/dist/actor-registry.js +93 -0
- package/dist/actor-registry.js.map +1 -0
- package/dist/adapter-extension.d.ts +54 -0
- package/dist/adapter-extension.js +214 -0
- package/dist/adapter-extension.js.map +1 -0
- package/dist/argv.d.ts +1 -0
- package/dist/argv.js +8 -0
- package/dist/argv.js.map +1 -0
- package/dist/artifact-reference.d.ts +22 -0
- package/dist/artifact-reference.js +47 -0
- package/dist/artifact-reference.js.map +1 -0
- package/dist/browser-evidence-hygiene.d.ts +7 -0
- package/dist/browser-evidence-hygiene.js +40 -0
- package/dist/browser-evidence-hygiene.js.map +1 -0
- package/dist/claude-agent-sdk.d.ts +94 -0
- package/dist/claude-agent-sdk.js +356 -0
- package/dist/claude-agent-sdk.js.map +1 -0
- package/dist/cli.d.ts +2 -0
- package/dist/cli.js +5 -0
- package/dist/cli.js.map +1 -0
- package/dist/codex-app-server-ui.d.ts +39 -0
- package/dist/codex-app-server-ui.js +327 -0
- package/dist/codex-app-server-ui.js.map +1 -0
- package/dist/codex-app-server.d.ts +141 -0
- package/dist/codex-app-server.js +747 -0
- package/dist/codex-app-server.js.map +1 -0
- package/dist/command-failure.d.ts +29 -0
- package/dist/command-failure.js +54 -0
- package/dist/command-failure.js.map +1 -0
- package/dist/computer-use-actor.d.ts +52 -0
- package/dist/computer-use-actor.js +48 -0
- package/dist/computer-use-actor.js.map +1 -0
- package/dist/computer-use.d.ts +232 -0
- package/dist/computer-use.js +615 -0
- package/dist/computer-use.js.map +1 -0
- package/dist/concurrency.d.ts +1 -0
- package/dist/concurrency.js +27 -0
- package/dist/concurrency.js.map +1 -0
- package/dist/concurrent-shared-world-lab.d.ts +115 -0
- package/dist/concurrent-shared-world-lab.js +1092 -0
- package/dist/concurrent-shared-world-lab.js.map +1 -0
- package/dist/core/git-state.d.ts +31 -0
- package/dist/core/git-state.js +142 -0
- package/dist/core/git-state.js.map +1 -0
- package/dist/core/index.d.ts +4 -0
- package/dist/core/index.js +3 -0
- package/dist/core/index.js.map +1 -0
- package/dist/core/run-primitives.d.ts +66 -0
- package/dist/core/run-primitives.js +120 -0
- package/dist/core/run-primitives.js.map +1 -0
- package/dist/cua-actor-lab.d.ts +620 -0
- package/dist/cua-actor-lab.js +2834 -0
- package/dist/cua-actor-lab.js.map +1 -0
- package/dist/device-presets.d.ts +67 -0
- package/dist/device-presets.js +50 -0
- package/dist/device-presets.js.map +1 -0
- package/dist/e2b-desktop-executor.d.ts +101 -0
- package/dist/e2b-desktop-executor.js +309 -0
- package/dist/e2b-desktop-executor.js.map +1 -0
- package/dist/e2b-desktop-launch.d.ts +144 -0
- package/dist/e2b-desktop-launch.js +59 -0
- package/dist/e2b-desktop-launch.js.map +1 -0
- package/dist/e2b-detached.d.ts +53 -0
- package/dist/e2b-detached.js +130 -0
- package/dist/e2b-detached.js.map +1 -0
- package/dist/e2b-terminal-lab.d.ts +345 -0
- package/dist/e2b-terminal-lab.js +1467 -0
- package/dist/e2b-terminal-lab.js.map +1 -0
- package/dist/env-file.d.ts +14 -0
- package/dist/env-file.js +108 -0
- package/dist/env-file.js.map +1 -0
- package/dist/feedback.d.ts +51 -0
- package/dist/feedback.js +313 -0
- package/dist/feedback.js.map +1 -0
- package/dist/image-evidence.d.ts +2 -0
- package/dist/image-evidence.js +33 -0
- package/dist/image-evidence.js.map +1 -0
- package/dist/index.d.ts +63 -0
- package/dist/index.js +33 -0
- package/dist/index.js.map +1 -0
- package/dist/init-templates.d.ts +12 -0
- package/dist/init-templates.js +369 -0
- package/dist/init-templates.js.map +1 -0
- package/dist/init.d.ts +26 -0
- package/dist/init.js +343 -0
- package/dist/init.js.map +1 -0
- package/dist/lab-app-runner.d.ts +78 -0
- package/dist/lab-app-runner.js +403 -0
- package/dist/lab-app-runner.js.map +1 -0
- package/dist/lab-config.d.ts +578 -0
- package/dist/lab-config.js +1751 -0
- package/dist/lab-config.js.map +1 -0
- package/dist/lab-engine.d.ts +77 -0
- package/dist/lab-engine.js +216 -0
- package/dist/lab-engine.js.map +1 -0
- package/dist/lab-preflight.d.ts +67 -0
- package/dist/lab-preflight.js +385 -0
- package/dist/lab-preflight.js.map +1 -0
- package/dist/labs.d.ts +53 -0
- package/dist/labs.js +176 -0
- package/dist/labs.js.map +1 -0
- package/dist/observer-assets.d.ts +2 -0
- package/dist/observer-assets.js +2630 -0
- package/dist/observer-assets.js.map +1 -0
- package/dist/observer-data.d.ts +63 -0
- package/dist/observer-data.js +145 -0
- package/dist/observer-data.js.map +1 -0
- package/dist/observer-static.d.ts +39 -0
- package/dist/observer-static.js +192 -0
- package/dist/observer-static.js.map +1 -0
- package/dist/observer.d.ts +46 -0
- package/dist/observer.js +353 -0
- package/dist/observer.js.map +1 -0
- package/dist/openai-responses-cu.d.ts +113 -0
- package/dist/openai-responses-cu.js +531 -0
- package/dist/openai-responses-cu.js.map +1 -0
- package/dist/oss-lab.d.ts +52 -0
- package/dist/oss-lab.js +299 -0
- package/dist/oss-lab.js.map +1 -0
- package/dist/oss-meta-lab-scoring.d.ts +15 -0
- package/dist/oss-meta-lab-scoring.js +145 -0
- package/dist/oss-meta-lab-scoring.js.map +1 -0
- package/dist/oss-meta-lab.d.ts +279 -0
- package/dist/oss-meta-lab.js +4889 -0
- package/dist/oss-meta-lab.js.map +1 -0
- package/dist/oss-remote-telemetry.d.ts +77 -0
- package/dist/oss-remote-telemetry.js +403 -0
- package/dist/oss-remote-telemetry.js.map +1 -0
- package/dist/persona.d.ts +35 -0
- package/dist/persona.js +133 -0
- package/dist/persona.js.map +1 -0
- package/dist/pi-agent-core.d.ts +77 -0
- package/dist/pi-agent-core.js +203 -0
- package/dist/pi-agent-core.js.map +1 -0
- package/dist/program.d.ts +54 -0
- package/dist/program.js +2347 -0
- package/dist/program.js.map +1 -0
- package/dist/redaction.d.ts +90 -0
- package/dist/redaction.js +292 -0
- package/dist/redaction.js.map +1 -0
- package/dist/run.d.ts +784 -0
- package/dist/run.js +4555 -0
- package/dist/run.js.map +1 -0
- package/dist/scripted-browser-actor.d.ts +294 -0
- package/dist/scripted-browser-actor.js +1286 -0
- package/dist/scripted-browser-actor.js.map +1 -0
- package/dist/scripted-browser-lab.d.ts +107 -0
- package/dist/scripted-browser-lab.js +738 -0
- package/dist/scripted-browser-lab.js.map +1 -0
- package/dist/shared-world-lab.d.ts +208 -0
- package/dist/shared-world-lab.js +1048 -0
- package/dist/shared-world-lab.js.map +1 -0
- package/dist/source-archive.d.ts +82 -0
- package/dist/source-archive.js +365 -0
- package/dist/source-archive.js.map +1 -0
- package/dist/stop-conditions.d.ts +26 -0
- package/dist/stop-conditions.js +66 -0
- package/dist/stop-conditions.js.map +1 -0
- package/dist/terminal-agent-actor.d.ts +36 -0
- package/dist/terminal-agent-actor.js +23 -0
- package/dist/terminal-agent-actor.js.map +1 -0
- package/docs/architecture/actor-contract.md +431 -0
- package/docs/architecture/github-feedback-loop.md +189 -0
- package/docs/architecture/local-codex-tui-actor.md +213 -0
- package/docs/architecture/observer.md +118 -0
- package/docs/architecture/oss-lab-poc.md +242 -0
- package/docs/architecture/project-layout.md +166 -0
- package/docs/architecture/state-driven-executor.md +203 -0
- package/docs/architecture/terminal-product-lane.md +148 -0
- package/docs/contracts/adapter-fixtures.md +80 -0
- package/docs/contracts/core.md +71 -0
- package/docs/contracts/feedback.md +145 -0
- package/docs/contracts/policy.md +305 -0
- package/docs/contracts/run-bundle.md +358 -0
- package/docs/contracts/schemas.md +984 -0
- package/docs/goals/current.md +409 -0
- package/docs/principles/invariants-and-defaults.md +135 -0
- package/docs/principles/self-driving-harness.md +129 -0
- package/docs/product/open-source-install-experience.md +229 -0
- package/docs/ramp/README.md +200 -0
- package/docs/release/open-source-readiness.md +208 -0
- package/docs/release/public-readiness-standard.md +205 -0
- package/docs/roadmap/world-class-open-source-v0.md +311 -0
- package/package.json +102 -8
- package/skills/humanish/SKILL.md +244 -0
- package/skills/humanish/agents/openai.yaml +7 -0
- package/index.js +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"codex-app-server.js","sourceRoot":"","sources":["../src/codex-app-server.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/** Sanitized, whitespace-collapsed, length-capped tail of command output. */
|
|
2
|
+
export declare function tailOf(value: string | undefined): string;
|
|
3
|
+
/**
|
|
4
|
+
* Coerce an unknown thrown value to its message string. Prefer this over the
|
|
5
|
+
* inline `error instanceof Error ? error.message : String(error)` so error
|
|
6
|
+
* stringification stays uniform. Note: this does NOT redact -- sites that emit
|
|
7
|
+
* to public-bound artifacts must run the result through `redactText` first.
|
|
8
|
+
*/
|
|
9
|
+
export declare function toErrorMessage(error: unknown): string;
|
|
10
|
+
/**
|
|
11
|
+
* Recover the exit code + a sanitized stderr/stdout tail from a command failure.
|
|
12
|
+
* The real @e2b/desktop CommandExitError exposes exitCode/stderr/stdout/error;
|
|
13
|
+
* these are read structurally so the caller does not depend on the SDK class.
|
|
14
|
+
*/
|
|
15
|
+
export declare function commandFailureInfo(error: unknown): {
|
|
16
|
+
exitCode?: number;
|
|
17
|
+
stderrTail: string;
|
|
18
|
+
};
|
|
19
|
+
/**
|
|
20
|
+
* Run a desktop command; if the substrate THROWS on a non-zero exit (the real
|
|
21
|
+
* @e2b/desktop behavior), convert the throw into the caller's intended error via
|
|
22
|
+
* `onFailure` (which returns the value to throw -- a new Error, or the original
|
|
23
|
+
* error to preserve raw propagation). A non-throwing runner that RETURNS a
|
|
24
|
+
* non-zero exitCode is left to the caller's own post-call check.
|
|
25
|
+
*/
|
|
26
|
+
export declare function runDesktopCommandOrThrow<T>(run: () => Promise<T>, onFailure: (info: {
|
|
27
|
+
exitCode?: number;
|
|
28
|
+
stderrTail: string;
|
|
29
|
+
}, error: unknown) => unknown): Promise<T>;
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
// Shared handling for @e2b/desktop command failures.
|
|
2
|
+
//
|
|
3
|
+
// The real Sandbox's `commands.run` THROWS a CommandExitError on any non-zero
|
|
4
|
+
// exit (it does not return a non-zero exitCode), so a site that only inspects
|
|
5
|
+
// `result.exitCode` after the call never reaches its non-zero branch in
|
|
6
|
+
// production -- the intended, formatted error is lost and a raw CommandExitError
|
|
7
|
+
// propagates instead. These helpers recover the exit code + a sanitized output
|
|
8
|
+
// tail from the throw, and wrap a run so a site can convert the throw into its
|
|
9
|
+
// own intended error while still handling a non-throwing (fake) runner shape.
|
|
10
|
+
//
|
|
11
|
+
// Public-safety: only the substrate's own output (stderr/stdout/error/message) is
|
|
12
|
+
// read here; caller-supplied text (e.g. typed input) must never be passed to the
|
|
13
|
+
// failing command as an argument, so it cannot appear in these fields.
|
|
14
|
+
/** Sanitized, whitespace-collapsed, length-capped tail of command output. */
|
|
15
|
+
export function tailOf(value) {
|
|
16
|
+
return (value ?? "").trim().replace(/\s+/g, " ").slice(-240);
|
|
17
|
+
}
|
|
18
|
+
/**
|
|
19
|
+
* Coerce an unknown thrown value to its message string. Prefer this over the
|
|
20
|
+
* inline `error instanceof Error ? error.message : String(error)` so error
|
|
21
|
+
* stringification stays uniform. Note: this does NOT redact -- sites that emit
|
|
22
|
+
* to public-bound artifacts must run the result through `redactText` first.
|
|
23
|
+
*/
|
|
24
|
+
export function toErrorMessage(error) {
|
|
25
|
+
return error instanceof Error ? error.message : String(error);
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Recover the exit code + a sanitized stderr/stdout tail from a command failure.
|
|
29
|
+
* The real @e2b/desktop CommandExitError exposes exitCode/stderr/stdout/error;
|
|
30
|
+
* these are read structurally so the caller does not depend on the SDK class.
|
|
31
|
+
*/
|
|
32
|
+
export function commandFailureInfo(error) {
|
|
33
|
+
const e = (error ?? {});
|
|
34
|
+
const exitCode = typeof e.exitCode === "number" ? e.exitCode : undefined;
|
|
35
|
+
const str = (value) => typeof value === "string" && value.length > 0 ? value : undefined;
|
|
36
|
+
const source = str(e.stderr) ?? str(e.stdout) ?? str(e.error) ?? str(e.message);
|
|
37
|
+
return exitCode === undefined ? { stderrTail: tailOf(source) } : { exitCode, stderrTail: tailOf(source) };
|
|
38
|
+
}
|
|
39
|
+
/**
|
|
40
|
+
* Run a desktop command; if the substrate THROWS on a non-zero exit (the real
|
|
41
|
+
* @e2b/desktop behavior), convert the throw into the caller's intended error via
|
|
42
|
+
* `onFailure` (which returns the value to throw -- a new Error, or the original
|
|
43
|
+
* error to preserve raw propagation). A non-throwing runner that RETURNS a
|
|
44
|
+
* non-zero exitCode is left to the caller's own post-call check.
|
|
45
|
+
*/
|
|
46
|
+
export async function runDesktopCommandOrThrow(run, onFailure) {
|
|
47
|
+
try {
|
|
48
|
+
return await run();
|
|
49
|
+
}
|
|
50
|
+
catch (error) {
|
|
51
|
+
throw onFailure(commandFailureInfo(error), error);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=command-failure.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"command-failure.js","sourceRoot":"","sources":["../src/command-failure.ts"],"names":[],"mappings":"AAAA,qDAAqD;AACrD,EAAE;AACF,8EAA8E;AAC9E,8EAA8E;AAC9E,wEAAwE;AACxE,iFAAiF;AACjF,+EAA+E;AAC/E,+EAA+E;AAC/E,8EAA8E;AAC9E,EAAE;AACF,kFAAkF;AAClF,iFAAiF;AACjF,uEAAuE;AAEvE,6EAA6E;AAC7E,MAAM,UAAU,MAAM,CAAC,KAAyB;IAC9C,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,CAAC,CAAC;AAC/D,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,cAAc,CAAC,KAAc;IAC3C,OAAO,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAChE,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,kBAAkB,CAAC,KAAc;IAC/C,MAAM,CAAC,GAAG,CAAC,KAAK,IAAI,EAAE,CAMrB,CAAC;IACF,MAAM,QAAQ,GAAG,OAAO,CAAC,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;IACzE,MAAM,GAAG,GAAG,CAAC,KAAc,EAAsB,EAAE,CACjD,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC;IACpE,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;IAChF,OAAO,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;AAC5G,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,wBAAwB,CAC5C,GAAqB,EACrB,SAAuF;IAEvF,IAAI,CAAC;QACH,OAAO,MAAM,GAAG,EAAE,CAAC;IACrB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,SAAS,CAAC,kBAAkB,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,CAAC;IACpD,CAAC;AACH,CAAC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import type { ActorPersonaRef } from "./actor-contract.js";
|
|
2
|
+
import { type CuaExecutor, type CuaLoopResult, type CuaProvider, type CuaSafetyCheck } from "./computer-use.js";
|
|
3
|
+
import { type E2BDesktopExecutorOptions, type E2BDesktopLike } from "./e2b-desktop-executor.js";
|
|
4
|
+
import { type OpenAiResponsesProviderOptions } from "./openai-responses-cu.js";
|
|
5
|
+
import { type RedactionHooks } from "./redaction.js";
|
|
6
|
+
import type { StopWhen } from "./stop-conditions.js";
|
|
7
|
+
export interface CuaActorSessionOptions {
|
|
8
|
+
/** The composed mission (persona + scenario/lane instruction) handed to the model. */
|
|
9
|
+
instructions: string;
|
|
10
|
+
/** Provenance of the persona this actor embodies (id + applied traits + prompt digest). */
|
|
11
|
+
persona: ActorPersonaRef;
|
|
12
|
+
/** Hard wall-clock runaway guard — the only count-free hard stop the loop honors. */
|
|
13
|
+
timeoutMs: number;
|
|
14
|
+
signal?: AbortSignal;
|
|
15
|
+
/** Live provider construction (used when `provider` is not injected). */
|
|
16
|
+
openai?: OpenAiResponsesProviderOptions;
|
|
17
|
+
/** Live executor construction (used when `executor` is not injected). */
|
|
18
|
+
desktop?: E2BDesktopLike;
|
|
19
|
+
executorOptions?: E2BDesktopExecutorOptions;
|
|
20
|
+
/**
|
|
21
|
+
* DI seams — inject to bypass live construction (CI uses these for zero-spend tests; library
|
|
22
|
+
* callers use them to drive a state-driven, non-vision flow). NOTE: a STATE executor (one
|
|
23
|
+
* whose observe() returns no screenshot — see CuaObservation.screenshot optional) MUST be
|
|
24
|
+
* paired with a NON-vision provider (requiresFrame falsey). The default OpenAI provider is
|
|
25
|
+
* vision-based and would fail closed against a screenshot-less observation. See
|
|
26
|
+
* docs/architecture/state-driven-executor.md.
|
|
27
|
+
*/
|
|
28
|
+
provider?: CuaProvider;
|
|
29
|
+
executor?: CuaExecutor;
|
|
30
|
+
redaction?: RedactionHooks;
|
|
31
|
+
now?: () => number;
|
|
32
|
+
/**
|
|
33
|
+
* Decide which model-flagged safety checks to acknowledge; returned checks are echoed back
|
|
34
|
+
* (verbatim wire triples) on the next turn's request so the model proceeds. Omitted here means
|
|
35
|
+
* the loop's own fail-closed default applies (pause on any check). No auto-ack policy ships yet.
|
|
36
|
+
*/
|
|
37
|
+
acknowledgeSafetyChecks?: (checks: CuaSafetyCheck[]) => CuaSafetyCheck[] | null;
|
|
38
|
+
idleSteps?: number;
|
|
39
|
+
noProgressSteps?: number;
|
|
40
|
+
/**
|
|
41
|
+
* Redact persisted screenshots (blur+downscale). Default FALSE — full fidelity for local use.
|
|
42
|
+
* Set true for unowned subjects or share-as-is bundles. The provider always sees raw frames.
|
|
43
|
+
*/
|
|
44
|
+
redactScreenshots?: boolean;
|
|
45
|
+
/** Literal scrub for known provisioned values, composed before redactText on model narration. */
|
|
46
|
+
scrubText?: (text: string) => string;
|
|
47
|
+
/** Persist a screenshot (raw or redacted per redactScreenshots), returning the trace ref path. */
|
|
48
|
+
writeScreenshot?: (name: string, bytes: Buffer) => Promise<string>;
|
|
49
|
+
/** Deterministic harness-owned stop guards evaluated between model turns. */
|
|
50
|
+
stopWhen?: StopWhen;
|
|
51
|
+
}
|
|
52
|
+
export declare function runCuaActorSession(options: CuaActorSessionOptions): Promise<CuaLoopResult>;
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
// The registry-facing wrapper for the OpenAI Computer Use (CUA) actor. runComputerUseLoop needs
|
|
2
|
+
// fully-constructed provider/executor instances; exposing that raw through the actor registry
|
|
3
|
+
// would leak adapter construction to every call site. So runCuaActorSession takes intent-level
|
|
4
|
+
// fields and constructs the provider/executor internally — with DI seams (provider/executor/now)
|
|
5
|
+
// so CI can drive the real loop with fakes and zero network/zero spend (mirrors how the Claude
|
|
6
|
+
// adapter injects its queryFn).
|
|
7
|
+
//
|
|
8
|
+
// The loop already returns a fully-formed ActorTrace at result.trace, so there is no separate
|
|
9
|
+
// toActorTrace mapper — runCuaActorSession returns the CuaLoopResult unchanged.
|
|
10
|
+
import { runComputerUseLoop } from "./computer-use.js";
|
|
11
|
+
import { createE2BDesktopExecutor } from "./e2b-desktop-executor.js";
|
|
12
|
+
import { createOpenAiResponsesProvider } from "./openai-responses-cu.js";
|
|
13
|
+
import { defaultRedactionHooks } from "./redaction.js";
|
|
14
|
+
export async function runCuaActorSession(options) {
|
|
15
|
+
const provider = options.provider ?? buildProvider(options.openai);
|
|
16
|
+
const executor = options.executor ?? buildExecutor(options.desktop, options.executorOptions);
|
|
17
|
+
const loopOptions = {
|
|
18
|
+
instructions: options.instructions,
|
|
19
|
+
provider,
|
|
20
|
+
executor,
|
|
21
|
+
persona: options.persona,
|
|
22
|
+
redaction: options.redaction ?? defaultRedactionHooks,
|
|
23
|
+
timeoutMs: options.timeoutMs,
|
|
24
|
+
now: options.now ?? (() => Date.now()),
|
|
25
|
+
...(options.signal === undefined ? {} : { signal: options.signal }),
|
|
26
|
+
...(options.idleSteps === undefined ? {} : { idleSteps: options.idleSteps }),
|
|
27
|
+
...(options.noProgressSteps === undefined ? {} : { noProgressSteps: options.noProgressSteps }),
|
|
28
|
+
...(options.acknowledgeSafetyChecks === undefined ? {} : { acknowledgeSafetyChecks: options.acknowledgeSafetyChecks }),
|
|
29
|
+
...(options.redactScreenshots === undefined ? {} : { redactScreenshots: options.redactScreenshots }),
|
|
30
|
+
...(options.scrubText === undefined ? {} : { scrubText: options.scrubText }),
|
|
31
|
+
...(options.writeScreenshot === undefined ? {} : { writeScreenshot: options.writeScreenshot }),
|
|
32
|
+
...(options.stopWhen === undefined ? {} : { stopWhen: options.stopWhen })
|
|
33
|
+
};
|
|
34
|
+
return runComputerUseLoop(loopOptions);
|
|
35
|
+
}
|
|
36
|
+
function buildProvider(openai) {
|
|
37
|
+
if (!openai) {
|
|
38
|
+
throw new Error("runCuaActorSession requires either `provider` (injected) or `openai` provider options.");
|
|
39
|
+
}
|
|
40
|
+
return createOpenAiResponsesProvider(openai);
|
|
41
|
+
}
|
|
42
|
+
function buildExecutor(desktop, executorOptions) {
|
|
43
|
+
if (!desktop) {
|
|
44
|
+
throw new Error("runCuaActorSession requires either `executor` (injected) or `desktop` to build one.");
|
|
45
|
+
}
|
|
46
|
+
return createE2BDesktopExecutor(desktop, executorOptions ?? {});
|
|
47
|
+
}
|
|
48
|
+
//# sourceMappingURL=computer-use-actor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"computer-use-actor.js","sourceRoot":"","sources":["../src/computer-use-actor.ts"],"names":[],"mappings":"AAAA,gGAAgG;AAChG,8FAA8F;AAC9F,+FAA+F;AAC/F,iGAAiG;AACjG,+FAA+F;AAC/F,gCAAgC;AAChC,EAAE;AACF,8FAA8F;AAC9F,gFAAgF;AAGhF,OAAO,EACL,kBAAkB,EAMnB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,EACL,wBAAwB,EAGzB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EACL,6BAA6B,EAE9B,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,qBAAqB,EAAuB,MAAM,gBAAgB,CAAC;AAmD5E,MAAM,CAAC,KAAK,UAAU,kBAAkB,CAAC,OAA+B;IACtE,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,aAAa,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;IACnE,MAAM,QAAQ,GAAG,OAAO,CAAC,QAAQ,IAAI,aAAa,CAAC,OAAO,CAAC,OAAO,EAAE,OAAO,CAAC,eAAe,CAAC,CAAC;IAE7F,MAAM,WAAW,GAAmB;QAClC,YAAY,EAAE,OAAO,CAAC,YAAY;QAClC,QAAQ;QACR,QAAQ;QACR,OAAO,EAAE,OAAO,CAAC,OAAO;QACxB,SAAS,EAAE,OAAO,CAAC,SAAS,IAAI,qBAAqB;QACrD,SAAS,EAAE,OAAO,CAAC,SAAS;QAC5B,GAAG,EAAE,OAAO,CAAC,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC;QACtC,GAAG,CAAC,OAAO,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,OAAO,CAAC,MAAM,EAAE,CAAC;QACnE,GAAG,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC;QAC5E,GAAG,CAAC,OAAO,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,OAAO,CAAC,eAAe,EAAE,CAAC;QAC9F,GAAG,CAAC,OAAO,CAAC,uBAAuB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,uBAAuB,EAAE,OAAO,CAAC,uBAAuB,EAAE,CAAC;QACtH,GAAG,CAAC,OAAO,CAAC,iBAAiB,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,iBAAiB,EAAE,OAAO,CAAC,iBAAiB,EAAE,CAAC;QACpG,GAAG,CAAC,OAAO,CAAC,SAAS,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,OAAO,CAAC,SAAS,EAAE,CAAC;QAC5E,GAAG,CAAC,OAAO,CAAC,eAAe,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,OAAO,CAAC,eAAe,EAAE,CAAC;QAC9F,GAAG,CAAC,OAAO,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,OAAO,CAAC,QAAQ,EAAE,CAAC;KAC1E,CAAC;IAEF,OAAO,kBAAkB,CAAC,WAAW,CAAC,CAAC;AACzC,CAAC;AAED,SAAS,aAAa,CAAC,MAAkD;IACvE,IAAI,CAAC,MAAM,EAAE,CAAC;QACZ,MAAM,IAAI,KAAK,CAAC,wFAAwF,CAAC,CAAC;IAC5G,CAAC;IACD,OAAO,6BAA6B,CAAC,MAAM,CAAC,CAAC;AAC/C,CAAC;AAED,SAAS,aAAa,CAAC,OAAmC,EAAE,eAAsD;IAChH,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,MAAM,IAAI,KAAK,CAAC,qFAAqF,CAAC,CAAC;IACzG,CAAC;IACD,OAAO,wBAAwB,CAAC,OAAO,EAAE,eAAe,IAAI,EAAE,CAAC,CAAC;AAClE,CAAC"}
|
|
@@ -0,0 +1,232 @@
|
|
|
1
|
+
import { type ActorCapabilities, type ActorCompletionReason, type ActorPersonaRef, type ActorStatus, type ActorTrace } from "./actor-contract.js";
|
|
2
|
+
import type { RedactionHooks } from "./redaction.js";
|
|
3
|
+
import { type StopWhen } from "./stop-conditions.js";
|
|
4
|
+
export type CuaAction = {
|
|
5
|
+
kind: "click";
|
|
6
|
+
x: number;
|
|
7
|
+
y: number;
|
|
8
|
+
button?: "left" | "right" | "middle";
|
|
9
|
+
} | {
|
|
10
|
+
kind: "double_click";
|
|
11
|
+
x: number;
|
|
12
|
+
y: number;
|
|
13
|
+
} | {
|
|
14
|
+
kind: "move";
|
|
15
|
+
x: number;
|
|
16
|
+
y: number;
|
|
17
|
+
} | {
|
|
18
|
+
kind: "scroll";
|
|
19
|
+
x: number;
|
|
20
|
+
y: number;
|
|
21
|
+
dx: number;
|
|
22
|
+
dy: number;
|
|
23
|
+
} | {
|
|
24
|
+
kind: "type";
|
|
25
|
+
text: string;
|
|
26
|
+
} | {
|
|
27
|
+
kind: "keypress";
|
|
28
|
+
keys: string[];
|
|
29
|
+
} | {
|
|
30
|
+
kind: "drag";
|
|
31
|
+
path: Array<{
|
|
32
|
+
x: number;
|
|
33
|
+
y: number;
|
|
34
|
+
}>;
|
|
35
|
+
} | {
|
|
36
|
+
kind: "wait";
|
|
37
|
+
ms?: number;
|
|
38
|
+
} | {
|
|
39
|
+
kind: "screenshot";
|
|
40
|
+
};
|
|
41
|
+
/** A captured desktop state: the (optional) frame plus a coarse signature for progress. */
|
|
42
|
+
export interface CuaObservation {
|
|
43
|
+
/**
|
|
44
|
+
* Raw PNG bytes of the current desktop. Redacted by the engine before persisting.
|
|
45
|
+
* OPTIONAL: a non-vision (state-driven) executor omits it, and the loop persists no
|
|
46
|
+
* screenshot that turn (counts.screenshots stays 0 → redaction.screenshots resolves to
|
|
47
|
+
* "n/a", no Buffer.alloc(0) ever reaches disk). A VISION provider REQUIRES it — see
|
|
48
|
+
* CuaProvider.requiresFrame, which trips a per-turn fail-closed harness_error when a frame
|
|
49
|
+
* is required but absent.
|
|
50
|
+
*/
|
|
51
|
+
screenshot?: Buffer;
|
|
52
|
+
/**
|
|
53
|
+
* A coarse, quantized signature of the visible UI used for no-progress
|
|
54
|
+
* detection. Two observations with the same signature are "no progress". The
|
|
55
|
+
* executor owns how it is computed (url, title, quantized scroll, focused
|
|
56
|
+
* element, visible controls, etc.). STILL REQUIRED — the canonical fallback progress key
|
|
57
|
+
* when appState is absent.
|
|
58
|
+
*/
|
|
59
|
+
stateSignature: string;
|
|
60
|
+
/**
|
|
61
|
+
* Structured app state (e.g. a window.app.getState() projection). When present, friction
|
|
62
|
+
* detection prefers a stable, deterministic, sorted-key JSON projection of it
|
|
63
|
+
* (stableProgressKey) as the progress key, so route/turn/modal deltas drive progress more
|
|
64
|
+
* reliably than a quantized screenshot signature can on a pixel-dense UI.
|
|
65
|
+
*
|
|
66
|
+
* RUNTIME-ONLY in this slice: appState is NEVER copied into any ActorTraceItem, reason, id,
|
|
67
|
+
* or count, and is NEVER persisted to the trace — only the in-memory progress key is derived
|
|
68
|
+
* from it and discarded. A structured app blob has no detectable secret "shape" (the
|
|
69
|
+
* published-evidence scan catches only secret-shaped patterns), so it is treated exactly like
|
|
70
|
+
* stateSignature, which is itself never written as text. A future "appState in evidence"
|
|
71
|
+
* slice must route a stringified projection through redaction.redactText (and the lab's
|
|
72
|
+
* scrubText) AND cap/whitelist fields before persisting — pattern+literal redaction alone
|
|
73
|
+
* cannot sanitize an arbitrary blob.
|
|
74
|
+
*/
|
|
75
|
+
appState?: Record<string, unknown>;
|
|
76
|
+
/**
|
|
77
|
+
* Optional browser state captured by an executor that can inspect the driven browser
|
|
78
|
+
* deterministically (for example via Chrome DevTools Protocol). These fields are runtime-only:
|
|
79
|
+
* they may drive stopWhen and progress decisions, but the loop never persists raw URL/title/text
|
|
80
|
+
* into the trace. Persisting arbitrary DOM text would make private-data leakage too easy.
|
|
81
|
+
*/
|
|
82
|
+
url?: string;
|
|
83
|
+
title?: string;
|
|
84
|
+
text?: string;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* A safety check the model raised. The triple is preserved verbatim from the
|
|
88
|
+
* wire: providers match acknowledgements on `id`, so fabricating or collapsing
|
|
89
|
+
* these fields would break the proceed path.
|
|
90
|
+
*/
|
|
91
|
+
export interface CuaSafetyCheck {
|
|
92
|
+
/** Wire id the provider matches acknowledgements on. */
|
|
93
|
+
id: string;
|
|
94
|
+
/** Provider-defined category code (e.g. "malicious_instructions"). */
|
|
95
|
+
code: string;
|
|
96
|
+
/** Human-readable explanation from the model. */
|
|
97
|
+
message: string;
|
|
98
|
+
}
|
|
99
|
+
export interface CuaTurnRequest {
|
|
100
|
+
/** Persona + task instruction, sent as the system-level steer (first turn). */
|
|
101
|
+
instructions: string;
|
|
102
|
+
/** The latest observation for the model to react to. */
|
|
103
|
+
observation: CuaObservation;
|
|
104
|
+
/** Opaque continuation handle from the previous turn (provider-specific). */
|
|
105
|
+
previousResponseId?: string;
|
|
106
|
+
/** Safety checks the harness chose to acknowledge, passed back to the model. */
|
|
107
|
+
acknowledgedSafetyChecks?: CuaSafetyCheck[];
|
|
108
|
+
/** A nudge injected by the backstop before it trips, summarizing the stall. */
|
|
109
|
+
contextHint?: string;
|
|
110
|
+
}
|
|
111
|
+
export interface CuaTurn {
|
|
112
|
+
/** Continuation handle for the next turn. */
|
|
113
|
+
responseId?: string;
|
|
114
|
+
/** Model chain-of-thought summary, if the provider surfaces it. */
|
|
115
|
+
reasoning?: string;
|
|
116
|
+
/** Natural-language message (often the final summary on completion). */
|
|
117
|
+
message?: string;
|
|
118
|
+
/** Actions to perform this turn. Empty means the model is done. */
|
|
119
|
+
actions: CuaAction[];
|
|
120
|
+
/** Safety checks the provider flagged this turn. Non-empty pauses the run. */
|
|
121
|
+
pendingSafetyChecks: CuaSafetyCheck[];
|
|
122
|
+
/** Token accounting for this turn, if available. */
|
|
123
|
+
usage?: {
|
|
124
|
+
input?: number;
|
|
125
|
+
output?: number;
|
|
126
|
+
};
|
|
127
|
+
/** True when the model reported a natural endpoint (no further action). */
|
|
128
|
+
done: boolean;
|
|
129
|
+
}
|
|
130
|
+
/** The model side of the loop. Self-describes its identity and capabilities. */
|
|
131
|
+
export interface CuaProvider {
|
|
132
|
+
readonly id: string;
|
|
133
|
+
readonly version?: string;
|
|
134
|
+
readonly capabilities: ActorCapabilities;
|
|
135
|
+
/**
|
|
136
|
+
* True when nextTurn requires `observation.screenshot` to be present (a VISION model that
|
|
137
|
+
* reasons over pixels). The OpenAI computer-use provider sets this; a state-reasoning
|
|
138
|
+
* provider omits it (defaults falsey).
|
|
139
|
+
*
|
|
140
|
+
* PROVIDER-AUTHORING CONTRACT: a vision provider MUST set `requiresFrame: true`. The loop
|
|
141
|
+
* uses it to convert what would otherwise be a silent blank-frame crash into a structured
|
|
142
|
+
* per-turn fail-closed `harness_error` when a screenshot-less executor is paired with a
|
|
143
|
+
* vision provider. Default-false is a known third-party-author footgun this slice accepts
|
|
144
|
+
* (only one vision provider exists today) but records — see
|
|
145
|
+
* docs/architecture/state-driven-executor.md.
|
|
146
|
+
*/
|
|
147
|
+
readonly requiresFrame?: boolean;
|
|
148
|
+
nextTurn(req: CuaTurnRequest, signal: AbortSignal): Promise<CuaTurn>;
|
|
149
|
+
}
|
|
150
|
+
/** The desktop side of the loop. */
|
|
151
|
+
export interface CuaExecutor {
|
|
152
|
+
/** Capture the current desktop frame and its state signature. */
|
|
153
|
+
observe(): Promise<CuaObservation>;
|
|
154
|
+
/** Perform one action against the desktop. */
|
|
155
|
+
execute(action: CuaAction): Promise<void>;
|
|
156
|
+
}
|
|
157
|
+
export interface CuaLoopOptions {
|
|
158
|
+
instructions: string;
|
|
159
|
+
provider: CuaProvider;
|
|
160
|
+
executor: CuaExecutor;
|
|
161
|
+
persona: ActorPersonaRef;
|
|
162
|
+
redaction: RedactionHooks;
|
|
163
|
+
/** Hard wall-clock runaway guard. The only count-free hard stop. */
|
|
164
|
+
timeoutMs: number;
|
|
165
|
+
/** Injected clock (ms). Lets tests drive deadlines deterministically. */
|
|
166
|
+
now: () => number;
|
|
167
|
+
/** Cancellation. The loop checks it each turn and after each action batch. */
|
|
168
|
+
signal?: AbortSignal;
|
|
169
|
+
/** Idle streak (no material action) that trips the backstop. Default 6. */
|
|
170
|
+
idleSteps?: number;
|
|
171
|
+
/** Non-idle no-progress streak that trips the backstop. Default 8. */
|
|
172
|
+
noProgressSteps?: number;
|
|
173
|
+
/**
|
|
174
|
+
* If the model flags safety checks, decide which to acknowledge. Returning the
|
|
175
|
+
* list proceeds (the acks are echoed back on the next turn's request); returning
|
|
176
|
+
* null/[] pauses the run (blocked_approval). Default: pause on any safety check
|
|
177
|
+
* (fail-closed; real approval policy wires in later).
|
|
178
|
+
*/
|
|
179
|
+
acknowledgeSafetyChecks?: (checks: CuaSafetyCheck[]) => CuaSafetyCheck[] | null;
|
|
180
|
+
/**
|
|
181
|
+
* Redact (blur+downscale) persisted screenshots. Default FALSE — full-fidelity frames are
|
|
182
|
+
* retained, because the common case is a developer watching a sim of their OWN app locally
|
|
183
|
+
* (gitignored .humanish), where blur destroys the core deliverable. Set true for unowned
|
|
184
|
+
* subjects or when the bundle is meant to be shared as-is. The frame sent to the PROVIDER is
|
|
185
|
+
* always full-resolution regardless (the model must see the screen to act); this flag only
|
|
186
|
+
* governs what is PERSISTED. Publish-safety belongs at the publish boundary (commit scan / redactScreenshots), not capture.
|
|
187
|
+
*/
|
|
188
|
+
redactScreenshots?: boolean;
|
|
189
|
+
/**
|
|
190
|
+
* Extra literal scrub for KNOWN provisioned values (which have no detectable "shape", so
|
|
191
|
+
* pattern redaction cannot catch them), composed BEFORE redactText on every model-authored
|
|
192
|
+
* text item (reasoning, message, completion summary) and the loop error. The lab passes the
|
|
193
|
+
* env-value scrubber here so a value the MODEL narrates can never land raw in the trace.
|
|
194
|
+
* Default: identity (the loop is shape-only on its own).
|
|
195
|
+
*/
|
|
196
|
+
scrubText?: (text: string) => string;
|
|
197
|
+
/** Persist a screenshot (raw or redacted per redactScreenshots), returning the trace ref path. */
|
|
198
|
+
writeScreenshot?: (name: string, bytes: Buffer) => Promise<string>;
|
|
199
|
+
/**
|
|
200
|
+
* Deterministic harness-owned success guards. Evaluated after the initial observation and after
|
|
201
|
+
* every post-action observation, before another model turn is requested. This keeps a lane from
|
|
202
|
+
* wandering after the product already reached an app-visible endpoint.
|
|
203
|
+
*/
|
|
204
|
+
stopWhen?: StopWhen;
|
|
205
|
+
}
|
|
206
|
+
export interface CuaLoopResult {
|
|
207
|
+
status: ActorStatus;
|
|
208
|
+
completionReason: ActorCompletionReason;
|
|
209
|
+
reason: string;
|
|
210
|
+
trace: ActorTrace;
|
|
211
|
+
}
|
|
212
|
+
/**
|
|
213
|
+
* A deterministic, bounded, sorted-key projection of an appState object, used as the friction
|
|
214
|
+
* loop's progress key. Two structurally-equal states (regardless of key insertion order) map
|
|
215
|
+
* to the SAME string, so key reordering can never fabricate a progress delta; two different
|
|
216
|
+
* states map to different strings (within the caps).
|
|
217
|
+
*
|
|
218
|
+
* Correctness-load-bearing: it MUST NOT throw on a cyclic or huge input. Cycles are detected
|
|
219
|
+
* with a seen-set (a back-edge degrades to the marker "[Circular]"); depth, key count, array
|
|
220
|
+
* length, string length, and total output length are all capped so an adversarial or merely
|
|
221
|
+
* large appState degrades to a bounded value rather than crashing the loop. Pure: it never
|
|
222
|
+
* mutates the input. (See docs/architecture/state-driven-executor.md.)
|
|
223
|
+
*/
|
|
224
|
+
export declare function stableProgressKey(appState: Record<string, unknown>): string;
|
|
225
|
+
/** A public-safe one-line action label. Never includes raw typed text. */
|
|
226
|
+
export declare function describeCuaAction(action: CuaAction): string;
|
|
227
|
+
/**
|
|
228
|
+
* Drive the computer-use loop to a single explicit completion and return an
|
|
229
|
+
* ActorTrace. Every screenshot is redacted through the injected RedactionHooks
|
|
230
|
+
* before its ref is recorded, so the trace is public-safe by construction.
|
|
231
|
+
*/
|
|
232
|
+
export declare function runComputerUseLoop(options: CuaLoopOptions): Promise<CuaLoopResult>;
|