@onkernel/cua-agent 0.2.0 → 0.3.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/CHANGELOG.md +13 -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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@onkernel/cua-agent",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"description": "Kernel browser computer-use Agent and AgentHarness classes built on pi-agent-core",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -26,27 +26,28 @@
|
|
|
26
26
|
"dist",
|
|
27
27
|
"examples",
|
|
28
28
|
"README.md",
|
|
29
|
-
"CHANGELOG.md"
|
|
30
|
-
"src/vendor/pi-agent-core/LICENSE",
|
|
31
|
-
"src/vendor/pi-agent-core/README.md"
|
|
29
|
+
"CHANGELOG.md"
|
|
32
30
|
],
|
|
33
31
|
"publishConfig": {
|
|
34
32
|
"access": "public"
|
|
35
33
|
},
|
|
36
34
|
"scripts": {
|
|
37
|
-
"build": "
|
|
38
|
-
"clean": "tsc -b --clean",
|
|
35
|
+
"build": "tsdown",
|
|
36
|
+
"clean": "tsc -b --clean && rm -rf dist dist-tsc",
|
|
39
37
|
"example:agent": "NODE_OPTIONS=--conditions=source tsx examples/agent-openai-smoke.ts",
|
|
40
38
|
"example:harness": "NODE_OPTIONS=--conditions=source tsx examples/harness-openai-smoke.ts",
|
|
41
|
-
"test": "vitest --run"
|
|
39
|
+
"test": "vitest --run",
|
|
40
|
+
"typecheck": "tsc -b"
|
|
42
41
|
},
|
|
43
42
|
"dependencies": {
|
|
44
|
-
"@earendil-works/pi-
|
|
45
|
-
"@
|
|
43
|
+
"@earendil-works/pi-agent-core": "0.79.1",
|
|
44
|
+
"@earendil-works/pi-ai": "0.79.1",
|
|
45
|
+
"@onkernel/cua-ai": "0.2.0",
|
|
46
46
|
"@onkernel/sdk": "0.49.0",
|
|
47
|
-
"
|
|
47
|
+
"sharp": "^0.34.5"
|
|
48
48
|
},
|
|
49
49
|
"devDependencies": {
|
|
50
|
+
"tsdown": "^0.22.2",
|
|
50
51
|
"vitest": "^3.2.4"
|
|
51
52
|
}
|
|
52
53
|
}
|
package/dist/agent.d.ts
DELETED
|
@@ -1,102 +0,0 @@
|
|
|
1
|
-
import { Agent, AgentHarness, type AgentHarnessOptions, type AgentOptions, type AgentState, type AgentTool, type PromptTemplate, type Skill } from "./vendor/pi-agent-core/index";
|
|
2
|
-
import { type Api, type CuaModelRef, type Model, type SimpleStreamOptions } from "@onkernel/cua-ai";
|
|
3
|
-
import type Kernel from "@onkernel/sdk";
|
|
4
|
-
import type { KernelBrowser } from "./translator/translator";
|
|
5
|
-
/** A CUA model reference string or a concrete pi model object. */
|
|
6
|
-
type CuaRuntimeInput = CuaModelRef | Model<Api>;
|
|
7
|
-
/**
|
|
8
|
-
* Agent state exposed by {@link CuaAgent}.
|
|
9
|
-
*
|
|
10
|
-
* It is the regular pi `AgentState`, except assigning `state.model` may use a
|
|
11
|
-
* CUA model ref such as `"openai:gpt-5.5"`. CUA-owned tools and the default
|
|
12
|
-
* system prompt are refreshed to match the new provider runtime.
|
|
13
|
-
*/
|
|
14
|
-
export interface CuaAgentState extends Omit<AgentState, "model"> {
|
|
15
|
-
/** The concrete pi model currently used by the underlying agent loop. */
|
|
16
|
-
get model(): Model<Api>;
|
|
17
|
-
/** Assign a concrete pi model or CUA model ref and refresh CUA runtime defaults. */
|
|
18
|
-
set model(model: CuaRuntimeInput);
|
|
19
|
-
}
|
|
20
|
-
/** Initial state for {@link CuaAgent}. */
|
|
21
|
-
type CuaAgentInitialState = Omit<NonNullable<AgentOptions["initialState"]>, "model" | "tools"> & {
|
|
22
|
-
/** Model to use for the first turn. CUA refs are resolved before pi sees the state. */
|
|
23
|
-
model: CuaRuntimeInput;
|
|
24
|
-
/** Optional caller-owned tools. Omit this to install the provider's default CUA tools. */
|
|
25
|
-
tools?: AgentTool[];
|
|
26
|
-
};
|
|
27
|
-
/**
|
|
28
|
-
* Constructor options for {@link CuaAgent}.
|
|
29
|
-
*
|
|
30
|
-
* `browser` and `client` are used to build the default computer-use tools.
|
|
31
|
-
* Everything else follows pi `AgentOptions`, with `initialState.model`
|
|
32
|
-
* widened to accept CUA model refs.
|
|
33
|
-
*/
|
|
34
|
-
export type CuaAgentOptions = Omit<AgentOptions, "initialState"> & {
|
|
35
|
-
/** Kernel browser session used by default CUA tools. */
|
|
36
|
-
browser: KernelBrowser;
|
|
37
|
-
/** Kernel SDK client used by default CUA tools. */
|
|
38
|
-
client: Kernel;
|
|
39
|
-
/** Initial pi state plus a CUA-aware model value. */
|
|
40
|
-
initialState: CuaAgentInitialState;
|
|
41
|
-
};
|
|
42
|
-
/**
|
|
43
|
-
* Constructor options for {@link CuaAgentHarness}.
|
|
44
|
-
*
|
|
45
|
-
* The harness keeps pi `AgentHarnessOptions` intact except that `model`
|
|
46
|
-
* accepts CUA refs and `browser`/`client` are required to build default
|
|
47
|
-
* computer-use tools. Callers provide pi's `env` and `session` directly.
|
|
48
|
-
*/
|
|
49
|
-
export type CuaAgentHarnessOptions<TSkill extends Skill = Skill, TPromptTemplate extends PromptTemplate = PromptTemplate> = Omit<AgentHarnessOptions<TSkill, TPromptTemplate, AgentTool>, "model"> & {
|
|
50
|
-
/** Kernel browser session used by default CUA tools. */
|
|
51
|
-
browser: KernelBrowser;
|
|
52
|
-
/** Kernel SDK client used by default CUA tools. */
|
|
53
|
-
client: Kernel;
|
|
54
|
-
/** Model used by the harness. CUA refs are resolved before pi sees the model. */
|
|
55
|
-
model: CuaRuntimeInput;
|
|
56
|
-
/** Optional payload hook composed after the provider-specific CUA payload hook. */
|
|
57
|
-
onPayload?: SimpleStreamOptions["onPayload"];
|
|
58
|
-
};
|
|
59
|
-
/**
|
|
60
|
-
* Pi `Agent` configured for Kernel browser computer use.
|
|
61
|
-
*
|
|
62
|
-
* Use this class when you want direct access to the lower-level pi agent state,
|
|
63
|
-
* queues, event stream, and `state.model` mutation model. It resolves CUA model
|
|
64
|
-
* refs, installs provider-appropriate CUA tools by default, and keeps those
|
|
65
|
-
* defaults in sync when `agent.state.model` changes.
|
|
66
|
-
*/
|
|
67
|
-
export declare class CuaAgent extends Agent {
|
|
68
|
-
private readonly runtime;
|
|
69
|
-
private stateProxy?;
|
|
70
|
-
constructor(options: CuaAgentOptions);
|
|
71
|
-
/**
|
|
72
|
-
* Return a state proxy so `agent.state.model = "provider:model"` can behave
|
|
73
|
-
* like pi's normal mutable state while also re-resolving CUA tools, prompt,
|
|
74
|
-
* and payload hooks for the selected provider.
|
|
75
|
-
*/
|
|
76
|
-
get state(): CuaAgentState;
|
|
77
|
-
private applyRuntime;
|
|
78
|
-
}
|
|
79
|
-
/**
|
|
80
|
-
* Pi `AgentHarness` configured for Kernel browser computer use.
|
|
81
|
-
*
|
|
82
|
-
* Use this class when you want pi's higher-level harness APIs for sessions,
|
|
83
|
-
* resources, prompt templates, queue events, compaction, and model selection.
|
|
84
|
-
* It installs provider CUA tools by default and keeps CUA-owned runtime
|
|
85
|
-
* defaults in sync through `setModel()`.
|
|
86
|
-
*/
|
|
87
|
-
export declare class CuaAgentHarness<TSkill extends Skill = Skill, TPromptTemplate extends PromptTemplate = PromptTemplate> extends AgentHarness<TSkill, TPromptTemplate, AgentTool> {
|
|
88
|
-
private readonly runtime;
|
|
89
|
-
private requestedActiveToolNames?;
|
|
90
|
-
constructor(options: CuaAgentHarnessOptions<TSkill, TPromptTemplate>);
|
|
91
|
-
/**
|
|
92
|
-
* Mirror pi `AgentHarness.setModel()` while accepting CUA model refs.
|
|
93
|
-
*
|
|
94
|
-
* The override refreshes CUA-owned tools before delegating to pi so the
|
|
95
|
-
* harness snapshot and session model-change entry are written with the
|
|
96
|
-
* concrete model selected by `@onkernel/cua-ai`.
|
|
97
|
-
*/
|
|
98
|
-
setModel(model: CuaRuntimeInput): Promise<void>;
|
|
99
|
-
setActiveTools(toolNames: string[]): Promise<void>;
|
|
100
|
-
}
|
|
101
|
-
export {};
|
|
102
|
-
//# sourceMappingURL=agent.d.ts.map
|
package/dist/agent.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"AAAA,OAAO,EACN,KAAK,EACL,YAAY,EACZ,KAAK,mBAAmB,EACxB,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,KAAK,SAAS,EACd,KAAK,cAAc,EACnB,KAAK,KAAK,EAEV,MAAM,8BAA8B,CAAC;AACtC,OAAO,EACN,KAAK,GAAG,EACR,KAAK,WAAW,EAEhB,KAAK,KAAK,EAEV,KAAK,mBAAmB,EAExB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AAExC,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAE7D,kEAAkE;AAClE,KAAK,eAAe,GAAG,WAAW,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC;AAIhD;;;;;;GAMG;AACH,MAAM,WAAW,aAAc,SAAQ,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC;IAC/D,yEAAyE;IACzE,IAAI,KAAK,IAAI,KAAK,CAAC,GAAG,CAAC,CAAC;IACxB,oFAAoF;IACpF,IAAI,KAAK,CAAC,KAAK,EAAE,eAAe,EAAE;CAClC;AAED,0CAA0C;AAC1C,KAAK,oBAAoB,GAAG,IAAI,CAAC,WAAW,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,GAAG;IAChG,uFAAuF;IACvF,KAAK,EAAE,eAAe,CAAC;IACvB,0FAA0F;IAC1F,KAAK,CAAC,EAAE,SAAS,EAAE,CAAC;CACpB,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,eAAe,GAAG,IAAI,CAAC,YAAY,EAAE,cAAc,CAAC,GAAG;IAClE,wDAAwD;IACxD,OAAO,EAAE,aAAa,CAAC;IACvB,mDAAmD;IACnD,MAAM,EAAE,MAAM,CAAC;IACf,qDAAqD;IACrD,YAAY,EAAE,oBAAoB,CAAC;CACnC,CAAC;AAEF;;;;;;GAMG;AACH,MAAM,MAAM,sBAAsB,CACjC,MAAM,SAAS,KAAK,GAAG,KAAK,EAC5B,eAAe,SAAS,cAAc,GAAG,cAAc,IACpD,IAAI,CAAC,mBAAmB,CAAC,MAAM,EAAE,eAAe,EAAE,SAAS,CAAC,EAAE,OAAO,CAAC,GAAG;IAC5E,wDAAwD;IACxD,OAAO,EAAE,aAAa,CAAC;IACvB,mDAAmD;IACnD,MAAM,EAAE,MAAM,CAAC;IACf,iFAAiF;IACjF,KAAK,EAAE,eAAe,CAAC;IACvB,mFAAmF;IACnF,SAAS,CAAC,EAAE,mBAAmB,CAAC,WAAW,CAAC,CAAC;CAC7C,CAAC;AA8DF;;;;;;;GAOG;AACH,qBAAa,QAAS,SAAQ,KAAK;IAClC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAuB;IAC/C,OAAO,CAAC,UAAU,CAAC,CAAgB;gBAEvB,OAAO,EAAE,eAAe;IA2DpC;;;;OAIG;IACH,IAAa,KAAK,IAAI,aAAa,CAalC;IAED,OAAO,CAAC,YAAY;CAWpB;AAED;;;;;;;GAOG;AACH,qBAAa,eAAe,CAC3B,MAAM,SAAS,KAAK,GAAG,KAAK,EAC5B,eAAe,SAAS,cAAc,GAAG,cAAc,CACtD,SAAQ,YAAY,CAAC,MAAM,EAAE,eAAe,EAAE,SAAS,CAAC;IACzD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAuB;IAC/C,OAAO,CAAC,wBAAwB,CAAC,CAAW;gBAEhC,OAAO,EAAE,sBAAsB,CAAC,MAAM,EAAE,eAAe,CAAC;IAsCpE;;;;;;OAMG;IACY,QAAQ,CAAC,KAAK,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC;IAS/C,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAIjE"}
|
package/dist/agent.js
DELETED
|
@@ -1,207 +0,0 @@
|
|
|
1
|
-
import { Agent, AgentHarness, } from "./vendor/pi-agent-core/index";
|
|
2
|
-
import { getCuaEnvApiKey, resolveCuaRuntimeSpec, streamSimple, } from "@onkernel/cua-ai";
|
|
3
|
-
import { createCuaComputerTools } from "./tools";
|
|
4
|
-
/**
|
|
5
|
-
* Holds the CUA-specific pieces that have to change when a model changes.
|
|
6
|
-
*
|
|
7
|
-
* If callers omit `tools` or `systemPrompt`, CUA owns those values and refreshes
|
|
8
|
-
* them from `@onkernel/cua-ai` whenever the model changes. If callers pass
|
|
9
|
-
* their own tools or prompt, the controller preserves those caller-owned values.
|
|
10
|
-
*/
|
|
11
|
-
class CuaRuntimeController {
|
|
12
|
-
options;
|
|
13
|
-
runtimeSpec;
|
|
14
|
-
constructor(options) {
|
|
15
|
-
this.options = options;
|
|
16
|
-
this.runtimeSpec = resolveCuaRuntimeSpec(options.model);
|
|
17
|
-
}
|
|
18
|
-
get model() {
|
|
19
|
-
return this.runtimeSpec.model;
|
|
20
|
-
}
|
|
21
|
-
get ownsTools() {
|
|
22
|
-
return this.options.tools === undefined;
|
|
23
|
-
}
|
|
24
|
-
get ownsSystemPrompt() {
|
|
25
|
-
return this.options.systemPrompt === undefined;
|
|
26
|
-
}
|
|
27
|
-
get systemPrompt() {
|
|
28
|
-
return this.runtimeSpec.defaultSystemPrompt;
|
|
29
|
-
}
|
|
30
|
-
setModel(model) {
|
|
31
|
-
this.runtimeSpec = resolveCuaRuntimeSpec(model);
|
|
32
|
-
}
|
|
33
|
-
tools() {
|
|
34
|
-
return (this.options.tools ??
|
|
35
|
-
createCuaComputerTools({
|
|
36
|
-
browser: this.options.browser,
|
|
37
|
-
client: this.options.client,
|
|
38
|
-
toolDefinitions: this.runtimeSpec.toolDefinitions,
|
|
39
|
-
}));
|
|
40
|
-
}
|
|
41
|
-
onPayloadFor(model) {
|
|
42
|
-
const runtimeSpec = resolveCuaRuntimeSpec(model);
|
|
43
|
-
return composeOnPayload(runtimeSpec.onPayload, this.options.onPayload);
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
/**
|
|
47
|
-
* Pi `Agent` configured for Kernel browser computer use.
|
|
48
|
-
*
|
|
49
|
-
* Use this class when you want direct access to the lower-level pi agent state,
|
|
50
|
-
* queues, event stream, and `state.model` mutation model. It resolves CUA model
|
|
51
|
-
* refs, installs provider-appropriate CUA tools by default, and keeps those
|
|
52
|
-
* defaults in sync when `agent.state.model` changes.
|
|
53
|
-
*/
|
|
54
|
-
export class CuaAgent extends Agent {
|
|
55
|
-
runtime;
|
|
56
|
-
stateProxy;
|
|
57
|
-
constructor(options) {
|
|
58
|
-
const { browser, client, initialState, onPayload, streamFn, prepareNextTurn, ...agentOptions } = options;
|
|
59
|
-
const runtime = new CuaRuntimeController({
|
|
60
|
-
browser,
|
|
61
|
-
client,
|
|
62
|
-
model: initialState.model,
|
|
63
|
-
tools: initialState.tools,
|
|
64
|
-
systemPrompt: initialState.systemPrompt,
|
|
65
|
-
onPayload,
|
|
66
|
-
});
|
|
67
|
-
const wrappedStreamFn = (model, context, streamOptions) => (streamFn ?? streamSimple)(model, context, {
|
|
68
|
-
...streamOptions,
|
|
69
|
-
onPayload: runtime.onPayloadFor(model),
|
|
70
|
-
});
|
|
71
|
-
super({
|
|
72
|
-
...agentOptions,
|
|
73
|
-
getApiKey: agentOptions.getApiKey ?? getCuaEnvApiKey,
|
|
74
|
-
streamFn: wrappedStreamFn,
|
|
75
|
-
initialState: {
|
|
76
|
-
...initialState,
|
|
77
|
-
model: runtime.model,
|
|
78
|
-
tools: runtime.tools(),
|
|
79
|
-
systemPrompt: initialState.systemPrompt ?? runtime.systemPrompt,
|
|
80
|
-
},
|
|
81
|
-
});
|
|
82
|
-
this.runtime = runtime;
|
|
83
|
-
/**
|
|
84
|
-
* pi calls `prepareNextTurn` between provider requests. Wrapping it lets CUA
|
|
85
|
-
* honor any user-provided turn update while also refreshing provider-specific
|
|
86
|
-
* defaults if that update changes the model.
|
|
87
|
-
*/
|
|
88
|
-
this.prepareNextTurn = async (signal) => {
|
|
89
|
-
const update = await prepareNextTurn?.(signal);
|
|
90
|
-
if (update?.model) {
|
|
91
|
-
this.applyRuntime(update.model);
|
|
92
|
-
}
|
|
93
|
-
const state = super.state;
|
|
94
|
-
const context = update?.context ?? {
|
|
95
|
-
systemPrompt: state.systemPrompt,
|
|
96
|
-
messages: state.messages.slice(),
|
|
97
|
-
tools: state.tools.slice(),
|
|
98
|
-
};
|
|
99
|
-
return {
|
|
100
|
-
...update,
|
|
101
|
-
model: state.model,
|
|
102
|
-
context: {
|
|
103
|
-
...context,
|
|
104
|
-
systemPrompt: this.runtime.ownsSystemPrompt ? state.systemPrompt : context.systemPrompt,
|
|
105
|
-
tools: this.runtime.ownsTools ? state.tools.slice() : context.tools,
|
|
106
|
-
},
|
|
107
|
-
};
|
|
108
|
-
};
|
|
109
|
-
}
|
|
110
|
-
/**
|
|
111
|
-
* Return a state proxy so `agent.state.model = "provider:model"` can behave
|
|
112
|
-
* like pi's normal mutable state while also re-resolving CUA tools, prompt,
|
|
113
|
-
* and payload hooks for the selected provider.
|
|
114
|
-
*/
|
|
115
|
-
get state() {
|
|
116
|
-
if (!this.stateProxy) {
|
|
117
|
-
this.stateProxy = new Proxy(super.state, {
|
|
118
|
-
set: (target, prop, value, receiver) => {
|
|
119
|
-
if (prop === "model") {
|
|
120
|
-
this.applyRuntime(value);
|
|
121
|
-
return true;
|
|
122
|
-
}
|
|
123
|
-
return Reflect.set(target, prop, value, receiver);
|
|
124
|
-
},
|
|
125
|
-
});
|
|
126
|
-
}
|
|
127
|
-
return this.stateProxy;
|
|
128
|
-
}
|
|
129
|
-
applyRuntime(model) {
|
|
130
|
-
this.runtime.setModel(model);
|
|
131
|
-
const state = super.state;
|
|
132
|
-
state.model = this.runtime.model;
|
|
133
|
-
if (this.runtime.ownsTools) {
|
|
134
|
-
state.tools = this.runtime.tools();
|
|
135
|
-
}
|
|
136
|
-
if (this.runtime.ownsSystemPrompt) {
|
|
137
|
-
state.systemPrompt = this.runtime.systemPrompt;
|
|
138
|
-
}
|
|
139
|
-
}
|
|
140
|
-
}
|
|
141
|
-
/**
|
|
142
|
-
* Pi `AgentHarness` configured for Kernel browser computer use.
|
|
143
|
-
*
|
|
144
|
-
* Use this class when you want pi's higher-level harness APIs for sessions,
|
|
145
|
-
* resources, prompt templates, queue events, compaction, and model selection.
|
|
146
|
-
* It installs provider CUA tools by default and keeps CUA-owned runtime
|
|
147
|
-
* defaults in sync through `setModel()`.
|
|
148
|
-
*/
|
|
149
|
-
export class CuaAgentHarness extends AgentHarness {
|
|
150
|
-
runtime;
|
|
151
|
-
requestedActiveToolNames;
|
|
152
|
-
constructor(options) {
|
|
153
|
-
const { browser, client, model, tools, systemPrompt, getApiKeyAndHeaders, onPayload, activeToolNames, ...harnessOptions } = options;
|
|
154
|
-
const runtime = new CuaRuntimeController({ browser, client, model, tools, systemPrompt, onPayload });
|
|
155
|
-
const resolvedTools = runtime.tools();
|
|
156
|
-
super({
|
|
157
|
-
...harnessOptions,
|
|
158
|
-
model: runtime.model,
|
|
159
|
-
tools: resolvedTools,
|
|
160
|
-
systemPrompt: systemPrompt ?? (() => runtime.systemPrompt),
|
|
161
|
-
getApiKeyAndHeaders: getApiKeyAndHeaders ??
|
|
162
|
-
(async (requestModel) => {
|
|
163
|
-
const apiKey = getCuaEnvApiKey(requestModel.provider);
|
|
164
|
-
return apiKey ? { apiKey } : undefined;
|
|
165
|
-
}),
|
|
166
|
-
activeToolNames: activeToolNames ?? resolvedTools.map((tool) => tool.name),
|
|
167
|
-
});
|
|
168
|
-
this.runtime = runtime;
|
|
169
|
-
this.requestedActiveToolNames = activeToolNames;
|
|
170
|
-
this.on("before_provider_payload", async ({ model, payload }) => {
|
|
171
|
-
const onPayload = this.runtime.onPayloadFor(model);
|
|
172
|
-
if (!onPayload)
|
|
173
|
-
return { payload };
|
|
174
|
-
return { payload: (await onPayload(payload, model)) ?? payload };
|
|
175
|
-
});
|
|
176
|
-
}
|
|
177
|
-
/**
|
|
178
|
-
* Mirror pi `AgentHarness.setModel()` while accepting CUA model refs.
|
|
179
|
-
*
|
|
180
|
-
* The override refreshes CUA-owned tools before delegating to pi so the
|
|
181
|
-
* harness snapshot and session model-change entry are written with the
|
|
182
|
-
* concrete model selected by `@onkernel/cua-ai`.
|
|
183
|
-
*/
|
|
184
|
-
async setModel(model) {
|
|
185
|
-
this.runtime.setModel(model);
|
|
186
|
-
if (this.runtime.ownsTools) {
|
|
187
|
-
const tools = this.runtime.tools();
|
|
188
|
-
await super.setTools(tools, this.requestedActiveToolNames ?? tools.map((tool) => tool.name));
|
|
189
|
-
}
|
|
190
|
-
await super.setModel(this.runtime.model);
|
|
191
|
-
}
|
|
192
|
-
async setActiveTools(toolNames) {
|
|
193
|
-
await super.setActiveTools(toolNames);
|
|
194
|
-
this.requestedActiveToolNames = [...toolNames];
|
|
195
|
-
}
|
|
196
|
-
}
|
|
197
|
-
function composeOnPayload(first, second) {
|
|
198
|
-
if (!first)
|
|
199
|
-
return second;
|
|
200
|
-
if (!second)
|
|
201
|
-
return first;
|
|
202
|
-
return async (payload, modelRef) => {
|
|
203
|
-
const afterFirst = await first(payload, modelRef);
|
|
204
|
-
return second(afterFirst ?? payload, modelRef);
|
|
205
|
-
};
|
|
206
|
-
}
|
|
207
|
-
//# sourceMappingURL=agent.js.map
|
package/dist/agent.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,8BAA8B,CAAC;AAE7C,YAAY,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AACjD,YAAY,EACX,YAAY,EACZ,mBAAmB,EACnB,eAAe,EACf,iBAAiB,EACjB,4BAA4B,GAC5B,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,iCAAiC,EAAE,MAAM,SAAS,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC;AACpD,YAAY,EAAE,sBAAsB,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC"}
|
package/dist/index.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,8BAA8B,CAAC;AAG7C,OAAO,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAQjD,OAAO,EAAE,iCAAiC,EAAE,MAAM,SAAS,CAAC;AAC5D,OAAO,EAAE,QAAQ,EAAE,eAAe,EAAE,MAAM,SAAS,CAAC"}
|
package/dist/tools.d.ts
DELETED
|
@@ -1,39 +0,0 @@
|
|
|
1
|
-
import type Kernel from "@onkernel/sdk";
|
|
2
|
-
import type { Tool } from "@earendil-works/pi-ai";
|
|
3
|
-
import { CuaBatchSchema, CuaNavigationSchema } from "@onkernel/cua-ai";
|
|
4
|
-
import { type KernelBrowser } from "./translator/translator";
|
|
5
|
-
import type { AgentTool } from "./vendor/pi-agent-core/index";
|
|
6
|
-
export interface ComputerToolOptions {
|
|
7
|
-
browser: KernelBrowser;
|
|
8
|
-
client: Kernel;
|
|
9
|
-
toolDefinitions: Tool[];
|
|
10
|
-
}
|
|
11
|
-
export declare const SUPPORTED_CUA_EXECUTOR_TOOL_NAMES: readonly ["batch_computer_actions", "computer_use_extra"];
|
|
12
|
-
export type SupportedCuaExecutorToolName = (typeof SUPPORTED_CUA_EXECUTOR_TOOL_NAMES)[number];
|
|
13
|
-
export interface BatchDetails {
|
|
14
|
-
statusText: string;
|
|
15
|
-
readResults: Array<{
|
|
16
|
-
type: "url";
|
|
17
|
-
url: string;
|
|
18
|
-
} | {
|
|
19
|
-
type: "screenshot";
|
|
20
|
-
bytes: number;
|
|
21
|
-
} | {
|
|
22
|
-
type: "cursor_position";
|
|
23
|
-
x: number;
|
|
24
|
-
y: number;
|
|
25
|
-
}>;
|
|
26
|
-
error?: string;
|
|
27
|
-
}
|
|
28
|
-
export interface NavigationDetails {
|
|
29
|
-
action: string;
|
|
30
|
-
statusText: string;
|
|
31
|
-
url?: string;
|
|
32
|
-
error?: string;
|
|
33
|
-
}
|
|
34
|
-
type BatchTool = AgentTool<typeof CuaBatchSchema, BatchDetails>;
|
|
35
|
-
type NavigationTool = AgentTool<typeof CuaNavigationSchema, NavigationDetails>;
|
|
36
|
-
export type CuaExecutorTool = BatchTool | NavigationTool;
|
|
37
|
-
export declare function createCuaComputerTools(args: ComputerToolOptions): CuaExecutorTool[];
|
|
38
|
-
export {};
|
|
39
|
-
//# sourceMappingURL=tools.d.ts.map
|
package/dist/tools.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tools.d.ts","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,EAA6B,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAC7E,OAAO,EAGN,cAAc,EACd,mBAAmB,EAGnB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAA8B,KAAK,aAAa,EAAE,MAAM,yBAAyB,CAAC;AACzF,OAAO,KAAK,EAAE,SAAS,EAAmB,MAAM,8BAA8B,CAAC;AAE/E,MAAM,WAAW,mBAAmB;IACnC,OAAO,EAAE,aAAa,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;IACf,eAAe,EAAE,IAAI,EAAE,CAAC;CACxB;AAED,eAAO,MAAM,iCAAiC,2DAA2D,CAAC;AAC1G,MAAM,MAAM,4BAA4B,GAAG,CAAC,OAAO,iCAAiC,CAAC,CAAC,MAAM,CAAC,CAAC;AAI9F,MAAM,WAAW,YAAY;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,KAAK,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,YAAY,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG;QAAE,IAAI,EAAE,iBAAiB,CAAC;QAAC,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAC7I,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,iBAAiB;IACjC,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;CACf;AAED,KAAK,SAAS,GAAG,SAAS,CAAC,OAAO,cAAc,EAAE,YAAY,CAAC,CAAC;AAChE,KAAK,cAAc,GAAG,SAAS,CAAC,OAAO,mBAAmB,EAAE,iBAAiB,CAAC,CAAC;AAC/E,MAAM,MAAM,eAAe,GAAG,SAAS,GAAG,cAAc,CAAC;AAEzD,wBAAgB,sBAAsB,CAAC,IAAI,EAAE,mBAAmB,GAAG,eAAe,EAAE,CAGnF"}
|
package/dist/tools.js
DELETED
|
@@ -1,116 +0,0 @@
|
|
|
1
|
-
import { CUA_BATCH_TOOL_NAME, CUA_NAVIGATION_TOOL_NAME, CuaBatchSchema, CuaNavigationSchema, } from "@onkernel/cua-ai";
|
|
2
|
-
import { InternalComputerTranslator } from "./translator/translator";
|
|
3
|
-
export const SUPPORTED_CUA_EXECUTOR_TOOL_NAMES = [CUA_BATCH_TOOL_NAME, CUA_NAVIGATION_TOOL_NAME];
|
|
4
|
-
export function createCuaComputerTools(args) {
|
|
5
|
-
const translator = new InternalComputerTranslator(args);
|
|
6
|
-
return args.toolDefinitions.map((definition) => createExecutorTool(definition, translator));
|
|
7
|
-
}
|
|
8
|
-
function createExecutorTool(definition, translator) {
|
|
9
|
-
if (definition.name === CUA_BATCH_TOOL_NAME) {
|
|
10
|
-
const tool = {
|
|
11
|
-
name: definition.name,
|
|
12
|
-
label: definition.name,
|
|
13
|
-
description: definition.description,
|
|
14
|
-
parameters: CuaBatchSchema,
|
|
15
|
-
async execute(_toolCallId, params) {
|
|
16
|
-
const result = await executeBatchTool(translator, asBatchInput(params));
|
|
17
|
-
if (result.isError)
|
|
18
|
-
throw Object.assign(new Error(result.details.statusText), result);
|
|
19
|
-
return { content: result.content, details: result.details };
|
|
20
|
-
},
|
|
21
|
-
};
|
|
22
|
-
return tool;
|
|
23
|
-
}
|
|
24
|
-
if (definition.name === CUA_NAVIGATION_TOOL_NAME) {
|
|
25
|
-
const tool = {
|
|
26
|
-
name: definition.name,
|
|
27
|
-
label: definition.name,
|
|
28
|
-
description: definition.description,
|
|
29
|
-
parameters: CuaNavigationSchema,
|
|
30
|
-
async execute(_toolCallId, params) {
|
|
31
|
-
const result = await executeNavigationTool(translator, asNavigationInput(params));
|
|
32
|
-
if (result.isError)
|
|
33
|
-
throw Object.assign(new Error(result.details.statusText), result);
|
|
34
|
-
return { content: result.content, details: result.details };
|
|
35
|
-
},
|
|
36
|
-
};
|
|
37
|
-
return tool;
|
|
38
|
-
}
|
|
39
|
-
throw new Error(`unsupported CUA computer tool definition: ${definition.name}; supported names: ${SUPPORTED_CUA_EXECUTOR_TOOL_NAMES.join(", ")}`);
|
|
40
|
-
}
|
|
41
|
-
async function executeBatchTool(translator, params) {
|
|
42
|
-
const content = [];
|
|
43
|
-
const readResults = [];
|
|
44
|
-
let statusText = "Actions executed successfully.";
|
|
45
|
-
let error;
|
|
46
|
-
try {
|
|
47
|
-
const result = await translator.executeBatch(params.actions);
|
|
48
|
-
for (const read of result.readResults) {
|
|
49
|
-
if (read.type === "url") {
|
|
50
|
-
readResults.push({ type: "url", url: read.url });
|
|
51
|
-
content.push({ type: "text", text: `url(): ${read.url}` });
|
|
52
|
-
}
|
|
53
|
-
else if (read.type === "cursor_position") {
|
|
54
|
-
readResults.push({ type: "cursor_position", x: read.x, y: read.y });
|
|
55
|
-
content.push({ type: "text", text: `cursor_position(): ${read.x},${read.y}` });
|
|
56
|
-
}
|
|
57
|
-
else {
|
|
58
|
-
readResults.push({ type: "screenshot", bytes: read.pngBytes.length });
|
|
59
|
-
content.push({ type: "image", data: read.pngBytes.toString("base64"), mimeType: "image/png" });
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
if (content.length === 0) {
|
|
63
|
-
const png = await translator.screenshotRaw();
|
|
64
|
-
readResults.push({ type: "screenshot", bytes: png.length });
|
|
65
|
-
content.push({ type: "image", data: png.toString("base64"), mimeType: "image/png" });
|
|
66
|
-
}
|
|
67
|
-
}
|
|
68
|
-
catch (err) {
|
|
69
|
-
error = err instanceof Error ? err : new Error(String(err));
|
|
70
|
-
statusText = `Actions failed: ${error.message}`;
|
|
71
|
-
content.push({ type: "text", text: statusText });
|
|
72
|
-
}
|
|
73
|
-
return { content, details: { statusText, readResults, ...(error ? { error: error.message } : {}) }, isError: Boolean(error) };
|
|
74
|
-
}
|
|
75
|
-
async function executeNavigationTool(translator, params) {
|
|
76
|
-
const action = params.action;
|
|
77
|
-
const content = [];
|
|
78
|
-
let statusText = "Action executed successfully.";
|
|
79
|
-
let url;
|
|
80
|
-
let error;
|
|
81
|
-
try {
|
|
82
|
-
if (action === "url") {
|
|
83
|
-
url = await translator.currentUrl();
|
|
84
|
-
statusText = `Current URL: ${url}`;
|
|
85
|
-
}
|
|
86
|
-
else {
|
|
87
|
-
await translator.executeBatch([{ type: action, url: params.url }]);
|
|
88
|
-
statusText = `${action} executed successfully.`;
|
|
89
|
-
}
|
|
90
|
-
const png = await translator.screenshotRaw();
|
|
91
|
-
content.push({ type: "image", data: png.toString("base64"), mimeType: "image/png" });
|
|
92
|
-
}
|
|
93
|
-
catch (err) {
|
|
94
|
-
error = err instanceof Error ? err : new Error(String(err));
|
|
95
|
-
statusText = `${action} failed: ${error.message}`;
|
|
96
|
-
}
|
|
97
|
-
content.unshift({ type: "text", text: statusText });
|
|
98
|
-
return { content, details: { action, statusText, ...(url ? { url } : {}), ...(error ? { error: error.message } : {}) }, isError: Boolean(error) };
|
|
99
|
-
}
|
|
100
|
-
function asBatchInput(value) {
|
|
101
|
-
if (value &&
|
|
102
|
-
typeof value === "object" &&
|
|
103
|
-
Array.isArray(value.actions)) {
|
|
104
|
-
return value;
|
|
105
|
-
}
|
|
106
|
-
throw new Error("invalid batch_computer_actions parameters");
|
|
107
|
-
}
|
|
108
|
-
function asNavigationInput(value) {
|
|
109
|
-
if (value &&
|
|
110
|
-
typeof value === "object" &&
|
|
111
|
-
typeof value.action === "string") {
|
|
112
|
-
return value;
|
|
113
|
-
}
|
|
114
|
-
throw new Error("invalid computer_use_extra parameters");
|
|
115
|
-
}
|
|
116
|
-
//# sourceMappingURL=tools.js.map
|
package/dist/tools.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../src/tools.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,22 +0,0 @@
|
|
|
1
|
-
import type Kernel from "@onkernel/sdk";
|
|
2
|
-
import type { BrowserCreateResponse, BrowserRetrieveResponse } from "@onkernel/sdk/resources/browsers";
|
|
3
|
-
import type { BatchExecutionResult, ModelAction } from "./types";
|
|
4
|
-
export type KernelBrowser = BrowserCreateResponse | BrowserRetrieveResponse;
|
|
5
|
-
export interface InternalComputerTranslatorOptions {
|
|
6
|
-
browser: KernelBrowser;
|
|
7
|
-
client: Kernel;
|
|
8
|
-
}
|
|
9
|
-
export declare class InternalComputerTranslator {
|
|
10
|
-
private readonly sessionId;
|
|
11
|
-
private readonly client;
|
|
12
|
-
constructor(opts: InternalComputerTranslatorOptions);
|
|
13
|
-
screenshotRaw(): Promise<Buffer>;
|
|
14
|
-
currentUrl(): Promise<string>;
|
|
15
|
-
currentMousePosition(): Promise<{
|
|
16
|
-
x: number;
|
|
17
|
-
y: number;
|
|
18
|
-
}>;
|
|
19
|
-
executeBatch(actions: ModelAction[]): Promise<BatchExecutionResult>;
|
|
20
|
-
private runKernelBatch;
|
|
21
|
-
}
|
|
22
|
-
//# sourceMappingURL=translator.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"translator.d.ts","sourceRoot":"","sources":["../../src/translator/translator.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,EAAE,qBAAqB,EAAE,uBAAuB,EAAE,MAAM,kCAAkC,CAAC;AACvG,OAAO,KAAK,EAAE,oBAAoB,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAEjE,MAAM,MAAM,aAAa,GAAG,qBAAqB,GAAG,uBAAuB,CAAC;AAE5E,MAAM,WAAW,iCAAiC;IACjD,OAAO,EAAE,aAAa,CAAC;IACvB,MAAM,EAAE,MAAM,CAAC;CACf;AAED,qBAAa,0BAA0B;IACtC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;gBAEpB,IAAI,EAAE,iCAAiC;IAK7C,aAAa,IAAI,OAAO,CAAC,MAAM,CAAC;IAKhC,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;IAS7B,oBAAoB,IAAI,OAAO,CAAC;QAAE,CAAC,EAAE,MAAM,CAAC;QAAC,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAKzD,YAAY,CAAC,OAAO,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,oBAAoB,CAAC;YAmD3D,cAAc;CAG5B"}
|