@opendatalabs/connect 0.8.1-canary.ac15bfe → 0.8.1-canary.af4e6e0

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.
Files changed (80) hide show
  1. package/README.md +182 -5
  2. package/dist/cli/bin.js +8 -0
  3. package/dist/cli/bin.js.map +1 -1
  4. package/dist/cli/index.d.ts.map +1 -1
  5. package/dist/cli/index.js +1165 -109
  6. package/dist/cli/index.js.map +1 -1
  7. package/dist/cli/main.d.ts.map +1 -1
  8. package/dist/cli/main.js +8 -0
  9. package/dist/cli/main.js.map +1 -1
  10. package/dist/cli/render/capabilities.d.ts +9 -0
  11. package/dist/cli/render/capabilities.d.ts.map +1 -0
  12. package/dist/cli/render/capabilities.js +24 -0
  13. package/dist/cli/render/capabilities.js.map +1 -0
  14. package/dist/cli/render/format.d.ts +21 -0
  15. package/dist/cli/render/format.d.ts.map +1 -0
  16. package/dist/cli/render/format.js +66 -0
  17. package/dist/cli/render/format.js.map +1 -0
  18. package/dist/cli/render/index.d.ts +5 -0
  19. package/dist/cli/render/index.d.ts.map +1 -0
  20. package/dist/cli/render/index.js +5 -0
  21. package/dist/cli/render/index.js.map +1 -0
  22. package/dist/cli/render/symbols.d.ts +11 -0
  23. package/dist/cli/render/symbols.d.ts.map +1 -0
  24. package/dist/cli/render/symbols.js +21 -0
  25. package/dist/cli/render/symbols.js.map +1 -0
  26. package/dist/cli/render/theme.d.ts +15 -0
  27. package/dist/cli/render/theme.d.ts.map +1 -0
  28. package/dist/cli/render/theme.js +41 -0
  29. package/dist/cli/render/theme.js.map +1 -0
  30. package/dist/connectors/registry.d.ts +1 -0
  31. package/dist/connectors/registry.d.ts.map +1 -1
  32. package/dist/connectors/registry.js +34 -2
  33. package/dist/connectors/registry.js.map +1 -1
  34. package/dist/core/cli-types.d.ts +15 -0
  35. package/dist/core/cli-types.d.ts.map +1 -1
  36. package/dist/core/cli-types.js +5 -0
  37. package/dist/core/cli-types.js.map +1 -1
  38. package/dist/core/index.d.ts +1 -1
  39. package/dist/core/index.d.ts.map +1 -1
  40. package/dist/core/index.js +1 -1
  41. package/dist/core/index.js.map +1 -1
  42. package/dist/core/paths.d.ts +0 -1
  43. package/dist/core/paths.d.ts.map +1 -1
  44. package/dist/core/paths.js +0 -3
  45. package/dist/core/paths.js.map +1 -1
  46. package/dist/core/state-store.d.ts +1 -0
  47. package/dist/core/state-store.d.ts.map +1 -1
  48. package/dist/core/state-store.js.map +1 -1
  49. package/dist/runtime/core/contracts.d.ts +83 -0
  50. package/dist/runtime/core/contracts.d.ts.map +1 -0
  51. package/dist/runtime/core/contracts.js +2 -0
  52. package/dist/runtime/core/contracts.js.map +1 -0
  53. package/dist/runtime/core/index.d.ts +2 -0
  54. package/dist/runtime/core/index.d.ts.map +1 -0
  55. package/dist/runtime/core/index.js +2 -0
  56. package/dist/runtime/core/index.js.map +1 -0
  57. package/dist/runtime/index.d.ts +1 -0
  58. package/dist/runtime/index.d.ts.map +1 -1
  59. package/dist/runtime/index.js.map +1 -1
  60. package/dist/runtime/managed-playwright.d.ts +2 -2
  61. package/dist/runtime/managed-playwright.d.ts.map +1 -1
  62. package/dist/runtime/managed-playwright.js +59 -209
  63. package/dist/runtime/managed-playwright.js.map +1 -1
  64. package/dist/runtime/playwright/browser.d.ts +11 -0
  65. package/dist/runtime/playwright/browser.d.ts.map +1 -0
  66. package/dist/runtime/playwright/browser.js +208 -0
  67. package/dist/runtime/playwright/browser.js.map +1 -0
  68. package/dist/runtime/playwright/in-process-run.d.ts +6 -0
  69. package/dist/runtime/playwright/in-process-run.d.ts.map +1 -0
  70. package/dist/runtime/playwright/in-process-run.js +576 -0
  71. package/dist/runtime/playwright/in-process-run.js.map +1 -0
  72. package/dist/runtime/playwright/index.d.ts +3 -0
  73. package/dist/runtime/playwright/index.d.ts.map +1 -0
  74. package/dist/runtime/playwright/index.js +3 -0
  75. package/dist/runtime/playwright/index.js.map +1 -0
  76. package/dist/runtime/repo-paths.d.ts.map +1 -1
  77. package/dist/runtime/repo-paths.js +24 -7
  78. package/dist/runtime/repo-paths.js.map +1 -1
  79. package/package.json +27 -9
  80. package/runtime-assets/run-connector.cjs +0 -275
package/README.md CHANGED
@@ -2,6 +2,54 @@
2
2
 
3
3
  Let your users bring their own data to your app.
4
4
 
5
+ ## CLI preview
6
+
7
+ This branch also carries the new `vana` collection CLI preview.
8
+
9
+ - install the current canary on macOS with Homebrew:
10
+
11
+ ```bash
12
+ brew tap vana-com/vana
13
+ brew install vana
14
+ vana status
15
+ ```
16
+
17
+ - or use the hosted prerelease installer on macOS/Linux:
18
+
19
+ ```bash
20
+ curl -fsSL https://raw.githubusercontent.com/vana-com/vana-connect/feat/connect-cli-v1/install/install.sh | sh -s -- --version canary-feat-connect-cli-v1
21
+ ```
22
+
23
+ - branch release page:
24
+ `https://github.com/vana-com/vana-connect/releases/tag/canary-feat-connect-cli-v1`
25
+ - demo media:
26
+ [`status-and-sources.gif`](https://github.com/vana-com/vana-connect/releases/download/canary-feat-connect-cli-v1/status-and-sources.gif),
27
+ [`data-inspection.gif`](https://github.com/vana-com/vana-connect/releases/download/canary-feat-connect-cli-v1/data-inspection.gif),
28
+ [`connect-success.gif`](https://github.com/vana-com/vana-connect/releases/download/canary-feat-connect-cli-v1/connect-success.gif)
29
+
30
+ Once installed, the best way to evaluate the CLI quickly is:
31
+
32
+ ```bash
33
+ vana status
34
+ vana sources
35
+ vana connect github
36
+ vana data show github
37
+ ```
38
+
39
+ Current reviewable transcripts:
40
+
41
+ - [`status`](./docs/transcripts/status.txt)
42
+ - [`setup`](./docs/transcripts/setup.txt)
43
+ - [`sources`](./docs/transcripts/sources.txt)
44
+ - [`data list`](./docs/transcripts/data-list.txt)
45
+ - [`data list (empty)`](./docs/transcripts/data-list-empty.txt)
46
+ - [`data show github`](./docs/transcripts/data-show-github.txt)
47
+ - [`data show github (missing)`](./docs/transcripts/data-show-github-missing.txt)
48
+ - [`data path github`](./docs/transcripts/data-path-github.txt)
49
+ - [`connect github`](./docs/transcripts/connect-github-success.txt)
50
+ - [`connect shop --no-input`](./docs/transcripts/connect-shop-no-input.txt)
51
+ - [`connect steam --no-input`](./docs/transcripts/connect-steam-no-input.txt)
52
+
5
53
  ## What problem this solves
6
54
 
7
55
  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.
@@ -78,26 +126,143 @@ If you prefer to integrate the SDK into an existing project, follow the steps be
78
126
 
79
127
  ### Install
80
128
 
81
- Use the published package directly:
129
+ If you are evaluating this branch before it lands on `main`, use the prerelease path in the next section. The stable install commands below are the intended post-merge install path.
130
+
131
+ macOS with Homebrew:
82
132
 
83
133
  ```bash
84
- pnpm dlx @opendatalabs/connect status
134
+ brew tap vana-com/vana
135
+ brew install vana
85
136
  ```
86
137
 
87
- Or install it globally:
138
+ macOS and Linux:
88
139
 
89
140
  ```bash
90
- pnpm add -g @opendatalabs/connect
91
- vana status
141
+ curl -fsSL https://raw.githubusercontent.com/vana-com/vana-connect/main/install/install.sh | sh
142
+ ```
143
+
144
+ Windows PowerShell:
145
+
146
+ ```powershell
147
+ iwr https://raw.githubusercontent.com/vana-com/vana-connect/main/install/install.ps1 -useb | iex
148
+ ```
149
+
150
+ Both installers fetch the latest GitHub release asset for your platform, verify its checksum, and install `vana` without requiring Node or npm.
151
+
152
+ ### Canary / prerelease testing
153
+
154
+ If you are testing an unreleased branch build, install from the branch installer and pass the prerelease tag explicitly.
155
+
156
+ macOS with Homebrew:
157
+
158
+ ```bash
159
+ brew tap vana-com/vana
160
+ brew install vana
161
+ ```
162
+
163
+ The current Homebrew tap is following the latest `vana-connect` canary while this CLI is still rolling out.
164
+
165
+ macOS and Linux:
166
+
167
+ ```bash
168
+ curl -fsSL https://raw.githubusercontent.com/vana-com/vana-connect/feat/connect-cli-v1/install/install.sh | sh -s -- --version canary-feat-connect-cli-v1
169
+ ```
170
+
171
+ Windows PowerShell:
172
+
173
+ ```powershell
174
+ & ([scriptblock]::Create((iwr https://raw.githubusercontent.com/vana-com/vana-connect/feat/connect-cli-v1/install/install.ps1 -useb).Content)) --version canary-feat-connect-cli-v1
175
+ ```
176
+
177
+ The current hosted prerelease is:
178
+
179
+ `canary-feat-connect-cli-v1`
180
+
181
+ Release page:
182
+
183
+ `https://github.com/vana-com/vana-connect/releases/tag/canary-feat-connect-cli-v1`
184
+
185
+ If you want the npm package path as a fallback:
186
+
187
+ ```bash
188
+ npx -y @opendatalabs/connect status
92
189
  ```
93
190
 
94
191
  ### Commands
95
192
 
96
193
  ```bash
194
+ vana connect
97
195
  vana sources
98
196
  vana connect github
197
+ vana connect github --json --no-input
99
198
  vana status
100
199
  vana setup
200
+ vana data list
201
+ vana data path github --json
202
+ vana data show github --json | jq '.summary.lines'
203
+ ```
204
+
205
+ - `vana connect` opens a guided source picker in human mode.
206
+ - `vana connect <source>` runs the end-to-end collection flow.
207
+ - `vana connect <source> --json --no-input` is the strict machine-safe path for agents and shell automation.
208
+ - `vana sources` groups sources into ready-now vs manual-step flows.
209
+ - `vana status` prioritizes sources that need attention before already-connected sources.
210
+ - `vana data ...` lets you inspect collected local datasets without opening the raw JSON file yourself.
211
+
212
+ ### CLI demos
213
+
214
+ The branch also includes deterministic VHS demo scaffolding under
215
+ [`docs/vhs/`](./docs/vhs/README.md).
216
+
217
+ Branch prerelease preview media:
218
+
219
+ - [`status-and-sources.gif`](https://github.com/vana-com/vana-connect/releases/download/canary-feat-connect-cli-v1/status-and-sources.gif)
220
+ - [`data-inspection.gif`](https://github.com/vana-com/vana-connect/releases/download/canary-feat-connect-cli-v1/data-inspection.gif)
221
+ - [`connect-success.gif`](https://github.com/vana-com/vana-connect/releases/download/canary-feat-connect-cli-v1/connect-success.gif)
222
+
223
+ ![Vana status and sources demo](https://github.com/vana-com/vana-connect/releases/download/canary-feat-connect-cli-v1/status-and-sources.gif)
224
+
225
+ ![Vana data inspection demo](https://github.com/vana-com/vana-connect/releases/download/canary-feat-connect-cli-v1/data-inspection.gif)
226
+
227
+ ![Vana successful connect demo](https://github.com/vana-com/vana-connect/releases/download/canary-feat-connect-cli-v1/connect-success.gif)
228
+
229
+ Current reviewable transcripts:
230
+
231
+ - [`status`](./docs/transcripts/status.txt)
232
+ - [`setup`](./docs/transcripts/setup.txt)
233
+ - [`sources`](./docs/transcripts/sources.txt)
234
+ - [`data list`](./docs/transcripts/data-list.txt)
235
+ - [`data list (empty)`](./docs/transcripts/data-list-empty.txt)
236
+ - [`data show github`](./docs/transcripts/data-show-github.txt)
237
+ - [`data show github (missing)`](./docs/transcripts/data-show-github-missing.txt)
238
+ - [`data path github`](./docs/transcripts/data-path-github.txt)
239
+ - [`connect github`](./docs/transcripts/connect-github-success.txt)
240
+ - [`connect shop --no-input`](./docs/transcripts/connect-shop-no-input.txt)
241
+ - [`connect steam --no-input`](./docs/transcripts/connect-steam-no-input.txt)
242
+
243
+ To seed the fixture home used by the first tapes:
244
+
245
+ ```bash
246
+ pnpm demo:vhs:fixtures
247
+ ```
248
+
249
+ To render the checked-in tapes once `vhs` or Docker is available:
250
+
251
+ ```bash
252
+ pnpm demo:vhs
253
+ ```
254
+
255
+ To capture deterministic human-mode transcripts for review:
256
+
257
+ ```bash
258
+ pnpm demo:transcripts
259
+ ```
260
+
261
+ To watch the branch release lane, trigger Homebrew sync, and verify the
262
+ published installer automatically:
263
+
264
+ ```bash
265
+ pnpm release:watch
101
266
  ```
102
267
 
103
268
  ### Local development
@@ -111,6 +276,18 @@ node dist/cli/bin.js status
111
276
  ```
112
277
 
113
278
  The CLI installs its local browser runtime under `~/.dataconnect/`.
279
+ That runtime is bundled from `vana-connect` itself, so `vana setup` does not require a separate `data-connect` checkout.
280
+
281
+ To build a standalone launcher plus app payload locally:
282
+
283
+ ```bash
284
+ pnpm build
285
+ pnpm build:sea
286
+ ./artifacts/sea/vana-linux-x64/vana status --json
287
+ ```
288
+
289
+ `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/`.
290
+ It produces a platform-specific release directory plus a release archive and matching checksum file under `artifacts/sea/`.
114
291
 
115
292
  ### Programmatic runtime access
116
293
 
package/dist/cli/bin.js CHANGED
@@ -1,5 +1,13 @@
1
1
  #!/usr/bin/env node
2
2
  import { runCli } from "./index.js";
3
+ for (const stream of [process.stdout, process.stderr]) {
4
+ stream.on("error", (error) => {
5
+ if (error.code === "EPIPE") {
6
+ process.exit(0);
7
+ }
8
+ throw error;
9
+ });
10
+ }
3
11
  const exitCode = await runCli(process.argv);
4
12
  if (typeof exitCode === "number") {
5
13
  process.exitCode = exitCode;
@@ -1 +1 @@
1
- {"version":3,"file":"bin.js","sourceRoot":"","sources":["../../src/cli/bin.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEpC,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAC5C,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;IACjC,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;AAC9B,CAAC"}
1
+ {"version":3,"file":"bin.js","sourceRoot":"","sources":["../../src/cli/bin.ts"],"names":[],"mappings":";AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEpC,KAAK,MAAM,MAAM,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;IACtD,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAA4B,EAAE,EAAE;QAClD,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;YAC3B,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAClB,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC,CAAC,CAAC;AACL,CAAC;AAED,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;AAC5C,IAAI,OAAO,QAAQ,KAAK,QAAQ,EAAE,CAAC;IACjC,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;AAC9B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAkDA,wBAAsB,MAAM,CAAC,IAAI,WAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CA2CjE"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/cli/index.ts"],"names":[],"mappings":"AAsFA,wBAAsB,MAAM,CAAC,IAAI,WAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAuEjE"}