@remnic/core 9.7.9 → 9.7.11

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 (135) hide show
  1. package/dist/access-admin-ops-surface.js +5 -5
  2. package/dist/access-boundary.d.ts +1 -1
  3. package/dist/access-boundary.js +6 -6
  4. package/dist/access-cli.js +36 -36
  5. package/dist/access-http.d.ts +2 -1
  6. package/dist/access-http.js +10 -10
  7. package/dist/access-identity-continuity-surface.js +5 -5
  8. package/dist/access-lcm-surface.js +5 -5
  9. package/dist/access-mcp.js +9 -9
  10. package/dist/access-observe-write-surface.js +5 -5
  11. package/dist/access-operations-batch.js +7 -7
  12. package/dist/access-operations.d.ts +4 -4
  13. package/dist/access-operations.js +8 -8
  14. package/dist/access-recall-surface.js +5 -5
  15. package/dist/access-schema.d.ts +64 -64
  16. package/dist/access-service.js +5 -5
  17. package/dist/access-surface-catalog.js +2 -0
  18. package/dist/access-surface-catalog.js.map +1 -1
  19. package/dist/briefing.js +3 -3
  20. package/dist/causal-consolidation.js +4 -4
  21. package/dist/{chunk-HHAA35A3.js → chunk-2VN4JAX7.js} +548 -161
  22. package/dist/chunk-2VN4JAX7.js.map +1 -0
  23. package/dist/{chunk-MLT5EG6K.js → chunk-3OQ4IZJN.js} +4 -4
  24. package/dist/{chunk-DLPXS7BE.js → chunk-5U65RIVI.js} +348 -49
  25. package/dist/chunk-5U65RIVI.js.map +1 -0
  26. package/dist/{chunk-QKVX4Y6D.js → chunk-673NPXE3.js} +2 -2
  27. package/dist/{chunk-POUD5BLV.js → chunk-6LM6PPDX.js} +4 -2
  28. package/dist/chunk-6LM6PPDX.js.map +1 -0
  29. package/dist/chunk-7XRUYC6G.js +1794 -0
  30. package/dist/chunk-7XRUYC6G.js.map +1 -0
  31. package/dist/{chunk-5CFHYQU3.js → chunk-DLWYAN6A.js} +2 -2
  32. package/dist/{chunk-TY43GBX2.js → chunk-EQF5763Z.js} +2 -2
  33. package/dist/{chunk-SKXBOZDF.js → chunk-GHVJASQ4.js} +3 -3
  34. package/dist/{chunk-YGAOLHKN.js → chunk-JYRFO4EH.js} +4 -4
  35. package/dist/{chunk-F3FC7SMO.js → chunk-JZM5QUTE.js} +2 -2
  36. package/dist/{chunk-PV7E2FGY.js → chunk-KXLRMM35.js} +6 -6
  37. package/dist/{chunk-PHXCPVSX.js → chunk-L4H6MQ7I.js} +2 -2
  38. package/dist/{chunk-FKCJH7KP.js → chunk-LQKITFGB.js} +2 -2
  39. package/dist/{chunk-27VEKQQA.js → chunk-MXRMNKSY.js} +3 -3
  40. package/dist/{chunk-EIKBKQ6L.js → chunk-QHT4W3RU.js} +127 -9
  41. package/dist/chunk-QHT4W3RU.js.map +1 -0
  42. package/dist/{chunk-CDGGQGUU.js → chunk-SBFDL2EQ.js} +2 -2
  43. package/dist/{chunk-I2THZUAF.js → chunk-SECMZACR.js} +2 -2
  44. package/dist/{chunk-JU3GHO6J.js → chunk-TGBJ2OMK.js} +2 -2
  45. package/dist/{chunk-DE6ENYLG.js → chunk-TXLGHDHS.js} +2 -2
  46. package/dist/{chunk-KGNFFCZJ.js → chunk-U4KHQTJ6.js} +2 -2
  47. package/dist/{chunk-Y5U35ZVS.js → chunk-UTDA43TB.js} +2 -2
  48. package/dist/{chunk-CK6RI52P.js → chunk-VCEH5UYS.js} +2 -2
  49. package/dist/{chunk-UXWGPODH.js → chunk-VRAD2FGO.js} +7 -7
  50. package/dist/{chunk-KKASNHGF.js → chunk-W6R43NLA.js} +19 -19
  51. package/dist/{chunk-UP25ZZCN.js → chunk-WUDBMLC6.js} +2 -2
  52. package/dist/{chunk-XG5CGR3K.js → chunk-XF4KOVDK.js} +5 -5
  53. package/dist/{chunk-KPXAJ77O.js → chunk-YLTG6BO4.js} +2 -2
  54. package/dist/cli.js +23 -23
  55. package/dist/compounding/engine.js +3 -3
  56. package/dist/connectors/codex-materialize-runner.js +3 -3
  57. package/dist/connectors/index.js +3 -3
  58. package/dist/entity-retrieval.js +3 -3
  59. package/dist/index.d.ts +3990 -4
  60. package/dist/index.js +90 -43
  61. package/dist/lcm/engine.js +3 -3
  62. package/dist/lcm/index.js +8 -8
  63. package/dist/maintenance/memory-governance.js +3 -3
  64. package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +3 -3
  65. package/dist/maintenance/rebuild-memory-projection.js +4 -4
  66. package/dist/namespaces/migrate.js +4 -4
  67. package/dist/namespaces/storage.js +3 -3
  68. package/dist/operator-toolkit.js +7 -7
  69. package/dist/orchestration/maintenance.js +5 -5
  70. package/dist/orchestrator.js +36 -36
  71. package/dist/retrieval-agents.js +2 -2
  72. package/dist/schemas.d.ts +74 -74
  73. package/dist/semantic-consolidation.js +4 -4
  74. package/dist/semantic-rule-promotion.js +3 -3
  75. package/dist/semantic-rule-verifier.js +3 -3
  76. package/dist/shared-context/manager.d.ts +8 -8
  77. package/dist/storage.js +2 -2
  78. package/dist/temporal-index-compat.d.ts +1 -0
  79. package/dist/temporal-index-compat.js +16 -0
  80. package/dist/temporal-index-compat.js.map +1 -0
  81. package/dist/temporal-index.d.ts +58 -7
  82. package/dist/temporal-index.js +23 -3
  83. package/dist/transfer/types.d.ts +66 -66
  84. package/dist/verified-recall.js +3 -3
  85. package/package.json +2 -2
  86. package/src/access-boundary.ts +2 -0
  87. package/src/access-http.ts +147 -6
  88. package/src/access-mcp-cancellation.test.ts +2 -2
  89. package/src/access-operations.ts +2 -0
  90. package/src/access-surface-catalog.ts +2 -0
  91. package/src/index.ts +53 -0
  92. package/src/orchestration/consolidation-run.ts +5 -5
  93. package/src/orchestration/contradiction-linking-coordinator.ts +2 -2
  94. package/src/orchestration/lifecycle-policy-coordinator.ts +2 -2
  95. package/src/orchestration/persistence-index.ts +6 -6
  96. package/src/orchestration/recall-search-pipeline.ts +36 -21
  97. package/src/orchestration/semantic-consolidation-coordinator.ts +2 -2
  98. package/src/orchestrator.ts +0 -4
  99. package/src/relay/mission-access.test.ts +379 -0
  100. package/src/relay/mission-access.ts +125 -0
  101. package/src/relay/mission-fixture.ts +301 -0
  102. package/src/relay/mission.test.ts +964 -0
  103. package/src/relay/mission.ts +1725 -0
  104. package/src/temporal-index-compat.ts +311 -0
  105. package/src/temporal-index.test.ts +273 -22
  106. package/src/temporal-index.ts +427 -178
  107. package/dist/chunk-DLPXS7BE.js.map +0 -1
  108. package/dist/chunk-EIKBKQ6L.js.map +0 -1
  109. package/dist/chunk-HHAA35A3.js.map +0 -1
  110. package/dist/chunk-POUD5BLV.js.map +0 -1
  111. package/dist/chunk-VCFADTFS.js +0 -467
  112. package/dist/chunk-VCFADTFS.js.map +0 -1
  113. /package/dist/{chunk-MLT5EG6K.js.map → chunk-3OQ4IZJN.js.map} +0 -0
  114. /package/dist/{chunk-QKVX4Y6D.js.map → chunk-673NPXE3.js.map} +0 -0
  115. /package/dist/{chunk-5CFHYQU3.js.map → chunk-DLWYAN6A.js.map} +0 -0
  116. /package/dist/{chunk-TY43GBX2.js.map → chunk-EQF5763Z.js.map} +0 -0
  117. /package/dist/{chunk-SKXBOZDF.js.map → chunk-GHVJASQ4.js.map} +0 -0
  118. /package/dist/{chunk-YGAOLHKN.js.map → chunk-JYRFO4EH.js.map} +0 -0
  119. /package/dist/{chunk-F3FC7SMO.js.map → chunk-JZM5QUTE.js.map} +0 -0
  120. /package/dist/{chunk-PV7E2FGY.js.map → chunk-KXLRMM35.js.map} +0 -0
  121. /package/dist/{chunk-PHXCPVSX.js.map → chunk-L4H6MQ7I.js.map} +0 -0
  122. /package/dist/{chunk-FKCJH7KP.js.map → chunk-LQKITFGB.js.map} +0 -0
  123. /package/dist/{chunk-27VEKQQA.js.map → chunk-MXRMNKSY.js.map} +0 -0
  124. /package/dist/{chunk-CDGGQGUU.js.map → chunk-SBFDL2EQ.js.map} +0 -0
  125. /package/dist/{chunk-I2THZUAF.js.map → chunk-SECMZACR.js.map} +0 -0
  126. /package/dist/{chunk-JU3GHO6J.js.map → chunk-TGBJ2OMK.js.map} +0 -0
  127. /package/dist/{chunk-DE6ENYLG.js.map → chunk-TXLGHDHS.js.map} +0 -0
  128. /package/dist/{chunk-KGNFFCZJ.js.map → chunk-U4KHQTJ6.js.map} +0 -0
  129. /package/dist/{chunk-Y5U35ZVS.js.map → chunk-UTDA43TB.js.map} +0 -0
  130. /package/dist/{chunk-CK6RI52P.js.map → chunk-VCEH5UYS.js.map} +0 -0
  131. /package/dist/{chunk-UXWGPODH.js.map → chunk-VRAD2FGO.js.map} +0 -0
  132. /package/dist/{chunk-KKASNHGF.js.map → chunk-W6R43NLA.js.map} +0 -0
  133. /package/dist/{chunk-UP25ZZCN.js.map → chunk-WUDBMLC6.js.map} +0 -0
  134. /package/dist/{chunk-XG5CGR3K.js.map → chunk-XF4KOVDK.js.map} +0 -0
  135. /package/dist/{chunk-KPXAJ77O.js.map → chunk-YLTG6BO4.js.map} +0 -0
@@ -0,0 +1,16 @@
1
+ import {
2
+ clearIndexes,
3
+ deindexMemory,
4
+ indexMemoriesBatch,
5
+ indexMemory,
6
+ indexesExist
7
+ } from "./chunk-2VN4JAX7.js";
8
+ import "./chunk-PZ5AY32C.js";
9
+ export {
10
+ clearIndexes,
11
+ deindexMemory,
12
+ indexMemoriesBatch,
13
+ indexMemory,
14
+ indexesExist
15
+ };
16
+ //# sourceMappingURL=temporal-index-compat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":[],"sourcesContent":[],"mappings":"","names":[]}
@@ -14,6 +14,7 @@
14
14
  * - Reads/writes are batched per extraction run
15
15
  * - Both indexes are plain JSON; no external dependencies
16
16
  */
17
+
17
18
  interface TemporalIndex {
18
19
  /** version bumped when schema changes */
19
20
  version: number;
@@ -64,6 +65,23 @@ interface TagNode {
64
65
  aliases?: string[];
65
66
  parents?: string[];
66
67
  }
68
+ /** Test-only observer for asserting cache read/parse behavior. */
69
+ declare function setIndexReadObserverForTest(observer?: () => void): void;
70
+ type TemporalIndexCompatibilityMutation = {
71
+ kind: "index";
72
+ entries: TemporalIndexEntry[];
73
+ } | {
74
+ kind: "deindex";
75
+ entries: TemporalIndexEntry[];
76
+ } | {
77
+ kind: "clear";
78
+ };
79
+ /** @internal Pure model shared by the deprecated synchronous compatibility surface. */
80
+ declare function applyTemporalIndexCompatibilityMutation(raw: unknown, mutation: TemporalIndexCompatibilityMutation): TemporalIndex;
81
+ /** @internal Pure model shared by the deprecated synchronous compatibility surface. */
82
+ declare function applyTagIndexCompatibilityMutation(raw: unknown, mutation: TemporalIndexCompatibilityMutation): TagIndex;
83
+ /** @internal Schema check shared by the deprecated synchronous compatibility surface. */
84
+ declare function hasCurrentTemporalIndexSchemaForCompatibility(raw: unknown): boolean;
67
85
  /**
68
86
  * Add (or update) a memory file in both indexes.
69
87
  *
@@ -72,27 +90,27 @@ interface TagNode {
72
90
  * @param createdAt ISO timestamp of the memory's creation date
73
91
  * @param tags Array of tag strings from the memory's frontmatter
74
92
  */
75
- declare function indexMemory(memoryDir: string, memoryPath: string, createdAt: string, tags: string[], temporal?: Omit<Partial<TemporalIndexEntry>, "path" | "createdAt" | "tags">): void;
93
+ declare function indexMemoryAsync(memoryDir: string, memoryPath: string, createdAt: string, tags: string[], temporal?: Omit<Partial<TemporalIndexEntry>, "path" | "createdAt" | "tags">): Promise<void>;
76
94
  /**
77
95
  * Remove a memory file from both indexes (called on deletion/archival).
78
96
  */
79
- declare function deindexMemory(memoryDir: string, memoryPath: string, createdAt: string, tags: string[]): void;
97
+ declare function deindexMemoryAsync(memoryDir: string, memoryPath: string, createdAt: string, tags: string[]): Promise<void>;
80
98
  /**
81
99
  * Reset both index files to empty state.
82
100
  * Called before a full-corpus rebuild so stale paths in any surviving index
83
101
  * file do not persist after the rebuild completes.
84
102
  */
85
- declare function clearIndexes(memoryDir: string): void;
103
+ declare function clearIndexesAsync(memoryDir: string): Promise<void>;
86
104
  /**
87
105
  * Returns true when both index files exist on disk.
88
106
  * Used to detect first-time enablement so callers can trigger a full rebuild.
89
107
  */
90
- declare function indexesExist(memoryDir: string): boolean;
108
+ declare function indexesExistAsync(memoryDir: string): Promise<boolean>;
91
109
  /**
92
110
  * Batch-add multiple memories to both indexes in a single read-modify-write cycle.
93
- * More efficient than calling indexMemory() per file when adding many at once.
111
+ * More efficient than calling indexMemoryAsync() per file when adding many at once.
94
112
  */
95
- declare function indexMemoriesBatch(memoryDir: string, entries: TemporalIndexEntry[]): void;
113
+ declare function indexMemoriesBatchAsync(memoryDir: string, entries: TemporalIndexEntry[]): Promise<void>;
96
114
  /**
97
115
  * Return the set of memory paths whose index date falls in [fromDate, toDate).
98
116
  *
@@ -135,6 +153,20 @@ declare function resolvePromptTagPrefilterAsync(memoryDir: string, prompt: strin
135
153
  expandedTags: string[];
136
154
  paths: Set<string> | null;
137
155
  }>;
156
+ /**
157
+ * Run a group of index reads as ONE consistent snapshot (issue #1911, Codex
158
+ * Medium). The `read` callback executes inside a single withMemoryDirMutex
159
+ * acquisition — the same in-memory op-lock every async mutator holds across its
160
+ * paired temporal+tag writes — so no mutation can land between the reads inside
161
+ * it. A recall that reads the temporal and tag indexes together therefore never
162
+ * observes a half-updated state (e.g. a new temporal row with a not-yet-written
163
+ * tag membership) that would let prefiltering drop the current memory. The
164
+ * genuine-tag-miss contract is preserved: a truly absent tag still yields an
165
+ * empty set, only now never as a transient artifact of an in-flight write.
166
+ * Index reads are cache-backed (microseconds), so ordering them on the op-chain
167
+ * is negligible beside the multi-second QMD phase.
168
+ */
169
+ declare function readIndexSnapshotAsync<T>(memoryDir: string, read: () => Promise<T>): Promise<T>;
138
170
  /**
139
171
  * Detect if a prompt is time-sensitive (mentions specific time references).
140
172
  * Used to decide whether to activate the temporal prefilter.
@@ -171,4 +203,23 @@ declare function recencyWindowBoundsFromPrompt(prompt: string, nowMs?: number):
171
203
  toDate: string;
172
204
  };
173
205
 
174
- export { type TagIndex, type TagNode, type TemporalIndex, type TemporalIndexEntry, type TemporalIndexEvent, clearIndexes, deindexMemory, extractTagsFromPrompt, indexMemoriesBatch, indexMemory, indexesExist, isTemporalQuery, queryByDateRangeAsync, queryByTagsAsync, queryTemporalTimelineAsync, recencyWindowBoundsFromPrompt, recencyWindowFromPrompt, resolvePromptTagPrefilterAsync };
206
+ /**
207
+ * Synchronous compatibility surface for the historical temporal-index API.
208
+ *
209
+ * New runtime code must use the explicit `*Async` exports from temporal-index.
210
+ * These wrappers preserve return timing and boolean truthiness for published
211
+ * JavaScript consumers that predate the async index implementation.
212
+ */
213
+
214
+ /** @deprecated Use `indexMemoryAsync` in new code. */
215
+ declare function indexMemory(memoryDir: string, memoryPath: string, createdAt: string, tags: string[], temporal?: Omit<Partial<TemporalIndexEntry>, "path" | "createdAt" | "tags">): void;
216
+ /** @deprecated Use `deindexMemoryAsync` in new code. */
217
+ declare function deindexMemory(memoryDir: string, memoryPath: string, createdAt: string, tags: string[]): void;
218
+ /** @deprecated Use `clearIndexesAsync` in new code. */
219
+ declare function clearIndexes(memoryDir: string): void;
220
+ /** @deprecated Use `indexesExistAsync` in new code. */
221
+ declare function indexesExist(memoryDir: string): boolean;
222
+ /** @deprecated Use `indexMemoriesBatchAsync` in new code. */
223
+ declare function indexMemoriesBatch(memoryDir: string, entries: TemporalIndexEntry[]): void;
224
+
225
+ export { type TagIndex, type TagNode, type TemporalIndex, type TemporalIndexCompatibilityMutation, type TemporalIndexEntry, type TemporalIndexEvent, applyTagIndexCompatibilityMutation, applyTemporalIndexCompatibilityMutation, clearIndexes, clearIndexesAsync, deindexMemory, deindexMemoryAsync, extractTagsFromPrompt, hasCurrentTemporalIndexSchemaForCompatibility, indexMemoriesBatch, indexMemoriesBatchAsync, indexMemory, indexMemoryAsync, indexesExist, indexesExistAsync, isTemporalQuery, queryByDateRangeAsync, queryByTagsAsync, queryTemporalTimelineAsync, readIndexSnapshotAsync, recencyWindowBoundsFromPrompt, recencyWindowFromPrompt, resolvePromptTagPrefilterAsync, setIndexReadObserverForTest };
@@ -1,32 +1,52 @@
1
1
  import {
2
+ applyTagIndexCompatibilityMutation,
3
+ applyTemporalIndexCompatibilityMutation,
2
4
  clearIndexes,
5
+ clearIndexesAsync,
3
6
  deindexMemory,
7
+ deindexMemoryAsync,
4
8
  extractTagsFromPrompt,
9
+ hasCurrentTemporalIndexSchemaForCompatibility,
5
10
  indexMemoriesBatch,
11
+ indexMemoriesBatchAsync,
6
12
  indexMemory,
13
+ indexMemoryAsync,
7
14
  indexesExist,
15
+ indexesExistAsync,
8
16
  isTemporalQuery,
9
17
  queryByDateRangeAsync,
10
18
  queryByTagsAsync,
11
19
  queryTemporalTimelineAsync,
20
+ readIndexSnapshotAsync,
12
21
  recencyWindowBoundsFromPrompt,
13
22
  recencyWindowFromPrompt,
14
- resolvePromptTagPrefilterAsync
15
- } from "./chunk-HHAA35A3.js";
23
+ resolvePromptTagPrefilterAsync,
24
+ setIndexReadObserverForTest
25
+ } from "./chunk-2VN4JAX7.js";
16
26
  import "./chunk-PZ5AY32C.js";
17
27
  export {
28
+ applyTagIndexCompatibilityMutation,
29
+ applyTemporalIndexCompatibilityMutation,
18
30
  clearIndexes,
31
+ clearIndexesAsync,
19
32
  deindexMemory,
33
+ deindexMemoryAsync,
20
34
  extractTagsFromPrompt,
35
+ hasCurrentTemporalIndexSchemaForCompatibility,
21
36
  indexMemoriesBatch,
37
+ indexMemoriesBatchAsync,
22
38
  indexMemory,
39
+ indexMemoryAsync,
23
40
  indexesExist,
41
+ indexesExistAsync,
24
42
  isTemporalQuery,
25
43
  queryByDateRangeAsync,
26
44
  queryByTagsAsync,
27
45
  queryTemporalTimelineAsync,
46
+ readIndexSnapshotAsync,
28
47
  recencyWindowBoundsFromPrompt,
29
48
  recencyWindowFromPrompt,
30
- resolvePromptTagPrefilterAsync
49
+ resolvePromptTagPrefilterAsync,
50
+ setIndexReadObserverForTest
31
51
  };
32
52
  //# sourceMappingURL=temporal-index.js.map
@@ -20,26 +20,26 @@ declare const ExportManifestV1Schema: z.ZodObject<{
20
20
  bytes: number;
21
21
  }>, "many">;
22
22
  }, "strip", z.ZodTypeAny, {
23
- schemaVersion: 1;
23
+ format: "openclaw-engram-export";
24
24
  createdAt: string;
25
+ pluginVersion: string;
25
26
  files: {
26
27
  path: string;
27
28
  sha256: string;
28
29
  bytes: number;
29
30
  }[];
30
- format: "openclaw-engram-export";
31
- pluginVersion: string;
31
+ schemaVersion: 1;
32
32
  includesTranscripts: boolean;
33
33
  }, {
34
- schemaVersion: 1;
34
+ format: "openclaw-engram-export";
35
35
  createdAt: string;
36
+ pluginVersion: string;
36
37
  files: {
37
38
  path: string;
38
39
  sha256: string;
39
40
  bytes: number;
40
41
  }[];
41
- format: "openclaw-engram-export";
42
- pluginVersion: string;
42
+ schemaVersion: 1;
43
43
  includesTranscripts: boolean;
44
44
  }>;
45
45
  type ExportManifestV1 = z.infer<typeof ExportManifestV1Schema>;
@@ -75,26 +75,26 @@ declare const ExportBundleV1Schema: z.ZodObject<{
75
75
  bytes: number;
76
76
  }>, "many">;
77
77
  }, "strip", z.ZodTypeAny, {
78
- schemaVersion: 1;
78
+ format: "openclaw-engram-export";
79
79
  createdAt: string;
80
+ pluginVersion: string;
80
81
  files: {
81
82
  path: string;
82
83
  sha256: string;
83
84
  bytes: number;
84
85
  }[];
85
- format: "openclaw-engram-export";
86
- pluginVersion: string;
86
+ schemaVersion: 1;
87
87
  includesTranscripts: boolean;
88
88
  }, {
89
- schemaVersion: 1;
89
+ format: "openclaw-engram-export";
90
90
  createdAt: string;
91
+ pluginVersion: string;
91
92
  files: {
92
93
  path: string;
93
94
  sha256: string;
94
95
  bytes: number;
95
96
  }[];
96
- format: "openclaw-engram-export";
97
- pluginVersion: string;
97
+ schemaVersion: 1;
98
98
  includesTranscripts: boolean;
99
99
  }>;
100
100
  records: z.ZodArray<z.ZodObject<{
@@ -109,15 +109,15 @@ declare const ExportBundleV1Schema: z.ZodObject<{
109
109
  }>, "many">;
110
110
  }, "strip", z.ZodTypeAny, {
111
111
  manifest: {
112
- schemaVersion: 1;
112
+ format: "openclaw-engram-export";
113
113
  createdAt: string;
114
+ pluginVersion: string;
114
115
  files: {
115
116
  path: string;
116
117
  sha256: string;
117
118
  bytes: number;
118
119
  }[];
119
- format: "openclaw-engram-export";
120
- pluginVersion: string;
120
+ schemaVersion: 1;
121
121
  includesTranscripts: boolean;
122
122
  };
123
123
  records: {
@@ -126,15 +126,15 @@ declare const ExportBundleV1Schema: z.ZodObject<{
126
126
  }[];
127
127
  }, {
128
128
  manifest: {
129
- schemaVersion: 1;
129
+ format: "openclaw-engram-export";
130
130
  createdAt: string;
131
+ pluginVersion: string;
131
132
  files: {
132
133
  path: string;
133
134
  sha256: string;
134
135
  bytes: number;
135
136
  }[];
136
- format: "openclaw-engram-export";
137
- pluginVersion: string;
137
+ schemaVersion: 1;
138
138
  includesTranscripts: boolean;
139
139
  };
140
140
  records: {
@@ -313,16 +313,16 @@ declare const CapsuleBlockSchema: z.ZodObject<{
313
313
  peerProfiles: boolean;
314
314
  }>;
315
315
  }, "strip", z.ZodTypeAny, {
316
- schemaVersion: string;
317
316
  includes: {
318
317
  procedural: boolean;
319
318
  taxonomy: boolean;
320
319
  identityAnchors: boolean;
321
320
  peerProfiles: boolean;
322
321
  };
322
+ description: string;
323
323
  id: string;
324
+ schemaVersion: string;
324
325
  version: string;
325
- description: string;
326
326
  parentCapsule: string | null;
327
327
  retrievalPolicy: {
328
328
  tierWeights: Record<string, number>;
@@ -334,16 +334,16 @@ declare const CapsuleBlockSchema: z.ZodObject<{
334
334
  forkRoot: string;
335
335
  } | null;
336
336
  }, {
337
- schemaVersion: string;
338
337
  includes: {
339
338
  procedural: boolean;
340
339
  taxonomy: boolean;
341
340
  identityAnchors: boolean;
342
341
  peerProfiles: boolean;
343
342
  };
343
+ description: string;
344
344
  id: string;
345
+ schemaVersion: string;
345
346
  version: string;
346
- description: string;
347
347
  parentCapsule: string | null;
348
348
  retrievalPolicy: {
349
349
  tierWeights: Record<string, number>;
@@ -464,16 +464,16 @@ declare const ExportManifestV2Schema: z.ZodObject<{
464
464
  peerProfiles: boolean;
465
465
  }>;
466
466
  }, "strip", z.ZodTypeAny, {
467
- schemaVersion: string;
468
467
  includes: {
469
468
  procedural: boolean;
470
469
  taxonomy: boolean;
471
470
  identityAnchors: boolean;
472
471
  peerProfiles: boolean;
473
472
  };
473
+ description: string;
474
474
  id: string;
475
+ schemaVersion: string;
475
476
  version: string;
476
- description: string;
477
477
  parentCapsule: string | null;
478
478
  retrievalPolicy: {
479
479
  tierWeights: Record<string, number>;
@@ -485,16 +485,16 @@ declare const ExportManifestV2Schema: z.ZodObject<{
485
485
  forkRoot: string;
486
486
  } | null;
487
487
  }, {
488
- schemaVersion: string;
489
488
  includes: {
490
489
  procedural: boolean;
491
490
  taxonomy: boolean;
492
491
  identityAnchors: boolean;
493
492
  peerProfiles: boolean;
494
493
  };
494
+ description: string;
495
495
  id: string;
496
+ schemaVersion: string;
496
497
  version: string;
497
- description: string;
498
498
  parentCapsule: string | null;
499
499
  retrievalPolicy: {
500
500
  tierWeights: Record<string, number>;
@@ -507,27 +507,25 @@ declare const ExportManifestV2Schema: z.ZodObject<{
507
507
  } | null | undefined;
508
508
  }>;
509
509
  }, "strip", z.ZodTypeAny, {
510
- schemaVersion: 2;
510
+ format: "openclaw-engram-export";
511
511
  createdAt: string;
512
+ pluginVersion: string;
512
513
  files: {
513
514
  path: string;
514
515
  sha256: string;
515
516
  bytes: number;
516
517
  }[];
517
- format: "openclaw-engram-export";
518
- pluginVersion: string;
519
- includesTranscripts: boolean;
520
518
  capsule: {
521
- schemaVersion: string;
522
519
  includes: {
523
520
  procedural: boolean;
524
521
  taxonomy: boolean;
525
522
  identityAnchors: boolean;
526
523
  peerProfiles: boolean;
527
524
  };
525
+ description: string;
528
526
  id: string;
527
+ schemaVersion: string;
529
528
  version: string;
530
- description: string;
531
529
  parentCapsule: string | null;
532
530
  retrievalPolicy: {
533
531
  tierWeights: Record<string, number>;
@@ -539,28 +537,28 @@ declare const ExportManifestV2Schema: z.ZodObject<{
539
537
  forkRoot: string;
540
538
  } | null;
541
539
  };
542
- }, {
543
540
  schemaVersion: 2;
541
+ includesTranscripts: boolean;
542
+ }, {
543
+ format: "openclaw-engram-export";
544
544
  createdAt: string;
545
+ pluginVersion: string;
545
546
  files: {
546
547
  path: string;
547
548
  sha256: string;
548
549
  bytes: number;
549
550
  }[];
550
- format: "openclaw-engram-export";
551
- pluginVersion: string;
552
- includesTranscripts: boolean;
553
551
  capsule: {
554
- schemaVersion: string;
555
552
  includes: {
556
553
  procedural: boolean;
557
554
  taxonomy: boolean;
558
555
  identityAnchors: boolean;
559
556
  peerProfiles: boolean;
560
557
  };
558
+ description: string;
561
559
  id: string;
560
+ schemaVersion: string;
562
561
  version: string;
563
- description: string;
564
562
  parentCapsule: string | null;
565
563
  retrievalPolicy: {
566
564
  tierWeights: Record<string, number>;
@@ -572,6 +570,8 @@ declare const ExportManifestV2Schema: z.ZodObject<{
572
570
  forkRoot: string;
573
571
  } | null | undefined;
574
572
  };
573
+ schemaVersion: 2;
574
+ includesTranscripts: boolean;
575
575
  }>;
576
576
  type ExportManifestV2 = z.infer<typeof ExportManifestV2Schema>;
577
577
  declare const ExportBundleV2Schema: z.ZodObject<{
@@ -683,16 +683,16 @@ declare const ExportBundleV2Schema: z.ZodObject<{
683
683
  peerProfiles: boolean;
684
684
  }>;
685
685
  }, "strip", z.ZodTypeAny, {
686
- schemaVersion: string;
687
686
  includes: {
688
687
  procedural: boolean;
689
688
  taxonomy: boolean;
690
689
  identityAnchors: boolean;
691
690
  peerProfiles: boolean;
692
691
  };
692
+ description: string;
693
693
  id: string;
694
+ schemaVersion: string;
694
695
  version: string;
695
- description: string;
696
696
  parentCapsule: string | null;
697
697
  retrievalPolicy: {
698
698
  tierWeights: Record<string, number>;
@@ -704,16 +704,16 @@ declare const ExportBundleV2Schema: z.ZodObject<{
704
704
  forkRoot: string;
705
705
  } | null;
706
706
  }, {
707
- schemaVersion: string;
708
707
  includes: {
709
708
  procedural: boolean;
710
709
  taxonomy: boolean;
711
710
  identityAnchors: boolean;
712
711
  peerProfiles: boolean;
713
712
  };
713
+ description: string;
714
714
  id: string;
715
+ schemaVersion: string;
715
716
  version: string;
716
- description: string;
717
717
  parentCapsule: string | null;
718
718
  retrievalPolicy: {
719
719
  tierWeights: Record<string, number>;
@@ -726,27 +726,25 @@ declare const ExportBundleV2Schema: z.ZodObject<{
726
726
  } | null | undefined;
727
727
  }>;
728
728
  }, "strip", z.ZodTypeAny, {
729
- schemaVersion: 2;
729
+ format: "openclaw-engram-export";
730
730
  createdAt: string;
731
+ pluginVersion: string;
731
732
  files: {
732
733
  path: string;
733
734
  sha256: string;
734
735
  bytes: number;
735
736
  }[];
736
- format: "openclaw-engram-export";
737
- pluginVersion: string;
738
- includesTranscripts: boolean;
739
737
  capsule: {
740
- schemaVersion: string;
741
738
  includes: {
742
739
  procedural: boolean;
743
740
  taxonomy: boolean;
744
741
  identityAnchors: boolean;
745
742
  peerProfiles: boolean;
746
743
  };
744
+ description: string;
747
745
  id: string;
746
+ schemaVersion: string;
748
747
  version: string;
749
- description: string;
750
748
  parentCapsule: string | null;
751
749
  retrievalPolicy: {
752
750
  tierWeights: Record<string, number>;
@@ -758,28 +756,28 @@ declare const ExportBundleV2Schema: z.ZodObject<{
758
756
  forkRoot: string;
759
757
  } | null;
760
758
  };
761
- }, {
762
759
  schemaVersion: 2;
760
+ includesTranscripts: boolean;
761
+ }, {
762
+ format: "openclaw-engram-export";
763
763
  createdAt: string;
764
+ pluginVersion: string;
764
765
  files: {
765
766
  path: string;
766
767
  sha256: string;
767
768
  bytes: number;
768
769
  }[];
769
- format: "openclaw-engram-export";
770
- pluginVersion: string;
771
- includesTranscripts: boolean;
772
770
  capsule: {
773
- schemaVersion: string;
774
771
  includes: {
775
772
  procedural: boolean;
776
773
  taxonomy: boolean;
777
774
  identityAnchors: boolean;
778
775
  peerProfiles: boolean;
779
776
  };
777
+ description: string;
780
778
  id: string;
779
+ schemaVersion: string;
781
780
  version: string;
782
- description: string;
783
781
  parentCapsule: string | null;
784
782
  retrievalPolicy: {
785
783
  tierWeights: Record<string, number>;
@@ -791,6 +789,8 @@ declare const ExportBundleV2Schema: z.ZodObject<{
791
789
  forkRoot: string;
792
790
  } | null | undefined;
793
791
  };
792
+ schemaVersion: 2;
793
+ includesTranscripts: boolean;
794
794
  }>;
795
795
  records: z.ZodArray<z.ZodObject<{
796
796
  path: z.ZodString;
@@ -804,27 +804,25 @@ declare const ExportBundleV2Schema: z.ZodObject<{
804
804
  }>, "many">;
805
805
  }, "strip", z.ZodTypeAny, {
806
806
  manifest: {
807
- schemaVersion: 2;
807
+ format: "openclaw-engram-export";
808
808
  createdAt: string;
809
+ pluginVersion: string;
809
810
  files: {
810
811
  path: string;
811
812
  sha256: string;
812
813
  bytes: number;
813
814
  }[];
814
- format: "openclaw-engram-export";
815
- pluginVersion: string;
816
- includesTranscripts: boolean;
817
815
  capsule: {
818
- schemaVersion: string;
819
816
  includes: {
820
817
  procedural: boolean;
821
818
  taxonomy: boolean;
822
819
  identityAnchors: boolean;
823
820
  peerProfiles: boolean;
824
821
  };
822
+ description: string;
825
823
  id: string;
824
+ schemaVersion: string;
826
825
  version: string;
827
- description: string;
828
826
  parentCapsule: string | null;
829
827
  retrievalPolicy: {
830
828
  tierWeights: Record<string, number>;
@@ -836,6 +834,8 @@ declare const ExportBundleV2Schema: z.ZodObject<{
836
834
  forkRoot: string;
837
835
  } | null;
838
836
  };
837
+ schemaVersion: 2;
838
+ includesTranscripts: boolean;
839
839
  };
840
840
  records: {
841
841
  content: string;
@@ -843,27 +843,25 @@ declare const ExportBundleV2Schema: z.ZodObject<{
843
843
  }[];
844
844
  }, {
845
845
  manifest: {
846
- schemaVersion: 2;
846
+ format: "openclaw-engram-export";
847
847
  createdAt: string;
848
+ pluginVersion: string;
848
849
  files: {
849
850
  path: string;
850
851
  sha256: string;
851
852
  bytes: number;
852
853
  }[];
853
- format: "openclaw-engram-export";
854
- pluginVersion: string;
855
- includesTranscripts: boolean;
856
854
  capsule: {
857
- schemaVersion: string;
858
855
  includes: {
859
856
  procedural: boolean;
860
857
  taxonomy: boolean;
861
858
  identityAnchors: boolean;
862
859
  peerProfiles: boolean;
863
860
  };
861
+ description: string;
864
862
  id: string;
863
+ schemaVersion: string;
865
864
  version: string;
866
- description: string;
867
865
  parentCapsule: string | null;
868
866
  retrievalPolicy: {
869
867
  tierWeights: Record<string, number>;
@@ -875,6 +873,8 @@ declare const ExportBundleV2Schema: z.ZodObject<{
875
873
  forkRoot: string;
876
874
  } | null | undefined;
877
875
  };
876
+ schemaVersion: 2;
877
+ includesTranscripts: boolean;
878
878
  };
879
879
  records: {
880
880
  content: string;
@@ -1,12 +1,12 @@
1
1
  import {
2
2
  compareVerifiedEpisodeResults,
3
3
  searchVerifiedEpisodes
4
- } from "./chunk-KPXAJ77O.js";
4
+ } from "./chunk-YLTG6BO4.js";
5
5
  import "./chunk-2A3OXAP2.js";
6
6
  import "./chunk-ZBJMUXZH.js";
7
- import "./chunk-PV7E2FGY.js";
8
- import "./chunk-B3ABVQ36.js";
7
+ import "./chunk-KXLRMM35.js";
9
8
  import "./chunk-L2B3EE7B.js";
9
+ import "./chunk-B3ABVQ36.js";
10
10
  import "./chunk-5UZXUTVO.js";
11
11
  import "./chunk-VSMRDBFT.js";
12
12
  import "./chunk-LTJAMRGI.js";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@remnic/core",
3
- "version": "9.7.9",
3
+ "version": "9.7.11",
4
4
  "description": "Framework-agnostic Remnic memory engine — orchestrator, storage, extraction, search, trust zones",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",
@@ -3010,7 +3010,7 @@
3010
3010
  "core"
3011
3011
  ],
3012
3012
  "peerDependencies": {
3013
- "@remnic/coding-graph": "^9.7.9"
3013
+ "@remnic/coding-graph": "^9.7.11"
3014
3014
  },
3015
3015
  "peerDependenciesMeta": {
3016
3016
  "@remnic/coding-graph": {
@@ -102,6 +102,8 @@ export const OPERATION_NAMES = [
102
102
  "shared_context_write_output",
103
103
  "shared_feedback_record",
104
104
  "shared_priorities_append",
105
+ "relay_mission_append",
106
+ "relay_mission_read",
105
107
  "shared_context_cross_signals_run",
106
108
  "shared_context_curate_daily",
107
109
  "compounding_weekly_synthesize",