@intentic/machine 1.317.0 → 1.319.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 (125) hide show
  1. package/README.md +186 -11
  2. package/dist/commands.d.ts.map +1 -1
  3. package/dist/commands.js +2 -2
  4. package/dist/commands.js.map +1 -1
  5. package/dist/device/commands.d.ts +3 -1
  6. package/dist/device/commands.d.ts.map +1 -1
  7. package/dist/device/commands.js +2 -2
  8. package/dist/device/commands.js.map +1 -1
  9. package/dist/device/connection.d.ts +1 -0
  10. package/dist/device/connection.d.ts.map +1 -1
  11. package/dist/device/connection.js +5 -0
  12. package/dist/device/connection.js.map +1 -1
  13. package/dist/device/grant.d.ts +38 -0
  14. package/dist/device/grant.d.ts.map +1 -1
  15. package/dist/device/loopback-catch.d.ts +3 -0
  16. package/dist/device/loopback-catch.d.ts.map +1 -0
  17. package/dist/device/loopback-catch.js +103 -0
  18. package/dist/device/loopback-catch.js.map +1 -0
  19. package/dist/device/mcp.d.ts.map +1 -1
  20. package/dist/device/mcp.js +8 -1
  21. package/dist/device/mcp.js.map +1 -1
  22. package/dist/device/router.d.ts +38 -0
  23. package/dist/device/router.d.ts.map +1 -1
  24. package/dist/device/router.js +3 -1
  25. package/dist/device/router.js.map +1 -1
  26. package/dist/device/sandbox-cli.d.ts +3 -0
  27. package/dist/device/sandbox-cli.d.ts.map +1 -1
  28. package/dist/device/sandbox-cli.js +42 -0
  29. package/dist/device/sandbox-cli.js.map +1 -1
  30. package/dist/device/sandbox-rounds/ic-rounds.d.ts +3 -4
  31. package/dist/device/sandbox-rounds/ic-rounds.d.ts.map +1 -1
  32. package/dist/device/sandbox-rounds/ic-rounds.js +9 -3
  33. package/dist/device/sandbox-rounds/ic-rounds.js.map +1 -1
  34. package/dist/device/sandbox-rounds/keeper.d.ts +95 -0
  35. package/dist/device/sandbox-rounds/keeper.d.ts.map +1 -0
  36. package/dist/device/sandbox-rounds/keeper.js +277 -0
  37. package/dist/device/sandbox-rounds/keeper.js.map +1 -0
  38. package/dist/device/sandbox-rounds/swap-records.d.ts +1 -0
  39. package/dist/device/sandbox-rounds/swap-records.d.ts.map +1 -1
  40. package/dist/device/sandbox-rounds/swap-records.js +7 -0
  41. package/dist/device/sandbox-rounds/swap-records.js.map +1 -1
  42. package/dist/device/tools/agent.d.ts +2 -2
  43. package/dist/device/tools/agent.d.ts.map +1 -1
  44. package/dist/device/tools/agent.js +1 -3
  45. package/dist/device/tools/agent.js.map +1 -1
  46. package/dist/device/tools/describe.d.ts +1 -1
  47. package/dist/device/tools/describe.d.ts.map +1 -1
  48. package/dist/device/tools/describe.js +2 -1
  49. package/dist/device/tools/describe.js.map +1 -1
  50. package/dist/device/tools/in-flight.d.ts +6 -0
  51. package/dist/device/tools/in-flight.d.ts.map +1 -0
  52. package/dist/device/tools/in-flight.js +26 -0
  53. package/dist/device/tools/in-flight.js.map +1 -0
  54. package/dist/device/tools/sandboxes.d.ts +19 -7
  55. package/dist/device/tools/sandboxes.d.ts.map +1 -1
  56. package/dist/device/tools/sandboxes.js +90 -20
  57. package/dist/device/tools/sandboxes.js.map +1 -1
  58. package/dist/environments/machine.d.ts +1 -0
  59. package/dist/environments/machine.d.ts.map +1 -1
  60. package/dist/environments/machine.js.map +1 -1
  61. package/dist/resident.d.ts +12 -1
  62. package/dist/resident.d.ts.map +1 -1
  63. package/dist/resident.js +45 -14
  64. package/dist/resident.js.map +1 -1
  65. package/dist/status.d.ts.map +1 -1
  66. package/dist/status.js +9 -4
  67. package/dist/status.js.map +1 -1
  68. package/dist/sync/commands.d.ts +21 -1
  69. package/dist/sync/commands.d.ts.map +1 -1
  70. package/dist/sync/commands.js +91 -20
  71. package/dist/sync/commands.js.map +1 -1
  72. package/dist/sync/config.d.ts +10 -1
  73. package/dist/sync/config.d.ts.map +1 -1
  74. package/dist/sync/config.js +42 -1
  75. package/dist/sync/config.js.map +1 -1
  76. package/dist/sync/folders.d.ts +8 -0
  77. package/dist/sync/folders.d.ts.map +1 -0
  78. package/dist/sync/folders.js +34 -0
  79. package/dist/sync/folders.js.map +1 -0
  80. package/dist/sync/git-bridge.d.ts +1 -1
  81. package/dist/sync/git-bridge.d.ts.map +1 -1
  82. package/dist/sync/git-bridge.js +2 -1
  83. package/dist/sync/git-bridge.js.map +1 -1
  84. package/dist/sync/mirror.d.ts.map +1 -1
  85. package/dist/sync/mirror.js +3 -3
  86. package/dist/sync/mirror.js.map +1 -1
  87. package/dist/sync/mutagen.d.ts +16 -3
  88. package/dist/sync/mutagen.d.ts.map +1 -1
  89. package/dist/sync/mutagen.js +40 -22
  90. package/dist/sync/mutagen.js.map +1 -1
  91. package/dist/sync/project-commands.d.ts +23 -0
  92. package/dist/sync/project-commands.d.ts.map +1 -0
  93. package/dist/sync/project-commands.js +212 -0
  94. package/dist/sync/project-commands.js.map +1 -0
  95. package/dist/sync/project-files.d.ts +42 -0
  96. package/dist/sync/project-files.d.ts.map +1 -0
  97. package/dist/sync/project-files.js +110 -0
  98. package/dist/sync/project-files.js.map +1 -0
  99. package/dist/sync/project-local.d.ts +46 -0
  100. package/dist/sync/project-local.d.ts.map +1 -0
  101. package/dist/sync/project-local.js +217 -0
  102. package/dist/sync/project-local.js.map +1 -0
  103. package/dist/sync/project-remote.d.ts +55 -0
  104. package/dist/sync/project-remote.d.ts.map +1 -0
  105. package/dist/sync/project-remote.js +261 -0
  106. package/dist/sync/project-remote.js.map +1 -0
  107. package/dist/sync/project-transfer.d.ts +52 -0
  108. package/dist/sync/project-transfer.d.ts.map +1 -0
  109. package/dist/sync/project-transfer.js +278 -0
  110. package/dist/sync/project-transfer.js.map +1 -0
  111. package/dist/sync/report.d.ts.map +1 -1
  112. package/dist/sync/report.js +6 -4
  113. package/dist/sync/report.js.map +1 -1
  114. package/dist/sync/residue.d.ts.map +1 -1
  115. package/dist/sync/residue.js +2 -1
  116. package/dist/sync/residue.js.map +1 -1
  117. package/dist/sync/restore-points.d.ts +72 -0
  118. package/dist/sync/restore-points.d.ts.map +1 -0
  119. package/dist/sync/restore-points.js +154 -0
  120. package/dist/sync/restore-points.js.map +1 -0
  121. package/dist/sync/ssh.d.ts +3 -0
  122. package/dist/sync/ssh.d.ts.map +1 -1
  123. package/dist/sync/ssh.js +13 -4
  124. package/dist/sync/ssh.js.map +1 -1
  125. package/package.json +8 -8
@@ -1 +1 @@
1
- {"version":3,"file":"mutagen.js","sourceRoot":"","sources":["../../src/sync/mutagen.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mutagen.js","sourceRoot":"","sources":["../../src/sync/mutagen.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,23 @@
1
+ import { type CommandContext } from "@stricli/core";
2
+ import { type Pairing } from "./config.js";
3
+ import { type ProjectPairing } from "./project-transfer.js";
4
+ export declare const projectPairingFor: (pairings: readonly Pairing[], dir: string, platform?: NodeJS.Platform) => Promise<ProjectPairing>;
5
+ interface ProjectFlags {
6
+ readonly dir?: string;
7
+ readonly json: boolean;
8
+ }
9
+ interface BringBackFlags extends ProjectFlags {
10
+ readonly path?: readonly string[];
11
+ readonly pathsFile?: string;
12
+ }
13
+ export declare const pathsFromFile: (file: string) => Promise<string[]>;
14
+ export declare const requestedPaths: (flags: Pick<BringBackFlags, "path" | "pathsFile">) => Promise<string[]>;
15
+ export declare const projectCommands: {
16
+ changes: import("@stricli/core").Command<CommandContext>;
17
+ "bring-back": import("@stricli/core").Command<CommandContext>;
18
+ "restore-points": import("@stricli/core").Command<CommandContext>;
19
+ restore: import("@stricli/core").Command<CommandContext>;
20
+ direction: import("@stricli/core").Command<CommandContext>;
21
+ };
22
+ export {};
23
+ //# sourceMappingURL=project-commands.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-commands.d.ts","sourceRoot":"","sources":["../../src/sync/project-commands.ts"],"names":[],"mappings":"AAEA,OAAO,EAAgB,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAIlE,OAAO,EAAoB,KAAK,OAAO,EAA2E,MAAM,aAAa,CAAC;AAItI,OAAO,EAOH,KAAK,cAAc,EAKtB,MAAM,uBAAuB,CAAC;AAW/B,eAAO,MAAM,iBAAiB,aAAoB,SAAS,OAAO,EAAE,OAAO,MAAM,aAAY,MAAM,CAAC,QAAQ,KAAsB,OAAO,CAAC,cAAc,CAevJ,CAAC;AAiDF,UAAU,YAAY;IAClB,QAAQ,CAAC,GAAG,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;CAC1B;AAiCD,UAAU,cAAe,SAAQ,YAAY;IACzC,QAAQ,CAAC,IAAI,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IAClC,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;CAC/B;AAOD,eAAO,MAAM,aAAa,SAAgB,MAAM,KAAG,OAAO,CAAC,MAAM,EAAE,CAsBlE,CAAC;AAGF,eAAO,MAAM,cAAc,UAAiB,IAAI,CAAC,cAAc,EAAE,MAAM,GAAG,WAAW,CAAC,KAAG,OAAO,CAAC,MAAM,EAAE,CAGxG,CAAC;AAoIF,eAAO,MAAM,eAAe;;;;;;CAM3B,CAAC"}
@@ -0,0 +1,212 @@
1
+ import { readFile } from "node:fs/promises";
2
+ import { errorMessage } from "@intentic/base/errors";
3
+ import { buildCommand } from "@stricli/core";
4
+ import { z } from "zod";
5
+ import { baseDir } from "../config.js";
6
+ import { readResidentPid } from "../resident.js";
7
+ import { isProjectPairing, pairingRemoteDir, readState, setProjectDirection } from "./config.js";
8
+ import { canonicalFolder, foldersOverlap, sameFolder } from "./folders.js";
9
+ import { ensureMutagen, sessionName } from "./mutagen.js";
10
+ import { mutagenSession, realProjectRunner, sandboxCopy } from "./project-remote.js";
11
+ import { bringBack, projectChanges, restorePoint, restorePoints, } from "./project-transfer.js";
12
+ import { mutagenSshPath, sshAlias } from "./ssh.js";
13
+ export const projectPairingFor = async (pairings, dir, platform = process.platform) => {
14
+ const wanted = await canonicalFolder(dir);
15
+ const held = await Promise.all(pairings.flatMap((pairing) => (pairing.localDir === undefined ? [] : [{ ...pairing, localDir: pairing.localDir }])).map(async (pairing) => ({ pairing, folder: await canonicalFolder(pairing.localDir) })));
16
+ const same = held.filter(({ folder }) => sameFolder(wanted, folder, platform));
17
+ const project = same.find(({ pairing }) => isProjectPairing(pairing));
18
+ if (project !== undefined) {
19
+ return project.pairing;
20
+ }
21
+ if (same[0] !== undefined) {
22
+ throw new Error(`${dir} syncs with ${same[0].pairing.sandboxId} as its whole workspace, not as a project: only a project's changes are brought back`);
23
+ }
24
+ const holder = held.find(({ pairing, folder }) => isProjectPairing(pairing) && foldersOverlap(wanted, folder, platform));
25
+ throw new Error(holder === undefined ? `no project on this machine syncs ${dir}` : `${dir} is inside the project folder ${holder.pairing.localDir}: pass that folder`);
26
+ };
27
+ const sentence = (message) => {
28
+ const text = message.trim();
29
+ return `${text.charAt(0).toUpperCase()}${text.slice(1)}${/[.!?]$/.test(text) ? "" : "."}`;
30
+ };
31
+ const answer = async (cli, json, work, human) => {
32
+ try {
33
+ const result = await work();
34
+ cli.process.stdout.write(`${json ? JSON.stringify(result) : human(result)}\n`);
35
+ }
36
+ catch (error) {
37
+ const said = sentence(errorMessage(error));
38
+ if (json) {
39
+ cli.process.stdout.write(`${JSON.stringify({ ok: false, error: said })}\n`);
40
+ }
41
+ else {
42
+ cli.process.stderr.write(`${said}\n`);
43
+ }
44
+ process.exitCode = 1;
45
+ }
46
+ };
47
+ const pairingAt = async (dir) => {
48
+ if (dir === undefined || dir.trim() === "") {
49
+ throw new Error("pass --dir with the project's folder on this machine");
50
+ }
51
+ return await projectPairingFor((await readState()).pairings, dir);
52
+ };
53
+ const contextFor = async (pairing) => ({
54
+ pairing,
55
+ stateDir: baseDir,
56
+ sandbox: sandboxCopy(realProjectRunner, mutagenSshPath(process.platform, process.env["MUTAGEN_SSH_PATH"]), sshAlias(pairing.sandboxId), pairingRemoteDir(pairing)),
57
+ session: mutagenSession(realProjectRunner, await ensureMutagen(), sessionName(pairing.sandboxId)),
58
+ });
59
+ const shown = (path) => (/[\u0000-\u001F\u007F]/.test(path) ? JSON.stringify(path) : path);
60
+ const skippedLines = (skipped) => skipped.map((entry) => ` not brought back: ${shown(entry.path)} (${entry.reason})`);
61
+ const changeLine = (change) => ` ${change.kind.padEnd(8)} ${shown(change.path)}${change.size === undefined ? "" : ` (${change.size} bytes)`}${change.conflict === true ? " CONFLICT: bring-back leaves this folder's copy as it is" : ""}`;
62
+ const projectFlags = {
63
+ dir: { kind: "parsed", parse: String, optional: true, brief: "The project's folder on this machine" },
64
+ json: { kind: "boolean", brief: "Print one JSON object, `ok` first (what the desktop app reads)" },
65
+ };
66
+ const changes = buildCommand({
67
+ docs: { brief: "List what an agent changed in a copy-first project's sandbox copy, compared with the folder here" },
68
+ parameters: { flags: projectFlags },
69
+ async func(flags) {
70
+ let dir = "";
71
+ await answer(this, flags.json, async () => {
72
+ const pairing = await pairingAt(flags.dir);
73
+ dir = pairing.localDir;
74
+ return await projectChanges(await contextFor(pairing));
75
+ }, (result) => result.changes.length === 0
76
+ ? `The sandbox's copy of ${dir} has nothing to bring back.`
77
+ : [
78
+ `The sandbox's copy of ${dir} holds ${result.changes.length}${result.truncated === true ? "+" : ""} change(s) this folder does not (${result.direction}):`,
79
+ ...result.changes.map(changeLine),
80
+ ...(result.truncated === true ? [` … and more: only the first ${result.changes.length} are listed.`] : []),
81
+ `Bring them back with \`intentic-machine sync bring-back --dir ${JSON.stringify(dir)}\`, which keeps a restore point first.`,
82
+ ].join("\n"));
83
+ },
84
+ });
85
+ const PathsFileSchema = z.array(z.string().min(1));
86
+ export const pathsFromFile = async (file) => {
87
+ let raw;
88
+ try {
89
+ raw = await readFile(file, "utf8");
90
+ }
91
+ catch (error) {
92
+ throw new Error(`the paths file ${file} could not be read (${errorMessage(error)})`, { cause: error });
93
+ }
94
+ let listed;
95
+ try {
96
+ listed = PathsFileSchema.safeParse(JSON.parse(raw.replace(/^\uFEFF/, ""))).data;
97
+ }
98
+ catch {
99
+ listed = undefined;
100
+ }
101
+ if (listed === undefined) {
102
+ throw new Error(`the paths file ${file} is not a JSON array of relative paths`);
103
+ }
104
+ if (listed.length === 0) {
105
+ throw new Error(`the paths file ${file} lists no paths: leave it out to bring every change back`);
106
+ }
107
+ return listed;
108
+ };
109
+ export const requestedPaths = async (flags) => {
110
+ const fromFile = flags.pathsFile === undefined ? [] : await pathsFromFile(flags.pathsFile);
111
+ return [...new Set([...(flags.path ?? []), ...fromFile])];
112
+ };
113
+ const bringBackCommand = buildCommand({
114
+ docs: { brief: "Bring a copy-first project's changes from its sandbox into the folder here, keeping a restore point first" },
115
+ parameters: {
116
+ flags: {
117
+ ...projectFlags,
118
+ path: {
119
+ kind: "parsed",
120
+ parse: String,
121
+ variadic: true,
122
+ optional: true,
123
+ brief: "Only this path, relative to the folder, or everything under it (repeatable). Default: every change",
124
+ },
125
+ pathsFile: {
126
+ kind: "parsed",
127
+ parse: String,
128
+ optional: true,
129
+ brief: "A UTF-8 file holding a JSON array of such paths, taken together with any --path",
130
+ },
131
+ },
132
+ },
133
+ async func(flags) {
134
+ let dir = "";
135
+ await answer(this, flags.json, async () => {
136
+ const pairing = await pairingAt(flags.dir);
137
+ dir = pairing.localDir;
138
+ const paths = await requestedPaths(flags);
139
+ return await bringBack(await contextFor(pairing), paths);
140
+ }, (result) => [
141
+ result.applied.length === 0
142
+ ? `Nothing was brought back into ${dir}.`
143
+ : `Brought ${result.applied.length} change(s) back into ${dir}. Restore point ${result.point} holds what they replaced: \`intentic-machine sync restore --dir ${JSON.stringify(dir)} --point ${result.point}\` puts it back.`,
144
+ ...skippedLines(result.skipped),
145
+ ].join("\n"));
146
+ },
147
+ });
148
+ const restorePointsCommand = buildCommand({
149
+ docs: { brief: "List a copy-first project's restore points, newest first" },
150
+ parameters: { flags: projectFlags },
151
+ async func(flags) {
152
+ let dir = "";
153
+ await answer(this, flags.json, async () => {
154
+ const pairing = await pairingAt(flags.dir);
155
+ dir = pairing.localDir;
156
+ return await restorePoints({ pairing, stateDir: baseDir });
157
+ }, (result) => result.points.length === 0
158
+ ? `No restore points for ${dir}: one is kept at each bring-back.`
159
+ : [`Restore points for ${dir}, newest first:`, ...result.points.map((point) => ` ${point.id} ${point.createdAt} ${point.entries} file(s)`)].join("\n"));
160
+ },
161
+ });
162
+ const restoreCommand = buildCommand({
163
+ docs: { brief: "Undo a bring-back: put back what it replaced and remove what it added, where nothing changed since" },
164
+ parameters: { flags: { ...projectFlags, point: { kind: "parsed", parse: String, optional: true, brief: "The restore point's id (`sync restore-points` lists them)" } } },
165
+ async func(flags) {
166
+ await answer(this, flags.json, async () => {
167
+ if (flags.point === undefined || flags.point.trim() === "") {
168
+ throw new Error("pass --point with a restore point's id (`intentic-machine sync restore-points` lists them)");
169
+ }
170
+ const point = flags.point.trim();
171
+ return await restorePoint(await contextFor(await pairingAt(flags.dir)), point);
172
+ }, (result) => [`Restored ${result.restored} file(s).`, ...result.skipped.map((entry) => ` not restored: ${shown(entry.path)} (${entry.reason})`)].join("\n"));
173
+ },
174
+ });
175
+ const DIRECTIONS = ["to-sandbox", "both"];
176
+ const directionCommand = buildCommand({
177
+ docs: { brief: "Make a project copy-first (to-sandbox, the default) or sync it both ways (both)" },
178
+ parameters: {
179
+ flags: projectFlags,
180
+ positional: { kind: "tuple", parameters: [{ brief: "to-sandbox or both", parse: String, optional: true, placeholder: "direction" }] },
181
+ },
182
+ async func(flags, value) {
183
+ let dir = "";
184
+ let running = true;
185
+ await answer(this, flags.json, async () => {
186
+ const direction = DIRECTIONS.find((known) => known === value);
187
+ if (direction === undefined) {
188
+ throw new Error(`say which way: \`to-sandbox\` (copy-first) or \`both\`${value === undefined ? "" : `, not ${JSON.stringify(value)}`}`);
189
+ }
190
+ const pairing = await pairingAt(flags.dir);
191
+ dir = pairing.localDir;
192
+ await setProjectDirection(pairing.sandboxId, direction);
193
+ running = (await readResidentPid()) !== undefined;
194
+ return { ok: true, direction };
195
+ }, (result) => [
196
+ result.direction === "both"
197
+ ? `${dir} now syncs both ways: what an agent changes in the sandbox comes straight back here, deletions included. A file both sides changed is held as a conflict rather than overwritten.`
198
+ : `${dir} is copy-first: it flows into the sandbox, and what an agent changes there comes back only when you bring it back.`,
199
+ running
200
+ ? "This machine's agent switches its file sync over within a few seconds."
201
+ : "This machine's agent is not running, so the switch applies when it next starts (`intentic-machine run`).",
202
+ ].join("\n"));
203
+ },
204
+ });
205
+ export const projectCommands = {
206
+ changes,
207
+ "bring-back": bringBackCommand,
208
+ "restore-points": restorePointsCommand,
209
+ restore: restoreCommand,
210
+ direction: directionCommand,
211
+ };
212
+ //# sourceMappingURL=project-commands.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-commands.js","sourceRoot":"","sources":["../../src/sync/project-commands.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,42 @@
1
+ export interface FileStamp {
2
+ readonly size: number;
3
+ readonly hash?: string | undefined;
4
+ }
5
+ export type Listed = FileStamp | "other";
6
+ export type Listing = ReadonlyMap<string, Listed>;
7
+ export type ChangeKind = "added" | "modified" | "deleted";
8
+ export interface ProjectChange {
9
+ readonly path: string;
10
+ readonly kind: ChangeKind;
11
+ readonly size?: number;
12
+ readonly held?: string;
13
+ }
14
+ export declare const CHANGES_MAX = 5000;
15
+ export declare const ignoreExpression: (pattern: string) => string;
16
+ export declare const ignoreExpressions: (patterns: readonly string[]) => string[];
17
+ export declare const ignoreMatcher: (patterns: readonly string[]) => ((path: string) => boolean);
18
+ export declare const isPortablePath: (path: string) => boolean;
19
+ export declare const parseListing: (raw: string) => Map<string, Listed>;
20
+ export interface Evidence {
21
+ readonly current: boolean;
22
+ readonly unchangedHere: ReadonlyMap<string, boolean>;
23
+ }
24
+ export declare const HELD_NOT_RUNNING = "the sync was not running, so whether this folder's copy changed too cannot be told; it is left as it is";
25
+ export declare const HELD_CHANGED_HERE = "it changed here too since the two copies last agreed; this folder's copy is left as it is";
26
+ export declare const HELD_UNKNOWN = "no listing has seen the two copies agree on it, so whether it changed here too is not known; this folder's copy is left as it is";
27
+ export interface Classified {
28
+ readonly changes: readonly ProjectChange[];
29
+ readonly agreed: ReadonlyMap<string, string>;
30
+ }
31
+ export declare const classify: (local: Listing, remote: Listing, agreed: ReadonlyMap<string, string>, evidence: Evidence) => Classified;
32
+ export interface CappedChanges {
33
+ readonly changes: readonly ProjectChange[];
34
+ readonly truncated: boolean;
35
+ }
36
+ export declare const capped: (changes: readonly ProjectChange[]) => CappedChanges;
37
+ export interface Selection {
38
+ readonly selected: readonly ProjectChange[];
39
+ readonly unmatched: readonly string[];
40
+ }
41
+ export declare const selectChanges: (changes: readonly ProjectChange[], paths: readonly string[]) => Selection;
42
+ //# sourceMappingURL=project-files.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-files.d.ts","sourceRoot":"","sources":["../../src/sync/project-files.ts"],"names":[],"mappings":"AAQA,MAAM,WAAW,SAAS;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACtC;AAID,MAAM,MAAM,MAAM,GAAG,SAAS,GAAG,OAAO,CAAC;AACzC,MAAM,MAAM,OAAO,GAAG,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAElD,MAAM,MAAM,UAAU,GAAG,OAAO,GAAG,UAAU,GAAG,SAAS,CAAC;AAI1D,MAAM,WAAW,aAAa;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,UAAU,CAAC;IAC1B,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;CAC1B;AAGD,eAAO,MAAM,WAAW,OAAQ,CAAC;AAgBjC,eAAO,MAAM,gBAAgB,YAAa,MAAM,KAAG,MAOlD,CAAC;AAGF,eAAO,MAAM,iBAAiB,aAAc,SAAS,MAAM,EAAE,KAAG,MAAM,EAA4D,CAAC;AAEnI,eAAO,MAAM,aAAa,aAAc,SAAS,MAAM,EAAE,KAAG,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAGrF,CAAC;AAIF,eAAO,MAAM,cAAc,SAAU,MAAM,KAAG,OAA6D,CAAC;AAO5G,eAAO,MAAM,YAAY,QAAS,MAAM,KAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAmB5D,CAAC;AAKF,MAAM,WAAW,QAAQ;IAGrB,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAC;IAG1B,QAAQ,CAAC,aAAa,EAAE,WAAW,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACxD;AAGD,eAAO,MAAM,gBAAgB,4GAA4G,CAAC;AAC1I,eAAO,MAAM,iBAAiB,8FAA8F,CAAC;AAC7H,eAAO,MAAM,YAAY,qIAAqI,CAAC;AAsC/J,MAAM,WAAW,UAAU;IAEvB,QAAQ,CAAC,OAAO,EAAE,SAAS,aAAa,EAAE,CAAC;IAE3C,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChD;AAED,eAAO,MAAM,QAAQ,UAAW,OAAO,UAAU,OAAO,UAAU,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,YAAY,QAAQ,KAAG,UAuBnH,CAAC;AAEF,MAAM,WAAW,aAAa;IAC1B,QAAQ,CAAC,OAAO,EAAE,SAAS,aAAa,EAAE,CAAC;IAC3C,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;CAC/B;AAGD,eAAO,MAAM,MAAM,YAAa,SAAS,aAAa,EAAE,KAAG,aAGzD,CAAC;AAEH,MAAM,WAAW,SAAS;IACtB,QAAQ,CAAC,QAAQ,EAAE,SAAS,aAAa,EAAE,CAAC;IAE5C,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;CACzC;AAID,eAAO,MAAM,aAAa,YAAa,SAAS,aAAa,EAAE,SAAS,SAAS,MAAM,EAAE,KAAG,SAU3F,CAAC"}
@@ -0,0 +1,110 @@
1
+ import { isSafeRelativePath } from "./residue.js";
2
+ export const CHANGES_MAX = 5_000;
3
+ const MUTAGEN_TEMPORARY = ".mutagen-temporary-*";
4
+ const PATTERN = /^\/?[^/*?[\]!\\{}]*(?:\*[^/*?[\]!\\{}]*)*$/;
5
+ const escaped = (text) => text.replace(/[.*+?^${}()|[\]\\]/g, String.raw `\$&`);
6
+ export const ignoreExpression = (pattern) => {
7
+ const bare = pattern.replace(/^\//, "");
8
+ if (!PATTERN.test(pattern) || bare === "" || bare.includes("**")) {
9
+ throw new Error(`the ignore pattern ${JSON.stringify(pattern)} is not one this agent can match exactly, so it will not compare the folder with the sandbox's copy`);
10
+ }
11
+ const name = bare.split("*").map(escaped).join("[^/]*");
12
+ return `${pattern.startsWith("/") ? "^" : "(?:^|/)"}${name}(?:/|$)`;
13
+ };
14
+ export const ignoreExpressions = (patterns) => [...patterns, MUTAGEN_TEMPORARY].map(ignoreExpression);
15
+ export const ignoreMatcher = (patterns) => {
16
+ const rules = ignoreExpressions(patterns).map((source) => new RegExp(source));
17
+ return (path) => rules.some((rule) => rule.test(path));
18
+ };
19
+ export const isPortablePath = (path) => isSafeRelativePath(path) && !/^[a-z]:/i.test(path);
20
+ const HASH = /^[0-9a-f]{64}$/;
21
+ export const parseListing = (raw) => {
22
+ const fields = raw.split("\0");
23
+ if (fields.pop() !== "" || fields.length % 3 !== 0) {
24
+ throw new Error("the sandbox's file listing ended early");
25
+ }
26
+ const listing = new Map();
27
+ for (let at = 0; at < fields.length; at += 3) {
28
+ const [path = "", size = "", hash = ""] = fields.slice(at, at + 3);
29
+ if (!isPortablePath(path)) {
30
+ continue;
31
+ }
32
+ const bytes = Number(size);
33
+ const entry = size === "-" && hash === "-" ? "other" : Number.isSafeInteger(bytes) && bytes >= 0 && HASH.test(hash) ? { size: bytes, hash } : undefined;
34
+ if (entry === undefined || listing.has(path)) {
35
+ throw new Error(`the sandbox's file listing is not one this agent wrote (at ${JSON.stringify(path)})`);
36
+ }
37
+ listing.set(path, entry);
38
+ }
39
+ return listing;
40
+ };
41
+ const sameFile = (here, there) => here.size === there.size && here.hash !== undefined && here.hash === there.hash;
42
+ export const HELD_NOT_RUNNING = "the sync was not running, so whether this folder's copy changed too cannot be told; it is left as it is";
43
+ export const HELD_CHANGED_HERE = "it changed here too since the two copies last agreed; this folder's copy is left as it is";
44
+ export const HELD_UNKNOWN = "no listing has seen the two copies agree on it, so whether it changed here too is not known; this folder's copy is left as it is";
45
+ const heldBecause = (path, here, agreed, evidence) => {
46
+ if (!evidence.current) {
47
+ return HELD_NOT_RUNNING;
48
+ }
49
+ const reported = evidence.unchangedHere.get(path);
50
+ if (reported !== undefined) {
51
+ return reported ? undefined : HELD_CHANGED_HERE;
52
+ }
53
+ if (agreed === undefined) {
54
+ return HELD_UNKNOWN;
55
+ }
56
+ return here.hash === agreed ? undefined : HELD_CHANGED_HERE;
57
+ };
58
+ const changeOf = (path, here, there, agreed, evidence) => {
59
+ if (there === undefined) {
60
+ return agreed !== undefined && here?.hash === agreed ? { path, kind: "deleted" } : undefined;
61
+ }
62
+ if (agreed !== undefined && there.hash === agreed) {
63
+ return undefined;
64
+ }
65
+ if (here === undefined) {
66
+ return { path, kind: "added", size: there.size };
67
+ }
68
+ const held = heldBecause(path, here, agreed, evidence);
69
+ return held === undefined ? { path, kind: "modified", size: there.size } : { path, kind: "modified", size: there.size, held };
70
+ };
71
+ export const classify = (local, remote, agreed, evidence) => {
72
+ const changes = [];
73
+ const next = new Map();
74
+ for (const path of [...new Set([...local.keys(), ...remote.keys()])].toSorted()) {
75
+ const here = local.get(path);
76
+ const there = remote.get(path);
77
+ if (here === "other" || there === "other") {
78
+ continue;
79
+ }
80
+ if (here !== undefined && there !== undefined && sameFile(here, there) && there.hash !== undefined) {
81
+ next.set(path, there.hash);
82
+ continue;
83
+ }
84
+ const before = agreed.get(path);
85
+ if (before !== undefined) {
86
+ next.set(path, before);
87
+ }
88
+ const change = changeOf(path, here, there, before, evidence);
89
+ if (change !== undefined) {
90
+ changes.push(change);
91
+ }
92
+ }
93
+ return { changes, agreed: next };
94
+ };
95
+ export const capped = (changes) => ({
96
+ changes: changes.slice(0, CHANGES_MAX),
97
+ truncated: changes.length > CHANGES_MAX,
98
+ });
99
+ export const selectChanges = (changes, paths) => {
100
+ if (paths.length === 0) {
101
+ return { selected: changes, unmatched: [] };
102
+ }
103
+ const wanted = paths.map((path) => path.replace(/\/+$/, ""));
104
+ const names = (path, change) => change.path === path || change.path.startsWith(`${path}/`);
105
+ return {
106
+ selected: changes.filter((change) => wanted.some((path) => names(path, change))),
107
+ unmatched: wanted.filter((path) => !changes.some((change) => names(path, change))),
108
+ };
109
+ };
110
+ //# sourceMappingURL=project-files.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-files.js","sourceRoot":"","sources":["../../src/sync/project-files.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,46 @@
1
+ import { type FileStamp, type Listed } from "./project-files.js";
2
+ export declare const hashFile: (path: string, algorithm?: "sha256" | "sha1") => Promise<string>;
3
+ export interface Durability {
4
+ readonly file: (path: string) => Promise<void>;
5
+ readonly folder: (path: string) => Promise<void>;
6
+ }
7
+ export declare const realDurability: Durability;
8
+ export interface CachedHash {
9
+ readonly size: number;
10
+ readonly mtimeMs: number;
11
+ readonly ctimeMs: number;
12
+ readonly hash: string;
13
+ }
14
+ export interface ListingRecord {
15
+ readonly files: ReadonlyMap<string, CachedHash>;
16
+ readonly agreed: ReadonlyMap<string, string>;
17
+ }
18
+ export declare const listingRecordPath: (stateDir: string, sandboxId: string) => string;
19
+ export declare const readListingRecord: (path: string, localDir: string, remoteDir: string) => Promise<ListingRecord>;
20
+ export declare const writeListingRecord: (path: string, localDir: string, remoteDir: string, record: ListingRecord) => Promise<void>;
21
+ export interface LocalWalk {
22
+ readonly root: string;
23
+ readonly ignored: (path: string) => boolean;
24
+ readonly cached: ReadonlyMap<string, CachedHash>;
25
+ readonly wantsHash: (path: string, size: number) => boolean;
26
+ }
27
+ export interface LocalListing {
28
+ readonly listing: ReadonlyMap<string, Listed>;
29
+ readonly hashes: ReadonlyMap<string, CachedHash>;
30
+ }
31
+ export declare const assertFolder: (root: string) => Promise<void>;
32
+ export declare const walkLocal: (walk: LocalWalk) => Promise<LocalListing>;
33
+ export declare const localTarget: (root: string, path: string) => Promise<string>;
34
+ export interface LocalFile extends FileStamp {
35
+ readonly hash: string;
36
+ readonly mode: number;
37
+ }
38
+ export declare const localFile: (root: string, path: string) => Promise<LocalFile | undefined>;
39
+ export type FileMode = {
40
+ readonly exact: number;
41
+ } | {
42
+ readonly executable: boolean;
43
+ };
44
+ export declare const installFile: (root: string, path: string, source: string, mode: FileMode) => Promise<void>;
45
+ export declare const removeFile: (root: string, path: string) => Promise<void>;
46
+ //# sourceMappingURL=project-local.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"project-local.d.ts","sourceRoot":"","sources":["../../src/sync/project-local.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,KAAK,SAAS,EAAkB,KAAK,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAMjF,eAAO,MAAM,QAAQ,SAAgB,MAAM,cAAa,QAAQ,GAAG,MAAM,KAAc,OAAO,CAAC,MAAM,CAMpG,CAAC;AAKF,MAAM,WAAW,UAAU;IACvB,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/C,QAAQ,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACpD;AAWD,eAAO,MAAM,cAAc,EAAE,UAO5B,CAAC;AAIF,MAAM,WAAW,UAAU;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACzB;AAYD,MAAM,WAAW,aAAa;IAC1B,QAAQ,CAAC,KAAK,EAAE,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAChD,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;CAChD;AAED,eAAO,MAAM,iBAAiB,aAAc,MAAM,aAAa,MAAM,KAAG,MAA2E,CAAC;AAIpJ,eAAO,MAAM,iBAAiB,SAAgB,MAAM,YAAY,MAAM,aAAa,MAAM,KAAG,OAAO,CAAC,aAAa,CAQhH,CAAC;AAWF,eAAO,MAAM,kBAAkB,SAAgB,MAAM,YAAY,MAAM,aAAa,MAAM,UAAU,aAAa,KAAG,OAAO,CAAC,IAAI,CAG/H,CAAC;AAEF,MAAM,WAAW,SAAS;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;IAC5C,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;IAEjD,QAAQ,CAAC,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;CAC/D;AAED,MAAM,WAAW,YAAY;IACzB,QAAQ,CAAC,OAAO,EAAE,WAAW,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAE9C,QAAQ,CAAC,MAAM,EAAE,WAAW,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;CACpD;AAID,eAAO,MAAM,YAAY,SAAgB,MAAM,KAAG,OAAO,CAAC,IAAI,CAK7D,CAAC;AAGF,eAAO,MAAM,SAAS,SAAgB,SAAS,KAAG,OAAO,CAAC,YAAY,CAsDrE,CAAC;AAMF,eAAO,MAAM,WAAW,SAAgB,MAAM,QAAQ,MAAM,KAAG,OAAO,CAAC,MAAM,CAmB5E,CAAC;AAGF,MAAM,WAAW,SAAU,SAAQ,SAAS;IACxC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACzB;AAED,eAAO,MAAM,SAAS,SAAgB,MAAM,QAAQ,MAAM,KAAG,OAAO,CAAC,SAAS,GAAG,SAAS,CAIzF,CAAC;AAwBF,MAAM,MAAM,QAAQ,GAAG;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,GAAG;IAAE,QAAQ,CAAC,UAAU,EAAE,OAAO,CAAA;CAAE,CAAC;AAMrF,eAAO,MAAM,WAAW,SAAgB,MAAM,QAAQ,MAAM,UAAU,MAAM,QAAQ,QAAQ,KAAG,OAAO,CAAC,IAAI,CAuB1G,CAAC;AAiCF,eAAO,MAAM,UAAU,SAAgB,MAAM,QAAQ,MAAM,KAAG,OAAO,CAAC,IAAI,CAczE,CAAC"}