@tickernelz/paperclip-pro-adapter-utils 2026.1006.0 → 2026.1006.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (181) hide show
  1. package/README.md +13 -0
  2. package/dist/acpx-engine/ephemeral-session-environment.d.ts +4 -0
  3. package/dist/acpx-engine/ephemeral-session-environment.d.ts.map +1 -0
  4. package/dist/acpx-engine/ephemeral-session-environment.js +29 -0
  5. package/dist/acpx-engine/ephemeral-session-environment.js.map +1 -0
  6. package/dist/acpx-engine/ephemeral-session-environment.test.d.ts +2 -0
  7. package/dist/acpx-engine/ephemeral-session-environment.test.d.ts.map +1 -0
  8. package/dist/acpx-engine/ephemeral-session-environment.test.js +177 -0
  9. package/dist/acpx-engine/ephemeral-session-environment.test.js.map +1 -0
  10. package/dist/acpx-engine/execute.d.ts +2 -6
  11. package/dist/acpx-engine/execute.d.ts.map +1 -1
  12. package/dist/acpx-engine/execute.js +125 -62
  13. package/dist/acpx-engine/execute.js.map +1 -1
  14. package/dist/acpx-engine/execute.test.js +299 -3
  15. package/dist/acpx-engine/execute.test.js.map +1 -1
  16. package/dist/acpx-engine/session-codec.d.ts.map +1 -1
  17. package/dist/acpx-engine/session-codec.js +1 -0
  18. package/dist/acpx-engine/session-codec.js.map +1 -1
  19. package/dist/acpx-engine/settlement-characterization.test.js +105 -0
  20. package/dist/acpx-engine/settlement-characterization.test.js.map +1 -1
  21. package/dist/acpx-engine/spawn-smoke.test.js +16 -7
  22. package/dist/acpx-engine/spawn-smoke.test.js.map +1 -1
  23. package/dist/acpx-engine/startup-cancellation.d.ts +1 -0
  24. package/dist/acpx-engine/startup-cancellation.d.ts.map +1 -1
  25. package/dist/acpx-engine/startup-cancellation.js +7 -2
  26. package/dist/acpx-engine/startup-cancellation.js.map +1 -1
  27. package/dist/acpx-engine/terminal-session-failure.d.ts +18 -0
  28. package/dist/acpx-engine/terminal-session-failure.d.ts.map +1 -0
  29. package/dist/acpx-engine/terminal-session-failure.js +106 -0
  30. package/dist/acpx-engine/terminal-session-failure.js.map +1 -0
  31. package/dist/acpx-engine/terminal-session-failure.test.d.ts +2 -0
  32. package/dist/acpx-engine/terminal-session-failure.test.d.ts.map +1 -0
  33. package/dist/acpx-engine/terminal-session-failure.test.js +139 -0
  34. package/dist/acpx-engine/terminal-session-failure.test.js.map +1 -0
  35. package/dist/acpx-engine/turn-characterization.test.js +4 -3
  36. package/dist/acpx-engine/turn-characterization.test.js.map +1 -1
  37. package/dist/command-managed-runtime.d.ts +2 -0
  38. package/dist/command-managed-runtime.d.ts.map +1 -1
  39. package/dist/command-managed-runtime.js +2 -0
  40. package/dist/command-managed-runtime.js.map +1 -1
  41. package/dist/command-redaction.d.ts +2 -0
  42. package/dist/command-redaction.d.ts.map +1 -1
  43. package/dist/command-redaction.js +20 -10
  44. package/dist/command-redaction.js.map +1 -1
  45. package/dist/command-redaction.test.js +20 -1
  46. package/dist/command-redaction.test.js.map +1 -1
  47. package/dist/directory-merge-lock.test.d.ts +2 -0
  48. package/dist/directory-merge-lock.test.d.ts.map +1 -0
  49. package/dist/directory-merge-lock.test.js +166 -0
  50. package/dist/directory-merge-lock.test.js.map +1 -0
  51. package/dist/execution-phase.d.ts +10 -0
  52. package/dist/execution-phase.d.ts.map +1 -0
  53. package/dist/execution-phase.js +27 -0
  54. package/dist/execution-phase.js.map +1 -0
  55. package/dist/execution-phase.test.d.ts +2 -0
  56. package/dist/execution-phase.test.d.ts.map +1 -0
  57. package/dist/execution-phase.test.js +26 -0
  58. package/dist/execution-phase.test.js.map +1 -0
  59. package/dist/execution-target-sandbox.test.js +49 -7
  60. package/dist/execution-target-sandbox.test.js.map +1 -1
  61. package/dist/execution-target-stdin-race.test.js +245 -2
  62. package/dist/execution-target-stdin-race.test.js.map +1 -1
  63. package/dist/execution-target.d.ts +6 -0
  64. package/dist/execution-target.d.ts.map +1 -1
  65. package/dist/execution-target.js +74 -22
  66. package/dist/execution-target.js.map +1 -1
  67. package/dist/git-workspace-sync.d.ts +15 -5
  68. package/dist/git-workspace-sync.d.ts.map +1 -1
  69. package/dist/git-workspace-sync.js +267 -124
  70. package/dist/git-workspace-sync.js.map +1 -1
  71. package/dist/git-workspace-sync.test.js +296 -20
  72. package/dist/git-workspace-sync.test.js.map +1 -1
  73. package/dist/github-launcher.d.ts.map +1 -1
  74. package/dist/github-launcher.js +26 -11
  75. package/dist/github-launcher.js.map +1 -1
  76. package/dist/github-launcher.test.js +34 -1
  77. package/dist/github-launcher.test.js.map +1 -1
  78. package/dist/index.d.ts +1 -1
  79. package/dist/index.d.ts.map +1 -1
  80. package/dist/index.js +1 -1
  81. package/dist/index.js.map +1 -1
  82. package/dist/paperclip-runner-permissions.d.ts +28 -1
  83. package/dist/paperclip-runner-permissions.d.ts.map +1 -1
  84. package/dist/paperclip-runner-permissions.js +9 -1
  85. package/dist/paperclip-runner-permissions.js.map +1 -1
  86. package/dist/prompt-sections.test.d.ts +2 -0
  87. package/dist/prompt-sections.test.d.ts.map +1 -0
  88. package/dist/prompt-sections.test.js +53 -0
  89. package/dist/prompt-sections.test.js.map +1 -0
  90. package/dist/provider-stopped-boundary.d.ts +7 -0
  91. package/dist/provider-stopped-boundary.d.ts.map +1 -0
  92. package/dist/provider-stopped-boundary.js +22 -0
  93. package/dist/provider-stopped-boundary.js.map +1 -0
  94. package/dist/provider-stopped-boundary.test.d.ts +2 -0
  95. package/dist/provider-stopped-boundary.test.d.ts.map +1 -0
  96. package/dist/provider-stopped-boundary.test.js +76 -0
  97. package/dist/provider-stopped-boundary.test.js.map +1 -0
  98. package/dist/remote-managed-runtime.d.ts +2 -0
  99. package/dist/remote-managed-runtime.d.ts.map +1 -1
  100. package/dist/remote-managed-runtime.js +3 -1
  101. package/dist/remote-managed-runtime.js.map +1 -1
  102. package/dist/remote-managed-runtime.test.js +25 -0
  103. package/dist/remote-managed-runtime.test.js.map +1 -1
  104. package/dist/sandbox-callback-bridge.d.ts +2 -0
  105. package/dist/sandbox-callback-bridge.d.ts.map +1 -1
  106. package/dist/sandbox-callback-bridge.js +34 -10
  107. package/dist/sandbox-callback-bridge.js.map +1 -1
  108. package/dist/sandbox-callback-bridge.test.js +106 -3
  109. package/dist/sandbox-callback-bridge.test.js.map +1 -1
  110. package/dist/sandbox-managed-runtime.d.ts +3 -0
  111. package/dist/sandbox-managed-runtime.d.ts.map +1 -1
  112. package/dist/sandbox-managed-runtime.js +749 -718
  113. package/dist/sandbox-managed-runtime.js.map +1 -1
  114. package/dist/sandbox-managed-runtime.test.js +171 -2
  115. package/dist/sandbox-managed-runtime.test.js.map +1 -1
  116. package/dist/server-utils.d.ts +43 -1
  117. package/dist/server-utils.d.ts.map +1 -1
  118. package/dist/server-utils.js +103 -31
  119. package/dist/server-utils.js.map +1 -1
  120. package/dist/server-utils.test.js +235 -45
  121. package/dist/server-utils.test.js.map +1 -1
  122. package/dist/session-compaction.d.ts.map +1 -1
  123. package/dist/session-compaction.js +6 -0
  124. package/dist/session-compaction.js.map +1 -1
  125. package/dist/ssh-fixture.test.js +22 -0
  126. package/dist/ssh-fixture.test.js.map +1 -1
  127. package/dist/ssh.d.ts +2 -0
  128. package/dist/ssh.d.ts.map +1 -1
  129. package/dist/ssh.js +2 -2
  130. package/dist/ssh.js.map +1 -1
  131. package/dist/test-fixtures/prompt-context.d.ts +54 -0
  132. package/dist/test-fixtures/prompt-context.d.ts.map +1 -0
  133. package/dist/test-fixtures/prompt-context.js +55 -0
  134. package/dist/test-fixtures/prompt-context.js.map +1 -0
  135. package/dist/types.d.ts +12 -2
  136. package/dist/types.d.ts.map +1 -1
  137. package/dist/workspace-git-stream.d.ts +19 -0
  138. package/dist/workspace-git-stream.d.ts.map +1 -0
  139. package/dist/workspace-git-stream.js +99 -0
  140. package/dist/workspace-git-stream.js.map +1 -0
  141. package/dist/workspace-git-stream.test.d.ts +2 -0
  142. package/dist/workspace-git-stream.test.d.ts.map +1 -0
  143. package/dist/workspace-git-stream.test.js +71 -0
  144. package/dist/workspace-git-stream.test.js.map +1 -0
  145. package/dist/workspace-manifest.d.ts +61 -0
  146. package/dist/workspace-manifest.d.ts.map +1 -0
  147. package/dist/workspace-manifest.js +257 -0
  148. package/dist/workspace-manifest.js.map +1 -0
  149. package/dist/workspace-manifest.test.d.ts +2 -0
  150. package/dist/workspace-manifest.test.d.ts.map +1 -0
  151. package/dist/workspace-manifest.test.js +160 -0
  152. package/dist/workspace-manifest.test.js.map +1 -0
  153. package/dist/workspace-restore-diagnostics.d.ts +34 -0
  154. package/dist/workspace-restore-diagnostics.d.ts.map +1 -0
  155. package/dist/workspace-restore-diagnostics.js +238 -0
  156. package/dist/workspace-restore-diagnostics.js.map +1 -0
  157. package/dist/workspace-restore-diagnostics.test.d.ts +2 -0
  158. package/dist/workspace-restore-diagnostics.test.d.ts.map +1 -0
  159. package/dist/workspace-restore-diagnostics.test.js +258 -0
  160. package/dist/workspace-restore-diagnostics.test.js.map +1 -0
  161. package/dist/workspace-restore-merge.d.ts +47 -6
  162. package/dist/workspace-restore-merge.d.ts.map +1 -1
  163. package/dist/workspace-restore-merge.js +382 -114
  164. package/dist/workspace-restore-merge.js.map +1 -1
  165. package/dist/workspace-restore-merge.test.js +253 -4
  166. package/dist/workspace-restore-merge.test.js.map +1 -1
  167. package/dist/workspace-restore-result.d.ts +6 -0
  168. package/dist/workspace-restore-result.d.ts.map +1 -0
  169. package/dist/workspace-restore-result.js +72 -0
  170. package/dist/workspace-restore-result.js.map +1 -0
  171. package/dist/workspace-restore-result.test.d.ts +2 -0
  172. package/dist/workspace-restore-result.test.d.ts.map +1 -0
  173. package/dist/workspace-restore-result.test.js +74 -0
  174. package/dist/workspace-restore-result.test.js.map +1 -0
  175. package/dist/workspace-restore-teardown.d.ts.map +1 -1
  176. package/dist/workspace-restore-teardown.js +5 -3
  177. package/dist/workspace-restore-teardown.js.map +1 -1
  178. package/dist/workspace-restore-teardown.test.js +24 -0
  179. package/dist/workspace-restore-teardown.test.js.map +1 -1
  180. package/node_modules/acpx/dist/live-checkpoint-ClPCSdrW.js +4 -3
  181. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"git-workspace-sync.js","sourceRoot":"","sources":["../src/git-workspace-sync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"git-workspace-sync.js","sourceRoot":"","sources":["../src/git-workspace-sync.ts"],"names":[],"mappings":"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"}
@@ -3,9 +3,28 @@ import { lstat, mkdir, mkdtemp, readFile, readlink, rename, rm, stat, symlink, w
3
3
  import os from "node:os";
4
4
  import path from "node:path";
5
5
  import { promisify } from "node:util";
6
+ import { workspacePaths } from "./workspace-manifest.js";
7
+ import { runWorkspaceGitProcess } from "./workspace-git-stream.js";
6
8
  import { afterEach, describe, expect, it } from "vitest";
7
- import { buildRemoteGitDeltaBundleScript, createImportedGitRef, createRemoteGitExportRef, deleteLocalGitRef, fetchGitBundleIntoLocalRef, integrateImportedGitHead, isMissingGitPrerequisiteError, readGitWorkspaceSnapshot, ReferencedSourceIgnoreScanLimitExceededError, readReferencedSourceGitIgnoredPaths, REFERENCED_SOURCE_IGNORE_MAX_ENTRY_COUNT, REFERENCED_SOURCE_IGNORE_MAX_TOTAL_BYTES, runLocalGit, sanitizeGitRemoteUrl, setExpensiveWorkspaceGitExecutor, withShallowGitWorkspaceClone, } from "./git-workspace-sync.js";
9
+ import { getWorkspaceRestoreDiagnostic, withWorkspaceRestoreDiagnostics, withWorkspaceRestoreStep, withWorkspaceRestoreGitCommand } from "./workspace-restore-diagnostics.js";
10
+ import { buildRemoteGitDeltaBundleScript, createImportedGitRef, createRemoteGitExportRef, deleteLocalGitRef, fetchGitBundleIntoLocalRef, integrateImportedGitHead, isMissingGitPrerequisiteError, readGitWorkspaceSnapshot as readRawSnapshot, disposeGitWorkspaceSnapshot, ReferencedSourceIgnoreScanLimitExceededError, readReferencedSourceGitIgnoredPaths, REFERENCED_SOURCE_IGNORE_MAX_ENTRY_COUNT, REFERENCED_SOURCE_IGNORE_MAX_TOTAL_BYTES, runLocalGit, resetLocalGitIndexToHead, sanitizeGitRemoteUrl, setExpensiveWorkspaceGitExecutor, withShallowGitWorkspaceClone, } from "./git-workspace-sync.js";
8
11
  const execFile = promisify(execFileCallback);
12
+ const snapshots = [];
13
+ async function readGitWorkspaceSnapshot(...args) {
14
+ const snapshot = await readRawSnapshot(...args);
15
+ if (!snapshot)
16
+ return null;
17
+ snapshots.push(snapshot);
18
+ // Small fixture assertions use arrays; production consumes only iterators.
19
+ return { ...snapshot, overlayPaths: [...workspacePaths(snapshot.overlayPaths)].sort((a, b) => a.localeCompare(b)),
20
+ deletedPaths: [...workspacePaths(snapshot.deletedPaths)], ignoredPaths: [...workspacePaths(snapshot.ignoredPaths)] };
21
+ }
22
+ function executeScan(input) {
23
+ if (!input.onStdout)
24
+ return runLocalGit(input.localDir, [...input.args], input);
25
+ return runWorkspaceGitProcess({ cwd: input.localDir, args: input.args, timeoutMs: input.timeout,
26
+ maxStdoutBytes: input.maxBuffer, maxStderrBytes: input.maxBuffer, onStdout: input.onStdout, signal: input.signal, env: input.env });
27
+ }
9
28
  async function git(cwd, args) {
10
29
  return (await runLocalGit(cwd, args)).stdout.trim();
11
30
  }
@@ -13,6 +32,8 @@ describe("git workspace sync", () => {
13
32
  const cleanupDirs = [];
14
33
  afterEach(async () => {
15
34
  setExpensiveWorkspaceGitExecutor(null);
35
+ for (const snapshot of snapshots.splice(0))
36
+ await disposeGitWorkspaceSnapshot(snapshot);
16
37
  while (cleanupDirs.length > 0) {
17
38
  const dir = cleanupDirs.pop();
18
39
  if (!dir)
@@ -28,10 +49,7 @@ describe("git workspace sync", () => {
28
49
  const operations = [];
29
50
  setExpensiveWorkspaceGitExecutor(async (input) => {
30
51
  operations.push(input.operation);
31
- return await runLocalGit(input.localDir, [...input.args], {
32
- timeout: input.timeout,
33
- maxBuffer: input.maxBuffer,
34
- });
52
+ return executeScan(input);
35
53
  });
36
54
  const snapshot = await readGitWorkspaceSnapshot(repo);
37
55
  expect(snapshot?.overlayPaths).toContain("untracked.txt");
@@ -81,7 +99,7 @@ describe("git workspace sync", () => {
81
99
  setExpensiveWorkspaceGitExecutor(async (input) => {
82
100
  if (input.operation === "adapter_sync.ignored_files")
83
101
  throw failure;
84
- return runLocalGit(input.localDir, [...input.args]);
102
+ return executeScan(input);
85
103
  });
86
104
  await expect(readGitWorkspaceSnapshot(repo, false)).rejects.toBe(failure);
87
105
  });
@@ -97,7 +115,7 @@ describe("git workspace sync", () => {
97
115
  setExpensiveWorkspaceGitExecutor(async (input) => {
98
116
  if (input.operation === "adapter_sync.ignored_files")
99
117
  ignoredArgs = input.args;
100
- return runLocalGit(input.localDir, [...input.args]);
118
+ return executeScan(input);
101
119
  });
102
120
  expect((await readGitWorkspaceSnapshot(repo))?.ignoredPaths).toEqual(["dependencies", "token.secret"]);
103
121
  expect(ignoredArgs).toEqual(["ls-files", "--others", "--ignored", "--exclude-standard", "--directory", "-z"]);
@@ -116,10 +134,7 @@ describe("git workspace sync", () => {
116
134
  maxBuffer: 2 * 1024 * 1024,
117
135
  });
118
136
  expect(Buffer.byteLength(raw.stdout)).toBeGreaterThan(1024 * 1024);
119
- setExpensiveWorkspaceGitExecutor((input) => runLocalGit(input.localDir, [...input.args], {
120
- timeout: input.timeout,
121
- maxBuffer: input.maxBuffer,
122
- }));
137
+ setExpensiveWorkspaceGitExecutor(executeScan);
123
138
  const snapshot = await readGitWorkspaceSnapshot(repo);
124
139
  expect(snapshot?.overlayPaths).toEqual(names.map((name) => `storybook-output/${name}`).sort((left, right) => left.localeCompare(right)));
125
140
  // A larger tree exceeds the old 8 MiB bound but fits the new 32 MiB bound.
@@ -139,9 +154,17 @@ describe("git workspace sync", () => {
139
154
  await rename(generatedDir, path.join(deepParent, "storybook-output"));
140
155
  expect(Buffer.byteLength(largerRaw.stdout) + 40_000 * (path.relative(repo, deepParent).length + 1))
141
156
  .toBeGreaterThan(32 * 1024 * 1024);
142
- await expect(readGitWorkspaceSnapshot(repo)).rejects.toMatchObject({
143
- code: "ERR_CHILD_PROCESS_STDIO_MAXBUFFER",
144
- });
157
+ const streamed = await readRawSnapshot(repo);
158
+ snapshots.push(streamed);
159
+ let count = 0;
160
+ let bytes = 0;
161
+ for (const relative of workspacePaths(streamed.overlayPaths)) {
162
+ count++;
163
+ bytes += Buffer.byteLength(relative) + 1;
164
+ }
165
+ expect(count).toBe(40_000);
166
+ expect(bytes).toBeGreaterThan(32 * 1024 * 1024);
167
+ expect(JSON.stringify(streamed).length).toBeLessThan(4096);
145
168
  }, 60_000);
146
169
  async function createRepo(rootDir) {
147
170
  const repo = path.join(rootDir, "repo");
@@ -553,7 +576,9 @@ describe("git workspace sync", () => {
553
576
  for (const key of identityEnvKeys)
554
577
  delete process.env[key];
555
578
  try {
556
- await integrateImportedGitHead({ localDir: repo, importedHead });
579
+ await integrateImportedGitHead({
580
+ localDir: repo, importedHead, baseline: { headCommit: baseHead, branchName: "main" },
581
+ });
557
582
  }
558
583
  finally {
559
584
  for (const [key, value] of savedEnv) {
@@ -573,7 +598,154 @@ describe("git workspace sync", () => {
573
598
  expect(mergedTree).toContain("local.txt");
574
599
  expect(mergedTree).toContain("imported.txt");
575
600
  });
576
- it("grafts an imported head onto the current head when histories share no ancestor", async () => {
601
+ describe("sandbox history rewrites", () => {
602
+ async function rewrittenHistory() {
603
+ const repo = await mkdtemp(path.join(os.tmpdir(), "paperclip-git-rewrite-"));
604
+ cleanupDirs.push(repo);
605
+ await git(repo, ["init"]);
606
+ await git(repo, ["checkout", "-b", "host"]);
607
+ await git(repo, ["config", "user.name", "Paperclip Test"]);
608
+ await git(repo, ["config", "user.email", "test@paperclip.dev"]);
609
+ await writeFile(path.join(repo, "tracked.txt"), "base\n");
610
+ await git(repo, ["add", "."]);
611
+ await git(repo, ["commit", "-m", "base"]);
612
+ const ancestor = await git(repo, ["rev-parse", "HEAD"]);
613
+ await writeFile(path.join(repo, "tracked.txt"), "original change\n");
614
+ await git(repo, ["commit", "-am", "original change"]);
615
+ const baseline = { headCommit: await git(repo, ["rev-parse", "HEAD"]), branchName: "host" };
616
+ await git(repo, ["checkout", "-b", "sandbox"]);
617
+ await writeFile(path.join(repo, "tracked.txt"), "rewritten change\n");
618
+ await git(repo, ["commit", "-am", "rewritten change", "--amend"]);
619
+ const importedHead = await git(repo, ["rev-parse", "HEAD"]);
620
+ await git(repo, ["checkout", "host"]);
621
+ return { repo, ancestor, baseline, importedHead };
622
+ }
623
+ it("accepts rewritten history when the host still matches the starting snapshot", async () => {
624
+ const { repo, baseline, importedHead } = await rewrittenHistory();
625
+ // The old integration path attempts this conflicting merge even though
626
+ // the host has not changed since the run started.
627
+ await expect(git(repo, ["merge-tree", "--write-tree", baseline.headCommit, importedHead]))
628
+ .rejects.toMatchObject({ code: 1 });
629
+ await writeFile(path.join(repo, "local.txt"), "local work\n");
630
+ await git(repo, ["add", "local.txt"]);
631
+ const indexBefore = await git(repo, ["write-tree"]);
632
+ await integrateImportedGitHead({ localDir: repo, importedHead, baseline });
633
+ expect(await git(repo, ["rev-parse", "HEAD"])).toBe(importedHead);
634
+ expect(await git(repo, ["symbolic-ref", "--short", "HEAD"])).toBe("host");
635
+ expect(await git(repo, ["write-tree"])).toBe(indexBefore);
636
+ expect(await readFile(path.join(repo, "local.txt"), "utf8")).toBe("local work\n");
637
+ });
638
+ it("restores an intentional reset to an ancestor when the host has not changed", async () => {
639
+ const { repo, ancestor, baseline } = await rewrittenHistory();
640
+ await integrateImportedGitHead({ localDir: repo, importedHead: ancestor, baseline });
641
+ expect(await git(repo, ["rev-parse", "HEAD"])).toBe(ancestor);
642
+ });
643
+ it("does not replace host commits made after the starting snapshot", async () => {
644
+ const { repo, baseline, importedHead } = await rewrittenHistory();
645
+ await writeFile(path.join(repo, "local.txt"), "concurrent work\n");
646
+ await git(repo, ["add", "local.txt"]);
647
+ await git(repo, ["commit", "-m", "host advanced"]);
648
+ const hostHead = await git(repo, ["rev-parse", "HEAD"]);
649
+ await expect(integrateImportedGitHead({ localDir: repo, importedHead, baseline }))
650
+ .rejects.toThrow("Failed to merge concurrent remote git histories");
651
+ expect(await git(repo, ["rev-parse", "HEAD"])).toBe(hostHead);
652
+ expect(await readFile(path.join(repo, "local.txt"), "utf8")).toBe("concurrent work\n");
653
+ });
654
+ it("does not replace a different host branch at the same starting commit", async () => {
655
+ const { repo, baseline, importedHead } = await rewrittenHistory();
656
+ const tree = await git(repo, ["rev-parse", `${importedHead}^{tree}`]);
657
+ const fastForwardHead = await git(repo, ["commit-tree", tree, "-p", baseline.headCommit, "-m", "sandbox advance"]);
658
+ await git(repo, ["checkout", "-b", "other"]);
659
+ await expect(integrateImportedGitHead({ localDir: repo, importedHead: fastForwardHead, baseline }))
660
+ .rejects.toThrow("branch changed");
661
+ expect(await git(repo, ["rev-parse", "HEAD"])).toBe(baseline.headCommit);
662
+ expect(await git(repo, ["rev-parse", "host"])).toBe(baseline.headCommit);
663
+ });
664
+ it("keeps the conservative merge behavior without a starting snapshot", async () => {
665
+ const { repo, baseline, importedHead } = await rewrittenHistory();
666
+ await expect(integrateImportedGitHead({ localDir: repo, importedHead }))
667
+ .rejects.toThrow("Failed to merge concurrent remote git histories");
668
+ expect(await git(repo, ["rev-parse", "HEAD"])).toBe(baseline.headCommit);
669
+ });
670
+ it("refuses unrelated rewritten history after a concurrent host commit", async () => {
671
+ const { repo, baseline, importedHead } = await rewrittenHistory();
672
+ const tree = await git(repo, ["rev-parse", `${importedHead}^{tree}`]);
673
+ const unrelated = await git(repo, ["commit-tree", tree, "-m", "shallow rewrite"]);
674
+ await writeFile(path.join(repo, "local.txt"), "concurrent work\n");
675
+ await git(repo, ["add", "local.txt"]);
676
+ await git(repo, ["commit", "-m", "host advanced"]);
677
+ const hostHead = await git(repo, ["rev-parse", "HEAD"]);
678
+ await expect(integrateImportedGitHead({ localDir: repo, importedHead: unrelated, baseline }))
679
+ .rejects.toThrow("Cannot restore unrelated remote history after the host advanced");
680
+ expect(await git(repo, ["rev-parse", "HEAD"])).toBe(hostHead);
681
+ });
682
+ it("accepts a rewrite of an unchanged detached host without attaching a branch", async () => {
683
+ const { repo, baseline, importedHead } = await rewrittenHistory();
684
+ await git(repo, ["checkout", "--detach"]);
685
+ await integrateImportedGitHead({ localDir: repo, importedHead, baseline: { ...baseline, branchName: null } });
686
+ expect(await git(repo, ["rev-parse", "HEAD"])).toBe(importedHead);
687
+ await expect(git(repo, ["symbolic-ref", "--quiet", "HEAD"])).rejects.toMatchObject({ code: 1 });
688
+ });
689
+ it.each([false, true])("rejects a checkout during integration (initially detached: %s)", async (detached) => {
690
+ const { repo, baseline, importedHead } = await rewrittenHistory();
691
+ if (detached)
692
+ await git(repo, ["checkout", "--detach"]);
693
+ const realGit = (await execFile("sh", ["-c", "command -v git"])).stdout.trim();
694
+ const bin = path.join(repo, "test-bin");
695
+ await mkdir(bin);
696
+ const quote = (value) => `'${value.replaceAll("'", "'\\''")}'`;
697
+ // Switch branches after the initial identity read, at the merge-base
698
+ // subprocess boundary. Both refs still point to the expected old OID.
699
+ await writeFile(path.join(bin, "git"), `#!/bin/sh
700
+ if [ "$3" = merge-base ]; then
701
+ ${quote(realGit)} -C "$2" checkout -B other ${baseline.headCommit} >/dev/null 2>&1 || exit 1
702
+ fi
703
+ exec ${quote(realGit)} "$@"
704
+ `, { mode: 0o755 });
705
+ const priorPath = process.env.PATH;
706
+ process.env.PATH = `${bin}${path.delimiter}${priorPath ?? ""}`;
707
+ try {
708
+ await expect(integrateImportedGitHead({
709
+ localDir: repo, importedHead, baseline: { ...baseline, branchName: detached ? null : "host" },
710
+ })).rejects.toThrow("branch changed");
711
+ }
712
+ finally {
713
+ if (priorPath === undefined)
714
+ delete process.env.PATH;
715
+ else
716
+ process.env.PATH = priorPath;
717
+ }
718
+ expect(await git(repo, ["symbolic-ref", "--short", "HEAD"])).toBe("other");
719
+ expect(await git(repo, ["rev-parse", "host"])).toBe(baseline.headCommit);
720
+ expect(await git(repo, ["rev-parse", "other"])).toBe(baseline.headCommit);
721
+ expect(await stat(path.join(repo, ".git", "HEAD.lock")).catch(() => null)).toBeNull();
722
+ });
723
+ it.each([false, true])("holds the HEAD lock through commit (initially detached: %s)", async (detached) => {
724
+ const { repo, baseline, importedHead } = await rewrittenHistory();
725
+ await git(repo, ["branch", "other"]);
726
+ if (detached)
727
+ await git(repo, ["checkout", "--detach"]);
728
+ await writeFile(path.join(repo, ".git", "hooks", "reference-transaction"), `#!/bin/sh
729
+ if [ "$1" = prepared ]; then
730
+ if git symbolic-ref HEAD refs/heads/other 2>/dev/null; then exit 1; fi
731
+ printf blocked > checkout-attempt.txt
732
+ fi
733
+ exit 0
734
+ `, { mode: 0o755 });
735
+ await integrateImportedGitHead({
736
+ localDir: repo, importedHead, baseline: { ...baseline, branchName: detached ? null : "host" },
737
+ });
738
+ expect(await readFile(path.join(repo, "checkout-attempt.txt"), "utf8")).toBe("blocked");
739
+ expect(await git(repo, ["rev-parse", "HEAD"])).toBe(importedHead);
740
+ expect(await git(repo, ["rev-parse", "other"])).toBe(baseline.headCommit);
741
+ if (detached)
742
+ await expect(git(repo, ["symbolic-ref", "--quiet", "HEAD"])).rejects.toMatchObject({ code: 1 });
743
+ else
744
+ expect(await git(repo, ["symbolic-ref", "--short", "HEAD"])).toBe("host");
745
+ expect(await stat(path.join(repo, ".git", "HEAD.lock")).catch(() => null)).toBeNull();
746
+ });
747
+ });
748
+ it.each([false, true])("grafts an unrelated imported head with an unchanged host (baseline supplied: %s)", async (withBaseline) => {
577
749
  const rootDir = await mkdtemp(path.join(os.tmpdir(), "paperclip-git-graft-"));
578
750
  cleanupDirs.push(rootDir);
579
751
  const setupIdentity = ["-c", "user.name=Setup", "-c", "user.email=setup@paperclip.dev"];
@@ -593,7 +765,10 @@ describe("git workspace sync", () => {
593
765
  // a parentless root commit that shares no ancestor with the host history.
594
766
  const importedTree = await git(repo, ["rev-parse", `${baseHead}^{tree}`]);
595
767
  const importedHead = await git(repo, [...setupIdentity, "commit-tree", importedTree, "-m", "sandbox rewrite"]);
596
- await integrateImportedGitHead({ localDir: repo, importedHead });
768
+ await integrateImportedGitHead({
769
+ localDir: repo, importedHead,
770
+ baseline: withBaseline ? { headCommit: currentHead, branchName: "main" } : undefined,
771
+ });
597
772
  const parents = (await git(repo, ["rev-list", "--parents", "-1", "HEAD"])).split(" ");
598
773
  expect(parents.slice(1)).toEqual([currentHead]);
599
774
  // The imported tree is taken wholesale: no base exists to merge against.
@@ -603,7 +778,7 @@ describe("git workspace sync", () => {
603
778
  expect(body).toContain(`Paperclip remote git sync graft ${importedHead.slice(0, 12)}`);
604
779
  expect(body).toContain("shares no ancestor");
605
780
  });
606
- it("does not graft when merge-base fails for a reason other than missing ancestry", async () => {
781
+ it.each([false, true])("does not graft on a merge-base error other than missing ancestry (baseline supplied: %s)", async (withBaseline) => {
607
782
  const rootDir = await mkdtemp(path.join(os.tmpdir(), "paperclip-git-no-graft-"));
608
783
  cleanupDirs.push(rootDir);
609
784
  const setupIdentity = ["-c", "user.name=Setup", "-c", "user.email=setup@paperclip.dev"];
@@ -619,9 +794,110 @@ describe("git workspace sync", () => {
619
794
  // object error (exit 128), not the no-ancestor signal (exit 1). The graft
620
795
  // must not fire, and the integration keeps its loud failure.
621
796
  const missingHead = "0123456789abcdef0123456789abcdef01234567";
622
- await expect(integrateImportedGitHead({ localDir: repo, importedHead: missingHead }))
623
- .rejects.toThrow(/Failed to merge concurrent remote git histories/);
797
+ const expectedExit = await runLocalGit(repo, ["merge-tree", "--write-tree", currentHead, missingHead])
798
+ .catch((error) => error.code);
799
+ const error = await withWorkspaceRestoreDiagnostics("workspace", () => withWorkspaceRestoreStep("git_integration", () => integrateImportedGitHead({
800
+ localDir: repo, importedHead: missingHead,
801
+ baseline: withBaseline ? { headCommit: currentHead, branchName: "main" } : undefined,
802
+ }))).catch((error) => error);
803
+ expect(error).toBeInstanceOf(Error);
804
+ expect(error.message).toMatch(/Failed to merge concurrent remote git histories/);
805
+ expect(error).not.toHaveProperty("cause");
806
+ expect(getWorkspaceRestoreDiagnostic(error)).toEqual({ phase: "workspace", step: "git_integration", errorCode: "unknown", exitCode: expectedExit,
807
+ gitCommand: "merge_tree", gitFailureKind: "invalid_object" });
808
+ expect(await git(repo, ["rev-parse", "HEAD"])).toBe(currentHead);
809
+ });
810
+ it("identifies a real merge conflict without changing the host tip or copying Git output", async () => {
811
+ const repo = await mkdtemp(path.join(os.tmpdir(), "paperclip-git-conflict-diagnostic-"));
812
+ cleanupDirs.push(repo);
813
+ await git(repo, ["init", "-b", "host"]);
814
+ await git(repo, ["config", "user.name", "Test"]);
815
+ await git(repo, ["config", "user.email", "test@paperclip.dev"]);
816
+ await writeFile(path.join(repo, "private-filename.txt"), "base\n");
817
+ await git(repo, ["add", "."]);
818
+ await git(repo, ["commit", "-m", "base"]);
819
+ const base = await git(repo, ["rev-parse", "HEAD"]);
820
+ await writeFile(path.join(repo, "private-filename.txt"), "host change\n");
821
+ await git(repo, ["commit", "-am", "host"]);
822
+ const currentHead = await git(repo, ["rev-parse", "HEAD"]);
823
+ await git(repo, ["checkout", "-b", "imported", base]);
824
+ await writeFile(path.join(repo, "private-filename.txt"), "remote change\n");
825
+ await git(repo, ["commit", "-am", "remote"]);
826
+ const importedHead = await git(repo, ["rev-parse", "HEAD"]);
827
+ await git(repo, ["checkout", "host"]);
828
+ const logs = [];
829
+ const error = await withWorkspaceRestoreDiagnostics("workspace", () => withWorkspaceRestoreStep("directory_merge", () => withWorkspaceRestoreStep("git_integration", () => integrateImportedGitHead({ localDir: repo, importedHead }))), async (line) => { logs.push(line); }).catch(error => error);
830
+ expect(error).toBeInstanceOf(Error);
831
+ expect(error.message).toContain("Failed to merge concurrent remote git histories");
832
+ expect(error).not.toHaveProperty("cause");
833
+ expect(getWorkspaceRestoreDiagnostic(error)).toEqual({ phase: "workspace", step: "git_integration", errorCode: "unknown",
834
+ exitCode: 1, gitCommand: "merge_tree", gitFailureKind: "merge_conflict" });
624
835
  expect(await git(repo, ["rev-parse", "HEAD"])).toBe(currentHead);
836
+ expect(await readFile(path.join(repo, "private-filename.txt"), "utf8")).toBe("host change\n");
837
+ expect(logs).toHaveLength(1);
838
+ expect(logs[0]).not.toMatch(/private-filename|host change|remote change/);
839
+ for (const privateValue of [repo, currentHead, importedHead])
840
+ expect(logs[0]).not.toContain(privateValue);
841
+ });
842
+ it("labels a failed locked ref transaction without changing its branch or tip", async () => {
843
+ const repo = await mkdtemp(path.join(os.tmpdir(), "paperclip-git-transaction-diagnostic-"));
844
+ cleanupDirs.push(repo);
845
+ await git(repo, ["init", "-b", "private-branch"]);
846
+ await git(repo, ["config", "user.name", "Test"]);
847
+ await git(repo, ["config", "user.email", "test@paperclip.dev"]);
848
+ await git(repo, ["commit", "--allow-empty", "-m", "base"]);
849
+ const base = await git(repo, ["rev-parse", "HEAD"]);
850
+ await git(repo, ["commit", "--allow-empty", "-m", "advance"]);
851
+ const importedHead = await git(repo, ["rev-parse", "HEAD"]);
852
+ await git(repo, ["reset", "--hard", base]);
853
+ // Git owns this lock. A failed restore must leave it alone and keep its
854
+ // existing failure behavior; diagnostic collection grants no cleanup rights.
855
+ await writeFile(path.join(repo, ".git", "HEAD.lock"), "private-lock");
856
+ const error = await withWorkspaceRestoreDiagnostics("workspace", () => withWorkspaceRestoreStep("git_integration", () => integrateImportedGitHead({ localDir: repo, importedHead, baseline: { headCommit: base, branchName: "private-branch" } })))
857
+ .catch(error => error);
858
+ expect(error).toMatchObject({ code: 128 });
859
+ const diagnostic = getWorkspaceRestoreDiagnostic(error);
860
+ expect(diagnostic).toEqual({ phase: "workspace", step: "git_integration", errorCode: "unknown", exitCode: 128,
861
+ gitCommand: "update_ref", gitFailureKind: "unknown" });
862
+ expect(await git(repo, ["rev-parse", "HEAD"])).toBe(base);
863
+ expect(await git(repo, ["symbolic-ref", "--short", "HEAD"])).toBe("private-branch");
864
+ expect(await readFile(path.join(repo, ".git", "HEAD.lock"), "utf8")).toBe("private-lock");
865
+ for (const privateValue of [repo, base, importedHead, "private-branch"])
866
+ expect(JSON.stringify(diagnostic)).not.toContain(privateValue);
867
+ });
868
+ it("recognizes a real expected-old ref mismatch without copying the ref or commit IDs", async () => {
869
+ const repo = await mkdtemp(path.join(os.tmpdir(), "paperclip-git-ref-diagnostic-"));
870
+ cleanupDirs.push(repo);
871
+ await git(repo, ["init", "-b", "private-branch"]);
872
+ await git(repo, ["config", "user.name", "Test"]);
873
+ await git(repo, ["config", "user.email", "test@paperclip.dev"]);
874
+ await git(repo, ["commit", "--allow-empty", "-m", "base"]);
875
+ const base = await git(repo, ["rev-parse", "HEAD"]);
876
+ await git(repo, ["commit", "--allow-empty", "-m", "advance"]);
877
+ const current = await git(repo, ["rev-parse", "HEAD"]);
878
+ const error = await withWorkspaceRestoreDiagnostics("workspace", () => withWorkspaceRestoreStep("git_integration", () => withWorkspaceRestoreGitCommand("update_ref", () => runLocalGit(repo, ["update-ref", "refs/heads/private-branch", base, base]))))
879
+ .catch(error => error);
880
+ expect(error).toMatchObject({ code: 128 });
881
+ const diagnostic = getWorkspaceRestoreDiagnostic(error);
882
+ expect(diagnostic).toEqual({ phase: "workspace", step: "git_integration", errorCode: "unknown", exitCode: 128,
883
+ gitCommand: "update_ref", gitFailureKind: "ref_conflict" });
884
+ expect(await git(repo, ["rev-parse", "HEAD"])).toBe(current);
885
+ for (const privateValue of [repo, base, current, "private-branch"])
886
+ expect(JSON.stringify(diagnostic)).not.toContain(privateValue);
887
+ });
888
+ it("preserves the real Git index reset exit code without attaching its raw error", async () => {
889
+ const repo = await mkdtemp(path.join(os.tmpdir(), "paperclip-git-reset-diagnostic-"));
890
+ cleanupDirs.push(repo);
891
+ await git(repo, ["init"]);
892
+ await writeFile(path.join(repo, "tracked.txt"), "base\n", "utf8");
893
+ await git(repo, ["add", "tracked.txt"]);
894
+ await git(repo, ["-c", "user.name=Setup", "-c", "user.email=setup@paperclip.dev", "commit", "-m", "base"]);
895
+ await writeFile(path.join(repo, ".git", "index.lock"), "fixture lock\n", "utf8");
896
+ const error = await withWorkspaceRestoreDiagnostics("workspace", () => withWorkspaceRestoreStep("index_reset", () => resetLocalGitIndexToHead({ localDir: repo }))).catch((error) => error);
897
+ expect(error).toBeInstanceOf(Error);
898
+ expect(error.message).toContain("Failed to reset local git index");
899
+ expect(error).not.toHaveProperty("cause");
900
+ expect(getWorkspaceRestoreDiagnostic(error)).toEqual({ phase: "workspace", step: "index_reset", errorCode: "unknown", exitCode: 128 });
625
901
  });
626
902
  describe("readReferencedSourceGitIgnoredPaths", () => {
627
903
  it("returns null for a directory that is not a Git work tree", async () => {