gsd-pi 2.78.1-dev.0fdacd524 → 2.78.1-dev.82bcf6b71
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/resources/.managed-resources-content-hash +1 -1
- package/dist/resources/extensions/gsd/auto-worktree.js +15 -0
- package/dist/resources/extensions/gsd/worktree-resolver.js +24 -0
- package/dist/tsconfig.extensions.tsbuildinfo +1 -1
- package/dist/web/standalone/.next/BUILD_ID +1 -1
- package/dist/web/standalone/.next/app-path-routes-manifest.json +15 -15
- package/dist/web/standalone/.next/build-manifest.json +2 -2
- package/dist/web/standalone/.next/prerender-manifest.json +3 -3
- package/dist/web/standalone/.next/server/app/_global-error.html +1 -1
- package/dist/web/standalone/.next/server/app/_global-error.rsc +1 -1
- package/dist/web/standalone/.next/server/app/_global-error.segments/_full.segment.rsc +1 -1
- package/dist/web/standalone/.next/server/app/_global-error.segments/_global-error/__PAGE__.segment.rsc +1 -1
- package/dist/web/standalone/.next/server/app/_global-error.segments/_global-error.segment.rsc +1 -1
- package/dist/web/standalone/.next/server/app/_global-error.segments/_head.segment.rsc +1 -1
- package/dist/web/standalone/.next/server/app/_global-error.segments/_index.segment.rsc +1 -1
- package/dist/web/standalone/.next/server/app/_global-error.segments/_tree.segment.rsc +1 -1
- package/dist/web/standalone/.next/server/app/_not-found.html +1 -1
- package/dist/web/standalone/.next/server/app/_not-found.rsc +1 -1
- package/dist/web/standalone/.next/server/app/_not-found.segments/_full.segment.rsc +1 -1
- package/dist/web/standalone/.next/server/app/_not-found.segments/_head.segment.rsc +1 -1
- package/dist/web/standalone/.next/server/app/_not-found.segments/_index.segment.rsc +1 -1
- package/dist/web/standalone/.next/server/app/_not-found.segments/_not-found/__PAGE__.segment.rsc +1 -1
- package/dist/web/standalone/.next/server/app/_not-found.segments/_not-found.segment.rsc +1 -1
- package/dist/web/standalone/.next/server/app/_not-found.segments/_tree.segment.rsc +1 -1
- package/dist/web/standalone/.next/server/app/index.html +1 -1
- package/dist/web/standalone/.next/server/app/index.rsc +1 -1
- package/dist/web/standalone/.next/server/app/index.segments/__PAGE__.segment.rsc +1 -1
- package/dist/web/standalone/.next/server/app/index.segments/_full.segment.rsc +1 -1
- package/dist/web/standalone/.next/server/app/index.segments/_head.segment.rsc +1 -1
- package/dist/web/standalone/.next/server/app/index.segments/_index.segment.rsc +1 -1
- package/dist/web/standalone/.next/server/app/index.segments/_tree.segment.rsc +1 -1
- package/dist/web/standalone/.next/server/app-paths-manifest.json +15 -15
- package/dist/web/standalone/.next/server/middleware-build-manifest.js +1 -1
- package/dist/web/standalone/.next/server/middleware-manifest.json +5 -5
- package/dist/web/standalone/.next/server/pages/404.html +1 -1
- package/dist/web/standalone/.next/server/pages/500.html +1 -1
- package/dist/web/standalone/.next/server/server-reference-manifest.json +1 -1
- package/package.json +1 -1
- package/src/resources/extensions/gsd/auto-worktree.ts +15 -0
- package/src/resources/extensions/gsd/tests/stash-pop-gsd-conflict.test.ts +8 -2
- package/src/resources/extensions/gsd/tests/stash-queued-context-files.test.ts +12 -6
- package/src/resources/extensions/gsd/tests/worktree-resolver.test.ts +85 -0
- package/src/resources/extensions/gsd/worktree-resolver.ts +24 -0
- /package/dist/web/standalone/.next/static/{4iu6IYeYfxOq8OidlDqp6 → hcvW7f3yv1JHzlWe7tIc6}/_buildManifest.js +0 -0
- /package/dist/web/standalone/.next/static/{4iu6IYeYfxOq8OidlDqp6 → hcvW7f3yv1JHzlWe7tIc6}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
38cf2a787658e575
|
|
@@ -2076,5 +2076,20 @@ export function mergeMilestoneToMain(originalBasePath_, milestoneId, roadmapCont
|
|
|
2076
2076
|
// 14. Clear module state
|
|
2077
2077
|
originalBase = null;
|
|
2078
2078
|
nudgeGitBranchCache(previousCwd);
|
|
2079
|
+
// 15. Anchor cwd at the project root on success-return. Step 12 removed
|
|
2080
|
+
// the worktree dir; if cwd was inside it, every subsequent process.cwd()
|
|
2081
|
+
// would throw ENOENT and trip auto/run-unit.ts:50's session-failed cancel
|
|
2082
|
+
// path (the de73fb43d regression that closes headless gsd auto). Step 3
|
|
2083
|
+
// already chdir'd here, but defending the success-return contract makes
|
|
2084
|
+
// future maintainers safe against intervening chdir's between step 3 and
|
|
2085
|
+
// here.
|
|
2086
|
+
try {
|
|
2087
|
+
// process.cwd() can throw ENOENT when cwd was removed, so attempt
|
|
2088
|
+
// recovery directly.
|
|
2089
|
+
process.chdir(originalBasePath_);
|
|
2090
|
+
}
|
|
2091
|
+
catch (err) {
|
|
2092
|
+
logWarning("worktree", `chdir to project root after merge failed: ${err instanceof Error ? err.message : String(err)}`);
|
|
2093
|
+
}
|
|
2079
2094
|
return { commitMessage, pushed, prCreated, codeFilesChanged };
|
|
2080
2095
|
}
|
|
@@ -297,6 +297,30 @@ export class WorktreeResolver {
|
|
|
297
297
|
*/
|
|
298
298
|
mergeAndExit(milestoneId, ctx) {
|
|
299
299
|
this.validateMilestoneId(milestoneId);
|
|
300
|
+
// Anchor cwd at the project root before any merge work. Some merge code
|
|
301
|
+
// paths (mergeMilestoneToMain, slice-cadence) chdir explicitly; others
|
|
302
|
+
// (branch-mode, isolation-degraded skip, missing-original-base skip)
|
|
303
|
+
// do not. If the worktree dir is later torn down while cwd still points
|
|
304
|
+
// into it, every subsequent process.cwd() throws ENOENT — and after
|
|
305
|
+
// de73fb43d that surfaces as a session-failed cancel and (in headless
|
|
306
|
+
// mode) terminates the whole gsd process. Best-effort: silent on
|
|
307
|
+
// failure so existing test fixtures that use synthetic paths still pass.
|
|
308
|
+
if (this.s.originalBasePath) {
|
|
309
|
+
try {
|
|
310
|
+
// process.cwd() can throw ENOENT when cwd was removed, so attempt
|
|
311
|
+
// recovery directly.
|
|
312
|
+
process.chdir(this.s.originalBasePath);
|
|
313
|
+
}
|
|
314
|
+
catch (err) {
|
|
315
|
+
debugLog("WorktreeResolver", {
|
|
316
|
+
action: "mergeAndExit",
|
|
317
|
+
phase: "pre-merge-chdir-failed",
|
|
318
|
+
milestoneId,
|
|
319
|
+
originalBasePath: this.s.originalBasePath,
|
|
320
|
+
error: err instanceof Error ? err.message : String(err),
|
|
321
|
+
});
|
|
322
|
+
}
|
|
323
|
+
}
|
|
300
324
|
// #4764 — telemetry: record start timestamp so we can emit merge duration.
|
|
301
325
|
const mergeStartedAt = new Date().toISOString();
|
|
302
326
|
const mergeStartMs = Date.now();
|