@onkernel/cua-agent 0.2.0 → 0.3.1
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/CHANGELOG.md +17 -0
- package/README.md +24 -9
- package/dist/index.d.ts +138 -8
- package/dist/index.js +752 -5
- package/package.json +11 -10
- package/dist/agent.d.ts +0 -102
- package/dist/agent.d.ts.map +0 -1
- package/dist/agent.js +0 -207
- package/dist/agent.js.map +0 -1
- package/dist/index.d.ts.map +0 -1
- package/dist/index.js.map +0 -1
- package/dist/tools.d.ts +0 -39
- package/dist/tools.d.ts.map +0 -1
- package/dist/tools.js +0 -116
- package/dist/tools.js.map +0 -1
- package/dist/translator/translator.d.ts +0 -22
- package/dist/translator/translator.d.ts.map +0 -1
- package/dist/translator/translator.js +0 -227
- package/dist/translator/translator.js.map +0 -1
- package/dist/translator/types.d.ts +0 -39
- package/dist/translator/types.d.ts.map +0 -1
- package/dist/translator/types.js +0 -2
- package/dist/translator/types.js.map +0 -1
- package/dist/vendor/pi-agent-core/agent-loop.d.ts +0 -24
- package/dist/vendor/pi-agent-core/agent-loop.d.ts.map +0 -1
- package/dist/vendor/pi-agent-core/agent-loop.js +0 -479
- package/dist/vendor/pi-agent-core/agent-loop.js.map +0 -1
- package/dist/vendor/pi-agent-core/agent.d.ts +0 -125
- package/dist/vendor/pi-agent-core/agent.d.ts.map +0 -1
- package/dist/vendor/pi-agent-core/agent.js +0 -402
- package/dist/vendor/pi-agent-core/agent.js.map +0 -1
- package/dist/vendor/pi-agent-core/harness/agent-harness.d.ts +0 -85
- package/dist/vendor/pi-agent-core/harness/agent-harness.d.ts.map +0 -1
- package/dist/vendor/pi-agent-core/harness/agent-harness.js +0 -728
- package/dist/vendor/pi-agent-core/harness/agent-harness.js.map +0 -1
- package/dist/vendor/pi-agent-core/harness/compaction/branch-summarization.d.ts +0 -88
- package/dist/vendor/pi-agent-core/harness/compaction/branch-summarization.d.ts.map +0 -1
- package/dist/vendor/pi-agent-core/harness/compaction/branch-summarization.js +0 -243
- package/dist/vendor/pi-agent-core/harness/compaction/branch-summarization.js.map +0 -1
- package/dist/vendor/pi-agent-core/harness/compaction/compaction.d.ts +0 -122
- package/dist/vendor/pi-agent-core/harness/compaction/compaction.d.ts.map +0 -1
- package/dist/vendor/pi-agent-core/harness/compaction/compaction.js +0 -616
- package/dist/vendor/pi-agent-core/harness/compaction/compaction.js.map +0 -1
- package/dist/vendor/pi-agent-core/harness/compaction/utils.d.ts +0 -38
- package/dist/vendor/pi-agent-core/harness/compaction/utils.d.ts.map +0 -1
- package/dist/vendor/pi-agent-core/harness/compaction/utils.js +0 -153
- package/dist/vendor/pi-agent-core/harness/compaction/utils.js.map +0 -1
- package/dist/vendor/pi-agent-core/harness/env/nodejs.d.ts +0 -44
- package/dist/vendor/pi-agent-core/harness/env/nodejs.d.ts.map +0 -1
- package/dist/vendor/pi-agent-core/harness/env/nodejs.js +0 -348
- package/dist/vendor/pi-agent-core/harness/env/nodejs.js.map +0 -1
- package/dist/vendor/pi-agent-core/harness/execution-env.d.ts +0 -4
- package/dist/vendor/pi-agent-core/harness/execution-env.d.ts.map +0 -1
- package/dist/vendor/pi-agent-core/harness/execution-env.js +0 -3
- package/dist/vendor/pi-agent-core/harness/execution-env.js.map +0 -1
- package/dist/vendor/pi-agent-core/harness/messages.d.ts +0 -51
- package/dist/vendor/pi-agent-core/harness/messages.d.ts.map +0 -1
- package/dist/vendor/pi-agent-core/harness/messages.js +0 -102
- package/dist/vendor/pi-agent-core/harness/messages.js.map +0 -1
- package/dist/vendor/pi-agent-core/harness/prompt-templates.d.ts +0 -45
- package/dist/vendor/pi-agent-core/harness/prompt-templates.d.ts.map +0 -1
- package/dist/vendor/pi-agent-core/harness/prompt-templates.js +0 -200
- package/dist/vendor/pi-agent-core/harness/prompt-templates.js.map +0 -1
- package/dist/vendor/pi-agent-core/harness/session/repo/jsonl.d.ts +0 -20
- package/dist/vendor/pi-agent-core/harness/session/repo/jsonl.d.ts.map +0 -1
- package/dist/vendor/pi-agent-core/harness/session/repo/jsonl.js +0 -92
- package/dist/vendor/pi-agent-core/harness/session/repo/jsonl.js.map +0 -1
- package/dist/vendor/pi-agent-core/harness/session/repo/memory.d.ts +0 -18
- package/dist/vendor/pi-agent-core/harness/session/repo/memory.d.ts.map +0 -1
- package/dist/vendor/pi-agent-core/harness/session/repo/memory.js +0 -42
- package/dist/vendor/pi-agent-core/harness/session/repo/memory.js.map +0 -1
- package/dist/vendor/pi-agent-core/harness/session/repo/shared.d.ts +0 -10
- package/dist/vendor/pi-agent-core/harness/session/repo/shared.d.ts.map +0 -1
- package/dist/vendor/pi-agent-core/harness/session/repo/shared.js +0 -31
- package/dist/vendor/pi-agent-core/harness/session/repo/shared.js.map +0 -1
- package/dist/vendor/pi-agent-core/harness/session/session.d.ts +0 -32
- package/dist/vendor/pi-agent-core/harness/session/session.d.ts.map +0 -1
- package/dist/vendor/pi-agent-core/harness/session/session.js +0 -196
- package/dist/vendor/pi-agent-core/harness/session/session.js.map +0 -1
- package/dist/vendor/pi-agent-core/harness/session/storage/jsonl.d.ts +0 -30
- package/dist/vendor/pi-agent-core/harness/session/storage/jsonl.d.ts.map +0 -1
- package/dist/vendor/pi-agent-core/harness/session/storage/jsonl.js +0 -170
- package/dist/vendor/pi-agent-core/harness/session/storage/jsonl.js.map +0 -1
- package/dist/vendor/pi-agent-core/harness/session/storage/memory.d.ts +0 -26
- package/dist/vendor/pi-agent-core/harness/session/storage/memory.d.ts.map +0 -1
- package/dist/vendor/pi-agent-core/harness/session/storage/memory.js +0 -90
- package/dist/vendor/pi-agent-core/harness/session/storage/memory.js.map +0 -1
- package/dist/vendor/pi-agent-core/harness/session/uuid.d.ts +0 -2
- package/dist/vendor/pi-agent-core/harness/session/uuid.d.ts.map +0 -1
- package/dist/vendor/pi-agent-core/harness/session/uuid.js +0 -40
- package/dist/vendor/pi-agent-core/harness/session/uuid.js.map +0 -1
- package/dist/vendor/pi-agent-core/harness/skills.d.ts +0 -41
- package/dist/vendor/pi-agent-core/harness/skills.d.ts.map +0 -1
- package/dist/vendor/pi-agent-core/harness/skills.js +0 -259
- package/dist/vendor/pi-agent-core/harness/skills.js.map +0 -1
- package/dist/vendor/pi-agent-core/harness/system-prompt.d.ts +0 -3
- package/dist/vendor/pi-agent-core/harness/system-prompt.d.ts.map +0 -1
- package/dist/vendor/pi-agent-core/harness/system-prompt.js +0 -30
- package/dist/vendor/pi-agent-core/harness/system-prompt.js.map +0 -1
- package/dist/vendor/pi-agent-core/harness/types.d.ts +0 -525
- package/dist/vendor/pi-agent-core/harness/types.d.ts.map +0 -1
- package/dist/vendor/pi-agent-core/harness/types.js +0 -16
- package/dist/vendor/pi-agent-core/harness/types.js.map +0 -1
- package/dist/vendor/pi-agent-core/harness/utils/shell-output.d.ts +0 -14
- package/dist/vendor/pi-agent-core/harness/utils/shell-output.d.ts.map +0 -1
- package/dist/vendor/pi-agent-core/harness/utils/shell-output.js +0 -97
- package/dist/vendor/pi-agent-core/harness/utils/shell-output.js.map +0 -1
- package/dist/vendor/pi-agent-core/harness/utils/truncate.d.ts +0 -70
- package/dist/vendor/pi-agent-core/harness/utils/truncate.d.ts.map +0 -1
- package/dist/vendor/pi-agent-core/harness/utils/truncate.js +0 -205
- package/dist/vendor/pi-agent-core/harness/utils/truncate.js.map +0 -1
- package/dist/vendor/pi-agent-core/index.d.ts +0 -21
- package/dist/vendor/pi-agent-core/index.d.ts.map +0 -1
- package/dist/vendor/pi-agent-core/index.js +0 -26
- package/dist/vendor/pi-agent-core/index.js.map +0 -1
- package/dist/vendor/pi-agent-core/proxy.d.ts +0 -69
- package/dist/vendor/pi-agent-core/proxy.d.ts.map +0 -1
- package/dist/vendor/pi-agent-core/proxy.js +0 -278
- package/dist/vendor/pi-agent-core/proxy.js.map +0 -1
- package/dist/vendor/pi-agent-core/types.d.ts +0 -386
- package/dist/vendor/pi-agent-core/types.d.ts.map +0 -1
- package/dist/vendor/pi-agent-core/types.js +0 -2
- package/dist/vendor/pi-agent-core/types.js.map +0 -1
- package/src/vendor/pi-agent-core/LICENSE +0 -21
- package/src/vendor/pi-agent-core/README.md +0 -15
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,22 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 0.3.1 - 2026-06-11
|
|
4
|
+
|
|
5
|
+
- Update the `@onkernel/cua-ai` dependency to 0.2.1.
|
|
6
|
+
|
|
7
|
+
## 0.3.0 - 2026-06-10
|
|
8
|
+
|
|
9
|
+
- Replaces the vendored pi-agent-core snapshot with the released `@earendil-works/pi-agent-core@0.79.1` dependency. The full pi surface is still re-exported, but it now tracks the published package instead of a frozen fork.
|
|
10
|
+
- BREAKING: `harness.agent` is removed. It only existed in the vendored pre-release snapshot and never shipped in any pi-agent-core release; use `getModel()`, `getTools()`, and `getActiveTools()` instead.
|
|
11
|
+
- BREAKING: `steer()`, `followUp()`, `nextTurn()`, and `setStreamOptions()` on the harness now return promises and must be awaited.
|
|
12
|
+
- BREAKING: the harness `model_select` and `thinking_level_select` events are renamed `model_update` and `thinking_level_update`, and the `steeringMode`/`followUpMode` property accessors became `getSteeringMode()`/`setSteeringMode()`/`getFollowUpMode()`/`setFollowUpMode()` methods.
|
|
13
|
+
- BREAKING: `ExecutionEnv` is now `Result`-based. Custom env implementations return `Result` values instead of throwing.
|
|
14
|
+
- BREAKING: requires Node.js >= 22.19.0.
|
|
15
|
+
- `NodeExecutionEnv` now comes from `@earendil-works/pi-agent-core`'s `/node` subpath; importing it from `@onkernel/cua-agent` keeps working.
|
|
16
|
+
- Tool execution follows pi's throw-on-failure contract: failed browser actions throw an error labeled with the action instead of also encoding the failure into tool result content and details.
|
|
17
|
+
- Moves the yutori screenshot payload append into `@onkernel/cua-ai`'s payload middleware.
|
|
18
|
+
- Built ESM output uses explicit `.js` relative import specifiers so `dist` resolves under plain Node.js.
|
|
19
|
+
|
|
3
20
|
## 0.2.0 - 2026-05-13
|
|
4
21
|
|
|
5
22
|
- Adds `CuaAgentHarness`, a provider-aware harness API with session-backed turns, resource and prompt helpers, active tool selection, and model switching.
|
package/README.md
CHANGED
|
@@ -1,7 +1,9 @@
|
|
|
1
1
|
# `@onkernel/cua-agent`
|
|
2
2
|
|
|
3
|
-
Kernel browser computer-use classes built on
|
|
4
|
-
`
|
|
3
|
+
Kernel browser computer-use classes built on the `Agent` and `AgentHarness`
|
|
4
|
+
classes from [`@earendil-works/pi-agent-core`](https://www.npmjs.com/package/@earendil-works/pi-agent-core).
|
|
5
|
+
The full pi-agent-core surface is re-exported from this package, including
|
|
6
|
+
`NodeExecutionEnv` from its `/node` subpath.
|
|
5
7
|
|
|
6
8
|
This package keeps pi agent semantics intact and adds browser execution
|
|
7
9
|
plumbing for canonical CUA tools.
|
|
@@ -84,6 +86,8 @@ Both classes mirror pi constructor shapes and behavior, with minimal additions:
|
|
|
84
86
|
- `browser` (Kernel browser response)
|
|
85
87
|
- `client` (Kernel SDK client)
|
|
86
88
|
- CUA model refs (`"provider:model"`) accepted where pi expects a concrete model
|
|
89
|
+
- `extraTools` to add your own pi tools alongside the built-in browser tools
|
|
90
|
+
- `computerUseExtra: true` to let the model use a small navigation helper
|
|
87
91
|
|
|
88
92
|
If auth callbacks are omitted, both classes default to CUA env var conventions:
|
|
89
93
|
- OpenAI: `OPENAI_API_KEY`
|
|
@@ -94,9 +98,19 @@ If auth callbacks are omitted, both classes default to CUA env var conventions:
|
|
|
94
98
|
|
|
95
99
|
### Tool Defaults
|
|
96
100
|
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
101
|
+
By default, the classes install provider-selected CUA computer tool executors
|
|
102
|
+
from `@onkernel/cua-ai`. Each provider decides which tool names the model sees;
|
|
103
|
+
the matching executor adapter translates returned tool calls into canonical CUA
|
|
104
|
+
actions that run against the Kernel browser.
|
|
105
|
+
|
|
106
|
+
Use `extraTools` to add your own pi tools alongside the provider's
|
|
107
|
+
computer-use tools. This is useful when the model needs to call
|
|
108
|
+
application-specific code, such as looking up a record, writing a database row,
|
|
109
|
+
or handing off to another service while it also controls the browser.
|
|
110
|
+
|
|
111
|
+
`computerUseExtra: true` adds the `computer_use_extra` tool. Use it when you
|
|
112
|
+
want one compact helper for common browser navigation/read operations:
|
|
113
|
+
`goto`, `back`, `forward`, and `url`.
|
|
100
114
|
|
|
101
115
|
### Model Switching
|
|
102
116
|
|
|
@@ -111,8 +125,8 @@ the next provider request.
|
|
|
111
125
|
|
|
112
126
|
### Tool Composition
|
|
113
127
|
|
|
114
|
-
Use `createCuaComputerTools()` to compose your own tool list from
|
|
115
|
-
|
|
128
|
+
Use `createCuaComputerTools()` to compose your own tool list from provider
|
|
129
|
+
execution adapters:
|
|
116
130
|
|
|
117
131
|
```ts
|
|
118
132
|
import { resolveCuaRuntimeSpec } from "@onkernel/cua-ai";
|
|
@@ -123,11 +137,12 @@ const tools = [
|
|
|
123
137
|
...createCuaComputerTools({
|
|
124
138
|
browser,
|
|
125
139
|
client,
|
|
126
|
-
|
|
140
|
+
toolExecutors: runtime.toolExecutors,
|
|
127
141
|
}),
|
|
128
142
|
myCustomTool,
|
|
129
143
|
];
|
|
130
144
|
```
|
|
131
145
|
|
|
132
146
|
For full event semantics, steering, follow-up queues, and tool execution
|
|
133
|
-
details, see the pi
|
|
147
|
+
details, see the [`@earendil-works/pi-agent-core`](https://www.npmjs.com/package/@earendil-works/pi-agent-core)
|
|
148
|
+
package.
|
package/dist/index.d.ts
CHANGED
|
@@ -1,8 +1,138 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
export
|
|
7
|
-
|
|
8
|
-
//#
|
|
1
|
+
import { Agent, AgentHarness, AgentHarnessOptions, AgentOptions, AgentState, AgentTool, PromptTemplate, Skill } from "@earendil-works/pi-agent-core";
|
|
2
|
+
import { NodeExecutionEnv } from "@earendil-works/pi-agent-core/node";
|
|
3
|
+
import { Api, ComputerToolCoordinateSystem, CuaModelRef, CuaScreenshotSpec, CuaToolExecutorSpec, Model, SimpleStreamOptions, TSchema } from "@onkernel/cua-ai";
|
|
4
|
+
import Kernel from "@onkernel/sdk";
|
|
5
|
+
import { BrowserCreateResponse, BrowserRetrieveResponse } from "@onkernel/sdk/resources/browsers";
|
|
6
|
+
export * from "@earendil-works/pi-agent-core";
|
|
7
|
+
|
|
8
|
+
//#region src/translator/translator.d.ts
|
|
9
|
+
type KernelBrowser = BrowserCreateResponse | BrowserRetrieveResponse;
|
|
10
|
+
//#endregion
|
|
11
|
+
//#region src/tools.d.ts
|
|
12
|
+
interface ComputerToolOptions {
|
|
13
|
+
browser: KernelBrowser;
|
|
14
|
+
client: Kernel;
|
|
15
|
+
toolExecutors: CuaToolExecutorSpec[];
|
|
16
|
+
coordinateSystem?: ComputerToolCoordinateSystem;
|
|
17
|
+
screenshot?: CuaScreenshotSpec;
|
|
18
|
+
computerUseExtra?: boolean;
|
|
19
|
+
}
|
|
20
|
+
interface BatchDetails {
|
|
21
|
+
statusText: string;
|
|
22
|
+
readResults: Array<{
|
|
23
|
+
type: "url";
|
|
24
|
+
url: string;
|
|
25
|
+
} | {
|
|
26
|
+
type: "screenshot";
|
|
27
|
+
bytes: number;
|
|
28
|
+
} | {
|
|
29
|
+
type: "cursor_position";
|
|
30
|
+
x: number;
|
|
31
|
+
y: number;
|
|
32
|
+
}>;
|
|
33
|
+
}
|
|
34
|
+
interface NavigationDetails {
|
|
35
|
+
action: string;
|
|
36
|
+
statusText: string;
|
|
37
|
+
url?: string;
|
|
38
|
+
}
|
|
39
|
+
type BatchTool = AgentTool<TSchema, BatchDetails>;
|
|
40
|
+
type NavigationTool = AgentTool<TSchema, NavigationDetails>;
|
|
41
|
+
type ActionTool = AgentTool<TSchema, BatchDetails>;
|
|
42
|
+
type CuaExecutorTool = BatchTool | NavigationTool | ActionTool;
|
|
43
|
+
declare function createCuaComputerTools(args: ComputerToolOptions): CuaExecutorTool[];
|
|
44
|
+
//#endregion
|
|
45
|
+
//#region src/agent.d.ts
|
|
46
|
+
/** A CUA model reference string or a concrete pi model object. */
|
|
47
|
+
type CuaRuntimeInput = CuaModelRef | Model<Api>;
|
|
48
|
+
/**
|
|
49
|
+
* Agent state exposed by {@link CuaAgent}.
|
|
50
|
+
*
|
|
51
|
+
* It is the regular pi `AgentState`, except assigning `state.model` may use a
|
|
52
|
+
* CUA model ref such as `"openai:gpt-5.5"`. CUA-owned tools and the default
|
|
53
|
+
* system prompt are refreshed to match the new provider runtime.
|
|
54
|
+
*/
|
|
55
|
+
interface CuaAgentState extends Omit<AgentState, "model"> {
|
|
56
|
+
/** The concrete pi model currently used by the underlying agent loop. */
|
|
57
|
+
get model(): Model<Api>;
|
|
58
|
+
/** Assign a concrete pi model or CUA model ref and refresh CUA runtime defaults. */
|
|
59
|
+
set model(model: CuaRuntimeInput);
|
|
60
|
+
}
|
|
61
|
+
/** Initial state for {@link CuaAgent}. */
|
|
62
|
+
type CuaAgentInitialState = Omit<NonNullable<AgentOptions["initialState"]>, "model" | "tools"> & {
|
|
63
|
+
/** Model to use for the first turn. CUA refs are resolved before pi sees the state. */model: CuaRuntimeInput;
|
|
64
|
+
};
|
|
65
|
+
/**
|
|
66
|
+
* Constructor options for {@link CuaAgent}.
|
|
67
|
+
*
|
|
68
|
+
* `browser` and `client` are used to build the default computer-use tools.
|
|
69
|
+
* Everything else follows pi `AgentOptions`, with `initialState.model`
|
|
70
|
+
* widened to accept CUA model refs.
|
|
71
|
+
*/
|
|
72
|
+
type CuaAgentOptions = Omit<AgentOptions, "initialState"> & {
|
|
73
|
+
/** Kernel browser session used by default CUA tools. */browser: KernelBrowser; /** Kernel SDK client used by default CUA tools. */
|
|
74
|
+
client: Kernel; /** Initial pi state plus a CUA-aware model value. */
|
|
75
|
+
initialState: CuaAgentInitialState; /** Add your own pi tools alongside the built-in browser tools. */
|
|
76
|
+
extraTools?: AgentTool[]; /** Expose a helper for browser navigation and URL reads. */
|
|
77
|
+
computerUseExtra?: boolean;
|
|
78
|
+
};
|
|
79
|
+
/**
|
|
80
|
+
* Constructor options for {@link CuaAgentHarness}.
|
|
81
|
+
*
|
|
82
|
+
* The harness keeps pi `AgentHarnessOptions` intact except that `model`
|
|
83
|
+
* accepts CUA refs and `browser`/`client` are required to build default
|
|
84
|
+
* computer-use tools. Callers provide pi's `env` and `session` directly.
|
|
85
|
+
*/
|
|
86
|
+
type CuaAgentHarnessOptions<TSkill extends Skill = Skill, TPromptTemplate extends PromptTemplate = PromptTemplate> = Omit<AgentHarnessOptions<TSkill, TPromptTemplate, AgentTool>, "model" | "tools"> & {
|
|
87
|
+
/** Kernel browser session used by default CUA tools. */browser: KernelBrowser; /** Kernel SDK client used by default CUA tools. */
|
|
88
|
+
client: Kernel; /** Model used by the harness. CUA refs are resolved before pi sees the model. */
|
|
89
|
+
model: CuaRuntimeInput; /** Add your own pi tools alongside the built-in browser tools. */
|
|
90
|
+
extraTools?: AgentTool[]; /** Expose a helper for browser navigation and URL reads. */
|
|
91
|
+
computerUseExtra?: boolean; /** Optional payload hook composed after the provider-specific CUA payload hook. */
|
|
92
|
+
onPayload?: SimpleStreamOptions["onPayload"];
|
|
93
|
+
};
|
|
94
|
+
/**
|
|
95
|
+
* Pi `Agent` configured for Kernel browser computer use.
|
|
96
|
+
*
|
|
97
|
+
* Use this class when you want direct access to the lower-level pi agent state,
|
|
98
|
+
* queues, event stream, and `state.model` mutation model. It resolves CUA model
|
|
99
|
+
* refs, installs provider-appropriate CUA tools by default, and keeps those
|
|
100
|
+
* defaults in sync when `agent.state.model` changes.
|
|
101
|
+
*/
|
|
102
|
+
declare class CuaAgent extends Agent {
|
|
103
|
+
private readonly runtime;
|
|
104
|
+
private readonly ownsSystemPrompt;
|
|
105
|
+
private stateProxy?;
|
|
106
|
+
constructor(options: CuaAgentOptions);
|
|
107
|
+
/**
|
|
108
|
+
* Return a state proxy so `agent.state.model = "provider:model"` can behave
|
|
109
|
+
* like pi's normal mutable state while also re-resolving CUA tools, prompt,
|
|
110
|
+
* and payload hooks for the selected provider.
|
|
111
|
+
*/
|
|
112
|
+
get state(): CuaAgentState;
|
|
113
|
+
private applyRuntime;
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Pi `AgentHarness` configured for Kernel browser computer use.
|
|
117
|
+
*
|
|
118
|
+
* Use this class when you want pi's higher-level harness APIs for sessions,
|
|
119
|
+
* resources, prompt templates, queue events, compaction, and model selection.
|
|
120
|
+
* It installs provider CUA tools by default and keeps CUA-owned runtime
|
|
121
|
+
* defaults in sync through `setModel()`.
|
|
122
|
+
*/
|
|
123
|
+
declare class CuaAgentHarness<TSkill extends Skill = Skill, TPromptTemplate extends PromptTemplate = PromptTemplate> extends AgentHarness<TSkill, TPromptTemplate, AgentTool> {
|
|
124
|
+
private readonly runtime;
|
|
125
|
+
private requestedActiveToolNames?;
|
|
126
|
+
constructor(options: CuaAgentHarnessOptions<TSkill, TPromptTemplate>);
|
|
127
|
+
/**
|
|
128
|
+
* Mirror pi `AgentHarness.setModel()` while accepting CUA model refs.
|
|
129
|
+
*
|
|
130
|
+
* The override refreshes CUA-owned tools before delegating to pi so the
|
|
131
|
+
* harness snapshot and session model-change entry are written with the
|
|
132
|
+
* concrete model selected by `@onkernel/cua-ai`.
|
|
133
|
+
*/
|
|
134
|
+
setModel(model: CuaRuntimeInput): Promise<void>;
|
|
135
|
+
setActiveTools(toolNames: string[]): Promise<void>;
|
|
136
|
+
}
|
|
137
|
+
//#endregion
|
|
138
|
+
export { type BatchDetails, type ComputerToolOptions, CuaAgent, CuaAgentHarness, type CuaAgentHarnessOptions, type CuaAgentOptions, type CuaAgentState, type CuaExecutorTool, type KernelBrowser, type NavigationDetails, NodeExecutionEnv, createCuaComputerTools };
|