@superbee/core 0.1.4 → 0.1.5

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 (42) hide show
  1. package/dist/document-mutation.d.ts.map +1 -1
  2. package/dist/document-mutation.js +16 -9
  3. package/dist/document-mutation.js.map +1 -1
  4. package/dist/document-write-policy.d.ts +16 -5
  5. package/dist/document-write-policy.d.ts.map +1 -1
  6. package/dist/document-write-policy.js +93 -34
  7. package/dist/document-write-policy.js.map +1 -1
  8. package/dist/errors.d.ts +9 -0
  9. package/dist/errors.d.ts.map +1 -1
  10. package/dist/errors.js +13 -0
  11. package/dist/errors.js.map +1 -1
  12. package/dist/freshness.d.ts +4 -2
  13. package/dist/freshness.d.ts.map +1 -1
  14. package/dist/freshness.js +15 -23
  15. package/dist/freshness.js.map +1 -1
  16. package/dist/index.d.ts +7 -2
  17. package/dist/index.d.ts.map +1 -1
  18. package/dist/index.js +7 -2
  19. package/dist/index.js.map +1 -1
  20. package/dist/kinds.d.ts +1 -1
  21. package/dist/kinds.d.ts.map +1 -1
  22. package/dist/kinds.js +1 -1
  23. package/dist/kinds.js.map +1 -1
  24. package/dist/okf-actor.d.ts +37 -0
  25. package/dist/okf-actor.d.ts.map +1 -0
  26. package/dist/okf-actor.js +87 -0
  27. package/dist/okf-actor.js.map +1 -0
  28. package/dist/okf-timestamps.d.ts +11 -0
  29. package/dist/okf-timestamps.d.ts.map +1 -0
  30. package/dist/okf-timestamps.js +75 -0
  31. package/dist/okf-timestamps.js.map +1 -0
  32. package/dist/types.d.ts +1 -1
  33. package/dist/types.d.ts.map +1 -1
  34. package/dist/verification.d.ts +64 -0
  35. package/dist/verification.d.ts.map +1 -0
  36. package/dist/verification.js +175 -0
  37. package/dist/verification.js.map +1 -0
  38. package/dist/view-admission.d.ts +9 -0
  39. package/dist/view-admission.d.ts.map +1 -0
  40. package/dist/view-admission.js +22 -0
  41. package/dist/view-admission.js.map +1 -0
  42. package/package.json +9 -1
@@ -1 +1 @@
1
- {"version":3,"file":"document-mutation.d.ts","sourceRoot":"","sources":["../src/document-mutation.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAkBhD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,KAAK,EAAE,YAAY,EAA4B,MAAM,YAAY,CAAC;AACzE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,KAAK,EACV,MAAM,EACN,SAAS,EACT,WAAW,EACX,WAAW,EACX,OAAO,EACR,MAAM,YAAY,CAAC;AAIpB,MAAM,MAAM,oBAAoB,GAAG,aAAa,GAAG,WAAW,GAAG,OAAO,CAAC;AAEzE,sFAAsF;AACtF,MAAM,WAAW,yBAAyB;IACxC,WAAW,EAAE,WAAW,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,8FAA8F;AAC9F,MAAM,WAAW,uBAAuB;IACtC,UAAU,EAAE,KAAK,GAAG,KAAK,CAAC;CAC3B;AAED,4FAA4F;AAC5F,qBAAa,oBAAqB,SAAQ,iBAAiB;IACzD,QAAQ,CAAC,EAAE,EAAE,SAAS,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,iBAAiB,EAAE,CAAC;IACzC,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;gBAGlC,EAAE,EAAE,SAAS,EACb,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,iBAAiB,EAAE,EAC/B,UAAU,CAAC,EAAE,KAAK,GAAG,KAAK;CAS7B;AAED,uFAAuF;AACvF,qBAAa,qBAAsB,SAAQ,KAAK;IAC9C,QAAQ,CAAC,EAAE,EAAE,SAAS,CAAC;gBAEX,EAAE,EAAE,SAAS;CAK1B;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,SAAS,CAAC;IACd,IAAI,EAAE,oBAAoB,CAAC;IAC3B,mGAAmG;IACnG,QAAQ,EAAE,YAAY,CAAC;IACvB,8DAA8D;IAC9D,MAAM,EAAE,OAAO,CAAC;IAChB,kDAAkD;IAClD,cAAc,EAAE,CACd,QAAQ,EAAE,WAAW,GAAG,SAAS,EACjC,OAAO,EAAE,uBAAuB,KAC7B,yBAAyB,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAC;IACpE,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;IAC7B,qDAAqD;IACrD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iEAAiE;IACjE,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,8EAA8E;IAC9E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0GAA0G;IAC1G,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,sFAAsF;IACtF,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;;;OAKG;IACH,aAAa,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAC7C,6FAA6F;IAC7F,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,MAAM,WAAW,sBAAsB;IACrC,GAAG,EAAE,WAAW,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,iBAAiB,EAAE,CAAC;CAC/B;AAgLD,wBAAsB,cAAc,CAAC,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAmMjG"}
1
+ {"version":3,"file":"document-mutation.d.ts","sourceRoot":"","sources":["../src/document-mutation.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAkBhD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,4BAA4B,CAAC;AACpE,OAAO,KAAK,EAAE,YAAY,EAA4B,MAAM,YAAY,CAAC;AACzE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAC3D,OAAO,KAAK,EACV,MAAM,EACN,SAAS,EACT,WAAW,EACX,WAAW,EACX,OAAO,EACR,MAAM,YAAY,CAAC;AAIpB,MAAM,MAAM,oBAAoB,GAAG,aAAa,GAAG,WAAW,GAAG,OAAO,CAAC;AAEzE,sFAAsF;AACtF,MAAM,WAAW,yBAAyB;IACxC,WAAW,EAAE,WAAW,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;CACd;AAED,8FAA8F;AAC9F,MAAM,WAAW,uBAAuB;IACtC,UAAU,EAAE,KAAK,GAAG,KAAK,CAAC;CAC3B;AAED,4FAA4F;AAC5F,qBAAa,oBAAqB,SAAQ,iBAAiB;IACzD,QAAQ,CAAC,EAAE,EAAE,SAAS,CAAC;IACvB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,UAAU,EAAE,iBAAiB,EAAE,CAAC;IACzC,QAAQ,CAAC,UAAU,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;gBAGlC,EAAE,EAAE,SAAS,EACb,OAAO,EAAE,MAAM,EACf,UAAU,EAAE,iBAAiB,EAAE,EAC/B,UAAU,CAAC,EAAE,KAAK,GAAG,KAAK;CAS7B;AAED,uFAAuF;AACvF,qBAAa,qBAAsB,SAAQ,KAAK;IAC9C,QAAQ,CAAC,EAAE,EAAE,SAAS,CAAC;gBAEX,EAAE,EAAE,SAAS;CAK1B;AAED,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,EAAE,EAAE,SAAS,CAAC;IACd,IAAI,EAAE,oBAAoB,CAAC;IAC3B,mGAAmG;IACnG,QAAQ,EAAE,YAAY,CAAC;IACvB,8DAA8D;IAC9D,MAAM,EAAE,OAAO,CAAC;IAChB,kDAAkD;IAClD,cAAc,EAAE,CACd,QAAQ,EAAE,WAAW,GAAG,SAAS,EACjC,OAAO,EAAE,uBAAuB,KAC7B,yBAAyB,GAAG,OAAO,CAAC,yBAAyB,CAAC,CAAC;IACpE,+EAA+E;IAC/E,QAAQ,CAAC,EAAE,MAAM,GAAG,QAAQ,CAAC;IAC7B,qDAAqD;IACrD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iEAAiE;IACjE,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,8EAA8E;IAC9E,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,0GAA0G;IAC1G,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,sFAAsF;IACtF,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;;;OAKG;IACH,aAAa,CAAC,EAAE,SAAS,iBAAiB,EAAE,CAAC;IAC7C,6FAA6F;IAC7F,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;IACnB;;;;OAIG;IACH,mBAAmB,CAAC,EAAE,OAAO,CAAC;CAC/B;AAED,MAAM,WAAW,sBAAsB;IACrC,GAAG,EAAE,WAAW,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE,iBAAiB,EAAE,CAAC;CAC/B;AA0LD,wBAAsB,cAAc,CAAC,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CA6NjG"}
@@ -106,6 +106,10 @@ function isNoopMutation(existing, candidate, compareTimestamp, okfVersion, ignor
106
106
  return frontmatter;
107
107
  }
108
108
  const { at: _at, ...generatedRest } = generated;
109
+ if (Object.keys(generatedRest).length === 0) {
110
+ const { generated: _generated, ...withoutGenerated } = frontmatter;
111
+ return withoutGenerated;
112
+ }
109
113
  return { ...frontmatter, generated: generatedRest };
110
114
  };
111
115
  return valuesEqual(withoutGeneratedAt(existingFrontmatter), withoutGeneratedAt(candidateFrontmatter));
@@ -141,7 +145,7 @@ function validateCandidate(id, candidate, registry, strict, okfVersion, now) {
141
145
  }
142
146
  return result;
143
147
  }
144
- function withV02Metadata(candidate, existing, okfVersion, registry, now, seedGenerationClock) {
148
+ function withV02Metadata(candidate, existing, okfVersion, registry, now, seedGenerationClock, actor, compareTimestamp) {
145
149
  if (okfVersion !== "0.2")
146
150
  return candidate;
147
151
  const kind = registry.kinds.get(String(candidate.frontmatter.type));
@@ -149,6 +153,10 @@ function withV02Metadata(candidate, existing, okfVersion, registry, now, seedGen
149
153
  existing,
150
154
  candidate,
151
155
  meaningfulChangeAt: now(),
156
+ actor,
157
+ kindRequiresActor: kind?.fields.required.includes("actor") ?? false,
158
+ compareTimestamp,
159
+ allowGeneratedProvenanceSeed: seedGenerationClock,
152
160
  // Every v0.2 create gets one standard clock unless a usable time already exists (an explicit
153
161
  // legacy `timestamp`, a declared `generated.at`) or its kind requires `timestamp` (that one
154
162
  // clock is defaulted instead). Ungoverned types are the point: accumulation evidence for
@@ -201,8 +209,8 @@ export async function mutateDocument(opts) {
201
209
  + "(use mode 'patch' with onAbsent: 'create')");
202
210
  }
203
211
  const decisionNow = onceNow(now);
204
- const attributed = attributeCandidate(await opts.buildCandidate(undefined, context), opts.actor, persistActor, okfVersion, opts.registry);
205
- const candidate = withV02Metadata(attributed, undefined, okfVersion, opts.registry, decisionNow, seedClock);
212
+ const withMetadata = withV02Metadata(await opts.buildCandidate(undefined, context), undefined, okfVersion, opts.registry, decisionNow, seedClock, opts.actor, compareTimestamp);
213
+ const candidate = attributeCandidate(withMetadata, opts.actor, persistActor, okfVersion, opts.registry);
206
214
  const { warnings } = validateCandidate(opts.id, candidate, opts.registry, opts.strict, okfVersion, decisionNow);
207
215
  const { doc, version } = await writeDocVersionedForEdition(opts.bundle, { id: opts.id, ...candidate }, okfVersion, {
208
216
  expectedVersion: null,
@@ -237,8 +245,8 @@ export async function mutateDocument(opts) {
237
245
  decide: async (existing) => {
238
246
  const decisionNow = onceNow(now);
239
247
  assertFieldPreconditions(opts.id, existing?.frontmatter, opts.preconditions, lastReadVersion);
240
- const attributed = attributeCandidate(await opts.buildCandidate(existing, context), opts.actor, persistActor, okfVersion, opts.registry);
241
- const candidate = withV02Metadata(attributed, existing, okfVersion, opts.registry, decisionNow, seedClock);
248
+ const withMetadata = withV02Metadata(await opts.buildCandidate(existing, context), existing, okfVersion, opts.registry, decisionNow, seedClock, opts.actor, compareTimestamp);
249
+ const candidate = attributeCandidate(withMetadata, opts.actor, persistActor, okfVersion, opts.registry);
242
250
  const validated = validateCandidate(opts.id, candidate, opts.registry, opts.strict, okfVersion, decisionNow);
243
251
  warnings = validated.warnings;
244
252
  // Monotone conformance ratchet (probe: tasks/overwrite-ratchet-survey, productionized
@@ -293,12 +301,11 @@ export async function mutateDocument(opts) {
293
301
  throw new VersionConflict(opts.id, opts.expectedVersion, lastReadVersion);
294
302
  }
295
303
  const rawCandidate = await opts.buildCandidate(existing, context);
296
- const candidateForComparison = withV02Metadata(rawCandidate, existing, okfVersion, opts.registry, decisionNow, seedClock);
297
- if (existing && isNoopMutation(existing, candidateForComparison, compareTimestamp, okfVersion)) {
304
+ const candidateForComparison = withV02Metadata(rawCandidate, existing, okfVersion, opts.registry, decisionNow, seedClock, opts.actor, compareTimestamp);
305
+ if (existing && isNoopMutation(existing, candidateForComparison, compareTimestamp, okfVersion, okfVersion === "0.2" && persistActor && opts.actor !== undefined, opts.registry.kinds.get(String(candidateForComparison.frontmatter.type))?.fields.required.includes("actor") ?? false)) {
298
306
  return { action: "done", result: { doc: existing, warnings: [] } };
299
307
  }
300
- const attributed = attributeCandidate(rawCandidate, opts.actor, persistActor, okfVersion, opts.registry);
301
- const candidate = withV02Metadata(attributed, existing, okfVersion, opts.registry, decisionNow, seedClock);
308
+ const candidate = attributeCandidate(candidateForComparison, opts.actor, persistActor, okfVersion, opts.registry);
302
309
  const { warnings } = validateCandidate(opts.id, candidate, opts.registry, opts.strict, okfVersion, decisionNow);
303
310
  return { action: "write", next: { id: opts.id, ...candidate }, result: { warnings } };
304
311
  },
@@ -1 +1 @@
1
- {"version":3,"file":"document-mutation.js","sourceRoot":"","sources":["../src/document-mutation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"document-mutation.js","sourceRoot":"","sources":["../src/document-mutation.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,6 @@
1
1
  /** Pure document-shape policies applied before a normalized document reaches storage. */
2
2
  import type { Frontmatter, OkfDocument } from "./types.js";
3
- /** OKF v0.2 actor spellings: human/process identities or a producer/version pair. */
4
- export declare function isOkfActor(value: unknown): value is string;
3
+ export { isOkfActor } from "./okf-actor.js";
5
4
  /**
6
5
  * Normalize one document according to Superbee's OKF v0.1 write contract.
7
6
  * The caller supplies one evaluated preserve-or-fallback timestamp decision, keeping this policy
@@ -20,7 +19,10 @@ export declare function normalizeV01DocumentForWrite(doc: OkfDocument, validated
20
19
  */
21
20
  export declare function normalizeV02DocumentForWrite(doc: OkfDocument, validatedType: string): OkfDocument;
22
21
  /** Whether content/provenance changed, excluding verification history and the generation clock. */
23
- export declare function v02MeaningfulContentChanged(existing: Pick<OkfDocument, "frontmatter" | "body">, candidate: Pick<OkfDocument, "frontmatter" | "body">): boolean;
22
+ export declare function v02MeaningfulContentChanged(existing: Pick<OkfDocument, "frontmatter" | "body">, candidate: Pick<OkfDocument, "frontmatter" | "body">, options?: {
23
+ kindRequiresActor?: boolean;
24
+ compareTimestamp?: boolean;
25
+ }): boolean;
24
26
  export interface V02MutationMetadataOptions {
25
27
  existing?: Pick<OkfDocument, "frontmatter" | "body">;
26
28
  candidate: {
@@ -28,12 +30,21 @@ export interface V02MutationMetadataOptions {
28
30
  body: string;
29
31
  };
30
32
  meaningfulChangeAt: string;
33
+ /** Resolved mutation actor. When present, v0.2 requires the OKF actor convention. */
34
+ actor?: string;
35
+ /** Whether the governing Kind uses legacy `actor` as an automatic attribution projection. */
36
+ kindRequiresActor?: boolean;
37
+ /** Compare explicit legacy timestamp spellings by instant, matching mutation no-op policy. */
38
+ compareTimestamp?: boolean;
39
+ /** Allow an absent generated block to be seeded for a create or meaningful content update. */
40
+ allowGeneratedProvenanceSeed?: boolean;
31
41
  /** Seed standard generation metadata when a newly created governed document needs a clock. */
32
42
  requireGenerationClock?: boolean;
33
43
  }
34
44
  /**
35
- * Apply the v0.2 mutation clock without conflating storage attribution with provenance.
36
- * `generated` is optional; when present its producer is preserved unless explicitly replaced.
45
+ * Apply v0.2 content provenance without conflating it with storage attribution.
46
+ * `generated` is optional. When present, a create or meaningful content change records the
47
+ * resolved mutation actor; an unattributed engine mutation records `process:superbee`.
37
48
  */
38
49
  export declare function applyV02MutationMetadata(opts: V02MutationMetadataOptions): {
39
50
  frontmatter: Frontmatter;
@@ -1 +1 @@
1
- {"version":3,"file":"document-write-policy.d.ts","sourceRoot":"","sources":["../src/document-write-policy.ts"],"names":[],"mappings":"AAAA,yFAAyF;AAGzF,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAY3D,qFAAqF;AACrF,wBAAgB,UAAU,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAM1D;AAED;;;;GAIG;AACH,wBAAgB,4BAA4B,CAC1C,GAAG,EAAE,WAAW,EAChB,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE;IAAE,gBAAgB,EAAE,IAAI,CAAC;IAAC,iBAAiB,EAAE,MAAM,CAAA;CAAE,GAC5D;IAAE,gBAAgB,EAAE,KAAK,CAAC;IAAC,iBAAiB,EAAE,MAAM,CAAA;CAAE,GACzD,WAAW,CASb;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,GAAG,WAAW,CAGjG;AAmCD,mGAAmG;AACnG,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,IAAI,CAAC,WAAW,EAAE,aAAa,GAAG,MAAM,CAAC,EACnD,SAAS,EAAE,IAAI,CAAC,WAAW,EAAE,aAAa,GAAG,MAAM,CAAC,GACnD,OAAO,CAOT;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,aAAa,GAAG,MAAM,CAAC,CAAC;IACrD,SAAS,EAAE;QAAE,WAAW,EAAE,WAAW,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACtD,kBAAkB,EAAE,MAAM,CAAC;IAC3B,8FAA8F;IAC9F,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC;AAED;;;GAGG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,0BAA0B,GAAG;IAC1E,WAAW,EAAE,WAAW,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;CACd,CAoDA"}
1
+ {"version":3,"file":"document-write-policy.d.ts","sourceRoot":"","sources":["../src/document-write-policy.ts"],"names":[],"mappings":"AAAA,yFAAyF;AAOzF,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAY3D,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AAE5C;;;;GAIG;AACH,wBAAgB,4BAA4B,CAC1C,GAAG,EAAE,WAAW,EAChB,aAAa,EAAE,MAAM,EACrB,SAAS,EAAE;IAAE,gBAAgB,EAAE,IAAI,CAAC;IAAC,iBAAiB,EAAE,MAAM,CAAA;CAAE,GAC5D;IAAE,gBAAgB,EAAE,KAAK,CAAC;IAAC,iBAAiB,EAAE,MAAM,CAAA;CAAE,GACzD,WAAW,CASb;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,CAAC,GAAG,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,GAAG,WAAW,CAGjG;AA8CD,mGAAmG;AACnG,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,IAAI,CAAC,WAAW,EAAE,aAAa,GAAG,MAAM,CAAC,EACnD,SAAS,EAAE,IAAI,CAAC,WAAW,EAAE,aAAa,GAAG,MAAM,CAAC,EACpD,OAAO,GAAE;IAAE,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAAC,gBAAgB,CAAC,EAAE,OAAO,CAAA;CAAO,GACxE,OAAO,CAkBT;AAED,MAAM,WAAW,0BAA0B;IACzC,QAAQ,CAAC,EAAE,IAAI,CAAC,WAAW,EAAE,aAAa,GAAG,MAAM,CAAC,CAAC;IACrD,SAAS,EAAE;QAAE,WAAW,EAAE,WAAW,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACtD,kBAAkB,EAAE,MAAM,CAAC;IAC3B,qFAAqF;IACrF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,6FAA6F;IAC7F,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,8FAA8F;IAC9F,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,8FAA8F;IAC9F,4BAA4B,CAAC,EAAE,OAAO,CAAC;IACvC,8FAA8F;IAC9F,sBAAsB,CAAC,EAAE,OAAO,CAAC;CAClC;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,IAAI,EAAE,0BAA0B,GAAG;IAC1E,WAAW,EAAE,WAAW,CAAC;IACzB,IAAI,EAAE,MAAM,CAAC;CACd,CA4GA"}
@@ -1,20 +1,16 @@
1
1
  /** Pure document-shape policies applied before a normalized document reaches storage. */
2
- import { InvalidInputError } from "./errors.js";
2
+ import { InvalidInputError, OkfActorError } from "./errors.js";
3
+ import { assertAuthoredOkfTimestamps } from "./okf-timestamps.js";
4
+ import { isOkfActor } from "./okf-actor.js";
5
+ import { normalizeDocumentBodyForStorage } from "./frontmatter.js";
6
+ import { SUPERBEE_UPDATED_BY_FIELD } from "./mutation-attribution.js";
3
7
  function isRecord(value) {
4
8
  return value !== null && typeof value === "object" && !Array.isArray(value);
5
9
  }
6
10
  function hasOwn(record, key) {
7
11
  return Object.prototype.hasOwnProperty.call(record, key);
8
12
  }
9
- /** OKF v0.2 actor spellings: human/process identities or a producer/version pair. */
10
- export function isOkfActor(value) {
11
- if (typeof value !== "string" || value.trim() !== value || value.length === 0 || /\s/.test(value)) {
12
- return false;
13
- }
14
- if (/^(?:human|process):[^\s:]+$/.test(value))
15
- return true;
16
- return /^[^\s/:]+\/[^\s/]+$/.test(value);
17
- }
13
+ export { isOkfActor } from "./okf-actor.js";
18
14
  /**
19
15
  * Normalize one document according to Superbee's OKF v0.1 write contract.
20
16
  * The caller supplies one evaluated preserve-or-fallback timestamp decision, keeping this policy
@@ -46,7 +42,7 @@ function generatedRecord(value, label) {
46
42
  return value;
47
43
  }
48
44
  function sameValue(a, b) {
49
- if (a === b)
45
+ if (a === b || Object.is(a, b))
50
46
  return true;
51
47
  if (Array.isArray(a) || Array.isArray(b)) {
52
48
  return Array.isArray(a) && Array.isArray(b)
@@ -60,34 +56,55 @@ function sameValue(a, b) {
60
56
  }
61
57
  return false;
62
58
  }
63
- function withoutV02GenerationClock(frontmatter) {
59
+ function withoutV02AutomaticMetadata(frontmatter, kindRequiresActor, compareTimestamp) {
64
60
  const copy = { ...frontmatter };
61
+ delete copy[SUPERBEE_UPDATED_BY_FIELD];
62
+ if (kindRequiresActor)
63
+ delete copy.actor;
64
+ if (compareTimestamp && typeof copy.timestamp === "string") {
65
+ const instant = Date.parse(copy.timestamp);
66
+ if (!Number.isNaN(instant))
67
+ copy.timestamp = new Date(instant).toISOString();
68
+ }
65
69
  const generated = copy.generated;
66
70
  if (isRecord(generated)) {
67
71
  const { at: _at, ...rest } = generated;
68
- copy.generated = rest;
72
+ if (Object.keys(rest).length === 0)
73
+ delete copy.generated;
74
+ else
75
+ copy.generated = rest;
69
76
  }
70
77
  return copy;
71
78
  }
72
79
  /** Whether content/provenance changed, excluding verification history and the generation clock. */
73
- export function v02MeaningfulContentChanged(existing, candidate) {
74
- if (existing.body !== candidate.body)
80
+ export function v02MeaningfulContentChanged(existing, candidate, options = {}) {
81
+ if (normalizeDocumentBodyForStorage(existing.body)
82
+ !== normalizeDocumentBodyForStorage(candidate.body))
75
83
  return true;
76
- const existingFrontmatter = withoutV02GenerationClock(existing.frontmatter);
77
- const candidateFrontmatter = withoutV02GenerationClock(candidate.frontmatter);
84
+ const existingFrontmatter = withoutV02AutomaticMetadata(existing.frontmatter, options.kindRequiresActor ?? false, options.compareTimestamp ?? false);
85
+ const candidateFrontmatter = withoutV02AutomaticMetadata(candidate.frontmatter, options.kindRequiresActor ?? false, options.compareTimestamp ?? false);
78
86
  delete existingFrontmatter.verified;
79
87
  delete candidateFrontmatter.verified;
80
88
  return !sameValue(existingFrontmatter, candidateFrontmatter);
81
89
  }
82
90
  /**
83
- * Apply the v0.2 mutation clock without conflating storage attribution with provenance.
84
- * `generated` is optional; when present its producer is preserved unless explicitly replaced.
91
+ * Apply v0.2 content provenance without conflating it with storage attribution.
92
+ * `generated` is optional. When present, a create or meaningful content change records the
93
+ * resolved mutation actor; an unattributed engine mutation records `process:superbee`.
85
94
  */
86
95
  export function applyV02MutationMetadata(opts) {
96
+ if (opts.actor !== undefined && !isOkfActor(opts.actor)) {
97
+ throw new OkfActorError(opts.actor, `OKF v0.2 mutation actor '${opts.actor}' must be human:<id>, process:<id>, or <producer>/<version>`);
98
+ }
99
+ // Validate the declared values before clock replacement or no-op handling can hide bad input.
100
+ assertAuthoredOkfTimestamps(opts.candidate.frontmatter, opts.existing?.frontmatter);
87
101
  const existingGenerated = generatedRecord(opts.existing?.frontmatter.generated, "existing generated");
88
102
  const declaredCandidateGenerated = generatedRecord(opts.candidate.frontmatter.generated, "generated");
89
- const candidateGenerated = !opts.existing && opts.requireGenerationClock && !declaredCandidateGenerated
90
- ? { by: "process:superbee" }
103
+ let candidateGenerated = !opts.existing
104
+ && opts.allowGeneratedProvenanceSeed !== false
105
+ && (opts.requireGenerationClock || opts.actor !== undefined)
106
+ && !declaredCandidateGenerated
107
+ ? { by: opts.actor ?? "process:superbee" }
91
108
  : declaredCandidateGenerated;
92
109
  const frontmatter = candidateGenerated === declaredCandidateGenerated
93
110
  ? { ...opts.candidate.frontmatter }
@@ -97,35 +114,77 @@ export function applyV02MutationMetadata(opts) {
97
114
  && hasOwn(opts.existing.frontmatter, "verified")) {
98
115
  frontmatter.verified = opts.existing.frontmatter.verified;
99
116
  }
100
- if (!existingGenerated && !candidateGenerated)
101
- return { ...opts.candidate, frontmatter };
102
117
  const candidateHasBy = candidateGenerated ? hasOwn(candidateGenerated, "by") : false;
103
118
  const existingBy = existingGenerated?.by;
104
119
  const candidateBy = candidateGenerated?.by;
105
120
  if (candidateHasBy && candidateBy !== existingBy && !isOkfActor(candidateBy)) {
106
121
  throw new InvalidInputError("OKF v0.2 generated.by must be human:<id>, process:<id>, or <producer>/<version>");
107
122
  }
108
- const resolvedBy = candidateHasBy ? candidateBy : existingBy;
123
+ // Compare with the caller's declared/inherited provenance before applying automatic actor
124
+ // metadata. Otherwise an actor-only change would manufacture the "meaningful change" needed to
125
+ // justify itself. A genuinely explicit generated.by edit still counts as meaningful.
126
+ const comparisonBy = candidateHasBy ? candidateBy : existingBy;
127
+ const comparisonGenerated = {
128
+ ...existingGenerated,
129
+ ...candidateGenerated,
130
+ ...(comparisonBy === undefined ? {} : { by: comparisonBy }),
131
+ };
132
+ const meaningfulChange = opts.existing === undefined || v02MeaningfulContentChanged(opts.existing, {
133
+ ...opts.candidate,
134
+ frontmatter: existingGenerated || candidateGenerated
135
+ ? { ...frontmatter, generated: comparisonGenerated }
136
+ : frontmatter,
137
+ }, {
138
+ kindRequiresActor: opts.kindRequiresActor,
139
+ compareTimestamp: opts.compareTimestamp,
140
+ });
141
+ if (!meaningfulChange
142
+ && !existingGenerated
143
+ && candidateGenerated
144
+ && Object.keys(candidateGenerated).every((key) => key === "at")) {
145
+ const { generated: _generated, ...withoutGenerated } = frontmatter;
146
+ return { ...opts.candidate, frontmatter: withoutGenerated };
147
+ }
148
+ if (!existingGenerated && !candidateGenerated) {
149
+ if (opts.existing === undefined
150
+ || !meaningfulChange
151
+ || opts.allowGeneratedProvenanceSeed === false)
152
+ return { ...opts.candidate, frontmatter };
153
+ candidateGenerated = {};
154
+ }
155
+ const preserveDeclaredSourceBy = opts.existing === undefined
156
+ && opts.allowGeneratedProvenanceSeed === false
157
+ && candidateHasBy;
158
+ const resolvedBy = meaningfulChange
159
+ ? preserveDeclaredSourceBy ? candidateBy : opts.actor ?? "process:superbee"
160
+ : comparisonBy;
109
161
  if (typeof resolvedBy !== "string" || resolvedBy.trim() === "") {
110
162
  throw new InvalidInputError("OKF v0.2 generated.by is required when generated is present");
111
163
  }
112
164
  const generated = { ...existingGenerated, ...candidateGenerated, by: resolvedBy };
165
+ let clockAuthored = false;
113
166
  if (!opts.existing) {
114
- if (generated.at === undefined)
115
- generated.at = opts.meaningfulChangeAt;
116
- else if (typeof generated.at !== "string" || Number.isNaN(Date.parse(generated.at))) {
117
- throw new InvalidInputError("OKF v0.2 generated.at must be an ISO-8601 date/time when present");
167
+ if (generated.at === undefined) {
168
+ if (opts.requireGenerationClock
169
+ || (declaredCandidateGenerated !== undefined && opts.allowGeneratedProvenanceSeed !== false)) {
170
+ generated.at = opts.meaningfulChangeAt;
171
+ clockAuthored = true;
172
+ }
118
173
  }
119
174
  }
120
- else if (v02MeaningfulContentChanged(opts.existing, {
121
- ...opts.candidate,
122
- frontmatter: { ...frontmatter, generated },
123
- })) {
175
+ else if (meaningfulChange) {
124
176
  generated.at = opts.meaningfulChangeAt;
177
+ clockAuthored = true;
125
178
  }
126
- else if (existingGenerated && hasOwn(existingGenerated, "at")) {
127
- generated.at = existingGenerated.at;
179
+ else if (existingGenerated) {
180
+ if (hasOwn(existingGenerated, "at"))
181
+ generated.at = existingGenerated.at;
182
+ else
183
+ delete generated.at;
128
184
  }
185
+ // A newly produced clock is authored even when it repeats an invalid imported spelling.
186
+ if (clockAuthored)
187
+ assertAuthoredOkfTimestamps({ generated });
129
188
  return {
130
189
  ...opts.candidate,
131
190
  frontmatter: { ...frontmatter, generated },
@@ -1 +1 @@
1
- {"version":3,"file":"document-write-policy.js","sourceRoot":"","sources":["../src/document-write-policy.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"document-write-policy.js","sourceRoot":"","sources":["../src/document-write-policy.ts"],"names":[],"mappings":"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"}
package/dist/errors.d.ts CHANGED
@@ -11,6 +11,15 @@
11
11
  export declare class InvalidInputError extends Error {
12
12
  constructor(message: string);
13
13
  }
14
+ /**
15
+ * An actor identity that does not follow the OKF actor convention (SPEC 7). A subclass of
16
+ * {@link InvalidInputError} so every existing USAGE mapping still applies; it additionally carries
17
+ * the rejected spelling so a presenting boundary can offer the corrected one.
18
+ */
19
+ export declare class OkfActorError extends InvalidInputError {
20
+ readonly actor: string;
21
+ constructor(actor: string, message: string);
22
+ }
14
23
  /**
15
24
  * The requested bundle-relative path resolves, on a case- or normalization-insensitive
16
25
  * filesystem, to a directory entry spelled differently at `segment`. Every operation refuses it
@@ -1 +1 @@
1
- {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,qBAAa,iBAAkB,SAAQ,KAAK;gBAC9B,OAAO,EAAE,MAAM;CAI5B;AAED;;;;GAIG;AACH,qBAAa,4BAA6B,SAAQ,iBAAiB;IACjE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;gBAEb,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CASzC;AAED;;;;;GAKG;AACH,qBAAa,0BAA2B,SAAQ,KAAK;IACnD,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,yGAAyG;IACzG,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;gBAElB,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,SAAI;CAM5D"}
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,qBAAa,iBAAkB,SAAQ,KAAK;gBAC9B,OAAO,EAAE,MAAM;CAI5B;AAED;;;;GAIG;AACH,qBAAa,aAAc,SAAQ,iBAAiB;IAClD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;gBACX,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CAK3C;AAED;;;;GAIG;AACH,qBAAa,4BAA6B,SAAQ,iBAAiB;IACjE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;gBAEb,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;CASzC;AAED;;;;;GAKG;AACH,qBAAa,0BAA2B,SAAQ,KAAK;IACnD,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,yGAAyG;IACzG,QAAQ,CAAC,YAAY,EAAE,MAAM,CAAC;gBAElB,GAAG,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,YAAY,SAAI;CAM5D"}
package/dist/errors.js CHANGED
@@ -14,6 +14,19 @@ export class InvalidInputError extends Error {
14
14
  this.name = "InvalidInputError";
15
15
  }
16
16
  }
17
+ /**
18
+ * An actor identity that does not follow the OKF actor convention (SPEC 7). A subclass of
19
+ * {@link InvalidInputError} so every existing USAGE mapping still applies; it additionally carries
20
+ * the rejected spelling so a presenting boundary can offer the corrected one.
21
+ */
22
+ export class OkfActorError extends InvalidInputError {
23
+ actor;
24
+ constructor(actor, message) {
25
+ super(message);
26
+ this.name = "OkfActorError";
27
+ this.actor = actor;
28
+ }
29
+ }
17
30
  /**
18
31
  * The requested bundle-relative path resolves, on a case- or normalization-insensitive
19
32
  * filesystem, to a directory entry spelled differently at `segment`. Every operation refuses it
@@ -1 +1 @@
1
- {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IAC1C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;IAClC,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,OAAO,4BAA6B,SAAQ,iBAAiB;IACxD,GAAG,CAAS;IACZ,OAAO,CAAS;IAEzB,YAAY,GAAW,EAAE,OAAe;QACtC,KAAK,CACH,SAAS,GAAG,iFAAiF;YAC3F,IAAI,OAAO,iFAAiF,CAC/F,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,8BAA8B,CAAC;QAC3C,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,OAAO,0BAA2B,SAAQ,KAAK;IAC1C,GAAG,CAAS;IACrB,yGAAyG;IAChG,YAAY,CAAS;IAE9B,YAAY,GAAW,EAAE,QAAgB,EAAE,YAAY,GAAG,CAAC;QACzD,KAAK,CAAC,SAAS,GAAG,mDAAmD,QAAQ,gCAAgC,CAAC,CAAC;QAC/G,IAAI,CAAC,IAAI,GAAG,4BAA4B,CAAC;QACzC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;CACF"}
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../src/errors.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,OAAO,iBAAkB,SAAQ,KAAK;IAC1C,YAAY,OAAe;QACzB,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,mBAAmB,CAAC;IAClC,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,OAAO,aAAc,SAAQ,iBAAiB;IACzC,KAAK,CAAS;IACvB,YAAY,KAAa,EAAE,OAAe;QACxC,KAAK,CAAC,OAAO,CAAC,CAAC;QACf,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;QAC5B,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;IACrB,CAAC;CACF;AAED;;;;GAIG;AACH,MAAM,OAAO,4BAA6B,SAAQ,iBAAiB;IACxD,GAAG,CAAS;IACZ,OAAO,CAAS;IAEzB,YAAY,GAAW,EAAE,OAAe;QACtC,KAAK,CACH,SAAS,GAAG,iFAAiF;YAC3F,IAAI,OAAO,iFAAiF,CAC/F,CAAC;QACF,IAAI,CAAC,IAAI,GAAG,8BAA8B,CAAC;QAC3C,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;IACzB,CAAC;CACF;AAED;;;;;GAKG;AACH,MAAM,OAAO,0BAA2B,SAAQ,KAAK;IAC1C,GAAG,CAAS;IACrB,yGAAyG;IAChG,YAAY,CAAS;IAE9B,YAAY,GAAW,EAAE,QAAgB,EAAE,YAAY,GAAG,CAAC;QACzD,KAAK,CAAC,SAAS,GAAG,mDAAmD,QAAQ,gCAAgC,CAAC,CAAC;QAC/G,IAAI,CAAC,IAAI,GAAG,4BAA4B,CAAC;QACzC,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;IACnC,CAAC;CACF"}
@@ -1,18 +1,20 @@
1
1
  /**
2
2
  * Freshness derivation from the document's edition-neutral meaningful-change clock.
3
3
  *
4
- * OKF v0.2's `stale_after` supplies an absolute date; v0.1 `timestamp` and v0.2
4
+ * OKF v0.2's `stale_after` supplies an absolute instant; v0.1 `timestamp` and v0.2
5
5
  * `generated.at` supply the instant of the last meaningful change. The remaining
6
6
  * staleness rules are consumer judgments layered on top:
7
7
  * - `empty` — no usable meaningful-change time is present.
8
8
  * - `stale` — a declared dependency was written more recently than this concept,
9
9
  * OR the concept's age exceeds `maxAgeMs`.
10
10
  * - `fresh` — otherwise.
11
- * The v0.2 absolute date takes precedence, then dependency-newer, then the age rule.
11
+ * The v0.2 absolute instant takes precedence, then dependency-newer, then the age rule.
12
12
  *
13
13
  * Pure and dependency-free, hence directly unit-testable.
14
14
  */
15
15
  import type { FreshnessOptions, FreshnessResult, OkfDocument } from "./types.js";
16
+ /** A deadline must name an explicit instant; rounding up avoids expiring sub-ms instants early. */
17
+ export declare function staleAfterInstant(value: unknown): number | null;
16
18
  /**
17
19
  * Parse a timestamp to epoch ms, or `null`. Accepts an ISO-8601 (or any
18
20
  * `Date.parse`-able) STRING — the normal case, since {@link parseMarkdown}
@@ -1 +1 @@
1
- {"version":3,"file":"freshness.d.ts","sourceRoot":"","sources":["../src/freshness.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAGjF;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAWzD;AAmBD;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,WAAW,EAAE,OAAO,GAAE,gBAAqB,GAAG,eAAe,CA0C3F"}
1
+ {"version":3,"file":"freshness.d.ts","sourceRoot":"","sources":["../src/freshness.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAEH,OAAO,KAAK,EAAE,gBAAgB,EAAE,eAAe,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAIjF,mGAAmG;AACnG,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAE/D;AAED;;;;;GAKG;AACH,wBAAgB,cAAc,CAAC,EAAE,EAAE,OAAO,GAAG,MAAM,GAAG,IAAI,CAWzD;AAED;;;;;;GAMG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,WAAW,EAAE,OAAO,GAAE,gBAAqB,GAAG,eAAe,CA6C3F"}
package/dist/freshness.js CHANGED
@@ -1,18 +1,23 @@
1
1
  /**
2
2
  * Freshness derivation from the document's edition-neutral meaningful-change clock.
3
3
  *
4
- * OKF v0.2's `stale_after` supplies an absolute date; v0.1 `timestamp` and v0.2
4
+ * OKF v0.2's `stale_after` supplies an absolute instant; v0.1 `timestamp` and v0.2
5
5
  * `generated.at` supply the instant of the last meaningful change. The remaining
6
6
  * staleness rules are consumer judgments layered on top:
7
7
  * - `empty` — no usable meaningful-change time is present.
8
8
  * - `stale` — a declared dependency was written more recently than this concept,
9
9
  * OR the concept's age exceeds `maxAgeMs`.
10
10
  * - `fresh` — otherwise.
11
- * The v0.2 absolute date takes precedence, then dependency-newer, then the age rule.
11
+ * The v0.2 absolute instant takes precedence, then dependency-newer, then the age rule.
12
12
  *
13
13
  * Pure and dependency-free, hence directly unit-testable.
14
14
  */
15
15
  import { meaningfulChangeTimeValue } from "./meaningful-change-time.js";
16
+ import { parseIsoInstant } from "./verification.js";
17
+ /** A deadline must name an explicit instant; rounding up avoids expiring sub-ms instants early. */
18
+ export function staleAfterInstant(value) {
19
+ return typeof value === "string" ? parseIsoInstant(value, "ceil") : null;
20
+ }
16
21
  /**
17
22
  * Parse a timestamp to epoch ms, or `null`. Accepts an ISO-8601 (or any
18
23
  * `Date.parse`-able) STRING — the normal case, since {@link parseMarkdown}
@@ -32,22 +37,6 @@ export function parseTimestamp(ts) {
32
37
  const ms = Date.parse(ts);
33
38
  return Number.isNaN(ms) ? null : ms;
34
39
  }
35
- /** Parse a strict ISO date without allowing Date.parse to normalize impossible calendar dates. */
36
- function dateOnly(value) {
37
- if (typeof value !== "string" || !/^\d{4}-\d{2}-\d{2}$/.test(value))
38
- return null;
39
- const parsed = new Date(`${value}T00:00:00Z`);
40
- return !Number.isNaN(parsed.getTime()) && parsed.toISOString().slice(0, 10) === value
41
- ? value
42
- : null;
43
- }
44
- /** The caller's local calendar day; OKF deliberately defines `today` without a UTC override. */
45
- function localDateOnly(value) {
46
- const year = String(value.getFullYear()).padStart(4, "0");
47
- const month = String(value.getMonth() + 1).padStart(2, "0");
48
- const day = String(value.getDate()).padStart(2, "0");
49
- return `${year}-${month}-${day}`;
50
- }
51
40
  /**
52
41
  * Derive a freshness verdict from `generated.at`, falling back to legacy `timestamp`.
53
42
  *
@@ -56,17 +45,20 @@ function localDateOnly(value) {
56
45
  * the ISO timestamps of upstream `dependsOn` artifacts.
57
46
  */
58
47
  export function freshness(doc, options = {}) {
59
- const tsMs = parseTimestamp(meaningfulChangeTimeValue(doc.frontmatter));
48
+ const parseClock = options.okfVersion === "0.2"
49
+ ? (value) => typeof value === "string" ? parseIsoInstant(value) : null
50
+ : parseTimestamp;
51
+ const tsMs = parseClock(meaningfulChangeTimeValue(doc.frontmatter));
60
52
  const now = options.now ?? new Date();
61
53
  const ageMs = tsMs === null ? undefined : now.getTime() - tsMs;
62
54
  const staleAfter = options.okfVersion === "0.2"
63
- ? dateOnly(doc.frontmatter.stale_after)
55
+ ? staleAfterInstant(doc.frontmatter.stale_after)
64
56
  : null;
65
- if (staleAfter !== null && localDateOnly(now) >= staleAfter) {
57
+ if (staleAfter !== null && now.getTime() >= staleAfter) {
66
58
  return {
67
59
  verdict: "stale",
68
60
  ...(ageMs === undefined ? {} : { ageMs }),
69
- reason: `today is on or after stale_after ${staleAfter}`,
61
+ reason: `now is on or after stale_after ${doc.frontmatter.stale_after}`,
70
62
  };
71
63
  }
72
64
  if (tsMs === null) {
@@ -76,7 +68,7 @@ export function freshness(doc, options = {}) {
76
68
  // Dependency-based staleness wins: any dependency newer than this concept.
77
69
  if (options.dependsOn && options.dependsOn.length > 0) {
78
70
  for (const dep of options.dependsOn) {
79
- const depMs = parseTimestamp(dep);
71
+ const depMs = parseClock(dep);
80
72
  if (depMs !== null && depMs > tsMs) {
81
73
  return {
82
74
  verdict: "stale",
@@ -1 +1 @@
1
- {"version":3,"file":"freshness.js","sourceRoot":"","sources":["../src/freshness.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"freshness.js","sourceRoot":"","sources":["../src/freshness.ts"],"names":[],"mappings":"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"}