@intentic/sync 0.0.0 → 1.55.2
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/package.json +1 -1
- package/dist/agent.d.ts +0 -2
- package/dist/agent.d.ts.map +0 -1
- package/dist/agent.js +0 -101
- package/dist/agent.js.map +0 -1
- package/dist/auth.d.ts +0 -3
- package/dist/auth.d.ts.map +0 -1
- package/dist/auth.js +0 -75
- package/dist/auth.js.map +0 -1
- package/dist/client.d.ts +0 -11
- package/dist/client.d.ts.map +0 -1
- package/dist/client.js +0 -94
- package/dist/client.js.map +0 -1
- package/dist/engine.d.ts +0 -21
- package/dist/engine.d.ts.map +0 -1
- package/dist/engine.js +0 -0
- package/dist/engine.js.map +0 -1
- package/dist/fs-util.d.ts +0 -12
- package/dist/fs-util.d.ts.map +0 -1
- package/dist/fs-util.js +0 -61
- package/dist/fs-util.js.map +0 -1
- package/dist/install.d.ts +0 -3
- package/dist/install.d.ts.map +0 -1
- package/dist/install.js +0 -93
- package/dist/install.js.map +0 -1
- package/dist/manifest.d.ts +0 -8
- package/dist/manifest.d.ts.map +0 -1
- package/dist/manifest.js +0 -15
- package/dist/manifest.js.map +0 -1
package/package.json
CHANGED
package/dist/agent.d.ts
DELETED
package/dist/agent.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"AAwCA,eAAO,MAAM,GAAG,QAAa,OAAO,CAAC,IAAI,CA8ExC,CAAC"}
|
package/dist/agent.js
DELETED
|
@@ -1,101 +0,0 @@
|
|
|
1
|
-
import { relative, sep } from "node:path";
|
|
2
|
-
import { watch } from "chokidar";
|
|
3
|
-
import { idTokenFromRefresh } from "./auth.js";
|
|
4
|
-
import { createSandboxClient } from "./client.js";
|
|
5
|
-
import { manifestPath, readConfig, readCredentials } from "./config.js";
|
|
6
|
-
import { createSyncEngine } from "./engine.js";
|
|
7
|
-
import { isIgnored } from "./fs-util.js";
|
|
8
|
-
import { loadManifest, saveManifest } from "./manifest.js";
|
|
9
|
-
const delay = (ms) => new Promise((resolve) => setTimeout(resolve, ms));
|
|
10
|
-
const decodeExpSeconds = (jwt) => {
|
|
11
|
-
const payload = jwt.split(".")[1];
|
|
12
|
-
if (payload === undefined) {
|
|
13
|
-
return 0;
|
|
14
|
-
}
|
|
15
|
-
try {
|
|
16
|
-
return JSON.parse(Buffer.from(payload, "base64url").toString("utf8")).exp ?? 0;
|
|
17
|
-
}
|
|
18
|
-
catch {
|
|
19
|
-
return 0;
|
|
20
|
-
}
|
|
21
|
-
};
|
|
22
|
-
const createTokenProvider = (clientId, clientSecret, refreshToken) => {
|
|
23
|
-
let cached;
|
|
24
|
-
return async () => {
|
|
25
|
-
if (cached !== undefined && cached.exp - 60 > Date.now() / 1000) {
|
|
26
|
-
return cached.token;
|
|
27
|
-
}
|
|
28
|
-
const token = await idTokenFromRefresh(clientId, clientSecret, refreshToken);
|
|
29
|
-
cached = { token, exp: decodeExpSeconds(token) };
|
|
30
|
-
return token;
|
|
31
|
-
};
|
|
32
|
-
};
|
|
33
|
-
export const run = async () => {
|
|
34
|
-
const config = await readConfig();
|
|
35
|
-
const credentials = await readCredentials();
|
|
36
|
-
if (credentials === undefined) {
|
|
37
|
-
throw new Error("intentic-sync is not set up — run `intentic-sync setup` first.");
|
|
38
|
-
}
|
|
39
|
-
const getToken = createTokenProvider(config.googleClientId, config.googleClientSecret, credentials.refreshToken);
|
|
40
|
-
const client = createSandboxClient(config.sandboxUrl, getToken);
|
|
41
|
-
const manifestFile = manifestPath(config.sandboxId);
|
|
42
|
-
const manifest = await loadManifest(manifestFile);
|
|
43
|
-
const log = (message) => void process.stdout.write(`${new Date().toISOString()} ${message}\n`);
|
|
44
|
-
let dirty = false;
|
|
45
|
-
let saveTimer;
|
|
46
|
-
const persist = () => {
|
|
47
|
-
dirty = true;
|
|
48
|
-
if (saveTimer !== undefined) {
|
|
49
|
-
return;
|
|
50
|
-
}
|
|
51
|
-
saveTimer = setTimeout(() => {
|
|
52
|
-
saveTimer = undefined;
|
|
53
|
-
if (dirty) {
|
|
54
|
-
dirty = false;
|
|
55
|
-
void saveManifest(manifestFile, manifest);
|
|
56
|
-
}
|
|
57
|
-
}, 500);
|
|
58
|
-
};
|
|
59
|
-
const engine = createSyncEngine({ localDir: config.localDir, client, manifest, persist, log, now: () => Date.now() });
|
|
60
|
-
let chain = Promise.resolve();
|
|
61
|
-
const serialize = (operation) => {
|
|
62
|
-
const next = chain.then(operation, operation);
|
|
63
|
-
chain = next.then(() => undefined, () => undefined);
|
|
64
|
-
return next;
|
|
65
|
-
};
|
|
66
|
-
const watcher = watch(config.localDir, {
|
|
67
|
-
ignoreInitial: true,
|
|
68
|
-
awaitWriteFinish: { stabilityThreshold: 200, pollInterval: 50 },
|
|
69
|
-
ignored: (candidate) => {
|
|
70
|
-
const rel = relative(config.localDir, candidate).split(sep).join("/");
|
|
71
|
-
return rel !== "" && isIgnored(rel);
|
|
72
|
-
},
|
|
73
|
-
});
|
|
74
|
-
const onLocal = (candidate) => {
|
|
75
|
-
const rel = relative(config.localDir, candidate).split(sep).join("/");
|
|
76
|
-
if (rel === "") {
|
|
77
|
-
return;
|
|
78
|
-
}
|
|
79
|
-
void serialize(() => engine.onLocalPath(rel)).catch((error) => log(`local sync error on ${rel}: ${error instanceof Error ? error.message : String(error)}`));
|
|
80
|
-
};
|
|
81
|
-
watcher.on("add", onLocal).on("change", onLocal).on("unlink", onLocal);
|
|
82
|
-
log(`mirroring ${config.sandboxUrl} → ${config.localDir}`);
|
|
83
|
-
for (;;) {
|
|
84
|
-
const controller = new AbortController();
|
|
85
|
-
try {
|
|
86
|
-
await serialize(() => engine.reconcile());
|
|
87
|
-
log("reconciled; watching for changes");
|
|
88
|
-
for await (const change of client.watch(controller.signal)) {
|
|
89
|
-
await serialize(() => engine.onRemoteChange(change)).catch((error) => log(`remote sync error on ${change.path}: ${error instanceof Error ? error.message : String(error)}`));
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
catch (error) {
|
|
93
|
-
log(`stream dropped: ${error instanceof Error ? error.message : String(error)}; retrying in 5s`);
|
|
94
|
-
}
|
|
95
|
-
finally {
|
|
96
|
-
controller.abort();
|
|
97
|
-
}
|
|
98
|
-
await delay(5000);
|
|
99
|
-
}
|
|
100
|
-
};
|
|
101
|
-
//# sourceMappingURL=agent.js.map
|
package/dist/agent.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
|
package/dist/auth.d.ts
DELETED
package/dist/auth.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"AAoDA,eAAO,MAAM,oBAAoB,GAAU,UAAU,MAAM,EAAE,cAAc,MAAM,KAAG,OAAO,CAAC,MAAM,CAiBjG,CAAC;AAKF,eAAO,MAAM,kBAAkB,GAAU,UAAU,MAAM,EAAE,cAAc,MAAM,EAAE,cAAc,MAAM,KAAG,OAAO,CAAC,MAAM,CAcrH,CAAC"}
|
package/dist/auth.js
DELETED
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
import { spawn } from "node:child_process";
|
|
2
|
-
import { createServer } from "node:http";
|
|
3
|
-
import { OAuth2Client } from "google-auth-library";
|
|
4
|
-
const SCOPES = ["openid", "email", "profile"];
|
|
5
|
-
const TOKEN_URL = "https://oauth2.googleapis.com/token";
|
|
6
|
-
const openBrowser = (url) => {
|
|
7
|
-
const command = process.platform === "darwin" ? "open" : process.platform === "win32" ? "cmd" : "xdg-open";
|
|
8
|
-
const args = process.platform === "win32" ? ["/c", "start", "", url] : [url];
|
|
9
|
-
try {
|
|
10
|
-
spawn(command, args, { stdio: "ignore", detached: true }).unref();
|
|
11
|
-
}
|
|
12
|
-
catch {
|
|
13
|
-
}
|
|
14
|
-
};
|
|
15
|
-
const startLoopback = () => new Promise((resolveServer) => {
|
|
16
|
-
let resolveCode;
|
|
17
|
-
let rejectCode;
|
|
18
|
-
const code = new Promise((resolve, reject) => {
|
|
19
|
-
resolveCode = resolve;
|
|
20
|
-
rejectCode = reject;
|
|
21
|
-
});
|
|
22
|
-
const server = createServer((request, response) => {
|
|
23
|
-
const url = new URL(request.url ?? "/", "http://localhost");
|
|
24
|
-
const received = url.searchParams.get("code");
|
|
25
|
-
const error = url.searchParams.get("error");
|
|
26
|
-
response.writeHead(200, { "content-type": "text/html" });
|
|
27
|
-
response.end("<html><body>intentic-sync authorized. You can close this tab.</body></html>");
|
|
28
|
-
if (received !== null) {
|
|
29
|
-
resolveCode(received);
|
|
30
|
-
return;
|
|
31
|
-
}
|
|
32
|
-
if (error !== null) {
|
|
33
|
-
rejectCode(new Error(`Google authorization was denied: ${error}`));
|
|
34
|
-
}
|
|
35
|
-
});
|
|
36
|
-
server.listen(0, "127.0.0.1", () => {
|
|
37
|
-
const address = server.address();
|
|
38
|
-
resolveServer({ server, port: typeof address === "object" && address !== null ? address.port : 0, code });
|
|
39
|
-
});
|
|
40
|
-
});
|
|
41
|
-
export const authorizeInteractive = async (clientId, clientSecret) => {
|
|
42
|
-
const { server, port, code } = await startLoopback();
|
|
43
|
-
const redirectUri = `http://localhost:${port}`;
|
|
44
|
-
const client = new OAuth2Client({ clientId, clientSecret, redirectUri });
|
|
45
|
-
const authUrl = client.generateAuthUrl({ access_type: "offline", prompt: "consent", scope: SCOPES });
|
|
46
|
-
openBrowser(authUrl);
|
|
47
|
-
process.stdout.write(`\nAuthorize intentic-sync in your browser (opening it now):\n${authUrl}\n\n`);
|
|
48
|
-
try {
|
|
49
|
-
const authorizationCode = await code;
|
|
50
|
-
const { tokens } = await client.getToken({ code: authorizationCode, redirect_uri: redirectUri });
|
|
51
|
-
if (typeof tokens.refresh_token !== "string" || tokens.refresh_token === "") {
|
|
52
|
-
throw new Error("Google returned no refresh token — remove intentic-sync from your Google account's third-party access and retry.");
|
|
53
|
-
}
|
|
54
|
-
return tokens.refresh_token;
|
|
55
|
-
}
|
|
56
|
-
finally {
|
|
57
|
-
server.close();
|
|
58
|
-
}
|
|
59
|
-
};
|
|
60
|
-
export const idTokenFromRefresh = async (clientId, clientSecret, refreshToken) => {
|
|
61
|
-
const response = await fetch(TOKEN_URL, {
|
|
62
|
-
method: "POST",
|
|
63
|
-
headers: { "content-type": "application/x-www-form-urlencoded" },
|
|
64
|
-
body: new URLSearchParams({ client_id: clientId, client_secret: clientSecret, refresh_token: refreshToken, grant_type: "refresh_token" }),
|
|
65
|
-
});
|
|
66
|
-
if (!response.ok) {
|
|
67
|
-
throw new Error(`Google token refresh failed (${response.status}): ${await response.text()}`);
|
|
68
|
-
}
|
|
69
|
-
const payload = (await response.json());
|
|
70
|
-
if (typeof payload.id_token !== "string") {
|
|
71
|
-
throw new Error("Google token refresh returned no id_token");
|
|
72
|
-
}
|
|
73
|
-
return payload.id_token;
|
|
74
|
-
};
|
|
75
|
-
//# sourceMappingURL=auth.js.map
|
package/dist/auth.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../src/auth.ts"],"names":[],"mappings":"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"}
|
package/dist/client.d.ts
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import type { WorkspaceChange, WorkspaceTree } from "@intentic/sandbox-contract";
|
|
2
|
-
export interface SandboxClient {
|
|
3
|
-
tree(): Promise<WorkspaceTree>;
|
|
4
|
-
raw(path: string): Promise<Uint8Array | undefined>;
|
|
5
|
-
upload(path: string, bytes: Uint8Array): Promise<void>;
|
|
6
|
-
remove(path: string): Promise<void>;
|
|
7
|
-
mkdir(path: string): Promise<void>;
|
|
8
|
-
watch(signal: AbortSignal): AsyncGenerator<WorkspaceChange>;
|
|
9
|
-
}
|
|
10
|
-
export declare const createSandboxClient: (baseUrl: string, getToken: () => Promise<string>) => SandboxClient;
|
|
11
|
-
//# sourceMappingURL=client.d.ts.map
|
package/dist/client.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,4BAA4B,CAAC;AAIjF,MAAM,WAAW,aAAa;IAC1B,IAAI,IAAI,OAAO,CAAC,aAAa,CAAC,CAAC;IAG/B,GAAG,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC,CAAC;IACnD,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvD,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACnC,KAAK,CAAC,MAAM,EAAE,WAAW,GAAG,cAAc,CAAC,eAAe,CAAC,CAAC;CAC/D;AAuCD,eAAO,MAAM,mBAAmB,GAAI,SAAS,MAAM,EAAE,UAAU,MAAM,OAAO,CAAC,MAAM,CAAC,KAAG,aA8DtF,CAAC"}
|
package/dist/client.js
DELETED
|
@@ -1,94 +0,0 @@
|
|
|
1
|
-
const encodeQuery = (path) => `path=${encodeURIComponent(path)}`;
|
|
2
|
-
async function* parseSse(body, signal) {
|
|
3
|
-
const reader = body.getReader();
|
|
4
|
-
const decoder = new TextDecoder();
|
|
5
|
-
let buffer = "";
|
|
6
|
-
signal.addEventListener("abort", () => void reader.cancel(), { once: true });
|
|
7
|
-
for (;;) {
|
|
8
|
-
const { done, value } = await reader.read();
|
|
9
|
-
if (done) {
|
|
10
|
-
return;
|
|
11
|
-
}
|
|
12
|
-
buffer += decoder.decode(value, { stream: true });
|
|
13
|
-
let separator = buffer.indexOf("\n\n");
|
|
14
|
-
while (separator !== -1) {
|
|
15
|
-
const frame = buffer.slice(0, separator);
|
|
16
|
-
buffer = buffer.slice(separator + 2);
|
|
17
|
-
separator = buffer.indexOf("\n\n");
|
|
18
|
-
const dataLine = frame.split("\n").find((line) => line.startsWith("data:"));
|
|
19
|
-
if (dataLine === undefined) {
|
|
20
|
-
continue;
|
|
21
|
-
}
|
|
22
|
-
const payload = dataLine.slice(5).trim();
|
|
23
|
-
if (payload.length === 0) {
|
|
24
|
-
continue;
|
|
25
|
-
}
|
|
26
|
-
try {
|
|
27
|
-
yield JSON.parse(payload);
|
|
28
|
-
}
|
|
29
|
-
catch {
|
|
30
|
-
}
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
export const createSandboxClient = (baseUrl, getToken) => {
|
|
35
|
-
const root = baseUrl.replace(/\/$/, "");
|
|
36
|
-
const authHeader = async () => ({ authorization: `Bearer ${await getToken()}` });
|
|
37
|
-
return {
|
|
38
|
-
tree: async () => {
|
|
39
|
-
const response = await fetch(`${root}/workspace/tree`, { headers: await authHeader() });
|
|
40
|
-
if (!response.ok) {
|
|
41
|
-
throw new Error(`GET /workspace/tree failed: ${response.status}`);
|
|
42
|
-
}
|
|
43
|
-
return (await response.json());
|
|
44
|
-
},
|
|
45
|
-
raw: async (path) => {
|
|
46
|
-
const response = await fetch(`${root}/workspace/raw?${encodeQuery(path)}`, { headers: await authHeader() });
|
|
47
|
-
if (response.status === 404) {
|
|
48
|
-
return undefined;
|
|
49
|
-
}
|
|
50
|
-
if (!response.ok) {
|
|
51
|
-
throw new Error(`GET /workspace/raw ${path} failed: ${response.status}`);
|
|
52
|
-
}
|
|
53
|
-
return new Uint8Array(await response.arrayBuffer());
|
|
54
|
-
},
|
|
55
|
-
upload: async (path, bytes) => {
|
|
56
|
-
const response = await fetch(`${root}/workspace/upload?${encodeQuery(path)}`, {
|
|
57
|
-
method: "POST",
|
|
58
|
-
headers: { ...(await authHeader()), "content-type": "application/octet-stream" },
|
|
59
|
-
body: bytes,
|
|
60
|
-
});
|
|
61
|
-
if (!response.ok) {
|
|
62
|
-
throw new Error(`POST /workspace/upload ${path} failed: ${response.status}`);
|
|
63
|
-
}
|
|
64
|
-
},
|
|
65
|
-
remove: async (path) => {
|
|
66
|
-
const response = await fetch(`${root}/workspace/entry`, {
|
|
67
|
-
method: "DELETE",
|
|
68
|
-
headers: { ...(await authHeader()), "content-type": "application/json" },
|
|
69
|
-
body: JSON.stringify({ path }),
|
|
70
|
-
});
|
|
71
|
-
if (!response.ok) {
|
|
72
|
-
throw new Error(`DELETE /workspace/entry ${path} failed: ${response.status}`);
|
|
73
|
-
}
|
|
74
|
-
},
|
|
75
|
-
mkdir: async (path) => {
|
|
76
|
-
const response = await fetch(`${root}/workspace/dir`, {
|
|
77
|
-
method: "POST",
|
|
78
|
-
headers: { ...(await authHeader()), "content-type": "application/json" },
|
|
79
|
-
body: JSON.stringify({ path }),
|
|
80
|
-
});
|
|
81
|
-
if (!response.ok) {
|
|
82
|
-
throw new Error(`POST /workspace/dir ${path} failed: ${response.status}`);
|
|
83
|
-
}
|
|
84
|
-
},
|
|
85
|
-
watch: async function* (signal) {
|
|
86
|
-
const response = await fetch(`${root}/workspace/watch`, { headers: { ...(await authHeader()), accept: "text/event-stream" }, signal });
|
|
87
|
-
if (!response.ok || response.body === null) {
|
|
88
|
-
throw new Error(`GET /workspace/watch failed: ${response.status}`);
|
|
89
|
-
}
|
|
90
|
-
yield* parseSse(response.body, signal);
|
|
91
|
-
},
|
|
92
|
-
};
|
|
93
|
-
};
|
|
94
|
-
//# sourceMappingURL=client.js.map
|
package/dist/client.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/engine.d.ts
DELETED
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
import type { WorkspaceChange } from "@intentic/sandbox-contract";
|
|
2
|
-
import type { SandboxClient } from "./client.js";
|
|
3
|
-
import type { Manifest } from "./manifest.js";
|
|
4
|
-
export type SyncAction = "noop" | "pullToLocal" | "pushToRemote" | "deleteLocal" | "deleteRemote" | "conflict";
|
|
5
|
-
export declare const decide: (localHash: string | undefined, remoteHash: string | undefined, manifestHash: string | undefined) => SyncAction;
|
|
6
|
-
export declare const resolveConflict: (localMtime: number, remoteMtime: number) => "local" | "remote";
|
|
7
|
-
export interface SyncEngine {
|
|
8
|
-
reconcile(): Promise<void>;
|
|
9
|
-
onRemoteChange(change: WorkspaceChange): Promise<void>;
|
|
10
|
-
onLocalPath(relPath: string): Promise<void>;
|
|
11
|
-
}
|
|
12
|
-
export interface EngineDeps {
|
|
13
|
-
readonly localDir: string;
|
|
14
|
-
readonly client: SandboxClient;
|
|
15
|
-
readonly manifest: Manifest;
|
|
16
|
-
readonly persist: () => void;
|
|
17
|
-
readonly log: (message: string) => void;
|
|
18
|
-
readonly now: () => number;
|
|
19
|
-
}
|
|
20
|
-
export declare const createSyncEngine: (deps: EngineDeps) => SyncEngine;
|
|
21
|
-
//# sourceMappingURL=engine.d.ts.map
|
package/dist/engine.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"engine.d.ts","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,eAAe,EAAiB,MAAM,4BAA4B,CAAC;AACjF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAEjD,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAI9C,MAAM,MAAM,UAAU,GAAG,MAAM,GAAG,aAAa,GAAG,cAAc,GAAG,aAAa,GAAG,cAAc,GAAG,UAAU,CAAC;AAS/G,eAAO,MAAM,MAAM,GAAI,WAAW,MAAM,GAAG,SAAS,EAAE,YAAY,MAAM,GAAG,SAAS,EAAE,cAAc,MAAM,GAAG,SAAS,KAAG,UAWxH,CAAC;AAKF,eAAO,MAAM,eAAe,GAAI,YAAY,MAAM,EAAE,aAAa,MAAM,KAAG,OAAO,GAAG,QAA4D,CAAC;AAuBjJ,MAAM,WAAW,UAAU;IAGvB,SAAS,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,cAAc,CAAC,MAAM,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACvD,WAAW,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;CAC/C;AAED,MAAM,WAAW,UAAU;IACvB,QAAQ,CAAC,QAAQ,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAC;IAC/B,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAC;IAC5B,QAAQ,CAAC,OAAO,EAAE,MAAM,IAAI,CAAC;IAC7B,QAAQ,CAAC,GAAG,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,QAAQ,CAAC,GAAG,EAAE,MAAM,MAAM,CAAC;CAC9B;AAED,eAAO,MAAM,gBAAgB,GAAI,MAAM,UAAU,KAAG,UAwJnD,CAAC"}
|
package/dist/engine.js
DELETED
|
Binary file
|
package/dist/engine.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"engine.js","sourceRoot":"","sources":["../src/engine.ts"],"names":[],"mappings":"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"}
|
package/dist/fs-util.d.ts
DELETED
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
export declare const IGNORED_DIRS: Set<string>;
|
|
2
|
-
export declare const isIgnored: (relPath: string) => boolean;
|
|
3
|
-
export declare const hashBytes: (bytes: Uint8Array) => string;
|
|
4
|
-
export declare const readLocalBytes: (absPath: string) => Promise<Uint8Array | undefined>;
|
|
5
|
-
export declare const hashLocalFile: (absPath: string) => Promise<string | undefined>;
|
|
6
|
-
export interface LocalMeta {
|
|
7
|
-
readonly size: number;
|
|
8
|
-
readonly mtime: number;
|
|
9
|
-
}
|
|
10
|
-
export declare const statLocal: (absPath: string) => Promise<LocalMeta | undefined>;
|
|
11
|
-
export declare const walkLocalFiles: (root: string) => Promise<Map<string, LocalMeta>>;
|
|
12
|
-
//# sourceMappingURL=fs-util.d.ts.map
|
package/dist/fs-util.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fs-util.d.ts","sourceRoot":"","sources":["../src/fs-util.ts"],"names":[],"mappings":"AAOA,eAAO,MAAM,YAAY,aAAqF,CAAC;AAK/G,eAAO,MAAM,SAAS,GAAI,SAAS,MAAM,KAAG,OAM3C,CAAC;AAEF,eAAO,MAAM,SAAS,GAAI,OAAO,UAAU,KAAG,MAA0D,CAAC;AAEzG,eAAO,MAAM,cAAc,GAAU,SAAS,MAAM,KAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAMpF,CAAC;AAEF,eAAO,MAAM,aAAa,GAAU,SAAS,MAAM,KAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAG/E,CAAC;AAEF,MAAM,WAAW,SAAS;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CAC1B;AAED,eAAO,MAAM,SAAS,GAAU,SAAS,MAAM,KAAG,OAAO,CAAC,SAAS,GAAG,SAAS,CAO9E,CAAC;AAIF,eAAO,MAAM,cAAc,GAAU,MAAM,MAAM,KAAG,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,SAAS,CAAC,CAyBjF,CAAC"}
|
package/dist/fs-util.js
DELETED
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
import { createHash } from "node:crypto";
|
|
2
|
-
import { readdir, readFile, stat } from "node:fs/promises";
|
|
3
|
-
import { join, relative, sep } from "node:path";
|
|
4
|
-
export const IGNORED_DIRS = new Set([".git", "node_modules", "dist", ".cache", ".turbo", ".next", ".angular"]);
|
|
5
|
-
const isSecretFile = (name) => name === ".secrets.json" || name === "claude.json" || name === "capabilities.json" || (name.startsWith(".env") && name !== ".env.example");
|
|
6
|
-
export const isIgnored = (relPath) => {
|
|
7
|
-
const segments = relPath.split(/[\\/]/).filter((segment) => segment.length > 0);
|
|
8
|
-
if (segments.some((segment) => IGNORED_DIRS.has(segment))) {
|
|
9
|
-
return true;
|
|
10
|
-
}
|
|
11
|
-
return isSecretFile(segments.at(-1) ?? "");
|
|
12
|
-
};
|
|
13
|
-
export const hashBytes = (bytes) => createHash("sha256").update(bytes).digest("hex");
|
|
14
|
-
export const readLocalBytes = async (absPath) => {
|
|
15
|
-
try {
|
|
16
|
-
return await readFile(absPath);
|
|
17
|
-
}
|
|
18
|
-
catch {
|
|
19
|
-
return undefined;
|
|
20
|
-
}
|
|
21
|
-
};
|
|
22
|
-
export const hashLocalFile = async (absPath) => {
|
|
23
|
-
const bytes = await readLocalBytes(absPath);
|
|
24
|
-
return bytes === undefined ? undefined : hashBytes(bytes);
|
|
25
|
-
};
|
|
26
|
-
export const statLocal = async (absPath) => {
|
|
27
|
-
try {
|
|
28
|
-
const info = await stat(absPath);
|
|
29
|
-
return { size: info.size, mtime: info.mtimeMs };
|
|
30
|
-
}
|
|
31
|
-
catch {
|
|
32
|
-
return undefined;
|
|
33
|
-
}
|
|
34
|
-
};
|
|
35
|
-
export const walkLocalFiles = async (root) => {
|
|
36
|
-
const files = new Map();
|
|
37
|
-
const walk = async (dir) => {
|
|
38
|
-
const dirents = await readdir(dir, { withFileTypes: true }).catch(() => []);
|
|
39
|
-
for (const dirent of dirents) {
|
|
40
|
-
const abs = join(dir, dirent.name);
|
|
41
|
-
const rel = relative(root, abs).split(sep).join("/");
|
|
42
|
-
if (isIgnored(rel) || dirent.isSymbolicLink()) {
|
|
43
|
-
continue;
|
|
44
|
-
}
|
|
45
|
-
if (dirent.isDirectory()) {
|
|
46
|
-
await walk(abs);
|
|
47
|
-
continue;
|
|
48
|
-
}
|
|
49
|
-
if (!dirent.isFile()) {
|
|
50
|
-
continue;
|
|
51
|
-
}
|
|
52
|
-
const meta = await statLocal(abs);
|
|
53
|
-
if (meta !== undefined) {
|
|
54
|
-
files.set(rel, meta);
|
|
55
|
-
}
|
|
56
|
-
}
|
|
57
|
-
};
|
|
58
|
-
await walk(root);
|
|
59
|
-
return files;
|
|
60
|
-
};
|
|
61
|
-
//# sourceMappingURL=fs-util.js.map
|
package/dist/fs-util.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"fs-util.js","sourceRoot":"","sources":["../src/fs-util.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,IAAI,EAAE,MAAM,kBAAkB,CAAC;AAC3D,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,WAAW,CAAC;AAKhD,MAAM,CAAC,MAAM,YAAY,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC,CAAC;AAE/G,MAAM,YAAY,GAAG,CAAC,IAAY,EAAW,EAAE,CAC3C,IAAI,KAAK,eAAe,IAAI,IAAI,KAAK,aAAa,IAAI,IAAI,KAAK,mBAAmB,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,IAAI,IAAI,KAAK,cAAc,CAAC,CAAC;AAE/I,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,OAAe,EAAW,EAAE;IAClD,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAChF,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,EAAE,CAAC;QACxD,OAAO,IAAI,CAAC;IAChB,CAAC;IACD,OAAO,YAAY,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;AAC/C,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,KAAiB,EAAU,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAEzG,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EAAE,OAAe,EAAmC,EAAE;IACrF,IAAI,CAAC;QACD,OAAO,MAAM,QAAQ,CAAC,OAAO,CAAC,CAAC;IACnC,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,SAAS,CAAC;IACrB,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,KAAK,EAAE,OAAe,EAA+B,EAAE;IAChF,MAAM,KAAK,GAAG,MAAM,cAAc,CAAC,OAAO,CAAC,CAAC;IAC5C,OAAO,KAAK,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC;AAC9D,CAAC,CAAC;AAOF,MAAM,CAAC,MAAM,SAAS,GAAG,KAAK,EAAE,OAAe,EAAkC,EAAE;IAC/E,IAAI,CAAC;QACD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,CAAC;QACjC,OAAO,EAAE,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,IAAI,CAAC,OAAO,EAAE,CAAC;IACpD,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,SAAS,CAAC;IACrB,CAAC;AACL,CAAC,CAAC;AAIF,MAAM,CAAC,MAAM,cAAc,GAAG,KAAK,EAAE,IAAY,EAAmC,EAAE;IAClF,MAAM,KAAK,GAAG,IAAI,GAAG,EAAqB,CAAC;IAC3C,MAAM,IAAI,GAAG,KAAK,EAAE,GAAW,EAAiB,EAAE;QAC9C,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,GAAG,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC;QAC5E,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;YAC3B,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;YACnC,MAAM,GAAG,GAAG,QAAQ,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;YACrD,IAAI,SAAS,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,cAAc,EAAE,EAAE,CAAC;gBAC5C,SAAS;YACb,CAAC;YACD,IAAI,MAAM,CAAC,WAAW,EAAE,EAAE,CAAC;gBACvB,MAAM,IAAI,CAAC,GAAG,CAAC,CAAC;gBAChB,SAAS;YACb,CAAC;YACD,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,EAAE,CAAC;gBACnB,SAAS;YACb,CAAC;YACD,MAAM,IAAI,GAAG,MAAM,SAAS,CAAC,GAAG,CAAC,CAAC;YAClC,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;gBACrB,KAAK,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC;YACzB,CAAC;QACL,CAAC;IACL,CAAC,CAAC;IACF,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC;IACjB,OAAO,KAAK,CAAC;AACjB,CAAC,CAAC"}
|
package/dist/install.d.ts
DELETED
package/dist/install.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"install.d.ts","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":"AA0EA,eAAO,MAAM,OAAO,GAAU,SAAS,SAAS,MAAM,EAAE,KAAG,OAAO,CAAC,MAAM,CAWxE,CAAC;AAEF,eAAO,MAAM,SAAS,QAAa,OAAO,CAAC,MAAM,CAgBhD,CAAC"}
|
package/dist/install.js
DELETED
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
import { spawnSync } from "node:child_process";
|
|
2
|
-
import { mkdir, rm, writeFile } from "node:fs/promises";
|
|
3
|
-
import { homedir } from "node:os";
|
|
4
|
-
import { join } from "node:path";
|
|
5
|
-
const SERVICE = "intentic-sync";
|
|
6
|
-
const quote = (arg) => (arg.includes(" ") ? `"${arg}"` : arg);
|
|
7
|
-
const systemdUnitPath = () => join(homedir(), ".config", "systemd", "user", `${SERVICE}.service`);
|
|
8
|
-
const launchdPlistPath = () => join(homedir(), "Library", "LaunchAgents", "dev.intentic.sync.plist");
|
|
9
|
-
const installLinux = async (command) => {
|
|
10
|
-
const path = systemdUnitPath();
|
|
11
|
-
const unit = [
|
|
12
|
-
"[Unit]",
|
|
13
|
-
"Description=intentic-sync — mirror a sandbox to a local directory",
|
|
14
|
-
"After=network-online.target",
|
|
15
|
-
"",
|
|
16
|
-
"[Service]",
|
|
17
|
-
`ExecStart=${command.map(quote).join(" ")}`,
|
|
18
|
-
"Restart=always",
|
|
19
|
-
"RestartSec=5",
|
|
20
|
-
"",
|
|
21
|
-
"[Install]",
|
|
22
|
-
"WantedBy=default.target",
|
|
23
|
-
"",
|
|
24
|
-
].join("\n");
|
|
25
|
-
await mkdir(join(homedir(), ".config", "systemd", "user"), { recursive: true });
|
|
26
|
-
await writeFile(path, unit, "utf8");
|
|
27
|
-
spawnSync("systemctl", ["--user", "daemon-reload"], { stdio: "ignore" });
|
|
28
|
-
const enabled = spawnSync("systemctl", ["--user", "enable", "--now", SERVICE], { stdio: "inherit" });
|
|
29
|
-
spawnSync("loginctl", ["enable-linger"], { stdio: "ignore" });
|
|
30
|
-
return enabled.status === 0 ? `enabled systemd user service (${path})` : `wrote ${path} — enable with: systemctl --user enable --now ${SERVICE}`;
|
|
31
|
-
};
|
|
32
|
-
const installMac = async (command) => {
|
|
33
|
-
const path = launchdPlistPath();
|
|
34
|
-
const args = command.map((arg) => ` <string>${arg}</string>`).join("\n");
|
|
35
|
-
const plist = [
|
|
36
|
-
'<?xml version="1.0" encoding="UTF-8"?>',
|
|
37
|
-
'<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">',
|
|
38
|
-
'<plist version="1.0">',
|
|
39
|
-
"<dict>",
|
|
40
|
-
" <key>Label</key>",
|
|
41
|
-
" <string>dev.intentic.sync</string>",
|
|
42
|
-
" <key>ProgramArguments</key>",
|
|
43
|
-
" <array>",
|
|
44
|
-
args,
|
|
45
|
-
" </array>",
|
|
46
|
-
" <key>RunAtLoad</key>",
|
|
47
|
-
" <true/>",
|
|
48
|
-
" <key>KeepAlive</key>",
|
|
49
|
-
" <true/>",
|
|
50
|
-
"</dict>",
|
|
51
|
-
"</plist>",
|
|
52
|
-
"",
|
|
53
|
-
].join("\n");
|
|
54
|
-
await mkdir(join(homedir(), "Library", "LaunchAgents"), { recursive: true });
|
|
55
|
-
await writeFile(path, plist, "utf8");
|
|
56
|
-
spawnSync("launchctl", ["unload", path], { stdio: "ignore" });
|
|
57
|
-
spawnSync("launchctl", ["load", "-w", path], { stdio: "inherit" });
|
|
58
|
-
return `loaded launchd agent (${path})`;
|
|
59
|
-
};
|
|
60
|
-
const installWindows = (command) => {
|
|
61
|
-
const result = spawnSync("schtasks", ["/Create", "/TN", SERVICE, "/TR", command.map(quote).join(" "), "/SC", "ONLOGON", "/F"], { stdio: "inherit" });
|
|
62
|
-
return result.status === 0 ? `registered scheduled task "${SERVICE}" (runs at logon)` : `failed to register scheduled task — run schtasks manually`;
|
|
63
|
-
};
|
|
64
|
-
export const install = async (command) => {
|
|
65
|
-
if (process.platform === "linux") {
|
|
66
|
-
return installLinux(command);
|
|
67
|
-
}
|
|
68
|
-
if (process.platform === "darwin") {
|
|
69
|
-
return installMac(command);
|
|
70
|
-
}
|
|
71
|
-
if (process.platform === "win32") {
|
|
72
|
-
return installWindows(command);
|
|
73
|
-
}
|
|
74
|
-
throw new Error(`autostart is not supported on ${process.platform} — run \`intentic-sync run\` yourself.`);
|
|
75
|
-
};
|
|
76
|
-
export const uninstall = async () => {
|
|
77
|
-
if (process.platform === "linux") {
|
|
78
|
-
spawnSync("systemctl", ["--user", "disable", "--now", SERVICE], { stdio: "ignore" });
|
|
79
|
-
await rm(systemdUnitPath(), { force: true });
|
|
80
|
-
return "removed systemd user service";
|
|
81
|
-
}
|
|
82
|
-
if (process.platform === "darwin") {
|
|
83
|
-
spawnSync("launchctl", ["unload", launchdPlistPath()], { stdio: "ignore" });
|
|
84
|
-
await rm(launchdPlistPath(), { force: true });
|
|
85
|
-
return "removed launchd agent";
|
|
86
|
-
}
|
|
87
|
-
if (process.platform === "win32") {
|
|
88
|
-
spawnSync("schtasks", ["/Delete", "/TN", SERVICE, "/F"], { stdio: "ignore" });
|
|
89
|
-
return "removed scheduled task";
|
|
90
|
-
}
|
|
91
|
-
throw new Error(`autostart is not supported on ${process.platform}`);
|
|
92
|
-
};
|
|
93
|
-
//# sourceMappingURL=install.js.map
|
package/dist/install.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"install.js","sourceRoot":"","sources":["../src/install.ts"],"names":[],"mappings":"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"}
|
package/dist/manifest.d.ts
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
export interface ManifestEntry {
|
|
2
|
-
readonly size: number;
|
|
3
|
-
readonly hash: string;
|
|
4
|
-
}
|
|
5
|
-
export type Manifest = Map<string, ManifestEntry>;
|
|
6
|
-
export declare const loadManifest: (path: string) => Promise<Manifest>;
|
|
7
|
-
export declare const saveManifest: (path: string, manifest: Manifest) => Promise<void>;
|
|
8
|
-
//# sourceMappingURL=manifest.d.ts.map
|
package/dist/manifest.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.d.ts","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,aAAa;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACzB;AACD,MAAM,MAAM,QAAQ,GAAG,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;AAElD,eAAO,MAAM,YAAY,GAAU,MAAM,MAAM,KAAG,OAAO,CAAC,QAAQ,CAMjE,CAAC;AAEF,eAAO,MAAM,YAAY,GAAU,MAAM,MAAM,EAAE,UAAU,QAAQ,KAAG,OAAO,CAAC,IAAI,CAGjF,CAAC"}
|
package/dist/manifest.js
DELETED
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
import { mkdir, readFile, writeFile } from "node:fs/promises";
|
|
2
|
-
import { dirname } from "node:path";
|
|
3
|
-
export const loadManifest = async (path) => {
|
|
4
|
-
try {
|
|
5
|
-
return new Map(Object.entries(JSON.parse(await readFile(path, "utf8"))));
|
|
6
|
-
}
|
|
7
|
-
catch {
|
|
8
|
-
return new Map();
|
|
9
|
-
}
|
|
10
|
-
};
|
|
11
|
-
export const saveManifest = async (path, manifest) => {
|
|
12
|
-
await mkdir(dirname(path), { recursive: true });
|
|
13
|
-
await writeFile(path, JSON.stringify(Object.fromEntries(manifest)), "utf8");
|
|
14
|
-
};
|
|
15
|
-
//# sourceMappingURL=manifest.js.map
|
package/dist/manifest.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"manifest.js","sourceRoot":"","sources":["../src/manifest.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAYpC,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,EAAE,IAAY,EAAqB,EAAE;IAClE,IAAI,CAAC;QACD,OAAO,IAAI,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAkC,CAAC,CAAC,CAAC;IAC9G,CAAC;IAAC,MAAM,CAAC;QACL,OAAO,IAAI,GAAG,EAAE,CAAC;IACrB,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,YAAY,GAAG,KAAK,EAAE,IAAY,EAAE,QAAkB,EAAiB,EAAE;IAClF,MAAM,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAChD,MAAM,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;AAChF,CAAC,CAAC"}
|