crewly 1.20.312 → 1.20.313
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/dist/backend/backend/src/constants.d.ts +14 -0
- package/dist/backend/backend/src/constants.d.ts.map +1 -1
- package/dist/backend/backend/src/constants.js +14 -0
- package/dist/backend/backend/src/constants.js.map +1 -1
- package/dist/backend/backend/src/controllers/team-move/team-move.controller.d.ts +2 -0
- package/dist/backend/backend/src/controllers/team-move/team-move.controller.d.ts.map +1 -1
- package/dist/backend/backend/src/controllers/team-move/team-move.controller.js +19 -0
- package/dist/backend/backend/src/controllers/team-move/team-move.controller.js.map +1 -1
- package/dist/backend/backend/src/index.d.ts.map +1 -1
- package/dist/backend/backend/src/index.js +20 -1
- package/dist/backend/backend/src/index.js.map +1 -1
- package/dist/backend/backend/src/services/team-move/team-move-ask.d.ts +37 -0
- package/dist/backend/backend/src/services/team-move/team-move-ask.d.ts.map +1 -0
- package/dist/backend/backend/src/services/team-move/team-move-ask.js +69 -0
- package/dist/backend/backend/src/services/team-move/team-move-ask.js.map +1 -0
- package/dist/backend/backend/src/services/team-move/team-move-carry.d.ts +116 -0
- package/dist/backend/backend/src/services/team-move/team-move-carry.d.ts.map +1 -0
- package/dist/backend/backend/src/services/team-move/team-move-carry.js +234 -0
- package/dist/backend/backend/src/services/team-move/team-move-carry.js.map +1 -0
- package/dist/backend/backend/src/services/team-move/team-move-cloud.client.d.ts +34 -1
- package/dist/backend/backend/src/services/team-move/team-move-cloud.client.d.ts.map +1 -1
- package/dist/backend/backend/src/services/team-move/team-move-cloud.client.js +14 -0
- package/dist/backend/backend/src/services/team-move/team-move-cloud.client.js.map +1 -1
- package/dist/backend/backend/src/services/team-move/team-move-driver.service.d.ts +58 -1
- package/dist/backend/backend/src/services/team-move/team-move-driver.service.d.ts.map +1 -1
- package/dist/backend/backend/src/services/team-move/team-move-driver.service.js +182 -6
- package/dist/backend/backend/src/services/team-move/team-move-driver.service.js.map +1 -1
- package/dist/backend/backend/src/services/team-move/team-move-exporter.d.ts +49 -1
- package/dist/backend/backend/src/services/team-move/team-move-exporter.d.ts.map +1 -1
- package/dist/backend/backend/src/services/team-move/team-move-exporter.js +195 -3
- package/dist/backend/backend/src/services/team-move/team-move-exporter.js.map +1 -1
- package/dist/backend/backend/src/services/team-move/team-move-fs.d.ts +8 -0
- package/dist/backend/backend/src/services/team-move/team-move-fs.d.ts.map +1 -1
- package/dist/backend/backend/src/services/team-move/team-move-fs.js +15 -0
- package/dist/backend/backend/src/services/team-move/team-move-fs.js.map +1 -1
- package/dist/backend/backend/src/services/team-move/team-move-git.d.ts +39 -1
- package/dist/backend/backend/src/services/team-move/team-move-git.d.ts.map +1 -1
- package/dist/backend/backend/src/services/team-move/team-move-git.js +99 -0
- package/dist/backend/backend/src/services/team-move/team-move-git.js.map +1 -1
- package/dist/backend/backend/src/services/team-move/team-move-importer.d.ts +2 -0
- package/dist/backend/backend/src/services/team-move/team-move-importer.d.ts.map +1 -1
- package/dist/backend/backend/src/services/team-move/team-move-importer.js +45 -4
- package/dist/backend/backend/src/services/team-move/team-move-importer.js.map +1 -1
- package/dist/backend/backend/src/services/team-move/team-move-runtime.d.ts +2 -0
- package/dist/backend/backend/src/services/team-move/team-move-runtime.d.ts.map +1 -1
- package/dist/backend/backend/src/services/team-move/team-move-runtime.js +2 -0
- package/dist/backend/backend/src/services/team-move/team-move-runtime.js.map +1 -1
- package/dist/backend/backend/src/services/team-move/team-move.types.d.ts +131 -0
- package/dist/backend/backend/src/services/team-move/team-move.types.d.ts.map +1 -1
- package/dist/backend/backend/src/services/team-move/team-move.types.js.map +1 -1
- package/dist/backend/build-info.json +2 -2
- package/dist/cli/backend/src/constants.d.ts +14 -0
- package/dist/cli/backend/src/constants.d.ts.map +1 -1
- package/dist/cli/backend/src/constants.js +14 -0
- package/dist/cli/backend/src/constants.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* "Ask the team to commit and push": the harness message that tells the
|
|
3
|
+
* team's lead which repositories block a move and what to do about them. The
|
|
4
|
+
* owner taps one button on their phone; the agent does the git work.
|
|
5
|
+
*
|
|
6
|
+
* @module services/team-move/team-move-ask
|
|
7
|
+
*/
|
|
8
|
+
import type { Team, TeamMember } from '../../types/index.js';
|
|
9
|
+
import type { PreflightFinding, RepoPreflight } from './team-move.types.js';
|
|
10
|
+
/**
|
|
11
|
+
* Who gets the request: the team's lead (the agent that owns the team's
|
|
12
|
+
* work), or the first member when no lead is set.
|
|
13
|
+
*
|
|
14
|
+
* @param team - The team being moved
|
|
15
|
+
* @returns The member, or null for a team without members
|
|
16
|
+
*/
|
|
17
|
+
export declare function pickAskRecipient(team: Team): TeamMember | null;
|
|
18
|
+
/**
|
|
19
|
+
* Whether a repository holds work that exists only on the source.
|
|
20
|
+
*
|
|
21
|
+
* @param repo - Repository as the preflight read it
|
|
22
|
+
* @returns True when it has uncommitted changes or unpushed commits
|
|
23
|
+
*/
|
|
24
|
+
export declare function repoNeedsPush(repo: RepoPreflight): boolean;
|
|
25
|
+
/**
|
|
26
|
+
* The message to the team lead.
|
|
27
|
+
*
|
|
28
|
+
* @param input - Team name, target machine and what the preflight found
|
|
29
|
+
* @returns Message text, or null when there is nothing to ask for
|
|
30
|
+
*/
|
|
31
|
+
export declare function buildAskTeamMessage(input: {
|
|
32
|
+
teamName: string;
|
|
33
|
+
targetName: string;
|
|
34
|
+
repos: readonly RepoPreflight[];
|
|
35
|
+
findings: readonly PreflightFinding[];
|
|
36
|
+
}): string | null;
|
|
37
|
+
//# sourceMappingURL=team-move-ask.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"team-move-ask.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/team-move/team-move-ask.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAE7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAK5E;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,IAAI,GAAG,UAAU,GAAG,IAAI,CAE9D;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAE1D;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CAAC,KAAK,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAC;IAAC,KAAK,EAAE,SAAS,aAAa,EAAE,CAAC;IAAC,QAAQ,EAAE,SAAS,gBAAgB,EAAE,CAAA;CAAE,GAAG,MAAM,GAAG,IAAI,CAiC1K"}
|
|
@@ -0,0 +1,69 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* "Ask the team to commit and push": the harness message that tells the
|
|
3
|
+
* team's lead which repositories block a move and what to do about them. The
|
|
4
|
+
* owner taps one button on their phone; the agent does the git work.
|
|
5
|
+
*
|
|
6
|
+
* @module services/team-move/team-move-ask
|
|
7
|
+
*/
|
|
8
|
+
import { pickTeamLead } from '../../utils/team.utils.js';
|
|
9
|
+
/** Changed files named per repository in the message. */
|
|
10
|
+
const FILES_PER_REPO = 25;
|
|
11
|
+
/**
|
|
12
|
+
* Who gets the request: the team's lead (the agent that owns the team's
|
|
13
|
+
* work), or the first member when no lead is set.
|
|
14
|
+
*
|
|
15
|
+
* @param team - The team being moved
|
|
16
|
+
* @returns The member, or null for a team without members
|
|
17
|
+
*/
|
|
18
|
+
export function pickAskRecipient(team) {
|
|
19
|
+
return pickTeamLead(team);
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Whether a repository holds work that exists only on the source.
|
|
23
|
+
*
|
|
24
|
+
* @param repo - Repository as the preflight read it
|
|
25
|
+
* @returns True when it has uncommitted changes or unpushed commits
|
|
26
|
+
*/
|
|
27
|
+
export function repoNeedsPush(repo) {
|
|
28
|
+
return repo.isRepo && (repo.modified > 0 || repo.untracked > 0 || repo.unpushed > 0);
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* The message to the team lead.
|
|
32
|
+
*
|
|
33
|
+
* @param input - Team name, target machine and what the preflight found
|
|
34
|
+
* @returns Message text, or null when there is nothing to ask for
|
|
35
|
+
*/
|
|
36
|
+
export function buildAskTeamMessage(input) {
|
|
37
|
+
const repos = input.repos.filter(repoNeedsPush);
|
|
38
|
+
const findings = input.findings;
|
|
39
|
+
if (repos.length === 0 && findings.length === 0)
|
|
40
|
+
return null;
|
|
41
|
+
const lines = [
|
|
42
|
+
`[TEAM MOVE] The owner wants to move team "${input.teamName}" to ${input.targetName}. The move cannot start until the work below is safely in git. The owner is on a phone and cannot do this; please do it now. Do not message the owner about it unless something needs their decision.`,
|
|
43
|
+
'',
|
|
44
|
+
];
|
|
45
|
+
for (const repo of repos) {
|
|
46
|
+
const parts = [];
|
|
47
|
+
if (repo.modified > 0)
|
|
48
|
+
parts.push(`${repo.modified} modified`);
|
|
49
|
+
if (repo.untracked > 0)
|
|
50
|
+
parts.push(`${repo.untracked} untracked`);
|
|
51
|
+
if (repo.unpushed > 0)
|
|
52
|
+
parts.push(`${repo.unpushed} commit${repo.unpushed === 1 ? '' : 's'} not pushed`);
|
|
53
|
+
lines.push(`Repository "${repo.projectName}" (${repo.path})${repo.branch ? `, branch ${repo.branch}` : ''}: ${parts.join(', ')}.`);
|
|
54
|
+
for (const file of repo.topFiles.slice(0, FILES_PER_REPO))
|
|
55
|
+
lines.push(` - ${file.status}: ${file.path}`);
|
|
56
|
+
if (repo.filesTruncated || repo.topFiles.length > FILES_PER_REPO)
|
|
57
|
+
lines.push(' - ... more (run git status to see all of them)');
|
|
58
|
+
if (repo.noRemote)
|
|
59
|
+
lines.push(' This repository has no remote: tell the owner in your reply that the code cannot reach the new machine until a remote exists.');
|
|
60
|
+
}
|
|
61
|
+
if (findings.length > 0) {
|
|
62
|
+
lines.push('', 'The secret scan found credentials in these files. Remove the credential (use an environment variable or the settings store instead) or stop tracking the file:');
|
|
63
|
+
for (const finding of findings.slice(0, FILES_PER_REPO))
|
|
64
|
+
lines.push(` - ${finding.file}`);
|
|
65
|
+
}
|
|
66
|
+
lines.push('', 'What to do:', '1. Review each change with git status and git diff. Commit what belongs to the project with a clear message; add specific files, not git add -A.', '2. Machine-local or generated files (build output, caches, logs, editor folders, .env copies) must not be committed: add them to .gitignore instead, or delete them if they are junk.', '3. Never commit secrets, tokens, passwords or private keys. If a file holds one, remove it from the file first.', '4. Push the current branch to its remote (git push). Do not force-push and do not touch other branches.', '5. When everything is pushed, reply with one line saying what you committed and what you ignored. Crewly re-checks the repositories by itself.');
|
|
67
|
+
return lines.join('\n');
|
|
68
|
+
}
|
|
69
|
+
//# sourceMappingURL=team-move-ask.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"team-move-ask.js","sourceRoot":"","sources":["../../../../../../backend/src/services/team-move/team-move-ask.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,116 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* "Carry uncommitted changes": move a repository's unpushed work inside the
|
|
3
|
+
* encrypted package instead of asking the owner to commit and push it.
|
|
4
|
+
*
|
|
5
|
+
* Collecting (source): the changes are expressed against a commit the remote
|
|
6
|
+
* has (`baseSha`), so the target can fetch that commit itself. Tracked files
|
|
7
|
+
* (edits, deletions, mode changes and binary files, including the content of
|
|
8
|
+
* local commits the remote lacks) become one `git apply` patch per file;
|
|
9
|
+
* untracked files that are not ignored travel as they are. Nothing is pushed,
|
|
10
|
+
* committed or modified on the source.
|
|
11
|
+
*
|
|
12
|
+
* Applying (target): after the clone is put at `baseSha`, each patch is
|
|
13
|
+
* applied to the working tree and untracked files are written next to it. The
|
|
14
|
+
* result is the same working tree the source had, uncommitted.
|
|
15
|
+
*
|
|
16
|
+
* @module services/team-move/team-move-carry
|
|
17
|
+
*/
|
|
18
|
+
import type { CarryIndex } from './team-move.types.js';
|
|
19
|
+
/** Caps of one repository's carried changes. */
|
|
20
|
+
export interface CarryLimits {
|
|
21
|
+
totalBytes: number;
|
|
22
|
+
fileBytes: number;
|
|
23
|
+
maxFiles: number;
|
|
24
|
+
}
|
|
25
|
+
/** Default caps (constants). */
|
|
26
|
+
export declare const DEFAULT_CARRY_LIMITS: CarryLimits;
|
|
27
|
+
/** A change left on the source and why. */
|
|
28
|
+
export interface LeftChange {
|
|
29
|
+
path: string;
|
|
30
|
+
bytes: number;
|
|
31
|
+
reason: 'too_large' | 'size_cap' | 'too_many' | 'unreadable' | 'symlink';
|
|
32
|
+
}
|
|
33
|
+
/** The changes of a repository, ready to be written into a package. */
|
|
34
|
+
export interface CollectedCarry {
|
|
35
|
+
baseSha: string;
|
|
36
|
+
branch: string | null;
|
|
37
|
+
flattenedCommits: number;
|
|
38
|
+
patches: Array<{
|
|
39
|
+
path: string;
|
|
40
|
+
data: Buffer;
|
|
41
|
+
deleted: boolean;
|
|
42
|
+
}>;
|
|
43
|
+
untracked: Array<{
|
|
44
|
+
path: string;
|
|
45
|
+
abs: string;
|
|
46
|
+
size: number;
|
|
47
|
+
executable: boolean;
|
|
48
|
+
}>;
|
|
49
|
+
/** Total bytes of patches and untracked files. */
|
|
50
|
+
bytes: number;
|
|
51
|
+
/** Changes that could not be taken along (the repository cannot be carried while this is non-empty). */
|
|
52
|
+
left: LeftChange[];
|
|
53
|
+
}
|
|
54
|
+
/** Outcome of {@link collectCarry}. */
|
|
55
|
+
export type CollectCarryResult = {
|
|
56
|
+
ok: true;
|
|
57
|
+
carry: CollectedCarry;
|
|
58
|
+
} | {
|
|
59
|
+
ok: false;
|
|
60
|
+
reason: string;
|
|
61
|
+
};
|
|
62
|
+
/**
|
|
63
|
+
* The commit the remote has that the changes are expressed against: HEAD when
|
|
64
|
+
* everything is pushed, otherwise the newest commit below the local-only ones.
|
|
65
|
+
*
|
|
66
|
+
* @param repoPath - Repository folder
|
|
67
|
+
* @returns Base commit and the number of local-only commits
|
|
68
|
+
* @throws Error when the repository has no commit or no remote branch to build on
|
|
69
|
+
*/
|
|
70
|
+
export declare function findCarryBase(repoPath: string): Promise<{
|
|
71
|
+
baseSha: string;
|
|
72
|
+
flattenedCommits: number;
|
|
73
|
+
}>;
|
|
74
|
+
/**
|
|
75
|
+
* Collect a repository's uncommitted and unpushed work.
|
|
76
|
+
*
|
|
77
|
+
* @param repoPath - Repository folder
|
|
78
|
+
* @param limits - Size caps
|
|
79
|
+
* @returns The changes, or why they cannot be carried (never throws)
|
|
80
|
+
*/
|
|
81
|
+
export declare function collectCarry(repoPath: string, limits?: CarryLimits): Promise<CollectCarryResult>;
|
|
82
|
+
/**
|
|
83
|
+
* One line for the owner about why changes could not be carried.
|
|
84
|
+
*
|
|
85
|
+
* @param left - Changes that did not fit
|
|
86
|
+
* @returns Sentence fragment
|
|
87
|
+
*/
|
|
88
|
+
export declare function describeLeft(left: readonly LeftChange[]): string;
|
|
89
|
+
/** Whether a repository-relative path may be written below a repository folder. */
|
|
90
|
+
export declare function isSafeRepoPath(rel: string): boolean;
|
|
91
|
+
/** Outcome of {@link applyCarry}. */
|
|
92
|
+
export interface ApplyCarryResult {
|
|
93
|
+
/** Patches applied. */
|
|
94
|
+
applied: number;
|
|
95
|
+
/** Untracked files written. */
|
|
96
|
+
untracked: number;
|
|
97
|
+
failed: Array<{
|
|
98
|
+
path: string;
|
|
99
|
+
reason: string;
|
|
100
|
+
}>;
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Apply carried changes to a repository that is checked out at the base.
|
|
104
|
+
*
|
|
105
|
+
* Each file is independent: a patch that does not apply, or an untracked file
|
|
106
|
+
* that already exists with other content, is reported and kept (patches under
|
|
107
|
+
* `.crewly/move-carry-failed/`) so nothing is lost. Existing files are never
|
|
108
|
+
* overwritten.
|
|
109
|
+
*
|
|
110
|
+
* @param repoPath - Repository folder on the target
|
|
111
|
+
* @param carryDir - Folder holding `carry.json`, `patches/` and `files/`
|
|
112
|
+
* @param index - The parsed `carry.json`
|
|
113
|
+
* @returns What was applied and what failed
|
|
114
|
+
*/
|
|
115
|
+
export declare function applyCarry(repoPath: string, carryDir: string, index: CarryIndex): Promise<ApplyCarryResult>;
|
|
116
|
+
//# sourceMappingURL=team-move-carry.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"team-move-carry.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/team-move/team-move-carry.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAOH,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,sBAAsB,CAAC;AAIvD,gDAAgD;AAChD,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,gCAAgC;AAChC,eAAO,MAAM,oBAAoB,EAAE,WAIlC,CAAC;AAKF,2CAA2C;AAC3C,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,WAAW,GAAG,UAAU,GAAG,UAAU,GAAG,YAAY,GAAG,SAAS,CAAC;CAC1E;AAED,uEAAuE;AACvE,MAAM,WAAW,cAAc;IAC7B,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,gBAAgB,EAAE,MAAM,CAAC;IACzB,OAAO,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IACjE,SAAS,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,OAAO,CAAA;KAAE,CAAC,CAAC;IACnF,kDAAkD;IAClD,KAAK,EAAE,MAAM,CAAC;IACd,wGAAwG;IACxG,IAAI,EAAE,UAAU,EAAE,CAAC;CACpB;AAED,uCAAuC;AACvC,MAAM,MAAM,kBAAkB,GAAG;IAAE,EAAE,EAAE,IAAI,CAAC;IAAC,KAAK,EAAE,cAAc,CAAA;CAAE,GAAG;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,CAAC;AAErG;;;;;;;GAOG;AACH,wBAAsB,aAAa,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,gBAAgB,EAAE,MAAM,CAAA;CAAE,CAAC,CAY5G;AAED;;;;;;GAMG;AACH,wBAAsB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,GAAE,WAAkC,GAAG,OAAO,CAAC,kBAAkB,CAAC,CAiE5H;AAED;;;;;GAKG;AACH,wBAAgB,YAAY,CAAC,IAAI,EAAE,SAAS,UAAU,EAAE,GAAG,MAAM,CAShE;AAED,mFAAmF;AACnF,wBAAgB,cAAc,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAInD;AAED,qCAAqC;AACrC,MAAM,WAAW,gBAAgB;IAC/B,uBAAuB;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,+BAA+B;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CACjD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,UAAU,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAqDjH"}
|
|
@@ -0,0 +1,234 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* "Carry uncommitted changes": move a repository's unpushed work inside the
|
|
3
|
+
* encrypted package instead of asking the owner to commit and push it.
|
|
4
|
+
*
|
|
5
|
+
* Collecting (source): the changes are expressed against a commit the remote
|
|
6
|
+
* has (`baseSha`), so the target can fetch that commit itself. Tracked files
|
|
7
|
+
* (edits, deletions, mode changes and binary files, including the content of
|
|
8
|
+
* local commits the remote lacks) become one `git apply` patch per file;
|
|
9
|
+
* untracked files that are not ignored travel as they are. Nothing is pushed,
|
|
10
|
+
* committed or modified on the source.
|
|
11
|
+
*
|
|
12
|
+
* Applying (target): after the clone is put at `baseSha`, each patch is
|
|
13
|
+
* applied to the working tree and untracked files are written next to it. The
|
|
14
|
+
* result is the same working tree the source had, uncommitted.
|
|
15
|
+
*
|
|
16
|
+
* @module services/team-move/team-move-carry
|
|
17
|
+
*/
|
|
18
|
+
import * as fs from 'node:fs/promises';
|
|
19
|
+
import * as path from 'node:path';
|
|
20
|
+
import { TEAM_MOVE_CONSTANTS } from '../../constants.js';
|
|
21
|
+
import { git, gitBuffer } from './team-move-git.js';
|
|
22
|
+
import { writeFileAtomic } from './team-move-fs.js';
|
|
23
|
+
const C = TEAM_MOVE_CONSTANTS;
|
|
24
|
+
/** Default caps (constants). */
|
|
25
|
+
export const DEFAULT_CARRY_LIMITS = {
|
|
26
|
+
totalBytes: C.CARRY_MAX_BYTES,
|
|
27
|
+
fileBytes: C.CARRY_FILE_MAX_BYTES,
|
|
28
|
+
maxFiles: C.CARRY_MAX_FILES,
|
|
29
|
+
};
|
|
30
|
+
/** Never part of carried work: Crewly's own data folder. */
|
|
31
|
+
const EXCLUDE_CREWLY = ':(exclude).crewly';
|
|
32
|
+
/**
|
|
33
|
+
* The commit the remote has that the changes are expressed against: HEAD when
|
|
34
|
+
* everything is pushed, otherwise the newest commit below the local-only ones.
|
|
35
|
+
*
|
|
36
|
+
* @param repoPath - Repository folder
|
|
37
|
+
* @returns Base commit and the number of local-only commits
|
|
38
|
+
* @throws Error when the repository has no commit or no remote branch to build on
|
|
39
|
+
*/
|
|
40
|
+
export async function findCarryBase(repoPath) {
|
|
41
|
+
const head = (await git(repoPath, ['rev-parse', '--verify', 'HEAD']).catch(() => '')).trim();
|
|
42
|
+
if (!head)
|
|
43
|
+
throw new Error('the repository has no commits yet');
|
|
44
|
+
const lines = (await git(repoPath, ['rev-list', '--boundary', 'HEAD', '--not', '--remotes']).catch(() => ''))
|
|
45
|
+
.split('\n')
|
|
46
|
+
.map((l) => l.trim())
|
|
47
|
+
.filter(Boolean);
|
|
48
|
+
const local = lines.filter((l) => !l.startsWith('-'));
|
|
49
|
+
const boundary = lines.filter((l) => l.startsWith('-')).map((l) => l.slice(1));
|
|
50
|
+
if (local.length === 0)
|
|
51
|
+
return { baseSha: head, flattenedCommits: 0 };
|
|
52
|
+
if (boundary.length === 0)
|
|
53
|
+
throw new Error('no commit of this repository is on the remote');
|
|
54
|
+
return { baseSha: boundary[0], flattenedCommits: local.length };
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Collect a repository's uncommitted and unpushed work.
|
|
58
|
+
*
|
|
59
|
+
* @param repoPath - Repository folder
|
|
60
|
+
* @param limits - Size caps
|
|
61
|
+
* @returns The changes, or why they cannot be carried (never throws)
|
|
62
|
+
*/
|
|
63
|
+
export async function collectCarry(repoPath, limits = DEFAULT_CARRY_LIMITS) {
|
|
64
|
+
let base;
|
|
65
|
+
try {
|
|
66
|
+
base = await findCarryBase(repoPath);
|
|
67
|
+
}
|
|
68
|
+
catch (error) {
|
|
69
|
+
return { ok: false, reason: error instanceof Error ? error.message : String(error) };
|
|
70
|
+
}
|
|
71
|
+
const branch = (await git(repoPath, ['symbolic-ref', '--quiet', '--short', 'HEAD']).catch(() => '')) || null;
|
|
72
|
+
const carry = { baseSha: base.baseSha, branch, flattenedCommits: base.flattenedCommits, patches: [], untracked: [], bytes: 0, left: [] };
|
|
73
|
+
let files = 0;
|
|
74
|
+
try {
|
|
75
|
+
// Tracked files that differ from the base (staged or not), renames as delete + add.
|
|
76
|
+
const names = (await gitBuffer(repoPath, ['diff', '--name-status', '-z', '--no-renames', base.baseSha, '--', '.', EXCLUDE_CREWLY]))
|
|
77
|
+
.toString('utf8')
|
|
78
|
+
.split('\0');
|
|
79
|
+
for (let i = 0; i + 1 < names.length; i += 2) {
|
|
80
|
+
const status = names[i];
|
|
81
|
+
const file = names[i + 1];
|
|
82
|
+
if (!status || !file)
|
|
83
|
+
continue;
|
|
84
|
+
if (files >= limits.maxFiles) {
|
|
85
|
+
carry.left.push({ path: file, bytes: 0, reason: 'too_many' });
|
|
86
|
+
continue;
|
|
87
|
+
}
|
|
88
|
+
let data;
|
|
89
|
+
try {
|
|
90
|
+
data = await gitBuffer(repoPath, ['diff', '--binary', '--no-ext-diff', '--no-color', '--no-renames', base.baseSha, '--', `:(literal)${file}`], limits.fileBytes + 1024 * 1024);
|
|
91
|
+
}
|
|
92
|
+
catch (error) {
|
|
93
|
+
const tooBig = error instanceof Error && error.message === 'output too large';
|
|
94
|
+
carry.left.push({ path: file, bytes: 0, reason: tooBig ? 'too_large' : 'unreadable' });
|
|
95
|
+
continue;
|
|
96
|
+
}
|
|
97
|
+
if (data.length > limits.fileBytes)
|
|
98
|
+
carry.left.push({ path: file, bytes: data.length, reason: 'too_large' });
|
|
99
|
+
else if (carry.bytes + data.length > limits.totalBytes)
|
|
100
|
+
carry.left.push({ path: file, bytes: data.length, reason: 'size_cap' });
|
|
101
|
+
else {
|
|
102
|
+
carry.patches.push({ path: file, data, deleted: status.startsWith('D') });
|
|
103
|
+
carry.bytes += data.length;
|
|
104
|
+
files += 1;
|
|
105
|
+
}
|
|
106
|
+
}
|
|
107
|
+
// Untracked files that are not ignored.
|
|
108
|
+
const others = (await gitBuffer(repoPath, ['ls-files', '--others', '--exclude-standard', '-z', '--', '.', EXCLUDE_CREWLY])).toString('utf8').split('\0').filter(Boolean);
|
|
109
|
+
for (const rel of others) {
|
|
110
|
+
const abs = path.join(repoPath, ...rel.split('/'));
|
|
111
|
+
const st = await fs.lstat(abs).catch(() => null);
|
|
112
|
+
if (!st)
|
|
113
|
+
continue;
|
|
114
|
+
if (st.isSymbolicLink()) {
|
|
115
|
+
carry.left.push({ path: rel, bytes: 0, reason: 'symlink' });
|
|
116
|
+
continue;
|
|
117
|
+
}
|
|
118
|
+
if (!st.isFile())
|
|
119
|
+
continue;
|
|
120
|
+
if (files >= limits.maxFiles)
|
|
121
|
+
carry.left.push({ path: rel, bytes: st.size, reason: 'too_many' });
|
|
122
|
+
else if (st.size > limits.fileBytes)
|
|
123
|
+
carry.left.push({ path: rel, bytes: st.size, reason: 'too_large' });
|
|
124
|
+
else if (carry.bytes + st.size > limits.totalBytes)
|
|
125
|
+
carry.left.push({ path: rel, bytes: st.size, reason: 'size_cap' });
|
|
126
|
+
else {
|
|
127
|
+
carry.untracked.push({ path: rel, abs, size: st.size, executable: (st.mode & 0o111) !== 0 });
|
|
128
|
+
carry.bytes += st.size;
|
|
129
|
+
files += 1;
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
catch (error) {
|
|
134
|
+
return { ok: false, reason: error instanceof Error ? error.message : String(error) };
|
|
135
|
+
}
|
|
136
|
+
return { ok: true, carry };
|
|
137
|
+
}
|
|
138
|
+
/**
|
|
139
|
+
* One line for the owner about why changes could not be carried.
|
|
140
|
+
*
|
|
141
|
+
* @param left - Changes that did not fit
|
|
142
|
+
* @returns Sentence fragment
|
|
143
|
+
*/
|
|
144
|
+
export function describeLeft(left) {
|
|
145
|
+
const count = (reason) => left.filter((l) => l.reason === reason).length;
|
|
146
|
+
const parts = [];
|
|
147
|
+
if (count('too_large'))
|
|
148
|
+
parts.push(`${count('too_large')} file${count('too_large') === 1 ? ' is' : 's are'} too large`);
|
|
149
|
+
if (count('size_cap'))
|
|
150
|
+
parts.push(`${count('size_cap')} more would exceed the size limit`);
|
|
151
|
+
if (count('too_many'))
|
|
152
|
+
parts.push(`${count('too_many')} more would exceed the file limit`);
|
|
153
|
+
if (count('symlink'))
|
|
154
|
+
parts.push(`${count('symlink')} symbolic link${count('symlink') === 1 ? '' : 's'}`);
|
|
155
|
+
if (count('unreadable'))
|
|
156
|
+
parts.push(`${count('unreadable')} could not be read`);
|
|
157
|
+
return parts.join(', ');
|
|
158
|
+
}
|
|
159
|
+
/** Whether a repository-relative path may be written below a repository folder. */
|
|
160
|
+
export function isSafeRepoPath(rel) {
|
|
161
|
+
if (!rel || rel.startsWith('/') || rel.includes('\\') || rel.includes('\0'))
|
|
162
|
+
return false;
|
|
163
|
+
const segments = rel.split('/');
|
|
164
|
+
return segments.every((s) => s !== '' && s !== '.' && s !== '..' && s.toLowerCase() !== '.git');
|
|
165
|
+
}
|
|
166
|
+
/**
|
|
167
|
+
* Apply carried changes to a repository that is checked out at the base.
|
|
168
|
+
*
|
|
169
|
+
* Each file is independent: a patch that does not apply, or an untracked file
|
|
170
|
+
* that already exists with other content, is reported and kept (patches under
|
|
171
|
+
* `.crewly/move-carry-failed/`) so nothing is lost. Existing files are never
|
|
172
|
+
* overwritten.
|
|
173
|
+
*
|
|
174
|
+
* @param repoPath - Repository folder on the target
|
|
175
|
+
* @param carryDir - Folder holding `carry.json`, `patches/` and `files/`
|
|
176
|
+
* @param index - The parsed `carry.json`
|
|
177
|
+
* @returns What was applied and what failed
|
|
178
|
+
*/
|
|
179
|
+
export async function applyCarry(repoPath, carryDir, index) {
|
|
180
|
+
const result = { applied: 0, untracked: 0, failed: [] };
|
|
181
|
+
const keepFailed = async (file, name) => {
|
|
182
|
+
const keep = path.join(repoPath, '.crewly', 'move-carry-failed');
|
|
183
|
+
await fs.mkdir(keep, { recursive: true }).catch(() => undefined);
|
|
184
|
+
await fs.copyFile(file, path.join(keep, name)).catch(() => undefined);
|
|
185
|
+
};
|
|
186
|
+
for (const patch of index.patches) {
|
|
187
|
+
const file = path.join(carryDir, ...patch.file.split('/'));
|
|
188
|
+
if (!isSafeRepoPath(patch.path)) {
|
|
189
|
+
result.failed.push({ path: patch.path, reason: 'unsafe path' });
|
|
190
|
+
continue;
|
|
191
|
+
}
|
|
192
|
+
try {
|
|
193
|
+
await git(repoPath, ['apply', '--binary', '--whitespace=nowarn', file], 120_000);
|
|
194
|
+
result.applied += 1;
|
|
195
|
+
}
|
|
196
|
+
catch (error) {
|
|
197
|
+
// A rerun after a crash: the patch is already in the working tree.
|
|
198
|
+
if (await git(repoPath, ['apply', '--reverse', '--check', '--binary', file]).then(() => true, () => false)) {
|
|
199
|
+
result.applied += 1;
|
|
200
|
+
continue;
|
|
201
|
+
}
|
|
202
|
+
result.failed.push({ path: patch.path, reason: `does not apply (${error instanceof Error ? error.message : String(error)})`.slice(0, 200) });
|
|
203
|
+
await keepFailed(file, `${path.basename(patch.file)}`);
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
for (const item of index.untracked) {
|
|
207
|
+
const src = path.join(carryDir, ...item.file.split('/'));
|
|
208
|
+
if (!isSafeRepoPath(item.path)) {
|
|
209
|
+
result.failed.push({ path: item.path, reason: 'unsafe path' });
|
|
210
|
+
continue;
|
|
211
|
+
}
|
|
212
|
+
const dest = path.join(repoPath, ...item.path.split('/'));
|
|
213
|
+
try {
|
|
214
|
+
const content = await fs.readFile(src);
|
|
215
|
+
const existing = await fs.readFile(dest).catch(() => null);
|
|
216
|
+
if (existing) {
|
|
217
|
+
if (!existing.equals(content)) {
|
|
218
|
+
result.failed.push({ path: item.path, reason: 'a different file is already there' });
|
|
219
|
+
await keepFailed(src, `untracked-${item.path.replace(/[\\/]/g, '__')}`);
|
|
220
|
+
}
|
|
221
|
+
continue;
|
|
222
|
+
}
|
|
223
|
+
await writeFileAtomic(dest, content);
|
|
224
|
+
if (item.executable)
|
|
225
|
+
await fs.chmod(dest, 0o755).catch(() => undefined);
|
|
226
|
+
result.untracked += 1;
|
|
227
|
+
}
|
|
228
|
+
catch (error) {
|
|
229
|
+
result.failed.push({ path: item.path, reason: error instanceof Error ? error.message : String(error) });
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
return result;
|
|
233
|
+
}
|
|
234
|
+
//# sourceMappingURL=team-move-carry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"team-move-carry.js","sourceRoot":"","sources":["../../../../../../backend/src/services/team-move/team-move-carry.ts"],"names":[],"mappings":"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"}
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
*
|
|
7
7
|
* @module services/team-move/team-move-cloud.client
|
|
8
8
|
*/
|
|
9
|
-
import type { CloudManifestSummary, TeamMovePreflight, TeamMoveReportStatus, TeamMoveView } from './team-move.types.js';
|
|
9
|
+
import type { CloudManifestSummary, SourcePreflightReport, TeamMoveOptions, TeamMovePreflight, TeamMovePreflightAction, TeamMoveReportStatus, TeamMoveRole, TeamMoveView } from './team-move.types.js';
|
|
10
10
|
/** The Cloud session (CloudClientService). */
|
|
11
11
|
export interface TeamMoveCloudSession {
|
|
12
12
|
getToken(): string | null;
|
|
@@ -14,6 +14,32 @@ export interface TeamMoveCloudSession {
|
|
|
14
14
|
/** Refresh an expired access token; true when a new one is in place. */
|
|
15
15
|
tryRefreshToken?(): Promise<boolean>;
|
|
16
16
|
}
|
|
17
|
+
/** A preflight request as Cloud shows it to a machine. */
|
|
18
|
+
export interface PreflightRequest {
|
|
19
|
+
preflightId: string;
|
|
20
|
+
teamId: string;
|
|
21
|
+
teamName: string;
|
|
22
|
+
/** The machine the team would move to (for wording). */
|
|
23
|
+
targetName?: string;
|
|
24
|
+
/** Which side this machine is, and what it has to do now. */
|
|
25
|
+
role: TeamMoveRole;
|
|
26
|
+
action: TeamMovePreflightAction;
|
|
27
|
+
options: TeamMoveOptions;
|
|
28
|
+
/** Run the dry run again even if the last one is still fresh. */
|
|
29
|
+
force?: boolean;
|
|
30
|
+
}
|
|
31
|
+
/** What a machine reports back for a preflight. */
|
|
32
|
+
export interface PreflightResultBody {
|
|
33
|
+
/** Source: the team report. Target: the machine's preflight. */
|
|
34
|
+
report?: SourcePreflightReport | TeamMovePreflight;
|
|
35
|
+
/** Source, after `ask_team`: who was asked. */
|
|
36
|
+
ask?: {
|
|
37
|
+
ok: boolean;
|
|
38
|
+
agents: string[];
|
|
39
|
+
error?: string;
|
|
40
|
+
};
|
|
41
|
+
error?: string;
|
|
42
|
+
}
|
|
17
43
|
/** An error answer from Cloud (or no answer at all). */
|
|
18
44
|
export declare class TeamMoveCloudError extends Error {
|
|
19
45
|
readonly status: number;
|
|
@@ -60,11 +86,18 @@ export declare class TeamMoveCloudClient {
|
|
|
60
86
|
listRecent(): Promise<TeamMoveView[]>;
|
|
61
87
|
/** One move. */
|
|
62
88
|
get(moveId: string): Promise<TeamMoveView>;
|
|
89
|
+
/** Preflight requests waiting for this machine. */
|
|
90
|
+
listPreflights(): Promise<PreflightRequest[]>;
|
|
91
|
+
/** One preflight request, as this machine has to answer it. */
|
|
92
|
+
getPreflight(preflightId: string): Promise<PreflightRequest>;
|
|
93
|
+
/** Answer a preflight request. */
|
|
94
|
+
postPreflightResult(preflightId: string, body: PreflightResultBody): Promise<void>;
|
|
63
95
|
/** Ask Cloud to start a move (the owner path, or an instance acting for the owner). */
|
|
64
96
|
create(body: {
|
|
65
97
|
teamId: string;
|
|
66
98
|
sourceInstanceId: string;
|
|
67
99
|
targetInstanceId: string;
|
|
100
|
+
options?: TeamMoveOptions;
|
|
68
101
|
}): Promise<{
|
|
69
102
|
moveId: string;
|
|
70
103
|
}>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"team-move-cloud.client.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/team-move/team-move-cloud.client.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAQH,OAAO,KAAK,EAAE,oBAAoB,EAAE,iBAAiB,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,sBAAsB,CAAC;
|
|
1
|
+
{"version":3,"file":"team-move-cloud.client.d.ts","sourceRoot":"","sources":["../../../../../../backend/src/services/team-move/team-move-cloud.client.ts"],"names":[],"mappings":"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"}
|
|
@@ -152,6 +152,20 @@ export class TeamMoveCloudClient {
|
|
|
152
152
|
async get(moveId) {
|
|
153
153
|
return this.data(await this.request('GET', `/${encodeURIComponent(moveId)}`));
|
|
154
154
|
}
|
|
155
|
+
/** Preflight requests waiting for this machine. */
|
|
156
|
+
async listPreflights() {
|
|
157
|
+
const instanceId = encodeURIComponent(await this.options.getInstanceId());
|
|
158
|
+
const data = await this.data(await this.request('GET', `/preflights?instanceId=${instanceId}`, { retries: 1 }));
|
|
159
|
+
return Array.isArray(data) ? data : [];
|
|
160
|
+
}
|
|
161
|
+
/** One preflight request, as this machine has to answer it. */
|
|
162
|
+
async getPreflight(preflightId) {
|
|
163
|
+
return this.data(await this.request('GET', `/preflights/${encodeURIComponent(preflightId)}`, { retries: 1 }));
|
|
164
|
+
}
|
|
165
|
+
/** Answer a preflight request. */
|
|
166
|
+
async postPreflightResult(preflightId, body) {
|
|
167
|
+
await this.request('POST', `/preflights/${encodeURIComponent(preflightId)}/result`, { json: body, retries: 1 });
|
|
168
|
+
}
|
|
155
169
|
/** Ask Cloud to start a move (the owner path, or an instance acting for the owner). */
|
|
156
170
|
async create(body) {
|
|
157
171
|
const data = await this.data(await this.request('POST', '', { json: body, retries: 1, headers: { 'X-Crewly-Acting-For': 'owner', 'X-Crewly-Acting-For-Role': 'owner' } }));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"team-move-cloud.client.js","sourceRoot":"","sources":["../../../../../../backend/src/services/team-move/team-move-cloud.client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"team-move-cloud.client.js","sourceRoot":"","sources":["../../../../../../backend/src/services/team-move/team-move-cloud.client.ts"],"names":[],"mappings":"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"}
|