@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
@@ -0,0 +1,550 @@
1
+ import fs from "node:fs";
2
+ import fsp from "node:fs/promises";
3
+ import os from "node:os";
4
+ import path from "node:path";
5
+ import { ensureParentDir, getLastResultPath } from "../../core/index.js";
6
+ import { getDefaultUserDataDir, importChromeCookies, isSystemChrome, launchPersistentContext, resolveBrowserPath, } from "./browser.js";
7
+ class NeedsInputError extends Error {
8
+ constructor() {
9
+ super("Connector requires additional input.");
10
+ }
11
+ }
12
+ class LegacyAuthError extends Error {
13
+ constructor(method) {
14
+ super(`${method} is not supported by the in-process runtime.`);
15
+ }
16
+ }
17
+ function setupNetworkCapture(page, networkCaptures, capturedResponses, writeLog) {
18
+ page.on("response", async (response) => {
19
+ const url = response.url();
20
+ for (const [key, config] of networkCaptures.entries()) {
21
+ if (config.urlPattern && !url.includes(config.urlPattern)) {
22
+ continue;
23
+ }
24
+ try {
25
+ const request = response.request();
26
+ const postData = request.postData() || "";
27
+ if (config.bodyPattern) {
28
+ const patterns = config.bodyPattern.split("|");
29
+ if (!patterns.some((pattern) => postData.includes(pattern))) {
30
+ continue;
31
+ }
32
+ }
33
+ const body = await response.json().catch(() => null);
34
+ if (body) {
35
+ capturedResponses.set(key, {
36
+ url,
37
+ data: body,
38
+ timestamp: Date.now(),
39
+ });
40
+ writeLog(`[network] captured ${key} from ${url}`);
41
+ }
42
+ }
43
+ catch {
44
+ // Ignore non-JSON responses.
45
+ }
46
+ }
47
+ });
48
+ }
49
+ async function reopenContext(runState, networkCaptures, capturedResponses, headless, writeLog, pushEvent, source, logPath) {
50
+ if (runState.context && !runState.browserClosed) {
51
+ runState.browserClosedByConnector = true;
52
+ await runState.context.close().catch(() => { });
53
+ runState.context = null;
54
+ runState.page = null;
55
+ }
56
+ runState.browserClosed = false;
57
+ runState.browserClosedByConnector = false;
58
+ runState.headless = headless;
59
+ runState.context = await launchPersistentContext(runState.userDataDir, headless, runState.browserPath);
60
+ runState.page =
61
+ runState.context.pages()[0] || (await runState.context.newPage());
62
+ runState.context.browser()?.on("disconnected", () => {
63
+ runState.browserClosed = true;
64
+ runState.context = null;
65
+ runState.page = null;
66
+ if (!runState.connectorCompleted && !runState.browserClosedByConnector) {
67
+ pushEvent({
68
+ type: "runtime-error",
69
+ source,
70
+ message: "Browser session ended before the connector completed.",
71
+ logPath,
72
+ });
73
+ }
74
+ });
75
+ if (runState.page) {
76
+ setupNetworkCapture(runState.page, networkCaptures, capturedResponses, writeLog);
77
+ }
78
+ writeLog(`[browser] launched ${headless ? "headless" : "headed"} context at ${runState.userDataDir}`);
79
+ }
80
+ async function ensureHeadedBrowser(runState, source, logPath, pushEvent, writeLog, networkCaptures, capturedResponses, url) {
81
+ if (!runState.allowHeaded) {
82
+ writeLog("[browser] headed interaction requested but prompting is disabled");
83
+ throw new LegacyAuthError(url ? "showBrowser" : "promptUser");
84
+ }
85
+ if (process.platform === "linux" &&
86
+ !process.env.DISPLAY &&
87
+ !process.env.WAYLAND_DISPLAY) {
88
+ throw new Error("This source needs a manual browser step, but no local display server is available. Run this command in a desktop session or use xvfb-run.");
89
+ }
90
+ if (runState.headless || runState.browserClosed || !runState.context) {
91
+ pushEvent({
92
+ type: "headed-required",
93
+ source,
94
+ message: "This source needs a manual browser step. Opening a local browser session on this machine.",
95
+ logPath,
96
+ url,
97
+ });
98
+ await reopenContext(runState, networkCaptures, capturedResponses, false, writeLog, pushEvent, source, logPath);
99
+ }
100
+ if (url && runState.page) {
101
+ await runState.page.goto(url, { waitUntil: "domcontentloaded" });
102
+ }
103
+ return true;
104
+ }
105
+ export function startInProcessConnectorRun({ request, logPath, }) {
106
+ const runId = `${path.basename(request.connectorPath, path.extname(request.connectorPath))}-${Date.now()}`;
107
+ const pendingInputPath = path.join(os.homedir(), ".dataconnect", `pending-input-${runId}.json`);
108
+ const responseInputPath = path.join(os.homedir(), ".dataconnect", `input-response-${runId}.json`);
109
+ const logStream = fs.createWriteStream(logPath);
110
+ const queue = [];
111
+ let resolveQueue = null;
112
+ let settled = false;
113
+ let activeContext = null;
114
+ let activeRunState = null;
115
+ const flushQueue = () => {
116
+ resolveQueue?.();
117
+ resolveQueue = null;
118
+ };
119
+ const pushEvent = (event) => {
120
+ queue.push(event);
121
+ flushQueue();
122
+ };
123
+ const writeLog = (message) => {
124
+ logStream.write(`${message}\n`);
125
+ };
126
+ const runPromise = (async () => {
127
+ pushEvent({
128
+ type: "run-started",
129
+ source: request.source,
130
+ logPath,
131
+ });
132
+ const slug = path.basename(request.connectorPath, path.extname(request.connectorPath));
133
+ const runState = {
134
+ context: null,
135
+ page: null,
136
+ userDataDir: getDefaultUserDataDir(slug),
137
+ browserPath: null,
138
+ browserClosed: false,
139
+ browserClosedByConnector: false,
140
+ connectorCompleted: false,
141
+ headless: true,
142
+ allowHeaded: !request.noInput,
143
+ hasResult: false,
144
+ resultPath: null,
145
+ cookies: [],
146
+ };
147
+ activeRunState = runState;
148
+ if (request.signal) {
149
+ request.signal.addEventListener("abort", () => {
150
+ void runState.context?.close().catch(() => { });
151
+ });
152
+ }
153
+ try {
154
+ const connectorCode = await fsp.readFile(request.connectorPath, "utf8");
155
+ runState.browserPath = resolveBrowserPath();
156
+ writeLog(`[runtime] Using browser: ${runState.browserPath}`);
157
+ const markerFile = path.join(runState.userDataDir, ".cookies-imported");
158
+ if (isSystemChrome(runState.browserPath) && !fs.existsSync(markerFile)) {
159
+ writeLog("[runtime] Initializing browser profile before cookie import");
160
+ const tempContext = await launchPersistentContext(runState.userDataDir, true, runState.browserPath);
161
+ await tempContext.close();
162
+ importChromeCookies(runState.userDataDir, runState.browserPath);
163
+ }
164
+ await reopenContext(runState, new Map(), new Map(), true, writeLog, pushEvent, request.source, logPath);
165
+ activeContext = runState.context;
166
+ const pageApi = createPageApi({
167
+ request,
168
+ runState,
169
+ logPath,
170
+ pendingInputPath,
171
+ responseInputPath,
172
+ pushEvent,
173
+ writeLog,
174
+ });
175
+ await runState.page?.goto("about:blank", {
176
+ waitUntil: "domcontentloaded",
177
+ });
178
+ const connectorFunction = buildConnectorFunction(connectorCode);
179
+ const result = await connectorFunction.call(null, pageApi);
180
+ if (!runState.hasResult && result != null) {
181
+ const exportData = result &&
182
+ typeof result === "object" &&
183
+ "success" in result &&
184
+ "data" in result
185
+ ? result.data
186
+ : result;
187
+ const resultPath = getLastResultPath();
188
+ await ensureParentDir(resultPath);
189
+ await fsp.writeFile(resultPath, `${JSON.stringify(exportData, null, 2)}\n`, "utf8");
190
+ pushEvent({
191
+ type: "collection-complete",
192
+ source: request.source,
193
+ resultPath,
194
+ logPath,
195
+ });
196
+ runState.hasResult = true;
197
+ runState.resultPath = resultPath;
198
+ }
199
+ runState.connectorCompleted = true;
200
+ if (!runState.browserClosed && runState.context) {
201
+ await runState.context.close().catch(() => { });
202
+ }
203
+ }
204
+ catch (error) {
205
+ if (error instanceof NeedsInputError) {
206
+ return;
207
+ }
208
+ pushEvent(classifyRuntimeError(error, request.source, logPath));
209
+ }
210
+ finally {
211
+ settled = true;
212
+ activeContext = runState.context;
213
+ await activeContext?.close().catch(() => { });
214
+ logStream.end();
215
+ flushQueue();
216
+ }
217
+ })();
218
+ return {
219
+ source: request.source,
220
+ logPath,
221
+ async *events() {
222
+ while (!settled || queue.length > 0) {
223
+ if (queue.length === 0) {
224
+ await new Promise((resolve) => {
225
+ resolveQueue = resolve;
226
+ });
227
+ continue;
228
+ }
229
+ yield queue.shift();
230
+ }
231
+ await runPromise;
232
+ },
233
+ stop() {
234
+ void (activeRunState?.context ?? activeContext)?.close().catch(() => { });
235
+ if (!settled) {
236
+ pushEvent({
237
+ type: "runtime-error",
238
+ source: request.source,
239
+ message: "Connector run stopped.",
240
+ logPath,
241
+ });
242
+ }
243
+ },
244
+ };
245
+ }
246
+ function buildConnectorFunction(connectorCode) {
247
+ let modifiedCode = connectorCode;
248
+ const iifePattern = /\n\(async\s*\(\)\s*=>\s*\{/g;
249
+ const matches = [...modifiedCode.matchAll(iifePattern)];
250
+ if (matches.length > 0) {
251
+ const lastMatch = matches[matches.length - 1];
252
+ modifiedCode =
253
+ modifiedCode.slice(0, lastMatch.index) +
254
+ "\nreturn (async () => {" +
255
+ modifiedCode.slice(lastMatch.index + lastMatch[0].length);
256
+ }
257
+ const AsyncFunction = Object.getPrototypeOf(async function () { })
258
+ .constructor;
259
+ return new AsyncFunction("page", modifiedCode);
260
+ }
261
+ function createPageApi({ request, runState, logPath, pendingInputPath, responseInputPath, pushEvent, writeLog, }) {
262
+ const networkCaptures = new Map();
263
+ const capturedResponses = new Map();
264
+ function requirePage() {
265
+ if (runState.browserClosed || !runState.page) {
266
+ throw new Error("Browser is closed. Use page.httpFetch() for HTTP requests.");
267
+ }
268
+ return runState.page;
269
+ }
270
+ if (runState.page) {
271
+ setupNetworkCapture(runState.page, networkCaptures, capturedResponses, writeLog);
272
+ }
273
+ return {
274
+ goto: async (url, options = {}) => {
275
+ const page = requirePage();
276
+ const gotoOptions = {
277
+ waitUntil: options.waitUntil ?? "domcontentloaded",
278
+ };
279
+ if (options.timeout != null) {
280
+ gotoOptions.timeout = options.timeout;
281
+ }
282
+ writeLog(`[page] goto ${url}`);
283
+ await page.goto(url, gotoOptions);
284
+ },
285
+ evaluate: async (script) => {
286
+ return requirePage().evaluate(script);
287
+ },
288
+ screenshot: async () => {
289
+ const buffer = await requirePage().screenshot({
290
+ type: "jpeg",
291
+ quality: 70,
292
+ timeout: 5000,
293
+ });
294
+ return buffer.toString("base64");
295
+ },
296
+ requestInput: async (payload) => {
297
+ const fields = Object.keys(payload.schema?.properties ?? {});
298
+ const inputRequest = {
299
+ message: payload.message ?? "Additional input is required.",
300
+ schema: payload.schema,
301
+ fields,
302
+ responseInputPath,
303
+ };
304
+ if (request.noInput || !request.onNeedInput) {
305
+ await writePendingInput({
306
+ pendingInputPath,
307
+ responseInputPath,
308
+ message: inputRequest.message ?? "Additional input is required.",
309
+ schema: inputRequest.schema,
310
+ });
311
+ pushEvent({
312
+ type: "needs-input",
313
+ source: request.source,
314
+ message: inputRequest.message ?? "Additional input is required.",
315
+ fields: inputRequest.fields,
316
+ schema: inputRequest.schema,
317
+ responseInputPath,
318
+ logPath,
319
+ });
320
+ throw new NeedsInputError();
321
+ }
322
+ const input = await request.onNeedInput(inputRequest);
323
+ await ensureParentDir(responseInputPath);
324
+ await fsp.writeFile(responseInputPath, `${JSON.stringify(input)}\n`, "utf8");
325
+ await fsp.rm(pendingInputPath, { force: true });
326
+ return input;
327
+ },
328
+ sleep: (ms) => new Promise((resolve) => setTimeout(resolve, ms)),
329
+ setData: async (key, value) => {
330
+ if (key === "status" && typeof value === "string") {
331
+ pushEvent({
332
+ type: "status-update",
333
+ source: request.source,
334
+ logPath,
335
+ message: value,
336
+ });
337
+ }
338
+ if (key === "result") {
339
+ if (!runState.hasResult) {
340
+ const resultPath = getLastResultPath();
341
+ await ensureParentDir(resultPath);
342
+ await fsp.writeFile(resultPath, `${JSON.stringify(value, null, 2)}\n`, "utf8");
343
+ runState.hasResult = true;
344
+ runState.resultPath = resultPath;
345
+ pushEvent({
346
+ type: "collection-complete",
347
+ source: request.source,
348
+ resultPath,
349
+ logPath,
350
+ });
351
+ }
352
+ }
353
+ writeLog(`[data] ${key}=${typeof value === "string" ? value : JSON.stringify(value)}`);
354
+ },
355
+ setProgress: async ({ phase, message, count, }) => {
356
+ pushEvent({
357
+ type: "progress-update",
358
+ source: request.source,
359
+ logPath,
360
+ phase,
361
+ message,
362
+ count,
363
+ });
364
+ writeLog(`[progress] ${JSON.stringify({
365
+ phase,
366
+ message,
367
+ count,
368
+ })}`);
369
+ },
370
+ promptUser: async (message, checkFn, interval = 2000) => {
371
+ writeLog(`[prompt] ${message}`);
372
+ if (request.noInput) {
373
+ throw new LegacyAuthError("promptUser");
374
+ }
375
+ await ensureHeadedBrowser(runState, request.source, logPath, pushEvent, writeLog, networkCaptures, capturedResponses, runState.page?.url());
376
+ pushEvent({
377
+ type: "headed-required",
378
+ source: request.source,
379
+ message,
380
+ logPath,
381
+ url: runState.page?.url(),
382
+ });
383
+ while (true) {
384
+ await new Promise((resolve) => setTimeout(resolve, interval));
385
+ if (request.signal?.aborted ||
386
+ runState.browserClosed ||
387
+ !runState.page) {
388
+ throw new Error("Browser session ended before manual interaction completed.");
389
+ }
390
+ try {
391
+ const result = await checkFn();
392
+ if (result) {
393
+ writeLog("[prompt] User action completed");
394
+ return;
395
+ }
396
+ }
397
+ catch {
398
+ // Keep waiting until the connector's condition passes.
399
+ }
400
+ }
401
+ },
402
+ captureNetwork: async (config) => {
403
+ networkCaptures.set(config.key, {
404
+ urlPattern: config.urlPattern || "",
405
+ bodyPattern: config.bodyPattern || "",
406
+ });
407
+ },
408
+ getCapturedResponse: async (key) => {
409
+ return capturedResponses.get(key) ?? null;
410
+ },
411
+ clearNetworkCaptures: async () => {
412
+ networkCaptures.clear();
413
+ capturedResponses.clear();
414
+ },
415
+ hasCapturedResponse: (key) => capturedResponses.has(key),
416
+ closeBrowser: async () => {
417
+ if (runState.browserClosed) {
418
+ return;
419
+ }
420
+ if (runState.context) {
421
+ try {
422
+ runState.cookies = await runState.context.cookies();
423
+ }
424
+ catch {
425
+ runState.cookies = [];
426
+ }
427
+ }
428
+ runState.browserClosed = true;
429
+ runState.browserClosedByConnector = true;
430
+ await runState.context?.close().catch(() => { });
431
+ runState.context = null;
432
+ runState.page = null;
433
+ writeLog("[browser] closed by connector");
434
+ },
435
+ showBrowser: async (url) => {
436
+ if (request.noInput) {
437
+ throw new LegacyAuthError("showBrowser");
438
+ }
439
+ await ensureHeadedBrowser(runState, request.source, logPath, pushEvent, writeLog, networkCaptures, capturedResponses, url);
440
+ return { headed: true };
441
+ },
442
+ goHeadless: async () => {
443
+ await reopenContext(runState, networkCaptures, capturedResponses, true, writeLog, pushEvent, request.source, logPath);
444
+ if (runState.page) {
445
+ await runState.page.goto("https://chatgpt.com/", {
446
+ waitUntil: "domcontentloaded",
447
+ });
448
+ }
449
+ },
450
+ httpFetch: async (url, options = {}) => {
451
+ const { timeout = 30000, ...fetchOptions } = options;
452
+ if (runState.cookies.length > 0) {
453
+ try {
454
+ const urlObject = new URL(url);
455
+ const relevantCookies = runState.cookies
456
+ .filter((cookie) => {
457
+ const cookieDomain = cookie.domain.startsWith(".")
458
+ ? cookie.domain.slice(1)
459
+ : cookie.domain;
460
+ return (urlObject.hostname === cookieDomain ||
461
+ urlObject.hostname.endsWith(`.${cookieDomain}`));
462
+ })
463
+ .map((cookie) => `${cookie.name}=${cookie.value}`)
464
+ .join("; ");
465
+ if (relevantCookies) {
466
+ fetchOptions.headers = {
467
+ ...(fetchOptions.headers || {}),
468
+ cookie: relevantCookies,
469
+ };
470
+ }
471
+ }
472
+ catch {
473
+ // Ignore cookie injection failures.
474
+ }
475
+ }
476
+ const controller = new AbortController();
477
+ const timeoutId = setTimeout(() => controller.abort(), timeout);
478
+ try {
479
+ const response = await fetch(url, {
480
+ ...fetchOptions,
481
+ signal: controller.signal,
482
+ });
483
+ clearTimeout(timeoutId);
484
+ const text = await response.text();
485
+ let json = null;
486
+ try {
487
+ json = JSON.parse(text);
488
+ }
489
+ catch {
490
+ json = null;
491
+ }
492
+ return {
493
+ ok: response.ok,
494
+ status: response.status,
495
+ headers: Object.fromEntries(response.headers.entries()),
496
+ text,
497
+ json,
498
+ error: null,
499
+ };
500
+ }
501
+ catch (error) {
502
+ clearTimeout(timeoutId);
503
+ return {
504
+ ok: false,
505
+ status: 0,
506
+ headers: {},
507
+ text: "",
508
+ json: null,
509
+ error: error instanceof Error ? error.message : String(error),
510
+ };
511
+ }
512
+ },
513
+ };
514
+ }
515
+ function classifyRuntimeError(error, source, logPath) {
516
+ const message = error instanceof Error ? error.message : String(error);
517
+ if (message.includes("showBrowser") || message.includes("promptUser")) {
518
+ return {
519
+ type: "legacy-auth",
520
+ source,
521
+ message: "This source needs a manual browser step, but prompting is disabled in --no-input mode.",
522
+ logPath,
523
+ };
524
+ }
525
+ if (message.includes("Missing X server or $DISPLAY") ||
526
+ message.includes("headed browser without having a XServer running")) {
527
+ return {
528
+ type: "runtime-error",
529
+ source,
530
+ message: "This source needs a manual browser step, but no local display server is available. Run this command in a desktop session or use xvfb-run.",
531
+ logPath,
532
+ };
533
+ }
534
+ return {
535
+ type: "runtime-error",
536
+ source,
537
+ message,
538
+ logPath,
539
+ };
540
+ }
541
+ async function writePendingInput({ pendingInputPath, responseInputPath, message, schema, }) {
542
+ await ensureParentDir(pendingInputPath);
543
+ await fsp.writeFile(pendingInputPath, `${JSON.stringify({
544
+ message,
545
+ schema: schema ?? {},
546
+ responseInputPath,
547
+ timestamp: new Date().toISOString(),
548
+ }, null, 2)}\n`, "utf8");
549
+ }
550
+ //# sourceMappingURL=in-process-run.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"in-process-run.js","sourceRoot":"","sources":["../../../src/runtime/playwright/in-process-run.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ export { startInProcessConnectorRun } from "./in-process-run.js";
2
+ export { getBrowserCacheDir, getDefaultUserDataDir, getDownloadedChromiumPath, getSystemChromePath, importChromeCookies, isSystemChrome, launchPersistentContext, resolveBrowserPath, } from "./browser.js";
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/runtime/playwright/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,yBAAyB,EACzB,mBAAmB,EACnB,mBAAmB,EACnB,cAAc,EACd,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,cAAc,CAAC"}
@@ -0,0 +1,3 @@
1
+ export { startInProcessConnectorRun } from "./in-process-run.js";
2
+ export { getBrowserCacheDir, getDefaultUserDataDir, getDownloadedChromiumPath, getSystemChromePath, importChromeCookies, isSystemChrome, launchPersistentContext, resolveBrowserPath, } from "./browser.js";
3
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/runtime/playwright/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAC;AACjE,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,yBAAyB,EACzB,mBAAmB,EACnB,mBAAmB,EACnB,cAAc,EACd,uBAAuB,EACvB,kBAAkB,GACnB,MAAM,cAAc,CAAC"}
@@ -0,0 +1,2 @@
1
+ export declare function findDataConnectorsDir(cwd?: string): string | null;
2
+ //# sourceMappingURL=repo-paths.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repo-paths.d.ts","sourceRoot":"","sources":["../../src/runtime/repo-paths.ts"],"names":[],"mappings":"AAGA,wBAAgB,qBAAqB,CAAC,GAAG,SAAgB,GAAG,MAAM,GAAG,IAAI,CAwCxE"}
@@ -0,0 +1,36 @@
1
+ import fs from "node:fs";
2
+ import path from "node:path";
3
+ export function findDataConnectorsDir(cwd = process.cwd()) {
4
+ const candidates = [];
5
+ const seen = new Set();
6
+ const pushCandidate = (value) => {
7
+ if (!value) {
8
+ return;
9
+ }
10
+ const resolved = path.resolve(value);
11
+ if (seen.has(resolved)) {
12
+ return;
13
+ }
14
+ seen.add(resolved);
15
+ candidates.push(resolved);
16
+ };
17
+ pushCandidate(process.env.VANA_DATA_CONNECTORS_DIR);
18
+ let currentDir = path.resolve(cwd);
19
+ while (true) {
20
+ pushCandidate(currentDir);
21
+ pushCandidate(path.join(currentDir, "data-connectors"));
22
+ const parentDir = path.dirname(currentDir);
23
+ if (parentDir === currentDir) {
24
+ break;
25
+ }
26
+ currentDir = parentDir;
27
+ }
28
+ for (const candidate of candidates) {
29
+ if (fs.existsSync(path.join(candidate, "registry.json")) &&
30
+ fs.existsSync(path.join(candidate, "skills", "vana-connect", "scripts"))) {
31
+ return candidate;
32
+ }
33
+ }
34
+ return null;
35
+ }
36
+ //# sourceMappingURL=repo-paths.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repo-paths.js","sourceRoot":"","sources":["../../src/runtime/repo-paths.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,IAAI,MAAM,WAAW,CAAC;AAE7B,MAAM,UAAU,qBAAqB,CAAC,GAAG,GAAG,OAAO,CAAC,GAAG,EAAE;IACvD,MAAM,UAAU,GAAa,EAAE,CAAC;IAChC,MAAM,IAAI,GAAG,IAAI,GAAG,EAAU,CAAC;IAE/B,MAAM,aAAa,GAAG,CAAC,KAAyB,EAAE,EAAE;QAClD,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,OAAO;QACT,CAAC;QACD,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACrC,IAAI,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;YACvB,OAAO;QACT,CAAC;QACD,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QACnB,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC5B,CAAC,CAAC;IAEF,aAAa,CAAC,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC,CAAC;IAEpD,IAAI,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACnC,OAAO,IAAI,EAAE,CAAC;QACZ,aAAa,CAAC,UAAU,CAAC,CAAC;QAC1B,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,iBAAiB,CAAC,CAAC,CAAC;QAExD,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAC3C,IAAI,SAAS,KAAK,UAAU,EAAE,CAAC;YAC7B,MAAM;QACR,CAAC;QACD,UAAU,GAAG,SAAS,CAAC;IACzB,CAAC;IAED,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE,CAAC;QACnC,IACE,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,eAAe,CAAC,CAAC;YACpD,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,QAAQ,EAAE,cAAc,EAAE,SAAS,CAAC,CAAC,EACxE,CAAC;YACD,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC"}
@@ -3,6 +3,7 @@ export interface VanaConfig {
3
3
  privateKey: `0x${string}`;
4
4
  scopes: string[];
5
5
  appUrl: string;
6
+ dataSource?: string;
6
7
  environment?: VanaEnvironment;
7
8
  }
8
9
  /**
@@ -31,6 +32,7 @@ export declare function createVanaConfig(config: {
31
32
  privateKey: `0x${string}`;
32
33
  scopes: string[];
33
34
  appUrl: string;
35
+ dataSource?: string;
34
36
  environment?: VanaEnvironment;
35
37
  }): VanaConfig;
36
38
  //# sourceMappingURL=config.d.ts.map