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

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 +153 -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 +793 -99
  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 +61 -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 +35 -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 +550 -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 +26 -9
  80. package/runtime-assets/run-connector.cjs +0 -275
package/README.md CHANGED
@@ -2,6 +2,31 @@
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-guided.gif`](https://github.com/vana-com/vana-connect/releases/download/canary-feat-connect-cli-v1/connect-guided.gif)
29
+
5
30
  ## What problem this solves
6
31
 
7
32
  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 +103,137 @@ If you prefer to integrate the SDK into an existing project, follow the steps be
78
103
 
79
104
  ### Install
80
105
 
81
- Use the published package directly:
106
+ 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.
107
+
108
+ macOS with Homebrew:
82
109
 
83
110
  ```bash
84
- pnpm dlx @opendatalabs/connect status
111
+ brew tap vana-com/vana
112
+ brew install vana
85
113
  ```
86
114
 
87
- Or install it globally:
115
+ macOS and Linux:
88
116
 
89
117
  ```bash
90
- pnpm add -g @opendatalabs/connect
91
- vana status
118
+ curl -fsSL https://raw.githubusercontent.com/vana-com/vana-connect/main/install/install.sh | sh
119
+ ```
120
+
121
+ Windows PowerShell:
122
+
123
+ ```powershell
124
+ iwr https://raw.githubusercontent.com/vana-com/vana-connect/main/install/install.ps1 -useb | iex
125
+ ```
126
+
127
+ Both installers fetch the latest GitHub release asset for your platform, verify its checksum, and install `vana` without requiring Node or npm.
128
+
129
+ ### Canary / prerelease testing
130
+
131
+ If you are testing an unreleased branch build, install from the branch installer and pass the prerelease tag explicitly.
132
+
133
+ macOS with Homebrew:
134
+
135
+ ```bash
136
+ brew tap vana-com/vana
137
+ brew install vana
138
+ ```
139
+
140
+ The current Homebrew tap is following the latest `vana-connect` canary while this CLI is still rolling out.
141
+
142
+ macOS and Linux:
143
+
144
+ ```bash
145
+ 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
146
+ ```
147
+
148
+ Windows PowerShell:
149
+
150
+ ```powershell
151
+ & ([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
152
+ ```
153
+
154
+ The current hosted prerelease is:
155
+
156
+ `canary-feat-connect-cli-v1`
157
+
158
+ Release page:
159
+
160
+ `https://github.com/vana-com/vana-connect/releases/tag/canary-feat-connect-cli-v1`
161
+
162
+ If you want the npm package path as a fallback:
163
+
164
+ ```bash
165
+ npx -y @opendatalabs/connect status
92
166
  ```
93
167
 
94
168
  ### Commands
95
169
 
96
170
  ```bash
171
+ vana connect
97
172
  vana sources
98
173
  vana connect github
174
+ vana connect github --json --no-input
99
175
  vana status
100
176
  vana setup
177
+ vana data list
178
+ vana data path github --json
179
+ vana data show github --json | jq '.summary.lines'
180
+ ```
181
+
182
+ - `vana connect` opens a guided source picker in human mode.
183
+ - `vana connect <source>` runs the end-to-end collection flow.
184
+ - `vana connect <source> --json --no-input` is the strict machine-safe path for agents and shell automation.
185
+ - `vana sources` groups sources into ready-now vs manual-step flows.
186
+ - `vana status` prioritizes sources that need attention before already-connected sources.
187
+ - `vana data ...` lets you inspect collected local datasets without opening the raw JSON file yourself.
188
+
189
+ ### CLI demos
190
+
191
+ The branch also includes deterministic VHS demo scaffolding under
192
+ [`docs/vhs/`](./docs/vhs/README.md).
193
+
194
+ Branch prerelease preview media:
195
+
196
+ - [`status-and-sources.gif`](https://github.com/vana-com/vana-connect/releases/download/canary-feat-connect-cli-v1/status-and-sources.gif)
197
+ - [`data-inspection.gif`](https://github.com/vana-com/vana-connect/releases/download/canary-feat-connect-cli-v1/data-inspection.gif)
198
+ - [`connect-guided.gif`](https://github.com/vana-com/vana-connect/releases/download/canary-feat-connect-cli-v1/connect-guided.gif)
199
+
200
+ ![Vana status and sources demo](https://github.com/vana-com/vana-connect/releases/download/canary-feat-connect-cli-v1/status-and-sources.gif)
201
+
202
+ ![Vana data inspection demo](https://github.com/vana-com/vana-connect/releases/download/canary-feat-connect-cli-v1/data-inspection.gif)
203
+
204
+ ![Vana guided connect demo](https://github.com/vana-com/vana-connect/releases/download/canary-feat-connect-cli-v1/connect-guided.gif)
205
+
206
+ Current reviewable transcripts:
207
+
208
+ - [`status`](./docs/transcripts/status.txt)
209
+ - [`sources`](./docs/transcripts/sources.txt)
210
+ - [`data list`](./docs/transcripts/data-list.txt)
211
+ - [`data show github`](./docs/transcripts/data-show-github.txt)
212
+ - [`connect steam --no-input`](./docs/transcripts/connect-steam-no-input.txt)
213
+
214
+ To seed the fixture home used by the first tapes:
215
+
216
+ ```bash
217
+ pnpm demo:vhs:fixtures
218
+ ```
219
+
220
+ To render the checked-in tapes once `vhs` or Docker is available:
221
+
222
+ ```bash
223
+ pnpm demo:vhs
224
+ ```
225
+
226
+ To capture deterministic human-mode transcripts for review:
227
+
228
+ ```bash
229
+ pnpm demo:transcripts
230
+ ```
231
+
232
+ To watch the branch release lane, trigger Homebrew sync, and verify the
233
+ published installer automatically:
234
+
235
+ ```bash
236
+ pnpm release:watch
101
237
  ```
102
238
 
103
239
  ### Local development
@@ -111,6 +247,18 @@ node dist/cli/bin.js status
111
247
  ```
112
248
 
113
249
  The CLI installs its local browser runtime under `~/.dataconnect/`.
250
+ That runtime is bundled from `vana-connect` itself, so `vana setup` does not require a separate `data-connect` checkout.
251
+
252
+ To build a standalone launcher plus app payload locally:
253
+
254
+ ```bash
255
+ pnpm build
256
+ pnpm build:sea
257
+ ./artifacts/sea/vana-linux-x64/vana status --json
258
+ ```
259
+
260
+ `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/`.
261
+ It produces a platform-specific release directory plus a release archive and matching checksum file under `artifacts/sea/`.
114
262
 
115
263
  ### Programmatic runtime access
116
264
 
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":"AA0EA,wBAAsB,MAAM,CAAC,IAAI,WAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAuEjE"}