@yu_robotics/remote-cli 1.6.139 → 1.6.141
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +27 -1
- package/dist/delegation/DelegatedWorkspaceManager.d.ts.map +1 -1
- package/dist/delegation/DelegatedWorkspaceManager.js +38 -4
- package/dist/delegation/DelegatedWorkspaceManager.js.map +1 -1
- package/dist/delegation/DelegationManager.d.ts +2 -0
- package/dist/delegation/DelegationManager.d.ts.map +1 -1
- package/dist/delegation/DelegationManager.js +130 -69
- package/dist/delegation/DelegationManager.js.map +1 -1
- package/dist/delegation/GitCheckpoint.d.ts +10 -2
- package/dist/delegation/GitCheckpoint.d.ts.map +1 -1
- package/dist/delegation/GitCheckpoint.js +286 -41
- package/dist/delegation/GitCheckpoint.js.map +1 -1
- package/dist/delegation/contract.d.ts +1 -1
- package/dist/delegation/contract.js +1 -1
- package/dist/delegation/contract.js.map +1 -1
- package/dist/maintenance/release-notes.json +1 -1
- package/package.json +1 -1
|
@@ -7,6 +7,7 @@ exports.GitCommandError = exports.GIT_OID = exports.CHECKPOINT_LIMITS = void 0;
|
|
|
7
7
|
exports.runGit = runGit;
|
|
8
8
|
exports.gitText = gitText;
|
|
9
9
|
exports.checkpointRevision = checkpointRevision;
|
|
10
|
+
exports.importGitTree = importGitTree;
|
|
10
11
|
exports.createCheckpointCommit = createCheckpointCommit;
|
|
11
12
|
exports.captureCheckpoint = captureCheckpoint;
|
|
12
13
|
const child_process_1 = require("child_process");
|
|
@@ -28,13 +29,19 @@ class GitCommandError extends Error {
|
|
|
28
29
|
}
|
|
29
30
|
}
|
|
30
31
|
exports.GitCommandError = GitCommandError;
|
|
32
|
+
function gitEnvironment(extra = {}) {
|
|
33
|
+
const inherited = Object.fromEntries(Object.entries(process.env).filter(([name]) => !name.startsWith('GIT_')));
|
|
34
|
+
return { ...inherited, LC_ALL: 'C', ...extra };
|
|
35
|
+
}
|
|
36
|
+
function gitArguments(args) {
|
|
37
|
+
return ['-c', 'core.hooksPath=' + (process.platform === 'win32' ? 'NUL' : '/dev/null'),
|
|
38
|
+
'-c', 'core.fsmonitor=false', '-c', 'gc.auto=0', '-c', 'maintenance.auto=false', ...args];
|
|
39
|
+
}
|
|
31
40
|
/** Fixed argv only; neither a shell nor the user's Git environment selects the repository. */
|
|
32
41
|
async function runGit(cwd, args, input, extraEnv = {}) {
|
|
33
|
-
const env = Object.fromEntries(Object.entries(process.env).filter(([name]) => !name.startsWith('GIT_')));
|
|
34
42
|
return new Promise((resolve, reject) => {
|
|
35
|
-
const child = (0, child_process_1.spawn)('git',
|
|
36
|
-
|
|
37
|
-
cwd, env: { ...env, LC_ALL: 'C', ...extraEnv }, stdio: ['pipe', 'pipe', 'pipe'],
|
|
43
|
+
const child = (0, child_process_1.spawn)('git', gitArguments(args), {
|
|
44
|
+
cwd, env: gitEnvironment(extraEnv), stdio: ['pipe', 'pipe', 'pipe'],
|
|
38
45
|
});
|
|
39
46
|
const chunks = [];
|
|
40
47
|
let size = 0;
|
|
@@ -73,19 +80,98 @@ async function runGit(cwd, args, input, extraEnv = {}) {
|
|
|
73
80
|
async function gitText(cwd, args, input, env) {
|
|
74
81
|
return (await runGit(cwd, args, input, env)).toString('utf8').trim();
|
|
75
82
|
}
|
|
76
|
-
function checkpointRevision(head, tree, index) {
|
|
77
|
-
|
|
83
|
+
function checkpointRevision(head, tree, index, repositories = []) {
|
|
84
|
+
const hash = (0, crypto_1.createHash)('sha256').update(head).update('\0').update(tree).update('\0').update(index);
|
|
85
|
+
if (repositories.length)
|
|
86
|
+
hash.update('\0repositories\0').update(JSON.stringify(repositories));
|
|
87
|
+
return hash.digest('hex');
|
|
88
|
+
}
|
|
89
|
+
/** Transfer local objects through a pipe, without buffering repository contents or fetching a remote. */
|
|
90
|
+
async function importGitTree(source, destination, tree) {
|
|
91
|
+
if (!exports.GIT_OID.test(tree))
|
|
92
|
+
throw new Error('Invalid nested checkpoint tree');
|
|
93
|
+
if (await gitText(source, ['rev-parse', '--show-object-format']) !== await gitText(destination, ['rev-parse', '--show-object-format'])) {
|
|
94
|
+
throw new Error('Nested repository uses a different Git object format');
|
|
95
|
+
}
|
|
96
|
+
const objects = await promises_1.default.realpath(path_1.default.resolve(destination, await gitText(destination, ['rev-parse', '--git-path', 'objects'])));
|
|
97
|
+
const incoming = await promises_1.default.mkdtemp(path_1.default.join(objects, 'tmp_objdir-incoming-'));
|
|
98
|
+
try {
|
|
99
|
+
await promises_1.default.mkdir(path_1.default.join(incoming, 'pack'));
|
|
100
|
+
const published = path_1.default.join(objects, 'pack');
|
|
101
|
+
await promises_1.default.mkdir(published, { recursive: true });
|
|
102
|
+
await transferGitTree(source, destination, tree, {
|
|
103
|
+
GIT_OBJECT_DIRECTORY: incoming,
|
|
104
|
+
GIT_ALTERNATE_OBJECT_DIRECTORIES: JSON.stringify(objects),
|
|
105
|
+
});
|
|
106
|
+
const files = await promises_1.default.readdir(path_1.default.join(incoming, 'pack'));
|
|
107
|
+
if (!files.some(file => file.endsWith('.pack')) || !files.some(file => file.endsWith('.idx'))
|
|
108
|
+
|| files.some(file => !/^pack-(?:[a-f0-9]{40}|[a-f0-9]{64})\.(?:pack|idx|rev)$/.test(file))) {
|
|
109
|
+
throw new Error('Nested Git transfer produced an incomplete pack');
|
|
110
|
+
}
|
|
111
|
+
// Only complete packs leave quarantine. Publish indexes last so Git never
|
|
112
|
+
// discovers a pack while its bytes are still being received or promoted.
|
|
113
|
+
files.sort((left, right) => Number(left.endsWith('.idx')) - Number(right.endsWith('.idx')));
|
|
114
|
+
for (const file of files)
|
|
115
|
+
await promises_1.default.rename(path_1.default.join(incoming, 'pack', file), path_1.default.join(published, file));
|
|
116
|
+
}
|
|
117
|
+
finally {
|
|
118
|
+
// transferGitTree settles only after both children exit. Remove only this
|
|
119
|
+
// operation's quarantine, never sweep another process's temporary packs.
|
|
120
|
+
await promises_1.default.rm(incoming, { recursive: true, force: true });
|
|
121
|
+
}
|
|
122
|
+
}
|
|
123
|
+
async function transferGitTree(source, destination, tree, receiveEnv) {
|
|
124
|
+
await new Promise((resolve, reject) => {
|
|
125
|
+
const pack = (0, child_process_1.spawn)('git', gitArguments(['pack-objects', '--compression=1', '--window=0', '--threads=1', '--stdout', '--revs']), {
|
|
126
|
+
cwd: source, env: gitEnvironment(), stdio: ['pipe', 'pipe', 'pipe'],
|
|
127
|
+
});
|
|
128
|
+
const unpack = (0, child_process_1.spawn)('git', gitArguments(['index-pack', '--threads=1', '--stdin']), {
|
|
129
|
+
cwd: destination, env: gitEnvironment(receiveEnv), stdio: ['pipe', 'pipe', 'pipe'],
|
|
130
|
+
});
|
|
131
|
+
let closed = 0;
|
|
132
|
+
let failure;
|
|
133
|
+
let killTimer;
|
|
134
|
+
const stop = (error) => {
|
|
135
|
+
failure ??= error;
|
|
136
|
+
pack.kill('SIGTERM');
|
|
137
|
+
unpack.kill('SIGTERM');
|
|
138
|
+
killTimer ??= setTimeout(() => { pack.kill('SIGKILL'); unpack.kill('SIGKILL'); }, 500);
|
|
139
|
+
};
|
|
140
|
+
const timer = setTimeout(() => stop(new Error('Nested Git object transfer timed out')), exports.CHECKPOINT_LIMITS.commandMs);
|
|
141
|
+
for (const [name, child] of [['pack-objects', pack], ['index-pack', unpack]]) {
|
|
142
|
+
let detail = '';
|
|
143
|
+
child.stderr.on('data', (chunk) => { detail = (detail + chunk.toString('utf8')).slice(-2000); });
|
|
144
|
+
child.on('error', stop);
|
|
145
|
+
child.stdin.on('error', () => { });
|
|
146
|
+
child.on('close', code => {
|
|
147
|
+
if (code !== 0)
|
|
148
|
+
stop(new GitCommandError(name, code, detail.trim()));
|
|
149
|
+
if (++closed === 2) {
|
|
150
|
+
clearTimeout(timer);
|
|
151
|
+
clearTimeout(killTimer);
|
|
152
|
+
if (failure)
|
|
153
|
+
reject(failure);
|
|
154
|
+
else
|
|
155
|
+
resolve();
|
|
156
|
+
}
|
|
157
|
+
});
|
|
158
|
+
}
|
|
159
|
+
unpack.stdout.resume();
|
|
160
|
+
pack.stdout.pipe(unpack.stdin);
|
|
161
|
+
pack.stdin.end(`${tree}\n`);
|
|
162
|
+
});
|
|
78
163
|
}
|
|
79
164
|
async function readIndex(root) {
|
|
80
165
|
const file = path_1.default.resolve(root, await gitText(root, ['rev-parse', '--git-path', 'index']));
|
|
81
166
|
try {
|
|
82
|
-
|
|
167
|
+
const stat = await promises_1.default.stat(file);
|
|
168
|
+
if (stat.size > exports.CHECKPOINT_LIMITS.outputBytes)
|
|
83
169
|
throw new Error('Git index exceeds the checkpoint limit');
|
|
84
|
-
return await promises_1.default.readFile(file);
|
|
170
|
+
return { bytes: await promises_1.default.readFile(file), mtime: stat.mtime };
|
|
85
171
|
}
|
|
86
172
|
catch (error) {
|
|
87
173
|
if (error.code === 'ENOENT')
|
|
88
|
-
return Buffer.alloc(0);
|
|
174
|
+
return { bytes: Buffer.alloc(0) };
|
|
89
175
|
throw error;
|
|
90
176
|
}
|
|
91
177
|
}
|
|
@@ -103,42 +189,118 @@ function sensitiveUntracked(file) {
|
|
|
103
189
|
|| /^\.env(?:\.|$)/.test(name) && !/^\.env\.(?:example|sample|template)$/.test(name)
|
|
104
190
|
|| /\.(?:pem|key|p12|pfx)$/.test(name);
|
|
105
191
|
}
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
192
|
+
function relativeName(scope, root, file) {
|
|
193
|
+
return path_1.default.relative(scope, path_1.default.join(root, file)).split(path_1.default.sep).join('/');
|
|
194
|
+
}
|
|
195
|
+
function within(directory, target) {
|
|
196
|
+
const relative = path_1.default.relative(directory, target);
|
|
197
|
+
return !path_1.default.isAbsolute(relative) && relative !== '..' && !relative.startsWith(`..${path_1.default.sep}`);
|
|
198
|
+
}
|
|
199
|
+
async function nestedGitDirectory(root, scope, ancestors) {
|
|
200
|
+
const metadata = await promises_1.default.lstat(path_1.default.join(root, '.git'));
|
|
201
|
+
const name = JSON.stringify(path_1.default.relative(scope, root).split(path_1.default.sep).join('/'));
|
|
202
|
+
if (metadata.isSymbolicLink() || !metadata.isFile() && !metadata.isDirectory()) {
|
|
203
|
+
throw new Error(`Unsupported nested Git metadata at ${name}`);
|
|
204
|
+
}
|
|
205
|
+
const gitDirectory = await promises_1.default.realpath(await gitText(root, ['rev-parse', '--absolute-git-dir']));
|
|
206
|
+
const common = await promises_1.default.realpath(path_1.default.resolve(root, await gitText(root, ['rev-parse', '--git-common-dir'])));
|
|
207
|
+
if (ancestors.includes(common))
|
|
208
|
+
throw new Error(`Nested worktree shares an ancestor repository at ${name}; exclude it before delegating`);
|
|
209
|
+
const embedded = metadata.isDirectory() && gitDirectory === await promises_1.default.realpath(path_1.default.join(root, '.git'));
|
|
210
|
+
const submodule = metadata.isFile() && ancestors.some(parent => within(path_1.default.join(parent, 'modules'), gitDirectory));
|
|
211
|
+
if ((!embedded && !submodule) || common !== gitDirectory) {
|
|
212
|
+
throw new Error(`Nested Git metadata is outside the permitted repository boundary at ${name}; manual recovery is required`);
|
|
213
|
+
}
|
|
214
|
+
if (await promises_1.default.realpath(await gitText(root, ['rev-parse', '--show-toplevel'])) !== root) {
|
|
215
|
+
throw new Error(`Nested Git repository root does not match ${name}`);
|
|
216
|
+
}
|
|
217
|
+
return gitDirectory;
|
|
218
|
+
}
|
|
219
|
+
async function validateNestedConfig(root) {
|
|
220
|
+
try {
|
|
221
|
+
const configured = await gitText(root, ['config', '--show-scope', '--name-only', '--get-regexp',
|
|
222
|
+
'^(filter\\..*\\.(clean|smudge|process)|extensions\\.partialclone|remote\\..*\\.promisor)$']);
|
|
223
|
+
// Global filters are already trusted by the selected outer repository. Do
|
|
224
|
+
// not discover and execute additional commands from nested-local config.
|
|
225
|
+
if (configured.split('\n').some(line => /^(local|worktree)\s/.test(line) || /\s(?:extensions\.partialclone|remote\..*\.promisor)$/.test(line))) {
|
|
226
|
+
throw new Error('Nested repository filters or partial-clone configuration require manual recovery');
|
|
227
|
+
}
|
|
228
|
+
}
|
|
229
|
+
catch (error) {
|
|
230
|
+
if (!(error instanceof GitCommandError && error.code === 1))
|
|
231
|
+
throw error;
|
|
232
|
+
}
|
|
233
|
+
}
|
|
234
|
+
async function validateFiles(root, scope, ancestors, env) {
|
|
235
|
+
const untracked = entries(await runGit(root, ['ls-files', '-z', '--others', '--exclude-standard'], undefined, env));
|
|
236
|
+
const sensitive = untracked.find(sensitiveUntracked);
|
|
237
|
+
if (sensitive) {
|
|
238
|
+
throw new Error(`Untracked credential/config file ${JSON.stringify(relativeName(scope, root, sensitive))} prevents a safe checkpoint. Exclude it with Git ignore rules before delegating.`);
|
|
110
239
|
}
|
|
111
|
-
const
|
|
240
|
+
const staged = entries(await runGit(root, ['ls-files', '--stage', '-z'], undefined, env));
|
|
241
|
+
const cached = staged.map(entry => entry.slice(entry.indexOf('\t') + 1));
|
|
242
|
+
const gitlinks = new Set(staged.filter(entry => entry.startsWith('160000 ')).map(entry => entry.slice(entry.indexOf('\t') + 1)));
|
|
243
|
+
const files = [...new Set(cached.concat(untracked.map(file => file.replace(/\/$/, ''))))];
|
|
112
244
|
const parents = new Set();
|
|
245
|
+
const checked = new Set();
|
|
246
|
+
const repositories = new Set();
|
|
247
|
+
const plainDirectories = [];
|
|
248
|
+
const checkRepository = async (directory) => {
|
|
249
|
+
if (directory === '.' || checked.has(directory))
|
|
250
|
+
return;
|
|
251
|
+
checked.add(directory);
|
|
252
|
+
const absolute = path_1.default.join(root, directory);
|
|
253
|
+
try {
|
|
254
|
+
await promises_1.default.lstat(path_1.default.join(absolute, '.git'));
|
|
255
|
+
}
|
|
256
|
+
catch (error) {
|
|
257
|
+
if (['ENOENT', 'ENOTDIR'].includes(error.code ?? ''))
|
|
258
|
+
return;
|
|
259
|
+
throw error;
|
|
260
|
+
}
|
|
261
|
+
await nestedGitDirectory(absolute, scope, ancestors);
|
|
262
|
+
repositories.add(directory);
|
|
263
|
+
};
|
|
113
264
|
for (const file of files) {
|
|
114
265
|
if (!file || path_1.default.isAbsolute(file) || file.split('/').some(part => part === '..' || part.toLowerCase() === '.git')) {
|
|
115
266
|
throw new Error('Unsafe path in the Git checkpoint');
|
|
116
267
|
}
|
|
117
|
-
let parent = path_1.default.dirname(file);
|
|
268
|
+
let parent = path_1.default.posix.dirname(file);
|
|
118
269
|
while (parent !== '.' && !parents.has(parent)) {
|
|
119
270
|
parents.add(parent);
|
|
120
271
|
try {
|
|
121
|
-
if ((await promises_1.default.lstat(path_1.default.join(root, parent))).isSymbolicLink())
|
|
122
|
-
throw new Error(
|
|
272
|
+
if ((await promises_1.default.lstat(path_1.default.join(root, parent))).isSymbolicLink()) {
|
|
273
|
+
throw new Error(`Checkpoint paths cannot cross a symbolic-link directory: ${JSON.stringify(relativeName(scope, root, parent))}`);
|
|
274
|
+
}
|
|
275
|
+
await checkRepository(parent);
|
|
123
276
|
}
|
|
124
277
|
catch (error) {
|
|
125
|
-
if (error.code
|
|
278
|
+
if (!['ENOENT', 'ENOTDIR'].includes(error.code ?? ''))
|
|
126
279
|
throw error;
|
|
127
280
|
}
|
|
128
|
-
parent = path_1.default.dirname(parent);
|
|
281
|
+
parent = path_1.default.posix.dirname(parent);
|
|
129
282
|
}
|
|
130
283
|
try {
|
|
131
284
|
const stat = await promises_1.default.lstat(path_1.default.join(root, file));
|
|
132
|
-
if (
|
|
133
|
-
|
|
285
|
+
if (stat.isDirectory()) {
|
|
286
|
+
await checkRepository(file);
|
|
287
|
+
// Git also lists the old path when an ordinary tracked file becomes a directory.
|
|
288
|
+
if (gitlinks.has(file) && !repositories.has(file) && (await promises_1.default.readdir(path_1.default.join(root, file))).length) {
|
|
289
|
+
plainDirectories.push(file);
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
else if (!stat.isFile() && !stat.isSymbolicLink()) {
|
|
293
|
+
const kind = stat.isFIFO() ? 'FIFO' : stat.isSocket() ? 'socket' : 'device or special file';
|
|
294
|
+
throw new Error(`Unsupported checkpoint entry ${JSON.stringify(relativeName(scope, root, file))}: ${kind}`);
|
|
295
|
+
}
|
|
134
296
|
if (stat.isSymbolicLink()) {
|
|
135
297
|
const target = await promises_1.default.readlink(path_1.default.join(root, file));
|
|
136
|
-
const resolved = path_1.default.relative(
|
|
298
|
+
const resolved = path_1.default.relative(scope, path_1.default.resolve(root, path_1.default.dirname(file), target));
|
|
137
299
|
if (path_1.default.isAbsolute(target) || resolved === '..' || resolved.startsWith(`..${path_1.default.sep}`) || path_1.default.isAbsolute(resolved)) {
|
|
138
|
-
throw new Error(
|
|
300
|
+
throw new Error(`Checkpoint symbolic links must remain relative and inside the repository: ${JSON.stringify(relativeName(scope, root, file))}`);
|
|
139
301
|
}
|
|
140
302
|
try {
|
|
141
|
-
const canonical = path_1.default.relative(
|
|
303
|
+
const canonical = path_1.default.relative(scope, await promises_1.default.realpath(path_1.default.join(root, file)));
|
|
142
304
|
if (canonical === '..' || canonical.startsWith(`..${path_1.default.sep}`) || path_1.default.isAbsolute(canonical)) {
|
|
143
305
|
throw new Error('Checkpoint symbolic-link chain escapes the repository');
|
|
144
306
|
}
|
|
@@ -150,10 +312,12 @@ async function validateFiles(root) {
|
|
|
150
312
|
}
|
|
151
313
|
}
|
|
152
314
|
catch (error) {
|
|
153
|
-
if (error.code
|
|
315
|
+
if (!['ENOENT', 'ENOTDIR'].includes(error.code ?? ''))
|
|
154
316
|
throw error;
|
|
155
317
|
}
|
|
156
318
|
}
|
|
319
|
+
const nested = [...repositories].sort().filter(directory => ![...repositories].some(other => directory.startsWith(`${other}/`)));
|
|
320
|
+
return { cached, repositories: nested, plainDirectories };
|
|
157
321
|
}
|
|
158
322
|
/** Validate the captured entries after Git filters and filesystem changes. */
|
|
159
323
|
async function validateTree(root, tree) {
|
|
@@ -161,7 +325,8 @@ async function validateTree(root, tree) {
|
|
|
161
325
|
for (const file of files) {
|
|
162
326
|
const header = file.slice(0, file.indexOf('\t')).trim().split(/\s+/);
|
|
163
327
|
const size = Number(header[3]);
|
|
164
|
-
|
|
328
|
+
const gitlink = header[0] === '160000' && header[1] === 'commit' && exports.GIT_OID.test(header[2]);
|
|
329
|
+
if (!gitlink && (!/^(100644|100755|120000)$/.test(header[0]) || header[1] !== 'blob' || !Number.isSafeInteger(size) || size < 0)) {
|
|
165
330
|
throw new Error('Checkpoint tree contains an unsupported entry');
|
|
166
331
|
}
|
|
167
332
|
}
|
|
@@ -177,37 +342,117 @@ async function createCheckpointCommit(root, tree, parent, label) {
|
|
|
177
342
|
throw new Error('Git returned an invalid checkpoint commit');
|
|
178
343
|
return commit;
|
|
179
344
|
}
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
345
|
+
async function checkpointHead(root, nested) {
|
|
346
|
+
try {
|
|
347
|
+
return await gitText(root, ['rev-parse', '--verify', 'HEAD']);
|
|
348
|
+
}
|
|
349
|
+
catch (error) {
|
|
350
|
+
if (nested && error instanceof GitCommandError) {
|
|
351
|
+
const branch = await gitText(root, ['symbolic-ref', '-q', 'HEAD']);
|
|
352
|
+
try {
|
|
353
|
+
await runGit(root, ['show-ref', '--verify', '--quiet', branch]);
|
|
354
|
+
}
|
|
355
|
+
catch (missing) {
|
|
356
|
+
if (missing instanceof GitCommandError && missing.code === 1)
|
|
357
|
+
return '';
|
|
358
|
+
}
|
|
359
|
+
}
|
|
360
|
+
throw new Error(`Git checkpoint requires a usable HEAD${nested ? '' : ' and an initial commit'}`);
|
|
361
|
+
}
|
|
362
|
+
}
|
|
363
|
+
async function validateIndexFlags(root, env) {
|
|
364
|
+
const flags = entries(await runGit(root, ['ls-files', '-v', '-z'], undefined, env));
|
|
365
|
+
// Preserve the source index and never guess whether sparse absences are deletions.
|
|
366
|
+
if (flags.some(entry => /^[a-zS] /.test(entry))) {
|
|
367
|
+
throw new Error('Git checkpoints cannot include assume-unchanged or skip-worktree entries. Resolve those flags and sparse checkouts explicitly before delegating.');
|
|
368
|
+
}
|
|
369
|
+
}
|
|
370
|
+
async function captureTree(root, scope, nested, imported, ancestors) {
|
|
371
|
+
if (nested)
|
|
372
|
+
await validateNestedConfig(root);
|
|
373
|
+
const head = await checkpointHead(root, nested);
|
|
185
374
|
if ((await runGit(root, ['ls-files', '-u', '-z'])).length)
|
|
186
375
|
throw new Error('Resolve the existing Git index conflicts before delegating');
|
|
187
376
|
const originalIndex = await readIndex(root);
|
|
188
|
-
await validateFiles(root);
|
|
377
|
+
let inventory = await validateFiles(root, scope, ancestors);
|
|
189
378
|
const directory = await promises_1.default.mkdtemp(path_1.default.join(os_1.default.tmpdir(), 'remote-cli-checkpoint-'));
|
|
190
379
|
try {
|
|
191
380
|
const env = { GIT_INDEX_FILE: path_1.default.join(directory, 'index') };
|
|
192
|
-
if (originalIndex.length)
|
|
193
|
-
await promises_1.default.writeFile(env.GIT_INDEX_FILE, originalIndex, { mode: 0o600 });
|
|
381
|
+
if (originalIndex.bytes.length) {
|
|
382
|
+
await promises_1.default.writeFile(env.GIT_INDEX_FILE, originalIndex.bytes, { mode: 0o600 });
|
|
383
|
+
// Git's racy-clean check compares file times with the index's own time.
|
|
384
|
+
// A fresh copy timestamp can incorrectly bless same-size stale entries.
|
|
385
|
+
if (originalIndex.mtime)
|
|
386
|
+
await promises_1.default.utimes(env.GIT_INDEX_FILE, originalIndex.mtime, originalIndex.mtime);
|
|
387
|
+
}
|
|
194
388
|
else
|
|
195
|
-
await runGit(root, ['read-tree', head], undefined, env);
|
|
196
|
-
await
|
|
389
|
+
await runGit(root, head ? ['read-tree', head] : ['read-tree', '--empty'], undefined, env);
|
|
390
|
+
await validateIndexFlags(root, env);
|
|
391
|
+
for (;;) {
|
|
392
|
+
const replaced = inventory.repositories.concat(inventory.plainDirectories);
|
|
393
|
+
const removed = inventory.cached.filter(file => replaced.some(directory => file === directory || file.startsWith(`${directory}/`)));
|
|
394
|
+
if (!removed.length)
|
|
395
|
+
break;
|
|
396
|
+
await runGit(root, ['update-index', '--force-remove', '-z', '--stdin'], `${removed.join('\0')}\0`, env);
|
|
397
|
+
// Replacing a gitlink can expose more embedded repositories. Preserve
|
|
398
|
+
// earlier discoveries even if outer ignore rules now hide their paths.
|
|
399
|
+
const next = await validateFiles(root, scope, ancestors, env);
|
|
400
|
+
const discovered = [...new Set([...inventory.repositories, ...next.repositories])].sort();
|
|
401
|
+
inventory = { ...next, repositories: discovered.filter(directory => !discovered.some(other => directory.startsWith(`${other}/`))) };
|
|
402
|
+
}
|
|
403
|
+
await runGit(root, ['add', '--all', '--', '.', ...inventory.repositories.map(directory => `:(top,exclude,literal)${directory}`)], undefined, env);
|
|
404
|
+
const repositories = [];
|
|
405
|
+
for (const relative of inventory.repositories) {
|
|
406
|
+
const child = path_1.default.join(root, relative);
|
|
407
|
+
try {
|
|
408
|
+
const gitDirectory = await nestedGitDirectory(child, scope, ancestors);
|
|
409
|
+
const snapshot = await captureTree(child, scope, true, imported, [...ancestors, gitDirectory]);
|
|
410
|
+
const transfer = JSON.stringify([root, snapshot.tree]);
|
|
411
|
+
if (!imported.has(transfer)) {
|
|
412
|
+
await importGitTree(child, root, snapshot.tree);
|
|
413
|
+
imported.add(transfer);
|
|
414
|
+
}
|
|
415
|
+
await runGit(root, ['read-tree', `--prefix=${relative}/`, snapshot.tree], undefined, env);
|
|
416
|
+
const metadata = await promises_1.default.stat(gitDirectory);
|
|
417
|
+
repositories.push({ path: relative, identity: (0, crypto_1.createHash)('sha256')
|
|
418
|
+
.update(JSON.stringify([gitDirectory, metadata.dev, metadata.ino, metadata.birthtimeMs])).digest('hex'),
|
|
419
|
+
revision: checkpointRevision(snapshot.head, snapshot.tree, snapshot.index, snapshot.repositories) });
|
|
420
|
+
repositories.push(...snapshot.repositories.map(repository => ({ ...repository, path: `${relative}/${repository.path}` })));
|
|
421
|
+
}
|
|
422
|
+
catch (error) {
|
|
423
|
+
throw new Error(`Nested checkpoint ${JSON.stringify(relativeName(scope, root, relative))} failed: ${error.message}`);
|
|
424
|
+
}
|
|
425
|
+
}
|
|
197
426
|
const tree = await gitText(root, ['write-tree'], undefined, env);
|
|
198
|
-
await
|
|
199
|
-
if (tree !== await gitText(root, ['write-tree'], undefined, env)
|
|
200
|
-
|| head !== await gitText(root, ['rev-parse', 'HEAD']) || !originalIndex.equals(await readIndex(root))) {
|
|
427
|
+
if (head !== await checkpointHead(root, nested) || !originalIndex.bytes.equals((await readIndex(root)).bytes)) {
|
|
201
428
|
throw new Error('Workspace changed while its checkpoint was being captured; retry after edits stop');
|
|
202
429
|
}
|
|
203
430
|
if (!exports.GIT_OID.test(tree))
|
|
204
431
|
throw new Error('Git returned an invalid checkpoint tree');
|
|
205
432
|
await validateTree(root, tree);
|
|
206
|
-
return { head, tree,
|
|
207
|
-
revision: checkpointRevision(head, tree, originalIndex) };
|
|
433
|
+
return { head, tree, index: originalIndex.bytes, repositories };
|
|
208
434
|
}
|
|
209
435
|
finally {
|
|
210
436
|
await promises_1.default.rm(directory, { recursive: true, force: true });
|
|
211
437
|
}
|
|
212
438
|
}
|
|
439
|
+
/** Flatten nested working files in private trees; never alter any source HEAD or index. */
|
|
440
|
+
async function captureCheckpoint(root) {
|
|
441
|
+
root = await promises_1.default.realpath(root);
|
|
442
|
+
// Reuse only transfers completed in this capture, never just an existing tree
|
|
443
|
+
// object that could still reference missing descendants in the object store.
|
|
444
|
+
const imported = new Set();
|
|
445
|
+
const common = await promises_1.default.realpath(path_1.default.resolve(root, await gitText(root, ['rev-parse', '--git-common-dir'])));
|
|
446
|
+
const gitDirectory = await promises_1.default.realpath(await gitText(root, ['rev-parse', '--absolute-git-dir']));
|
|
447
|
+
const ancestors = [...new Set([common, gitDirectory])];
|
|
448
|
+
const first = await captureTree(root, root, false, imported, ancestors);
|
|
449
|
+
const second = await captureTree(root, root, false, imported, ancestors);
|
|
450
|
+
const revision = checkpointRevision(first.head, first.tree, first.index, first.repositories);
|
|
451
|
+
if (revision !== checkpointRevision(second.head, second.tree, second.index, second.repositories)) {
|
|
452
|
+
throw new Error('Workspace changed while its checkpoint was being captured; retry after edits stop');
|
|
453
|
+
}
|
|
454
|
+
return { head: first.head, tree: first.tree,
|
|
455
|
+
commit: await createCheckpointCommit(root, first.tree, first.head, `Remote CLI input checkpoint ${(0, crypto_1.randomUUID)()}`),
|
|
456
|
+
revision, ...(first.repositories.length ? { repositories: first.repositories } : {}) };
|
|
457
|
+
}
|
|
213
458
|
//# sourceMappingURL=GitCheckpoint.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GitCheckpoint.js","sourceRoot":"","sources":["../../src/delegation/GitCheckpoint.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"GitCheckpoint.js","sourceRoot":"","sources":["../../src/delegation/GitCheckpoint.ts"],"names":[],"mappings":"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"}
|
|
@@ -26,7 +26,7 @@ export declare const DELEGATION_TOOLS: readonly [{
|
|
|
26
26
|
readonly destructiveHint: true;
|
|
27
27
|
readonly openWorldHint: true;
|
|
28
28
|
};
|
|
29
|
-
readonly description: "Accept an independent managed task on a different backend. Git workspaces use isolated, reusable worker worktrees and may run concurrently; non-Git directories use the shared workspace in FIFO order. Discover scheduling with remote_cli_list_backends. Git input includes nonignored working changes; ignored dependencies are not copied. Completion does not integrate file changes: inspect then explicitly apply or retain artifacts with remote_cli_integrate after all accepted workers finish. Worktrees are not an OS sandbox. The cumulative limit is 12 accepted tasks, including failed/cancelled tasks; queue waits expire after one hour. Same-backend delegation is rejected; use the current backend directly or its native subagents. Pass self-contained context and acceptance criteria; workers never inherit the coordinator conversation. A reused lane retains only its own previous conversation, not sibling results, and starts each Git task on a fresh baseline. Use inherit, including research; put no-write requirements in the objective. In shared-workspace mode do not edit concurrently with a worker. Use remote_cli_result for status; if you return after submitting tasks, Remote CLI waits and resumes this coordinator. Workers cannot delegate again.";
|
|
29
|
+
readonly description: "Accept an independent managed task on a different backend. Git workspaces use isolated, reusable worker worktrees and may run concurrently; non-Git directories use the shared workspace in FIFO order. Discover scheduling with remote_cli_list_backends. Git input includes nonignored working changes. Initialized local submodules and embedded repositories provide working files only; nested Git metadata/history and ignored dependencies are not copied. Uninitialized submodule paths remain empty. Completion does not integrate file changes: inspect then explicitly apply or retain artifacts with remote_cli_integrate after all accepted workers finish. Worktrees are not an OS sandbox. The cumulative limit is 12 accepted tasks, including failed/cancelled tasks; queue waits expire after one hour. Same-backend delegation is rejected; use the current backend directly or its native subagents. Pass self-contained context and acceptance criteria; workers never inherit the coordinator conversation. A reused lane retains only its own previous conversation, not sibling results, and starts each Git task on a fresh baseline. Use inherit, including research; put no-write requirements in the objective. In shared-workspace mode do not edit concurrently with a worker. Use remote_cli_result for status; if you return after submitting tasks, Remote CLI waits and resumes this coordinator. Workers cannot delegate again.";
|
|
30
30
|
readonly inputSchema: {
|
|
31
31
|
type: string;
|
|
32
32
|
properties: Record<string, unknown>;
|
|
@@ -23,7 +23,7 @@ exports.DELEGATION_TOOLS = [
|
|
|
23
23
|
{
|
|
24
24
|
name: 'remote_cli_delegate',
|
|
25
25
|
annotations: { readOnlyHint: false, destructiveHint: true, openWorldHint: true },
|
|
26
|
-
description: 'Accept an independent managed task on a different backend. Git workspaces use isolated, reusable worker worktrees and may run concurrently; non-Git directories use the shared workspace in FIFO order. Discover scheduling with remote_cli_list_backends. Git input includes nonignored working changes; ignored dependencies are not copied. Completion does not integrate file changes: inspect then explicitly apply or retain artifacts with remote_cli_integrate after all accepted workers finish. Worktrees are not an OS sandbox. The cumulative limit is 12 accepted tasks, including failed/cancelled tasks; queue waits expire after one hour. Same-backend delegation is rejected; use the current backend directly or its native subagents. Pass self-contained context and acceptance criteria; workers never inherit the coordinator conversation. A reused lane retains only its own previous conversation, not sibling results, and starts each Git task on a fresh baseline. Use inherit, including research; put no-write requirements in the objective. In shared-workspace mode do not edit concurrently with a worker. Use remote_cli_result for status; if you return after submitting tasks, Remote CLI waits and resumes this coordinator. Workers cannot delegate again.',
|
|
26
|
+
description: 'Accept an independent managed task on a different backend. Git workspaces use isolated, reusable worker worktrees and may run concurrently; non-Git directories use the shared workspace in FIFO order. Discover scheduling with remote_cli_list_backends. Git input includes nonignored working changes. Initialized local submodules and embedded repositories provide working files only; nested Git metadata/history and ignored dependencies are not copied. Uninitialized submodule paths remain empty. Completion does not integrate file changes: inspect then explicitly apply or retain artifacts with remote_cli_integrate after all accepted workers finish. Worktrees are not an OS sandbox. The cumulative limit is 12 accepted tasks, including failed/cancelled tasks; queue waits expire after one hour. Same-backend delegation is rejected; use the current backend directly or its native subagents. Pass self-contained context and acceptance criteria; workers never inherit the coordinator conversation. A reused lane retains only its own previous conversation, not sibling results, and starts each Git task on a fresh baseline. Use inherit, including research; put no-write requirements in the objective. In shared-workspace mode do not edit concurrently with a worker. Use remote_cli_result for status; if you return after submitting tasks, Remote CLI waits and resumes this coordinator. Workers cannot delegate again.',
|
|
27
27
|
inputSchema: object({
|
|
28
28
|
backend: { type: 'string', enum: exports.DELEGATION_BACKENDS },
|
|
29
29
|
objective: { type: 'string', minLength: 1, maxLength: 24000 },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../../src/delegation/contract.ts"],"names":[],"mappings":";;;;;;AA6DA,wCAEC;AAED,sDAEC;AAED,kDAGC;AAGD,4DAKC;AAhFD,gDAAwB;AASX,QAAA,mBAAmB,GAAG,CAAC,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,CAAU,CAAC;AAGjH,MAAM,MAAM,GAAG,CAAC,UAAmC,EAAE,WAAqB,EAAE,EAAE,EAAE,CAAC,CAAC;IAChF,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,QAAQ,EAAE,oBAAoB,EAAE,KAAK;CAClE,CAAC,CAAC;AAEU,QAAA,gBAAgB,GAAG;IAC9B;QACE,IAAI,EAAE,0BAA0B;QAChC,WAAW,EAAE,EAAE,YAAY,EAAE,IAAI,EAAE,aAAa,EAAE,KAAK,EAAE;QACzD,WAAW,EAAE,gOAAgO;QAC7O,WAAW,EAAE,MAAM,CAAC,EAAE,CAAC;KACxB;IACD;QACE,IAAI,EAAE,qBAAqB;QAC3B,WAAW,EAAE,EAAE,YAAY,EAAE,KAAK,EAAE,eAAe,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE;QAChF,WAAW,EAAE,
|
|
1
|
+
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../../src/delegation/contract.ts"],"names":[],"mappings":"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"}
|