@opendatalabs/connect 0.6.0 → 0.7.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/README.md CHANGED
@@ -1,8 +1,14 @@
1
1
  # Vana Connect SDK
2
2
 
3
- Let your users customize your app with their own data.
3
+ Let your users bring their own data to your app.
4
4
 
5
- Users connect platforms they already use — ChatGPT, Instagram, Gmail, and more — through the [Vana Desktop App](https://www.vana.com/download), which keeps them in control of what's shared. Your app receives structured, user-consented data through a cryptographically verified grant. No scraping, no OAuth token juggling, no compliance gray areas.
5
+ ## What problem this solves
6
+
7
+ 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.
8
+
9
+ **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.
10
+
11
+ 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.
6
12
 
7
13
  ## How it works
8
14
 
@@ -12,9 +18,9 @@ Your App Vana Protocol
12
18
 
13
19
  1. connect({ scopes })
14
20
  → creates session
15
- → returns deep link ──▶ 2. User opens Desktop App
16
- reviews scopes, exports data,
17
- approves grant
21
+ → returns deep link ──▶ 2. User opens DataConnect
22
+ reviews scopes, exports data,
23
+ approves grant
18
24
 
19
25
  3. Poll resolves with grant ◀── Grant signed & registered
20
26
 
@@ -22,31 +28,67 @@ Your App Vana Protocol
22
28
  → structured JSON user data over TLS
23
29
  ```
24
30
 
25
- The SDK handles session creation, cryptographic request signing, polling, and data fetching. You write three function calls; the protocol handles the rest.
31
+ 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.
32
+
33
+ ## Getting started
34
+
35
+ The fastest way to get up and running is with the `examples/nextjs-starter` — a complete working app which uses the development environment and has full flow of data portability wired up:
36
+
37
+ ```bash
38
+ git clone https://github.com/vana-com/vana-connect.git
39
+ cd vana-connect/examples/nextjs-starter
40
+ cp .env.local.example .env.local
41
+ ```
42
+
43
+ Use the pre-registered dev key in .env.local. Note that this private key is ONLY for testing and works only with a testing Vana environment.
44
+
45
+ ```
46
+ VANA_PRIVATE_KEY=0x3c05ac1a00546bc0b1b8d3a11fb908409005fac3f26d25f70711e4f632e720d3
47
+ APP_URL=http://localhost:3001
48
+ ```
49
+
50
+ Install and run
26
51
 
27
- ## Where this fits in the Vana protocol
52
+ ```
53
+ pnpm install
54
+ pnpm dev
55
+ ```
56
+
57
+ Note that while testing this example app, you should have a development version of the [DataConnect app](https://github.com/vana-com/data-connect?tab=readme-ov-file#development).
58
+
59
+ There is one caveat in development: the deep-link for DataConnect app doesn't open the dev version of the app.
60
+ This means that when testing your app from the end user perspective, once you see this screen:
61
+ <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" />
62
+
63
+ 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=...`.
64
+
65
+ 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:
66
+
67
+ <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" />
28
68
 
29
- 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. The protocol participants are:
69
+ ---
30
70
 
31
- - **Personal Server** — stores and serves user data, enforces grants
32
- - **Data Portability Gateway** — fast API with eventual on-chain consistency
33
- - **Vana L1** — on-chain source of truth for grants, builder registry, and file records
71
+ ## Manual integration
34
72
 
35
- **This SDK is the builder integration layer.** It sits between your app and the protocol, abstracting the Session Relay handshake, Web3Signed authentication, and Personal Server data fetching into a clean API.
73
+ If you prefer to integrate the SDK into an existing project, follow the steps below.
36
74
 
37
- ## Installation
75
+ ### Installation
38
76
 
39
77
  ```bash
40
- npm install @opendatalabs/connect
78
+ pnpm add @opendatalabs/connect
41
79
  ```
42
80
 
43
- ## Prerequisites
81
+ ### Package manager
44
82
 
45
- Register as a builder through the Vana Desktop App first.
83
+ This repo is pnpm-only for local development and examples. Use `pnpm` commands, not `npm`.
46
84
 
47
- ## Quickstart
85
+ ### Prerequisites
48
86
 
49
- ### 1. Create a session (server)
87
+ 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.
88
+
89
+ ### Quickstart
90
+
91
+ #### 1. Create a session (server)
50
92
 
51
93
  ```typescript
52
94
  import { connect } from "@opendatalabs/connect/server";
@@ -54,30 +96,30 @@ import { connect } from "@opendatalabs/connect/server";
54
96
  const session = await connect({
55
97
  privateKey: process.env.VANA_APP_PRIVATE_KEY as `0x${string}`,
56
98
  scopes: ["chatgpt.conversations"],
57
- webhookUrl: "https://yourapp.com/api/webhook", // optional
58
- appUserId: "user-42", // optional
99
+ webhookUrl: "https://yourapp.com/api/webhook", // optional, data can be pushed to a web hook after a grant is approved
100
+ appUserId: "yourapp-user-42", // optional: correlate your app user with the data they provided
59
101
  });
60
102
 
61
103
  // Return to your frontend:
62
- // session.sessionId — used for polling
63
- // session.deepLinkUrl — opens the Vana Desktop App
64
- // session.expiresAt — ISO 8601 expiration
104
+ // session.sessionId — used for polling
105
+ // session.connectUrl — opens the Vana account page → launches DataConnect
106
+ // session.expiresAt — ISO 8601 expiration
65
107
  ```
66
108
 
67
- ### 2. Poll for user approval (client)
109
+ #### 2. Poll for user approval (client)
68
110
 
69
111
  ```tsx
70
112
  import { useVanaConnect } from "@opendatalabs/connect/react";
71
113
 
72
114
  function ConnectData({ sessionId }: { sessionId: string }) {
73
- const { connect, status, grant, deepLinkUrl } = useVanaConnect();
115
+ const { connect, status, grant, connectUrl } = useVanaConnect();
74
116
 
75
117
  useEffect(() => {
76
118
  connect({ sessionId });
77
119
  }, [sessionId]);
78
120
 
79
- if (status === "waiting" && deepLinkUrl) {
80
- return <a href={deepLinkUrl}>Connect your data</a>;
121
+ if (status === "waiting" && connectUrl) {
122
+ return <a href={connectUrl}>Connect your data</a>;
81
123
  }
82
124
  if (status === "approved" && grant) {
83
125
  // grant.grantId, grant.userAddress, grant.scopes are available
@@ -99,7 +141,7 @@ import { ConnectButton } from "@opendatalabs/connect/react";
99
141
  />;
100
142
  ```
101
143
 
102
- ### 3. Fetch user data (server)
144
+ #### 3. Fetch user data (server)
103
145
 
104
146
  ```typescript
105
147
  import { getData } from "@opendatalabs/connect/server";
@@ -113,9 +155,9 @@ const data = await getData({
113
155
  const conversations = data["chatgpt.conversations"];
114
156
  ```
115
157
 
116
- ### Web App Manifest
158
+ #### Web App Manifest
117
159
 
118
- The Desktop App verifies your identity by fetching your manifest. Use `signVanaManifest()` to generate it:
160
+ The DataConnect App verifies your identity by fetching your manifest. Use `signVanaManifest()` to generate it:
119
161
 
120
162
  ```typescript
121
163
  import { signVanaManifest } from "@opendatalabs/connect/server";
@@ -141,6 +183,11 @@ const manifest = {
141
183
 
142
184
  Make sure your HTML includes `<link rel="manifest" href="/manifest.json">`.
143
185
 
186
+ ## Connectors
187
+
188
+ Available data connectors and their scopes (schema definitions):
189
+ [`vana-com/data-connectors/schemas`](https://github.com/vana-com/data-connectors/tree/main/schemas)
190
+
144
191
  ## API Reference
145
192
 
146
193
  ### Entrypoints
@@ -153,7 +200,7 @@ Make sure your HTML includes `<link rel="manifest" href="/manifest.json">`.
153
200
 
154
201
  ### `connect(config): Promise<SessionInitResult>`
155
202
 
156
- Creates a session on the Session Relay. Returns `sessionId`, `deepLinkUrl`, and `expiresAt`.
203
+ Creates a session on the Session Relay. Returns `sessionId`, `connectUrl`, and `expiresAt`.
157
204
 
158
205
  | Param | Type | Required | Description |
159
206
  | ------------ | ------------------- | -------- | ---------------------------------------------------------------------- |
@@ -176,7 +223,7 @@ Fetches user data from their Personal Server using a signed grant.
176
223
  React hook that polls the Session Relay and manages connection state.
177
224
 
178
225
  ```typescript
179
- const { connect, status, grant, error, deepLinkUrl, reset } = useVanaConnect();
226
+ const { connect, status, grant, error, connectUrl, reset } = useVanaConnect();
180
227
  ```
181
228
 
182
229
  `status` transitions: `idle` &rarr; `connecting` &rarr; `waiting` &rarr; `approved` | `denied` | `expired` | `error`
@@ -208,10 +255,6 @@ import {
208
255
  } from "@opendatalabs/connect/server";
209
256
  ```
210
257
 
211
- ## Examples
212
-
213
- See [`examples/nextjs-starter`](./examples/nextjs-starter) for a complete working integration with Next.js, including manifest signing, webhook handling, and the full connect-to-data-fetch flow.
214
-
215
258
  ## License
216
259
 
217
260
  MIT
@@ -3,12 +3,14 @@ export type VanaEnvironment = "dev" | "prod";
3
3
  /** URL configuration for each SDK environment. */
4
4
  export declare const ENV_CONFIG: {
5
5
  readonly dev: {
6
- readonly sessionRelayUrl: "https://session-relay-git-dev-opendatalabs.vercel.app";
7
- readonly gatewayUrl: "https://data-gateway-env-dev-opendatalabs.vercel.app";
6
+ readonly sessionRelayUrl: "https://dev.session-relay.vana.org";
7
+ readonly gatewayUrl: "https://dev.data-gateway.vana.org";
8
+ readonly accountUrl: "https://account-dev.vana.org";
8
9
  };
9
10
  readonly prod: {
10
- readonly sessionRelayUrl: "https://session-relay-git-dev-opendatalabs.vercel.app";
11
- readonly gatewayUrl: "https://data-gateway-env-dev-opendatalabs.vercel.app";
11
+ readonly sessionRelayUrl: "https://session-relay.vana.org";
12
+ readonly gatewayUrl: "https://data-gateway.vana.org";
13
+ readonly accountUrl: "https://account.vana.org";
12
14
  };
13
15
  };
14
16
  /** Default environment used when none is specified. */
@@ -20,10 +22,12 @@ export declare const DEFAULT_ENVIRONMENT: VanaEnvironment;
20
22
  * @returns An object with `sessionRelayUrl` and `gatewayUrl`.
21
23
  */
22
24
  export declare function getEnvConfig(environment?: VanaEnvironment): {
23
- readonly sessionRelayUrl: "https://session-relay-git-dev-opendatalabs.vercel.app";
24
- readonly gatewayUrl: "https://data-gateway-env-dev-opendatalabs.vercel.app";
25
+ readonly sessionRelayUrl: "https://dev.session-relay.vana.org";
26
+ readonly gatewayUrl: "https://dev.data-gateway.vana.org";
27
+ readonly accountUrl: "https://account-dev.vana.org";
25
28
  } | {
26
- readonly sessionRelayUrl: "https://session-relay-git-dev-opendatalabs.vercel.app";
27
- readonly gatewayUrl: "https://data-gateway-env-dev-opendatalabs.vercel.app";
29
+ readonly sessionRelayUrl: "https://session-relay.vana.org";
30
+ readonly gatewayUrl: "https://data-gateway.vana.org";
31
+ readonly accountUrl: "https://account.vana.org";
28
32
  };
29
33
  //# sourceMappingURL=constants.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/core/constants.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,MAAM,MAAM,eAAe,GAAG,KAAK,GAAG,MAAM,CAAC;AAE7C,kDAAkD;AAClD,eAAO,MAAM,UAAU;;;;;;;;;CAUb,CAAC;AAEX,uDAAuD;AACvD,eAAO,MAAM,mBAAmB,EAAE,eAAwB,CAAC;AAE3D;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,WAAW,CAAC,EAAE,eAAe;;;;;;EAEzD"}
1
+ {"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/core/constants.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,MAAM,MAAM,eAAe,GAAG,KAAK,GAAG,MAAM,CAAC;AAE7C,kDAAkD;AAClD,eAAO,MAAM,UAAU;;;;;;;;;;;CAWb,CAAC;AAEX,uDAAuD;AACvD,eAAO,MAAM,mBAAmB,EAAE,eAAwB,CAAC;AAE3D;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,WAAW,CAAC,EAAE,eAAe;;;;;;;;EAEzD"}
@@ -1,13 +1,14 @@
1
1
  /** URL configuration for each SDK environment. */
2
2
  export const ENV_CONFIG = {
3
3
  dev: {
4
- sessionRelayUrl: "https://session-relay-git-dev-opendatalabs.vercel.app",
5
- gatewayUrl: "https://data-gateway-env-dev-opendatalabs.vercel.app",
4
+ sessionRelayUrl: "https://dev.session-relay.vana.org",
5
+ gatewayUrl: "https://dev.data-gateway.vana.org",
6
+ accountUrl: "https://account-dev.vana.org",
6
7
  },
7
8
  prod: {
8
- // TODO: Replace with actual production URLs
9
- sessionRelayUrl: "https://session-relay-git-dev-opendatalabs.vercel.app",
10
- gatewayUrl: "https://data-gateway-env-dev-opendatalabs.vercel.app",
9
+ sessionRelayUrl: "https://session-relay.vana.org",
10
+ gatewayUrl: "https://data-gateway.vana.org",
11
+ accountUrl: "https://account.vana.org",
11
12
  },
12
13
  };
13
14
  /** Default environment used when none is specified. */
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/core/constants.ts"],"names":[],"mappings":"AAGA,kDAAkD;AAClD,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,GAAG,EAAE;QACH,eAAe,EAAE,uDAAuD;QACxE,UAAU,EAAE,sDAAsD;KACnE;IACD,IAAI,EAAE;QACJ,4CAA4C;QAC5C,eAAe,EAAE,uDAAuD;QACxE,UAAU,EAAE,sDAAsD;KACnE;CACO,CAAC;AAEX,uDAAuD;AACvD,MAAM,CAAC,MAAM,mBAAmB,GAAoB,MAAM,CAAC;AAE3D;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,WAA6B;IACxD,OAAO,UAAU,CAAC,WAAW,IAAI,mBAAmB,CAAC,CAAC;AACxD,CAAC"}
1
+ {"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/core/constants.ts"],"names":[],"mappings":"AAGA,kDAAkD;AAClD,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,GAAG,EAAE;QACH,eAAe,EAAE,oCAAoC;QACrD,UAAU,EAAE,mCAAmC;QAC/C,UAAU,EAAE,8BAA8B;KAC3C;IACD,IAAI,EAAE;QACJ,eAAe,EAAE,gCAAgC;QACjD,UAAU,EAAE,+BAA+B;QAC3C,UAAU,EAAE,0BAA0B;KACvC;CACO,CAAC;AAEX,uDAAuD;AACvD,MAAM,CAAC,MAAM,mBAAmB,GAAoB,MAAM,CAAC;AAE3D;;;;;GAKG;AACH,MAAM,UAAU,YAAY,CAAC,WAA6B;IACxD,OAAO,UAAU,CAAC,WAAW,IAAI,mBAAmB,CAAC,CAAC;AACxD,CAAC"}
@@ -13,8 +13,8 @@ export interface SessionInitParams {
13
13
  export interface SessionInitResult {
14
14
  /** Unique session identifier used for polling. */
15
15
  sessionId: string;
16
- /** Deep link URL that opens the Vana Desktop App. */
17
- deepLinkUrl: string;
16
+ /** URL to account.vana.org where the user signs in and launches Data Connect. */
17
+ connectUrl: string;
18
18
  /** ISO 8601 expiration timestamp for the session. */
19
19
  expiresAt: string;
20
20
  }
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"AAAA,+EAA+E;AAC/E,MAAM,MAAM,gBAAgB,GACxB,MAAM,GACN,YAAY,GACZ,SAAS,GACT,UAAU,GACV,QAAQ,GACR,SAAS,GACT,OAAO,CAAC;AAEZ,kEAAkE;AAClE,MAAM,WAAW,iBAAiB;IAChC,iEAAiE;IACjE,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,6EAA6E;IAC7E,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0CAA0C;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,2DAA2D;AAC3D,MAAM,WAAW,iBAAiB;IAChC,kDAAkD;IAClD,SAAS,EAAE,MAAM,CAAC;IAClB,qDAAqD;IACrD,WAAW,EAAE,MAAM,CAAC;IACpB,qDAAqD;IACrD,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,2DAA2D;AAC3D,MAAM,WAAW,iBAAiB;IAChC,8BAA8B;IAC9B,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,UAAU,GAAG,QAAQ,GAAG,SAAS,CAAC;IAClE,0DAA0D;IAC1D,KAAK,CAAC,EAAE,YAAY,CAAC;IACrB,4DAA4D;IAC5D,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,uDAAuD;AACvD,MAAM,WAAW,YAAY;IAC3B,8BAA8B;IAC9B,OAAO,EAAE,MAAM,CAAC;IAChB,6BAA6B;IAC7B,WAAW,EAAE,MAAM,CAAC;IACpB,2CAA2C;IAC3C,cAAc,EAAE,MAAM,CAAC;IACvB,4BAA4B;IAC5B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,gDAAgD;IAChD,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,2DAA2D;IAC3D,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,2DAA2D;AAC3D,MAAM,WAAW,eAAe;IAC9B,8CAA8C;IAC9C,SAAS,EAAE,MAAM,CAAC;IAClB,wDAAwD;IACxD,KAAK,EAAE,MAAM,CAAC;IACd,4CAA4C;IAC5C,OAAO,EAAE,MAAM,CAAC;IAChB,6DAA6D;IAC7D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,6EAA6E;IAC7E,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED,qDAAqD;AACrD,MAAM,WAAW,mBAAmB;IAClC,yCAAyC;IACzC,UAAU,EAAE,KAAK,MAAM,EAAE,CAAC;CAC3B;AAED,oDAAoD;AACpD,MAAM,WAAW,kBAAkB;IACjC,yCAAyC;IACzC,UAAU,EAAE,KAAK,MAAM,EAAE,CAAC;IAC1B,6DAA6D;IAC7D,cAAc,EAAE,KAAK,MAAM,EAAE,CAAC;IAC9B,6CAA6C;IAC7C,eAAe,EAAE,MAAM,CAAC;CACzB;AAED,kDAAkD;AAClD,MAAM,WAAW,gBAAgB;IAC/B,yCAAyC;IACzC,UAAU,EAAE,KAAK,MAAM,EAAE,CAAC;IAC1B,gDAAgD;IAChD,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,iEAAiE;AACjE,MAAM,WAAW,aAAa;IAC5B,yCAAyC;IACzC,UAAU,EAAE,KAAK,MAAM,EAAE,CAAC;IAC1B,8BAA8B;IAC9B,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,sDAAsD;IACtD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0CAA0C;IAC1C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,mEAAmE;IACnE,WAAW,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;CAC9B;AAED,iEAAiE;AACjE,MAAM,WAAW,aAAa;IAC5B,yCAAyC;IACzC,UAAU,EAAE,KAAK,MAAM,EAAE,CAAC;IAC1B,oCAAoC;IACpC,KAAK,EAAE,YAAY,CAAC;IACpB,mEAAmE;IACnE,WAAW,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;CAC9B;AAED,kDAAkD;AAClD,MAAM,WAAW,kBAAkB;IACjC,yCAAyC;IACzC,UAAU,EAAE,KAAK,MAAM,EAAE,CAAC;IAC1B,yCAAyC;IACzC,MAAM,EAAE,MAAM,CAAC;IACf,kCAAkC;IAClC,gBAAgB,EAAE,MAAM,CAAC;IACzB,oCAAoC;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,4BAA4B;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,kDAAkD;IAClD,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,oFAAoF;AACpF,MAAM,WAAW,iBAAiB;IAChC,yCAAyC;IACzC,MAAM,EAAE,MAAM,CAAC;IACf,kCAAkC;IAClC,gBAAgB,EAAE,MAAM,CAAC;IACzB,oCAAoC;IACpC,QAAQ,EAAE,MAAM,CAAC;IACjB,4BAA4B;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,kDAAkD;IAClD,UAAU,EAAE,MAAM,CAAC;IACnB,qDAAqD;IACrD,SAAS,EAAE,MAAM,CAAC;CACnB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/core/types.ts"],"names":[],"mappings":"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"}
@@ -3,8 +3,8 @@ import type { GrantPayload } from "../core/types.js";
3
3
  export interface ConnectButtonProps {
4
4
  /** Session ID from the server-side `connect()` call. */
5
5
  sessionId: string;
6
- /** Optional deep link URL override. */
7
- deepLinkUrl?: string;
6
+ /** URL to account.vana.org/connect. */
7
+ connectUrl?: string;
8
8
  /** Called when the user approves the grant. */
9
9
  onComplete?: (grant: GrantPayload) => void;
10
10
  /** Called on polling errors. */
@@ -13,7 +13,7 @@ export interface ConnectButtonProps {
13
13
  onDenied?: (reason: string) => void;
14
14
  /** CSS class name for the wrapper element. */
15
15
  className?: string;
16
- /** Label for the deep link anchor (default: `"Open Vana Desktop App"`). */
16
+ /** Label for the connect anchor (default: `"Connect with Vana"`). */
17
17
  label?: string;
18
18
  }
19
19
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"ConnectButton.d.ts","sourceRoot":"","sources":["../../src/react/ConnectButton.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAGrD,qDAAqD;AACrD,MAAM,WAAW,kBAAkB;IACjC,wDAAwD;IACxD,SAAS,EAAE,MAAM,CAAC;IAClB,uCAAuC;IACvC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,+CAA+C;IAC/C,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;IAC3C,gCAAgC;IAChC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,8CAA8C;IAC9C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,2EAA2E;IAC3E,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,2CA+CtD"}
1
+ {"version":3,"file":"ConnectButton.d.ts","sourceRoot":"","sources":["../../src/react/ConnectButton.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAGrD,qDAAqD;AACrD,MAAM,WAAW,kBAAkB;IACjC,wDAAwD;IACxD,SAAS,EAAE,MAAM,CAAC;IAClB,uCAAuC;IACvC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,+CAA+C;IAC/C,UAAU,CAAC,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;IAC3C,gCAAgC;IAChC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,IAAI,CAAC;IACpC,8CAA8C;IAC9C,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qEAAqE;IACrE,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;GAMG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,kBAAkB,2CAiDtD"}
@@ -9,11 +9,11 @@ import { useVanaConnect } from "./useVanaConnect.js";
9
9
  * @param props - Component props.
10
10
  */
11
11
  export function ConnectButton(props) {
12
- const { sessionId, deepLinkUrl: deepLinkUrlProp, onComplete, onError, onDenied, className, label, } = props;
13
- const { connect, status, grant, error, deepLinkUrl } = useVanaConnect();
12
+ const { sessionId, connectUrl: connectUrlProp, onComplete, onError, onDenied, className, label, } = props;
13
+ const { connect, status, grant, error, connectUrl } = useVanaConnect();
14
14
  useEffect(() => {
15
- connect({ sessionId, deepLinkUrl: deepLinkUrlProp });
16
- }, [sessionId, deepLinkUrlProp, connect]);
15
+ connect({ sessionId, connectUrl: connectUrlProp });
16
+ }, [sessionId, connectUrlProp, connect]);
17
17
  useEffect(() => {
18
18
  if (status === "approved" && grant && onComplete) {
19
19
  onComplete(grant);
@@ -34,6 +34,6 @@ export function ConnectButton(props) {
34
34
  expired: "Session expired",
35
35
  error: "Connection error",
36
36
  };
37
- return (_jsxs("div", { className: className, children: [_jsx("p", { children: statusText[status] ?? status }), deepLinkUrl && status === "waiting" && (_jsx("a", { href: deepLinkUrl, children: label ?? "Open dataConnect Desktop App" }))] }));
37
+ return (_jsxs("div", { className: className, children: [_jsx("p", { children: statusText[status] ?? status }), connectUrl && status === "waiting" && (_jsx("a", { href: connectUrl, target: "_blank", rel: "noopener noreferrer", children: label ?? "Connect with Vana" }))] }));
38
38
  }
39
39
  //# sourceMappingURL=ConnectButton.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"ConnectButton.js","sourceRoot":"","sources":["../../src/react/ConnectButton.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAoBrD;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAAC,KAAyB;IACrD,MAAM,EACJ,SAAS,EACT,WAAW,EAAE,eAAe,EAC5B,UAAU,EACV,OAAO,EACP,QAAQ,EACR,SAAS,EACT,KAAK,GACN,GAAG,KAAK,CAAC;IAEV,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,GAAG,cAAc,EAAE,CAAC;IAExE,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,CAAC,EAAE,SAAS,EAAE,WAAW,EAAE,eAAe,EAAE,CAAC,CAAC;IACvD,CAAC,EAAE,CAAC,SAAS,EAAE,eAAe,EAAE,OAAO,CAAC,CAAC,CAAC;IAE1C,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,MAAM,KAAK,UAAU,IAAI,KAAK,IAAI,UAAU,EAAE,CAAC;YACjD,UAAU,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC;QACD,IAAI,MAAM,KAAK,OAAO,IAAI,KAAK,IAAI,OAAO,EAAE,CAAC;YAC3C,OAAO,CAAC,KAAK,CAAC,CAAC;QACjB,CAAC;QACD,IAAI,MAAM,KAAK,QAAQ,IAAI,QAAQ,EAAE,CAAC;YACpC,QAAQ,CAAC,KAAK,IAAI,yBAAyB,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;IAE1D,MAAM,UAAU,GAA2B;QACzC,IAAI,EAAE,iBAAiB;QACvB,UAAU,EAAE,eAAe;QAC3B,OAAO,EAAE,yBAAyB;QAClC,QAAQ,EAAE,YAAY;QACtB,MAAM,EAAE,gBAAgB;QACxB,OAAO,EAAE,iBAAiB;QAC1B,KAAK,EAAE,kBAAkB;KAC1B,CAAC;IAEF,OAAO,CACL,eAAK,SAAS,EAAE,SAAS,aACvB,sBAAI,UAAU,CAAC,MAAM,CAAC,IAAI,MAAM,GAAK,EACpC,WAAW,IAAI,MAAM,KAAK,SAAS,IAAI,CACtC,YAAG,IAAI,EAAE,WAAW,YAAG,KAAK,IAAI,8BAA8B,GAAK,CACpE,IACG,CACP,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"ConnectButton.js","sourceRoot":"","sources":["../../src/react/ConnectButton.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAElC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AAoBrD;;;;;;GAMG;AACH,MAAM,UAAU,aAAa,CAAC,KAAyB;IACrD,MAAM,EACJ,SAAS,EACT,UAAU,EAAE,cAAc,EAC1B,UAAU,EACV,OAAO,EACP,QAAQ,EACR,SAAS,EACT,KAAK,GACN,GAAG,KAAK,CAAC;IAEV,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,GAAG,cAAc,EAAE,CAAC;IAEvE,SAAS,CAAC,GAAG,EAAE;QACb,OAAO,CAAC,EAAE,SAAS,EAAE,UAAU,EAAE,cAAc,EAAE,CAAC,CAAC;IACrD,CAAC,EAAE,CAAC,SAAS,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC;IAEzC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,MAAM,KAAK,UAAU,IAAI,KAAK,IAAI,UAAU,EAAE,CAAC;YACjD,UAAU,CAAC,KAAK,CAAC,CAAC;QACpB,CAAC;QACD,IAAI,MAAM,KAAK,OAAO,IAAI,KAAK,IAAI,OAAO,EAAE,CAAC;YAC3C,OAAO,CAAC,KAAK,CAAC,CAAC;QACjB,CAAC;QACD,IAAI,MAAM,KAAK,QAAQ,IAAI,QAAQ,EAAE,CAAC;YACpC,QAAQ,CAAC,KAAK,IAAI,yBAAyB,CAAC,CAAC;QAC/C,CAAC;IACH,CAAC,EAAE,CAAC,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;IAE1D,MAAM,UAAU,GAA2B;QACzC,IAAI,EAAE,iBAAiB;QACvB,UAAU,EAAE,eAAe;QAC3B,OAAO,EAAE,yBAAyB;QAClC,QAAQ,EAAE,YAAY;QACtB,MAAM,EAAE,gBAAgB;QACxB,OAAO,EAAE,iBAAiB;QAC1B,KAAK,EAAE,kBAAkB;KAC1B,CAAC;IAEF,OAAO,CACL,eAAK,SAAS,EAAE,SAAS,aACvB,sBAAI,UAAU,CAAC,MAAM,CAAC,IAAI,MAAM,GAAK,EACpC,UAAU,IAAI,MAAM,KAAK,SAAS,IAAI,CACrC,YAAG,IAAI,EAAE,UAAU,EAAE,MAAM,EAAC,QAAQ,EAAC,GAAG,EAAC,qBAAqB,YAC3D,KAAK,IAAI,mBAAmB,GAC3B,CACL,IACG,CACP,CAAC;AACJ,CAAC"}
@@ -11,7 +11,7 @@ export interface UseVanaConnectResult {
11
11
  /** Starts polling the Session Relay for the given session. */
12
12
  connect: (params: {
13
13
  sessionId: string;
14
- deepLinkUrl?: string;
14
+ connectUrl?: string;
15
15
  }) => void;
16
16
  /** Current connection status. */
17
17
  status: ConnectionStatus;
@@ -19,8 +19,8 @@ export interface UseVanaConnectResult {
19
19
  grant: GrantPayload | null;
20
20
  /** Error message, or `null`. */
21
21
  error: string | null;
22
- /** Deep link URL to open the Vana Desktop App, or `null`. */
23
- deepLinkUrl: string | null;
22
+ /** URL to account.vana.org where the user signs in and launches Data Connect, or `null`. */
23
+ connectUrl: string | null;
24
24
  /** Resets all state back to idle and stops polling. */
25
25
  reset: () => void;
26
26
  }
@@ -36,13 +36,13 @@ export interface UseVanaConnectResult {
36
36
  *
37
37
  * @example
38
38
  * ```tsx
39
- * const { connect, status, grant, deepLinkUrl } = useVanaConnect();
39
+ * const { connect, status, grant, connectUrl } = useVanaConnect();
40
40
  *
41
41
  * useEffect(() => {
42
42
  * connect({ sessionId: "sess-123" });
43
43
  * }, []);
44
44
  *
45
- * if (status === "waiting") return <a href={deepLinkUrl!}>Open Vana</a>;
45
+ * if (status === "waiting") return <a href={connectUrl!}>Open Vana</a>;
46
46
  * if (status === "approved") return <p>Connected! Grant: {grant!.grantId}</p>;
47
47
  * ```
48
48
  */
@@ -1 +1 @@
1
- {"version":3,"file":"useVanaConnect.d.ts","sourceRoot":"","sources":["../../src/react/useVanaConnect.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,gBAAgB,EAChB,YAAY,EAEb,MAAM,kBAAkB,CAAC;AAE1B,yDAAyD;AACzD,MAAM,WAAW,oBAAoB;IACnC,wDAAwD;IACxD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,mEAAmE;IACnE,WAAW,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;CAC9B;AAED,uDAAuD;AACvD,MAAM,WAAW,oBAAoB;IACnC,8DAA8D;IAC9D,OAAO,EAAE,CAAC,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,WAAW,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACvE,iCAAiC;IACjC,MAAM,EAAE,gBAAgB,CAAC;IACzB,oDAAoD;IACpD,KAAK,EAAE,YAAY,GAAG,IAAI,CAAC;IAC3B,gCAAgC;IAChC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,6DAA6D;IAC7D,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,uDAAuD;IACvD,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,cAAc,CAC5B,MAAM,CAAC,EAAE,oBAAoB,GAC5B,oBAAoB,CAwGtB"}
1
+ {"version":3,"file":"useVanaConnect.d.ts","sourceRoot":"","sources":["../../src/react/useVanaConnect.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,gBAAgB,EAChB,YAAY,EAEb,MAAM,kBAAkB,CAAC;AAE1B,yDAAyD;AACzD,MAAM,WAAW,oBAAoB;IACnC,wDAAwD;IACxD,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,mEAAmE;IACnE,WAAW,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;CAC9B;AAED,uDAAuD;AACvD,MAAM,WAAW,oBAAoB;IACnC,8DAA8D;IAC9D,OAAO,EAAE,CAAC,MAAM,EAAE;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,IAAI,CAAC;IACtE,iCAAiC;IACjC,MAAM,EAAE,gBAAgB,CAAC;IACzB,oDAAoD;IACpD,KAAK,EAAE,YAAY,GAAG,IAAI,CAAC;IAC3B,gCAAgC;IAChC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,4FAA4F;IAC5F,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,uDAAuD;IACvD,KAAK,EAAE,MAAM,IAAI,CAAC;CACnB;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAgB,cAAc,CAC5B,MAAM,CAAC,EAAE,oBAAoB,GAC5B,oBAAoB,CA0GtB"}
@@ -12,24 +12,25 @@ import { getEnvConfig } from "../core/constants.js";
12
12
  *
13
13
  * @example
14
14
  * ```tsx
15
- * const { connect, status, grant, deepLinkUrl } = useVanaConnect();
15
+ * const { connect, status, grant, connectUrl } = useVanaConnect();
16
16
  *
17
17
  * useEffect(() => {
18
18
  * connect({ sessionId: "sess-123" });
19
19
  * }, []);
20
20
  *
21
- * if (status === "waiting") return <a href={deepLinkUrl!}>Open Vana</a>;
21
+ * if (status === "waiting") return <a href={connectUrl!}>Open Vana</a>;
22
22
  * if (status === "approved") return <p>Connected! Grant: {grant!.grantId}</p>;
23
23
  * ```
24
24
  */
25
25
  export function useVanaConnect(config) {
26
- const { sessionRelayUrl } = getEnvConfig(config?.environment);
27
- const baseUrl = sessionRelayUrl;
26
+ const envConfig = getEnvConfig(config?.environment);
27
+ const baseUrl = envConfig.sessionRelayUrl;
28
+ const accountUrl = envConfig.accountUrl;
28
29
  const interval = config?.pollingInterval ?? 2000;
29
30
  const [status, setStatus] = useState("idle");
30
31
  const [grant, setGrant] = useState(null);
31
32
  const [error, setError] = useState(null);
32
- const [deepLinkUrl, setDeepLinkUrl] = useState(null);
33
+ const [connectUrl, setConnectUrl] = useState(null);
33
34
  const timerRef = useRef(null);
34
35
  const stopPolling = useCallback(() => {
35
36
  if (timerRef.current !== null) {
@@ -42,14 +43,15 @@ export function useVanaConnect(config) {
42
43
  setStatus("idle");
43
44
  setGrant(null);
44
45
  setError(null);
45
- setDeepLinkUrl(null);
46
+ setConnectUrl(null);
46
47
  }, [stopPolling]);
47
48
  const connect = useCallback((params) => {
48
49
  stopPolling();
49
50
  setStatus("connecting");
50
51
  setGrant(null);
51
52
  setError(null);
52
- setDeepLinkUrl(params.deepLinkUrl ?? `vana://connect?sessionId=${params.sessionId}`);
53
+ setConnectUrl(params.connectUrl ??
54
+ `${accountUrl}/connect?sessionId=${params.sessionId}`);
53
55
  const pollUrl = `${baseUrl}/v1/session/${params.sessionId}/poll`;
54
56
  const poll = async () => {
55
57
  try {
@@ -104,9 +106,9 @@ export function useVanaConnect(config) {
104
106
  // First poll immediately, then at interval
105
107
  void poll();
106
108
  timerRef.current = setInterval(() => void poll(), interval);
107
- }, [baseUrl, interval, stopPolling]);
109
+ }, [baseUrl, accountUrl, interval, stopPolling]);
108
110
  // Cleanup on unmount
109
111
  useEffect(() => stopPolling, [stopPolling]);
110
- return { connect, status, grant, error, deepLinkUrl, reset };
112
+ return { connect, status, grant, error, connectUrl, reset };
111
113
  }
112
114
  //# sourceMappingURL=useVanaConnect.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useVanaConnect.js","sourceRoot":"","sources":["../../src/react/useVanaConnect.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useVanaConnect.js","sourceRoot":"","sources":["../../src/react/useVanaConnect.ts"],"names":[],"mappings":"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"}
@@ -26,8 +26,10 @@ export interface UseVanaDataResult {
26
26
  data: unknown;
27
27
  /** Error message, or `null`. */
28
28
  error: string | null;
29
- /** Deep link URL to open the Vana Desktop App, or `null`. */
30
- deepLinkUrl: string | null;
29
+ /** URL to account.vana.org where the user signs in and launches Data Connect, or `null`. */
30
+ connectUrl: string | null;
31
+ /** Opens the connect URL in a new tab. Use this instead of rendering the URL directly to avoid navigating away from your app. */
32
+ openConnect: () => void;
31
33
  /** Starts the connect flow by calling the connect API route. */
32
34
  initConnect: () => Promise<void>;
33
35
  /** Manually fetches data using the current grant. */
@@ -1 +1 @@
1
- {"version":3,"file":"useVanaData.d.ts","sourceRoot":"","sources":["../../src/react/useVanaData.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAGvE;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,gEAAgE;IAChE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0DAA0D;IAC1D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+EAA+E;IAC/E,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gEAAgE;IAChE,WAAW,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IAC7B,oFAAoF;IACpF,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,iCAAiC;IACjC,MAAM,EAAE,gBAAgB,CAAC;IACzB,oDAAoD;IACpD,KAAK,EAAE,YAAY,GAAG,IAAI,CAAC;IAC3B,4DAA4D;IAC5D,IAAI,EAAE,OAAO,CAAC;IACd,gCAAgC;IAChC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,6DAA6D;IAC7D,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,gEAAgE;IAChE,WAAW,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,qDAAqD;IACrD,SAAS,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,qCAAqC;IACrC,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,uDAAuD;IACvD,SAAS,EAAE,OAAO,CAAC;IACnB,0CAA0C;IAC1C,WAAW,EAAE,OAAO,CAAC;CACtB;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,WAAW,CAAC,MAAM,CAAC,EAAE,iBAAiB,GAAG,iBAAiB,CAqHzE"}
1
+ {"version":3,"file":"useVanaData.d.ts","sourceRoot":"","sources":["../../src/react/useVanaData.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAGvE;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,gEAAgE;IAChE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0DAA0D;IAC1D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+EAA+E;IAC/E,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gEAAgE;IAChE,WAAW,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IAC7B,oFAAoF;IACpF,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,iCAAiC;IACjC,MAAM,EAAE,gBAAgB,CAAC;IACzB,oDAAoD;IACpD,KAAK,EAAE,YAAY,GAAG,IAAI,CAAC;IAC3B,4DAA4D;IAC5D,IAAI,EAAE,OAAO,CAAC;IACd,gCAAgC;IAChC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,4FAA4F;IAC5F,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,iIAAiI;IACjI,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,gEAAgE;IAChE,WAAW,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,qDAAqD;IACrD,SAAS,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,qCAAqC;IACrC,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,uDAAuD;IACvD,SAAS,EAAE,OAAO,CAAC;IACnB,0CAA0C;IAC1C,WAAW,EAAE,OAAO,CAAC;CACtB;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,WAAW,CAAC,MAAM,CAAC,EAAE,iBAAiB,GAAG,iBAAiB,CA4HzE"}
@@ -25,10 +25,10 @@ import { useVanaConnect } from "./useVanaConnect.js";
25
25
  * ```
26
26
  */
27
27
  export function useVanaData(config) {
28
- const connectUrl = config?.connectUrl ?? "/api/connect";
28
+ const connectApiUrl = config?.connectUrl ?? "/api/connect";
29
29
  const dataUrl = config?.dataUrl ?? "/api/data";
30
30
  const autoFetch = config?.autoFetch ?? true;
31
- const { connect, status: pollStatus, grant: pollGrant, error: pollError, deepLinkUrl, reset: resetPoll, } = useVanaConnect({
31
+ const { connect, status: pollStatus, grant: pollGrant, error: pollError, connectUrl, reset: resetPoll, } = useVanaConnect({
32
32
  pollingInterval: config?.pollingInterval,
33
33
  environment: config?.environment,
34
34
  });
@@ -80,7 +80,7 @@ export function useVanaData(config) {
80
80
  autoFetchedRef.current = false;
81
81
  setInitLoading(true);
82
82
  try {
83
- const res = await fetch(connectUrl, { method: "POST" });
83
+ const res = await fetch(connectApiUrl, { method: "POST" });
84
84
  const json = (await res.json());
85
85
  if (!res.ok) {
86
86
  setFetchError(json.error ? String(json.error) : `Connect failed: ${res.status}`);
@@ -88,7 +88,7 @@ export function useVanaData(config) {
88
88
  }
89
89
  connect({
90
90
  sessionId: json.sessionId,
91
- deepLinkUrl: json.deepLinkUrl,
91
+ connectUrl: json.connectUrl || undefined,
92
92
  });
93
93
  }
94
94
  catch (err) {
@@ -97,7 +97,7 @@ export function useVanaData(config) {
97
97
  finally {
98
98
  setInitLoading(false);
99
99
  }
100
- }, [connectUrl, connect]);
100
+ }, [connectApiUrl, connect]);
101
101
  const reset = useCallback(() => {
102
102
  resetPoll();
103
103
  setData(null);
@@ -106,6 +106,11 @@ export function useVanaData(config) {
106
106
  setInitLoading(false);
107
107
  autoFetchedRef.current = false;
108
108
  }, [resetPoll]);
109
+ const openConnect = useCallback(() => {
110
+ if (connectUrl) {
111
+ window.open(connectUrl, "_blank", "noopener,noreferrer");
112
+ }
113
+ }, [connectUrl]);
109
114
  const error = pollError ?? fetchError;
110
115
  const isLoading = initLoading || fetching || pollStatus === "connecting";
111
116
  const isConnected = pollStatus === "approved";
@@ -114,7 +119,8 @@ export function useVanaData(config) {
114
119
  grant: pollGrant,
115
120
  data,
116
121
  error,
117
- deepLinkUrl,
122
+ connectUrl,
123
+ openConnect,
118
124
  initConnect,
119
125
  fetchData,
120
126
  reset,
@@ -1 +1 @@
1
- {"version":3,"file":"useVanaData.js","sourceRoot":"","sources":["../../src/react/useVanaData.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useVanaData.js","sourceRoot":"","sources":["../../src/react/useVanaData.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,12 @@
1
1
  import type { ConnectConfig, GetDataConfig, SessionInitResult } from "../core/types.js";
2
2
  /**
3
- * Creates a session on the Session Relay and returns the session ID and deep link URL.
3
+ * Creates a session on the Session Relay and returns the session ID, connect URL, and deep link URL.
4
4
  *
5
- * This is the entry point for the Vana Connect flow. The returned `deepLinkUrl`
6
- * should be presented to the user to open the Vana Desktop App.
5
+ * This is the entry point for the Vana Connect flow. The returned `connectUrl`
6
+ * should be presented to the user to sign in on account.vana.org and launch Data Connect.
7
7
  *
8
8
  * @param config - Connection configuration including private key and scopes.
9
- * @returns Session ID, deep link URL, and expiration timestamp.
9
+ * @returns Session ID, connect URL, and expiration timestamp.
10
10
  * @throws {@link ConnectError} with code `SESSION_INIT_FAILED` if the relay rejects the request.
11
11
  *
12
12
  * @example
@@ -15,7 +15,7 @@ import type { ConnectConfig, GetDataConfig, SessionInitResult } from "../core/ty
15
15
  * privateKey: process.env.VANA_PRIVATE_KEY as `0x${string}`,
16
16
  * scopes: ["chatgpt.conversations"],
17
17
  * });
18
- * // session.sessionId, session.deepLinkUrl, session.expiresAt
18
+ * // session.sessionId, session.connectUrl, session.expiresAt
19
19
  * ```
20
20
  */
21
21
  export declare function connect(config: ConnectConfig): Promise<SessionInitResult>;
@@ -1 +1 @@
1
- {"version":3,"file":"connect.d.ts","sourceRoot":"","sources":["../../src/server/connect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,aAAa,EACb,aAAa,EACb,iBAAiB,EAClB,MAAM,kBAAkB,CAAC;AAK1B;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,OAAO,CAC3B,MAAM,EAAE,aAAa,GACpB,OAAO,CAAC,iBAAiB,CAAC,CAgB5B;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,OAAO,CAC3B,MAAM,EAAE,aAAa,GACpB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CA8BlC"}
1
+ {"version":3,"file":"connect.d.ts","sourceRoot":"","sources":["../../src/server/connect.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,aAAa,EACb,aAAa,EACb,iBAAiB,EAClB,MAAM,kBAAkB,CAAC;AAK1B;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,OAAO,CAC3B,MAAM,EAAE,aAAa,GACpB,OAAO,CAAC,iBAAiB,CAAC,CAiC5B;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,OAAO,CAC3B,MAAM,EAAE,aAAa,GACpB,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CA8BlC"}
@@ -3,13 +3,13 @@ import { createRequestSigner } from "./request-signer.js";
3
3
  import { createSessionRelay } from "./session-relay.js";
4
4
  import { createDataClient } from "./data-client.js";
5
5
  /**
6
- * Creates a session on the Session Relay and returns the session ID and deep link URL.
6
+ * Creates a session on the Session Relay and returns the session ID, connect URL, and deep link URL.
7
7
  *
8
- * This is the entry point for the Vana Connect flow. The returned `deepLinkUrl`
9
- * should be presented to the user to open the Vana Desktop App.
8
+ * This is the entry point for the Vana Connect flow. The returned `connectUrl`
9
+ * should be presented to the user to sign in on account.vana.org and launch Data Connect.
10
10
  *
11
11
  * @param config - Connection configuration including private key and scopes.
12
- * @returns Session ID, deep link URL, and expiration timestamp.
12
+ * @returns Session ID, connect URL, and expiration timestamp.
13
13
  * @throws {@link ConnectError} with code `SESSION_INIT_FAILED` if the relay rejects the request.
14
14
  *
15
15
  * @example
@@ -18,11 +18,11 @@ import { createDataClient } from "./data-client.js";
18
18
  * privateKey: process.env.VANA_PRIVATE_KEY as `0x${string}`,
19
19
  * scopes: ["chatgpt.conversations"],
20
20
  * });
21
- * // session.sessionId, session.deepLinkUrl, session.expiresAt
21
+ * // session.sessionId, session.connectUrl, session.expiresAt
22
22
  * ```
23
23
  */
24
24
  export async function connect(config) {
25
- const { sessionRelayUrl } = getEnvConfig(config.environment);
25
+ const { sessionRelayUrl, accountUrl } = getEnvConfig(config.environment);
26
26
  const signer = createRequestSigner({ privateKey: config.privateKey });
27
27
  const granteeAddress = signer.address;
28
28
  const relay = createSessionRelay({
@@ -30,11 +30,28 @@ export async function connect(config) {
30
30
  granteeAddress,
31
31
  sessionRelayUrl,
32
32
  });
33
- return relay.initSession({
33
+ const relayResult = await relay.initSession({
34
34
  scopes: config.scopes,
35
35
  webhookUrl: config.webhookUrl,
36
36
  appUserId: config.appUserId,
37
37
  });
38
+ // Build the account.vana.org connect URL from the relay response
39
+ const connectUrl = new URL("/connect", accountUrl);
40
+ connectUrl.searchParams.set("sessionId", relayResult.sessionId);
41
+ try {
42
+ const deepLinkParams = new URL(relayResult.deepLinkUrl);
43
+ const secret = deepLinkParams.searchParams.get("secret");
44
+ if (secret)
45
+ connectUrl.searchParams.set("secret", secret);
46
+ }
47
+ catch {
48
+ // deepLinkUrl may not be a valid URL; proceed without secret
49
+ }
50
+ return {
51
+ sessionId: relayResult.sessionId,
52
+ connectUrl: connectUrl.toString(),
53
+ expiresAt: relayResult.expiresAt,
54
+ };
38
55
  }
39
56
  /**
40
57
  * Fetches user data from their Personal Server using a signed grant.
@@ -1 +1 @@
1
- {"version":3,"file":"connect.js","sourceRoot":"","sources":["../../src/server/connect.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAMpD,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AAEpD;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,MAAqB;IAErB,MAAM,EAAE,eAAe,EAAE,GAAG,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IAC7D,MAAM,MAAM,GAAG,mBAAmB,CAAC,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;IACtE,MAAM,cAAc,GAAG,MAAM,CAAC,OAAO,CAAC;IAEtC,MAAM,KAAK,GAAG,kBAAkB,CAAC;QAC/B,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,cAAc;QACd,eAAe;KAChB,CAAC,CAAC;IAEH,OAAO,KAAK,CAAC,WAAW,CAAC;QACvB,MAAM,EAAE,MAAM,CAAC,MAAM;QACrB,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,SAAS,EAAE,MAAM,CAAC,SAAS;KAC5B,CAAC,CAAC;AACL,CAAC;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,KAAK,UAAU,OAAO,CAC3B,MAAqB;IAErB,MAAM,EAAE,UAAU,EAAE,GAAG,YAAY,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC;IACxD,MAAM,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC;IAEzB,MAAM,UAAU,GAAG,gBAAgB,CAAC;QAClC,UAAU,EAAE,MAAM,CAAC,UAAU;QAC7B,UAAU;KACX,CAAC,CAAC;IAEH,MAAM,SAAS,GAAG,MAAM,UAAU,CAAC,gBAAgB,CACjD,KAAK,CAAC,aAAa,IAAI,KAAK,CAAC,WAAW,CACzC,CAAC;IAEF,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,CAC/B,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;QAC/B,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,SAAS,CAAC;YACxC,SAAS;YACT,KAAK;YACL,OAAO,EAAE,KAAK,CAAC,OAAO;SACvB,CAAC,CAAC;QACH,OAAO,CAAC,KAAK,EAAE,MAAM,CAAU,CAAC;IAClC,CAAC,CAAC,CACH,CAAC;IAEF,MAAM,IAAI,GAA4B,EAAE,CAAC;IACzC,KAAK,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,OAAO,EAAE,CAAC;QACtC,IAAI,CAAC,KAAK,CAAC,GAAG,MAAM,CAAC;IACvB,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
1
+ {"version":3,"file":"connect.js","sourceRoot":"","sources":["../../src/server/connect.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,5 @@
1
1
  export { createRequestSigner, type RequestSigner } from "./request-signer.js";
2
- export { createSessionRelay, type SessionRelay } from "./session-relay.js";
2
+ export { createSessionRelay, type SessionRelay, type RelaySessionInitResult, } from "./session-relay.js";
3
3
  export { createDataClient, type DataClient } from "./data-client.js";
4
4
  export { connect, getData } from "./connect.js";
5
5
  export { signVanaManifest } from "./manifest-signer.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC9E,OAAO,EAAE,kBAAkB,EAAE,KAAK,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAC9E,OAAO,EACL,kBAAkB,EAClB,KAAK,YAAY,EACjB,KAAK,sBAAsB,GAC5B,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,gBAAgB,EAAE,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAE,KAAK,UAAU,EAAE,MAAM,aAAa,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC"}
@@ -1,5 +1,5 @@
1
1
  export { createRequestSigner } from "./request-signer.js";
2
- export { createSessionRelay } from "./session-relay.js";
2
+ export { createSessionRelay, } from "./session-relay.js";
3
3
  export { createDataClient } from "./data-client.js";
4
4
  export { connect, getData } from "./connect.js";
5
5
  export { signVanaManifest } from "./manifest-signer.js";
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAsB,MAAM,qBAAqB,CAAC;AAC9E,OAAO,EAAE,kBAAkB,EAAqB,MAAM,oBAAoB,CAAC;AAC3E,OAAO,EAAE,gBAAgB,EAAmB,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAmB,MAAM,aAAa,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAsB,MAAM,qBAAqB,CAAC;AAC9E,OAAO,EACL,kBAAkB,GAGnB,MAAM,oBAAoB,CAAC;AAC5B,OAAO,EAAE,gBAAgB,EAAmB,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,sBAAsB,CAAC;AACxD,OAAO,EAAE,gBAAgB,EAAmB,MAAM,aAAa,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC"}
@@ -1,12 +1,18 @@
1
- import type { SessionRelayConfig, SessionInitParams, SessionInitResult, SessionPollResult } from "../core/types.js";
1
+ import type { SessionRelayConfig, SessionInitParams, SessionPollResult } from "../core/types.js";
2
+ /** Raw response from the Session Relay init endpoint. */
3
+ export interface RelaySessionInitResult {
4
+ sessionId: string;
5
+ deepLinkUrl: string;
6
+ expiresAt: string;
7
+ }
2
8
  /**
3
9
  * Low-level client for the Session Relay service.
4
10
  *
5
11
  * @see {@link createSessionRelay} to create an instance.
6
12
  */
7
13
  export interface SessionRelay {
8
- /** Creates a new session and returns the session ID and deep link URL. */
9
- initSession(params: SessionInitParams): Promise<SessionInitResult>;
14
+ /** Creates a new session and returns the raw relay response (sessionId, deepLinkUrl, expiresAt). */
15
+ initSession(params: SessionInitParams): Promise<RelaySessionInitResult>;
10
16
  /** Polls the session status once. */
11
17
  pollSession(sessionId: string): Promise<SessionPollResult>;
12
18
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"session-relay.d.ts","sourceRoot":"","sources":["../../src/server/session-relay.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,kBAAkB,CAAC;AAG1B;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC3B,0EAA0E;IAC1E,WAAW,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IACnE,qCAAqC;IACrC,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC3D;;;;;;OAMG;IACH,iBAAiB,CACf,SAAS,EAAE,MAAM,EACjB,IAAI,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAC7C,OAAO,CAAC,iBAAiB,CAAC,CAAC;CAC/B;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,kBAAkB,GAAG,YAAY,CA4F3E"}
1
+ {"version":3,"file":"session-relay.d.ts","sourceRoot":"","sources":["../../src/server/session-relay.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,kBAAkB,EAClB,iBAAiB,EACjB,iBAAiB,EAClB,MAAM,kBAAkB,CAAC;AAG1B,yDAAyD;AACzD,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC3B,oGAAoG;IACpG,WAAW,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAC;IACxE,qCAAqC;IACrC,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC;IAC3D;;;;;;OAMG;IACH,iBAAiB,CACf,SAAS,EAAE,MAAM,EACjB,IAAI,CAAC,EAAE;QAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAA;KAAE,GAC7C,OAAO,CAAC,iBAAiB,CAAC,CAAC;CAC/B;AAED;;;;;;;GAOG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,kBAAkB,GAAG,YAAY,CA8F3E"}
@@ -1 +1 @@
1
- {"version":3,"file":"session-relay.js","sourceRoot":"","sources":["../../src/server/session-relay.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session-relay.js","sourceRoot":"","sources":["../../src/server/session-relay.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@opendatalabs/connect",
3
- "version": "0.6.0",
3
+ "version": "0.7.0",
4
4
  "description": "SDK for integrating Vana Data Portability 'Connect data' flows",
5
5
  "license": "MIT",
6
6
  "repository": {
@@ -40,6 +40,7 @@
40
40
  "scripts": {
41
41
  "build": "tsc --build",
42
42
  "clean": "tsc --build --clean",
43
+ "skills:sync": "node scripts/sync-skills.js",
43
44
  "test": "vitest run",
44
45
  "test:watch": "vitest",
45
46
  "test:e2e": "vitest run --config test/e2e/vitest.config.ts",