opensteer 0.4.11 → 0.4.13
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/README.md +27 -0
- package/dist/{chunk-C3NM6XZH.js → chunk-JSH3VLMH.js} +2072 -159
- package/dist/{chunk-L4FHT64T.js → chunk-QTGJO7RC.js} +14 -1
- package/dist/{chunk-DQIHOUXH.js → chunk-UIUDSWZV.js} +1 -1
- package/dist/{chunk-SRJLH34D.js → chunk-V4OOJO4S.js} +1 -1
- package/dist/cli/server.cjs +2080 -167
- package/dist/cli/server.js +1 -1
- package/dist/{extractor-K5VU7HVC.js → extractor-I6TJPTXV.js} +2 -2
- package/dist/index.cjs +2100 -167
- package/dist/index.d.cts +156 -1
- package/dist/index.d.ts +156 -1
- package/dist/index.js +24 -4
- package/dist/{resolver-WGFFHW4N.js → resolver-HVZJQZ32.js} +2 -2
- package/package.json +6 -2
package/dist/index.d.cts
CHANGED
|
@@ -254,6 +254,64 @@ interface BoundingBox {
|
|
|
254
254
|
width: number;
|
|
255
255
|
height: number;
|
|
256
256
|
}
|
|
257
|
+
type OpensteerAgentMode = 'cua';
|
|
258
|
+
type OpensteerAgentProvider = 'openai' | 'anthropic' | 'google';
|
|
259
|
+
interface OpensteerAgentModelConfig {
|
|
260
|
+
modelName: string;
|
|
261
|
+
apiKey?: string;
|
|
262
|
+
baseUrl?: string;
|
|
263
|
+
organization?: string;
|
|
264
|
+
thinkingBudget?: number;
|
|
265
|
+
environment?: string;
|
|
266
|
+
}
|
|
267
|
+
interface OpensteerAgentConfig {
|
|
268
|
+
mode: OpensteerAgentMode;
|
|
269
|
+
model?: string | OpensteerAgentModelConfig;
|
|
270
|
+
systemPrompt?: string;
|
|
271
|
+
waitBetweenActionsMs?: number;
|
|
272
|
+
}
|
|
273
|
+
interface OpensteerAgentExecuteOptions {
|
|
274
|
+
instruction: string;
|
|
275
|
+
maxSteps?: number;
|
|
276
|
+
highlightCursor?: boolean;
|
|
277
|
+
}
|
|
278
|
+
interface OpensteerAgentUsage {
|
|
279
|
+
inputTokens: number;
|
|
280
|
+
outputTokens: number;
|
|
281
|
+
reasoningTokens?: number;
|
|
282
|
+
inferenceTimeMs: number;
|
|
283
|
+
}
|
|
284
|
+
interface OpensteerAgentAction {
|
|
285
|
+
type: string;
|
|
286
|
+
reasoning?: string;
|
|
287
|
+
button?: string;
|
|
288
|
+
clickCount?: number;
|
|
289
|
+
x?: number;
|
|
290
|
+
y?: number;
|
|
291
|
+
text?: string;
|
|
292
|
+
keys?: string[];
|
|
293
|
+
scrollX?: number;
|
|
294
|
+
scrollY?: number;
|
|
295
|
+
timeMs?: number;
|
|
296
|
+
url?: string;
|
|
297
|
+
path?: Array<{
|
|
298
|
+
x: number;
|
|
299
|
+
y: number;
|
|
300
|
+
}>;
|
|
301
|
+
[key: string]: unknown;
|
|
302
|
+
}
|
|
303
|
+
interface OpensteerAgentResult {
|
|
304
|
+
success: boolean;
|
|
305
|
+
completed: boolean;
|
|
306
|
+
message: string;
|
|
307
|
+
actions: OpensteerAgentAction[];
|
|
308
|
+
usage?: OpensteerAgentUsage;
|
|
309
|
+
provider: OpensteerAgentProvider;
|
|
310
|
+
model: string;
|
|
311
|
+
}
|
|
312
|
+
interface OpensteerAgentInstance {
|
|
313
|
+
execute(instructionOrOptions: string | OpensteerAgentExecuteOptions): Promise<OpensteerAgentResult>;
|
|
314
|
+
}
|
|
257
315
|
|
|
258
316
|
interface RegistryEntry {
|
|
259
317
|
file: string;
|
|
@@ -312,12 +370,14 @@ declare class Opensteer {
|
|
|
312
370
|
private contextRef;
|
|
313
371
|
private ownsBrowser;
|
|
314
372
|
private snapshotCache;
|
|
373
|
+
private agentExecutionInFlight;
|
|
315
374
|
constructor(config?: OpensteerConfig);
|
|
316
375
|
private createLazyResolveCallback;
|
|
317
376
|
private createLazyExtractCallback;
|
|
318
377
|
private invokeCloudActionAndResetCache;
|
|
319
378
|
private invokeCloudAction;
|
|
320
379
|
private buildActionError;
|
|
380
|
+
private syncCloudPageRef;
|
|
321
381
|
get page(): Page;
|
|
322
382
|
get context(): BrowserContext;
|
|
323
383
|
getCloudSessionId(): string | null;
|
|
@@ -367,6 +427,7 @@ declare class Opensteer {
|
|
|
367
427
|
getConfig(): OpensteerConfig;
|
|
368
428
|
getStorage(): LocalSelectorStorage;
|
|
369
429
|
clearCache(): void;
|
|
430
|
+
agent(config: OpensteerAgentConfig): OpensteerAgentInstance;
|
|
370
431
|
private runWithPostActionWait;
|
|
371
432
|
private executeClickVariant;
|
|
372
433
|
private resolvePath;
|
|
@@ -742,4 +803,98 @@ declare class CloudCdpClient {
|
|
|
742
803
|
|
|
743
804
|
declare function collectLocalSelectorCacheEntries(storage: LocalSelectorStorage): CloudSelectorCacheImportEntry[];
|
|
744
805
|
|
|
745
|
-
|
|
806
|
+
declare class OpensteerAgentError extends Error {
|
|
807
|
+
constructor(message: string, cause?: unknown);
|
|
808
|
+
}
|
|
809
|
+
declare class OpensteerAgentConfigError extends OpensteerAgentError {
|
|
810
|
+
constructor(message: string);
|
|
811
|
+
}
|
|
812
|
+
declare class OpensteerAgentProviderError extends OpensteerAgentError {
|
|
813
|
+
constructor(message: string);
|
|
814
|
+
}
|
|
815
|
+
declare class OpensteerAgentExecutionError extends OpensteerAgentError {
|
|
816
|
+
constructor(message: string, cause?: unknown);
|
|
817
|
+
}
|
|
818
|
+
declare class OpensteerAgentBusyError extends OpensteerAgentError {
|
|
819
|
+
constructor();
|
|
820
|
+
}
|
|
821
|
+
declare class OpensteerAgentActionError extends OpensteerAgentError {
|
|
822
|
+
constructor(message: string, cause?: unknown);
|
|
823
|
+
}
|
|
824
|
+
declare class OpensteerAgentApiError extends OpensteerAgentError {
|
|
825
|
+
readonly status?: number;
|
|
826
|
+
readonly provider: string;
|
|
827
|
+
constructor(provider: string, message: string, status?: number, cause?: unknown);
|
|
828
|
+
}
|
|
829
|
+
|
|
830
|
+
interface ResolvedCuaModelConfig {
|
|
831
|
+
provider: OpensteerAgentProvider;
|
|
832
|
+
fullModelName: string;
|
|
833
|
+
providerModelName: string;
|
|
834
|
+
apiKey: string;
|
|
835
|
+
baseUrl?: string;
|
|
836
|
+
organization?: string;
|
|
837
|
+
thinkingBudget?: number;
|
|
838
|
+
environment?: string;
|
|
839
|
+
}
|
|
840
|
+
|
|
841
|
+
interface CuaClientExecutionInput {
|
|
842
|
+
instruction: string;
|
|
843
|
+
maxSteps: number;
|
|
844
|
+
systemPrompt: string;
|
|
845
|
+
}
|
|
846
|
+
interface CuaClientExecutionResult extends Omit<OpensteerAgentResult, 'provider' | 'model'> {
|
|
847
|
+
usage?: OpensteerAgentUsage;
|
|
848
|
+
}
|
|
849
|
+
declare abstract class CuaClient {
|
|
850
|
+
private screenshotProvider;
|
|
851
|
+
private actionHandler;
|
|
852
|
+
protected viewport: {
|
|
853
|
+
width: number;
|
|
854
|
+
height: number;
|
|
855
|
+
};
|
|
856
|
+
protected currentUrl: string | null;
|
|
857
|
+
setViewport(width: number, height: number): void;
|
|
858
|
+
setCurrentUrl(url: string | null): void;
|
|
859
|
+
setScreenshotProvider(provider: () => Promise<string>): void;
|
|
860
|
+
setActionHandler(handler: (action: OpensteerAgentAction) => Promise<void>): void;
|
|
861
|
+
protected getScreenshotProvider(): () => Promise<string>;
|
|
862
|
+
protected getActionHandler(): (action: OpensteerAgentAction) => Promise<void>;
|
|
863
|
+
abstract execute(input: CuaClientExecutionInput): Promise<CuaClientExecutionResult>;
|
|
864
|
+
}
|
|
865
|
+
|
|
866
|
+
interface ResolvedAgentConfig {
|
|
867
|
+
mode: 'cua';
|
|
868
|
+
systemPrompt: string;
|
|
869
|
+
waitBetweenActionsMs: number;
|
|
870
|
+
model: ResolvedCuaModelConfig;
|
|
871
|
+
}
|
|
872
|
+
declare function resolveAgentConfig(args: {
|
|
873
|
+
agentConfig: OpensteerAgentConfig;
|
|
874
|
+
fallbackModel?: string;
|
|
875
|
+
env?: NodeJS.ProcessEnv;
|
|
876
|
+
}): ResolvedAgentConfig;
|
|
877
|
+
declare function createCuaClient(config: ResolvedAgentConfig): CuaClient;
|
|
878
|
+
|
|
879
|
+
interface CuaAgentHandlerOptions {
|
|
880
|
+
page: Page;
|
|
881
|
+
config: ResolvedAgentConfig;
|
|
882
|
+
client: CuaClient;
|
|
883
|
+
debug: boolean;
|
|
884
|
+
onMutatingAction?: (action: OpensteerAgentAction) => void;
|
|
885
|
+
}
|
|
886
|
+
declare class OpensteerCuaAgentHandler {
|
|
887
|
+
private readonly page;
|
|
888
|
+
private readonly config;
|
|
889
|
+
private readonly client;
|
|
890
|
+
private readonly debug;
|
|
891
|
+
private readonly onMutatingAction?;
|
|
892
|
+
private cursorOverlayInjected;
|
|
893
|
+
constructor(options: CuaAgentHandlerOptions);
|
|
894
|
+
execute(options: OpensteerAgentExecuteOptions): Promise<OpensteerAgentResult>;
|
|
895
|
+
private initializeClient;
|
|
896
|
+
private resolveViewport;
|
|
897
|
+
private maybeRenderCursor;
|
|
898
|
+
}
|
|
899
|
+
|
|
900
|
+
export { type ActionExecutionResult, type ActionFailure, type ActionFailureBlocker, type ActionFailureClassificationSource, type ActionFailureCode, type ActionFailureDetails, type ActionResult, type ActionWaitOptions, ActionWsClient, type AiExtractArgs, type AiExtractCallback, type AiExtractResult, type AiModelConfig, type AiResolveArgs, type AiResolveCallback, type AiResolveCallbackResult, type AiResolveResult, type ArrayExtractedRow, type ArrayRowMetadata, type ArraySelector, type AttributeMatchClause, type BaseActionOptions, type BoundingBox, type ClickOptions, type CloudActionFailure, type CloudActionFailureDetails, type CloudActionMethod, type CloudActionRequest, type CloudActionResponse, type CloudActionSuccess, CloudCdpClient, type CloudCdpConnectArgs, type CloudCdpConnection, type CloudErrorCode, type CloudSelectorCacheImportEntry, type CloudSelectorCacheImportRequest, type CloudSelectorCacheImportResponse, CloudSessionClient, type CloudSessionContractVersion, type CloudSessionCreateRequest, type CloudSessionCreateResponse, type CloudSessionSourceType, type CloudSessionSummary, type ContextHop, type CookieParam, type CounterBinding, type CounterRequest, CounterResolutionError, type CounterResolutionErrorCode, type CounterSnapshotLike, type DomPath, type ElementPath, ElementPathError, type ElementPathErrorCode, type ExtractFromPlanOptions, type ExtractOptions, type ExtractSchema, type ExtractSchemaField, type ExtractSchemaValue, type ExtractionFieldPlan, type ExtractionPlan, type ExtractionRunResult, type FieldSelector, type FileUploadOptions, type GotoOptions, type HoverOptions, type InputOptions, type LaunchOptions, LocalSelectorStorage, type MarkInteractivityOptions, type MatchClause, type MatchOperator, OPENSTEER_HIDDEN_ATTR, OPENSTEER_INTERACTIVE_ATTR, OPENSTEER_SCROLLABLE_ATTR, OS_BOUNDARY_ATTR, OS_IFRAME_BOUNDARY_TAG, OS_NODE_ID_ATTR, OS_SHADOW_BOUNDARY_TAG, OS_UNAVAILABLE_ATTR, Opensteer, OpensteerActionError, type OpensteerAgentAction, OpensteerAgentActionError, OpensteerAgentApiError, OpensteerAgentBusyError, type OpensteerAgentConfig, OpensteerAgentConfigError, OpensteerAgentError, type OpensteerAgentExecuteOptions, OpensteerAgentExecutionError, type OpensteerAgentInstance, type OpensteerAgentMode, type OpensteerAgentModelConfig, type OpensteerAgentProvider, OpensteerAgentProviderError, type OpensteerAgentResult, type OpensteerAgentUsage, type OpensteerAuthScheme, type OpensteerBrowserConfig, type OpensteerCloudAnnouncePolicy, type OpensteerCloudConfig, OpensteerCloudError, type OpensteerCloudOptions, type OpensteerConfig, OpensteerCuaAgentHandler, type OpensteerStorageConfig, type PathNode, type PathNodePosition, type PositionMatchClause, type PreparedSnapshot, type RegistryEntry, type ResolvedElementPath, type ScreenshotOptions, type ScrollOptions, type SelectOptions, type SelectorFile, type SelectorRegistry, type SerializeOptions, type SerializedNodeMeta, type SerializedPageHTML, type SnapshotMode, type SnapshotOptions, type StateResult, type TabInfo, buildElementPathFromHandle, buildElementPathFromSelector, buildPathSelectorHint, cleanForAction, cleanForClickable, cleanForExtraction, cleanForFull, cleanForScrollable, clearCookies, cloneElementPath, closeTab, cloudNotLaunchedError, cloudSessionContractVersion, cloudUnsupportedMethodError, collectLocalSelectorCacheEntries, countArrayItemsWithPath, createCuaClient, createEmptyRegistry, createExtractCallback, createResolveCallback, createTab, ensureLiveCounters, exportCookies, extractArrayRowsWithPaths, extractArrayWithPaths, extractWithPaths, getCookies, getElementAttributes, getElementBoundingBox, getElementText, getElementValue, getModelProvider, getPageHtml, getPageTitle, importCookies, listTabs, markInteractiveElements, normalizeNamespace, performClick, performFileUpload, performHover, performInput, performScroll, performSelect, prepareSnapshot, pressKey, resolveAgentConfig, resolveCounterElement, resolveCountersBatch, resolveElementPath, resolveNamespaceDir, sanitizeElementPath, serializePageHTML, setCookie, switchTab, typeText, waitForVisualStability };
|
package/dist/index.d.ts
CHANGED
|
@@ -254,6 +254,64 @@ interface BoundingBox {
|
|
|
254
254
|
width: number;
|
|
255
255
|
height: number;
|
|
256
256
|
}
|
|
257
|
+
type OpensteerAgentMode = 'cua';
|
|
258
|
+
type OpensteerAgentProvider = 'openai' | 'anthropic' | 'google';
|
|
259
|
+
interface OpensteerAgentModelConfig {
|
|
260
|
+
modelName: string;
|
|
261
|
+
apiKey?: string;
|
|
262
|
+
baseUrl?: string;
|
|
263
|
+
organization?: string;
|
|
264
|
+
thinkingBudget?: number;
|
|
265
|
+
environment?: string;
|
|
266
|
+
}
|
|
267
|
+
interface OpensteerAgentConfig {
|
|
268
|
+
mode: OpensteerAgentMode;
|
|
269
|
+
model?: string | OpensteerAgentModelConfig;
|
|
270
|
+
systemPrompt?: string;
|
|
271
|
+
waitBetweenActionsMs?: number;
|
|
272
|
+
}
|
|
273
|
+
interface OpensteerAgentExecuteOptions {
|
|
274
|
+
instruction: string;
|
|
275
|
+
maxSteps?: number;
|
|
276
|
+
highlightCursor?: boolean;
|
|
277
|
+
}
|
|
278
|
+
interface OpensteerAgentUsage {
|
|
279
|
+
inputTokens: number;
|
|
280
|
+
outputTokens: number;
|
|
281
|
+
reasoningTokens?: number;
|
|
282
|
+
inferenceTimeMs: number;
|
|
283
|
+
}
|
|
284
|
+
interface OpensteerAgentAction {
|
|
285
|
+
type: string;
|
|
286
|
+
reasoning?: string;
|
|
287
|
+
button?: string;
|
|
288
|
+
clickCount?: number;
|
|
289
|
+
x?: number;
|
|
290
|
+
y?: number;
|
|
291
|
+
text?: string;
|
|
292
|
+
keys?: string[];
|
|
293
|
+
scrollX?: number;
|
|
294
|
+
scrollY?: number;
|
|
295
|
+
timeMs?: number;
|
|
296
|
+
url?: string;
|
|
297
|
+
path?: Array<{
|
|
298
|
+
x: number;
|
|
299
|
+
y: number;
|
|
300
|
+
}>;
|
|
301
|
+
[key: string]: unknown;
|
|
302
|
+
}
|
|
303
|
+
interface OpensteerAgentResult {
|
|
304
|
+
success: boolean;
|
|
305
|
+
completed: boolean;
|
|
306
|
+
message: string;
|
|
307
|
+
actions: OpensteerAgentAction[];
|
|
308
|
+
usage?: OpensteerAgentUsage;
|
|
309
|
+
provider: OpensteerAgentProvider;
|
|
310
|
+
model: string;
|
|
311
|
+
}
|
|
312
|
+
interface OpensteerAgentInstance {
|
|
313
|
+
execute(instructionOrOptions: string | OpensteerAgentExecuteOptions): Promise<OpensteerAgentResult>;
|
|
314
|
+
}
|
|
257
315
|
|
|
258
316
|
interface RegistryEntry {
|
|
259
317
|
file: string;
|
|
@@ -312,12 +370,14 @@ declare class Opensteer {
|
|
|
312
370
|
private contextRef;
|
|
313
371
|
private ownsBrowser;
|
|
314
372
|
private snapshotCache;
|
|
373
|
+
private agentExecutionInFlight;
|
|
315
374
|
constructor(config?: OpensteerConfig);
|
|
316
375
|
private createLazyResolveCallback;
|
|
317
376
|
private createLazyExtractCallback;
|
|
318
377
|
private invokeCloudActionAndResetCache;
|
|
319
378
|
private invokeCloudAction;
|
|
320
379
|
private buildActionError;
|
|
380
|
+
private syncCloudPageRef;
|
|
321
381
|
get page(): Page;
|
|
322
382
|
get context(): BrowserContext;
|
|
323
383
|
getCloudSessionId(): string | null;
|
|
@@ -367,6 +427,7 @@ declare class Opensteer {
|
|
|
367
427
|
getConfig(): OpensteerConfig;
|
|
368
428
|
getStorage(): LocalSelectorStorage;
|
|
369
429
|
clearCache(): void;
|
|
430
|
+
agent(config: OpensteerAgentConfig): OpensteerAgentInstance;
|
|
370
431
|
private runWithPostActionWait;
|
|
371
432
|
private executeClickVariant;
|
|
372
433
|
private resolvePath;
|
|
@@ -742,4 +803,98 @@ declare class CloudCdpClient {
|
|
|
742
803
|
|
|
743
804
|
declare function collectLocalSelectorCacheEntries(storage: LocalSelectorStorage): CloudSelectorCacheImportEntry[];
|
|
744
805
|
|
|
745
|
-
|
|
806
|
+
declare class OpensteerAgentError extends Error {
|
|
807
|
+
constructor(message: string, cause?: unknown);
|
|
808
|
+
}
|
|
809
|
+
declare class OpensteerAgentConfigError extends OpensteerAgentError {
|
|
810
|
+
constructor(message: string);
|
|
811
|
+
}
|
|
812
|
+
declare class OpensteerAgentProviderError extends OpensteerAgentError {
|
|
813
|
+
constructor(message: string);
|
|
814
|
+
}
|
|
815
|
+
declare class OpensteerAgentExecutionError extends OpensteerAgentError {
|
|
816
|
+
constructor(message: string, cause?: unknown);
|
|
817
|
+
}
|
|
818
|
+
declare class OpensteerAgentBusyError extends OpensteerAgentError {
|
|
819
|
+
constructor();
|
|
820
|
+
}
|
|
821
|
+
declare class OpensteerAgentActionError extends OpensteerAgentError {
|
|
822
|
+
constructor(message: string, cause?: unknown);
|
|
823
|
+
}
|
|
824
|
+
declare class OpensteerAgentApiError extends OpensteerAgentError {
|
|
825
|
+
readonly status?: number;
|
|
826
|
+
readonly provider: string;
|
|
827
|
+
constructor(provider: string, message: string, status?: number, cause?: unknown);
|
|
828
|
+
}
|
|
829
|
+
|
|
830
|
+
interface ResolvedCuaModelConfig {
|
|
831
|
+
provider: OpensteerAgentProvider;
|
|
832
|
+
fullModelName: string;
|
|
833
|
+
providerModelName: string;
|
|
834
|
+
apiKey: string;
|
|
835
|
+
baseUrl?: string;
|
|
836
|
+
organization?: string;
|
|
837
|
+
thinkingBudget?: number;
|
|
838
|
+
environment?: string;
|
|
839
|
+
}
|
|
840
|
+
|
|
841
|
+
interface CuaClientExecutionInput {
|
|
842
|
+
instruction: string;
|
|
843
|
+
maxSteps: number;
|
|
844
|
+
systemPrompt: string;
|
|
845
|
+
}
|
|
846
|
+
interface CuaClientExecutionResult extends Omit<OpensteerAgentResult, 'provider' | 'model'> {
|
|
847
|
+
usage?: OpensteerAgentUsage;
|
|
848
|
+
}
|
|
849
|
+
declare abstract class CuaClient {
|
|
850
|
+
private screenshotProvider;
|
|
851
|
+
private actionHandler;
|
|
852
|
+
protected viewport: {
|
|
853
|
+
width: number;
|
|
854
|
+
height: number;
|
|
855
|
+
};
|
|
856
|
+
protected currentUrl: string | null;
|
|
857
|
+
setViewport(width: number, height: number): void;
|
|
858
|
+
setCurrentUrl(url: string | null): void;
|
|
859
|
+
setScreenshotProvider(provider: () => Promise<string>): void;
|
|
860
|
+
setActionHandler(handler: (action: OpensteerAgentAction) => Promise<void>): void;
|
|
861
|
+
protected getScreenshotProvider(): () => Promise<string>;
|
|
862
|
+
protected getActionHandler(): (action: OpensteerAgentAction) => Promise<void>;
|
|
863
|
+
abstract execute(input: CuaClientExecutionInput): Promise<CuaClientExecutionResult>;
|
|
864
|
+
}
|
|
865
|
+
|
|
866
|
+
interface ResolvedAgentConfig {
|
|
867
|
+
mode: 'cua';
|
|
868
|
+
systemPrompt: string;
|
|
869
|
+
waitBetweenActionsMs: number;
|
|
870
|
+
model: ResolvedCuaModelConfig;
|
|
871
|
+
}
|
|
872
|
+
declare function resolveAgentConfig(args: {
|
|
873
|
+
agentConfig: OpensteerAgentConfig;
|
|
874
|
+
fallbackModel?: string;
|
|
875
|
+
env?: NodeJS.ProcessEnv;
|
|
876
|
+
}): ResolvedAgentConfig;
|
|
877
|
+
declare function createCuaClient(config: ResolvedAgentConfig): CuaClient;
|
|
878
|
+
|
|
879
|
+
interface CuaAgentHandlerOptions {
|
|
880
|
+
page: Page;
|
|
881
|
+
config: ResolvedAgentConfig;
|
|
882
|
+
client: CuaClient;
|
|
883
|
+
debug: boolean;
|
|
884
|
+
onMutatingAction?: (action: OpensteerAgentAction) => void;
|
|
885
|
+
}
|
|
886
|
+
declare class OpensteerCuaAgentHandler {
|
|
887
|
+
private readonly page;
|
|
888
|
+
private readonly config;
|
|
889
|
+
private readonly client;
|
|
890
|
+
private readonly debug;
|
|
891
|
+
private readonly onMutatingAction?;
|
|
892
|
+
private cursorOverlayInjected;
|
|
893
|
+
constructor(options: CuaAgentHandlerOptions);
|
|
894
|
+
execute(options: OpensteerAgentExecuteOptions): Promise<OpensteerAgentResult>;
|
|
895
|
+
private initializeClient;
|
|
896
|
+
private resolveViewport;
|
|
897
|
+
private maybeRenderCursor;
|
|
898
|
+
}
|
|
899
|
+
|
|
900
|
+
export { type ActionExecutionResult, type ActionFailure, type ActionFailureBlocker, type ActionFailureClassificationSource, type ActionFailureCode, type ActionFailureDetails, type ActionResult, type ActionWaitOptions, ActionWsClient, type AiExtractArgs, type AiExtractCallback, type AiExtractResult, type AiModelConfig, type AiResolveArgs, type AiResolveCallback, type AiResolveCallbackResult, type AiResolveResult, type ArrayExtractedRow, type ArrayRowMetadata, type ArraySelector, type AttributeMatchClause, type BaseActionOptions, type BoundingBox, type ClickOptions, type CloudActionFailure, type CloudActionFailureDetails, type CloudActionMethod, type CloudActionRequest, type CloudActionResponse, type CloudActionSuccess, CloudCdpClient, type CloudCdpConnectArgs, type CloudCdpConnection, type CloudErrorCode, type CloudSelectorCacheImportEntry, type CloudSelectorCacheImportRequest, type CloudSelectorCacheImportResponse, CloudSessionClient, type CloudSessionContractVersion, type CloudSessionCreateRequest, type CloudSessionCreateResponse, type CloudSessionSourceType, type CloudSessionSummary, type ContextHop, type CookieParam, type CounterBinding, type CounterRequest, CounterResolutionError, type CounterResolutionErrorCode, type CounterSnapshotLike, type DomPath, type ElementPath, ElementPathError, type ElementPathErrorCode, type ExtractFromPlanOptions, type ExtractOptions, type ExtractSchema, type ExtractSchemaField, type ExtractSchemaValue, type ExtractionFieldPlan, type ExtractionPlan, type ExtractionRunResult, type FieldSelector, type FileUploadOptions, type GotoOptions, type HoverOptions, type InputOptions, type LaunchOptions, LocalSelectorStorage, type MarkInteractivityOptions, type MatchClause, type MatchOperator, OPENSTEER_HIDDEN_ATTR, OPENSTEER_INTERACTIVE_ATTR, OPENSTEER_SCROLLABLE_ATTR, OS_BOUNDARY_ATTR, OS_IFRAME_BOUNDARY_TAG, OS_NODE_ID_ATTR, OS_SHADOW_BOUNDARY_TAG, OS_UNAVAILABLE_ATTR, Opensteer, OpensteerActionError, type OpensteerAgentAction, OpensteerAgentActionError, OpensteerAgentApiError, OpensteerAgentBusyError, type OpensteerAgentConfig, OpensteerAgentConfigError, OpensteerAgentError, type OpensteerAgentExecuteOptions, OpensteerAgentExecutionError, type OpensteerAgentInstance, type OpensteerAgentMode, type OpensteerAgentModelConfig, type OpensteerAgentProvider, OpensteerAgentProviderError, type OpensteerAgentResult, type OpensteerAgentUsage, type OpensteerAuthScheme, type OpensteerBrowserConfig, type OpensteerCloudAnnouncePolicy, type OpensteerCloudConfig, OpensteerCloudError, type OpensteerCloudOptions, type OpensteerConfig, OpensteerCuaAgentHandler, type OpensteerStorageConfig, type PathNode, type PathNodePosition, type PositionMatchClause, type PreparedSnapshot, type RegistryEntry, type ResolvedElementPath, type ScreenshotOptions, type ScrollOptions, type SelectOptions, type SelectorFile, type SelectorRegistry, type SerializeOptions, type SerializedNodeMeta, type SerializedPageHTML, type SnapshotMode, type SnapshotOptions, type StateResult, type TabInfo, buildElementPathFromHandle, buildElementPathFromSelector, buildPathSelectorHint, cleanForAction, cleanForClickable, cleanForExtraction, cleanForFull, cleanForScrollable, clearCookies, cloneElementPath, closeTab, cloudNotLaunchedError, cloudSessionContractVersion, cloudUnsupportedMethodError, collectLocalSelectorCacheEntries, countArrayItemsWithPath, createCuaClient, createEmptyRegistry, createExtractCallback, createResolveCallback, createTab, ensureLiveCounters, exportCookies, extractArrayRowsWithPaths, extractArrayWithPaths, extractWithPaths, getCookies, getElementAttributes, getElementBoundingBox, getElementText, getElementValue, getModelProvider, getPageHtml, getPageTitle, importCookies, listTabs, markInteractiveElements, normalizeNamespace, performClick, performFileUpload, performHover, performInput, performScroll, performSelect, prepareSnapshot, pressKey, resolveAgentConfig, resolveCounterElement, resolveCountersBatch, resolveElementPath, resolveNamespaceDir, sanitizeElementPath, serializePageHTML, setCookie, switchTab, typeText, waitForVisualStability };
|
package/dist/index.js
CHANGED
|
@@ -15,7 +15,15 @@ import {
|
|
|
15
15
|
OS_UNAVAILABLE_ATTR,
|
|
16
16
|
Opensteer,
|
|
17
17
|
OpensteerActionError,
|
|
18
|
+
OpensteerAgentActionError,
|
|
19
|
+
OpensteerAgentApiError,
|
|
20
|
+
OpensteerAgentBusyError,
|
|
21
|
+
OpensteerAgentConfigError,
|
|
22
|
+
OpensteerAgentError,
|
|
23
|
+
OpensteerAgentExecutionError,
|
|
24
|
+
OpensteerAgentProviderError,
|
|
18
25
|
OpensteerCloudError,
|
|
26
|
+
OpensteerCuaAgentHandler,
|
|
19
27
|
buildElementPathFromHandle,
|
|
20
28
|
buildElementPathFromSelector,
|
|
21
29
|
buildPathSelectorHint,
|
|
@@ -32,6 +40,7 @@ import {
|
|
|
32
40
|
cloudUnsupportedMethodError,
|
|
33
41
|
collectLocalSelectorCacheEntries,
|
|
34
42
|
countArrayItemsWithPath,
|
|
43
|
+
createCuaClient,
|
|
35
44
|
createEmptyRegistry,
|
|
36
45
|
createTab,
|
|
37
46
|
ensureLiveCounters,
|
|
@@ -58,6 +67,7 @@ import {
|
|
|
58
67
|
performSelect,
|
|
59
68
|
prepareSnapshot,
|
|
60
69
|
pressKey,
|
|
70
|
+
resolveAgentConfig,
|
|
61
71
|
resolveCounterElement,
|
|
62
72
|
resolveCountersBatch,
|
|
63
73
|
resolveElementPath,
|
|
@@ -68,17 +78,17 @@ import {
|
|
|
68
78
|
switchTab,
|
|
69
79
|
typeText,
|
|
70
80
|
waitForVisualStability
|
|
71
|
-
} from "./chunk-
|
|
81
|
+
} from "./chunk-JSH3VLMH.js";
|
|
72
82
|
import {
|
|
73
83
|
createResolveCallback
|
|
74
|
-
} from "./chunk-
|
|
84
|
+
} from "./chunk-V4OOJO4S.js";
|
|
75
85
|
import {
|
|
76
86
|
createExtractCallback
|
|
77
|
-
} from "./chunk-
|
|
87
|
+
} from "./chunk-UIUDSWZV.js";
|
|
78
88
|
import "./chunk-3H5RRIMZ.js";
|
|
79
89
|
import {
|
|
80
90
|
getModelProvider
|
|
81
|
-
} from "./chunk-
|
|
91
|
+
} from "./chunk-QTGJO7RC.js";
|
|
82
92
|
export {
|
|
83
93
|
ActionWsClient,
|
|
84
94
|
CloudCdpClient,
|
|
@@ -96,7 +106,15 @@ export {
|
|
|
96
106
|
OS_UNAVAILABLE_ATTR,
|
|
97
107
|
Opensteer,
|
|
98
108
|
OpensteerActionError,
|
|
109
|
+
OpensteerAgentActionError,
|
|
110
|
+
OpensteerAgentApiError,
|
|
111
|
+
OpensteerAgentBusyError,
|
|
112
|
+
OpensteerAgentConfigError,
|
|
113
|
+
OpensteerAgentError,
|
|
114
|
+
OpensteerAgentExecutionError,
|
|
115
|
+
OpensteerAgentProviderError,
|
|
99
116
|
OpensteerCloudError,
|
|
117
|
+
OpensteerCuaAgentHandler,
|
|
100
118
|
buildElementPathFromHandle,
|
|
101
119
|
buildElementPathFromSelector,
|
|
102
120
|
buildPathSelectorHint,
|
|
@@ -113,6 +131,7 @@ export {
|
|
|
113
131
|
cloudUnsupportedMethodError,
|
|
114
132
|
collectLocalSelectorCacheEntries,
|
|
115
133
|
countArrayItemsWithPath,
|
|
134
|
+
createCuaClient,
|
|
116
135
|
createEmptyRegistry,
|
|
117
136
|
createExtractCallback,
|
|
118
137
|
createResolveCallback,
|
|
@@ -142,6 +161,7 @@ export {
|
|
|
142
161
|
performSelect,
|
|
143
162
|
prepareSnapshot,
|
|
144
163
|
pressKey,
|
|
164
|
+
resolveAgentConfig,
|
|
145
165
|
resolveCounterElement,
|
|
146
166
|
resolveCountersBatch,
|
|
147
167
|
resolveElementPath,
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "opensteer",
|
|
3
|
-
"version": "0.4.
|
|
3
|
+
"version": "0.4.13",
|
|
4
4
|
"description": "Open-source browser automation SDK with robust selectors and deterministic replay.",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -30,9 +30,12 @@
|
|
|
30
30
|
"@ai-sdk/groq": "^3.0.24",
|
|
31
31
|
"@ai-sdk/openai": "^3.0.26",
|
|
32
32
|
"@ai-sdk/xai": "^3.0.57",
|
|
33
|
+
"@anthropic-ai/sdk": "^0.57.0",
|
|
34
|
+
"@google/genai": "^1.10.0",
|
|
33
35
|
"ai": "^6.0.77",
|
|
34
36
|
"cheerio": "^1.0.0-rc.12",
|
|
35
37
|
"dotenv": "^17.2.4",
|
|
38
|
+
"openai": "^5.21.0",
|
|
36
39
|
"playwright": "^1.50.0",
|
|
37
40
|
"ws": "^8.18.0",
|
|
38
41
|
"zod": "^4.3.6"
|
|
@@ -61,7 +64,7 @@
|
|
|
61
64
|
"url": "https://github.com/opensteer-ai/opensteer"
|
|
62
65
|
},
|
|
63
66
|
"scripts": {
|
|
64
|
-
"build": "tsup src/index.ts src/cli/server.ts --dts --format esm,cjs --clean --external ai --external zod --external @ai-sdk/openai --external @ai-sdk/anthropic --external @ai-sdk/google --external @ai-sdk/xai --external @ai-sdk/groq",
|
|
67
|
+
"build": "tsup src/index.ts src/cli/server.ts --dts --format esm,cjs --clean --external ai --external zod --external @ai-sdk/openai --external @ai-sdk/anthropic --external @ai-sdk/google --external @ai-sdk/xai --external @ai-sdk/groq --external openai --external @anthropic-ai/sdk --external @google/genai",
|
|
65
68
|
"test": "vitest run",
|
|
66
69
|
"test:live-web": "vitest run --config vitest.live-web.config.ts",
|
|
67
70
|
"test:unit": "vitest run tests/html tests/element-path tests/config.test.ts tests/storage",
|
|
@@ -69,6 +72,7 @@
|
|
|
69
72
|
"test:integration": "vitest run tests/integration",
|
|
70
73
|
"test:ai": "vitest run tests/ai tests/e2e/ai-resolve.test.ts tests/e2e/ai-extract-products.test.ts",
|
|
71
74
|
"test:e2e": "vitest run tests/e2e",
|
|
75
|
+
"test:e2e:cua": "vitest run tests/e2e/cua-agent.test.ts",
|
|
72
76
|
"test:app:dev": "pnpm --dir tests/test-app run dev",
|
|
73
77
|
"typecheck": "tsc -p tsconfig.json --noEmit"
|
|
74
78
|
}
|