vana-cli 0.24.1 → 0.24.3
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
CHANGED
|
@@ -23,8 +23,9 @@ curl -fsSL https://raw.githubusercontent.com/vana-com/vana-cli/main/install/inst
|
|
|
23
23
|
vana status
|
|
24
24
|
```
|
|
25
25
|
|
|
26
|
-
Windows uses `install/install.ps1`. Homebrew (`
|
|
27
|
-
|
|
26
|
+
Windows uses `install/install.ps1`. The Homebrew tap (`vana-com/tap`) is
|
|
27
|
+
no longer updated and ships a months-old canary, so use one of the routes
|
|
28
|
+
above instead.
|
|
28
29
|
|
|
29
30
|
The npm route runs under your own Node, which some endpoint security
|
|
30
31
|
products prefer over an unknown executable; the installer gives you a
|
|
@@ -90,41 +91,51 @@ claude mcp add vana -- vana mcp
|
|
|
90
91
|
|
|
91
92
|
## The SDK
|
|
92
93
|
|
|
93
|
-
|
|
94
|
+
The same package is also a JavaScript SDK for apps that ask their users for
|
|
95
|
+
data from a web page. Which one to use:
|
|
94
96
|
|
|
95
|
-
|
|
97
|
+
- **A web app** whose users approve access in the browser: use the SDK below.
|
|
98
|
+
- **A script, a backend job or an agent** working from a terminal: use
|
|
99
|
+
`vana app request` and `vana app read` above. They cover the same consent
|
|
100
|
+
and add escrow payment, derived answers and exit codes an agent can
|
|
101
|
+
branch on.
|
|
96
102
|
|
|
97
|
-
|
|
103
|
+
### What problem this solves
|
|
104
|
+
|
|
105
|
+
Your users already have rich personal data (ChatGPT conversations, Instagram activity, Gmail, purchase history), but it's locked inside the platforms that collected it. As a builder, you can't easily use that data to personalize onboarding, tailor recommendations, or skip lengthy signup forms.
|
|
106
|
+
|
|
107
|
+
**Data portability** means users can export their data from these platforms and grant your app scoped access to it, with their explicit consent, cryptographic verification, and full control over what's shared and when to revoke it.
|
|
98
108
|
|
|
99
109
|
Today, getting access to user data means asking for manual file uploads (high friction), scraping on their behalf (fragile and legally risky), or negotiating enterprise API deals (slow and expensive). This SDK gives you a standardized way to request and receive personal data through Vana's [Data Portability Protocol](https://docs.vana.org/), handling session creation, grant verification, and data fetching in three function calls.
|
|
100
110
|
|
|
101
|
-
|
|
111
|
+
### How it works
|
|
102
112
|
|
|
103
113
|
```
|
|
104
114
|
Your App Vana Protocol
|
|
105
|
-
|
|
115
|
+
------------------------------ ------------------------------
|
|
106
116
|
|
|
107
117
|
1. connect({ scopes })
|
|
108
|
-
|
|
109
|
-
|
|
118
|
+
creates a session
|
|
119
|
+
returns a connect URL --> 2. User opens the Vana app,
|
|
110
120
|
reviews scopes, exports data,
|
|
111
|
-
approves grant
|
|
121
|
+
approves the grant
|
|
112
122
|
|
|
113
|
-
3. Poll resolves with grant
|
|
123
|
+
3. Poll resolves with grant <-- Grant signed and registered
|
|
114
124
|
|
|
115
|
-
4. getData({ grant })
|
|
116
|
-
|
|
125
|
+
4. getData({ grant }) --> 5. Personal Server returns
|
|
126
|
+
structured JSON user data over TLS
|
|
117
127
|
```
|
|
118
128
|
|
|
119
129
|
The [Data Portability Protocol](https://docs.vana.org/) defines how users collect data from platforms, store it under their control (on-device or hosted), and grant third-party apps scoped access. This SDK handles session creation, cryptographic request signing, polling, and data fetching. You write three function calls; the protocol handles the rest.
|
|
120
130
|
|
|
121
|
-
|
|
131
|
+
### Try the example app
|
|
122
132
|
|
|
123
|
-
|
|
133
|
+
`examples/nextjs-starter` is a complete working app wired to the development
|
|
134
|
+
environment:
|
|
124
135
|
|
|
125
136
|
```bash
|
|
126
137
|
git clone https://github.com/vana-com/vana-cli.git
|
|
127
|
-
cd vana-
|
|
138
|
+
cd vana-cli/examples/nextjs-starter
|
|
128
139
|
cp .env.local.example .env.local
|
|
129
140
|
```
|
|
130
141
|
|
|
@@ -135,77 +146,28 @@ VANA_PRIVATE_KEY=0x3c05ac1a00546bc0b1b8d3a11fb908409005fac3f26d25f70711e4f632e72
|
|
|
135
146
|
APP_URL=http://localhost:3001
|
|
136
147
|
```
|
|
137
148
|
|
|
138
|
-
Install and run
|
|
149
|
+
Install and run:
|
|
139
150
|
|
|
140
|
-
```
|
|
151
|
+
```bash
|
|
141
152
|
pnpm install
|
|
142
153
|
pnpm dev
|
|
143
154
|
```
|
|
144
155
|
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
There is one caveat in development: the deep-link for DataConnect app doesn't open the dev version of the app.
|
|
148
|
-
This means that when testing your app from the end user perspective, once you see this screen:
|
|
149
|
-
<img width="627" height="560" alt="Screenshot 2026-02-21 at 15 02 58" src="https://github.com/user-attachments/assets/477ae78f-d84d-4178-a1e9-48abedf36946" />
|
|
150
|
-
|
|
151
|
-
Instead of clicking the "Launch DataConnect" button, you should right-click on it and copy its address. The address will be something like `vana://connect?sessionId=...`.
|
|
152
|
-
|
|
153
|
-
Then, in your dev version of DataConnect (likely built from the `main` branch) you will see a place to copy the link in the right-bottom corner of the app:
|
|
154
|
-
|
|
155
|
-
<img width="348" height="258" alt="Screenshot 2026-02-21 at 15 09 18" src="https://github.com/user-attachments/assets/9f9d7a14-c92e-4185-bdc2-a2d93282c748" />
|
|
156
|
-
|
|
157
|
-
---
|
|
158
|
-
|
|
159
|
-
## Manual integration
|
|
160
|
-
|
|
161
|
-
If you prefer to integrate the SDK into an existing project, follow the steps below.
|
|
162
|
-
|
|
163
|
-
## Headless CLI
|
|
156
|
+
The example's own [README](./examples/nextjs-starter/README.md) walks
|
|
157
|
+
through approving a request as the end user.
|
|
164
158
|
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
If you only care about the CLI, start with [docs/CLI-README.md](./docs/CLI-README.md).
|
|
168
|
-
|
|
169
|
-
For the full CLI review surface, use:
|
|
170
|
-
|
|
171
|
-
- [CLI review surface](./docs/CLI-REVIEW-SURFACE.md)
|
|
172
|
-
- [CLI transcripts](./docs/transcripts/README.md)
|
|
173
|
-
- [CLI demos](./docs/vhs/README.md)
|
|
174
|
-
|
|
175
|
-
`pnpm build:sea` uses Node 25's `--build-sea` flow to create a small `vana` launcher and packages the real app payload next to it under `app/`.
|
|
176
|
-
It produces a platform-specific release directory plus a release archive and matching checksum file under `artifacts/sea/`.
|
|
177
|
-
|
|
178
|
-
### Programmatic runtime access
|
|
179
|
-
|
|
180
|
-
If you are building an app surface like DataConnect Desktop or a hosted orchestration layer, use the SDK modules instead of shelling out to the CLI where possible.
|
|
181
|
-
|
|
182
|
-
```ts
|
|
183
|
-
import { ManagedPlaywrightRuntime } from "vana-cli/runtime";
|
|
184
|
-
import { listAvailableSources } from "vana-cli/connectors";
|
|
185
|
-
```
|
|
159
|
+
### Add it to your app
|
|
186
160
|
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
- app surfaces consume SDK/runtime APIs
|
|
190
|
-
- agent skills consume the CLI
|
|
191
|
-
- `data-connectors` remains the connector and schema source of truth
|
|
192
|
-
|
|
193
|
-
### Installation
|
|
161
|
+
#### Installation
|
|
194
162
|
|
|
195
163
|
```bash
|
|
196
|
-
|
|
164
|
+
npm install vana-cli
|
|
197
165
|
```
|
|
198
166
|
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
This repo is pnpm-only for local development and examples. Use `pnpm` commands, not `npm`.
|
|
202
|
-
|
|
203
|
-
### Prerequisites
|
|
167
|
+
#### Prerequisites
|
|
204
168
|
|
|
205
169
|
First, register your app in the [Developer Portal](https://vana-developers.replit.app/). You will need to provide the URL where your app will be deployed, and then be given a private key after registration.
|
|
206
170
|
|
|
207
|
-
### Quickstart
|
|
208
|
-
|
|
209
171
|
#### 1. Create a session (server)
|
|
210
172
|
|
|
211
173
|
```typescript
|
|
@@ -219,9 +181,9 @@ const session = await connect({
|
|
|
219
181
|
});
|
|
220
182
|
|
|
221
183
|
// Return to your frontend:
|
|
222
|
-
// session.sessionId
|
|
223
|
-
// session.connectUrl
|
|
224
|
-
// session.expiresAt
|
|
184
|
+
// session.sessionId - used for polling
|
|
185
|
+
// session.connectUrl - where the user reviews and approves the request
|
|
186
|
+
// session.expiresAt - ISO 8601 expiration
|
|
225
187
|
```
|
|
226
188
|
|
|
227
189
|
#### 2. Poll for user approval (client)
|
|
@@ -275,7 +237,7 @@ const conversations = data["chatgpt.conversations"];
|
|
|
275
237
|
|
|
276
238
|
#### Web App Manifest
|
|
277
239
|
|
|
278
|
-
The
|
|
240
|
+
The Vana app verifies your identity by fetching your manifest. Use `signVanaManifest()` to generate it:
|
|
279
241
|
|
|
280
242
|
```typescript
|
|
281
243
|
import { signVanaManifest } from "vana-cli/server";
|
|
@@ -301,22 +263,23 @@ const manifest = {
|
|
|
301
263
|
|
|
302
264
|
Make sure your HTML includes `<link rel="manifest" href="/manifest.json">`.
|
|
303
265
|
|
|
304
|
-
|
|
305
|
-
|
|
306
|
-
Available data connectors and their scopes (schema definitions):
|
|
307
|
-
[`PDP-Connect/data-connectors/schemas`](https://github.com/PDP-Connect/data-connectors/tree/main/schemas)
|
|
266
|
+
### API Reference
|
|
308
267
|
|
|
309
|
-
|
|
268
|
+
#### Entrypoints
|
|
310
269
|
|
|
311
|
-
|
|
270
|
+
| Import | Environment | Exports |
|
|
271
|
+
| --------------------- | ----------- | ------------------------------------------------------------------- |
|
|
272
|
+
| `vana-cli/server` | Node.js | `connect()`, `getData()`, `signVanaManifest()`, low-level clients |
|
|
273
|
+
| `vana-cli/react` | Browser | `useVanaConnect()`, `useVanaData()`, `ConnectButton` |
|
|
274
|
+
| `vana-cli/core` | Universal | Types, `ConnectError`, constants |
|
|
275
|
+
| `vana-cli/runtime` | Node.js | `ManagedPlaywrightRuntime`, the browser runtime `vana connect` uses |
|
|
276
|
+
| `vana-cli/connectors` | Node.js | `listAvailableSources()` and the connector catalog |
|
|
277
|
+
| `vana-cli/cli` | Node.js | `runCli()`, to run the CLI in-process |
|
|
312
278
|
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
| `vana-cli/server` | Node.js | `connect()`, `getData()`, `signVanaManifest()`, low-level clients |
|
|
316
|
-
| `vana-cli/react` | Browser | `useVanaConnect()`, `useVanaData()`, `ConnectButton` |
|
|
317
|
-
| `vana-cli/core` | Universal | Types, `ConnectError`, constants |
|
|
279
|
+
`runtime` and `connectors` are for app surfaces such as the Vana desktop
|
|
280
|
+
app that collect data themselves; prefer them over shelling out to the CLI.
|
|
318
281
|
|
|
319
|
-
|
|
282
|
+
#### `connect(config): Promise<SessionInitResult>`
|
|
320
283
|
|
|
321
284
|
Creates a session on the Session Relay. Returns `sessionId`, `connectUrl`, and `expiresAt`.
|
|
322
285
|
|
|
@@ -327,7 +290,7 @@ Creates a session on the Session Relay. Returns `sessionId`, `connectUrl`, and `
|
|
|
327
290
|
| `webhookUrl` | `string` | No | Public HTTPS URL for grant event notifications (localhost is rejected) |
|
|
328
291
|
| `appUserId` | `string` | No | Your app's user ID for correlation |
|
|
329
292
|
|
|
330
|
-
|
|
293
|
+
#### `getData(config): Promise<Record<string, unknown>>`
|
|
331
294
|
|
|
332
295
|
Fetches user data from their Personal Server using a signed grant.
|
|
333
296
|
|
|
@@ -336,7 +299,7 @@ Fetches user data from their Personal Server using a signed grant.
|
|
|
336
299
|
| `privateKey` | `` `0x${string}` `` | Yes | Builder private key |
|
|
337
300
|
| `grant` | `GrantPayload` | Yes | Grant from the approval step |
|
|
338
301
|
|
|
339
|
-
|
|
302
|
+
#### `useVanaConnect(config?): UseVanaConnectResult`
|
|
340
303
|
|
|
341
304
|
React hook that polls the Session Relay and manages connection state.
|
|
342
305
|
|
|
@@ -344,9 +307,9 @@ React hook that polls the Session Relay and manages connection state.
|
|
|
344
307
|
const { connect, status, grant, error, connectUrl, reset } = useVanaConnect();
|
|
345
308
|
```
|
|
346
309
|
|
|
347
|
-
`status` transitions: `idle
|
|
310
|
+
`status` transitions: `idle`, then `connecting`, then `waiting`, then one of `approved`, `denied`, `expired` or `error`.
|
|
348
311
|
|
|
349
|
-
|
|
312
|
+
#### `GrantPayload`
|
|
350
313
|
|
|
351
314
|
Returned when a user approves access:
|
|
352
315
|
|
|
@@ -361,7 +324,7 @@ interface GrantPayload {
|
|
|
361
324
|
}
|
|
362
325
|
```
|
|
363
326
|
|
|
364
|
-
|
|
327
|
+
#### Low-level clients
|
|
365
328
|
|
|
366
329
|
For full control over individual protocol interactions:
|
|
367
330
|
|
|
@@ -373,6 +336,25 @@ import {
|
|
|
373
336
|
} from "vana-cli/server";
|
|
374
337
|
```
|
|
375
338
|
|
|
339
|
+
## Connectors
|
|
340
|
+
|
|
341
|
+
Available data connectors and their scopes (schema definitions):
|
|
342
|
+
[`PDP-Connect/data-connectors/schemas`](https://github.com/PDP-Connect/data-connectors/tree/main/schemas)
|
|
343
|
+
|
|
344
|
+
## Contributing
|
|
345
|
+
|
|
346
|
+
This repo uses pnpm for local development and the examples; the npm and
|
|
347
|
+
npx commands above are only for installing the published package.
|
|
348
|
+
|
|
349
|
+
`pnpm build:sea` uses Node 25's `--build-sea` flow to create a small `vana` launcher and packages the real app payload next to it under `app/`.
|
|
350
|
+
It produces a platform-specific release directory plus a release archive and matching checksum file under `artifacts/sea/`.
|
|
351
|
+
|
|
352
|
+
Review material for the CLI:
|
|
353
|
+
|
|
354
|
+
- [CLI review surface](./docs/CLI-REVIEW-SURFACE.md)
|
|
355
|
+
- [CLI transcripts](./docs/CLI-TRANSCRIPTS.md)
|
|
356
|
+
- [CLI demos](./docs/vhs/README.md)
|
|
357
|
+
|
|
376
358
|
## License
|
|
377
359
|
|
|
378
360
|
MIT
|
|
@@ -15,6 +15,23 @@ export declare function resolveBrowserPath(): string;
|
|
|
15
15
|
* final segment is the pid. A lock pointing at a dead process is stale.
|
|
16
16
|
*/
|
|
17
17
|
export declare function readProfileLockOwner(lockPath: string, isRunning?: (pid: number) => boolean): number | null;
|
|
18
|
+
/**
|
|
19
|
+
* The major version of the browser at `browserPath`, or null when it cannot
|
|
20
|
+
* be read. `--version` prints e.g. `Google Chrome 153.0.8010.48`; on Windows
|
|
21
|
+
* it prints nothing, so an undetectable version is an expected outcome.
|
|
22
|
+
*/
|
|
23
|
+
export declare function readBrowserMajorVersion(browserPath: string | null, readVersion?: (executable: string) => string): number | null;
|
|
24
|
+
/**
|
|
25
|
+
* The user agent to present, or undefined to leave the browser's own.
|
|
26
|
+
*
|
|
27
|
+
* Headless Chromium announces itself as `HeadlessChrome`, which sites block,
|
|
28
|
+
* so the user agent is overridden. The override must carry the version of the
|
|
29
|
+
* browser actually running: sites that enforce a supported-browser floor
|
|
30
|
+
* (Slack answers 403 "your browser is not supported") reject a stale one, and
|
|
31
|
+
* a version that disagrees with the client hints is itself a bot signal. The
|
|
32
|
+
* string follows Chrome's reduced format, where only the major version varies.
|
|
33
|
+
*/
|
|
34
|
+
export declare function buildUserAgent(majorVersion: number | null, headless: boolean, platform?: NodeJS.Platform): string | undefined;
|
|
18
35
|
export declare function launchPersistentContext(userDataDir: string, headless: boolean, browserPath: string | null): Promise<BrowserContext>;
|
|
19
36
|
export declare function getDefaultUserDataDir(slug: string): string;
|
|
20
37
|
//# sourceMappingURL=browser.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../../../src/runtime/playwright/browser.ts"],"names":[],"mappings":"AAKA,OAAO,EAAY,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC;AAyC3D,wBAAgB,kBAAkB,IAAI,MAAM,CAe3C;AAED,wBAAgB,mBAAmB,IAAI,MAAM,GAAG,IAAI,CAuBnD;AAED,wBAAgB,yBAAyB,IAAI,MAAM,GAAG,IAAI,CAqEzD;AAED,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAelE;AAED,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAuBrE;AAED,wBAAgB,gCAAgC,IAAI,OAAO,CAQ1D;AAED,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,GAAG,IAAI,GACzB,IAAI,CAkDN;AAED,wBAAgB,kBAAkB,IAAI,MAAM,CAkB3C;AAYD;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,MAAM,EAChB,SAAS,GAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAA0B,GACrD,MAAM,GAAG,IAAI,CAef;AAED,wBAAsB,uBAAuB,CAC3C,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,OAAO,EACjB,WAAW,EAAE,MAAM,GAAG,IAAI,GACzB,OAAO,CAAC,cAAc,CAAC,
|
|
1
|
+
{"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../../../src/runtime/playwright/browser.ts"],"names":[],"mappings":"AAKA,OAAO,EAAY,KAAK,cAAc,EAAE,MAAM,YAAY,CAAC;AAyC3D,wBAAgB,kBAAkB,IAAI,MAAM,CAe3C;AAED,wBAAgB,mBAAmB,IAAI,MAAM,GAAG,IAAI,CAuBnD;AAED,wBAAgB,yBAAyB,IAAI,MAAM,GAAG,IAAI,CAqEzD;AAED,wBAAgB,cAAc,CAAC,WAAW,EAAE,MAAM,GAAG,IAAI,GAAG,OAAO,CAelE;AAED,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAuBrE;AAED,wBAAgB,gCAAgC,IAAI,OAAO,CAQ1D;AAED,wBAAgB,mBAAmB,CACjC,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,GAAG,IAAI,GACzB,IAAI,CAkDN;AAED,wBAAgB,kBAAkB,IAAI,MAAM,CAkB3C;AAYD;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,MAAM,EAChB,SAAS,GAAE,CAAC,GAAG,EAAE,MAAM,KAAK,OAA0B,GACrD,MAAM,GAAG,IAAI,CAef;AAED;;;;GAIG;AACH,wBAAgB,uBAAuB,CACrC,WAAW,EAAE,MAAM,GAAG,IAAI,EAC1B,WAAW,GAAE,CAAC,UAAU,EAAE,MAAM,KAAK,MAKjC,GACH,MAAM,GAAG,IAAI,CAWf;AAWD;;;;;;;;;GASG;AACH,wBAAgB,cAAc,CAC5B,YAAY,EAAE,MAAM,GAAG,IAAI,EAC3B,QAAQ,EAAE,OAAO,EACjB,QAAQ,GAAE,MAAM,CAAC,QAA2B,GAC3C,MAAM,GAAG,SAAS,CAkBpB;AAED,wBAAsB,uBAAuB,CAC3C,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,OAAO,EACjB,WAAW,EAAE,MAAM,GAAG,IAAI,GACzB,OAAO,CAAC,cAAc,CAAC,CAiDzB;AAED,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAE1D"}
|
|
@@ -225,6 +225,62 @@ export function readProfileLockOwner(lockPath, isRunning = processIsRunning) {
|
|
|
225
225
|
}
|
|
226
226
|
return isRunning(pid) ? pid : null;
|
|
227
227
|
}
|
|
228
|
+
/**
|
|
229
|
+
* The major version of the browser at `browserPath`, or null when it cannot
|
|
230
|
+
* be read. `--version` prints e.g. `Google Chrome 153.0.8010.48`; on Windows
|
|
231
|
+
* it prints nothing, so an undetectable version is an expected outcome.
|
|
232
|
+
*/
|
|
233
|
+
export function readBrowserMajorVersion(browserPath, readVersion = (executable) => execFileSync(executable, ["--version"], {
|
|
234
|
+
encoding: "utf8",
|
|
235
|
+
timeout: 5000,
|
|
236
|
+
stdio: ["ignore", "pipe", "ignore"],
|
|
237
|
+
})) {
|
|
238
|
+
if (!browserPath) {
|
|
239
|
+
return null;
|
|
240
|
+
}
|
|
241
|
+
try {
|
|
242
|
+
const match = /(\d+)\.\d+\.\d+\.\d+/.exec(readVersion(browserPath));
|
|
243
|
+
return match ? Number(match[1]) : null;
|
|
244
|
+
}
|
|
245
|
+
catch {
|
|
246
|
+
return null;
|
|
247
|
+
}
|
|
248
|
+
}
|
|
249
|
+
/** Playwright's bundled Chromium, used when no browser path was resolved. */
|
|
250
|
+
function safeChromiumExecutablePath() {
|
|
251
|
+
try {
|
|
252
|
+
return chromium.executablePath() || null;
|
|
253
|
+
}
|
|
254
|
+
catch {
|
|
255
|
+
return null;
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
/**
|
|
259
|
+
* The user agent to present, or undefined to leave the browser's own.
|
|
260
|
+
*
|
|
261
|
+
* Headless Chromium announces itself as `HeadlessChrome`, which sites block,
|
|
262
|
+
* so the user agent is overridden. The override must carry the version of the
|
|
263
|
+
* browser actually running: sites that enforce a supported-browser floor
|
|
264
|
+
* (Slack answers 403 "your browser is not supported") reject a stale one, and
|
|
265
|
+
* a version that disagrees with the client hints is itself a bot signal. The
|
|
266
|
+
* string follows Chrome's reduced format, where only the major version varies.
|
|
267
|
+
*/
|
|
268
|
+
export function buildUserAgent(majorVersion, headless, platform = process.platform) {
|
|
269
|
+
if (majorVersion === null) {
|
|
270
|
+
// A headed browser's own user agent is already truthful. Headless has no
|
|
271
|
+
// good answer without a version, so keep the historical floor.
|
|
272
|
+
if (!headless) {
|
|
273
|
+
return undefined;
|
|
274
|
+
}
|
|
275
|
+
majorVersion = 120;
|
|
276
|
+
}
|
|
277
|
+
const platformToken = platform === "win32"
|
|
278
|
+
? "Windows NT 10.0; Win64; x64"
|
|
279
|
+
: platform === "darwin"
|
|
280
|
+
? "Macintosh; Intel Mac OS X 10_15_7"
|
|
281
|
+
: "X11; Linux x86_64";
|
|
282
|
+
return `Mozilla/5.0 (${platformToken}) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/${majorVersion}.0.0.0 Safari/537.36`;
|
|
283
|
+
}
|
|
228
284
|
export async function launchPersistentContext(userDataDir, headless, browserPath) {
|
|
229
285
|
fs.mkdirSync(userDataDir, { recursive: true });
|
|
230
286
|
// Chromium refuses to share a profile between instances. A lock left by a
|
|
@@ -251,8 +307,11 @@ export async function launchPersistentContext(userDataDir, headless, browserPath
|
|
|
251
307
|
"--disable-features=MediaRouter,DialMediaRouteProvider",
|
|
252
308
|
],
|
|
253
309
|
viewport: { width: 1280, height: 800 },
|
|
254
|
-
userAgent: "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",
|
|
255
310
|
};
|
|
311
|
+
const userAgent = buildUserAgent(readBrowserMajorVersion(browserPath ?? safeChromiumExecutablePath()), headless);
|
|
312
|
+
if (userAgent) {
|
|
313
|
+
launchOptions.userAgent = userAgent;
|
|
314
|
+
}
|
|
256
315
|
if (browserPath) {
|
|
257
316
|
launchOptions.executablePath = browserPath;
|
|
258
317
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser.js","sourceRoot":"","sources":["../../../src/runtime/playwright/browser.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"browser.js","sourceRoot":"","sources":["../../../src/runtime/playwright/browser.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,7 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vana-cli",
|
|
3
|
-
"version": "0.24.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "0.24.3",
|
|
4
|
+
"description": "Collect your data into a Vana Personal Server, or request, read and pay for someone else's with their consent",
|
|
5
|
+
"keywords": [
|
|
6
|
+
"vana",
|
|
7
|
+
"personal-server",
|
|
8
|
+
"data-portability",
|
|
9
|
+
"personal-data",
|
|
10
|
+
"consent",
|
|
11
|
+
"cli",
|
|
12
|
+
"mcp",
|
|
13
|
+
"x402"
|
|
14
|
+
],
|
|
5
15
|
"license": "MIT",
|
|
6
16
|
"repository": {
|
|
7
17
|
"type": "git",
|