@opengsd/gsd-pi 1.3.0-dev.738160b9 → 1.3.0-dev.cca9c184
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/bootstrap/write-gate.js +15 -4
- 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 +13 -13
- 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 +13 -13
- package/dist/web/standalone/.next/server/middleware-build-manifest.js +1 -1
- 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/packages/cloud-mcp-gateway/package.json +2 -2
- package/packages/contracts/package.json +1 -1
- package/packages/daemon/package.json +4 -4
- package/packages/gsd-agent-core/package.json +5 -5
- package/packages/gsd-agent-modes/package.json +7 -7
- package/packages/mcp-server/package.json +4 -4
- package/packages/native/package.json +1 -1
- package/packages/pi-agent-core/package.json +1 -1
- package/packages/pi-ai/package.json +1 -1
- package/packages/pi-coding-agent/package.json +7 -7
- package/packages/pi-tui/package.json +2 -2
- package/packages/rpc-client/package.json +2 -2
- package/pkg/package.json +1 -1
- package/src/resources/extensions/gsd/bootstrap/tests/write-gate-basepath.test.ts +49 -1
- package/src/resources/extensions/gsd/bootstrap/write-gate.ts +16 -4
- /package/dist/web/standalone/.next/static/{2A_WqqCS-EoYZxN9_v3d2 → Eud_8lddsyi_13HIlB2i7}/_buildManifest.js +0 -0
- /package/dist/web/standalone/.next/static/{2A_WqqCS-EoYZxN9_v3d2 → Eud_8lddsyi_13HIlB2i7}/_ssgManifest.js +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
|
|
1
|
+
6cd0d33f2832351c
|
|
@@ -81,8 +81,18 @@ function createEmptyWriteGateState() {
|
|
|
81
81
|
};
|
|
82
82
|
}
|
|
83
83
|
const writeGateStatesByBasePath = new Map();
|
|
84
|
+
/**
|
|
85
|
+
* Write-gate snapshots are project-scoped, not worktree-scoped. When auto-mode
|
|
86
|
+
* routes MCP tool writes to `.gsd-worktrees/<MID>/`, depth verification still
|
|
87
|
+
* lands in the authoritative project `.gsd/runtime/` tree (or external-state
|
|
88
|
+
* symlink target). Without this canonicalization, `loadWriteGateSnapshot(worktree)`
|
|
89
|
+
* sees an empty snapshot and CONTEXT saves loop forever (#M020 gate loop).
|
|
90
|
+
*/
|
|
91
|
+
function resolveWriteGateSnapshotRoot(basePath) {
|
|
92
|
+
return resolve(resolveWorktreeProjectRoot(basePath));
|
|
93
|
+
}
|
|
84
94
|
function writeGateStateKey(basePath) {
|
|
85
|
-
return
|
|
95
|
+
return resolveWriteGateSnapshotRoot(basePath);
|
|
86
96
|
}
|
|
87
97
|
function getWriteGateState(basePath = process.cwd()) {
|
|
88
98
|
const key = writeGateStateKey(basePath);
|
|
@@ -123,16 +133,17 @@ function shouldPersistWriteGateSnapshot(env = process.env) {
|
|
|
123
133
|
return v !== "0" && v !== "false";
|
|
124
134
|
}
|
|
125
135
|
function writeGateSnapshotPath(basePath) {
|
|
126
|
-
return join(basePath, ".gsd", "runtime", "write-gate-state.json");
|
|
136
|
+
return join(resolveWriteGateSnapshotRoot(basePath), ".gsd", "runtime", "write-gate-state.json");
|
|
127
137
|
}
|
|
128
138
|
function ensureWriteGateSnapshotDirectory(basePath) {
|
|
129
|
-
const
|
|
139
|
+
const snapshotRoot = resolveWriteGateSnapshotRoot(basePath);
|
|
140
|
+
const gsdPath = join(snapshotRoot, ".gsd");
|
|
130
141
|
if (!existsSync(gsdPath)) {
|
|
131
142
|
try {
|
|
132
143
|
const stat = lstatSync(gsdPath);
|
|
133
144
|
if (stat.isSymbolicLink()) {
|
|
134
145
|
const target = readlinkSync(gsdPath);
|
|
135
|
-
mkdirSync(isAbsolute(target) ? target : resolve(
|
|
146
|
+
mkdirSync(isAbsolute(target) ? target : resolve(snapshotRoot, target), { recursive: true });
|
|
136
147
|
}
|
|
137
148
|
}
|
|
138
149
|
catch {
|