@browserbasehq/stagehand 1.0.1 → 1.0.2
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/dist/index.d.ts +126 -0
- package/dist/index.js +1 -2
- package/package.json +3 -2
- /package/dist/dom/build/{types.js → global.d.js} +0 -0
package/dist/index.d.ts
ADDED
|
@@ -0,0 +1,126 @@
|
|
|
1
|
+
import { Page, BrowserContext } from '@playwright/test';
|
|
2
|
+
import { z } from 'zod';
|
|
3
|
+
|
|
4
|
+
interface ChatMessage {
|
|
5
|
+
role: "system" | "user" | "assistant";
|
|
6
|
+
content: string | {
|
|
7
|
+
type: "image_url" | "text";
|
|
8
|
+
image_url?: {
|
|
9
|
+
url: string;
|
|
10
|
+
};
|
|
11
|
+
text?: string;
|
|
12
|
+
}[];
|
|
13
|
+
}
|
|
14
|
+
interface ChatCompletionOptions {
|
|
15
|
+
model: string;
|
|
16
|
+
messages: ChatMessage[];
|
|
17
|
+
temperature?: number;
|
|
18
|
+
top_p?: number;
|
|
19
|
+
frequency_penalty?: number;
|
|
20
|
+
presence_penalty?: number;
|
|
21
|
+
image?: {
|
|
22
|
+
buffer: Buffer;
|
|
23
|
+
description?: string;
|
|
24
|
+
};
|
|
25
|
+
[key: string]: any;
|
|
26
|
+
response_model?: {
|
|
27
|
+
name: string;
|
|
28
|
+
schema: any;
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
interface LLMClient {
|
|
32
|
+
createChatCompletion(options: ChatCompletionOptions): Promise<any>;
|
|
33
|
+
logger: (message: {
|
|
34
|
+
category?: string;
|
|
35
|
+
message: string;
|
|
36
|
+
}) => void;
|
|
37
|
+
}
|
|
38
|
+
|
|
39
|
+
type AvailableModel = "gpt-4o" | "gpt-4o-mini" | "gpt-4o-2024-08-06" | "claude-3-5-sonnet-latest" | "claude-3-5-sonnet-20241022" | "claude-3-5-sonnet-20240620";
|
|
40
|
+
declare class LLMProvider {
|
|
41
|
+
private modelToProviderMap;
|
|
42
|
+
private logger;
|
|
43
|
+
constructor(logger: (message: {
|
|
44
|
+
category?: string;
|
|
45
|
+
message: string;
|
|
46
|
+
}) => void);
|
|
47
|
+
getClient(modelName: AvailableModel): LLMClient;
|
|
48
|
+
}
|
|
49
|
+
|
|
50
|
+
declare class Stagehand {
|
|
51
|
+
private llmProvider;
|
|
52
|
+
private observations;
|
|
53
|
+
private actions;
|
|
54
|
+
private id;
|
|
55
|
+
page: Page;
|
|
56
|
+
context: BrowserContext;
|
|
57
|
+
private env;
|
|
58
|
+
private verbose;
|
|
59
|
+
private debugDom;
|
|
60
|
+
private defaultModelName;
|
|
61
|
+
private headless;
|
|
62
|
+
private logger;
|
|
63
|
+
private externalLogger?;
|
|
64
|
+
private domSettleTimeoutMs;
|
|
65
|
+
constructor({ env, verbose, debugDom, llmProvider, headless, logger, domSettleTimeoutMs, }?: {
|
|
66
|
+
env: "LOCAL" | "BROWSERBASE";
|
|
67
|
+
verbose?: 0 | 1 | 2;
|
|
68
|
+
debugDom?: boolean;
|
|
69
|
+
llmProvider?: LLMProvider;
|
|
70
|
+
headless?: boolean;
|
|
71
|
+
logger?: (message: {
|
|
72
|
+
category?: string;
|
|
73
|
+
message: string;
|
|
74
|
+
level?: 0 | 1 | 2;
|
|
75
|
+
}) => void;
|
|
76
|
+
domSettleTimeoutMs?: number;
|
|
77
|
+
});
|
|
78
|
+
init({ modelName, }?: {
|
|
79
|
+
modelName?: AvailableModel;
|
|
80
|
+
}): Promise<{
|
|
81
|
+
debugUrl: string;
|
|
82
|
+
sessionUrl: string;
|
|
83
|
+
}>;
|
|
84
|
+
private pending_logs_to_send_to_browserbase;
|
|
85
|
+
private is_processing_browserbase_logs;
|
|
86
|
+
log({ message, category, level, }: {
|
|
87
|
+
category?: string;
|
|
88
|
+
message: string;
|
|
89
|
+
level?: 0 | 1 | 2;
|
|
90
|
+
}): void;
|
|
91
|
+
private _run_browserbase_log_processing_cycle;
|
|
92
|
+
private _log_to_browserbase;
|
|
93
|
+
private _waitForSettledDom;
|
|
94
|
+
private startDomDebug;
|
|
95
|
+
private cleanupDomDebug;
|
|
96
|
+
private _generateId;
|
|
97
|
+
private _recordObservation;
|
|
98
|
+
private _recordAction;
|
|
99
|
+
private _extract;
|
|
100
|
+
private _observe;
|
|
101
|
+
private _act;
|
|
102
|
+
act({ action, modelName, useVision, }: {
|
|
103
|
+
action: string;
|
|
104
|
+
modelName?: AvailableModel;
|
|
105
|
+
useVision?: "fallback" | boolean;
|
|
106
|
+
}): Promise<{
|
|
107
|
+
success: boolean;
|
|
108
|
+
message: string;
|
|
109
|
+
action: string;
|
|
110
|
+
}>;
|
|
111
|
+
extract<T extends z.AnyZodObject>({ instruction, schema, modelName, }: {
|
|
112
|
+
instruction: string;
|
|
113
|
+
schema: T;
|
|
114
|
+
modelName?: AvailableModel;
|
|
115
|
+
}): Promise<z.infer<T>>;
|
|
116
|
+
observe(options?: {
|
|
117
|
+
instruction?: string;
|
|
118
|
+
modelName?: AvailableModel;
|
|
119
|
+
useVision?: boolean;
|
|
120
|
+
}): Promise<{
|
|
121
|
+
selector: string;
|
|
122
|
+
description: string;
|
|
123
|
+
}[]>;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
export { Stagehand };
|
package/dist/index.js
CHANGED
package/package.json
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@browserbasehq/stagehand",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.2",
|
|
4
4
|
"description": "An AI web browsing framework focused on simplicity and extensibility.",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"module": "./dist/index.js",
|
|
7
|
+
"types": "./dist/index.d.ts",
|
|
7
8
|
"scripts": {
|
|
8
9
|
"2048": "npm run build-dom-scripts && tsx examples/2048.ts",
|
|
9
10
|
"example": "npm run build-dom-scripts && tsx examples/example.ts",
|
|
@@ -13,7 +14,7 @@
|
|
|
13
14
|
"evals": "npm run build-dom-scripts && npx braintrust eval evals/index.eval.ts",
|
|
14
15
|
"build-dom-scripts": "mkdir -p ./lib/dom/build && mkdir -p ./dist/dom/build && esbuild ./lib/dom/*.ts --bundle --outdir=./dist/dom/build",
|
|
15
16
|
"bundle-dom-scripts": "esbuild ./lib/dom/index.ts --bundle --outfile=./lib/dom/bundle.js --platform=browser --target=es2015 --minify",
|
|
16
|
-
"build": "npm run build-dom-scripts && tsup lib/index.ts",
|
|
17
|
+
"build": "npm run build-dom-scripts && tsup lib/index.ts --dts",
|
|
17
18
|
"release": "changeset publish"
|
|
18
19
|
},
|
|
19
20
|
"files": [
|
|
File without changes
|