@omgbase/astro 0.3.0 → 0.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/dist/watch.js CHANGED
@@ -1,5 +1,6 @@
1
- import { mapDoc, mergeHitProjections } from "./map.js";
1
+ import { digestFingerprint, mapDoc, mergeHitProjections } from "./map.js";
2
2
  import { allowedDstsFor, buildHrefIndex, hrefIndexFingerprint, rewriteMarkdownLinks, } from "./links.js";
3
+ import { CONTENT_HASH_FIELD, encodeEntryDigest, hitContentHash, hitProjectionsFingerprint, linksFingerprint, parseEntryDigest, withContentHash, } from "./digest.js";
3
4
  const CURSOR_META = "omg:changes-cursor";
4
5
  const DEFAULT_POLL_MS = 2000;
5
6
  /** Per-collection watch handles so a re-sync replaces the previous poll/listeners. */
@@ -11,71 +12,156 @@ export async function stopWatch(collection) {
11
12
  watches.delete(collection);
12
13
  await prev.stop();
13
14
  }
14
- export async function syncEntries(context, transport, opts) {
15
- const { store, logger, parseData, renderMarkdown, generateDigest } = context;
16
- const hits = await transport.query({
17
- query: opts.query,
15
+ /** Meta key: href map fingerprint from the previous sync of this collection. */
16
+ const HREF_FP_META = "omg:href-fingerprint";
17
+ /**
18
+ * Run the collection query with `$content_hash` projected so hits carry the
19
+ * server's whole-file hash. If the augmented query is rejected (older server,
20
+ * unusual syntax), fall back to the user's query as written — every doc is
21
+ * then hydrated, exactly as before hash-first sync existed.
22
+ */
23
+ async function queryHits(transport, opts, logger) {
24
+ const base = {
18
25
  ...(opts.limit !== undefined ? { limit: opts.limit } : {}),
19
26
  ...(opts.repo !== undefined ? { repo: opts.repo } : {}),
20
- });
21
- const ids = hits.map((h) => h.id);
22
- const docs = ids.length
23
- ? await transport.hydrate({
24
- ids,
25
- ...(opts.repo !== undefined ? { repo: opts.repo } : {}),
26
- })
27
+ };
28
+ const { query, injected } = withContentHash(opts.query);
29
+ if (injected) {
30
+ try {
31
+ return { hits: await transport.query({ query, ...base }), injected: true };
32
+ }
33
+ catch (err) {
34
+ logger.warn(`omgbase: could not project $content_hash; hydrating every doc: ${err instanceof Error ? err.message : String(err)}`);
35
+ }
36
+ }
37
+ return { hits: await transport.query({ query: opts.query, ...base }), injected: false };
38
+ }
39
+ function stripInjectedHash(hit) {
40
+ const { [CONTENT_HASH_FIELD]: _hash, ...rest } = hit;
41
+ return rest;
42
+ }
43
+ /**
44
+ * Hash-first sync of one collection into Astro's data store.
45
+ *
46
+ * 1. Query with `$content_hash` projected.
47
+ * 2. Reuse any stored entry whose hash, path and hit projections are unchanged.
48
+ * 3. `docs_get_many` only new/changed docs.
49
+ * 4. Rebuild the href map for the whole collection (unchanged docs contribute
50
+ * the slug/href remembered in their digest) and, only when it moved, fetch
51
+ * edges and re-hydrate the unchanged docs whose link targets changed.
52
+ * 5. Map, rewrite links, render, and store just those docs.
53
+ *
54
+ * A no-change reload therefore costs one query and nothing else.
55
+ */
56
+ export async function syncEntries(context, transport, opts) {
57
+ const { store, logger, meta, parseData, renderMarkdown } = context;
58
+ const repoArg = opts.repo !== undefined ? { repo: opts.repo } : {};
59
+ const { hits, injected } = await queryHits(transport, opts, logger);
60
+ // Decide, per hit, whether the stored entry can stand in for a fetch.
61
+ const seen = new Set();
62
+ const plans = new Map();
63
+ const toHydrate = [];
64
+ for (const hit of hits) {
65
+ if (plans.has(hit.id))
66
+ continue;
67
+ seen.add(hit.id);
68
+ const hash = hitContentHash(hit);
69
+ const hitsFp = hitProjectionsFingerprint(hit, injected);
70
+ const stored = parseEntryDigest(store.get(hit.id)?.digest);
71
+ const reusable = stored !== null &&
72
+ hash !== null &&
73
+ stored.hash === hash &&
74
+ stored.path === hit.path &&
75
+ stored.hitsFp === hitsFp;
76
+ plans.set(hit.id, { hit, hash, hitsFp, stored: reusable ? stored : null });
77
+ if (!reusable)
78
+ toHydrate.push(hit.id);
79
+ }
80
+ const docs = toHydrate.length
81
+ ? await transport.hydrate({ ids: toHydrate, ...repoArg })
27
82
  : [];
28
83
  const byId = new Map(docs.map((d) => [d.id, d]));
29
- const seen = new Set();
30
- let written = 0;
31
- // Identity → site URL for every hydrated doc in this collection.
84
+ // Identity → site URL for every doc in the collection.
32
85
  let hrefIndex = buildHrefIndex([]);
33
- let edges = [];
34
86
  let hrefFp = "";
35
- if (opts.href !== false && docs.length > 0) {
87
+ const routeById = new Map();
88
+ if (opts.href !== false) {
36
89
  const hrefOf = opts.href;
37
- const entries = docs.map((doc) => {
38
- const slug = opts.slug({
39
- path: doc.path,
40
- docId: doc.id,
41
- properties: doc.properties,
42
- });
43
- const href = hrefOf({
44
- path: doc.path,
45
- docId: doc.id,
46
- slug,
47
- properties: doc.properties,
48
- });
49
- return { docId: doc.id, path: doc.path, href };
50
- });
90
+ const entries = [];
91
+ for (const plan of plans.values()) {
92
+ const doc = byId.get(plan.hit.id);
93
+ if (doc) {
94
+ const ctx = { path: doc.path, docId: doc.id, properties: doc.properties };
95
+ const slug = opts.slug(ctx);
96
+ const href = hrefOf({ ...ctx, slug });
97
+ routeById.set(doc.id, { slug, href });
98
+ entries.push({ docId: doc.id, path: doc.path, href });
99
+ }
100
+ else if (plan.stored) {
101
+ routeById.set(plan.hit.id, { slug: plan.stored.slug, href: plan.stored.href });
102
+ entries.push({ docId: plan.hit.id, path: plan.hit.path, href: plan.stored.href });
103
+ }
104
+ }
51
105
  hrefIndex = buildHrefIndex(entries);
52
106
  hrefFp = hrefIndexFingerprint(hrefIndex);
53
- if (transport.outEdges) {
54
- try {
55
- edges = await transport.outEdges({
56
- ids: docs.map((d) => d.id),
57
- ...(opts.repo !== undefined ? { repo: opts.repo } : {}),
58
- });
107
+ }
108
+ const prevHrefFp = meta.get(HREF_FP_META) ?? "";
109
+ const hrefMoved = opts.href !== false && hrefFp !== prevHrefFp;
110
+ // Live out-edges gate link rewriting. Only worth fetching when something
111
+ // will be (re)written: a fetched doc, or an href map that moved.
112
+ let edges = [];
113
+ let edgesOk = false;
114
+ if (opts.href !== false && transport.outEdges && (docs.length > 0 || hrefMoved)) {
115
+ try {
116
+ edges = await transport.outEdges({ ids: [...plans.keys()], ...repoArg });
117
+ edgesOk = true;
118
+ }
119
+ catch (err) {
120
+ logger.warn(`omgbase out-edges unavailable; link rewrite uses path resolution only: ${err instanceof Error ? err.message : String(err)}`);
121
+ }
122
+ }
123
+ const linksFpFor = (docId) => {
124
+ if (opts.href === false || hrefIndex.byDocId.size === 0)
125
+ return "";
126
+ // Without edges the rewrite resolves by path over the whole index.
127
+ if (!edgesOk)
128
+ return `idx:${hrefFp}`;
129
+ return linksFingerprint(docId, edges, hrefIndex, hrefFp);
130
+ };
131
+ // Unchanged docs whose link targets moved hold an already-rewritten body,
132
+ // so they must be fetched again to be rewritten against the new map.
133
+ if (hrefMoved) {
134
+ const stale = [];
135
+ for (const plan of plans.values()) {
136
+ if (!plan.stored || byId.has(plan.hit.id))
137
+ continue;
138
+ if (linksFpFor(plan.hit.id) !== plan.stored.linksFp) {
139
+ stale.push(plan.hit.id);
140
+ plan.stored = null;
59
141
  }
60
- catch (err) {
61
- logger.warn(`omgbase out-edges unavailable; link rewrite uses path resolution only: ${err instanceof Error ? err.message : String(err)}`);
142
+ }
143
+ if (stale.length > 0) {
144
+ for (const doc of await transport.hydrate({ ids: stale, ...repoArg })) {
145
+ byId.set(doc.id, doc);
146
+ docs.push(doc);
62
147
  }
63
148
  }
64
149
  }
65
- for (const hit of hits) {
66
- const doc = byId.get(hit.id);
150
+ let written = 0;
151
+ for (const plan of plans.values()) {
152
+ const doc = byId.get(plan.hit.id);
67
153
  if (!doc) {
68
- logger.warn(`hydrate missed doc ${hit.id} (${hit.path})`);
154
+ if (plan.stored)
155
+ continue; // reused as-is
156
+ logger.warn(`hydrate missed doc ${plan.hit.id} (${plan.hit.path})`);
157
+ seen.delete(plan.hit.id);
69
158
  continue;
70
159
  }
71
- seen.add(doc.id);
72
160
  const mapped = mapDoc(doc, opts.slug);
73
- mapped.data = mergeHitProjections(mapped.data, hit);
161
+ mapped.data = mergeHitProjections(mapped.data, injected ? stripInjectedHash(plan.hit) : plan.hit);
74
162
  let body = mapped.body;
75
163
  if (opts.href !== false && hrefIndex.byDocId.size > 0) {
76
- const allowed = edges.length
77
- ? allowedDstsFor(doc.id, edges, hrefIndex)
78
- : undefined;
164
+ const allowed = edges.length ? allowedDstsFor(doc.id, edges, hrefIndex) : undefined;
79
165
  // Prefer edge-gated rewrite when we have live out-edges; if this doc has
80
166
  // none into the collection, still allow path resolution into hydrated docs.
81
167
  const gate = allowed && allowed.size > 0 ? allowed : undefined;
@@ -85,8 +171,20 @@ export async function syncEntries(context, transport, opts) {
85
171
  ...(gate ? { allowedDstIds: gate } : {}),
86
172
  });
87
173
  }
88
- const baseDigest = mapped.digest || generateDigest(mapped.body);
89
- const digest = hrefFp ? `${baseDigest}|href:${hrefFp}` : baseDigest;
174
+ const route = routeById.get(doc.id);
175
+ const knownHash = doc.contentHash ?? plan.hash;
176
+ const digest = encodeEntryDigest({
177
+ hash: knownHash ?? `body:${doc.body.length}`,
178
+ path: doc.path,
179
+ slug: route?.slug ?? String(mapped.data.slug ?? ""),
180
+ href: route?.href ?? "",
181
+ hitsFp: plan.hitsFp,
182
+ linksFp: linksFpFor(doc.id),
183
+ // No server hash: fall back to the inputs that used to drive the digest.
184
+ ...(knownHash === null
185
+ ? { fmFp: digestFingerprint(doc.properties.frontmatter ?? {}), rev: doc.rev }
186
+ : {}),
187
+ });
90
188
  const existing = store.get(doc.id);
91
189
  if (existing?.digest === digest)
92
190
  continue;
@@ -99,7 +197,9 @@ export async function syncEntries(context, transport, opts) {
99
197
  if (!seen.has(id))
100
198
  store.delete(id);
101
199
  }
102
- return { seen: seen.size, written };
200
+ if (opts.href !== false)
201
+ meta.set(HREF_FP_META, hrefFp);
202
+ return { seen: seen.size, written, hydrated: docs.length };
103
203
  }
104
204
  /**
105
205
  * After the initial load, keep the collection fresh in `astro dev`.
@@ -127,8 +227,8 @@ export async function startWatch(context, transport, opts) {
127
227
  return;
128
228
  busy = true;
129
229
  try {
130
- const { written } = await syncEntries(context, transport, opts);
131
- logger.info(`omgbase reload (${reason})${written ? `: ${written} entries updated` : ""}`);
230
+ const { written, hydrated } = await syncEntries(context, transport, opts);
231
+ logger.info(`omgbase reload (${reason}): ${hydrated} fetched, ${written} updated`);
132
232
  }
133
233
  catch (err) {
134
234
  logger.error(`omgbase reload failed: ${err instanceof Error ? err.message : String(err)}`);
@@ -174,6 +274,10 @@ export async function startWatch(context, transport, opts) {
174
274
  cursor = String(tip.head);
175
275
  meta.set(CURSOR_META, cursor);
176
276
  }
277
+ // The transport reconnects on a lost session, so a failed poll is a
278
+ // server that is down or restarting. Log the outage once, not every tick;
279
+ // the cursor is a server-side commit seq and stays valid across restarts.
280
+ let unreachable = false;
177
281
  const tick = async () => {
178
282
  if (busy || stopped || !transport.changesSince)
179
283
  return;
@@ -182,6 +286,10 @@ export async function startWatch(context, transport, opts) {
182
286
  cursor: Number(cursor),
183
287
  ...(opts.repo !== undefined ? { repo: opts.repo } : {}),
184
288
  });
289
+ if (unreachable) {
290
+ unreachable = false;
291
+ logger.info("omgbase reachable again; resuming changes_since polling");
292
+ }
185
293
  if (page.digests.length === 0) {
186
294
  if (page.head !== Number(cursor)) {
187
295
  cursor = String(page.head);
@@ -194,7 +302,10 @@ export async function startWatch(context, transport, opts) {
194
302
  await reload(`changes_since → ${cursor}`);
195
303
  }
196
304
  catch (err) {
197
- logger.warn(`omgbase changes_since poll failed: ${err instanceof Error ? err.message : String(err)}`);
305
+ if (unreachable)
306
+ return;
307
+ unreachable = true;
308
+ logger.warn(`omgbase unreachable, retrying every ${intervalMs}ms: ${err instanceof Error ? err.message : String(err)}`);
198
309
  }
199
310
  };
200
311
  const id = setInterval(() => {
package/dist/watch.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"watch.js","sourceRoot":"","sources":["../src/watch.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"watch.js","sourceRoot":"","sources":["../src/watch.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@omgbase/astro",
3
- "version": "0.3.0",
3
+ "version": "0.3.1",
4
4
  "description": "Astro Content Loader and helpers to use omgbase as a CMS",
5
5
  "type": "module",
6
6
  "license": "MIT",
@@ -28,6 +28,7 @@
28
28
  ],
29
29
  "scripts": {
30
30
  "build": "tsc -p tsconfig.json",
31
+ "prepublishOnly": "rm -rf dist && pnpm build && pnpm test",
31
32
  "typecheck": "tsc -p tsconfig.json --noEmit",
32
33
  "test": "vitest run",
33
34
  "lint": "echo 'no lint yet'"