@opendatalabs/connect 0.8.0 → 0.8.1-canary.00d0b27
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.
- package/README.md +78 -0
- package/dist/cli/bin.d.ts +3 -0
- package/dist/cli/bin.d.ts.map +1 -0
- package/dist/cli/bin.js +15 -0
- package/dist/cli/bin.js.map +1 -0
- package/dist/cli/index.d.ts +2 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +3111 -0
- package/dist/cli/index.js.map +1 -0
- package/dist/cli/main.d.ts +2 -0
- package/dist/cli/main.d.ts.map +1 -0
- package/dist/cli/main.js +10 -0
- package/dist/cli/main.js.map +1 -0
- package/dist/cli/render/capabilities.d.ts +9 -0
- package/dist/cli/render/capabilities.d.ts.map +1 -0
- package/dist/cli/render/capabilities.js +24 -0
- package/dist/cli/render/capabilities.js.map +1 -0
- package/dist/cli/render/connect-renderer.d.ts +18 -0
- package/dist/cli/render/connect-renderer.d.ts.map +1 -0
- package/dist/cli/render/connect-renderer.js +112 -0
- package/dist/cli/render/connect-renderer.js.map +1 -0
- package/dist/cli/render/format.d.ts +27 -0
- package/dist/cli/render/format.d.ts.map +1 -0
- package/dist/cli/render/format.js +111 -0
- package/dist/cli/render/format.js.map +1 -0
- package/dist/cli/render/index.d.ts +7 -0
- package/dist/cli/render/index.d.ts.map +1 -0
- package/dist/cli/render/index.js +7 -0
- package/dist/cli/render/index.js.map +1 -0
- package/dist/cli/render/progress.d.ts +11 -0
- package/dist/cli/render/progress.d.ts.map +1 -0
- package/dist/cli/render/progress.js +56 -0
- package/dist/cli/render/progress.js.map +1 -0
- package/dist/cli/render/symbols.d.ts +11 -0
- package/dist/cli/render/symbols.d.ts.map +1 -0
- package/dist/cli/render/symbols.js +21 -0
- package/dist/cli/render/symbols.js.map +1 -0
- package/dist/cli/render/theme.d.ts +15 -0
- package/dist/cli/render/theme.d.ts.map +1 -0
- package/dist/cli/render/theme.js +41 -0
- package/dist/cli/render/theme.js.map +1 -0
- package/dist/connectors/index.d.ts +2 -0
- package/dist/connectors/index.d.ts.map +1 -0
- package/dist/connectors/index.js +2 -0
- package/dist/connectors/index.js.map +1 -0
- package/dist/connectors/registry.d.ts +52 -0
- package/dist/connectors/registry.d.ts.map +1 -0
- package/dist/connectors/registry.js +224 -0
- package/dist/connectors/registry.js.map +1 -0
- package/dist/core/cli-types.d.ts +686 -0
- package/dist/core/cli-types.d.ts.map +1 -0
- package/dist/core/cli-types.js +320 -0
- package/dist/core/cli-types.js.map +1 -0
- package/dist/core/index.d.ts +4 -0
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +3 -0
- package/dist/core/index.js.map +1 -1
- package/dist/core/paths.d.ts +8 -0
- package/dist/core/paths.d.ts.map +1 -0
- package/dist/core/paths.js +25 -0
- package/dist/core/paths.js.map +1 -0
- package/dist/core/state-store.d.ts +37 -0
- package/dist/core/state-store.d.ts.map +1 -0
- package/dist/core/state-store.js +101 -0
- package/dist/core/state-store.js.map +1 -0
- package/dist/core/types.d.ts +4 -0
- package/dist/core/types.d.ts.map +1 -1
- package/dist/personal-server/client.d.ts +34 -0
- package/dist/personal-server/client.d.ts.map +1 -0
- package/dist/personal-server/client.js +94 -0
- package/dist/personal-server/client.js.map +1 -0
- package/dist/personal-server/index.d.ts +18 -0
- package/dist/personal-server/index.d.ts.map +1 -0
- package/dist/personal-server/index.js +123 -0
- package/dist/personal-server/index.js.map +1 -0
- package/dist/personal-server/scope-resolver.d.ts +22 -0
- package/dist/personal-server/scope-resolver.d.ts.map +1 -0
- package/dist/personal-server/scope-resolver.js +68 -0
- package/dist/personal-server/scope-resolver.js.map +1 -0
- package/dist/react/useVanaData.d.ts +1 -1
- package/dist/react/useVanaData.d.ts.map +1 -1
- package/dist/react/useVanaData.js +22 -9
- package/dist/react/useVanaData.js.map +1 -1
- package/dist/runtime/core/contracts.d.ts +83 -0
- package/dist/runtime/core/contracts.d.ts.map +1 -0
- package/dist/runtime/core/contracts.js +2 -0
- package/dist/runtime/core/contracts.js.map +1 -0
- package/dist/runtime/core/index.d.ts +2 -0
- package/dist/runtime/core/index.d.ts.map +1 -0
- package/dist/runtime/core/index.js +2 -0
- package/dist/runtime/core/index.js.map +1 -0
- package/dist/runtime/index.d.ts +4 -0
- package/dist/runtime/index.d.ts.map +1 -0
- package/dist/runtime/index.js +3 -0
- package/dist/runtime/index.js.map +1 -0
- package/dist/runtime/managed-playwright.d.ts +40 -0
- package/dist/runtime/managed-playwright.d.ts.map +1 -0
- package/dist/runtime/managed-playwright.js +176 -0
- package/dist/runtime/managed-playwright.js.map +1 -0
- package/dist/runtime/playwright/browser.d.ts +12 -0
- package/dist/runtime/playwright/browser.d.ts.map +1 -0
- package/dist/runtime/playwright/browser.js +218 -0
- package/dist/runtime/playwright/browser.js.map +1 -0
- package/dist/runtime/playwright/in-process-run.d.ts +6 -0
- package/dist/runtime/playwright/in-process-run.d.ts.map +1 -0
- package/dist/runtime/playwright/in-process-run.js +576 -0
- package/dist/runtime/playwright/in-process-run.js.map +1 -0
- package/dist/runtime/playwright/index.d.ts +3 -0
- package/dist/runtime/playwright/index.d.ts.map +1 -0
- package/dist/runtime/playwright/index.js +3 -0
- package/dist/runtime/playwright/index.js.map +1 -0
- package/dist/runtime/repo-paths.d.ts +2 -0
- package/dist/runtime/repo-paths.d.ts.map +1 -0
- package/dist/runtime/repo-paths.js +36 -0
- package/dist/runtime/repo-paths.js.map +1 -0
- package/dist/server/config.d.ts +2 -0
- package/dist/server/config.d.ts.map +1 -1
- package/dist/server/config.js +1 -0
- package/dist/server/config.js.map +1 -1
- package/dist/server/connect.d.ts.map +1 -1
- package/dist/server/connect.js +7 -0
- package/dist/server/connect.js.map +1 -1
- package/package.json +49 -4
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Create an HTTP client for a Vana personal server.
|
|
3
|
+
*
|
|
4
|
+
* @param config - Connection configuration
|
|
5
|
+
* @param config.url - Base URL of the personal server
|
|
6
|
+
* @param config.auth - Optional authentication configuration
|
|
7
|
+
* @returns A PersonalServerClient instance
|
|
8
|
+
*/
|
|
9
|
+
export function createPersonalServerClient(config) {
|
|
10
|
+
const baseUrl = config.url.replace(/\/+$/, "");
|
|
11
|
+
function authHeaders() {
|
|
12
|
+
if (config.auth?.type === "devToken") {
|
|
13
|
+
return { Authorization: `Bearer ${config.auth.token}` };
|
|
14
|
+
}
|
|
15
|
+
return {};
|
|
16
|
+
}
|
|
17
|
+
return {
|
|
18
|
+
async health() {
|
|
19
|
+
const response = await fetch(`${baseUrl}/health`, {
|
|
20
|
+
method: "GET",
|
|
21
|
+
signal: AbortSignal.timeout(2_000),
|
|
22
|
+
});
|
|
23
|
+
if (!response.ok) {
|
|
24
|
+
throw new Error(`Health check failed: ${response.status}`);
|
|
25
|
+
}
|
|
26
|
+
const body = (await response.json());
|
|
27
|
+
return {
|
|
28
|
+
status: typeof body.status === "string" ? body.status : "unknown",
|
|
29
|
+
version: typeof body.version === "string" ? body.version : "unknown",
|
|
30
|
+
uptime: typeof body.uptime === "number" ? body.uptime : 0,
|
|
31
|
+
owner: typeof body.owner === "string" ? body.owner : null,
|
|
32
|
+
};
|
|
33
|
+
},
|
|
34
|
+
async ingestScope(scope, data) {
|
|
35
|
+
try {
|
|
36
|
+
const response = await fetch(`${baseUrl}/v1/data/${scope}`, {
|
|
37
|
+
method: "POST",
|
|
38
|
+
headers: {
|
|
39
|
+
"Content-Type": "application/json",
|
|
40
|
+
...authHeaders(),
|
|
41
|
+
},
|
|
42
|
+
body: JSON.stringify(data),
|
|
43
|
+
});
|
|
44
|
+
if (response.status === 201 || (response.ok && response.status < 300)) {
|
|
45
|
+
const body = (await response.json().catch(() => ({})));
|
|
46
|
+
return {
|
|
47
|
+
scope,
|
|
48
|
+
status: "stored",
|
|
49
|
+
collectedAt: typeof body.collectedAt === "string"
|
|
50
|
+
? body.collectedAt
|
|
51
|
+
: new Date().toISOString(),
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
const errorText = await response.text().catch(() => "Unknown error");
|
|
55
|
+
return {
|
|
56
|
+
scope,
|
|
57
|
+
status: "failed",
|
|
58
|
+
error: `HTTP ${response.status}: ${errorText}`,
|
|
59
|
+
};
|
|
60
|
+
}
|
|
61
|
+
catch (error) {
|
|
62
|
+
return {
|
|
63
|
+
scope,
|
|
64
|
+
status: "failed",
|
|
65
|
+
error: error instanceof Error ? error.message : "Unknown error",
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
},
|
|
69
|
+
async listScopes(prefix) {
|
|
70
|
+
// This endpoint requires auth — if no auth configured, return empty.
|
|
71
|
+
if (!config.auth || config.auth.type === "none") {
|
|
72
|
+
return [];
|
|
73
|
+
}
|
|
74
|
+
try {
|
|
75
|
+
const params = prefix
|
|
76
|
+
? `?scopePrefix=${encodeURIComponent(prefix)}`
|
|
77
|
+
: "";
|
|
78
|
+
const response = await fetch(`${baseUrl}/v1/data${params}`, {
|
|
79
|
+
method: "GET",
|
|
80
|
+
headers: authHeaders(),
|
|
81
|
+
});
|
|
82
|
+
if (!response.ok) {
|
|
83
|
+
return [];
|
|
84
|
+
}
|
|
85
|
+
const body = (await response.json());
|
|
86
|
+
return body.scopes ?? [];
|
|
87
|
+
}
|
|
88
|
+
catch {
|
|
89
|
+
return [];
|
|
90
|
+
}
|
|
91
|
+
},
|
|
92
|
+
};
|
|
93
|
+
}
|
|
94
|
+
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/personal-server/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { CliEvent, PersonalServerState } from "../core/cli-types.js";
|
|
2
|
+
export { createPersonalServerClient } from "./client.js";
|
|
3
|
+
export type { PersonalServerClient, IngestScopeResult, ScopeSummary, } from "./client.js";
|
|
4
|
+
export interface PersonalServerHealth {
|
|
5
|
+
status: string;
|
|
6
|
+
version: string;
|
|
7
|
+
uptime: number;
|
|
8
|
+
owner: string | null;
|
|
9
|
+
}
|
|
10
|
+
export interface PersonalServerTarget {
|
|
11
|
+
state: PersonalServerState;
|
|
12
|
+
url: string | null;
|
|
13
|
+
source: "config" | "env" | "scan" | null;
|
|
14
|
+
health: PersonalServerHealth | null;
|
|
15
|
+
}
|
|
16
|
+
export declare function detectPersonalServerTarget(): Promise<PersonalServerTarget>;
|
|
17
|
+
export declare function ingestResult(source: string, resultPath: string, target: PersonalServerTarget): Promise<CliEvent[]>;
|
|
18
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/personal-server/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAO1E,OAAO,EAAE,0BAA0B,EAAE,MAAM,aAAa,CAAC;AACzD,YAAY,EACV,oBAAoB,EACpB,iBAAiB,EACjB,YAAY,GACb,MAAM,aAAa,CAAC;AAIrB,MAAM,WAAW,oBAAoB;IACnC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED,MAAM,WAAW,oBAAoB;IACnC,KAAK,EAAE,mBAAmB,CAAC;IAC3B,GAAG,EAAE,MAAM,GAAG,IAAI,CAAC;IACnB,MAAM,EAAE,QAAQ,GAAG,KAAK,GAAG,MAAM,GAAG,IAAI,CAAC;IACzC,MAAM,EAAE,oBAAoB,GAAG,IAAI,CAAC;CACrC;AAED,wBAAsB,0BAA0B,IAAI,OAAO,CAAC,oBAAoB,CAAC,CAmChF;AAED,wBAAsB,YAAY,CAChC,MAAM,EAAE,MAAM,EACd,UAAU,EAAE,MAAM,EAClB,MAAM,EAAE,oBAAoB,GAC3B,OAAO,CAAC,QAAQ,EAAE,CAAC,CAoErB"}
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import fs from "node:fs/promises";
|
|
2
|
+
import { readCliConfig } from "../core/state-store.js";
|
|
3
|
+
import { resolveScopes } from "./scope-resolver.js";
|
|
4
|
+
import { createPersonalServerClient } from "./client.js";
|
|
5
|
+
import { readCachedConnectorMetadata } from "../connectors/registry.js";
|
|
6
|
+
import { getConnectorCacheDir } from "../core/paths.js";
|
|
7
|
+
export { createPersonalServerClient } from "./client.js";
|
|
8
|
+
const DEFAULT_PORTS = [8080, 8081, 8082, 8083, 8084, 8085];
|
|
9
|
+
export async function detectPersonalServerTarget() {
|
|
10
|
+
// 1. Persisted config (highest priority)
|
|
11
|
+
const config = await readCliConfig();
|
|
12
|
+
if (config.personalServerUrl) {
|
|
13
|
+
const health = await fetchHealth(config.personalServerUrl);
|
|
14
|
+
return {
|
|
15
|
+
state: health ? "available" : "unavailable",
|
|
16
|
+
url: config.personalServerUrl,
|
|
17
|
+
source: "config",
|
|
18
|
+
health,
|
|
19
|
+
};
|
|
20
|
+
}
|
|
21
|
+
// 2. Environment variable
|
|
22
|
+
const explicitUrl = process.env.VANA_PERSONAL_SERVER_URL;
|
|
23
|
+
if (explicitUrl) {
|
|
24
|
+
const health = await fetchHealth(explicitUrl);
|
|
25
|
+
return {
|
|
26
|
+
state: health ? "available" : "unavailable",
|
|
27
|
+
url: explicitUrl,
|
|
28
|
+
source: "env",
|
|
29
|
+
health,
|
|
30
|
+
};
|
|
31
|
+
}
|
|
32
|
+
// 3. Localhost port scan
|
|
33
|
+
for (const port of DEFAULT_PORTS) {
|
|
34
|
+
const url = `http://localhost:${port}`;
|
|
35
|
+
const health = await fetchHealth(url);
|
|
36
|
+
if (health) {
|
|
37
|
+
return { state: "available", url, source: "scan", health };
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
return { state: "unavailable", url: null, source: null, health: null };
|
|
41
|
+
}
|
|
42
|
+
export async function ingestResult(source, resultPath, target) {
|
|
43
|
+
if (target.state !== "available" || !target.url) {
|
|
44
|
+
return [
|
|
45
|
+
{
|
|
46
|
+
type: "ingest-skipped",
|
|
47
|
+
source,
|
|
48
|
+
reason: "personal_server_unavailable",
|
|
49
|
+
},
|
|
50
|
+
];
|
|
51
|
+
}
|
|
52
|
+
const raw = await fs.readFile(resultPath, "utf8");
|
|
53
|
+
const result = JSON.parse(raw);
|
|
54
|
+
const metadata = await readCachedConnectorMetadata(source, getConnectorCacheDir());
|
|
55
|
+
const scopeMappings = resolveScopes(source, result, metadata);
|
|
56
|
+
if (scopeMappings.length === 0) {
|
|
57
|
+
return [
|
|
58
|
+
{
|
|
59
|
+
type: "ingest-skipped",
|
|
60
|
+
source,
|
|
61
|
+
reason: "no_scopes_resolved",
|
|
62
|
+
},
|
|
63
|
+
];
|
|
64
|
+
}
|
|
65
|
+
const client = createPersonalServerClient({ url: target.url });
|
|
66
|
+
const events = [
|
|
67
|
+
{ type: "ingest-started", source, target: target.url },
|
|
68
|
+
];
|
|
69
|
+
const scopeResults = [];
|
|
70
|
+
for (const mapping of scopeMappings) {
|
|
71
|
+
const scopeResult = await client.ingestScope(mapping.scope, mapping.data);
|
|
72
|
+
scopeResults.push(scopeResult);
|
|
73
|
+
}
|
|
74
|
+
const allStored = scopeResults.every((r) => r.status === "stored");
|
|
75
|
+
const allFailed = scopeResults.every((r) => r.status === "failed");
|
|
76
|
+
if (allStored) {
|
|
77
|
+
events.push({
|
|
78
|
+
type: "ingest-complete",
|
|
79
|
+
source,
|
|
80
|
+
target: target.url,
|
|
81
|
+
scopeResults,
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
else if (allFailed) {
|
|
85
|
+
events.push({
|
|
86
|
+
type: "ingest-failed",
|
|
87
|
+
source,
|
|
88
|
+
target: target.url,
|
|
89
|
+
message: scopeResults.map((r) => `${r.scope}: ${r.error}`).join("; "),
|
|
90
|
+
scopeResults,
|
|
91
|
+
});
|
|
92
|
+
}
|
|
93
|
+
else {
|
|
94
|
+
events.push({
|
|
95
|
+
type: "ingest-partial",
|
|
96
|
+
source,
|
|
97
|
+
target: target.url,
|
|
98
|
+
scopeResults,
|
|
99
|
+
});
|
|
100
|
+
}
|
|
101
|
+
return events;
|
|
102
|
+
}
|
|
103
|
+
async function fetchHealth(baseUrl) {
|
|
104
|
+
try {
|
|
105
|
+
const response = await fetch(`${baseUrl}/health`, {
|
|
106
|
+
method: "GET",
|
|
107
|
+
signal: AbortSignal.timeout(2_000),
|
|
108
|
+
});
|
|
109
|
+
if (!response.ok)
|
|
110
|
+
return null;
|
|
111
|
+
const body = (await response.json());
|
|
112
|
+
return {
|
|
113
|
+
status: typeof body.status === "string" ? body.status : "unknown",
|
|
114
|
+
version: typeof body.version === "string" ? body.version : "unknown",
|
|
115
|
+
uptime: typeof body.uptime === "number" ? body.uptime : 0,
|
|
116
|
+
owner: typeof body.owner === "string" ? body.owner : null,
|
|
117
|
+
};
|
|
118
|
+
}
|
|
119
|
+
catch {
|
|
120
|
+
return null;
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/personal-server/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { ConnectorMetadata } from "../connectors/registry.js";
|
|
2
|
+
export interface ScopeMapping {
|
|
3
|
+
scope: string;
|
|
4
|
+
data: unknown;
|
|
5
|
+
}
|
|
6
|
+
/**
|
|
7
|
+
* Resolve connector output keys to personal server scopes.
|
|
8
|
+
*
|
|
9
|
+
* Strategy (matches DataConnect production):
|
|
10
|
+
* 1. If any output keys contain ".", use them directly as scopes
|
|
11
|
+
* 2. Otherwise, use connector metadata to map: metadata scope "github.profile"
|
|
12
|
+
* → look for key "profile" in result
|
|
13
|
+
* 3. If no metadata, fall back to "{source}.{key}" for every non-metadata key
|
|
14
|
+
* (exclude: exportSummary, timestamp, version, platform)
|
|
15
|
+
*
|
|
16
|
+
* @param source - The connector source name (e.g. "github")
|
|
17
|
+
* @param result - The connector output as key-value pairs
|
|
18
|
+
* @param metadata - Optional connector metadata with scope definitions
|
|
19
|
+
* @returns An array of scope mappings
|
|
20
|
+
*/
|
|
21
|
+
export declare function resolveScopes(source: string, result: Record<string, unknown>, metadata: ConnectorMetadata | null): ScopeMapping[];
|
|
22
|
+
//# sourceMappingURL=scope-resolver.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scope-resolver.d.ts","sourceRoot":"","sources":["../../src/personal-server/scope-resolver.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAEnE,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,OAAO,CAAC;CACf;AAyBD;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,QAAQ,EAAE,iBAAiB,GAAG,IAAI,GACjC,YAAY,EAAE,CAmChB"}
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
/** Keys that are connector metadata, not user data. */
|
|
2
|
+
const EXCLUDED_KEYS = new Set([
|
|
3
|
+
"exportSummary",
|
|
4
|
+
"timestamp",
|
|
5
|
+
"version",
|
|
6
|
+
"platform",
|
|
7
|
+
]);
|
|
8
|
+
/**
|
|
9
|
+
* Ensure scope data is a JSON object for the Personal Server API.
|
|
10
|
+
* Arrays are wrapped as `{ items: [...] }`. Primitives are wrapped
|
|
11
|
+
* as `{ value: ... }`. Objects pass through unchanged.
|
|
12
|
+
*/
|
|
13
|
+
function ensureObject(data) {
|
|
14
|
+
if (Array.isArray(data)) {
|
|
15
|
+
return { items: data };
|
|
16
|
+
}
|
|
17
|
+
if (data !== null && typeof data === "object") {
|
|
18
|
+
return data;
|
|
19
|
+
}
|
|
20
|
+
return { value: data };
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Resolve connector output keys to personal server scopes.
|
|
24
|
+
*
|
|
25
|
+
* Strategy (matches DataConnect production):
|
|
26
|
+
* 1. If any output keys contain ".", use them directly as scopes
|
|
27
|
+
* 2. Otherwise, use connector metadata to map: metadata scope "github.profile"
|
|
28
|
+
* → look for key "profile" in result
|
|
29
|
+
* 3. If no metadata, fall back to "{source}.{key}" for every non-metadata key
|
|
30
|
+
* (exclude: exportSummary, timestamp, version, platform)
|
|
31
|
+
*
|
|
32
|
+
* @param source - The connector source name (e.g. "github")
|
|
33
|
+
* @param result - The connector output as key-value pairs
|
|
34
|
+
* @param metadata - Optional connector metadata with scope definitions
|
|
35
|
+
* @returns An array of scope mappings
|
|
36
|
+
*/
|
|
37
|
+
export function resolveScopes(source, result, metadata) {
|
|
38
|
+
const keys = Object.keys(result);
|
|
39
|
+
// Strategy 1: If any keys are already dotted scopes, use them directly.
|
|
40
|
+
const dottedKeys = keys.filter((key) => key.includes(".") && !EXCLUDED_KEYS.has(key));
|
|
41
|
+
if (dottedKeys.length > 0) {
|
|
42
|
+
return dottedKeys.map((key) => ({
|
|
43
|
+
scope: key,
|
|
44
|
+
data: ensureObject(result[key]),
|
|
45
|
+
}));
|
|
46
|
+
}
|
|
47
|
+
// Strategy 2: Use metadata scopes to map flat keys.
|
|
48
|
+
if (metadata?.scopes && metadata.scopes.length > 0) {
|
|
49
|
+
const mappings = [];
|
|
50
|
+
for (const { scope } of metadata.scopes) {
|
|
51
|
+
// Extract the key portion after the dot, e.g. "github.profile" → "profile"
|
|
52
|
+
const dotIndex = scope.indexOf(".");
|
|
53
|
+
const key = dotIndex >= 0 ? scope.slice(dotIndex + 1) : scope;
|
|
54
|
+
if (key in result) {
|
|
55
|
+
mappings.push({ scope, data: ensureObject(result[key]) });
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
return mappings;
|
|
59
|
+
}
|
|
60
|
+
// Strategy 3: Fall back to "{source}.{key}" for every non-metadata key.
|
|
61
|
+
return keys
|
|
62
|
+
.filter((key) => !EXCLUDED_KEYS.has(key))
|
|
63
|
+
.map((key) => ({
|
|
64
|
+
scope: `${source}.${key}`,
|
|
65
|
+
data: ensureObject(result[key]),
|
|
66
|
+
}));
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=scope-resolver.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"scope-resolver.js","sourceRoot":"","sources":["../../src/personal-server/scope-resolver.ts"],"names":[],"mappings":"AAOA,uDAAuD;AACvD,MAAM,aAAa,GAAG,IAAI,GAAG,CAAC;IAC5B,eAAe;IACf,WAAW;IACX,SAAS;IACT,UAAU;CACX,CAAC,CAAC;AAEH;;;;GAIG;AACH,SAAS,YAAY,CAAC,IAAa;IACjC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;QACxB,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACzB,CAAC;IACD,IAAI,IAAI,KAAK,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,EAAE,CAAC;QAC9C,OAAO,IAA+B,CAAC;IACzC,CAAC;IACD,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AACzB,CAAC;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,aAAa,CAC3B,MAAc,EACd,MAA+B,EAC/B,QAAkC;IAElC,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAEjC,wEAAwE;IACxE,MAAM,UAAU,GAAG,IAAI,CAAC,MAAM,CAC5B,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CACtD,CAAC;IACF,IAAI,UAAU,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAC1B,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;YAC9B,KAAK,EAAE,GAAG;YACV,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;SAChC,CAAC,CAAC,CAAC;IACN,CAAC;IAED,oDAAoD;IACpD,IAAI,QAAQ,EAAE,MAAM,IAAI,QAAQ,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACnD,MAAM,QAAQ,GAAmB,EAAE,CAAC;QACpC,KAAK,MAAM,EAAE,KAAK,EAAE,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;YACxC,2EAA2E;YAC3E,MAAM,QAAQ,GAAG,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;YACpC,MAAM,GAAG,GAAG,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC;YAC9D,IAAI,GAAG,IAAI,MAAM,EAAE,CAAC;gBAClB,QAAQ,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC;QACD,OAAO,QAAQ,CAAC;IAClB,CAAC;IAED,wEAAwE;IACxE,OAAO,IAAI;SACR,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;SACxC,GAAG,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;QACb,KAAK,EAAE,GAAG,MAAM,IAAI,GAAG,EAAE;QACzB,IAAI,EAAE,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;KAChC,CAAC,CAAC,CAAC;AACR,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useVanaData.d.ts","sourceRoot":"","sources":["../../src/react/useVanaData.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"useVanaData.d.ts","sourceRoot":"","sources":["../../src/react/useVanaData.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAevE;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,gEAAgE;IAChE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,0DAA0D;IAC1D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,+EAA+E;IAC/E,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gEAAgE;IAChE,WAAW,CAAC,EAAE,KAAK,GAAG,MAAM,CAAC;IAC7B,oFAAoF;IACpF,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,iCAAiC;IACjC,MAAM,EAAE,gBAAgB,CAAC;IACzB,oDAAoD;IACpD,KAAK,EAAE,YAAY,GAAG,IAAI,CAAC;IAC3B,4DAA4D;IAC5D,IAAI,EAAE,OAAO,CAAC;IACd,gCAAgC;IAChC,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,4FAA4F;IAC5F,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,iIAAiI;IACjI,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,gEAAgE;IAChE,WAAW,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACjC,qDAAqD;IACrD,SAAS,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,qCAAqC;IACrC,KAAK,EAAE,MAAM,IAAI,CAAC;IAClB,uDAAuD;IACvD,SAAS,EAAE,OAAO,CAAC;IACnB,0CAA0C;IAC1C,WAAW,EAAE,OAAO,CAAC;CACtB;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,WAAW,CAAC,MAAM,CAAC,EAAE,iBAAiB,GAAG,iBAAiB,CA8HzE"}
|
|
@@ -1,5 +1,16 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { useCallback, useEffect, useRef, useState } from "react";
|
|
2
2
|
import { useVanaConnect } from "./useVanaConnect.js";
|
|
3
|
+
async function parseResponseBody(response) {
|
|
4
|
+
const text = await response.text();
|
|
5
|
+
if (!text)
|
|
6
|
+
return null;
|
|
7
|
+
try {
|
|
8
|
+
return JSON.parse(text);
|
|
9
|
+
}
|
|
10
|
+
catch {
|
|
11
|
+
return { raw: text };
|
|
12
|
+
}
|
|
13
|
+
}
|
|
3
14
|
/**
|
|
4
15
|
* Full-flow hook that orchestrates the entire Vana Connect lifecycle:
|
|
5
16
|
* session init, polling, and data fetching.
|
|
@@ -48,14 +59,12 @@ export function useVanaData(config) {
|
|
|
48
59
|
headers: { "Content-Type": "application/json" },
|
|
49
60
|
body: JSON.stringify({ grant: pollGrant }),
|
|
50
61
|
});
|
|
51
|
-
const json = await res
|
|
62
|
+
const json = await parseResponseBody(res);
|
|
52
63
|
if (!res.ok) {
|
|
53
|
-
setFetchError(json.error
|
|
54
|
-
? String(json.error)
|
|
55
|
-
: `Data fetch failed: ${res.status}`);
|
|
64
|
+
setFetchError(json?.error ? String(json.error) : `Data fetch failed: ${res.status}`);
|
|
56
65
|
return;
|
|
57
66
|
}
|
|
58
|
-
setData(json);
|
|
67
|
+
setData(json ?? {});
|
|
59
68
|
}
|
|
60
69
|
catch (err) {
|
|
61
70
|
setFetchError(err instanceof Error ? err.message : "Unknown data fetch error");
|
|
@@ -81,14 +90,18 @@ export function useVanaData(config) {
|
|
|
81
90
|
setInitLoading(true);
|
|
82
91
|
try {
|
|
83
92
|
const res = await fetch(connectApiUrl, { method: "POST" });
|
|
84
|
-
const json =
|
|
93
|
+
const json = await parseResponseBody(res);
|
|
85
94
|
if (!res.ok) {
|
|
86
|
-
setFetchError(json
|
|
95
|
+
setFetchError(json?.error ? String(json.error) : `Connect failed: ${res.status}`);
|
|
96
|
+
return;
|
|
97
|
+
}
|
|
98
|
+
if (!json?.sessionId || typeof json.sessionId !== "string") {
|
|
99
|
+
setFetchError("Connect failed: missing sessionId in response");
|
|
87
100
|
return;
|
|
88
101
|
}
|
|
89
102
|
connect({
|
|
90
103
|
sessionId: json.sessionId,
|
|
91
|
-
connectUrl: json
|
|
104
|
+
connectUrl: json?.connectUrl || undefined,
|
|
92
105
|
});
|
|
93
106
|
}
|
|
94
107
|
catch (err) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useVanaData.js","sourceRoot":"","sources":["../../src/react/useVanaData.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"useVanaData.js","sourceRoot":"","sources":["../../src/react/useVanaData.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
export interface RuntimeNeedInputEvent {
|
|
2
|
+
type: "needs-input";
|
|
3
|
+
source: string;
|
|
4
|
+
message: string;
|
|
5
|
+
fields: string[];
|
|
6
|
+
logPath: string;
|
|
7
|
+
schema?: {
|
|
8
|
+
properties?: Record<string, unknown>;
|
|
9
|
+
};
|
|
10
|
+
responseInputPath?: string;
|
|
11
|
+
}
|
|
12
|
+
export interface RuntimeRunStartedEvent {
|
|
13
|
+
type: "run-started";
|
|
14
|
+
source: string;
|
|
15
|
+
logPath: string;
|
|
16
|
+
}
|
|
17
|
+
export interface RuntimeLegacyAuthEvent {
|
|
18
|
+
type: "legacy-auth";
|
|
19
|
+
source: string;
|
|
20
|
+
message: string;
|
|
21
|
+
logPath: string;
|
|
22
|
+
}
|
|
23
|
+
export interface RuntimeHeadedRequiredEvent {
|
|
24
|
+
type: "headed-required";
|
|
25
|
+
source: string;
|
|
26
|
+
message: string;
|
|
27
|
+
logPath: string;
|
|
28
|
+
url?: string;
|
|
29
|
+
}
|
|
30
|
+
export interface RuntimeCollectionCompleteEvent {
|
|
31
|
+
type: "collection-complete";
|
|
32
|
+
source: string;
|
|
33
|
+
resultPath: string;
|
|
34
|
+
logPath: string;
|
|
35
|
+
}
|
|
36
|
+
export interface RuntimeProgressEvent {
|
|
37
|
+
type: "progress-update";
|
|
38
|
+
source: string;
|
|
39
|
+
logPath: string;
|
|
40
|
+
message?: string;
|
|
41
|
+
count?: number;
|
|
42
|
+
phase?: unknown;
|
|
43
|
+
}
|
|
44
|
+
export interface RuntimeStatusEvent {
|
|
45
|
+
type: "status-update";
|
|
46
|
+
source: string;
|
|
47
|
+
logPath: string;
|
|
48
|
+
message: string;
|
|
49
|
+
}
|
|
50
|
+
export interface RuntimeErrorEvent {
|
|
51
|
+
type: "runtime-error";
|
|
52
|
+
source: string;
|
|
53
|
+
message: string;
|
|
54
|
+
logPath: string;
|
|
55
|
+
}
|
|
56
|
+
export type RuntimeEvent = RuntimeRunStartedEvent | RuntimeNeedInputEvent | RuntimeHeadedRequiredEvent | RuntimeLegacyAuthEvent | RuntimeCollectionCompleteEvent | RuntimeProgressEvent | RuntimeStatusEvent | RuntimeErrorEvent;
|
|
57
|
+
export interface RuntimeInputRequest {
|
|
58
|
+
message?: string;
|
|
59
|
+
schema?: {
|
|
60
|
+
properties?: Record<string, unknown>;
|
|
61
|
+
};
|
|
62
|
+
fields: string[];
|
|
63
|
+
responseInputPath: string;
|
|
64
|
+
}
|
|
65
|
+
export interface ConnectorRunRequest {
|
|
66
|
+
connectorPath: string;
|
|
67
|
+
source: string;
|
|
68
|
+
noInput?: boolean;
|
|
69
|
+
signal?: AbortSignal;
|
|
70
|
+
onNeedInput?: (event: RuntimeInputRequest) => Promise<Record<string, string>>;
|
|
71
|
+
}
|
|
72
|
+
export interface ConnectorRunHandle {
|
|
73
|
+
readonly source: string;
|
|
74
|
+
readonly logPath: string;
|
|
75
|
+
events(): AsyncGenerator<RuntimeEvent, void, void>;
|
|
76
|
+
stop(reason?: string): void;
|
|
77
|
+
}
|
|
78
|
+
export interface RuntimeCapabilities {
|
|
79
|
+
supportsHeaded: boolean;
|
|
80
|
+
supportsManagedProfiles: boolean;
|
|
81
|
+
supportsScreenshots: boolean;
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=contracts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../../src/runtime/core/contracts.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"contracts.js","sourceRoot":"","sources":["../../../src/runtime/core/contracts.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/runtime/core/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,YAAY,EACZ,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,gBAAgB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/runtime/core/index.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export type { ConnectorRunHandle, ConnectorRunRequest, RuntimeCapabilities, RuntimeEvent, RuntimeInputRequest, RuntimeNeedInputEvent, } from "./core/index.js";
|
|
2
|
+
export { ManagedPlaywrightRuntime, type NeedInputEvent, type RunConnectorOptions, type RuntimeInstallResult, } from "./managed-playwright.js";
|
|
3
|
+
export { findDataConnectorsDir } from "./repo-paths.js";
|
|
4
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"AAAA,YAAY,EACV,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,YAAY,EACZ,mBAAmB,EACnB,qBAAqB,GACtB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EACL,wBAAwB,EACxB,KAAK,cAAc,EACnB,KAAK,mBAAmB,EACxB,KAAK,oBAAoB,GAC1B,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/runtime/index.ts"],"names":[],"mappings":"AAQA,OAAO,EACL,wBAAwB,GAIzB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type { CliEvent, RuntimeState } from "../core/cli-types.js";
|
|
2
|
+
import type { RuntimeCapabilities } from "./core/index.js";
|
|
3
|
+
export interface RuntimeInstallResult {
|
|
4
|
+
runtime: RuntimeState;
|
|
5
|
+
runtimePath: string | null;
|
|
6
|
+
logPath?: string;
|
|
7
|
+
}
|
|
8
|
+
export interface RunConnectorOptions {
|
|
9
|
+
connectorPath: string;
|
|
10
|
+
source: string;
|
|
11
|
+
pretty?: boolean;
|
|
12
|
+
noInput?: boolean;
|
|
13
|
+
signal?: AbortSignal;
|
|
14
|
+
onNeedInput?: (event: NeedInputEvent) => Promise<Record<string, string>>;
|
|
15
|
+
}
|
|
16
|
+
export interface NeedInputEvent {
|
|
17
|
+
message?: string;
|
|
18
|
+
schema?: {
|
|
19
|
+
properties?: Record<string, unknown>;
|
|
20
|
+
};
|
|
21
|
+
fields: string[];
|
|
22
|
+
responseInputPath: string;
|
|
23
|
+
}
|
|
24
|
+
export declare class ManagedPlaywrightRuntime {
|
|
25
|
+
get capabilities(): RuntimeCapabilities;
|
|
26
|
+
get runtimePath(): string | null;
|
|
27
|
+
get state(): RuntimeState;
|
|
28
|
+
ensureInstalled(_autoApprove: boolean): Promise<RuntimeInstallResult>;
|
|
29
|
+
fetchConnector(source: string): Promise<{
|
|
30
|
+
connectorPath: string;
|
|
31
|
+
logPath: string;
|
|
32
|
+
version?: string;
|
|
33
|
+
exportFrequency?: string;
|
|
34
|
+
}>;
|
|
35
|
+
runConnector(options: RunConnectorOptions): AsyncGenerator<CliEvent, void, void>;
|
|
36
|
+
}
|
|
37
|
+
export declare function installChromium(logPath: string): Promise<void>;
|
|
38
|
+
export declare function installChromiumViaPackagedCli(logPath: string, browserCacheDir: string): Promise<boolean>;
|
|
39
|
+
export declare function getPlaywrightCliPath(): string | null;
|
|
40
|
+
//# sourceMappingURL=managed-playwright.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"managed-playwright.d.ts","sourceRoot":"","sources":["../../src/runtime/managed-playwright.ts"],"names":[],"mappings":"AAcA,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;AAEnE,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,iBAAiB,CAAC;AAW3D,MAAM,WAAW,oBAAoB;IACnC,OAAO,EAAE,YAAY,CAAC;IACtB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,mBAAmB;IAClC,aAAa,EAAE,MAAM,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,WAAW,CAAC;IACrB,WAAW,CAAC,EAAE,CAAC,KAAK,EAAE,cAAc,KAAK,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;CAC1E;AAED,MAAM,WAAW,cAAc;IAC7B,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE;QACP,UAAU,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;KACtC,CAAC;IACF,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,iBAAiB,EAAE,MAAM,CAAC;CAC3B;AAED,qBAAa,wBAAwB;IACnC,IAAI,YAAY,IAAI,mBAAmB,CAStC;IAED,IAAI,WAAW,IAAI,MAAM,GAAG,IAAI,CAE/B;IAED,IAAI,KAAK,IAAI,YAAY,CAExB;IAEK,eAAe,CAAC,YAAY,EAAE,OAAO,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAuBrE,cAAc,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC;QAC5C,aAAa,EAAE,MAAM,CAAC;QACtB,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,eAAe,CAAC,EAAE,MAAM,CAAC;KAC1B,CAAC;IA0CK,YAAY,CACjB,OAAO,EAAE,mBAAmB,GAC3B,cAAc,CAAC,QAAQ,EAAE,IAAI,EAAE,IAAI,CAAC;CAYxC;AAED,wBAAsB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAuEpE;AAED,wBAAsB,6BAA6B,CACjD,OAAO,EAAE,MAAM,EACf,eAAe,EAAE,MAAM,GACtB,OAAO,CAAC,OAAO,CAAC,CAyClB;AAED,wBAAgB,oBAAoB,IAAI,MAAM,GAAG,IAAI,CASpD"}
|