@opendatalabs/connect 0.8.0 → 0.8.1-canary.0afda69

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 (107) hide show
  1. package/README.md +222 -0
  2. package/dist/cli/bin.d.ts +3 -0
  3. package/dist/cli/bin.d.ts.map +1 -0
  4. package/dist/cli/bin.js +15 -0
  5. package/dist/cli/bin.js.map +1 -0
  6. package/dist/cli/index.d.ts +2 -0
  7. package/dist/cli/index.d.ts.map +1 -0
  8. package/dist/cli/index.js +1369 -0
  9. package/dist/cli/index.js.map +1 -0
  10. package/dist/cli/main.d.ts +2 -0
  11. package/dist/cli/main.d.ts.map +1 -0
  12. package/dist/cli/main.js +10 -0
  13. package/dist/cli/main.js.map +1 -0
  14. package/dist/cli/render/capabilities.d.ts +9 -0
  15. package/dist/cli/render/capabilities.d.ts.map +1 -0
  16. package/dist/cli/render/capabilities.js +24 -0
  17. package/dist/cli/render/capabilities.js.map +1 -0
  18. package/dist/cli/render/format.d.ts +21 -0
  19. package/dist/cli/render/format.d.ts.map +1 -0
  20. package/dist/cli/render/format.js +61 -0
  21. package/dist/cli/render/format.js.map +1 -0
  22. package/dist/cli/render/index.d.ts +5 -0
  23. package/dist/cli/render/index.d.ts.map +1 -0
  24. package/dist/cli/render/index.js +5 -0
  25. package/dist/cli/render/index.js.map +1 -0
  26. package/dist/cli/render/symbols.d.ts +11 -0
  27. package/dist/cli/render/symbols.d.ts.map +1 -0
  28. package/dist/cli/render/symbols.js +21 -0
  29. package/dist/cli/render/symbols.js.map +1 -0
  30. package/dist/cli/render/theme.d.ts +15 -0
  31. package/dist/cli/render/theme.d.ts.map +1 -0
  32. package/dist/cli/render/theme.js +36 -0
  33. package/dist/cli/render/theme.js.map +1 -0
  34. package/dist/connectors/index.d.ts +2 -0
  35. package/dist/connectors/index.d.ts.map +1 -0
  36. package/dist/connectors/index.js +2 -0
  37. package/dist/connectors/index.js.map +1 -0
  38. package/dist/connectors/registry.d.ts +30 -0
  39. package/dist/connectors/registry.d.ts.map +1 -0
  40. package/dist/connectors/registry.js +166 -0
  41. package/dist/connectors/registry.js.map +1 -0
  42. package/dist/core/cli-types.d.ts +125 -0
  43. package/dist/core/cli-types.d.ts.map +1 -0
  44. package/dist/core/cli-types.js +66 -0
  45. package/dist/core/cli-types.js.map +1 -0
  46. package/dist/core/index.d.ts +3 -0
  47. package/dist/core/index.d.ts.map +1 -1
  48. package/dist/core/index.js +3 -0
  49. package/dist/core/index.js.map +1 -1
  50. package/dist/core/paths.d.ts +8 -0
  51. package/dist/core/paths.d.ts.map +1 -0
  52. package/dist/core/paths.js +25 -0
  53. package/dist/core/paths.js.map +1 -0
  54. package/dist/core/state-store.d.ts +17 -0
  55. package/dist/core/state-store.d.ts.map +1 -0
  56. package/dist/core/state-store.js +23 -0
  57. package/dist/core/state-store.js.map +1 -0
  58. package/dist/core/types.d.ts +4 -0
  59. package/dist/core/types.d.ts.map +1 -1
  60. package/dist/personal-server/index.d.ts +8 -0
  61. package/dist/personal-server/index.d.ts.map +1 -0
  62. package/dist/personal-server/index.js +76 -0
  63. package/dist/personal-server/index.js.map +1 -0
  64. package/dist/react/useVanaData.d.ts +1 -1
  65. package/dist/react/useVanaData.d.ts.map +1 -1
  66. package/dist/react/useVanaData.js +22 -9
  67. package/dist/react/useVanaData.js.map +1 -1
  68. package/dist/runtime/core/contracts.d.ts +83 -0
  69. package/dist/runtime/core/contracts.d.ts.map +1 -0
  70. package/dist/runtime/core/contracts.js +2 -0
  71. package/dist/runtime/core/contracts.js.map +1 -0
  72. package/dist/runtime/core/index.d.ts +2 -0
  73. package/dist/runtime/core/index.d.ts.map +1 -0
  74. package/dist/runtime/core/index.js +2 -0
  75. package/dist/runtime/core/index.js.map +1 -0
  76. package/dist/runtime/index.d.ts +4 -0
  77. package/dist/runtime/index.d.ts.map +1 -0
  78. package/dist/runtime/index.js +3 -0
  79. package/dist/runtime/index.js.map +1 -0
  80. package/dist/runtime/managed-playwright.d.ts +33 -0
  81. package/dist/runtime/managed-playwright.d.ts.map +1 -0
  82. package/dist/runtime/managed-playwright.js +113 -0
  83. package/dist/runtime/managed-playwright.js.map +1 -0
  84. package/dist/runtime/playwright/browser.d.ts +11 -0
  85. package/dist/runtime/playwright/browser.d.ts.map +1 -0
  86. package/dist/runtime/playwright/browser.js +208 -0
  87. package/dist/runtime/playwright/browser.js.map +1 -0
  88. package/dist/runtime/playwright/in-process-run.d.ts +6 -0
  89. package/dist/runtime/playwright/in-process-run.d.ts.map +1 -0
  90. package/dist/runtime/playwright/in-process-run.js +550 -0
  91. package/dist/runtime/playwright/in-process-run.js.map +1 -0
  92. package/dist/runtime/playwright/index.d.ts +3 -0
  93. package/dist/runtime/playwright/index.d.ts.map +1 -0
  94. package/dist/runtime/playwright/index.js +3 -0
  95. package/dist/runtime/playwright/index.js.map +1 -0
  96. package/dist/runtime/repo-paths.d.ts +2 -0
  97. package/dist/runtime/repo-paths.d.ts.map +1 -0
  98. package/dist/runtime/repo-paths.js +36 -0
  99. package/dist/runtime/repo-paths.js.map +1 -0
  100. package/dist/server/config.d.ts +2 -0
  101. package/dist/server/config.d.ts.map +1 -1
  102. package/dist/server/config.js +1 -0
  103. package/dist/server/config.js.map +1 -1
  104. package/dist/server/connect.d.ts.map +1 -1
  105. package/dist/server/connect.js +7 -0
  106. package/dist/server/connect.js.map +1 -1
  107. package/package.json +43 -4
package/README.md CHANGED
@@ -2,6 +2,49 @@
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
+ - [`sources`](./docs/transcripts/sources.txt)
43
+ - [`data list`](./docs/transcripts/data-list.txt)
44
+ - [`data show github`](./docs/transcripts/data-show-github.txt)
45
+ - [`connect github`](./docs/transcripts/connect-github-success.txt)
46
+ - [`connect steam --no-input`](./docs/transcripts/connect-steam-no-input.txt)
47
+
5
48
  ## What problem this solves
6
49
 
7
50
  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.
@@ -72,6 +115,185 @@ Then, in your dev version of DataConnect (likely built from the `main` branch) y
72
115
 
73
116
  If you prefer to integrate the SDK into an existing project, follow the steps below.
74
117
 
118
+ ## Headless CLI
119
+
120
+ `vana-connect` now also ships a local collection CLI for connector setup and data export flows.
121
+
122
+ ### Install
123
+
124
+ 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.
125
+
126
+ macOS with Homebrew:
127
+
128
+ ```bash
129
+ brew tap vana-com/vana
130
+ brew install vana
131
+ ```
132
+
133
+ macOS and Linux:
134
+
135
+ ```bash
136
+ curl -fsSL https://raw.githubusercontent.com/vana-com/vana-connect/main/install/install.sh | sh
137
+ ```
138
+
139
+ Windows PowerShell:
140
+
141
+ ```powershell
142
+ iwr https://raw.githubusercontent.com/vana-com/vana-connect/main/install/install.ps1 -useb | iex
143
+ ```
144
+
145
+ Both installers fetch the latest GitHub release asset for your platform, verify its checksum, and install `vana` without requiring Node or npm.
146
+
147
+ ### Canary / prerelease testing
148
+
149
+ If you are testing an unreleased branch build, install from the branch installer and pass the prerelease tag explicitly.
150
+
151
+ macOS with Homebrew:
152
+
153
+ ```bash
154
+ brew tap vana-com/vana
155
+ brew install vana
156
+ ```
157
+
158
+ The current Homebrew tap is following the latest `vana-connect` canary while this CLI is still rolling out.
159
+
160
+ macOS and Linux:
161
+
162
+ ```bash
163
+ 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
164
+ ```
165
+
166
+ Windows PowerShell:
167
+
168
+ ```powershell
169
+ & ([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
170
+ ```
171
+
172
+ The current hosted prerelease is:
173
+
174
+ `canary-feat-connect-cli-v1`
175
+
176
+ Release page:
177
+
178
+ `https://github.com/vana-com/vana-connect/releases/tag/canary-feat-connect-cli-v1`
179
+
180
+ If you want the npm package path as a fallback:
181
+
182
+ ```bash
183
+ npx -y @opendatalabs/connect status
184
+ ```
185
+
186
+ ### Commands
187
+
188
+ ```bash
189
+ vana connect
190
+ vana sources
191
+ vana connect github
192
+ vana connect github --json --no-input
193
+ vana status
194
+ vana setup
195
+ vana data list
196
+ vana data path github --json
197
+ vana data show github --json | jq '.summary.lines'
198
+ ```
199
+
200
+ - `vana connect` opens a guided source picker in human mode.
201
+ - `vana connect <source>` runs the end-to-end collection flow.
202
+ - `vana connect <source> --json --no-input` is the strict machine-safe path for agents and shell automation.
203
+ - `vana sources` groups sources into ready-now vs manual-step flows.
204
+ - `vana status` prioritizes sources that need attention before already-connected sources.
205
+ - `vana data ...` lets you inspect collected local datasets without opening the raw JSON file yourself.
206
+
207
+ ### CLI demos
208
+
209
+ The branch also includes deterministic VHS demo scaffolding under
210
+ [`docs/vhs/`](./docs/vhs/README.md).
211
+
212
+ Branch prerelease preview media:
213
+
214
+ - [`status-and-sources.gif`](https://github.com/vana-com/vana-connect/releases/download/canary-feat-connect-cli-v1/status-and-sources.gif)
215
+ - [`data-inspection.gif`](https://github.com/vana-com/vana-connect/releases/download/canary-feat-connect-cli-v1/data-inspection.gif)
216
+ - [`connect-success.gif`](https://github.com/vana-com/vana-connect/releases/download/canary-feat-connect-cli-v1/connect-success.gif)
217
+
218
+ ![Vana status and sources demo](https://github.com/vana-com/vana-connect/releases/download/canary-feat-connect-cli-v1/status-and-sources.gif)
219
+
220
+ ![Vana data inspection demo](https://github.com/vana-com/vana-connect/releases/download/canary-feat-connect-cli-v1/data-inspection.gif)
221
+
222
+ ![Vana successful connect demo](https://github.com/vana-com/vana-connect/releases/download/canary-feat-connect-cli-v1/connect-success.gif)
223
+
224
+ Current reviewable transcripts:
225
+
226
+ - [`status`](./docs/transcripts/status.txt)
227
+ - [`sources`](./docs/transcripts/sources.txt)
228
+ - [`data list`](./docs/transcripts/data-list.txt)
229
+ - [`data show github`](./docs/transcripts/data-show-github.txt)
230
+ - [`connect github`](./docs/transcripts/connect-github-success.txt)
231
+ - [`connect steam --no-input`](./docs/transcripts/connect-steam-no-input.txt)
232
+
233
+ To seed the fixture home used by the first tapes:
234
+
235
+ ```bash
236
+ pnpm demo:vhs:fixtures
237
+ ```
238
+
239
+ To render the checked-in tapes once `vhs` or Docker is available:
240
+
241
+ ```bash
242
+ pnpm demo:vhs
243
+ ```
244
+
245
+ To capture deterministic human-mode transcripts for review:
246
+
247
+ ```bash
248
+ pnpm demo:transcripts
249
+ ```
250
+
251
+ To watch the branch release lane, trigger Homebrew sync, and verify the
252
+ published installer automatically:
253
+
254
+ ```bash
255
+ pnpm release:watch
256
+ ```
257
+
258
+ ### Local development
259
+
260
+ From this repo:
261
+
262
+ ```bash
263
+ pnpm install
264
+ pnpm build
265
+ node dist/cli/bin.js status
266
+ ```
267
+
268
+ The CLI installs its local browser runtime under `~/.dataconnect/`.
269
+ That runtime is bundled from `vana-connect` itself, so `vana setup` does not require a separate `data-connect` checkout.
270
+
271
+ To build a standalone launcher plus app payload locally:
272
+
273
+ ```bash
274
+ pnpm build
275
+ pnpm build:sea
276
+ ./artifacts/sea/vana-linux-x64/vana status --json
277
+ ```
278
+
279
+ `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/`.
280
+ It produces a platform-specific release directory plus a release archive and matching checksum file under `artifacts/sea/`.
281
+
282
+ ### Programmatic runtime access
283
+
284
+ If you are building an app surface like DataConnect Desktop or a hosted orchestration layer, use the SDK modules instead of shelling out to the CLI where possible.
285
+
286
+ ```ts
287
+ import { ManagedPlaywrightRuntime } from "@opendatalabs/connect/runtime";
288
+ import { listAvailableSources } from "@opendatalabs/connect/connectors";
289
+ ```
290
+
291
+ Intended split:
292
+
293
+ - app surfaces consume SDK/runtime APIs
294
+ - agent skills consume the CLI
295
+ - `data-connectors` remains the connector and schema source of truth
296
+
75
297
  ### Installation
76
298
 
77
299
  ```bash
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=bin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bin.d.ts","sourceRoot":"","sources":["../../src/cli/bin.ts"],"names":[],"mappings":""}
@@ -0,0 +1,15 @@
1
+ #!/usr/bin/env node
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
+ }
11
+ const exitCode = await runCli(process.argv);
12
+ if (typeof exitCode === "number") {
13
+ process.exitCode = exitCode;
14
+ }
15
+ //# sourceMappingURL=bin.js.map
@@ -0,0 +1 @@
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"}
@@ -0,0 +1,2 @@
1
+ export declare function runCli(argv?: string[]): Promise<number>;
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
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"}