@remnic/core 9.3.629 → 9.3.630

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 (211) hide show
  1. package/dist/access-cli.js +13 -13
  2. package/dist/access-http.d.ts +5 -4
  3. package/dist/access-http.js +6 -6
  4. package/dist/access-mcp.d.ts +5 -4
  5. package/dist/access-mcp.js +5 -5
  6. package/dist/{access-service-BdThkfIE.d.ts → access-service-C4v-eFjB.d.ts} +2 -2
  7. package/dist/access-service.d.ts +5 -4
  8. package/dist/access-service.js +4 -4
  9. package/dist/action-confidence.d.ts +1 -1
  10. package/dist/active-memory-bridge.d.ts +1 -1
  11. package/dist/active-recall.d.ts +1 -1
  12. package/dist/active-recall.js +1 -1
  13. package/dist/behavior-learner.d.ts +1 -1
  14. package/dist/behavior-signals.d.ts +1 -1
  15. package/dist/bootstrap.d.ts +4 -3
  16. package/dist/briefing.d.ts +1 -1
  17. package/dist/briefing.js +2 -2
  18. package/dist/buffer-surprise-report.d.ts +1 -1
  19. package/dist/buffer.d.ts +1 -1
  20. package/dist/calibration.d.ts +1 -1
  21. package/dist/causal-behavior.d.ts +1 -1
  22. package/dist/causal-consolidation.d.ts +1 -1
  23. package/dist/causal-consolidation.js +3 -3
  24. package/dist/{chunk-GE7Q7KXP.js → chunk-2VJ7AJFX.js} +2 -2
  25. package/dist/{chunk-KVFYTRMV.js → chunk-4QEUKASL.js} +2 -2
  26. package/dist/{chunk-KB4MFBF5.js → chunk-5S6IREG3.js} +3 -3
  27. package/dist/{chunk-LQYTQCXM.js → chunk-6LBQL5US.js} +2 -2
  28. package/dist/{chunk-TZDSNIRO.js → chunk-ADOD7PJC.js} +5 -5
  29. package/dist/{chunk-54KDA6UK.js → chunk-BL33LBTN.js} +3 -3
  30. package/dist/{chunk-532VCWYW.js → chunk-BWK5EEKS.js} +2 -2
  31. package/dist/{chunk-KKTXCFD7.js → chunk-EORL2IDM.js} +39 -8
  32. package/dist/{chunk-KKTXCFD7.js.map → chunk-EORL2IDM.js.map} +1 -1
  33. package/dist/{chunk-JXHMAQYT.js → chunk-F6USGHMO.js} +4 -4
  34. package/dist/{chunk-NKCW223V.js → chunk-GXWFZYSR.js} +2 -2
  35. package/dist/{chunk-XXO5TI3B.js → chunk-K3BTOW7N.js} +3 -3
  36. package/dist/{chunk-N5RGXWLQ.js → chunk-MQ24KOOR.js} +2 -2
  37. package/dist/{chunk-3MNBW7R7.js → chunk-NRQJBK36.js} +2 -2
  38. package/dist/{chunk-3R2UZV3U.js → chunk-OOFBE62K.js} +2 -2
  39. package/dist/{chunk-MVQN73GT.js → chunk-OQMR2SDZ.js} +2 -2
  40. package/dist/{chunk-UGHUNQ74.js → chunk-RSKUUEBA.js} +73 -1
  41. package/dist/chunk-RSKUUEBA.js.map +1 -0
  42. package/dist/{chunk-QDV6VAD4.js → chunk-S5W37FPX.js} +2 -2
  43. package/dist/{chunk-57QXN2CS.js → chunk-SACS6KE6.js} +2 -2
  44. package/dist/{chunk-JKCDQBDW.js → chunk-UE57H4MA.js} +2 -2
  45. package/dist/{chunk-OLNNOHBC.js → chunk-VUTPRX7K.js} +20 -14
  46. package/dist/{chunk-OLNNOHBC.js.map → chunk-VUTPRX7K.js.map} +1 -1
  47. package/dist/{chunk-3GLCUPXP.js → chunk-YJOWWRRS.js} +429 -45
  48. package/dist/chunk-YJOWWRRS.js.map +1 -0
  49. package/dist/{chunk-P2D2MM47.js → chunk-ZZSXUZF3.js} +2 -2
  50. package/dist/{cli-DAsHklrf.d.ts → cli-B_6EMiQc.d.ts} +3 -3
  51. package/dist/cli.d.ts +6 -5
  52. package/dist/cli.js +17 -17
  53. package/dist/compounding/engine.d.ts +1 -1
  54. package/dist/compounding/engine.js +2 -2
  55. package/dist/compounding/preference-consolidator.d.ts +1 -1
  56. package/dist/compression-optimizer.d.ts +1 -1
  57. package/dist/config.d.ts +1 -1
  58. package/dist/config.js +1 -1
  59. package/dist/connectors/codex-materialize-runner.d.ts +1 -1
  60. package/dist/connectors/codex-materialize-runner.js +2 -2
  61. package/dist/connectors/codex-materialize.d.ts +1 -1
  62. package/dist/connectors/index.d.ts +1 -1
  63. package/dist/connectors/index.js +2 -2
  64. package/dist/consolidation-provenance-check.d.ts +1 -1
  65. package/dist/consolidation-undo.d.ts +1 -1
  66. package/dist/contradiction/index.d.ts +1 -1
  67. package/dist/conversation-index/backend.d.ts +1 -1
  68. package/dist/conversation-index/chunker.d.ts +1 -1
  69. package/dist/conversation-index/faiss-adapter.d.ts +1 -1
  70. package/dist/conversation-index/indexer.d.ts +1 -1
  71. package/dist/conversation-index/search.d.ts +1 -1
  72. package/dist/day-summary.d.ts +1 -1
  73. package/dist/delinearize.d.ts +1 -1
  74. package/dist/direct-answer-wiring.d.ts +1 -1
  75. package/dist/direct-answer.d.ts +1 -1
  76. package/dist/embedding-fallback.d.ts +1 -1
  77. package/dist/enrichment/index.d.ts +1 -1
  78. package/dist/entity-retrieval.d.ts +1 -1
  79. package/dist/entity-retrieval.js +2 -2
  80. package/dist/entity-schema.d.ts +1 -1
  81. package/dist/explicit-capture.d.ts +4 -3
  82. package/dist/extraction-judge-telemetry.d.ts +1 -1
  83. package/dist/extraction-judge-training.d.ts +1 -1
  84. package/dist/extraction-judge.d.ts +1 -1
  85. package/dist/extraction.d.ts +1 -1
  86. package/dist/fallback-llm.d.ts +1 -1
  87. package/dist/identity-continuity.d.ts +1 -1
  88. package/dist/importance.d.ts +1 -1
  89. package/dist/index.d.ts +8 -8
  90. package/dist/index.js +22 -22
  91. package/dist/intent.d.ts +1 -1
  92. package/dist/lcm/engine.d.ts +1 -1
  93. package/dist/lcm/index.d.ts +1 -1
  94. package/dist/lcm/tools.d.ts +1 -1
  95. package/dist/lifecycle.d.ts +1 -1
  96. package/dist/live-connectors-runner.d.ts +1 -1
  97. package/dist/local-llm.d.ts +1 -1
  98. package/dist/maintenance/memory-governance.d.ts +1 -1
  99. package/dist/maintenance/memory-governance.js +2 -2
  100. package/dist/maintenance/rebuild-memory-lifecycle-ledger.js +2 -2
  101. package/dist/maintenance/rebuild-memory-projection.js +3 -3
  102. package/dist/mcp-memory-inspector-app.d.ts +5 -4
  103. package/dist/memory-action-policy.d.ts +1 -1
  104. package/dist/memory-cache.d.ts +1 -1
  105. package/dist/memory-lifecycle-ledger-utils.d.ts +1 -1
  106. package/dist/memory-projection-store.d.ts +1 -1
  107. package/dist/memory-provenance.d.ts +1 -1
  108. package/dist/memory-worth-outcomes.d.ts +1 -1
  109. package/dist/models-json.d.ts +1 -1
  110. package/dist/namespaces/migrate.d.ts +1 -1
  111. package/dist/namespaces/migrate.js +3 -3
  112. package/dist/namespaces/principal.d.ts +1 -1
  113. package/dist/namespaces/search.d.ts +1 -1
  114. package/dist/namespaces/storage.d.ts +1 -1
  115. package/dist/namespaces/storage.js +2 -2
  116. package/dist/native-knowledge.d.ts +1 -1
  117. package/dist/operator-toolkit.d.ts +1 -1
  118. package/dist/operator-toolkit.js +6 -6
  119. package/dist/{orchestrator-BexeSJ2j.d.ts → orchestrator-Dlw3ae4B.d.ts} +101 -10
  120. package/dist/orchestrator.d.ts +4 -3
  121. package/dist/orchestrator.js +10 -10
  122. package/dist/patterns-cli.d.ts +1 -1
  123. package/dist/policy-runtime.d.ts +1 -1
  124. package/dist/qmd-recall-cache.d.ts +1 -1
  125. package/dist/qmd.d.ts +1 -1
  126. package/dist/recall-disclosure-escalation.d.ts +1 -1
  127. package/dist/recall-explain-renderer.d.ts +1 -1
  128. package/dist/recall-planner-llm.d.ts +1 -1
  129. package/dist/recall-state.d.ts +1 -1
  130. package/dist/recall-tag-filter.d.ts +1 -1
  131. package/dist/recall-xray-cli.d.ts +1 -1
  132. package/dist/recall-xray-renderer.d.ts +1 -1
  133. package/dist/recall-xray.d.ts +1 -1
  134. package/dist/resolve-auth-token.d.ts +1 -1
  135. package/dist/resume-bundles.js +2 -2
  136. package/dist/retrieval-agents.d.ts +1 -1
  137. package/dist/retrieval-tiers.d.ts +1 -1
  138. package/dist/routing/engine.d.ts +1 -1
  139. package/dist/routing/store.d.ts +1 -1
  140. package/dist/schemas.d.ts +22 -22
  141. package/dist/search/embed-helper.d.ts +1 -1
  142. package/dist/search/factory.d.ts +1 -1
  143. package/dist/search/index.d.ts +1 -1
  144. package/dist/search/lancedb-backend.d.ts +1 -1
  145. package/dist/search/meilisearch-backend.d.ts +1 -1
  146. package/dist/search/noop-backend.d.ts +1 -1
  147. package/dist/search/orama-backend.d.ts +1 -1
  148. package/dist/search/port.d.ts +1 -1
  149. package/dist/search/remote-backend.d.ts +1 -1
  150. package/dist/{semantic-consolidation-PwkzNfdK.d.ts → semantic-consolidation-C4sefXEI.d.ts} +1 -1
  151. package/dist/semantic-consolidation.d.ts +2 -2
  152. package/dist/semantic-consolidation.js +3 -3
  153. package/dist/semantic-rule-promotion.js +2 -2
  154. package/dist/semantic-rule-verifier.d.ts +1 -1
  155. package/dist/semantic-rule-verifier.js +2 -2
  156. package/dist/session-observer-bands.d.ts +1 -1
  157. package/dist/session-observer-state.d.ts +1 -1
  158. package/dist/shared-context/manager.d.ts +1 -1
  159. package/dist/signal.d.ts +1 -1
  160. package/dist/storage.d.ts +38 -2
  161. package/dist/storage.js +5 -3
  162. package/dist/summarizer.d.ts +1 -1
  163. package/dist/summary-snapshot.d.ts +1 -1
  164. package/dist/temporal-supersession.d.ts +1 -1
  165. package/dist/temporal-validity.d.ts +1 -1
  166. package/dist/threading.d.ts +1 -1
  167. package/dist/tier-migration.d.ts +1 -1
  168. package/dist/tier-routing.d.ts +1 -1
  169. package/dist/topics.d.ts +1 -1
  170. package/dist/transcript.d.ts +1 -1
  171. package/dist/transfer/types.d.ts +12 -12
  172. package/dist/{types-BCF2wqKa.d.ts → types-2vqxmO0j.d.ts} +39 -10
  173. package/dist/types.d.ts +1 -1
  174. package/dist/utility-runtime.d.ts +1 -1
  175. package/dist/verified-recall.js +2 -2
  176. package/package.json +1 -1
  177. package/src/orchestrator.ts +16 -0
  178. package/src/storage.ts +100 -0
  179. package/src/wearables/cli.ts +6 -0
  180. package/src/wearables/config.test.ts +33 -4
  181. package/src/wearables/config.ts +39 -7
  182. package/src/wearables/memory-gen.test.ts +416 -1
  183. package/src/wearables/memory-gen.ts +381 -23
  184. package/src/wearables/pipeline.test.ts +309 -1
  185. package/src/wearables/pipeline.ts +131 -9
  186. package/src/wearables/service.test.ts +172 -0
  187. package/src/wearables/service.ts +84 -3
  188. package/src/wearables/storage-io.test.ts +81 -0
  189. package/src/wearables/trust.test.ts +123 -0
  190. package/src/wearables/trust.ts +168 -0
  191. package/src/wearables/types.ts +37 -8
  192. package/dist/chunk-3GLCUPXP.js.map +0 -1
  193. package/dist/chunk-UGHUNQ74.js.map +0 -1
  194. /package/dist/{chunk-GE7Q7KXP.js.map → chunk-2VJ7AJFX.js.map} +0 -0
  195. /package/dist/{chunk-KVFYTRMV.js.map → chunk-4QEUKASL.js.map} +0 -0
  196. /package/dist/{chunk-KB4MFBF5.js.map → chunk-5S6IREG3.js.map} +0 -0
  197. /package/dist/{chunk-LQYTQCXM.js.map → chunk-6LBQL5US.js.map} +0 -0
  198. /package/dist/{chunk-TZDSNIRO.js.map → chunk-ADOD7PJC.js.map} +0 -0
  199. /package/dist/{chunk-54KDA6UK.js.map → chunk-BL33LBTN.js.map} +0 -0
  200. /package/dist/{chunk-532VCWYW.js.map → chunk-BWK5EEKS.js.map} +0 -0
  201. /package/dist/{chunk-JXHMAQYT.js.map → chunk-F6USGHMO.js.map} +0 -0
  202. /package/dist/{chunk-NKCW223V.js.map → chunk-GXWFZYSR.js.map} +0 -0
  203. /package/dist/{chunk-XXO5TI3B.js.map → chunk-K3BTOW7N.js.map} +0 -0
  204. /package/dist/{chunk-N5RGXWLQ.js.map → chunk-MQ24KOOR.js.map} +0 -0
  205. /package/dist/{chunk-3MNBW7R7.js.map → chunk-NRQJBK36.js.map} +0 -0
  206. /package/dist/{chunk-3R2UZV3U.js.map → chunk-OOFBE62K.js.map} +0 -0
  207. /package/dist/{chunk-MVQN73GT.js.map → chunk-OQMR2SDZ.js.map} +0 -0
  208. /package/dist/{chunk-QDV6VAD4.js.map → chunk-S5W37FPX.js.map} +0 -0
  209. /package/dist/{chunk-57QXN2CS.js.map → chunk-SACS6KE6.js.map} +0 -0
  210. /package/dist/{chunk-JKCDQBDW.js.map → chunk-UE57H4MA.js.map} +0 -0
  211. /package/dist/{chunk-P2D2MM47.js.map → chunk-ZZSXUZF3.js.map} +0 -0
@@ -27,7 +27,7 @@ import {
27
27
  listMemoryGovernanceRuns,
28
28
  readMemoryGovernanceRunArtifact,
29
29
  runMemoryGovernance
30
- } from "./chunk-3MNBW7R7.js";
30
+ } from "./chunk-NRQJBK36.js";
31
31
  import {
32
32
  clusterByKey,
33
33
  combineNamespaces,
@@ -82,10 +82,10 @@ import {
82
82
  buildBriefing,
83
83
  parseBriefingFocus,
84
84
  parseBriefingWindow
85
- } from "./chunk-NKCW223V.js";
85
+ } from "./chunk-GXWFZYSR.js";
86
86
  import {
87
87
  parseEntityFile
88
- } from "./chunk-UGHUNQ74.js";
88
+ } from "./chunk-RSKUUEBA.js";
89
89
  import {
90
90
  DEFAULT_RECALL_DISCLOSURE,
91
91
  isRecallDisclosure
@@ -4390,4 +4390,4 @@ export {
4390
4390
  shapeMemorySummary,
4391
4391
  EngramAccessService
4392
4392
  };
4393
- //# sourceMappingURL=chunk-JXHMAQYT.js.map
4393
+ //# sourceMappingURL=chunk-F6USGHMO.js.map
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  StorageManager,
3
3
  normalizeEntityName
4
- } from "./chunk-UGHUNQ74.js";
4
+ } from "./chunk-RSKUUEBA.js";
5
5
  import {
6
6
  extractJsonCandidates
7
7
  } from "./chunk-RGMVMVMF.js";
@@ -860,4 +860,4 @@ export {
860
860
  resolveBriefingSaveDir,
861
861
  briefingFilename
862
862
  };
863
- //# sourceMappingURL=chunk-NKCW223V.js.map
863
+ //# sourceMappingURL=chunk-GXWFZYSR.js.map
@@ -6,10 +6,10 @@ import {
6
6
  } from "./chunk-7WV3F5DQ.js";
7
7
  import {
8
8
  EngramMcpServer
9
- } from "./chunk-54KDA6UK.js";
9
+ } from "./chunk-BL33LBTN.js";
10
10
  import {
11
11
  EngramAccessInputError
12
- } from "./chunk-JXHMAQYT.js";
12
+ } from "./chunk-F6USGHMO.js";
13
13
  import {
14
14
  projectTagProjectId
15
15
  } from "./chunk-EDQVAMQI.js";
@@ -1977,4 +1977,4 @@ function positiveIntQueryParam(value, label) {
1977
1977
  export {
1978
1978
  EngramAccessHttpServer
1979
1979
  };
1980
- //# sourceMappingURL=chunk-XXO5TI3B.js.map
1980
+ //# sourceMappingURL=chunk-K3BTOW7N.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  StorageManager
3
- } from "./chunk-UGHUNQ74.js";
3
+ } from "./chunk-RSKUUEBA.js";
4
4
 
5
5
  // src/semantic-rule-promotion.ts
6
6
  import { createHash, randomUUID } from "crypto";
@@ -529,4 +529,4 @@ export {
529
529
  setSemanticRulePromotionTestHooks,
530
530
  promoteSemanticRuleFromMemory
531
531
  };
532
- //# sourceMappingURL=chunk-N5RGXWLQ.js.map
532
+ //# sourceMappingURL=chunk-MQ24KOOR.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  StorageManager
3
- } from "./chunk-UGHUNQ74.js";
3
+ } from "./chunk-RSKUUEBA.js";
4
4
  import {
5
5
  decideLifecycleTransition
6
6
  } from "./chunk-TBBDFYXW.js";
@@ -729,4 +729,4 @@ export {
729
729
  listMemoryGovernanceRuns,
730
730
  readMemoryGovernanceRunArtifact
731
731
  };
732
- //# sourceMappingURL=chunk-3MNBW7R7.js.map
732
+ //# sourceMappingURL=chunk-NRQJBK36.js.map
@@ -1,6 +1,6 @@
1
1
  import {
2
2
  runPostConsolidationMaterialize
3
- } from "./chunk-GE7Q7KXP.js";
3
+ } from "./chunk-2VJ7AJFX.js";
4
4
  import {
5
5
  discoverMemoryExtensions,
6
6
  renderExtensionsBlock,
@@ -217,4 +217,4 @@ export {
217
217
  buildExtensionsBlockForConsolidation,
218
218
  materializeAfterSemanticConsolidation
219
219
  };
220
- //# sourceMappingURL=chunk-3R2UZV3U.js.map
220
+ //# sourceMappingURL=chunk-OOFBE62K.js.map
@@ -4,7 +4,7 @@ import {
4
4
  import {
5
5
  ALL_CATEGORY_DIRS,
6
6
  NamespaceStorageRouter
7
- } from "./chunk-QDV6VAD4.js";
7
+ } from "./chunk-S5W37FPX.js";
8
8
  import {
9
9
  namespaceIdentityFromToken,
10
10
  namespaceIdentityToken
@@ -202,4 +202,4 @@ export {
202
202
  verifyNamespaces,
203
203
  runNamespaceMigration
204
204
  };
205
- //# sourceMappingURL=chunk-MVQN73GT.js.map
205
+ //# sourceMappingURL=chunk-OQMR2SDZ.js.map
@@ -1108,6 +1108,16 @@ var ContentHashIndex = class _ContentHashIndex {
1108
1108
  return createHash2("sha256").update(normalized).digest("hex");
1109
1109
  }
1110
1110
  };
1111
+ function stripAttributesSuffix(content) {
1112
+ const trimmed = content.trimEnd();
1113
+ if (!trimmed.endsWith("]")) return content.trim();
1114
+ const marker = "\n[Attributes: ";
1115
+ const markerIndex = trimmed.lastIndexOf(marker);
1116
+ if (markerIndex === -1) return content.trim();
1117
+ const inner = trimmed.slice(markerIndex + marker.length, -1);
1118
+ if (inner.includes("]") || inner.includes("\n")) return content.trim();
1119
+ return trimmed.slice(0, markerIndex).trim();
1120
+ }
1111
1121
  function normalizeAttributePairs(pairs) {
1112
1122
  return Object.entries(pairs).map(([k, v]) => [k.trim().toLowerCase(), v.trim()]).sort(([a], [b]) => a.localeCompare(b)).map(([k, v]) => `${k}: ${v}`).join("; ");
1113
1123
  }
@@ -2254,6 +2264,67 @@ var StorageManager = class _StorageManager {
2254
2264
  });
2255
2265
  return days;
2256
2266
  }
2267
+ /**
2268
+ * Locate a wearable-sourced memory by exact (trimmed) content,
2269
+ * ignoring the "[Attributes: ...]" suffix writeMemory appends for
2270
+ * structuredAttributes — callers pass the raw fact text. Used by the
2271
+ * smart trust pipeline to find an earlier borderline write when the
2272
+ * same fact re-extracts with stronger evidence.
2273
+ */
2274
+ async findWearableMemoryByContent(content) {
2275
+ const needle = stripAttributesSuffix(content);
2276
+ const memories = await this.readAllMemories();
2277
+ for (const memory of memories) {
2278
+ if (typeof memory.frontmatter.source === "string" && memory.frontmatter.source.startsWith("wearable:") && stripAttributesSuffix(memory.content) === needle) {
2279
+ return { id: memory.frontmatter.id, status: memory.frontmatter.status };
2280
+ }
2281
+ }
2282
+ return null;
2283
+ }
2284
+ /**
2285
+ * Promote a pending_review wearable memory to active in place,
2286
+ * merging updated trust evidence into structuredAttributes. Returns
2287
+ * false when the memory is missing or no longer pending_review (a
2288
+ * concurrent review decision wins).
2289
+ */
2290
+ async promoteWearableMemory(id, attributeUpdates, confidence) {
2291
+ const memories = await this.readAllMemories();
2292
+ const memory = memories.find((entry) => entry.frontmatter.id === id);
2293
+ if (!memory) return false;
2294
+ if (memory.frontmatter.status !== "pending_review") return false;
2295
+ return this.writeMemoryFrontmatter(memory, {
2296
+ status: "active",
2297
+ // Keep frontmatter confidence in step with the re-scored trust —
2298
+ // new smart writes persist trust as confidence, and a promoted
2299
+ // row must not keep its stale borderline value.
2300
+ ...typeof confidence === "number" && Number.isFinite(confidence) ? { confidence: Math.min(1, Math.max(0, confidence)) } : {},
2301
+ structuredAttributes: {
2302
+ ...memory.frontmatter.structuredAttributes ?? {},
2303
+ ...attributeUpdates
2304
+ }
2305
+ });
2306
+ }
2307
+ /**
2308
+ * Demote a pending_review wearable memory to rejected when a re-pass
2309
+ * produced an explicit judge-reject verdict, merging the evidence.
2310
+ * Returns false when the memory is missing or no longer
2311
+ * pending_review — active rows are NEVER auto-demoted (operator
2312
+ * approvals and accrued recall signals win; contradiction scans and
2313
+ * supersession own active-row retirement).
2314
+ */
2315
+ async demoteWearableMemory(id, attributeUpdates) {
2316
+ const memories = await this.readAllMemories();
2317
+ const memory = memories.find((entry) => entry.frontmatter.id === id);
2318
+ if (!memory) return false;
2319
+ if (memory.frontmatter.status !== "pending_review") return false;
2320
+ return this.writeMemoryFrontmatter(memory, {
2321
+ status: "rejected",
2322
+ structuredAttributes: {
2323
+ ...memory.frontmatter.structuredAttributes ?? {},
2324
+ ...attributeUpdates
2325
+ }
2326
+ });
2327
+ }
2257
2328
  get factsDir() {
2258
2329
  return path2.join(this.baseDir, "facts");
2259
2330
  }
@@ -5721,6 +5792,7 @@ export {
5721
5792
  parseDayTranscript,
5722
5793
  normalizeEntityName,
5723
5794
  ContentHashIndex,
5795
+ stripAttributesSuffix,
5724
5796
  normalizeAttributePairs,
5725
5797
  compareEntityTimestamps,
5726
5798
  fingerprintEntityStructuredFacts,
@@ -5729,4 +5801,4 @@ export {
5729
5801
  serializeEntityFile,
5730
5802
  StorageManager
5731
5803
  };
5732
- //# sourceMappingURL=chunk-UGHUNQ74.js.map
5804
+ //# sourceMappingURL=chunk-RSKUUEBA.js.map