instar 1.3.528 → 1.3.530

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/commands/server.d.ts.map +1 -1
  2. package/dist/commands/server.js +114 -0
  3. package/dist/commands/server.js.map +1 -1
  4. package/dist/config/ConfigDefaults.d.ts.map +1 -1
  5. package/dist/config/ConfigDefaults.js +29 -0
  6. package/dist/config/ConfigDefaults.js.map +1 -1
  7. package/dist/core/CoherenceJournal.d.ts +1 -1
  8. package/dist/core/CoherenceJournal.d.ts.map +1 -1
  9. package/dist/core/CoherenceJournal.js +27 -2
  10. package/dist/core/CoherenceJournal.js.map +1 -1
  11. package/dist/core/EvolutionManager.d.ts +35 -0
  12. package/dist/core/EvolutionManager.d.ts.map +1 -1
  13. package/dist/core/EvolutionManager.js +49 -0
  14. package/dist/core/EvolutionManager.js.map +1 -1
  15. package/dist/core/KnowledgeReplicatedStore.d.ts +310 -0
  16. package/dist/core/KnowledgeReplicatedStore.d.ts.map +1 -0
  17. package/dist/core/KnowledgeReplicatedStore.js +526 -0
  18. package/dist/core/KnowledgeReplicatedStore.js.map +1 -0
  19. package/dist/core/LearningsReplicatedStore.d.ts +298 -0
  20. package/dist/core/LearningsReplicatedStore.d.ts.map +1 -0
  21. package/dist/core/LearningsReplicatedStore.js +574 -0
  22. package/dist/core/LearningsReplicatedStore.js.map +1 -0
  23. package/dist/core/PostUpdateMigrator.d.ts.map +1 -1
  24. package/dist/core/PostUpdateMigrator.js +49 -1
  25. package/dist/core/PostUpdateMigrator.js.map +1 -1
  26. package/dist/core/devGatedFeatures.d.ts.map +1 -1
  27. package/dist/core/devGatedFeatures.js +10 -0
  28. package/dist/core/devGatedFeatures.js.map +1 -1
  29. package/dist/knowledge/KnowledgeManager.d.ts +37 -0
  30. package/dist/knowledge/KnowledgeManager.d.ts.map +1 -1
  31. package/dist/knowledge/KnowledgeManager.js +45 -0
  32. package/dist/knowledge/KnowledgeManager.js.map +1 -1
  33. package/dist/scaffold/templates.d.ts.map +1 -1
  34. package/dist/scaffold/templates.js +3 -1
  35. package/dist/scaffold/templates.js.map +1 -1
  36. package/package.json +1 -1
  37. package/src/data/builtin-manifest.json +20 -20
  38. package/src/scaffold/templates.ts +3 -1
  39. package/upgrades/1.3.529.md +33 -0
  40. package/upgrades/1.3.530.md +33 -0
  41. package/upgrades/side-effects/ws22-learnings.md +74 -0
  42. package/upgrades/side-effects/ws24-knowledge.md +77 -0
@@ -93,10 +93,25 @@ export class EvolutionManager {
93
93
  * See docs/specs/OPENCLAW-IMPORT-WIKICLAIM-EVIDENCE-SPEC.md § Producers.
94
94
  */
95
95
  semanticMemory = null;
96
+ /**
97
+ * WS2.2 learning-record replication emitter (injected, dark by default). Absent ⇒
98
+ * strict no-op (single-machine, byte-identical). server.ts late-binds a journal-backed
99
+ * emitter ONLY when `multiMachine.stateSync.learnings.enabled` is true.
100
+ */
101
+ learningReplication = null;
96
102
  constructor(config) {
97
103
  this.config = config;
98
104
  this.stateDir = config.stateDir;
99
105
  }
106
+ /**
107
+ * Late-bind the WS2.2 learning-record replication emitter (server.ts constructs the
108
+ * journal/clock AFTER the manager). Idempotent; passing undefined/null detaches (back
109
+ * to single-machine no-op). The emit funnel checks `this.learningReplication` per
110
+ * write, so attaching mid-life takes effect on the next save.
111
+ */
112
+ setLearningReplicationEmitter(emitter) {
113
+ this.learningReplication = emitter ?? null;
114
+ }
100
115
  // ── TaskFlow wiring ─────────────────────────────────────────────
101
116
  /**
102
117
  * Wire a TaskFlow registry for Phase 3a dual-write. After this call:
@@ -728,6 +743,7 @@ export class EvolutionManager {
728
743
  lastUpdated: this.now(),
729
744
  };
730
745
  const max = this.config.maxLearnings || 500;
746
+ const beforePrune = state.learnings;
731
747
  if (state.learnings.length > max) {
732
748
  const unapplied = state.learnings.filter(l => !l.applied);
733
749
  const appliedEntries = state.learnings.filter(l => l.applied);
@@ -735,6 +751,39 @@ export class EvolutionManager {
735
751
  state.learnings = [...unapplied, ...keep];
736
752
  }
737
753
  this.writeFile('learning-registry', state);
754
+ // WS2.2 — best-effort replication emission (dark by default; the emitter is only
755
+ // injected when multiMachine.stateSync.learnings.enabled is true). The emitter
756
+ // swallows its own errors, but we wrap defensively so a replication fault can NEVER
757
+ // break a local learning write. CRITICAL (tombstone resurrection guard): a learning
758
+ // that was PRUNED over maxLearnings emits an op:delete tombstone, else a peer
759
+ // re-replicates the locally-pruned learning forever.
760
+ const emitter = this.learningReplication;
761
+ if (emitter) {
762
+ const survivors = new Set(state.learnings.map(l => l.id));
763
+ const deletedAt = this.now();
764
+ for (const pruned of beforePrune) {
765
+ if (survivors.has(pruned.id))
766
+ continue;
767
+ try {
768
+ emitter.emitDelete(pruned.title, pruned.category, pruned.source, deletedAt);
769
+ }
770
+ catch {
771
+ // @silent-fallback-ok: a replication emit fault must never break or roll back
772
+ // a local learning write — the durable on-disk state is already persisted
773
+ // above. The emitter counts its own failures internally; this guard only
774
+ // ensures a throw from the seam cannot propagate into the local write path.
775
+ }
776
+ }
777
+ for (const l of state.learnings) {
778
+ try {
779
+ emitter.emitPut(l);
780
+ }
781
+ catch {
782
+ // @silent-fallback-ok: see the emitDelete guard above — replication is
783
+ // best-effort and must never break the local write.
784
+ }
785
+ }
786
+ }
738
787
  }
739
788
  nextLearningId(state) {
740
789
  const existing = new Set(state.learnings.map(l => l.id));
@@ -1 +1 @@
1
- {"version":3,"file":"EvolutionManager.js","sourceRoot":"","sources":["../../src/core/EvolutionManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"EvolutionManager.js","sourceRoot":"","sources":["../../src/core/EvolutionManager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,310 @@
1
+ /**
2
+ * KnowledgeReplicatedStore — the FOURTH concrete consumer of the HLC replicated-store
3
+ * foundation (WS2.4) and the THIRD memory-family kind (after WS2.3 relationships and
4
+ * WS2.2 learnings). It layers the `knowledge-record` replicated kind onto the generic
5
+ * substrate (ReplicatedRecordEnvelope / UnionReader / ConflictStore / RollbackUnmerge /
6
+ * ReplicationBudget / StoreSnapshot) so that a knowledge SOURCE the agent ingested on
7
+ * machine A is known on machine B — ONE knowledge catalog, not one-per-machine.
8
+ *
9
+ * It is the literal analog of `LearningsReplicatedStore.ts` (the WS2.2 memory-family
10
+ * reference consumer) and `RelationshipsReplicatedStore.ts` (the WS2.3 PII reference
11
+ * consumer). A knowledge source is a POINTER + SUMMARY (a `title`/`url`/`type` +
12
+ * `summary`/`tags`/`wordCount`), lower-PII than a relationship — but its
13
+ * `title`/`summary`/`url` CAN reference people or content, so it REUSES the established
14
+ * PII machinery (type-clamp, disclosure-min projection, tombstones, flag-coherence)
15
+ * rather than reinventing or downgrading it. THIS IS PURE LOGIC. No fs, no Date directly,
16
+ * no network. It defines:
17
+ *
18
+ * A. The `knowledge-record` store schema — a STRICT typed validator that
19
+ * TYPE-CLAMPS every known field: `ingestedAt` ISO-8601-only, `type` ∈ the
20
+ * {article,transcript,doc} enum, `wordCount` a finite number, `tags[]`/free text
21
+ * length-clamped. The schema is a DISCRIMINATED UNION on `op` — an `op:'put'` VALUE
22
+ * schema AND an `op:'delete'` TOMBSTONE schema coexist under the one kind, so a
23
+ * tombstone is never marked invalid by the value schema.
24
+ *
25
+ * B. The disclosure-minimized PROJECTION (fork #2) — `buildKnowledgeRecordData` emits
26
+ * ONLY the enumerated catalog-metadata fields, NEVER the markdown file BODY (the
27
+ * separate `filePath` file can be a huge transcript — full-content sync is a
28
+ * TRACKED follow-up, CMT-1416) and NEVER the local generated `id` OR the local
29
+ * `filePath` (a per-machine artifact path — meaningless and a mild info-leak on a
30
+ * peer). `recordKey` is the cross-machine IDENTITY SURFACE, derived deterministically
31
+ * from the stable content (normalize(url || title) + normalize(type)) — never the
32
+ * per-machine `generateId()` id (the cross-machine-UNSTABLE id, exactly the
33
+ * relationship-UUID / LRN-id trap the prior kinds solved with a stable identity
34
+ * surface). The SAME article ingested on two machines collapses to ONE record.
35
+ *
36
+ * C. The TOMBSTONE builder — `buildKnowledgeTombstoneData` emits an `op:'delete'`
37
+ * record `{ recordKey, op, hlc, origin, deletedAt }` so a `remove()` propagates as a
38
+ * positive signal across an offline-then-rejoining peer instead of a record absence.
39
+ * CRITICAL: the KnowledgeManager.remove() path MUST emit a tombstone per removed
40
+ * source, else a peer re-replicates the locally-removed source forever (resurrection).
41
+ *
42
+ * D. The union-aware read — `mergeUnionToKnowledge` collapses a
43
+ * `Map<recordKey, UnionResult>` into the merged catalog view. Knowledge is
44
+ * HIGH-impact at the REPLICATION layer (a concurrent divergent edit to the SAME
45
+ * recordKey — e.g. two machines re-summarize the same url differently — goes through
46
+ * APPEND-BOTH-AND-FLAG; both versions surface, never a silent clobber). The CONSUMER
47
+ * READ path is ADVISORY (fork #3): it injects BOTH variants of an open conflict as
48
+ * guidance — a knowledge source is REFERENCE, not authority — and NEVER blocks on an
49
+ * unresolved conflict. The read NEVER writes a foreign record into the local store.
50
+ *
51
+ * E. Foreign-record render safety — `renderForeignKnowledgeContext` wraps a replicated
52
+ * record in an explicit `<replicated-untrusted-data origin="…">` envelope and
53
+ * sanitizes EVERY rendered field. There is no "trusted because machine-set" render
54
+ * slot for a foreign record.
55
+ *
56
+ * DECIDED FORKS (Echo, 2026-06-13 — recorded verbatim in the PR ELI16):
57
+ * 1. recordKey = a content fingerprint over the STABLE source identity
58
+ * (sha256(normalize(url || title) + '\x1f' + normalize(type))), NEVER the local
59
+ * generated `id` (cross-machine identity surface — see deriveKnowledgeRecordKey).
60
+ * 2. Replicate the CATALOG ENTRY (metadata) ONLY — NOT the markdown file body. The
61
+ * projection carries { title, url, type, ingestedAt, tags[], summary, wordCount }
62
+ * and STRIPS the local `id` + `filePath`. Full-content-body sync is a TRACKED
63
+ * follow-up (CMT-1416).
64
+ * 3. Impact tier = HIGH at the REPLICATION layer (append-both-and-flag), ADVISORY at
65
+ * the READ layer (both variants injected as hints, never blocking) — a knowledge
66
+ * source is reference, not authority. See mergeUnionToKnowledge + KNOWLEDGE_IMPACT_TIER.
67
+ *
68
+ * SAFETY POSTURE: MECHANISM, dark by default. Nothing here blocks a user-initiated
69
+ * action. The local `id` + `filePath` are NEVER part of the replicated schema and are
70
+ * stripped from every emitted projection (disclosure minimization).
71
+ */
72
+ import type { KnowledgeSource } from '../knowledge/KnowledgeManager.js';
73
+ import type { StoreFieldSchema, ReplicatedEnvelope } from './ReplicatedRecordEnvelope.js';
74
+ import type { ImpactTier, OriginRecord, UnionResult } from './UnionReader.js';
75
+ import type { ReplicatedKindBounds } from './ReplicationBudget.js';
76
+ import type { HlcTimestamp } from './HybridLogicalClock.js';
77
+ /** The stateSync config sub-key + advert suffix for this store (e.g.
78
+ * `multiMachine.stateSync.knowledge.enabled`). Equal to the advert flag key
79
+ * `stateSyncReceive['knowledge']`. */
80
+ export declare const KNOWLEDGE_STORE_KEY = "knowledge";
81
+ /** The JournalKind string this store rides — the DUAL-REGISTRY's dynamic half.
82
+ * MUST also be present in CoherenceJournal.JOURNAL_KINDS (the static half), or the
83
+ * store advertises receive=true yet serves/applies/pulls nothing. */
84
+ export declare const KNOWLEDGE_RECORD_KIND = "knowledge-record";
85
+ /**
86
+ * Knowledge is HIGH-impact at the REPLICATION layer (fork #3): a concurrent divergent
87
+ * VALUE edit to the SAME recordKey from different origins goes through
88
+ * APPEND-BOTH-AND-FLAG — both versions preserved, ONE deduped conflict, never a silent
89
+ * overwrite. The READ path (mergeUnionToKnowledge) is ADVISORY — both variants surface as
90
+ * guidance hints, the read never blocks on an open conflict — a knowledge source is
91
+ * reference, not authority. Operator resolution via POST /state/resolve-conflict is
92
+ * OPTIONAL cleanup that collapses the flag, never a gate on the hint.
93
+ */
94
+ export declare const KNOWLEDGE_IMPACT_TIER: ImpactTier;
95
+ /** The valid `type` enum for a knowledge source (KnowledgeManager.KnowledgeSource). A
96
+ * foreign record whose `type` is outside this set is REJECTED (markup cannot survive an
97
+ * enum slot). */
98
+ export declare const KNOWLEDGE_TYPES: ReadonlyArray<string>;
99
+ /** A knowledge `summary` can be a paragraph. Clamp on receive (NOT the file body — the
100
+ * body is never replicated; only this short catalog summary crosses the wire). */
101
+ export declare const MAX_SUMMARY_LENGTH = 20000;
102
+ /** Per-free-text-string clamp for title / each tag. */
103
+ export declare const MAX_FREETEXT_LENGTH = 2000;
104
+ /** A url is bounded (the catalog url; never a file body). */
105
+ export declare const MAX_URL_LENGTH = 2048;
106
+ /** Tags cap (mirrors a reasonable per-source tag count). */
107
+ export declare const MAX_TAGS = 50;
108
+ /**
109
+ * Per-kind replication bounds. The knowledge store is FEW + bounded (a catalog of
110
+ * ingested sources), so the per-store retention mirrors the learning-record sibling (a
111
+ * small window with a few archives). NEVER `rotateKeep: 0` (rotate-but-never-delete
112
+ * would be a compliance defect for any memory-family kind). The rate cap COALESCES
113
+ * (latest state per recordKey per interval) so a churny re-ingest loop does not flood
114
+ * the stream.
115
+ */
116
+ export declare const KNOWLEDGE_RECORD_BOUNDS: ReplicatedKindBounds;
117
+ /**
118
+ * Per-entry size cap RAISED to 64KB for this kind. The default
119
+ * APPLIER_MAX_ENTRY_BYTES = 8KB is SMALLER than a fat knowledge summary (a 20K summary
120
+ * alone exceeds it), so under it the longest summaries would never replicate AND would
121
+ * wedge the stream. 64KB is provably above the disclosure-minimized projection's maximum:
122
+ * summary(20k) is the dominant term — we additionally enforce a HARD post-projection
123
+ * ceiling: a record that STILL exceeds 64KB after projection is REJECTED with a named
124
+ * error (never silent-truncate, never suspect-wedge). See assertProjectionUnderCap.
125
+ */
126
+ export declare const KNOWLEDGE_MAX_ENTRY_BYTES: number;
127
+ /**
128
+ * The store-specific field names the `knowledge-record` VALUE schema OWNS (the
129
+ * unknown-field counter's allowlist). The local generated `id` AND the local `filePath`
130
+ * are DELIBERATELY ABSENT — `id` is per-machine + generated and `filePath` is a local
131
+ * artifact path; NEITHER is replicated (the recordKey keys on the content fingerprint,
132
+ * not the id; the body the filePath points at is a tracked follow-up, CMT-1416).
133
+ * `recordKey`/`hlc`/`op`/`origin`/`observed` are reserved envelope fields, never store
134
+ * fields.
135
+ */
136
+ export declare const KNOWLEDGE_STORE_KNOWN_FIELDS: ReadonlyArray<string>;
137
+ /** The tombstone's store-owned fields beyond the reserved envelope set. `deletedAt`
138
+ * is the only store field a delete carries. */
139
+ export declare const KNOWLEDGE_TOMBSTONE_KNOWN_FIELDS: ReadonlyArray<string>;
140
+ /** Is `v` a valid ISO-8601 date string (and ONLY a date — no smuggled markup)? A
141
+ * string Date.parse rejects, or that contains an injection char (`<`, `>`, `"`), is
142
+ * not a clean ISO date. */
143
+ export declare function isIso8601(v: unknown): v is string;
144
+ /**
145
+ * The `knowledge-record` store schema — a DISCRIMINATED UNION on `op`. Strict typed
146
+ * validation on top of the envelope: reject free text beyond the known fields,
147
+ * TYPE-CLAMP every known field (`ingestedAt` ISO-8601, `type` enum, `wordCount` finite
148
+ * number, `tags`/`summary`/`title` length-clamped, `url` jailed against a path-shaped
149
+ * value) so markup cannot smuggle through a render slot that bypasses sanitize().
150
+ * Returns the validated store-specific object (known fields only), or null to reject the
151
+ * WHOLE record. PURE (no I/O, no mutation of `raw`).
152
+ *
153
+ * The envelope validator has ALREADY validated `op` ∈ {put,delete} before calling this.
154
+ * We branch on it so a tombstone `{recordKey, op:'delete', hlc, origin, deletedAt}`
155
+ * passes (only `deletedAt` is a legal store field for a delete) WITHOUT being marked
156
+ * invalid by the rich VALUE schema.
157
+ */
158
+ export declare const knowledgeRecordStoreSchema: StoreFieldSchema;
159
+ /** Normalize a string for the content fingerprint: trim + lowercase + collapse
160
+ * internal whitespace, so trivial formatting differences across machines do not split
161
+ * the same source into two records. */
162
+ export declare function normalizeForKey(v: string): string;
163
+ /**
164
+ * Derive the cross-machine-stable recordKey for a knowledge source (fork #1). A source is
165
+ * "the same" across machines by its STABLE CONTENT IDENTITY, NOT by the per-machine
166
+ * `generateId()` id — VM-A and VM-B mint different `kb_…` ids for the same article, so an
167
+ * id-keyed record could never collide them (exactly the relationship-UUID / LRN-id trap
168
+ * the prior kinds solved with a stable identity surface).
169
+ *
170
+ * The key is a deterministic, collision-resistant hash:
171
+ * sha256(normalize(url || title) + '\x1f' + normalize(type))
172
+ * hex-truncated to 32 chars (the same shape UnionReader.conflictId uses). The `\x1f`
173
+ * (unit separator) is an un-typeable delimiter so two sources cannot collide by
174
+ * straddling the field boundary.
175
+ *
176
+ * `url` is the NATURAL identity when present (the same article fetched on two machines
177
+ * has the same url even if its title was edited); when ABSENT we fall back to the title.
178
+ * Returns null when the identity anchor (url || title) is empty (a degenerate record with
179
+ * no stable identity surface — the caller skips emission; it can never collide a stranger
180
+ * by an empty key).
181
+ *
182
+ * COLLISION SAFETY: two DIFFERENT sources share a key ONLY if they share the EXACT same
183
+ * normalized (url || title) AND type — which IS the definition of "the same source".
184
+ * SPLIT-IDENTITY SAFETY: the same source derives the SAME key on both machines IFF both
185
+ * hold the same anchor + type; the normalization absorbs trivial formatting drift.
186
+ */
187
+ export declare function deriveKnowledgeRecordKey(title: string, url: string | null | undefined, type: string): string | null;
188
+ /** The `data` object a `knowledge-record` journal entry carries. */
189
+ export type KnowledgeRecordData = Record<string, unknown>;
190
+ /** Input to buildKnowledgeRecordData: the record to emit, the freshly-ticked hlc, this
191
+ * machine's origin id, and the observed-witness (the hlc already merged for THIS
192
+ * recordKey before writing, or absent). */
193
+ export interface BuildKnowledgeRecordInput {
194
+ record: KnowledgeSource;
195
+ hlc: HlcTimestamp;
196
+ origin: string;
197
+ observed?: HlcTimestamp;
198
+ }
199
+ /** The named error a record-over-cap surfaces: not silent-truncate, not suspect-wedge. */
200
+ export declare class KnowledgeRecordTooLargeError extends Error {
201
+ readonly recordKey: string;
202
+ readonly bytes: number;
203
+ constructor(recordKey: string, bytes: number);
204
+ }
205
+ /**
206
+ * Build the disclosure-minimized `knowledge-record` envelope `data` for an `op:'put'`
207
+ * (fork #2). Emits ONLY the enumerated CATALOG-METADATA projection — NEVER the markdown
208
+ * file BODY (the `filePath` file), NEVER the local generated `id`, NEVER the local
209
+ * `filePath` (a local artifact path — meaningless + a mild info-leak on a peer).
210
+ * recordKey = the derived content-fingerprint identity surface (fork #1).
211
+ *
212
+ * Returns null when the record has no stable identity surface (empty url+title ⇒
213
+ * deriveKnowledgeRecordKey null — the caller skips emission). Throws
214
+ * KnowledgeRecordTooLargeError when the projection STILL exceeds the 64KB per-entry cap
215
+ * (a NAMED, surfaced rejection — never silent-truncate).
216
+ */
217
+ export declare function buildKnowledgeRecordData(input: BuildKnowledgeRecordInput): KnowledgeRecordData | null;
218
+ /** Throw KnowledgeRecordTooLargeError if the projected data serializes over the
219
+ * per-entry cap. The cap is set so a legal disclosure-minimized record can never reach
220
+ * it; this is the belt-and-suspenders named rejection. */
221
+ export declare function assertProjectionUnderCap(recordKey: string, data: KnowledgeRecordData): void;
222
+ /** Input to buildKnowledgeTombstoneData: the title/url/type of the removed source (to
223
+ * derive the recordKey identity surface), the freshly-ticked hlc, the origin, and the
224
+ * deletedAt timestamp. */
225
+ export interface BuildKnowledgeTombstoneInput {
226
+ title: string;
227
+ url: string | null | undefined;
228
+ type: string;
229
+ hlc: HlcTimestamp;
230
+ origin: string;
231
+ deletedAt: string;
232
+ observed?: HlcTimestamp;
233
+ }
234
+ /**
235
+ * Build an `op:'delete'` TOMBSTONE `data` for a knowledge-source removal. recordKey = the
236
+ * SAME content-fingerprint identity surface the value records key on, so the tombstone
237
+ * reaches the same source's record on every machine even though the local ids differ.
238
+ * Returns null when the identity anchor (url || title) is empty (no identity surface to
239
+ * tombstone).
240
+ *
241
+ * CRITICAL (fork-adjacent): the KnowledgeManager.remove() path MUST call this for the
242
+ * removed source, else a peer re-replicates the locally-removed source forever
243
+ * (resurrection). The delete-resurrection guard lives in the merge (a later `delete` hlc
244
+ * wins over an earlier `put`).
245
+ */
246
+ export declare function buildKnowledgeTombstoneData(input: BuildKnowledgeTombstoneInput): KnowledgeRecordData | null;
247
+ /** A merged knowledge view entry: the projected record fields PLUS its origin machine id
248
+ * (so a foreign record is rendered inside the untrusted-data envelope). READ-ONLY —
249
+ * NEVER written back into the local store. */
250
+ export interface MergedKnowledgeView {
251
+ recordKey: string;
252
+ origin: string;
253
+ /** The validated, type-clamped projection fields (the receive-side schema already ran
254
+ * on apply; here `data` is that validated portion). */
255
+ data: Record<string, unknown>;
256
+ /** True when this view entry is one of ≥2 concurrent variants of an OPEN conflict
257
+ * (append-both — both surface as advisory hints; the read NEVER suppresses a usable
258
+ * view AND NEVER blocks on the unresolved conflict). */
259
+ conflicted: boolean;
260
+ }
261
+ /**
262
+ * Collapse a `Map<recordKey, UnionResult>` into the merged knowledge view.
263
+ * HIGH-impact-at-replication / ADVISORY-at-read contract (fork #3):
264
+ * - A resolved single value ⇒ that one view entry.
265
+ * - An OPEN concurrent conflict ⇒ BOTH (all) `put` variants as separate entries
266
+ * (append-both — both surface as ADVISORY guidance; the read NEVER suppresses a
267
+ * usable view AND NEVER BLOCKS waiting on operator resolution — a knowledge source is
268
+ * reference, not authority). A `delete` variant contributes nothing to display.
269
+ * - A delete-resolved key (every origin's latest is a tombstone) ⇒ nothing (the
270
+ * delete-resurrection guard: a later delete wins over an earlier put).
271
+ * The read is READ-ONLY: a replicated record NEVER clobbers a divergent local record —
272
+ * the local store files are never written here.
273
+ */
274
+ export declare function mergeUnionToKnowledge(union: Map<string, UnionResult>): MergedKnowledgeView[];
275
+ /**
276
+ * Render a FOREIGN (replicated) knowledge record into a session-context block, wrapped in
277
+ * an explicit `<replicated-untrusted-data origin="…">` envelope so the session model
278
+ * treats it as a PEER'S knowledge source to re-ground against, never a directive. EVERY
279
+ * rendered field is escaped — there is no "trusted because machine-set" slot. A null
280
+ * `data.title` (a malformed view) yields null.
281
+ */
282
+ export declare function renderForeignKnowledgeContext(view: MergedKnowledgeView): string | null;
283
+ /**
284
+ * Build an OriginRecord for the OWN knowledge store (the single-origin materialization
285
+ * the union reader merges against peer replicas). recordKey = derived content-fingerprint
286
+ * identity surface; the envelope carries a SYNTHETIC own-origin HLC stamp derived
287
+ * deterministically from `ingestedAt` (physical) so the own record has a well-formed,
288
+ * stable position relative to peer records. Returns null for a degenerate record (no
289
+ * identity surface). The local `id` + `filePath` are NEVER carried into the replicated
290
+ * namespace.
291
+ */
292
+ export declare function knowledgeToOriginRecord(record: KnowledgeSource, origin: string): OriginRecord | null;
293
+ /** The ReplicatedKindRegistry registration for the `knowledge-record` store. server.ts
294
+ * registers this onto the shared registry; the dual-registry coupling test asserts
295
+ * `kind` is also present in JOURNAL_KINDS. */
296
+ export declare const KNOWLEDGE_KIND_REGISTRATION: {
297
+ readonly kind: "knowledge-record";
298
+ readonly store: "knowledge";
299
+ readonly schema: StoreFieldSchema;
300
+ };
301
+ /** Convenience: the store's contributing journal kinds (for rollback-unmerge's
302
+ * kindsForStore('knowledge') wiring). */
303
+ export declare function knowledgeContributingKinds(): string[];
304
+ /** The store's impact tier resolver, for ReplicatedStoreReader.tierOf. Returns HIGH for
305
+ * the `knowledge` store (and HIGH for any unknown store — the conservative
306
+ * append-both-and-flag direction, never a silent clobber). */
307
+ export declare function knowledgeTierOf(_store: string): ImpactTier;
308
+ /** Re-export the envelope type for callers building/applying knowledge-record envelopes. */
309
+ export type { ReplicatedEnvelope };
310
+ //# sourceMappingURL=KnowledgeReplicatedStore.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"KnowledgeReplicatedStore.d.ts","sourceRoot":"","sources":["../../src/core/KnowledgeReplicatedStore.ts"],"names":[],"mappings":"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"}