@tinyrack/dotweave 0.42.22 → 0.44.0

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 (65) hide show
  1. package/dist/application.d.ts +2 -0
  2. package/dist/application.d.ts.map +1 -1
  3. package/dist/application.js +20 -2
  4. package/dist/application.js.map +1 -1
  5. package/dist/assets/dotweave-skill.d.ts +2 -0
  6. package/dist/assets/dotweave-skill.d.ts.map +1 -0
  7. package/dist/assets/dotweave-skill.js +34 -0
  8. package/dist/assets/dotweave-skill.js.map +1 -0
  9. package/dist/cli/pull.d.ts.map +1 -1
  10. package/dist/cli/pull.js +23 -4
  11. package/dist/cli/pull.js.map +1 -1
  12. package/dist/cli/push.d.ts.map +1 -1
  13. package/dist/cli/push.js +11 -4
  14. package/dist/cli/push.js.map +1 -1
  15. package/dist/cli/root-commands.d.ts +1 -0
  16. package/dist/cli/root-commands.d.ts.map +1 -1
  17. package/dist/cli/root-commands.js +2 -0
  18. package/dist/cli/root-commands.js.map +1 -1
  19. package/dist/cli/skill/index.d.ts +3 -0
  20. package/dist/cli/skill/index.d.ts.map +1 -0
  21. package/dist/cli/skill/index.js +13 -0
  22. package/dist/cli/skill/index.js.map +1 -0
  23. package/dist/cli/skill/install.d.ts +4 -0
  24. package/dist/cli/skill/install.d.ts.map +1 -0
  25. package/dist/cli/skill/install.js +63 -0
  26. package/dist/cli/skill/install.js.map +1 -0
  27. package/dist/cli/status.d.ts.map +1 -1
  28. package/dist/cli/status.js +12 -4
  29. package/dist/cli/status.js.map +1 -1
  30. package/dist/config/sync-schema.d.ts.map +1 -1
  31. package/dist/config/sync-schema.js +7 -0
  32. package/dist/config/sync-schema.js.map +1 -1
  33. package/dist/lib/error.d.ts.map +1 -1
  34. package/dist/lib/error.js +5 -1
  35. package/dist/lib/error.js.map +1 -1
  36. package/dist/lib/filesystem.d.ts.map +1 -1
  37. package/dist/lib/filesystem.js +3 -0
  38. package/dist/lib/filesystem.js.map +1 -1
  39. package/dist/lib/git.d.ts +52 -0
  40. package/dist/lib/git.d.ts.map +1 -1
  41. package/dist/lib/git.js +14 -4
  42. package/dist/lib/git.js.map +1 -1
  43. package/dist/lib/path.d.ts +12 -0
  44. package/dist/lib/path.d.ts.map +1 -1
  45. package/dist/lib/path.js +21 -10
  46. package/dist/lib/path.js.map +1 -1
  47. package/dist/services/push.d.ts +4 -1
  48. package/dist/services/push.d.ts.map +1 -1
  49. package/dist/services/push.js +82 -23
  50. package/dist/services/push.js.map +1 -1
  51. package/dist/services/repo-artifacts.d.ts +8 -3
  52. package/dist/services/repo-artifacts.d.ts.map +1 -1
  53. package/dist/services/repo-artifacts.js +228 -18
  54. package/dist/services/repo-artifacts.js.map +1 -1
  55. package/dist/services/repo-snapshot.d.ts.map +1 -1
  56. package/dist/services/repo-snapshot.js +15 -5
  57. package/dist/services/repo-snapshot.js.map +1 -1
  58. package/dist/services/skill-install.d.ts +13 -0
  59. package/dist/services/skill-install.d.ts.map +1 -0
  60. package/dist/services/skill-install.js +39 -0
  61. package/dist/services/skill-install.js.map +1 -0
  62. package/dist/services/status.d.ts.map +1 -1
  63. package/dist/services/status.js +5 -12
  64. package/dist/services/status.js.map +1 -1
  65. package/package.json +3 -1
@@ -1 +1 @@
1
- {"version":3,"file":"filesystem.js","sourceRoot":"","sources":["../../src/lib/filesystem.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"filesystem.js","sourceRoot":"","sources":["../../src/lib/filesystem.ts"],"names":[],"mappings":"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"}
package/dist/lib/git.d.ts CHANGED
@@ -1,3 +1,54 @@
1
+ type GitCommandOptions = Readonly<{
2
+ cwd?: string;
3
+ }>;
4
+ type GitExecFileAsync = (file: string, args: readonly string[], options: Readonly<{
5
+ cwd?: string;
6
+ encoding: "utf8";
7
+ maxBuffer: number;
8
+ }>) => Promise<{
9
+ stderr: string;
10
+ stdout: string;
11
+ }>;
12
+ type GitStreamingChild = Readonly<{
13
+ stderr?: {
14
+ on: (event: "data", listener: (chunk: string) => void) => unknown;
15
+ setEncoding: (encoding: BufferEncoding) => void;
16
+ };
17
+ stdout?: {
18
+ on: (event: "data", listener: (chunk: string) => void) => unknown;
19
+ setEncoding: (encoding: BufferEncoding) => void;
20
+ };
21
+ on: {
22
+ (event: "error", listener: (error: unknown) => void): unknown;
23
+ (event: "close", listener: (code: number | null) => void): unknown;
24
+ };
25
+ }>;
26
+ type GitSpawn = (command: string, args: readonly string[], options: Readonly<{
27
+ cwd?: string;
28
+ stdio: ["ignore", "pipe", "pipe"];
29
+ }>) => GitStreamingChild;
30
+ type GitCommandDependencies = Readonly<{
31
+ execFileAsync: GitExecFileAsync;
32
+ }>;
33
+ type StreamingGitCommandDependencies = Readonly<{
34
+ spawnGit: GitSpawn;
35
+ }>;
36
+ /**
37
+ * @description
38
+ * Runs a git command and normalizes failures into concise errors.
39
+ */
40
+ export declare const runGitCommandWithDependencies: (args: readonly string[], options: GitCommandOptions | undefined, dependencies: GitCommandDependencies) => Promise<{
41
+ stderr: string;
42
+ stdout: string;
43
+ }>;
44
+ /**
45
+ * @description
46
+ * Runs a git command while collecting output.
47
+ */
48
+ export declare const runStreamingGitCommandWithDependencies: (args: readonly string[], options: GitCommandOptions | undefined, dependencies: StreamingGitCommandDependencies) => Promise<{
49
+ stderr: string;
50
+ stdout: string;
51
+ }>;
1
52
  /**
2
53
  * @description
3
54
  * Verifies that a directory is already a git working tree.
@@ -19,4 +70,5 @@ export declare const initializeRepository: (directory: string, source?: string)
19
70
  * Ensures the sync directory is a usable git repository for dotweave commands.
20
71
  */
21
72
  export declare const requireGitRepository: (syncDirectory: string) => Promise<void>;
73
+ export {};
22
74
  //# sourceMappingURL=git.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../../src/lib/git.ts"],"names":[],"mappings":"AA8GA;;;GAGG;AACH,eAAO,MAAM,qBAAqB,GAAU,WAAW,MAAM,kBAE5D,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,oBAAoB,GAC/B,WAAW,MAAM,EACjB,SAAS,MAAM;;;;;;EAgBhB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,oBAAoB,GAAU,eAAe,MAAM,kBAU/D,CAAC"}
1
+ {"version":3,"file":"git.d.ts","sourceRoot":"","sources":["../../src/lib/git.ts"],"names":[],"mappings":"AAMA,KAAK,iBAAiB,GAAG,QAAQ,CAAC;IAAE,GAAG,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAAC;AAEpD,KAAK,gBAAgB,GAAG,CACtB,IAAI,EAAE,MAAM,EACZ,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,OAAO,EAAE,QAAQ,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC,KACC,OAAO,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC,CAAC;AAEH,KAAK,iBAAiB,GAAG,QAAQ,CAAC;IAChC,MAAM,CAAC,EAAE;QACP,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,KAAK,OAAO,CAAC;QAClE,WAAW,EAAE,CAAC,QAAQ,EAAE,cAAc,KAAK,IAAI,CAAC;KACjD,CAAC;IACF,MAAM,CAAC,EAAE;QACP,EAAE,EAAE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,KAAK,OAAO,CAAC;QAClE,WAAW,EAAE,CAAC,QAAQ,EAAE,cAAc,KAAK,IAAI,CAAC;KACjD,CAAC;IACF,EAAE,EAAE;QACF,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,OAAO,KAAK,IAAI,GAAG,OAAO,CAAC;QAC9D,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,GAAG,IAAI,KAAK,IAAI,GAAG,OAAO,CAAC;KACpE,CAAC;CACH,CAAC,CAAC;AAEH,KAAK,QAAQ,GAAG,CACd,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,OAAO,EAAE,QAAQ,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;CACnC,CAAC,KACC,iBAAiB,CAAC;AAEvB,KAAK,sBAAsB,GAAG,QAAQ,CAAC;IACrC,aAAa,EAAE,gBAAgB,CAAC;CACjC,CAAC,CAAC;AAEH,KAAK,+BAA+B,GAAG,QAAQ,CAAC;IAC9C,QAAQ,EAAE,QAAQ,CAAC;CACpB,CAAC,CAAC;AAEH;;;GAGG;AACH,eAAO,MAAM,6BAA6B,GACxC,MAAM,SAAS,MAAM,EAAE,EACvB,SAAS,iBAAiB,GAAG,SAAS,EACtC,cAAc,sBAAsB;;;EA4BrC,CAAC;AAWF;;;GAGG;AACH,eAAO,MAAM,sCAAsC,GACjD,MAAM,SAAS,MAAM,EAAE,EACvB,SAAS,iBAAiB,GAAG,SAAS,EACtC,cAAc,+BAA+B;YAGnC,MAAM;YACN,MAAM;EAsDjB,CAAC;AAWF;;;GAGG;AACH,eAAO,MAAM,qBAAqB,GAAU,WAAW,MAAM,kBAE5D,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,oBAAoB,GAC/B,WAAW,MAAM,EACjB,SAAS,MAAM;;;;;;EAgBhB,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,oBAAoB,GAAU,eAAe,MAAM,kBAU/D,CAAC"}
package/dist/lib/git.js CHANGED
@@ -6,9 +6,9 @@ const execFileAsync = promisify(execFile);
6
6
  * @description
7
7
  * Runs a git command and normalizes failures into concise errors.
8
8
  */
9
- const runGitCommand = async (args, options) => {
9
+ export const runGitCommandWithDependencies = async (args, options, dependencies) => {
10
10
  try {
11
- const result = await execFileAsync("git", [...args], {
11
+ const result = await dependencies.execFileAsync("git", [...args], {
12
12
  cwd: options?.cwd,
13
13
  encoding: "utf8",
14
14
  maxBuffer: 10_000_000,
@@ -30,13 +30,18 @@ const runGitCommand = async (args, options) => {
30
30
  throw new Error(error instanceof Error ? error.message : "git failed.");
31
31
  }
32
32
  };
33
+ const runGitCommand = async (args, options) => {
34
+ return await runGitCommandWithDependencies(args, options, {
35
+ execFileAsync: execFileAsync,
36
+ });
37
+ };
33
38
  /**
34
39
  * @description
35
40
  * Runs a git command while collecting output.
36
41
  */
37
- const runStreamingGitCommand = async (args, options) => {
42
+ export const runStreamingGitCommandWithDependencies = async (args, options, dependencies) => {
38
43
  return await new Promise((resolve, reject) => {
39
- const child = spawn("git", [...args], {
44
+ const child = dependencies.spawnGit("git", [...args], {
40
45
  cwd: options?.cwd,
41
46
  stdio: ["ignore", "pipe", "pipe"],
42
47
  });
@@ -78,6 +83,11 @@ const runStreamingGitCommand = async (args, options) => {
78
83
  });
79
84
  });
80
85
  };
86
+ const runStreamingGitCommand = async (args, options) => {
87
+ return await runStreamingGitCommandWithDependencies(args, options, {
88
+ spawnGit: spawn,
89
+ });
90
+ };
81
91
  /**
82
92
  * @description
83
93
  * Verifies that a directory is already a git working tree.
@@ -1 +1 @@
1
- {"version":3,"file":"git.js","sourceRoot":"","sources":["../../src/lib/git.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"git.js","sourceRoot":"","sources":["../../src/lib/git.ts"],"names":[],"mappings":"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"}
@@ -4,5 +4,17 @@ export declare const buildDirectoryKey: (repoPath: string) => string;
4
4
  export declare const isPathEqualOrNested: (path: string, rootPath: string) => boolean;
5
5
  export declare const doPathsOverlap: (leftPath: string, rightPath: string) => boolean;
6
6
  export declare const isExplicitLocalPath: (target: string) => boolean;
7
+ export type LinkTargetNormalizerPlatform = NodeJS.Platform;
8
+ interface NormalizeLinkTargetDependencies {
9
+ platform?: LinkTargetNormalizerPlatform;
10
+ realpathSyncNative?: (path: string) => string;
11
+ resolvePath?: (...paths: string[]) => string;
12
+ dirnamePath?: (path: string) => string;
13
+ basenamePath?: (path: string) => string;
14
+ joinPath?: (...paths: string[]) => string;
15
+ isAbsolutePath?: (path: string) => boolean;
16
+ }
17
+ export declare const normalizeLinkTargetWithDependencies: (target: string, baseDir: string | undefined, deps?: NormalizeLinkTargetDependencies) => string;
7
18
  export declare const normalizeLinkTarget: (target: string, baseDir?: string) => string;
19
+ export {};
8
20
  //# sourceMappingURL=path.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"path.d.ts","sourceRoot":"","sources":["../../src/lib/path.ts"],"names":[],"mappings":"AAKA,eAAO,MAAM,UAAU,MAAa,CAAC;AACrC,eAAO,MAAM,aAAa,MAAqB,CAAC;AAEhD,eAAO,MAAM,iBAAiB,GAAI,UAAU,MAAM,WAEjD,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,MAAM,MAAM,EAAE,UAAU,MAAM,YASjE,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,UAAU,MAAM,EAAE,WAAW,MAAM,YAKjE,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,QAAQ,MAAM,YAYjD,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,QAAQ,MAAM,EAAE,UAAU,MAAM,WAyCnE,CAAC"}
1
+ {"version":3,"file":"path.d.ts","sourceRoot":"","sources":["../../src/lib/path.ts"],"names":[],"mappings":"AAaA,eAAO,MAAM,UAAU,MAAa,CAAC;AACrC,eAAO,MAAM,aAAa,MAAqB,CAAC;AAEhD,eAAO,MAAM,iBAAiB,GAAI,UAAU,MAAM,WAEjD,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,MAAM,MAAM,EAAE,UAAU,MAAM,YASjE,CAAC;AAEF,eAAO,MAAM,cAAc,GAAI,UAAU,MAAM,EAAE,WAAW,MAAM,YAKjE,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,QAAQ,MAAM,YAYjD,CAAC;AAEF,MAAM,MAAM,4BAA4B,GAAG,MAAM,CAAC,QAAQ,CAAC;AAE3D,UAAU,+BAA+B;IACvC,QAAQ,CAAC,EAAE,4BAA4B,CAAC;IACxC,kBAAkB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IAC9C,WAAW,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,KAAK,MAAM,CAAC;IAC7C,WAAW,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IACvC,YAAY,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,MAAM,CAAC;IACxC,QAAQ,CAAC,EAAE,CAAC,GAAG,KAAK,EAAE,MAAM,EAAE,KAAK,MAAM,CAAC;IAC1C,cAAc,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;CAC5C;AAED,eAAO,MAAM,mCAAmC,GAC9C,QAAQ,MAAM,EACd,SAAS,MAAM,GAAG,SAAS,EAC3B,OAAM,+BAAoC,WA2C3C,CAAC;AAEF,eAAO,MAAM,mBAAmB,GAAI,QAAQ,MAAM,EAAE,UAAU,MAAM,WAEnE,CAAC"}
package/dist/lib/path.js CHANGED
@@ -1,4 +1,5 @@
1
- import { dirname, isAbsolute, relative, resolve } from "node:path";
1
+ import { realpathSync } from "node:fs";
2
+ import { basename, dirname, isAbsolute, join, relative, resolve, } from "node:path";
2
3
  const homePrefix = "~";
3
4
  const posixPathSeparator = "/";
4
5
  export const homeSymbol = homePrefix;
@@ -27,29 +28,36 @@ export const isExplicitLocalPath = (target) => {
27
28
  target.startsWith(homePathPrefix) ||
28
29
  isAbsolute(target));
29
30
  };
30
- export const normalizeLinkTarget = (target, baseDir) => {
31
- const absoluteTarget = baseDir !== undefined && !isAbsolute(target)
32
- ? resolve(baseDir, target)
31
+ export const normalizeLinkTargetWithDependencies = (target, baseDir, deps = {}) => {
32
+ const platform = deps.platform ?? process.platform;
33
+ const realpathSyncNative = deps.realpathSyncNative ?? realpathSync.native;
34
+ const resolvePath = deps.resolvePath ?? resolve;
35
+ const dirnamePath = deps.dirnamePath ?? dirname;
36
+ const basenamePath = deps.basenamePath ?? basename;
37
+ const joinPath = deps.joinPath ?? join;
38
+ const isAbsolutePath = deps.isAbsolutePath ?? isAbsolute;
39
+ const absoluteTarget = baseDir !== undefined && !isAbsolutePath(target)
40
+ ? resolvePath(baseDir, target)
33
41
  : target;
34
- if (process.platform !== "win32") {
42
+ if (platform !== "win32") {
35
43
  return absoluteTarget;
36
44
  }
37
45
  const normalizeSlashes = (p) => p.replaceAll("\\", "/").toLowerCase();
38
46
  const resolveIfWindowsRootRelative = (p) => {
39
47
  if (p.startsWith("\\") && !p.startsWith("\\\\")) {
40
- return resolve(p);
48
+ return resolvePath(p);
41
49
  }
42
50
  return p;
43
51
  };
44
52
  try {
45
- return normalizeSlashes(require("node:fs").realpathSync.native(absoluteTarget));
53
+ return normalizeSlashes(realpathSyncNative(absoluteTarget));
46
54
  }
47
55
  catch {
48
56
  if (baseDir !== undefined) {
49
57
  try {
50
- const dir = dirname(absoluteTarget);
51
- const base = require("node:path").basename(absoluteTarget);
52
- return normalizeSlashes(require("node:path").join(require("node:fs").realpathSync.native(dir), base));
58
+ const dir = dirnamePath(absoluteTarget);
59
+ const base = basenamePath(absoluteTarget);
60
+ return normalizeSlashes(joinPath(realpathSyncNative(dir), base));
53
61
  }
54
62
  catch {
55
63
  return normalizeSlashes(resolveIfWindowsRootRelative(absoluteTarget));
@@ -58,4 +66,7 @@ export const normalizeLinkTarget = (target, baseDir) => {
58
66
  return normalizeSlashes(resolveIfWindowsRootRelative(absoluteTarget));
59
67
  }
60
68
  };
69
+ export const normalizeLinkTarget = (target, baseDir) => {
70
+ return normalizeLinkTargetWithDependencies(target, baseDir);
71
+ };
61
72
  //# sourceMappingURL=path.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"path.js","sourceRoot":"","sources":["../../src/lib/path.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"path.js","sourceRoot":"","sources":["../../src/lib/path.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ import type { ResolvedSyncConfig } from "#app/config/sync-schema.ts";
1
2
  import { type SnapshotNode } from "./local-snapshot.ts";
2
3
  import { type RepoArtifact } from "./repo-artifacts.ts";
3
4
  import { type EffectiveSyncConfig } from "./sync-context.ts";
@@ -16,9 +17,11 @@ export type PushResult = Readonly<{
16
17
  export type PushPlan = Readonly<{
17
18
  artifacts: readonly RepoArtifact[];
18
19
  counts: ReturnType<typeof buildPushCounts>;
20
+ deletedArtifactKeys?: ReadonlySet<string>;
19
21
  deletedArtifactCount: number;
20
22
  desiredArtifactKeys: ReadonlySet<string>;
21
23
  existingArtifactKeys: ReadonlySet<string>;
24
+ staleReplacementDirectoryRoots?: readonly string[];
22
25
  snapshot: ReadonlyMap<string, SnapshotNode>;
23
26
  }>;
24
27
  declare const buildPushCounts: (snapshot: ReadonlyMap<string, SnapshotNode>) => {
@@ -27,7 +30,7 @@ declare const buildPushCounts: (snapshot: ReadonlyMap<string, SnapshotNode>) =>
27
30
  plainFileCount: number;
28
31
  symlinkCount: number;
29
32
  };
30
- export declare const buildPushPlan: (config: EffectiveSyncConfig, syncDirectory: string) => Promise<PushPlan>;
33
+ export declare const buildPushPlan: (config: EffectiveSyncConfig, syncDirectory: string, ownershipConfig?: Pick<ResolvedSyncConfig, "entries" | "profiles">) => Promise<PushPlan>;
31
34
  export declare const buildPushPlanPreview: (plan: PushPlan) => string[];
32
35
  export declare const buildPushResultFromPlan: (plan: PushPlan, dryRun: boolean) => PushResult;
33
36
  export declare const pushChanges: (request: PushRequest) => Promise<PushResult>;
@@ -1 +1 @@
1
- {"version":3,"file":"push.d.ts","sourceRoot":"","sources":["../../src/services/push.ts"],"names":[],"mappings":"AAKA,OAAO,EAAsB,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAC5E,OAAO,EAIL,KAAK,YAAY,EAElB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,KAAK,mBAAmB,EAGzB,MAAM,mBAAmB,CAAC;AAE3B,MAAM,MAAM,WAAW,GAAG,QAAQ,CAAC;IACjC,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,QAAQ,CAAC;IAChC,oBAAoB,EAAE,MAAM,CAAC;IAC7B,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,OAAO,CAAC;IAChB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC,CAAC;AAEH,MAAM,MAAM,QAAQ,GAAG,QAAQ,CAAC;IAC9B,SAAS,EAAE,SAAS,YAAY,EAAE,CAAC;IACnC,MAAM,EAAE,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC;IAC3C,oBAAoB,EAAE,MAAM,CAAC;IAC7B,mBAAmB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACzC,oBAAoB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC1C,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;CAC7C,CAAC,CAAC;AAEH,QAAA,MAAM,eAAe,GAAI,UAAU,WAAW,CAAC,MAAM,EAAE,YAAY,CAAC;;;;;CA8BnE,CAAC;AAEF,eAAO,MAAM,aAAa,GACxB,QAAQ,mBAAmB,EAC3B,eAAe,MAAM,KACpB,OAAO,CAAC,QAAQ,CAwBlB,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,MAAM,QAAQ,aAalD,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAClC,MAAM,QAAQ,EACd,QAAQ,OAAO,KACd,UAMF,CAAC;AAEF,eAAO,MAAM,WAAW,GACtB,SAAS,WAAW,KACnB,OAAO,CAAC,UAAU,CAiCpB,CAAC"}
1
+ {"version":3,"file":"push.d.ts","sourceRoot":"","sources":["../../src/services/push.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;AAIrE,OAAO,EAAsB,KAAK,YAAY,EAAE,MAAM,qBAAqB,CAAC;AAC5E,OAAO,EAOL,KAAK,YAAY,EAIlB,MAAM,qBAAqB,CAAC;AAC7B,OAAO,EACL,KAAK,mBAAmB,EAGzB,MAAM,mBAAmB,CAAC;AAE3B,MAAM,MAAM,WAAW,GAAG,QAAQ,CAAC;IACjC,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,QAAQ,CAAC;IAChC,oBAAoB,EAAE,MAAM,CAAC;IAC7B,cAAc,EAAE,MAAM,CAAC;IACvB,MAAM,EAAE,OAAO,CAAC;IAChB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC,CAAC;AAEH,MAAM,MAAM,QAAQ,GAAG,QAAQ,CAAC;IAC9B,SAAS,EAAE,SAAS,YAAY,EAAE,CAAC;IACnC,MAAM,EAAE,UAAU,CAAC,OAAO,eAAe,CAAC,CAAC;IAC3C,mBAAmB,CAAC,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC1C,oBAAoB,EAAE,MAAM,CAAC;IAC7B,mBAAmB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IACzC,oBAAoB,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAC1C,8BAA8B,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACnD,QAAQ,EAAE,WAAW,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;CAC7C,CAAC,CAAC;AAEH,QAAA,MAAM,eAAe,GAAI,UAAU,WAAW,CAAC,MAAM,EAAE,YAAY,CAAC;;;;;CA8BnE,CAAC;AAEF,eAAO,MAAM,aAAa,GACxB,QAAQ,mBAAmB,EAC3B,eAAe,MAAM,EACrB,kBAAiB,IAAI,CAAC,kBAAkB,EAAE,SAAS,GAAG,UAAU,CAAU,KACzE,OAAO,CAAC,QAAQ,CAiDlB,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,MAAM,QAAQ,aAkBlD,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAClC,MAAM,QAAQ,EACd,QAAQ,OAAO,KACd,UAMF,CAAC;AAoEF,eAAO,MAAM,WAAW,GACtB,SAAS,WAAW,KACnB,OAAO,CAAC,UAAU,CA4CpB,CAAC"}
@@ -1,10 +1,10 @@
1
1
  import { join } from "node:path";
2
2
  import { AppConstants } from "#app/config/constants.ts";
3
- import { removePathAtomically } from "#app/lib/filesystem.ts";
3
+ import { getPathStats, removePathAtomically } from "#app/lib/filesystem.ts";
4
4
  import { requireGitRepository } from "#app/lib/git.ts";
5
5
  import { limitConcurrency } from "#app/lib/promise.ts";
6
6
  import { buildLocalSnapshot } from "./local-snapshot.js";
7
- import { buildArtifactKey, buildRepoArtifacts, collectExistingArtifactKeys, writeArtifactsToDirectory, } from "./repo-artifacts.js";
7
+ import { buildArtifactKey, buildRepoArtifacts, collectArtifactLeafKeys, collectExistingArtifactKeys, nearestEntryOwnsArtifact, parseArtifactRelativePath, resolveArtifactLogicalPath, resolveArtifactRelativePath, writeArtifactsToDirectory, } from "./repo-artifacts.js";
8
8
  import { loadSyncConfig, resolveSyncPaths, } from "./sync-context.js";
9
9
  const buildPushCounts = (snapshot) => {
10
10
  let directoryCount = 0;
@@ -34,34 +34,53 @@ const buildPushCounts = (snapshot) => {
34
34
  symlinkCount,
35
35
  };
36
36
  };
37
- export const buildPushPlan = async (config, syncDirectory) => {
37
+ export const buildPushPlan = async (config, syncDirectory, ownershipConfig = config) => {
38
38
  const snapshot = await buildLocalSnapshot(config);
39
39
  const artifacts = await buildRepoArtifacts(snapshot, config);
40
- const desiredArtifactKeys = new Set(artifacts.map((artifact) => {
41
- return buildArtifactKey(artifact);
40
+ const artifactKeyPairs = artifacts.map((artifact) => {
41
+ return { artifact, key: buildArtifactKey(artifact) };
42
+ });
43
+ const desiredArtifactKeys = new Set(artifactKeyPairs.map(({ key }) => {
44
+ return key;
42
45
  }));
43
- const existingArtifactKeys = await collectExistingArtifactKeys(syncDirectory, config);
44
- const deletedArtifactCount = [...existingArtifactKeys].filter((key) => {
46
+ const existingArtifactKeys = await collectExistingArtifactKeys(syncDirectory, config, ownershipConfig);
47
+ const staleArtifactKeys = [...existingArtifactKeys].filter((key) => {
45
48
  return !desiredArtifactKeys.has(key);
46
- }).length;
49
+ });
50
+ const staleArtifactKeySet = new Set(staleArtifactKeys);
51
+ const replacementPlan = await collectStaleReplacementDirectoryRoots(syncDirectory, artifacts, staleArtifactKeySet, ownershipConfig);
52
+ const writableArtifacts = artifactKeyPairs.flatMap(({ artifact, key }) => {
53
+ return replacementPlan.protectedArtifactKeys.has(key) ? [] : [artifact];
54
+ });
55
+ const writableArtifactKeys = new Set(writableArtifacts.map((artifact) => {
56
+ return buildArtifactKey(artifact);
57
+ }));
58
+ const deletedArtifactKeys = new Set([
59
+ ...staleArtifactKeys,
60
+ ...replacementPlan.deletedArtifactKeys,
61
+ ]);
47
62
  return {
48
- artifacts,
63
+ artifacts: writableArtifacts,
49
64
  counts: buildPushCounts(snapshot),
50
- deletedArtifactCount,
51
- desiredArtifactKeys,
65
+ deletedArtifactCount: deletedArtifactKeys.size,
66
+ deletedArtifactKeys,
67
+ desiredArtifactKeys: writableArtifactKeys,
52
68
  existingArtifactKeys,
69
+ staleReplacementDirectoryRoots: replacementPlan.roots,
53
70
  snapshot,
54
71
  };
55
72
  };
56
73
  export const buildPushPlanPreview = (plan) => {
57
- const createdOrUpdated = [...plan.snapshot.keys()].sort((left, right) => {
74
+ const createdOrUpdated = [
75
+ ...new Set(plan.artifacts.map((artifact) => artifact.repoPath)),
76
+ ].sort((left, right) => {
58
77
  return left.localeCompare(right);
59
78
  });
60
- const deleted = [...plan.existingArtifactKeys]
61
- .filter((key) => {
62
- return !plan.desiredArtifactKeys.has(key);
63
- })
64
- .sort((left, right) => {
79
+ const deletedArtifactKeys = plan.deletedArtifactKeys ??
80
+ new Set([...plan.existingArtifactKeys].filter((key) => {
81
+ return !plan.desiredArtifactKeys.has(key);
82
+ }));
83
+ const deleted = [...deletedArtifactKeys].sort((left, right) => {
65
84
  return left.localeCompare(right);
66
85
  });
67
86
  return [...createdOrUpdated.slice(0, 4), ...deleted.slice(0, 4)].slice(0, 6);
@@ -73,22 +92,62 @@ export const buildPushResultFromPlan = (plan, dryRun) => {
73
92
  ...plan.counts,
74
93
  };
75
94
  };
95
+ const collectStaleReplacementDirectoryRoots = async (syncDirectory, artifacts, staleArtifactKeys, ownershipConfig) => {
96
+ const roots = [];
97
+ const deletedArtifactKeys = new Set();
98
+ const protectedArtifactKeys = new Set();
99
+ for (const artifact of artifacts) {
100
+ if (artifact.kind === "directory") {
101
+ continue;
102
+ }
103
+ const relativePath = resolveArtifactRelativePath(artifact);
104
+ const logicalPath = resolveArtifactLogicalPath(artifact);
105
+ const artifactPath = join(syncDirectory, ...relativePath.split("/"));
106
+ const stats = await getPathStats(artifactPath);
107
+ if (stats?.isDirectory() !== true) {
108
+ continue;
109
+ }
110
+ const parsedRoot = parseArtifactRelativePath(relativePath);
111
+ const inactiveDirectoryOwner = nearestEntryOwnsArtifact(ownershipConfig.entries, parsedRoot, "directory");
112
+ if (inactiveDirectoryOwner) {
113
+ protectedArtifactKeys.add(buildArtifactKey(artifact));
114
+ continue;
115
+ }
116
+ const leafKeys = new Set();
117
+ await collectArtifactLeafKeys(artifactPath, leafKeys, logicalPath, undefined, true);
118
+ if (leafKeys.size === 0) {
119
+ roots.push(relativePath);
120
+ deletedArtifactKeys.add(`${logicalPath}/`);
121
+ continue;
122
+ }
123
+ if ([...leafKeys].every((leafKey) => {
124
+ return staleArtifactKeys.has(leafKey);
125
+ })) {
126
+ roots.push(relativePath);
127
+ continue;
128
+ }
129
+ protectedArtifactKeys.add(buildArtifactKey(artifact));
130
+ }
131
+ return { deletedArtifactKeys, protectedArtifactKeys, roots };
132
+ };
76
133
  export const pushChanges = async (request) => {
77
134
  const { syncDirectory } = resolveSyncPaths();
78
135
  await requireGitRepository(syncDirectory);
79
- const { effectiveConfig: config } = await loadSyncConfig(syncDirectory, {
136
+ const { effectiveConfig: config, fullConfig } = await loadSyncConfig(syncDirectory, {
80
137
  ...(request.profile === undefined ? {} : { profile: request.profile }),
81
138
  });
82
- const plan = await buildPushPlan(config, syncDirectory);
139
+ const plan = await buildPushPlan(config, syncDirectory, fullConfig);
83
140
  if (!request.dryRun) {
84
- const staleArtifactKeys = [...plan.existingArtifactKeys].filter((key) => {
85
- return !plan.desiredArtifactKeys.has(key);
141
+ await limitConcurrency(AppConstants.SYNC.DEFAULT_CONCURRENCY, plan.staleReplacementDirectoryRoots ?? [], async (relativePath) => {
142
+ await removePathAtomically(join(syncDirectory, ...relativePath.split("/")));
86
143
  });
87
- await limitConcurrency(AppConstants.SYNC.DEFAULT_CONCURRENCY, staleArtifactKeys, async (staleKey) => {
144
+ await limitConcurrency(AppConstants.SYNC.DEFAULT_CONCURRENCY, [...plan.existingArtifactKeys].filter((key) => {
145
+ return !plan.desiredArtifactKeys.has(key);
146
+ }), async (staleKey) => {
88
147
  const relativePath = staleKey.endsWith("/")
89
148
  ? staleKey.slice(0, -1)
90
149
  : staleKey;
91
- await removePathAtomically(join(syncDirectory, ...relativePath.split("/")));
150
+ await removePathAtomically(join(syncDirectory, "profiles", ...relativePath.split("/")));
92
151
  });
93
152
  await writeArtifactsToDirectory(syncDirectory, plan.artifacts, config.age);
94
153
  }
@@ -1 +1 @@
1
- {"version":3,"file":"push.js","sourceRoot":"","sources":["../../src/services/push.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"push.js","sourceRoot":"","sources":["../../src/services/push.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,11 @@
1
- import { type ResolvedSyncConfigEntry } from "#app/config/sync-schema.ts";
1
+ import { type ResolvedSyncConfig, type ResolvedSyncConfigEntry } from "#app/config/sync-schema.ts";
2
2
  import type { SnapshotNode } from "./local-snapshot.ts";
3
3
  import type { EffectiveSyncConfig } from "./sync-context.ts";
4
4
  type ArtifactConfig = EffectiveSyncConfig;
5
- export declare const collectArtifactProfiles: (entries: readonly Pick<ResolvedSyncConfigEntry, "profiles">[]) => Set<string>;
5
+ export declare const collectArtifactProfiles: (configOrEntries: readonly Pick<ResolvedSyncConfigEntry, "profiles">[] | Pick<ResolvedSyncConfig, "entries" | "profiles">) => Set<string>;
6
+ export declare const readCommittedProfileRegistry: (syncDirectory: string) => Promise<Set<string> | undefined>;
7
+ export declare const nearestEntryOwnsArtifact: (entries: readonly Pick<ResolvedSyncConfigEntry, "configuredRepoPath" | "kind" | "profiles" | "repoPath">[], artifact: ReturnType<typeof parseArtifactRelativePath>, artifactKind: "directory" | "file") => boolean;
8
+ export declare const entryOwnsArtifact: (entry: Pick<ResolvedSyncConfigEntry, "configuredRepoPath" | "kind" | "profiles" | "repoPath">, artifact: ReturnType<typeof parseArtifactRelativePath>) => boolean;
6
9
  export type RepoArtifact = Readonly<{
7
10
  category: "plain";
8
11
  kind: "directory";
@@ -30,6 +33,7 @@ export type RepoArtifact = Readonly<{
30
33
  executable: boolean;
31
34
  }>;
32
35
  export declare const buildArtifactKey: (artifact: RepoArtifact) => string;
36
+ export declare const resolveArtifactLogicalPath: (artifact: Pick<RepoArtifact, "category" | "profile" | "repoPath">) => string;
33
37
  export declare const isSecretArtifactPath: (relativePath: string) => boolean;
34
38
  export declare const stripSecretArtifactSuffix: (relativePath: string) => string | undefined;
35
39
  export declare const assertStorageSafeRepoPath: (repoPath: string) => void;
@@ -40,7 +44,8 @@ export declare const parseArtifactRelativePath: (relativePath: string) => {
40
44
  secret: boolean;
41
45
  };
42
46
  export declare const buildRepoArtifacts: (snapshot: ReadonlyMap<string, SnapshotNode>, config: ArtifactConfig) => Promise<RepoArtifact[]>;
43
- export declare const collectExistingArtifactKeys: (syncDirectory: string, config: ArtifactConfig) => Promise<Set<string>>;
47
+ export declare const collectArtifactLeafKeys: (rootDirectory: string, keys: Set<string>, prefix?: string, onKey?: (key: string) => void, includeEmptyDirectories?: boolean) => Promise<void>;
48
+ export declare const collectExistingArtifactKeys: (syncDirectory: string, config: ArtifactConfig, ownershipConfig?: Pick<ResolvedSyncConfig, "entries" | "profiles">) => Promise<Set<string>>;
44
49
  type AgeWriteConfig = Readonly<{
45
50
  identityFile: string;
46
51
  recipients: readonly string[];
@@ -1 +1 @@
1
- {"version":3,"file":"repo-artifacts.d.ts","sourceRoot":"","sources":["../../src/services/repo-artifacts.ts"],"names":[],"mappings":"AAOA,OAAO,EAEL,KAAK,uBAAuB,EAC7B,MAAM,4BAA4B,CAAC;AAmBpC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAE7D,KAAK,cAAc,GAAG,mBAAmB,CAAC;AAW1C,eAAO,MAAM,uBAAuB,GAClC,SAAS,SAAS,IAAI,CAAC,uBAAuB,EAAE,UAAU,CAAC,EAAE,gBAY9D,CAAC;AAEF,MAAM,MAAM,YAAY,GACpB,QAAQ,CAAC;IACP,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC,GACF,QAAQ,CAAC;IACP,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,UAAU,CAAC;IACrB,UAAU,EAAE,OAAO,CAAC;CACrB,CAAC,GACF,QAAQ,CAAC;IACP,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC,GACF,QAAQ,CAAC;IACP,QAAQ,EAAE,QAAQ,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,UAAU,CAAC;IACrB,UAAU,EAAE,OAAO,CAAC;CACrB,CAAC,CAAC;AAEP,eAAO,MAAM,gBAAgB,GAAI,UAAU,YAAY,WAMtD,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,cAAc,MAAM,YAExD,CAAC;AAEF,eAAO,MAAM,yBAAyB,GAAI,cAAc,MAAM,uBAS7D,CAAC;AAEF,eAAO,MAAM,yBAAyB,GAAI,UAAU,MAAM,SAazD,CAAC;AAEF,eAAO,MAAM,2BAA2B,GACtC,UAAU,IAAI,CAAC,YAAY,EAAE,UAAU,GAAG,SAAS,GAAG,UAAU,CAAC,WAOlE,CAAC;AAEF,eAAO,MAAM,yBAAyB,GAAI,cAAc,MAAM;;;;CAuB7D,CAAC;AAEF,eAAO,MAAM,kBAAkB,GAC7B,UAAU,WAAW,CAAC,MAAM,EAAE,YAAY,CAAC,EAC3C,QAAQ,cAAc,4BAmFvB,CAAC;AAyCF,eAAO,MAAM,2BAA2B,GACtC,eAAe,MAAM,EACrB,QAAQ,cAAc,yBAwDvB,CAAC;AAEF,KAAK,cAAc,GAAG,QAAQ,CAAC;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;CAC/B,CAAC,CAAC;AAqCH,eAAO,MAAM,qBAAqB,GAChC,eAAe,MAAM,EACrB,UAAU,YAAY,EACtB,YAAY,IAAI,CAAC,cAAc,EAAE,cAAc,CAAC,qBA8CjD,CAAC;AAEF,eAAO,MAAM,yBAAyB,GACpC,eAAe,MAAM,EACrB,WAAW,SAAS,YAAY,EAAE,EAClC,YAAY,cAAc,kBAiD3B,CAAC"}
1
+ {"version":3,"file":"repo-artifacts.d.ts","sourceRoot":"","sources":["../../src/services/repo-artifacts.ts"],"names":[],"mappings":"AASA,OAAO,EAIL,KAAK,kBAAkB,EACvB,KAAK,uBAAuB,EAC7B,MAAM,4BAA4B,CAAC;AAwBpC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxD,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAC;AAE7D,KAAK,cAAc,GAAG,mBAAmB,CAAC;AAgC1C,eAAO,MAAM,uBAAuB,GAClC,iBACI,SAAS,IAAI,CAAC,uBAAuB,EAAE,UAAU,CAAC,EAAE,GACpD,IAAI,CAAC,kBAAkB,EAAE,SAAS,GAAG,UAAU,CAAC,gBAuBrD,CAAC;AA8DF,eAAO,MAAM,4BAA4B,GAAU,eAAe,MAAM,qCAgBvE,CAAC;AAsDF,eAAO,MAAM,wBAAwB,GACnC,SAAS,SAAS,IAAI,CACpB,uBAAuB,EACvB,oBAAoB,GAAG,MAAM,GAAG,UAAU,GAAG,UAAU,CACxD,EAAE,EACH,UAAU,UAAU,CAAC,OAAO,yBAAyB,CAAC,EACtD,cAAc,WAAW,GAAG,MAAM,YA8BnC,CAAC;AAmBF,eAAO,MAAM,iBAAiB,GAC5B,OAAO,IAAI,CACT,uBAAuB,EACvB,oBAAoB,GAAG,MAAM,GAAG,UAAU,GAAG,UAAU,CACxD,EACD,UAAU,UAAU,CAAC,OAAO,yBAAyB,CAAC,YAMvD,CAAC;AAEF,MAAM,MAAM,YAAY,GACpB,QAAQ,CAAC;IACP,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,WAAW,CAAC;IAClB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB,CAAC,GACF,QAAQ,CAAC;IACP,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,UAAU,CAAC;IACrB,UAAU,EAAE,OAAO,CAAC;CACrB,CAAC,GACF,QAAQ,CAAC;IACP,QAAQ,EAAE,OAAO,CAAC;IAClB,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC,GACF,QAAQ,CAAC;IACP,QAAQ,EAAE,QAAQ,CAAC;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,QAAQ,EAAE,UAAU,CAAC;IACrB,UAAU,EAAE,OAAO,CAAC;CACrB,CAAC,CAAC;AAEP,eAAO,MAAM,gBAAgB,GAAI,UAAU,YAAY,WAMtD,CAAC;AAEF,eAAO,MAAM,0BAA0B,GACrC,UAAU,IAAI,CAAC,YAAY,EAAE,UAAU,GAAG,SAAS,GAAG,UAAU,CAAC,WAOlE,CAAC;AAEF,eAAO,MAAM,oBAAoB,GAAI,cAAc,MAAM,YAExD,CAAC;AAEF,eAAO,MAAM,yBAAyB,GAAI,cAAc,MAAM,uBAS7D,CAAC;AAEF,eAAO,MAAM,yBAAyB,GAAI,UAAU,MAAM,SAazD,CAAC;AAEF,eAAO,MAAM,2BAA2B,GACtC,UAAU,IAAI,CAAC,YAAY,EAAE,UAAU,GAAG,SAAS,GAAG,UAAU,CAAC,WAGlE,CAAC;AAEF,eAAO,MAAM,yBAAyB,GAAI,cAAc,MAAM;;;;CA+B7D,CAAC;AA2BF,eAAO,MAAM,kBAAkB,GAC7B,UAAU,WAAW,CAAC,MAAM,EAAE,YAAY,CAAC,EAC3C,QAAQ,cAAc,4BAmFvB,CAAC;AAEF,eAAO,MAAM,uBAAuB,GAClC,eAAe,MAAM,EACrB,MAAM,GAAG,CAAC,MAAM,CAAC,EACjB,SAAS,MAAM,EACf,QAAQ,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,EAC7B,iCAA+B,kBA8ChC,CAAC;AAEF,eAAO,MAAM,2BAA2B,GACtC,eAAe,MAAM,EACrB,QAAQ,cAAc,EACtB,kBAAiB,IAAI,CAAC,kBAAkB,EAAE,SAAS,GAAG,UAAU,CAAU,yBAkH3E,CAAC;AAEF,KAAK,cAAc,GAAG,QAAQ,CAAC;IAC7B,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,SAAS,MAAM,EAAE,CAAC;CAC/B,CAAC,CAAC;AAqCH,eAAO,MAAM,qBAAqB,GAChC,eAAe,MAAM,EACrB,UAAU,YAAY,EACtB,YAAY,IAAI,CAAC,cAAc,EAAE,cAAc,CAAC,qBA8CjD,CAAC;AAEF,eAAO,MAAM,yBAAyB,GACpC,eAAe,MAAM,EACrB,WAAW,SAAS,YAAY,EAAE,EAClC,YAAY,cAAc,kBAiD3B,CAAC"}