nawabari 0.2.0 → 0.4.1

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 (50) hide show
  1. package/README.md +230 -15
  2. package/dist/cli.d.ts +5 -0
  3. package/dist/cli.js +704 -115
  4. package/dist/cli.js.map +1 -1
  5. package/dist/contract.js +135 -2
  6. package/dist/contract.js.map +1 -1
  7. package/dist/domain/errors.d.ts +1 -1
  8. package/dist/domain/errors.js +4 -1
  9. package/dist/domain/errors.js.map +1 -1
  10. package/dist/domain/sandbox-launcher.d.ts +35 -0
  11. package/dist/domain/sandbox-launcher.js +679 -0
  12. package/dist/domain/sandbox-launcher.js.map +1 -0
  13. package/dist/domain/sandbox.d.ts +190 -0
  14. package/dist/domain/sandbox.js +363 -0
  15. package/dist/domain/sandbox.js.map +1 -0
  16. package/dist/domain/session-backend.d.ts +5 -3
  17. package/dist/domain/session-backend.js +102 -4
  18. package/dist/domain/session-backend.js.map +1 -1
  19. package/dist/domain/session.d.ts +116 -2
  20. package/dist/domain/session.js +36 -0
  21. package/dist/domain/session.js.map +1 -1
  22. package/dist/errors.d.ts +1 -1
  23. package/dist/errors.js.map +1 -1
  24. package/dist/git.d.ts +62 -0
  25. package/dist/git.js +299 -0
  26. package/dist/git.js.map +1 -1
  27. package/dist/operation-authorization.d.ts +5 -2
  28. package/dist/operation-authorization.js +6 -7
  29. package/dist/operation-authorization.js.map +1 -1
  30. package/dist/output-budget.d.ts +16 -0
  31. package/dist/output-budget.js +58 -0
  32. package/dist/output-budget.js.map +1 -0
  33. package/dist/presentation.js +28 -4
  34. package/dist/presentation.js.map +1 -1
  35. package/dist/registry/atomic.d.ts +24 -0
  36. package/dist/registry/atomic.js +35 -2
  37. package/dist/registry/atomic.js.map +1 -1
  38. package/dist/registry/errors.d.ts +1 -1
  39. package/dist/registry/errors.js +1 -0
  40. package/dist/registry/errors.js.map +1 -1
  41. package/dist/repository-evidence.d.ts +74 -0
  42. package/dist/repository-evidence.js +7 -0
  43. package/dist/repository-evidence.js.map +1 -0
  44. package/dist/resource-claims.d.ts +25 -3
  45. package/dist/resource-claims.js +57 -5
  46. package/dist/resource-claims.js.map +1 -1
  47. package/dist/session-registry.d.ts +68 -7
  48. package/dist/session-registry.js +422 -149
  49. package/dist/session-registry.js.map +1 -1
  50. package/package.json +5 -3
@@ -1,3 +1,4 @@
1
+ import { RegistryError } from "./errors.js";
1
2
  export interface AtomicWritePaths {
2
3
  temporaryPath: string;
3
4
  targetPath: string;
@@ -10,6 +11,29 @@ export interface AtomicWriteOptions {
10
11
  ensureParent?: boolean;
11
12
  hooks?: AtomicWriteHooks;
12
13
  }
14
+ /**
15
+ * A failure observed after the target file was already renamed into place.
16
+ * Callers must not read this as "the write succeeded" — durability past
17
+ * that point is unproven — but they must also not treat it as an ordinary
18
+ * pre-effect failure: the renamed document may already be the one readers
19
+ * observe. `cause` always carries the original thrown value verbatim
20
+ * (whatever it was — an Error, a frozen object, a primitive), since a
21
+ * classification that depended on mutating or reading properties off the
22
+ * original thrown value would silently fail for values that reject writes
23
+ * (frozen/non-extensible objects) or carry no properties at all
24
+ * (primitives). Wrapping in a fresh, always-extensible error is fail-safe
25
+ * regardless of what the underlying I/O call happened to throw.
26
+ */
27
+ export declare class AtomicWritePostRenameFailure extends RegistryError {
28
+ constructor(paths: AtomicWritePaths, cause: unknown);
29
+ }
30
+ /**
31
+ * True when `writeJsonAtomically`/`writeJsonAtomicallySync` failed only
32
+ * after the rename had already committed the new document. Recovery must
33
+ * reconcile authoritative state instead of assuming the mutation never
34
+ * happened.
35
+ */
36
+ export declare function isPostRenameFailure(error: unknown): error is AtomicWritePostRenameFailure;
13
37
  /**
14
38
  * Persist JSON by writing and syncing a same-directory temporary file, then
15
39
  * replacing the target with rename. Readers therefore observe either the
@@ -14,6 +14,37 @@ function isUnsupportedDirectorySync(error) {
14
14
  const code = errorCode(error);
15
15
  return code === "EINVAL" || code === "ENOTSUP" || code === "EISDIR";
16
16
  }
17
+ /**
18
+ * A failure observed after the target file was already renamed into place.
19
+ * Callers must not read this as "the write succeeded" — durability past
20
+ * that point is unproven — but they must also not treat it as an ordinary
21
+ * pre-effect failure: the renamed document may already be the one readers
22
+ * observe. `cause` always carries the original thrown value verbatim
23
+ * (whatever it was — an Error, a frozen object, a primitive), since a
24
+ * classification that depended on mutating or reading properties off the
25
+ * original thrown value would silently fail for values that reject writes
26
+ * (frozen/non-extensible objects) or carry no properties at all
27
+ * (primitives). Wrapping in a fresh, always-extensible error is fail-safe
28
+ * regardless of what the underlying I/O call happened to throw.
29
+ */
30
+ export class AtomicWritePostRenameFailure extends RegistryError {
31
+ constructor(paths, cause) {
32
+ super("REGISTRY_DURABILITY_UNCERTAIN", `Rename to ${paths.targetPath} may have already committed, but durable persistence past that point could not be proven`, { ...paths }, { cause });
33
+ this.name = "AtomicWritePostRenameFailure";
34
+ }
35
+ }
36
+ function toPostRenameFailure(error, paths) {
37
+ return new AtomicWritePostRenameFailure(paths, error);
38
+ }
39
+ /**
40
+ * True when `writeJsonAtomically`/`writeJsonAtomicallySync` failed only
41
+ * after the rename had already committed the new document. Recovery must
42
+ * reconcile authoritative state instead of assuming the mutation never
43
+ * happened.
44
+ */
45
+ export function isPostRenameFailure(error) {
46
+ return error instanceof AtomicWritePostRenameFailure;
47
+ }
17
48
  async function syncDirectory(directory) {
18
49
  let handle;
19
50
  try {
@@ -86,8 +117,9 @@ export async function writeJsonAtomically(targetPath, value, options = {}) {
86
117
  }
87
118
  if (!renamed) {
88
119
  await rm(temporaryPath, { force: true });
120
+ throw error;
89
121
  }
90
- throw error;
122
+ throw toPostRenameFailure(error, { temporaryPath, targetPath });
91
123
  }
92
124
  }
93
125
  /** Synchronous counterpart used by the legacy synchronous registry boundary. */
@@ -121,8 +153,9 @@ export function writeJsonAtomicallySync(targetPath, value, options = {}) {
121
153
  }
122
154
  if (!renamed) {
123
155
  fs.rmSync(temporaryPath, { force: true });
156
+ throw error;
124
157
  }
125
- throw error;
158
+ throw toPostRenameFailure(error, { temporaryPath, targetPath });
126
159
  }
127
160
  }
128
161
  //# sourceMappingURL=atomic.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"atomic.js","sourceRoot":"","sources":["../../src/registry/atomic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,MAAM,SAAS,CAAC;AACzB,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,kBAAkB,CAAC;AAE3D,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAEpD,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAiB5C,SAAS,SAAS,CAAC,KAAc;IAC/B,IAAI,CAAC,CAAC,KAAK,YAAY,KAAK,CAAC,IAAI,CAAC,CAAC,MAAM,IAAI,KAAK,CAAC,EAAE,CAAC;QACpD,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;IACxB,OAAO,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAC;AACrD,CAAC;AAED,SAAS,0BAA0B,CAAC,KAAc;IAChD,MAAM,IAAI,GAAG,SAAS,CAAC,KAAK,CAAC,CAAC;IAC9B,OAAO,IAAI,KAAK,QAAQ,IAAI,IAAI,KAAK,SAAS,IAAI,IAAI,KAAK,QAAQ,CAAC;AACtE,CAAC;AAED,KAAK,UAAU,aAAa,CAAC,SAAiB;IAC5C,IAAI,MAA8B,CAAC;IACnC,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,IAAI,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QACpC,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;IACtB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,0BAA0B,CAAC,KAAK,CAAC,EAAE,CAAC;YACvC,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;YAAS,CAAC;QACT,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACvB,CAAC;IACH,CAAC;AACH,CAAC;AAED,SAAS,iBAAiB,CAAC,SAAiB;IAC1C,IAAI,UAA8B,CAAC;IACnC,IAAI,CAAC;QACH,UAAU,GAAG,EAAE,CAAC,QAAQ,CAAC,SAAS,EAAE,GAAG,CAAC,CAAC;QACzC,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;IAC3B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,CAAC,0BAA0B,CAAC,KAAK,CAAC,EAAE,CAAC;YACvC,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;YAAS,CAAC;QACT,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAC3B,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;;GAIG;AACH,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,UAAkB,EAClB,KAAc,EACd,UAA8B,EAAE;IAEhC,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACtC,IAAI,OAAO,CAAC,YAAY,KAAK,KAAK,EAAE,CAAC;QACnC,MAAM,KAAK,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAC3D,CAAC;IAED,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,QAAQ,CAAC,UAAU,CAAC,IAAI,OAAO,CAAC,GAAG,IAAI,UAAU,EAAE,MAAM,CAAC,CAAC;IACrG,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAClD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,MAAM,IAAI,aAAa,CAAC,mBAAmB,EAAE,iCAAiC,EAAE;YAC9E,UAAU;SACX,CAAC,CAAC;IACL,CAAC;IAED,IAAI,MAA8B,CAAC;IACnC,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,CAAC;QACH,MAAM,GAAG,MAAM,IAAI,CAAC,aAAa,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QAChD,MAAM,MAAM,CAAC,SAAS,CAAC,GAAG,UAAU,IAAI,EAAE,MAAM,CAAC,CAAC;QAClD,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;QACpB,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACrB,MAAM,GAAG,SAAS,CAAC;QAEnB,MAAM,KAAK,GAAG,EAAE,aAAa,EAAE,UAAU,EAAE,CAAC;QAC5C,MAAM,OAAO,CAAC,KAAK,EAAE,YAAY,EAAE,CAAC,KAAK,CAAC,CAAC;QAC3C,MAAM,MAAM,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;QACxC,OAAO,GAAG,IAAI,CAAC;QACf,MAAM,aAAa,CAAC,SAAS,CAAC,CAAC;QAC/B,MAAM,OAAO,CAAC,KAAK,EAAE,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;YACzB,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;QACvB,CAAC;QACD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,MAAM,EAAE,CAAC,aAAa,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC3C,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC;AAED,gFAAgF;AAChF,MAAM,UAAU,uBAAuB,CACrC,UAAkB,EAClB,KAAc,EACd,UAAoD,EAAE;IAEtD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;IACtC,IAAI,OAAO,CAAC,YAAY,KAAK,KAAK,EAAE,CAAC;QACnC,EAAE,CAAC,SAAS,CAAC,SAAS,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,EAAE,IAAI,QAAQ,CAAC,UAAU,CAAC,IAAI,OAAO,CAAC,GAAG,IAAI,UAAU,EAAE,MAAM,CAAC,CAAC;IACrG,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;IAClD,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;QAC7B,MAAM,IAAI,aAAa,CAAC,mBAAmB,EAAE,iCAAiC,EAAE;YAC9E,UAAU;SACX,CAAC,CAAC;IACL,CAAC;IAED,IAAI,UAA8B,CAAC;IACnC,IAAI,OAAO,GAAG,KAAK,CAAC;IACpB,IAAI,CAAC;QACH,UAAU,GAAG,EAAE,CAAC,QAAQ,CAAC,aAAa,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;QACrD,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,GAAG,UAAU,IAAI,EAAE,MAAM,CAAC,CAAC;QACxD,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QACzB,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QACzB,UAAU,GAAG,SAAS,CAAC;QAEvB,EAAE,CAAC,UAAU,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;QACzC,OAAO,GAAG,IAAI,CAAC;QACf,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAC/B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,UAAU,KAAK,SAAS,EAAE,CAAC;YAC7B,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,CAAC;QAC3B,CAAC;QACD,IAAI,CAAC,OAAO,EAAE,CAAC;YACb,EAAE,CAAC,MAAM,CAAC,aAAa,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;QAC5C,CAAC;QACD,MAAM,KAAK,CAAC;IACd,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"atomic.js","sourceRoot":"","sources":["../../src/registry/atomic.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- export declare const REGISTRY_ERROR_CODES: readonly ["REGISTRY_NOT_FOUND", "REGISTRY_CORRUPT", "REGISTRY_UNSUPPORTED_SCHEMA", "REGISTRY_REPOSITORY_MISMATCH", "REGISTRY_DUPLICATE_SESSION", "REGISTRY_DUPLICATE_WORKTREE", "REGISTRY_DUPLICATE_BRANCH", "REGISTRY_IO_ERROR", "REGISTRY_MUTATION_FAILED", "LOCK_BUSY", "LOCK_STALE", "LOCK_INVALID", "LOCK_IO_ERROR", "LOCK_RELEASE_FAILED"];
1
+ export declare const REGISTRY_ERROR_CODES: readonly ["REGISTRY_NOT_FOUND", "REGISTRY_CORRUPT", "REGISTRY_UNSUPPORTED_SCHEMA", "REGISTRY_REPOSITORY_MISMATCH", "REGISTRY_DUPLICATE_SESSION", "REGISTRY_DUPLICATE_WORKTREE", "REGISTRY_DUPLICATE_BRANCH", "REGISTRY_IO_ERROR", "REGISTRY_DURABILITY_UNCERTAIN", "REGISTRY_MUTATION_FAILED", "LOCK_BUSY", "LOCK_STALE", "LOCK_INVALID", "LOCK_IO_ERROR", "LOCK_RELEASE_FAILED"];
2
2
  export type RegistryErrorCode = (typeof REGISTRY_ERROR_CODES)[number];
3
3
  export declare class RegistryError extends Error {
4
4
  readonly code: RegistryErrorCode;
@@ -7,6 +7,7 @@ export const REGISTRY_ERROR_CODES = [
7
7
  "REGISTRY_DUPLICATE_WORKTREE",
8
8
  "REGISTRY_DUPLICATE_BRANCH",
9
9
  "REGISTRY_IO_ERROR",
10
+ "REGISTRY_DURABILITY_UNCERTAIN",
10
11
  "REGISTRY_MUTATION_FAILED",
11
12
  "LOCK_BUSY",
12
13
  "LOCK_STALE",
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/registry/errors.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,oBAAoB;IACpB,kBAAkB;IAClB,6BAA6B;IAC7B,8BAA8B;IAC9B,4BAA4B;IAC5B,6BAA6B;IAC7B,2BAA2B;IAC3B,mBAAmB;IACnB,0BAA0B;IAC1B,WAAW;IACX,YAAY;IACZ,cAAc;IACd,eAAe;IACf,qBAAqB;CACb,CAAC;AAIX,MAAM,OAAO,aAAc,SAAQ,KAAK;IACtB,IAAI,CAAoB;IACxB,OAAO,CAAoC;IAE3D,YACE,IAAuB,EACvB,OAAe,EACf,UAA6C,EAAE,EAC/C,OAAsB;QAEtB,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;QAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;CACF;AAED,MAAM,UAAU,eAAe,CAAC,KAAc;IAC5C,OAAO,KAAK,YAAY,aAAa,CAAC;AACxC,CAAC"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/registry/errors.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,oBAAoB,GAAG;IAClC,oBAAoB;IACpB,kBAAkB;IAClB,6BAA6B;IAC7B,8BAA8B;IAC9B,4BAA4B;IAC5B,6BAA6B;IAC7B,2BAA2B;IAC3B,mBAAmB;IACnB,+BAA+B;IAC/B,0BAA0B;IAC1B,WAAW;IACX,YAAY;IACZ,cAAc;IACd,eAAe;IACf,qBAAqB;CACb,CAAC;AAIX,MAAM,OAAO,aAAc,SAAQ,KAAK;IACtB,IAAI,CAAoB;IACxB,OAAO,CAAoC;IAE3D,YACE,IAAuB,EACvB,OAAe,EACf,UAA6C,EAAE,EAC/C,OAAsB;QAEtB,KAAK,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;QACxB,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;QAC5B,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC;QACjB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;CACF;AAED,MAAM,UAAU,eAAe,CAAC,KAAc;IAC5C,OAAO,KAAK,YAAY,aAAa,CAAC;AACxC,CAAC"}
@@ -0,0 +1,74 @@
1
+ import { DIFF_EVIDENCE_SCHEMA_VERSION, EVIDENCE_MAX_DIFF_BYTES, EVIDENCE_MAX_DIFF_HUNKS, EVIDENCE_MAX_DIFF_PATHS, REPOSITORY_EVIDENCE_SCHEMA_VERSION, type GitPathStat } from "./git.js";
2
+ import type { GitCheckpointPaths } from "./operation-authorization.js";
3
+ export { DIFF_EVIDENCE_SCHEMA_VERSION, EVIDENCE_MAX_DIFF_BYTES, EVIDENCE_MAX_DIFF_HUNKS, EVIDENCE_MAX_DIFF_PATHS, REPOSITORY_EVIDENCE_SCHEMA_VERSION, };
4
+ export type { GitPathStat } from "./git.js";
5
+ export interface RepositoryEvidenceOptions {
6
+ readonly sessionId: string;
7
+ }
8
+ export interface RepositoryDiffOptions {
9
+ readonly sessionId: string;
10
+ readonly paths: readonly string[];
11
+ readonly from?: string;
12
+ readonly to?: string;
13
+ readonly includePatch?: boolean;
14
+ readonly maxBytes?: number;
15
+ readonly maxHunks?: number;
16
+ }
17
+ export interface RepositoryEvidencePaths extends GitCheckpointPaths {
18
+ readonly stats: readonly GitPathStat[];
19
+ }
20
+ export interface RepositoryEvidenceBounds {
21
+ readonly maxPaths: number;
22
+ readonly maxDiffPaths: number;
23
+ readonly maxDiffBytes: number;
24
+ readonly maxDiffHunks: number;
25
+ }
26
+ export interface RepositoryEvidenceSnapshot {
27
+ readonly schemaVersion: typeof REPOSITORY_EVIDENCE_SCHEMA_VERSION;
28
+ readonly source: "git";
29
+ readonly guarantee: "git-observable-only";
30
+ readonly repositoryId: string;
31
+ readonly worktreePath: string;
32
+ readonly branchId: string;
33
+ readonly branchName: string;
34
+ readonly sessionId: string;
35
+ readonly sessionState: string;
36
+ readonly sessionCreatedAt: string;
37
+ readonly sessionUpdatedAt: string;
38
+ readonly baseRevision: string | null;
39
+ readonly baseRevisionProven: boolean;
40
+ readonly headId: string;
41
+ readonly clean: boolean;
42
+ readonly complete: boolean;
43
+ readonly incompleteReasons: readonly string[];
44
+ readonly paths: RepositoryEvidencePaths;
45
+ /** SHA-256 over all non-volatile evidence fields in this snapshot. */
46
+ readonly evidenceHash: string;
47
+ readonly bounds: RepositoryEvidenceBounds;
48
+ }
49
+ export interface RepositoryDiffEvidence {
50
+ readonly schemaVersion: typeof DIFF_EVIDENCE_SCHEMA_VERSION;
51
+ readonly source: "git";
52
+ readonly guarantee: "git-observable-only";
53
+ readonly repositoryId: string;
54
+ readonly worktreePath: string;
55
+ readonly branchId: string;
56
+ readonly branchName: string;
57
+ readonly sessionId: string;
58
+ readonly sessionState: string;
59
+ readonly headId: string;
60
+ readonly fromRevision: string;
61
+ readonly toRevision: string | null;
62
+ readonly paths: readonly string[];
63
+ readonly stats: readonly GitPathStat[];
64
+ readonly complete: boolean;
65
+ readonly incompleteReasons: readonly string[];
66
+ readonly patch: string | null;
67
+ readonly patchBytes: number;
68
+ readonly hunkCount: number;
69
+ readonly maxBytes: number;
70
+ readonly maxHunks: number;
71
+ /** SHA-256 over all non-volatile evidence fields in this diff. */
72
+ readonly evidenceHash: string;
73
+ }
74
+ export declare function evidenceHash(value: unknown): string;
@@ -0,0 +1,7 @@
1
+ import { createHash } from "node:crypto";
2
+ import { DIFF_EVIDENCE_SCHEMA_VERSION, EVIDENCE_MAX_DIFF_BYTES, EVIDENCE_MAX_DIFF_HUNKS, EVIDENCE_MAX_DIFF_PATHS, REPOSITORY_EVIDENCE_SCHEMA_VERSION, } from "./git.js";
3
+ export { DIFF_EVIDENCE_SCHEMA_VERSION, EVIDENCE_MAX_DIFF_BYTES, EVIDENCE_MAX_DIFF_HUNKS, EVIDENCE_MAX_DIFF_PATHS, REPOSITORY_EVIDENCE_SCHEMA_VERSION, };
4
+ export function evidenceHash(value) {
5
+ return createHash("sha256").update(JSON.stringify(value)).digest("hex");
6
+ }
7
+ //# sourceMappingURL=repository-evidence.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"repository-evidence.js","sourceRoot":"","sources":["../src/repository-evidence.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAEzC,OAAO,EACL,4BAA4B,EAC5B,uBAAuB,EACvB,uBAAuB,EACvB,uBAAuB,EACvB,kCAAkC,GAEnC,MAAM,UAAU,CAAC;AAGlB,OAAO,EACL,4BAA4B,EAC5B,uBAAuB,EACvB,uBAAuB,EACvB,uBAAuB,EACvB,kCAAkC,GACnC,CAAC;AA8EF,MAAM,UAAU,YAAY,CAAC,KAAc;IACzC,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AAC1E,CAAC"}
@@ -1,13 +1,25 @@
1
1
  import { SessionRegistryError, type RegistryErrorDetails } from "./errors.js";
2
- export declare const RESOURCE_CLAIM_SCHEMA_VERSION: 1;
2
+ /**
3
+ * Claim schema version 2 records the distinct overlap semantics below. A
4
+ * persisted v1 claim must be explicitly migrated before it is interpreted by
5
+ * the v2 authority.
6
+ */
7
+ export declare const RESOURCE_CLAIM_SCHEMA_VERSION: 2;
8
+ export declare const LEGACY_RESOURCE_CLAIM_SCHEMA_VERSION: 1;
3
9
  export declare const RESOURCE_CLAIM_MODES: readonly ["read", "write", "exclusive-write"];
4
10
  export type ResourceClaimMode = (typeof RESOURCE_CLAIM_MODES)[number];
5
11
  /**
6
- * The resource authority intentionally uses one conservative matrix:
7
- * read/read overlap is shared; every other overlapping pair conflicts.
12
+ * Normative mode definitions:
13
+ * - read is a non-mutating access declaration, not a consistency lease;
14
+ * - write is ordinary mutation authority and may coexist with read;
15
+ * - exclusive-write is stronger mutation authority and excludes every
16
+ * overlapping claim.
17
+ *
8
18
  * A non-overlapping pair is always compatible, regardless of mode.
9
19
  */
10
20
  export declare const RESOURCE_CLAIM_COMPATIBILITY_MATRIX: Readonly<Record<ResourceClaimMode, Readonly<Record<ResourceClaimMode, "compatible" | "conflict">>>>;
21
+ /** Access strength used by operation authorization; higher includes lower access. */
22
+ export declare const RESOURCE_CLAIM_ACCESS_STRENGTH: Readonly<Record<ResourceClaimMode, number>>;
11
23
  export interface ResourceClaim {
12
24
  readonly schemaVersion: typeof RESOURCE_CLAIM_SCHEMA_VERSION;
13
25
  readonly claimId: string;
@@ -41,6 +53,7 @@ export interface CanonicalResourceClaimInput {
41
53
  readonly mode: ResourceClaimMode;
42
54
  }
43
55
  export declare function isResourceClaimMode(value: unknown): value is ResourceClaimMode;
56
+ export declare function claimModeGrantsAccess(granted: ResourceClaimMode, required: ResourceClaimMode): boolean;
44
57
  export declare function canonicalClaimId(sessionId: string, resource: string, mode: ResourceClaimMode): string;
45
58
  export declare function canonicalizeClaimInput(input: ResourceClaimInput, owner: ClaimOwnerContext): CanonicalResourceClaimInput;
46
59
  /**
@@ -49,6 +62,15 @@ export declare function canonicalizeClaimInput(input: ResourceClaimInput, owner:
49
62
  * represented unambiguously instead of guessing what a caller meant.
50
63
  */
51
64
  export declare function canonicalizeClaimResource(resource: string, worktreePath: string): string;
65
+ /**
66
+ * Canonicalize a concrete repository-relative path (NOT a glob pattern)
67
+ * against the physical worktree. Any `*` or `?` characters in the input are
68
+ * treated as literal filename characters, not glob wildcards. The path is
69
+ * validated for traversal and symlink escapes exactly like
70
+ * `canonicalizeClaimResource`, but without glob expansion or candidate
71
+ * scanning.
72
+ */
73
+ export declare function canonicalizeConcretePath(resource: string, worktreePath: string): string;
52
74
  /** Validate a resource already persisted as canonical without requiring its worktree to exist. */
53
75
  export declare function assertCanonicalClaimResource(resource: string): void;
54
76
  export declare function createResourceClaim(input: CanonicalResourceClaimInput, owner: ClaimOwnerContext, timestamp: string): ResourceClaim;
@@ -2,18 +2,34 @@ import fs from "node:fs";
2
2
  import path from "node:path";
3
3
  import { createHash } from "node:crypto";
4
4
  import { SessionRegistryError } from "./errors.js";
5
- export const RESOURCE_CLAIM_SCHEMA_VERSION = 1;
5
+ /**
6
+ * Claim schema version 2 records the distinct overlap semantics below. A
7
+ * persisted v1 claim must be explicitly migrated before it is interpreted by
8
+ * the v2 authority.
9
+ */
10
+ export const RESOURCE_CLAIM_SCHEMA_VERSION = 2;
11
+ export const LEGACY_RESOURCE_CLAIM_SCHEMA_VERSION = 1;
6
12
  export const RESOURCE_CLAIM_MODES = ["read", "write", "exclusive-write"];
7
13
  /**
8
- * The resource authority intentionally uses one conservative matrix:
9
- * read/read overlap is shared; every other overlapping pair conflicts.
14
+ * Normative mode definitions:
15
+ * - read is a non-mutating access declaration, not a consistency lease;
16
+ * - write is ordinary mutation authority and may coexist with read;
17
+ * - exclusive-write is stronger mutation authority and excludes every
18
+ * overlapping claim.
19
+ *
10
20
  * A non-overlapping pair is always compatible, regardless of mode.
11
21
  */
12
22
  export const RESOURCE_CLAIM_COMPATIBILITY_MATRIX = Object.freeze({
13
- read: Object.freeze({ read: "compatible", write: "conflict", "exclusive-write": "conflict" }),
14
- write: Object.freeze({ read: "conflict", write: "conflict", "exclusive-write": "conflict" }),
23
+ read: Object.freeze({ read: "compatible", write: "compatible", "exclusive-write": "conflict" }),
24
+ write: Object.freeze({ read: "compatible", write: "conflict", "exclusive-write": "conflict" }),
15
25
  "exclusive-write": Object.freeze({ read: "conflict", write: "conflict", "exclusive-write": "conflict" }),
16
26
  });
27
+ /** Access strength used by operation authorization; higher includes lower access. */
28
+ export const RESOURCE_CLAIM_ACCESS_STRENGTH = Object.freeze({
29
+ read: 0,
30
+ write: 1,
31
+ "exclusive-write": 2,
32
+ });
17
33
  const CLAIM_ID_PREFIX = "claim-";
18
34
  const MAX_SYMLINK_SCAN_ENTRIES = 20_000;
19
35
  const WINDOWS_ABSOLUTE_PATH = /^[A-Za-z]:[\\/]/u;
@@ -24,6 +40,9 @@ const ISO_TIMESTAMP_PATTERN = /^\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}\.\d{3}Z$/u;
24
40
  export function isResourceClaimMode(value) {
25
41
  return typeof value === "string" && RESOURCE_CLAIM_MODES.includes(value);
26
42
  }
43
+ export function claimModeGrantsAccess(granted, required) {
44
+ return RESOURCE_CLAIM_ACCESS_STRENGTH[granted] >= RESOURCE_CLAIM_ACCESS_STRENGTH[required];
45
+ }
27
46
  export function canonicalClaimId(sessionId, resource, mode) {
28
47
  const digest = createHash("sha256")
29
48
  .update(sessionId)
@@ -116,6 +135,39 @@ export function canonicalizeClaimResource(resource, worktreePath) {
116
135
  }
117
136
  return canonical;
118
137
  }
138
+ /**
139
+ * Canonicalize a concrete repository-relative path (NOT a glob pattern)
140
+ * against the physical worktree. Any `*` or `?` characters in the input are
141
+ * treated as literal filename characters, not glob wildcards. The path is
142
+ * validated for traversal and symlink escapes exactly like
143
+ * `canonicalizeClaimResource`, but without glob expansion or candidate
144
+ * scanning.
145
+ */
146
+ export function canonicalizeConcretePath(resource, worktreePath) {
147
+ validateResourceString(resource);
148
+ const canonical = canonicalResourceSyntax(resource);
149
+ const root = canonicalWorktreeRoot(worktreePath);
150
+ const segments = canonical.split("/");
151
+ const candidate = walkStaticPath(root, segments, canonical);
152
+ assertWithinRoot(root, candidate, canonical);
153
+ const entry = lstatIfPresent(candidate);
154
+ if (entry?.isSymbolicLink()) {
155
+ throw claimError("CLAIM_SYMLINK_ESCAPE", "Resource path is a symbolic link", { resource: canonical });
156
+ }
157
+ if (entry !== undefined) {
158
+ try {
159
+ assertWithinRoot(root, fs.realpathSync.native(candidate), canonical);
160
+ }
161
+ catch (error) {
162
+ if (error instanceof SessionRegistryError)
163
+ throw error;
164
+ throw claimError("CLAIM_SYMLINK_ESCAPE", "Resource path escapes its owning worktree", {
165
+ resource: canonical,
166
+ });
167
+ }
168
+ }
169
+ return canonical;
170
+ }
119
171
  /** Validate a resource already persisted as canonical without requiring its worktree to exist. */
120
172
  export function assertCanonicalClaimResource(resource) {
121
173
  validateResourceString(resource);
@@ -1 +1 @@
1
- {"version":3,"file":"resource-claims.js","sourceRoot":"","sources":["../src/resource-claims.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"resource-claims.js","sourceRoot":"","sources":["../src/resource-claims.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,11 @@
1
1
  import { type GitCommandRunner, type GitWorktreeInfo, type PhysicalExecutionContext, type RepositoryContext } from "./git.js";
2
2
  import { type RegistryErrorCode, type RegistryErrorDetails } from "./errors.js";
3
- import { RESOURCE_CLAIM_SCHEMA_VERSION, type ResourceClaim, type ResourceClaimInput, type ResourceClaimMode } from "./resource-claims.js";
3
+ import { LEGACY_RESOURCE_CLAIM_SCHEMA_VERSION, RESOURCE_CLAIM_SCHEMA_VERSION, type ResourceClaim, type ResourceClaimInput, type ResourceClaimMode } from "./resource-claims.js";
4
4
  import { type CheckpointEvidence, type CheckpointOptions, type OperationAuthorizationDecision, type OperationAuthorizationOptions } from "./operation-authorization.js";
5
+ import { type RepositoryDiffEvidence, type RepositoryDiffOptions, type RepositoryEvidenceOptions, type RepositoryEvidenceSnapshot } from "./repository-evidence.js";
5
6
  export type { ResourceClaim } from "./resource-claims.js";
7
+ export type { RepositoryDiffEvidence, RepositoryDiffOptions, RepositoryEvidenceBounds, RepositoryEvidenceOptions, RepositoryEvidencePaths, RepositoryEvidenceSnapshot, } from "./repository-evidence.js";
8
+ export { DIFF_EVIDENCE_SCHEMA_VERSION, EVIDENCE_MAX_DIFF_BYTES, EVIDENCE_MAX_DIFF_HUNKS, EVIDENCE_MAX_DIFF_PATHS, REPOSITORY_EVIDENCE_SCHEMA_VERSION, } from "./repository-evidence.js";
6
9
  export declare const REGISTRY_SCHEMA_VERSION: 1;
7
10
  export { RESOURCE_CLAIM_SCHEMA_VERSION };
8
11
  export declare const REGISTRY_DIRECTORY_NAME = "nawabari";
@@ -11,6 +14,8 @@ export declare const REGISTRY_LOCK_FILE_NAME = "session-registry.lock";
11
14
  export declare const DEFAULT_STALE_AFTER_MS: number;
12
15
  export declare const CLEANUP_DECISION_SCHEMA_VERSION: 1;
13
16
  export declare const RECONCILIATION_SCHEMA_VERSION: 1;
17
+ /** Bounds a caller-declared commit-message pattern before it is compiled. */
18
+ export declare const MAX_MESSAGE_PATTERN_LENGTH: 512;
14
19
  export type RegistrySchemaVersion = typeof REGISTRY_SCHEMA_VERSION;
15
20
  export type SessionState = "new" | "active" | "closing" | "closed" | "stale";
16
21
  export interface SessionRecord {
@@ -24,6 +29,8 @@ export interface SessionRecord {
24
29
  readonly state: SessionState;
25
30
  readonly createdAt: string;
26
31
  readonly updatedAt: string;
32
+ /** Exact revision observed at session creation, when the registry can prove it. */
33
+ readonly baseRevision?: string;
27
34
  readonly label?: string;
28
35
  }
29
36
  export interface CreateSessionOptions {
@@ -174,11 +181,19 @@ export interface CommitOptions {
174
181
  readonly resources?: readonly string[];
175
182
  /** Alias for callers that name the same explicit paths as paths. */
176
183
  readonly paths?: readonly string[];
184
+ /**
185
+ * Caller-declared commit-message rule (a RegExp source the final message
186
+ * must match). Nawabari does not own or infer commit-message conventions;
187
+ * it validates this pattern only when the caller explicitly supplies one.
188
+ */
189
+ readonly messagePattern?: string | null;
190
+ readonly message_pattern?: string | null;
177
191
  }
178
192
  export interface CommitResult {
179
193
  readonly schemaVersion: typeof GOVERNED_GIT_OPERATION_SCHEMA_VERSION;
180
194
  readonly commitSha: string;
181
195
  readonly message: string;
196
+ /** The commit's actual changed paths, read back from Git and proven to be within the authorized/staged set. */
182
197
  readonly resources: readonly string[];
183
198
  }
184
199
  export type PushRelation = "no-upstream" | "up-to-date" | "ahead" | "behind" | "diverged";
@@ -197,9 +212,15 @@ export interface PushOptions {
197
212
  }
198
213
  export interface PushResult {
199
214
  readonly schemaVersion: typeof GOVERNED_GIT_OPERATION_SCHEMA_VERSION;
215
+ /** The immutable local commit SHA used as the push source. */
216
+ readonly sourceSha: string;
200
217
  readonly remote: string;
201
218
  readonly branch: string;
202
219
  readonly target: string;
220
+ /** The explicit remote ref targeted by the push. */
221
+ readonly targetRef: string;
222
+ /** The remote branch SHA observed before ancestry inspection and mutation. */
223
+ readonly observedRemoteSha: string | null;
203
224
  readonly relation: PushRelation;
204
225
  readonly force: boolean;
205
226
  readonly upstreamCreated: boolean;
@@ -235,10 +256,11 @@ export interface PersistedSessionRecord {
235
256
  readonly state: SessionState;
236
257
  readonly created_at: string;
237
258
  readonly updated_at: string;
259
+ readonly base_revision?: string;
238
260
  readonly label?: string;
239
261
  }
240
262
  export interface PersistedResourceClaim {
241
- readonly schema_version: typeof RESOURCE_CLAIM_SCHEMA_VERSION;
263
+ readonly schema_version: typeof RESOURCE_CLAIM_SCHEMA_VERSION | typeof LEGACY_RESOURCE_CLAIM_SCHEMA_VERSION;
242
264
  readonly claim_id: string;
243
265
  readonly session_id: string;
244
266
  readonly repository_id: string;
@@ -252,9 +274,9 @@ export interface PersistedRegistry {
252
274
  readonly schema_version: RegistrySchemaVersion;
253
275
  readonly repository_id: string;
254
276
  readonly sessions: readonly PersistedSessionRecord[];
255
- /** Optional in the TypeScript shape so v0.1.0 fixtures remain readable. */
256
- readonly claims_schema_version?: typeof RESOURCE_CLAIM_SCHEMA_VERSION;
257
- /** Optional in the TypeScript shape so v0.1.0 fixtures remain readable. */
277
+ /** Optional in the TypeScript shape so pre-claim fixtures remain readable. */
278
+ readonly claims_schema_version?: typeof RESOURCE_CLAIM_SCHEMA_VERSION | typeof LEGACY_RESOURCE_CLAIM_SCHEMA_VERSION;
279
+ /** Optional in the TypeScript shape so pre-claim fixtures remain readable. */
258
280
  readonly claims?: readonly PersistedResourceClaim[];
259
281
  }
260
282
  export declare class SessionRegistry {
@@ -273,6 +295,8 @@ export declare class SessionRegistry {
273
295
  private readonly lockMetadataGraceMs;
274
296
  private readonly lock;
275
297
  constructor(options?: SessionRegistryOptions);
298
+ /** Resolved repository-local root used for default managed session worktrees. */
299
+ get managedWorktreeRoot(): string;
276
300
  read(): readonly SessionRecord[];
277
301
  list(): readonly SessionRecord[];
278
302
  get(sessionId: string): SessionRecord | undefined;
@@ -281,8 +305,9 @@ export declare class SessionRegistry {
281
305
  claims(sessionId?: string | null): readonly ResourceClaim[];
282
306
  getClaim(claimId: string): ResourceClaim | undefined;
283
307
  /**
284
- * Explicitly materialize the v0.1.0 registry's empty claim section. This is
285
- * also performed by the first ownership mutation after a legacy read.
308
+ * Explicitly materialize a claim section or upgrade its semantics. A v1
309
+ * claim registry is intentionally unreadable through ordinary operations;
310
+ * only this locked, explicit migration rewrites it as v2.
286
311
  */
287
312
  migrate(): RegistryMigrationResult;
288
313
  claim(sessionIdOrOptions: string | ClaimResourcesOptions, inputs?: readonly ResourceClaimInput[]): ClaimResourcesResult;
@@ -296,6 +321,22 @@ export declare class SessionRegistry {
296
321
  createSession(options?: CreateSessionOptions): SessionRecord;
297
322
  /** Provision one isolated Git worktree and commit its ownership atomically. */
298
323
  provision(options?: ProvisionSessionOptions): SessionRecord;
324
+ /**
325
+ * Decide whether it is safe to destroy the just-created worktree/branch
326
+ * after a provisioning failure. Only an ordinary (non-durability-uncertain)
327
+ * failure, or a durability-uncertain failure whose registry re-read
328
+ * positively proves the session record absent, licenses a rollback.
329
+ *
330
+ * A durability-uncertain write means the rename may have already
331
+ * committed this session as the registry's visible ownership record:
332
+ * rolling back the worktree/branch would then strand a registry entry
333
+ * pointing at resources we just deleted. Absence must be *proven*, not
334
+ * merely unconfirmed — if the reconciliation read itself cannot complete
335
+ * (I/O failure, corrupt registry state, or any other exception), that is
336
+ * not proof of absence, so no rollback happens and the original
337
+ * durability-uncertain outcome propagates unchanged.
338
+ */
339
+ private absenceProvenAfterProvisioningFailure;
299
340
  provisionSession(options?: ProvisionSessionOptions): SessionRecord;
300
341
  createProvisionedSession(options?: ProvisionSessionOptions): SessionRecord;
301
342
  register(record: SessionRecord): SessionRecord;
@@ -307,6 +348,8 @@ export declare class SessionRegistry {
307
348
  * fail-closed observation for governed operations.
308
349
  */
309
350
  verifyExecutionContext(options?: GuardOptions): VerifiedExecutionContext;
351
+ /** Resolve and physically verify an explicitly addressed active session. */
352
+ private verifyEvidenceSession;
310
353
  /** Shared physical/protected/ownership path for every governed decision. */
311
354
  private verifyGovernedExecutionContext;
312
355
  private resolveSessionOwnership;
@@ -336,6 +379,15 @@ export declare class SessionRegistry {
336
379
  /** Capture bounded Git evidence for the current owned session's declaration. */
337
380
  checkpoint(options?: CheckpointOptions): CheckpointEvidence;
338
381
  captureCheckpoint(options?: CheckpointOptions): CheckpointEvidence;
382
+ /**
383
+ * Capture one deterministic, read-only physical repository generation for
384
+ * an explicitly addressed owned session.
385
+ */
386
+ repositoryEvidence(options: RepositoryEvidenceOptions): RepositoryEvidenceSnapshot;
387
+ evidenceSnapshot(options: RepositoryEvidenceOptions): RepositoryEvidenceSnapshot;
388
+ /** Inspect only explicitly selected paths with bounded stat/patch output. */
389
+ repositoryDiff(options: RepositoryDiffOptions): RepositoryDiffEvidence;
390
+ diff(options: RepositoryDiffOptions): RepositoryDiffEvidence;
339
391
  /**
340
392
  * Produce the authoritative, non-mutating cleanup decision for one session.
341
393
  * The decision observes registry claims and current Git/filesystem state in
@@ -375,6 +427,15 @@ export declare class SessionRegistry {
375
427
  private resolveCreationResources;
376
428
  private readStateUnsafe;
377
429
  private readUnsafe;
430
+ /**
431
+ * The single authoritative persistence path for session/claim registry
432
+ * state, sharing its durability policy with `registry/atomic.ts`: the
433
+ * temporary file and target directory are fsynced around an atomic
434
+ * rename, and only known unsupported-directory-fsync conditions are
435
+ * tolerated. A failure observed after rename is reported as a distinct
436
+ * durability-uncertain outcome rather than an ordinary write failure,
437
+ * since the renamed document may already be the one readers observe.
438
+ */
378
439
  private writeUnsafe;
379
440
  private mutate;
380
441
  private withLock;