gitsheets 1.2.1 → 1.3.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.
package/README.md CHANGED
@@ -2,20 +2,82 @@
2
2
 
3
3
  A git-backed document store for low-volume, high-touch, human-scale data.
4
4
 
5
- > **v1.0 under heavy development.** The library is being rewritten as a
6
- > TypeScript-only ESM package. The current `develop` (and `1.0-substrate`)
7
- > branches do not yet expose the documented API. Track progress in the
8
- > [1.0.0 milestone](https://github.com/JarvusInnovations/gitsheets/milestone/1).
5
+ Records are TOML files in a git repo, organized by a per-sheet path template. Every mutation is a commit — the commit log is the audit log. Schemas live alongside the data; validation runs on every write. Branches give you propose-review workflows for free. Content-typed sheets (markdown with TOML frontmatter) support documents-as-records workflows.
9
6
 
10
- ## Spec-driven
7
+ ```bash
8
+ npm install gitsheets
9
+ ```
11
10
 
12
- [`specs/`](specs/) is the source of truth. Start at [`specs/README.md`](specs/README.md).
11
+ ESM-only. Targets Node.js 20 and Bun ≥ 1. CLI installs as `gitsheets` and `git-sheet`.
13
12
 
14
- - [`specs/architecture.md`](specs/architecture.md) — stack and packaging
15
- - [`specs/concepts.md`](specs/concepts.md) — Repository, Sheet, Record, Transaction, Store, Index
16
- - [`specs/api/`](specs/api/) — per-symbol API contracts
17
- - [`specs/behaviors/`](specs/behaviors/) cross-cutting rules
13
+ ## Quick taste
14
+
15
+ ```typescript
16
+ import { openRepo } from 'gitsheets';
17
+
18
+ const repo = await openRepo();
19
+ const users = await repo.openSheet('users');
20
+
21
+ await repo.transact({ message: 'add jane' }, async (tx) => {
22
+ await tx.sheet('users').upsert({
23
+ slug: 'jane',
24
+ email: 'jane@x.org',
25
+ fullName: 'Jane Doe',
26
+ });
27
+ });
28
+
29
+ const jane = await users.queryFirst({ slug: 'jane' });
30
+ ```
31
+
32
+ Sheet config (`.gitsheets/users.toml`):
33
+
34
+ ```toml
35
+ [gitsheet]
36
+ root = 'users'
37
+ path = '${{ slug }}'
38
+
39
+ [gitsheet.schema]
40
+ type = 'object'
41
+ required = ['slug', 'email']
42
+
43
+ [gitsheet.schema.properties.slug]
44
+ type = 'string'
45
+ pattern = '^[a-z0-9-]+$'
46
+
47
+ [gitsheet.schema.properties.email]
48
+ type = 'string'
49
+ format = 'email'
50
+ ```
51
+
52
+ That lands on disk as `users/jane.toml` with deep-sorted keys for byte-stable diffs.
53
+
54
+ ## What you get
55
+
56
+ - **Typed reads + writes.** `Sheet<T>` is generic; combine with [Standard Schema](https://standardschema.dev) validators (Zod, Valibot, ArkType, Effect Schema) via `openStore` for end-to-end TS types.
57
+ - **Transactions.** `repo.transact(opts, async tx => …)` bundles multi-sheet mutations into a single commit with author + structured trailers.
58
+ - **JSON Schema validation** layered with optional consumer Standard Schema validators. Both run on every write.
59
+ - **Canonical normalization** on write — deep-sorted keys, per-field array sort rules — so byte-equality means logical-equality and git diffs are meaningful.
60
+ - **Path templates** with `${{ field }}` and `${{ expression }}` syntax, recursive `${{ field/** }}`, multi-variable per-segment.
61
+ - **Content-typed sheets.** Opt into `[gitsheet.format] type = 'markdown'` for records as `.md` files with TOML frontmatter and a designated body field. Lazy body loading; markdownlint-normalized bodies.
62
+ - **Secondary indices.** `sheet.defineIndex(name, fn)` — in-memory, lazy, auto-rebuilt on tree-hash change.
63
+ - **Push daemon.** Optional library-side background task that pushes new commits with retry/backoff. Push-only (single-writer model).
64
+ - **Attachments.** Binary blobs colocated with records; first-class API; cascade-delete with the record.
65
+ - **CLI** (`gitsheets` / `git sheet`) for upsert / query / read / edit / check / normalize / init / infer / migrate-config.
66
+
67
+ ## Companion: `gitsheets-axi`
68
+
69
+ For agent-driven shell invocation, see [`gitsheets-axi`](https://www.npmjs.com/package/gitsheets-axi) — same operations, agent ergonomics (TOON output, idempotent mutations, self-installing session hooks).
70
+
71
+ ## Docs
72
+
73
+ - **[Quick start](https://jarvusinnovations.github.io/gitsheets/quick-start)** — install → declare a sheet → write a record → read it back
74
+ - **[Concepts](https://jarvusinnovations.github.io/gitsheets/concepts)** — Repository, Sheet, Path Template, Transaction, Store, Index, Push Daemon
75
+ - **[API reference](https://jarvusinnovations.github.io/gitsheets/api)** — public exports + pointers into per-symbol spec
76
+ - **[CLI reference](https://jarvusinnovations.github.io/gitsheets/cli)** — every command, every flag, exit codes
77
+ - **[Recipes](https://jarvusinnovations.github.io/gitsheets/)** — typed sheets with Zod, request-bound transactions, push-daemon setup, markdown CMS
78
+
79
+ [`specs/`](https://github.com/JarvusInnovations/gitsheets/tree/develop/specs) in the source repository is the authoritative API + behavior contract.
18
80
 
19
81
  ## License
20
82
 
21
- [Apache-2.0](LICENSE).
83
+ Apache-2.0.
@@ -8,6 +8,20 @@ export interface FormatConfig {
8
8
  readonly type: string;
9
9
  /** Field name holding the body text (markdown formats only). */
10
10
  readonly body?: string;
11
+ /**
12
+ * Field name to denormalize from the body's first H1 (markdown formats
13
+ * only). When set, the format pipeline:
14
+ *
15
+ * - Extracts the first H1 from the body (line matching `^#\s+...`).
16
+ * - Enforces the invariant `record[title] === body's first H1`. Writes
17
+ * with a disagreeing title throw `ValidationError`.
18
+ * - Auto-enables markdownlint's `MD041` (first-line H1) — fail loud on
19
+ * bodies that don't start with a heading. Consumer can override.
20
+ *
21
+ * See `Sheet.patch` for how patch reconciles title-only or body-only
22
+ * deltas against the invariant.
23
+ */
24
+ readonly title?: string;
11
25
  /**
12
26
  * Markdownlint configuration object, or `false` to disable normalization.
13
27
  * Markdown formats only.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/format/index.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAE5D;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,4DAA4D;IAC5D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,gEAAgE;IAChE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB;;;OAGG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,KAAK,CAAC;CACnE;AAED;;;;;;GAMG;AACH,MAAM,WAAW,MAAM;IACrB,+EAA+E;IAC/E,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAE3B,0EAA0E;IAC1E,SAAS,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;IAE9E,8CAA8C;IAC9C,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG,UAAU,CAAC;IAEtD;;;;OAIG;IACH,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG,UAAU,CAAC;CACjE;AAMD,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAEjE;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAQ9C;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE/C;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,YAAY,CAsB9D"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/format/index.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAE5D;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC3B,4DAA4D;IAC5D,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,gEAAgE;IAChE,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB;;;;;;;;;;;;OAYG;IACH,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB;;;OAGG;IACH,QAAQ,CAAC,YAAY,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,GAAG,KAAK,CAAC;CACnE;AAED;;;;;;GAMG;AACH,MAAM,WAAW,MAAM;IACrB,+EAA+E;IAC/E,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC;IAE3B,0EAA0E;IAC1E,SAAS,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC;IAE9E,8CAA8C;IAC9C,KAAK,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG,UAAU,CAAC;IAEtD;;;;OAIG;IACH,eAAe,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,YAAY,GAAG,UAAU,CAAC;CACjE;AAMD,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI,CAEjE;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAQ9C;AAED,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAE/C;AAED;;;;;;GAMG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,OAAO,GAAG,YAAY,CA4B9D"}
@@ -39,6 +39,8 @@ export function resolveFormatConfig(raw) {
39
39
  const out = { type };
40
40
  if (typeof obj['body'] === 'string')
41
41
  out.body = obj['body'];
42
+ if (typeof obj['title'] === 'string')
43
+ out.title = obj['title'];
42
44
  if (obj['markdownlint'] === false) {
43
45
  out.markdownlint = false;
44
46
  }
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/format/index.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,EAAE;AACF,8EAA8E;AAC9E,8EAA8E;AAC9E,8EAA8E;AAC9E,sFAAsF;AA6CtF,mBAAmB;AAEnB,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;AAE3C,MAAM,UAAU,cAAc,CAAC,IAAY,EAAE,MAAc;IACzD,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,IAAY;IACpC,MAAM,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC7B,IAAI,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,IAAI,KAAK,CACb,wBAAwB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAChG,CAAC;IACJ,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,IAAY;IACpC,OAAO,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CAAC,GAAY;IAC9C,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QACtC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC1B,CAAC;IACD,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAClD,MAAM,IAAI,SAAS,CAAC,0CAA0C,OAAO,GAAG,EAAE,CAAC,CAAC;IAC9E,CAAC;IACD,MAAM,GAAG,GAAG,GAA8B,CAAC;IAC3C,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;IAC5B,MAAM,IAAI,GAAG,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;IAC5D,MAAM,GAAG,GAA8F,EAAE,IAAI,EAAE,CAAC;IAChH,IAAI,OAAO,GAAG,CAAC,MAAM,CAAC,KAAK,QAAQ;QAAE,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;IAC5D,IAAI,GAAG,CAAC,cAAc,CAAC,KAAK,KAAK,EAAE,CAAC;QAClC,GAAG,CAAC,YAAY,GAAG,KAAK,CAAC;IAC3B,CAAC;SAAM,IACL,GAAG,CAAC,cAAc,CAAC,KAAK,SAAS;QACjC,OAAO,GAAG,CAAC,cAAc,CAAC,KAAK,QAAQ;QACvC,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,EACnC,CAAC;QACD,GAAG,CAAC,YAAY,GAAG,GAAG,CAAC,cAAc,CAAsC,CAAC;IAC9E,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,kDAAkD;AAElD,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/C,cAAc,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AACnC,cAAc,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;AAC3C,6EAA6E;AAC7E,sEAAsE;AACtE,cAAc,CAAC,KAAK,EAAE,EAAE,GAAG,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/format/index.ts"],"names":[],"mappings":"AAAA,6EAA6E;AAC7E,EAAE;AACF,8EAA8E;AAC9E,8EAA8E;AAC9E,8EAA8E;AAC9E,sFAAsF;AA2DtF,mBAAmB;AAEnB,MAAM,QAAQ,GAAG,IAAI,GAAG,EAAkB,CAAC;AAE3C,MAAM,UAAU,cAAc,CAAC,IAAY,EAAE,MAAc;IACzD,QAAQ,CAAC,GAAG,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;AAC7B,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,IAAY;IACpC,MAAM,CAAC,GAAG,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IAC7B,IAAI,CAAC,CAAC,EAAE,CAAC;QACP,MAAM,IAAI,KAAK,CACb,wBAAwB,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,kBAAkB,CAAC,GAAG,QAAQ,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAChG,CAAC;IACJ,CAAC;IACD,OAAO,CAAC,CAAC;AACX,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,IAAY;IACpC,OAAO,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;AAC5B,CAAC;AAED;;;;;;GAMG;AACH,MAAM,UAAU,mBAAmB,CAAC,GAAY;IAC9C,IAAI,GAAG,KAAK,SAAS,IAAI,GAAG,KAAK,IAAI,EAAE,CAAC;QACtC,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC1B,CAAC;IACD,IAAI,OAAO,GAAG,KAAK,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC;QAClD,MAAM,IAAI,SAAS,CAAC,0CAA0C,OAAO,GAAG,EAAE,CAAC,CAAC;IAC9E,CAAC;IACD,MAAM,GAAG,GAAG,GAA8B,CAAC;IAC3C,MAAM,OAAO,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;IAC5B,MAAM,IAAI,GAAG,OAAO,OAAO,KAAK,QAAQ,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;IAC5D,MAAM,GAAG,GAKL,EAAE,IAAI,EAAE,CAAC;IACb,IAAI,OAAO,GAAG,CAAC,MAAM,CAAC,KAAK,QAAQ;QAAE,GAAG,CAAC,IAAI,GAAG,GAAG,CAAC,MAAM,CAAC,CAAC;IAC5D,IAAI,OAAO,GAAG,CAAC,OAAO,CAAC,KAAK,QAAQ;QAAE,GAAG,CAAC,KAAK,GAAG,GAAG,CAAC,OAAO,CAAC,CAAC;IAC/D,IAAI,GAAG,CAAC,cAAc,CAAC,KAAK,KAAK,EAAE,CAAC;QAClC,GAAG,CAAC,YAAY,GAAG,KAAK,CAAC;IAC3B,CAAC;SAAM,IACL,GAAG,CAAC,cAAc,CAAC,KAAK,SAAS;QACjC,OAAO,GAAG,CAAC,cAAc,CAAC,KAAK,QAAQ;QACvC,CAAC,KAAK,CAAC,OAAO,CAAC,GAAG,CAAC,cAAc,CAAC,CAAC,EACnC,CAAC;QACD,GAAG,CAAC,YAAY,GAAG,GAAG,CAAC,cAAc,CAAsC,CAAC;IAC9E,CAAC;IACD,OAAO,GAAG,CAAC;AACb,CAAC;AAED,kDAAkD;AAElD,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAE/C,cAAc,CAAC,MAAM,EAAE,UAAU,CAAC,CAAC;AACnC,cAAc,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC;AAC3C,6EAA6E;AAC7E,sEAAsE;AACtE,cAAc,CAAC,KAAK,EAAE,EAAE,GAAG,cAAc,EAAE,SAAS,EAAE,MAAM,EAAE,CAAC,CAAC"}
@@ -1,3 +1,17 @@
1
1
  import type { Format } from './index.js';
2
+ /**
3
+ * Extract the first ATX-style H1 from a markdown body, or `undefined` if
4
+ * absent. Returns the title with surrounding whitespace trimmed.
5
+ */
6
+ export declare function extractFirstH1(body: string): string | undefined;
7
+ /**
8
+ * Rewrite (or prepend) the first ATX H1 of a markdown body to `newTitle`.
9
+ * Used by `Sheet.patch` to reconcile a title-only delta into the body —
10
+ * the consumer says "rename to X" and the body's `# old` becomes `# X`.
11
+ *
12
+ * If the body has no H1 at all, prepends `# newTitle\n\n` to the body.
13
+ * Internal — consumers operate at the record level via `Sheet.patch`.
14
+ */
15
+ export declare function rewriteLeadingH1(body: string, newTitle: string): string;
2
16
  export declare const markdownFormat: Format;
3
17
  //# sourceMappingURL=markdown.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../../src/format/markdown.ts"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EAAE,MAAM,EAAgB,MAAM,YAAY,CAAC;AA2CvD,eAAO,MAAM,cAAc,EAAE,MA4C5B,CAAC"}
1
+ {"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../../src/format/markdown.ts"],"names":[],"mappings":"AAoBA,OAAO,KAAK,EAAE,MAAM,EAAgB,MAAM,YAAY,CAAC;AA8DvD;;;GAGG;AACH,wBAAgB,cAAc,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAG/D;AAED;;;;;;;GAOG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,MAAM,CAWvE;AAED,eAAO,MAAM,cAAc,EAAE,MAiF5B,CAAC"}
@@ -13,9 +13,19 @@
13
13
  // See specs/behaviors/content-types.md.
14
14
  import { lint } from 'markdownlint/promise';
15
15
  import { applyFixes } from 'markdownlint';
16
+ import { ValidationError } from '../errors.js';
16
17
  import { parseToml, stringifyRecord } from '../toml.js';
17
18
  const DELIMITER = '+++';
18
19
  const DELIMITER_LINE_RE = /^\+\+\+\s*$/m;
20
+ // First ATX-style H1 line: `# Title text`. Captures the trimmed title.
21
+ // Only ATX (not setext `====`) — the spec uses ATX universally and the
22
+ // roundtrip rewriter relies on a stable single-line replacement.
23
+ //
24
+ // Trailing whitespace match is `[ \t]*` (not `\s*`) on purpose: `\s` includes
25
+ // newlines, and greedy `\s*$` in multiline mode will eat blank lines after
26
+ // the heading, which makes rewriteLeadingH1 swallow the spacer between the
27
+ // H1 and the next paragraph.
28
+ const H1_LINE_RE = /^# (.+?)[ \t]*$/m;
19
29
  /**
20
30
  * Default markdownlint rules layered on top of any consumer config. MD013
21
31
  * (line-length) and MD041 (first-line H1) are off because content bodies
@@ -37,6 +47,13 @@ async function normalizeBody(body, config) {
37
47
  return body;
38
48
  const userConfig = config.markdownlint ?? {};
39
49
  const merged = { ...DEFAULT_MARKDOWNLINT_CONFIG, ...userConfig };
50
+ // Auto-enable MD041 (first-line H1) when title-from-H1 extraction is on,
51
+ // unless the consumer explicitly opted out. A body that doesn't start with
52
+ // an H1 would silently produce `undefined` as the title — better to fail
53
+ // loud at the body level than catch it indirectly via schema validation.
54
+ if (config.title !== undefined && !('MD041' in userConfig)) {
55
+ merged['MD041'] = true;
56
+ }
40
57
  const result = await lint({
41
58
  strings: { record: body },
42
59
  // markdownlint's `Configuration` type is a structural shape — cast through
@@ -48,6 +65,35 @@ async function normalizeBody(body, config) {
48
65
  return body;
49
66
  return applyFixes(body, issues);
50
67
  }
68
+ /**
69
+ * Extract the first ATX-style H1 from a markdown body, or `undefined` if
70
+ * absent. Returns the title with surrounding whitespace trimmed.
71
+ */
72
+ export function extractFirstH1(body) {
73
+ const m = H1_LINE_RE.exec(body);
74
+ return m ? m[1] : undefined;
75
+ }
76
+ /**
77
+ * Rewrite (or prepend) the first ATX H1 of a markdown body to `newTitle`.
78
+ * Used by `Sheet.patch` to reconcile a title-only delta into the body —
79
+ * the consumer says "rename to X" and the body's `# old` becomes `# X`.
80
+ *
81
+ * If the body has no H1 at all, prepends `# newTitle\n\n` to the body.
82
+ * Internal — consumers operate at the record level via `Sheet.patch`.
83
+ */
84
+ export function rewriteLeadingH1(body, newTitle) {
85
+ const m = H1_LINE_RE.exec(body);
86
+ if (m && m.index !== undefined) {
87
+ const before = body.slice(0, m.index);
88
+ const after = body.slice(m.index + m[0].length);
89
+ return `${before}# ${newTitle}${after}`;
90
+ }
91
+ // Prepend an H1 when none exists. A blank line separates the heading from
92
+ // existing body content (markdownlint MD022 requires one).
93
+ if (body.length === 0)
94
+ return `# ${newTitle}\n`;
95
+ return `# ${newTitle}\n\n${body}`;
96
+ }
51
97
  export const markdownFormat = {
52
98
  extension: '.md',
53
99
  async serialize(record, config) {
@@ -64,6 +110,37 @@ export const markdownFormat = {
64
110
  continue;
65
111
  frontmatter[k] = v;
66
112
  }
113
+ // Title-from-H1: when [gitsheet.format].title is set, the body's first H1
114
+ // is the authoritative title. We enforce the invariant
115
+ // `record[titleField] === <body's first H1, or undefined>` and write the
116
+ // extracted value into frontmatter. A consumer-supplied title that
117
+ // disagrees with the body's H1 is a logic error — throw rather than
118
+ // silently picking one.
119
+ const titleField = config.title;
120
+ if (titleField !== undefined) {
121
+ const extracted = extractFirstH1(body);
122
+ const supplied = frontmatter[titleField];
123
+ if (supplied !== undefined &&
124
+ supplied !== null &&
125
+ supplied !== extracted) {
126
+ throw new ValidationError('validation_failed', `record.${titleField} (${JSON.stringify(supplied)}) disagrees with body's first H1 (${JSON.stringify(extracted)}). Use \`Sheet.patch\` if you want to rename via either field — \`upsert\` requires self-consistent input.`, {
127
+ issues: [
128
+ {
129
+ path: [titleField],
130
+ message: `disagrees with body's first H1 (${JSON.stringify(extracted)})`,
131
+ source: 'json-schema',
132
+ },
133
+ ],
134
+ });
135
+ }
136
+ if (extracted !== undefined) {
137
+ frontmatter[titleField] = extracted;
138
+ }
139
+ else {
140
+ // No H1 in body → ensure no stale title leaks into frontmatter.
141
+ delete frontmatter[titleField];
142
+ }
143
+ }
67
144
  const fmText = stringifyRecord(frontmatter);
68
145
  const bodyText = await normalizeBody(body, config);
69
146
  // Layout: `+++\n<frontmatter>+++\n\n<body>\n`. stringifyRecord ends with
@@ -1 +1 @@
1
- {"version":3,"file":"markdown.js","sourceRoot":"","sources":["../../src/format/markdown.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"markdown.js","sourceRoot":"","sources":["../../src/format/markdown.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -2,7 +2,8 @@ export * from './errors.js';
2
2
  export { Repository, openRepo } from './repository.js';
3
3
  export type { OpenRepoOptions, OpenSheetOptions, OpenSheetsOptions, } from './repository.js';
4
4
  export { Sheet, RECORD_PATH_KEY, RECORD_SHEET_KEY } from './sheet.js';
5
- export type { SheetConfig, SheetFieldConfig, SortRule, UpsertResult, UpsertOptions, SheetConstructorOptions, IndexKeyFn, DefineIndexOptions, QueryFilter, QueryOptions, DiffStatus, DiffOptions, DiffChange, AttachmentBlobHandle, AttachmentEntry, } from './sheet.js';
5
+ export type { SheetConfig, SheetFieldConfig, SortRule, UpsertResult, UpsertOptions, WillChangeResult, SheetConstructorOptions, IndexKeyFn, DefineIndexOptions, QueryFilter, QueryOptions, DiffStatus, DiffOptions, DiffChange, AttachmentBlobHandle, AttachmentEntry, } from './sheet.js';
6
+ export { getFormat, hasFormat, registerFormat, resolveFormatConfig, } from './format/index.js';
6
7
  export type { Format, FormatConfig } from './format/index.js';
7
8
  export { mergePatch } from './patch.js';
8
9
  export { openStore } from './store.js';
@@ -11,6 +12,7 @@ export { PushDaemon } from './push-daemon.js';
11
12
  export type { PushDaemonOptions, PushDaemonStatus, PushFailureReason, BackoffConfig, } from './push-daemon.js';
12
13
  export { Transaction } from './transaction.js';
13
14
  export type { Author, TransactionOptions, TransactionResult, TransactionHandler, } from './transaction.js';
15
+ export { parseToml, parseConfigToml, stringifyRecord } from './toml.js';
14
16
  export { Template } from './path-template/index.js';
15
17
  export type { RecordLike, PathTemplateBlob, PathTemplateTree, PathTemplateQueryResult, } from './path-template/index.js';
16
18
  export { validateRecord } from './validation.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,cAAc,aAAa,CAAC;AAE5B,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AACvD,YAAY,EACV,eAAe,EACf,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACtE,YAAY,EACV,WAAW,EACX,gBAAgB,EAChB,QAAQ,EACR,YAAY,EACZ,aAAa,EACb,uBAAuB,EACvB,UAAU,EACV,kBAAkB,EAClB,WAAW,EACX,YAAY,EACZ,UAAU,EACV,WAAW,EACX,UAAU,EACV,oBAAoB,EACpB,eAAe,GAChB,MAAM,YAAY,CAAC;AAEpB,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAE9D,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,YAAY,EACV,gBAAgB,EAChB,KAAK,EACL,OAAO,EACP,eAAe,EACf,YAAY,EACZ,WAAW,GACZ,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,YAAY,EACV,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,aAAa,GACd,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,YAAY,EACV,MAAM,EACN,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,YAAY,EACV,UAAU,EACV,gBAAgB,EAChB,gBAAgB,EAChB,uBAAuB,GACxB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,YAAY,EACV,UAAU,EACV,gBAAgB,EAChB,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACrB,yBAAyB,GAC1B,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAGA,cAAc,aAAa,CAAC;AAE5B,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AACvD,YAAY,EACV,eAAe,EACf,gBAAgB,EAChB,iBAAiB,GAClB,MAAM,iBAAiB,CAAC;AAEzB,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AACtE,YAAY,EACV,WAAW,EACX,gBAAgB,EAChB,QAAQ,EACR,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,uBAAuB,EACvB,UAAU,EACV,kBAAkB,EAClB,WAAW,EACX,YAAY,EACZ,UAAU,EACV,WAAW,EACX,UAAU,EACV,oBAAoB,EACpB,eAAe,GAChB,MAAM,YAAY,CAAC;AAEpB,OAAO,EACL,SAAS,EACT,SAAS,EACT,cAAc,EACd,mBAAmB,GACpB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,mBAAmB,CAAC;AAE9D,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACvC,YAAY,EACV,gBAAgB,EAChB,KAAK,EACL,OAAO,EACP,eAAe,EACf,YAAY,EACZ,WAAW,GACZ,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAC9C,YAAY,EACV,iBAAiB,EACjB,gBAAgB,EAChB,iBAAiB,EACjB,aAAa,GACd,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/C,YAAY,EACV,MAAM,EACN,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,GACnB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAExE,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AACpD,YAAY,EACV,UAAU,EACV,gBAAgB,EAChB,gBAAgB,EAChB,uBAAuB,GACxB,MAAM,0BAA0B,CAAC;AAElC,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AACjD,YAAY,EACV,UAAU,EACV,gBAAgB,EAChB,mBAAmB,EACnB,oBAAoB,EACpB,qBAAqB,EACrB,qBAAqB,EACrB,yBAAyB,GAC1B,MAAM,iBAAiB,CAAC"}
package/dist/index.js CHANGED
@@ -3,10 +3,12 @@
3
3
  export * from './errors.js';
4
4
  export { Repository, openRepo } from './repository.js';
5
5
  export { Sheet, RECORD_PATH_KEY, RECORD_SHEET_KEY } from './sheet.js';
6
+ export { getFormat, hasFormat, registerFormat, resolveFormatConfig, } from './format/index.js';
6
7
  export { mergePatch } from './patch.js';
7
8
  export { openStore } from './store.js';
8
9
  export { PushDaemon } from './push-daemon.js';
9
10
  export { Transaction } from './transaction.js';
11
+ export { parseToml, parseConfigToml, stringifyRecord } from './toml.js';
10
12
  export { Template } from './path-template/index.js';
11
13
  export { validateRecord } from './validation.js';
12
14
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,wCAAwC;AAExC,cAAc,aAAa,CAAC;AAE5B,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAOvD,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAqBtE,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAUvC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAQ9C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAQ/C,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAQpD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,gCAAgC;AAChC,wCAAwC;AAExC,cAAc,aAAa,CAAC;AAE5B,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAOvD,OAAO,EAAE,KAAK,EAAE,eAAe,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAoBtE,OAAO,EACL,SAAS,EACT,SAAS,EACT,cAAc,EACd,mBAAmB,GACpB,MAAM,mBAAmB,CAAC;AAG3B,OAAO,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAExC,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAUvC,OAAO,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAQ9C,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAQ/C,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAExE,OAAO,EAAE,QAAQ,EAAE,MAAM,0BAA0B,CAAC;AAQpD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC"}
package/dist/sheet.d.ts CHANGED
@@ -26,6 +26,23 @@ export interface UpsertResult {
26
26
  readonly blob: BlobObject;
27
27
  readonly path: string;
28
28
  }
29
+ /**
30
+ * Result of `Sheet.willChange` — the pre-flight idempotency check for upsert.
31
+ *
32
+ * `changed` is `false` when the canonical bytes for the supplied record
33
+ * match the current blob byte-for-byte. Consumers use this to skip
34
+ * commits that would produce empty diffs.
35
+ */
36
+ export interface WillChangeResult {
37
+ /** Would `upsert(record)` write different bytes than what's already at `path`? */
38
+ readonly changed: boolean;
39
+ /** Sheet-relative path the record renders to (per the path template). */
40
+ readonly path: string;
41
+ /** Hash of the existing blob at `path`. `undefined` when the record doesn't exist on disk yet. */
42
+ readonly currentBlobHash?: string;
43
+ /** Serialized bytes (UTF-8 text) that `upsert` would write. */
44
+ readonly nextText: string;
45
+ }
29
46
  /**
30
47
  * Options for `Sheet.upsert`. For content-typed (markdown) sheets only:
31
48
  * `allowMissingBody: true` permits an upsert whose record omits the body
@@ -247,5 +264,16 @@ export declare class Sheet<T extends RecordLike = RecordLike> {
247
264
  * `Sheet.delete`). See specs/behaviors/attachments.md.
248
265
  */
249
266
  deleteAttachments(record: T | string): Promise<void>;
267
+ /**
268
+ * Pre-flight idempotency check for `upsert`. Runs validation, normalization,
269
+ * and serialization but does NOT mutate the tree. Compares the resulting
270
+ * bytes to the current blob at the rendered path.
271
+ *
272
+ * Returns `{ changed: false, ... }` when the canonical serialization matches
273
+ * the existing blob — consumers can skip the commit. Throws the same errors
274
+ * `upsert` would on the same input (`ValidationError`, `IndexError`,
275
+ * `PathTemplateError`).
276
+ */
277
+ willChange(record: T, opts?: UpsertOptions): Promise<WillChangeResult>;
250
278
  }
251
279
  //# sourceMappingURL=sheet.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"sheet.d.ts","sourceRoot":"","sources":["../src/sheet.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sheet.d.ts","sourceRoot":"","sources":["../src/sheet.ts"],"names":[],"mappings":"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"}
package/dist/sheet.js CHANGED
@@ -12,6 +12,7 @@ import sortKeys from 'sort-keys';
12
12
  import { transactionContext } from './transaction.js';
13
13
  import { validateRecord, } from './validation.js';
14
14
  import { getFormat, resolveFormatConfig } from './format/index.js';
15
+ import { extractFirstH1, rewriteLeadingH1 } from './format/markdown.js';
15
16
  const exec = promisify(execFile);
16
17
  export const RECORD_SHEET_KEY = Symbol.for('gitsheets-sheet');
17
18
  export const RECORD_PATH_KEY = Symbol.for('gitsheets-path');
@@ -614,15 +615,14 @@ export class Sheet {
614
615
  const config = await this.readConfig();
615
616
  const sheetTree = await this.#dataTree.getSubtree(this.#effectiveRoot(config), true);
616
617
  if (sheetTree) {
617
- const children = await sheetTree.getChildren();
618
- const names = [];
619
- for (const k in children)
620
- names.push(k);
621
- for (const childName of names) {
622
- await sheetTree.deleteChild(childName);
623
- }
618
+ // O(1) drops both pending and base children in-place. The
619
+ // serialized subtree becomes git's empty-tree hash, which hologit's
620
+ // tree write() already skips when emitting parent entries.
621
+ // See specs/api/sheet.md#clear.
622
+ sheetTree.clearChildren();
624
623
  }
625
624
  this.#transaction.markMutated();
625
+ this.#invalidateIndexes();
626
626
  }
627
627
  async clone() {
628
628
  const opts = {
@@ -684,6 +684,50 @@ export class Sheet {
684
684
  if (typeof existingPath === 'string') {
685
685
  merged[RECORD_PATH_KEY] = existingPath;
686
686
  }
687
+ // Title↔body H1 reconciliation for content-typed sheets with title
688
+ // extraction enabled. `upsert` enforces `record[title] === <body's first
689
+ // H1>`. patch's job is to keep the invariant satisfied when the consumer
690
+ // supplies only one side of the delta.
691
+ //
692
+ // {title: 'X'} only → rewrite body's first H1 to `# X`
693
+ // {body: '# Y\n...'} only → re-derive title from new body's H1
694
+ // {title, body} both → pass through; upsert validates consistency
695
+ // neither in partial → invariant trivially preserved
696
+ const config = await this.readConfig();
697
+ const titleField = config.format.title;
698
+ const bodyField = config.format.body;
699
+ if (titleField !== undefined && bodyField !== undefined) {
700
+ const partialFields = partial;
701
+ const titleInPatch = titleField in partialFields;
702
+ const bodyInPatch = bodyField in partialFields;
703
+ const mergedAny = merged;
704
+ if (titleInPatch && !bodyInPatch) {
705
+ // Consumer set the title; rewrite the body's first H1 to match.
706
+ const titleValue = mergedAny[titleField];
707
+ const currentBody = typeof mergedAny[bodyField] === 'string'
708
+ ? mergedAny[bodyField]
709
+ : '';
710
+ if (typeof titleValue === 'string') {
711
+ mergedAny[bodyField] = rewriteLeadingH1(currentBody, titleValue);
712
+ }
713
+ }
714
+ else if (bodyInPatch && !titleInPatch) {
715
+ // Consumer set the body; re-derive the title from the new H1. If the
716
+ // new body has no H1, the title becomes undefined (the serializer
717
+ // will drop the frontmatter field).
718
+ const newBody = typeof mergedAny[bodyField] === 'string'
719
+ ? mergedAny[bodyField]
720
+ : '';
721
+ const derivedTitle = extractFirstH1(newBody);
722
+ if (derivedTitle !== undefined) {
723
+ mergedAny[titleField] = derivedTitle;
724
+ }
725
+ else {
726
+ delete mergedAny[titleField];
727
+ }
728
+ }
729
+ // Both supplied or neither — upsert handles validation / no-op.
730
+ }
687
731
  // patch may produce a record missing the body field (e.g., `{body: null}`
688
732
  // deletes per RFC 7396). The consumer's intent is explicit at the patch
689
733
  // call site, so we don't trip the upsert allowMissingBody guard here.
@@ -895,6 +939,29 @@ export class Sheet {
895
939
  return staged;
896
940
  }
897
941
  async #upsertInTx(tx, record, opts = {}) {
942
+ const { config, format, normalized, recordPath, previousPath, text } = await this.#prepareUpsert(record, opts);
943
+ // Rename: if the source record was loaded from a different path, delete the old one.
944
+ if (previousPath !== undefined && previousPath !== recordPath) {
945
+ try {
946
+ await this.#dataTree.deleteChild(joinTreePath(this.#effectiveRoot(config), `${previousPath}${format.extension}`));
947
+ }
948
+ catch {
949
+ // Old path may not exist — ignore.
950
+ }
951
+ }
952
+ const blob = await this.#dataTree.writeChild(joinTreePath(this.#effectiveRoot(config), `${recordPath}${format.extension}`), text);
953
+ tx.markMutated();
954
+ this.#invalidateIndexes();
955
+ void normalized; // referenced in prepare for unique-index check
956
+ return { blob, path: recordPath };
957
+ }
958
+ /**
959
+ * Shared pipeline used by `upsert` and `willChange`. Runs validation,
960
+ * normalization, path rendering, body-presence guard, unique-index check,
961
+ * and format serialization — every check `upsert` would perform — but
962
+ * stops short of writing to the tree.
963
+ */
964
+ async #prepareUpsert(record, opts) {
898
965
  const config = await this.readConfig();
899
966
  const template = Template.fromString(config.path);
900
967
  // Body presence guard: upsert is a full-record replace. A markdown sheet
@@ -908,7 +975,7 @@ export class Sheet {
908
975
  }
909
976
  // Validate before normalizing — per specs/behaviors/validation.md order:
910
977
  // JSON Schema → Standard Schema (may transform) → normalize → render → write.
911
- let validated = (await validateRecord({
978
+ const validated = (await validateRecord({
912
979
  record: stripSymbols(record),
913
980
  schema: config.schema,
914
981
  schemaSourcePath: this.#configPath,
@@ -916,9 +983,9 @@ export class Sheet {
916
983
  }));
917
984
  // Standard Schema may have transformed; re-attach annotations if the
918
985
  // caller supplied them (for rename detection below).
919
- const existing = record[RECORD_PATH_KEY];
920
- if (typeof existing === 'string') {
921
- validated[RECORD_PATH_KEY] = existing;
986
+ const previousPath = record[RECORD_PATH_KEY];
987
+ if (typeof previousPath === 'string') {
988
+ validated[RECORD_PATH_KEY] = previousPath;
922
989
  }
923
990
  const normalized = await this.normalizeRecord(validated);
924
991
  const recordPath = template.render(normalized);
@@ -944,20 +1011,41 @@ export class Sheet {
944
1011
  }
945
1012
  }
946
1013
  const format = this.#getFormat(config);
947
- // Rename: if the source record was loaded from a different path, delete the old one.
948
- if (typeof existing === 'string' && existing !== recordPath) {
949
- try {
950
- await this.#dataTree.deleteChild(joinTreePath(this.#effectiveRoot(config), `${existing}${format.extension}`));
951
- }
952
- catch {
953
- // Old path may not exist — ignore.
954
- }
955
- }
956
1014
  const text = await format.serialize(stripSymbols(normalized), config.format);
957
- const blob = await this.#dataTree.writeChild(joinTreePath(this.#effectiveRoot(config), `${recordPath}${format.extension}`), text);
958
- tx.markMutated();
959
- this.#invalidateIndexes();
960
- return { blob, path: recordPath };
1015
+ return {
1016
+ config,
1017
+ format,
1018
+ normalized,
1019
+ recordPath,
1020
+ previousPath: typeof previousPath === 'string' ? previousPath : undefined,
1021
+ text,
1022
+ };
1023
+ }
1024
+ /**
1025
+ * Pre-flight idempotency check for `upsert`. Runs validation, normalization,
1026
+ * and serialization but does NOT mutate the tree. Compares the resulting
1027
+ * bytes to the current blob at the rendered path.
1028
+ *
1029
+ * Returns `{ changed: false, ... }` when the canonical serialization matches
1030
+ * the existing blob — consumers can skip the commit. Throws the same errors
1031
+ * `upsert` would on the same input (`ValidationError`, `IndexError`,
1032
+ * `PathTemplateError`).
1033
+ */
1034
+ async willChange(record, opts = {}) {
1035
+ const { config, format, recordPath, text } = await this.#prepareUpsert(record, opts);
1036
+ const fullPath = joinTreePath(this.#effectiveRoot(config), `${recordPath}${format.extension}`);
1037
+ const existing = await this.#dataTree.getChild(fullPath);
1038
+ if (!existing || !isBlob(existing)) {
1039
+ return { changed: true, path: recordPath, nextText: text };
1040
+ }
1041
+ const currentText = await readBlobTextCached(existing);
1042
+ const changed = currentText !== text;
1043
+ return {
1044
+ changed,
1045
+ path: recordPath,
1046
+ currentBlobHash: existing.hash,
1047
+ nextText: text,
1048
+ };
961
1049
  }
962
1050
  async #deleteInTx(tx, target) {
963
1051
  const config = await this.readConfig();
package/dist/sheet.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"sheet.js","sourceRoot":"","sources":["../src/sheet.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sheet.js","sourceRoot":"","sources":["../src/sheet.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../src/transaction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transaction.d.ts","sourceRoot":"","sources":["../src/transaction.ts"],"names":[],"mappings":"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"}
@@ -144,6 +144,28 @@ export class Transaction {
144
144
  }
145
145
  const gitDir = this.#hologitRepo.gitDir;
146
146
  const treeHash = await this.#workspace.root.write();
147
+ // No-op detection: if the resulting tree-hash matches the parent
148
+ // commit's tree-hash, nothing actually changed. Skip the commit-tree
149
+ // spawn + ref update — same return shape as the `!#anyMutation` path
150
+ // above. The `#anyMutation` flag tracks "a mutating method was
151
+ // called," which over-approximates: clear() on an already-empty
152
+ // sheet, upsert() of byte-identical content, and bulk reimport-with-
153
+ // unchanged-data patterns all set the flag without changing the
154
+ // tree. Tree-hash equality is the canonical git-native truth.
155
+ // See specs/api/transaction.md#no-op-detection.
156
+ if (this.#parentCommitHash !== null) {
157
+ const { stdout: parentTreeStdout } = await exec('git', ['rev-parse', `${this.#parentCommitHash}^{tree}`], { cwd: gitDir });
158
+ const parentTreeHash = parentTreeStdout.trim();
159
+ if (parentTreeHash === treeHash) {
160
+ return {
161
+ value,
162
+ commitHash: null,
163
+ treeHash: null,
164
+ ref: null,
165
+ parentCommitHash: this.#parentCommitHash,
166
+ };
167
+ }
168
+ }
147
169
  const message = formatCommitMessage(this.#message, this.#trailers);
148
170
  let commitHash;
149
171
  try {
@@ -1 +1 @@
1
- {"version":3,"file":"transaction.js","sourceRoot":"","sources":["../src/transaction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"transaction.js","sourceRoot":"","sources":["../src/transaction.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "gitsheets",
3
- "version": "1.2.1",
3
+ "version": "1.3.1",
4
4
  "description": "A git-backed document store for low-volume, high-touch, human-scale data",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",
@@ -46,7 +46,7 @@
46
46
  "ajv-formats": "^3.0.1",
47
47
  "csv-parse": "^6.2.1",
48
48
  "csv-stringify": "^6.7.0",
49
- "hologit": "^0.49.1",
49
+ "hologit": "^0.50.2",
50
50
  "markdownlint": "^0.40.0",
51
51
  "rfc6902": "^5.2.0",
52
52
  "sort-keys": "^6.0.0",