@opendatalabs/connect 0.8.1-canary.f421ec8 → 0.8.1-canary.f89b72a

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 (42) hide show
  1. package/README.md +193 -0
  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 +1604 -133
  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/core/cli-types.d.ts +328 -1
  31. package/dist/core/cli-types.d.ts.map +1 -1
  32. package/dist/core/cli-types.js +166 -1
  33. package/dist/core/cli-types.js.map +1 -1
  34. package/dist/core/state-store.d.ts +1 -0
  35. package/dist/core/state-store.d.ts.map +1 -1
  36. package/dist/core/state-store.js.map +1 -1
  37. package/dist/runtime/core/contracts.d.ts +15 -1
  38. package/dist/runtime/core/contracts.d.ts.map +1 -1
  39. package/dist/runtime/playwright/in-process-run.d.ts.map +1 -1
  40. package/dist/runtime/playwright/in-process-run.js +68 -11
  41. package/dist/runtime/playwright/in-process-run.js.map +1 -1
  42. package/package.json +9 -1
package/README.md CHANGED
@@ -2,6 +2,58 @@
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 --version
34
+ vana doctor
35
+ vana status
36
+ vana sources
37
+ vana connect github
38
+ vana data show github
39
+ ```
40
+
41
+ Current reviewable transcripts:
42
+
43
+ - [`status`](./docs/transcripts/status.txt)
44
+ - [`doctor`](./docs/transcripts/doctor.txt)
45
+ - [`setup`](./docs/transcripts/setup.txt)
46
+ - [`sources`](./docs/transcripts/sources.txt)
47
+ - [`data list`](./docs/transcripts/data-list.txt)
48
+ - [`data list (empty)`](./docs/transcripts/data-list-empty.txt)
49
+ - [`data show github`](./docs/transcripts/data-show-github.txt)
50
+ - [`data show github (missing)`](./docs/transcripts/data-show-github-missing.txt)
51
+ - [`data path github`](./docs/transcripts/data-path-github.txt)
52
+ - [`connect github`](./docs/transcripts/connect-github-success.txt)
53
+ - [`connect github --no-input`](./docs/transcripts/connect-github-no-input.txt)
54
+ - [`connect shop --no-input`](./docs/transcripts/connect-shop-no-input.txt)
55
+ - [`connect steam --no-input`](./docs/transcripts/connect-steam-no-input.txt)
56
+
5
57
  ## What problem this solves
6
58
 
7
59
  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.
@@ -143,10 +195,151 @@ npx -y @opendatalabs/connect status
143
195
  ### Commands
144
196
 
145
197
  ```bash
198
+ vana --version
199
+ vana version
200
+ vana doctor
201
+ vana connect
146
202
  vana sources
147
203
  vana connect github
204
+ vana connect github --json --no-input
148
205
  vana status
149
206
  vana setup
207
+ vana data list
208
+ vana data path github --json
209
+ vana data show github --json | jq '.summary.lines'
210
+ ```
211
+
212
+ - `vana connect` opens a guided source picker in human mode.
213
+ - `vana connect <source>` runs the end-to-end collection flow.
214
+ - `vana connect <source> --json --no-input` is the strict machine-safe path for agents and shell automation.
215
+ - `vana sources` groups sources into ready-now vs manual-step flows.
216
+ - `vana status` prioritizes sources that need attention before already-connected sources.
217
+ - `vana doctor` checks the local install, browser runtime, and state directories.
218
+ - `vana data ...` lets you inspect collected local datasets without opening the raw JSON file yourself.
219
+
220
+ ### Shell contract
221
+
222
+ - `--json` mode writes machine-readable output to stdout without human narration.
223
+ - Successful command completion returns exit code `0`.
224
+ - Actionable failures like missing source selection, unavailable connectors, or disabled prompting return exit code `1`.
225
+ - `vana --version`, `vana version`, and `vana --help` return exit code `0`.
226
+ - `vana doctor --json` includes `installMethod`, `channel`, and upgrade/uninstall commands so scripts can surface the right lifecycle guidance.
227
+
228
+ ### Shell examples
229
+
230
+ ```bash
231
+ vana status --json | jq '.channel, .installMethod, .summary'
232
+ vana sources --json | jq '.summary, .recommendedSource'
233
+ vana data list --json | jq '.summary, .datasets[] | {source, dataState, path}'
234
+ vana doctor --json | jq '.paths.executable, .paths.appRoot, .lifecycle'
235
+ ```
236
+
237
+ ### Upgrade, channels, and uninstall
238
+
239
+ Upgrade with the same channel you installed from:
240
+
241
+ You can always confirm the current install method and exact lifecycle commands with:
242
+
243
+ ```bash
244
+ vana doctor
245
+ ```
246
+
247
+ - Homebrew:
248
+ ```bash
249
+ brew update
250
+ brew upgrade vana
251
+ ```
252
+ - macOS/Linux installer:
253
+ ```bash
254
+ curl -fsSL https://raw.githubusercontent.com/vana-com/vana-connect/main/install/install.sh | sh
255
+ ```
256
+ - Windows PowerShell installer:
257
+ ```powershell
258
+ iwr https://raw.githubusercontent.com/vana-com/vana-connect/main/install/install.ps1 -useb | iex
259
+ ```
260
+
261
+ Current channels:
262
+
263
+ - `stable`: install from `main` or the eventual stable Homebrew tap state
264
+ - `canary`: install from the latest prerelease assets while this CLI is still rolling out
265
+
266
+ To remove the installed CLI:
267
+
268
+ - Homebrew:
269
+ ```bash
270
+ brew uninstall vana
271
+ ```
272
+ - macOS/Linux installer:
273
+ ```bash
274
+ rm -f ~/.local/bin/vana
275
+ rm -rf ~/.local/share/vana
276
+ ```
277
+ - Windows PowerShell installer:
278
+ - remove `%USERPROFILE%\AppData\Local\Microsoft\WinGet\Links\vana.cmd`
279
+ - remove `%USERPROFILE%\AppData\Local\Vana`
280
+
281
+ To remove local runtime and collected state as well:
282
+
283
+ ```bash
284
+ rm -rf ~/.dataconnect
285
+ ```
286
+
287
+ ### CLI demos
288
+
289
+ The branch also includes deterministic VHS demo scaffolding under
290
+ [`docs/vhs/`](./docs/vhs/README.md).
291
+
292
+ Branch prerelease preview media:
293
+
294
+ - [`status-and-sources.gif`](https://github.com/vana-com/vana-connect/releases/download/canary-feat-connect-cli-v1/status-and-sources.gif)
295
+ - [`data-inspection.gif`](https://github.com/vana-com/vana-connect/releases/download/canary-feat-connect-cli-v1/data-inspection.gif)
296
+ - [`connect-success.gif`](https://github.com/vana-com/vana-connect/releases/download/canary-feat-connect-cli-v1/connect-success.gif)
297
+
298
+ ![Vana status and sources demo](https://github.com/vana-com/vana-connect/releases/download/canary-feat-connect-cli-v1/status-and-sources.gif)
299
+
300
+ ![Vana data inspection demo](https://github.com/vana-com/vana-connect/releases/download/canary-feat-connect-cli-v1/data-inspection.gif)
301
+
302
+ ![Vana successful connect demo](https://github.com/vana-com/vana-connect/releases/download/canary-feat-connect-cli-v1/connect-success.gif)
303
+
304
+ Current reviewable transcripts:
305
+
306
+ - [`status`](./docs/transcripts/status.txt)
307
+ - [`doctor`](./docs/transcripts/doctor.txt)
308
+ - [`setup`](./docs/transcripts/setup.txt)
309
+ - [`sources`](./docs/transcripts/sources.txt)
310
+ - [`data list`](./docs/transcripts/data-list.txt)
311
+ - [`data list (empty)`](./docs/transcripts/data-list-empty.txt)
312
+ - [`data show github`](./docs/transcripts/data-show-github.txt)
313
+ - [`data show github (missing)`](./docs/transcripts/data-show-github-missing.txt)
314
+ - [`data path github`](./docs/transcripts/data-path-github.txt)
315
+ - [`connect github`](./docs/transcripts/connect-github-success.txt)
316
+ - [`connect github --no-input`](./docs/transcripts/connect-github-no-input.txt)
317
+ - [`connect shop --no-input`](./docs/transcripts/connect-shop-no-input.txt)
318
+ - [`connect steam --no-input`](./docs/transcripts/connect-steam-no-input.txt)
319
+
320
+ To seed the fixture home used by the first tapes:
321
+
322
+ ```bash
323
+ pnpm demo:vhs:fixtures
324
+ ```
325
+
326
+ To render the checked-in tapes once `vhs` or Docker is available:
327
+
328
+ ```bash
329
+ pnpm demo:vhs
330
+ ```
331
+
332
+ To capture deterministic human-mode transcripts for review:
333
+
334
+ ```bash
335
+ pnpm demo:transcripts
336
+ ```
337
+
338
+ To watch the branch release lane, trigger Homebrew sync, and verify the
339
+ published installer automatically:
340
+
341
+ ```bash
342
+ pnpm release:watch
150
343
  ```
151
344
 
152
345
  ### Local development
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":"AAmDA,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":"AA+FA,wBAAsB,MAAM,CAAC,IAAI,WAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CA8LjE"}