@remnic/core 9.25.7 → 9.26.0

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 (206) hide show
  1. package/dist/access-admin-ops-surface.d.ts +1 -1
  2. package/dist/access-admin-ops-surface.js +41 -41
  3. package/dist/access-audit.js +2 -2
  4. package/dist/access-authorization-probe.d.ts +1 -1
  5. package/dist/access-authorization-probe.js +42 -42
  6. package/dist/access-boundary.d.ts +1 -1
  7. package/dist/access-boundary.js +41 -41
  8. package/dist/access-cli.js +98 -97
  9. package/dist/access-cli.js.map +1 -1
  10. package/dist/access-http-lcm-compaction.d.ts +130 -0
  11. package/dist/access-http-lcm-compaction.js +10 -0
  12. package/dist/access-http.d.ts +1 -1
  13. package/dist/access-http.js +53 -52
  14. package/dist/access-identity-continuity-surface.js +41 -41
  15. package/dist/access-lcm-surface.d.ts +1 -1
  16. package/dist/access-lcm-surface.js +41 -41
  17. package/dist/access-mcp.d.ts +1 -1
  18. package/dist/access-mcp.js +47 -47
  19. package/dist/access-namespace-preflight.js +41 -41
  20. package/dist/access-observe-write-surface.d.ts +1 -1
  21. package/dist/access-observe-write-surface.js +41 -41
  22. package/dist/access-operations-batch.js +43 -43
  23. package/dist/access-operations.d.ts +4 -4
  24. package/dist/access-operations.js +45 -45
  25. package/dist/access-recall-concurrency.d.ts +1 -1
  26. package/dist/access-recall-concurrency.js +41 -41
  27. package/dist/access-recall-response.d.ts +1 -1
  28. package/dist/access-recall-response.js +41 -41
  29. package/dist/access-recall-surface.d.ts +1 -1
  30. package/dist/access-recall-surface.js +41 -41
  31. package/dist/access-schema.d.ts +92 -77
  32. package/dist/access-schema.js +8 -8
  33. package/dist/{access-service-CIdWkP6J.d.ts → access-service-DL8FJnTj.d.ts} +1 -1
  34. package/dist/access-service.d.ts +1 -1
  35. package/dist/access-service.js +41 -41
  36. package/dist/access-surface-catalog.d.ts +1 -1
  37. package/dist/adapters/index.js +7 -7
  38. package/dist/adapters/registry.js +3 -3
  39. package/dist/{auto-sync-5OE5QOZB.js → auto-sync-UPTUVE4X.js} +3 -3
  40. package/dist/briefing.js +5 -5
  41. package/dist/{capsule-crypto-7FJQINUR.js → capsule-crypto-YO5QJ6L3.js} +2 -2
  42. package/dist/capsule-crypto-YO5QJ6L3.js.map +1 -0
  43. package/dist/causal-behavior.js +2 -2
  44. package/dist/causal-chain.js +2 -2
  45. package/dist/causal-consolidation.js +11 -11
  46. package/dist/causal-retrieval.js +2 -2
  47. package/dist/causal-trajectory.js +1 -1
  48. package/dist/{chunk-JBPKEARU.js → chunk-2QSZNTDO.js} +7 -7
  49. package/dist/{chunk-BL4JHZSO.js → chunk-2XP3PWL3.js} +40 -40
  50. package/dist/{chunk-AQ2ZQYDI.js → chunk-4KKV7W62.js} +6 -6
  51. package/dist/chunk-4Z4XNEWZ.js +86 -0
  52. package/dist/chunk-4Z4XNEWZ.js.map +1 -0
  53. package/dist/{chunk-32XTXKIA.js → chunk-67DSDRUB.js} +22 -14
  54. package/dist/chunk-67DSDRUB.js.map +1 -0
  55. package/dist/{chunk-2PHX3I5C.js → chunk-6NNNURLK.js} +8 -8
  56. package/dist/{chunk-BLAKS3CP.js → chunk-77CNV7DY.js} +4 -4
  57. package/dist/{chunk-TVVEYCNW.js → chunk-7K5Q6COX.js} +4 -4
  58. package/dist/{chunk-227UFSEQ.js → chunk-7RZJWZ46.js} +5 -5
  59. package/dist/{chunk-WIGBTWXA.js → chunk-7XXCIO6X.js} +2 -2
  60. package/dist/{chunk-7CPOZH6Y.js → chunk-AJ7QCSIS.js} +2 -2
  61. package/dist/{chunk-2NLLXCJG.js → chunk-BXLOS5AJ.js} +2 -2
  62. package/dist/{chunk-X7Y7WX73.js → chunk-DQEMWVMT.js} +1 -1
  63. package/dist/{chunk-UMFLAACL.js → chunk-E6EAB4J6.js} +9 -9
  64. package/dist/{chunk-WSEA52RI.js → chunk-EXM2Q555.js} +2 -2
  65. package/dist/{chunk-G6MGAE36.js → chunk-F6LSNPPB.js} +5 -5
  66. package/dist/{chunk-7KXQ44PA.js → chunk-FE5FKTCI.js} +5 -5
  67. package/dist/{chunk-5J7HJ7RT.js → chunk-H2PBM562.js} +2 -2
  68. package/dist/{chunk-OIE242WM.js → chunk-HBVOJNV4.js} +3 -3
  69. package/dist/{chunk-PS5OG75R.js → chunk-IHMXPG4P.js} +2 -2
  70. package/dist/{chunk-3UOSVTFR.js → chunk-JCVQV6QX.js} +11 -11
  71. package/dist/{chunk-P25IPRXP.js → chunk-KGTD2KZJ.js} +28 -8
  72. package/dist/chunk-KGTD2KZJ.js.map +1 -0
  73. package/dist/{chunk-NY6W6CJW.js → chunk-KPWLZBXZ.js} +2 -2
  74. package/dist/{chunk-W33DEUKR.js → chunk-LIIQPDFN.js} +2 -2
  75. package/dist/{chunk-D7MAWMMK.js → chunk-M2KGXXTL.js} +2 -2
  76. package/dist/{chunk-UOURUMBN.js → chunk-MIFF37NN.js} +2 -2
  77. package/dist/{chunk-37VPMR4E.js → chunk-NKDVXEFU.js} +6 -6
  78. package/dist/{chunk-ZPUFQGUF.js → chunk-PQPSZICJ.js} +5 -5
  79. package/dist/{chunk-ES36HTSC.js → chunk-PTN6UAUA.js} +4 -4
  80. package/dist/{chunk-KZVPTJNZ.js → chunk-PX7VDW7R.js} +75 -75
  81. package/dist/{chunk-S2BBISHU.js → chunk-RYHWZ52A.js} +4 -4
  82. package/dist/{chunk-ZN4UZWMT.js → chunk-SK3EYPKC.js} +2 -2
  83. package/dist/{chunk-TPYZ727G.js → chunk-SN3ZESWQ.js} +6 -6
  84. package/dist/{chunk-BUK2FXOL.js → chunk-TKBDJTXG.js} +4 -4
  85. package/dist/{chunk-4B77XSG5.js → chunk-UV72DEZD.js} +5 -5
  86. package/dist/{chunk-K4DP5KZA.js → chunk-UZK7VVPD.js} +14 -14
  87. package/dist/{chunk-KQAFEZQX.js → chunk-VDX2J7OX.js} +2 -2
  88. package/dist/{chunk-SSYBI43M.js → chunk-VGEH3STZ.js} +6 -6
  89. package/dist/{chunk-NRV4Y3PM.js → chunk-W4FBGYGK.js} +1 -1
  90. package/dist/{chunk-IR4LGIH6.js → chunk-WMDRLTNA.js} +2 -2
  91. package/dist/{chunk-MU7ZHSZE.js → chunk-WZFAPHIK.js} +2 -2
  92. package/dist/{chunk-JA4HEXV7.js → chunk-XAAIUXJO.js} +2 -2
  93. package/dist/{chunk-VPSAVXHM.js → chunk-XNUBF6RF.js} +7 -7
  94. package/dist/{chunk-3CHQZVAL.js → chunk-Y6E37WRG.js} +5 -5
  95. package/dist/{chunk-E5A6C4A5.js → chunk-YN4AUGNF.js} +48 -48
  96. package/dist/{chunk-EZ25VE3G.js → chunk-YNDLCWXS.js} +4 -4
  97. package/dist/{chunk-7IGWPXVC.js → chunk-ZHP4SUPB.js} +2 -2
  98. package/dist/{cli-Da5kesWC.d.ts → cli-BoouX6LX.d.ts} +1 -1
  99. package/dist/cli.d.ts +2 -2
  100. package/dist/cli.js +75 -74
  101. package/dist/compounding/engine.js +5 -5
  102. package/dist/connectors/codex-materialize-runner.js +5 -5
  103. package/dist/connectors/index.js +5 -5
  104. package/dist/conversation-index/backend.js +2 -2
  105. package/dist/corpus-watermark.js +16 -16
  106. package/dist/dashboard-runtime.js +2 -2
  107. package/dist/entity-retrieval.js +5 -5
  108. package/dist/extraction.js +3 -3
  109. package/dist/{first-start-migration-BKNGOFED.js → first-start-migration-LEXL3XYL.js} +4 -4
  110. package/dist/index.d.ts +391 -391
  111. package/dist/index.js +177 -176
  112. package/dist/lcm/engine.js +3 -3
  113. package/dist/lcm/index.js +9 -9
  114. package/dist/maintenance/memory-governance.js +6 -6
  115. package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +5 -5
  116. package/dist/maintenance/rebuild-memory-projection.js +7 -7
  117. package/dist/mcp-memory-inspector-app.d.ts +1 -1
  118. package/dist/namespaces/migrate.js +15 -15
  119. package/dist/namespaces/search.js +9 -9
  120. package/dist/namespaces/storage.js +5 -5
  121. package/dist/operator-doctor-corpus.js +17 -17
  122. package/dist/operator-toolkit.js +28 -28
  123. package/dist/orchestration/maintenance.js +11 -11
  124. package/dist/orchestrator.js +98 -97
  125. package/dist/resume-bundles.js +1 -1
  126. package/dist/schemas.d.ts +76 -76
  127. package/dist/search/factory.js +8 -8
  128. package/dist/search/index.js +13 -13
  129. package/dist/search/lancedb-backend.js +2 -2
  130. package/dist/search/meilisearch-backend.js +2 -2
  131. package/dist/search/orama-backend.js +2 -2
  132. package/dist/semantic-consolidation.js +7 -7
  133. package/dist/semantic-rule-promotion.js +5 -5
  134. package/dist/semantic-rule-verifier.js +6 -6
  135. package/dist/session-namespace-bindings.d.ts +27 -0
  136. package/dist/session-namespace-bindings.js +243 -0
  137. package/dist/session-namespace-bindings.js.map +1 -0
  138. package/dist/shared-context/manager.d.ts +8 -8
  139. package/dist/storage.js +4 -4
  140. package/dist/testing/lifecycle-matrix.d.ts +100 -0
  141. package/dist/testing/lifecycle-matrix.js +149 -0
  142. package/dist/testing/lifecycle-matrix.js.map +1 -0
  143. package/dist/transfer/backup.js +4 -4
  144. package/dist/transfer/capsule-export.js +4 -4
  145. package/dist/transfer/capsule-import.js +3 -3
  146. package/dist/transfer/types.d.ts +66 -66
  147. package/dist/verified-recall.js +6 -6
  148. package/package.json +22 -2
  149. package/src/access-http-lcm-compaction.ts +116 -0
  150. package/src/access-http.test.ts +218 -0
  151. package/src/access-http.ts +8 -8
  152. package/src/access-schema-pi.test.ts +9 -0
  153. package/src/access-schema.ts +29 -4
  154. package/src/access-surface-catalog.test.ts +1 -0
  155. package/src/session-namespace-bindings.test.ts +358 -0
  156. package/src/session-namespace-bindings.ts +301 -0
  157. package/src/testing/lifecycle-matrix.ts +17 -7
  158. package/dist/chunk-32XTXKIA.js.map +0 -1
  159. package/dist/chunk-P25IPRXP.js.map +0 -1
  160. /package/dist/{capsule-crypto-7FJQINUR.js.map → access-http-lcm-compaction.js.map} +0 -0
  161. /package/dist/{auto-sync-5OE5QOZB.js.map → auto-sync-UPTUVE4X.js.map} +0 -0
  162. /package/dist/{chunk-JBPKEARU.js.map → chunk-2QSZNTDO.js.map} +0 -0
  163. /package/dist/{chunk-BL4JHZSO.js.map → chunk-2XP3PWL3.js.map} +0 -0
  164. /package/dist/{chunk-AQ2ZQYDI.js.map → chunk-4KKV7W62.js.map} +0 -0
  165. /package/dist/{chunk-2PHX3I5C.js.map → chunk-6NNNURLK.js.map} +0 -0
  166. /package/dist/{chunk-BLAKS3CP.js.map → chunk-77CNV7DY.js.map} +0 -0
  167. /package/dist/{chunk-TVVEYCNW.js.map → chunk-7K5Q6COX.js.map} +0 -0
  168. /package/dist/{chunk-227UFSEQ.js.map → chunk-7RZJWZ46.js.map} +0 -0
  169. /package/dist/{chunk-WIGBTWXA.js.map → chunk-7XXCIO6X.js.map} +0 -0
  170. /package/dist/{chunk-7CPOZH6Y.js.map → chunk-AJ7QCSIS.js.map} +0 -0
  171. /package/dist/{chunk-2NLLXCJG.js.map → chunk-BXLOS5AJ.js.map} +0 -0
  172. /package/dist/{chunk-X7Y7WX73.js.map → chunk-DQEMWVMT.js.map} +0 -0
  173. /package/dist/{chunk-UMFLAACL.js.map → chunk-E6EAB4J6.js.map} +0 -0
  174. /package/dist/{chunk-WSEA52RI.js.map → chunk-EXM2Q555.js.map} +0 -0
  175. /package/dist/{chunk-G6MGAE36.js.map → chunk-F6LSNPPB.js.map} +0 -0
  176. /package/dist/{chunk-7KXQ44PA.js.map → chunk-FE5FKTCI.js.map} +0 -0
  177. /package/dist/{chunk-5J7HJ7RT.js.map → chunk-H2PBM562.js.map} +0 -0
  178. /package/dist/{chunk-OIE242WM.js.map → chunk-HBVOJNV4.js.map} +0 -0
  179. /package/dist/{chunk-PS5OG75R.js.map → chunk-IHMXPG4P.js.map} +0 -0
  180. /package/dist/{chunk-3UOSVTFR.js.map → chunk-JCVQV6QX.js.map} +0 -0
  181. /package/dist/{chunk-NY6W6CJW.js.map → chunk-KPWLZBXZ.js.map} +0 -0
  182. /package/dist/{chunk-W33DEUKR.js.map → chunk-LIIQPDFN.js.map} +0 -0
  183. /package/dist/{chunk-D7MAWMMK.js.map → chunk-M2KGXXTL.js.map} +0 -0
  184. /package/dist/{chunk-UOURUMBN.js.map → chunk-MIFF37NN.js.map} +0 -0
  185. /package/dist/{chunk-37VPMR4E.js.map → chunk-NKDVXEFU.js.map} +0 -0
  186. /package/dist/{chunk-ZPUFQGUF.js.map → chunk-PQPSZICJ.js.map} +0 -0
  187. /package/dist/{chunk-ES36HTSC.js.map → chunk-PTN6UAUA.js.map} +0 -0
  188. /package/dist/{chunk-KZVPTJNZ.js.map → chunk-PX7VDW7R.js.map} +0 -0
  189. /package/dist/{chunk-S2BBISHU.js.map → chunk-RYHWZ52A.js.map} +0 -0
  190. /package/dist/{chunk-ZN4UZWMT.js.map → chunk-SK3EYPKC.js.map} +0 -0
  191. /package/dist/{chunk-TPYZ727G.js.map → chunk-SN3ZESWQ.js.map} +0 -0
  192. /package/dist/{chunk-BUK2FXOL.js.map → chunk-TKBDJTXG.js.map} +0 -0
  193. /package/dist/{chunk-4B77XSG5.js.map → chunk-UV72DEZD.js.map} +0 -0
  194. /package/dist/{chunk-K4DP5KZA.js.map → chunk-UZK7VVPD.js.map} +0 -0
  195. /package/dist/{chunk-KQAFEZQX.js.map → chunk-VDX2J7OX.js.map} +0 -0
  196. /package/dist/{chunk-SSYBI43M.js.map → chunk-VGEH3STZ.js.map} +0 -0
  197. /package/dist/{chunk-NRV4Y3PM.js.map → chunk-W4FBGYGK.js.map} +0 -0
  198. /package/dist/{chunk-IR4LGIH6.js.map → chunk-WMDRLTNA.js.map} +0 -0
  199. /package/dist/{chunk-MU7ZHSZE.js.map → chunk-WZFAPHIK.js.map} +0 -0
  200. /package/dist/{chunk-JA4HEXV7.js.map → chunk-XAAIUXJO.js.map} +0 -0
  201. /package/dist/{chunk-VPSAVXHM.js.map → chunk-XNUBF6RF.js.map} +0 -0
  202. /package/dist/{chunk-3CHQZVAL.js.map → chunk-Y6E37WRG.js.map} +0 -0
  203. /package/dist/{chunk-E5A6C4A5.js.map → chunk-YN4AUGNF.js.map} +0 -0
  204. /package/dist/{chunk-EZ25VE3G.js.map → chunk-YNDLCWXS.js.map} +0 -0
  205. /package/dist/{chunk-7IGWPXVC.js.map → chunk-ZHP4SUPB.js.map} +0 -0
  206. /package/dist/{first-start-migration-BKNGOFED.js.map → first-start-migration-LEXL3XYL.js.map} +0 -0
@@ -0,0 +1,149 @@
1
+ import "../chunk-PZ5AY32C.js";
2
+
3
+ // src/testing/lifecycle-matrix.ts
4
+ import { createRequire } from "module";
5
+ var MATRIX_ROWS = Object.freeze([
6
+ {
7
+ id: "explicit-provider-identity",
8
+ title: "explicit provider identity",
9
+ dimensions: {
10
+ providerIdentity: "explicit",
11
+ rememberedBinding: false,
12
+ restart: false,
13
+ flush: "none",
14
+ dedupeOrReplay: false
15
+ }
16
+ },
17
+ {
18
+ id: "sparse-metadata-with-binding",
19
+ title: "sparse metadata with remembered binding",
20
+ dimensions: {
21
+ providerIdentity: "sparse",
22
+ rememberedBinding: true,
23
+ restart: false,
24
+ flush: "none",
25
+ dedupeOrReplay: false
26
+ }
27
+ },
28
+ {
29
+ id: "sparse-metadata-without-binding",
30
+ title: "sparse metadata without remembered binding",
31
+ dimensions: {
32
+ providerIdentity: "sparse",
33
+ rememberedBinding: false,
34
+ restart: false,
35
+ flush: "none",
36
+ dedupeOrReplay: false
37
+ }
38
+ },
39
+ {
40
+ id: "provider-rebinding",
41
+ title: "provider rebinding",
42
+ dimensions: {
43
+ providerIdentity: "rebound",
44
+ rememberedBinding: true,
45
+ restart: false,
46
+ flush: "none",
47
+ dedupeOrReplay: false
48
+ }
49
+ },
50
+ {
51
+ id: "restart-reload-recovery",
52
+ title: "restart/reload recovery",
53
+ dimensions: {
54
+ providerIdentity: "explicit",
55
+ rememberedBinding: true,
56
+ restart: true,
57
+ flush: "none",
58
+ dedupeOrReplay: false
59
+ }
60
+ },
61
+ {
62
+ id: "compaction-flush",
63
+ title: "compaction flush",
64
+ dimensions: {
65
+ providerIdentity: "explicit",
66
+ rememberedBinding: false,
67
+ restart: false,
68
+ flush: "compaction",
69
+ dedupeOrReplay: false
70
+ }
71
+ },
72
+ {
73
+ id: "before-reset",
74
+ title: "before_reset",
75
+ dimensions: {
76
+ providerIdentity: "explicit",
77
+ rememberedBinding: false,
78
+ restart: false,
79
+ flush: "before_reset",
80
+ dedupeOrReplay: false
81
+ }
82
+ },
83
+ {
84
+ id: "session-end",
85
+ title: "session_end",
86
+ dimensions: {
87
+ providerIdentity: "explicit",
88
+ rememberedBinding: false,
89
+ restart: false,
90
+ flush: "session_end",
91
+ dedupeOrReplay: false
92
+ }
93
+ },
94
+ {
95
+ id: "dedupe-replay",
96
+ title: "dedupe/replay behavior",
97
+ dimensions: {
98
+ providerIdentity: "explicit",
99
+ rememberedBinding: false,
100
+ restart: false,
101
+ flush: "none",
102
+ dedupeOrReplay: true
103
+ }
104
+ }
105
+ ]);
106
+ function lifecycleTestName(subjectName, row) {
107
+ return `lifecycle-matrix[${subjectName}] :: ${row.id} \u2014 ${row.title}`;
108
+ }
109
+ var requiredNodeTest = createRequire(import.meta.url)("node:test");
110
+ var nodeTest = typeof requiredNodeTest === "function" ? requiredNodeTest : requiredNodeTest.test;
111
+ var defaultRegister = (name, fn) => {
112
+ nodeTest(name, fn);
113
+ };
114
+ var defaultRegisterSkipped = (name, reason) => {
115
+ nodeTest(name, { skip: reason }, () => {
116
+ });
117
+ };
118
+ function runLifecycleMatrix(subjectName, subject, options = {}) {
119
+ const register = options.register ?? defaultRegister;
120
+ const registerSkipped = options.registerSkipped ?? defaultRegisterSkipped;
121
+ const rows = options.rows ?? MATRIX_ROWS;
122
+ for (const row of rows) {
123
+ const name = lifecycleTestName(subjectName, row);
124
+ const applicability = subject.appliesTo ? subject.appliesTo(row) : true;
125
+ if (applicability !== true) {
126
+ const reason = typeof applicability === "string" && applicability.length > 0 ? applicability : "not applicable to this subsystem";
127
+ registerSkipped(name, reason);
128
+ continue;
129
+ }
130
+ register(name, async () => {
131
+ let built;
132
+ let setupDone = false;
133
+ try {
134
+ built = await subject.setup(row);
135
+ setupDone = true;
136
+ await subject.exercise(built, row);
137
+ await subject.invariants(built, row);
138
+ } finally {
139
+ if (setupDone) await subject.teardown(built, row);
140
+ }
141
+ });
142
+ }
143
+ }
144
+ export {
145
+ MATRIX_ROWS,
146
+ lifecycleTestName,
147
+ runLifecycleMatrix
148
+ };
149
+ //# sourceMappingURL=lifecycle-matrix.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../../src/testing/lifecycle-matrix.ts"],"sourcesContent":["/**\n * Lifecycle scenario-matrix harness (issue #1993, umbrella #1988 phase 5).\n *\n * AGENTS.md mandates a scenario matrix for stateful subsystem changes\n * (session/retrieval/cache work): the nine canonical rows a reviewer will\n * otherwise probe by hand — provider identity, sparse metadata ± remembered\n * binding, provider rebinding, restart/reload recovery, compaction flush,\n * `before_reset`, `session_end`, and dedupe/replay. Historically that matrix\n * lived only as prose (see the \"Why Stateful PRs Churn\" section) and nobody\n * instantiated it, so PR #1923 burned 53 review threads on exactly those\n * adjacent invariants.\n *\n * This module makes the matrix EXECUTABLE. A subsystem adapter implements\n * `LifecycleSubject<S>`; `runLifecycleMatrix` registers one named test per\n * `MATRIX_ROWS` entry. Adding a row here is a one-file change that\n * automatically extends every adopter — the whole point of the harness.\n *\n * Test-support only: this file lives under `src/testing/` and is exported solely\n * so adapter test subjects can share the canonical matrix across packages.\n * The registrar loads `node:test` through `createRequire` so the built artifact\n * keeps the builtin specifier, and runtime code must never import this module.\n */\n\nimport { createRequire } from \"node:module\";\n\n/** The nine canonical AGENTS.md session/retrieval/cache matrix rows. */\nexport type MatrixRowId =\n | \"explicit-provider-identity\"\n | \"sparse-metadata-with-binding\"\n | \"sparse-metadata-without-binding\"\n | \"provider-rebinding\"\n | \"restart-reload-recovery\"\n | \"compaction-flush\"\n | \"before-reset\"\n | \"session-end\"\n | \"dedupe-replay\";\n\n/**\n * Typed scenario axes a subject can branch on instead of re-parsing the row\n * id. These encode the real dimensions the AGENTS.md matrix probes.\n */\nexport interface MatrixRowDimensions {\n /** How the session's provider/identity binding is established. */\n readonly providerIdentity: \"explicit\" | \"sparse\" | \"rebound\" | \"none\";\n /** Whether a previously remembered binding is available to reuse. */\n readonly rememberedBinding: boolean;\n /** Whether the scenario exercises a fresh instance over persisted state. */\n readonly restart: boolean;\n /** The forced-flush lifecycle transition under test, if any. */\n readonly flush: \"before_reset\" | \"session_end\" | \"compaction\" | \"none\";\n /** Whether the scenario replays/duplicates content through the dedupe path. */\n readonly dedupeOrReplay: boolean;\n}\n\nexport interface MatrixRow {\n readonly id: MatrixRowId;\n /** Human-readable row title (matches the AGENTS.md bullet). */\n readonly title: string;\n readonly dimensions: MatrixRowDimensions;\n}\n\n/**\n * The canonical matrix. Order and membership mirror AGENTS.md\n * \"Minimum scenario matrix for session/retrieval/cache work\". Frozen so an\n * adopter cannot mutate the shared set.\n */\nexport const MATRIX_ROWS: readonly MatrixRow[] = Object.freeze([\n {\n id: \"explicit-provider-identity\",\n title: \"explicit provider identity\",\n dimensions: {\n providerIdentity: \"explicit\",\n rememberedBinding: false,\n restart: false,\n flush: \"none\",\n dedupeOrReplay: false,\n },\n },\n {\n id: \"sparse-metadata-with-binding\",\n title: \"sparse metadata with remembered binding\",\n dimensions: {\n providerIdentity: \"sparse\",\n rememberedBinding: true,\n restart: false,\n flush: \"none\",\n dedupeOrReplay: false,\n },\n },\n {\n id: \"sparse-metadata-without-binding\",\n title: \"sparse metadata without remembered binding\",\n dimensions: {\n providerIdentity: \"sparse\",\n rememberedBinding: false,\n restart: false,\n flush: \"none\",\n dedupeOrReplay: false,\n },\n },\n {\n id: \"provider-rebinding\",\n title: \"provider rebinding\",\n dimensions: {\n providerIdentity: \"rebound\",\n rememberedBinding: true,\n restart: false,\n flush: \"none\",\n dedupeOrReplay: false,\n },\n },\n {\n id: \"restart-reload-recovery\",\n title: \"restart/reload recovery\",\n dimensions: {\n providerIdentity: \"explicit\",\n rememberedBinding: true,\n restart: true,\n flush: \"none\",\n dedupeOrReplay: false,\n },\n },\n {\n id: \"compaction-flush\",\n title: \"compaction flush\",\n dimensions: {\n providerIdentity: \"explicit\",\n rememberedBinding: false,\n restart: false,\n flush: \"compaction\",\n dedupeOrReplay: false,\n },\n },\n {\n id: \"before-reset\",\n title: \"before_reset\",\n dimensions: {\n providerIdentity: \"explicit\",\n rememberedBinding: false,\n restart: false,\n flush: \"before_reset\",\n dedupeOrReplay: false,\n },\n },\n {\n id: \"session-end\",\n title: \"session_end\",\n dimensions: {\n providerIdentity: \"explicit\",\n rememberedBinding: false,\n restart: false,\n flush: \"session_end\",\n dedupeOrReplay: false,\n },\n },\n {\n id: \"dedupe-replay\",\n title: \"dedupe/replay behavior\",\n dimensions: {\n providerIdentity: \"explicit\",\n rememberedBinding: false,\n restart: false,\n flush: \"none\",\n dedupeOrReplay: true,\n },\n },\n] as const);\n\n/**\n * A subsystem adapter. Each row runs `setup → exercise → invariants`. `setup`\n * is transactional — it cleans up its own partial state if it throws — and once\n * it returns a fixture, `teardown` always runs (even when `exercise` or\n * `invariants` throws), so a leaked temp dir or orchestrator cannot poison a\n * sibling row.\n *\n * A row a subject cannot honestly realize must NOT be faked: return a skip\n * reason from `appliesTo` and the harness registers it as an explicit skipped\n * test (a mock-only pass is a finding about the code, not the harness — #1993).\n */\nexport interface LifecycleSubject<S> {\n /** Build the row-specific fixture; MUST clean up its own partial state if it throws. */\n setup(row: MatrixRow): Promise<S>;\n /** Drive the behavior under test. */\n exercise(subject: S, row: MatrixRow): Promise<void>;\n /** Row-specific assertions against observable effects. */\n invariants(subject: S, row: MatrixRow): Promise<void>;\n /** Always-run cleanup. */\n teardown(subject: S, row: MatrixRow): Promise<void>;\n /**\n * Optional: return a non-empty string to SKIP a row with that reason, or\n * `false`. Omitted / `true` means the row applies. A skip is honest coverage\n * documentation, not a silent pass.\n */\n appliesTo?(row: MatrixRow): boolean | string;\n}\n\n/** Minimal test registrar seam (defaults to `node:test`), injectable for self-test. */\nexport type MatrixTestRegistrar = (\n name: string,\n fn: () => void | Promise<void>,\n) => void;\n\nexport type MatrixSkipRegistrar = (name: string, reason: string) => void;\n\nexport interface RunLifecycleMatrixOptions {\n /** Override the test registrar (self-test injects a capturing fake). */\n readonly register?: MatrixTestRegistrar;\n /** Override the skip registrar. */\n readonly registerSkipped?: MatrixSkipRegistrar;\n /** Override the row set (self-test only; production adopters use MATRIX_ROWS). */\n readonly rows?: readonly MatrixRow[];\n}\n\n/** Deterministic, greppable test name — the coverage manifest and CI depend on it. */\nexport function lifecycleTestName(subjectName: string, row: MatrixRow): string {\n return `lifecycle-matrix[${subjectName}] :: ${row.id} — ${row.title}`;\n}\ntype NodeTestRegistrar = {\n (name: string, fn: () => void | Promise<void>): void;\n (name: string, options: { skip: string }, fn: () => void): void;\n};\n\nconst requiredNodeTest = createRequire(import.meta.url)(\"node:test\") as\n | NodeTestRegistrar\n | { test: NodeTestRegistrar };\nconst nodeTest: NodeTestRegistrar =\n typeof requiredNodeTest === \"function\" ? requiredNodeTest : requiredNodeTest.test;\n\nconst defaultRegister: MatrixTestRegistrar = (name, fn) => {\n nodeTest(name, fn);\n};\n\nconst defaultRegisterSkipped: MatrixSkipRegistrar = (name, reason) => {\n nodeTest(name, { skip: reason }, () => {});\n};\n\n/**\n * Register one test per matrix row for `subject`, named with the row identity\n * so a failing row is unambiguous in CI output. Runs `setup → exercise →\n * invariants`; `teardown` runs whenever `setup` produced a fixture.\n */\nexport function runLifecycleMatrix<S>(\n subjectName: string,\n subject: LifecycleSubject<S>,\n options: RunLifecycleMatrixOptions = {},\n): void {\n const register = options.register ?? defaultRegister;\n const registerSkipped = options.registerSkipped ?? defaultRegisterSkipped;\n const rows = options.rows ?? MATRIX_ROWS;\n\n for (const row of rows) {\n const name = lifecycleTestName(subjectName, row);\n const applicability = subject.appliesTo ? subject.appliesTo(row) : true;\n if (applicability !== true) {\n const reason =\n typeof applicability === \"string\" && applicability.length > 0\n ? applicability\n : \"not applicable to this subsystem\";\n registerSkipped(name, reason);\n continue;\n }\n\n register(name, async () => {\n let built: S | undefined;\n let setupDone = false;\n try {\n built = await subject.setup(row);\n setupDone = true;\n await subject.exercise(built, row);\n await subject.invariants(built, row);\n } finally {\n // Teardown runs whenever setup COMPLETED — even when a subject's fixture\n // type is `void`/undefined — and is skipped only when setup itself threw\n // (a transactional setup cleans up its own partial state on throw). The\n // sentinel is a completion flag, NOT the fixture value, so a stateless or\n // void subject that did setup work is still torn down.\n if (setupDone) await subject.teardown(built as S, row);\n }\n });\n }\n}\n"],"mappings":"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","names":[]}
@@ -1,14 +1,14 @@
1
1
  import {
2
2
  backupMemoryDir
3
- } from "../chunk-2NLLXCJG.js";
3
+ } from "../chunk-BXLOS5AJ.js";
4
4
  import "../chunk-765K3SAT.js";
5
- import "../chunk-X7Y7WX73.js";
5
+ import "../chunk-DQEMWVMT.js";
6
6
  import "../chunk-J4EB7DNW.js";
7
- import "../chunk-UI3NYK34.js";
8
- import "../chunk-GCGJW34D.js";
9
7
  import "../chunk-BJMBJZ2Y.js";
10
8
  import "../chunk-UKJAGEXH.js";
11
9
  import "../chunk-FP2373TW.js";
10
+ import "../chunk-UI3NYK34.js";
11
+ import "../chunk-GCGJW34D.js";
12
12
  import "../chunk-A6XUJE5D.js";
13
13
  import "../chunk-PZ5AY32C.js";
14
14
  export {
@@ -1,15 +1,15 @@
1
1
  import {
2
2
  exportCapsule,
3
3
  isValidCapsuleSince
4
- } from "../chunk-KQAFEZQX.js";
4
+ } from "../chunk-VDX2J7OX.js";
5
5
  import "../chunk-WEHSQBFR.js";
6
- import "../chunk-X7Y7WX73.js";
6
+ import "../chunk-DQEMWVMT.js";
7
7
  import "../chunk-J4EB7DNW.js";
8
- import "../chunk-UI3NYK34.js";
9
- import "../chunk-GCGJW34D.js";
10
8
  import "../chunk-BJMBJZ2Y.js";
11
9
  import "../chunk-UKJAGEXH.js";
12
10
  import "../chunk-FP2373TW.js";
11
+ import "../chunk-UI3NYK34.js";
12
+ import "../chunk-GCGJW34D.js";
13
13
  import "../chunk-A6XUJE5D.js";
14
14
  import "../chunk-PZ5AY32C.js";
15
15
  export {
@@ -1,17 +1,17 @@
1
1
  import {
2
2
  importCapsule
3
- } from "../chunk-7CPOZH6Y.js";
3
+ } from "../chunk-AJ7QCSIS.js";
4
4
  import "../chunk-5VQJBH2G.js";
5
5
  import "../chunk-AITCS2RC.js";
6
6
  import "../chunk-XMMESCPD.js";
7
7
  import "../chunk-42JKGUFJ.js";
8
8
  import "../chunk-PDJTHRAW.js";
9
9
  import "../chunk-WEHSQBFR.js";
10
- import "../chunk-X7Y7WX73.js";
11
- import "../chunk-GCGJW34D.js";
10
+ import "../chunk-DQEMWVMT.js";
12
11
  import "../chunk-BJMBJZ2Y.js";
13
12
  import "../chunk-UKJAGEXH.js";
14
13
  import "../chunk-FP2373TW.js";
14
+ import "../chunk-GCGJW34D.js";
15
15
  import "../chunk-A6XUJE5D.js";
16
16
  import "../chunk-VS2IYZRU.js";
17
17
  import "../chunk-PZ5AY32C.js";
@@ -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
  parent: {
328
328
  version: string;
@@ -334,16 +334,16 @@ declare const CapsuleBlockSchema: z.ZodObject<{
334
334
  directAnswerEnabled: boolean;
335
335
  };
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
  parent: {
479
479
  version: string;
@@ -485,16 +485,16 @@ declare const ExportManifestV2Schema: z.ZodObject<{
485
485
  directAnswerEnabled: boolean;
486
486
  };
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
  parent: {
533
531
  version: string;
@@ -539,28 +537,28 @@ declare const ExportManifestV2Schema: z.ZodObject<{
539
537
  directAnswerEnabled: boolean;
540
538
  };
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
  parent: {
698
698
  version: string;
@@ -704,16 +704,16 @@ declare const ExportBundleV2Schema: z.ZodObject<{
704
704
  directAnswerEnabled: boolean;
705
705
  };
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
  parent: {
752
750
  version: string;
@@ -758,28 +756,28 @@ declare const ExportBundleV2Schema: z.ZodObject<{
758
756
  directAnswerEnabled: boolean;
759
757
  };
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
  parent: {
830
828
  version: string;
@@ -836,6 +834,8 @@ declare const ExportBundleV2Schema: z.ZodObject<{
836
834
  directAnswerEnabled: boolean;
837
835
  };
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;