@superbee/core 0.1.4 → 0.1.6

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 (58) hide show
  1. package/dist/document-mutation.d.ts +5 -1
  2. package/dist/document-mutation.d.ts.map +1 -1
  3. package/dist/document-mutation.js +28 -34
  4. package/dist/document-mutation.js.map +1 -1
  5. package/dist/document-write-policy.d.ts +19 -5
  6. package/dist/document-write-policy.d.ts.map +1 -1
  7. package/dist/document-write-policy.js +116 -66
  8. package/dist/document-write-policy.js.map +1 -1
  9. package/dist/errors.d.ts +9 -0
  10. package/dist/errors.d.ts.map +1 -1
  11. package/dist/errors.js +13 -0
  12. package/dist/errors.js.map +1 -1
  13. package/dist/freshness.d.ts +4 -2
  14. package/dist/freshness.d.ts.map +1 -1
  15. package/dist/freshness.js +15 -23
  16. package/dist/freshness.js.map +1 -1
  17. package/dist/index.d.ts +8 -2
  18. package/dist/index.d.ts.map +1 -1
  19. package/dist/index.js +8 -2
  20. package/dist/index.js.map +1 -1
  21. package/dist/kinds-load.d.ts.map +1 -1
  22. package/dist/kinds-load.js +11 -3
  23. package/dist/kinds-load.js.map +1 -1
  24. package/dist/kinds.d.ts +7 -3
  25. package/dist/kinds.d.ts.map +1 -1
  26. package/dist/kinds.js +13 -4
  27. package/dist/kinds.js.map +1 -1
  28. package/dist/okf-actor.d.ts +37 -0
  29. package/dist/okf-actor.d.ts.map +1 -0
  30. package/dist/okf-actor.js +87 -0
  31. package/dist/okf-actor.js.map +1 -0
  32. package/dist/okf-authored-values.d.ts +11 -0
  33. package/dist/okf-authored-values.d.ts.map +1 -0
  34. package/dist/okf-authored-values.js +37 -0
  35. package/dist/okf-authored-values.js.map +1 -0
  36. package/dist/okf-lifecycle.d.ts +4 -0
  37. package/dist/okf-lifecycle.d.ts.map +1 -0
  38. package/dist/okf-lifecycle.js +6 -0
  39. package/dist/okf-lifecycle.js.map +1 -0
  40. package/dist/okf-standard-fields.d.ts +10 -0
  41. package/dist/okf-standard-fields.d.ts.map +1 -0
  42. package/dist/okf-standard-fields.js +111 -0
  43. package/dist/okf-standard-fields.js.map +1 -0
  44. package/dist/okf-timestamps.d.ts +10 -0
  45. package/dist/okf-timestamps.d.ts.map +1 -0
  46. package/dist/okf-timestamps.js +48 -0
  47. package/dist/okf-timestamps.js.map +1 -0
  48. package/dist/types.d.ts +1 -1
  49. package/dist/types.d.ts.map +1 -1
  50. package/dist/verification.d.ts +64 -0
  51. package/dist/verification.d.ts.map +1 -0
  52. package/dist/verification.js +175 -0
  53. package/dist/verification.js.map +1 -0
  54. package/dist/view-admission.d.ts +9 -0
  55. package/dist/view-admission.d.ts.map +1 -0
  56. package/dist/view-admission.js +22 -0
  57. package/dist/view-admission.js.map +1 -0
  58. package/package.json +9 -1
@@ -43,7 +43,7 @@ export interface MutateDocumentOptions {
43
43
  registry: KindRegistry;
44
44
  /** Reject rather than return a non-empty kind warning set. */
45
45
  strict: boolean;
46
- /** Recomputed against every fresh CAS attempt. */
46
+ /** Recomputed against a detached copy of every fresh CAS attempt. */
47
47
  buildCandidate: (existing: OkfDocument | undefined, context: DocumentMutationContext) => DocumentMutationCandidate | Promise<DocumentMutationCandidate>;
48
48
  /** Patch only: require an existing target or allow an expect-absent create. */
49
49
  onAbsent?: "fail" | "create";
@@ -53,6 +53,10 @@ export interface MutateDocumentOptions {
53
53
  compareTimestamp?: boolean;
54
54
  /** Advisory backend-history attribution, applied only when a write occurs. */
55
55
  actor?: string;
56
+ /** OKF v0.2 content producer for generated.by, independent of advisory actor.
57
+ * Defaults to actor when omitted; ignored by v0.1. Does not alter history or
58
+ * persisted attribution, and a producer-only change is not a content edit. */
59
+ producer?: string;
56
60
  /** Also persist the advisory actor in the edition-appropriate frontmatter field after no-op detection. */
57
61
  persistActor?: boolean;
58
62
  /** Patch only: a caller-supplied token makes the operation a single-shot hard CAS. */
@@ -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;AAGH,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAmBhD,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,qEAAqE;IACrE,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;;kFAE8E;IAC9E,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,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;AA6KD,wBAAsB,cAAc,CAAC,IAAI,EAAE,qBAAqB,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAkOjG"}
@@ -7,7 +7,9 @@
7
7
  * Consumers own their transport and presentation errors; this module throws typed
8
8
  * core failures and never imports CLI or browser concerns.
9
9
  */
10
+ import { okfValuesEqual } from "./okf-authored-values.js";
10
11
  import { InvalidInputError } from "./errors.js";
12
+ import { assertAuthoredOkfStandardFields } from "./okf-standard-fields.js";
11
13
  import { applyV02MutationMetadata } from "./document-write-policy.js";
12
14
  import { assertFieldPreconditions } from "./document-precondition.js";
13
15
  import { normalizeDocumentBodyForStorage } from "./frontmatter.js";
@@ -43,24 +45,6 @@ export class DocumentNotFoundError extends Error {
43
45
  this.id = id;
44
46
  }
45
47
  }
46
- /** Structural equality through plain objects and arrays, independent of object key order. */
47
- function valuesEqual(a, b) {
48
- if (a === b)
49
- return true;
50
- if (Array.isArray(a) || Array.isArray(b)) {
51
- if (!Array.isArray(a) || !Array.isArray(b))
52
- return false;
53
- return a.length === b.length && a.every((value, index) => valuesEqual(value, b[index]));
54
- }
55
- if (a && b && typeof a === "object" && typeof b === "object") {
56
- const aRecord = a;
57
- const bRecord = b;
58
- const aKeys = Object.keys(aRecord);
59
- const bKeys = Object.keys(bRecord);
60
- return aKeys.length === bKeys.length && aKeys.every((key) => valuesEqual(aRecord[key], bRecord[key]));
61
- }
62
- return false;
63
- }
64
48
  function withoutAutomaticMutationActor(frontmatter, okfVersion, kindRequiresActor) {
65
49
  if (okfVersion === "0.1") {
66
50
  const { actor: _actor, ...rest } = frontmatter;
@@ -106,15 +90,19 @@ function isNoopMutation(existing, candidate, compareTimestamp, okfVersion, ignor
106
90
  return frontmatter;
107
91
  }
108
92
  const { at: _at, ...generatedRest } = generated;
93
+ if (Object.keys(generatedRest).length === 0) {
94
+ const { generated: _generated, ...withoutGenerated } = frontmatter;
95
+ return withoutGenerated;
96
+ }
109
97
  return { ...frontmatter, generated: generatedRest };
110
98
  };
111
- return valuesEqual(withoutGeneratedAt(existingFrontmatter), withoutGeneratedAt(candidateFrontmatter));
99
+ return okfValuesEqual(withoutGeneratedAt(existingFrontmatter), withoutGeneratedAt(candidateFrontmatter));
112
100
  }
113
101
  if (compareTimestamp)
114
- return valuesEqual(existingFrontmatter, candidateFrontmatter);
102
+ return okfValuesEqual(existingFrontmatter, candidateFrontmatter);
115
103
  const { timestamp: _existingTimestamp, ...existingRest } = existingFrontmatter;
116
104
  const { timestamp: _candidateTimestamp, ...candidateRest } = candidateFrontmatter;
117
- return valuesEqual(existingRest, candidateRest);
105
+ return okfValuesEqual(existingRest, candidateRest);
118
106
  }
119
107
  function attributeCandidate(candidate, actor, persistActor, okfVersion, registry) {
120
108
  if (!persistActor)
@@ -134,14 +122,16 @@ function attributeCandidate(candidate, actor, persistActor, okfVersion, registry
134
122
  * timestamp first. Returns the kind alongside the warnings so overwrite's ratchet (below) can
135
123
  * reuse this ONE validation pass instead of re-deriving the candidate's kind separately.
136
124
  */
137
- function validateCandidate(id, candidate, registry, strict, okfVersion, now) {
125
+ function validateCandidate(id, candidate, registry, strict, okfVersion, now, existing) {
138
126
  const result = defaultTimestampAndValidateAgainstRegistry({ id, ...candidate }, registry, { okfVersion, now });
127
+ if (okfVersion === "0.2")
128
+ assertAuthoredOkfStandardFields(candidate.frontmatter, existing?.frontmatter);
139
129
  if (strict && result.kind && result.warnings.length > 0) {
140
130
  throw new KindConformanceError(id, result.kind.governs, result.warnings, okfVersion);
141
131
  }
142
132
  return result;
143
133
  }
144
- function withV02Metadata(candidate, existing, okfVersion, registry, now, seedGenerationClock) {
134
+ function withV02Metadata(candidate, existing, okfVersion, registry, now, seedGenerationClock, actor, compareTimestamp, producer) {
145
135
  if (okfVersion !== "0.2")
146
136
  return candidate;
147
137
  const kind = registry.kinds.get(String(candidate.frontmatter.type));
@@ -149,6 +139,11 @@ function withV02Metadata(candidate, existing, okfVersion, registry, now, seedGen
149
139
  existing,
150
140
  candidate,
151
141
  meaningfulChangeAt: now(),
142
+ actor,
143
+ producer,
144
+ kindRequiresActor: kind?.fields.required.includes("actor") ?? false,
145
+ compareTimestamp,
146
+ allowGeneratedProvenanceSeed: seedGenerationClock,
152
147
  // Every v0.2 create gets one standard clock unless a usable time already exists (an explicit
153
148
  // legacy `timestamp`, a declared `generated.at`) or its kind requires `timestamp` (that one
154
149
  // clock is defaulted instead). Ungoverned types are the point: accumulation evidence for
@@ -201,8 +196,8 @@ export async function mutateDocument(opts) {
201
196
  + "(use mode 'patch' with onAbsent: 'create')");
202
197
  }
203
198
  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);
199
+ const withMetadata = withV02Metadata(await opts.buildCandidate(undefined, context), undefined, okfVersion, opts.registry, decisionNow, seedClock, opts.actor, compareTimestamp, opts.producer);
200
+ const candidate = attributeCandidate(withMetadata, opts.actor, persistActor, okfVersion, opts.registry);
206
201
  const { warnings } = validateCandidate(opts.id, candidate, opts.registry, opts.strict, okfVersion, decisionNow);
207
202
  const { doc, version } = await writeDocVersionedForEdition(opts.bundle, { id: opts.id, ...candidate }, okfVersion, {
208
203
  expectedVersion: null,
@@ -237,9 +232,9 @@ export async function mutateDocument(opts) {
237
232
  decide: async (existing) => {
238
233
  const decisionNow = onceNow(now);
239
234
  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);
242
- const validated = validateCandidate(opts.id, candidate, opts.registry, opts.strict, okfVersion, decisionNow);
235
+ const withMetadata = withV02Metadata(await opts.buildCandidate(existing === undefined ? undefined : structuredClone(existing), context), existing, okfVersion, opts.registry, decisionNow, seedClock, opts.actor, compareTimestamp, opts.producer);
236
+ const candidate = attributeCandidate(withMetadata, opts.actor, persistActor, okfVersion, opts.registry);
237
+ const validated = validateCandidate(opts.id, candidate, opts.registry, opts.strict, okfVersion, decisionNow, existing);
243
238
  warnings = validated.warnings;
244
239
  // Monotone conformance ratchet (probe: tasks/overwrite-ratchet-survey, productionized
245
240
  // here): a doc that already satisfies its governing kind may not regress into
@@ -292,14 +287,13 @@ export async function mutateDocument(opts) {
292
287
  if (hardCas && lastReadVersion !== opts.expectedVersion) {
293
288
  throw new VersionConflict(opts.id, opts.expectedVersion, lastReadVersion);
294
289
  }
295
- 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)) {
290
+ const rawCandidate = await opts.buildCandidate(existing === undefined ? undefined : structuredClone(existing), context);
291
+ const candidateForComparison = withV02Metadata(rawCandidate, existing, okfVersion, opts.registry, decisionNow, seedClock, opts.actor, compareTimestamp, opts.producer);
292
+ 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
293
  return { action: "done", result: { doc: existing, warnings: [] } };
299
294
  }
300
- const attributed = attributeCandidate(rawCandidate, opts.actor, persistActor, okfVersion, opts.registry);
301
- const candidate = withV02Metadata(attributed, existing, okfVersion, opts.registry, decisionNow, seedClock);
302
- const { warnings } = validateCandidate(opts.id, candidate, opts.registry, opts.strict, okfVersion, decisionNow);
295
+ const candidate = attributeCandidate(candidateForComparison, opts.actor, persistActor, okfVersion, opts.registry);
296
+ const { warnings } = validateCandidate(opts.id, candidate, opts.registry, opts.strict, okfVersion, decisionNow, existing);
303
297
  return { action: "write", next: { id: opts.id, ...candidate }, result: { warnings } };
304
298
  },
305
299
  write: async (next, expectedVersion) => {
@@ -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,24 @@ export interface V02MutationMetadataOptions {
28
30
  body: string;
29
31
  };
30
32
  meaningfulChangeAt: string;
33
+ /** Advisory mutation actor; also the content producer when producer is omitted. */
34
+ actor?: string;
35
+ /** Explicit content producer for generated.by. Defaults to actor when omitted;
36
+ * when supplied, actor remains advisory and need not use OKF producer syntax. */
37
+ producer?: string;
38
+ /** Whether the governing Kind uses legacy `actor` as an automatic attribution projection. */
39
+ kindRequiresActor?: boolean;
40
+ /** Compare explicit legacy timestamp spellings by instant, matching mutation no-op policy. */
41
+ compareTimestamp?: boolean;
42
+ /** Allow an absent generated block to be seeded for a create or meaningful content update. */
43
+ allowGeneratedProvenanceSeed?: boolean;
31
44
  /** Seed standard generation metadata when a newly created governed document needs a clock. */
32
45
  requireGenerationClock?: boolean;
33
46
  }
34
47
  /**
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.
48
+ * Apply v0.2 content provenance without conflating it with storage attribution.
49
+ * `generated` is optional. When present, a create or meaningful content change records the
50
+ * explicit producer or resolved mutation actor; an unattributed engine mutation records `process:superbee`.
37
51
  */
38
52
  export declare function applyV02MutationMetadata(opts: V02MutationMetadataOptions): {
39
53
  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;AASzF,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAQ3D,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;AAuBD,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,mFAAmF;IACnF,KAAK,CAAC,EAAE,MAAM,CAAC;IACf;qFACiF;IACjF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,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,CAKA"}
@@ -1,20 +1,15 @@
1
1
  /** Pure document-shape policies applied before a normalized document reaches storage. */
2
- import { InvalidInputError } from "./errors.js";
3
- function isRecord(value) {
4
- return value !== null && typeof value === "object" && !Array.isArray(value);
5
- }
2
+ import { OkfActorError } from "./errors.js";
3
+ import { isOkfRecord as isRecord, okfValuesEqual as sameValue } from "./okf-authored-values.js";
4
+ import { assertAuthoredOkfStandardFields } from "./okf-standard-fields.js";
5
+ import { assertAuthoredOkfTimestamps } from "./okf-timestamps.js";
6
+ import { isOkfActor } from "./okf-actor.js";
7
+ import { normalizeDocumentBodyForStorage } from "./frontmatter.js";
8
+ import { SUPERBEE_UPDATED_BY_FIELD } from "./mutation-attribution.js";
6
9
  function hasOwn(record, key) {
7
10
  return Object.prototype.hasOwnProperty.call(record, key);
8
11
  }
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
- }
12
+ export { isOkfActor } from "./okf-actor.js";
18
13
  /**
19
14
  * Normalize one document according to Superbee's OKF v0.1 write contract.
20
15
  * The caller supplies one evaluated preserve-or-fallback timestamp decision, keeping this policy
@@ -37,57 +32,73 @@ export function normalizeV02DocumentForWrite(doc, validatedType) {
37
32
  const { type: _type, ...rest } = doc.frontmatter;
38
33
  return { id: doc.id, frontmatter: { type: validatedType, ...rest }, body: doc.body ?? "" };
39
34
  }
40
- function generatedRecord(value, label) {
41
- if (value === undefined)
42
- return undefined;
43
- if (!isRecord(value)) {
44
- throw new InvalidInputError(`OKF v0.2 ${label} must be a mapping when present`);
45
- }
46
- return value;
47
- }
48
- function sameValue(a, b) {
49
- if (a === b)
50
- return true;
51
- if (Array.isArray(a) || Array.isArray(b)) {
52
- return Array.isArray(a) && Array.isArray(b)
53
- && a.length === b.length
54
- && a.every((value, index) => sameValue(value, b[index]));
55
- }
56
- if (isRecord(a) && isRecord(b)) {
57
- const aKeys = Object.keys(a);
58
- const bKeys = Object.keys(b);
59
- return aKeys.length === bKeys.length && aKeys.every((key) => sameValue(a[key], b[key]));
60
- }
61
- return false;
62
- }
63
- function withoutV02GenerationClock(frontmatter) {
35
+ function withoutV02AutomaticMetadata(frontmatter, kindRequiresActor, compareTimestamp) {
64
36
  const copy = { ...frontmatter };
37
+ delete copy[SUPERBEE_UPDATED_BY_FIELD];
38
+ if (kindRequiresActor)
39
+ delete copy.actor;
40
+ if (compareTimestamp && typeof copy.timestamp === "string") {
41
+ const instant = Date.parse(copy.timestamp);
42
+ if (!Number.isNaN(instant))
43
+ copy.timestamp = new Date(instant).toISOString();
44
+ }
65
45
  const generated = copy.generated;
66
46
  if (isRecord(generated)) {
67
47
  const { at: _at, ...rest } = generated;
68
- copy.generated = rest;
48
+ if (Object.keys(rest).length === 0)
49
+ delete copy.generated;
50
+ else
51
+ copy.generated = rest;
69
52
  }
70
53
  return copy;
71
54
  }
72
55
  /** Whether content/provenance changed, excluding verification history and the generation clock. */
73
- export function v02MeaningfulContentChanged(existing, candidate) {
74
- if (existing.body !== candidate.body)
56
+ export function v02MeaningfulContentChanged(existing, candidate, options = {}) {
57
+ if (normalizeDocumentBodyForStorage(existing.body)
58
+ !== normalizeDocumentBodyForStorage(candidate.body))
75
59
  return true;
76
- const existingFrontmatter = withoutV02GenerationClock(existing.frontmatter);
77
- const candidateFrontmatter = withoutV02GenerationClock(candidate.frontmatter);
60
+ const existingFrontmatter = withoutV02AutomaticMetadata(existing.frontmatter, options.kindRequiresActor ?? false, options.compareTimestamp ?? false);
61
+ const candidateFrontmatter = withoutV02AutomaticMetadata(candidate.frontmatter, options.kindRequiresActor ?? false, options.compareTimestamp ?? false);
78
62
  delete existingFrontmatter.verified;
79
63
  delete candidateFrontmatter.verified;
80
64
  return !sameValue(existingFrontmatter, candidateFrontmatter);
81
65
  }
82
66
  /**
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.
67
+ * Apply v0.2 content provenance without conflating it with storage attribution.
68
+ * `generated` is optional. When present, a create or meaningful content change records the
69
+ * explicit producer or resolved mutation actor; an unattributed engine mutation records `process:superbee`.
85
70
  */
86
71
  export function applyV02MutationMetadata(opts) {
87
- const existingGenerated = generatedRecord(opts.existing?.frontmatter.generated, "existing generated");
88
- const declaredCandidateGenerated = generatedRecord(opts.candidate.frontmatter.generated, "generated");
89
- const candidateGenerated = !opts.existing && opts.requireGenerationClock && !declaredCandidateGenerated
90
- ? { by: "process:superbee" }
72
+ assertAuthoredOkfStandardFields(opts.candidate.frontmatter, opts.existing?.frontmatter, { phase: "input" });
73
+ const result = applyMetadata(opts);
74
+ assertAuthoredOkfStandardFields(result.frontmatter, opts.existing?.frontmatter);
75
+ return result;
76
+ }
77
+ function applyMetadata(opts) {
78
+ const producer = opts.producer !== undefined ? opts.producer : opts.actor;
79
+ if (producer !== undefined && !isOkfActor(producer)) {
80
+ throw new OkfActorError(producer, `OKF v0.2 mutation ${opts.producer !== undefined ? "producer" : "actor"} '${producer}' must be human:<id>, process:<id>, or <producer>/<version>`);
81
+ }
82
+ const existingValue = opts.existing?.frontmatter.generated;
83
+ const candidateValue = opts.candidate.frontmatter.generated;
84
+ const existingGenerated = isRecord(existingValue) ? existingValue : undefined;
85
+ const declaredCandidateGenerated = isRecord(candidateValue) ? candidateValue : undefined;
86
+ // Invalid imported containers are opaque. Prevalidation already refused newly invalid input;
87
+ // preserving or removing an old container must never spread it or manufacture its replacement.
88
+ if ((hasOwn(opts.candidate.frontmatter, "generated") && !declaredCandidateGenerated)
89
+ || (opts.existing && hasOwn(opts.existing.frontmatter, "generated") && !existingGenerated
90
+ && !hasOwn(opts.candidate.frontmatter, "generated"))) {
91
+ const frontmatter = { ...opts.candidate.frontmatter };
92
+ if (!hasOwn(frontmatter, "verified") && opts.existing && hasOwn(opts.existing.frontmatter, "verified")) {
93
+ frontmatter.verified = opts.existing.frontmatter.verified;
94
+ }
95
+ return { ...opts.candidate, frontmatter };
96
+ }
97
+ let candidateGenerated = !opts.existing
98
+ && opts.allowGeneratedProvenanceSeed !== false
99
+ && (opts.requireGenerationClock || producer !== undefined)
100
+ && !declaredCandidateGenerated
101
+ ? { by: producer ?? "process:superbee" }
91
102
  : declaredCandidateGenerated;
92
103
  const frontmatter = candidateGenerated === declaredCandidateGenerated
93
104
  ? { ...opts.candidate.frontmatter }
@@ -97,35 +108,74 @@ export function applyV02MutationMetadata(opts) {
97
108
  && hasOwn(opts.existing.frontmatter, "verified")) {
98
109
  frontmatter.verified = opts.existing.frontmatter.verified;
99
110
  }
100
- if (!existingGenerated && !candidateGenerated)
101
- return { ...opts.candidate, frontmatter };
102
111
  const candidateHasBy = candidateGenerated ? hasOwn(candidateGenerated, "by") : false;
103
112
  const existingBy = existingGenerated?.by;
104
113
  const candidateBy = candidateGenerated?.by;
105
- if (candidateHasBy && candidateBy !== existingBy && !isOkfActor(candidateBy)) {
106
- throw new InvalidInputError("OKF v0.2 generated.by must be human:<id>, process:<id>, or <producer>/<version>");
114
+ // Compare with the caller's declared/inherited provenance before applying automatic actor
115
+ // metadata. Otherwise an actor-only change would manufacture the "meaningful change" needed to
116
+ // justify itself. A genuinely explicit generated.by edit still counts as meaningful.
117
+ const comparisonBy = candidateHasBy ? candidateBy : existingBy;
118
+ const comparisonGenerated = {
119
+ ...existingGenerated,
120
+ ...candidateGenerated,
121
+ ...(comparisonBy === undefined ? {} : { by: comparisonBy }),
122
+ };
123
+ const meaningfulChange = opts.existing === undefined || v02MeaningfulContentChanged(opts.existing, {
124
+ ...opts.candidate,
125
+ frontmatter: existingGenerated || candidateGenerated
126
+ ? { ...frontmatter, generated: comparisonGenerated }
127
+ : frontmatter,
128
+ }, {
129
+ kindRequiresActor: opts.kindRequiresActor,
130
+ compareTimestamp: opts.compareTimestamp,
131
+ });
132
+ if (!meaningfulChange
133
+ && !existingGenerated
134
+ && candidateGenerated
135
+ && Object.keys(candidateGenerated).every((key) => key === "at")) {
136
+ const { generated: _generated, ...withoutGenerated } = frontmatter;
137
+ return { ...opts.candidate, frontmatter: withoutGenerated };
107
138
  }
108
- const resolvedBy = candidateHasBy ? candidateBy : existingBy;
109
- if (typeof resolvedBy !== "string" || resolvedBy.trim() === "") {
110
- throw new InvalidInputError("OKF v0.2 generated.by is required when generated is present");
139
+ if (!existingGenerated && !candidateGenerated) {
140
+ if (opts.existing === undefined
141
+ || !meaningfulChange
142
+ || opts.allowGeneratedProvenanceSeed === false)
143
+ return { ...opts.candidate, frontmatter };
144
+ candidateGenerated = {};
111
145
  }
112
- const generated = { ...existingGenerated, ...candidateGenerated, by: resolvedBy };
146
+ const preserveDeclaredSourceBy = opts.existing === undefined
147
+ && opts.allowGeneratedProvenanceSeed === false
148
+ && candidateHasBy;
149
+ const resolvedBy = meaningfulChange
150
+ ? preserveDeclaredSourceBy ? candidateBy : producer ?? "process:superbee"
151
+ : comparisonBy;
152
+ const generated = {
153
+ ...existingGenerated, ...candidateGenerated,
154
+ ...(resolvedBy === undefined ? {} : { by: resolvedBy }),
155
+ };
156
+ let clockAuthored = false;
113
157
  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");
158
+ if (generated.at === undefined) {
159
+ if (opts.requireGenerationClock
160
+ || (declaredCandidateGenerated !== undefined && opts.allowGeneratedProvenanceSeed !== false)) {
161
+ generated.at = opts.meaningfulChangeAt;
162
+ clockAuthored = true;
163
+ }
118
164
  }
119
165
  }
120
- else if (v02MeaningfulContentChanged(opts.existing, {
121
- ...opts.candidate,
122
- frontmatter: { ...frontmatter, generated },
123
- })) {
166
+ else if (meaningfulChange) {
124
167
  generated.at = opts.meaningfulChangeAt;
168
+ clockAuthored = true;
125
169
  }
126
- else if (existingGenerated && hasOwn(existingGenerated, "at")) {
127
- generated.at = existingGenerated.at;
170
+ else if (existingGenerated) {
171
+ if (hasOwn(existingGenerated, "at"))
172
+ generated.at = existingGenerated.at;
173
+ else
174
+ delete generated.at;
128
175
  }
176
+ // A newly produced clock is authored even when it repeats an invalid imported spelling.
177
+ if (clockAuthored)
178
+ assertAuthoredOkfTimestamps({ generated });
129
179
  return {
130
180
  ...opts.candidate,
131
181
  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"}