@opendatalabs/connect 0.7.0 → 0.8.1-canary.0014dd6

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 +204 -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 +1353 -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,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-success.gif`](https://github.com/vana-com/vana-connect/releases/download/canary-feat-connect-cli-v1/connect-success.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.
@@ -72,6 +97,185 @@ Then, in your dev version of DataConnect (likely built from the `main` branch) y
72
97
 
73
98
  If you prefer to integrate the SDK into an existing project, follow the steps below.
74
99
 
100
+ ## Headless CLI
101
+
102
+ `vana-connect` now also ships a local collection CLI for connector setup and data export flows.
103
+
104
+ ### Install
105
+
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:
109
+
110
+ ```bash
111
+ brew tap vana-com/vana
112
+ brew install vana
113
+ ```
114
+
115
+ macOS and Linux:
116
+
117
+ ```bash
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
166
+ ```
167
+
168
+ ### Commands
169
+
170
+ ```bash
171
+ vana connect
172
+ vana sources
173
+ vana connect github
174
+ vana connect github --json --no-input
175
+ vana status
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-success.gif`](https://github.com/vana-com/vana-connect/releases/download/canary-feat-connect-cli-v1/connect-success.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 successful connect demo](https://github.com/vana-com/vana-connect/releases/download/canary-feat-connect-cli-v1/connect-success.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 github`](./docs/transcripts/connect-github-success.txt)
213
+ - [`connect steam --no-input`](./docs/transcripts/connect-steam-no-input.txt)
214
+
215
+ To seed the fixture home used by the first tapes:
216
+
217
+ ```bash
218
+ pnpm demo:vhs:fixtures
219
+ ```
220
+
221
+ To render the checked-in tapes once `vhs` or Docker is available:
222
+
223
+ ```bash
224
+ pnpm demo:vhs
225
+ ```
226
+
227
+ To capture deterministic human-mode transcripts for review:
228
+
229
+ ```bash
230
+ pnpm demo:transcripts
231
+ ```
232
+
233
+ To watch the branch release lane, trigger Homebrew sync, and verify the
234
+ published installer automatically:
235
+
236
+ ```bash
237
+ pnpm release:watch
238
+ ```
239
+
240
+ ### Local development
241
+
242
+ From this repo:
243
+
244
+ ```bash
245
+ pnpm install
246
+ pnpm build
247
+ node dist/cli/bin.js status
248
+ ```
249
+
250
+ The CLI installs its local browser runtime under `~/.dataconnect/`.
251
+ That runtime is bundled from `vana-connect` itself, so `vana setup` does not require a separate `data-connect` checkout.
252
+
253
+ To build a standalone launcher plus app payload locally:
254
+
255
+ ```bash
256
+ pnpm build
257
+ pnpm build:sea
258
+ ./artifacts/sea/vana-linux-x64/vana status --json
259
+ ```
260
+
261
+ `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/`.
262
+ It produces a platform-specific release directory plus a release archive and matching checksum file under `artifacts/sea/`.
263
+
264
+ ### Programmatic runtime access
265
+
266
+ 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.
267
+
268
+ ```ts
269
+ import { ManagedPlaywrightRuntime } from "@opendatalabs/connect/runtime";
270
+ import { listAvailableSources } from "@opendatalabs/connect/connectors";
271
+ ```
272
+
273
+ Intended split:
274
+
275
+ - app surfaces consume SDK/runtime APIs
276
+ - agent skills consume the CLI
277
+ - `data-connectors` remains the connector and schema source of truth
278
+
75
279
  ### Installation
76
280
 
77
281
  ```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"}