humanish 0.100.0 → 0.101.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 (37) hide show
  1. package/dist/actor-contract.d.ts +10 -10
  2. package/dist/actor-contract.js +15 -4
  3. package/dist/actor-contract.js.map +1 -1
  4. package/dist/computer-use.d.ts +13 -2
  5. package/dist/computer-use.js +108 -24
  6. package/dist/computer-use.js.map +1 -1
  7. package/dist/cua-actor-lab.js +34 -15
  8. package/dist/cua-actor-lab.js.map +1 -1
  9. package/dist/local-agent-cli.d.ts +10 -0
  10. package/dist/local-agent-cli.js +23 -7
  11. package/dist/local-agent-cli.js.map +1 -1
  12. package/dist/observer-app.html +1 -1
  13. package/dist/restricted-codex-participant-policy.d.ts +11 -7
  14. package/dist/restricted-codex-participant-policy.js +22 -51
  15. package/dist/restricted-codex-participant-policy.js.map +1 -1
  16. package/dist/restricted-codex-participant.d.ts +6 -2
  17. package/dist/restricted-codex-participant.js +166 -107
  18. package/dist/restricted-codex-participant.js.map +1 -1
  19. package/dist/restricted-codex-policy.d.ts +12 -5
  20. package/dist/restricted-codex-policy.js +62 -37
  21. package/dist/restricted-codex-policy.js.map +1 -1
  22. package/dist/restricted-codex-session.d.ts +28 -3
  23. package/dist/restricted-codex-session.js +440 -218
  24. package/dist/restricted-codex-session.js.map +1 -1
  25. package/dist/restricted-codex-transport.d.ts +15 -4
  26. package/dist/restricted-codex-transport.js +71 -8
  27. package/dist/restricted-codex-transport.js.map +1 -1
  28. package/docs/architecture/restricted-codex-analysis.md +17 -5
  29. package/docs/contracts/schemas.md +1 -1
  30. package/docs/goals/current.md +3 -3
  31. package/docs/ramp/README.md +7 -1
  32. package/docs/release/0.100.1-participant-continuity.md +20 -0
  33. package/docs/release/0.101.0-codex-ui-tools.md +28 -0
  34. package/package.json +1 -1
  35. package/dist/local-agent-appserver.d.ts +0 -44
  36. package/dist/local-agent-appserver.js +0 -269
  37. package/dist/local-agent-appserver.js.map +0 -1
@@ -4,20 +4,22 @@ export declare const PARTICIPANT_PROFILE: Readonly<ActorExecutionProfile>;
4
4
  export declare const PARTICIPANT_LIMITS: Readonly<{
5
5
  instructions: number;
6
6
  hint: number;
7
- history: number;
8
- historyTurns: 8;
9
7
  narration: 2000;
10
8
  output: number;
11
9
  actions: 4;
12
10
  requestMs: 180000;
13
11
  cleanupMs: 5000;
14
12
  }>;
15
- export declare const PARTICIPANT_TURN_SCHEMA: Record<string, unknown>;
16
- export declare const PARTICIPANT_CLOSING_SCHEMA: {
13
+ export declare const PARTICIPANT_TOOL_SCHEMA: Record<string, unknown>;
14
+ export declare const PARTICIPANT_FINAL_SCHEMA: {
17
15
  type: string;
18
16
  additionalProperties: boolean;
19
17
  required: string[];
20
18
  properties: {
19
+ outcome: {
20
+ type: string;
21
+ enum: string[];
22
+ };
21
23
  summary: {
22
24
  type: string;
23
25
  minLength: number;
@@ -34,6 +36,8 @@ export declare const PARTICIPANT_CLOSING_SCHEMA: {
34
36
  };
35
37
  };
36
38
  };
37
- /** Humanish output schema, not a provider-wire parser. Reject the whole proposal. */
38
- export declare function parseParticipantTurn(value: unknown): CuaTurn;
39
- export declare function parseParticipantClosing(value: unknown): ParticipantClosingReport;
39
+ /** Humanish tool arguments, validated before the shared executor sees a batch. */
40
+ export declare function parseParticipantTool(value: unknown): CuaTurn;
41
+ export declare function parseParticipantFinal(value: unknown): CuaTurn & {
42
+ closingReport: ParticipantClosingReport;
43
+ };
@@ -4,66 +4,37 @@ import { validClosingReport } from "./computer-use.js";
4
4
  export const PARTICIPANT_PROFILE = Object.freeze({
5
5
  schema: "humanish.actor-execution-profile.v1", transport: "codex-app-server", authentication: "chatgpt-account",
6
6
  billing: "account-unknown", requestedModel: "gpt-6-astra", reasoningEffort: "low", cliVersion: "0.154.0",
7
- toolPolicy: "restricted-codex-v1", participantSchema: "humanish.restricted-participant-turn.v1", memoryPolicy: "recent-eight-16k-v1"
7
+ toolPolicy: "codex-ui-tools-v1", participantSchema: "humanish.codex-ui-tool.v1", memoryPolicy: "continuing-thread-v1"
8
8
  });
9
- export const PARTICIPANT_LIMITS = Object.freeze({ instructions: 64 * 1024, hint: 8 * 1024, history: 16 * 1024,
10
- historyTurns: 8, narration: 2000, output: 256 * 1024, actions: 4, requestMs: 180_000, cleanupMs: 5000 });
11
- const envelope = z.strictObject({ schema: z.literal(PARTICIPANT_PROFILE.participantSchema),
12
- narration: z.string().max(PARTICIPANT_LIMITS.narration), done: z.boolean(),
13
- outcome: z.enum(["reached", "not_reached", "blocked"]).nullable(),
14
- actions: z.array(browserControlActionSchema).max(PARTICIPANT_LIMITS.actions) });
15
- /** Strict structured output requires all object keys. Null selects the existing
16
- * executor default for click.button/wait.ms; it is never a new browser action. */
17
- function outputSchema(value) {
18
- if (Array.isArray(value))
19
- return value.map(outputSchema);
20
- if (value === null || typeof value !== "object")
21
- return value;
22
- const result = Object.fromEntries(Object.entries(value).filter(([key]) => key !== "$schema")
23
- .map(([key, v]) => [key === "oneOf" ? "anyOf" : key, outputSchema(v)]));
24
- if (result.type === "object" && result.properties) {
25
- const properties = result.properties;
26
- const required = result.required;
27
- for (const key of Object.keys(properties))
28
- if (!required.includes(key))
29
- properties[key] = { anyOf: [properties[key], { type: "null" }] };
30
- result.required = Object.keys(properties);
31
- }
32
- return result;
33
- }
34
- export const PARTICIPANT_TURN_SCHEMA = outputSchema(z.toJSONSchema(envelope, { io: "input" }));
35
- export const PARTICIPANT_CLOSING_SCHEMA = {
36
- type: "object", additionalProperties: false, required: ["summary", "frictionReports"], properties: {
9
+ export const PARTICIPANT_LIMITS = Object.freeze({ instructions: 64 * 1024, hint: 8 * 1024, narration: 2000, output: 256 * 1024, actions: 4, requestMs: 180_000, cleanupMs: 5000 });
10
+ const toolInput = z.strictObject({ narration: z.string().max(PARTICIPANT_LIMITS.narration),
11
+ actions: z.array(browserControlActionSchema).min(1).max(PARTICIPANT_LIMITS.actions) });
12
+ export const PARTICIPANT_TOOL_SCHEMA = z.toJSONSchema(toolInput, { io: "input" });
13
+ export const PARTICIPANT_FINAL_SCHEMA = {
14
+ type: "object", additionalProperties: false, required: ["outcome", "summary", "frictionReports"], properties: {
15
+ outcome: { type: "string", enum: ["reached", "not_reached", "blocked"] },
37
16
  summary: { type: "string", minLength: 1, maxLength: 4000 },
38
17
  frictionReports: { type: "array", maxItems: 8, items: { type: "string", minLength: 1, maxLength: 2000 } }
39
18
  }
40
19
  };
41
- /** Humanish output schema, not a provider-wire parser. Reject the whole proposal. */
42
- export function parseParticipantTurn(value) {
20
+ /** Humanish tool arguments, validated before the shared executor sees a batch. */
21
+ export function parseParticipantTool(value) {
43
22
  if (Buffer.byteLength(JSON.stringify(value) ?? "") > PARTICIPANT_LIMITS.output)
44
23
  throw new Error("invalid_response");
45
- const source = value;
46
- const normalized = source && Array.isArray(source.actions) ? { ...source, actions: source.actions.map((action) => {
47
- if (!action || typeof action !== "object" || Array.isArray(action))
48
- return action;
49
- const result = { ...action };
50
- if (result.kind === "click" && result.button === null)
51
- delete result.button;
52
- if (result.kind === "wait" && result.ms === null)
53
- delete result.ms;
54
- return result;
55
- }) } : value;
56
- const v = envelope.parse(normalized);
57
- if (Buffer.byteLength(v.narration) > PARTICIPANT_LIMITS.narration ||
58
- (v.done ? v.actions.length !== 0 || v.outcome === null || !v.narration.trim() : v.actions.length === 0 || v.outcome !== null)) {
24
+ const v = toolInput.parse(value);
25
+ if (Buffer.byteLength(v.narration) > PARTICIPANT_LIMITS.narration)
59
26
  throw new Error("invalid_response");
60
- }
61
- return { actions: v.actions.map(validateBrowserControlAction), pendingSafetyChecks: [], done: v.done,
62
- ...(v.narration ? { message: v.narration } : {}), ...(v.outcome === null ? {} : { outcome: v.outcome }) };
27
+ return { actions: v.actions.map(validateBrowserControlAction), pendingSafetyChecks: [], done: false,
28
+ ...(v.narration ? { message: v.narration } : {}), providerRequestPending: true };
63
29
  }
64
- export function parseParticipantClosing(value) {
65
- if (!validClosingReport(value))
30
+ export function parseParticipantFinal(value) {
31
+ if (!value || typeof value !== "object" || Array.isArray(value))
32
+ throw new Error("invalid_response");
33
+ const { outcome, ...report } = value;
34
+ if ((outcome !== "reached" && outcome !== "not_reached" && outcome !== "blocked") || !validClosingReport(report))
66
35
  throw new Error("invalid_response");
67
- return { summary: value.summary, frictionReports: [...value.frictionReports] };
36
+ return { actions: [], pendingSafetyChecks: [], done: true, outcome,
37
+ message: [report.summary, ...report.frictionReports].join("\n"),
38
+ closingReport: { summary: report.summary, frictionReports: [...report.frictionReports] } };
68
39
  }
69
40
  //# sourceMappingURL=restricted-codex-participant-policy.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"restricted-codex-participant-policy.js","sourceRoot":"","sources":["../src/restricted-codex-participant-policy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"restricted-codex-participant-policy.js","sourceRoot":"","sources":["../src/restricted-codex-participant-policy.ts"],"names":[],"mappings":"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"}
@@ -1,13 +1,17 @@
1
- import { type CuaProvider } from "./computer-use.js";
1
+ import type { CuaProvider } from "./computer-use.js";
2
2
  import { type RestrictedCodexSessionOptions } from "./restricted-codex-session.js";
3
+ import type { ReasoningEffort } from "./reasoning-effort.js";
3
4
  export type ParticipantProviderCloseResult = {
4
5
  status: "confirmed" | "unconfirmed";
5
6
  };
6
7
  export interface RestrictedParticipantOptions {
7
8
  session?: RestrictedCodexSessionOptions;
8
9
  requestTimeoutMs?: number;
10
+ authMode?: "operator";
11
+ model?: string;
12
+ reasoningEffort?: ReasoningEffort;
9
13
  }
10
- /** Fresh single turns over an already-owned executor. No desktop or login acquisition here. */
14
+ /** One native tool-calling conversation; the existing CUA loop owns every input. */
11
15
  export declare function createRestrictedCodexParticipant(options?: RestrictedParticipantOptions): {
12
16
  provider: CuaProvider;
13
17
  close(): Promise<ParticipantProviderCloseResult>;
@@ -1,8 +1,7 @@
1
- import { describeCuaAction } from "./computer-use.js";
2
1
  import { CuaProviderError, isCuaProviderError } from "./cua-provider-error.js";
3
2
  import { validateBrowserControlPng } from "./browser-control-protocol.js";
4
- import { runRestrictedCodexSession } from "./restricted-codex-session.js";
5
- import { PARTICIPANT_PROFILE, PARTICIPANT_LIMITS as L, PARTICIPANT_TURN_SCHEMA, PARTICIPANT_CLOSING_SCHEMA, parseParticipantTurn, parseParticipantClosing } from "./restricted-codex-participant-policy.js";
3
+ import { createRestrictedCodexSession } from "./restricted-codex-session.js";
4
+ import { PARTICIPANT_PROFILE, PARTICIPANT_LIMITS as L, PARTICIPANT_TOOL_SCHEMA, PARTICIPANT_FINAL_SCHEMA, parseParticipantTool, parseParticipantFinal } from "./restricted-codex-participant-policy.js";
6
5
  const codeOf = (code) => {
7
6
  if (code === "cancelled" || code === "timeout" || code === "refusal")
8
7
  return code === "refusal" ? "refused" : code;
@@ -21,155 +20,215 @@ const codeOf = (code) => {
21
20
  return "unavailable";
22
21
  };
23
22
  const noDispatch = () => ({ dispatched: false, usageComplete: false, cleanup: "confirmed" });
24
- /** Fresh single turns over an already-owned executor. No desktop or login acquisition here. */
23
+ function deferred() {
24
+ let resolve, reject;
25
+ const promise = new Promise((yes, no) => { resolve = yes; reject = no; });
26
+ // A native request can settle during executor work or shutdown, between consumers.
27
+ void promise.catch(() => undefined);
28
+ return { promise, resolve, reject };
29
+ }
30
+ const TOOL_DESCRIPTION = `Act on the participant's browser through Humanish. Submit one to four UI actions and a short public comment; never private reasoning. Humanish returns a JSON STRING with execution acknowledgments and a fresh screenshot. In Code Mode use: const r = JSON.parse(await tools.humanish_ui({narration: "...", actions: [...]})); text({acknowledgments: r.acknowledgments, contextHint: r.contextHint, closing: r.closing}); image(r.imageUrl). Call serially and inspect each returned screenshot before deciding what to do next. Acknowledged input does not prove an application outcome. If closing is true, stop calling tools and give your final account.`;
31
+ /** One native tool-calling conversation; the existing CUA loop owns every input. */
25
32
  export function createRestrictedCodexParticipant(options = {}) {
26
33
  const timeoutMs = options.requestTimeoutMs ?? L.requestMs;
27
34
  if (!Number.isSafeInteger(timeoutMs) || timeoutMs < 1 || timeoutMs > L.requestMs)
28
35
  throw new CuaProviderError("request_rejected", noDispatch());
29
- let closed = false, failedCleanup = false, incompleteUsage = false, omitted = 0;
30
- let instructions;
31
- let history = [];
36
+ const operator = options.authMode === "operator";
37
+ const model = options.model ?? (operator ? undefined : PARTICIPANT_PROFILE.requestedModel);
38
+ const effort = options.reasoningEffort ?? "low";
39
+ let closed = false, failedCleanup = false, incompleteUsage = false, active = false, closingPhase = false;
40
+ let instructions, lastActionCount;
41
+ let continuation;
42
+ const events = [];
43
+ let waiter;
44
+ const emit = (event) => {
45
+ if (waiter) {
46
+ const current = waiter;
47
+ waiter = undefined;
48
+ current.resolve(event);
49
+ }
50
+ else
51
+ events.push(event);
52
+ };
53
+ const nextEvent = async () => {
54
+ const event = events.shift() ?? await (waiter ??= deferred()).promise;
55
+ if ("error" in event)
56
+ throw event.error;
57
+ return event.turn;
58
+ };
59
+ let nativeTask, pending;
32
60
  let controller;
33
- let pending;
34
- let closing;
61
+ let sessionClosing, closing;
35
62
  let abortAt;
36
- let cleanupTimer;
63
+ const session = createRestrictedCodexSession({ ...options.session, participant: {
64
+ ...(operator ? { authMode: "operator" } : {}), reasoningEffort: effort,
65
+ tool: { name: "humanish_ui", description: TOOL_DESCRIPTION, inputSchema: PARTICIPANT_TOOL_SCHEMA,
66
+ async call(args) {
67
+ if (closed || closingPhase || continuation || !active)
68
+ throw new Error("Unexpected participant tool call");
69
+ const turn = parseParticipantTool(args);
70
+ const reply = deferred();
71
+ continuation = reply;
72
+ lastActionCount = turn.actions.length;
73
+ emit({ turn });
74
+ return reply.promise;
75
+ } }
76
+ } });
77
+ const closeSession = () => sessionClosing ??= Promise.resolve().then(() => session.close()).catch(() => false).then(confirmed => {
78
+ if (!confirmed)
79
+ failedCleanup = true;
80
+ return confirmed;
81
+ });
37
82
  const revoke = () => {
38
83
  closed = true;
39
84
  abortAt ??= performance.now();
40
85
  controller?.abort();
41
- cleanupTimer ??= setTimeout(() => { if (pending)
42
- failedCleanup = true; }, Math.max(0, L.cleanupMs - (performance.now() - abortAt)));
43
- };
44
- const trim = () => {
45
- while (history.length > L.historyTurns || Buffer.byteLength(JSON.stringify(history)) > L.history) {
46
- history.shift();
47
- omitted++;
48
- }
86
+ continuation?.reject(new Error("Participant closed"));
87
+ continuation = undefined;
88
+ void closeSession();
49
89
  };
50
- async function execute(req, signal, debrief, own) {
51
- let receipt = noDispatch();
52
- let usage;
53
- const onAbort = () => { revoke(); own.abort(); };
54
- signal.addEventListener("abort", onAbort, { once: true });
55
- if (signal.aborted)
56
- onAbort();
57
- try {
58
- if (own.signal.aborted || closed)
59
- throw new CuaProviderError("cancelled", receipt);
60
- if (typeof req.instructions !== "string" || Buffer.byteLength(req.instructions) > L.instructions ||
61
- (req.contextHint !== undefined && (typeof req.contextHint !== "string" || Buffer.byteLength(req.contextHint) > L.hint)) ||
62
- req.previousResponseId !== undefined || (req.acknowledgedSafetyChecks?.length ?? 0) > 0 ||
63
- (instructions !== undefined && instructions !== req.instructions))
64
- throw new CuaProviderError("request_rejected", receipt);
65
- const frame = req.observation.screenshot;
90
+ function launch(req, imageUrl) {
91
+ active = true;
92
+ controller = new AbortController();
93
+ nativeTask = (async () => {
94
+ let receipt = noDispatch(), usage;
66
95
  try {
67
- if (!Buffer.isBuffer(frame))
68
- throw new Error();
69
- validateBrowserControlPng(frame);
70
- }
71
- catch {
72
- throw new CuaProviderError("request_rejected", receipt);
73
- }
74
- instructions ??= req.instructions;
75
- const last = history.at(-1);
76
- if (last && req.previousExecution !== undefined) {
77
- if (req.previousExecution.actions.length !== last.actions.length || req.previousExecution.actions.some((a, i) => a.index !== i || !["completed", "skipped", "not_dispatched", "outcome_uncertain"].includes(a.status))) {
78
- throw new CuaProviderError("request_rejected", receipt);
96
+ const result = await session.run({ ...(model === undefined ? {} : { model }),
97
+ instructions: `${instructions}\n\nYou are the study participant throughout this conversation, including its closing account. Use only the supplied screenshots and humanish_ui tool to interact. The tool returns a JSON string: parse it, inspect acknowledgments, and display imageUrl with Code Mode image(). Do not print the image data URL as text. Keep your persona and earlier observations throughout the session. Speak publicly about your experience, never reveal private reasoning. Completed inputs do not prove application outcomes; verify on the next screenshot. When the task ends, return only the required final JSON with outcome, summary and frictionReports. Report observed confusion and recovered mistakes as well as blockers. Do not invent observations.`,
98
+ evidence: JSON.stringify({ phase: closingPhase ? "closing" : "interaction", contextHint: req.contextHint ?? null,
99
+ instruction: closingPhase ? "Interaction has ended. Do not call tools; give your closing account."
100
+ : "Use humanish_ui to act. Inspect each result before choosing the next batch. Finish when appropriate.",
101
+ width: req.observation.screenshot.readUInt32BE(16), height: req.observation.screenshot.readUInt32BE(20),
102
+ previousExecution: req.previousExecution ?? null }),
103
+ images: [{ evidenceId: "current-frame", dataUrl: imageUrl }], schema: PARTICIPANT_FINAL_SCHEMA,
104
+ maxOutputTokens: null, timeoutMs, signal: controller.signal });
105
+ receipt = { dispatched: result.dispatched, usageComplete: result.usageComplete,
106
+ cleanup: result.errorCode === "codex_cleanup_failed" ? "unconfirmed" : "confirmed" };
107
+ usage = result.usage ?? undefined;
108
+ if (result.dispatched && !result.usageComplete)
109
+ incompleteUsage = true;
110
+ if (receipt.cleanup === "unconfirmed")
111
+ failedCleanup = true;
112
+ if (closed || controller.signal.aborted)
113
+ throw new CuaProviderError(failedCleanup ? "cleanup_unconfirmed" : "cancelled", receipt, usage, result.failurePhase);
114
+ if (result.status !== "completed" || result.errorCode !== null)
115
+ throw new CuaProviderError(codeOf(result.errorCode), receipt, usage, result.failurePhase);
116
+ let turn;
117
+ try {
118
+ turn = parseParticipantFinal(result.output);
79
119
  }
80
- last.execution = { actions: req.previousExecution.actions.map(a => ({ ...a })) };
81
- }
82
- trim();
83
- const result = await runRestrictedCodexSession({ model: PARTICIPANT_PROFILE.requestedModel,
84
- instructions: `${instructions}\n\nYou are the study participant. Use only the current screenshot and explicit recent history. Describe your experience as public participant speech, never private reasoning. History contains proposals and input acknowledgments, not independent proof of success. A completed input does not prove its application outcome. Never use tools or request integrations. ${debrief ? "The interaction has ended. Give only a closing summary and frictionReports about what you observed; do not propose actions." : "Return the supplied JSON schema. Continue with one to four browser actions, or explicitly finish with no actions and your outcome. Preserve uncertainty and do not invent observations."}`,
85
- evidence: JSON.stringify({ phase: debrief ? "closing" : "interaction", width: frame.readUInt32BE(16), height: frame.readUInt32BE(20),
86
- contextHint: req.contextHint ?? null, memoryPolicy: PARTICIPANT_PROFILE.memoryPolicy, omittedTurns: omitted, history }),
87
- images: [{ evidenceId: "current-frame", dataUrl: `data:image/png;base64,${frame.toString("base64")}` }],
88
- schema: debrief ? PARTICIPANT_CLOSING_SCHEMA : PARTICIPANT_TURN_SCHEMA, maxOutputTokens: null, timeoutMs, signal: own.signal }, options.session);
89
- receipt = { dispatched: result.dispatched, usageComplete: result.usageComplete,
90
- cleanup: result.errorCode === "codex_cleanup_failed" ? "unconfirmed" : "confirmed" };
91
- usage = result.usage ?? undefined;
92
- if (receipt.cleanup === "unconfirmed") {
93
- failedCleanup = true;
94
- closed = true;
95
- }
96
- if (result.dispatched && !result.usageComplete && !debrief)
97
- incompleteUsage = true;
98
- if (closed || own.signal.aborted)
99
- throw new CuaProviderError(receipt.cleanup === "unconfirmed" ? "cleanup_unconfirmed" : "cancelled", receipt, usage, result.failurePhase);
100
- if (result.status !== "completed" || result.errorCode !== null)
101
- throw new CuaProviderError(codeOf(result.errorCode), receipt, usage, result.failurePhase);
102
- let turn;
103
- try {
104
- turn = debrief ? { actions: [], pendingSafetyChecks: [], done: true, closingReport: parseParticipantClosing(result.output) }
105
- : parseParticipantTurn(result.output);
120
+ catch {
121
+ throw new CuaProviderError("invalid_response", receipt, usage, "response");
122
+ }
123
+ emit({ turn: { ...turn, ...(usage === undefined ? {} : { usage: { ...usage, turns: result.inferenceUsage ?? [] } }), providerRequest: receipt } });
106
124
  }
107
- catch {
108
- throw new CuaProviderError("invalid_response", receipt, usage, "response");
125
+ catch (error) {
126
+ incompleteUsage ||= receipt.dispatched !== false && !receipt.usageComplete;
127
+ revoke();
128
+ emit({ error: isCuaProviderError(error) ? error
129
+ : new CuaProviderError("process_failed", { dispatched: "unknown", usageComplete: false, cleanup: "unconfirmed" }, usage) });
109
130
  }
110
- if (!debrief) {
111
- history.push({ narration: turn.message ?? "", actions: turn.actions.map(describeCuaAction) });
112
- trim();
131
+ finally {
132
+ active = false;
113
133
  }
114
- return { ...turn, ...(usage === undefined ? {} : { usage }), providerRequest: receipt };
134
+ })();
135
+ }
136
+ async function execute(req, signal, debrief) {
137
+ if (events.length)
138
+ return nextEvent();
139
+ if (signal.aborted) {
140
+ revoke();
141
+ throw new CuaProviderError("cancelled", noDispatch());
115
142
  }
116
- catch (error) {
117
- if (isCuaProviderError(error))
118
- throw error;
119
- failedCleanup = true;
120
- closed = true;
121
- incompleteUsage = true;
122
- throw new CuaProviderError("process_failed", { dispatched: "unknown", usageComplete: false, cleanup: "unconfirmed" }, usage);
143
+ if (typeof req.instructions !== "string" || Buffer.byteLength(req.instructions) > L.instructions ||
144
+ (req.contextHint !== undefined && (typeof req.contextHint !== "string" || Buffer.byteLength(req.contextHint) > L.hint)) ||
145
+ req.previousResponseId !== undefined || (req.acknowledgedSafetyChecks?.length ?? 0) > 0 ||
146
+ (instructions !== undefined && instructions !== req.instructions))
147
+ throw new CuaProviderError("request_rejected", noDispatch());
148
+ const frame = req.observation.screenshot;
149
+ try {
150
+ if (!Buffer.isBuffer(frame))
151
+ throw new Error();
152
+ validateBrowserControlPng(frame);
153
+ }
154
+ catch {
155
+ throw new CuaProviderError("request_rejected", noDispatch());
156
+ }
157
+ const acknowledgments = req.previousExecution?.actions;
158
+ if ((continuation && acknowledgments === undefined) || (acknowledgments !== undefined &&
159
+ (lastActionCount === undefined || !Array.isArray(acknowledgments) || acknowledgments.length !== lastActionCount ||
160
+ acknowledgments.some((a, i) => !a || a.index !== i || !["completed", "skipped", "not_dispatched", "outcome_uncertain"].includes(a.status))))) {
161
+ throw new CuaProviderError("request_rejected", noDispatch());
162
+ }
163
+ const onAbort = () => { revoke(); };
164
+ signal.addEventListener("abort", onAbort, { once: true });
165
+ try {
166
+ instructions ??= req.instructions;
167
+ closingPhase = debrief;
168
+ const imageUrl = `data:image/png;base64,${frame.toString("base64")}`;
169
+ if (continuation) {
170
+ const reply = continuation;
171
+ continuation = undefined;
172
+ reply.resolve(JSON.stringify({ acknowledgments: acknowledgments.map(({ index, status }) => ({ index, status })), imageUrl,
173
+ contextHint: req.contextHint ?? null, closing: debrief }));
174
+ }
175
+ else if (!active)
176
+ launch(req, imageUrl);
177
+ else
178
+ throw new CuaProviderError("busy", noDispatch());
179
+ return await nextEvent();
123
180
  }
124
181
  finally {
182
+ // The shared loop aborts each request's signal after it yields. The native
183
+ // turn must remain alive while Humanish executes and records its actions.
125
184
  signal.removeEventListener("abort", onAbort);
126
185
  }
127
186
  }
128
187
  const start = (req, signal, debrief) => {
129
- if (closed)
188
+ if (closed && events.length === 0)
130
189
  return Promise.reject(new CuaProviderError("request_rejected", noDispatch()));
131
190
  if (pending)
132
191
  return Promise.reject(new CuaProviderError("busy", noDispatch()));
133
- const own = new AbortController();
134
- controller = own;
135
- const task = execute(req, signal, debrief, own);
192
+ const task = execute(req, signal, debrief);
136
193
  pending = task;
137
- void task.finally(() => { if (pending === task) {
138
- pending = undefined;
139
- controller = undefined;
140
- clearTimeout(cleanupTimer);
141
- } }).catch(() => undefined);
194
+ void task.finally(() => { if (pending === task)
195
+ pending = undefined; }).catch(() => undefined);
142
196
  return task;
143
197
  };
144
198
  const provider = {
145
- id: "restricted-codex-participant", version: PARTICIPANT_PROFILE.requestedModel, requiresFrame: true, requestPolicy: "fail_closed",
146
- executionProfile: PARTICIPANT_PROFILE, modelSettings: { reasoningEffort: "low" },
147
- capabilities: { headless: true, structuredTrace: true, lanes: ["computer-use"], producesScreenshots: true, byoModel: false,
199
+ id: "codex-participant", requiresFrame: true, requestPolicy: "fail_closed",
200
+ get version() { return session.resolvedModel ?? model; },
201
+ get executionProfile() {
202
+ if (!operator)
203
+ return PARTICIPANT_PROFILE;
204
+ return session.authentication === "chatgpt-account" && session.resolvedModel
205
+ ? { ...PARTICIPANT_PROFILE, requestedModel: session.resolvedModel, reasoningEffort: effort } : undefined;
206
+ },
207
+ modelSettings: { reasoningEffort: effort },
208
+ capabilities: { headless: true, structuredTrace: true, lanes: ["computer-use"], producesScreenshots: true, byoModel: operator,
148
209
  preGrantableApprovals: false, inProcessTools: false, license: "proprietary" },
149
- get interactionUsageIncomplete() { return incompleteUsage; }, get historyTurnsOmitted() { return omitted; },
210
+ get pendingRequestUsage() {
211
+ const usage = session.pendingUsage;
212
+ return usage === undefined ? undefined : { ...usage, turns: session.pendingInferenceUsage ?? [] };
213
+ },
214
+ get interactionUsageIncomplete() { return incompleteUsage || active; }, get historyTurnsOmitted() { return 0; },
150
215
  nextTurn: (req, signal) => start(req, signal, false), debrief: (req, signal) => start(req, signal, true)
151
216
  };
152
217
  return { provider, close: () => {
153
218
  if (closing)
154
219
  return closing;
155
220
  revoke();
156
- history = [];
157
- instructions = undefined;
158
221
  closing = (async () => {
159
222
  let timer;
160
223
  try {
161
- const settled = !pending || await Promise.race([pending.then(() => true, () => true), new Promise(resolve => {
162
- timer = setTimeout(() => resolve(false), Math.max(0, L.cleanupMs - (performance.now() - abortAt)));
163
- })]);
164
- if (!settled)
224
+ const confirmed = await Promise.race([Promise.all([nativeTask, closeSession()]).then(([, ok]) => ok),
225
+ new Promise(resolve => { timer = setTimeout(() => resolve(false), Math.max(0, L.cleanupMs - (performance.now() - abortAt))); })]);
226
+ if (!confirmed)
165
227
  failedCleanup = true;
166
228
  return { status: failedCleanup ? "unconfirmed" : "confirmed" };
167
229
  }
168
230
  finally {
169
231
  clearTimeout(timer);
170
- clearTimeout(cleanupTimer);
171
- history = [];
172
- instructions = undefined;
173
232
  }
174
233
  })();
175
234
  return closing;
@@ -1 +1 @@
1
- {"version":3,"file":"restricted-codex-participant.js","sourceRoot":"","sources":["../src/restricted-codex-participant.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"restricted-codex-participant.js","sourceRoot":"","sources":["../src/restricted-codex-participant.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import type { ReasoningEffort } from "./reasoning-effort.js";
1
2
  /** Versioned, deliberately narrow profile qualified with an account-backed vision turn.
2
3
  * The CLI still advertises code-mode tools: disabling their host is the enforcement
3
4
  * boundary. Feature names alone are not proof that a tool has been removed. */
@@ -12,7 +13,7 @@ export declare const RESTRICTED_CODEX_ANALYSIS_IDENTITY: {
12
13
  export declare const RESTRICTED_CODEX_ANALYSIS_MODELS: readonly ["gpt-6-astra"];
13
14
  export type RestrictedCodexAnalysisErrorCode = "invalid_request" | "cancelled" | "timeout" | "response_too_large" | "invalid_response" | "refusal" | "output_incomplete" | "codex_unavailable" | "codex_unsupported_version" | "codex_unsupported_platform" | "codex_login_required" | "codex_unsupported_auth" | "codex_unsafe_configuration" | "codex_model_unavailable" | "codex_protocol_error" | "codex_tool_call" | "codex_process_failed" | "codex_cleanup_failed" | "codex_busy";
14
15
  export interface RestrictedCodexRequest {
15
- model: string;
16
+ model?: string | undefined;
16
17
  instructions: string;
17
18
  evidence: string;
18
19
  images: {
@@ -35,6 +36,7 @@ export interface RestrictedCodexResult {
35
36
  status: "completed" | "incomplete" | "refused" | "failed" | "cancelled" | "timed_out";
36
37
  output: unknown;
37
38
  usage: RestrictedCodexUsage | null;
39
+ inferenceUsage?: RestrictedCodexUsage[];
38
40
  usageComplete: boolean;
39
41
  dispatched: boolean;
40
42
  errorCode: RestrictedCodexAnalysisErrorCode | null;
@@ -45,13 +47,18 @@ export declare const CODEX_MAX_STDOUT_BYTES: number;
45
47
  export declare const CODEX_MAX_EVENTS = 65536;
46
48
  export declare const CODEX_IMAGE: RegExp;
47
49
  export declare const codexRecord: (value: unknown) => Record<string, unknown>;
48
- export declare function restrictedCodexConfig(model: string): {
50
+ export interface RestrictedCodexConfigMode {
51
+ participantCodeMode?: boolean;
52
+ reasoningEffort?: ReasoningEffort;
53
+ operatorAuth?: boolean;
54
+ }
55
+ export declare function restrictedCodexConfig(model: string | undefined, mode?: RestrictedCodexConfigMode): {
49
56
  toml: string;
50
57
  overrides: Record<string, unknown>;
51
58
  };
52
59
  /** Inspect before thread/start, which could otherwise start inherited integrations. */
53
- export declare function admitsRestrictedCodexConfig(raw: unknown, configPath: string, model: string): boolean;
54
- export declare function admitsRestrictedCodexThread(raw: unknown, model: string, cwd: string): boolean;
55
- export declare function restrictedCodexRequestError(request: RestrictedCodexRequest): RestrictedCodexAnalysisErrorCode | null;
60
+ export declare function admitsRestrictedCodexConfig(raw: unknown, configPath: string, model: string | undefined, mode?: RestrictedCodexConfigMode): boolean;
61
+ export declare function admitsRestrictedCodexThread(raw: unknown, model: string, cwd: string, reasoningEffort?: ReasoningEffort): boolean;
62
+ export declare function restrictedCodexRequestError(request: RestrictedCodexRequest, operatorParticipant?: boolean): RestrictedCodexAnalysisErrorCode | null;
56
63
  export declare function restrictedCodexUsage(raw: unknown): RestrictedCodexUsage | null;
57
64
  export declare function restrictedCodexFailure(errorCode: RestrictedCodexAnalysisErrorCode, dispatched?: boolean, usage?: RestrictedCodexUsage | null): RestrictedCodexResult;