studiograph 1.3.48-next.144 → 1.3.48-next.146
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/agent/tools/graph-tools.js +7 -0
- package/dist/agent/tools/graph-tools.js.map +1 -1
- package/dist/core/graph.d.ts +139 -0
- package/dist/core/graph.js +187 -27
- package/dist/core/graph.js.map +1 -1
- package/dist/core/secrets/registry.js +14 -0
- package/dist/core/secrets/registry.js.map +1 -1
- package/dist/mcp/tools.js +136 -3
- package/dist/mcp/tools.js.map +1 -1
- package/dist/server/index.js +52 -0
- package/dist/server/index.js.map +1 -1
- package/dist/server/routes/graph-api.js +34 -2
- package/dist/server/routes/graph-api.js.map +1 -1
- package/dist/server/yjs-manager.d.ts +141 -0
- package/dist/server/yjs-manager.js +352 -4
- package/dist/server/yjs-manager.js.map +1 -1
- package/dist/server/yjs-persistence.d.ts +26 -4
- package/dist/server/yjs-persistence.js +22 -8
- package/dist/server/yjs-persistence.js.map +1 -1
- package/dist/services/event-processor.js +10 -0
- package/dist/services/event-processor.js.map +1 -1
- package/dist/services/git.d.ts +6 -0
- package/dist/services/git.js +16 -0
- package/dist/services/git.js.map +1 -1
- package/dist/services/markdown.d.ts +12 -1
- package/dist/services/markdown.js +65 -4
- package/dist/services/markdown.js.map +1 -1
- package/dist/web/_app/immutable/chunks/{BfAEVGvY2.js → B7CzTh-r2.js} +1 -1
- package/dist/web/_app/immutable/chunks/{CcWbRLia2.js → BA0R02UP2.js} +1 -1
- package/dist/web/_app/immutable/chunks/{DLfcdm_Z.js → BCuU-elG.js} +1 -1
- package/dist/web/_app/immutable/chunks/{DzoOCDtW.js → BFG2Rqyc.js} +1 -1
- package/dist/web/_app/immutable/chunks/{pm-qjFs22.js → BHzIfKis2.js} +1 -1
- package/dist/web/_app/immutable/chunks/{FUTf6Qy32.js → BI5Jb48D2.js} +1 -1
- package/dist/web/_app/immutable/chunks/{Dqg2GdWV.js → BLTSIfUw.js} +1 -1
- package/dist/web/_app/immutable/chunks/{AMD-NvzE.js → BQbILcMB.js} +1 -1
- package/dist/web/_app/immutable/chunks/{B3glBII2.js → BREXcqEP.js} +1 -1
- package/dist/web/_app/immutable/chunks/{xR6mNgkf.js → BVJdJkEi.js} +1 -1
- package/dist/web/_app/immutable/chunks/{5E1ZFGqy.js → Bw0WHZXb.js} +1 -1
- package/dist/web/_app/immutable/chunks/{Cgw670Lv2.js → BxSaCcVp2.js} +2 -2
- package/dist/web/_app/immutable/chunks/{DUffwKYp2.js → CDtPxK0E2.js} +1 -1
- package/dist/web/_app/immutable/chunks/CfetQDM7.js +3 -0
- package/dist/web/_app/immutable/chunks/{BD7iol3s.js → CmpLM3Jb.js} +1 -1
- package/dist/web/_app/immutable/chunks/{CQguYp_o.js → CvDy9k8B.js} +1 -1
- package/dist/web/_app/immutable/chunks/{BFwTYPFY.js → D49uoQef.js} +1 -1
- package/dist/web/_app/immutable/chunks/{CHhdYDGL.js → D6GxJeT7.js} +1 -1
- package/dist/web/_app/immutable/chunks/{DvHAmAIf.js → D6poaBEb.js} +1 -1
- package/dist/web/_app/immutable/chunks/D9zki1qN.js +1 -0
- package/dist/web/_app/immutable/chunks/{DGHvICek2.js → DMAEZtpR2.js} +1 -1
- package/dist/web/_app/immutable/chunks/{DzGJ_tU1.js → D_l5uGgl.js} +1 -1
- package/dist/web/_app/immutable/chunks/{DWN0RNcN.js → DfoQZKcc.js} +1 -1
- package/dist/web/_app/immutable/chunks/{Bgg8eJVH2.js → DkOZbzGl2.js} +1 -1
- package/dist/web/_app/immutable/chunks/{Bcf0AcKG2.js → DtWM3-142.js} +1 -1
- package/dist/web/_app/immutable/chunks/{BwLsGvNq2.js → DyrJs7Ni2.js} +1 -1
- package/dist/web/_app/immutable/chunks/{CQUoppXh.js → DzprSZbr.js} +1 -1
- package/dist/web/_app/immutable/chunks/{yIFiUNws.js → VKovLyFY.js} +1 -1
- package/dist/web/_app/immutable/chunks/{CEyoU3Fe.js → Xh_YaTDU.js} +1 -1
- package/dist/web/_app/immutable/chunks/{BXiLEHC5.js → ju1h_QO1.js} +1 -1
- package/dist/web/_app/immutable/chunks/{VNK0Euj7.js → lqzqnLEw.js} +1 -1
- package/dist/web/_app/immutable/chunks/{D3ucePif2.js → v3-ikfVS2.js} +1 -1
- package/dist/web/_app/immutable/chunks/{gKuWDeo2.js → y0WXY-Gz.js} +1 -1
- package/dist/web/_app/immutable/chunks/{DKAwbVgC.js → y1iSrGLY.js} +1 -1
- package/dist/web/_app/immutable/entry/{app.BbNFABQR.js → app.DeDDWqaV.js} +2 -2
- package/dist/web/_app/immutable/entry/start.0bhA1C9l.js +1 -0
- package/dist/web/_app/immutable/nodes/{0.DjD1wnxI.js → 0.D5wtHjS8.js} +2 -2
- package/dist/web/_app/immutable/nodes/{1.BZQvBWZ5.js → 1.DaPixbCB.js} +1 -1
- package/dist/web/_app/immutable/nodes/{10.N8jS1jQk.js → 10.9LPcGMdJ.js} +1 -1
- package/dist/web/_app/immutable/nodes/{11.B0fLwvFg.js → 11.Dl-I8cCS.js} +1 -1
- package/dist/web/_app/immutable/nodes/{12.DZ56ROsw.js → 12.CNEAnQ4W.js} +1 -1
- package/dist/web/_app/immutable/nodes/{13.DkFelo0b.js → 13.nKgmKmnM.js} +1 -1
- package/dist/web/_app/immutable/nodes/{2.Df5JerRP.js → 2.D3pcfoZr.js} +4 -4
- package/dist/web/_app/immutable/nodes/{3.oTC1IS0B.js → 3.DxwSypnZ.js} +1 -1
- package/dist/web/_app/immutable/nodes/4.BFKpnlcK.js +5 -0
- package/dist/web/_app/immutable/nodes/{5.BAfqVT7o.js → 5.CGBfroAD.js} +1 -1
- package/dist/web/_app/immutable/nodes/{6.C3bl5uHl.js → 6.-Wqx67F8.js} +1 -1
- package/dist/web/_app/immutable/nodes/{7.Bw9SfSPh.js → 7.DWm7YO0Z.js} +1 -1
- package/dist/web/_app/immutable/nodes/{8.mtYuRvs4.js → 8.Cu_PBmA_.js} +1 -1
- package/dist/web/_app/immutable/nodes/{9.D_i5u79i.js → 9.OjuLdJTU.js} +1 -1
- package/dist/web/_app/version.json +1 -1
- package/dist/web/index.html +14 -14
- package/package.json +1 -1
- package/dist/web/_app/immutable/chunks/DcBlV1Ez.js +0 -1
- package/dist/web/_app/immutable/chunks/vfnK4Hs9.js +0 -3
- package/dist/web/_app/immutable/entry/start.CLEzmTis.js +0 -1
- package/dist/web/_app/immutable/nodes/4.D64XLUXt.js +0 -5
|
@@ -406,6 +406,9 @@ onAgentActivity) {
|
|
|
406
406
|
}
|
|
407
407
|
onAgentActivity?.('enter', repoName);
|
|
408
408
|
try {
|
|
409
|
+
// Phase 2: opt into the Y.Doc-aware path when the flag is on.
|
|
410
|
+
// Same gating as MCP update_entity above.
|
|
411
|
+
const yjsAwareEnabled = process.env.STUDIOGRAPH_YJS_AWARE_WRITES === '1';
|
|
409
412
|
const entity = await graph.update({
|
|
410
413
|
entityType: params.entityType,
|
|
411
414
|
entityId: params.entityId,
|
|
@@ -413,6 +416,10 @@ onAgentActivity) {
|
|
|
413
416
|
content: sanitizedContent,
|
|
414
417
|
commitMessage: params.commitMessage,
|
|
415
418
|
user: actor,
|
|
419
|
+
source: sanitizedContent !== undefined
|
|
420
|
+
? (yjsAwareEnabled ? 'server-yjs-aware' : 'legacy-direct')
|
|
421
|
+
: undefined,
|
|
422
|
+
yjsAware: yjsAwareEnabled && sanitizedContent !== undefined,
|
|
416
423
|
});
|
|
417
424
|
// Only sync Y.Doc when the body was actually rewritten. Pure
|
|
418
425
|
// metadata edits don't touch content and shouldn't thrash.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"graph-tools.js","sourceRoot":"","sources":["../../../src/agent/tools/graph-tools.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"graph-tools.js","sourceRoot":"","sources":["../../../src/agent/tools/graph-tools.ts"],"names":[],"mappings":"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"}
|
package/dist/core/graph.d.ts
CHANGED
|
@@ -81,6 +81,20 @@ export interface CreateEntityOptions {
|
|
|
81
81
|
/** Override commit author (for per-user attribution in web UI). */
|
|
82
82
|
user?: GitUser;
|
|
83
83
|
}
|
|
84
|
+
/**
|
|
85
|
+
* Body-write provenance for the audit gate (plan Phase 1e). Every
|
|
86
|
+
* `graph.update` call that passes `content` must declare its `source` so a
|
|
87
|
+
* code-survey test can verify no caller silently bypasses the safe path.
|
|
88
|
+
*
|
|
89
|
+
* - `'autosave'`: web editor autosave PUT. Content came from a live Y.Text.
|
|
90
|
+
* - `'server-yjs-aware'`: Phase-2 caller that routes through `applyAgentContent`
|
|
91
|
+
* under a per-doc lock before writing disk. Safe against live editors.
|
|
92
|
+
* - `'legacy-direct'`: pre-Phase-2 server-side write that goes disk-first and
|
|
93
|
+
* relies on `syncDocFromDisk` to reach clients. Known-unsafe against live
|
|
94
|
+
* typing in the agent's rewrite region. Phase 2 migrates these to
|
|
95
|
+
* `'server-yjs-aware'`.
|
|
96
|
+
*/
|
|
97
|
+
export type BodyWriteSource = 'autosave' | 'server-yjs-aware' | 'legacy-direct';
|
|
84
98
|
export interface UpdateEntityOptions {
|
|
85
99
|
entityType: EntityType;
|
|
86
100
|
entityId: string;
|
|
@@ -99,6 +113,67 @@ export interface UpdateEntityOptions {
|
|
|
99
113
|
* sync fires and the Y.Doc picks up their writes.
|
|
100
114
|
*/
|
|
101
115
|
skipYjsSync?: boolean;
|
|
116
|
+
/**
|
|
117
|
+
* Required when `content !== undefined`. Maintenance invariant enforced
|
|
118
|
+
* by a code-survey test: new callers that write body content must declare
|
|
119
|
+
* which path they're on. See {@link BodyWriteSource}.
|
|
120
|
+
*/
|
|
121
|
+
source?: BodyWriteSource;
|
|
122
|
+
/**
|
|
123
|
+
* Phase 2: route the body write through the live Y.Doc via the per-doc
|
|
124
|
+
* lock + applyAgentContent path. Ordering becomes:
|
|
125
|
+
* validate → atomic writeFile → commit → applyAgentContent (broadcast)
|
|
126
|
+
* Set only by callers with `source: 'server-yjs-aware'`. Ignored when no
|
|
127
|
+
* Y.Doc is loaded (caller falls back to the legacy disk-first path with
|
|
128
|
+
* `skipYjsSync: true` forced).
|
|
129
|
+
*
|
|
130
|
+
* Gated by `STUDIOGRAPH_YJS_AWARE_WRITES=1` at the caller layer — callers
|
|
131
|
+
* decide whether to pass `yjsAware: true` based on the env var.
|
|
132
|
+
*/
|
|
133
|
+
yjsAware?: boolean;
|
|
134
|
+
/**
|
|
135
|
+
* Optional precondition for `yjsAware` writes (Phase 2g). When set, the
|
|
136
|
+
* server compares this hash to `sha256(existing.document.content)` BEFORE
|
|
137
|
+
* mutating anything. Mismatch throws {@link StaleBaseRevisionError} so
|
|
138
|
+
* the caller can refetch + recompute. When omitted, last-writer-wins.
|
|
139
|
+
*
|
|
140
|
+
* Content hash, not `updated_at`, because two `new Date().toISOString()`
|
|
141
|
+
* stamps can alias to the same millisecond on fast hardware.
|
|
142
|
+
*/
|
|
143
|
+
baseRevision?: string;
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Thrown by `graph.update` when the git commit fails after the disk write
|
|
147
|
+
* has already landed. The .md is updated and observable to subsequent
|
|
148
|
+
* readers via `graph.get`, but no commit exists — the repo is dirty.
|
|
149
|
+
*
|
|
150
|
+
* The caller MUST surface this typed error so an operator can recover
|
|
151
|
+
* (manual `git add && git commit`, or `git checkout -- <path>` to revert
|
|
152
|
+
* disk). v3-of-the-plan claim of "auto-convergence via sessionManager"
|
|
153
|
+
* was false outside the autosave PUT path; Phase 2 explicitly registers
|
|
154
|
+
* server-side dirty files with sessionManager when available, but the
|
|
155
|
+
* caller still gets the typed error so it knows the write was partial.
|
|
156
|
+
*/
|
|
157
|
+
export declare class CommitFailedDirtyError extends Error {
|
|
158
|
+
readonly entityType: string;
|
|
159
|
+
readonly entityId: string;
|
|
160
|
+
readonly path: string;
|
|
161
|
+
readonly code: "COMMIT_FAILED_DIRTY";
|
|
162
|
+
constructor(entityType: string, entityId: string, path: string, cause: unknown);
|
|
163
|
+
}
|
|
164
|
+
/**
|
|
165
|
+
* Thrown by `graph.update` when a `yjsAware` write supplies a
|
|
166
|
+
* `baseRevision` that doesn't match the current body's content hash.
|
|
167
|
+
* Caller (MCP / agent / event processor) refetches and retries against
|
|
168
|
+
* the new revision.
|
|
169
|
+
*/
|
|
170
|
+
export declare class StaleBaseRevisionError extends Error {
|
|
171
|
+
readonly entityType: string;
|
|
172
|
+
readonly entityId: string;
|
|
173
|
+
readonly expected: string;
|
|
174
|
+
readonly actual: string;
|
|
175
|
+
readonly code: "STALE_BASE_REVISION";
|
|
176
|
+
constructor(entityType: string, entityId: string, expected: string, actual: string);
|
|
102
177
|
}
|
|
103
178
|
/**
|
|
104
179
|
* Callbacks that fire AFTER successful structural mutations. Used by the Yjs
|
|
@@ -132,6 +207,70 @@ export interface GraphMutationCallbacks {
|
|
|
132
207
|
* Sync (not async). Must run before any awaits in graph.update.
|
|
133
208
|
*/
|
|
134
209
|
onContentUpdate?(repo: string, entityType: string, entityId: string): void;
|
|
210
|
+
/**
|
|
211
|
+
* Fires after every successful body write — both the legacy disk-first
|
|
212
|
+
* paths (where `onContentUpdate` also fires) and the `skipYjsSync: true`
|
|
213
|
+
* autosave path (where it doesn't). Wired to
|
|
214
|
+
* `yjsManager.recordDiskBody(docName, body)` which updates the live
|
|
215
|
+
* `entry.mdRevisionHash` so the next persistence flush captures the
|
|
216
|
+
* post-write state. Without this, the autosave PUT path wrote to disk
|
|
217
|
+
* via `skipYjsSync: true` but never updated the hash — pre-existing
|
|
218
|
+
* inconsistency surfaced by adversarial review.
|
|
219
|
+
*
|
|
220
|
+
* Sync. Skipped when `content === undefined` (frontmatter-only write).
|
|
221
|
+
*/
|
|
222
|
+
onBodyWritten?(repo: string, entityType: string, entityId: string, body: string): void;
|
|
223
|
+
/**
|
|
224
|
+
* Pre-write guard. Throws if broadcast is disabled and the doc has active
|
|
225
|
+
* editors and the operator hasn't opted into degraded-mode writes via
|
|
226
|
+
* `STUDIOGRAPH_ALLOW_DEGRADED_WRITES`. Wired to
|
|
227
|
+
* `yjsManager.assertWritable`. Called from `graph.update` BEFORE the
|
|
228
|
+
* markdown write when `content !== undefined && source !== 'autosave'` —
|
|
229
|
+
* autosaves are the client's own write and must not be refused.
|
|
230
|
+
*
|
|
231
|
+
* Throwing here aborts the update with no side effects, surfacing the
|
|
232
|
+
* fail-closed mode to the caller (MCP / agent / event processor) as a
|
|
233
|
+
* typed error rather than silently letting the Y.Doc diverge.
|
|
234
|
+
*/
|
|
235
|
+
assertWritable?(repo: string, entityType: string, entityId: string): void;
|
|
236
|
+
/**
|
|
237
|
+
* Phase 2 — apply the agent's target body to the live Y.Doc after disk
|
|
238
|
+
* and commit have succeeded. Wired to `yjsManager.applyAgentContent`.
|
|
239
|
+
* Returns one of:
|
|
240
|
+
* - `'ok'`: the diff was applied and broadcast to live clients.
|
|
241
|
+
* - `'no-doc'`: no Y.Doc loaded (no live editors). Caller already
|
|
242
|
+
* wrote disk; nothing to broadcast. Next client connect seeds from disk.
|
|
243
|
+
* - `'unseeded'`: Y.Doc is in the 500 ms seed-wait window. Caller
|
|
244
|
+
* already wrote disk; the seed timer will pick up the new content.
|
|
245
|
+
*
|
|
246
|
+
* Called only when `yjsAware && content !== undefined`. The legacy
|
|
247
|
+
* `onContentUpdate` callback is suppressed in this branch to avoid
|
|
248
|
+
* double-mutating the Y.Doc.
|
|
249
|
+
*/
|
|
250
|
+
applyAgentContent?(repo: string, entityType: string, entityId: string, body: string): 'ok' | 'no-doc' | 'unseeded';
|
|
251
|
+
/**
|
|
252
|
+
* Phase 2 — per-doc lock. graph.update wraps its body-write critical
|
|
253
|
+
* section in this callback when the caller is on a path that needs to
|
|
254
|
+
* serialize against concurrent server-side writes (yjsAware writes AND
|
|
255
|
+
* autosave PUTs). Wired to `yjsManager.withDocLock`.
|
|
256
|
+
*
|
|
257
|
+
* The lock also causes inbound client MSG_SYNC frames for the same doc
|
|
258
|
+
* to queue (handled inside yjsManager) so the Codex pass-3 #1
|
|
259
|
+
* keystroke-deletion race is prevented.
|
|
260
|
+
*
|
|
261
|
+
* Frontmatter-only writes don't acquire — they have no body-race surface.
|
|
262
|
+
*/
|
|
263
|
+
withDocLock?<T>(repo: string, entityType: string, entityId: string, fn: () => Promise<T>): Promise<T>;
|
|
264
|
+
/**
|
|
265
|
+
* Phase 2h — invoked when `graph.update` is about to throw
|
|
266
|
+
* {@link CommitFailedDirtyError}. Wired to sessionManager.markDirty so
|
|
267
|
+
* the existing dirty-flush mechanism (which periodically retries
|
|
268
|
+
* pending commits) has a chance to recover the partial write.
|
|
269
|
+
*
|
|
270
|
+
* The typed error still propagates to the caller — this callback is
|
|
271
|
+
* "tell sessionManager too," not "swallow the error."
|
|
272
|
+
*/
|
|
273
|
+
onCommitFailedDirty?(repo: string, entityType: string, entityId: string, path: string, user: GitUser): void;
|
|
135
274
|
}
|
|
136
275
|
/**
|
|
137
276
|
* Thrown by `restoreFile` when the path the recreate would land at is
|
package/dist/core/graph.js
CHANGED
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
*/
|
|
7
7
|
import { join, dirname, relative } from 'path';
|
|
8
8
|
import { existsSync, readdirSync, rmSync, statSync, writeFileSync, mkdirSync } from 'fs';
|
|
9
|
+
import { createHash } from 'node:crypto';
|
|
9
10
|
import { GitService } from '../services/git.js';
|
|
10
11
|
import { MarkdownService } from '../services/markdown.js';
|
|
11
12
|
import { AssetService } from '../services/assets/index.js';
|
|
@@ -15,6 +16,65 @@ import { FOLDER_SIDECAR, folderSidecarPath, readFolderSidecar, removeFolderSidec
|
|
|
15
16
|
import { z } from 'zod';
|
|
16
17
|
/** Names skipped during recursive repo walks. */
|
|
17
18
|
const WALK_IGNORE = new Set(['.git', '.studiograph', 'node_modules']);
|
|
19
|
+
/**
|
|
20
|
+
* Compute the canonical revision hash for a body string. Used by the
|
|
21
|
+
* Phase 2 baseRevision precondition. SHA-256 hex (64 chars), matches the
|
|
22
|
+
* format Phase 3's `X-Studiograph-Base-Body-Hash` header expects.
|
|
23
|
+
*/
|
|
24
|
+
function sha256OfBody(body) {
|
|
25
|
+
return createHash('sha256').update(body, 'utf-8').digest('hex');
|
|
26
|
+
}
|
|
27
|
+
/**
|
|
28
|
+
* Thrown by `graph.update` when the git commit fails after the disk write
|
|
29
|
+
* has already landed. The .md is updated and observable to subsequent
|
|
30
|
+
* readers via `graph.get`, but no commit exists — the repo is dirty.
|
|
31
|
+
*
|
|
32
|
+
* The caller MUST surface this typed error so an operator can recover
|
|
33
|
+
* (manual `git add && git commit`, or `git checkout -- <path>` to revert
|
|
34
|
+
* disk). v3-of-the-plan claim of "auto-convergence via sessionManager"
|
|
35
|
+
* was false outside the autosave PUT path; Phase 2 explicitly registers
|
|
36
|
+
* server-side dirty files with sessionManager when available, but the
|
|
37
|
+
* caller still gets the typed error so it knows the write was partial.
|
|
38
|
+
*/
|
|
39
|
+
export class CommitFailedDirtyError extends Error {
|
|
40
|
+
entityType;
|
|
41
|
+
entityId;
|
|
42
|
+
path;
|
|
43
|
+
code = 'COMMIT_FAILED_DIRTY';
|
|
44
|
+
constructor(entityType, entityId, path, cause) {
|
|
45
|
+
const causeMsg = cause instanceof Error ? cause.message : String(cause);
|
|
46
|
+
super(`Commit failed after disk write for ${entityType}/${entityId} (${path}). ` +
|
|
47
|
+
`Disk is updated but uncommitted (dirty). Recover with \`git add ${path} && git commit\` ` +
|
|
48
|
+
`or \`git checkout -- ${path}\` to revert. Underlying error: ${causeMsg}`);
|
|
49
|
+
this.entityType = entityType;
|
|
50
|
+
this.entityId = entityId;
|
|
51
|
+
this.path = path;
|
|
52
|
+
this.name = 'CommitFailedDirtyError';
|
|
53
|
+
this.cause = cause;
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
/**
|
|
57
|
+
* Thrown by `graph.update` when a `yjsAware` write supplies a
|
|
58
|
+
* `baseRevision` that doesn't match the current body's content hash.
|
|
59
|
+
* Caller (MCP / agent / event processor) refetches and retries against
|
|
60
|
+
* the new revision.
|
|
61
|
+
*/
|
|
62
|
+
export class StaleBaseRevisionError extends Error {
|
|
63
|
+
entityType;
|
|
64
|
+
entityId;
|
|
65
|
+
expected;
|
|
66
|
+
actual;
|
|
67
|
+
code = 'STALE_BASE_REVISION';
|
|
68
|
+
constructor(entityType, entityId, expected, actual) {
|
|
69
|
+
super(`Stale base_revision for ${entityType}/${entityId}: caller supplied ${expected.slice(0, 12)}…, ` +
|
|
70
|
+
`current is ${actual.slice(0, 12)}…. Refetch current content and retry.`);
|
|
71
|
+
this.entityType = entityType;
|
|
72
|
+
this.entityId = entityId;
|
|
73
|
+
this.expected = expected;
|
|
74
|
+
this.actual = actual;
|
|
75
|
+
this.name = 'StaleBaseRevisionError';
|
|
76
|
+
}
|
|
77
|
+
}
|
|
18
78
|
/**
|
|
19
79
|
* Thrown by `restoreFile` when the path the recreate would land at is
|
|
20
80
|
* currently occupied by a different entity. Carries the occupant's
|
|
@@ -462,9 +522,26 @@ export class BaseGraphManager {
|
|
|
462
522
|
* Update an existing entity
|
|
463
523
|
*/
|
|
464
524
|
async update(options) {
|
|
465
|
-
const { entityType, entityId, data, content, commitMessage, skipCommit, user,
|
|
525
|
+
const { entityType, entityId, data, content, commitMessage, skipCommit, user, source, yjsAware, baseRevision } = options;
|
|
526
|
+
let { skipYjsSync } = options;
|
|
527
|
+
// Audit gate (plan Phase 1e): body writes must declare provenance so the
|
|
528
|
+
// code-survey test can verify no caller silently bypasses the safe path.
|
|
529
|
+
// Warning rather than throw — existing legacy callers still need to land
|
|
530
|
+
// before Phase 2 tightens this further.
|
|
531
|
+
if (content !== undefined && source === undefined) {
|
|
532
|
+
console.warn(`[graph] update() with content but no source declared for ${entityType}/${entityId}. ` +
|
|
533
|
+
`Add source: 'autosave' | 'server-yjs-aware' | 'legacy-direct'. ` +
|
|
534
|
+
`Stack: ${new Error().stack?.split('\n').slice(2, 4).join(' / ')}`);
|
|
535
|
+
}
|
|
466
536
|
// Get existing entity
|
|
467
537
|
const existing = this.get(entityType, entityId);
|
|
538
|
+
// Phase 2: when yjsAware is on, suppress the legacy onContentUpdate
|
|
539
|
+
// (syncDocFromDisk) callback. The applyAgentContent callback runs
|
|
540
|
+
// AFTER commit instead, producing the correct ordering: disk + git
|
|
541
|
+
// authoritative first, broadcast to clients only after durability.
|
|
542
|
+
if (yjsAware && content !== undefined) {
|
|
543
|
+
skipYjsSync = true;
|
|
544
|
+
}
|
|
468
545
|
// Merge data (if provided) and always stamp update metadata. Even
|
|
469
546
|
// content-only edits (editor autosave) must update `updated_by` /
|
|
470
547
|
// `updated_at` — otherwise the audit trail freezes at whatever the
|
|
@@ -514,40 +591,123 @@ export class BaseGraphManager {
|
|
|
514
591
|
}
|
|
515
592
|
// Merge content (if provided)
|
|
516
593
|
const mergedContent = content !== undefined ? content : existing.document.content;
|
|
594
|
+
// Fail-closed guard (Phase 1a): refuse body writes from server-side
|
|
595
|
+
// callers when the broadcast observer is disabled and the doc has live
|
|
596
|
+
// editors. The wired check (yjsManager.assertWritable) throws
|
|
597
|
+
// BroadcastDisabledLiveClientsError so the caller gets a clear signal
|
|
598
|
+
// instead of silently diverging from connected clients. Autosave is
|
|
599
|
+
// exempt — it IS the client write.
|
|
600
|
+
if (content !== undefined && source !== 'autosave' && this.mutationCallbacks?.assertWritable) {
|
|
601
|
+
this.mutationCallbacks.assertWritable(this.repoName, entityType, entityId);
|
|
602
|
+
}
|
|
517
603
|
// Update in place — write to wherever the entry already lives, not
|
|
518
604
|
// wherever a fresh getEntityPath() computation would put it. Otherwise
|
|
519
605
|
// an entry in a nested folder gets duplicated to the legacy plural-type
|
|
520
606
|
// dir on first update.
|
|
521
607
|
const entityPath = existing.path;
|
|
522
|
-
|
|
523
|
-
|
|
524
|
-
|
|
525
|
-
|
|
526
|
-
|
|
527
|
-
//
|
|
528
|
-
|
|
529
|
-
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
534
|
-
|
|
535
|
-
|
|
608
|
+
// Phase 2: the body-write critical section (writeFile → commit →
|
|
609
|
+
// applyAgentContent) serializes via the per-doc lock when EITHER
|
|
610
|
+
// - this is a yjsAware server-write (MCP/agent/event-processor), OR
|
|
611
|
+
// - this is an autosave PUT carrying body content.
|
|
612
|
+
// Both paths must serialize against each other; legacy frontmatter-only
|
|
613
|
+
// writes and non-yjsAware legacy body writes bypass the lock.
|
|
614
|
+
const needsDocLock = content !== undefined &&
|
|
615
|
+
(yjsAware === true || source === 'autosave') &&
|
|
616
|
+
!!this.mutationCallbacks?.withDocLock;
|
|
617
|
+
const criticalSection = async () => {
|
|
618
|
+
// Phase 3 optimistic-concurrency check, inside the lock so it
|
|
619
|
+
// composes with the per-doc serialization. The previous version
|
|
620
|
+
// gated this on `yjsAware` AND ran outside the lock at the route
|
|
621
|
+
// layer, which let two body-writing PUTs starting from the same
|
|
622
|
+
// baseline both pass before either reached the locked critical
|
|
623
|
+
// section — the second wrote stale content over the first commit.
|
|
624
|
+
// Re-reading from disk inside the lock guarantees we see the
|
|
625
|
+
// result of any prior locked write before deciding.
|
|
626
|
+
if (baseRevision !== undefined && content !== undefined) {
|
|
627
|
+
const currentBody = this.markdownService.parseFile(entityPath).content;
|
|
628
|
+
const currentHash = sha256OfBody(currentBody);
|
|
629
|
+
if (currentHash !== baseRevision) {
|
|
630
|
+
throw new StaleBaseRevisionError(entityType, entityId, baseRevision, currentHash);
|
|
631
|
+
}
|
|
536
632
|
}
|
|
537
|
-
|
|
538
|
-
|
|
633
|
+
this.markdownService.writeFile(entityPath, {
|
|
634
|
+
frontmatter: validatedData,
|
|
635
|
+
content: mergedContent,
|
|
636
|
+
wikilinks: this.markdownService.extractWikilinks(mergedContent, validatedData),
|
|
637
|
+
});
|
|
638
|
+
// Fire onBodyWritten unconditionally on body writes (including the
|
|
639
|
+
// skipYjsSync: true autosave path). Wired to yjsManager.recordDiskBody
|
|
640
|
+
// so the live entry.mdRevisionHash tracks disk state — closes a
|
|
641
|
+
// pre-existing gap where autosave PUTs updated disk but not the hash.
|
|
642
|
+
if (content !== undefined && this.mutationCallbacks?.onBodyWritten) {
|
|
643
|
+
try {
|
|
644
|
+
this.mutationCallbacks.onBodyWritten(this.repoName, entityType, entityId, mergedContent);
|
|
645
|
+
}
|
|
646
|
+
catch (err) {
|
|
647
|
+
console.warn(`[graph] onBodyWritten callback failed for ${entityType}/${entityId}:`, err);
|
|
648
|
+
}
|
|
649
|
+
}
|
|
650
|
+
// Legacy onContentUpdate (syncDocFromDisk smart-merge) fires only
|
|
651
|
+
// for legacy disk-first paths. yjsAware skips it because
|
|
652
|
+
// applyAgentContent runs post-commit instead. Autosave skips via
|
|
653
|
+
// skipYjsSync. Frontmatter-only writes skip via the content check
|
|
654
|
+
// (Phase 1b).
|
|
655
|
+
if (content !== undefined && !skipYjsSync && this.mutationCallbacks?.onContentUpdate) {
|
|
656
|
+
try {
|
|
657
|
+
this.mutationCallbacks.onContentUpdate(this.repoName, entityType, entityId);
|
|
658
|
+
}
|
|
659
|
+
catch (err) {
|
|
660
|
+
console.warn(`[graph] onContentUpdate callback failed for ${entityType}/${entityId}:`, err);
|
|
661
|
+
}
|
|
662
|
+
}
|
|
663
|
+
if (this.gitService && !skipCommit) {
|
|
664
|
+
const transaction = this.gitService.createTransaction();
|
|
665
|
+
transaction.add({
|
|
666
|
+
operation: 'update',
|
|
667
|
+
entityType,
|
|
668
|
+
entityId,
|
|
669
|
+
filePath: entityPath,
|
|
670
|
+
});
|
|
671
|
+
const message = commitMessage || `Update ${entityType}: ${entityId}`;
|
|
672
|
+
try {
|
|
673
|
+
await transaction.commit(user ?? this.gitUser, message);
|
|
674
|
+
}
|
|
675
|
+
catch (err) {
|
|
676
|
+
// Phase 2h: disk write already landed; commit failed. Register
|
|
677
|
+
// the dirty file with sessionManager (if wired) so the existing
|
|
678
|
+
// dirty-flush retry has a chance to recover. Then surface a
|
|
679
|
+
// typed error so the caller knows the repo is dirty.
|
|
680
|
+
try {
|
|
681
|
+
this.mutationCallbacks?.onCommitFailedDirty?.(this.repoName, entityType, entityId, entityPath, user ?? this.gitUser);
|
|
682
|
+
}
|
|
683
|
+
catch (registerErr) {
|
|
684
|
+
console.warn(`[graph] onCommitFailedDirty callback failed for ${entityType}/${entityId}:`, registerErr);
|
|
685
|
+
}
|
|
686
|
+
throw new CommitFailedDirtyError(entityType, entityId, entityPath, err);
|
|
687
|
+
}
|
|
539
688
|
}
|
|
689
|
+
// Phase 2d: yjsAware writes apply to the Y.Doc AFTER commit succeeds.
|
|
690
|
+
// Live clients only see the change once it's durable on disk + in git.
|
|
691
|
+
// Returns 'no-doc' or 'unseeded' when there's no live editor — caller's
|
|
692
|
+
// disk write is the only side effect, which is correct.
|
|
693
|
+
if (yjsAware && content !== undefined && this.mutationCallbacks?.applyAgentContent) {
|
|
694
|
+
try {
|
|
695
|
+
this.mutationCallbacks.applyAgentContent(this.repoName, entityType, entityId, mergedContent);
|
|
696
|
+
}
|
|
697
|
+
catch (err) {
|
|
698
|
+
// applyAgentContent already sent a doc_conflict frame to clients.
|
|
699
|
+
// Log but do not rethrow — disk + git are authoritative; surfacing
|
|
700
|
+
// the error to the caller would suggest the write failed when in
|
|
701
|
+
// fact it succeeded; the Y.Doc just couldn't broadcast.
|
|
702
|
+
console.warn(`[graph] applyAgentContent failed post-commit for ${entityType}/${entityId} — clients notified via doc_conflict`, err);
|
|
703
|
+
}
|
|
704
|
+
}
|
|
705
|
+
};
|
|
706
|
+
if (needsDocLock) {
|
|
707
|
+
await this.mutationCallbacks.withDocLock(this.repoName, entityType, entityId, criticalSection);
|
|
540
708
|
}
|
|
541
|
-
|
|
542
|
-
|
|
543
|
-
transaction.add({
|
|
544
|
-
operation: 'update',
|
|
545
|
-
entityType,
|
|
546
|
-
entityId,
|
|
547
|
-
filePath: entityPath,
|
|
548
|
-
});
|
|
549
|
-
const message = commitMessage || `Update ${entityType}: ${entityId}`;
|
|
550
|
-
await transaction.commit(user ?? this.gitUser, message);
|
|
709
|
+
else {
|
|
710
|
+
await criticalSection();
|
|
551
711
|
}
|
|
552
712
|
// Return updated entity
|
|
553
713
|
const updated = this.get(entityType, entityId);
|